From 4c41bda1beb1f9d7cd67419a0ea05c9e82f827fc Mon Sep 17 00:00:00 2001 From: Sven Oesau Date: Tue, 2 Jul 2024 10:39:51 +0200 Subject: [PATCH 01/41] Non-rigid mesh registration --- .../PackageDescription.txt | 4 + .../Polygon_mesh_processing/CMakeLists.txt | 1 + .../non_rigid_mesh_registration_example.cpp | 86 ++ .../non_rigid_mesh_registration.h | 786 ++++++++++++++++++ .../internal/parameters_interface.h | 4 + 5 files changed, 881 insertions(+) create mode 100644 Polygon_mesh_processing/examples/Polygon_mesh_processing/non_rigid_mesh_registration_example.cpp create mode 100644 Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/non_rigid_mesh_registration.h diff --git a/Polygon_mesh_processing/doc/Polygon_mesh_processing/PackageDescription.txt b/Polygon_mesh_processing/doc/Polygon_mesh_processing/PackageDescription.txt index 6b74ce9696a3..50eb6d7a7caa 100644 --- a/Polygon_mesh_processing/doc/Polygon_mesh_processing/PackageDescription.txt +++ b/Polygon_mesh_processing/doc/Polygon_mesh_processing/PackageDescription.txt @@ -48,6 +48,10 @@ /// Functions to compute the distance between meshes, between a mesh and a point set and between a point set and a mesh. /// \ingroup PkgPolygonMeshProcessingRef +/// \defgroup PMP_registration_grp Registration Functions +/// Functions to compute the transformation for mapping one mesh onto another or onto a set of points. +/// \ingroup PkgPolygonMeshProcessingRef + /// \defgroup PMP_corefinement_grp Corefinement and Boolean Operations /// Functions to corefine triangulated surface meshes and compute triangulated /// surface meshes of the union, difference and intersection diff --git a/Polygon_mesh_processing/examples/Polygon_mesh_processing/CMakeLists.txt b/Polygon_mesh_processing/examples/Polygon_mesh_processing/CMakeLists.txt index 718ab1096a9d..9eabe7372d02 100644 --- a/Polygon_mesh_processing/examples/Polygon_mesh_processing/CMakeLists.txt +++ b/Polygon_mesh_processing/examples/Polygon_mesh_processing/CMakeLists.txt @@ -57,6 +57,7 @@ create_single_source_cgal_program("hausdorff_bounded_error_distance_example.cpp" create_single_source_cgal_program("isotropic_remeshing_with_custom_sizing_example.cpp") create_single_source_cgal_program("triangle_mesh_autorefinement.cpp") create_single_source_cgal_program("soup_autorefinement.cpp") +create_single_source_cgal_program("non_rigid_mesh_registration_example.cpp") find_package(Eigen3 3.2.0 QUIET) #(requires 3.2.0 or greater) include(CGAL_Eigen3_support) diff --git a/Polygon_mesh_processing/examples/Polygon_mesh_processing/non_rigid_mesh_registration_example.cpp b/Polygon_mesh_processing/examples/Polygon_mesh_processing/non_rigid_mesh_registration_example.cpp new file mode 100644 index 000000000000..277a9e6acfa1 --- /dev/null +++ b/Polygon_mesh_processing/examples/Polygon_mesh_processing/non_rigid_mesh_registration_example.cpp @@ -0,0 +1,86 @@ +#include +#include +#include + +#include +#include +#include + +#include + +typedef CGAL::Exact_predicates_inexact_constructions_kernel K; +typedef CGAL::Exact_predicates_exact_constructions_kernel K2; +typedef CGAL::Surface_mesh Mesh; +using Point = K::Point_3; +using Vector = K::Vector_3; + +namespace PMP = CGAL::Polygon_mesh_processing; + +int main(int argc, char** argv) { + if (argc == 2) + std::cout << "wrong number of arguments! 0, 2 or 3 arguments possible" << std::endl; + const std::string source_fn = argc > 1 ? argv[1] : "data/wolf0.off"; + const std::string target_fn = argc > 2 ? argv[2] : "data/wolf1.off"; + const std::string corr_fn = argc > 3 ? argv[3] : "data/wolf0_wolf1.corr"; + + Mesh source, target; + if (!PMP::IO::read_polygon_mesh(source_fn, source)) + { + std::cerr << "Invalid input " << source_fn << std::endl; + return 1; + } + + if (!PMP::IO::read_polygon_mesh(target_fn, target)) + { + std::cerr << "Invalid input " << target_fn << std::endl; + return 1; + } + + std::vector> correspondences_mesh; + std::ifstream corr(corr_fn); + if (corr.is_open()) { + std::string line; + while (std::getline(corr, line)) { + if (line.size() == 0) continue; + std::istringstream iss(line); + + std::size_t v0, v1; + if (iss >> v0 >> v1) + Mesh source, target; + correspondences_mesh.push_back(std::make_pair(*(source.vertices_begin() + v0), *(target.vertices_begin() + v1))); + } + } + + Mesh mapped_source; + CGAL::Point_set_3 points; + points.reserve(target.num_vertices()); + + //typename Mesh::Property_map; + auto vnm = target.add_property_map("v:normal"); + if (vnm.second) + PMP::compute_vertex_normals(target, vnm.first); + + for (auto v : target.vertices()) + points.insert(target.point(v), get(vnm.first, v)); + + std::vector> correspondences_pts; + correspondences_pts.reserve(correspondences_mesh.size()); + for (auto p : correspondences_mesh) + correspondences_pts.push_back(std::make_pair(p.first, static_cast(p.second))); + + typename Mesh::Property_map> vrm = target.add_property_map>("v:rotation").first; + typename Mesh::Property_map vtm = target.add_property_map("v:transformations").first; + + Mesh source2 = source; + +/* + PMP::non_rigid_mesh_to_points_registration(source, points, vtm, vrm, correspondences_pts, CGAL::parameters::point_to_plane_energy(2.0).point_to_point_energy(0.1).as_rigid_as_possible_energy(10)); + PMP::apply_non_rigid_transformation(source, vtm, vrm); + CGAL::IO::write_polygon_mesh("mapped.off", source);*/ + + PMP::non_rigid_mesh_to_mesh_registration(source, target, vtm, vrm, correspondences_mesh, CGAL::parameters::point_to_plane_energy(2.0).point_to_point_energy(0.1).as_rigid_as_possible_energy(30)); + PMP::apply_non_rigid_transformation(source, vtm, vrm); + CGAL::IO::write_polygon_mesh("mapped.off", source); + + return EXIT_SUCCESS; +} \ No newline at end of file diff --git a/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/non_rigid_mesh_registration.h b/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/non_rigid_mesh_registration.h new file mode 100644 index 000000000000..964c0f8ea68d --- /dev/null +++ b/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/non_rigid_mesh_registration.h @@ -0,0 +1,786 @@ +// Copyright (c) 2024 GeometryFactory (France). +// All rights reserved. +// +// This file is part of CGAL (www.cgal.org). +// +// $URL$ +// $Id$ +// SPDX-License-Identifier: GPL-3.0-or-later OR LicenseRef-Commercial +// +// Author(s) : Roberto Dyke, Sven Oesau +// +#ifndef CGAL_POLYGON_MESH_PROCESSING_REGISTER_MESH_H +#define CGAL_POLYGON_MESH_PROCESSING_REGISTER_MESH_H + +#include + +#ifdef CGAL_EIGEN3_ENABLED + +#include +#include +#include +#include + +//#include + +#include +#include +#include + +#include + +#include +#include +#include +#include +#include +#include + +#include + +namespace CGAL { +namespace Polygon_mesh_processing { +namespace internal { + +typedef double ScalarType; +typedef Eigen::Vector Vertex; +typedef Eigen::Matrix Vertices; +typedef Eigen::Matrix Faces; +typedef Eigen::Matrix Matrix; +typedef Eigen::Vector Vector; + +typedef Eigen::SparseMatrix SparseMat; +typedef Eigen::Triplet SparseTriplet; + +typedef Eigen::Index Index; + +using Point_3 = Simple_cartesian::Point_3; +class Eigen_matrix_to_point_map { + const Vertices& points; +public: + typedef Point_3 value_type; + typedef const value_type reference; + typedef std::size_t key_type; + typedef boost::lvalue_property_map_tag category; + Eigen_matrix_to_point_map(const Vertices& points) :points(points) {} + reference operator[](key_type k) const { return Point_3(points(k, 0), points(k, 1), points(k, 2)); } +}; + +Eigen_matrix_to_point_map::reference get(const Eigen_matrix_to_point_map& ppmap, Eigen_matrix_to_point_map::key_type i) { + return ppmap[i]; +} + +template +void dump(const Matrix& m, const std::string &filename) { + std::ofstream file(filename); + + file << m.rows() << " " << m.cols() << std::endl; + + for (std::size_t r = 0; r < m.rows(); r++) { + file << m(r, 0); + for (std::size_t c = 1; c < m.cols(); c++) + file << " " << m(r, c); + file << std::endl; + } + + file.close(); +} + +std::pair nearest_neighbor(Vertices& points, Vertices& query, const Index k = 1) { + using Search_traits = CGAL::Search_traits_adapter>>; + using Neighbor_search = CGAL::Orthogonal_k_neighbor_search; + using KDTree = typename Neighbor_search::Tree; + const int leaf_max_size = 10; + const int ndim = 3; + + Eigen_matrix_to_point_map a(points); + Point_3 p0 = get(a, 0); + Point_3 p1 = get(a, 1); + Point_3 p5 = get(a, 5); + + KDTree kdtree(boost::counting_iterator(0), boost::counting_iterator(points.rows()), KDTree::Splitter(), Search_traits(Eigen_matrix_to_point_map(points))); + kdtree.build(); + + Eigen::MatrixXi idz(query.rows(), k); + Eigen::MatrixXf dist(query.rows(), k); + + for (internal::Index i = 0; i < query.rows(); ++i) { + Point_3 query_pt = { query(i, 0), query(i, 1), query(i, 2) }; + Neighbor_search search(kdtree, query_pt, k, 0, true, Neighbor_search::Distance(Eigen_matrix_to_point_map(points))); + std::size_t j = 0; + for (auto it = search.begin(); it != search.end() && j < k; ++it) { + idz(i, j) = it->first; + dist(i, j) = it->second; + } + } + + return std::make_pair(idz, dist); +} + +Vertices calc_normals(Vertices& points, Faces& faces) { + Vertices face_normals(faces.rows(), 3); + Vertices normals = Vertices::Zero(points.rows(), 3); + + for (Index i = 0; i < faces.rows(); ++i) { + Vertex v0 = points.row(faces(i, 0)); + Vertex v1 = points.row(faces(i, 1)); + Vertex v2 = points.row(faces(i, 2)); + + Vertex n0 = (v1 - v0).cross(v2 - v1); + face_normals.row(i) = n0.normalized(); + normals.row(faces(i, 0)) += n0; // unnormalized would respect facet areas + normals.row(faces(i, 1)) += n0; + normals.row(faces(i, 2)) += n0; + } + + for (Index i = 0; i < points.rows(); ++i) { + normals.row(i) = normals.row(i).normalized(); + } + + return normals; +} + +template +int sign(T val) { + return (T(0) < val) - (val < T(0)); +} + +void insertSparseMatrix(const SparseMat& mat, std::vector& coefficients, size_t start_i = 0, size_t start_j = 0) { + for (int k = 0; k < mat.outerSize(); ++k) + for (SparseMat::InnerIterator it(mat, k); it; ++it) + coefficients.push_back(SparseTriplet(start_i + it.row(), start_j + it.col(), it.value())); +} + +std::pair point2point(Vertices X, Vertices Y) { // Transform step for rigid ICP + assert(X.rows() == Y.rows()); + + Eigen::Vector x_mean = X.colwise().mean(); + X.rowwise() -= x_mean.transpose(); + + Eigen::Vector y_mean = Y.colwise().mean(); + Y.rowwise() -= y_mean.transpose(); + + Matrix C = X.transpose() * Y; + Eigen::JacobiSVD svd(C, Eigen::ComputeFullU | Eigen::ComputeFullV); + + Eigen::Vector sgnVec; + sgnVec << 1, 1, sign(svd.matrixU().determinant() * svd.matrixV().determinant()); + Matrix R = svd.matrixV() * sgnVec.asDiagonal() * svd.matrixU().transpose(); + Vertex t = y_mean - R * x_mean; + + return std::make_pair(R, t); +} + +template +Eigen::Matrix rot(T a, T b, T c) { + T ca = cos(a), cb = cos(b), cc = cos(c); + T sa = sin(a), sb = sin(b), sc = sin(c); + Eigen::Matrix R; + R << cb * cc, cc* sa* sb - ca * sc, ca* cc* sb + sa * sc, + cb* sc, ca* cc + sa * sb * sc, ca* sb* sc - cc * sa, + -sb, cb* sa, ca* cb; + return R; +} + +} // namespace internal + +/*! +* \ingroup PMP_registration_grp +* +* \brief calculates non-rigid transformation of a mesh onto a set of oriented points. +* +* A non-rigid ICP, iterative closest point, method based on https://vgl.ict.usc.edu/Research/NonRigidRegistration/MODERN%20TECHNIQUES%20AND%20APPLICATIONS%20FOR%20REAL-TIME%20NON-RIGID%20REGISTRATION.pdf . +* The method uses a few correspondences between the source and the target for the rough alignment. The iterative closest point method +* iteratively approaches the target by minimizing the distance between vertices of the source and points of the target. +* +* @tparam TriangleMesh a model of `MutableFaceGraph`. +* @tparam PointRange a model of the `concept ForwardRange` whose value type is the point type. +* @tparam VertexTranslationMap is a property map with `boost::graph_traits::%vertex_descriptor` + * as key type and a \cgal Kernel `Vector_3` as value type. +* @tparam VertexRotationMap is a property map with `boost::graph_traits::%vertex_descriptor` + * as key type and a \cgal Kernel `Aff_transformation_3` as value type. +* @tparam NamedParameters a sequence of \ref bgl_namedparameters "Named Parameters" +* +* @param source the triangle mesh that should be mapped onto target. +* @param target the target triangle mesh. +* @param vtm a writeable vertex property map of source to store the translation vector of the registration. +* @param vrm a writeable vertex property map of source to store the rotation part of the registration. +* @param np an optional sequence of \ref bgl_namedparameters "Named Parameters" among the ones listed below +* @param correspondences a vector given matching points between the source and the target +* +* \cgalNamedParamsBegin +* \cgalParamNBegin{number_of_iterations} +* \cgalParamDescription{the number of registration iterations using ICP, iterative closest point} +* \cgalParamType{unsigned int} +* \cgalParamDefault{`50`} +* \cgalParamNEnd +* +* \cgalParamNBegin{point_to_plane_energy} +* \cgalParamDescription{the weight of the point to plane distance in the registration} +* \cgalParamType{double} +* \cgalParamDefault{`1`} +* \cgalParamNEnd +* +* \cgalParamNBegin{point_to_point_energy} +* \cgalParamDescription{the weight of the point to matching point distance in the registration} +* \cgalParamType{double} +* \cgalParamDefault{`1`} +* \cgalParamNEnd +* +* \cgalParamNBegin{as_rigid_as_possible_energy} +* \cgalParamDescription{uses the topology of the mesh to determine how a vertex it deforming with respect to its neighbors.} +* \cgalParamType{double} +* \cgalParamDefault{`20`} +* \cgalParamNEnd +* +* \cgalParamNBegin{max_matching_dist} +* \cgalParamDescription{the maximum distance for a vertex in source to match with a point in target} +* \cgalParamType{double} +* \cgalParamDefault{`0`} +* \cgalParamNEnd +* +* \cgalParamNBegin{vertex_point_map} +* \cgalParamDescription{a property map associating points to the vertices of `source`} +* \cgalParamType{a class model of `ReadablePropertyMap` with `boost::graph_traits::%vertex_descriptor` +* as key type and `%Point_3` as value type} +* \cgalParamDefault{`get_const_property_map(CGAL::vertex_point, source)`} +* \cgalParamExtra{If this parameter is omitted, an internal property map for `CGAL::vertex_point_t` +* must be available in `TriangleMesh`.} +* \cgalParamNEnd +* +* \cgalParamNBegin{geom_traits} +* \cgalParamDescription{an instance of a geometric traits class} +* \cgalParamType{a class model of `Kernel`} +* \cgalParamDefault{a \cgal Kernel deduced from the point type, using `CGAL::Kernel_traits`} +* \cgalParamExtra{The geometric traits class must be compatible with the vertex point type.} +* \cgalParamNEnd +* \cgalNamedParamsEnd +*/ + +template +void non_rigid_mesh_to_points_registration(TriangleMesh& source, + const PointRange& target, + VertexTranslationMap& vtm, + VertexRotationMap& vrm, + const std::vector::vertex_descriptor, std::size_t>>& correspondences = std::vector::vertex_descriptor, boost::graph_traits::vertex_descriptor>>(), + const NamedParameters& np = parameters::default_values()) +{ + const size_t iter = parameters::choose_parameter(parameters::get_parameter(np, internal_np::number_of_iterations), 50); + const double w1 = parameters::choose_parameter(parameters::get_parameter(np, internal_np::point_to_plane_energy), 2); + const double w2 = parameters::choose_parameter(parameters::get_parameter(np, internal_np::point_to_point_energy), 0.1); + const double w3 = parameters::choose_parameter(parameters::get_parameter(np, internal_np::as_rigid_as_possible_energy), 20); + const double max_matching_dist = parameters::choose_parameter(parameters::get_parameter(np, internal_np::max_matching_dist), 0); + + internal::Vertices X(num_vertices(source), 3), Y(target.size(), 3); + internal::Faces XF(num_faces(source), 3); + + using NP_helper = Point_set_processing_3_np_helper; + using Point_map = typename NP_helper::Point_map; + using Normal_map = typename NP_helper::Normal_map; + + Point_map point_map = NP_helper::get_const_point_map(target, np); + Normal_map normal_map = NP_helper::get_normal_map(target, np); + + using Gt = typename GetGeomTraits::type; + using Vertex_point_map = typename GetVertexPointMap::type; + using Point = typename Gt::Point_3; + + Vertex_point_map vpm = parameters::choose_parameter(parameters::get_parameter(np, internal_np::vertex_point), get_const_property_map(CGAL::vertex_point, source)); + + std::size_t idx = 0; + for (auto v : vertices(source)) { + X(idx, 0) = get(vpm, v).x(); + X(idx, 1) = get(vpm, v).y(); + X(idx, 2) = get(vpm, v).z(); + idx++; + } + + idx = 0; + for (auto f : faces(source)) { + Vertex_around_face_circulator vit = Vertex_around_face_circulator(halfedge(f, source), source); + XF(idx, 0) = *vit++; + XF(idx, 1) = *vit++; + XF(idx, 2) = *vit++; + idx++; + } + std::cout << std::endl; + + Eigen::MatrixXi corr(correspondences.size(), 2); + for (size_t i = 0; i < correspondences.size(); ++i) { + corr.row(i) << correspondences[i].first, correspondences[i].second; + } + + if (corr.rows() > 0) + std::cout << "# correspondences = " << corr.rows() << std::endl; + + internal::Vertices NY(target.size(), 3); + + idx = 0; + for (auto p : target) { + Y(idx, 0) = get(point_map, p).x(); + Y(idx, 1) = get(point_map, p).y(); + Y(idx, 2) = get(point_map, p).z(); + NY(idx, 0) = get(normal_map, p).x(); + NY(idx, 1) = get(normal_map, p).y(); + NY(idx, 2) = get(normal_map, p).z(); + idx++; + } + std::cout << std::endl; + + std::vector> neighbors(X.rows()); + for (internal::Index i = 0; i < XF.rows(); ++i) { + int a = XF(i, 0); + int b = XF(i, 1); + int c = XF(i, 2); + neighbors[a].insert(b); + neighbors[a].insert(c); + neighbors[b].insert(c); + neighbors[b].insert(a); + neighbors[c].insert(a); + neighbors[c].insert(b); + } + + // Non-rigid ICP + internal::Vertices Z(X); + internal::Index dim = Z.rows() * Z.cols(); + + std::vector edge_coefficients; + + // build Ni + Eigen::MatrixXi Ni(XF.rows() * XF.cols(), 1); + idx = 0; + for (internal::Index i = 0; i < XF.rows(); ++i) { + int a = XF(i, 0); + int b = XF(i, 1); + int c = XF(i, 2); + Ni(idx++) = b; + Ni(idx++) = c; + Ni(idx++) = a; + } + + // build Nr + edge_coefficients.clear(); + edge_coefficients.reserve(XF.rows() * XF.cols()); + idx = 0; + for (internal::Index i = 0; i < XF.rows(); ++i) { + int a = XF(i, 0); + int b = XF(i, 1); + int c = XF(i, 2); + edge_coefficients.push_back(internal::SparseTriplet(idx, b, 1)); + idx++; + edge_coefficients.push_back(internal::SparseTriplet(idx, c, 1)); + idx++; + edge_coefficients.push_back(internal::SparseTriplet(idx, a, 1)); + idx++; + } + internal::SparseMat Nr(XF.rows() * XF.cols(), X.rows()); + Nr.setFromTriplets(edge_coefficients.begin(), edge_coefficients.end()); + + // build MX + edge_coefficients.clear(); + edge_coefficients.reserve(XF.rows() * XF.cols() * 2); + idx = 0; + for (internal::Index i = 0; i < XF.rows(); ++i) { + int a = XF(i, 0); + int b = XF(i, 1); + int c = XF(i, 2); + edge_coefficients.push_back(internal::SparseTriplet(idx, a, 1)); + edge_coefficients.push_back(internal::SparseTriplet(idx, b, -1)); + idx++; + edge_coefficients.push_back(internal::SparseTriplet(idx, b, 1)); + edge_coefficients.push_back(internal::SparseTriplet(idx, c, -1)); + idx++; + edge_coefficients.push_back(internal::SparseTriplet(idx, c, 1)); + edge_coefficients.push_back(internal::SparseTriplet(idx, a, -1)); + idx++; + } + internal::SparseMat B(XF.rows() * XF.cols(), X.rows()); + B.setFromTriplets(edge_coefficients.begin(), edge_coefficients.end()); + internal::Index edim = B.rows(); + + internal::Vertices BX = B * X; + internal::Vertices BX_original(BX); + + std::vector coefficients; + internal::SparseMat A(Z.rows() + 2 * dim + 3 * edim, dim + dim); + for (internal::Index i = 0; i < dim; ++i) { + coefficients.push_back(internal::SparseTriplet(Z.rows() + i, i, 1)); + } + + internal::insertSparseMatrix(B, coefficients, Z.rows() + dim, 0); + internal::insertSparseMatrix(B, coefficients, Z.rows() + dim + edim, Z.rows()); + internal::insertSparseMatrix(B, coefficients, Z.rows() + dim + 2 * edim, 2 * Z.rows()); + + internal::Matrix b(Z.rows() + 2 * dim + 3 * edim, 1); + + std::vector weight_coefficients; // system regularizer + internal::SparseMat W(dim + dim, dim + dim); + for (internal::Index i = dim; i < dim + dim; ++i) { + weight_coefficients.push_back(internal::SparseTriplet(i, i, 1)); + } + W.setFromTriplets(weight_coefficients.begin(), weight_coefficients.end()); + + weight_coefficients.clear(); + internal::SparseMat D(Z.rows() + 2 * dim + 3 * edim, Z.rows() + 2 * dim + 3 * edim); + for (internal::Index i = 0; i < Z.rows(); ++i) { + weight_coefficients.push_back(internal::SparseTriplet(i, i, w1)); + } + for (internal::Index i = Z.rows(); i < Z.rows() + dim; ++i) { + weight_coefficients.push_back(internal::SparseTriplet(i, i, w2)); + } + for (internal::Index i = Z.rows() + dim; i < Z.rows() + dim + 3 * edim; ++i) { + weight_coefficients.push_back(internal::SparseTriplet(i, i, w3)); + } + D.setFromTriplets(weight_coefficients.begin(), weight_coefficients.end()); + + for (internal::Index i = 0; i < corr.rows(); ++i) { + D.coeffRef(Z.rows() + corr(i, 0), Z.rows() + corr(i, 0)) = 1e15f; + D.coeffRef(Z.rows() * 2 + corr(i, 0), Z.rows() * 2 + corr(i, 0)) = 1e15f; + D.coeffRef(Z.rows() * 3 + corr(i, 0), Z.rows() * 3 + corr(i, 0)) = 1e15f; + } + + // Solver + Eigen::ConjugateGradient cg; + //cg.setMaxIterations(1000); + //cg.setTolerance(1e-6); + Eigen::JacobiSVD> svd; + std::vector> Rotations(Z.rows()); + + size_t coefficients_size = coefficients.size(); + for (size_t it = 0; it < iter; ++it) { + std::cout << "="; + if (it > 0) { + coefficients.erase(coefficients.begin() + coefficients_size, coefficients.end()); + } + + // Compute correspondence + //Eigen::VectorXi idz = nearest_neighbor(V1, Z).first.col(0); + std::pair nn_result = internal::nearest_neighbor(Y, Z); + Eigen::VectorXi idz = nn_result.first.col(0); + Eigen::VectorXf dist = nn_result.second.col(0); + + if (max_matching_dist > 0) { + D.setFromTriplets(weight_coefficients.begin(), weight_coefficients.end()); // reset weights + // prune correspondences that are too distant + int count = 0; + for (internal::Index i = 0; i < Z.rows(); ++i) { + if (dist[i] > max_matching_dist) { + count++; + D.coeffRef(i, i) = 0; + D.coeffRef(Z.rows() + i, Z.rows() + i) = 0; + D.coeffRef(Z.rows() * 2 + i, Z.rows() * 2 + i) = 0; + D.coeffRef(Z.rows() * 3 + i, Z.rows() * 3 + i) = 0; + } + } + std::cout << "active = " << Z.rows() - count << " / " << Z.rows() << std::endl; + // ensure hard correspondences have not been removed + for (internal::Index i = 0; i < corr.rows(); ++i) { + D.coeffRef(Z.rows() + corr(i, 0), Z.rows() + corr(i, 0)) = 1e15f; + D.coeffRef(Z.rows() * 2 + corr(i, 0), Z.rows() * 2 + corr(i, 0)) = 1e15f; + D.coeffRef(Z.rows() * 3 + corr(i, 0), Z.rows() * 3 + corr(i, 0)) = 1e15f; + } + } + + for (internal::Index i = 0; i < corr.rows(); ++i) { + idz(corr(i, 0)) = corr(i, 1); + } + + internal::Vertices P(Y(idz, Eigen::indexing::all)); // target points + internal::Vertices NP(NY(idz, Eigen::indexing::all)); // target normals + + for (internal::Index i = 0; i < Z.rows(); ++i) { + coefficients.push_back(internal::SparseTriplet(i, i, NP(i, 0))); + coefficients.push_back(internal::SparseTriplet(i, Z.rows() + i, NP(i, 1))); + coefficients.push_back(internal::SparseTriplet(i, 2 * Z.rows() + i, NP(i, 2))); + } + + for (internal::Index i = 0; i < edim; ++i) { + size_t ni = Ni(i); + coefficients.push_back(internal::SparseTriplet(Z.rows() + dim + i, ni + dim, BX(i, 1))); + coefficients.push_back(internal::SparseTriplet(Z.rows() + dim + i, Z.rows() + ni + dim, -BX(i, 2))); + coefficients.push_back(internal::SparseTriplet(Z.rows() + dim + edim + i, ni + dim, -BX(i, 0))); + coefficients.push_back(internal::SparseTriplet(Z.rows() + dim + edim + i, 2 * Z.rows() + ni + dim, BX(i, 2))); + coefficients.push_back(internal::SparseTriplet(Z.rows() + dim + 2 * edim + i, Z.rows() + ni + dim, BX(i, 0))); + coefficients.push_back(internal::SparseTriplet(Z.rows() + dim + 2 * edim + i, 2 * Z.rows() + ni + dim, -BX(i, 1))); + } + + for (internal::Index i = 0; i < Z.rows(); ++i) { + b(i) = NP(i, 0) * P(i, 0) + NP(i, 1) * P(i, 1) + NP(i, 2) * P(i, 2); + b(i + Z.rows()) = P(i, 0); + b(i + Z.rows() * 2) = P(i, 1); + b(i + Z.rows() * 3) = P(i, 2); + } + for (internal::Index i = 0; i < edim; ++i) { + b(i + Z.rows() + dim) = BX(i, 0); + b(i + Z.rows() + dim + edim) = BX(i, 1); + b(i + Z.rows() + dim + edim * 2) = BX(i, 2); + } + + A.setFromTriplets(coefficients.begin(), coefficients.end()); + + if (it == 0) { + cg.analyzePattern(A.transpose() * D * A + W); + } + cg.factorize(A.transpose() * D * A + W); + internal::Vector x = cg.solve(A.transpose() * D * b); + + // Solution + Z(Eigen::indexing::all, 0) = x(Eigen::seq(0, Z.rows() - 1)); + Z(Eigen::indexing::all, 1) = x(Eigen::seq(Z.rows(), 2 * Z.rows() - 1)); + Z(Eigen::indexing::all, 2) = x(Eigen::seq(2 * Z.rows(), 3 * Z.rows() - 1)); + + // Update edge neighborhoods by new local rotation + if (it == (iter - 1)) { + // Should replace with CGAL's ARAP implementation https://github.com/CGAL/cgal/blob/master/Surface_mesh_deformation/include/CGAL/Surface_mesh_deformation.h + // See also: compute_close_rotation https://github.com/CGAL/cgal/blob/master/Surface_mesh_deformation/include/CGAL/Deformation_Eigen_closest_rotation_traits_3.h + for (internal::Index i = 0; i < Z.rows(); ++i) { + std::vector nbrs(neighbors[i].begin(), neighbors[i].end()); + internal::Matrix A = X(nbrs, Eigen::indexing::all).rowwise() - X.row(i); + internal::Matrix B_ = Z(nbrs, Eigen::indexing::all).rowwise() - Z.row(i); + + svd.compute(A.transpose() * B_, Eigen::ComputeFullU | Eigen::ComputeFullV); + Rotations[i] = svd.matrixV() * svd.matrixU().transpose(); + if (Rotations[i].determinant() < 0) { + Eigen::Matrix M = Eigen::Matrix3d::Identity(); + M(2, 2) = -1; + Rotations[i] = svd.matrixV() * M * svd.matrixU().transpose(); + } + } + for (internal::Index i = 0; i < edim; ++i) { + internal::Matrix R = Rotations[Ni(i)]; + BX.row(i) = BX.row(i) * R.transpose(); + } + } + else { + for (internal::Index i = 0; i < edim; ++i) { + int ni = Ni(i); + internal::Matrix R = internal::rot(x(dim + 2 * Z.rows() + ni), + x(dim + Z.rows() + ni), + x(dim + ni)); + BX.row(i) = BX.row(i) * R.transpose(); + } + } + } + std::cout << " done." << std::endl; + + idx = 0; + for (auto v : vertices(source)) { + Point z(Z(idx, 0), Z(idx, 1), Z(idx, 2)); + Point x(X(idx, 0), X(idx, 1), X(idx, 2)); + Aff_transformation_3 t1(CGAL::TRANSLATION, CGAL::ORIGIN - x); + Aff_transformation_3 t2(CGAL::TRANSLATION, -(CGAL::ORIGIN - z)); + const auto& r = Rotations[idx]; + Aff_transformation_3 rota(r(0, 0), r(0, 1), r(0, 2), 0, + r(1, 0), r(1, 1), r(1, 2), 0, + r(2, 0), r(2, 1), r(2, 2), 0, + 1); + put(vtm, v, z - x); + put(vrm, v, rota); + idx++; + } +} +/* + +/*! +* \ingroup PMP_registration_grp +* +* \brief calculates non-rigid transformation of a mesh onto another mesh. +* +* A non-rigid ICP, iterative closest point, method based on https://vgl.ict.usc.edu/Research/NonRigidRegistration/MODERN%20TECHNIQUES%20AND%20APPLICATIONS%20FOR%20REAL-TIME%20NON-RIGID%20REGISTRATION.pdf . +* The method uses a few correspondences between the source and the target for the rough alignment. The iterative closest point method +* iteratively approaches the target by minimizing the distance between vertices of the source and points of the target. +* +* @tparam TriangleMesh1 a model of `MutableFaceGraph`. +* @tparam TriangleMesh2 a const model of the `MutableFaceGraph`. +* @tparam VertexTranslationMap is a property map with `boost::graph_traits::%vertex_descriptor` + * as key type and a \cgal Kernel `Vector_3` as value type. +* @tparam VertexRotationMap is a property map with `boost::graph_traits::%vertex_descriptor` + * as key type and a \cgal Kernel `Aff_transformation_3` as value type. +* @tparam NamedParameters a sequence of \ref bgl_namedparameters "Named Parameters" +* +* @param source the triangle mesh that should be mapped onto target. +* @param target the target point range with oriented normals. +* @param vtm a writeable vertex property map of source to store the translation vector of the registration. +* @param vrm a writeable vertex property map of source to store the rotation part of the registration. +* @param np an optional sequence of \ref bgl_namedparameters "Named Parameters" among the ones listed below +* @param correspondences a vector given matching points between the source and the target +* +* \cgalNamedParamsBegin +* \cgalParamNBegin{number_of_iterations} +* \cgalParamDescription{the number of registration iterations using ICP, iterative closest point} +* \cgalParamType{unsigned int} +* \cgalParamDefault{`50`} +* \cgalParamNEnd +* +* \cgalParamNBegin{point_to_plane_energy} +* \cgalParamDescription{the weight of the point to plane distance in the registration} +* \cgalParamType{double} +* \cgalParamDefault{`1`} +* \cgalParamNEnd +* +* \cgalParamNBegin{point_to_point_energy} +* \cgalParamDescription{the weight of the point to matching point distance in the registration} +* \cgalParamType{double} +* \cgalParamDefault{`1`} +* \cgalParamNEnd +* +* \cgalParamNBegin{as_rigid_as_possible_energy} +* \cgalParamDescription{uses the topology of the mesh to determine how a vertex it deforming with respect to its neighbors.} +* \cgalParamType{double} +* \cgalParamDefault{`20`} +* \cgalParamNEnd +* +* \cgalParamNBegin{max_matching_dist} +* \cgalParamDescription{the maximum distance for a vertex in source to match with a point in target} +* \cgalParamType{double} +* \cgalParamDefault{`0`} +* \cgalParamNEnd +* +* \cgalParamNBegin{vertex_point_map} +* \cgalParamDescription{a property map associating points to the vertices of `source`} +* \cgalParamType{a class model of `ReadWritePropertyMap` with `boost::graph_traits::%vertex_descriptor` +* as key type and `%Point_3` as value type} +* \cgalParamDefault{`get_const_property_map(CGAL::vertex_point, source)`} +* \cgalParamExtra{If this parameter is omitted, an internal property map for `CGAL::vertex_point_t` +* must be available in `TriangleMesh1`.} +* \cgalParamNEnd +* +* \cgalParamNBegin{geom_traits} +* \cgalParamDescription{an instance of a geometric traits class} +* \cgalParamType{a class model of `Kernel`} +* \cgalParamDefault{a \cgal Kernel deduced from the point type, using `CGAL::Kernel_traits`} +* \cgalParamExtra{The geometric traits class must be compatible with the vertex point type.} +* \cgalParamNEnd +* \cgalNamedParamsEnd +*/ + +template +void non_rigid_mesh_to_mesh_registration(TriangleMesh1& source, + const TriangleMesh2& target, + VertexTranslationMap& vtm, + VertexRotationMap& vrm, + const std::vector::vertex_descriptor, typename boost::graph_traits::vertex_descriptor>>& correspondences = std::vector::vertex_descriptor, boost::graph_traits::vertex_descriptor>>(), + const NamedParameters1& np = parameters::default_values(), + const NamedParameters2& np2 = parameters::default_values()) +{ + using Gt2 = GetGeomTraits::type; + //using Point = typename GeomTraits2::Point_3; + using Vertex_point_map = typename GetVertexPointMap::type; + using Vector_map_tag = dynamic_vertex_property_t; + using Default_vector_map = boost::property_map::const_type; + using Vertex_normal_map = typename internal_np::Lookup_named_param_def::type; + + Vertex_point_map vpm = parameters::choose_parameter(parameters::get_parameter(np2, internal_np::vertex_point), get_const_property_map(CGAL::vertex_point, target)); + Vertex_normal_map vnm = parameters::choose_parameter(parameters::get_parameter(np2, internal_np::vertex_normal_map), get(Vector_map_tag(), target)); + +// if constexpr (!parameters::is_default_parameter::value) +// vnm = get(Vector_map_tag(), target).first; +// else +// vnm = parameters::get_parameter(np2, internal_np::vertex_normal_map); + + // if the normal map is not provided, compute it + if (parameters::is_default_parameter::value) + compute_vertex_normals(target, vnm, np2); + + using Gt1 = typename GetGeomTraits::type; + + CGAL::Point_set_3 points; + points.reserve(target.num_vertices()); + + for (auto v : target.vertices()) + points.insert(get(vpm, v), get(vnm, v)); + + std::vector> correspondences_pts; + correspondences_pts.reserve(correspondences.size()); + for (auto p : correspondences) + correspondences_pts.push_back(std::make_pair(p.first, static_cast(p.second))); + + non_rigid_mesh_to_points_registration(source, points, vtm, vrm, correspondences_pts, np); +} + +/*! +* \ingroup PMP_registration_grp +* +* \brief applies a non-rigid transformation to the vertices of the mesh. Face and vertex normal vectors are invalid after transformation. +* +* @tparam TriangleMesh1 a model of `MutableFaceGraph`. +* @tparam VertexTranslationMap is a property map with `boost::graph_traits::%vertex_descriptor` + * as key type and a \cgal Kernel `Vector_3` as value type. +* @tparam VertexRotationMap is a property map with `boost::graph_traits::%vertex_descriptor` + * as key type and a \cgal Kernel `Aff_transformation_3` as value type. +* @tparam NamedParameters a sequence of \ref bgl_namedparameters "Named Parameters" +* +* @param mesh the triangle mesh that should be transformed. +* @param vtm a readable vertex property map of source to store the translation vector of the registration. +* @param vrm a readable vertex property map of source to store the rotation part of the registration. +* @param np an optional sequence of \ref bgl_namedparameters "Named Parameters" among the ones listed below +* +* \cgalNamedParamsBegin* +* \cgalParamNBegin{geom_traits} +* \cgalParamDescription{an instance of a geometric traits class} +* \cgalParamType{a class model of `Kernel`} +* \cgalParamDefault{a \cgal Kernel deduced from the point type, using `CGAL::Kernel_traits`} +* \cgalParamExtra{The geometric traits class must be compatible with the vertex point type.} +* \cgalParamNEnd +* +* \cgalParamNBegin{vertex_point_map} +* \cgalParamDescription{a property map associating points to the vertices of `source`} +* \cgalParamType{a class model of `ReadWritePropertyMap` with `boost::graph_traits::%vertex_descriptor` +* as key type and `%Point_3` as value type} +* \cgalParamDefault{`get_const_property_map(CGAL::vertex_point, source)`} +* \cgalParamExtra{If this parameter is omitted, an internal property map for `CGAL::vertex_point_t` +* must be available in `TriangleMesh`.} +* \cgalParamNEnd +* \cgalNamedParamsEnd +*/ +template +void apply_non_rigid_transformation(TriangleMesh& mesh, + const VertexTranslationMap& vtm, + const VertexRotationMap& vrm, + const NamedParameters& np = parameters::default_values()) { + using Gt = typename GetGeomTraits::type; + using Vertex_point_map = typename GetVertexPointMap::type; + using Vector_map_tag = dynamic_vertex_property_t; + using Vector_map_tag = dynamic_vertex_property_t; + using Default_vector_map = boost::property_map::type; + using Vertex_normal_map = typename internal_np::Lookup_named_param_def::type; + using Point = typename Gt::Point_3; + using Vector = typename Gt::Vector_3; + + Vertex_point_map vpm = parameters::choose_parameter(parameters::get_parameter(np, internal_np::vertex_point), get_property_map(CGAL::vertex_point, mesh)); + Vertex_normal_map vnm = parameters::choose_parameter(parameters::get_parameter(np, internal_np::vertex_normal_map), get(Vector_map_tag(), mesh)); + + + for (auto v : vertices(mesh)) { + Point p = get(vpm, v); + p += get(vtm, v); + put(vpm, v, p); +/* + if (!parameters::is_default_parameter::value) { + Vector n = get(vnm, v); + auto rotation = get(vrm, v); + put(vnm, v, rotation.inverse().transform(n)); + }*/ + } +} +} // namespace Polygon_mesh_processing +} // namespace CGAL + +#endif + +#endif \ No newline at end of file diff --git a/STL_Extension/include/CGAL/STL_Extension/internal/parameters_interface.h b/STL_Extension/include/CGAL/STL_Extension/internal/parameters_interface.h index c95d2933e893..484a916358e6 100644 --- a/STL_Extension/include/CGAL/STL_Extension/internal/parameters_interface.h +++ b/STL_Extension/include/CGAL/STL_Extension/internal/parameters_interface.h @@ -164,6 +164,10 @@ CGAL_add_named_parameter(region_primitive_map_t, region_primitive_map, region_pr CGAL_add_named_parameter(postprocess_regions_t, postprocess_regions, postprocess_regions) CGAL_add_named_parameter(sizing_function_t, sizing_function, sizing_function) CGAL_add_named_parameter(bbox_scaling_t, bbox_scaling, bbox_scaling) +CGAL_add_named_parameter(point_to_plane_energy_t, point_to_plane_energy, point_to_plane_energy) +CGAL_add_named_parameter(point_to_point_energy_t, point_to_point_energy, point_to_point_energy) +CGAL_add_named_parameter(as_rigid_as_possible_energy_t, as_rigid_as_possible_energy, as_rigid_as_possible_energy) +CGAL_add_named_parameter(max_matching_dist_t, max_matching_dist, max_matching_dist) // List of named parameters that we use in the package 'Surface Mesh Simplification' CGAL_add_named_parameter(get_cost_policy_t, get_cost_policy, get_cost) From 97ce59fc6b6ae523ad4dd3fd45a4bfd8e9cb17b9 Mon Sep 17 00:00:00 2001 From: Sven Oesau Date: Tue, 2 Jul 2024 10:55:59 +0200 Subject: [PATCH 02/41] added a preliminary license header --- .../CGAL/Polygon_mesh_processing/non_rigid_mesh_registration.h | 2 ++ 1 file changed, 2 insertions(+) diff --git a/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/non_rigid_mesh_registration.h b/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/non_rigid_mesh_registration.h index 964c0f8ea68d..767e503cbd27 100644 --- a/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/non_rigid_mesh_registration.h +++ b/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/non_rigid_mesh_registration.h @@ -12,6 +12,8 @@ #ifndef CGAL_POLYGON_MESH_PROCESSING_REGISTER_MESH_H #define CGAL_POLYGON_MESH_PROCESSING_REGISTER_MESH_H +#include + #include #ifdef CGAL_EIGEN3_ENABLED From d1de633917d7e0971765ea50aff1a5b97f820f30 Mon Sep 17 00:00:00 2001 From: Sven Oesau Date: Tue, 2 Jul 2024 11:30:15 +0200 Subject: [PATCH 03/41] fixes for CI --- .../non_rigid_mesh_registration.h | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/non_rigid_mesh_registration.h b/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/non_rigid_mesh_registration.h index 767e503cbd27..8e5c7f329c79 100644 --- a/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/non_rigid_mesh_registration.h +++ b/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/non_rigid_mesh_registration.h @@ -33,6 +33,7 @@ #include #include +#include #include #include #include @@ -268,7 +269,7 @@ void non_rigid_mesh_to_points_registration(TriangleMesh& source, const PointRange& target, VertexTranslationMap& vtm, VertexRotationMap& vrm, - const std::vector::vertex_descriptor, std::size_t>>& correspondences = std::vector::vertex_descriptor, boost::graph_traits::vertex_descriptor>>(), + const std::vector::vertex_descriptor, std::size_t>>& correspondences = std::vector::vertex_descriptor, std::size_t>>(), const NamedParameters& np = parameters::default_values()) { const size_t iter = parameters::choose_parameter(parameters::get_parameter(np, internal_np::number_of_iterations), 50); @@ -669,15 +670,15 @@ void non_rigid_mesh_to_mesh_registration(TriangleMesh1& source, const TriangleMesh2& target, VertexTranslationMap& vtm, VertexRotationMap& vrm, - const std::vector::vertex_descriptor, typename boost::graph_traits::vertex_descriptor>>& correspondences = std::vector::vertex_descriptor, boost::graph_traits::vertex_descriptor>>(), + const std::vector::vertex_descriptor, typename boost::graph_traits::vertex_descriptor>>& correspondences = std::vector::vertex_descriptor, typename boost::graph_traits::vertex_descriptor>>(), const NamedParameters1& np = parameters::default_values(), const NamedParameters2& np2 = parameters::default_values()) { - using Gt2 = GetGeomTraits::type; + using Gt2 = typename GetGeomTraits::type; //using Point = typename GeomTraits2::Point_3; using Vertex_point_map = typename GetVertexPointMap::type; using Vector_map_tag = dynamic_vertex_property_t; - using Default_vector_map = boost::property_map::const_type; + using Default_vector_map = typename boost::property_map::const_type; using Vertex_normal_map = typename internal_np::Lookup_named_param_def::type; @@ -696,13 +697,13 @@ void non_rigid_mesh_to_mesh_registration(TriangleMesh1& source, using Gt1 = typename GetGeomTraits::type; - CGAL::Point_set_3 points; + CGAL::Point_set_3 points; points.reserve(target.num_vertices()); for (auto v : target.vertices()) points.insert(get(vpm, v), get(vnm, v)); - std::vector> correspondences_pts; + std::vector::vertex_descriptor, std::size_t>> correspondences_pts; correspondences_pts.reserve(correspondences.size()); for (auto p : correspondences) correspondences_pts.push_back(std::make_pair(p.first, static_cast(p.second))); @@ -757,7 +758,7 @@ void apply_non_rigid_transformation(TriangleMesh& mesh, using Vertex_point_map = typename GetVertexPointMap::type; using Vector_map_tag = dynamic_vertex_property_t; using Vector_map_tag = dynamic_vertex_property_t; - using Default_vector_map = boost::property_map::type; + using Default_vector_map = typename boost::property_map::type; using Vertex_normal_map = typename internal_np::Lookup_named_param_def::type; From 2f2551b04bd372323fc44c0f8499e5d2a3371482 Mon Sep 17 00:00:00 2001 From: Sven Oesau Date: Tue, 2 Jul 2024 12:21:26 +0200 Subject: [PATCH 04/41] revert Point_set_3 dependency --- .../non_rigid_mesh_registration.h | 39 +++++++++++-------- 1 file changed, 22 insertions(+), 17 deletions(-) diff --git a/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/non_rigid_mesh_registration.h b/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/non_rigid_mesh_registration.h index 8e5c7f329c79..bfccf2457ec9 100644 --- a/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/non_rigid_mesh_registration.h +++ b/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/non_rigid_mesh_registration.h @@ -33,7 +33,6 @@ #include #include -#include #include #include #include @@ -264,35 +263,37 @@ template + typename NamedParameters1 = parameters::Default_named_parameters, + typename NamedParameters2 = parameters::Default_named_parameters> void non_rigid_mesh_to_points_registration(TriangleMesh& source, const PointRange& target, VertexTranslationMap& vtm, VertexRotationMap& vrm, const std::vector::vertex_descriptor, std::size_t>>& correspondences = std::vector::vertex_descriptor, std::size_t>>(), - const NamedParameters& np = parameters::default_values()) + const NamedParameters1& np1 = parameters::default_values(), + const NamedParameters2& np2 = parameters::default_values()) { - const size_t iter = parameters::choose_parameter(parameters::get_parameter(np, internal_np::number_of_iterations), 50); - const double w1 = parameters::choose_parameter(parameters::get_parameter(np, internal_np::point_to_plane_energy), 2); - const double w2 = parameters::choose_parameter(parameters::get_parameter(np, internal_np::point_to_point_energy), 0.1); - const double w3 = parameters::choose_parameter(parameters::get_parameter(np, internal_np::as_rigid_as_possible_energy), 20); - const double max_matching_dist = parameters::choose_parameter(parameters::get_parameter(np, internal_np::max_matching_dist), 0); + const size_t iter = parameters::choose_parameter(parameters::get_parameter(np1, internal_np::number_of_iterations), 50); + const double w1 = parameters::choose_parameter(parameters::get_parameter(np1, internal_np::point_to_plane_energy), 2); + const double w2 = parameters::choose_parameter(parameters::get_parameter(np1, internal_np::point_to_point_energy), 0.1); + const double w3 = parameters::choose_parameter(parameters::get_parameter(np1, internal_np::as_rigid_as_possible_energy), 20); + const double max_matching_dist = parameters::choose_parameter(parameters::get_parameter(np1, internal_np::max_matching_dist), 0); internal::Vertices X(num_vertices(source), 3), Y(target.size(), 3); internal::Faces XF(num_faces(source), 3); - using NP_helper = Point_set_processing_3_np_helper; + using NP_helper = Point_set_processing_3_np_helper; using Point_map = typename NP_helper::Point_map; using Normal_map = typename NP_helper::Normal_map; - Point_map point_map = NP_helper::get_const_point_map(target, np); - Normal_map normal_map = NP_helper::get_normal_map(target, np); + Point_map point_map = NP_helper::get_const_point_map(target, np2); + Normal_map normal_map = NP_helper::get_normal_map(target, np2); - using Gt = typename GetGeomTraits::type; - using Vertex_point_map = typename GetVertexPointMap::type; + using Gt = typename GetGeomTraits::type; + using Vertex_point_map = typename GetVertexPointMap::type; using Point = typename Gt::Point_3; - Vertex_point_map vpm = parameters::choose_parameter(parameters::get_parameter(np, internal_np::vertex_point), get_const_property_map(CGAL::vertex_point, source)); + Vertex_point_map vpm = parameters::choose_parameter(parameters::get_parameter(np1, internal_np::vertex_point), get_const_property_map(CGAL::vertex_point, source)); std::size_t idx = 0; for (auto v : vertices(source)) { @@ -697,18 +698,22 @@ void non_rigid_mesh_to_mesh_registration(TriangleMesh1& source, using Gt1 = typename GetGeomTraits::type; - CGAL::Point_set_3 points; + typedef std::pair Point_with_normal; + typedef std::vector Pwn_vector; + typedef CGAL::First_of_pair_property_map Point_map; + typedef CGAL::Second_of_pair_property_map Normal_map; + Pwn_vector points; points.reserve(target.num_vertices()); for (auto v : target.vertices()) - points.insert(get(vpm, v), get(vnm, v)); + points.push_back(std::make_pair(get(vpm, v), get(vnm, v))); std::vector::vertex_descriptor, std::size_t>> correspondences_pts; correspondences_pts.reserve(correspondences.size()); for (auto p : correspondences) correspondences_pts.push_back(std::make_pair(p.first, static_cast(p.second))); - non_rigid_mesh_to_points_registration(source, points, vtm, vrm, correspondences_pts, np); + non_rigid_mesh_to_points_registration(source, points, vtm, vrm, correspondences_pts, np, parameters::point_map(Point_map()).normal_map(Normal_map())); } /*! From b73ce3e98707ed09e9ac0e546a272a6da8c304d0 Mon Sep 17 00:00:00 2001 From: Sven Oesau Date: Mon, 5 Aug 2024 16:15:07 +0200 Subject: [PATCH 05/41] working on registration and doc --- .../Polygon_mesh_processing.txt | 80 +++++++++++++++++++ .../doc/Polygon_mesh_processing/examples.txt | 1 + .../non_rigid_mesh_registration_example.cpp | 44 +++++----- .../non_rigid_mesh_registration.h | 73 +++++++++-------- 4 files changed, 143 insertions(+), 55 deletions(-) diff --git a/Polygon_mesh_processing/doc/Polygon_mesh_processing/Polygon_mesh_processing.txt b/Polygon_mesh_processing/doc/Polygon_mesh_processing/Polygon_mesh_processing.txt index e532de3e7288..ca5c94d76a22 100644 --- a/Polygon_mesh_processing/doc/Polygon_mesh_processing/Polygon_mesh_processing.txt +++ b/Polygon_mesh_processing/doc/Polygon_mesh_processing/Polygon_mesh_processing.txt @@ -1416,6 +1416,84 @@ and the number of surface patches that are separated by these edges. \cgalExample{Polygon_mesh_processing/detect_features_example.cpp} +\section PMPNonRigidRegistration Non-Rigid Mesh Registration + +Registration of one mesh onto another is often required to map between multiple acquisitions of an object or between an acquisition and a CAD model, e.g., in quality assurance. A simple linear transformation is only sufficient in the case of rigid objects. + +The functions `CGAL::Polygon_mesh_processing::non_rigid_mesh_to_mesh_registration()` and `CGAL::Polygon_mesh_processing::non_rigid_mesh_to_points_registration()` calculate a non-rigid registration from a source mesh onto target mesh or a target oriented point cloud. For each vertex in the source mesh a translation vector and a rotation matrix is provided. +The registration is formulated as an energy to minimize the distance between source and target. The energy is iteratively minimized by solving sparse linear systems and finding closest rotation matrices. +The core algorithm is ICP, iterative closest point. In each iteration, the method identifies vertex or point pairs between the template, initially a copy of the source, and the target and subsequently calculates the transformations which minimize the distance between them. The template is updated after each iteration and converges towards the target. + +\f{equation}{ +\mathbf{E_{reg}} = w_1\mathbf{E_{match}} + w_2\mathbf{E_{point\_to\_plane}} + w_3\mathbf{E_{arap}}, + \label{eq:e_reg} +\f} + +with the single energy terms: + +\f{equation}{ +\mathbf{E_{match}} = \sum_{\mathbf{v}_i, \mathbf{\tilde{v}}_i \in P} \left\|\mathbf{\tilde{v}}_i - (\mathbf{R}_i\mathbf{v}_i + \mathbf{t_i})\right\|^2_2, + \label{eq:e_match} +\f} + +\f{equation}{ +\mathbf{E_{point\_to\_plane}} = \sum_{\mathbf{v}_i, \mathbf{\tilde{v}}_i \in P} \left\|(\mathbf{\tilde{v}}_i - (\mathbf{R}_i\mathbf{v}_i + \mathbf{t_i}))\mathbf{\tilde{n}}_i\right\|^2_2, + \label{eq:e_plane} +\f} + +\f{equation}{ +\mathbf{E_{arap}} = +\sum_{\mathbf{v}_i \in M} +\sum_{\mathbf{v}_j \in N(\mathbf{v}_i)} +\left\| (\mathbf{R}_i\mathbf{v}_i + \mathbf{t}_i - \mathbf{R}_j\mathbf{v}_j + \mathbf{t}_j) - \mathbf{R}_i(\mathbf{v}_i - \mathbf{v}_j) \right\|^2_2, + \label{eq:e_arap} +\f} + +where: +- \f$w_1, w_2\f$ and \f$w_3\f$ denote the weights for the energy terms. +- \f$\mathbf{P}\f$ is the set of vertex/point pairs with \f$\mathbf{v}_i \in\f$ template and \f$\mathbf{\tilde{v}}_i \in\f$ target. It is recreated in each iteration. +- \f$\mathbf{R}_i\f$ is a \f$ 3 \times 3 \f$ rotation matrix for source vertex \f$\mathbf{v}_i\f$. +- \f$\mathbf{t}_i\f$ is the translation vector for source vertex \f$\mathbf{v}_i\f$. +- \f$\mathbf{M}\f$ is the template mesh (initially equal to the source mesh). +- \f$N(\mathbf{v}_i)\f$ denotes the set of vertices adjacent to \f$\mathbf{v}_i\f$. + +The \f$\mathbf{E_{match}}\f$ energy penalizes the distance between point pairs \f$\mathbf{v}_i\f$ and \f$\mathbf{\tilde{v}}_i\f$. The point pairs are restablished after each iteration. In addition, the method can take fixed point pairs of correspondences between source and target. This greatly improves the quality of the registration and is generally required for non-simple meshes. + +The \f$\mathbf{E_{point\_to\_plane}}\f$ energy, point to plane, is similar to \f$\mathbf{E_{match}}\f$, but instead penalizes the distance to the plane given by the target vertex and its normal. This energy compensates for different discretizations, i.e., for source and target mesh that were not created by deforming one mesh into the other. + +The \f$\mathbf{E_{arap}}\f$ energy, as-rigid-as-possible, controls the rigidness of the transformation. It measures the deformation of the edges connected to each vertex that results from applying an individual transformation to each vertex of the source mesh. + +\subsection PMPNonRigidRegistrationParameters Parameters + +The algorithm has six parameters: +- `point_to_point_energy`: +Sets the weight `w1` of the \f$\mathbf{E_{match}}\f$. Penalizes the distance between vertices of template and target. A higher values promotes a tighter fit. +- `point_to_plane_energy`: +Sets the weight `w2` of the \f$\mathbf{E_{point\_to\_plane}}\f$. Also penalizes the distances between the meshes, but is more forgiving towards different discretization. +- `as_rigid_as_possible_energy`: +Controls the rigidness weight `w3` of the \f$\mathbf{E_{arap}}\f$. Penalizes the deformation of the template and may thus prefers rigidness over a tight fit. +- max_distance: +The maximal distance for finding vertex/point pairs between the source and target. A pair is ignored during an iteration if the specified distance is exceeded. +- iterations: +The number of ICP iterations. The default value is 50. +- correspondences: +Optional fixed vertex/point pairs can be provided to guide the registration. These are especially helpful when source and target are not roughly aligned initially. + +\cgalFigureAnchor{registration_results} +
+ +
+\cgalFigureCaptionBegin{registration_results} +Non-rigid registration using 5 correspondes on top of the head and at the tips of hand and feet. A low rigidness leads to a distortion and a self-intersection of the transformed mesh. The topology of the mesh as well as the number of vertices and faces remain unchanged. The lack of correspondences also causes self-intersection and leads to a flattening of the left arm. +\cgalFigureCaptionEnd + +\subsection PMPNonRigidRegistrationExample Non-rigid registration Example + +In the following example the bear.off model is registered onto the bear_bis.off model. The resulting transformed mesh is then saved as off file with a name depending on the chosen parameters. + +\cgalExample{Polygon_mesh_processing/non_rigid_mesh_registration_example.cpp} + + \section PMPHistory Implementation History A first version of this package was started by Ilker %O. Yaz and Sébastien Loriot. @@ -1441,5 +1519,7 @@ used as a reference during the project. The curvature-based sizing field version of isotropic remeshing was added by Ivan Pađen during GSoC 2023, under the supervision of Sébastien Loriot and Jane Tournois. +The non-rigid mesh registration was developed by Roberto M. Dyke. Sven Oesau integrated the method into CGAL. + */ } /* namespace CGAL */ diff --git a/Polygon_mesh_processing/doc/Polygon_mesh_processing/examples.txt b/Polygon_mesh_processing/doc/Polygon_mesh_processing/examples.txt index 3aca69fb0049..d6c9c9bd5ea9 100644 --- a/Polygon_mesh_processing/doc/Polygon_mesh_processing/examples.txt +++ b/Polygon_mesh_processing/doc/Polygon_mesh_processing/examples.txt @@ -48,5 +48,6 @@ \example Polygon_mesh_processing/remesh_almost_planar_patches.cpp \example Polygon_mesh_processing/sample_example.cpp \example Polygon_mesh_processing/soup_autorefinement.cpp +\example Polygon_mesh_processing/non_rigid_mesh_registration_example.cpp */ */ diff --git a/Polygon_mesh_processing/examples/Polygon_mesh_processing/non_rigid_mesh_registration_example.cpp b/Polygon_mesh_processing/examples/Polygon_mesh_processing/non_rigid_mesh_registration_example.cpp index 277a9e6acfa1..3754a9fae8cb 100644 --- a/Polygon_mesh_processing/examples/Polygon_mesh_processing/non_rigid_mesh_registration_example.cpp +++ b/Polygon_mesh_processing/examples/Polygon_mesh_processing/non_rigid_mesh_registration_example.cpp @@ -8,20 +8,20 @@ #include -typedef CGAL::Exact_predicates_inexact_constructions_kernel K; -typedef CGAL::Exact_predicates_exact_constructions_kernel K2; -typedef CGAL::Surface_mesh Mesh; +#include + +using K = CGAL::Exact_predicates_inexact_constructions_kernel; +using Mesh = CGAL::Surface_mesh; using Point = K::Point_3; using Vector = K::Vector_3; +using FT = K::FT; namespace PMP = CGAL::Polygon_mesh_processing; int main(int argc, char** argv) { - if (argc == 2) - std::cout << "wrong number of arguments! 0, 2 or 3 arguments possible" << std::endl; - const std::string source_fn = argc > 1 ? argv[1] : "data/wolf0.off"; - const std::string target_fn = argc > 2 ? argv[2] : "data/wolf1.off"; - const std::string corr_fn = argc > 3 ? argv[3] : "data/wolf0_wolf1.corr"; + const std::string source_fn = CGAL::data_file_path("meshes/bear.off"); + const std::string target_fn = CGAL::data_file_path("meshes/bear_bis.off"); + const std::string corr_fn = "data/bear_bear_bis.corr"; Mesh source, target; if (!PMP::IO::read_polygon_mesh(source_fn, source)) @@ -49,17 +49,21 @@ int main(int argc, char** argv) { Mesh source, target; correspondences_mesh.push_back(std::make_pair(*(source.vertices_begin() + v0), *(target.vertices_begin() + v1))); } - } - Mesh mapped_source; - CGAL::Point_set_3 points; - points.reserve(target.num_vertices()); + std::cout << correspondences_mesh.size() << " correspondences provided" << std::endl; + } - //typename Mesh::Property_map; auto vnm = target.add_property_map("v:normal"); if (vnm.second) PMP::compute_vertex_normals(target, vnm.first); + typename Mesh::Property_map> vrm = source.add_property_map>("v:rotation").first; + typename Mesh::Property_map vtm = source.add_property_map("v:transformations").first; + +/* + CGAL::Point_set_3 points; + points.reserve(target.num_vertices()); + for (auto v : target.vertices()) points.insert(target.point(v), get(vnm.first, v)); @@ -68,19 +72,17 @@ int main(int argc, char** argv) { for (auto p : correspondences_mesh) correspondences_pts.push_back(std::make_pair(p.first, static_cast(p.second))); - typename Mesh::Property_map> vrm = target.add_property_map>("v:rotation").first; - typename Mesh::Property_map vtm = target.add_property_map("v:transformations").first; - - Mesh source2 = source; - -/* PMP::non_rigid_mesh_to_points_registration(source, points, vtm, vrm, correspondences_pts, CGAL::parameters::point_to_plane_energy(2.0).point_to_point_energy(0.1).as_rigid_as_possible_energy(10)); PMP::apply_non_rigid_transformation(source, vtm, vrm); CGAL::IO::write_polygon_mesh("mapped.off", source);*/ - PMP::non_rigid_mesh_to_mesh_registration(source, target, vtm, vrm, correspondences_mesh, CGAL::parameters::point_to_plane_energy(2.0).point_to_point_energy(0.1).as_rigid_as_possible_energy(30)); + FT w1 = 1.0; + FT w2 = 2.0; + FT w3 = 5000000; + + PMP::non_rigid_mesh_to_mesh_registration(source, target, vtm, vrm, correspondences_mesh, CGAL::parameters::point_to_point_energy(w1).point_to_plane_energy(w2).as_rigid_as_possible_energy(w3)); PMP::apply_non_rigid_transformation(source, vtm, vrm); - CGAL::IO::write_polygon_mesh("mapped.off", source); + CGAL::IO::write_polygon_mesh("bear" + std::to_string(w1) + "_" + std::to_string(w2) + "_" + std::to_string(w3) + ".off", source); return EXIT_SUCCESS; } \ No newline at end of file diff --git a/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/non_rigid_mesh_registration.h b/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/non_rigid_mesh_registration.h index bfccf2457ec9..6cd147a57095 100644 --- a/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/non_rigid_mesh_registration.h +++ b/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/non_rigid_mesh_registration.h @@ -16,15 +16,13 @@ #include -#ifdef CGAL_EIGEN3_ENABLED +//#ifdef CGAL_EIGEN3_ENABLED #include #include #include #include -//#include - #include #include #include @@ -96,9 +94,6 @@ std::pair nearest_neighbor(Vertices& points, V const int ndim = 3; Eigen_matrix_to_point_map a(points); - Point_3 p0 = get(a, 0); - Point_3 p1 = get(a, 1); - Point_3 p5 = get(a, 5); KDTree kdtree(boost::counting_iterator(0), boost::counting_iterator(points.rows()), KDTree::Splitter(), Search_traits(Eigen_matrix_to_point_map(points))); kdtree.build(); @@ -117,7 +112,7 @@ std::pair nearest_neighbor(Vertices& points, V } return std::make_pair(idz, dist); -} +}/* Vertices calc_normals(Vertices& points, Faces& faces) { Vertices face_normals(faces.rows(), 3); @@ -140,7 +135,7 @@ Vertices calc_normals(Vertices& points, Faces& faces) { } return normals; -} +}*/ template int sign(T val) { @@ -153,6 +148,7 @@ void insertSparseMatrix(const SparseMat& mat, std::vector& coeffi coefficients.push_back(SparseTriplet(start_i + it.row(), start_j + it.col(), it.value())); } +/* std::pair point2point(Vertices X, Vertices Y) { // Transform step for rigid ICP assert(X.rows() == Y.rows()); @@ -171,7 +167,7 @@ std::pair point2point(Vertices X, Vertices Y) { // Transform ste Vertex t = y_mean - R * x_mean; return std::make_pair(R, t); -} +}*/ template Eigen::Matrix rot(T a, T b, T c) { @@ -191,23 +187,26 @@ Eigen::Matrix rot(T a, T b, T c) { * * \brief calculates non-rigid transformation of a mesh onto a set of oriented points. * -* A non-rigid ICP, iterative closest point, method based on https://vgl.ict.usc.edu/Research/NonRigidRegistration/MODERN%20TECHNIQUES%20AND%20APPLICATIONS%20FOR%20REAL-TIME%20NON-RIGID%20REGISTRATION.pdf . +* A non-rigid ICP, iterative closest point, method based on +* a SIGGRAPH'16 Tutorial. * The method uses a few correspondences between the source and the target for the rough alignment. The iterative closest point method * iteratively approaches the target by minimizing the distance between vertices of the source and points of the target. * * @tparam TriangleMesh a model of `MutableFaceGraph`. * @tparam PointRange a model of the `concept ForwardRange` whose value type is the point type. * @tparam VertexTranslationMap is a property map with `boost::graph_traits::%vertex_descriptor` - * as key type and a \cgal Kernel `Vector_3` as value type. +* as key type and a \cgal Kernel `Vector_3` as value type. * @tparam VertexRotationMap is a property map with `boost::graph_traits::%vertex_descriptor` - * as key type and a \cgal Kernel `Aff_transformation_3` as value type. -* @tparam NamedParameters a sequence of \ref bgl_namedparameters "Named Parameters" +* as key type and a \cgal Kernel `Aff_transformation_3` as value type. +* @tparam NamedParameters1 a sequence of \ref bgl_namedparameters "Named Parameters" +* @tparam NamedParameters2 a sequence of \ref bgl_namedparameters "Named Parameters" * * @param source the triangle mesh that should be mapped onto target. * @param target the target triangle mesh. * @param vtm a writeable vertex property map of source to store the translation vector of the registration. * @param vrm a writeable vertex property map of source to store the rotation part of the registration. -* @param np an optional sequence of \ref bgl_namedparameters "Named Parameters" among the ones listed below +* @param np1 an optional sequence of \ref bgl_namedparameters "Named Parameters" among the ones listed below +* @param np2 an optional sequence of \ref bgl_namedparameters "Named Parameters" providing a point_map and normal_map for the PointRange * @param correspondences a vector given matching points between the source and the target * * \cgalNamedParamsBegin @@ -274,8 +273,8 @@ void non_rigid_mesh_to_points_registration(TriangleMesh& source, const NamedParameters2& np2 = parameters::default_values()) { const size_t iter = parameters::choose_parameter(parameters::get_parameter(np1, internal_np::number_of_iterations), 50); - const double w1 = parameters::choose_parameter(parameters::get_parameter(np1, internal_np::point_to_plane_energy), 2); - const double w2 = parameters::choose_parameter(parameters::get_parameter(np1, internal_np::point_to_point_energy), 0.1); + const double w2 = parameters::choose_parameter(parameters::get_parameter(np1, internal_np::point_to_plane_energy), 2); + const double w1 = parameters::choose_parameter(parameters::get_parameter(np1, internal_np::point_to_point_energy), 0.1); const double w3 = parameters::choose_parameter(parameters::get_parameter(np1, internal_np::as_rigid_as_possible_energy), 20); const double max_matching_dist = parameters::choose_parameter(parameters::get_parameter(np1, internal_np::max_matching_dist), 0); @@ -431,16 +430,17 @@ void non_rigid_mesh_to_points_registration(TriangleMesh& source, weight_coefficients.clear(); internal::SparseMat D(Z.rows() + 2 * dim + 3 * edim, Z.rows() + 2 * dim + 3 * edim); for (internal::Index i = 0; i < Z.rows(); ++i) { - weight_coefficients.push_back(internal::SparseTriplet(i, i, w1)); + weight_coefficients.push_back(internal::SparseTriplet(i, i, w2)); } for (internal::Index i = Z.rows(); i < Z.rows() + dim; ++i) { - weight_coefficients.push_back(internal::SparseTriplet(i, i, w2)); + weight_coefficients.push_back(internal::SparseTriplet(i, i, w1)); } for (internal::Index i = Z.rows() + dim; i < Z.rows() + dim + 3 * edim; ++i) { weight_coefficients.push_back(internal::SparseTriplet(i, i, w3)); } D.setFromTriplets(weight_coefficients.begin(), weight_coefficients.end()); + /// Setting very high weight for given correspondences. for (internal::Index i = 0; i < corr.rows(); ++i) { D.coeffRef(Z.rows() + corr(i, 0), Z.rows() + corr(i, 0)) = 1e15f; D.coeffRef(Z.rows() * 2 + corr(i, 0), Z.rows() * 2 + corr(i, 0)) = 1e15f; @@ -455,8 +455,8 @@ void non_rigid_mesh_to_points_registration(TriangleMesh& source, std::vector> Rotations(Z.rows()); size_t coefficients_size = coefficients.size(); + for (size_t it = 0; it < iter; ++it) { - std::cout << "="; if (it > 0) { coefficients.erase(coefficients.begin() + coefficients_size, coefficients.end()); } @@ -526,9 +526,10 @@ void non_rigid_mesh_to_points_registration(TriangleMesh& source, A.setFromTriplets(coefficients.begin(), coefficients.end()); - if (it == 0) { + // There does not seem to be an advantage in performance + /*if (it == 0) { cg.analyzePattern(A.transpose() * D * A + W); - } + }*/ cg.factorize(A.transpose() * D * A + W); internal::Vector x = cg.solve(A.transpose() * D * b); @@ -537,6 +538,7 @@ void non_rigid_mesh_to_points_registration(TriangleMesh& source, Z(Eigen::indexing::all, 1) = x(Eigen::seq(Z.rows(), 2 * Z.rows() - 1)); Z(Eigen::indexing::all, 2) = x(Eigen::seq(2 * Z.rows(), 3 * Z.rows() - 1)); + // Update edge neighborhoods by new local rotation if (it == (iter - 1)) { // Should replace with CGAL's ARAP implementation https://github.com/CGAL/cgal/blob/master/Surface_mesh_deformation/include/CGAL/Surface_mesh_deformation.h @@ -560,6 +562,7 @@ void non_rigid_mesh_to_points_registration(TriangleMesh& source, } } else { + // Regular matrix update is happening here (taking linearized coefficients, recreating matrix and updating rotations) for (internal::Index i = 0; i < edim; ++i) { int ni = Ni(i); internal::Matrix R = internal::rot(x(dim + 2 * Z.rows() + ni), @@ -569,7 +572,6 @@ void non_rigid_mesh_to_points_registration(TriangleMesh& source, } } } - std::cout << " done." << std::endl; idx = 0; for (auto v : vertices(source)) { @@ -587,15 +589,15 @@ void non_rigid_mesh_to_points_registration(TriangleMesh& source, idx++; } } -/* /*! * \ingroup PMP_registration_grp * * \brief calculates non-rigid transformation of a mesh onto another mesh. * -* A non-rigid ICP, iterative closest point, method based on https://vgl.ict.usc.edu/Research/NonRigidRegistration/MODERN%20TECHNIQUES%20AND%20APPLICATIONS%20FOR%20REAL-TIME%20NON-RIGID%20REGISTRATION.pdf . -* The method uses a few correspondences between the source and the target for the rough alignment. The iterative closest point method +* A non-rigid ICP, iterative closest point, method based on +* a SIGGRAPH'16 Tutorial. +* The method uses optional correspondences between the source and the target for the rough alignment. The iterative closest point method * iteratively approaches the target by minimizing the distance between vertices of the source and points of the target. * * @tparam TriangleMesh1 a model of `MutableFaceGraph`. @@ -604,13 +606,15 @@ void non_rigid_mesh_to_points_registration(TriangleMesh& source, * as key type and a \cgal Kernel `Vector_3` as value type. * @tparam VertexRotationMap is a property map with `boost::graph_traits::%vertex_descriptor` * as key type and a \cgal Kernel `Aff_transformation_3` as value type. -* @tparam NamedParameters a sequence of \ref bgl_namedparameters "Named Parameters" +* @tparam NamedParameters1 a sequence of \ref bgl_namedparameters "Named Parameters1" +* @tparam NamedParameters2 a sequence of \ref bgl_namedparameters "Named Parameters2" * * @param source the triangle mesh that should be mapped onto target. * @param target the target point range with oriented normals. * @param vtm a writeable vertex property map of source to store the translation vector of the registration. * @param vrm a writeable vertex property map of source to store the rotation part of the registration. -* @param np an optional sequence of \ref bgl_namedparameters "Named Parameters" among the ones listed below +* @param np1 an optional sequence of \ref bgl_namedparameters "Named Parameters1" of the source and the method among the ones listed below +* @param np2 an optional sequence of \ref bgl_namedparameters "Named Parameters2" of the target providing a vertex point map and a vertex normal map. * @param correspondences a vector given matching points between the source and the target * * \cgalNamedParamsBegin @@ -635,11 +639,11 @@ void non_rigid_mesh_to_points_registration(TriangleMesh& source, * \cgalParamNBegin{as_rigid_as_possible_energy} * \cgalParamDescription{uses the topology of the mesh to determine how a vertex it deforming with respect to its neighbors.} * \cgalParamType{double} -* \cgalParamDefault{`20`} +* \cgalParamDefault{`50`} * \cgalParamNEnd * * \cgalParamNBegin{max_matching_dist} -* \cgalParamDescription{the maximum distance for a vertex in source to match with a point in target} +* \cgalParamDescription{the maximum distance for a vertex in source to match with a point in target. 0 means that there is no max distance.} * \cgalParamType{double} * \cgalParamDefault{`0`} * \cgalParamNEnd @@ -660,6 +664,7 @@ void non_rigid_mesh_to_points_registration(TriangleMesh& source, * \cgalParamExtra{The geometric traits class must be compatible with the vertex point type.} * \cgalParamNEnd * \cgalNamedParamsEnd +* */ template ::vertex_descriptor, typename boost::graph_traits::vertex_descriptor>>& correspondences = std::vector::vertex_descriptor, typename boost::graph_traits::vertex_descriptor>>(), - const NamedParameters1& np = parameters::default_values(), + const NamedParameters1& np1 = parameters::default_values(), const NamedParameters2& np2 = parameters::default_values()) { using Gt2 = typename GetGeomTraits::type; @@ -713,7 +718,7 @@ void non_rigid_mesh_to_mesh_registration(TriangleMesh1& source, for (auto p : correspondences) correspondences_pts.push_back(std::make_pair(p.first, static_cast(p.second))); - non_rigid_mesh_to_points_registration(source, points, vtm, vrm, correspondences_pts, np, parameters::point_map(Point_map()).normal_map(Normal_map())); + non_rigid_mesh_to_points_registration(source, points, vtm, vrm, correspondences_pts, np1, parameters::point_map(Point_map()).normal_map(Normal_map())); } /*! @@ -721,7 +726,7 @@ void non_rigid_mesh_to_mesh_registration(TriangleMesh1& source, * * \brief applies a non-rigid transformation to the vertices of the mesh. Face and vertex normal vectors are invalid after transformation. * -* @tparam TriangleMesh1 a model of `MutableFaceGraph`. +* @tparam TriangleMesh a model of `MutableFaceGraph`. * @tparam VertexTranslationMap is a property map with `boost::graph_traits::%vertex_descriptor` * as key type and a \cgal Kernel `Vector_3` as value type. * @tparam VertexRotationMap is a property map with `boost::graph_traits::%vertex_descriptor` @@ -733,7 +738,7 @@ void non_rigid_mesh_to_mesh_registration(TriangleMesh1& source, * @param vrm a readable vertex property map of source to store the rotation part of the registration. * @param np an optional sequence of \ref bgl_namedparameters "Named Parameters" among the ones listed below * -* \cgalNamedParamsBegin* +* \cgalNamedParamsBegin * \cgalParamNBegin{geom_traits} * \cgalParamDescription{an instance of a geometric traits class} * \cgalParamType{a class model of `Kernel`} @@ -789,6 +794,6 @@ void apply_non_rigid_transformation(TriangleMesh& mesh, } // namespace Polygon_mesh_processing } // namespace CGAL -#endif +//#endif // CGAL_EIGEN3_ENABLED #endif \ No newline at end of file From db8ffbeb2827514bd2ecf2f1e3a3d6bd6acf6985 Mon Sep 17 00:00:00 2001 From: Sven Oesau Date: Mon, 5 Aug 2024 16:24:56 +0200 Subject: [PATCH 06/41] doc fix --- .../CGAL/Polygon_mesh_processing/non_rigid_mesh_registration.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/non_rigid_mesh_registration.h b/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/non_rigid_mesh_registration.h index 6cd147a57095..e3661e614441 100644 --- a/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/non_rigid_mesh_registration.h +++ b/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/non_rigid_mesh_registration.h @@ -440,7 +440,7 @@ void non_rigid_mesh_to_points_registration(TriangleMesh& source, } D.setFromTriplets(weight_coefficients.begin(), weight_coefficients.end()); - /// Setting very high weight for given correspondences. + // Setting very high weight for given correspondences. for (internal::Index i = 0; i < corr.rows(); ++i) { D.coeffRef(Z.rows() + corr(i, 0), Z.rows() + corr(i, 0)) = 1e15f; D.coeffRef(Z.rows() * 2 + corr(i, 0), Z.rows() * 2 + corr(i, 0)) = 1e15f; From d9811293fe62ff24e944a6d9787ead5334d25ef5 Mon Sep 17 00:00:00 2001 From: Sven Oesau Date: Tue, 6 Aug 2024 12:39:37 +0200 Subject: [PATCH 07/41] pass on doc --- .../Polygon_mesh_processing.txt | 24 +- .../fig/non-rigid_registration.png | Bin 0 -> 365800 bytes .../non_rigid_mesh_registration.h | 255 ++++++++---------- .../internal/parameters_interface.h | 2 +- 4 files changed, 120 insertions(+), 161 deletions(-) create mode 100644 Polygon_mesh_processing/doc/Polygon_mesh_processing/fig/non-rigid_registration.png diff --git a/Polygon_mesh_processing/doc/Polygon_mesh_processing/Polygon_mesh_processing.txt b/Polygon_mesh_processing/doc/Polygon_mesh_processing/Polygon_mesh_processing.txt index ca5c94d76a22..0d9caabb009d 100644 --- a/Polygon_mesh_processing/doc/Polygon_mesh_processing/Polygon_mesh_processing.txt +++ b/Polygon_mesh_processing/doc/Polygon_mesh_processing/Polygon_mesh_processing.txt @@ -1420,9 +1420,9 @@ and the number of surface patches that are separated by these edges. Registration of one mesh onto another is often required to map between multiple acquisitions of an object or between an acquisition and a CAD model, e.g., in quality assurance. A simple linear transformation is only sufficient in the case of rigid objects. -The functions `CGAL::Polygon_mesh_processing::non_rigid_mesh_to_mesh_registration()` and `CGAL::Polygon_mesh_processing::non_rigid_mesh_to_points_registration()` calculate a non-rigid registration from a source mesh onto target mesh or a target oriented point cloud. For each vertex in the source mesh a translation vector and a rotation matrix is provided. +The functions `CGAL::Polygon_mesh_processing::non_rigid_mesh_to_mesh_registration()` and `CGAL::Polygon_mesh_processing::non_rigid_mesh_to_points_registration()` calculate a non-rigid registration from a source mesh onto target mesh or a target oriented point cloud. For each vertex in the source mesh a translation vector and a rotation matrix is returned. The registration is formulated as an energy to minimize the distance between source and target. The energy is iteratively minimized by solving sparse linear systems and finding closest rotation matrices. -The core algorithm is ICP, iterative closest point. In each iteration, the method identifies vertex or point pairs between the template, initially a copy of the source, and the target and subsequently calculates the transformations which minimize the distance between them. The template is updated after each iteration and converges towards the target. +The core algorithm is ICP, iterative closest point. In each iteration, the method identifies vertex or point pairs between the intermediate, initially a copy of the source, and the target and subsequently calculates the transformations which minimize the distance between them. The intermediate is updated after each iteration and converges towards the target. \f{equation}{ \mathbf{E_{reg}} = w_1\mathbf{E_{match}} + w_2\mathbf{E_{point\_to\_plane}} + w_3\mathbf{E_{arap}}, @@ -1451,30 +1451,30 @@ with the single energy terms: where: - \f$w_1, w_2\f$ and \f$w_3\f$ denote the weights for the energy terms. -- \f$\mathbf{P}\f$ is the set of vertex/point pairs with \f$\mathbf{v}_i \in\f$ template and \f$\mathbf{\tilde{v}}_i \in\f$ target. It is recreated in each iteration. +- \f$\mathbf{P}\f$ is the set of vertex/point pairs with \f$\mathbf{v}_i \in\f$ intermediate and \f$\mathbf{\tilde{v}}_i \in\f$ target. It is recreated in each iteration. - \f$\mathbf{R}_i\f$ is a \f$ 3 \times 3 \f$ rotation matrix for source vertex \f$\mathbf{v}_i\f$. - \f$\mathbf{t}_i\f$ is the translation vector for source vertex \f$\mathbf{v}_i\f$. -- \f$\mathbf{M}\f$ is the template mesh (initially equal to the source mesh). +- \f$\mathbf{M}\f$ is the intermediate mesh (initially equal to the source mesh). - \f$N(\mathbf{v}_i)\f$ denotes the set of vertices adjacent to \f$\mathbf{v}_i\f$. The \f$\mathbf{E_{match}}\f$ energy penalizes the distance between point pairs \f$\mathbf{v}_i\f$ and \f$\mathbf{\tilde{v}}_i\f$. The point pairs are restablished after each iteration. In addition, the method can take fixed point pairs of correspondences between source and target. This greatly improves the quality of the registration and is generally required for non-simple meshes. The \f$\mathbf{E_{point\_to\_plane}}\f$ energy, point to plane, is similar to \f$\mathbf{E_{match}}\f$, but instead penalizes the distance to the plane given by the target vertex and its normal. This energy compensates for different discretizations, i.e., for source and target mesh that were not created by deforming one mesh into the other. -The \f$\mathbf{E_{arap}}\f$ energy, as-rigid-as-possible, controls the rigidness of the transformation. It measures the deformation of the edges connected to each vertex that results from applying an individual transformation to each vertex of the source mesh. +The \f$\mathbf{E_{arap}}\f$ energy, as-rigid-as-possible, controls the rigidity of the transformation. It measures the deformation of the edges connected to each vertex that results from applying an individual transformation to each vertex of the source mesh. \subsection PMPNonRigidRegistrationParameters Parameters The algorithm has six parameters: - `point_to_point_energy`: -Sets the weight `w1` of the \f$\mathbf{E_{match}}\f$. Penalizes the distance between vertices of template and target. A higher values promotes a tighter fit. +Sets the weight `w1` of the \f$\mathbf{E_{match}}\f$. Penalizes the distance between vertices of intermediate and target. A higher value promotes a tighter fit. - `point_to_plane_energy`: Sets the weight `w2` of the \f$\mathbf{E_{point\_to\_plane}}\f$. Also penalizes the distances between the meshes, but is more forgiving towards different discretization. - `as_rigid_as_possible_energy`: -Controls the rigidness weight `w3` of the \f$\mathbf{E_{arap}}\f$. Penalizes the deformation of the template and may thus prefers rigidness over a tight fit. -- max_distance: -The maximal distance for finding vertex/point pairs between the source and target. A pair is ignored during an iteration if the specified distance is exceeded. -- iterations: +Controls the rigidity weight `w3` of the \f$\mathbf{E_{arap}}\f$. Penalizes the deformation of the source and may thus prefers rigidity over a tight fit. +- maximum_matching_distance: +The maximal distance for finding vertex/point pairs between the intermediate and target. A pair is ignored during an iteration if the specified distance is exceeded. +- number_of_iterations: The number of ICP iterations. The default value is 50. - correspondences: Optional fixed vertex/point pairs can be provided to guide the registration. These are especially helpful when source and target are not roughly aligned initially. @@ -1484,7 +1484,7 @@ Optional fixed vertex/point pairs can be provided to guide the registration. The \cgalFigureCaptionBegin{registration_results} -Non-rigid registration using 5 correspondes on top of the head and at the tips of hand and feet. A low rigidness leads to a distortion and a self-intersection of the transformed mesh. The topology of the mesh as well as the number of vertices and faces remain unchanged. The lack of correspondences also causes self-intersection and leads to a flattening of the left arm. +Non-rigid registration using five correspondences on top of the head and at the tips of hand and feet. A low rigidity leads to a distortion and a self-intersection of the transformed mesh. The topology of the mesh as well as the number of vertices and faces remain unchanged. The lack of correspondences also causes self-intersection and leads to a flattening of the left arm. \cgalFigureCaptionEnd \subsection PMPNonRigidRegistrationExample Non-rigid registration Example @@ -1519,7 +1519,7 @@ used as a reference during the project. The curvature-based sizing field version of isotropic remeshing was added by Ivan Pađen during GSoC 2023, under the supervision of Sébastien Loriot and Jane Tournois. -The non-rigid mesh registration was developed by Roberto M. Dyke. Sven Oesau integrated the method into CGAL. +The non-rigid mesh registration was developed by Roberto M. Dyke. Sven Oesau integrated the method into \cgal. */ } /* namespace CGAL */ diff --git a/Polygon_mesh_processing/doc/Polygon_mesh_processing/fig/non-rigid_registration.png b/Polygon_mesh_processing/doc/Polygon_mesh_processing/fig/non-rigid_registration.png new file mode 100644 index 0000000000000000000000000000000000000000..244f5a4accbd711de7735ed49ad821f6c38a1ae2 GIT binary patch literal 365800 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

GMYm?YQtBGqLVJN?1H31C;LPVr5$$PM_V4xg2 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
    oDC3{hD>fcCwaAh% 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 E4?)kX#sB~S literal 0 HcmV?d00001 diff --git a/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/non_rigid_mesh_registration.h b/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/non_rigid_mesh_registration.h index e3661e614441..d98ba77da51b 100644 --- a/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/non_rigid_mesh_registration.h +++ b/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/non_rigid_mesh_registration.h @@ -40,7 +40,7 @@ namespace CGAL { namespace Polygon_mesh_processing { -namespace internal { +namespace internal_registration { typedef double ScalarType; typedef Eigen::Vector Vertex; @@ -101,7 +101,7 @@ std::pair nearest_neighbor(Vertices& points, V Eigen::MatrixXi idz(query.rows(), k); Eigen::MatrixXf dist(query.rows(), k); - for (internal::Index i = 0; i < query.rows(); ++i) { + for (Index i = 0; i < query.rows(); ++i) { Point_3 query_pt = { query(i, 0), query(i, 1), query(i, 2) }; Neighbor_search search(kdtree, query_pt, k, 0, true, Neighbor_search::Distance(Eigen_matrix_to_point_map(points))); std::size_t j = 0; @@ -112,30 +112,7 @@ std::pair nearest_neighbor(Vertices& points, V } return std::make_pair(idz, dist); -}/* - -Vertices calc_normals(Vertices& points, Faces& faces) { - Vertices face_normals(faces.rows(), 3); - Vertices normals = Vertices::Zero(points.rows(), 3); - - for (Index i = 0; i < faces.rows(); ++i) { - Vertex v0 = points.row(faces(i, 0)); - Vertex v1 = points.row(faces(i, 1)); - Vertex v2 = points.row(faces(i, 2)); - - Vertex n0 = (v1 - v0).cross(v2 - v1); - face_normals.row(i) = n0.normalized(); - normals.row(faces(i, 0)) += n0; // unnormalized would respect facet areas - normals.row(faces(i, 1)) += n0; - normals.row(faces(i, 2)) += n0; - } - - for (Index i = 0; i < points.rows(); ++i) { - normals.row(i) = normals.row(i).normalized(); - } - - return normals; -}*/ +} template int sign(T val) { @@ -148,27 +125,6 @@ void insertSparseMatrix(const SparseMat& mat, std::vector& coeffi coefficients.push_back(SparseTriplet(start_i + it.row(), start_j + it.col(), it.value())); } -/* -std::pair point2point(Vertices X, Vertices Y) { // Transform step for rigid ICP - assert(X.rows() == Y.rows()); - - Eigen::Vector x_mean = X.colwise().mean(); - X.rowwise() -= x_mean.transpose(); - - Eigen::Vector y_mean = Y.colwise().mean(); - Y.rowwise() -= y_mean.transpose(); - - Matrix C = X.transpose() * Y; - Eigen::JacobiSVD svd(C, Eigen::ComputeFullU | Eigen::ComputeFullV); - - Eigen::Vector sgnVec; - sgnVec << 1, 1, sign(svd.matrixU().determinant() * svd.matrixV().determinant()); - Matrix R = svd.matrixV() * sgnVec.asDiagonal() * svd.matrixU().transpose(); - Vertex t = y_mean - R * x_mean; - - return std::make_pair(R, t); -}*/ - template Eigen::Matrix rot(T a, T b, T c) { T ca = cos(a), cb = cos(b), cc = cos(c); @@ -189,8 +145,10 @@ Eigen::Matrix rot(T a, T b, T c) { * * A non-rigid ICP, iterative closest point, method based on * a SIGGRAPH'16 Tutorial. -* The method uses a few correspondences between the source and the target for the rough alignment. The iterative closest point method -* iteratively approaches the target by minimizing the distance between vertices of the source and points of the target. +* The method uses a few `correspondences` between the `source` and the `target` for the rough alignment. The iterative closest point method +* iteratively approaches the `target` by minimizing the distance between vertices of the `source` and points of the `target`. +* +* @note This function requires the \ref thirdpartyEigen library. * * @tparam TriangleMesh a model of `MutableFaceGraph`. * @tparam PointRange a model of the `concept ForwardRange` whose value type is the point type. @@ -201,13 +159,13 @@ Eigen::Matrix rot(T a, T b, T c) { * @tparam NamedParameters1 a sequence of \ref bgl_namedparameters "Named Parameters" * @tparam NamedParameters2 a sequence of \ref bgl_namedparameters "Named Parameters" * -* @param source the triangle mesh that should be mapped onto target. +* @param source the triangle mesh that should be mapped onto `target`. * @param target the target triangle mesh. -* @param vtm a writeable vertex property map of source to store the translation vector of the registration. -* @param vrm a writeable vertex property map of source to store the rotation part of the registration. +* @param vtm a writeable vertex property map of `source` to store the translation vector of the registration. +* @param vrm a writeable vertex property map of `source` to store the rotation part of the registration. * @param np1 an optional sequence of \ref bgl_namedparameters "Named Parameters" among the ones listed below -* @param np2 an optional sequence of \ref bgl_namedparameters "Named Parameters" providing a point_map and normal_map for the PointRange -* @param correspondences a vector given matching points between the source and the target +* @param np2 an optional sequence of \ref bgl_namedparameters "Named Parameters" providing a point_map and normal_map for the `PointRange` +* @param correspondences a vector given matching points between the `source` and the `target` * * \cgalNamedParamsBegin * \cgalParamNBegin{number_of_iterations} @@ -229,7 +187,7 @@ Eigen::Matrix rot(T a, T b, T c) { * \cgalParamNEnd * * \cgalParamNBegin{as_rigid_as_possible_energy} -* \cgalParamDescription{uses the topology of the mesh to determine how a vertex it deforming with respect to its neighbors.} +* \cgalParamDescription{uses the topology of the mesh to determine how a vertex it deforming with respect to its neighbors} * \cgalParamType{double} * \cgalParamDefault{`20`} * \cgalParamNEnd @@ -276,10 +234,10 @@ void non_rigid_mesh_to_points_registration(TriangleMesh& source, const double w2 = parameters::choose_parameter(parameters::get_parameter(np1, internal_np::point_to_plane_energy), 2); const double w1 = parameters::choose_parameter(parameters::get_parameter(np1, internal_np::point_to_point_energy), 0.1); const double w3 = parameters::choose_parameter(parameters::get_parameter(np1, internal_np::as_rigid_as_possible_energy), 20); - const double max_matching_dist = parameters::choose_parameter(parameters::get_parameter(np1, internal_np::max_matching_dist), 0); + const double max_matching_dist = parameters::choose_parameter(parameters::get_parameter(np1, internal_np::maximum_matching_distance), 0); - internal::Vertices X(num_vertices(source), 3), Y(target.size(), 3); - internal::Faces XF(num_faces(source), 3); + internal_registration::Vertices X(num_vertices(source), 3), Y(target.size(), 3); + internal_registration::Faces XF(num_faces(source), 3); using NP_helper = Point_set_processing_3_np_helper; using Point_map = typename NP_helper::Point_map; @@ -320,7 +278,7 @@ void non_rigid_mesh_to_points_registration(TriangleMesh& source, if (corr.rows() > 0) std::cout << "# correspondences = " << corr.rows() << std::endl; - internal::Vertices NY(target.size(), 3); + internal_registration::Vertices NY(target.size(), 3); idx = 0; for (auto p : target) { @@ -335,7 +293,7 @@ void non_rigid_mesh_to_points_registration(TriangleMesh& source, std::cout << std::endl; std::vector> neighbors(X.rows()); - for (internal::Index i = 0; i < XF.rows(); ++i) { + for (internal_registration::Index i = 0; i < XF.rows(); ++i) { int a = XF(i, 0); int b = XF(i, 1); int c = XF(i, 2); @@ -348,15 +306,15 @@ void non_rigid_mesh_to_points_registration(TriangleMesh& source, } // Non-rigid ICP - internal::Vertices Z(X); - internal::Index dim = Z.rows() * Z.cols(); + internal_registration::Vertices Z(X); + internal_registration::Index dim = Z.rows() * Z.cols(); - std::vector edge_coefficients; + std::vector edge_coefficients; // build Ni Eigen::MatrixXi Ni(XF.rows() * XF.cols(), 1); idx = 0; - for (internal::Index i = 0; i < XF.rows(); ++i) { + for (internal_registration::Index i = 0; i < XF.rows(); ++i) { int a = XF(i, 0); int b = XF(i, 1); int c = XF(i, 2); @@ -369,90 +327,90 @@ void non_rigid_mesh_to_points_registration(TriangleMesh& source, edge_coefficients.clear(); edge_coefficients.reserve(XF.rows() * XF.cols()); idx = 0; - for (internal::Index i = 0; i < XF.rows(); ++i) { + for (internal_registration::Index i = 0; i < XF.rows(); ++i) { int a = XF(i, 0); int b = XF(i, 1); int c = XF(i, 2); - edge_coefficients.push_back(internal::SparseTriplet(idx, b, 1)); + edge_coefficients.push_back(internal_registration::SparseTriplet(idx, b, 1)); idx++; - edge_coefficients.push_back(internal::SparseTriplet(idx, c, 1)); + edge_coefficients.push_back(internal_registration::SparseTriplet(idx, c, 1)); idx++; - edge_coefficients.push_back(internal::SparseTriplet(idx, a, 1)); + edge_coefficients.push_back(internal_registration::SparseTriplet(idx, a, 1)); idx++; } - internal::SparseMat Nr(XF.rows() * XF.cols(), X.rows()); + internal_registration::SparseMat Nr(XF.rows() * XF.cols(), X.rows()); Nr.setFromTriplets(edge_coefficients.begin(), edge_coefficients.end()); // build MX edge_coefficients.clear(); edge_coefficients.reserve(XF.rows() * XF.cols() * 2); idx = 0; - for (internal::Index i = 0; i < XF.rows(); ++i) { + for (internal_registration::Index i = 0; i < XF.rows(); ++i) { int a = XF(i, 0); int b = XF(i, 1); int c = XF(i, 2); - edge_coefficients.push_back(internal::SparseTriplet(idx, a, 1)); - edge_coefficients.push_back(internal::SparseTriplet(idx, b, -1)); + edge_coefficients.push_back(internal_registration::SparseTriplet(idx, a, 1)); + edge_coefficients.push_back(internal_registration::SparseTriplet(idx, b, -1)); idx++; - edge_coefficients.push_back(internal::SparseTriplet(idx, b, 1)); - edge_coefficients.push_back(internal::SparseTriplet(idx, c, -1)); + edge_coefficients.push_back(internal_registration::SparseTriplet(idx, b, 1)); + edge_coefficients.push_back(internal_registration::SparseTriplet(idx, c, -1)); idx++; - edge_coefficients.push_back(internal::SparseTriplet(idx, c, 1)); - edge_coefficients.push_back(internal::SparseTriplet(idx, a, -1)); + edge_coefficients.push_back(internal_registration::SparseTriplet(idx, c, 1)); + edge_coefficients.push_back(internal_registration::SparseTriplet(idx, a, -1)); idx++; } - internal::SparseMat B(XF.rows() * XF.cols(), X.rows()); + internal_registration::SparseMat B(XF.rows() * XF.cols(), X.rows()); B.setFromTriplets(edge_coefficients.begin(), edge_coefficients.end()); - internal::Index edim = B.rows(); + internal_registration::Index edim = B.rows(); - internal::Vertices BX = B * X; - internal::Vertices BX_original(BX); + internal_registration::Vertices BX = B * X; + internal_registration::Vertices BX_original(BX); - std::vector coefficients; - internal::SparseMat A(Z.rows() + 2 * dim + 3 * edim, dim + dim); - for (internal::Index i = 0; i < dim; ++i) { - coefficients.push_back(internal::SparseTriplet(Z.rows() + i, i, 1)); + std::vector coefficients; + internal_registration::SparseMat A(Z.rows() + 2 * dim + 3 * edim, dim + dim); + for (internal_registration::Index i = 0; i < dim; ++i) { + coefficients.push_back(internal_registration::SparseTriplet(Z.rows() + i, i, 1)); } - internal::insertSparseMatrix(B, coefficients, Z.rows() + dim, 0); - internal::insertSparseMatrix(B, coefficients, Z.rows() + dim + edim, Z.rows()); - internal::insertSparseMatrix(B, coefficients, Z.rows() + dim + 2 * edim, 2 * Z.rows()); + internal_registration::insertSparseMatrix(B, coefficients, Z.rows() + dim, 0); + internal_registration::insertSparseMatrix(B, coefficients, Z.rows() + dim + edim, Z.rows()); + internal_registration::insertSparseMatrix(B, coefficients, Z.rows() + dim + 2 * edim, 2 * Z.rows()); - internal::Matrix b(Z.rows() + 2 * dim + 3 * edim, 1); + internal_registration::Matrix b(Z.rows() + 2 * dim + 3 * edim, 1); - std::vector weight_coefficients; // system regularizer - internal::SparseMat W(dim + dim, dim + dim); - for (internal::Index i = dim; i < dim + dim; ++i) { - weight_coefficients.push_back(internal::SparseTriplet(i, i, 1)); + std::vector weight_coefficients; // system regularizer + internal_registration::SparseMat W(dim + dim, dim + dim); + for (internal_registration::Index i = dim; i < dim + dim; ++i) { + weight_coefficients.push_back(internal_registration::SparseTriplet(i, i, 1)); } W.setFromTriplets(weight_coefficients.begin(), weight_coefficients.end()); weight_coefficients.clear(); - internal::SparseMat D(Z.rows() + 2 * dim + 3 * edim, Z.rows() + 2 * dim + 3 * edim); - for (internal::Index i = 0; i < Z.rows(); ++i) { - weight_coefficients.push_back(internal::SparseTriplet(i, i, w2)); + internal_registration::SparseMat D(Z.rows() + 2 * dim + 3 * edim, Z.rows() + 2 * dim + 3 * edim); + for (internal_registration::Index i = 0; i < Z.rows(); ++i) { + weight_coefficients.push_back(internal_registration::SparseTriplet(i, i, w2)); } - for (internal::Index i = Z.rows(); i < Z.rows() + dim; ++i) { - weight_coefficients.push_back(internal::SparseTriplet(i, i, w1)); + for (internal_registration::Index i = Z.rows(); i < Z.rows() + dim; ++i) { + weight_coefficients.push_back(internal_registration::SparseTriplet(i, i, w1)); } - for (internal::Index i = Z.rows() + dim; i < Z.rows() + dim + 3 * edim; ++i) { - weight_coefficients.push_back(internal::SparseTriplet(i, i, w3)); + for (internal_registration::Index i = Z.rows() + dim; i < Z.rows() + dim + 3 * edim; ++i) { + weight_coefficients.push_back(internal_registration::SparseTriplet(i, i, w3)); } D.setFromTriplets(weight_coefficients.begin(), weight_coefficients.end()); // Setting very high weight for given correspondences. - for (internal::Index i = 0; i < corr.rows(); ++i) { + for (internal_registration::Index i = 0; i < corr.rows(); ++i) { D.coeffRef(Z.rows() + corr(i, 0), Z.rows() + corr(i, 0)) = 1e15f; D.coeffRef(Z.rows() * 2 + corr(i, 0), Z.rows() * 2 + corr(i, 0)) = 1e15f; D.coeffRef(Z.rows() * 3 + corr(i, 0), Z.rows() * 3 + corr(i, 0)) = 1e15f; } // Solver - Eigen::ConjugateGradient cg; + Eigen::ConjugateGradient cg; //cg.setMaxIterations(1000); //cg.setTolerance(1e-6); - Eigen::JacobiSVD> svd; - std::vector> Rotations(Z.rows()); + Eigen::JacobiSVD> svd; + std::vector> Rotations(Z.rows()); size_t coefficients_size = coefficients.size(); @@ -463,7 +421,7 @@ void non_rigid_mesh_to_points_registration(TriangleMesh& source, // Compute correspondence //Eigen::VectorXi idz = nearest_neighbor(V1, Z).first.col(0); - std::pair nn_result = internal::nearest_neighbor(Y, Z); + std::pair nn_result = internal_registration::nearest_neighbor(Y, Z); Eigen::VectorXi idz = nn_result.first.col(0); Eigen::VectorXf dist = nn_result.second.col(0); @@ -471,7 +429,7 @@ void non_rigid_mesh_to_points_registration(TriangleMesh& source, D.setFromTriplets(weight_coefficients.begin(), weight_coefficients.end()); // reset weights // prune correspondences that are too distant int count = 0; - for (internal::Index i = 0; i < Z.rows(); ++i) { + for (internal_registration::Index i = 0; i < Z.rows(); ++i) { if (dist[i] > max_matching_dist) { count++; D.coeffRef(i, i) = 0; @@ -482,43 +440,43 @@ void non_rigid_mesh_to_points_registration(TriangleMesh& source, } std::cout << "active = " << Z.rows() - count << " / " << Z.rows() << std::endl; // ensure hard correspondences have not been removed - for (internal::Index i = 0; i < corr.rows(); ++i) { + for (internal_registration::Index i = 0; i < corr.rows(); ++i) { D.coeffRef(Z.rows() + corr(i, 0), Z.rows() + corr(i, 0)) = 1e15f; D.coeffRef(Z.rows() * 2 + corr(i, 0), Z.rows() * 2 + corr(i, 0)) = 1e15f; D.coeffRef(Z.rows() * 3 + corr(i, 0), Z.rows() * 3 + corr(i, 0)) = 1e15f; } } - for (internal::Index i = 0; i < corr.rows(); ++i) { + for (internal_registration::Index i = 0; i < corr.rows(); ++i) { idz(corr(i, 0)) = corr(i, 1); } - internal::Vertices P(Y(idz, Eigen::indexing::all)); // target points - internal::Vertices NP(NY(idz, Eigen::indexing::all)); // target normals + internal_registration::Vertices P(Y(idz, Eigen::indexing::all)); // target points + internal_registration::Vertices NP(NY(idz, Eigen::indexing::all)); // target normals - for (internal::Index i = 0; i < Z.rows(); ++i) { - coefficients.push_back(internal::SparseTriplet(i, i, NP(i, 0))); - coefficients.push_back(internal::SparseTriplet(i, Z.rows() + i, NP(i, 1))); - coefficients.push_back(internal::SparseTriplet(i, 2 * Z.rows() + i, NP(i, 2))); + for (internal_registration::Index i = 0; i < Z.rows(); ++i) { + coefficients.push_back(internal_registration::SparseTriplet(i, i, NP(i, 0))); + coefficients.push_back(internal_registration::SparseTriplet(i, Z.rows() + i, NP(i, 1))); + coefficients.push_back(internal_registration::SparseTriplet(i, 2 * Z.rows() + i, NP(i, 2))); } - for (internal::Index i = 0; i < edim; ++i) { + for (internal_registration::Index i = 0; i < edim; ++i) { size_t ni = Ni(i); - coefficients.push_back(internal::SparseTriplet(Z.rows() + dim + i, ni + dim, BX(i, 1))); - coefficients.push_back(internal::SparseTriplet(Z.rows() + dim + i, Z.rows() + ni + dim, -BX(i, 2))); - coefficients.push_back(internal::SparseTriplet(Z.rows() + dim + edim + i, ni + dim, -BX(i, 0))); - coefficients.push_back(internal::SparseTriplet(Z.rows() + dim + edim + i, 2 * Z.rows() + ni + dim, BX(i, 2))); - coefficients.push_back(internal::SparseTriplet(Z.rows() + dim + 2 * edim + i, Z.rows() + ni + dim, BX(i, 0))); - coefficients.push_back(internal::SparseTriplet(Z.rows() + dim + 2 * edim + i, 2 * Z.rows() + ni + dim, -BX(i, 1))); + coefficients.push_back(internal_registration::SparseTriplet(Z.rows() + dim + i, ni + dim, BX(i, 1))); + coefficients.push_back(internal_registration::SparseTriplet(Z.rows() + dim + i, Z.rows() + ni + dim, -BX(i, 2))); + coefficients.push_back(internal_registration::SparseTriplet(Z.rows() + dim + edim + i, ni + dim, -BX(i, 0))); + coefficients.push_back(internal_registration::SparseTriplet(Z.rows() + dim + edim + i, 2 * Z.rows() + ni + dim, BX(i, 2))); + coefficients.push_back(internal_registration::SparseTriplet(Z.rows() + dim + 2 * edim + i, Z.rows() + ni + dim, BX(i, 0))); + coefficients.push_back(internal_registration::SparseTriplet(Z.rows() + dim + 2 * edim + i, 2 * Z.rows() + ni + dim, -BX(i, 1))); } - for (internal::Index i = 0; i < Z.rows(); ++i) { + for (internal_registration::Index i = 0; i < Z.rows(); ++i) { b(i) = NP(i, 0) * P(i, 0) + NP(i, 1) * P(i, 1) + NP(i, 2) * P(i, 2); b(i + Z.rows()) = P(i, 0); b(i + Z.rows() * 2) = P(i, 1); b(i + Z.rows() * 3) = P(i, 2); } - for (internal::Index i = 0; i < edim; ++i) { + for (internal_registration::Index i = 0; i < edim; ++i) { b(i + Z.rows() + dim) = BX(i, 0); b(i + Z.rows() + dim + edim) = BX(i, 1); b(i + Z.rows() + dim + edim * 2) = BX(i, 2); @@ -531,7 +489,7 @@ void non_rigid_mesh_to_points_registration(TriangleMesh& source, cg.analyzePattern(A.transpose() * D * A + W); }*/ cg.factorize(A.transpose() * D * A + W); - internal::Vector x = cg.solve(A.transpose() * D * b); + internal_registration::Vector x = cg.solve(A.transpose() * D * b); // Solution Z(Eigen::indexing::all, 0) = x(Eigen::seq(0, Z.rows() - 1)); @@ -543,29 +501,29 @@ void non_rigid_mesh_to_points_registration(TriangleMesh& source, if (it == (iter - 1)) { // Should replace with CGAL's ARAP implementation https://github.com/CGAL/cgal/blob/master/Surface_mesh_deformation/include/CGAL/Surface_mesh_deformation.h // See also: compute_close_rotation https://github.com/CGAL/cgal/blob/master/Surface_mesh_deformation/include/CGAL/Deformation_Eigen_closest_rotation_traits_3.h - for (internal::Index i = 0; i < Z.rows(); ++i) { + for (internal_registration::Index i = 0; i < Z.rows(); ++i) { std::vector nbrs(neighbors[i].begin(), neighbors[i].end()); - internal::Matrix A = X(nbrs, Eigen::indexing::all).rowwise() - X.row(i); - internal::Matrix B_ = Z(nbrs, Eigen::indexing::all).rowwise() - Z.row(i); + internal_registration::Matrix A = X(nbrs, Eigen::indexing::all).rowwise() - X.row(i); + internal_registration::Matrix B_ = Z(nbrs, Eigen::indexing::all).rowwise() - Z.row(i); svd.compute(A.transpose() * B_, Eigen::ComputeFullU | Eigen::ComputeFullV); Rotations[i] = svd.matrixV() * svd.matrixU().transpose(); if (Rotations[i].determinant() < 0) { - Eigen::Matrix M = Eigen::Matrix3d::Identity(); + Eigen::Matrix M = Eigen::Matrix3d::Identity(); M(2, 2) = -1; Rotations[i] = svd.matrixV() * M * svd.matrixU().transpose(); } } - for (internal::Index i = 0; i < edim; ++i) { - internal::Matrix R = Rotations[Ni(i)]; + for (internal_registration::Index i = 0; i < edim; ++i) { + internal_registration::Matrix R = Rotations[Ni(i)]; BX.row(i) = BX.row(i) * R.transpose(); } } else { // Regular matrix update is happening here (taking linearized coefficients, recreating matrix and updating rotations) - for (internal::Index i = 0; i < edim; ++i) { + for (internal_registration::Index i = 0; i < edim; ++i) { int ni = Ni(i); - internal::Matrix R = internal::rot(x(dim + 2 * Z.rows() + ni), + internal_registration::Matrix R = internal_registration::rot(x(dim + 2 * Z.rows() + ni), x(dim + Z.rows() + ni), x(dim + ni)); BX.row(i) = BX.row(i) * R.transpose(); @@ -597,25 +555,27 @@ void non_rigid_mesh_to_points_registration(TriangleMesh& source, * * A non-rigid ICP, iterative closest point, method based on * a SIGGRAPH'16 Tutorial. -* The method uses optional correspondences between the source and the target for the rough alignment. The iterative closest point method -* iteratively approaches the target by minimizing the distance between vertices of the source and points of the target. +* The method uses optional `correspondences` between the `source` and the `target` for the rough alignment. The iterative closest point method +* iteratively approaches the `target` by minimizing the distance between vertices of the `source` and vertices of the `target`. +* +* @note This function requires the \ref thirdpartyEigen library. * -* @tparam TriangleMesh1 a model of `MutableFaceGraph`. -* @tparam TriangleMesh2 a const model of the `MutableFaceGraph`. +* @tparam TriangleMesh1 a model of `MutableFaceGraph` +* @tparam TriangleMesh2 a const model of the `MutableFaceGraph` * @tparam VertexTranslationMap is a property map with `boost::graph_traits::%vertex_descriptor` - * as key type and a \cgal Kernel `Vector_3` as value type. + * as key type and a \cgal Kernel `Vector_3` as value type * @tparam VertexRotationMap is a property map with `boost::graph_traits::%vertex_descriptor` - * as key type and a \cgal Kernel `Aff_transformation_3` as value type. + * as key type and a \cgal Kernel `Aff_transformation_3` as value type * @tparam NamedParameters1 a sequence of \ref bgl_namedparameters "Named Parameters1" * @tparam NamedParameters2 a sequence of \ref bgl_namedparameters "Named Parameters2" * -* @param source the triangle mesh that should be mapped onto target. -* @param target the target point range with oriented normals. -* @param vtm a writeable vertex property map of source to store the translation vector of the registration. -* @param vrm a writeable vertex property map of source to store the rotation part of the registration. -* @param np1 an optional sequence of \ref bgl_namedparameters "Named Parameters1" of the source and the method among the ones listed below -* @param np2 an optional sequence of \ref bgl_namedparameters "Named Parameters2" of the target providing a vertex point map and a vertex normal map. -* @param correspondences a vector given matching points between the source and the target +* @param source the triangle mesh that should be mapped onto `target` +* @param target the target triangle mesh +* @param vtm a writeable vertex property map of `source` to store the translation vector of the registration +* @param vrm a writeable vertex property map of `source` to store the rotation part of the registration +* @param np1 an optional sequence of \ref bgl_namedparameters "Named Parameters1" of the `source` and the method among the ones listed below +* @param np2 an optional sequence of \ref bgl_namedparameters "Named Parameters2" of the `target` providing a vertex point map and a vertex normal map +* @param correspondences a vector given matching points between the `source` and the `target` * * \cgalNamedParamsBegin * \cgalParamNBegin{number_of_iterations} @@ -643,7 +603,7 @@ void non_rigid_mesh_to_points_registration(TriangleMesh& source, * \cgalParamNEnd * * \cgalParamNBegin{max_matching_dist} -* \cgalParamDescription{the maximum distance for a vertex in source to match with a point in target. 0 means that there is no max distance.} +* \cgalParamDescription{the maximum distance for a vertex in `source` to match with a vertex in `target`. 0 means that there is no max distance.} * \cgalParamType{double} * \cgalParamDefault{`0`} * \cgalParamNEnd @@ -681,7 +641,6 @@ void non_rigid_mesh_to_mesh_registration(TriangleMesh1& source, const NamedParameters2& np2 = parameters::default_values()) { using Gt2 = typename GetGeomTraits::type; - //using Point = typename GeomTraits2::Point_3; using Vertex_point_map = typename GetVertexPointMap::type; using Vector_map_tag = dynamic_vertex_property_t; using Default_vector_map = typename boost::property_map::const_type; @@ -734,8 +693,8 @@ void non_rigid_mesh_to_mesh_registration(TriangleMesh1& source, * @tparam NamedParameters a sequence of \ref bgl_namedparameters "Named Parameters" * * @param mesh the triangle mesh that should be transformed. -* @param vtm a readable vertex property map of source to store the translation vector of the registration. -* @param vrm a readable vertex property map of source to store the rotation part of the registration. +* @param vtm a readable vertex property map of `mesh` to store the translation vector of the registration. +* @param vrm a readable vertex property map of `mesh` to store the rotation part of the registration. * @param np an optional sequence of \ref bgl_namedparameters "Named Parameters" among the ones listed below * * \cgalNamedParamsBegin diff --git a/STL_Extension/include/CGAL/STL_Extension/internal/parameters_interface.h b/STL_Extension/include/CGAL/STL_Extension/internal/parameters_interface.h index 484a916358e6..7d735b4ed901 100644 --- a/STL_Extension/include/CGAL/STL_Extension/internal/parameters_interface.h +++ b/STL_Extension/include/CGAL/STL_Extension/internal/parameters_interface.h @@ -167,7 +167,7 @@ CGAL_add_named_parameter(bbox_scaling_t, bbox_scaling, bbox_scaling) CGAL_add_named_parameter(point_to_plane_energy_t, point_to_plane_energy, point_to_plane_energy) CGAL_add_named_parameter(point_to_point_energy_t, point_to_point_energy, point_to_point_energy) CGAL_add_named_parameter(as_rigid_as_possible_energy_t, as_rigid_as_possible_energy, as_rigid_as_possible_energy) -CGAL_add_named_parameter(max_matching_dist_t, max_matching_dist, max_matching_dist) +CGAL_add_named_parameter(maximum_matching_distance_t, maximum_matching_distance, maximum_matching_distance) // List of named parameters that we use in the package 'Surface Mesh Simplification' CGAL_add_named_parameter(get_cost_policy_t, get_cost_policy, get_cost) From ba01e613b804931ae858068393ccb0c43229b7b7 Mon Sep 17 00:00:00 2001 From: Sven Oesau Date: Thu, 8 Aug 2024 14:56:04 +0200 Subject: [PATCH 08/41] update on doc --- .../data/bear_bear_bis.corr | 6 ++ .../non_rigid_mesh_registration_example.cpp | 33 ++----- .../non_rigid_mesh_registration.h | 87 +++++++++++-------- 3 files changed, 63 insertions(+), 63 deletions(-) create mode 100644 Polygon_mesh_processing/examples/Polygon_mesh_processing/data/bear_bear_bis.corr diff --git a/Polygon_mesh_processing/examples/Polygon_mesh_processing/data/bear_bear_bis.corr b/Polygon_mesh_processing/examples/Polygon_mesh_processing/data/bear_bear_bis.corr new file mode 100644 index 000000000000..671a6140f512 --- /dev/null +++ b/Polygon_mesh_processing/examples/Polygon_mesh_processing/data/bear_bear_bis.corr @@ -0,0 +1,6 @@ +8311 3104 +7094 7161 +7642 4861 +4292 51 +5651 6476 +2481 8045 \ No newline at end of file diff --git a/Polygon_mesh_processing/examples/Polygon_mesh_processing/non_rigid_mesh_registration_example.cpp b/Polygon_mesh_processing/examples/Polygon_mesh_processing/non_rigid_mesh_registration_example.cpp index 3754a9fae8cb..2d0011cc48fb 100644 --- a/Polygon_mesh_processing/examples/Polygon_mesh_processing/non_rigid_mesh_registration_example.cpp +++ b/Polygon_mesh_processing/examples/Polygon_mesh_processing/non_rigid_mesh_registration_example.cpp @@ -39,14 +39,9 @@ int main(int argc, char** argv) { std::vector> correspondences_mesh; std::ifstream corr(corr_fn); if (corr.is_open()) { - std::string line; - while (std::getline(corr, line)) { - if (line.size() == 0) continue; - std::istringstream iss(line); - - std::size_t v0, v1; - if (iss >> v0 >> v1) - Mesh source, target; + std::size_t v0, v1; + while (corr >> v0 >> v1) { + std::cout << v0 << " " << v1 << std::endl; correspondences_mesh.push_back(std::make_pair(*(source.vertices_begin() + v0), *(target.vertices_begin() + v1))); } @@ -57,28 +52,12 @@ int main(int argc, char** argv) { if (vnm.second) PMP::compute_vertex_normals(target, vnm.first); - typename Mesh::Property_map> vrm = source.add_property_map>("v:rotation").first; - typename Mesh::Property_map vtm = source.add_property_map("v:transformations").first; - -/* - CGAL::Point_set_3 points; - points.reserve(target.num_vertices()); - - for (auto v : target.vertices()) - points.insert(target.point(v), get(vnm.first, v)); - - std::vector> correspondences_pts; - correspondences_pts.reserve(correspondences_mesh.size()); - for (auto p : correspondences_mesh) - correspondences_pts.push_back(std::make_pair(p.first, static_cast(p.second))); - - PMP::non_rigid_mesh_to_points_registration(source, points, vtm, vrm, correspondences_pts, CGAL::parameters::point_to_plane_energy(2.0).point_to_point_energy(0.1).as_rigid_as_possible_energy(10)); - PMP::apply_non_rigid_transformation(source, vtm, vrm); - CGAL::IO::write_polygon_mesh("mapped.off", source);*/ + Mesh::Property_map> vrm = source.add_property_map>("v:rotation").first; + Mesh::Property_map vtm = source.add_property_map("v:translation").first; FT w1 = 1.0; FT w2 = 2.0; - FT w3 = 5000000; + FT w3 = 500; PMP::non_rigid_mesh_to_mesh_registration(source, target, vtm, vrm, correspondences_mesh, CGAL::parameters::point_to_point_energy(w1).point_to_plane_energy(w2).as_rigid_as_possible_energy(w3)); PMP::apply_non_rigid_transformation(source, vtm, vrm); diff --git a/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/non_rigid_mesh_registration.h b/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/non_rigid_mesh_registration.h index d98ba77da51b..d59f5f4196f5 100644 --- a/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/non_rigid_mesh_registration.h +++ b/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/non_rigid_mesh_registration.h @@ -16,12 +16,12 @@ #include -//#ifdef CGAL_EIGEN3_ENABLED - +#ifdef CGAL_EIGEN3_ENABLED #include #include #include #include +#endif #include #include @@ -42,17 +42,18 @@ namespace CGAL { namespace Polygon_mesh_processing { namespace internal_registration { -typedef double ScalarType; -typedef Eigen::Vector Vertex; -typedef Eigen::Matrix Vertices; -typedef Eigen::Matrix Faces; -typedef Eigen::Matrix Matrix; -typedef Eigen::Vector Vector; +#ifdef CGAL_EIGEN3_ENABLED +using ScalarType = double; +using Vertex = Eigen::Vector; +using Vertices = Eigen::Matrix; +using Faces = Eigen::Matrix; +using Matrix = Eigen::Matrix; +using Vector = Eigen::Vector; -typedef Eigen::SparseMatrix SparseMat; -typedef Eigen::Triplet SparseTriplet; +using SparseMat = Eigen::SparseMatrix; +using SparseTriplet = Eigen::Triplet; -typedef Eigen::Index Index; +using Index = Eigen::Index; using Point_3 = Simple_cartesian::Point_3; class Eigen_matrix_to_point_map { @@ -133,9 +134,11 @@ Eigen::Matrix rot(T a, T b, T c) { R << cb * cc, cc* sa* sb - ca * sc, ca* cc* sb + sa * sc, cb* sc, ca* cc + sa * sb * sc, ca* sb* sc - cc * sa, -sb, cb* sa, ca* cb; + return R; } +#endif } // namespace internal /*! @@ -160,9 +163,9 @@ Eigen::Matrix rot(T a, T b, T c) { * @tparam NamedParameters2 a sequence of \ref bgl_namedparameters "Named Parameters" * * @param source the triangle mesh that should be mapped onto `target`. -* @param target the target triangle mesh. -* @param vtm a writeable vertex property map of `source` to store the translation vector of the registration. -* @param vrm a writeable vertex property map of `source` to store the rotation part of the registration. +* @param target the target point set. +* @param vtm a writable vertex property map of `source` to store the translation vector of the registration. +* @param vrm a writable vertex property map of `source` to store the rotation part of the registration. * @param np1 an optional sequence of \ref bgl_namedparameters "Named Parameters" among the ones listed below * @param np2 an optional sequence of \ref bgl_namedparameters "Named Parameters" providing a point_map and normal_map for the `PointRange` * @param correspondences a vector given matching points between the `source` and the `target` @@ -187,13 +190,13 @@ Eigen::Matrix rot(T a, T b, T c) { * \cgalParamNEnd * * \cgalParamNBegin{as_rigid_as_possible_energy} -* \cgalParamDescription{uses the topology of the mesh to determine how a vertex it deforming with respect to its neighbors} +* \cgalParamDescription{defines the rigidity of the registration} * \cgalParamType{double} -* \cgalParamDefault{`20`} +* \cgalParamDefault{`50`} * \cgalParamNEnd * * \cgalParamNBegin{max_matching_dist} -* \cgalParamDescription{the maximum distance for a vertex in source to match with a point in target} +* \cgalParamDescription{the maximum distance for a vertex in `source` to match with a point in `target`. The default value 0 means no maximum matching distance.} * \cgalParamType{double} * \cgalParamDefault{`0`} * \cgalParamNEnd @@ -230,6 +233,7 @@ void non_rigid_mesh_to_points_registration(TriangleMesh& source, const NamedParameters1& np1 = parameters::default_values(), const NamedParameters2& np2 = parameters::default_values()) { +#ifdef CGAL_EIGEN3_ENABLED const size_t iter = parameters::choose_parameter(parameters::get_parameter(np1, internal_np::number_of_iterations), 50); const double w2 = parameters::choose_parameter(parameters::get_parameter(np1, internal_np::point_to_plane_energy), 2); const double w1 = parameters::choose_parameter(parameters::get_parameter(np1, internal_np::point_to_point_energy), 0.1); @@ -363,7 +367,7 @@ void non_rigid_mesh_to_points_registration(TriangleMesh& source, B.setFromTriplets(edge_coefficients.begin(), edge_coefficients.end()); internal_registration::Index edim = B.rows(); - internal_registration::Vertices BX = B * X; + internal_registration::Vertices BX = B * X;// edges in order: b to a, c to b, a to c. internal_registration::Vertices BX_original(BX); std::vector coefficients; @@ -388,13 +392,13 @@ void non_rigid_mesh_to_points_registration(TriangleMesh& source, weight_coefficients.clear(); internal_registration::SparseMat D(Z.rows() + 2 * dim + 3 * edim, Z.rows() + 2 * dim + 3 * edim); for (internal_registration::Index i = 0; i < Z.rows(); ++i) { - weight_coefficients.push_back(internal_registration::SparseTriplet(i, i, w2)); + weight_coefficients.push_back(internal_registration::SparseTriplet(i, i, w2)); // point to plane energy } for (internal_registration::Index i = Z.rows(); i < Z.rows() + dim; ++i) { - weight_coefficients.push_back(internal_registration::SparseTriplet(i, i, w1)); + weight_coefficients.push_back(internal_registration::SparseTriplet(i, i, w1)); // point to point energy } for (internal_registration::Index i = Z.rows() + dim; i < Z.rows() + dim + 3 * edim; ++i) { - weight_coefficients.push_back(internal_registration::SparseTriplet(i, i, w3)); + weight_coefficients.push_back(internal_registration::SparseTriplet(i, i, w3)); // arap energy } D.setFromTriplets(weight_coefficients.begin(), weight_coefficients.end()); @@ -415,6 +419,8 @@ void non_rigid_mesh_to_points_registration(TriangleMesh& source, size_t coefficients_size = coefficients.size(); for (size_t it = 0; it < iter; ++it) { + std::cout << "." << std::flush; + // Reset coefficients (removes point pairs, e.g.) if (it > 0) { coefficients.erase(coefficients.begin() + coefficients_size, coefficients.end()); } @@ -447,6 +453,7 @@ void non_rigid_mesh_to_points_registration(TriangleMesh& source, } } + // Restore hard correspondences for (internal_registration::Index i = 0; i < corr.rows(); ++i) { idz(corr(i, 0)) = corr(i, 1); } @@ -454,12 +461,14 @@ void non_rigid_mesh_to_points_registration(TriangleMesh& source, internal_registration::Vertices P(Y(idz, Eigen::indexing::all)); // target points internal_registration::Vertices NP(NY(idz, Eigen::indexing::all)); // target normals + // Filling coefficients for first part of A -> point_to_plane_energy for (internal_registration::Index i = 0; i < Z.rows(); ++i) { coefficients.push_back(internal_registration::SparseTriplet(i, i, NP(i, 0))); coefficients.push_back(internal_registration::SparseTriplet(i, Z.rows() + i, NP(i, 1))); coefficients.push_back(internal_registration::SparseTriplet(i, 2 * Z.rows() + i, NP(i, 2))); } + // Filling coefficients from edges for last part of A -> as_rigid_as_possible_energy for (internal_registration::Index i = 0; i < edim; ++i) { size_t ni = Ni(i); coefficients.push_back(internal_registration::SparseTriplet(Z.rows() + dim + i, ni + dim, BX(i, 1))); @@ -471,7 +480,8 @@ void non_rigid_mesh_to_points_registration(TriangleMesh& source, } for (internal_registration::Index i = 0; i < Z.rows(); ++i) { - b(i) = NP(i, 0) * P(i, 0) + NP(i, 1) * P(i, 1) + NP(i, 2) * P(i, 2); + b(i) = NP(i, 0) * P(i, 0) + NP(i, 1) * P(i, 1) + NP(i, 2) * P(i, 2); // distance of matched point to origin for point to plane energy + // Coordinates of matched point for point to point energy b(i + Z.rows()) = P(i, 0); b(i + Z.rows() * 2) = P(i, 1); b(i + Z.rows() * 3) = P(i, 2); @@ -484,10 +494,10 @@ void non_rigid_mesh_to_points_registration(TriangleMesh& source, A.setFromTriplets(coefficients.begin(), coefficients.end()); - // There does not seem to be an advantage in performance - /*if (it == 0) { + if (it == 0) { cg.analyzePattern(A.transpose() * D * A + W); - }*/ + } + cg.factorize(A.transpose() * D * A + W); internal_registration::Vector x = cg.solve(A.transpose() * D * b); @@ -496,7 +506,6 @@ void non_rigid_mesh_to_points_registration(TriangleMesh& source, Z(Eigen::indexing::all, 1) = x(Eigen::seq(Z.rows(), 2 * Z.rows() - 1)); Z(Eigen::indexing::all, 2) = x(Eigen::seq(2 * Z.rows(), 3 * Z.rows() - 1)); - // Update edge neighborhoods by new local rotation if (it == (iter - 1)) { // Should replace with CGAL's ARAP implementation https://github.com/CGAL/cgal/blob/master/Surface_mesh_deformation/include/CGAL/Surface_mesh_deformation.h @@ -520,7 +529,7 @@ void non_rigid_mesh_to_points_registration(TriangleMesh& source, } } else { - // Regular matrix update is happening here (taking linearized coefficients, recreating matrix and updating rotations) + // Regular matrix update is happening here (taking linearized coefficients, recreating matrix and rotating edges) for (internal_registration::Index i = 0; i < edim; ++i) { int ni = Ni(i); internal_registration::Matrix R = internal_registration::rot(x(dim + 2 * Z.rows() + ni), @@ -535,8 +544,9 @@ void non_rigid_mesh_to_points_registration(TriangleMesh& source, for (auto v : vertices(source)) { Point z(Z(idx, 0), Z(idx, 1), Z(idx, 2)); Point x(X(idx, 0), X(idx, 1), X(idx, 2)); +/* Aff_transformation_3 t1(CGAL::TRANSLATION, CGAL::ORIGIN - x); - Aff_transformation_3 t2(CGAL::TRANSLATION, -(CGAL::ORIGIN - z)); + Aff_transformation_3 t2(CGAL::TRANSLATION, -(CGAL::ORIGIN - z));*/ const auto& r = Rotations[idx]; Aff_transformation_3 rota(r(0, 0), r(0, 1), r(0, 2), 0, r(1, 0), r(1, 1), r(1, 2), 0, @@ -546,6 +556,9 @@ void non_rigid_mesh_to_points_registration(TriangleMesh& source, put(vrm, v, rota); idx++; } +#else +static_assert(false, "Eigen library is required for non-rigid mesh registration"); +#endif } /*! @@ -571,8 +584,8 @@ void non_rigid_mesh_to_points_registration(TriangleMesh& source, * * @param source the triangle mesh that should be mapped onto `target` * @param target the target triangle mesh -* @param vtm a writeable vertex property map of `source` to store the translation vector of the registration -* @param vrm a writeable vertex property map of `source` to store the rotation part of the registration +* @param vtm a writable vertex property map of `source` to store the translation vector of the registration +* @param vrm a writable vertex property map of `source` to store the rotation part of the registration * @param np1 an optional sequence of \ref bgl_namedparameters "Named Parameters1" of the `source` and the method among the ones listed below * @param np2 an optional sequence of \ref bgl_namedparameters "Named Parameters2" of the `target` providing a vertex point map and a vertex normal map * @param correspondences a vector given matching points between the `source` and the `target` @@ -597,13 +610,13 @@ void non_rigid_mesh_to_points_registration(TriangleMesh& source, * \cgalParamNEnd * * \cgalParamNBegin{as_rigid_as_possible_energy} -* \cgalParamDescription{uses the topology of the mesh to determine how a vertex it deforming with respect to its neighbors.} +* \cgalParamDescription{defines the rigidity of the registration} * \cgalParamType{double} * \cgalParamDefault{`50`} * \cgalParamNEnd * -* \cgalParamNBegin{max_matching_dist} -* \cgalParamDescription{the maximum distance for a vertex in `source` to match with a vertex in `target`. 0 means that there is no max distance.} +* \cgalParamNBegin{maximum_matching_distance} +* \cgalParamDescription{the maximum distance for a vertex in `source` to match with a point in `target`. The default value 0 means no maximum matching distance.} * \cgalParamType{double} * \cgalParamDefault{`0`} * \cgalParamNEnd @@ -640,6 +653,7 @@ void non_rigid_mesh_to_mesh_registration(TriangleMesh1& source, const NamedParameters1& np1 = parameters::default_values(), const NamedParameters2& np2 = parameters::default_values()) { +#ifdef CGAL_EIGEN3_ENABLED using Gt2 = typename GetGeomTraits::type; using Vertex_point_map = typename GetVertexPointMap::type; using Vector_map_tag = dynamic_vertex_property_t; @@ -678,6 +692,10 @@ void non_rigid_mesh_to_mesh_registration(TriangleMesh1& source, correspondences_pts.push_back(std::make_pair(p.first, static_cast(p.second))); non_rigid_mesh_to_points_registration(source, points, vtm, vrm, correspondences_pts, np1, parameters::point_map(Point_map()).normal_map(Normal_map())); + +#else + static_assert(false, "Eigen library is required for non-rigid mesh registration"); +#endif } /*! @@ -737,7 +755,6 @@ void apply_non_rigid_transformation(TriangleMesh& mesh, Vertex_point_map vpm = parameters::choose_parameter(parameters::get_parameter(np, internal_np::vertex_point), get_property_map(CGAL::vertex_point, mesh)); Vertex_normal_map vnm = parameters::choose_parameter(parameters::get_parameter(np, internal_np::vertex_normal_map), get(Vector_map_tag(), mesh)); - for (auto v : vertices(mesh)) { Point p = get(vpm, v); p += get(vtm, v); @@ -753,6 +770,4 @@ void apply_non_rigid_transformation(TriangleMesh& mesh, } // namespace Polygon_mesh_processing } // namespace CGAL -//#endif // CGAL_EIGEN3_ENABLED - #endif \ No newline at end of file From 2fdfb803f939c4fd9684c107caef54a4cccecf68 Mon Sep 17 00:00:00 2001 From: Sven Oesau Date: Thu, 8 Aug 2024 15:24:16 +0200 Subject: [PATCH 09/41] update on doc --- .../doc/Polygon_mesh_processing/Polygon_mesh_processing.txt | 2 +- .../CGAL/Polygon_mesh_processing/non_rigid_mesh_registration.h | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/Polygon_mesh_processing/doc/Polygon_mesh_processing/Polygon_mesh_processing.txt b/Polygon_mesh_processing/doc/Polygon_mesh_processing/Polygon_mesh_processing.txt index 0d9caabb009d..9b1ab2659d61 100644 --- a/Polygon_mesh_processing/doc/Polygon_mesh_processing/Polygon_mesh_processing.txt +++ b/Polygon_mesh_processing/doc/Polygon_mesh_processing/Polygon_mesh_processing.txt @@ -1459,7 +1459,7 @@ where: The \f$\mathbf{E_{match}}\f$ energy penalizes the distance between point pairs \f$\mathbf{v}_i\f$ and \f$\mathbf{\tilde{v}}_i\f$. The point pairs are restablished after each iteration. In addition, the method can take fixed point pairs of correspondences between source and target. This greatly improves the quality of the registration and is generally required for non-simple meshes. -The \f$\mathbf{E_{point\_to\_plane}}\f$ energy, point to plane, is similar to \f$\mathbf{E_{match}}\f$, but instead penalizes the distance to the plane given by the target vertex and its normal. This energy compensates for different discretizations, i.e., for source and target mesh that were not created by deforming one mesh into the other. +The \f$\mathbf{E_{point\_to\_plane}}\f$ energy is similar to \f$\mathbf{E_{match}}\f$, but instead penalizes the distance to the plane given by the target vertex and its normal. This energy compensates for different discretizations, i.e., for source and target mesh that were not created by deforming one mesh into the other. The \f$\mathbf{E_{arap}}\f$ energy, as-rigid-as-possible, controls the rigidity of the transformation. It measures the deformation of the edges connected to each vertex that results from applying an individual transformation to each vertex of the source mesh. diff --git a/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/non_rigid_mesh_registration.h b/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/non_rigid_mesh_registration.h index d59f5f4196f5..4d826cd9a3ba 100644 --- a/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/non_rigid_mesh_registration.h +++ b/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/non_rigid_mesh_registration.h @@ -195,7 +195,7 @@ Eigen::Matrix rot(T a, T b, T c) { * \cgalParamDefault{`50`} * \cgalParamNEnd * -* \cgalParamNBegin{max_matching_dist} +* \cgalParamNBegin{maximum_matching_distance} * \cgalParamDescription{the maximum distance for a vertex in `source` to match with a point in `target`. The default value 0 means no maximum matching distance.} * \cgalParamType{double} * \cgalParamDefault{`0`} From 06a31878e30f93425c6483d4fab88dab116afe7a Mon Sep 17 00:00:00 2001 From: Sven Oesau Date: Thu, 8 Aug 2024 15:39:02 +0200 Subject: [PATCH 10/41] updated changes.md --- Installation/CHANGES.md | 1 + 1 file changed, 1 insertion(+) diff --git a/Installation/CHANGES.md b/Installation/CHANGES.md index a8ddd38c1a1c..2175a174b9bc 100644 --- a/Installation/CHANGES.md +++ b/Installation/CHANGES.md @@ -182,6 +182,7 @@ Release date: June 2024 which can be used to refine a polygon mesh along an isocurve. - Added the function [`CGAL::Polygon_mesh_processing::add_bbox()`](https://doc.cgal.org/6.0/Polygon_mesh_processing/group__PkgPolygonMeshProcessingRef.html#gabaf98d2fd9ae599ff1f3a5a6cde79cf3), which enables adding a tight or extended, triangulated or not, bounding box to a face graph. +- Added two functions for non-rigid registration of mesh to mesh and mesh to point cloud [`CGAL::Polygon_mesh_processing::non_rigid_mesh_to_mesh_registration()`](https://doc.cgal.org/6.0/Polygon_mesh_processing/group__PMP__registration__grp.html#ga8f009d2c73e58129c96ec9ae7f4f365c) and [`CGAL::Polygon_mesh_processing::non_rigid_mesh_to_points_registration()`](https://doc.cgal.org/6.0/Polygon_mesh_processing/group__PMP__registration__grp.html#gafebc57d7544dd2c7c9feaaf2f24f2eda) ### [2D Triangulations](https://doc.cgal.org/6.0/Manual/packages.html#PkgTriangulation2) - **Breaking change**: the concept [`TriangulationTraits_2`](https://doc.cgal.org/6.0/Triangulation_2/classTriangulationTraits__2.html) now requires an additional functor `Compare_xy_2`. From 29d1fd12ce1954816be257b73818de0c678c100a Mon Sep 17 00:00:00 2001 From: Andreas Fabri Date: Tue, 13 Aug 2024 09:31:05 +0100 Subject: [PATCH 11/41] typo; whitespace --- .../doc/Polygon_mesh_processing/Polygon_mesh_processing.txt | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/Polygon_mesh_processing/doc/Polygon_mesh_processing/Polygon_mesh_processing.txt b/Polygon_mesh_processing/doc/Polygon_mesh_processing/Polygon_mesh_processing.txt index 9b1ab2659d61..f23a36265b40 100644 --- a/Polygon_mesh_processing/doc/Polygon_mesh_processing/Polygon_mesh_processing.txt +++ b/Polygon_mesh_processing/doc/Polygon_mesh_processing/Polygon_mesh_processing.txt @@ -1420,8 +1420,8 @@ and the number of surface patches that are separated by these edges. Registration of one mesh onto another is often required to map between multiple acquisitions of an object or between an acquisition and a CAD model, e.g., in quality assurance. A simple linear transformation is only sufficient in the case of rigid objects. -The functions `CGAL::Polygon_mesh_processing::non_rigid_mesh_to_mesh_registration()` and `CGAL::Polygon_mesh_processing::non_rigid_mesh_to_points_registration()` calculate a non-rigid registration from a source mesh onto target mesh or a target oriented point cloud. For each vertex in the source mesh a translation vector and a rotation matrix is returned. -The registration is formulated as an energy to minimize the distance between source and target. The energy is iteratively minimized by solving sparse linear systems and finding closest rotation matrices. +The functions `CGAL::Polygon_mesh_processing::non_rigid_mesh_to_mesh_registration()` and `CGAL::Polygon_mesh_processing::non_rigid_mesh_to_points_registration()` calculate a non-rigid registration from a source mesh onto a target mesh or a target oriented point cloud. For each vertex in the source mesh a translation vector and a rotation matrix is returned. +The registration is formulated as an energy to minimize the distance between source and target. The energy is iteratively minimized by solving sparse linear systems and finding closest rotation matrices. The core algorithm is ICP, iterative closest point. In each iteration, the method identifies vertex or point pairs between the intermediate, initially a copy of the source, and the target and subsequently calculates the transformations which minimize the distance between them. The intermediate is updated after each iteration and converges towards the target. \f{equation}{ @@ -1442,7 +1442,7 @@ with the single energy terms: \f} \f{equation}{ -\mathbf{E_{arap}} = +\mathbf{E_{arap}} = \sum_{\mathbf{v}_i \in M} \sum_{\mathbf{v}_j \in N(\mathbf{v}_i)} \left\| (\mathbf{R}_i\mathbf{v}_i + \mathbf{t}_i - \mathbf{R}_j\mathbf{v}_j + \mathbf{t}_j) - \mathbf{R}_i(\mathbf{v}_i - \mathbf{v}_j) \right\|^2_2, From eb79dfe56f9d07a579950866ad651a72ad8c6495 Mon Sep 17 00:00:00 2001 From: Andreas Fabri Date: Tue, 20 Aug 2024 09:35:06 +0100 Subject: [PATCH 12/41] proper license; internal::registration; move in CMakeLists --- .../Polygon_mesh_processing/registration.h | 54 ++++++ .../Polygon_mesh_processing/CMakeLists.txt | 3 +- .../non_rigid_mesh_registration.h | 159 +++++++++--------- 3 files changed, 137 insertions(+), 79 deletions(-) create mode 100644 Installation/include/CGAL/license/Polygon_mesh_processing/registration.h diff --git a/Installation/include/CGAL/license/Polygon_mesh_processing/registration.h b/Installation/include/CGAL/license/Polygon_mesh_processing/registration.h new file mode 100644 index 000000000000..ada932e2aa88 --- /dev/null +++ b/Installation/include/CGAL/license/Polygon_mesh_processing/registration.h @@ -0,0 +1,54 @@ +// Copyright (c) 2016 GeometryFactory SARL (France). +// All rights reserved. +// +// This file is part of CGAL (www.cgal.org) +// +// $URL$ +// $Id$ +// SPDX-License-Identifier: LGPL-3.0-or-later OR LicenseRef-Commercial +// +// Author(s) : Andreas Fabri +// +// Warning: this file is generated, see include/CGAL/license/README.md + +#ifndef CGAL_LICENSE_POLYGON_MESH_PROCESSING_REGISTRATION_H +#define CGAL_LICENSE_POLYGON_MESH_PROCESSING_REGISTRATION_H + +#include +#include + +#ifdef CGAL_POLYGON_MESH_PROCESSING_REGISTRATION_COMMERCIAL_LICENSE + +# if CGAL_POLYGON_MESH_PROCESSING_REGISTRATION_COMMERCIAL_LICENSE < CGAL_RELEASE_DATE + +# if defined(CGAL_LICENSE_WARNING) + + CGAL_pragma_warning("Your commercial license for CGAL does not cover " + "this release of the Polygon Mesh Processing - Registration package.") +# endif + +# ifdef CGAL_LICENSE_ERROR +# error "Your commercial license for CGAL does not cover this release \ + of the Polygon Mesh Processing - Registration package. \ + You get this error, as you defined CGAL_LICENSE_ERROR." +# endif // CGAL_LICENSE_ERROR + +# endif // CGAL_POLYGON_MESH_PROCESSING_REGISTRATION_COMMERCIAL_LICENSE < CGAL_RELEASE_DATE + +#else // no CGAL_POLYGON_MESH_PROCESSING_REGISTRATION_COMMERCIAL_LICENSE + +# if defined(CGAL_LICENSE_WARNING) + CGAL_pragma_warning("\nThe macro CGAL_POLYGON_MESH_PROCESSING_REGISTRATION_COMMERCIAL_LICENSE is not defined." + "\nYou use the CGAL Polygon Mesh Processing - Registration package under " + "the terms of the GPLv3+.") +# endif // CGAL_LICENSE_WARNING + +# ifdef CGAL_LICENSE_ERROR +# error "The macro CGAL_POLYGON_MESH_PROCESSING_REGISTRATION_COMMERCIAL_LICENSE is not defined.\ + You use the CGAL Polygon Mesh Processing - Registration package under the terms of \ + the GPLv3+. You get this error, as you defined CGAL_LICENSE_ERROR." +# endif // CGAL_LICENSE_ERROR + +#endif // no CGAL_POLYGON_MESH_PROCESSING_REGISTRATION_COMMERCIAL_LICENSE + +#endif // CGAL_LICENSE_POLYGON_MESH_PROCESSING_REGISTRATION_H diff --git a/Polygon_mesh_processing/examples/Polygon_mesh_processing/CMakeLists.txt b/Polygon_mesh_processing/examples/Polygon_mesh_processing/CMakeLists.txt index 9eabe7372d02..d55a7bac7c8c 100644 --- a/Polygon_mesh_processing/examples/Polygon_mesh_processing/CMakeLists.txt +++ b/Polygon_mesh_processing/examples/Polygon_mesh_processing/CMakeLists.txt @@ -57,7 +57,6 @@ create_single_source_cgal_program("hausdorff_bounded_error_distance_example.cpp" create_single_source_cgal_program("isotropic_remeshing_with_custom_sizing_example.cpp") create_single_source_cgal_program("triangle_mesh_autorefinement.cpp") create_single_source_cgal_program("soup_autorefinement.cpp") -create_single_source_cgal_program("non_rigid_mesh_registration_example.cpp") find_package(Eigen3 3.2.0 QUIET) #(requires 3.2.0 or greater) include(CGAL_Eigen3_support) @@ -90,6 +89,8 @@ if(TARGET CGAL::Eigen3_support) target_link_libraries(interpolated_corrected_curvatures_PH PUBLIC CGAL::Eigen3_support) create_single_source_cgal_program("interpolated_corrected_curvatures_vertex.cpp") target_link_libraries(interpolated_corrected_curvatures_vertex PUBLIC CGAL::Eigen3_support) + create_single_source_cgal_program("non_rigid_mesh_registration_example.cpp") + target_link_libraries(non_rigid_mesh_registration_example PUBLIC CGAL::Eigen3_support) else() message(STATUS "NOTICE: Examples that use Eigen will not be compiled.") endif() diff --git a/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/non_rigid_mesh_registration.h b/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/non_rigid_mesh_registration.h index 4d826cd9a3ba..e3cd54ad3ad0 100644 --- a/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/non_rigid_mesh_registration.h +++ b/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/non_rigid_mesh_registration.h @@ -12,7 +12,7 @@ #ifndef CGAL_POLYGON_MESH_PROCESSING_REGISTER_MESH_H #define CGAL_POLYGON_MESH_PROCESSING_REGISTER_MESH_H -#include +#include #include @@ -40,7 +40,8 @@ namespace CGAL { namespace Polygon_mesh_processing { -namespace internal_registration { +namespace internal { +namespace registration { #ifdef CGAL_EIGEN3_ENABLED using ScalarType = double; @@ -139,6 +140,7 @@ Eigen::Matrix rot(T a, T b, T c) { } #endif +} // namespace registration } // namespace internal /*! @@ -240,8 +242,9 @@ void non_rigid_mesh_to_points_registration(TriangleMesh& source, const double w3 = parameters::choose_parameter(parameters::get_parameter(np1, internal_np::as_rigid_as_possible_energy), 20); const double max_matching_dist = parameters::choose_parameter(parameters::get_parameter(np1, internal_np::maximum_matching_distance), 0); - internal_registration::Vertices X(num_vertices(source), 3), Y(target.size(), 3); - internal_registration::Faces XF(num_faces(source), 3); + using namespace internal::registration; + Vertices X(num_vertices(source), 3), Y(target.size(), 3); + Faces XF(num_faces(source), 3); using NP_helper = Point_set_processing_3_np_helper; using Point_map = typename NP_helper::Point_map; @@ -282,7 +285,7 @@ void non_rigid_mesh_to_points_registration(TriangleMesh& source, if (corr.rows() > 0) std::cout << "# correspondences = " << corr.rows() << std::endl; - internal_registration::Vertices NY(target.size(), 3); + Vertices NY(target.size(), 3); idx = 0; for (auto p : target) { @@ -297,7 +300,7 @@ void non_rigid_mesh_to_points_registration(TriangleMesh& source, std::cout << std::endl; std::vector> neighbors(X.rows()); - for (internal_registration::Index i = 0; i < XF.rows(); ++i) { + for (Index i = 0; i < XF.rows(); ++i) { int a = XF(i, 0); int b = XF(i, 1); int c = XF(i, 2); @@ -310,15 +313,15 @@ void non_rigid_mesh_to_points_registration(TriangleMesh& source, } // Non-rigid ICP - internal_registration::Vertices Z(X); - internal_registration::Index dim = Z.rows() * Z.cols(); + Vertices Z(X); + Index dim = Z.rows() * Z.cols(); - std::vector edge_coefficients; + std::vector edge_coefficients; // build Ni Eigen::MatrixXi Ni(XF.rows() * XF.cols(), 1); idx = 0; - for (internal_registration::Index i = 0; i < XF.rows(); ++i) { + for (Index i = 0; i < XF.rows(); ++i) { int a = XF(i, 0); int b = XF(i, 1); int c = XF(i, 2); @@ -331,90 +334,90 @@ void non_rigid_mesh_to_points_registration(TriangleMesh& source, edge_coefficients.clear(); edge_coefficients.reserve(XF.rows() * XF.cols()); idx = 0; - for (internal_registration::Index i = 0; i < XF.rows(); ++i) { + for (Index i = 0; i < XF.rows(); ++i) { int a = XF(i, 0); int b = XF(i, 1); int c = XF(i, 2); - edge_coefficients.push_back(internal_registration::SparseTriplet(idx, b, 1)); + edge_coefficients.push_back(SparseTriplet(idx, b, 1)); idx++; - edge_coefficients.push_back(internal_registration::SparseTriplet(idx, c, 1)); + edge_coefficients.push_back(SparseTriplet(idx, c, 1)); idx++; - edge_coefficients.push_back(internal_registration::SparseTriplet(idx, a, 1)); + edge_coefficients.push_back(SparseTriplet(idx, a, 1)); idx++; } - internal_registration::SparseMat Nr(XF.rows() * XF.cols(), X.rows()); + SparseMat Nr(XF.rows() * XF.cols(), X.rows()); Nr.setFromTriplets(edge_coefficients.begin(), edge_coefficients.end()); // build MX edge_coefficients.clear(); edge_coefficients.reserve(XF.rows() * XF.cols() * 2); idx = 0; - for (internal_registration::Index i = 0; i < XF.rows(); ++i) { + for (Index i = 0; i < XF.rows(); ++i) { int a = XF(i, 0); int b = XF(i, 1); int c = XF(i, 2); - edge_coefficients.push_back(internal_registration::SparseTriplet(idx, a, 1)); - edge_coefficients.push_back(internal_registration::SparseTriplet(idx, b, -1)); + edge_coefficients.push_back(SparseTriplet(idx, a, 1)); + edge_coefficients.push_back(SparseTriplet(idx, b, -1)); idx++; - edge_coefficients.push_back(internal_registration::SparseTriplet(idx, b, 1)); - edge_coefficients.push_back(internal_registration::SparseTriplet(idx, c, -1)); + edge_coefficients.push_back(SparseTriplet(idx, b, 1)); + edge_coefficients.push_back(SparseTriplet(idx, c, -1)); idx++; - edge_coefficients.push_back(internal_registration::SparseTriplet(idx, c, 1)); - edge_coefficients.push_back(internal_registration::SparseTriplet(idx, a, -1)); + edge_coefficients.push_back(SparseTriplet(idx, c, 1)); + edge_coefficients.push_back(SparseTriplet(idx, a, -1)); idx++; } - internal_registration::SparseMat B(XF.rows() * XF.cols(), X.rows()); + SparseMat B(XF.rows() * XF.cols(), X.rows()); B.setFromTriplets(edge_coefficients.begin(), edge_coefficients.end()); - internal_registration::Index edim = B.rows(); + Index edim = B.rows(); - internal_registration::Vertices BX = B * X;// edges in order: b to a, c to b, a to c. - internal_registration::Vertices BX_original(BX); + Vertices BX = B * X;// edges in order: b to a, c to b, a to c. + Vertices BX_original(BX); - std::vector coefficients; - internal_registration::SparseMat A(Z.rows() + 2 * dim + 3 * edim, dim + dim); - for (internal_registration::Index i = 0; i < dim; ++i) { - coefficients.push_back(internal_registration::SparseTriplet(Z.rows() + i, i, 1)); + std::vector coefficients; + SparseMat A(Z.rows() + 2 * dim + 3 * edim, dim + dim); + for (Index i = 0; i < dim; ++i) { + coefficients.push_back(SparseTriplet(Z.rows() + i, i, 1)); } - internal_registration::insertSparseMatrix(B, coefficients, Z.rows() + dim, 0); - internal_registration::insertSparseMatrix(B, coefficients, Z.rows() + dim + edim, Z.rows()); - internal_registration::insertSparseMatrix(B, coefficients, Z.rows() + dim + 2 * edim, 2 * Z.rows()); + insertSparseMatrix(B, coefficients, Z.rows() + dim, 0); + insertSparseMatrix(B, coefficients, Z.rows() + dim + edim, Z.rows()); + insertSparseMatrix(B, coefficients, Z.rows() + dim + 2 * edim, 2 * Z.rows()); - internal_registration::Matrix b(Z.rows() + 2 * dim + 3 * edim, 1); + Matrix b(Z.rows() + 2 * dim + 3 * edim, 1); - std::vector weight_coefficients; // system regularizer - internal_registration::SparseMat W(dim + dim, dim + dim); - for (internal_registration::Index i = dim; i < dim + dim; ++i) { - weight_coefficients.push_back(internal_registration::SparseTriplet(i, i, 1)); + std::vector weight_coefficients; // system regularizer + SparseMat W(dim + dim, dim + dim); + for (Index i = dim; i < dim + dim; ++i) { + weight_coefficients.push_back(SparseTriplet(i, i, 1)); } W.setFromTriplets(weight_coefficients.begin(), weight_coefficients.end()); weight_coefficients.clear(); - internal_registration::SparseMat D(Z.rows() + 2 * dim + 3 * edim, Z.rows() + 2 * dim + 3 * edim); - for (internal_registration::Index i = 0; i < Z.rows(); ++i) { - weight_coefficients.push_back(internal_registration::SparseTriplet(i, i, w2)); // point to plane energy + SparseMat D(Z.rows() + 2 * dim + 3 * edim, Z.rows() + 2 * dim + 3 * edim); + for (Index i = 0; i < Z.rows(); ++i) { + weight_coefficients.push_back(SparseTriplet(i, i, w2)); // point to plane energy } - for (internal_registration::Index i = Z.rows(); i < Z.rows() + dim; ++i) { - weight_coefficients.push_back(internal_registration::SparseTriplet(i, i, w1)); // point to point energy + for (Index i = Z.rows(); i < Z.rows() + dim; ++i) { + weight_coefficients.push_back(SparseTriplet(i, i, w1)); // point to point energy } - for (internal_registration::Index i = Z.rows() + dim; i < Z.rows() + dim + 3 * edim; ++i) { - weight_coefficients.push_back(internal_registration::SparseTriplet(i, i, w3)); // arap energy + for (Index i = Z.rows() + dim; i < Z.rows() + dim + 3 * edim; ++i) { + weight_coefficients.push_back(SparseTriplet(i, i, w3)); // arap energy } D.setFromTriplets(weight_coefficients.begin(), weight_coefficients.end()); // Setting very high weight for given correspondences. - for (internal_registration::Index i = 0; i < corr.rows(); ++i) { + for (Index i = 0; i < corr.rows(); ++i) { D.coeffRef(Z.rows() + corr(i, 0), Z.rows() + corr(i, 0)) = 1e15f; D.coeffRef(Z.rows() * 2 + corr(i, 0), Z.rows() * 2 + corr(i, 0)) = 1e15f; D.coeffRef(Z.rows() * 3 + corr(i, 0), Z.rows() * 3 + corr(i, 0)) = 1e15f; } // Solver - Eigen::ConjugateGradient cg; + Eigen::ConjugateGradient cg; //cg.setMaxIterations(1000); //cg.setTolerance(1e-6); - Eigen::JacobiSVD> svd; - std::vector> Rotations(Z.rows()); + Eigen::JacobiSVD> svd; + std::vector> Rotations(Z.rows()); size_t coefficients_size = coefficients.size(); @@ -427,7 +430,7 @@ void non_rigid_mesh_to_points_registration(TriangleMesh& source, // Compute correspondence //Eigen::VectorXi idz = nearest_neighbor(V1, Z).first.col(0); - std::pair nn_result = internal_registration::nearest_neighbor(Y, Z); + std::pair nn_result = nearest_neighbor(Y, Z); Eigen::VectorXi idz = nn_result.first.col(0); Eigen::VectorXf dist = nn_result.second.col(0); @@ -435,7 +438,7 @@ void non_rigid_mesh_to_points_registration(TriangleMesh& source, D.setFromTriplets(weight_coefficients.begin(), weight_coefficients.end()); // reset weights // prune correspondences that are too distant int count = 0; - for (internal_registration::Index i = 0; i < Z.rows(); ++i) { + for (Index i = 0; i < Z.rows(); ++i) { if (dist[i] > max_matching_dist) { count++; D.coeffRef(i, i) = 0; @@ -446,7 +449,7 @@ void non_rigid_mesh_to_points_registration(TriangleMesh& source, } std::cout << "active = " << Z.rows() - count << " / " << Z.rows() << std::endl; // ensure hard correspondences have not been removed - for (internal_registration::Index i = 0; i < corr.rows(); ++i) { + for (Index i = 0; i < corr.rows(); ++i) { D.coeffRef(Z.rows() + corr(i, 0), Z.rows() + corr(i, 0)) = 1e15f; D.coeffRef(Z.rows() * 2 + corr(i, 0), Z.rows() * 2 + corr(i, 0)) = 1e15f; D.coeffRef(Z.rows() * 3 + corr(i, 0), Z.rows() * 3 + corr(i, 0)) = 1e15f; @@ -454,39 +457,39 @@ void non_rigid_mesh_to_points_registration(TriangleMesh& source, } // Restore hard correspondences - for (internal_registration::Index i = 0; i < corr.rows(); ++i) { + for (Index i = 0; i < corr.rows(); ++i) { idz(corr(i, 0)) = corr(i, 1); } - internal_registration::Vertices P(Y(idz, Eigen::indexing::all)); // target points - internal_registration::Vertices NP(NY(idz, Eigen::indexing::all)); // target normals + Vertices P(Y(idz, Eigen::indexing::all)); // target points + Vertices NP(NY(idz, Eigen::indexing::all)); // target normals // Filling coefficients for first part of A -> point_to_plane_energy - for (internal_registration::Index i = 0; i < Z.rows(); ++i) { - coefficients.push_back(internal_registration::SparseTriplet(i, i, NP(i, 0))); - coefficients.push_back(internal_registration::SparseTriplet(i, Z.rows() + i, NP(i, 1))); - coefficients.push_back(internal_registration::SparseTriplet(i, 2 * Z.rows() + i, NP(i, 2))); + for (Index i = 0; i < Z.rows(); ++i) { + coefficients.push_back(SparseTriplet(i, i, NP(i, 0))); + coefficients.push_back(SparseTriplet(i, Z.rows() + i, NP(i, 1))); + coefficients.push_back(SparseTriplet(i, 2 * Z.rows() + i, NP(i, 2))); } // Filling coefficients from edges for last part of A -> as_rigid_as_possible_energy - for (internal_registration::Index i = 0; i < edim; ++i) { + for (Index i = 0; i < edim; ++i) { size_t ni = Ni(i); - coefficients.push_back(internal_registration::SparseTriplet(Z.rows() + dim + i, ni + dim, BX(i, 1))); - coefficients.push_back(internal_registration::SparseTriplet(Z.rows() + dim + i, Z.rows() + ni + dim, -BX(i, 2))); - coefficients.push_back(internal_registration::SparseTriplet(Z.rows() + dim + edim + i, ni + dim, -BX(i, 0))); - coefficients.push_back(internal_registration::SparseTriplet(Z.rows() + dim + edim + i, 2 * Z.rows() + ni + dim, BX(i, 2))); - coefficients.push_back(internal_registration::SparseTriplet(Z.rows() + dim + 2 * edim + i, Z.rows() + ni + dim, BX(i, 0))); - coefficients.push_back(internal_registration::SparseTriplet(Z.rows() + dim + 2 * edim + i, 2 * Z.rows() + ni + dim, -BX(i, 1))); + coefficients.push_back(SparseTriplet(Z.rows() + dim + i, ni + dim, BX(i, 1))); + coefficients.push_back(SparseTriplet(Z.rows() + dim + i, Z.rows() + ni + dim, -BX(i, 2))); + coefficients.push_back(SparseTriplet(Z.rows() + dim + edim + i, ni + dim, -BX(i, 0))); + coefficients.push_back(SparseTriplet(Z.rows() + dim + edim + i, 2 * Z.rows() + ni + dim, BX(i, 2))); + coefficients.push_back(SparseTriplet(Z.rows() + dim + 2 * edim + i, Z.rows() + ni + dim, BX(i, 0))); + coefficients.push_back(SparseTriplet(Z.rows() + dim + 2 * edim + i, 2 * Z.rows() + ni + dim, -BX(i, 1))); } - for (internal_registration::Index i = 0; i < Z.rows(); ++i) { + for (Index i = 0; i < Z.rows(); ++i) { b(i) = NP(i, 0) * P(i, 0) + NP(i, 1) * P(i, 1) + NP(i, 2) * P(i, 2); // distance of matched point to origin for point to plane energy // Coordinates of matched point for point to point energy b(i + Z.rows()) = P(i, 0); b(i + Z.rows() * 2) = P(i, 1); b(i + Z.rows() * 3) = P(i, 2); } - for (internal_registration::Index i = 0; i < edim; ++i) { + for (Index i = 0; i < edim; ++i) { b(i + Z.rows() + dim) = BX(i, 0); b(i + Z.rows() + dim + edim) = BX(i, 1); b(i + Z.rows() + dim + edim * 2) = BX(i, 2); @@ -499,7 +502,7 @@ void non_rigid_mesh_to_points_registration(TriangleMesh& source, } cg.factorize(A.transpose() * D * A + W); - internal_registration::Vector x = cg.solve(A.transpose() * D * b); + Vector x = cg.solve(A.transpose() * D * b); // Solution Z(Eigen::indexing::all, 0) = x(Eigen::seq(0, Z.rows() - 1)); @@ -510,29 +513,29 @@ void non_rigid_mesh_to_points_registration(TriangleMesh& source, if (it == (iter - 1)) { // Should replace with CGAL's ARAP implementation https://github.com/CGAL/cgal/blob/master/Surface_mesh_deformation/include/CGAL/Surface_mesh_deformation.h // See also: compute_close_rotation https://github.com/CGAL/cgal/blob/master/Surface_mesh_deformation/include/CGAL/Deformation_Eigen_closest_rotation_traits_3.h - for (internal_registration::Index i = 0; i < Z.rows(); ++i) { + for (Index i = 0; i < Z.rows(); ++i) { std::vector nbrs(neighbors[i].begin(), neighbors[i].end()); - internal_registration::Matrix A = X(nbrs, Eigen::indexing::all).rowwise() - X.row(i); - internal_registration::Matrix B_ = Z(nbrs, Eigen::indexing::all).rowwise() - Z.row(i); + Matrix A = X(nbrs, Eigen::indexing::all).rowwise() - X.row(i); + Matrix B_ = Z(nbrs, Eigen::indexing::all).rowwise() - Z.row(i); svd.compute(A.transpose() * B_, Eigen::ComputeFullU | Eigen::ComputeFullV); Rotations[i] = svd.matrixV() * svd.matrixU().transpose(); if (Rotations[i].determinant() < 0) { - Eigen::Matrix M = Eigen::Matrix3d::Identity(); + Eigen::Matrix M = Eigen::Matrix3d::Identity(); M(2, 2) = -1; Rotations[i] = svd.matrixV() * M * svd.matrixU().transpose(); } } - for (internal_registration::Index i = 0; i < edim; ++i) { - internal_registration::Matrix R = Rotations[Ni(i)]; + for (Index i = 0; i < edim; ++i) { + Matrix R = Rotations[Ni(i)]; BX.row(i) = BX.row(i) * R.transpose(); } } else { // Regular matrix update is happening here (taking linearized coefficients, recreating matrix and rotating edges) - for (internal_registration::Index i = 0; i < edim; ++i) { + for (Index i = 0; i < edim; ++i) { int ni = Ni(i); - internal_registration::Matrix R = internal_registration::rot(x(dim + 2 * Z.rows() + ni), + Matrix R = rot(x(dim + 2 * Z.rows() + ni), x(dim + Z.rows() + ni), x(dim + ni)); BX.row(i) = BX.row(i) * R.transpose(); @@ -770,4 +773,4 @@ void apply_non_rigid_transformation(TriangleMesh& mesh, } // namespace Polygon_mesh_processing } // namespace CGAL -#endif \ No newline at end of file +#endif From eebeff2a6ab4f1a678683acdacfed903ad71187c Mon Sep 17 00:00:00 2001 From: Andreas Fabri Date: Tue, 20 Aug 2024 17:01:50 +0100 Subject: [PATCH 13/41] No 'should' after discussion with @robertod --- .../Polygon_mesh_processing/non_rigid_mesh_registration.h | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/non_rigid_mesh_registration.h b/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/non_rigid_mesh_registration.h index e3cd54ad3ad0..be44b3a4d479 100644 --- a/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/non_rigid_mesh_registration.h +++ b/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/non_rigid_mesh_registration.h @@ -164,7 +164,7 @@ Eigen::Matrix rot(T a, T b, T c) { * @tparam NamedParameters1 a sequence of \ref bgl_namedparameters "Named Parameters" * @tparam NamedParameters2 a sequence of \ref bgl_namedparameters "Named Parameters" * -* @param source the triangle mesh that should be mapped onto `target`. +* @param source the triangle mesh to be mapped onto `target`. * @param target the target point set. * @param vtm a writable vertex property map of `source` to store the translation vector of the registration. * @param vrm a writable vertex property map of `source` to store the rotation part of the registration. @@ -585,7 +585,7 @@ static_assert(false, "Eigen library is required for non-rigid mesh registration" * @tparam NamedParameters1 a sequence of \ref bgl_namedparameters "Named Parameters1" * @tparam NamedParameters2 a sequence of \ref bgl_namedparameters "Named Parameters2" * -* @param source the triangle mesh that should be mapped onto `target` +* @param source the triangle mesh to be mapped onto `target` * @param target the target triangle mesh * @param vtm a writable vertex property map of `source` to store the translation vector of the registration * @param vrm a writable vertex property map of `source` to store the rotation part of the registration @@ -713,7 +713,7 @@ void non_rigid_mesh_to_mesh_registration(TriangleMesh1& source, * as key type and a \cgal Kernel `Aff_transformation_3` as value type. * @tparam NamedParameters a sequence of \ref bgl_namedparameters "Named Parameters" * -* @param mesh the triangle mesh that should be transformed. +* @param mesh the triangle mesh to be transformed. * @param vtm a readable vertex property map of `mesh` to store the translation vector of the registration. * @param vrm a readable vertex property map of `mesh` to store the rotation part of the registration. * @param np an optional sequence of \ref bgl_namedparameters "Named Parameters" among the ones listed below From c013d13e3d047ee5625c1d68a1e76a42d8f25b6e Mon Sep 17 00:00:00 2001 From: Andreas Fabri Date: Wed, 21 Aug 2024 07:57:24 +0100 Subject: [PATCH 14/41] calculate -> compute https://langeek.co/en/grammar/course/1822 --- .../doc/Polygon_mesh_processing/Polygon_mesh_processing.txt | 6 +++--- .../Polygon_mesh_processing/non_rigid_mesh_registration.h | 4 ++-- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/Polygon_mesh_processing/doc/Polygon_mesh_processing/Polygon_mesh_processing.txt b/Polygon_mesh_processing/doc/Polygon_mesh_processing/Polygon_mesh_processing.txt index f23a36265b40..8e9015e0ee9f 100644 --- a/Polygon_mesh_processing/doc/Polygon_mesh_processing/Polygon_mesh_processing.txt +++ b/Polygon_mesh_processing/doc/Polygon_mesh_processing/Polygon_mesh_processing.txt @@ -261,7 +261,7 @@ mesh relaxation function can be used. - Shape smoothing: `CGAL::Polygon_mesh_processing::smooth_shape()` moves vertices towards a weighted barycenter of their neighbors along the mean curvature flow. The curvature flow algorithm for shape smoothing is based on Desbrun et al. \cgalCite{cgal:dmsb-ifamdcf-99} and on Kazhdan et al. \cgalCite{kazhdan2012can}. -The algorithm uses the mean curvature flow to calculate the translation of vertices along the surface normal with a speed equal +The algorithm uses the mean curvature flow to compute the translation of vertices along the surface normal with a speed equal to the mean curvature of the area that is being smoothed. This means that vertices on sharp corners slide faster. If the region around a vertex is flat, this vertex does not move (zero curvature). To avoid the formation of undesirable neck pinches (cylindrical surface areas that form singularities) the algorithm slows @@ -1420,9 +1420,9 @@ and the number of surface patches that are separated by these edges. Registration of one mesh onto another is often required to map between multiple acquisitions of an object or between an acquisition and a CAD model, e.g., in quality assurance. A simple linear transformation is only sufficient in the case of rigid objects. -The functions `CGAL::Polygon_mesh_processing::non_rigid_mesh_to_mesh_registration()` and `CGAL::Polygon_mesh_processing::non_rigid_mesh_to_points_registration()` calculate a non-rigid registration from a source mesh onto a target mesh or a target oriented point cloud. For each vertex in the source mesh a translation vector and a rotation matrix is returned. +The functions `CGAL::Polygon_mesh_processing::non_rigid_mesh_to_mesh_registration()` and `CGAL::Polygon_mesh_processing::non_rigid_mesh_to_points_registration()` compute a non-rigid registration from a source mesh onto a target mesh or a target oriented point cloud. For each vertex in the source mesh a translation vector and a rotation matrix is returned. The registration is formulated as an energy to minimize the distance between source and target. The energy is iteratively minimized by solving sparse linear systems and finding closest rotation matrices. -The core algorithm is ICP, iterative closest point. In each iteration, the method identifies vertex or point pairs between the intermediate, initially a copy of the source, and the target and subsequently calculates the transformations which minimize the distance between them. The intermediate is updated after each iteration and converges towards the target. +The core algorithm is ICP, iterative closest point. In each iteration, the method identifies vertex or point pairs between the intermediate, initially a copy of the source, and the target and subsequently computes the transformations which minimize the distance between them. The intermediate is updated after each iteration and converges towards the target. \f{equation}{ \mathbf{E_{reg}} = w_1\mathbf{E_{match}} + w_2\mathbf{E_{point\_to\_plane}} + w_3\mathbf{E_{arap}}, diff --git a/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/non_rigid_mesh_registration.h b/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/non_rigid_mesh_registration.h index be44b3a4d479..cffe9d3cc6f6 100644 --- a/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/non_rigid_mesh_registration.h +++ b/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/non_rigid_mesh_registration.h @@ -146,7 +146,7 @@ Eigen::Matrix rot(T a, T b, T c) { /*! * \ingroup PMP_registration_grp * -* \brief calculates non-rigid transformation of a mesh onto a set of oriented points. +* \brief computes non-rigid transformation of a mesh onto a set of oriented points. * * A non-rigid ICP, iterative closest point, method based on * a SIGGRAPH'16 Tutorial. @@ -567,7 +567,7 @@ static_assert(false, "Eigen library is required for non-rigid mesh registration" /*! * \ingroup PMP_registration_grp * -* \brief calculates non-rigid transformation of a mesh onto another mesh. +* \brief computes non-rigid transformation of a mesh onto another mesh. * * A non-rigid ICP, iterative closest point, method based on * a SIGGRAPH'16 Tutorial. From 8667d66c39592f50439a54943e4005a0f55eb63f Mon Sep 17 00:00:00 2001 From: Sven Oesau Date: Wed, 21 Aug 2024 10:00:44 +0200 Subject: [PATCH 15/41] pass on doc --- .../non_rigid_mesh_registration_example.cpp | 2 +- .../non_rigid_mesh_registration.h | 56 +++++++++---------- 2 files changed, 29 insertions(+), 29 deletions(-) diff --git a/Polygon_mesh_processing/examples/Polygon_mesh_processing/non_rigid_mesh_registration_example.cpp b/Polygon_mesh_processing/examples/Polygon_mesh_processing/non_rigid_mesh_registration_example.cpp index 2d0011cc48fb..52382738c131 100644 --- a/Polygon_mesh_processing/examples/Polygon_mesh_processing/non_rigid_mesh_registration_example.cpp +++ b/Polygon_mesh_processing/examples/Polygon_mesh_processing/non_rigid_mesh_registration_example.cpp @@ -60,7 +60,7 @@ int main(int argc, char** argv) { FT w3 = 500; PMP::non_rigid_mesh_to_mesh_registration(source, target, vtm, vrm, correspondences_mesh, CGAL::parameters::point_to_point_energy(w1).point_to_plane_energy(w2).as_rigid_as_possible_energy(w3)); - PMP::apply_non_rigid_transformation(source, vtm, vrm); + PMP::apply_non_rigid_transformation(source, vtm); CGAL::IO::write_polygon_mesh("bear" + std::to_string(w1) + "_" + std::to_string(w2) + "_" + std::to_string(w3) + ".off", source); return EXIT_SUCCESS; diff --git a/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/non_rigid_mesh_registration.h b/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/non_rigid_mesh_registration.h index cffe9d3cc6f6..417f1810aa38 100644 --- a/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/non_rigid_mesh_registration.h +++ b/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/non_rigid_mesh_registration.h @@ -156,11 +156,14 @@ Eigen::Matrix rot(T a, T b, T c) { * @note This function requires the \ref thirdpartyEigen library. * * @tparam TriangleMesh a model of `MutableFaceGraph`. -* @tparam PointRange a model of the `concept ForwardRange` whose value type is the point type. -* @tparam VertexTranslationMap is a property map with `boost::graph_traits::%vertex_descriptor` +* @tparam PointRange is a model of `ConstRange`. The value type of +* its iterator is the key type of the named parameter `point_map`. +* @tparam VertexTranslationMap is a property map with `boost::graph_traits::%vertex_descriptor` * as key type and a \cgal Kernel `Vector_3` as value type. -* @tparam VertexRotationMap is a property map with `boost::graph_traits::%vertex_descriptor` +* @tparam VertexRotationMap is a property map with `boost::graph_traits::%vertex_descriptor` * as key type and a \cgal Kernel `Aff_transformation_3` as value type. +* @tparam CorrespondenceRange a model of the `ConstRange` whose value type is a pair of +* `boost::graph_traits::%vertex_descriptor` and the element type of `PointRange`. * @tparam NamedParameters1 a sequence of \ref bgl_namedparameters "Named Parameters" * @tparam NamedParameters2 a sequence of \ref bgl_namedparameters "Named Parameters" * @@ -168,9 +171,9 @@ Eigen::Matrix rot(T a, T b, T c) { * @param target the target point set. * @param vtm a writable vertex property map of `source` to store the translation vector of the registration. * @param vrm a writable vertex property map of `source` to store the rotation part of the registration. -* @param np1 an optional sequence of \ref bgl_namedparameters "Named Parameters" among the ones listed below -* @param np2 an optional sequence of \ref bgl_namedparameters "Named Parameters" providing a point_map and normal_map for the `PointRange` -* @param correspondences a vector given matching points between the `source` and the `target` +* @param np1 an optional sequence of \ref bgl_namedparameters "Named Parameters" among the ones listed below. +* @param np2 an optional sequence of \ref bgl_namedparameters "Named Parameters" providing a point_map and normal_map for the `PointRange`. +* @param correspondences a `CorrespondenceRange` containing matching points between the `source` and the `target`. * * \cgalNamedParamsBegin * \cgalParamNBegin{number_of_iterations} @@ -225,13 +228,14 @@ template void non_rigid_mesh_to_points_registration(TriangleMesh& source, const PointRange& target, VertexTranslationMap& vtm, VertexRotationMap& vrm, - const std::vector::vertex_descriptor, std::size_t>>& correspondences = std::vector::vertex_descriptor, std::size_t>>(), + const CorrespondenceRange &correspondences = std::vector::vertex_descriptor, std::size_t>>(), const NamedParameters1& np1 = parameters::default_values(), const NamedParameters2& np2 = parameters::default_values()) { @@ -576,22 +580,22 @@ static_assert(false, "Eigen library is required for non-rigid mesh registration" * * @note This function requires the \ref thirdpartyEigen library. * -* @tparam TriangleMesh1 a model of `MutableFaceGraph` -* @tparam TriangleMesh2 a const model of the `MutableFaceGraph` +* @tparam TriangleMesh1 a model of `MutableFaceGraph`. +* @tparam TriangleMesh2 a const model of the `MutableFaceGraph`. * @tparam VertexTranslationMap is a property map with `boost::graph_traits::%vertex_descriptor` - * as key type and a \cgal Kernel `Vector_3` as value type + * as key type and a \cgal Kernel `Vector_3` as value type. * @tparam VertexRotationMap is a property map with `boost::graph_traits::%vertex_descriptor` - * as key type and a \cgal Kernel `Aff_transformation_3` as value type -* @tparam NamedParameters1 a sequence of \ref bgl_namedparameters "Named Parameters1" -* @tparam NamedParameters2 a sequence of \ref bgl_namedparameters "Named Parameters2" + * as key type and a \cgal Kernel `Aff_transformation_3` as value type. +* @tparam NamedParameters1 a sequence of \ref bgl_namedparameters "Named Parameters1". +* @tparam NamedParameters2 a sequence of \ref bgl_namedparameters "Named Parameters2". * -* @param source the triangle mesh to be mapped onto `target` -* @param target the target triangle mesh -* @param vtm a writable vertex property map of `source` to store the translation vector of the registration -* @param vrm a writable vertex property map of `source` to store the rotation part of the registration -* @param np1 an optional sequence of \ref bgl_namedparameters "Named Parameters1" of the `source` and the method among the ones listed below -* @param np2 an optional sequence of \ref bgl_namedparameters "Named Parameters2" of the `target` providing a vertex point map and a vertex normal map -* @param correspondences a vector given matching points between the `source` and the `target` +* @param source the triangle mesh to be mapped onto `target`. +* @param target the target triangle mesh. +* @param vtm a writable vertex property map of `source` to store the translation vector of the registration. +* @param vrm a writable vertex property map of `source` to store the rotation part of the registration. +* @param np1 an optional sequence of \ref bgl_namedparameters "Named Parameters1" of the `source` and the method among the ones listed below. +* @param np2 an optional sequence of \ref bgl_namedparameters "Named Parameters2" of the `target` providing a vertex point map and a vertex normal map. +* @param correspondences a `CorrespondenceRange` containing matching points between the `source` and the `target`. * * \cgalNamedParamsBegin * \cgalParamNBegin{number_of_iterations} @@ -646,13 +650,14 @@ static_assert(false, "Eigen library is required for non-rigid mesh registration" template void non_rigid_mesh_to_mesh_registration(TriangleMesh1& source, const TriangleMesh2& target, VertexTranslationMap& vtm, VertexRotationMap& vrm, - const std::vector::vertex_descriptor, typename boost::graph_traits::vertex_descriptor>>& correspondences = std::vector::vertex_descriptor, typename boost::graph_traits::vertex_descriptor>>(), + const CorrespondenceRange &correspondences = std::vector::vertex_descriptor, typename boost::graph_traits::vertex_descriptor>>(), const NamedParameters1& np1 = parameters::default_values(), const NamedParameters2& np2 = parameters::default_values()) { @@ -709,14 +714,11 @@ void non_rigid_mesh_to_mesh_registration(TriangleMesh1& source, * @tparam TriangleMesh a model of `MutableFaceGraph`. * @tparam VertexTranslationMap is a property map with `boost::graph_traits::%vertex_descriptor` * as key type and a \cgal Kernel `Vector_3` as value type. -* @tparam VertexRotationMap is a property map with `boost::graph_traits::%vertex_descriptor` - * as key type and a \cgal Kernel `Aff_transformation_3` as value type. -* @tparam NamedParameters a sequence of \ref bgl_namedparameters "Named Parameters" +* @tparam NamedParameters a sequence of \ref bgl_namedparameters "Named Parameters". * * @param mesh the triangle mesh to be transformed. * @param vtm a readable vertex property map of `mesh` to store the translation vector of the registration. -* @param vrm a readable vertex property map of `mesh` to store the rotation part of the registration. -* @param np an optional sequence of \ref bgl_namedparameters "Named Parameters" among the ones listed below +* @param np an optional sequence of \ref bgl_namedparameters "Named Parameters" among the ones listed below. * * \cgalNamedParamsBegin * \cgalParamNBegin{geom_traits} @@ -738,11 +740,9 @@ void non_rigid_mesh_to_mesh_registration(TriangleMesh1& source, */ template void apply_non_rigid_transformation(TriangleMesh& mesh, const VertexTranslationMap& vtm, - const VertexRotationMap& vrm, const NamedParameters& np = parameters::default_values()) { using Gt = typename GetGeomTraits::type; using Vertex_point_map = typename GetVertexPointMap::type; From 3a274b302222bd381989fca366593669eeac8c08 Mon Sep 17 00:00:00 2001 From: Sven Oesau Date: Wed, 21 Aug 2024 14:00:05 +0200 Subject: [PATCH 16/41] doc of CorrespondenceRange --- .../non_rigid_mesh_registration.h | 33 +++++++++---------- 1 file changed, 16 insertions(+), 17 deletions(-) diff --git a/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/non_rigid_mesh_registration.h b/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/non_rigid_mesh_registration.h index 417f1810aa38..d56fdc7619f7 100644 --- a/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/non_rigid_mesh_registration.h +++ b/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/non_rigid_mesh_registration.h @@ -171,9 +171,9 @@ Eigen::Matrix rot(T a, T b, T c) { * @param target the target point set. * @param vtm a writable vertex property map of `source` to store the translation vector of the registration. * @param vrm a writable vertex property map of `source` to store the rotation part of the registration. +* @param correspondences a `CorrespondenceRange` containing matching points between the `source` and the `target`. * @param np1 an optional sequence of \ref bgl_namedparameters "Named Parameters" among the ones listed below. * @param np2 an optional sequence of \ref bgl_namedparameters "Named Parameters" providing a point_map and normal_map for the `PointRange`. -* @param correspondences a `CorrespondenceRange` containing matching points between the `source` and the `target`. * * \cgalNamedParamsBegin * \cgalParamNBegin{number_of_iterations} @@ -228,14 +228,18 @@ template ::vertex_descriptor, std::size_t>>, +#endif typename NamedParameters1 = parameters::Default_named_parameters, typename NamedParameters2 = parameters::Default_named_parameters> void non_rigid_mesh_to_points_registration(TriangleMesh& source, const PointRange& target, VertexTranslationMap& vtm, VertexRotationMap& vrm, - const CorrespondenceRange &correspondences = std::vector::vertex_descriptor, std::size_t>>(), + const CorrespondenceRange &correspondences = CorrespondenceRange(), const NamedParameters1& np1 = parameters::default_values(), const NamedParameters2& np2 = parameters::default_values()) { @@ -583,9 +587,11 @@ static_assert(false, "Eigen library is required for non-rigid mesh registration" * @tparam TriangleMesh1 a model of `MutableFaceGraph`. * @tparam TriangleMesh2 a const model of the `MutableFaceGraph`. * @tparam VertexTranslationMap is a property map with `boost::graph_traits::%vertex_descriptor` - * as key type and a \cgal Kernel `Vector_3` as value type. +* as key type and a \cgal Kernel `Vector_3` as value type. * @tparam VertexRotationMap is a property map with `boost::graph_traits::%vertex_descriptor` - * as key type and a \cgal Kernel `Aff_transformation_3` as value type. +* as key type and a \cgal Kernel `Aff_transformation_3` as value type. +* @tparam CorrespondenceRange a model of the `ConstRange` whose value type is a pair of +* `boost::graph_traits::%vertex_descriptor` and the element type of `PointRange`. * @tparam NamedParameters1 a sequence of \ref bgl_namedparameters "Named Parameters1". * @tparam NamedParameters2 a sequence of \ref bgl_namedparameters "Named Parameters2". * @@ -593,9 +599,9 @@ static_assert(false, "Eigen library is required for non-rigid mesh registration" * @param target the target triangle mesh. * @param vtm a writable vertex property map of `source` to store the translation vector of the registration. * @param vrm a writable vertex property map of `source` to store the rotation part of the registration. +* @param correspondences a `CorrespondenceRange` containing matching points between the `source` and the `target`. * @param np1 an optional sequence of \ref bgl_namedparameters "Named Parameters1" of the `source` and the method among the ones listed below. * @param np2 an optional sequence of \ref bgl_namedparameters "Named Parameters2" of the `target` providing a vertex point map and a vertex normal map. -* @param correspondences a `CorrespondenceRange` containing matching points between the `source` and the `target`. * * \cgalNamedParamsBegin * \cgalParamNBegin{number_of_iterations} @@ -650,14 +656,18 @@ static_assert(false, "Eigen library is required for non-rigid mesh registration" template ::vertex_descriptor, typename boost::graph_traits::vertex_descriptor>>, +#endif typename NamedParameters1 = parameters::Default_named_parameters, typename NamedParameters2 = parameters::Default_named_parameters> void non_rigid_mesh_to_mesh_registration(TriangleMesh1& source, const TriangleMesh2& target, VertexTranslationMap& vtm, VertexRotationMap& vrm, - const CorrespondenceRange &correspondences = std::vector::vertex_descriptor, typename boost::graph_traits::vertex_descriptor>>(), + const CorrespondenceRange &correspondences = CorrespondenceRange(), const NamedParameters1& np1 = parameters::default_values(), const NamedParameters2& np2 = parameters::default_values()) { @@ -673,11 +683,6 @@ void non_rigid_mesh_to_mesh_registration(TriangleMesh1& source, Vertex_point_map vpm = parameters::choose_parameter(parameters::get_parameter(np2, internal_np::vertex_point), get_const_property_map(CGAL::vertex_point, target)); Vertex_normal_map vnm = parameters::choose_parameter(parameters::get_parameter(np2, internal_np::vertex_normal_map), get(Vector_map_tag(), target)); -// if constexpr (!parameters::is_default_parameter::value) -// vnm = get(Vector_map_tag(), target).first; -// else -// vnm = parameters::get_parameter(np2, internal_np::vertex_normal_map); - // if the normal map is not provided, compute it if (parameters::is_default_parameter::value) compute_vertex_normals(target, vnm, np2); @@ -762,12 +767,6 @@ void apply_non_rigid_transformation(TriangleMesh& mesh, Point p = get(vpm, v); p += get(vtm, v); put(vpm, v, p); -/* - if (!parameters::is_default_parameter::value) { - Vector n = get(vnm, v); - auto rotation = get(vrm, v); - put(vnm, v, rotation.inverse().transform(n)); - }*/ } } } // namespace Polygon_mesh_processing From 3e08965e2ab22be749daae274258218852d20733 Mon Sep 17 00:00:00 2001 From: Sven Oesau Date: Wed, 21 Aug 2024 15:57:15 +0200 Subject: [PATCH 17/41] moving correspondences into named parameters --- .../non_rigid_mesh_registration_example.cpp | 4 +- .../non_rigid_mesh_registration.h | 91 +++++++++++++------ .../internal/parameters_interface.h | 1 + 3 files changed, 65 insertions(+), 31 deletions(-) diff --git a/Polygon_mesh_processing/examples/Polygon_mesh_processing/non_rigid_mesh_registration_example.cpp b/Polygon_mesh_processing/examples/Polygon_mesh_processing/non_rigid_mesh_registration_example.cpp index 52382738c131..738a6fff43b4 100644 --- a/Polygon_mesh_processing/examples/Polygon_mesh_processing/non_rigid_mesh_registration_example.cpp +++ b/Polygon_mesh_processing/examples/Polygon_mesh_processing/non_rigid_mesh_registration_example.cpp @@ -44,8 +44,6 @@ int main(int argc, char** argv) { std::cout << v0 << " " << v1 << std::endl; correspondences_mesh.push_back(std::make_pair(*(source.vertices_begin() + v0), *(target.vertices_begin() + v1))); } - - std::cout << correspondences_mesh.size() << " correspondences provided" << std::endl; } auto vnm = target.add_property_map("v:normal"); @@ -59,7 +57,7 @@ int main(int argc, char** argv) { FT w2 = 2.0; FT w3 = 500; - PMP::non_rigid_mesh_to_mesh_registration(source, target, vtm, vrm, correspondences_mesh, CGAL::parameters::point_to_point_energy(w1).point_to_plane_energy(w2).as_rigid_as_possible_energy(w3)); + PMP::non_rigid_mesh_to_mesh_registration(source, target, vtm, vrm, CGAL::parameters::point_to_point_energy(w1).point_to_plane_energy(w2).as_rigid_as_possible_energy(w3).correspondences(correspondences_mesh)); PMP::apply_non_rigid_transformation(source, vtm); CGAL::IO::write_polygon_mesh("bear" + std::to_string(w1) + "_" + std::to_string(w2) + "_" + std::to_string(w3) + ".off", source); diff --git a/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/non_rigid_mesh_registration.h b/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/non_rigid_mesh_registration.h index d56fdc7619f7..b7ca08c6f8e8 100644 --- a/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/non_rigid_mesh_registration.h +++ b/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/non_rigid_mesh_registration.h @@ -162,20 +162,17 @@ Eigen::Matrix rot(T a, T b, T c) { * as key type and a \cgal Kernel `Vector_3` as value type. * @tparam VertexRotationMap is a property map with `boost::graph_traits::%vertex_descriptor` * as key type and a \cgal Kernel `Aff_transformation_3` as value type. -* @tparam CorrespondenceRange a model of the `ConstRange` whose value type is a pair of -* `boost::graph_traits::%vertex_descriptor` and the element type of `PointRange`. -* @tparam NamedParameters1 a sequence of \ref bgl_namedparameters "Named Parameters" -* @tparam NamedParameters2 a sequence of \ref bgl_namedparameters "Named Parameters" +* @tparam NamedParameters1 a sequence of \ref bgl_namedparameters "Named Parameters". +* @tparam NamedParameters2 a sequence of \ref bgl_namedparameters "Named Parameters". * * @param source the triangle mesh to be mapped onto `target`. * @param target the target point set. * @param vtm a writable vertex property map of `source` to store the translation vector of the registration. * @param vrm a writable vertex property map of `source` to store the rotation part of the registration. -* @param correspondences a `CorrespondenceRange` containing matching points between the `source` and the `target`. -* @param np1 an optional sequence of \ref bgl_namedparameters "Named Parameters" among the ones listed below. -* @param np2 an optional sequence of \ref bgl_namedparameters "Named Parameters" providing a point_map and normal_map for the `PointRange`. +* @param np1 an optional sequence of \ref bgl_namedparameters "Named Parameters 1" among the ones listed below. +* @param np2 an optional sequence of \ref bgl_namedparameters "Named Parameters 2" providing a point_map and normal_map for the `PointRange` as listed below. * -* \cgalNamedParamsBegin +* \cgalNamedParamsBegin{Named Parameters 1} * \cgalParamNBegin{number_of_iterations} * \cgalParamDescription{the number of registration iterations using ICP, iterative closest point} * \cgalParamType{unsigned int} @@ -206,6 +203,12 @@ Eigen::Matrix rot(T a, T b, T c) { * \cgalParamDefault{`0`} * \cgalParamNEnd * +* \cgalParamNBegin{correspondences} +* \cgalParamDescription{an range of matching vertex-point pairs between the `source` and the `target`.} +* \cgalParamType{`ConstRange` whose value type is a pair of `boost::graph_traits::%vertex_descriptor` and the element type of `PointRange`.} +* \cgalParamDefault{empty} +* \cgalParamNEnd +* * \cgalParamNBegin{vertex_point_map} * \cgalParamDescription{a property map associating points to the vertices of `source`} * \cgalParamType{a class model of `ReadablePropertyMap` with `boost::graph_traits::%vertex_descriptor` @@ -222,24 +225,34 @@ Eigen::Matrix rot(T a, T b, T c) { * \cgalParamExtra{The geometric traits class must be compatible with the vertex point type.} * \cgalParamNEnd * \cgalNamedParamsEnd +* +* \cgalNamedParamsBegin{Named Parameters 2} +* \cgalParamNBegin{point_map} +* \cgalParamDescription{a property map associating points to the elements of the point set `target`.} +* \cgalParamType{a model of `ReadablePropertyMap` whose key type is the value type +* of the iterator of `PointRange` and whose value type is `geom_traits::Point_3`.} +* \cgalParamDefault{`CGAL::Identity_property_map`.} +* \cgalParamNEnd +* +* \cgalParamNBegin{normal_map} +* \cgalParamDescription{a property map associating normals to the elements of the point set `target`.} +* \cgalParamType{a model of `ReadablePropertyMap` whose key type is the value type +* of the iterator of `PointRange` and whose value type is `geom_traits::Vector_3`.} +* \cgalParamNEnd +* \cgalNamedParamsEnd +* */ template ::vertex_descriptor, std::size_t>>, -#endif typename NamedParameters1 = parameters::Default_named_parameters, typename NamedParameters2 = parameters::Default_named_parameters> void non_rigid_mesh_to_points_registration(TriangleMesh& source, const PointRange& target, VertexTranslationMap& vtm, VertexRotationMap& vrm, - const CorrespondenceRange &correspondences = CorrespondenceRange(), const NamedParameters1& np1 = parameters::default_values(), const NamedParameters2& np2 = parameters::default_values()) { @@ -267,6 +280,9 @@ void non_rigid_mesh_to_points_registration(TriangleMesh& source, Vertex_point_map vpm = parameters::choose_parameter(parameters::get_parameter(np1, internal_np::vertex_point), get_const_property_map(CGAL::vertex_point, source)); + typedef typename CGAL::internal_np::Lookup_named_param_def::vertex_descriptor, std::size_t>>>::reference Correspondences_type; + Correspondences_type correspondences = CGAL::parameters::choose_parameter(CGAL::parameters::get_parameter_reference(np1, CGAL::internal_np::correspondences), std::vector::vertex_descriptor, std::size_t>>()); + std::size_t idx = 0; for (auto v : vertices(source)) { X(idx, 0) = get(vpm, v).x(); @@ -590,8 +606,6 @@ static_assert(false, "Eigen library is required for non-rigid mesh registration" * as key type and a \cgal Kernel `Vector_3` as value type. * @tparam VertexRotationMap is a property map with `boost::graph_traits::%vertex_descriptor` * as key type and a \cgal Kernel `Aff_transformation_3` as value type. -* @tparam CorrespondenceRange a model of the `ConstRange` whose value type is a pair of -* `boost::graph_traits::%vertex_descriptor` and the element type of `PointRange`. * @tparam NamedParameters1 a sequence of \ref bgl_namedparameters "Named Parameters1". * @tparam NamedParameters2 a sequence of \ref bgl_namedparameters "Named Parameters2". * @@ -599,11 +613,10 @@ static_assert(false, "Eigen library is required for non-rigid mesh registration" * @param target the target triangle mesh. * @param vtm a writable vertex property map of `source` to store the translation vector of the registration. * @param vrm a writable vertex property map of `source` to store the rotation part of the registration. -* @param correspondences a `CorrespondenceRange` containing matching points between the `source` and the `target`. -* @param np1 an optional sequence of \ref bgl_namedparameters "Named Parameters1" of the `source` and the method among the ones listed below. -* @param np2 an optional sequence of \ref bgl_namedparameters "Named Parameters2" of the `target` providing a vertex point map and a vertex normal map. +* @param np1 an optional sequence of \ref bgl_namedparameters "Named Parameters 1" of the `source` and the method among the ones listed below. +* @param np2 an optional sequence of \ref bgl_namedparameters "Named Parameters 2" of the `target` providing a vertex point map and a vertex normal map as listed below. * -* \cgalNamedParamsBegin +* \cgalNamedParamsBegin{Named Parameters 1} * \cgalParamNBegin{number_of_iterations} * \cgalParamDescription{the number of registration iterations using ICP, iterative closest point} * \cgalParamType{unsigned int} @@ -634,9 +647,15 @@ static_assert(false, "Eigen library is required for non-rigid mesh registration" * \cgalParamDefault{`0`} * \cgalParamNEnd * +* \cgalParamNBegin{correspondences} +* \cgalParamDescription{a range of matching vertex pairs between the `source` and the `target`.} +* \cgalParamType{`ConstRange` whose value type is a pair of `boost::graph_traits::%vertex_descriptor` and `boost::graph_traits::%vertex_descriptor`.} +* \cgalParamDefault{empty} +* \cgalParamNEnd +* * \cgalParamNBegin{vertex_point_map} * \cgalParamDescription{a property map associating points to the vertices of `source`} -* \cgalParamType{a class model of `ReadWritePropertyMap` with `boost::graph_traits::%vertex_descriptor` +* \cgalParamType{a class model of `ReadablePropertyMap` with `boost::graph_traits::%vertex_descriptor` * as key type and `%Point_3` as value type} * \cgalParamDefault{`get_const_property_map(CGAL::vertex_point, source)`} * \cgalParamExtra{If this parameter is omitted, an internal property map for `CGAL::vertex_point_t` @@ -651,23 +670,36 @@ static_assert(false, "Eigen library is required for non-rigid mesh registration" * \cgalParamNEnd * \cgalNamedParamsEnd * +* \cgalNamedParamsBegin{Named Parameters 2} +* \cgalParamNBegin{vertex_normal_map} +* \cgalParamDescription{a property map associating normals to the vertices of `target`} +* \cgalParamType{a class model of `ReadablePropertyMap` with `boost::graph_traits::%vertex_descriptor` +* as key type and `%Vector_3` as value type} +* \cgalParamDefault{`get_const_property_map(dynamic_vertex_property_t(), target)`} +* \cgalParamExtra{If this parameter is omitted, an internal property map for `CGAL::vertex_normal_map_t` +* must be available in `TriangleMesh2`.} +* \cgalParamNEnd +* \cgalParamNBegin{vertex_point_map} +* \cgalParamDescription{a property map associating points to the vertices of `target`} +* \cgalParamType{a class model of `ReadablePropertyMap` with `boost::graph_traits::%vertex_descriptor` +* as key type and `%Point_3` as value type} +* \cgalParamDefault{`get_const_property_map(CGAL::vertex_point, target)`} +* \cgalParamExtra{If this parameter is omitted, an internal property map for `CGAL::vertex_point_t` +* must be available in `TriangleMesh2`.} +* \cgalParamNEnd +* \cgalNamedParamsEnd +* */ template ::vertex_descriptor, typename boost::graph_traits::vertex_descriptor>>, -#endif typename NamedParameters1 = parameters::Default_named_parameters, typename NamedParameters2 = parameters::Default_named_parameters> void non_rigid_mesh_to_mesh_registration(TriangleMesh1& source, const TriangleMesh2& target, VertexTranslationMap& vtm, VertexRotationMap& vrm, - const CorrespondenceRange &correspondences = CorrespondenceRange(), const NamedParameters1& np1 = parameters::default_values(), const NamedParameters2& np2 = parameters::default_values()) { @@ -687,6 +719,9 @@ void non_rigid_mesh_to_mesh_registration(TriangleMesh1& source, if (parameters::is_default_parameter::value) compute_vertex_normals(target, vnm, np2); + typedef typename CGAL::internal_np::Lookup_named_param_def::vertex_descriptor, typename boost::graph_traits::vertex_descriptor>>>::reference Correspondences_type; + Correspondences_type correspondences = CGAL::parameters::choose_parameter(CGAL::parameters::get_parameter_reference(np1, CGAL::internal_np::correspondences), std::vector::vertex_descriptor, typename boost::graph_traits::vertex_descriptor>>()); + using Gt1 = typename GetGeomTraits::type; typedef std::pair Point_with_normal; @@ -704,7 +739,7 @@ void non_rigid_mesh_to_mesh_registration(TriangleMesh1& source, for (auto p : correspondences) correspondences_pts.push_back(std::make_pair(p.first, static_cast(p.second))); - non_rigid_mesh_to_points_registration(source, points, vtm, vrm, correspondences_pts, np1, parameters::point_map(Point_map()).normal_map(Normal_map())); + non_rigid_mesh_to_points_registration(source, points, vtm, vrm, np1.combine(parameters::correspondences(correspondences_pts)), parameters::point_map(Point_map()).normal_map(Normal_map())); #else static_assert(false, "Eigen library is required for non-rigid mesh registration"); diff --git a/STL_Extension/include/CGAL/STL_Extension/internal/parameters_interface.h b/STL_Extension/include/CGAL/STL_Extension/internal/parameters_interface.h index 7d735b4ed901..fe04b6160686 100644 --- a/STL_Extension/include/CGAL/STL_Extension/internal/parameters_interface.h +++ b/STL_Extension/include/CGAL/STL_Extension/internal/parameters_interface.h @@ -164,6 +164,7 @@ CGAL_add_named_parameter(region_primitive_map_t, region_primitive_map, region_pr CGAL_add_named_parameter(postprocess_regions_t, postprocess_regions, postprocess_regions) CGAL_add_named_parameter(sizing_function_t, sizing_function, sizing_function) CGAL_add_named_parameter(bbox_scaling_t, bbox_scaling, bbox_scaling) +CGAL_add_named_parameter(correspondences_t, correspondences, correspondences) CGAL_add_named_parameter(point_to_plane_energy_t, point_to_plane_energy, point_to_plane_energy) CGAL_add_named_parameter(point_to_point_energy_t, point_to_point_energy, point_to_point_energy) CGAL_add_named_parameter(as_rigid_as_possible_energy_t, as_rigid_as_possible_energy, as_rigid_as_possible_energy) From 5a4fae7131471f9d3624d1173b9608d2b5ddaec0 Mon Sep 17 00:00:00 2001 From: Sven Oesau Date: Wed, 21 Aug 2024 17:15:16 +0200 Subject: [PATCH 18/41] added std::cref to doc of correspondences --- .../CGAL/Polygon_mesh_processing/non_rigid_mesh_registration.h | 2 ++ 1 file changed, 2 insertions(+) diff --git a/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/non_rigid_mesh_registration.h b/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/non_rigid_mesh_registration.h index b7ca08c6f8e8..adfc280255bd 100644 --- a/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/non_rigid_mesh_registration.h +++ b/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/non_rigid_mesh_registration.h @@ -207,6 +207,7 @@ Eigen::Matrix rot(T a, T b, T c) { * \cgalParamDescription{an range of matching vertex-point pairs between the `source` and the `target`.} * \cgalParamType{`ConstRange` whose value type is a pair of `boost::graph_traits::%vertex_descriptor` and the element type of `PointRange`.} * \cgalParamDefault{empty} +* \cgalParamExtra{to avoid copies, this parameter can be passed using `std::cref`.} * \cgalParamNEnd * * \cgalParamNBegin{vertex_point_map} @@ -651,6 +652,7 @@ static_assert(false, "Eigen library is required for non-rigid mesh registration" * \cgalParamDescription{a range of matching vertex pairs between the `source` and the `target`.} * \cgalParamType{`ConstRange` whose value type is a pair of `boost::graph_traits::%vertex_descriptor` and `boost::graph_traits::%vertex_descriptor`.} * \cgalParamDefault{empty} +* \cgalParamExtra{to avoid copies, this parameter can be passed using `std::cref`.} * \cgalParamNEnd * * \cgalParamNBegin{vertex_point_map} From b0e53011ff0e50ea638709a2de64cb95186b23d2 Mon Sep 17 00:00:00 2001 From: Sven Oesau Date: Wed, 2 Oct 2024 19:18:32 +0200 Subject: [PATCH 19/41] added apply_non_rigid_transformation to CHANGES.md removing warnings (unused variables and signed/unsigned comparison) switching to ARAP formulation also used in Surface deformation --- Installation/CHANGES.md | 2 +- .../non_rigid_mesh_registration_example.cpp | 8 +- .../non_rigid_mesh_registration.h | 112 ++++++++++++------ 3 files changed, 83 insertions(+), 39 deletions(-) diff --git a/Installation/CHANGES.md b/Installation/CHANGES.md index 2175a174b9bc..71e2703a847d 100644 --- a/Installation/CHANGES.md +++ b/Installation/CHANGES.md @@ -182,7 +182,7 @@ Release date: June 2024 which can be used to refine a polygon mesh along an isocurve. - Added the function [`CGAL::Polygon_mesh_processing::add_bbox()`](https://doc.cgal.org/6.0/Polygon_mesh_processing/group__PkgPolygonMeshProcessingRef.html#gabaf98d2fd9ae599ff1f3a5a6cde79cf3), which enables adding a tight or extended, triangulated or not, bounding box to a face graph. -- Added two functions for non-rigid registration of mesh to mesh and mesh to point cloud [`CGAL::Polygon_mesh_processing::non_rigid_mesh_to_mesh_registration()`](https://doc.cgal.org/6.0/Polygon_mesh_processing/group__PMP__registration__grp.html#ga8f009d2c73e58129c96ec9ae7f4f365c) and [`CGAL::Polygon_mesh_processing::non_rigid_mesh_to_points_registration()`](https://doc.cgal.org/6.0/Polygon_mesh_processing/group__PMP__registration__grp.html#gafebc57d7544dd2c7c9feaaf2f24f2eda) +- Added two functions for non-rigid registration of mesh to mesh and mesh to point cloud [`CGAL::Polygon_mesh_processing::non_rigid_mesh_to_mesh_registration()`](https://doc.cgal.org/6.0/Polygon_mesh_processing/group__PMP__registration__grp.html#ga04e4101a21663bebb689de30bb7d2f4e) and [`CGAL::Polygon_mesh_processing::non_rigid_mesh_to_points_registration()`](https://doc.cgal.org/6.0/Polygon_mesh_processing/group__PMP__registration__grp.html#ga466fd5b15e5de0b65faf48947a7f2bef) as well as a function to apply a transformation [`CGAL::Polygon_mesh_processing::apply_non_rigid_transformation()`](https://doc.cgal.org/6.0/Polygon_mesh_processing/group__PMP__registration__grp.html#gac022fccce4796cba9ff710865154b127) ### [2D Triangulations](https://doc.cgal.org/6.0/Manual/packages.html#PkgTriangulation2) - **Breaking change**: the concept [`TriangulationTraits_2`](https://doc.cgal.org/6.0/Triangulation_2/classTriangulationTraits__2.html) now requires an additional functor `Compare_xy_2`. diff --git a/Polygon_mesh_processing/examples/Polygon_mesh_processing/non_rigid_mesh_registration_example.cpp b/Polygon_mesh_processing/examples/Polygon_mesh_processing/non_rigid_mesh_registration_example.cpp index 738a6fff43b4..80a83c964da4 100644 --- a/Polygon_mesh_processing/examples/Polygon_mesh_processing/non_rigid_mesh_registration_example.cpp +++ b/Polygon_mesh_processing/examples/Polygon_mesh_processing/non_rigid_mesh_registration_example.cpp @@ -53,13 +53,13 @@ int main(int argc, char** argv) { Mesh::Property_map> vrm = source.add_property_map>("v:rotation").first; Mesh::Property_map vtm = source.add_property_map("v:translation").first; - FT w1 = 1.0; + FT w1 = 2.0; FT w2 = 2.0; - FT w3 = 500; + FT w3 = 50; - PMP::non_rigid_mesh_to_mesh_registration(source, target, vtm, vrm, CGAL::parameters::point_to_point_energy(w1).point_to_plane_energy(w2).as_rigid_as_possible_energy(w3).correspondences(correspondences_mesh)); + PMP::non_rigid_mesh_to_mesh_registration(source, target, vtm, vrm, CGAL::parameters::point_to_point_energy(w1).point_to_plane_energy(w2).as_rigid_as_possible_energy(w3).correspondences(std::cref(correspondences_mesh))); PMP::apply_non_rigid_transformation(source, vtm); - CGAL::IO::write_polygon_mesh("bear" + std::to_string(w1) + "_" + std::to_string(w2) + "_" + std::to_string(w3) + ".off", source); + CGAL::IO::write_polygon_mesh("bear_" + std::to_string(w1) + "_" + std::to_string(w2) + "_" + std::to_string(w3) + ".off", source); return EXIT_SUCCESS; } \ No newline at end of file diff --git a/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/non_rigid_mesh_registration.h b/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/non_rigid_mesh_registration.h index adfc280255bd..a530f9b00b3d 100644 --- a/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/non_rigid_mesh_registration.h +++ b/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/non_rigid_mesh_registration.h @@ -28,6 +28,9 @@ #include #include +#include +#include +#include #include #include @@ -92,8 +95,6 @@ std::pair nearest_neighbor(Vertices& points, V using Search_traits = CGAL::Search_traits_adapter>>; using Neighbor_search = CGAL::Orthogonal_k_neighbor_search; using KDTree = typename Neighbor_search::Tree; - const int leaf_max_size = 10; - const int ndim = 3; Eigen_matrix_to_point_map a(points); @@ -106,7 +107,7 @@ std::pair nearest_neighbor(Vertices& points, V for (Index i = 0; i < query.rows(); ++i) { Point_3 query_pt = { query(i, 0), query(i, 1), query(i, 2) }; Neighbor_search search(kdtree, query_pt, k, 0, true, Neighbor_search::Distance(Eigen_matrix_to_point_map(points))); - std::size_t j = 0; + Index j = 0; for (auto it = search.begin(); it != search.end() && j < k; ++it) { idz(i, j) = it->first; dist(i, j) = it->second; @@ -139,6 +140,31 @@ Eigen::Matrix rot(T a, T b, T c) { return R; } +template +Eigen::Matrix rotation(std::size_t index, Visitor &v, TriangleMesh &source, const Vertices& X, const Vertices& Z, const std::set& neighbors, const std::vector &weights, std::vector> &rotations) { + using Vertex_index = typename boost::graph_traits::vertex_descriptor; + Eigen::Matrix3d cov; + cov.setZero(); + + Eigen::Vector3d x_src = X.row(index), z_src = Z.row(index); + auto n = neighbors.begin(); + auto w = weights.begin(); + + v.rotation_matrix_pre(Vertex_index(index), source); + + for (std::size_t idx = 0; (n != neighbors.end()) && (w != weights.end()); idx++, n++, w++) { + Eigen::Vector3d x_dst = X.row(*n); + Eigen::Vector3d z_dst = Z.row(*n); + Eigen::Vector3d source_edge = x_src - x_dst; + Eigen::Vector3d moving_edge = z_src - z_dst; + + cov += weights[idx] * (source_edge * moving_edge.transpose()); + v.update_covariance_matrix(cov, rotations[index]); + } + + return cov; +} + #endif } // namespace registration } // namespace internal @@ -268,6 +294,8 @@ void non_rigid_mesh_to_points_registration(TriangleMesh& source, Vertices X(num_vertices(source), 3), Y(target.size(), 3); Faces XF(num_faces(source), 3); + using Vertex_index = typename boost::graph_traits::vertex_descriptor; + using NP_helper = Point_set_processing_3_np_helper; using Point_map = typename NP_helper::Point_map; using Normal_map = typename NP_helper::Normal_map; @@ -284,20 +312,33 @@ void non_rigid_mesh_to_points_registration(TriangleMesh& source, typedef typename CGAL::internal_np::Lookup_named_param_def::vertex_descriptor, std::size_t>>>::reference Correspondences_type; Correspondences_type correspondences = CGAL::parameters::choose_parameter(CGAL::parameters::get_parameter_reference(np1, CGAL::internal_np::correspondences), std::vector::vertex_descriptor, std::size_t>>()); + using ARAP_visitor = typename CGAL::internal::Types_selectors < TriangleMesh, Vertex_point_map, SRE_ARAP>::ARAP_visitor; + using WC = typename CGAL::internal::Types_selectors < TriangleMesh, Vertex_point_map, SRE_ARAP>::Weight_calculator; + WC wc; + std::size_t idx = 0; + std::map::vertex_descriptor, std::size_t> vi; + std::vector::vertex_descriptor> iv; + std::vector > he_weights; + std::map, FT> halfedge_weights; + iv.resize(num_vertices(source)); for (auto v : vertices(source)) { X(idx, 0) = get(vpm, v).x(); X(idx, 1) = get(vpm, v).y(); X(idx, 2) = get(vpm, v).z(); + iv[idx] = v; + vi[v] = idx; idx++; } idx = 0; for (auto f : faces(source)) { - Vertex_around_face_circulator vit = Vertex_around_face_circulator(halfedge(f, source), source); - XF(idx, 0) = *vit++; - XF(idx, 1) = *vit++; - XF(idx, 2) = *vit++; + auto h = halfedge(f, source); + XF(idx, 0) = CGAL::target(h, source); + h = next(h, source); + XF(idx, 1) = CGAL::target(h, source); + h = next(h, source); + XF(idx, 2) = CGAL::target(h, source); idx++; } std::cout << std::endl; @@ -337,6 +378,22 @@ void non_rigid_mesh_to_points_registration(TriangleMesh& source, neighbors[c].insert(b); } + // Calculate edge weights + he_weights.resize(X.rows()); + for (Index i = 0; i < X.rows(); ++i) { + std::size_t vi = XF(i, 0); + he_weights[vi].resize(neighbors[vi].size()); + std::size_t idx = 0; + for (int vj : neighbors[vi]) { + auto h = halfedge(Vertex_index(vi), Vertex_index(vj), source); + assert(h.second); + he_weights[vi][idx++] = wc(h.first, source, vpm); + } + } + + ARAP_visitor visitor; + visitor.init(source, vpm); + // Non-rigid ICP Vertices Z(X); Index dim = Z.rows() * Z.cols(); @@ -442,7 +499,10 @@ void non_rigid_mesh_to_points_registration(TriangleMesh& source, //cg.setMaxIterations(1000); //cg.setTolerance(1e-6); Eigen::JacobiSVD> svd; - std::vector> Rotations(Z.rows()); + std::vector> rotations(Z.rows()); + + for (std::size_t i = 0; i < Z.rows(); i++) + rotations[i].setIdentity(); size_t coefficients_size = coefficients.size(); @@ -538,34 +598,19 @@ void non_rigid_mesh_to_points_registration(TriangleMesh& source, if (it == (iter - 1)) { // Should replace with CGAL's ARAP implementation https://github.com/CGAL/cgal/blob/master/Surface_mesh_deformation/include/CGAL/Surface_mesh_deformation.h // See also: compute_close_rotation https://github.com/CGAL/cgal/blob/master/Surface_mesh_deformation/include/CGAL/Deformation_Eigen_closest_rotation_traits_3.h + for (Index i = 0; i < Z.rows(); ++i) + rotations[i] = rotation(std::size_t(i), visitor, source, X, Z, neighbors[i], he_weights[i], rotations); + for (Index i = 0; i < Z.rows(); ++i) { - std::vector nbrs(neighbors[i].begin(), neighbors[i].end()); - Matrix A = X(nbrs, Eigen::indexing::all).rowwise() - X.row(i); - Matrix B_ = Z(nbrs, Eigen::indexing::all).rowwise() - Z.row(i); - - svd.compute(A.transpose() * B_, Eigen::ComputeFullU | Eigen::ComputeFullV); - Rotations[i] = svd.matrixV() * svd.matrixU().transpose(); - if (Rotations[i].determinant() < 0) { - Eigen::Matrix M = Eigen::Matrix3d::Identity(); - M(2, 2) = -1; - Rotations[i] = svd.matrixV() * M * svd.matrixU().transpose(); + rotations[i] = rotation(std::size_t(i), visitor, source, X, Z, neighbors[i], he_weights[i], rotations); + BX.row(i) = BX.row(i) * rotations[i].transpose(); } - } - for (Index i = 0; i < edim; ++i) { - Matrix R = Rotations[Ni(i)]; - BX.row(i) = BX.row(i) * R.transpose(); - } } - else { - // Regular matrix update is happening here (taking linearized coefficients, recreating matrix and rotating edges) - for (Index i = 0; i < edim; ++i) { - int ni = Ni(i); - Matrix R = rot(x(dim + 2 * Z.rows() + ni), - x(dim + Z.rows() + ni), - x(dim + ni)); - BX.row(i) = BX.row(i) * R.transpose(); + else + for (Index i = 0; i < Z.rows(); ++i) { + rotations[i] = rotation(std::size_t(i), visitor, source, X, Z, neighbors[i], he_weights[i], rotations); + BX.row(i) = BX.row(i) * rotations[i].transpose(); } - } } idx = 0; @@ -575,7 +620,7 @@ void non_rigid_mesh_to_points_registration(TriangleMesh& source, /* Aff_transformation_3 t1(CGAL::TRANSLATION, CGAL::ORIGIN - x); Aff_transformation_3 t2(CGAL::TRANSLATION, -(CGAL::ORIGIN - z));*/ - const auto& r = Rotations[idx]; + const auto& r = rotations[idx]; Aff_transformation_3 rota(r(0, 0), r(0, 1), r(0, 2), 0, r(1, 0), r(1, 1), r(1, 2), 0, r(2, 0), r(2, 1), r(2, 2), 0, @@ -795,7 +840,6 @@ void apply_non_rigid_transformation(TriangleMesh& mesh, NamedParameters, Default_vector_map>::type; using Point = typename Gt::Point_3; - using Vector = typename Gt::Vector_3; Vertex_point_map vpm = parameters::choose_parameter(parameters::get_parameter(np, internal_np::vertex_point), get_property_map(CGAL::vertex_point, mesh)); Vertex_normal_map vnm = parameters::choose_parameter(parameters::get_parameter(np, internal_np::vertex_normal_map), get(Vector_map_tag(), mesh)); From 357d3453c554fbe2788febc43db27a73fdad9c47 Mon Sep 17 00:00:00 2001 From: Sven Oesau Date: Wed, 2 Oct 2024 19:45:47 +0200 Subject: [PATCH 20/41] bug fixes --- .../non_rigid_mesh_registration_example.cpp | 2 +- .../Polygon_mesh_processing/non_rigid_mesh_registration.h | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/Polygon_mesh_processing/examples/Polygon_mesh_processing/non_rigid_mesh_registration_example.cpp b/Polygon_mesh_processing/examples/Polygon_mesh_processing/non_rigid_mesh_registration_example.cpp index 80a83c964da4..5aa632b88eda 100644 --- a/Polygon_mesh_processing/examples/Polygon_mesh_processing/non_rigid_mesh_registration_example.cpp +++ b/Polygon_mesh_processing/examples/Polygon_mesh_processing/non_rigid_mesh_registration_example.cpp @@ -18,7 +18,7 @@ using FT = K::FT; namespace PMP = CGAL::Polygon_mesh_processing; -int main(int argc, char** argv) { +int main(int, char**) { const std::string source_fn = CGAL::data_file_path("meshes/bear.off"); const std::string target_fn = CGAL::data_file_path("meshes/bear_bis.off"); const std::string corr_fn = "data/bear_bear_bis.corr"; diff --git a/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/non_rigid_mesh_registration.h b/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/non_rigid_mesh_registration.h index a530f9b00b3d..56b0ea72f352 100644 --- a/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/non_rigid_mesh_registration.h +++ b/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/non_rigid_mesh_registration.h @@ -18,6 +18,7 @@ #ifdef CGAL_EIGEN3_ENABLED #include +#include #include #include #include @@ -48,11 +49,10 @@ namespace registration { #ifdef CGAL_EIGEN3_ENABLED using ScalarType = double; -using Vertex = Eigen::Vector; using Vertices = Eigen::Matrix; using Faces = Eigen::Matrix; using Matrix = Eigen::Matrix; -using Vector = Eigen::Vector; +using Vector = Eigen::VectorXd; using SparseMat = Eigen::SparseMatrix; using SparseTriplet = Eigen::Triplet; From ab51f7340274da2285314b0e4ee6b65374247e1b Mon Sep 17 00:00:00 2001 From: Sven Oesau Date: Wed, 2 Oct 2024 20:25:46 +0200 Subject: [PATCH 21/41] removed unused variable --- .../CGAL/Polygon_mesh_processing/non_rigid_mesh_registration.h | 2 +- .../package_info/Polygon_mesh_processing/dependencies | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/non_rigid_mesh_registration.h b/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/non_rigid_mesh_registration.h index 56b0ea72f352..959da4529315 100644 --- a/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/non_rigid_mesh_registration.h +++ b/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/non_rigid_mesh_registration.h @@ -320,7 +320,7 @@ void non_rigid_mesh_to_points_registration(TriangleMesh& source, std::map::vertex_descriptor, std::size_t> vi; std::vector::vertex_descriptor> iv; std::vector > he_weights; - std::map, FT> halfedge_weights; + iv.resize(num_vertices(source)); for (auto v : vertices(source)) { X(idx, 0) = get(vpm, v).x(); diff --git a/Polygon_mesh_processing/package_info/Polygon_mesh_processing/dependencies b/Polygon_mesh_processing/package_info/Polygon_mesh_processing/dependencies index f44718e3c9bc..f750d8e39e74 100644 --- a/Polygon_mesh_processing/package_info/Polygon_mesh_processing/dependencies +++ b/Polygon_mesh_processing/package_info/Polygon_mesh_processing/dependencies @@ -31,6 +31,7 @@ Solver_interface Spatial_searching Spatial_sorting Stream_support +Surface_mesh_deformation TDS_2 TDS_3 Triangulation_2 From 7e0022c11b4a7cb037f1fb15f815d4a07c6e32db Mon Sep 17 00:00:00 2001 From: Sven Oesau Date: Fri, 4 Oct 2024 08:49:18 +0200 Subject: [PATCH 22/41] fix warning --- .../non_rigid_mesh_registration.h | 14 +------------- 1 file changed, 1 insertion(+), 13 deletions(-) diff --git a/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/non_rigid_mesh_registration.h b/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/non_rigid_mesh_registration.h index 959da4529315..1a92b25212bf 100644 --- a/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/non_rigid_mesh_registration.h +++ b/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/non_rigid_mesh_registration.h @@ -128,18 +128,6 @@ void insertSparseMatrix(const SparseMat& mat, std::vector& coeffi coefficients.push_back(SparseTriplet(start_i + it.row(), start_j + it.col(), it.value())); } -template -Eigen::Matrix rot(T a, T b, T c) { - T ca = cos(a), cb = cos(b), cc = cos(c); - T sa = sin(a), sb = sin(b), sc = sin(c); - Eigen::Matrix R; - R << cb * cc, cc* sa* sb - ca * sc, ca* cc* sb + sa * sc, - cb* sc, ca* cc + sa * sb * sc, ca* sb* sc - cc * sa, - -sb, cb* sa, ca* cb; - - return R; -} - template Eigen::Matrix rotation(std::size_t index, Visitor &v, TriangleMesh &source, const Vertices& X, const Vertices& Z, const std::set& neighbors, const std::vector &weights, std::vector> &rotations) { using Vertex_index = typename boost::graph_traits::vertex_descriptor; @@ -501,7 +489,7 @@ void non_rigid_mesh_to_points_registration(TriangleMesh& source, Eigen::JacobiSVD> svd; std::vector> rotations(Z.rows()); - for (std::size_t i = 0; i < Z.rows(); i++) + for (std::size_t i = 0; i < std::size_t(Z.rows()); i++) rotations[i].setIdentity(); size_t coefficients_size = coefficients.size(); From 36f59c3a00d5653f65a8be048657ffdb9607a44f Mon Sep 17 00:00:00 2001 From: Sven Oesau Date: Tue, 8 Oct 2024 16:39:40 +0200 Subject: [PATCH 23/41] compatibility with Eigen3.3 removed deprecation warning --- .../non_rigid_mesh_registration.h | 113 +++++++++++++++--- 1 file changed, 99 insertions(+), 14 deletions(-) diff --git a/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/non_rigid_mesh_registration.h b/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/non_rigid_mesh_registration.h index 1a92b25212bf..90b77e3c27cd 100644 --- a/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/non_rigid_mesh_registration.h +++ b/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/non_rigid_mesh_registration.h @@ -18,7 +18,6 @@ #ifdef CGAL_EIGEN3_ENABLED #include -#include #include #include #include @@ -129,8 +128,10 @@ void insertSparseMatrix(const SparseMat& mat, std::vector& coeffi } template -Eigen::Matrix rotation(std::size_t index, Visitor &v, TriangleMesh &source, const Vertices& X, const Vertices& Z, const std::set& neighbors, const std::vector &weights, std::vector> &rotations) { +void rotation(std::size_t index, Visitor &v, TriangleMesh &source, const Vertices& X, const Vertices& Z, const std::set& neighbors, const std::vector &weights, std::vector> &rotations) { using Vertex_index = typename boost::graph_traits::vertex_descriptor; + Deformation_Eigen_closest_rotation_traits_3 cr; + Eigen::Matrix3d cov; cov.setZero(); @@ -146,11 +147,23 @@ Eigen::Matrix rotation(std::size_t index, Visitor &v, TriangleMesh &sou Eigen::Vector3d source_edge = x_src - x_dst; Eigen::Vector3d moving_edge = z_src - z_dst; - cov += weights[idx] * (source_edge * moving_edge.transpose()); + cr.add_scalar_t_vector_t_vector_transpose(cov, *w, source_edge, moving_edge); v.update_covariance_matrix(cov, rotations[index]); } - return cov; + cr.compute_close_rotation(cov, rotations[index]); +} + +template +Eigen::Matrix rot(T a, T b, T c) { + T ca = cos(a), cb = cos(b), cc = cos(c); + T sa = sin(a), sb = sin(b), sc = sin(c); + Eigen::Matrix R; + R << cb * cc, cc* sa* sb - ca * sc, ca* cc* sb + sa * sc, + cb* sc, ca* cc + sa * sb * sc, ca* sb* sc - cc * sa, + -sb, cb* sa, ca* cb; + + return R; } #endif @@ -486,7 +499,13 @@ void non_rigid_mesh_to_points_registration(TriangleMesh& source, Eigen::ConjugateGradient cg; //cg.setMaxIterations(1000); //cg.setTolerance(1e-6); + +#if EIGEN_VERSION_AT_LEAST(3,4,90) + Eigen::JacobiSVD svd; +#else Eigen::JacobiSVD> svd; +#endif + std::vector> rotations(Z.rows()); for (std::size_t i = 0; i < std::size_t(Z.rows()); i++) @@ -534,8 +553,17 @@ void non_rigid_mesh_to_points_registration(TriangleMesh& source, idz(corr(i, 0)) = corr(i, 1); } +#if EIGEN_VERSION_AT_LEAST(3,4,0) Vertices P(Y(idz, Eigen::indexing::all)); // target points Vertices NP(NY(idz, Eigen::indexing::all)); // target normals +#else + Vertices P(idz.size(), 3); // target points + Vertices NP(idz.size(), 3); // target normals + for (std::size_t i = 0; i < idz.rows(); i++) { + P.row(i) = Y.row(idz(i)); + NP.row(i) = NY.row(idz(i)); + } +#endif // Filling coefficients for first part of A -> point_to_plane_energy for (Index i = 0; i < Z.rows(); ++i) { @@ -578,26 +606,83 @@ void non_rigid_mesh_to_points_registration(TriangleMesh& source, Vector x = cg.solve(A.transpose() * D * b); // Solution +#if EIGEN_VERSION_AT_LEAST(3,4,0) Z(Eigen::indexing::all, 0) = x(Eigen::seq(0, Z.rows() - 1)); Z(Eigen::indexing::all, 1) = x(Eigen::seq(Z.rows(), 2 * Z.rows() - 1)); Z(Eigen::indexing::all, 2) = x(Eigen::seq(2 * Z.rows(), 3 * Z.rows() - 1)); +#else + for (Index i = 0; i < Z.rows(); i++) { + Z(i, 0) = x(i); + Z(i, 1) = x(Z.rows() + i); + Z(i, 2) = x(2 * Z.rows() + i); + } +#endif // Update edge neighborhoods by new local rotation + bool new_arap = true; if (it == (iter - 1)) { - // Should replace with CGAL's ARAP implementation https://github.com/CGAL/cgal/blob/master/Surface_mesh_deformation/include/CGAL/Surface_mesh_deformation.h - // See also: compute_close_rotation https://github.com/CGAL/cgal/blob/master/Surface_mesh_deformation/include/CGAL/Deformation_Eigen_closest_rotation_traits_3.h - for (Index i = 0; i < Z.rows(); ++i) - rotations[i] = rotation(std::size_t(i), visitor, source, X, Z, neighbors[i], he_weights[i], rotations); + if (new_arap) { + for (Index i = 0; i < Z.rows(); ++i) + rotation(std::size_t(i), visitor, source, X, Z, neighbors[i], he_weights[i], rotations); - for (Index i = 0; i < Z.rows(); ++i) { - rotations[i] = rotation(std::size_t(i), visitor, source, X, Z, neighbors[i], he_weights[i], rotations); - BX.row(i) = BX.row(i) * rotations[i].transpose(); + for (Index i = 0; i < edim; ++i) { + BX.row(i) = BX_original.row(i) * rotations[Ni(i)].transpose(); } + } + else { + for (Index i = 0; i < Z.rows(); ++i) { +#if EIGEN_VERSION_AT_LEAST(3,4,0) + std::vector nbrs(neighbors[i].begin(), neighbors[i].end()); + Matrix A = X(nbrs, Eigen::indexing::all).rowwise() - X.row(i); + Matrix B_ = Z(nbrs, Eigen::indexing::all).rowwise() - Z.row(i); +#else + Matrix A(neighbors[i].size(), 3); + Matrix B_(neighbors[i].size(), 3); + auto xi = X.row(i); + auto zi = Z.row(i); + auto nit = neighbors[i].begin(); + for (Index j = 0; j < neighbors[i].size(); j++, nit++) { + A.row(j) = X.row(*nit) - xi; + B_.row(j) = Z.row(*nit) - zi; + } +#endif + +#if EIGEN_VERSION_AT_LEAST(3,4,90) + svd.compute(A.transpose() * B_); +#else + svd.compute(A.transpose() * B_, Eigen::ComputeFullU | Eigen::ComputeFullV); +#endif + + rotations[i] = svd.matrixV() * svd.matrixU().transpose(); + if (rotations[i].determinant() < 0) { + Eigen::Matrix M = Eigen::Matrix3d::Identity(); + M(2, 2) = -1; + rotations[i] = svd.matrixV() * M * svd.matrixU().transpose(); + } + } + for (Index i = 0; i < edim; ++i) { + Matrix R = rotations[Ni(i)]; + BX.row(i) = BX.row(i) * R.transpose(); + } + } } else - for (Index i = 0; i < Z.rows(); ++i) { - rotations[i] = rotation(std::size_t(i), visitor, source, X, Z, neighbors[i], he_weights[i], rotations); - BX.row(i) = BX.row(i) * rotations[i].transpose(); + if (new_arap) { + for (Index i = 0; i < Z.rows(); ++i) + rotation(std::size_t(i), visitor, source, X, Z, neighbors[i], he_weights[i], rotations); + + for (Index i = 0; i < edim; ++i) + BX.row(i) = BX_original.row(i) * rotations[Ni(i)].transpose(); + } + else { + // Regular matrix update is happening here (taking linearized coefficients, recreating matrix and rotating edges) + for (Index i = 0; i < edim; ++i) { + int ni = Ni(i); + Matrix R = rot(x(dim + 2 * Z.rows() + ni), + x(dim + Z.rows() + ni), + x(dim + ni)); + BX.row(i) = BX.row(i) * R.transpose(); + } } } From d328aacb78ff9527eaea0cbbd3e5faae46950ae4 Mon Sep 17 00:00:00 2001 From: Sven Oesau Date: Wed, 9 Oct 2024 09:49:51 +0200 Subject: [PATCH 24/41] fix warnings --- .../Polygon_mesh_processing/non_rigid_mesh_registration.h | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/non_rigid_mesh_registration.h b/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/non_rigid_mesh_registration.h index 90b77e3c27cd..a71f289015b6 100644 --- a/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/non_rigid_mesh_registration.h +++ b/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/non_rigid_mesh_registration.h @@ -141,7 +141,7 @@ void rotation(std::size_t index, Visitor &v, TriangleMesh &source, const Vertice v.rotation_matrix_pre(Vertex_index(index), source); - for (std::size_t idx = 0; (n != neighbors.end()) && (w != weights.end()); idx++, n++, w++) { + for (; (n != neighbors.end()) && (w != weights.end()); n++, w++) { Eigen::Vector3d x_dst = X.row(*n); Eigen::Vector3d z_dst = Z.row(*n); Eigen::Vector3d source_edge = x_src - x_dst; @@ -559,7 +559,7 @@ void non_rigid_mesh_to_points_registration(TriangleMesh& source, #else Vertices P(idz.size(), 3); // target points Vertices NP(idz.size(), 3); // target normals - for (std::size_t i = 0; i < idz.rows(); i++) { + for (Index i = 0; i < idz.rows(); i++) { P.row(i) = Y.row(idz(i)); NP.row(i) = NY.row(idz(i)); } @@ -641,7 +641,7 @@ void non_rigid_mesh_to_points_registration(TriangleMesh& source, auto xi = X.row(i); auto zi = Z.row(i); auto nit = neighbors[i].begin(); - for (Index j = 0; j < neighbors[i].size(); j++, nit++) { + for (std::size_t j = 0; j < neighbors[i].size(); j++, nit++) { A.row(j) = X.row(*nit) - xi; B_.row(j) = Z.row(*nit) - zi; } From 09ca6d5c7336189c4e2d17c45bb463de8a77a7fd Mon Sep 17 00:00:00 2001 From: Sven Oesau Date: Wed, 9 Oct 2024 16:12:17 +0200 Subject: [PATCH 25/41] making it easy to switch between both arap terms --- .../non_rigid_mesh_registration_example.cpp | 20 ++++++++++++++----- .../non_rigid_mesh_registration.h | 3 ++- 2 files changed, 17 insertions(+), 6 deletions(-) diff --git a/Polygon_mesh_processing/examples/Polygon_mesh_processing/non_rigid_mesh_registration_example.cpp b/Polygon_mesh_processing/examples/Polygon_mesh_processing/non_rigid_mesh_registration_example.cpp index 5aa632b88eda..5b5fe2af64b3 100644 --- a/Polygon_mesh_processing/examples/Polygon_mesh_processing/non_rigid_mesh_registration_example.cpp +++ b/Polygon_mesh_processing/examples/Polygon_mesh_processing/non_rigid_mesh_registration_example.cpp @@ -9,6 +9,7 @@ #include #include +#include using K = CGAL::Exact_predicates_inexact_constructions_kernel; using Mesh = CGAL::Surface_mesh; @@ -41,7 +42,6 @@ int main(int, char**) { if (corr.is_open()) { std::size_t v0, v1; while (corr >> v0 >> v1) { - std::cout << v0 << " " << v1 << std::endl; correspondences_mesh.push_back(std::make_pair(*(source.vertices_begin() + v0), *(target.vertices_begin() + v1))); } } @@ -53,13 +53,23 @@ int main(int, char**) { Mesh::Property_map> vrm = source.add_property_map>("v:rotation").first; Mesh::Property_map vtm = source.add_property_map("v:translation").first; - FT w1 = 2.0; - FT w2 = 2.0; - FT w3 = 50; + FT w1 = 0.2; + FT w2 = 0.2; + FT w3 = 5000; + new_arap = true; + + std::ostringstream out; + out.precision(2); + if (new_arap) + out << "bear_" << std::fixed << w1 << "_" << w2 << "_" << w3 << "_new.off"; + else + out << "bear_" << std::fixed << w1 << "_" << w2 << "_" << w3 << "_old.off"; + + std::cout << std::endl << out.str() << std::endl; PMP::non_rigid_mesh_to_mesh_registration(source, target, vtm, vrm, CGAL::parameters::point_to_point_energy(w1).point_to_plane_energy(w2).as_rigid_as_possible_energy(w3).correspondences(std::cref(correspondences_mesh))); PMP::apply_non_rigid_transformation(source, vtm); - CGAL::IO::write_polygon_mesh("bear_" + std::to_string(w1) + "_" + std::to_string(w2) + "_" + std::to_string(w3) + ".off", source); + CGAL::IO::write_polygon_mesh(out.str(), source); return EXIT_SUCCESS; } \ No newline at end of file diff --git a/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/non_rigid_mesh_registration.h b/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/non_rigid_mesh_registration.h index a71f289015b6..edbcd2b64b8a 100644 --- a/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/non_rigid_mesh_registration.h +++ b/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/non_rigid_mesh_registration.h @@ -41,6 +41,8 @@ #include +bool new_arap = true; + namespace CGAL { namespace Polygon_mesh_processing { namespace internal { @@ -619,7 +621,6 @@ void non_rigid_mesh_to_points_registration(TriangleMesh& source, #endif // Update edge neighborhoods by new local rotation - bool new_arap = true; if (it == (iter - 1)) { if (new_arap) { for (Index i = 0; i < Z.rows(); ++i) From a093496241db5ce678433007ae176cf449f34aa6 Mon Sep 17 00:00:00 2001 From: Sven Oesau Date: Wed, 16 Oct 2024 13:20:51 +0200 Subject: [PATCH 26/41] changes following review --- .../data/bear_bear_bis.corr | 12 +- .../data/bear_bis_simple.off | 7005 +++++++++++++++++ .../data/bear_simple.off | 7005 +++++++++++++++++ .../non_rigid_mesh_registration_example.cpp | 11 +- .../non_rigid_mesh_registration.h | 58 +- .../internal/parameters_interface.h | 6 +- .../include/CGAL/Surface_mesh_deformation.h | 8 +- 7 files changed, 14058 insertions(+), 47 deletions(-) create mode 100644 Polygon_mesh_processing/examples/Polygon_mesh_processing/data/bear_bis_simple.off create mode 100644 Polygon_mesh_processing/examples/Polygon_mesh_processing/data/bear_simple.off diff --git a/Polygon_mesh_processing/examples/Polygon_mesh_processing/data/bear_bear_bis.corr b/Polygon_mesh_processing/examples/Polygon_mesh_processing/data/bear_bear_bis.corr index 671a6140f512..21b0a725ac10 100644 --- a/Polygon_mesh_processing/examples/Polygon_mesh_processing/data/bear_bear_bis.corr +++ b/Polygon_mesh_processing/examples/Polygon_mesh_processing/data/bear_bear_bis.corr @@ -1,6 +1,6 @@ -8311 3104 -7094 7161 -7642 4861 -4292 51 -5651 6476 -2481 8045 \ No newline at end of file +1136 824 +1229 1747 +1089 1426 +1914 129 +1957 144 +1714 1293 \ No newline at end of file diff --git a/Polygon_mesh_processing/examples/Polygon_mesh_processing/data/bear_bis_simple.off b/Polygon_mesh_processing/examples/Polygon_mesh_processing/data/bear_bis_simple.off new file mode 100644 index 000000000000..54c8a5816a54 --- /dev/null +++ b/Polygon_mesh_processing/examples/Polygon_mesh_processing/data/bear_bis_simple.off @@ -0,0 +1,7005 @@ +NOFF +2335 4666 0 + +-0.38801761378076455 -0.49136265273941121 -0.36664355996462694 -0.18267258215111312 -0.20387146938160128 -0.96180411295774337 +-0.37943808356756681 -0.45400794050389504 -0.37452248603821492 -0.080104639660389304 -0.00094425237627043172 -0.99678601268894684 +-0.35977916552087597 -0.46615265513547766 -0.37094388756172103 0.28721002781983934 -0.084710183496293195 -0.95411455535053613 +-0.35813430070760821 -0.42591984537793087 -0.36630062432837213 0.27685677309956669 0.2272095740583116 -0.93366275316365477 +0.17713345301598687 0.15822766495904689 0.54823881113740824 -0.4020956895657774 0.29866995510322131 0.86551447957342786 +-0.38112151666679628 -0.51334779819046406 -0.360873806221777 -0.054879396500973891 -0.43261590989350662 -0.89990650978126741 +-0.40814602934982114 -0.4930689961343302 -0.35751255153273465 -0.56639843056464256 -0.21308546067503695 -0.79610765873895306 +-0.35000799999999999 -0.503104 -0.35540100000000002 0.35253891810556542 -0.3891008853273345 -0.8510680420850274 +0.21292721235260187 0.15690794410082465 0.56045910180681591 -0.10924250142809935 0.31249243408055871 0.94361780108481386 +-0.34262627408452029 -0.47732625793896799 -0.3612767143592851 0.45847674225648982 -0.15194906313972001 -0.87562009971267651 +0.30619534940467608 0.11077883989269649 0.55842436039734455 0.41357692681881397 0.28319386280057707 0.86530651313577522 +0.26157941963056341 0.14278093871093933 0.56352507942290642 0.20672008642465398 0.31611441426876924 0.92592574376139714 +-0.32550520613161305 -0.49808054809917601 -0.34434284328733589 0.53575870516249147 -0.29556792748095556 -0.79095019444161152 +-0.4136920401300192 -0.45724381217406262 -0.35527370608922609 -0.6909053360705697 -0.018393565100096786 -0.72271121020233364 +-0.41749843612982535 -0.41127093658209835 -0.34813532458575536 -0.63336051376268598 0.23263563279147542 -0.73806173316462909 +-0.39804979511596572 -0.44627734714948925 -0.36746893331905228 -0.45853957197599471 0.10457486633211331 -0.88249960808132499 +-0.32062746800466657 -0.43726898657781593 -0.34605253192591878 0.60185350820426387 0.12360786154327563 -0.788982541775747 +-0.38989132842763036 -0.40397049814392894 -0.36052258318840807 -0.15321417028774426 0.36852403126602373 -0.91690536938250988 +0.24178736062967501 0.1260576109630841 0.56563631633242084 -0.095417084397396976 -0.020742270406169324 0.99522125089022151 +-0.35870050604559278 -0.38421425778004725 -0.34429698465844738 0.27085471319407622 0.58267935115294589 -0.76623919116718164 +-0.33081379635184099 -0.40640627590136813 -0.34333756727640669 0.51109320581888584 0.39470800094417363 -0.76353737888621287 +-0.38794930776043635 -0.55899802012984889 -0.32633783323035703 0.046755753825416205 -0.72332088289282348 -0.68892728197928377 +-0.42471053802659053 -0.53292194076713262 -0.32880137559190481 -0.64275602999982517 -0.25362033877670681 -0.72287025783168879 +0.26110716355593533 0.17386963672926667 0.54154039480422611 0.36040061618686647 0.68873848352799283 0.62908719360648868 +0.23005602269293543 0.17376915107984006 0.55007552604847332 0.062814911675109192 0.65867764816498731 0.7497986680963693 +-0.36236401326416279 -0.53252008709907961 -0.34497628965192717 0.25941698102158761 -0.57518936000152665 -0.77579638443259025 +0.2008653819488459 0.17338307166737213 0.54807922954957511 -0.16882265394585977 0.6332577064620184 0.75530364008201412 +-0.33592419247076677 -0.54582871770351948 -0.31739345021551291 0.42501595844656098 -0.67380523793207592 -0.60444018430366608 +0.28701151658806046 0.15158319824156519 0.54618497519422604 0.45805370108809934 0.57046197782385211 0.68173304069613128 +-0.32638219112741085 -0.52229254220260546 -0.33081561320180702 0.51405185710580592 -0.50563649383337084 -0.69287980509606972 +-0.38472425711942304 -0.37414675278566856 -0.34079596061653888 0.0050091580098129409 0.65113823064978693 -0.75894262821526726 +-0.42613289387467657 -0.57840466219184605 -0.29899768021567485 -0.31579254397154322 -0.7497210219002548 -0.58154402971126673 +-0.41648645963461861 -0.55041659922535957 -0.32696111634877317 -0.38413544764600899 -0.51888882568335049 -0.76367162081797557 +-0.28000344585519449 -0.48189688923335228 -0.31112128417797408 0.56700402273732076 -0.23378197524522942 -0.7898432922106351 +0.32047807010316343 0.11518457961250181 0.54756421689277146 0.60567315748977124 0.38825518656593172 0.69456312628948591 +0.19934249643890184 0.14025890719044143 0.55895415290744521 -0.27960505320247736 -0.0086913301641673348 0.96007576524127358 +-0.43201127215704893 -0.42846933219819894 -0.33254845119490728 -0.79572575239997678 0.066765544633432483 -0.60196585369711131 +-0.2708010106880992 -0.46002493879447831 -0.30788513803177348 0.59349927512158063 0.0073087917203677058 -0.80480133697313572 +-0.4422226028263192 -0.37751307866210393 -0.30652367374239464 -0.75655542165640388 0.22659181921233437 -0.61341669477472305 +-0.41157208798448736 -0.36643503011789702 -0.32962370566453891 -0.38663367245252955 0.52689488568988718 -0.75689905717982686 +-0.32447921938105379 -0.38283853123222528 -0.32154170104181767 0.51640227831097141 0.58558491104538513 -0.62483517739577255 +-0.39441562482187759 -0.35278490091383241 -0.32121831890248226 -0.039070383601503125 0.79443659724114202 -0.60608910078399103 +0.31902580797193536 0.079042001000156736 0.55652075260189215 0.39978309679767027 -0.033469854048802879 0.91599849584200532 +-0.35736868706769925 -0.36307907414930007 -0.32180278651038907 0.29605696997443609 0.74021136986713076 -0.60368650676405011 +-0.042539688477986212 -0.2124471414587602 -0.31892486231255635 -0.020469154080107785 -0.18536842682730845 -0.98245588199512224 +-0.080410470016872154 -0.1957044210485871 -0.31893722822647841 -0.16713366594139764 -0.17311389157662485 -0.9706172872209653 +0.18545942565029794 0.11503601022971388 0.55053308906628784 -0.33756342835063335 -0.20633609739930747 0.91840968350197094 +0.0048469266065294669 -0.18432561835380068 -0.3213591532641607 0.092792790223423821 -0.095942056393649347 -0.99105227909404936 +0.30100090582083067 0.09252935962527567 0.56389417342780634 0.25097059505755637 -0.058933757796464613 0.96619903364081439 +0.27898922397446402 0.089721237908755747 0.56366473494192992 -0.053826104408276759 -0.16730243234946121 0.98443519167804194 +-0.067625454470606527 -0.18027254851875618 -0.3221709625845281 -0.07015608282360547 -0.058382573960030743 -0.99582608878290035 +0.040892393034617225 -0.11910578487499457 -0.31916877337688954 0.16075960360104202 -0.030282965354593676 -0.98652891080767036 +0.22951668289301141 0.1006747667715624 0.55865861428678343 -0.20240715077111726 -0.23976426889560667 0.94949694084692737 +-0.11531972457660046 -0.1097166923334969 -0.31703872620882612 -0.21608614400902496 0.014061667811603531 -0.9762730396081144 +-0.083971159475037638 -0.1145940976404729 -0.32191132936289629 -0.081944300479331489 0.010986781848420732 -0.99657635043360726 +-0.051832148458643701 -0.052101671068093935 -0.32214712336468848 -0.039268060472929404 0.048161527420546558 -0.99806737583352267 +0.2587547987072264 0.066034957180856946 0.55465938320146568 -0.16175739504572728 -0.28413064487550549 0.94504196826947839 +0.0040981589471216218 -0.1095736345223024 -0.32219930424218424 0.040350262220741444 -0.0041528437207298732 -0.99917696642173881 +-0.086078038992485117 -0.043735952667903866 -0.31860676484822037 -0.15810414873616738 0.10917806301122247 -0.98136803937642558 +0.037004899441484246 -0.087628150528365284 -0.32034831108846712 0.15376614096772562 0.050859864936822631 -0.98679747062429268 +-9.8292228631446932e-05 -0.047256196593442823 -0.32207308138285951 0.063635869823928826 0.066889280893052711 -0.99572902949214159 +0.26366530233863783 0.18465832394690285 0.51974100444829596 0.43942799089840567 0.84662621430970331 0.30021174870183048 +0.23293902440650255 0.19296963432142533 0.52303382706332024 0.14770557887732014 0.89513989824841711 0.42060388078610172 +0.029252017151999821 -0.048841654593785311 -0.31853814239148343 0.19501168670087746 0.13353355495241534 -0.97166827248390131 +0.20697806840226618 0.1943584049831735 0.52155510459145227 -0.082405640217488973 0.90197662771862397 0.42384840864356726 +0.29997983392926464 0.15388964161385005 0.53101427776820509 0.60962637338930736 0.67819858389134779 0.41036857296334395 +-0.051277154458058527 -0.023348579800171798 -0.31946714732933612 -0.061979471771289443 0.16296162205630738 -0.98468373339653026 +0.084128030174149632 -0.057956905829687835 -0.3050124756857398 0.18658280944113378 0.12780384661536937 -0.97409087461661847 +0.16696168736966227 0.17642725507676738 0.53231630807972818 -0.50498857590986901 0.6317602131665816 0.58810336783616335 +-0.0008575161588743746 -0.020399512083713101 -0.31858884364335449 0.093612912823078431 0.1962757202884271 -0.97606990742366284 +-0.4001625159842368 -0.58208753545476044 -0.29654021875167735 0.070594915618076237 -0.86495820209419927 -0.49685376774142204 +-0.44533544404527858 -0.55395586323017887 -0.30387036415972024 -0.64916657990090276 -0.34835481037878668 -0.67618908422550306 +0.16837590483016782 0.13625791954976657 0.5460483686109302 -0.50152177047510116 0.0036957749180231312 0.86513713074129195 +0.1474196768402401 0.14536245295156225 0.52917705690316574 -0.6823655753660417 0.20297541202785063 0.70226647625206717 +-0.43729454784370869 -0.48653275546088182 -0.32658406665979989 -0.76745607729849186 -0.068883364338213043 -0.63739018782458567 +-0.26714864127716309 -0.50014504764254641 -0.2934643748998973 0.55764044239939548 -0.37567263040712023 -0.74020754641087105 +0.13110050119744965 0.083747150813392901 0.51633261029194721 -0.74853690549436391 -0.18856702263057168 0.63571611517182991 +-0.23537284681807499 -0.47831591789507188 -0.28014227494947241 0.54233198864322163 -0.18485694882892997 -0.81957545263627007 +0.33038824395990246 0.079918118665917109 0.54936252847399392 0.64258582036685863 0.0082058618145792479 0.7661697770698942 +-0.26551900028738173 -0.43027063216600164 -0.29847577339293035 0.61020404290130859 0.2455895053648493 -0.75321764509439537 +-0.47299875517209067 -0.3611749492426819 -0.2597839860747353 -0.77628747257647812 0.25840416303899855 -0.57498265055994391 +-0.26295974958430057 -0.41120349612933071 -0.28713989052067251 0.50842239990637339 0.42474132308932028 -0.74906706758058539 +-0.25949512738766389 -0.3950244662418515 -0.27272012434717452 0.36021337244697094 0.57121085615121825 -0.73753947970625422 +-0.34022315074791121 -0.35697465550972762 -0.3020387958653501 0.39126098245569818 0.79597386987473384 -0.461887910736406 +-0.059669922856271894 -0.31595092485382958 -0.2952018239584871 -0.12116674150704787 -0.28217814101761313 -0.95167962964666231 +-0.092838065735117992 -0.28118518202454967 -0.29974777952515524 -0.1618936343396154 -0.20806787225830453 -0.96462335224387596 +-0.038729155457211895 -0.30396714548464709 -0.30045615631241473 -0.033045503541520908 -0.21925704604554805 -0.97510734919549646 +0.01836833731844012 -0.29679126998054317 -0.30019200603752477 0.1015278552124821 -0.19002273552654017 -0.97651597764653275 +-0.1295635725538663 -0.2467908413152764 -0.29921623610804193 -0.24506763384124941 -0.1710736900130285 -0.95429327118490015 +0.072533374791535155 -0.25270250410832196 -0.29964398668376235 0.18862814505179051 -0.16061033044843295 -0.96882596200120785 +-0.055856272676020724 -0.25444489929591807 -0.30751611422662206 -0.083307851010669925 -0.19897495909543123 -0.97645725334648181 +-0.0062457561769150381 -0.25601908635170467 -0.30712784842205809 0.030531264123527625 -0.19704443833930085 -0.97991904320232937 +0.33807876385918051 0.022945684023310209 0.53342603235451369 0.64857487224882293 -0.28530119464936576 0.70565846088534057 +0.023210608992105294 -0.24634694027944126 -0.30657383767825719 0.11790697363020858 -0.15554963749164083 -0.9807661575755886 +-0.099641585520741094 -0.22672422565593431 -0.30718964011362304 -0.18383032896590024 -0.17061731532707874 -0.96803726264171719 +0.065762095366435958 -0.20552339135582454 -0.30650418038088012 0.18488844008337529 -0.11687765801096667 -0.97578474971758378 +-0.13205258306839909 -0.18386659313424669 -0.30682087948977033 -0.24014259541401098 -0.13430040641536778 -0.96140258721541294 +0.10208822803938877 -0.199056589007788 -0.29919284044684558 0.23227095726006322 -0.087495061128073051 -0.96870780769625708 +-0.19354735195287298 -0.14141635296280963 -0.29155113101820751 -0.41100400875510229 -0.055541684703568378 -0.90994001233461819 +0.32245863584423912 0.020398122170499633 0.54051999187605304 0.3477746450513563 -0.29810145808083655 0.88892537197983179 +0.30033262381207421 0.032358366796901183 0.54866904986345144 0.077896579329704743 -0.3240537294282072 0.94282623180117409 +0.27991165729081541 0.03222177577539842 0.54723588021215119 -0.1111605719921665 -0.33550840434889107 0.93545573804730886 +-0.10499728248915785 -0.14368477241539174 -0.31869240241138536 -0.20302669959279471 -0.057060623746984986 -0.97750920428917809 +-0.17284081430107268 -0.18621478680408599 -0.29603840737993459 -0.34838221289638038 -0.12416140362566516 -0.9290929875890388 +-0.15659027921775637 -0.12564792219780863 -0.30482865928363928 -0.29299058845195552 -0.037938841096402671 -0.95536231839801944 +0.30475193594746852 -0.0018979155685063809 0.53421832158546012 0.13854235759106046 -0.45329777723260856 0.88052662668944148 +0.092902790249514533 -0.12617138017929719 -0.30612895676580781 0.21537863992179909 -0.028961697512825832 -0.97610105088695176 +0.1165969613916655 -0.13149396157358539 -0.30122774262354646 0.24863102997877315 -0.036456345841810164 -0.96791195146023312 +-0.19356324754084989 -0.088724194730973149 -0.29186013294370766 -0.41703973616543749 0.011697087170470202 -0.90881298219754147 +0.11510802455600577 -0.089050574426841056 -0.30067445847511343 0.25157041358761806 0.051478427691120078 -0.96646898475316056 +-0.16277806050230664 -0.073342832666871693 -0.30200354510281918 -0.30123921679610643 0.075073633808037887 -0.95058870378882843 +0.14489522767617674 -0.11756413544136657 -0.29297297266175015 0.3523453591771295 0.0046749723760704381 -0.93585837203052402 +0.18683368525540814 0.19668519575253773 0.50313036785256349 -0.25556651214736542 0.92876149398681518 0.26849179718607719 +0.13169972372570571 0.15521262715900658 0.50065951557491228 -0.84173399388398573 0.40169855277051597 0.36072448799906465 +-0.14493154674272182 -0.024116876856698166 -0.30105876551885774 -0.27916014131748107 0.14250725914682708 -0.94961112914185197 +0.03738694211500615 -0.0025778342821380917 -0.30669961310122235 0.15599980676350292 0.15119626334216829 -0.97611666835533317 +-0.11419857420832823 0.009202131613779585 -0.30370119148352981 -0.19950139828029645 0.17262632561123525 -0.964572103987136 +0.12385762072432592 0.11353461125039918 0.50438190504242808 -0.87466444069309734 0.082922411939031687 0.47758348985831234 +-0.071027669301390539 0.027294138645014066 -0.30608805673707362 -0.071635958929038041 0.18102853657224532 -0.98086541295675644 +0.1138833459660053 -0.01470633014379219 -0.2963034525940712 0.26655143653170821 0.11349014623085102 -0.95711562435861564 +0.086367613855104941 0.0087440806805527682 -0.30080128335520684 0.20378284070571134 0.1310979033341029 -0.97019889382296909 +-0.018162079761334882 0.034265213633491332 -0.30617014011888027 0.075837684209226652 0.20132542669570672 -0.976584209487115 +0.3473369821139109 0.038582609575685378 0.52573791980452822 0.86135428687660542 -0.072383890527377093 0.50282140454779267 +0.14481888805593462 0.089164835337209425 0.52630557426874081 -0.51306568693593069 -0.12750170960385768 0.84882678735832506 +-0.084920550185286769 0.056778870924595548 -0.2993109230111351 -0.15495326424916392 0.19422251184719552 -0.96864188521367112 +-0.050121431956558493 0.067572458843314864 -0.3011697443622921 -0.059244741868165772 0.18806537518561334 -0.98036803049531807 +0.17107795454726585 0.052165777222626747 0.52751038941206785 -0.3503467700552047 -0.28300121657774391 0.8928423444972815 +-0.013446057025748538 0.10084568281882136 -0.29411073030201834 0.021072149346587625 0.27435665598441378 -0.96139710309474369 +0.025123177256126672 0.06886945756072349 -0.3007481028889889 0.11971930620143274 0.19315025975162783 -0.97383790482837862 +0.21115675735644646 0.019901407028166673 0.5289564767895798 -0.23786150777558021 -0.32717204017773421 0.91453833120578754 +0.14710840226222421 -0.79548548836751742 -0.26940241703095202 -0.32000159984715137 -0.2944595712011554 -0.90049571738198475 +0.19748994308412882 -0.80264642402836572 -0.27226121829286987 0.053112163483983746 -0.2397606517994719 -0.96937811401885021 +0.15167654398232622 -0.77656860491470936 -0.27162308160991877 -0.20919364006271823 0.17239984486809531 -0.9625571746378323 +0.194858 -0.78397600000000001 -0.27302999999999999 0.09880436446779621 0.12416596432402513 -0.98732999086708584 +0.19096182357753549 0.00074310105016206496 0.5161608274639029 -0.34743988861717601 -0.43367338180875087 0.83139215879646444 +0.2188971473498324 -0.78620368584316946 -0.26768194951291174 0.37090443905608994 0.11406993483520632 -0.92163872914237877 +-0.42163797478661547 -0.59167944069054879 -0.272816438543796 -0.10073818903913882 -0.94016936923655448 -0.32547407641539455 +0.2980007509526581 -0.024540864742854746 0.51970744417908832 0.14669935943809279 -0.71916604270855489 0.67917560391652032 +-0.37101829759894911 -0.58406563285234514 -0.27597092935526979 0.26873190389895385 -0.90043726180852346 -0.3420466362553683 +0.25738728708425951 -0.010336782746377948 0.52752662616991663 -0.13099065852980871 -0.48694981133214499 0.86355157843727859 +-0.32580593118036338 -0.5764323505913912 -0.25064787107160846 0.28765907407684099 -0.91954835525004353 -0.26773695945497367 +-0.47127265287889042 -0.51453168406518479 -0.27689003899394393 -0.82609203025243239 -0.0095440968839712367 -0.56345440611293818 +-0.26772144268326875 -0.52115278323470149 -0.28014624731839904 0.51350639403532816 -0.5382276341608152 -0.66829798526591855 +0.24253243533878052 0.20019842100392188 0.48397462870104552 0.29086094456825656 0.91855173178136607 0.2676987616077347 +-0.4826322636783873 -0.47574803645053798 -0.25916691510525247 -0.84298415894238943 0.026787818773243932 -0.53727099357546204 +-0.23398716196406827 -0.44052391242530048 -0.27899773315821585 0.55694583368383477 0.18323580954814564 -0.81008393172649329 +0.0042272335138845707 -0.38728955365850021 -0.27256403449160682 0.054066728800637238 -0.38741714789720294 -0.92031773988769505 +-0.43400889243269447 -0.36264192020187058 -0.30825271408641752 -0.59494512772545449 0.49304501793531863 -0.63478099001537847 +-0.28011524890321743 -0.37664072419650435 -0.27147485954557693 0.39095473706759415 0.68297584751506213 -0.61700760552483558 +-0.060519708501320157 -0.37443361625072979 -0.27549688906934766 -0.12325014283009576 -0.36081755975002688 -0.92445664628926594 +-0.10021393277111079 -0.35342347826395371 -0.27621689535693883 -0.20213989809744978 -0.33998613724803256 -0.91844917555426808 +-0.016869976364230488 -0.33243308735666766 -0.29317279393077667 -0.0012160826649068629 -0.29139078084277192 -0.95660333157625577 +0.14849889813413003 0.18110072009522291 0.49244711152170872 -0.6337260668280591 0.73458592481612817 0.24243512799235989 +0.019847957290554274 -0.34768800517287435 -0.28613043464189447 0.10833116003105089 -0.3172942258294521 -0.94211927802248874 +0.3368440326520673 0.11288116321943947 0.52880582005928178 0.79407338168097619 0.44662868595911365 0.41227452187125785 +-0.35981692794739811 -0.33743242252475064 -0.27739432593824276 0.29559516703595951 0.9013712520209598 -0.31647016171378689 +0.060804919976718733 -0.32711379970168103 -0.28535879135651299 0.20872492248506719 -0.265547007627839 -0.94123253953181141 +0.35082119238840198 0.080073636063529907 0.5212257982636781 0.9238691519998703 0.1179256041416622 0.36408699766795366 +-0.39068048379848896 -0.33822900022982078 -0.29914830865560627 0.074898003599468632 0.86917937163040948 -0.4887918871963613 +-0.14156211464030777 -0.32520342528059687 -0.27596776366725273 -0.30264090218272566 -0.30801665183704185 -0.90196132207380408 +0.11454729849101075 -0.27827196576155444 -0.2833660734361878 0.2852450683307044 -0.222903869807481 -0.93217440203958679 +-0.19128216947936921 -0.2600831303154213 -0.27220898940993715 -0.46173186944495731 -0.20786575653664108 -0.86231984089333968 +-0.15885883988037469 -0.28109638483506261 -0.28177937301824779 -0.34727702293175994 -0.23399324852728728 -0.90810012057443379 +0.12782279822272571 -0.23353844331801393 -0.28793737901567229 0.31208611856835572 -0.14694478824880733 -0.93862105442156551 +-0.21084921227228029 -0.17789759504617741 -0.27863898526795472 -0.52062836974257976 -0.1258782989427463 -0.84445293206576311 +0.15100656580931726 -0.19378781837881509 -0.28558940119365472 0.34919958211311347 -0.11378578040441129 -0.93011421235770064 +0.34654910091226743 0.010680346844407773 0.51195613399721118 0.82914003824585014 -0.44131958862136972 0.34316733189034065 +0.15214649423226023 0.019611149651372561 0.5069243657065321 -0.56299408814028185 -0.4061938948270768 0.71975285794799193 +0.32274297432641097 -0.01658558166904392 0.51781277040074536 0.50828729199879796 -0.69025876359417759 0.51496297738183672 +-0.21838698776800902 -0.13574822842030199 -0.27765945398864234 -0.55244500677323971 -0.034844148581864298 -0.8328207489015389 +0.18362997696071254 -0.17736222532501822 -0.27283792465085216 0.45189739683327351 -0.073090418778770427 -0.88907060091876555 +-0.21747907971753164 -0.066924398944940622 -0.27741302322456962 -0.53844348206304393 0.052632707520290055 -0.84101629872607586 +0.17643559975831233 -0.11328068568218902 -0.2781485559997407 0.42622703848380233 0.0088515704840250783 -0.9045729165552624 +0.22661918609128895 -0.046268815800760865 0.49552901038132746 -0.24092591537348948 -0.82042013696270832 0.51852242204897669 +-0.19913633233041178 -0.047322522533176592 -0.28594726125313447 -0.42151573267494119 0.12612440569963132 -0.89800730586917965 +0.14686185745615285 -0.026003509153058768 -0.28648548502293947 0.36248239283169348 0.098065297864434284 -0.92681697882687164 +0.21097949323403103 -0.027566948217441045 0.50753277643298778 -0.33849188463117813 -0.58745430592874726 0.73506508724371278 +0.18513344838360923 -0.053510651828018174 -0.2723707071155862 0.44081507762352434 0.05406880003600846 -0.89596798614818385 +-0.17582514352925549 -0.0036178581199237669 -0.28725785000174198 -0.3556531505214483 0.18350703663814946 -0.91642566748670506 +0.14370983555275074 0.035983323846072057 -0.27657863096583596 0.36760293696267338 0.20857406667382872 -0.90629186217661584 +0.16893731234861792 -2.979015004989094e-05 -0.27289268459571075 0.42947943810260814 0.17271818189135041 -0.8864061382296573 +0.28251693705742215 0.17508378700915084 0.50499943368467348 0.6191781502447109 0.77543161851421671 0.12379104680048747 +0.17486537877412275 0.1987678614680907 0.47973008226666247 -0.34454960634966958 0.92172657240842393 0.17806092912401134 +0.12110038493444253 0.069617788872307074 -0.27656540596854362 0.31050040312945509 0.245308684779975 -0.91837527668593344 +0.15909769461160325 0.19798601935108834 0.43784739965690433 -0.45528569119173234 0.87516880340295578 0.16369027138564204 +0.30991696149286341 0.15194369699993709 0.51006697325155026 0.69569739483922177 0.69986507411104448 0.16184564514827715 +-0.14675822340435607 0.061046184871793502 -0.28451466266787784 -0.30267686528114746 0.22118447940780683 -0.9270728888780404 +-0.10609682942362553 0.098895252093458785 -0.28542317694720293 -0.21985855431655399 0.27299921211952582 -0.93655413419404276 +0.12573150555147364 0.16022988231380705 0.45608143605596518 -0.86919965017792522 0.48568702795283325 0.092736610941504816 +0.084454676128352543 0.1146374025433317 -0.27473834689522059 0.25120728733112485 0.2930171021995448 -0.92251605764361588 +0.031728831208045774 0.13956796032889829 -0.27745686668657654 0.13294505909416698 0.32993706135681689 -0.93459464304353712 +-0.068572701374849193 0.1073161778366063 -0.2896564140330411 -0.11383159418036377 0.29618758657621724 -0.94832235116784669 +-0.032642426622785846 0.14968180242427875 -0.27716545657625458 -0.021584326283021042 0.38604907178611264 -0.92222569419420808 +0.20749717827338729 -0.82531592111337482 -0.26201180558141951 0.11467996613067061 -0.65940987393403172 -0.74298527813582715 +0.22415705903996935 -0.81215954936027801 -0.2637117478298005 0.41573546197206174 -0.33814402213818251 -0.84428824814223757 +0.25042776120609095 -0.80261619248756455 -0.2500643180773639 0.67280540393598098 -0.13243871590702055 -0.72786872096789612 +0.18014224013362301 -0.75867420774930916 -0.26630267706262556 0.0069659331592972374 0.41147922423098321 -0.91139251906162166 +-0.45256533638263563 -0.58897048772628402 -0.26082231218344609 -0.29066771842982325 -0.80390782141357953 -0.51888774521361869 +-0.39097323041962478 -0.59337482268063724 -0.26147791944922633 0.1454246713365594 -0.96418516817744493 -0.22180763384808483 +0.12757747192216851 0.044278199703984104 0.49417815347517818 -0.81329724798900926 -0.33507686458264285 0.47567959934704918 +-0.46537674294586528 -0.57260953574724838 -0.26924115175583285 -0.61433987138028889 -0.48248418675740423 -0.62433607292987348 +-0.46377358856641049 -0.54813806586900671 -0.28410661632416634 -0.78415941907047304 -0.1879005325118244 -0.59142826730283293 +-0.34690702137214413 -0.56512712688070199 -0.29769631451156608 0.3170621675019959 -0.84069035210806431 -0.43898896775585977 +0.14423257371529385 0.0063709679418449128 0.48478356782089266 -0.70094028841734279 -0.59928708649554152 0.38670104736488309 +-0.26998102587660433 -0.55161426106064448 -0.24761192904514137 0.39430974494058246 -0.78878209131133581 -0.47153222315278565 +-0.26890148109708667 -0.53694022976852529 -0.26580093608491007 0.46461624608756613 -0.6562228424056914 -0.5945614560131639 +-0.20630620056013296 -0.50637854160606799 -0.24995393394775051 0.45839672053732827 -0.42082067201564349 -0.78280419557187142 +-0.19530014442113125 -0.48670105081287879 -0.25267819874554009 0.45478381066188089 -0.25618857588663235 -0.85295902547838587 +-0.19923715651694024 -0.4656550070260595 -0.25921349571671393 0.47510530577281135 -0.064426892337211009 -0.87756716208521213 +0.18104313491981883 -0.02251008800965526 0.49031755510702335 -0.50244915243968069 -0.71877706778197192 0.48052510448820157 +0.16694066771950361 -0.020316396693275195 0.47141734357741649 -0.56903135180676911 -0.79787255866907503 0.19900427328031065 +0.26311305297888821 -0.046640428823112035 0.49257740463432076 0.13587716229661728 -0.89921278683107619 0.41587709815005219 +-0.20053297500453213 -0.43652379982999828 -0.25885045870574624 0.45008253010720112 0.17208591796371028 -0.87624891037358077 +-0.22956340618734722 -0.4080224475448857 -0.26409296657938597 0.3833215793554573 0.36624861604048753 -0.84789534616535389 +-0.088015372070402886 -0.40886426387467845 -0.25527120891250576 -0.14846716467186152 -0.35962895363063746 -0.92120818316210751 +-0.028642629118763627 -0.38738906765301878 -0.27307088429969967 -0.037080358147722654 -0.39078194022907636 -0.9197361155409931 +0.045615662688908092 -0.39514891351579262 -0.2648139972776678 0.17134440226234351 -0.40036887911725821 -0.90019212196494502 +-0.12189799313354843 -0.39258359872222748 -0.25410354546790481 -0.2466007278771761 -0.3132823041017862 -0.91708357249877881 +0.081260705078926021 -0.38804980227523378 -0.25981875116381536 0.23533582638931536 -0.37132098760306914 -0.898185823192027 +0.21996199999999999 0.20597199999999999 0.47405599999999998 0.03410346827017198 0.9756036804916044 0.21687418487035515 +-0.44814640479183288 -0.33763324611922396 -0.27321227864374453 -0.60677368492774386 0.57199298046091185 -0.55195083620069807 +0.11997777940873236 -0.3354674558205597 -0.26597097711342976 0.30768225877771632 -0.28539757964058637 -0.90767827404248114 +0.21431969742937979 0.21589723497480867 0.43003710090934494 -0.086223097164709966 0.98794657914579109 0.12855790239986872 +0.16556446422047413 -0.31857445101351317 -0.25297811828134248 0.41288990944344467 -0.24975378585933403 -0.87586812313767537 +-0.20976198787288824 -0.32176234142533122 -0.2435668706497735 -0.42437203274285412 -0.11909074856541751 -0.89762228773121855 +-0.18288696820653455 -0.30584338286930723 -0.26398159249520969 -0.40775737717536104 -0.26586709962412036 -0.87352653462646934 +0.14811326682221471 -0.275141714704354 -0.2720922865321353 0.37574278442340203 -0.21441562819324997 -0.90157822641201946 +-0.22004051984365081 -0.23735806279020588 -0.25975108926604051 -0.57388898739404126 -0.17531975238170594 -0.79994650731949524 +0.18516095910795943 -0.24219732940821204 -0.26208648746230789 0.44836506068884036 -0.17056935699226985 -0.87742513458912041 +0.33505638722556813 0.12511784175936436 0.49222734031451854 0.81178135077459745 0.58102791675569554 0.058460229944010206 +0.11888887849885747 0.14152717873065146 0.46087194285645294 -0.96625577222638515 0.24128077437083117 0.090185201436844026 +-0.2498368706975046 -0.17833692733783474 -0.24905498815497595 -0.64260512521280022 -0.1096022093252747 -0.75831788107709819 +-0.24551836544227024 -0.14113897664165842 -0.25662978479398513 -0.67033847787522605 -0.047738071621251953 -0.74051833305989745 +0.21260335648554474 -0.15948284022686643 -0.25727751261813703 0.49862062324753881 -0.06035885665171227 -0.86471630174059633 +-0.2425764604901498 -0.068856612084903457 -0.25909349879312571 -0.65721136777236311 0.043346789343584921 -0.75245881875647025 +0.11551399874666418 0.11035428261025598 0.48316467767054738 -0.97780755315203627 0.039499017583776892 0.20574794436092006 +0.22633158234368381 -0.10513030510988566 -0.2521634109205777 0.52519462846887077 0.00076498905741679364 -0.85098179593877732 +0.19507064615626968 -0.031744170178163333 -0.26463738291591488 0.48443457193287043 0.12736041084364225 -0.86550706020572432 +0.35669787996202384 0.050812424695553249 0.48645313502447818 0.99834002536203581 -0.028743755688303729 0.049909821368753611 +0.11889987733193125 0.062564582988675871 0.48690066875234084 -0.94825564459443057 -0.1386947211848257 0.28561338695912802 +0.35484067507906303 0.025720389184615999 0.49955368481817541 0.96686759896869712 -0.21311939740746169 0.14052461888646778 +-0.22664285970841849 -0.028782036674595779 -0.26651848281965357 -0.55614301588580817 0.14686008648609084 -0.81800798338325265 +0.20578242190796636 0.077457196918456095 -0.23554397819291117 0.47983154631784819 0.22701902962875312 -0.84748100117031655 +0.12575495815925319 0.025256760229922626 0.46229327103014634 -0.90057823092570666 -0.42259179093977034 0.10185788242959945 +-0.19636475598969727 0.042438941769696092 -0.26802524778315551 -0.44958553586776318 0.21613548551496811 -0.86669388935177416 +-0.16544568445444396 0.081402377799855374 -0.27136991624049656 -0.38123412766856368 0.27725580719589277 -0.88192389539967853 +-0.14882443769252932 0.12559596618824398 -0.26354736966662518 -0.35541000631040065 0.32452880623191055 -0.87656419122625129 +-0.12239060992297715 0.13817007624376412 -0.26737177005165069 -0.25623014600625094 0.37156231248479299 -0.89234946081597899 +0.011938873379787933 0.1579968072621652 -0.27229648034209514 0.07368125363572546 0.38695432201032576 -0.91915038244032576 +0.30624088902045882 -0.036694982364773698 0.49158859488560114 0.40659338138315643 -0.89262614515977146 0.19468021777421973 +0.19791800000000001 -0.038539999999999998 0.47399999999999998 -0.42839909497609296 -0.8897175409755369 0.15772416651898497 +-0.076172981906856965 0.15238245446740811 -0.27196632447267954 -0.15043565054863203 0.39399397905027617 -0.90671818086776024 +-0.050789082894468485 0.19481141740091878 -0.2539526476669331 -0.095516311812301261 0.47030417385875406 -0.87732013440294998 +0.23051412163072585 -0.051823217147123526 0.47698798545216697 -0.14971049254224117 -0.98660279417720254 0.064820482445721472 +-0.0045922916727759722 0.20589946092413713 -0.25052493464798498 0.010819491333263806 0.45592029256143168 -0.88995484460616769 +0.26310158739955264 0.19323003994476656 0.47058927120160576 0.52623146366381324 0.82500345923500318 0.20603334414729871 +0.064644704230316791 0.16853159702098422 -0.25999118846961389 0.20031261176299223 0.37402361820956015 -0.90552812799499383 +0.18916361779191632 -0.83530130328358509 -0.24428529649603589 -0.15889170952243159 -0.86391803259870448 -0.4779111398532398 +0.26719115988145881 -0.84140502617562352 -0.2128348579431808 0.58584511634051462 -0.58905587161613759 -0.55659561602165109 +0.28244310541463419 0.18193230664838381 0.45467435147096458 0.62591811222384797 0.76685378558129813 0.14199221221520195 +0.134213 -0.82040900000000005 -0.24396100000000001 -0.27673236056099187 -0.80336648536851474 -0.52727743248216219 +0.10857620987299621 -0.78072014306041215 -0.24955491347327224 -0.59189928273396575 0.020924462712399644 -0.80574028443364687 +0.1215634363305701 -0.7553294853963286 -0.25035437540179173 -0.42950408284839625 0.35742056056571581 -0.82932308885105055 +0.13754823705317493 0.18020902035121913 0.43573583754835676 -0.77442869098286371 0.62292811164773298 0.11054759292520813 +0.14395704025598208 -0.74340558441659388 -0.25345909457316151 -0.22767306185412589 0.50293529046773244 -0.83379917876435028 +0.20565766573595329 -0.75317217057327934 -0.26072418430500061 0.24633162850664606 0.46131819666495216 -0.8523533599529366 +-0.46657347971629282 -0.59816322806440858 -0.2417787449756636 -0.37733325832863451 -0.80741509509900089 -0.45354214397933013 +-0.43884801824137809 -0.59900591199291831 -0.24348707256706248 -0.034790013380379188 -0.95943740500411512 -0.27976690449008162 +0.34806098501067811 0.10427122656888099 0.49524724792418129 0.91526103139697956 0.39704271284841108 0.068222639791432144 +-0.36329767280749525 -0.5927215680424518 -0.23094048173584714 0.20647275965530978 -0.96569501058950113 -0.1574869710257458 +-0.25977699992964753 -0.5704720699209701 -0.19647202083486021 0.2754433564266105 -0.90507964211708325 -0.32397808386626353 +-0.21400941436262327 -0.52116112482064836 -0.24486846689402245 0.39407424917780237 -0.57204255100928769 -0.71935582709097312 +-0.16629623768418891 -0.45462152572638354 -0.2441449799777895 0.35241932669334081 -0.10495700475567847 -0.9299379792898711 +-0.0086196567092071685 -0.46802956385166794 -0.22913016858122703 0.020989371239229664 -0.53203232420666258 -0.84646385173511018 +-0.19248470967351639 -0.41843426442753806 -0.25289473599012269 0.30512766015057302 0.11425689324825164 -0.9454324266473485 +-0.039018712372290931 -0.42185454188413285 -0.25612752273206008 -0.061510198224996919 -0.46458675240735808 -0.883388728138358 +0.014975155108785099 -0.41991304475305391 -0.25691044769097093 0.089419882313867424 -0.46743564512696406 -0.87949303710246218 +0.095973191905664501 -0.45370334303880172 -0.22297996939399256 0.2387562836089144 -0.50649041217792001 -0.82853056636982347 +-0.16698292918359334 -0.4174712105456444 -0.24626685789335934 0.18173171086673306 -0.01004432099413082 -0.98329685084475726 +-0.20758323984622984 -0.3857397000949836 -0.24870437930611022 0.102737995521072 0.19770514305261863 -0.97486285224479441 +-0.14953420332579162 -0.40856202252090845 -0.24648452333047094 0.029574693584290854 -0.13203038552880952 -0.99080437766317386 +0.34202537907814884 -0.007075857069641367 0.4813630044807381 0.82235187747662308 -0.56791175519798542 0.03483716289562825 +0.14215 0.0015070000000000001 0.46163700000000002 -0.76633594103445224 -0.63720322381047967 0.081861328137114109 +-0.13839958384209361 -0.39949337675094165 -0.24936140552394764 -0.15246343884141467 -0.28228233464428026 -0.94713862943310723 +-0.255803 -0.36855399999999999 -0.249781 0.28107119449096762 0.64426513813836273 -0.71128153034292763 +-0.1920071560182455 -0.36840794474977734 -0.24704722457258055 -0.17270255203317836 -0.013271814886914882 -0.98488460615994744 +-0.15605564754509138 -0.35516055261023904 -0.25770264567096945 -0.28849637470557515 -0.28986860314516077 -0.91254919576558369 +0.13956320218387963 -0.37068138011974983 -0.24747509832743564 0.34530618399192248 -0.32611610493770093 -0.88000677576777719 +-0.3074970625550284 -0.3529389572474646 -0.2567053121038913 0.25351833892229675 0.90400984774308146 -0.3442305143557296 +0.19279273754866835 -0.036040243018692561 0.44970689887087312 -0.4108276843323872 -0.90577741199817918 -0.10386478565890071 +-0.28503802225977815 -0.35966713099084774 -0.25075453038381695 0.28371801383556511 0.80692387265592636 -0.51805207495305372 +-0.17786138624712322 -0.3539458166053886 -0.25038278217065674 -0.29796481883253367 -0.20200956336041817 -0.93295718178758269 +-0.43691706514909434 -0.32907756887264539 -0.27239460661530246 -0.38670252878445449 0.75218616009968331 -0.53355143593303322 +-0.31915098128379182 -0.34006014662123007 -0.22558954106344881 0.21998317975015763 0.94171755606506991 -0.25451020652587164 +-0.41461311194928063 -0.32028478191473209 -0.26136026288717029 0.019574039067578038 0.95032007825794063 -0.3106583426441375 +0.24218452949650945 0.21377327317221773 0.437773399858293 0.24243542251812533 0.94651190272913099 0.21293258064593612 +0.21039880518619825 -0.29528775572137556 -0.23464695252532358 0.49635558441160199 -0.23861036147284506 -0.8346833107360031 +-0.23814646690123203 -0.21358865486269729 -0.25150988694976284 -0.61722332354206533 -0.15959962412367693 -0.77043061261561252 +0.22353585889381544 -0.24980842060836972 -0.23779154590453722 0.52659150935822974 -0.17069198112495279 -0.83280587765184522 +-0.25487292537464912 -0.22041322086551862 -0.2346736621262481 -0.69631559450473413 -0.20954552234748219 -0.68646577985624269 +0.2141249153291466 -0.2072683236750355 -0.25144606617534598 0.52024698650327605 -0.12772296814166209 -0.84441098787459179 +0.30438930056317598 0.16103040705407926 0.44416504640141669 0.73715128752284265 0.67189316276495248 0.071885722734939747 +0.26615468868643183 -0.11980142083404277 -0.22433909579914105 0.62360858001474373 -0.012190923317240258 -0.78164168281935176 +0.23616068004050539 -0.073646520074331701 -0.24373876364101665 0.55665052009915272 0.064158961407785625 -0.82826555291429149 +-0.24602941339268908 -0.021310023826620395 -0.24972718245656356 -0.67129188952584706 0.16701479655224619 -0.72213105236475583 +0.25248710391102369 -0.030239437169305994 -0.22754768689633109 0.56673751230212255 0.10890269083484559 -0.81666933092808836 +-0.22443800638832057 0.051064252748515226 -0.24832575736797685 -0.58650985132889544 0.24076954811583959 -0.77332801513604255 +0.24341169626790538 0.050128809726626922 -0.21941832637788314 0.55595422886805224 0.18382759682897237 -0.81063080995470072 +-0.19300141054032127 0.096275126227939767 -0.25273701596090137 -0.4941039494053886 0.31641539462166812 -0.80977934354267833 +0.17774923550425828 0.10879185718461312 -0.24149710263037888 0.42585293547879527 0.27405570202186674 -0.86228924934351059 +0.14932569932752093 0.14988661211495824 -0.24065853689545791 0.37122080822113696 0.33313857129903102 -0.86672591045640612 +-0.12722591706717221 0.17036760972788112 -0.25063701313499359 -0.28099379113399181 0.45385101348966189 -0.84561323718266934 +-0.089974999999999999 0.184387 -0.25308799999999998 -0.19213964528567096 0.46812419688726298 -0.86252077829937035 +0.13256618013859828 0.17104870277785023 -0.2388403237959118 0.3269916549745151 0.37752172535424583 -0.86634508393744625 +-0.016515511845175589 0.24190726631130358 -0.23073272304492409 -0.047613421527460169 0.50978874202720037 -0.85898102458248338 +0.035532764515047249 0.19764056766722571 -0.251601016366579 0.12516848569257261 0.43581970894724142 -0.89128784995789656 +0.1172899998326872 0.055750988690148023 0.45159052996939575 -0.98575226430873053 -0.16672987392950486 -0.022217618001533684 +0.35193987401247734 0.024599655620231475 0.44822403170078351 0.94324245842417587 -0.3112325764996246 -0.11587902291321805 +-0.052211126632906224 0.48478525974920439 -0.24342406385014057 -0.20471861977157504 -0.16547089652003547 -0.96473295223272892 +-0.020371261893865483 0.45401289658691307 -0.2432896035722662 -0.11440245838371023 -0.25796899420637021 -0.95935607338668427 +-0.013113156846671692 0.48355935558077201 -0.24810551923781304 -0.044518239654331875 -0.07948991006487334 -0.99584109201014492 +0.335065 -0.00075500000000000003 0.43659399999999998 0.78386545473024594 -0.57662636445194548 -0.2303410182739429 +0.043675677273063429 0.46782484554564324 -0.24552107148014113 0.095209146425213956 -0.16380224256969261 -0.9818879996038864 +0.078640914913086557 0.4976821858727154 -0.24420288341566085 0.17899085054294561 -0.10294529041274007 -0.97845007159473885 +-0.066855527839664808 0.54168759234175468 -0.24535093339334241 -0.20405768499602964 0.026596656483643084 -0.97859750615763996 +0.053004091549079924 0.52945977824773394 -0.24796864190680176 0.062856846077011405 -0.0091857210802019709 -0.99798028008046713 +-0.055281673304133583 0.58935559257441483 -0.24298214810806701 -0.20790312794609336 0.13908357779726235 -0.96821074553908104 +-0.033467889032101739 0.52263267163577121 -0.24802848169557123 -0.055531213471546048 -0.028833616978975764 -0.99804053367700818 +0.26202617521322424 -0.052191384845600403 0.46863860064094076 0.14057623281371667 -0.98950792940671395 -0.033352367369371118 +0.090876556483245399 0.55195699797898268 -0.24359446452345085 0.21690826033279745 0.015922264143898763 -0.97606213332140457 +0.091515395563262644 0.58111022616058161 -0.24178655307814917 0.25014454908620382 0.11166099782384098 -0.96174816148898568 +0.046881274674185569 0.59420846019432005 -0.24806101910173589 0.078923850349110328 0.067574971824919977 -0.99458767789920488 +-0.017685841702034077 0.63695805772443403 -0.23854785240999182 -0.12383445297392984 0.27085236455353057 -0.95462245148142677 +-0.017768388280801739 0.5983329957587693 -0.24701469616480645 -0.085412275544148195 0.11504511565620337 -0.98968144599665064 +0.026242152366985461 0.63167742094945001 -0.24349292982531434 0.048962155799384732 0.24240943662905687 -0.9689377546223803 +0.055257017651156426 0.61481499521795802 -0.24410436625771009 0.15613070480520955 0.22303258676526935 -0.96222641215974802 +0.26538454880461282 0.20197894831541305 0.43984471798124952 0.55961987637989441 0.80233689500211092 0.20755987299794565 +0.19608986048350785 0.21841046726292673 0.38926371460018649 -0.16395622841118823 0.96907882386803734 0.18440333048977128 +0.24700747053017602 -0.85487473707620842 -0.20161064052225341 0.13268664124620461 -0.91369764849218593 -0.38412349885766006 +0.17635899999999999 0.21099499999999999 0.39935100000000001 -0.37153932925958877 0.91718856480917121 0.14395715819863752 +0.147678586644577 0.19452904689848488 0.4040293909807241 -0.61932931354906995 0.764555288451784 0.17856766862802234 +0.13886993857475449 -0.83625076074683535 -0.21419215022374472 -0.24937156787385242 -0.91344376701536723 -0.32161204212049049 +0.12342328437191225 -0.80899549600727105 -0.25397723942528483 -0.48313713873754199 -0.49469407199110865 -0.72239620729164744 +0.29207122431990962 0.17979757305384403 0.42170233228238962 0.75646127828369558 0.63750846495817592 0.14611396772405966 +0.084153495773947484 -0.79028763175983507 -0.22688181379640165 -0.74004057756899 -0.18014501006009592 -0.64798743730245556 +0.27334379669523967 -0.80951982134774381 -0.22034357685693728 0.82220122388949024 -0.070952547485719955 -0.56475736687529021 +0.12409079211027214 0.16232314302523848 0.40158534121915096 -0.92900881634758348 0.36312895034515164 0.071274010478507663 +0.096488746531666975 -0.75695141065753357 -0.23403057034422003 -0.64944983906268505 0.28611996976818105 -0.70452130517203493 +0.26446344345090844 -0.77515459374182116 -0.22584164645537697 0.79453970048923417 0.26304458857019547 -0.54727891314248023 +0.24263147070226959 -0.77289119696069319 -0.24945669683884408 0.60750971120185693 0.2955441241964103 -0.73728259266607743 +0.35563922674204657 0.082278212608904278 0.47518578349434831 0.97802421551265106 0.20766519137747808 -0.018541902842452995 +0.20832100000000001 -0.71062899999999996 -0.229133 0.28450102136828626 0.54657754517903057 -0.78759898168196407 +-0.45567413387211325 -0.60821799939117338 -0.21222607391037329 -0.028401375248276066 -0.99294453202327659 -0.11512826850553516 +-0.40528665014613702 -0.59863146821649338 -0.22428598050632975 0.14791758877953917 -0.98389470299337889 -0.10035736321375692 +-0.49626812397265796 -0.57823343880899469 -0.22582801261849481 -0.75474081224324752 -0.41203486042388676 -0.51048367273583906 +0.11616259207159321 0.077733566952277802 0.41681169566266146 -0.99144145976198539 -0.1302813206950979 -0.0084029365679377729 +-0.49632918803653181 -0.55404826980547028 -0.23737659979541803 -0.80835783067021472 -0.1604919129086449 -0.56639205810557447 +-0.21595773952752051 -0.53857756217574182 -0.2287071064590126 0.34346921600977304 -0.73839189076478817 -0.58035016438908071 +-0.15503851518768433 -0.52058635032790557 -0.21475800962041491 0.33045461595946524 -0.59875836824283757 -0.72958081337865299 +-0.13807140614146529 -0.50390594750819329 -0.21823722425104664 0.3231731893972673 -0.46438574516928111 -0.82456350230796027 +-0.1406747543245139 -0.48293546826209632 -0.22778414181760259 0.32043217190447637 -0.26451737756201971 -0.90958989669866719 +-0.12086914527259041 -0.46436821705992148 -0.22854514617605887 0.18897614621440925 -0.23206594155336313 -0.95416634552519264 +-0.094543068862119828 -0.45039879557151918 -0.23318970842630815 -0.050502600943567788 -0.42636171267967649 -0.90314183673373671 +0.14104103355642361 0.0060702523209743425 0.42519682793733399 -0.76644691724863434 -0.61990624103058933 -0.16815283337306552 +0.32203805648349032 -0.024630163535773353 0.46309439530396801 0.61853432786415663 -0.76981438356365206 -0.1574836503010725 +0.047773462469935996 -0.45049981986972254 -0.23450067105771177 0.13779772011929226 -0.48497056919354736 -0.86360600701130597 +0.13133944904645978 -0.41688980961674799 -0.23086436502303243 0.32347896568193557 -0.42692896905634353 -0.84444834900770149 +0.16315715063996311 -0.019743249772957633 0.44817978251224855 -0.58123615353119917 -0.81046519095458025 -0.072874605173626414 +0.29296274102063247 -0.0381710416579914 0.44810155439065796 0.38560009603305534 -0.89114592906069645 -0.23910562322506462 +0.16979873818053492 -0.38131451647376835 -0.2300303644362312 0.4312003355509722 -0.3428284804116295 -0.83458666634411427 +-0.22955854853589253 -0.36366535648837678 -0.24190144784830211 0.02959709775733373 0.37762419007373765 -0.9254858091162157 +0.23762608469491614 -0.044196691545720992 0.43724541668744282 -0.051538112846880327 -0.96216025686866691 -0.26756581064591012 +0.21447158399621302 -0.040878419540114022 0.43957217959373318 -0.23749121303909007 -0.94146090675803307 -0.23926822767673048 +-0.26111732805056026 -0.35198291948398508 -0.23512379952099832 0.032490292388148372 0.69048645211893855 -0.722615278236444 +0.24825059115355988 0.21831997736943273 0.36581309702634407 0.24904663135206778 0.95736270199759221 0.14639819751641978 +0.22554764836682256 0.22062527218160946 0.37599620979585047 0.089974664258409526 0.98000614929729102 0.17746128347074017 +-0.24283399999999999 -0.34133999999999998 -0.22933999999999999 -0.33777423254400518 0.43461005882763659 -0.83487883228355142 +-0.22074099999999999 -0.33886100000000002 -0.237425 -0.32830449284777186 0.12887798803790312 -0.93573854477373619 +0.19347733024319069 -0.34145605370010834 -0.23083627542180993 0.48392220687941195 -0.27492304649968957 -0.83080480029444281 +-0.23654830238387703 -0.30878205147509252 -0.2261717997416377 -0.54208440493932786 -0.020202887355585848 -0.84008115159433994 +-0.38696840610905758 -0.32180973270445834 -0.24157105188831013 0.21481822848994822 0.96732768065142172 -0.13464875400084947 +-0.36214448384889342 -0.32668329753617775 -0.2222998154656044 0.23183488036969091 0.96871491861120662 -0.08856632940375557 +0.25797300357608899 -0.21592725743963026 -0.22013994068399934 0.59287262390661155 -0.14944332689274728 -0.79130824832635049 +0.28739659784033844 -0.20708609623134588 -0.20002957359543222 0.64176939761793073 -0.14024797873251099 -0.75396455138326191 +-0.2719483928505978 -0.15513718987232172 -0.22808274822377012 -0.76661239485822785 -0.031636963272106473 -0.64133028823271077 +0.2539627597355481 -0.16043811945181072 -0.2311869381147546 0.57090081013239313 -0.071456549429903149 -0.81790355576543938 +0.28615338682383512 -0.16245470171997897 -0.20621226795442452 0.65939063600995751 -0.054643311806055993 -0.74981204152590786 +0.1180151221729039 0.14538726802359961 0.3683348607178854 -0.97841423842868736 0.19955308712138345 0.053704221997316941 +-0.27032539413406387 -0.057953509335036291 -0.230287335059221 -0.75731062908571223 0.053417440918694777 -0.65086649021093446 +0.28366838561215474 -0.052052378519002573 -0.20619326339811545 0.6408888304776259 0.060517459041056529 -0.7652444995687554 +-0.26007339590043882 0.003874847296441164 -0.22873972098978995 -0.71589727489462163 0.19216698399841259 -0.67123985434374234 +0.11558576477075116 0.12130219008668583 0.36839121933928937 -0.99609578169498958 0.038933477272702313 0.079229906202794118 +-0.24263413620630095 0.064053440301615389 -0.22735617233735653 -0.67915991356891048 0.27071354144554066 -0.68224335121647295 +0.2621516270855615 0.013107855091146758 -0.21348351358961407 0.58639759328523333 0.16517234899493202 -0.7930043869467448 +-0.18648731325757328 0.14673037469963179 -0.23364749533790485 -0.53326377880931475 0.41728246641427319 -0.73587029117449165 +-0.162423482389845 0.15705887601882568 -0.24361586660916429 -0.422605549055379 0.44683068695187134 -0.78850928155965316 +0.12267763328452913 0.054263539844773556 0.38134691876920174 -0.94147231842275314 -0.33557400553143568 0.031936819742642626 +0.34785546476613322 0.03684378416379766 0.40599248253646869 0.92421725838026236 -0.30279035340963217 -0.23268102886600239 +-0.12087725292692542 0.21808319268203802 -0.22493672275040583 -0.29631149071707269 0.53910826944577672 -0.78839189131053733 +0.05403239645142463 0.22339538170232409 -0.23485522938696779 0.17188963441784966 0.47291799102797138 -0.86417737030181807 +0.13531577045019438 0.025130102900986662 0.38802458897876679 -0.79964132694720513 -0.58694209689046584 -0.12677824393773543 +0.098447288950242531 0.22100881854087573 -0.22582609522932628 0.25474549889540588 0.4657573402349014 -0.84745196371820453 +0.017298443580302497 0.24051300624297745 -0.2308609980788231 0.076394373009936178 0.50024661779633217 -0.86250636006683967 +-0.045264244345210147 0.41128500735801415 -0.22069362134029419 -0.22412352060229748 -0.42610699500805949 -0.87647103564124307 +-0.014831063296718933 0.4136557920911737 -0.22734192384052182 -0.10005639213609419 -0.42120147590061707 -0.90143110390747561 +0.023307507619181198 0.43084887974709929 -0.23635251265367382 0.029313041553228482 -0.34674512852141576 -0.93750123276802444 +0.057058151041494608 0.42867078350072152 -0.23185331450508598 0.15752242285971363 -0.36057763704692281 -0.91933152559784614 +-0.081865328641688773 0.42827504884614986 -0.21809884405158803 -0.31982406006865755 -0.37209680979294468 -0.87135327780591554 +0.086926040791486775 0.44359723771520287 -0.23093956700557594 0.23218013874125273 -0.29932754495253411 -0.92547036905931312 +0.12821317143475655 0.44618755588468084 -0.21724629466017811 0.39289086864468858 -0.3043937955418301 -0.86774488334490374 +0.2328008121712192 -0.02905337151250223 0.3928332302658113 -0.055089131099156183 -0.97116142767393432 -0.23197126768862031 +0.11323984558913544 0.471380351628994 -0.23039702249825264 0.3198043236666962 -0.21048971196701652 -0.9238069472136099 +-0.085583791271814563 0.4688850305954354 -0.22855453888101315 -0.34401363297584481 -0.22787672815329552 -0.91089341697748027 +0.12523546944404385 0.50333970206755685 -0.23113146906693377 0.34342071588653844 -0.10394663308669377 -0.93341165054327324 +-0.086212335483255409 0.52506833291091259 -0.23882236150868558 -0.34991162824893557 -0.084922248936100272 -0.93292554046494713 +-0.10573630015571983 0.56523488548950507 -0.2306701157868481 -0.40572764026627328 0.087178642356660452 -0.90982688806212519 +0.14454452503852566 0.55202751380128545 -0.22569640837728699 0.38115248925139589 0.043538620447040405 -0.92348642029378702 +0.16898405135004851 0.21737575062987019 0.3617905776075595 -0.39384657779652832 0.90132089470113619 0.18029286711655171 +0.1488897728953294 0.59044055762300141 -0.21895166309794362 0.4292387043547744 0.15635352635784824 -0.88955478160667556 +-0.08204659295453752 0.61831277847544674 -0.22935408029833107 -0.30652971299555154 0.22731210499422308 -0.92432069217017965 +0.0984600479657054 0.61696115976884736 -0.23286213753591029 0.28524154058699946 0.23123984408892537 -0.93014267616816959 +0.12989022956441909 0.18129292828829896 0.36708723569852642 -0.84436234015578338 0.52463052782482456 0.10869704596213799 +0.11499747462831511 0.65719422267216154 -0.21464697686564793 0.31711255016396228 0.35448426543316941 -0.87964796145322532 +0.32722898512024351 0.13205820485162811 0.41702299037500457 0.83720980390643751 0.54688155983716746 -0.00055113792389177617 +0.32172690198283582 0.14392182889409622 0.39303566904451703 0.87474938384581891 0.4799111502881509 0.067073118985655628 +0.13673888062014145 0.63387276333492149 -0.21404116246044524 0.3894039471729121 0.27114477548820082 -0.88025284813603932 +0.023306129320314228 0.68553019169009222 -0.22277915866697806 0.049929708095863001 0.42228959673262456 -0.90508481411459951 +0.3367947394054136 0.11456189884853174 0.39700800661009539 0.92010081870527249 0.38926314201611134 -0.043459057578736873 +0.069613178623006922 0.67602055290725227 -0.22103469007265375 0.21186015786680373 0.40683218766512247 -0.88859599627066954 +0.35443671384935832 0.060296169386338416 0.41449419151883138 0.99080736064349884 0.013956767947380565 -0.1345584732490914 +-0.2159692656208364 0.78268970037815977 -0.20894517094095919 -0.25689831054657508 -0.27326017242881101 -0.92700169158556123 +-0.23047394434499005 0.83900812244612455 -0.21786754252903523 -0.38863325083057992 -0.043131841816384582 -0.92038244255873436 +-0.21663596163118504 0.84375028762515691 -0.22160970494036719 -0.087307346226561097 0.058334483392291824 -0.99447197815837418 +0.21366522865115023 -0.85367366561066493 -0.1985772766238183 -0.12118847273834429 -0.94781675945105248 -0.29488429015302459 +0.28390314606051409 -0.79182731609590185 -0.19515487683957963 0.91150536153071982 0.13220856821418542 -0.38945971600604207 +0.11252267844572925 -0.71593623012063023 -0.22226447330733889 -0.47310791915211198 0.51938727276009167 -0.71162192049598405 +0.13963801821386068 -0.70909756574836802 -0.23003473188153056 -0.24986678183054697 0.55636888732662793 -0.7924772883512663 +0.17455534547415885 -0.70672191849172439 -0.23357993949345301 0.025350868426169189 0.58190823843495554 -0.81285923474582356 +-0.50064907942790204 -0.59033928144821801 -0.20645265354637726 -0.68427866512424795 -0.62458501716670289 -0.37637250801120808 +-0.3546584765129337 -0.59487486479237117 -0.19323479827341106 0.17357760142036482 -0.98330059080025622 -0.054687881811421625 +0.16734636969955019 -0.0050782043424114631 0.38654032144930178 -0.56106924072716347 -0.81589293957877318 -0.13971405890372179 +-0.30542917268840641 -0.58042759432532354 -0.200958519026875 0.20505963960397755 -0.97088366847058283 -0.12383636987004309 +0.30048238598742838 -0.011871304784526332 0.38618872649910319 0.48305422414589644 -0.84361504984547508 -0.23446164762925017 +-0.26299662284799652 -0.57576292577141419 -0.17961628136093033 0.15304600292925888 -0.97725595872451776 -0.14679138981834342 +-0.21699071569325312 -0.55616149514753044 -0.20092294254847465 0.30638719046394824 -0.83188151020481604 -0.46270945797439977 +-0.13794993562896174 -0.54038817723788224 -0.187210162628767 0.30199782211019882 -0.758304448912553 -0.57772976225924699 +-0.50078701213410259 -0.48827022831922573 -0.23022100453381888 -0.84322140218213726 0.02808204842850414 -0.53683243703976158 +0.0061146871759559396 -0.50337894859302323 -0.20432418208161568 0.031355133960689147 -0.60538491517368309 -0.79531500680828326 +0.19850099359310461 -0.021336737038178264 0.39151816771324982 -0.32662827169593994 -0.92143754716893889 -0.21039681270450072 +0.26619074911157059 0.21088688455332286 0.36906236761402 0.46945618105273923 0.86796504580850065 0.16201102840863954 +0.066592798393781044 -0.50985756244394609 -0.19203061386021381 0.19972381145469978 -0.62827499441808388 -0.75191816744042317 +-0.10440625934760915 -0.49572169152063295 -0.21369921846451534 0.17529323271483296 -0.47113224647132645 -0.86446902136471315 +-0.069508289427754333 -0.49295082985430705 -0.21167645493906734 0.036613006411934525 -0.52780521690847537 -0.84857594873156572 +0.039545233880178852 -0.48363742539010535 -0.21515793129944136 0.11666624694122392 -0.55589256377783403 -0.82302639347784967 +-0.51568089954550755 -0.39792814059223858 -0.19961498934493571 -0.85247294901431181 0.085023727811911601 -0.51581085380961944 +0.13161495840106985 -0.45683088187744192 -0.2070950820596201 0.35460572842323257 -0.52834825783631267 -0.7714291255914324 +0.17269935338970521 -0.45402650490400781 -0.18737168602635287 0.43480016278985317 -0.51219903600668659 -0.74067601956033258 +0.16160109627791275 -0.42058087300579 -0.21513482934276534 0.42185032462526101 -0.44177602451881282 -0.79175516908569354 +0.28146670948889396 0.19745701916960767 0.3856377589059376 0.6487631366877441 0.73692337549706821 0.18986924743382302 +0.20075091349385499 -0.39998998102811845 -0.20305906529044374 0.50772981160167219 -0.39919601788261727 -0.76344808449402224 +-0.48652677046942072 -0.33455070075117654 -0.22550896768334505 -0.68725517600386166 0.51389494572953953 -0.51341241493514234 +-0.4764464044388973 -0.31875594210178093 -0.22134993481017606 -0.54777677603692809 0.72559707620911262 -0.41647267213032885 +-0.27816128946740953 -0.33660091585227497 -0.21483343711859276 -0.21618955512821045 0.75895611908586946 -0.61420492146805683 +-0.25997199999999998 -0.32288600000000001 -0.21301700000000001 -0.53936663151269992 0.41718638417022802 -0.73146370906123181 +0.23423369733640592 -0.35762350353284766 -0.19956291452268596 0.55695646227643703 -0.31692397024809699 -0.76769700807720953 +0.12391756921586883 0.17917064178914355 0.32673149450326799 -0.86028169022747603 0.45061741516511761 0.23845200483381357 +-0.25282028084202501 -0.29555936722524012 -0.21381719627837231 -0.67436419984060658 -0.031805233592705526 -0.73771359828150918 +-0.45406816654163007 -0.30686768607025655 -0.20145736650212892 0.0046607597051295394 0.9999503675412228 0.0088056671038872353 +0.26171297998280674 -0.28682766342878913 -0.20400382883946669 0.60206196158992153 -0.21463981236546992 -0.76905860983036389 +-0.27527461589220181 -0.1959277579846305 -0.21849818429528145 -0.78023813185113655 -0.16173595488605513 -0.60421017742383676 +-0.28945699638631139 -0.16359730494804214 -0.20377320381851394 -0.85077648691120944 -0.06681683672654401 -0.52126277408700405 +-0.29421342901926467 -0.052210777975163714 -0.19819617646293991 -0.81097667109921379 0.027962781785689658 -0.58440989191460768 +-0.22383455890532666 0.10829755031189792 -0.22432686982767702 -0.62160588870088551 0.34976788148618204 -0.70090552017590113 +0.23582999941607796 0.11750060676735785 -0.20462988256853099 0.54699684829806938 0.31161875586267379 -0.7769737440522545 +-0.21560620926512941 0.14264221892659412 -0.21145171227526327 -0.61584408227209098 0.44180100893814295 -0.65234035198789053 +0.34434045942461711 0.065273796618952246 0.37065582450976731 0.98867732416016685 -0.094689710629051668 -0.1164087943090162 +0.11656822432797237 0.077626342323482422 0.37061459932591445 -0.98903963454426747 -0.12969136462004124 0.070574437606922072 +0.1944721301662424 0.14458350349699239 -0.21978941483164988 0.47387924204203008 0.33463052698596629 -0.81453107636895328 +-0.15483696107095909 0.22218762521302698 -0.20464330204509618 -0.4483478688116973 0.55790457124610138 -0.69837431074940948 +0.13061134268387262 0.22318860577577732 -0.21290024171950384 0.3405329725319951 0.47334153396101353 -0.81239466199991628 +0.16018389989632811 0.19376359643771579 -0.21533473995888153 0.40634527567158291 0.41281031918740102 -0.81515100276683783 +0.34000245067797058 0.015257884935570343 0.41574210196050587 0.81040020539353042 -0.5456550082975461 -0.213335695601858 +0.13845567945948362 0.022597060392687805 0.36375136971263017 -0.77550875457175916 -0.62954093548577372 0.047585524377227732 +0.31741115325926728 0.0024090115388905181 0.38023066102517711 0.66596706946448225 -0.69089921017655154 -0.28132924442067264 +-0.060303270538582199 0.23885772347979983 -0.226837189314955 -0.16270564666297802 0.52701043889379018 -0.83413839969213543 +0.17292753531438185 -0.0052085310469934185 0.36335240515291395 -0.50365756269960194 -0.86356418741602403 0.024206481528686829 +-0.01684423236064303 0.28556026837456372 -0.20307935056332016 -0.084606779185906436 0.46881829995837226 -0.87923324239926748 +0.028268546734856528 0.29116944803084088 -0.19969713375363884 0.076920319077890806 0.43666713151378089 -0.89632866782697618 +0.26370196272721358 -0.02300328281620187 0.37439272500686582 0.18842628546710136 -0.95276512267552038 -0.23818932796867931 +0.23370121055575144 -0.024422260869063843 0.36494704871187889 -0.061358836952589153 -0.99786924459649762 -0.022182511495336777 +-0.018291523151193971 0.35400483528580318 -0.19445037597723086 -0.18940081510167378 -0.33789819623021966 -0.9219284897556782 +0.20322399999999999 -0.018221000000000001 0.36754900000000001 -0.30234140306380325 -0.95314898199777165 -0.0098333163288072244 +0.027671085760327785 0.38410918028895802 -0.21437117308893813 0.067776740512001318 -0.47354176121041547 -0.87815973139019921 +0.078668835847500132 0.40178559440831979 -0.21472470991312395 0.18525621654639998 -0.43825634335684499 -0.87955188120906236 +0.23561029826634147 0.233089145204295 0.3248529712305831 0.18818042348571745 0.96550606749841994 0.1799615565627079 +0.11713098906911042 0.41060323315566655 -0.20764625820503341 0.33791060658938704 -0.40502136021228108 -0.84957290430320709 +0.15025071024462214 0.21621694045204015 0.30588646824292148 -0.56182410737055943 0.78235001528315029 0.26885335401242216 +0.13629568226295463 0.1992132730216169 0.32103916362085777 -0.74488966313518479 0.63710483641793481 0.19808285429897124 +-0.1100787830380443 0.439418525922393 -0.20935669355951586 -0.44616626590942704 -0.3150086677639779 -0.83767846002986268 +0.15533948782634321 0.42403556263304676 -0.19451742880540712 0.46874576653766414 -0.349144151168925 -0.81140357902682969 +-0.119900051193431 0.48565691130481908 -0.21722874536041092 -0.46498637629509731 -0.16807536884459326 -0.86921708465015124 +0.15788253199281177 0.48627920658365453 -0.21358258729477597 0.45771114073327063 -0.19317550612644988 -0.86786158774394317 +0.17591206865768813 0.45893473331644735 -0.1948365917138522 0.5311598793728558 -0.26186017148582896 -0.80579056406365634 +0.19484786506287613 0.50424601956701232 -0.19518634434384444 0.59209918916232174 -0.15368121593696932 -0.79107561842181418 +-0.13219870985839963 0.53295027311644338 -0.21637682599752484 -0.52233108694266062 -0.047011825883129951 -0.8514459018871563 +0.33858882883963048 0.10274505171794945 0.36723027937741159 0.97540679453266732 0.20505192025151273 -0.080841172558753796 +0.17331706530928842 0.52854780991724326 -0.21274542872791949 0.49215169819152604 -0.047641792227072634 -0.86920478921862221 +0.18102857180708404 0.55863669189359211 -0.2067711569040992 0.53128035526312301 0.088945762950679699 -0.84251399713275466 +0.11195201481904525 0.10681553259072143 0.34571496229395771 -0.97162545192420136 -0.0031674024727741876 0.23650359137794716 +-0.15400558807069645 0.60497194047314784 -0.19488087116458258 -0.62015298261580776 0.1490623541695531 -0.77018873837660606 +-0.13224697429823912 0.58251367266327714 -0.21407671189662886 -0.52371603071634598 0.13446910750838803 -0.84121315865636148 +-0.11714762740391464 0.61947585400971272 -0.21407921225595228 -0.43319543120854687 0.23395772646278393 -0.87040536568222404 +0.11741237422843419 0.055776203247957588 0.35137023473814938 -0.88517277030045549 -0.30402791127075451 0.35218772818904309 +-0.048447168646400779 0.64795520467046619 -0.22975281147646687 -0.2038439556451157 0.31454121669295942 -0.92709841157682116 +0.00042855581772779233 0.70002221842790147 -0.2152513887680807 -0.055777296758256018 0.49434860237383399 -0.86747239293096723 +0.13244976912232961 0.68839884287351016 -0.19273257853954739 0.35491999858074003 0.45468995679690949 -0.81687749252594299 +0.14164005286287856 0.014318892544498779 0.34547891118493351 -0.67530526739352481 -0.6650733404950564 0.31881067672414409 +-0.014779329092504873 0.67660455012738618 -0.22549250396838805 -0.11462390098992135 0.39305297726673233 -0.91234353090467535 +0.28157373915375788 -0.013786346472773797 0.36365831259101611 0.43687996759305964 -0.8783364016664803 -0.19406457539557975 +0.18050375789838824 -0.011392606477228062 0.34641643595622096 -0.41629866303668778 -0.85773195688917392 0.30164766414632582 +0.09707724122633922 0.70481532708064665 -0.19575671113603654 0.2692402350870825 0.51844307546138702 -0.81161966050385392 +0.25555053433935682 -0.021620823520208943 0.34591500691001842 0.23632824318323697 -0.96166048925216641 0.13913326304377602 +-0.22677332199527864 0.76356661013411442 -0.19616914700094282 -0.53730817219346871 -0.49515249924762 -0.68273269336025599 +0.21812053518500718 -0.024245408353396898 0.34632996572396879 -0.11162408211543694 -0.96637745293838995 0.2316348046909098 +-0.18833606646904866 0.76857279626265862 -0.20865865182929394 -0.043255195994079683 -0.24983554955326465 -0.96732165601672115 +-0.11245222790553622 0.74988653187472809 -0.19447390595218328 0.14480205645676447 -0.037269755203683273 -0.98875847899926972 +0.210392 0.233515 0.32606600000000002 -0.070513717140926718 0.97992242780664973 0.18649356872688824 +-0.16556669744946423 0.78121822221058945 -0.20876166327572432 0.1270402166730423 -0.14951811194418954 -0.98056367337787476 +-0.24343272757810572 0.7993681093294891 -0.20219205423632275 -0.63872884405894104 -0.26663964191442346 -0.72175395054469704 +-0.24837121535029782 0.84269167573056936 -0.20508744887563157 -0.70116396288530158 0.024740272715633869 -0.71257070951375456 +0.19488142278556264 0.23991750794331723 0.27868748608148869 -0.12711670844231096 0.96655555057346898 0.22273686289074562 +0.17102479426097894 0.22896310392792785 0.29737741188584632 -0.33059588232988973 0.91406105284458361 0.23494415136192082 +-0.14163736377592212 0.81085964930592824 -0.20797613068267617 0.23742847759932595 -0.056642031404745594 -0.96975223552369816 +0.29884745195489071 0.19117570840386 0.34054664941645907 0.7534767687401589 0.64153133957546538 0.14391073382968381 +-0.23866500729466505 0.87644620805180151 -0.20687338059306437 -0.49387155674285399 0.27678657403737655 -0.82430581574622031 +-0.17532672008032898 0.85887063517998963 -0.21297729495309331 0.1334734847399805 0.11437135597618889 -0.98443081107995289 +0.30530748219675841 0.1726375219543097 0.37495325379060357 0.81692634272739395 0.56285845634266973 0.12578437375759891 +-0.21136240839823217 0.883647008054258 -0.21191280223368594 -0.06364231203569741 0.24741933713382938 -0.96681607750957854 +-0.14369975842435373 0.88238414532969212 -0.20744108804766989 0.22062291666660441 0.10971492709245063 -0.9691688002688793 +-0.22297804571763424 0.90773680988368177 -0.20161984257360976 -0.38177841227662901 0.35706582841701828 -0.85249588743665194 +-0.11707663039252668 0.86216379661947051 -0.20070915752254498 0.34620931925103721 0.031125448801367951 -0.9376408233970227 +0.33090148375823958 0.12827735964390441 0.3442945082512443 0.93895379927055933 0.34044959585628815 0.049596728890848471 +-0.17852775935559434 0.91898133267625159 -0.20778619044093474 -0.02597578092863418 0.28296461854705973 -0.95877853723144257 +0.32453299589397888 0.14645290224478669 0.33905580067482588 0.89584045312118388 0.43927046946600296 0.067166488718327907 +-0.16893616671705647 0.93925403755714987 -0.19735033905206439 0.067601753964576183 0.53111599110357843 -0.84459801494851761 +0.1161889441880493 0.15425849399551511 0.33319596584352873 -0.94273268834553225 0.25640944861806225 0.2133290251798535 +-0.14132112036895383 0.91200167166478208 -0.20257740771408089 0.25163380173916616 0.23286730867590086 -0.93938982662808124 +0.29489007172848719 -0.83739157895265581 -0.16593676393576429 0.89057693420494344 -0.35966567954926648 -0.2784121463163709 +0.09457438216437497 0.11541135900773969 0.30569890641481673 -0.72843919589301498 0.15307550641232592 0.66779055640473661 +0.075009162443468114 -0.81452655967265719 -0.19713231015638844 -0.61550376218768255 -0.66055969077275278 -0.42990233037169479 +0.064452639709580442 -0.79977801923756142 -0.19422693952459569 -0.84631204483319145 -0.29353162852630249 -0.44451671040013674 +0.072853831658751367 -0.75063794049266541 -0.20422592086556668 -0.82144861354277887 0.29262265308882934 -0.48948356275558524 +0.28038492499221279 -0.75842056368215593 -0.18325757622317712 0.87310647849287892 0.25052103695731764 -0.41823950943878346 +0.10484477992625524 0.094099668058850588 0.32854041872627671 -0.85289509160869414 0.063461045486696177 0.51821101726568186 +0.095555960680049234 -0.72071055247182758 -0.21058739689864836 -0.65755191496928622 0.47006552257963657 -0.58878169435042538 +0.25640849224434836 -0.73617336347893314 -0.21146698635894356 0.74465124464970234 0.36294325346247075 -0.5601488361210134 +0.109137 0.050617000000000002 0.33052599999999999 -0.7558418106853827 -0.17508372443005249 0.63091112421603701 +0.093041399933235153 0.064297753645211286 0.31574330823710561 -0.65972543005071205 0.0488835177648929 0.74991516762586719 +0.20322517087563235 -0.65651774408852492 -0.19411909707168495 0.17404257812821641 0.56329937026551546 -0.80771467762877591 +0.2253424466313389 -0.7582310964327299 -0.25394027864633373 0.45287551368191092 0.43336427816724887 -0.77916568938572028 +-0.48537683390347719 -0.60667759654237641 -0.18713611127732521 -0.34220845151591994 -0.93961983306328456 -0.0028186921083085928 +0.098133999999999999 0.029080999999999999 0.31670999999999999 -0.47942993195436884 -0.099802753562016761 0.87188666162963435 +0.079572529927588773 0.039041388801784427 0.30912069053081237 -0.47964133461214103 0.11797160699369599 0.86949806789596096 +-0.46441869761123972 -0.60910905322348219 -0.19308316190417063 -0.0073403704889686821 -0.99979109141202649 0.019075966403658755 +0.31441921814440504 0.016734913966486888 0.32622593084635204 0.72796730557385236 -0.66916122285220947 -0.14928784225944564 +0.12360019779661663 0.020270034803378079 0.33002933035991566 -0.60459143881065813 -0.47218537111346048 0.64149058248995505 +-0.41129083029809488 -0.59946591933605287 -0.18281950642350353 0.12782895861602775 -0.99051422801105682 0.05041152097290761 +-0.25078485636435838 -0.56423186471103304 -0.20715754070136216 0.32486323294243991 -0.85526110283099022 -0.40372308067102691 +-0.099728504979857607 -0.52268626276234131 -0.19161352786515901 0.20368908321469997 -0.63815567155038588 -0.74247430679265325 +-0.057136035522079798 -0.51974721740060714 -0.1898005215620856 0.030366700209081467 -0.69387041530330318 -0.71945931801960372 +0.019543584226287179 -0.52277420353946202 -0.18800196984238357 0.041144725238266136 -0.69023510285254741 -0.72241443394716365 +0.29805495099340706 0.00029863360798182415 0.33739897334765179 0.56374902171904318 -0.81839056141026834 -0.11146268212010552 +0.11686072309961085 -0.49050374499884608 -0.18840467510081016 0.30510933398682233 -0.59672350214995562 -0.74217878997988718 +0.279569868828623 -0.011619016345829153 0.32725758923013937 0.51434252347815534 -0.85364231771826482 0.082137457610473502 +0.15808873023375325 -0.0097307212698387602 0.3287380764750914 -0.42152293078498509 -0.6247503122635587 0.6572712272334934 +-0.50583824069010586 -0.36538641130893712 -0.21159667492973711 -0.84024558669479676 0.19563878861704789 -0.50568054978253885 +-0.29588702481433082 -0.34185327123253384 -0.2233815140812343 0.12023598905175463 0.92031624167381509 -0.37223826005413568 +-0.46562673580093267 -0.30901793364705377 -0.21013648824468009 -0.28989856868793495 0.93318232492581998 -0.21243721029689708 +-0.39683414872316858 -0.31871232208122746 -0.2022427882132547 0.18328147572236581 0.98291908023646857 0.016672803127446508 +0.29297269245685625 -0.30946660307249341 -0.16940887210085109 0.68920200094439144 -0.26240773257616795 -0.67538343463434258 +-0.27256000000000002 -0.28201199999999998 -0.19397600000000001 -0.82380572847975952 -0.020658989297872361 -0.56649565566306248 +-0.29538449269637168 -0.19016698388300335 -0.18816240141622642 -0.89145017665829329 -0.13520297604704784 -0.43247744195959992 +0.0033980726873199252 0.0033901341297608023 0.29404214844812415 -0.21371271735606084 0.17859957148299188 0.96043170892384644 +0.25483600000000001 -0.023793999999999999 0.32856400000000002 0.342156488583583 -0.86298824307644828 0.37172601419859952 +0.22457183836830277 -0.031161973167438663 0.33019671918736881 0.057134151168400107 -0.87046161171051317 0.48890926694899356 +0.28517049708310638 -0.24301430591657169 -0.19257770207767697 0.63345760550942509 -0.18560307855714578 -0.7511876990821772 +0.191298 -0.026204999999999999 0.32825100000000001 -0.20615115737254835 -0.75299976548116954 0.62489443388404609 +0.30979043760133529 -0.10379446351856103 -0.18386473933717876 0.7101249329084508 0.0085556040810174858 -0.7040237079108751 +0.31207304185448087 -0.049114519386413313 -0.18051116146344404 0.70923495294732952 0.049993976312354381 -0.7031972581362067 +0.11064572767485203 -0.0016757077146336563 0.3128017557863213 -0.27807861354026103 -0.17565629590839826 0.94436070989811272 +-0.29173128583853442 -0.0089813828584828226 -0.19647373306201177 -0.72591776626335691 0.14194801030528467 -0.6729741146534457 +0.2959281476972877 -0.0077810757892047278 -0.19085057032770086 0.67614390416298253 0.14217698986889024 -0.72292124357710019 +-0.27950712315554543 0.0744391801285893 -0.18310742367565985 -0.64423352525918298 0.26187441219952878 -0.7185993022312761 +0.27389657192406558 0.083657199675047256 -0.18670080270089001 0.63919596411644852 0.26381388400401729 -0.72237853931575147 +0.064454190358778973 0.019703862225507462 0.30673632843443743 -0.25404454315589531 0.0057727972380619604 0.96717529171539562 +0.20801342963743735 0.19008049585856535 -0.19008903240407676 0.51892478311952595 0.41021212020117137 -0.74996205630979251 +-0.18339287978212893 0.20983659138978794 -0.19229606839932067 -0.5841896600129084 0.50903424894371629 -0.63214442537786342 +0.21164130439775958 -0.043439037489393456 0.31818343367438767 0.042729626366858592 -0.55266301970147358 0.83230869614884917 +-0.080537202619365228 0.2758153183229467 -0.19640938049826648 -0.26686765909017673 0.55211558944931771 -0.78990507557475642 +0.15537722935313747 -0.032395237907849705 0.31482972286953076 -0.1632579465750417 -0.40747963618615168 0.89850274845083378 +0.11256092461045322 0.28939764489667619 -0.17775627898144553 0.38190038767798506 0.42631637122649485 -0.82000393018306816 +0.026988455133186803 0.31468394760911689 -0.19139855571887945 0.11159545305125508 0.19720429843775825 -0.97399020505134282 +0.065067269114241433 0.28556979481120148 -0.19511489918172531 0.2353180698419971 0.41982850466644234 -0.87656684438517052 +0.026780000000000002 0.33432600000000001 -0.191272 0.09964161986737588 -0.1487481271073223 -0.98384223444222452 +0.015310974754406145 0.35452215469042048 -0.19937052604980854 0.014129431842993277 -0.34549964479449102 -0.93831250370155184 +0.050164375769426534 0.34677049271231203 -0.1915205972912298 0.20283622113203842 -0.35403925515423185 -0.91296970004853473 +0.09593669436608282 0.35470887496493564 -0.18442968814451344 0.27383078749160006 -0.35472067572686428 -0.8939742401398415 +-0.1106108727790045 0.40541589557407443 -0.19221087758006292 -0.42742622399221364 -0.46180152930796259 -0.77720407266855285 +0.16873815839103118 0.40066355541925008 -0.17615453343550616 0.49620094276477644 -0.40905450132536891 -0.76580613692030486 +-0.021314019449028485 -0.044898927651124909 0.29508180654202998 -0.26469697659383978 0.11638118492363966 0.95728309834544234 +-0.15233568659736232 0.47414587912631112 -0.19462987190083347 -0.60552976960070115 -0.20388689280025268 -0.76926187548297242 +0.18943001826794043 -0.062098782662073027 0.31078365522354057 0.01601745118731528 -0.22437903987519139 0.97437030318157236 +-0.16275840110901343 0.54363028935927693 -0.1951099435831998 -0.65364932003722875 0.0024578094167891761 -0.75679358188857493 +0.21791716634901034 0.54232474694709143 -0.18020432459457558 0.66406028470887568 0.0043710808517514318 -0.74766625704558476 +0.13186394100240606 -0.043774024132165579 0.30968397142431198 -0.063841933454403949 -0.14127010757544409 0.98791040294068466 +0.2189077847106938 0.57629541850337807 -0.17555484393192053 0.65930176189757472 0.12239163535571271 -0.7418500349489161 +0.17121600000000001 0.62734100000000004 -0.197521 0.50374703982730928 0.24498330773664254 -0.8283852357421857 +-0.14615924126736757 0.65831891123051212 -0.18742969936235676 -0.58268031659259989 -0.0070975705562826173 -0.81267045790267667 +0.1954467982157635 0.61572704118616606 -0.18540064184368488 0.58989312728029197 0.21976190227520576 -0.77700116132207941 +-0.12635152109980796 0.6632241230325282 -0.19749089759927593 -0.38967157430558358 0.10015948176033689 -0.91549120279318297 +0.060525080504181261 -0.0061565286873843661 0.30845958397001016 -0.09042322941086274 -0.014946290672381086 0.9957912672734418 +-0.14858770252564002 0.69374661060629628 -0.18850962391657633 -0.36859165616232969 -0.21187961217871082 -0.90512276567905969 +-0.10778713597757905 0.68113693765417249 -0.19979107281567238 -0.20754497625470703 0.20934158171310044 -0.95556328152419634 +-0.066931694737640379 0.6978404014348849 -0.20350065818308671 -0.15437519300104433 0.34742117648316462 -0.92491449654383961 +0.16450001104298426 0.66906236156746013 -0.1868277595074673 0.47523171585158819 0.36017693931312023 -0.80276234879059205 +-0.17990400000000001 0.72279400000000005 -0.18846099999999999 -0.30475732761724716 -0.42757621758811587 -0.85105907516260826 +-0.12281052411288748 0.7167859143796057 -0.19399887164747737 -0.08295067434356046 -0.036568851482359332 -0.9958824753590203 +-0.08629922677509505 0.72265306059071532 -0.19422491817487941 -0.013494986534157207 0.16334635233964223 -0.9864764845224524 +-0.032581075700351847 0.72069089439742817 -0.19819060992410845 -0.078993735154708186 0.45025202400286668 -0.88940041864597164 +-0.19784479726039172 0.74399368942485766 -0.19779754333725591 -0.26044455033485892 -0.4977883730548483 -0.82726983013541611 +-0.15511008291897643 0.73578319215792798 -0.19768185629659346 0.0012337948812924564 -0.25915803337470983 -0.96583414284624636 +-0.25028403841810171 0.77964560051132592 -0.17842303631795553 -0.86784743291427924 -0.39522931430481717 -0.30105584581309802 +-0.062225088402697137 0.74128404866115061 -0.18818138799453821 0.090034609447562267 0.29022387042929393 -0.95271395189462049 +-0.0061343965289277769 0.7459018058547725 -0.18389397882353675 0.054222514707634464 0.56321702500019788 -0.8245280478241519 +0.030241952762411373 -0.026994939138480722 0.30699975105476085 -0.1676870990593895 0.088032037638798466 0.98190192848278257 +0.042947904256301503 0.72334633651026603 -0.19957132147012735 0.12464933718374142 0.57963950370396855 -0.80528292449639782 +-0.09623014729506274 0.76550484475197988 -0.19080881735768709 0.26463904423830148 0.078266852860103903 -0.96116620623491189 +0.22436859897057715 -0.067747706338927571 0.30690620186724082 0.19964207399744099 -0.22151404954186188 0.95450226199080623 +-0.080028157231085806 0.79149435341161034 -0.1845604207083181 0.36656763251024632 0.10630031362636408 -0.92429887705155711 +-0.26294078873971627 0.83272915843531792 -0.18603716674618859 -0.89119587121665655 -0.093018207483188758 -0.44397920244421252 +-0.069757885344374992 0.80964354078239487 -0.17936209851897933 0.40841284984705462 0.11011791744508406 -0.90613077882685611 +-0.25321543021300569 0.87448964055057088 -0.19235986801776966 -0.82096935903991275 0.24323536803054147 -0.51657126057944969 +-0.11272007137762069 0.89505184500486823 -0.19572805261956183 0.35295036014763986 0.14326908062170685 -0.92460803252484358 +-0.073068100366575239 0.89107752476825719 -0.17859278807317636 0.45723044420195846 0.116183789363525 -0.88172651541394154 +-0.13447770616029134 0.94333722379241935 -0.18911668694156203 0.25512621651588147 0.44375195283089486 -0.85906624773940388 +-0.089945929301489258 0.9326720640458761 -0.17794976203042856 0.37065384676035512 0.35723796384897794 -0.85731952215424756 +-0.19721812358539581 0.94313104250386459 -0.19253054736655023 -0.25810735354822401 0.61588625332543867 -0.74435523576386942 +-0.14068881244473663 0.9628863706662395 -0.1781330077405362 0.14173613435515733 0.75274206384296494 -0.64287654611090805 +0.26225969134403293 -0.86815790585777664 -0.1608169483066384 0.21623332891007857 -0.9167595771364494 -0.33584970626317995 +0.1664141371343506 -0.85218491374117866 -0.1703942651603354 -0.19943481354715295 -0.95498654800929528 -0.21960521001720851 +0.1039689689514276 -0.82645235281078167 -0.208060689561268 -0.40149171232450598 -0.83148860368167077 -0.38396758571817186 +0.063395999999999994 -0.81592500000000001 -0.172879 -0.66320096492115344 -0.62725336490993033 -0.40831078400750176 +0.06626143113844829 -0.7797176476270703 -0.20185456297641835 -0.86385556032534427 0.030333329246352344 -0.50282547671316147 +0.29805313197364347 -0.82018844488319753 -0.16295444764267761 0.97312587265779327 -0.035832856304242398 -0.22746877230311804 +0.1337958283420404 -0.075533801795582889 0.30845977723508139 -0.0063303897009390651 -0.056675731261038143 0.9983725695612139 +0.067371680273852097 -0.73171035713466281 -0.16488765094459851 -0.88438018365603632 0.39746180935618369 -0.24473618624924312 +0.085976856936387236 -0.71400065934668622 -0.19019023157454196 -0.77952378656659416 0.47083438283882778 -0.41310731065143247 +0.26883579707844729 -0.72283595386975308 -0.18439344267157776 0.82610964217780758 0.3098553100899461 -0.47067244014273651 +0.14767377511640623 -0.62993367596766414 -0.16789526984542524 -0.324918340639337 0.55646298343269374 -0.76470714655047223 +0.17461298732982855 -0.62827559571827596 -0.17341899483199619 -0.092244899992618604 0.56259948190266684 -0.82156722268369653 +-0.43457533168099083 -0.59857832838509317 -0.14536073871388813 0.074811041339241519 -0.98794066260281899 0.13556015369436955 +-0.35281816183965742 -0.59445078132936779 -0.14992177524693021 0.15760113836878475 -0.98333143468804785 0.090670671880210454 +-0.29744996683459135 -0.58159400396101313 -0.15856366687247381 0.1827507488787288 -0.98285471410285252 -0.02446987433690205 +-0.26374126355397021 -0.57832239337076685 -0.15183665734238883 0.077417195484570017 -0.99605468963048183 -0.043377795107963288 +-0.0045320145780367235 -0.099658477466321727 0.30424795029330998 -0.21021312596339745 0.016955182587636071 0.97750854904502849 +-0.52374410402198945 -0.56108468338139794 -0.18844499340418741 -0.82550353000220345 -0.36739034983862934 -0.42844865830032736 +-0.17346463449114946 -0.56102443153044135 -0.16837482853906205 0.21642932460623968 -0.87417619976232153 -0.43471176567881492 +0.20107217174857839 -0.084370561649836695 0.30838471071424001 0.044939037204125162 -0.059067690215597816 0.99724194201194749 +-0.54042511131325455 -0.53807744855943707 -0.16852670470856612 -0.8685544685148644 -0.14220522331354354 -0.47475341987731556 +-0.04730661875442238 -0.54030850929483853 -0.16532665177659658 0.02465947412435426 -0.8213621048908043 -0.56987384830790211 +0.051599120377112034 -0.54314225210991418 -0.1625705250594528 0.13085617641290168 -0.76602718318212804 -0.62934808788193675 +-0.53142274240621523 -0.51508690763190179 -0.18564749899377175 -0.84468495035615565 -0.00054289416362582452 -0.5352635237971537 +0.15034683647895403 -0.49122553605295605 -0.17194441340865363 0.3480379047130065 -0.52118556451157494 -0.77925299115738489 +0.19583008372878075 -0.48399528168355177 -0.15054158726165667 0.50769262992012787 -0.44105874720793214 -0.74007795199975623 +0.039492731615995869 -0.096381028625904766 0.30845486095082708 -0.03460553783374986 0.0057391974305773582 0.99938456980488233 +0.22053447720679767 -0.43649400067833022 -0.16587162917676734 0.5569220323019527 -0.46433659067295807 -0.68864314452325492 +0.24837180047463936 -0.38480543630825981 -0.17410370097107625 0.60005996509110271 -0.39038870128116238 -0.69822969014993341 +0.27481736644581289 -0.35655683273081074 -0.1656459759400076 0.6556079460404125 -0.34125771354016504 -0.67358844559419961 +-0.30878286275948175 -0.32902077041903699 -0.17997721421785284 -0.29719961492276037 0.90285267513388345 -0.3106918664744111 +-0.43132597880921603 -0.31698125037362185 -0.16291575650921325 0.11897225621369421 0.98875625463916328 0.090590679230023521 +-0.3714946443483812 -0.32089668568322161 -0.18212876985928952 0.17169581945802861 0.9850544088416775 -0.013724328843677703 +-0.33204386258901142 -0.33025459904168541 -0.18090050100169375 0.097216486531218893 0.98811005017544906 -0.11911122318571341 +0.31873099516145764 -0.22380495841186399 -0.16637409104157766 0.72702233330630595 -0.1571234132576329 -0.66839416505541527 +-0.30855386669994911 -0.12359354560994618 -0.16982694801459919 -0.88597628599082723 -0.077302517873268833 -0.45724210369601009 +0.31775930793802998 -0.18161331513315049 -0.17404862357972212 0.7293891995161903 -0.068444601228728544 -0.68066638832233484 +-0.3086555737029773 0.0035444603220355919 -0.17789538424079876 -0.60777020819302841 0.12534587588461321 -0.78415801050025757 +0.32223432031923632 -0.013376710911975231 -0.16515890519653909 0.74711925773110088 0.14658700347790027 -0.64832481453257595 +-0.26544007815999593 0.12276252272093016 -0.17249120195361126 -0.62125982022770188 0.38282869794416841 -0.68372393829748002 +0.27104806226360806 0.1232376658557901 -0.1722364175066719 0.65460942076602513 0.32100333764172218 -0.68442922458589051 +0.019719923836519909 -0.12789375232636568 0.30745359096316721 -0.10385004215275347 -0.023774761637372608 0.9943087696756765 +0.25332036058419677 0.16840009140950712 -0.16550854892592382 0.62207788572155442 0.38562702336053178 -0.68140362704515778 +-0.15966746763051343 0.24164093403378673 -0.18296272953174025 -0.49766704804483652 0.63786563288078524 -0.58775415241402895 +0.16836305849640176 0.22719154429308364 -0.19229154837974849 0.43392625694035031 0.49580938199849167 -0.75225066318349687 +0.20896764947001234 0.21525471865822654 -0.17369896815714719 0.53118399559100027 0.5067881796797713 -0.67897665921947847 +-0.11990380630710074 0.27481411178774118 -0.17841315624669218 -0.43983462930500028 0.59086919530861015 -0.67632765202931677 +-0.079059746012244178 0.29428571208803589 -0.18516083384311216 -0.30427694387808485 0.48651594226511974 -0.81897361333934038 +-0.080696061212802039 0.30926605692844372 -0.17666792625701547 -0.40342896040922577 0.26540817537772388 -0.87567321207502902 +-0.014765863571761923 0.31218129809247447 -0.19231218324873886 -0.10532537496340373 0.24839365866638999 -0.96291596503700316 +0.077118999999999993 0.308616 -0.18276600000000001 0.28612955793953981 0.1776269974863765 -0.94158298935213269 +0.11799732018773945 0.31221280777248006 -0.16726671990544786 0.41362473245015019 0.15732980846132277 -0.89675075248090252 +-0.071650463801766401 0.33283266014399898 -0.17563814727161497 -0.29618626882840277 -0.02049425424727571 -0.95491029929536164 +-0.0030771130288196683 0.32656888492001834 -0.19182086712137936 -0.056103954236662951 -0.062577820015024099 -0.99646192238398035 +0.084467449205584993 0.32982940538111527 -0.18068872020647891 0.28651724941886253 -0.1394467777067866 -0.94787259796485479 +-0.0097169783075286564 -0.15224410605087957 0.30135837493623374 -0.23313998621553733 -0.063795536807388406 0.97034832730874343 +0.22145877846565176 -0.16264554126145558 0.30598912779442294 0.19788241767156312 -0.041909251706027308 0.9793294457933438 +-0.064865357054183351 0.3583757407553384 -0.18411087774742332 -0.35681024372781445 -0.33587141005437932 -0.87170915211381172 +0.19866923518243365 -0.13794517045783708 0.30844685986998976 0.045530154560856205 -0.0083994621609171771 0.99892765206548972 +0.13707662910665813 0.35307952283457744 -0.16556328206189791 0.4472095404505807 -0.3620094853625303 -0.81789532303194901 +-0.098973422580420634 0.3714919519376948 -0.17729348571831263 -0.44969368549377919 -0.41898829645539765 -0.78881201604718576 +-0.13822501947336413 0.41755129659969631 -0.18172028806682261 -0.57259135848088571 -0.40700295392270996 -0.71167951473342428 +0.20478297666312742 0.43307657473973127 -0.16394224062423471 0.64252842192600435 -0.31494865814680573 -0.69854460827409226 +-0.18961826552079081 0.50421528785671343 -0.16332524868916123 -0.76409180487213324 -0.099446409166396785 -0.63739636446339687 +0.22838806035620601 0.49997844952402937 -0.1649227274655673 0.715414809615736 -0.17886446354472207 -0.67541776247248564 +-0.18967086246802323 0.5500414928510744 -0.16705715421652959 -0.77995402889705001 0.036463116448640774 -0.62477368218108598 +-0.18651935515960771 0.59563507711897157 -0.16379253878815228 -0.7754272607058027 0.14628870150371484 -0.61425742092924862 +-0.17125025474084041 0.65878217232850866 -0.16535687764112497 -0.75790426872049232 -0.015830337979842478 -0.65217368841030354 +0.20086109280620426 0.66946560204902905 -0.16075087471712926 0.63308705714788482 0.34895215258167583 -0.69096539224511488 +-0.18909468341777191 0.70563888222463311 -0.1704846952845146 -0.60275776302013828 -0.50054505927415005 -0.62139980910457027 +-0.22556799999999999 0.74279200000000001 -0.17231299999999999 -0.70480967474844403 -0.63551705670417502 -0.31521642250849641 +0.16831611193938306 0.70911969693329013 -0.162721651156541 0.47535195383645157 0.53438876097098542 -0.69890569616491405 +-0.017963823675682555 0.76529813025184934 -0.17313907580569493 0.16373280069215174 0.41290756592898126 -0.89593465831839991 +0.11729399188638129 0.7255985542903165 -0.17405326784260269 0.30837568514823616 0.60732014380079402 -0.7321657460870038 +-0.049163681695066228 0.7775632431972247 -0.17613229864684238 0.27181199724070965 0.24047465507806523 -0.93182089396036938 +0.069649734330532342 -0.19691572901886226 0.30843224613407255 -0.022635942911706963 -0.030146006154434052 0.99928916355649267 +0.075161811718903238 0.75331897766890388 -0.16469885811862764 0.24157246528034093 0.70183897342788559 -0.67012297333852844 +-0.26338755559821253 0.86330901295798701 -0.1747512317056841 -0.95653830664019679 0.21759416314315391 -0.19413203778855151 +0.035809482807696913 -0.19369175470312472 0.30706995946416143 -0.11485822894716879 -0.048389013125381991 0.99220264596093033 +-0.026421868154865566 0.82254071523095873 -0.15787753328160933 0.48155969731681003 0.17962401625145374 -0.85780852799785101 +-0.035472069329106445 0.88112385067773802 -0.15837832578407604 0.58703085612345585 0.14339123918334146 -0.79676453641237599 +0.17646520888858497 -0.21371864111826611 0.30841568795632612 0.079382670996820115 -0.058915806765517831 0.99510166277550693 +-0.25059315388025988 0.90649717250778628 -0.16904297635252841 -0.91190851645966764 0.39453994929521929 -0.11296497695504579 +-0.23651545395758236 0.92264859526050869 -0.18363912136705349 -0.65675146128695572 0.60300413389002416 -0.45283941150146167 +-0.21418874191425066 0.94518458188945054 -0.18091033488610775 -0.53810858346339541 0.6877102064665801 -0.48733338109010327 +-0.074884232277685869 0.95291145645781494 -0.15832853598459412 0.46311888913228427 0.61183650420610314 -0.6412308372573281 +-0.170043 0.96646500000000002 -0.17068800000000001 -0.12120535690106819 0.86413445272579659 -0.48844744760390829 +-0.12345011616174784 0.97292969610687396 -0.15566145837950152 0.21927242957332357 0.89234192668046297 -0.39451931196991008 +0.23262177486774949 -0.87415462388014209 -0.13289486193592381 -0.08688478246999147 -0.96499675027178178 -0.2474516246461973 +0.2852943671678756 -0.85786624860755134 -0.15279327309945889 0.64872822381574291 -0.73341393178412573 -0.20311498292794916 +0.11354689311631283 -0.23887613862570323 0.30835224337152189 -0.028385355294927962 -0.078815710585376106 0.99648500007260676 +0.059346158849157504 -0.83489703645072044 -0.13193073828183799 -0.47379775583510453 -0.81746277712676374 -0.32752144140165484 +0.11923966096684546 -0.64134267080852614 -0.15950251378208069 -0.57276243799553306 0.48367882374019944 -0.66181416204755728 +0.24261652771967002 -0.638804216011985 -0.16066431963483696 0.58525221183208109 0.42891524936204528 -0.68812176059935171 +0.26171428894223298 -0.66684530845261225 -0.1579198704338276 0.75135054084614628 0.35100204785954242 -0.55881117308855854 +-0.50529647957721124 -0.5920648843222045 -0.18349897303490806 -0.57853108169322531 -0.81188552237244971 -0.078381669265723292 +-0.49745596149147409 -0.59312833913995178 -0.1426839215135739 -0.3882383573782679 -0.90564053946507883 0.17054674179715476 +-0.46007613618881738 -0.59330532793896684 -0.1159109710129671 -0.068801311006150584 -0.92341559671030005 0.37758444797951535 +0.15946618085500183 -0.59268776250305044 -0.14873868247013955 -0.20533976625715686 0.4281735924769996 -0.88005849527107938 +-0.52288423464597744 -0.57762649838014468 -0.16410150281807834 -0.74750846427098916 -0.62990566512629742 -0.21083156520081181 +0.20142983809522283 -0.61038817426015768 -0.16166537469669562 0.086512694445614879 0.46224051254279269 -0.88252436921817401 +0.22534196106294335 -0.6309664528037614 -0.16681056801282046 0.36214279980332464 0.4943823083872399 -0.79021435427630216 +0.28007481021151148 0.21286512610681962 0.3173595841214164 0.61776253706220241 0.76405178858153666 0.18599546276139617 +-0.097614618296936656 -0.54540279893879318 -0.16476818035331181 0.16487237438831864 -0.81355184313337925 -0.55762935602229513 +-0.00057711350956779484 -0.54374524605670638 -0.1640848526514983 -0.044441778685569325 -0.81369925285948941 -0.57958472564688224 +0.050634940504421105 -0.5646050351518821 -0.13392164344905727 -0.030640298822138045 -0.83428906533657499 -0.55047518340785728 +0.083241964657331691 -0.53319496932609289 -0.16332454358983906 0.18721853036310387 -0.71060447310792985 -0.67822599823928975 +0.10794808252235598 -0.53173409765671564 -0.15727481670407512 0.16960200685434756 -0.61826329577226702 -0.76745400928771756 +0.11969895160493339 0.19533790341710539 0.29134539489348471 -0.70728861694844458 0.57901687417873338 0.40556414012021003 +-0.56597049216714801 -0.49078082515812005 -0.1282809069351849 -0.87639859262556397 -0.010075711163199942 -0.48148103481703869 +0.14635681591322425 -0.52386380666522891 -0.1510964963731089 0.23184860728562318 -0.43954818945214946 -0.86778085508327174 +0.17327500000000001 -0.50553700000000001 -0.15067800000000001 0.38133246263951726 -0.40302425227010708 -0.83195973761919662 +-0.55719928597490487 -0.44149961621303291 -0.13736566865099853 -0.86376772562500193 0.079477776061579131 -0.4975827562133931 +0.093290974692568779 0.15652127276405542 0.28956258348649366 -0.64258827526595907 0.36644244148108773 0.67290433612223033 +-0.54807124420235542 -0.39910915020238313 -0.14602322982891636 -0.86475932934522626 0.18962883715200607 -0.46500774878572992 +0.1075650991272758 0.16015300239209362 0.30726179708271911 -0.84658997068538877 0.31721877394755293 0.42738468736037305 +0.26531281905094284 -0.40125564511505896 -0.14835312732506134 0.64850302759810285 -0.43152944689550699 -0.62707747500460587 +-0.53242153356308952 -0.36363207866742631 -0.16272547169468687 -0.87874395204498434 0.27040072997909559 -0.39330968964816321 +0.33691724699813413 0.10721971292872534 0.32672545328843983 0.98439073224808904 0.17470011501989108 -0.021325010576968888 +-0.51691783578419637 -0.34177956706731094 -0.17469050749400417 -0.81611812231756742 0.46135416293933662 -0.34799934879736816 +-0.5066575053532576 -0.32844057378843328 -0.1749196164098743 -0.64275412907733387 0.72309750166301889 -0.25297654563761152 +-0.29217368908152053 -0.3164430302377958 -0.17983472759613175 -0.66360503626484046 0.56706537241705002 -0.48791927534116963 +-0.28409517206249957 -0.29931314292463007 -0.18042456210585739 -0.82615836377556839 0.17690804078595221 -0.53494476637214761 +-0.31682617651509359 -0.15893147501017513 -0.14075096516936736 -0.87140623867452505 -0.1813453726751347 -0.45581248667454582 +0.056997962076964198 0.10152956359045057 0.28770235260418564 -0.280746799734999 0.22809283057990132 0.93228477144947763 +0.34062208219644724 -0.1656295837709072 -0.14902631721427301 0.79377922378598553 -0.029278955252295246 -0.60750085322166636 +-0.0090476669829346879 0.094646028489062228 0.27343850375179379 -0.24965982186782848 0.25986348537933684 0.9328134552585674 +-0.32205864840148607 -0.10857533415659892 -0.15021628874218396 -0.79939847075790993 -0.16320083469977351 -0.57821066446686376 +0.077483607002460209 0.10363619520557488 0.29620632340292619 -0.48502497481238888 0.23371958731452008 0.84268969871108068 +-0.31260089604664154 -0.032214744433160081 -0.17645705314456811 -0.69305289813994508 -0.037437596027652432 -0.71991395790295187 +0.34001737850190938 -0.060425108069582123 -0.14978911268605921 0.79382441779298285 0.042595287654454646 -0.60665347207880216 +-0.33042154246612199 -0.014609430472644402 -0.16384916009585121 -0.52205870504793717 -0.063231637758380921 -0.85056244242857548 +-0.36011337793003506 0.00767175049695068 -0.15196430823610441 -0.38566642017124964 -0.11096534448564369 -0.91594110327874012 +-0.36444294289825363 0.03141340972677692 -0.15093885819023181 -0.30361182111799401 0.10162098238521379 -0.94736109167332772 +-0.32902763595200457 0.021709423074560696 -0.16235280408967964 -0.42129236553437793 0.12391010740563559 -0.89842029586667949 +0.052437923406273124 0.062067791538505723 0.29336950340910373 -0.27863733499465526 0.16131466306808109 0.9467517177308461 +-0.33524939133296805 0.069289864995094375 -0.15126360732807179 -0.3569653752657308 0.29032218421665512 -0.88785626664064643 +-0.30620457467200007 0.072927359994203744 -0.16340812407760993 -0.48950968556360008 0.25286289571614429 -0.8345301814251368 +0.30037289013562973 0.072010663505309491 -0.16389588674745603 0.71400023034014171 0.23608084558022324 -0.65914300832547057 +0.32858649085379488 0.034730990062412592 0.33344858537435457 0.8993299337763494 -0.41045144326075517 -0.15078223681518374 +-0.29894726007827821 0.11428003148600324 -0.15004271414837861 -0.50136128429567872 0.42472427650402306 -0.75382103417026081 +-0.26139520251296777 0.14156981462783547 -0.16371541196078157 -0.62479842803261509 0.5121427746174535 -0.58935278291962734 +-0.24805069653391104 0.16368853511722042 -0.15950238752621582 -0.61491091794504993 0.51789676953257779 -0.59469950319442522 +0.2943789818168564 0.15102710608153089 -0.13213271967060003 0.72069365450221434 0.37546210980831884 -0.58277685305657845 +-0.21784500000000001 0.201683 -0.15764700000000001 -0.63708229050059728 0.52581227752190318 -0.5636023455750887 +0.30697695901513183 0.0084014503684053943 0.30749793796532926 0.76491504382110986 -0.64037178855331001 0.069490633621980685 +-0.19186940217996507 0.23190952602997528 -0.16102092703214371 -0.63371105436380804 0.61726601223209832 -0.46625419002963819 +0.2658704434874255 0.19548227344759406 -0.13552392247117229 0.66589677671866598 0.46242902866560731 -0.58544075379415972 +-0.14781757395602024 0.27669084917287662 -0.15140993005901843 -0.58842381161522095 0.60968242124545569 -0.53107886716427888 +-0.0076516760037081966 0.045502936452143317 0.28596773815088716 -0.22173650179178991 0.18788772003426751 0.95683390848854444 +-0.11789853174707957 0.2947409953204394 -0.1633611012839728 -0.5246135927658202 0.52897632946961459 -0.6670566851071893 +-0.113132 0.31531100000000001 -0.15467500000000001 -0.58648007218850973 0.26015416410777792 -0.76704689284498362 +0.16416718847085454 0.28242152338215343 -0.15315585062457343 0.5318077271723548 0.41236548655431554 -0.7396859109234114 +0.12552199999999999 0.33062399999999997 -0.16349900000000001 0.43718861865787567 -0.14654423879571446 -0.8873504932053643 +0.16801396580694061 0.33021733467170233 -0.13884345642556856 0.62979368956351978 -0.11645755452883101 -0.76798277752768207 +-0.099519605815434592 0.34093284659068229 -0.16221323517553113 -0.51072194553093075 -0.12486404249618667 -0.85063039285262521 +-0.13283042992797051 0.36774718750711977 -0.14994997366314641 -0.62977799628261744 -0.42423713169784899 -0.65069388462397071 +0.17119023209648065 0.352651510895158 -0.1434433839553878 0.59090724058780042 -0.3619486530633268 -0.72098668889692752 +0.19649314727229503 0.39111765533146337 -0.14831920201510004 0.62799238763267273 -0.43635769321281342 -0.6443737460894936 +-0.03727022718435094 0.014188879728671555 0.28348620958431792 -0.29618375834183919 0.13316417067920419 0.94580256128952345 +-0.16417469753824374 0.43055372381772616 -0.16469501783356524 -0.68101237231785294 -0.37151065463630045 -0.63103247320697953 +0.244001 -0.039142000000000003 0.31365700000000002 0.36826661314162074 -0.58981332639604145 0.71867930375852374 +-0.18311955421052029 0.46439625511432214 -0.1609079498901605 -0.753800818568516 -0.24736173952021456 -0.60876637205661133 +0.24171799999999999 0.53467200000000004 -0.15485499999999999 0.7645563808792798 -0.039216551460358712 -0.64336273015176648 +0.22904357271030767 0.60324541287659972 -0.15816278407294604 0.72215103790370405 0.23622968838510947 -0.6501487620384101 +-0.17134978444318955 0.68357582323349175 -0.17320234221854217 -0.6812152479152086 -0.32515511138106384 -0.65591153332639984 +0.25377313702609366 -0.061449770727602049 0.29911878376884316 0.36622659538651886 -0.203233603069809 0.90806067165958804 +-0.20197844416150113 0.71005518220160413 -0.15220855709898701 -0.78319643665623795 -0.56687801020101902 -0.25544600830606984 +-0.24543634357023902 0.76464240749604351 -0.15646926203672984 -0.88610640709681643 -0.46346483198677435 0.003973010626976135 +0.14665152902923745 0.74299741779826045 -0.14279063873949022 0.38219010461862563 0.69797346237589564 -0.60561024574441291 +-0.27094089805334282 0.83818882138364004 -0.16360539546270406 -0.99979199096852434 0.010032422548080211 0.017757401077043111 +-0.0039065070018519006 0.79674564641658729 -0.15400665291588381 0.38496868885911445 0.31128697614777939 -0.86884954225623334 +0.021052540001929521 0.77632972237005771 -0.15633028671498617 0.25671773836956435 0.61329152473779014 -0.7469735661261464 +-0.25589899999999999 0.88478800000000002 -0.14982400000000001 -0.92641915438628208 0.31979361580236526 0.19869472483751344 +-0.0034233136007435494 0.84015339421017177 -0.13990223507914604 0.666247688829125 0.25431715003394856 -0.70102553757224817 +-0.046780668813338033 0.9218522577593008 -0.15672898818000444 0.5956443603887831 0.33633697535825813 -0.72944172827162568 +-0.19309407602373757 0.96517748729991348 -0.162233576959805 -0.41182985558556234 0.87097882522577408 -0.26794039646291734 +0.25747071965956758 -0.11324438911256784 0.29749164058867417 0.35558000945833357 -0.0059290413023170164 0.9346270397023867 +-0.084346748385395465 0.96893610410701503 -0.14066810927830892 0.32180512234216374 0.87748719815749354 -0.35560888670568497 +0.26243054179163439 -0.87520705221540873 -0.12365403026804572 0.24271511674116694 -0.95289818812399762 -0.18186372693674815 +0.15873917766406825 -0.8630196612093145 -0.11031625008940671 -0.19885193478375968 -0.95652612769918655 -0.21334402982402587 +0.079223470767857407 -0.84458672793625755 -0.11984385988704815 -0.25530861257491516 -0.93914039314679898 -0.22985394124345077 +0.041488807017316165 -0.8138041418991564 -0.13956945397779918 -0.79013510463907755 -0.46963391254081677 -0.39386609984688775 +-0.055744684287150244 -0.079824578990488448 0.28742501163476797 -0.33679508459605517 0.063224120018063518 0.93945291613783266 +0.037893095406279165 -0.79878182264732434 -0.14369072577146103 -0.90798522007643467 -0.18027483795031324 -0.3782377862201724 +0.038291961476599745 -0.78241683086081304 -0.14246316361657652 -0.92273993114238095 0.20179210719687296 -0.32837625515313951 +0.028926056735971484 -0.77555845060221462 -0.1068756584238244 -0.93365167854353959 0.27128936146825711 -0.23387309701412082 +0.28636243062085975 -0.71923327096051137 -0.14189630255523333 0.91787998083242528 0.18595962863909576 -0.35059286544862311 +-0.041558761802241988 -0.1330623273720386 0.29296504753083125 -0.31236809885606587 -0.032347165796286229 0.94941025467497175 +0.27531200830881936 -0.694971728875177 -0.15236957154209407 0.85266440726927706 0.26799736770716032 -0.4484872567622914 +0.10576755353888134 -0.64225514255521199 -0.1448018665306422 -0.73970072515049223 0.41999821817041955 -0.5257797390024731 +-0.52669852995887978 -0.58051377213649702 -0.12569289720608223 -0.52880008096537001 -0.8385443798533313 0.13120136198763435 +-0.39015368228880032 -0.59397445818811923 -0.12261522619114655 0.038992757020663502 -0.97688017816253925 0.21020152809400119 +0.13239098562250243 -0.60588449740745154 -0.14364265849999155 -0.42953173295927743 0.3617551083414462 -0.82742717623357553 +0.26145497872822349 -0.61881049834505841 -0.13072147010424495 0.69429301810666588 0.33032331621958144 -0.63940887683080794 +-0.30963394011684686 -0.58163930959688637 -0.11480794221875283 0.12584198358013504 -0.98821019739571947 0.087203216292348867 +-0.18000636431533223 -0.57200697842692627 -0.14261246287745655 0.14528792091480919 -0.95089259711188778 -0.27330329085845512 +0.16878273593799709 -0.57855428021220556 -0.14507501723304672 -0.078069567149537111 0.24197297389215935 -0.9671371270873993 +0.20100199999999999 -0.57947000000000004 -0.14402499999999999 0.13933964645702679 0.38009756513830389 -0.9143906735641848 +0.22489899999999999 -0.58292500000000003 -0.13931099999999999 0.35186862698800059 0.38494147354732855 -0.85323415970341376 +-0.086798441482158983 -0.56409856066050734 -0.12592285378447801 0.11744736577516286 -0.90253123155551007 -0.41429879596659391 +-0.041664709569865621 -0.56139357567828985 -0.12688617260555202 -0.03378332624971471 -0.89854871588902085 -0.4375715850483175 +0.0057819208584222181 -0.56460953290390203 -0.13218887566688922 -0.065003285903606794 -0.87055349332819754 -0.4877614048649257 +0.11342443636581789 -0.55073523186577233 -0.14287670351910697 -0.060781214317902066 -0.45997831971683606 -0.8858473849239028 +0.1368297691058929 -0.56083372427736078 -0.13943243811039086 -0.052822324080089723 -0.077697625616515067 -0.99557665754693847 +0.19364933276255208 -0.55738762829691235 -0.13821022694541985 0.17180139122338919 0.088419464222401045 -0.98115558415591342 +-0.56384516987646061 -0.53244322918418763 -0.12568795444737396 -0.90682533361774542 -0.2535470064382237 -0.33672203645630339 +0.1552055770188922 -0.54468331690901262 -0.14250705513791417 0.10387112476713918 -0.13505789801813212 -0.98537817797155069 +0.18173846925258452 -0.53249848503092845 -0.13749961848834111 0.32155537839258319 -0.083329358412489507 -0.9432170252139036 +0.25177649970925386 -0.18612517216244595 0.29392591084695219 0.34460491956617795 -0.12170257931860497 0.9308254033909833 +0.21799910765764177 -0.52403976984364997 -0.12398175109901183 0.47286943219383132 -0.014789016646813345 -0.88100839104023509 +0.20665027305055428 -0.50484818645286755 -0.13322666224274385 0.51717901011728162 -0.24620486183933038 -0.81970057795562457 +0.23782097729996732 -0.47679745275784713 -0.12108603966643083 0.64441898873776338 -0.33727572710646958 -0.68627199480890999 +-0.53301943872588065 -0.34850639070816802 -0.13813026712082221 -0.78627140122908268 0.59643923635812657 -0.16136146052198982 +-0.50617900000544092 -0.32404703963142945 -0.14832006231168782 -0.52154903155478305 0.85200128934292008 -0.04561151874548551 +-0.33821677728479038 -0.33076243748449741 -0.14455407939779352 -0.057414360038868552 0.99827009031494096 0.012665624498088559 +-0.31436681934512323 -0.32133161848830127 -0.13810545107941641 -0.64183108615982476 0.74199039303618797 -0.19365720611664047 +0.30766134535010947 -0.35385804632940898 -0.13041646379208616 0.74849783522151292 -0.34790682728587569 -0.56454568477368117 +0.015119277818858246 -0.2103152855002981 0.30180678836649633 -0.21046115199412641 -0.12940331663243174 0.96899994073572149 +-0.38351863457730834 -0.32020862380481224 -0.14842422658329973 0.13376310536486516 0.98312758572238745 0.12477011595256983 +-0.29202964394903158 -0.27689982716256534 -0.1598187301297776 -0.92049450419406109 0.003022749300189673 -0.39074381727059715 +0.32461745399671504 -0.29515081502709029 -0.13606686033788601 0.78255200669941472 -0.2309336480232661 -0.57817126097842786 +0.24578575919203327 -0.23652906156091347 0.28772430674537247 0.31924775918157078 -0.18083030109884604 0.93025871157546625 +-0.3098178404734116 -0.2194352095870834 -0.12976116070993451 -0.9736896548136833 -0.1621268211666346 -0.16013541134681133 +0.34004114636926297 -0.22057671903418097 -0.14026717589989313 0.80850070078136693 -0.14508139071402884 -0.57033148861387772 +-0.43672637292496563 -0.09248301928863828 -0.13378715564098898 0.013322364108377045 -0.21899244442513213 -0.97563559995485472 +0.054075774430567769 -0.22844148909308792 0.30585624079814167 -0.11653150230684237 -0.12234254937006239 0.98562300581091566 +-0.45526519225771112 -0.076237020276592404 -0.13601360683336472 -0.09291706453745531 -0.12553054517951862 -0.98772896147914746 +-0.38415831611183665 -0.065680770394881904 -0.13423361288365754 -0.034559193205014799 -0.20232548841751494 -0.97870836253790772 +-0.33329095783847279 -0.098497960428085854 -0.14061211849947206 -0.65551251216438888 -0.22034962528617005 -0.72232221967220167 +-0.4916253681049092 -0.035693664789259477 -0.13157587190298742 -0.26463200811050491 0.1052584207426991 -0.95858779730714005 +0.21237525609584654 -0.20889610190283731 0.30316995802976793 0.22169571291286089 -0.14871341854359824 0.96370915219330311 +-0.47842538619873615 -0.04623039030696402 -0.13540740442557947 -0.1962339733205746 0.022841943607206264 -0.98029101461100077 +0.17858496896474496 -0.23907701693729466 0.30504255283132908 0.16735839768815197 -0.17775858997790991 0.96973865057154429 +-0.41278648011950092 -0.020159228772836824 -0.13696991182400842 -0.071502839577719371 -0.021661223401583041 -0.99720516210711108 +-0.35114836239344188 -0.076883900235047264 -0.13616688883094002 -0.3173876445717223 -0.19419467898633469 -0.92819906794103624 +0.086685380445787164 -0.26916335003969893 0.30201457840008983 -0.081574719462268297 -0.20829980416914964 0.97465725089784572 +-0.4716701893479609 -0.00713083004344639 -0.12886721870784665 -0.27209344255190093 0.31316427591920626 -0.90988641863050934 +-0.44604189544617495 -0.0047981545179086177 -0.13384088507514658 -0.15838823698256244 0.080281078412084608 -0.98410777602585198 +-0.39716324312865448 -0.0073762584304526424 -0.13917308910507331 -0.1801020872588143 -0.09113411067698364 -0.97941707767229258 +0.3419811013453935 -0.016250327615912497 -0.13973100670253011 0.81823012686419228 0.14143998298039709 -0.5572200559081778 +-0.40668909081355742 0.018377291381236061 -0.13764212517544275 -0.24882031151538164 0.097359563186011869 -0.96364390105142961 +0.19286299791168382 -0.2708746197074734 0.29342122077385469 0.19848333864489628 -0.21913209474936732 0.95529340484017256 +-0.43029453810169377 0.033738217033765089 -0.12767349175889095 -0.39061323676897441 0.31625986144934659 -0.864523567808828 +0.14096867562086751 -0.25929003310016779 0.30540599703380161 0.072142259825210511 -0.1875307142874961 0.97960590318052565 +-0.32858816403533386 0.10501467065959014 -0.13788201407628548 -0.45241977618346874 0.50648219525260008 -0.73402461267331309 +-0.37634519470513639 0.057097084249929764 -0.14120423466845422 -0.36145469731232832 0.32958851636122394 -0.87219373517221521 +0.31566598109818167 0.061585018555126103 -0.14954591167979253 0.7462455117737351 0.22369275748388787 -0.6269602749830413 +0.33817433138484976 0.051866283561157744 -0.12288328325727033 0.81771776211339264 0.20186061407402234 -0.53906396096374665 +-0.29641681346634996 0.13919051952735567 -0.13311042016845359 -0.51841735675326495 0.57520318431913997 -0.63275962336900071 +0.3124350170116012 0.11132515568042471 -0.13283749165563513 0.75200844685721757 0.30946478140727862 -0.58199213476123601 +-0.17254065799407514 0.26800887684864794 -0.13065326779649541 -0.65335369097402873 0.62292369872643183 -0.43022670774324889 +0.24035353156258732 0.2298043293974637 -0.13092722496172035 0.60757568874313417 0.54339313292550839 -0.57928894822679555 +0.20388087162494306 0.27031879381797574 -0.12862653014774644 0.59247934843160011 0.51621700913960467 -0.61845632113919569 +0.16388037522985621 0.31262067187615783 -0.14135468184859096 0.61113813975596687 0.14277290530892017 -0.778540989059193 +-0.127386 0.33040399999999998 -0.13859099999999999 -0.77368639708592546 -0.0029663753945277098 -0.63356180407377671 +-0.16171581844229133 0.39342065339396115 -0.13925909930439054 -0.69597348480892429 -0.46925744771895034 -0.54352401621567614 +0.22389764691434072 0.40680032736506 -0.12739154290513291 0.74568469967377704 -0.38591234312790423 -0.54316295169493989 +0.23839225429045047 0.44303821012243394 -0.12906451439947986 0.78146598760320241 -0.30042112141193855 -0.54686201187223171 +-0.20460370754128421 0.48399629565119751 -0.13745170531218745 -0.84599783059068323 -0.18859904738952057 -0.4987164223881374 +0.256199937609073 0.49739022710903813 -0.12771804185180113 0.82445239629548639 -0.19149805767837261 -0.53254740647949916 +-0.21152443479138525 0.53605809244780733 -0.13547172156555906 -0.86200769646825992 0.0032499433328854604 -0.50688476905290547 +0.26266583637459573 0.52763495466300092 -0.12614137644366052 0.85325431220706771 -0.067238947758027995 -0.51714214932109037 +-0.20773924282572725 0.58941078755290588 -0.13160671289623338 -0.87564281948885159 0.14724398555261717 -0.45996615244623706 +0.26714386891172082 0.55559847499765158 -0.11948816935371132 0.8701256103593521 0.040999755199237396 -0.49112161657818282 +0.15545100708290471 -0.29761486323159042 0.29306421647440151 0.11944839813339996 -0.26614741536590275 0.95650281415028482 +0.11509624443400446 -0.27234256089786335 0.30315728961103772 0.0018104371290197595 -0.2212884538533558 0.97520671783401547 +0.24666703245535992 0.57608665259462799 -0.14649217644242798 0.78548437152468087 0.13592368104959721 -0.60377069738469813 +-0.18951669977187624 0.65537936595046986 -0.13718646835467041 -0.89753886831887086 0.0012200288887311045 -0.44093365871340701 +0.26152040297998974 0.61210370020029325 -0.11050753687165155 0.83838177625051635 0.24562074947174481 -0.48660707421899191 +0.22910625192485648 0.64883236013576773 -0.13929180379897194 0.7551228202701824 0.29284012341565319 -0.58654427661099118 +0.24736401179997444 0.23924597082956389 0.25748913740055274 0.27082218719444251 0.95166676692971974 0.14486444575793198 +-0.189753 0.68429499999999999 -0.14539299999999999 -0.88821222274864187 -0.3166505866101651 -0.33288354323900621 +-0.20677088085916101 0.71541592071799143 -0.1313733377690039 -0.88218860399996191 -0.46608644037922292 0.067131937758591637 +0.20676994294383086 0.69330835388109158 -0.139252142392019 0.66223254990784064 0.45821817875055448 -0.5928609875047306 +0.28493848489959239 0.22118398833835939 0.27035207889965074 0.58392423517015191 0.79491052792292771 0.16477178210557014 +-0.24303129354866554 0.77005955644674939 -0.13712192375183926 -0.84760058470510835 -0.36047701626003964 0.38939641697865873 +0.19855112479166181 0.71674095568830265 -0.12598267409049901 0.62486869745956197 0.58230064642792079 -0.52006256172196819 +0.16229113194253633 0.23920513495644211 0.26293342548969301 -0.26814103356715663 0.88525068397614626 0.38004159329907855 +0.29831486304281385 0.19879119760770836 0.30257300384045804 0.75520066522400953 0.63178471999421726 0.17469980774758162 +0.11604547531801901 0.76447570637964379 -0.13279074483151621 0.28161991817338489 0.75700797097390304 -0.58960084257910483 +-0.25947181836654271 0.82521032300431274 -0.13749332935564218 -0.89738136714291816 -0.14483570188467554 0.41680847084036166 +0.016908977391419583 0.80647705689734961 -0.13654633911769914 0.54122975539945339 0.44630896232327466 -0.71265606151927852 +0.096705377130521061 0.19187074241937527 0.26741635310924677 -0.49915084292189538 0.56397293347548205 0.65786242202866463 +0.039231794716492407 0.78975893754550341 -0.13621501188628099 0.36072669290898102 0.69517000523107353 -0.62178365759320087 +-0.018933508220641465 0.90285204320091073 -0.13589135242604097 0.8005023413978769 0.23231404162947319 -0.5524727934281437 +-0.019501799012707044 0.92298301233866098 -0.12448013085900655 0.78913095551983359 0.47587680425746981 -0.38834727012050985 +-0.18878359529286182 0.96691319524511599 -0.14266042787581745 -0.38364817282555219 0.91289820013448364 0.13939496288903505 +-0.046499882337773191 0.94908849198528145 -0.13357054918476829 0.61377386220951535 0.6724565323264996 -0.41362284535532423 +0.074857490157541354 0.16249699174093629 0.27363297192024011 -0.45829248859470506 0.36833020632712327 0.80888865365060647 +-0.14365986126428737 0.97818578923612265 -0.14462467770684323 -0.072928508539176595 0.98937589539955406 -0.12576474165910667 +-0.019440531532101672 0.1624924910132482 0.24853816846060373 -0.26340801440508282 0.37351292834444594 0.88944044786974275 +0.21706793603284069 -0.88465988939893159 -0.077419734439189369 -0.1579099414290388 -0.96425337848893744 -0.21279067759313999 +0.28952473688512215 -0.8651488119119809 -0.10268506103520769 0.77968638103431154 -0.6120978704675416 -0.13200509156361745 +0.056873334146493135 0.15812750879462956 0.26864128983056879 -0.28883082798254911 0.37642425398998136 0.88027355623976411 +0.041168042668714433 -0.83467926061501796 -0.10400565480199031 -0.55633838124044654 -0.77204866742495881 -0.30729214224594964 +0.29984340707691204 -0.8441864716437415 -0.085831071728924055 0.96936080853204365 -0.24286234838002327 0.036844302428502104 +0.30125218740065379 -0.81321412507091395 -0.11552957275802017 0.99890367942739389 -0.024244395422393164 -0.040045580492944495 +0.29344820999261029 -0.74901259469723636 -0.13809500436692002 0.96370880128070913 0.13291014606943066 -0.23151725509322468 +0.089962600350336375 -0.67229982748434081 -0.14947018995916439 -0.85044287525813655 0.37132779904657071 -0.37264269961707719 +0.091602000000000003 -0.63653199999999999 -0.11756999999999999 -0.8636245573905299 0.25849994649115632 -0.43281682215006484 +0.10550969237076599 -0.61532257849618155 -0.12861181313270589 -0.69924398105061969 0.22823702460529935 -0.67747008462647318 +-0.50429366826511113 -0.58481266594926817 -0.11844025128400637 -0.2268637267247153 -0.8908145634710759 0.39367786704920327 +-0.3354199638663915 -0.57865400093174313 -0.084020167531651424 0.0029480608174660581 -0.96995540117167933 0.24326493515363681 +0.33855399099007816 0.084281101368408107 0.33020124694621261 0.99478953209433019 0.0049328219171482822 -0.10183051656295031 +-0.55459516082222826 -0.5557267800756569 -0.094592570248232116 -0.63101906712119471 -0.72837387117501762 0.26699520729596665 +-0.27484495674866949 -0.5783357720372071 -0.089360299646688013 0.033930781094131217 -0.99766969311763931 0.0591936274348644 +-0.17922515475641276 -0.57700922361952023 -0.11866694134271505 0.070835072086422618 -0.99004162107880489 -0.12165517290343036 +-0.092658602550056202 -0.57413894247963848 -0.099154118460005325 0.055380571288419465 -0.96958644720986542 -0.23840116130320987 +0.33466458886081979 0.054236510970823382 0.32703647199470953 0.96542907556107027 -0.22794545896584847 -0.12644195426418423 +0.072208509557870171 -0.56460952585875868 -0.13213026157654312 -0.013591694130720562 -0.74637164277322432 -0.66539058958979513 +0.082490999999999995 -0.57875299999999996 -0.119675 -0.26679016045408327 -0.58944724075711585 -0.76247948211654015 +0.096497800063874872 -0.59389563657768252 -0.11964210160970334 -0.44477850930795043 -0.22396533540522839 -0.86718602744429707 +0.13602917276202875 -0.5784130473195862 -0.13868315571480339 -0.29782489323275629 0.16358670502353204 -0.94049971978222369 +-0.050283746005102353 0.063021580551768208 0.26875285736073984 -0.32887972930749093 0.2111160490015172 0.92047169294042963 +-0.5494568805728931 -0.5606947335142346 -0.13062532227440599 -0.78797835253661852 -0.58530289194926244 -0.1910775774639884 +0.24683072676324685 -0.58344704068170106 -0.12621213162799527 0.56697178173354434 0.37347245838860121 -0.73420795524365201 +0.32254899999999997 0.034097000000000002 0.28751500000000002 0.90082224162069591 -0.4341853487822474 0.0015400987964247555 +-0.56914916068746746 -0.52996865189639897 -0.10588393698723436 -0.93204676215932314 -0.35487456859226907 -0.073163335864167664 +0.22779474969570129 -0.54801670424164273 -0.1227232085701134 0.38959257323348023 0.24515785063358725 -0.88775855679009663 +0.245061 -0.54186999999999996 -0.110041 0.56729746303447748 0.23779294235942314 -0.78843395728411758 +0.24709255899769142 -0.5099915136755746 -0.10360825199158763 0.61440476226205898 -0.055879616540417176 -0.78700969280244493 +-0.5747455502807387 -0.4432100572324571 -0.10806075548001859 -0.89598709103509899 0.098054585315378931 -0.4331194188640014 +0.25980482915697767 -0.46218651282759904 -0.10875228659589453 0.72450107743554504 -0.34241261033165094 -0.59820714897149074 +0.30118600000000001 -0.001196 0.29413699999999998 0.77017552066752848 -0.5422577959398408 0.3358364931137876 +-0.56217184583701751 -0.40343305862268952 -0.11940879700473506 -0.88892438934523266 0.19340572312396531 -0.41522000950110932 +-0.08465123819187842 0.027721408725973729 0.26219367358248885 -0.42769173462590937 0.17041866355212887 0.8877146271442119 +0.27530679172982553 -0.021247006972571855 0.30779255109876552 0.57896016276326745 -0.65604874641131994 0.48415407905466074 +0.30499766379542842 -0.38813928376388374 -0.11094508500508915 0.75480073135572689 -0.39066343391252528 -0.52693257381617042 +-0.33058300000000002 -0.32736999999999999 -0.116938 -0.54090769166158359 0.83745774892241176 -0.077996075998372993 +0.27233418410375332 -0.041365592527753653 0.29452795668036208 0.5784660808556592 -0.339353943897448 0.74176539017450904 +-0.068409418355449281 -0.028603567101873617 0.27703671608940361 -0.40366919200881168 0.11296876463610625 0.90790376232260706 +-0.31539699999999998 -0.31313999999999997 -0.113001 -0.7851793887152082 0.60286501030024586 -0.14158780629876463 +-0.49440145970041338 -0.3202454651237715 -0.13443477223487146 -0.27816834671163343 0.94777585181571355 0.15602341363627173 +-0.47066004583780874 -0.31910926394225381 -0.12678320262013576 -0.013763026486664534 0.97418590135552952 0.22532733678371533 +0.29533689433704458 -0.049248003085657466 0.27775568164249687 0.55030556224345317 -0.10711349666788912 0.82806430124447161 +-0.10525374741281682 -0.046343132649515617 0.25985339434185611 -0.49066947672249112 0.082068380042182129 0.86747233132252044 +-0.41639494250294429 -0.32303680836359494 -0.11462698674484414 0.058880622566502637 0.96870099212307537 0.24114613856736447 +-0.30568108910754965 -0.29895436127420905 -0.12540034826572666 -0.91073331635402077 0.27162245352644204 -0.31110459531013523 +0.33586076366606465 -0.32870950753719197 -0.10247229894006679 0.82114271083560864 -0.31146308709844306 -0.47824198249072164 +0.34560425370245335 -0.2735676809854577 -0.11437091928053189 0.83142597320555434 -0.19651630618790428 -0.51972318832380249 +-0.51523160418628799 -0.15101777353777154 -0.11444936154504934 -0.049980928179714508 -0.32244016119315849 -0.94526940565535289 +0.35970629197460502 -0.17912776529291374 -0.11898643255073227 0.85777534367971109 -0.07033375496118531 -0.50919016358155744 +-0.58380106932901787 -0.11527013582377471 -0.10671540964240336 -0.54269341665488646 -0.30854586521171795 -0.78120631370989202 +-0.086154120658318775 -0.090220820979875604 0.27600307793513718 -0.44353700550016539 0.047488922230197697 0.89499705419479481 +-0.54656868382280854 -0.13185913167738406 -0.11693246377851044 -0.22258467715450331 -0.22477168116933346 -0.94864838208913682 +-0.48146460782715406 -0.12764405563049977 -0.11893095153826233 -0.1177416958565715 -0.13181019074371386 -0.98425757130586733 +-0.46348618348862025 -0.14742582929996195 -0.11596206425243503 0.030818608926959173 -0.31934687717792282 -0.9471366244531545 +-0.42988778429741625 -0.12954090320639877 -0.1215707550126448 0.10391416136514497 -0.40247825378217966 -0.90951256302495675 +-0.33197511459870099 -0.14493777224537246 -0.12398431574378757 -0.69303545147596046 -0.35616181075571068 -0.6267779730947195 +-0.38912193189527811 -0.10608122580907203 -0.1236461421721286 0.088003217227869718 -0.373119026462082 -0.92360036046416338 +-0.52513182032182393 -0.078138246555896629 -0.11987872435787014 -0.16678151851523423 -0.075610399189299099 -0.98309053124124202 +-0.36557153495832073 -0.1097623060574425 -0.12258154486927493 -0.14631048431310459 -0.44197654522635088 -0.8850141104241469 +0.30191583103835024 -0.13154098869183817 0.27488099497373214 0.49786795068302359 -0.036362738142869028 0.86649019322635124 +-0.34793395796713666 -0.12790553521226578 -0.11996016496474265 -0.44279208706568685 -0.41831656919712618 -0.79306141979493572 +-0.5714703707321469 -0.087998775582807415 -0.11445353444652442 -0.3491441500356946 0.052244874105243422 -0.9356114768564886 +0.36166960476398835 -0.089899020535200602 -0.11764621112513694 0.85940793545280514 0.016258623819741157 -0.51103195363131171 +0.28043782096894976 -0.17364595863188192 0.28310295154547105 0.4227865409698095 -0.092952781385803929 0.90144956664664633 +-0.53458827021369526 -0.059535738042289954 -0.11885054228324829 -0.2269803926557224 0.053716707709460854 -0.97241679163962946 +-0.079010022544071593 -0.13230386458439736 0.27928443668465486 -0.41131968122300511 -0.03845009210172242 0.91067980665872594 +-0.5504332342610665 -0.045474868593127715 -0.11207098046318612 -0.36860036291235176 0.34709342453724179 -0.86235719229556651 +0.36201034024855805 -0.05066566299608688 -0.11429793500359431 0.86603158033642802 0.065021760960771335 -0.49574335342145459 +-0.5131083390294553 -0.016022564609134204 -0.11920443207879898 -0.3771464759503963 0.38856465599623791 -0.84070092410364483 +-0.47321673468347569 0.01974276205715042 -0.11391566144907136 -0.40924017708451388 0.55182522511717469 -0.72664392819606982 +-0.41032664511639583 0.070237628696805388 -0.11423590689125662 -0.47753914788707963 0.64194002495177516 -0.59989112895607666 +-0.062195269283595866 -0.17383241285173678 0.2829922470709314 -0.36452268438015589 -0.097935054494915241 0.92603020343472775 +-0.32301087478102897 0.12968439749452498 -0.11714187101666673 -0.52461851586013286 0.68853593145607828 -0.50069320337969681 +-0.28742944028059358 0.15484132714272048 -0.12411402654619821 -0.65059626631066703 0.60774640454966045 -0.4553776520862437 +-0.2497019686114445 0.18849969916722253 -0.12632725493656422 -0.66468261172480991 0.6446983359212769 -0.377572617295034 +-0.21548568824460301 0.22822824476345716 -0.12274628508640148 -0.6854733536387253 0.62596375045811892 -0.37188125062133059 +-0.15771382737167206 0.28801913016400671 -0.12593910882921439 -0.69609735934323191 0.55113650911138035 -0.46010543861152164 +-0.09843328852321076 -0.22352945982832795 0.26006090968155238 -0.4619335896619895 -0.11605751408782425 0.87928835552720885 +0.19502152532046468 0.29577795119473593 -0.11860646389964692 0.6631284673624438 0.41242812329541456 -0.62463083408406805 +-0.14373967917476108 0.31066837118275392 -0.12566147196138158 -0.81085212746741597 0.26674287200365115 -0.52092904278491647 +-0.13598289796625135 0.34653903394378849 -0.13450734378937576 -0.71119345657872046 -0.31414303072139121 -0.62890223689281832 +-0.15852783127282846 0.36799492720034971 -0.11861901678436687 -0.73002614792023757 -0.4252513900781324 -0.53499820428610378 +0.1973170960277261 0.35207272818545499 -0.11659936928026117 0.72254888525527361 -0.34316424671623247 -0.60013449175334199 +-0.19235701530126117 0.42702220012668535 -0.12420329822058113 -0.80326374930375499 -0.39526294906966769 -0.44557216042659542 +-0.21784167332686555 0.46250439654009723 -0.097946118068403948 -0.90683513342470068 -0.26861042299366383 -0.32480529774892858 +-0.22544360757412546 0.54043487970592374 -0.10764807246505097 -0.92930727175000771 0.038734762987124978 -0.36727048997828371 +-0.19967568527909252 0.66332725508052315 -0.1125411106410074 -0.95754721700733547 0.13758201698168512 -0.2533268951468795 +0.25001557265637336 0.66632002652937661 -0.095522117917932914 0.82625201185237018 0.37771723297076781 -0.4178962847726902 +-0.19636100000000001 0.68705300000000002 -0.121403 -0.98532282517897385 -0.14799768470832592 -0.085062421211133166 +-0.20509502939295812 0.72707928449305426 -0.10969293769162919 -0.88128992367387948 -0.28015376191080216 0.38058105591071284 +0.22228877799748495 0.69338895736935657 -0.11976330046479405 0.73475946199215469 0.46379691474204338 -0.49499591401218757 +-0.027975055136949145 -0.22967725538544026 0.28767738830317852 -0.28185284744623695 -0.1552578131717825 0.94681253890913597 +0.17508052124905726 0.73305262921986247 -0.13189540475390379 0.51443859353493859 0.65945482441812153 -0.54815350772704063 +-0.24851065464357305 0.82764383092164551 -0.12070623123892385 -0.82692283338795869 -0.11323241389413485 0.55079673933796802 +0.077901965897109959 0.7927518758718175 -0.10777361918063974 0.30683812085055689 0.78759057034181301 -0.53437015364029894 +0.035930042703434799 0.8052764358992861 -0.12069886385972464 0.5834218820827145 0.66000918091719973 -0.47329355437410087 +0.018455102309891808 -0.29372859648979577 0.28648675510841692 -0.19708652264531909 -0.22351792688518221 0.95456620459375496 +0.01405774354232868 0.84279549390598985 -0.11396700368395145 0.80930571385320749 0.41769982579432607 -0.41297834937916517 +-0.23992986267737781 0.91778263200472587 -0.14153821271708097 -0.84192719554508888 0.46264779065220141 0.27769699171258322 +0.22444797335589506 -0.29611436717945949 0.28164704996230283 0.27060560386926369 -0.26919070786217036 0.92428835866044246 +-0.0092089039565446118 0.91224005929981256 -0.10692822973541309 0.89725844630666096 0.4100774676388419 -0.16359630517304308 +-0.2229671044553084 0.94571726849929716 -0.1489396035277897 -0.68825064306105055 0.71827214646883453 0.10196163951753334 +-0.030634732113749785 0.9444542987148572 -0.10488053823528437 0.70523113856763031 0.70897745743146656 -7.7772854150193432e-05 +-0.096444586272911415 0.97623633943768828 -0.12137396694764824 0.11508318509380215 0.9926774735495757 0.036705503891066651 +-0.060038938240947082 0.96497989319602007 -0.10891097485917645 0.43820042253013936 0.89459147631890801 0.0876725737728975 +0.25156784228183315 -0.88941429040248599 -0.070786052642356434 0.15727489925225857 -0.98523076925692465 -0.067712165632185281 +0.27024369931524495 -0.88455260994877638 -0.076795016550748302 0.45351231779251444 -0.88844480655741442 -0.070656941001006807 +0.021022440636263517 -0.82143643721709969 -0.083318367755640221 -0.86557052694165315 -0.45201584126408906 -0.21556748858829966 +0.06592091204786632 -0.71948403369748704 -0.12950399683881697 -0.88850365891051408 0.44210844306393171 -0.12288764247968588 +0.29993269320526639 -0.71087502978314854 -0.076480190354130562 0.99248213492833459 0.046308262946928094 -0.11329058491742904 +0.078466250764562651 -0.68608463728820168 -0.12716868909603241 -0.95035428941086086 0.27293851161222099 -0.14943658680953351 +0.13960126554085084 -0.34971272342062343 0.27937918912015741 0.050851285910776922 -0.31329164013794381 0.9482945190925115 +0.082001627292930424 -0.36043356191269926 0.27599402714704957 -0.052183183091595559 -0.32302377800955662 0.94495108563505104 +0.28613854073098988 -0.65068398542022976 -0.10612291162020959 0.90683515009925553 0.17188302881787698 -0.38484572876524648 +0.048071208778541832 -0.35004292650756902 0.27654432308481958 -0.14847942116602997 -0.30025414371696169 0.94223208959947591 +0.088442000000000007 -0.61552899999999999 -0.10714600000000001 -0.81587624585964524 -0.13185603542780369 -0.56299195141958602 +-0.38943800000000001 -0.58709800000000001 -0.102614 0.00034279586390099752 -0.91830134877023295 0.39588194621347228 +-0.51529154525248555 -0.5746440910418612 -0.10275359332464723 -0.23374514840029628 -0.82357745246903824 0.51680110814890146 +-0.14873769476816001 -0.57802829200857808 -0.085449356018510336 0.0071994222883945526 -0.99995339605405364 0.0064322654390471601 +0.18428420124013101 -0.32673364648094738 0.28259421947333491 0.1765134489709333 -0.30792763535465478 0.93489227920508389 +-0.05774129232134062 -0.57710696494279645 -0.085775384525234255 -0.079541782353365301 -0.95599580210402391 -0.28239180444824136 +-0.010472139052554397 -0.58120304736898598 -0.093292795393450534 -0.1198493911047742 -0.92877140580220319 -0.35074178424592362 +0.060423999999999999 -0.58558900000000003 -0.103933 -0.20958383599361843 -0.76883951875879775 -0.60411953294438381 +0.27392889782600005 -0.62985357816774656 -0.11940650464471392 0.81972039699688071 0.25443388476207784 -0.51314897352733135 +0.26323212322530765 -0.54961228844414056 -0.096497286903263702 0.68418545038908429 0.22366881522751747 -0.69416318727702953 +-0.5809085611385103 -0.47795964151995918 -0.099013146500983612 -0.94694415428406364 -0.015863582446197889 -0.32100641024629428 +0.27170966093776128 -0.487321011757749 -0.083221768685643502 0.74426721755172676 -0.21639749973434191 -0.63185317201588542 +0.2887947485027893 -0.44101965461535375 -0.087019993644425253 0.78426015740039434 -0.39587683283694208 -0.47772119351908665 +-0.56000150253618752 -0.3826454405535431 -0.10885386638389671 -0.88404168629528035 0.37244837631375555 -0.28240485809108246 +-0.5402276743423341 -0.35331402304237369 -0.090981634597377958 -0.6579128549768567 0.73734202415841343 0.15322341422307209 +-0.37931683416609419 -0.33113875118470315 -0.10786019197490493 0.10598262271428636 0.96800727546223608 0.22744141736891224 +-0.3062355343861321 -0.27279011996779523 -0.10962373872997327 -0.98094658825651138 0.00035622905154703515 -0.19427728660029467 +-0.31346163825620144 -0.2321452030537825 -0.069921297583240921 -0.98000254014876531 -0.19842943134263774 0.014858737463361669 +0.36442542423271307 -0.2266562091258546 -0.098111404446292266 0.87068539917559618 -0.15776885871501234 -0.46584967841804426 +-0.50880173850870936 -0.1796026964462954 -0.096515606753059702 -0.23605044186943064 -0.7480254781519462 -0.62027257953967208 +-0.48967201014145484 -0.17710092563488797 -0.10260202978734942 -0.032295784321748205 -0.62851697734687251 -0.77712508098876476 +0.37878340552576439 -0.18979718161245152 -0.080269152978947211 0.90451395800435608 -0.086351375577853787 -0.41760979360056505 +-0.53915056240845061 -0.16179900389299895 -0.10645914156673086 -0.38630018755515438 -0.57948334092514231 -0.71761495433490508 +0.086807870324826369 0.59101418411110207 0.25054074004698434 0.13141188545457186 0.12676785471129129 0.9831891106868359 +-0.44581975122565382 -0.16414243717426349 -0.10555880749253099 0.16455198693292661 -0.52795504421852291 -0.83317832117779167 +0.037049125877148814 0.61843503167621128 0.24833873848822235 -0.045552177253737842 0.24005845398330034 0.96968909337920872 +-0.44336576261658817 -0.18103249306647901 -0.092044332928236106 0.25316329306559909 -0.6868243850536111 -0.68130801488013515 +-0.57422644816152679 -0.14161469189573411 -0.092843117319094198 -0.6447037605810223 -0.62068571884582879 -0.44621328926145243 +-0.38830846999377577 -0.13643816200201819 -0.107948681941583 0.16620188725569265 -0.59140837266009749 -0.78905834348302861 +-0.39214198702947961 -0.16209212990338606 -0.083176851699020199 0.19366955626058938 -0.78038936598234587 -0.5945456588349618 +-0.34629599999999999 -0.15603800000000001 -0.097905000000000006 -0.50339090465348735 -0.63694073640674298 -0.58386993022228795 +-0.36728968274212431 -0.14901679791729447 -0.097788117728243043 -0.11667285720728074 -0.71722749715382983 -0.68700230110061689 +-0.60218126582802534 -0.087905885550012663 -0.093378513313651892 -0.76095706591481371 -0.033188868346495363 -0.64795280912439657 +0.38676086475538618 -0.11587100720139321 -0.071310000357292264 0.90779096301858131 -0.015360465466049279 -0.41914153166020557 +-0.58262775663532862 -0.054617593538948461 -0.10231912710996248 -0.48887146673878795 0.35800296570959361 -0.79551151189143809 +-0.52468237774657656 -0.0015874749702446955 -0.10189134827389368 -0.48136629294008243 0.63671334987742811 -0.60239737890281908 +-0.49147122337371768 0.022863417685969056 -0.097561542926950184 -0.51145939300466825 0.67711301866661244 -0.52908151475881682 +0.36178407205975216 -0.0021830448413298065 -0.10273909717510665 0.86418840947919784 0.16543748095222993 -0.47519346882927055 +-0.4360091505817496 0.063880168422610295 -0.098683529163887937 -0.50485907804980845 0.71278685611459958 -0.48688007667285221 +0.050323533212929927 0.58346654197307446 0.25263739282482911 0.016110544911620894 0.067500040489523724 0.99758919143932356 +0.36263503912862161 0.066357545291400588 -0.074408839901463325 0.87507463808965902 0.23679359345961154 -0.42210564065022449 +0.34002521157198129 0.096031718180493164 -0.099481118151987735 0.82975800629188412 0.2747347760900915 -0.48582142171917964 +0.015126280688056326 0.59945737421497869 0.25053661918880565 -0.11876906651543338 0.17295256505192852 0.97774297189036907 +-0.3331387494053768 0.13219443001771503 -0.099576852272128966 -0.53884735156338481 0.75673063782980032 -0.37013818160631506 +0.32631415912229778 0.14166001581908871 -0.092268038164313226 0.79932687060769436 0.36213906466383872 -0.47951209762519037 +-0.27881851817698228 0.17166773520486367 -0.10399860454406298 -0.63291566997214788 0.72135431594756605 -0.28118624711661522 +0.31277408665976242 0.17458614712670728 -0.087538883485363816 0.77219671494849729 0.43902338262058371 -0.45931547212687018 +-0.19207055420007291 0.2645731821384627 -0.094487495180289816 -0.73632795581009403 0.62943186089225223 -0.2482673437773173 +0.28809946957002552 0.2122386469614207 -0.088102142841130771 0.73374385437947365 0.50361111514727785 -0.45606556640517049 +0.26315044961295619 0.2290758473926664 -0.10567986334587576 0.66452630303818228 0.54931630468748449 -0.50661266266734062 +0.24284827378194129 0.27290253680178456 -0.083536254358043627 0.68026080160119284 0.52140489043611571 -0.5151525813137352 +0.2039621575203209 0.31197547303487294 -0.10110335232871479 0.75216683436215626 0.17483773223631055 -0.63535566470448412 +0.2088592861086164 0.33031014622352278 -0.093004908141416334 0.81748613412243631 -0.037326634665928525 -0.57473745559348266 +-0.013543466222451839 0.57172028368188488 0.24911510456748551 -0.21468741630230645 0.10456838476370563 0.97106887819008481 +0.21710394275984884 0.35497312607341269 -0.089580703213244448 0.85406571444486801 -0.26719496444280139 -0.44629430467594738 +0.24213631118277251 0.4050118597830954 -0.095028110030153767 0.82691424659055801 -0.39421055330048116 -0.40101230461433246 +0.26751093576431473 0.45690316742246501 -0.086877150595809485 0.86921313184638227 -0.28878362293295867 -0.40133844888263392 +-0.22577980122781305 0.50810932225045591 -0.10421517803525737 -0.93343489817740077 -0.1064724650587958 -0.34258269811659886 +0.27809325710356764 0.50360752965190081 -0.088781131655130685 0.90769806200940717 -0.14704482578768271 -0.39301659943752543 +-0.225053 0.57159300000000002 -0.099728999999999998 -0.92572168092966345 0.14263291117342292 -0.35027877769992388 +0.28560924018257716 0.58373812057406604 -0.072490089548168657 0.9305765277183311 0.14228236435084091 -0.33731743929780572 +0.010239603524744669 0.55624962699677805 0.25279385279788297 -0.070445241579272164 0.0084531256183108094 0.9974798306763496 +-0.19836136793977566 0.70664007031656961 -0.091462180421546385 -0.99366283007218692 0.020690686020908736 0.11048110990081712 +-0.23900577208157064 0.78935553123748736 -0.11870185748065162 -0.81084167394421636 -0.20616554843959686 0.54775135456878754 +0.11754821927677825 0.53208970914921683 0.24964048039021788 0.20839498854832533 -0.025871095892986706 0.97770251873728919 +0.037038829579931154 0.82019992278748244 -0.095568904816828823 0.66317868078096132 0.7012782639348546 -0.26153935438121018 +-0.25691099095525421 0.86108220336136532 -0.13288736553279634 -0.88300460365158173 0.13049690980663436 0.45085854373742573 +-0.24404632016559391 0.88340152237723901 -0.12010525468587277 -0.79763234833722141 0.25856374382930447 0.54491047637481083 +-0.22593961885497521 0.92550640581454013 -0.12215696857933639 -0.73399275483073212 0.4723580954855417 0.48798818170654967 +-0.20335644030214395 0.94966081331267471 -0.1198601391059988 -0.57771342943702797 0.68621507392551184 0.44199102453049033 +-0.16532405534815733 0.97070476016815677 -0.1215015602540673 -0.33103215452912205 0.89480341458889401 0.29957396734005981 +0.076166672629408794 -0.85434007815727764 -0.079063830508090405 -0.26518659898704833 -0.94099349221422324 -0.21025535743034746 +0.090827301916707182 0.50914808764148112 0.2526905291133506 0.093982785505521985 -0.08360533926904333 0.99205714718171922 +0.02095412388050949 -0.80303388578604484 -0.095128420060587748 -0.95095973044587001 -0.069421961550707872 -0.30142359284696074 +0.051163997456639909 0.50308640663097615 0.25277501584883744 -0.0076657450116501902 -0.06513695981773085 0.99784688846491854 +0.30073977746595942 -0.76411495335990098 -0.077746385177125621 0.99911639107984163 -0.0024730286380092847 0.041956181963432954 +0.29495191824559625 -0.67447394071066125 -0.089044318004200651 0.96365598889701842 0.13049182908158108 -0.2331073092072681 +0.046433138207514268 -0.58995256356635695 -0.088032444273341254 -0.28195552884042985 -0.83965177096517507 -0.46420467820925582 +0.074260400792569792 -0.60064003017850753 -0.097292080450279678 -0.60522066669603058 -0.5471736165516593 -0.57819458485339514 +-0.47061694853917668 -0.57542973975186751 -0.091830617872376813 -0.12959295046894373 -0.78284104957220535 0.60857666591271953 +-0.10192831409902925 -0.57834151535406808 -0.070161635291177887 -0.054199706978363224 -0.99779880159650813 -0.038209204336543248 +0.28291733773808903 -0.55865997349139318 -0.07531279144792552 0.83875108345411298 0.14907378689394277 -0.52371139577600456 +0.26853159611058514 -0.51237498204366128 -0.084070074911385767 0.7577382777614331 0.035434468855552383 -0.65159581093808616 +-0.58641168228877494 -0.46819816759954991 -0.070409569879652842 -0.98911048962848436 -0.050404861745537655 0.13827432595862962 +0.26373630159104111 0.22795174199955295 0.29961696979093677 0.4190989406919729 0.89255680094221157 0.1664284681257133 +0.28779615339048892 -0.46756816164997755 -0.068935223042089766 0.83209743888664656 -0.28072219066061416 -0.47833973687013431 +0.22516611600209835 0.24096919809810094 0.26888183469385429 0.10382885089879822 0.97643476643150018 0.1891949170165432 +-0.58334410385720936 -0.43283932479417075 -0.08288232067684051 -0.95778461897472078 0.22309076666420569 -0.18132604193724036 +-0.56338046921671525 -0.38119202265205376 -0.087912921623822221 -0.86249902666560718 0.50604744843915928 0.0033777106294989104 +0.32352137883823628 -0.39178501259049342 -0.075519538772804679 0.83001828307797343 -0.40545497571488148 -0.38298291401097539 +0.18448036813563526 0.25037656578300505 0.23981561089609377 -0.025252211393809589 0.91184777316588428 0.40975110053804664 +-0.45711340022077795 -0.32894343991430253 -0.090602653871239988 -0.013593116765210236 0.92429293841742088 0.38144172709379487 +-0.35412396956718861 -0.33555064100911614 -0.09459433198530931 -0.18273299302445761 0.9586979689481937 0.21796067901099031 +-0.32479841217007421 -0.32434043094588599 -0.081184946908070654 -0.6962959950815375 0.71773144064744621 0.0057850099008406267 +-0.31189065588478643 -0.2946379331519457 -0.081974753494521962 -0.96627320135132033 0.25479376696401795 -0.037366250367897286 +0.131269 0.217968 0.27373199999999998 -0.51087837460151519 0.71379237477465007 0.47906547786088644 +0.11255235972853819 0.22654684850318341 0.24961955638203659 -0.35078682516668624 0.67744841581080728 0.64653866644223557 +0.36000372675748038 -0.29145072696643215 -0.080480534795826397 0.87234024013199218 -0.22439227527083688 -0.43436230527663805 +0.32072015720520597 0.17166200217665994 0.28233003694350933 0.88214004785524047 0.45529503041662361 0.12056272744044787 +-0.49265614022980314 -0.20554200482832882 -0.063807048320074597 -0.22025899649992028 -0.91233873917305885 -0.34514344766337562 +-0.31857258375402814 -0.19496648803220334 -0.11011288314266249 -0.91955816421682413 -0.33878508093863252 -0.19909156575703649 +0.38588692720268308 -0.21997442289499425 -0.055334146154022934 0.92226542322175498 -0.15386067299672893 -0.35461723369654585 +-0.53787625795409744 -0.17320785119623872 -0.088217302312488588 -0.44893877628348544 -0.82683635492968577 -0.33881501931832575 +-0.4518427706449592 -0.19950678818247405 -0.073053615559723201 0.21349169051687197 -0.84113782029011785 -0.4968988482154465 +-0.33268605145269048 -0.17524905679786179 -0.094231196680260587 -0.71421469074604815 -0.61985310249881276 -0.32508384586922051 +-0.56603400473332321 -0.15676620389843335 -0.073817432986034118 -0.66000511771099024 -0.73782595754525171 -0.14144292477085732 +-0.34735722594899077 -0.1749626114733861 -0.062320419168772109 -0.52165769090960357 -0.83173585870159672 -0.1899702999544349 +-0.60007707472623506 -0.1171692031735343 -0.085726771127551088 -0.84701461069852202 -0.42722346214222867 -0.3163010633217011 +-0.61712968901571452 -0.083583117747479951 -0.063302236732630621 -0.9711585417344486 -0.16022964258615305 -0.17657165246135359 +-0.59455023299234588 -0.047310728051454892 -0.090039873192192518 -0.63586413860492141 0.4751301147292854 -0.60821720734747176 +-0.56825296068963049 -0.016270349927588523 -0.078970242736160656 -0.52470879981015528 0.72851932401884312 -0.44038650062520573 +0.33437310906531237 0.16023649073252244 0.21256087651350875 0.96618111218460923 0.24843649585743621 0.069089550467416758 +-0.4821010521980047 0.038928161739799572 -0.081554437358606638 -0.53590564974827792 0.7651229655676246 -0.35692013410408685 +0.37576504582290177 0.031441209248285418 -0.062042185167112851 0.90516819546977478 0.18425634772263685 -0.3830406456681929 +-0.45698499746524357 0.057471773231857926 -0.081954827534189922 -0.54821845866488805 0.77925079104754114 -0.30368524203667818 +-0.378382520893078 0.10946347860112704 -0.081146269428267526 -0.53375649817622761 0.8157196138901861 -0.22294733048300075 +-0.31743343734633839 0.14903560678554292 -0.08253703985832142 -0.57733720718262094 0.79839188614867662 -0.17103258559271686 +-0.24447707894962023 0.20778931077169371 -0.091105186245770284 -0.68837560873698689 0.69326089923940515 -0.21337372584682077 +-0.16865386640940824 0.29638943865184647 -0.090593813232843462 -0.81572507554948104 0.48363940160987606 -0.31730983333365875 +-0.16004171183735669 0.31535266658306033 -0.091444371638603444 -0.91482971435386518 0.21096487083327722 -0.34435507402900883 +0.2272891930120623 0.29256132480849989 -0.082748669540709863 0.72464878805382127 0.43163999434580874 -0.53718809485437991 +-0.15243329450174242 0.32958496904547796 -0.10664372184210055 -0.87792487745248626 -0.0066761367053762644 -0.47875185508646156 +-0.16279394372929434 0.35497145440778499 -0.096861160651006722 -0.84534137755084282 -0.31443700890583454 -0.43188809063320527 +-0.19968446394219774 0.41276384124647025 -0.089883751558794453 -0.85017761643313805 -0.45372188195703311 -0.26708514438177949 +-0.21839093013764616 0.4434335766437677 -0.072234283246770392 -0.92118836944945581 -0.33108067463315599 -0.20444455208077128 +-0.23639942248044146 0.53916395096561853 -0.068845497642621767 -0.98951884473976925 0.013083238032831431 -0.14380989113217749 +-0.033946194274198975 0.11084527703526437 0.26277132975537354 -0.30480508849593502 0.2910527868378488 0.90685287301794826 +0.28480371006564487 0.53863007933952756 -0.080800755278931657 0.92868954696698613 -0.028393015970052345 -0.36976960664497338 +-0.23309017042195801 0.5761227364016881 -0.072715542570707559 -0.96617108849484334 0.14610987061164016 -0.21252137178773167 +0.28173033606461845 0.6257307016804029 -0.05636201141018618 0.92217265161672013 0.25592875431173912 -0.28999667813033464 +0.26555481976102491 0.65086832803471684 -0.076181467316972284 0.86474626514254593 0.35013290723324614 -0.36002894910605843 +-0.20037694895381331 0.68427157705877306 -0.082475070840690279 -0.97620145947622716 0.18769403486224881 -0.10863544446272191 +-0.217948 0.77935399999999999 -0.099712999999999996 -0.76281559737906901 -0.17992210368216227 0.62108002785615257 +-0.081039165548194125 0.082905029008638387 0.25068388144935128 -0.43340471704148087 0.25835261006713678 0.86337377775659352 +-0.2271505194657466 0.81664225271753477 -0.097956260185785432 -0.68913633257908657 -0.091010669494753713 0.71889371478512976 +0.16471322719387982 0.77170150654106262 -0.088188553863271402 0.42964550706405735 0.69400581876288614 -0.57772022795028133 +-0.20523473241128093 0.82693810760737829 -0.080039459997812812 -0.57831259014724079 -0.025686026508191472 0.81541080206200967 +0.1009871216273918 0.80020458726220245 -0.085716318236282063 0.15880215104980602 0.78129360035047402 -0.60362420997947752 +0.13973804950925878 0.79023781379990732 -0.081653177400157567 0.30427707076503108 0.74100851395968437 -0.59859990515027017 +-0.10850163999353615 0.06938510986174462 0.23882371639010111 -0.49712699347884692 0.23813855924942559 0.83435890296280191 +0.31891514870707344 0.018211549953951744 0.27130473857435822 0.88106360055882971 -0.37631163479969176 0.28655974121410421 +0.063139125136274288 0.80643306176496243 -0.093475975781944942 0.37206783421763079 0.87459012832777405 -0.31089810898783116 +-0.23514716133946906 0.85868304692341679 -0.10522035112579443 -0.71178136298114181 0.063963394799794779 0.69948264841838181 +0.013520802774578761 0.85454245619888847 -0.083862455368955341 0.84742540858996218 0.53025604718800001 0.026432958530842023 +-0.20975578734374858 0.91965054483194875 -0.099622673501113798 -0.5977648282650857 0.40538243230431958 0.69162294183192519 +-0.011974821759851095 0.91386081574437594 -0.084505939099614569 0.83310707033315134 0.4784924187829197 0.27744839975783692 +-0.16000200000000001 0.96108899999999997 -0.10163700000000001 -0.30152495472848168 0.76643015286308325 0.56715740536314785 +0.30255100000000001 -0.019122 0.27689799999999998 0.73986012743425655 -0.22303286687618787 0.63471515826073843 +-0.13287752909965234 0.97374100629288729 -0.11075884943795708 -0.10824143564450107 0.92451503160672244 0.36545279851553791 +-0.11266128291734878 -0.0060352841817503666 0.25234167781682987 -0.48669548417576425 0.11891286376528266 0.86544048698570686 +0.32702274640109646 -0.022016202992342304 0.2530062494662178 0.68986539969631688 0.010613225355953661 0.72385985504749784 +0.28698447219255141 -0.86777450985362847 -0.062371826462969987 0.78712104337804045 -0.5994105716959498 0.14542155827317871 +0.053121215627723428 -0.85532118363787735 -0.04395387305841969 -0.41761684186816184 -0.87902914965385359 -0.23000853776954802 +0.29369990507714439 -0.85040843473319172 -0.055185355313796869 0.92774216286073541 -0.27396109358710208 0.25345571299744618 +0.021387516015779706 -0.77787389521149386 -0.079391733379303553 -0.92437925287619405 0.34178430898068213 -0.16942987631066414 +0.29787405408595846 -0.7972691026440657 -0.053535910025797273 0.98520891571874525 -0.080200817899110086 0.15143058210483129 +0.32968199019265387 -0.0974247657830698 0.25731615640445782 0.61914426869747707 0.0033186319233820608 0.78527024725327732 +0.080427994065936911 -0.65538362677144368 -0.095900063078932618 -0.97342973678865996 0.14055930756833748 -0.18076954553095961 +0.073843696748701948 -0.61653878164843534 -0.081354407307064919 -0.80510419150284973 -0.4740436591459834 -0.35649663399256593 +0.036960991007066513 -0.59691424274725968 -0.060765376002631877 -0.27136574508870426 -0.93238148634015705 -0.23879990854808117 +0.056189018052549222 -0.60710479998034328 -0.058071319260785847 -0.65508995734097686 -0.68471362252503509 -0.31941259042129322 +-0.40472479675647438 -0.57475276622338745 -0.079909740177472516 -0.098078471944309353 -0.7979867700387353 0.5946408396538333 +-0.33795183362495207 -0.56979325346471899 -0.059541686647501757 -0.10003306133788484 -0.88811080623775218 0.44861183943705796 +-0.3002865773478014 -0.57573958251275181 -0.065175181505369828 -0.03715332641900259 -0.96732758533395657 0.25079268926342335 +-0.15535671896462588 -0.57558050162869856 -0.062017183617931571 -0.036776431966319426 -0.98381405544786305 0.17537787304861352 +-0.1156161615888216 -0.57438916875075563 -0.037359940499126998 -0.1801235106811491 -0.96578211861283791 0.18660230509722098 +-0.066457140274692739 -0.58177495075479591 -0.054156117123626668 -0.12724186387403252 -0.98708907633176601 -0.097286501963853869 +-0.45219147196424936 -0.55235039693282773 -0.067315520367749238 -0.16386388942507515 -0.649988520361785 0.74206707859895271 +-0.56006172522143038 -0.53270364679955395 -0.069280416034876668 -0.58564355716571603 -0.61516159901642509 0.52782367419986165 +-0.53308813273874567 -0.55138532996837031 -0.076959842923937608 -0.21168632767574697 -0.74278544430632776 0.6351839752400934 +-0.48800100004239522 -0.553557791002669 -0.07147306879080928 -0.072699641742034429 -0.70027031401020912 0.71016635333323341 +0.31040789459847962 -0.17323942156479544 0.26794790996837564 0.5352956212097213 -0.11993351576160695 0.83610678128499771 +-0.11636041738301517 -0.13234046312085468 0.25894345686013365 -0.51658043578605184 -0.029685410621256066 0.85572392146026877 +0.29479032427380208 -0.57888860663665709 -0.055471942392590151 0.94549887503630137 0.08537162497012811 -0.31423488500649999 +-0.58255898293427399 -0.49999038733378898 -0.080460578682191031 -0.9427640802578019 -0.33309867711931884 0.01552933601351781 +-0.57913373545247981 -0.4944700245151602 -0.062717328707321468 -0.84083897720254985 -0.32615276608675681 0.43198864289576777 +-0.15220081446028821 -0.17863142656499598 0.23329550787239306 -0.54752450150501697 -0.07339196387851292 0.83356495841040357 +0.28537946574755846 -0.51336070218716101 -0.059668648331078759 0.90426501262157055 0.026259065638947435 -0.42616340577327888 +0.29201527973887842 -0.48451848427823785 -0.052370464867089454 0.89935144055070892 -0.1626730050035626 -0.40583799701663648 +-0.58427970888306469 -0.4350971133811109 -0.067041841804220736 -0.96339979017002897 0.19312112176919918 0.1859168540690985 +0.2767225249566363 -0.22938159496251886 0.27686312635136628 0.44407114036813011 -0.17023886183035353 0.8796701382989276 +0.30846996020967521 -0.44011698812451083 -0.04889336709980302 0.83547645797695402 -0.39442602060249082 -0.38263194121500943 +-0.56603002437152916 -0.39193954863233871 -0.06058170320671874 -0.83199582748214396 0.4474880603352972 0.32792892356371378 +-0.518729435809826 -0.34020983233015795 -0.089820226763080588 -0.42836269322556619 0.85684564740053981 0.28691625883398347 +-0.51392000000000004 -0.35224 -0.063527 -0.28745959612093913 0.77898671723262203 0.55726714865774163 +-0.12486978170872165 -0.25340910341354306 0.24014426517948756 -0.51514382061969444 -0.15922608040981093 0.84218400566305729 +-0.31076884307995528 -0.25515360298056161 -0.070363791792904251 -0.9988347488119651 -0.023374745526423355 -0.042222811812025064 +-0.062353734873386912 -0.25060695046607406 0.27264749947452921 -0.35692549033632837 -0.18081668574512763 0.91646577705025045 +0.36567199347069246 -0.30654867023998256 -0.059142716792872863 0.88814922940149876 -0.29891600679644648 -0.34905610894867728 +-0.43303112085075179 -0.20095907862845683 -0.048085461381015715 0.42938198201995276 -0.87298790701044782 -0.23135087579288488 +0.25354186241882498 -0.28193990080690279 0.27534097051016937 0.37267103831535642 -0.24445605589781383 0.89518575387225585 +-0.39141045345686937 -0.17616449528786585 -0.055069007444746666 0.2985425035773922 -0.91797938020897663 -0.26112493383222879 +-0.36304603569513738 -0.16983255918839699 -0.060176203373499028 -0.075974655329839089 -0.9699790185558872 -0.23101635290357694 +-0.58510300000000004 -0.13725999999999999 -0.061897000000000001 -0.74245293989625794 -0.66957971526556836 0.020655191702913574 +-0.61220318974832011 -0.098561069107232668 -0.043204735291235016 -0.90044260010304134 -0.42443908603663699 0.095155589242349473 +0.39866362306765935 -0.11928406104522971 -0.044780919285347186 0.93440302947402276 -0.024333600045665781 -0.35538550113726658 +-0.027163048620500563 -0.3021882383436334 0.27202622011628552 -0.28824211882271122 -0.24474341932858287 0.92575220206702591 +0.38208474748569399 -0.03397861785439632 -0.072656676574881146 0.90740106199357484 0.099484357925024219 -0.40832116675624136 +-0.47505009281179933 0.049948200612112137 -0.063492065179756113 -0.53924236817751792 0.8218228888340845 -0.18391521892084411 +-0.39488198517280626 0.1032229709679866 -0.063443552890588173 -0.53549356825969152 0.83682247459911041 -0.11390691093311289 +-0.26617333678423122 0.18991841686577537 -0.072844501755405716 -0.65088087782957471 0.75256590162605741 -0.099993232698824902 +0.001867425053530658 -0.3262720759551343 0.27362276283115727 -0.24424071250507379 -0.29207830402487311 0.92468196623107546 +0.32085694430208672 0.18913923695379903 -0.055218464942886514 0.80235772867787736 0.48793758839212958 -0.34371352179533243 +0.34601779051715703 0.13705854801174167 -0.059104589754004108 0.86069078739479887 0.3557847957496969 -0.36418202537614014 +-0.23297751874356065 0.22485287589376535 -0.068108468795782862 -0.73650733102360277 0.67024008114603839 -0.091297234206963881 +0.2903553647312298 0.23164867070905659 -0.060022415872738988 0.73966658899486426 0.56464616611818164 -0.36615303387073234 +0.23155154444641884 0.31532950394038067 -0.059156023827166698 0.86338863506557995 0.26829456857403899 -0.42729157411920138 +0.250839540982849 0.2880312436923349 -0.050332136260135968 0.77568382120461543 0.48339725687800744 -0.40576064565729353 +0.2331886060650466 0.33414229817455171 -0.046579498936127811 0.92796692961961191 0.049930293483171011 -0.36930250923197722 +-0.17353594411394307 0.35490128235998936 -0.065413179041855563 -0.91190754594210732 -0.33768062382349584 -0.23323040956963165 +0.23906998799392654 0.36691710931629229 -0.051443033687457479 0.88221119862552511 -0.34080413008706739 -0.32489374560817802 +0.26347218498268082 0.42005309974666949 -0.059724196671891654 0.87284455932330152 -0.38691429611774658 -0.29738813479932258 +-0.23301310194697922 0.48421899090885079 -0.053754320897337393 -0.97831191053973399 -0.17189030186275461 -0.11558343229730951 +0.27993629905759959 0.46272435595759115 -0.057634318852221908 0.92612521924572777 -0.26250566685302185 -0.27089269674006161 +-0.22953327492311851 0.60714744649365993 -0.056594551582237626 -0.95131276842058232 0.25972829615230308 -0.16596755350907938 +-0.19973435946492324 0.69091117037941618 -0.066530617728661756 -0.96860144703379081 0.24603666562949494 -0.035737878643906658 +-0.18918614403052336 0.72522110764984893 -0.062233439347613162 -0.95647848223723408 0.18926001649916191 0.22210258704457747 +0.23508317656529856 0.71147339018075795 -0.071190846523386253 0.76183925815428977 0.47873513577263888 -0.43636408480954803 +-0.19947303237094399 0.7399520883572781 -0.092523020592397476 -0.84492664193678546 -0.030798949054955907 0.53399475136234931 +0.21219061680053808 0.74484885383965826 -0.069354331293211224 0.66424394320682878 0.53643967786212088 -0.52058856684355559 +0.1913400454152448 0.76228599369479366 -0.073502063286249128 0.54759145095413064 0.61400943755332971 -0.56845053737101314 +0.15271340377043208 -0.39494136550200321 0.26195682007964061 0.13163901767011341 -0.39014354593085832 0.91129533225806869 +0.11432348507758935 -0.40239410035994344 0.26158038332798339 0.01005630960746233 -0.39849696312176092 0.91711451903228136 +0.16090602516949892 0.79437752657945149 -0.066522283049476605 0.39569067029888322 0.61618122894557126 -0.68099162001712332 +0.033261505487227949 0.82706512185825387 -0.062588444107750885 0.51091517773655803 0.85013154932547774 -0.1274442230934146 +0.072089463918503016 0.81543998176000521 -0.069795175569093537 0.063797477452415666 0.90764906057631323 -0.41485306399452399 +0.10608418008627979 0.81610817379549327 -0.067466786995855482 0.073942289805394426 0.71116632669749846 -0.69912444782736771 +-0.20830637907990446 0.86274313546133063 -0.082981005733406055 -0.57055303319957251 0.090180181868631568 0.81629453698092835 +0.0085698561677401697 0.85402023728279852 -0.065398787830527258 0.72747172327939158 0.53056910907732402 0.43506472199180529 +-0.21365385849302529 0.89151042718688256 -0.092337285091974697 -0.60482927965910616 0.22589449649330445 0.76364469416154745 +-0.1858232886644402 0.94407347746482795 -0.096647319729202597 -0.46906482681809064 0.60220946633850825 0.64600460284304773 +-0.13407846058533707 0.95163199874100735 -0.080027180699683897 -0.1734591769043311 0.67612781493632412 0.71607478088332632 +-0.038296457485442748 0.94389435663530785 -0.084693762408833917 0.52225855663374421 0.71705026042598374 0.46161122608301786 +0.22762289495524612 -0.89161252200687413 -0.046310812211650898 -0.03563101503856312 -0.99566637174391937 -0.085900564291633466 +0.091650718554792121 -0.87198910410903308 -0.018718002831626279 -0.23179296478861042 -0.95170710678021175 -0.20130972251370446 +0.025543164546472763 0.68515603624373944 0.22117388865398963 -0.079182151135278864 0.45236898635396838 0.8883087791565909 +0.15110311878043703 -0.88514913861398492 -0.011817374514877521 -0.18742351514922631 -0.96311992546454972 -0.19306070325746755 +0.084993234404716539 0.68008863278323672 0.22199586721826894 0.13290573903734543 0.46089113163081363 0.87744824879590755 +0.043559715997949056 -0.85457975646960405 -0.025125926346128619 -0.51833419595302521 -0.84717871705504078 -0.11669568404489515 +0.29963995086207335 -0.74441396307502572 -0.043538275761374923 0.99519209784577856 -0.051495886399528928 0.083311836309406292 +0.30074839389098518 -0.68794682148873298 -0.04292795738118832 0.99978092768871452 -0.016169958119655312 0.013290187519443726 +0.078029553704981935 -0.63403399598459698 -0.081725754867355893 -0.95162774068398737 -0.16953120998560978 -0.25624951122198186 +-0.016206535037187608 -0.59153805064964915 -0.054141681647651894 -0.13959563764980415 -0.97242608724652035 -0.18681692319371712 +0.019448817451153566 -0.59796622307831582 -0.038263662668094556 -0.24425932853660159 -0.96760931751401402 -0.063793331022236638 +-0.32714111579665328 -0.56558756854435743 -0.046377760440195814 -0.15158997298959392 -0.83553059380553474 0.5281184591585345 +-0.1619806818727012 -0.57044017572480099 -0.042184853067540384 -0.054679775941199472 -0.95591498373219108 0.28850765324217126 +-0.081444113004584651 -0.57980244598896769 -0.028814261413752484 -0.22218928618841821 -0.97290298378329731 0.063966438455164781 +-0.41004706161759763 -0.56112557642562932 -0.065910323501906579 -0.19791184244396504 -0.6710218928891416 0.71453517889877793 +-0.35387801190423618 -0.55608664153961962 -0.044478464105275617 -0.26466986977162776 -0.75034174456557867 0.60575335442517653 +0.05141165217022417 0.66115792136988205 0.2337198219392016 -0.005016656195694762 0.39012424307543225 0.92074855857907012 +-0.41555865672550346 -0.52886546838462278 -0.041469082170264682 -0.22099492537020046 -0.53916489432823667 0.81268841488275256 +0.0026756274650170386 0.65688230225969879 0.23032157597880021 -0.15194170655816372 0.3183305741592875 0.93572397819207953 +0.29783142065257617 -0.57519932298528609 -0.042487070119424875 0.96821355047514568 0.055001563335603527 -0.24400276372810245 +-0.025188335357084535 0.66139954933378564 0.22426030572222833 -0.21214722905512318 0.34369890549335275 0.91480304741889906 +-0.52331685580156073 -0.51492717822509615 -0.04029701812153047 -0.14245181338713001 -0.59576076647173926 0.79042810551986575 +-0.47172526469231257 -0.5146139723876838 -0.040102382265049585 -0.030824245484138597 -0.57235913481979273 0.81942350874176895 +0.29309656777572624 -0.51444880782894886 -0.042251541622597089 0.95112914317102271 -0.014353389772794647 -0.30845961358464141 +0.087242918233774225 0.64355639456568137 0.23773710342816812 0.14831739511263126 0.31463838319626997 0.93755247219909821 +0.3061565192822947 -0.47628603087483495 -0.021270193688461558 0.93342393313377325 -0.24378669650423143 -0.26322577316940454 +0.3198174483172096 -0.43569609835408141 -0.024843689612755293 0.89354214474065508 -0.36098253654127349 -0.26697199082394069 +-0.53983803047837575 -0.3654292322105307 -0.062987084847447639 -0.51849481408812059 0.71356029414162858 0.47116327784350714 +0.35610850704313801 -0.35595912195196888 -0.030327328270363108 0.85965524840522012 -0.40443887848141541 -0.31212505100048316 +0.13021523927061276 0.62281227479952828 0.23378768336850131 0.28374696970727797 0.23849000042460239 0.92876809639404068 +-0.49618625956073581 -0.33659994772445334 -0.08035170495375632 -0.17969948032891175 0.88044112969457655 0.43878413133528071 +-0.42968426527646209 -0.34974809790156491 -0.052271737356807346 -0.041364083065139327 0.83622377498468303 0.54682612481715487 +-0.039715245848488623 0.63167818836268641 0.2289322808309463 -0.24930667109463533 0.24413543347034408 0.93714677285468928 +-0.39141066236890099 -0.34205244136330271 -0.069639954408483057 0.014673962493255701 0.93944729385431236 0.34237911281875244 +-0.34658404393717507 -0.34264792120611609 -0.061915273306462293 -0.28366787688951073 0.90560804538302453 0.31528812815983903 +-0.34618948668158467 -0.35170970160834231 -0.043565933581867389 -0.27017722077818751 0.85521645433052362 0.44227715927334743 +-0.32453024836177236 -0.33361822336614422 -0.050079654302765703 -0.6895492897551152 0.60397756846267381 0.39966595275571348 +0.36678993412884864 -0.32986411884666955 -0.033565270314723561 0.89360249215823429 -0.34437012415687013 -0.28789547338708638 +-0.30999980353624995 -0.27987698162318253 -0.042651070110906186 -0.99383083420583451 -0.03011484230069671 0.10673972669507518 +-0.061294119834835875 0.59763041711396803 0.22940657893894861 -0.33480200169145807 0.16923816100461619 0.92696605359806383 +-0.46467494754826572 -0.21588167994761162 -0.032334813659955775 0.042101372465384236 -0.99445862917658545 -0.096330209658016433 +-0.51651703122775072 -0.19577445706606655 -0.053252236259698271 -0.52619398528063288 -0.84399343578305996 -0.10389884604552127 +-0.31919693971314583 -0.20693270734683408 -0.057298178379795506 -0.92417735996365713 -0.37650422494164304 0.06434886115307599 +-0.33166443536659196 -0.18604377347785139 -0.051734118074333174 -0.68762365672491566 -0.72542347919960759 -0.030569307126459042 +0.39438311312689411 -0.17797181630200987 -0.042810925941391853 0.92837984692330289 -0.090906513611943504 -0.36034270578101918 +-0.61505921634297822 -0.068435440120139968 -0.071089075931360587 -0.91071549638100435 0.20242256153672514 -0.36003109759076596 +0.13770052779762446 0.56577582829517481 0.24140218800754903 0.30639161926089892 0.096826632351286315 0.94696820375036517 +0.39532087875739191 -0.039574727584501812 -0.040992964087833886 0.94143008314601506 0.099965230508259395 -0.32205023092231705 +-0.052638004381472953 0.55625437535887334 0.23889482333108691 -0.33461475922238171 0.065283365530835205 0.94009097703122058 +-0.58338295561119047 -0.017814919819411898 -0.056808288145806358 -0.6276933305186051 0.74681050258081672 -0.21971608056182226 +-0.54840268150924043 0.0071169697047264169 -0.045579233713356565 -0.50912817137904431 0.84704548433707749 -0.1526514086813365 +-0.49735493105892425 0.038181463308895713 -0.043462049249497203 -0.52215207542546993 0.84563185839939925 -0.11074281100303052 +-0.42755921508822059 0.083181663681802798 -0.045746924653073173 -0.53206050855423825 0.84670006388080787 0.0032583832250538372 +0.3782124857807086 0.076618702241907366 -0.027407121631792417 0.92416336557061485 0.26949040316105305 -0.27073418022349416 +-0.096543260212665016 0.53894642008967941 0.22014883828470339 -0.46318226676028934 0.004454834748116007 0.88625185032594833 +0.15077972481222773 0.53178187297665847 0.23833573729909469 0.37747546281738531 -0.036786219144663866 0.92528863013215579 +-0.34880784177650281 0.13204032324835643 -0.052710035538702675 -0.52716050543802362 0.84968719056697228 -0.011553341193487247 +-0.016982933210174501 0.52785831347653511 0.24928745411925379 -0.1944144531483385 -0.053843932170723599 0.97944058082939722 +-0.29683395662199874 0.16656184125543244 -0.053779472764515487 -0.5697258135579838 0.82169176006940015 0.015334562261273658 +-0.060831600577014117 0.52931015008260496 0.23613323995475466 -0.34913427051083523 -0.033225568947265069 0.93648348769372203 +0.34206919253552293 0.1697953024447873 -0.024807479639150483 0.86782867642646255 0.44831697895554645 -0.21420848431391845 +-0.18636254168212252 0.28496700954384568 -0.052330521394299723 -0.8489993377720304 0.52239631519363527 -0.079386487104329176 +0.12287819043843863 0.49573649749386384 0.24425917976725942 0.27990232413979854 -0.15918565888688854 0.94673893706020473 +-0.17899113551388396 0.35485439051545692 -0.035343196108310021 -0.92757451683360348 -0.35285904295872461 -0.12286582732053757 +0.24519907455214052 0.34824340830619877 -0.019502721870798614 0.96110171016705248 -0.14726786011482698 -0.23365718497655244 +-0.20461159184805033 0.4053012365065029 -0.052762205851076549 -0.87360124325185917 -0.46703486234326119 -0.13674540264600132 +0.29462912881267345 0.51183091774026945 -0.043934402480812582 0.95824435598228119 -0.13740355136281143 -0.2507748358607586 +0.29677541487080056 0.54439346520492771 -0.046754751019348215 0.97300037805570838 -0.001618253494558022 -0.23079784565518754 +0.27222032207329705 0.6691241954481697 -0.033949522920383224 0.8946969060052643 0.34280966742879349 -0.28635463729782179 +0.0063377877999369892 0.4894679220992677 0.25018913602519649 -0.13779755523685788 -0.12995666099691444 0.9818977034463815 +-0.19660704308141796 0.69979506713071904 -0.042962067269224136 -0.91914021332119955 0.39160776665977004 0.042715633526927914 +0.25420693487844109 0.70736630537120693 -0.035684852822680163 0.82504856146112859 0.38266522757708277 -0.41576699584539156 +-0.18246599999999999 0.75201600000000002 -0.060401000000000003 -0.85853699410498874 0.20134647640279141 0.47156529366923378 +-0.18891616270414868 0.77404052200441098 -0.071399206783143571 -0.7517565071149297 0.017219677386908758 0.65921592571861565 +0.094290864187050821 0.46988924577000313 0.24523509361681983 0.16679559115947179 -0.24219678013717194 0.95578237609873762 +0.23061522662464617 0.74381671909699232 -0.043507476804570344 0.72595965858930434 0.43212522201533299 -0.53502370657672749 +0.060661709231353764 0.46987781262844164 0.24852653241573003 0.038035145646114189 -0.22064922091574982 0.9746113322781299 +-0.19398820626423863 0.795478166112353 -0.075397947214879329 -0.62834663293806581 -0.085687064737767965 0.77319999729178812 +0.19747774841248245 0.78563142025034027 -0.048618166832562482 0.57065038980137373 0.45786723181497596 -0.68170061658299186 +0.015586294052139679 0.4524868255049912 0.24224822978067068 -0.10854146134202805 -0.28506438665093714 0.95234292491363737 +0.16382662477985771 0.8117383428710554 -0.05254184806474585 0.32283863469798529 0.42692924434946117 -0.84469322020810544 +0.045494 0.82675600000000005 -0.048036000000000002 0.039315968025978261 0.94065295259681336 -0.33708497063659987 +0.071650141700924375 0.83692836470614163 -0.040758666937660296 -0.29640791382392295 0.72467184610682611 -0.62208766591427811 +0.19791848034522314 0.81184842433728943 -0.036371134169835 0.46123397423407037 0.20919897855466385 -0.8622638855848771 +0.11195465505184068 0.83217209299216333 -0.054015996719509352 -0.0015721546712184537 0.50070348743688042 -0.86561743628362486 +0.16133378129539011 0.83282176535556507 -0.045415870638415623 0.22230200723975091 0.22557426729490646 -0.94852415230796516 +0.097078999999999999 0.863367 -0.036164000000000002 -0.37988205202093367 0.46464648820094739 -0.79987078178596538 +0.12316890069123118 0.84841882089406118 -0.046181176376982838 -0.05042758625749879 0.28095914519906462 -0.95839397810777871 +-0.18247724369523291 0.9115573283989703 -0.077605964613932946 -0.46146599189338294 0.29980986916809016 0.83496298161970572 +0.11337693426911699 0.89152486317922741 -0.033951109926156686 -0.34368566749787394 0.35088041348494647 -0.8710700875298002 +0.13221561154804301 0.88201338022721232 -0.041165990759966686 -0.087680506476529974 0.19121723704351751 -0.97762369909974178 +0.16422041316931088 0.88110274674538291 -0.04030338485732364 0.15478986331851252 0.17511243047763339 -0.97230434273742306 +-0.14919306663546214 0.92959150071261709 -0.069768636276290763 -0.33059597731261603 0.43897857007406738 0.83546640554868712 +0.044202784569429443 0.43074052180584349 0.23658901810080379 -0.012382159343614082 -0.33563593504052258 0.94191039979366586 +-0.028015420336699376 0.92395308958824707 -0.067837359080432452 0.54536162617231076 0.57409119046428492 0.61073726080041402 +0.1625113947275556 0.91148097840756681 -0.032121037439670097 0.11753224246502247 0.38129443668261637 -0.91695186598644829 +-0.06484632089255471 0.94045516225401737 -0.067675874407238878 0.22497748488341418 0.63945161544055895 0.73517804837059209 +-0.088226634969694739 0.96478929047808848 -0.086924993903482767 0.066251674588348228 0.84175042174413806 0.535786284919468 +0.13548053500929846 -0.89154968986770056 0.043679390614774327 -0.10835582193407389 -0.99394020980423425 -0.018489867152201116 +0.23624203308093905 -0.89104271416194603 -0.014265919469967914 0.20676688466611381 -0.96997390164153774 0.12805500981907106 +0.25237026826563436 -0.88398065910665879 -0.013136100277681639 0.48102169189037403 -0.86183134023047536 0.16082559786136205 +0.0252898444596803 -0.83745858641566107 -0.039306428615741851 -0.72868612560412238 -0.66344088805159085 -0.1698903128885503 +0.14822268839843811 0.25054076264782432 0.23348175195016554 -0.1400227987674576 0.82167104366934274 0.55249462605591093 +0.010918374611784798 -0.80525059821794365 -0.048007494511270288 -0.99584261544690578 -0.03462431029309062 -0.0842534414525241 +0.28761866867070879 -0.79970522049339787 -0.014180232710087309 0.95639620183558383 -0.10868784017609921 0.27109640077345881 +0.020709233099065916 -0.76979226691457381 -0.028354252504250166 -0.9445691946848056 0.32827854667987033 0.004715107872583486 +0.29451836119465996 -0.70761034054115601 0.0021519487057505282 0.97442439530639935 -0.10733989240687654 0.19742149156015984 +0.065148215555510883 -0.61986867470094542 -0.043192862177583669 -0.79891137554317559 -0.576161010507797 -0.17256623075893321 +0.30094044843440887 -0.58817338833922705 -0.009988388421633021 0.99891435861456856 0.0054941121387050941 -0.04625925729464949 +-0.026809081705281512 -0.59404243068561691 -0.015792954653381479 -0.18943137600154336 -0.98139456232016065 -0.031312407039099099 +0.076532598279707431 0.20995904140362376 0.2463941383496952 -0.27173174669790079 0.50745079540524107 0.81771361006106302 +0.041194767282435596 -0.60740067403496223 -0.0171702909625626 -0.45171284171493453 -0.88027949491864232 -0.14513276492783558 +-0.24387177815062522 -0.56797987101732761 -0.036626556286436962 -0.047388803774982481 -0.91627827513282512 0.39772908341783492 +-0.16391514703245896 -0.55993273811349786 -0.014824726420181331 -0.13940200910519837 -0.90129136488156825 0.41017186086731267 +0.025328963458048914 0.21120226455791924 0.23565093806178516 -0.186044227312987 0.47178571612561027 0.8618618123245505 +0.30051459661013319 -0.52963794548390886 -0.012232030469628195 0.97865276283692637 -0.078001379070975804 -0.19014351068252816 +-0.54447800000000002 -0.50451299999999999 -0.039683000000000003 -0.34323634186407481 -0.5081883431627322 0.78989456353192167 +-0.024947652242695462 0.21198414375120977 0.22220131856528313 -0.28773252620674816 0.47898516067036262 0.82932696159010166 +-0.43785784141573603 -0.51478093612957621 -0.037734805037975536 -0.15120041097793874 -0.52877660651870884 0.83518485146622534 +-0.46028000000000002 -0.48878300000000002 -0.023753 -0.021466623578469134 -0.45725000192884535 0.88907908523832191 +-0.55590648198251091 -0.38690456814010327 -0.05078205641600389 -0.58439881026350593 0.56607433171492538 0.58141025234863153 +-0.48222789422560397 -0.35927577879829664 -0.047374022445552777 -0.1158357634122562 0.72722153076126872 0.67655814318647955 +-0.31248612156874378 -0.30840818139013243 -0.051784373464790701 -0.92774905796715734 0.23168383994881533 0.29258209744894464 +-0.301452 -0.31729499999999999 -0.017642000000000001 -0.88332333401804086 0.07199180925654225 0.46320305156510133 +0.38932554073884806 -0.26179313833351525 -0.016437853489063958 0.94906408441333856 -0.20527765891065347 -0.23903649601856375 +-0.51484302721819841 -0.19426241569277403 -0.015827706953719128 -0.58915174220774724 -0.79133736483590744 0.16335666398447951 +-0.49515813326865343 -0.20747887490529598 -0.016707821476433127 -0.42672385126769868 -0.89868522533743045 0.10134900354455914 +-0.43144125653455978 -0.20494989575738623 -0.014502778628928098 0.45522601533498402 -0.89036236019134163 -0.0049135035093544983 +0.40024068056950302 -0.21413551643242412 -0.012356302348096371 0.95467424590962646 -0.16264892429385636 -0.24928379735341311 +-0.54564184552802053 -0.17424714298935196 -0.038456374177906261 -0.65871124429906502 -0.74678077231387496 0.091749521722295849 +-0.38250663898460807 -0.17492124477278437 -0.021613646127134359 0.339087944490152 -0.93671523758910413 0.087085759856774678 +-0.35263800000000001 -0.170741 -0.022967000000000001 -0.12136023794947823 -0.98228615592051638 0.1427781514509168 +-0.11088701407207777 0.14979445331846375 0.21050965585444098 -0.51341303708266894 0.33664521094059524 0.78935230113322163 +0.33652281288953756 0.091215517806471524 0.25889890506039293 0.99794218060153861 -0.0631029352645123 0.011376455390370683 +-0.33336399999999999 -0.179927 -0.026516000000000001 -0.56082935193867522 -0.79636832724813533 0.22642421548953745 +0.33281763440458068 0.068524474038860778 0.26017644304133503 0.97819205953360666 -0.19390800416882151 0.074431045838850893 +-0.58853254606959293 -0.12663614810784379 -0.026220487314607716 -0.76671701037712536 -0.6114203522649726 0.19572986188760202 +0.40817020732615089 -0.14482880608738868 -0.014748311863282175 0.96962977042200404 -0.050050211538419098 -0.23940151343784644 +-0.57649719242482522 -0.010096424740274251 -0.020299648399309325 -0.57538679462539344 0.81460671924220074 0.07311586377916561 +0.3914020611033035 0.027835235345237797 -0.018857419750252624 0.9531117451836314 0.18583135756266408 -0.23884033943082067 +-0.4745312302354121 0.050696088080638302 -0.023298392130907473 -0.52067110807468264 0.84135967690096969 0.14496720767600579 +-0.42605327105102297 0.082417162247341302 -0.024926866686557247 -0.51754904608394958 0.84003618312600348 0.16273351202714631 +-0.36810111079628216 0.11673796779749235 -0.027316930857960688 -0.51607713643935627 0.84102099326249813 0.16232091096440737 +0.32923653568132427 0.030017807169833599 0.24789755119580015 0.90778259393660088 -0.078160244753847127 0.41209433178066773 +-0.13571437097578087 0.036264914929780845 0.23115169869744379 -0.53681614736547056 0.18762996630396195 0.82257122468055466 +-0.30182856975584982 0.15846029650017712 -0.025174591374387073 -0.57512089164423497 0.79421059610419031 0.19612620689282403 +0.32352900000000001 -0.001799 0.25562499999999999 0.82767470120384534 -0.049150290316847103 0.55905173101323546 +0.35837821130516145 0.14107219664509163 -0.014397253967442625 0.89576947072705981 0.39889796643225234 -0.19615674265641966 +0.35677886251605612 -0.063511360308992848 0.23056777846083468 0.74397382067026019 0.051859806545040681 0.66619330124402065 +-0.26915653591708066 0.18650614484373407 -0.031400799570739629 -0.66570871161340728 0.73004553697883878 0.15448438503388046 +-0.24265261043221731 0.2136515667319463 -0.030478955726682001 -0.7506763484495006 0.65153665921833204 0.10947603195740599 +0.31332975443842792 0.22315741943663481 -0.015552652900189916 0.81754550469938081 0.53511909131064594 -0.21276020741835952 +-0.17562401810557698 0.3091213019280088 -0.044231245559955085 -0.97754306654556267 0.20054304943521462 -0.064745952552440353 +-0.1716596925815555 0.32806608286885186 -0.049494695822809333 -0.98888874706079066 -0.050640352510722464 -0.13976623567274499 +-0.14422501656897468 -0.036299704834894087 0.23709765235355801 -0.53175205500112332 0.075864745482501661 0.84349528297137366 +0.25314218533800981 0.30102714539190045 -0.019547976573690007 0.86307943499485207 0.41118453763324753 -0.29329364960786219 +0.25057496255116701 0.371912679682804 -0.020744270097850931 0.92614520368575837 -0.32639503364173644 -0.18900090926732283 +-0.21192012146513695 0.41383036482209362 -0.004684740243502683 -0.90412761961916011 -0.42539834772992519 0.039868448558239719 +-0.22148476608022785 0.43760993449626162 -0.031612239223128592 -0.93379478035801811 -0.35270519172913067 -0.06021923200637732 +0.27263197753882645 0.42338746109670827 -0.031725544344918713 0.91029305713581699 -0.37453476047754419 -0.17632431291332737 +-0.14227352235157698 -0.086180078183342168 0.24064608742908739 -0.53416278189803779 0.037397303543932781 0.84455406228529406 +-0.17558040625205679 -0.063185322516579046 0.21733039178015498 -0.61220826461894062 0.033477621842524813 0.78998752494456148 +0.2951942306006361 0.48572682590369315 -0.020487293914021595 0.96272536310339751 -0.21660806464635299 -0.16199018972639334 +0.30078259500912152 0.51905056953896 -0.015579413289724009 0.9936105634083009 -0.061957352818918371 -0.094336285251809593 +-0.23088446018120423 0.61568245438177116 -0.034901434149959387 -0.95793625228628809 0.27711101629476281 -0.074616494180473031 +0.3408661823441449 -0.16650624041457374 0.24562615931381954 0.66601216324366086 -0.10164587768798718 0.73898302684198236 +0.29983663838795166 0.59019349850882974 -0.008846363808714508 0.98677154467382144 0.12460844995566085 -0.10370464223788659 +-0.22424713730009938 0.63935852669042381 -0.011891718129039719 -0.93491867873733148 0.35465021648982464 -0.01225920436907357 +-0.17996492935164654 0.73141039600609048 -0.032910559034500353 -0.89071400342015039 0.40484946731071553 0.20670141008101126 +-0.16576493128977088 0.74762969243384658 -0.017082361257776651 -0.75304271443220427 0.57672112592869584 0.31673239990268609 +-0.1715919122541868 -0.14688084731794326 0.22134029334850971 -0.61323077900385503 -0.015541225673938196 0.78975089869330117 +0.25718459170734936 0.7238903122255177 -0.019767101917823687 0.82379572243957389 0.24671709922969348 -0.51038346430693271 +-0.16420899999999999 0.77149100000000004 -0.043087 -0.72651184442786343 0.36619832955465037 0.58144589029195792 +0.227244 0.77178000000000002 -0.029503999999999999 0.65505136807393605 0.31152439582265101 -0.68837508379646983 +-0.16353446846939923 0.80030336286049208 -0.053131194599115583 -0.57415607010790215 0.14657030779982982 0.80551967823865911 +-0.13728692881691335 0.80210466571299377 -0.035419481306949829 -0.47522065414332876 0.38486295492333561 0.7912305832077432 +0.31957535198387788 -0.19096101851105174 0.25796821859208396 0.58052905806474886 -0.19742619717636595 0.78994234562462473 +0.24178443909928793 0.79223669124248719 -0.013696518758423898 0.51896194794832662 0.10866716907558532 -0.8478619834305442 +-0.14411309221023827 0.81716513876911168 -0.045684966454765039 -0.38670979006673378 0.19033417789174212 0.9023460749583927 +-0.16868105072664188 0.85325170716460519 -0.058128777323289693 -0.44239507734196509 0.082273916802046945 0.89303840799690504 +-0.11507410270814997 0.84263683268162803 -0.04180664147576274 -0.24094349448665245 0.24466639954801797 0.93919358249339102 +-0.103243 0.82844499999999999 -0.035117000000000002 -0.25968622292360044 0.44821471418595787 0.85537514320377239 +-0.048448530070354767 0.84473009904376051 -0.034326925135080844 -0.029212383028966424 0.50772593680977129 0.86102323416294002 +-0.033918337969444934 0.83364524927893657 -0.023246138575950814 0.00023452577293726586 0.75652622404030723 0.65396331497797089 +0.0035969999999999999 0.83391499999999996 -0.035131999999999997 0.23164379559461795 0.77721852257773527 0.58504061408128016 +0.30175078441250885 -0.26057761084222708 0.25418319315179294 0.55274484821604808 -0.20124770621871851 0.80868565803550785 +0.024368000000000001 0.83218700000000001 -0.047147000000000001 0.31918171183441224 0.90391584420793469 0.28470894158826648 +0.038439000000000001 0.82984800000000003 -0.027709999999999999 -0.18653181724094137 0.95977193081754086 -0.20986596191750914 +0.20944133307616369 0.83724487041627915 -0.028503207058777152 0.44210021872774397 0.047268201196909526 -0.89571932755550687 +-0.13977753694634243 0.88341990180681251 -0.050560813327744314 -0.29712123698782095 0.17983346240396386 0.93775204416233038 +-0.05118979252809 0.8646703154500841 -0.041938323383600214 0.024513508221059105 0.25084718148396629 0.96771627012066208 +-0.028858243126287139 0.85592094373864702 -0.041779088858170665 0.13244088692267098 0.49423093944465912 0.85918286177436398 +0.27867309532546369 -0.29364275209899837 0.25900546089524373 0.47252329051553354 -0.28904105042403294 0.83257252602409615 +-0.083528127978462319 -0.28007075874246778 0.25735880378383869 -0.40918399505940339 -0.22027252927459329 0.88546511565063912 +-0.11124319819102521 -0.29575753494287382 0.23783428104447674 -0.4915239145451179 -0.24618936340507899 0.83534127084470433 +0.28250700000000001 -0.33717900000000001 0.239486 0.53103245511044683 -0.34578152717467986 0.77358882300878495 +0.063187081946105367 0.84748695025854959 -0.021183088436072341 -0.608659276992638 0.6547690630459434 -0.44811980385688865 +-0.11698385594757887 0.89410353371880991 -0.047428668005456268 -0.14132921298336773 0.22963411867852157 0.96296117527979319 +-0.075113309770637904 0.90321659503312612 -0.046576564980902305 0.03833198309736819 0.2498812911652786 0.9675174413918316 +-0.0092562149098813218 0.85818530630087209 -0.049937190257618121 0.4623203569494046 0.54993111271720152 0.69558296328748292 +-0.054809682851081717 -0.3315028330543901 0.25372461710427341 -0.34166174634776525 -0.29743873748580291 0.8915141325438688 +0.099042436549387769 0.89826501779874401 -0.021620217090343084 -0.65409618954677751 0.4942772351486186 -0.57258029099351915 +-0.098779310395462991 -0.35467081471144468 0.22651204855859539 -0.45730672701596109 -0.2962581255878135 0.8385115863535485 +0.20049995980448332 0.87600462339208385 -0.03019139157948833 0.37217239255850176 0.12350766243459889 -0.91990954312759554 +-0.091720286238091531 0.92816012950801918 -0.055351595060044501 -0.028162577906188348 0.48078361095051642 0.87638689438344541 +-0.046013567257017718 0.91246407507824578 -0.054333013865793256 0.22046829550705521 0.3767116179291658 0.89971222487715707 +0.12501065232590897 0.92526919885268422 -0.019576595656916662 -0.39373883609909122 0.64117392523742711 -0.65868484614644307 +0.1405114389565395 0.9137615673914965 -0.032126930447245239 -0.10872302048478885 0.43171630393179933 -0.89543304480911945 +0.21281714243847377 0.92294659495688514 -0.016991436597670037 0.32854174908635742 0.32739304224925803 -0.88593121346640258 +0.25073588506261507 0.89711220979864392 -0.006131935615213583 0.4358019203359168 0.1958658208930297 -0.87847212046679479 +0.15809300000000001 0.93849800000000005 -0.016257000000000001 -0.049577202526629165 0.63262358161078647 -0.77287094975783255 +0.20207403011525044 0.94798177587129018 -0.0075744783769050583 0.19954812265560917 0.61659190108379325 -0.76157401102092215 +0.18081312388058279 -0.89212285131226765 0.036662467173595559 0.072319170323624157 -0.98958066505366205 0.12449917652600949 +0.22426429553903454 -0.3839031598663738 0.24867413423235563 0.3117407520390203 -0.39347742357727977 0.86486601312176214 +0.071223135032614793 -0.87229192933189226 0.013177647927020142 -0.35090400271572664 -0.93377130142613651 -0.070267613528713052 +0.18842980090804828 -0.37859951735865494 0.2616915458755964 0.2257934637907936 -0.37994332828364674 0.89702863889738815 +0.26000864894130893 -0.87194224001307652 0.0028588076717186439 0.69007891191101367 -0.64637009776242083 0.32557148532128877 +0.014919322910127431 -0.82192868234667227 -0.024670604319832368 -0.94769809040714448 -0.30332025524498529 0.099323472536800905 +0.052238215158745049 -0.71338250994836194 -0.017906177990903771 -0.86139056936504721 0.50617131471576426 -0.042389705918707055 +-0.031394411195139416 -0.37790064746626451 0.24517987636958405 -0.29583624237234168 -0.35761012078950005 0.88577419199699658 +0.066406627911892543 -0.68718945971369627 -0.016705369866036823 -0.92354237386123705 0.37507355609660836 -0.079933167082228362 +0.29950100000000002 -0.66944700000000001 -0.0075789999999999998 0.99241246214764078 -0.051675597635830656 0.11156674048764365 +0.073690371982288061 -0.65344595488356527 -0.021102906295518586 -0.9985390756678878 -0.048735381380036941 -0.023336172909510018 +-0.028866409626570055 -0.59271740275884055 0.013936715616832851 -0.23988443164765394 -0.96425262141457635 0.11257149527389074 +0.021034159843914324 -0.59966320726652333 0.0080748043946992087 -0.24316992120734496 -0.9696025744131419 -0.027188915230683251 +-0.24440215848737079 -0.55321523181932375 -0.011823630267806806 -0.093866020015915874 -0.82433482548545123 0.55826630363854324 +-0.33009545280422969 -0.54108438688250082 -0.021000157883692916 -0.22734851132619721 -0.63486247468738644 0.73841877862874639 +-0.56417270147687892 -0.48486037002462418 -0.038530002364049132 -0.60164317381830923 -0.28909405678245975 0.74461407301426397 +-0.52580258687737036 -0.48578725547976503 -0.023761823472171449 -0.21407346065380553 -0.38899745529180374 0.89602094463254844 +0.0039184568740471271 -0.39084087426121134 0.25098798166629599 -0.24582082083030771 -0.38669588355898549 0.8888410531050247 +0.1239977873218937 -0.44646279446440928 0.23902308856683974 0.051697455846195346 -0.48705932670046109 0.87183747644450582 +-0.48756243482323791 -0.48742153590730097 -0.021637668816247513 0.0077937435946229105 -0.45934201118202433 0.88822529480083723 +-0.4274045705581665 -0.48517970946593136 -0.019509321392043422 -0.13261561720366086 -0.38114225194288331 0.91495556277755907 +-0.54060548058358049 -0.45615986335605202 -0.020708398123944087 -0.37438021614191969 -0.070258552298135171 0.92460974988937883 +-0.5021943998867735 -0.45724113012942258 -0.010104190824005294 -0.12838326225287536 -0.14483611480904449 0.98109135039522732 +0.079238582144010417 0.71527600476497288 0.2026959937332205 0.13353401383024799 0.54516828101662007 0.82762323101986868 +-0.45386307678735005 -0.45553417163158461 -0.010249190473654052 0.013879941149703786 -0.22563271134665511 0.97411355950116918 +-0.4158475382303306 -0.45676919097951646 -0.0096966638981458297 -0.068712941705636355 -0.16551614209862178 0.98381041788900903 +0.31798297963470173 -0.46720284010136215 0.0070930106317418362 0.9415976450859983 -0.27202135225767343 -0.19848994605372092 +-0.57491707117500468 -0.4424542065396177 -0.041776588407382728 -0.76184164302337498 0.076951545865503901 0.64317631373081019 +-0.54421221066791647 -0.43080963608319789 -0.024970590614555421 -0.42494516947362204 0.19012842304391256 0.88502699715425048 +-0.54376456175682319 -0.40309538077843371 -0.033634929531317137 -0.43420015828154568 0.3977023809110089 0.80827163674472413 +-0.51855467969761582 -0.37229671546493726 -0.043009432808239836 -0.28585159269655119 0.60447449319007529 0.74357209067813113 +-0.4578560004745717 -0.37293823413204774 -0.031223167989283818 -0.13694487303019334 0.60926389096134626 0.78105288740352607 +-0.3890538161551651 -0.36360068709824628 -0.030103726604346959 -0.054939885533794218 0.74355931032057154 0.66640915435873882 +-0.34577908354381193 -0.36193605900038855 -0.028393427265967205 -0.22060833685029413 0.70720982287206879 0.67170397359655709 +-0.31819874075793808 -0.36000551318512042 -0.015965239184750596 -0.4542563721529051 0.56927237381399398 0.6852591573781861 +0.36747648269862898 -0.35369834558359869 0.0090123758746740584 0.91301854338140331 -0.38078699326327564 -0.14628193737852524 +-0.30359435851515659 -0.29112703699588494 -0.016719909926404625 -0.9573783734462934 -0.10995215694480823 0.26709019682592955 +-0.47772945575715031 -0.21075971848948477 0.0018972782502716806 -0.26139803751511709 -0.93773157950222363 0.22875871740222334 +-0.45590039702242058 -0.21320215565168288 0.0019488354215732862 0.12926374410669692 -0.97053159156877999 0.20336989508403011 +-0.31235996440092062 -0.20515821931046863 -0.0015001824857170387 -0.96971576228395895 -0.21053949599284089 0.12379200703244568 +-0.33268186380212639 -0.1670500465308094 0.0061072380279510174 -0.50144452634350911 -0.74375373357576935 0.44202236458378152 +-0.34863567468811202 -0.15986047637775247 0.010186446389824244 -0.0046755568521477855 -0.87510382010514898 0.48391264005551399 +-0.61849466216857818 -0.067053271211600429 -0.027394568339568874 -0.9869068527896584 0.021562229373992201 0.15984346774652677 +0.41153404241659092 -0.10015877955647756 0.0072525594076774946 0.99361679902339894 0.031365336298935585 -0.10835992053037365 +0.13086984450287448 0.66004412503598076 0.22099338726915274 0.28932975659403015 0.38837242348364365 0.87490293897476457 +0.40639645666514645 -0.081506410974201179 -0.015871018986193836 0.96636490771266326 0.053099902238230447 -0.25163319638669773 +-0.6079967077364542 -0.037719571511453942 -0.042006902029283526 -0.82853065170911178 0.55419271278532911 -0.080046213365231933 +-0.51005919792488319 0.026478242957903964 -0.0085555696671103382 -0.49534051988845407 0.83400271318477792 0.24305810777891187 +0.40892607515400542 -0.029984180977012942 0.012929502898071363 0.98548126585877616 0.091502344778647993 -0.14301746586131953 +0.17032464880520687 0.6337325832829479 0.21501643952703064 0.41970100658612991 0.29584064846233527 0.85809636742499629 +-0.42753828039775499 0.075830327953885446 -0.0060663144414387915 -0.49011596980112648 0.82728461189624691 0.27456603407118169 +-0.0777595451732319 0.63812010206313929 0.21392847581229077 -0.39944349392806672 0.27590460888235402 0.87425484954675192 +0.39014583062791031 0.061426472086776762 0.012636704658120057 0.96293609377654688 0.230023627867424 -0.14086592890076008 +0.17184148099322055 0.58851843661776149 0.22578297582945045 0.40774478096221339 0.14802987352703406 0.90101684231852575 +-0.36371787563343988 0.1129155293296876 -0.0061456128024636901 -0.48454483209831178 0.80438431909013208 0.34377634137433494 +0.3768626266678925 0.10540037356895826 0.0093704341309727573 0.92733209763035596 0.34798724506161116 -0.13769552635766405 +-0.20297532024659426 0.2625839462864703 -0.025204378688199025 -0.82473044803037732 0.56054226093467507 0.074913695662780916 +0.24563099999999999 0.327096 -0.013315 0.95416260835775057 0.1347700421038924 -0.26722790378859934 +0.25673512566935641 0.37830512771884328 0.024642956821448257 0.951764536730897 -0.30437660681311246 0.038718830642942591 +-0.23299781595697625 0.47061149212157116 -0.001509288945759895 -0.97118388035210113 -0.23660001047658064 0.028675871158825684 +0.28511807262937033 0.44299421923165883 0.0031031597119280802 0.93246783733349237 -0.35379580402764965 -0.073022334877956938 +-0.23689315334423144 0.50103311407205497 0.0010386523422910576 -0.9967894461499508 -0.07318492404522868 0.032477175624867627 +-0.092376987745431766 0.59144672944219834 0.21749602722861502 -0.44512198542096693 0.14208416531289347 0.884125844018958 +-0.12578679372134693 0.58160145393323781 0.19931670498313706 -0.54491978613033165 0.12290170346343769 0.82943209364568171 +0.29943208699892132 0.48667975742784364 0.022466470495003731 0.98193908236709149 -0.18657116243169028 0.03141400752788636 +-0.23683862974266581 0.58270473100942155 -0.034486269302523631 -0.99408650313337521 0.090227259773405316 -0.060424050524939453 +0.29168740094649581 0.63385042849746354 0.0056736002107176109 0.96309803960330831 0.24388781274014679 -0.11384595253715248 +0.1964962461346485 0.55657419272437469 0.21647657125206157 0.51552530521140005 0.046001968925769493 0.85563863782653327 +0.27689107205667585 0.67875411445392064 -0.0067265439328286769 0.93499420243515619 0.24602454786011235 -0.25545599085336285 +0.25827750164861063 0.74334483420184116 -0.0099208879994819726 0.74997735727130443 0.14587996887378213 -0.64517671862965942 +-0.13878636906275998 0.78299799099524992 -0.021401704986184683 -0.59541105423724816 0.59960068724049209 0.5347566664874952 +-0.098016806918816674 0.81366622067286198 -0.02171259011545288 -0.36637968896384182 0.67993812915302143 0.63517719105667492 +-0.081293399335137947 0.81039180718779025 -0.006688187716658283 -0.30229377450246642 0.83513529401359965 0.45952966671355461 +-0.03033338070794131 0.82143552997589309 -0.0072484756260410566 -0.023693929069156495 0.89067746542097204 0.45401789647164692 +0.19437779459872059 0.51027550639801145 0.21586269422706295 0.50298783336898467 -0.10497654927885464 0.85789461100083764 +0.046032461836410521 0.83595478337500317 0.0034696556587942573 -0.72420369297501241 0.68955578844525278 -0.0064672794125156877 +0.070749075620159807 0.86655368853324832 -0.0066585192018917064 -0.792971852869232 0.54423455796872733 -0.27386928719686882 +0.25358539437636751 0.86374659439226242 -0.0073417114607470246 0.44375478269636309 0.042315849733854036 -0.89514862547814122 +0.28017810669772991 0.89797438673299945 0.010371442993733417 0.54889893165289216 0.22433110993328031 -0.80522389181296417 +0.145561 0.94877800000000001 -0.0024090000000000001 -0.27480459786924699 0.81147621964585559 -0.51574099889304215 +-0.047128597096079985 0.49339397715670658 0.23692327203811364 -0.31259823752127414 -0.15655294638495884 0.93689568089343944 +0.19084361639581437 0.96634812934543635 0.011486541841888936 0.034776670995337891 0.87760545771271936 -0.47812053265607662 +0.21441201663233922 -0.88480077561256953 0.04312237333929303 0.35766230720892483 -0.89616594476388856 0.26261049759565158 +0.26405848576239638 -0.85528957780131953 0.015768449077053714 0.81060453333544658 -0.4183148241626865 0.40979628893117537 +-0.081904348051599463 0.49227407120688943 0.22379960735982202 -0.41423435858490532 -0.15805904982624699 0.89634102490947953 +0.024984210616177477 -0.81160871679923097 0.029050466172872103 -0.94624585241845283 -0.055286031470860406 0.31868831403909148 +0.021249351402298951 -0.79583883042923564 0.01443023544056965 -0.96664296819994322 0.092102681331449637 0.23899470312364879 +0.023010789108338869 -0.77531546139096252 0.002333490538452665 -0.9555960139434766 0.25627316689705076 0.14546587938033895 +0.27638205149286033 -0.82466101438223183 0.01050528166150197 0.91028372004906677 -0.20596924451047785 0.35911031637842894 +0.03816029766812068 -0.74203878984090488 0.012643532680504443 -0.90944301864007127 0.40552486993786829 0.091994433031081749 +0.2869626690423786 -0.71954867935264333 0.024210476009043136 0.93496110423842427 -0.14959348447699153 0.3216667887166757 +0.13470856363217509 0.43669234486367159 0.22480823842962214 0.31774227083740803 -0.3325298681680216 0.88795480521209269 +0.070724254638435055 -0.66923141572184164 -0.00086689897727094956 -0.98395193394753877 0.17842559466871435 0.0017026003682566672 +0.10563043715315243 0.41430000809996181 0.22442855832495118 0.23412110817890608 -0.37323755239042467 0.89770877025385354 +0.068890876363733117 -0.63544819019123266 -0.013151493170345807 -0.91332461732318471 -0.40231029110768118 -0.063123474716710065 +-0.029823656535668652 0.44748029320766547 0.23220189824261911 -0.25814708274114234 -0.29145969261711518 0.92109246617903384 +0.056978134411812098 -0.61874923884441091 -0.0028566641691932237 -0.70874538645650564 -0.69468436185090565 -0.12285607260700875 +-0.069955117960651486 0.4319405651220431 0.21286772582684915 -0.3855604744890222 -0.31279229278676624 0.86804614052767848 +-0.081702611895781541 -0.57574766247356846 0.0010336708452696186 -0.26050771978263942 -0.94522953659547371 0.19666431064419404 +-0.12424441852848989 -0.55524771915419679 0.018276120094952997 -0.28661032876816661 -0.90008317379535663 0.32818409421219857 +0.30088608516198401 -0.58756919023468668 0.026348630203315959 0.99784684945338831 -0.05962109954385672 -0.027331109109008166 +0.07612457828248731 0.40252047028194327 0.22517057043195118 0.10651863556328603 -0.40694813595510027 0.90721937530037633 +-0.25071297821038485 -0.53991993650101155 0.004076061483588328 -0.17866341986813725 -0.67418296036451153 0.71662871722752308 +-0.18561408569485016 -0.54083984720710865 0.014312079943218592 -0.16415289681911061 -0.79448601957710607 0.58467580004855746 +-0.34958765778142853 -0.53192495544155671 -0.020714886165331292 -0.25157756058122094 -0.5667797891016042 0.78451857956197768 +-0.38091091905110419 -0.50696496396231794 -0.017745956323087508 -0.2774174614771453 -0.4112323934705206 0.86828996920849177 +-0.39019357606794325 -0.46935214095280553 -0.0073274502736151575 -0.21567900800529691 -0.1695960479131555 0.96162349494908328 +-0.35117222130611225 -0.48835733719866697 8.8697286309960544e-05 -0.31016273674798855 -0.26635742941068213 0.9126076903745286 +0.30402500271283539 -0.530301124930046 0.016022447234471437 0.98170735454091085 -0.14780645003814549 -0.12001634625086438 +-0.50578788337823155 -0.4245475680185995 -0.013475342971901491 -0.21529645577898682 0.23184342481972323 0.94862851659480918 +0.012161522611713133 0.40306981900669492 0.22310165473760196 -0.12913929710993549 -0.40566406413067663 0.90485341852420165 +-0.47577553504605208 -0.43081933570439784 -0.0087532988621232474 -0.066888891939237832 0.065998272271996269 0.99557526294713272 +0.21072508700867537 0.25758394837582343 0.21454528353681862 0.16358484169837242 0.93957958142319464 0.30071616141992225 +-0.38252508434498983 -0.42874187707753431 -0.0063732372830929002 -0.11624934337497779 0.044587970796594122 0.99221872741101225 +0.26080742627796133 0.2446088278930551 0.19851309811991596 0.39602117208403864 0.89778284030285893 0.19275166126110466 +-0.4497207773340075 -0.41346792635996443 -0.0096224060394587453 -0.069753298803312463 0.18884351549759817 0.97952672447491917 +0.15765982325978026 0.26337171024862638 0.21593855076345547 0.017575661776492918 0.80547784318186955 0.59236520851262175 +-0.36205145179444526 -0.40021192210478274 -0.0070750205973763788 -0.09170350014965474 0.25344570702734681 0.96299311609674065 +0.32896255556201415 -0.43259876242887052 0.010119842171001425 0.92015747967940154 -0.35687075528290862 -0.16110082747725996 +-0.48248232461531182 -0.39651780913368767 -0.018969573037575294 -0.13794089248586752 0.43701421102701943 0.88881431668298072 +0.091984245044396437 0.25011330106835211 0.22290188468887806 -0.19992484347775291 0.69268938556257897 0.69297292305640124 +-0.41213872659768136 -0.39148661376444899 -0.013117049328986163 -0.089515151339444279 0.41249218344732219 0.90655239025416345 +-0.40278092667878851 -0.37806255146698881 -0.018509034163354227 -0.079272089734241977 0.53978161709149197 0.83806428252208687 +0.30525818518996595 0.20483907759159431 0.26014693984966697 0.76184263471295444 0.63558575421862573 0.12500619571831031 +-0.34187364979595386 -0.37653841644688796 -0.015722177213010391 -0.18739496276186118 0.51595763061644473 0.83586533086385706 +-0.29046739847383468 -0.3440538792587402 0.005902476992666994 -0.85858017114647933 0.091415143071913535 0.50446343904313207 +0.38944691049143387 -0.28446394833926769 0.010819163704531398 0.9545320054707539 -0.26137706091854729 -0.14335509254143233 +-0.43047141851774373 -0.19932975301023795 0.021953470446562262 0.39624912797552303 -0.87359941733177882 0.28250785230894726 +-0.32227896600447981 -0.18659218032948643 -0.010758977300824979 -0.77542045995768305 -0.56720977829542907 0.27748185109132006 +-0.37613272761621741 -0.16655376792019408 0.0053924809484928726 0.34996524119383116 -0.88630279082905605 0.30330132364493589 +0.4112280442888992 -0.19612848150117435 0.021021557842957783 0.98596627311527996 -0.11079058722202391 -0.12488376220375666 +-0.58703523210421427 -0.020809926693311762 -0.0019775028604687855 -0.65693442987123563 0.72528401991754032 0.20591319846480818 +0.400771063499336 0.020352883199797445 0.030525987524467835 0.97899817671341394 0.18825825073513086 -0.078239382806613286 +-0.06195717163338782 0.20442302354781527 0.2107616861272304 -0.41045201529302555 0.47268023155101235 0.77980929838183854 +-0.35076538193128326 0.11058563693689538 0.012310060877085804 -0.42510626789921618 0.74504034491171667 0.51400344886647409 +-0.29459788338928927 0.15711912961798086 -0.0076616436353759143 -0.5736058341503667 0.75234717579761234 0.32395998842143875 +-0.25084702175957285 0.1971382056155746 -0.0075517674805278823 -0.70768658505566751 0.64505137846181215 0.28825061400934349 +0.34193099999999998 0.18043699999999999 0.0061850000000000004 0.87895170505227715 0.46264019595910794 -0.11579269954799842 +-0.067946420384762785 0.16645958853633558 0.22888167445718444 -0.40756429338928146 0.37807507039174237 0.83123437603504757 +0.35672651890635926 0.15497658430512384 0.030022194839372018 0.89976698636326014 0.43162087394630766 -0.064208966855123645 +0.31397593994176354 0.22869717218558305 0.0080415476263080293 0.82456320023305529 0.55080084880636004 -0.12928245733901952 +-0.18886193037219967 0.27379446245017025 0.0073667597187064005 -0.82137492107356469 0.52971448460338588 0.21153203973101706 +-0.18016149587802496 0.29513148218012053 -0.017582458156236873 -0.90489992117363238 0.41462732108058525 0.096126569030060866 +-0.16863877814672204 0.31563681212725081 0.011791501541840693 -0.97445150893186627 0.15186250112282151 0.16547518694091232 +0.26016041761571151 0.3004793793913807 0.013653383871608027 0.86739434299110374 0.49236201521756723 -0.07215746474154594 +-0.17141807808548193 0.33228938774915939 0.0019550485800547551 -0.99280421593286727 -0.075244475261227989 0.093156093566588466 +0.24923329602724778 0.33030576142213497 0.015748555990369395 0.98445741016353872 0.17540399299011702 -0.0087776316407694281 +-0.17930714825418997 0.35561305271976795 0.00052870199952977613 -0.91213328211032407 -0.40087098763618983 0.085529684544219706 +-0.12271916633644955 0.094385963664327832 0.22234615137763319 -0.51645824656435557 0.27622237002534511 0.81053814336726482 +0.2483710470288564 0.34995561892567811 0.026059510519260747 0.99336830949992916 -0.098055939752129645 0.06003694163246108 +-0.19828689033442254 0.39839845365292736 0.036472255895380459 -0.86153137120431067 -0.47015589174183992 0.19161715448063507 +-0.22724338828837787 0.46122564554966905 0.025741588543724159 -0.94647968601454768 -0.28113811031018404 0.15854831091191723 +0.30123712785440571 0.52640996049275035 0.035570724663976927 0.99692077318070804 -0.043704352416943551 0.065106847417110258 +-0.23459623695595624 0.60237919982036758 0.012539407921023676 -0.9816086132911559 0.17307436697324771 0.080559256509873764 +-0.15353683000266041 0.087472430958411618 0.20406311242295072 -0.56972463067993329 0.26125688391015039 0.77920387948608927 +0.35340328861550507 0.041935091147382586 0.20586389540481137 0.83251156262931847 0.17477615734557658 0.52571645676353407 +0.30081953237566578 0.59434999264005306 0.039566830280877589 0.98877999534060501 0.11183979713595035 0.099025151304214756 +-0.20425403538622244 0.68060543213176028 0.012813508094506598 -0.88925161103057937 0.44883384187520753 0.088202917565466513 +0.3378427375082238 0.0063558206009899365 0.23651321439370276 0.78848187434001615 0.10006494002543359 0.60686352799864451 +0.27677499999999999 0.69635599999999998 0.0092619999999999994 0.93746174615228373 0.083299110820392916 -0.33797445559930006 +0.27685999999999999 0.71977199999999997 0.011174 0.86549581875268744 -0.017403103192942106 -0.50061374304035167 +-0.15016574993013809 0.7581676435088206 -0.00075374191335661478 -0.65020439693477861 0.68017817633095434 0.33851423995125801 +0.27188246892231743 0.75799493838040743 0.0042388176031939936 0.6433578918225562 -0.024517001529846968 -0.7651728822074273 +0.020602844040259249 0.82159731635814526 0.0053124367744374484 -0.40413480249050621 0.90411861217392375 0.13872489515821429 +-0.16900566107779438 -0.0054646475398028027 0.21663575674417265 -0.58631740248429143 0.11717443907741722 0.8015622585744453 +0.36674675705314436 -0.064456940776648874 0.21680414248009633 0.82243113254581823 0.040590382660646344 0.56741470993874066 +0.29988601597232423 0.80673259563730859 0.019643242498479499 0.6186200519588485 -0.063718156098184639 -0.78310230998119201 +0.29320981619101255 0.85525202516945342 0.013215960318665829 0.58135294944055793 0.045085241735902767 -0.81240142119175263 +0.092688394651516237 0.90889468146106223 -0.0024712054038141251 -0.74323083218944386 0.6225953324717588 -0.24491423410526156 +0.12139134909301136 0.94004946297407088 0.0038938025124424097 -0.59943911036843855 0.74676298423890841 -0.28812809361687552 +0.2637308795167575 0.93500624880583416 0.014849030706995697 0.53507321903511296 0.46637497389078703 -0.70440828643604825 +0.25290996915401531 0.95691968490571244 0.027779645637866335 0.40365189166483129 0.76697607589078098 -0.49881143668382566 +0.039177325013152353 -0.85497109324527265 0.015828422567484957 -0.68351839078612708 -0.72524573002061821 0.082590801812330389 +0.029764032381217553 -0.83669625978422135 0.02441123327911876 -0.88725896773236423 -0.38521522056448898 0.25373363597274912 +0.25688572129348236 -0.83187960395316263 0.045995464673538544 0.80766185998381512 -0.28226027677848181 0.51769822877852234 +0.064412256754737607 -0.68940003889144807 0.020349430197732998 -0.93395210416812002 0.35385493722373068 0.05020110080795831 +0.35416157258724179 -0.16378271164055214 0.2320589201569333 0.76026226910530825 -0.084332006697339895 0.64411908434795484 +0.020243157945192713 -0.59754784235585101 0.040681248715760843 -0.22875087194016477 -0.96179103517218245 0.15043617666318182 +0.040738498371245879 -0.60468432667604988 0.038032404222050759 -0.44704982560203388 -0.88122232204096285 0.1536023195330225 +-0.046654200335400797 -0.57971197872563007 0.045264427574998892 -0.3198460422280997 -0.91278357244236896 0.25401704499967565 +0.29879666848506792 -0.60194975715777921 0.047385899271090826 0.99011568068850131 -0.1079486997276253 0.089543381005302278 +-0.14385800000000001 -0.54184600000000005 0.031710000000000002 -0.31256787858405288 -0.80917616392486058 0.49752915192309277 +-0.27074364067135581 -0.52126220432353054 0.015024527046232194 -0.22041901327404567 -0.59655498356435077 0.77171083326064127 +-0.21115019972740556 -0.52167657654968957 0.028059998076689456 -0.2119908896214899 -0.66251591362856965 0.71842364027528427 +0.30314541032124981 -0.55250472678378137 0.050058538208304949 0.98406069635074056 -0.17099826295843262 -0.04882765571778238 +0.31579879620314455 -0.49928151979893198 0.041637029137758297 0.97165024812788614 -0.23022126787036001 -0.053795567969687021 +-0.35572238925909505 -0.4667851480328164 0.00181093013450263 -0.34542033593019039 -0.049156492133656741 0.9371597680262358 +-0.3512740737789094 -0.43982688625325694 0.0026465128809789185 -0.31930979517890229 0.15024339097470482 0.93566456498642148 +0.32429836129777051 -0.45678078717716053 0.039849283778297384 0.96262961408520153 -0.26818723452411969 -0.037680675743419184 +-0.33524951280975845 -0.40440137098897283 -0.00064850511057990695 -0.23159577159669306 0.31911720577787728 0.91898183200488381 +-0.31153184853947236 -0.40132264945464335 0.0070740283086377226 -0.44343391077774286 0.31031933327916839 0.84087352090878043 +0.33487693618840009 -0.42648464153153087 0.034170341799858894 0.92017299350138038 -0.38718509711028498 -0.058046210956509796 +-0.306306346457837 -0.34670576847826873 -0.01270761573080717 -0.73430607050660401 0.29009380115268901 0.61371017699719999 +-0.28809181636603953 -0.31387247873167956 0.015633277252796063 -0.90397152263484781 -0.16036322279564116 0.39638254633602432 +-0.30595516815187362 -0.24058469711519459 0.015200945806751243 -0.95378528471076185 -0.16612889261149638 0.2503893402461233 +0.31637137394893916 -0.28741087140337007 0.23621761183042056 0.60095350579889306 -0.26788531644989116 0.75305533734152741 +-0.30729565142135107 -0.18878421663135381 0.034630893005192509 -0.90735301017458692 -0.20247753815172828 0.3683929443829394 +-0.46056691339462769 -0.19313565734201302 0.05317480418499998 0.065717321462896536 -0.85738295294085165 0.51046616505520481 +0.41096450621088831 -0.21591107243008278 0.048717985462562535 0.98761878772410705 -0.1526140252183486 -0.036305501525506254 +-0.1510445687137883 -0.27836254642980862 0.21740125803831309 -0.5728597996399194 -0.21253926715895902 0.79161778016416751 +-0.51408038294628433 -0.18323718772866693 0.019501405832874602 -0.58975486192968352 -0.7672073432373604 0.25215490340854152 +-0.41793175902269092 -0.18344409839112563 0.040063066080792707 0.49380598089508038 -0.75344521519659957 0.43413818183799163 +-0.54218654828375923 -0.15698079634074924 0.025173347802505353 -0.66406908497615735 -0.69604946580539728 0.27299705407009472 +0.41236912115219593 -0.19597970109404717 0.043580275630019427 0.99895612411171419 -0.045660678877673541 -0.0013283463898526619 +-0.37245392670537164 -0.15092674328913702 0.034480991910536191 0.40239540942223573 -0.76270753963659776 0.50631526093670043 +-0.32946199999999998 -0.147616 0.033849999999999998 -0.40060430684380954 -0.6087515383261406 0.68479029923309243 +-0.348785804083383 -0.13638902859945706 0.040859855721952359 0.036438010893769961 -0.66667853476825722 0.74445416423132138 +-0.58963319211975229 -0.099147684768601252 0.028787253511553063 -0.82781930476864596 -0.42527048169058479 0.3658691242165884 +0.25072086849242048 -0.37695987590816671 0.24134353526386515 0.40774259044695055 -0.39301799106745761 0.82418616746030759 +-0.59983608428221236 -0.077554693236712019 0.021289344913639457 -0.92317836262792941 -0.19173364292137465 0.3331364899672718 +0.41233945229622743 -0.11170399287147958 0.027905040337171449 0.99849897613212735 0.011731978567612579 -0.053499115338317194 +0.41225210227681675 -0.0512528897692901 0.039531253912917341 0.99832205127549634 0.028872887758968787 -0.050194006510170856 +-0.55722239907072457 -0.0029443647098246206 0.0055367734421365583 -0.48650296881448851 0.83316879842339242 0.26295363596727322 +-0.075197030424747249 -0.37481688743324604 0.23020798578056778 -0.37664803370470512 -0.35323786693303294 0.85636398106820222 +-0.4829378215369684 0.03462882621486521 0.010651356198336112 -0.46114204945909681 0.80627391391137171 0.37050018349078018 +0.39012096509672856 0.074640175405053188 0.045957432426738554 0.96507839821202857 0.25949450473130098 -0.035864847953977187 +-0.29640379604452438 0.14516374486301839 0.010517203950635682 -0.51677591496081265 0.69166155740569568 0.50452645492931525 +-0.26412350138118962 0.17325432860009332 0.011405573309291539 -0.67151108868279585 0.62737311990428657 0.39430423050939706 +-0.25252614867349776 0.16578545855615329 0.041577966147528796 -0.71401094233046114 0.52472274728407109 0.46352390738237398 +0.32147685435114731 0.22292290140859783 0.046377668809451822 0.84786427460918501 0.53020219787154055 0.0034352894533277284 +0.29747931190335342 0.25509693202501049 0.039549867687881934 0.77982487985550852 0.62579271103607836 -0.016019974171539393 +-0.21183043512595609 0.43170712416886903 0.047866475321395818 -0.89742859953307408 -0.37813241302126466 0.2272394925245633 +0.28368044479067739 0.44130532111709891 0.049266970395545229 0.9408952789038223 -0.32622601556020464 0.091064048384704055 +-0.23643685786363211 0.52211332983477998 0.038995304247684714 -0.98703677447043781 -0.04833225156679978 0.15304378230257332 +-0.22037120118598752 0.64028399141877546 0.031021737061019683 -0.922273638751124 0.35119752704354218 0.16146712440389144 +0.18398971972374153 -0.44467947444812939 0.23015139928717743 0.21686419038345442 -0.40099287232889369 0.89004193118681341 +0.28219283020150221 0.67015223568413873 0.02598861599511304 0.98621487331649638 0.094929128299693605 -0.13553111911877422 +0.2878619507497121 0.70673475041287059 0.037737813309431378 0.92410073676243643 -0.2140191924020888 -0.31659692607269546 +0.29087932027960101 0.73617665209702965 0.028009845574005862 0.77775119605703569 -0.1759394771563314 -0.6034470792122596 +0.057124234309600216 -0.41269638064621322 0.25337770424052392 -0.13718236025561065 -0.42124536738089519 0.89651176260818488 +0.30996390248038919 0.78188521092205332 0.032594812328902115 0.72302394146277993 -0.20267862341719964 -0.66042240701034327 +0.0029819999999999998 -0.45046399999999998 0.22013099999999999 -0.23912028152859779 -0.48648294814782489 0.84033078732311417 +-0.04247812634312087 -0.41648240795486785 0.22369174652095913 -0.31961339043206954 -0.4424720883475538 0.83789362790862176 +-0.04530512562503386 0.81096364960154577 0.016642258172795132 -0.13756110482763956 0.9365325346077783 0.322465120687075 +-0.0011142102502104123 0.81830564511751658 -0.0038350978608061581 0.069628511776684568 0.94704901903224659 0.3134486016842688 +0.046956452616166877 0.83289959362861732 0.026464646432937666 -0.60127739309686945 0.74691758306655254 0.28386549747486478 +0.31869060699673885 0.83254738270661766 0.034886234034921332 0.75470593695434662 0.0013764649452759074 -0.65606177610810124 +0.068929541717284687 0.86540925385279466 0.011551790098584272 -0.84262731684140857 0.52773646413740349 0.10711409492872269 +0.083771000061326761 0.89271850761582039 0.025859125211685319 -0.87561503924312034 0.4453276863961611 0.18703356591882431 +0.083784910795173945 -0.44518902717594672 0.23915356272566957 -0.073309585925745407 -0.49606406028536326 0.86518561748597933 +0.30826929101719558 0.895342903360554 0.032447900692748277 0.75754424369680906 0.26563811028179518 -0.59629113125028643 +0.105599 0.92360200000000003 0.028701999999999998 -0.77482030032174831 0.61513837636588453 0.14580219522098778 +0.1260328755191007 0.94567179772806265 0.026792905367366115 -0.59542152753712752 0.8007324861927082 0.065579647002694932 +0.19760138687392004 -0.46785265445697855 0.21753327679126816 0.23426770121051105 -0.29095052955855677 0.92761329955921723 +0.30059687938580448 0.92838494813799743 0.048058437135713394 0.73639283966346869 0.56972195997927888 -0.36488693318580445 +0.16053142255785588 0.96547013225009159 0.023419425199121074 -0.36183866061267972 0.91642757874016267 -0.17097741549826118 +0.13087633003934243 -0.8884202642201835 0.07150460418187006 -0.14150657159071378 -0.91615710686500851 0.37500939419883822 +0.217987699596698 -0.87622992946817957 0.059355109607521161 0.43187399631458623 -0.72448452782207851 0.53722157463535347 +0.23240737371733866 -0.85843882007553507 0.061324317373353782 0.6595291383735139 -0.47007103056390226 0.58656162665220535 +0.04276328471956925 -0.78238640098195222 0.062809389741380783 -0.86845025032702883 0.078750848269709545 0.48948183480464547 +0.26694000912722865 -0.77569152714774692 0.049680644725335732 0.87810489408586889 -0.17685850979163606 0.44458167134591448 +0.043882812039172325 -0.74505898632246081 0.048277156800835774 -0.89234783516052762 0.30454639129837874 0.33311685131715368 +0.27497747705539149 -0.73241188064899809 0.049440072874495256 0.89716422765959625 -0.17642163175545625 0.40493426189531345 +0.07230747297672338 -0.65289931758468378 0.036928807935102843 -0.99386663545486076 -0.047203939696770073 0.10000449493267084 +0.047153518032111985 0.72317523580610998 0.20101769015165283 -0.0028181557943591008 0.57223071653763646 0.82008783983713696 +0.067837307605766534 -0.63311203236683156 0.036359465781274372 -0.90627541842234804 -0.40113281249781135 0.13325664223967806 +0.29228877094739075 -0.62256194768205253 0.064998564974493078 0.95016736221959464 -0.17728056714176887 0.2564246171617508 +0.056563549912605038 -0.61634047947831494 0.036186706889236198 -0.70919715347443746 -0.68828952045552116 0.15263333035370741 +-0.0035814029057553709 -0.59035917076799138 0.055253483360399813 -0.22878186305344594 -0.93255368615031375 0.27928924359032592 +-0.12595678282827449 -0.53879017115686823 0.055928138885437795 -0.40074423335583292 -0.79700819644785015 0.45186501770660525 +-0.16558045533702107 -0.52243267673137495 0.044905823372425949 -0.37376075893613997 -0.70532079169827289 0.60234996129957707 +-0.27881375224222599 -0.50161976960275245 0.025416811965811664 -0.29358385706193751 -0.40604103176355127 0.86541273355378034 +0.11293740044643275 0.70290376857134973 0.20258270538687984 0.23713265901820371 0.52229306956659882 0.81913249936115717 +-0.22127971352900511 -0.49605396805968233 0.043347921277513995 -0.28336577092547305 -0.44011782576962777 0.85205641791352527 +-0.024827860086291065 0.70657145698391943 0.20118373390140076 -0.21794811240888601 0.53987770383821287 0.81303793588969908 +-0.079504273191118469 0.69686860115172689 0.18501159420311353 -0.39854531001543547 0.53258405003783449 0.74666985040913358 +-0.28862464171289204 -0.4851631342235867 0.028910940907192623 -0.3705429664568991 -0.26015517566672414 0.89163736719763897 +-0.31467800579918781 -0.44016978720534705 0.018258511513084684 -0.45542140051471569 0.061681496883759485 0.88813666791513213 +-0.29315880467700006 -0.41531046226029961 0.023702557173415274 -0.5495496784498699 0.19816847563402623 0.81161838703945755 +-0.27040091194558208 -0.39748666773281804 0.03860378005078198 -0.70786728504864116 0.071371236480400141 0.70273042723445867 +0.36213555682661386 -0.37251153809408355 0.056316232178726465 0.90627706352749837 -0.42268277251691727 -0.0010760768497706029 +0.16891019015479083 0.69281829457795563 0.18821702077370461 0.39566428989175195 0.47972658668416973 0.78314249771852606 +-0.074268090047498139 0.6708242626357197 0.20411762856195487 -0.38521830857449579 0.3979518341093855 0.83261106914812311 +-0.27145211801455638 -0.32937266625427197 0.04646870056610275 -0.87164069024803381 -0.19018947240976189 0.45174159835953515 +0.19853530844800385 0.66649254026715488 0.18515824010787352 0.52846780250223224 0.37034826978316543 0.76391356892457229 +0.38655720261097992 -0.31314088630167042 0.047228765885492074 0.95185329122326046 -0.30355299609559305 -0.042788906843196382 +0.39794050393959307 -0.26630591674608528 0.060373509840020149 0.97036858135202841 -0.24155758020442256 0.005895063242709277 +-0.49192825512228378 -0.19051686082503028 0.043974328446910738 -0.39403793762616079 -0.8347275736803409 0.38466086550239664 +-0.56294590145768442 -0.13132430822546459 0.034892735883689047 -0.72799181570417304 -0.6055210270499326 0.32151547718288198 +-0.32831780191415999 -0.10988997601347318 0.061208749967087299 -0.2511074473211316 -0.38162712974223245 0.88955369919110028 +0.41224246201980197 -0.15843514023727856 0.096337070863524943 0.99780627794072496 -0.029504106040552935 0.059263305922168212 +-0.59573004250561068 -0.062579933100636476 0.034208461791775613 -0.87466089552421966 0.10987191351043203 0.47211913799625449 +-0.11268430016442246 0.62822342757875482 0.19792048466960646 -0.51755742860124099 0.25381977900856828 0.81713513440783636 +-0.60448770062790835 -0.040933457442302423 -0.0006288789331057856 -0.87492463289421352 0.42456265075154576 0.23292368351403595 +-0.57698661425921838 -0.027432387960591775 0.031679747867250488 -0.60521315811716048 0.66773846916133139 0.4334078564630946 +-0.53480661709638344 -0.0022432715393906344 0.031111163123663965 -0.4132996792559448 0.79547908531914613 0.4431663344013711 +0.41055478607210533 -0.013263215898325353 0.067465487822088638 0.98530026685190097 0.16800355741856254 0.030954625442420086 +-0.4673669846467326 0.032875538028006079 0.029212206707426882 -0.39971026596345688 0.74774458050232373 0.53019783629587414 +-0.42382511020139368 0.064372648702135216 0.022027395495515079 -0.42493321121368738 0.74134824376587327 0.51945601110477002 +-0.38102863857234937 0.082121531053300334 0.02725432041175907 -0.37941671508238872 0.66968430065917883 0.63840887663527679 +-0.30232139094179888 0.12583909930683079 0.028172033570545291 -0.44732392121646797 0.63217853948105185 0.63265441097579278 +0.37915204123249779 0.10747911687385781 0.052446924375381565 0.92909222025062621 0.36982665643029561 -0.0039862844040637092 +-0.13885803772478428 0.54702287946699069 0.19354710712626111 -0.58604578390284467 0.017940456392341007 0.81007930426232644 +-0.23260984554960595 0.20960904339411179 0.019523283834289806 -0.74927430492001978 0.57686431433748697 0.32529306606591285 +0.35583817130007095 0.15613846577343593 0.07468426945683948 0.89366555576937146 0.44528710327405135 0.05550918923227742 +0.25358681875005917 0.31118549158286923 0.047995446234094852 0.89229706304309908 0.41583709820336373 0.17574259313685384 +0.26851544691668894 0.28791230621734309 0.054599276752259063 0.78227842948281934 0.61082492708051139 0.12220215719446871 +-0.1627466195974808 0.33125987724749251 0.042007827637235651 -0.90713615774895506 -0.25881262582726772 0.33184336066412096 +0.24445245691552292 0.33175183092181904 0.055434035426348144 0.95707793793713591 0.13637282143252102 0.25574259380973963 +-0.17191482599306684 0.35295867569313494 0.037123750603680498 -0.88570827896907289 -0.40663787178331662 0.22397876193330934 +0.24240553155145234 0.35956389806727207 0.068181524189160167 0.94132154403073887 -0.23396684122455946 0.24325556098676857 +-0.12525110084071403 0.50268779252380624 0.20114085184115943 -0.56317491496337446 -0.12524005007771721 0.81679186149993355 +0.26877076886342 0.41552188101826759 0.075113576300750107 0.8883012525604399 -0.41457500221169741 0.19760681223258711 +-0.23354631890289107 0.57789370291024389 0.041172240950330008 -0.97799446290846259 0.11957941830712683 0.1709607944463204 +0.28451851562090757 0.65207360874265463 0.059294888181246952 0.99128973626138861 0.090698552415233738 0.095490477915903371 +0.17191963144642733 0.47171985226152374 0.2208893345886988 0.42667807219006659 -0.23463076404354571 0.87343816454086221 +-0.20107656396167523 0.67487150669508733 0.048319664206937785 -0.86987617418133811 0.4352636372826682 0.23207974416372515 +-0.10690048327514264 0.4580221162463094 0.20168063710583822 -0.50419906335288034 -0.24044112832234685 0.82944039467893937 +0.16396527779931017 0.41632476124604934 0.20195655267974744 0.41353544917387008 -0.39970108932305459 0.81806324417524645 +-0.18759161034701322 0.70361434899607822 0.036658411226290433 -0.81434296978386833 0.54606469523962309 0.19661860587555627 +0.28558053528700422 0.68323859312524271 0.067014305633760762 0.97714953495136836 -0.19715448614768946 0.079428552398776303 +0.32411250861993024 0.78662699001519931 0.050407657474509426 0.86733991342789962 -0.20874691566870165 -0.45182540850829483 +0.041266922409179937 0.82159823075292671 0.049700121876048386 -0.3769477379371477 0.85237509713424642 0.36244599135519678 +0.068567272192731815 0.85352008401632906 0.033197857007320253 -0.78087854906093335 0.54021025074591245 0.31369025583452526 +0.32836408623150232 0.83427476805526912 0.049328266187773383 0.90363066728451158 0.028445508877729217 -0.42736690345373651 +0.32371992084872581 0.88098129493487787 0.052560498016977542 0.89452098786471801 0.22390342881944675 -0.38691014051382 +0.20643531760669537 0.97693190209132252 0.041182222496308735 0.074047246456176816 0.99520997458733385 -0.063828769172971839 +0.25753821995489545 0.96421904552523163 0.054456278751743109 0.47683261527131393 0.8789881415284706 -0.0032409976619315766 +0.082716064505278741 -0.87804262811780309 0.052093640898441346 -0.34436569453514199 -0.92469862386110524 0.16231057715598027 +0.17190126009878504 -0.8862950872336417 0.063397191692078136 0.16340702160048423 -0.89324839506864917 0.41881433833972453 +0.062796651659661473 -0.85984517840407149 0.073714347962863802 -0.6524717631902246 -0.55960640409083529 0.5110002649118337 +0.24610394441462718 -0.80199783825725823 0.072942216028545948 0.7606923331543648 -0.21310148082391864 0.61313533020926292 +0.26144657646654085 -0.74560748670168508 0.070069574106302379 0.82889280723889458 -0.21729169614177324 0.51548136037635339 +0.072817760909099527 -0.67077975017785207 0.053995440193226142 -0.97314915062774665 0.17327511600401468 0.15151390961324496 +0.033549837054278386 -0.59105741760990105 0.077421742816059846 -0.27938370380530597 -0.89045363661925603 0.35921729785684164 +0.054481243698084603 -0.6005073027909128 0.079230906655557182 -0.50365469219358283 -0.77136289547009773 0.38901315469193876 +-0.058354050096408483 -0.56564216459622951 0.074142691830675567 -0.34866519263306661 -0.85848097958717773 0.37608907340307884 +0.044540206657978615 0.39053905770296304 0.22051867083746701 -0.029752008750736747 -0.44348655746492305 0.89578707923435008 +-0.142843 -0.51905000000000001 0.068219000000000002 -0.50506141493589551 -0.68059517100072675 0.53075717645025078 +-0.034909202361262687 0.40095830303073837 0.21273448404792061 -0.25798828570554455 -0.41309130635745539 0.87338285823034412 +0.30225384520937809 -0.55067235025224492 0.075583245020228673 0.9814253635376039 -0.16694810806033411 0.0945123537965116 +-0.19000573565813472 -0.49857731749713458 0.054388532979865012 -0.38729730674939861 -0.54584595112753587 0.74300268762793709 +0.071819056943439444 0.29094427524469935 0.19391714010393304 -0.027566873646917962 0.37148633993637681 0.92802907643996235 +-0.1913742524718306 -0.47600562245251599 0.070398432024011207 -0.51858152647671318 -0.44313151450290372 0.73123707595515486 +0.31732055660406067 -0.48923399580510296 0.071093141232756424 0.97254735918791391 -0.19203180296324979 0.13143599502152553 +-0.26578214969067027 -0.4640039652608754 0.0416858914491961 -0.37186148855333362 -0.1709179306802204 0.91241771919603254 +-0.2271194755200186 -0.46175520868588688 0.056923410698262775 -0.42763270988493751 -0.3420734883453953 0.83672934334089033 +-0.28351915877115852 -0.4479229958055696 0.034669812676374812 -0.46571287198384642 0.001528595305898748 0.88493456496226219 +-0.25296102278228128 -0.42694350242599455 0.052145086192867757 -0.5655331600568716 -0.12032356739974402 0.81590102586299518 +0.173541 0.27722799999999997 0.193187 0.20476953536882173 0.7637112949952285 0.61222095299127743 +-0.21924815898177474 -0.44112353430128848 0.0709116628337573 -0.57033456649814773 -0.37572510016495542 0.7304444752090361 +0.32227370152343704 -0.45663648444512339 0.082334648209570857 0.94727981690642105 -0.26604527493708058 0.1785521217050936 +-0.24269997208350197 -0.40138272014867105 0.067384484680472201 -0.68651002648875226 -0.23335908099081201 0.68865631693141116 +0.12539953729008974 0.27593849618334509 0.20277006752111165 0.041260891459732892 0.68938427914663447 0.72321978298538225 +0.33409746977720034 -0.42811650686375735 0.072165866203684315 0.9176223493437623 -0.38343138768790985 0.10464031211993854 +0.068381445978814293 0.27475515866289091 0.20286818178877769 -0.069654252720212015 0.52432790221946168 0.84866279288780389 +-0.26169703043229842 -0.37491222410074571 0.049909177035783403 -0.81359222110534479 -0.12673456755749513 0.56745576668396491 +-0.25346926051281088 -0.36489871639084104 0.065365012587783822 -0.84006376886463152 -0.22167241432452506 0.49513049286878608 +0.37504977467912071 -0.3400894495342795 0.083263440017419976 0.92232400514987378 -0.37311932320363855 0.10050074714326515 +0.018537109818375822 0.27002500530738272 0.19805170269853201 -0.19342591547216795 0.47165883835481781 0.86030480379080632 +-0.29406387462853323 -0.22176939629334713 0.057494198666045104 -0.9154686147934481 -0.15905442948017995 0.36961994506641521 +-0.43348080427898433 -0.16993737124546446 0.069137110405661256 0.35677650416579582 -0.62906894537285629 0.69063940522005851 +-0.52051926304020668 -0.16221850036060848 0.05925650228649252 -0.55789485563696117 -0.69110597462938683 0.45948434346055755 +-0.011691339714152399 0.26828643355303594 0.19017340786430825 -0.30856595328986325 0.42358848556146672 0.8516806017340427 +-0.29853281747767435 -0.15715059526491676 0.065187024642527319 -0.85285156374478277 -0.17534661446586416 0.49183104315754445 +-0.31586468175555099 -0.16244355170647715 0.036862096760235954 -0.75233009194849421 -0.44441045611124508 0.48631140151940244 +-0.554500536698743 -0.12161961133786925 0.064048754473435388 -0.68847179444189177 -0.49150427325651602 0.53331992052476862 +-0.041779465053342929 0.26867705814083886 0.17730053425119252 -0.39007520289034675 0.42425783260211641 0.81721883701112108 +-0.31186817049149479 -0.11875070888794367 0.065521787516057486 -0.54070991935863755 -0.29911227435440835 0.78623446276394471 +-0.57801447042766219 -0.086838878865515085 0.058394212575887575 -0.74233880156553866 -0.21960887440338001 0.63301267441775622 +-0.37514042743912063 -0.12664967296051785 0.057870308766509372 0.3689572709925048 -0.53010016937863558 0.76345552758920099 +-0.34398200000000001 -0.100075 0.062792000000000001 0.061205596998748626 -0.45510912678422438 0.88832964467799203 +0.32520897183169706 0.18038082424684557 0.22967947408575937 0.88947755957220065 0.44348430930776039 0.11023310943315022 +-0.57872718326769002 -0.042725484664820824 0.048668374127201416 -0.64538807302092716 0.47754474842603634 0.59617551815975123 +-0.10961446196565015 0.18701517622558234 0.19174566040052268 -0.5111119212060885 0.44366719141350752 0.73615489352735486 +0.41223340114117435 -0.034142209495662712 0.095866858291891788 0.98745650728677969 0.10763801015104177 0.11551495568850947 +-0.5417732174602361 -0.01916431757816818 0.050851490161650074 -0.37765206193135681 0.71406086783394151 0.58948791094239839 +-0.4391618044288656 0.033359170107266412 0.045808995607477643 -0.3229696184452735 0.64609823084427165 0.69155455436372959 +-0.39977188081111348 0.052684060778585451 0.048074027539549674 -0.27197973309525086 0.59074067008810982 0.7596397076833773 +0.33761243151971188 0.12219810466950076 0.23186043738772966 0.99860123599581119 0.037217564581273323 0.037555616813959004 +-0.15235676880581825 0.13277462041279448 0.18735478384015503 -0.58552303087428059 0.32395313842468976 0.74311314375442861 +0.39694309962963481 0.039791817020633058 0.069104069849535765 0.96774823761354334 0.24736758523133939 0.047672071202086858 +-0.36815900000000001 0.069024000000000002 0.045661 -0.27168694376781088 0.5729425631042796 0.77325482473089346 +-0.32705360216616919 0.10118725316330035 0.037113691606527499 -0.3211932536061034 0.5737764534737424 0.75340259840076174 +-0.29548099999999999 0.110885 0.046199999999999998 -0.47791899482264316 0.51045422768799897 0.71486356448147703 +-0.27602229498510578 0.13737116036715882 0.040537933693841538 -0.61733766192444484 0.55362265144193223 0.55892411916114748 +-0.17710866364560474 0.27101603653849926 0.045379554856884718 -0.78727548673178238 0.49980135852907964 0.36110373856237171 +0.29952715019090204 0.24857903395032055 0.086153809726204122 0.75347566238347963 0.63550805501434915 0.16853467954001503 +-0.16836913498502659 0.29414217855580793 0.036614760024352017 -0.8607454290271862 0.34787885949841546 0.37161486181648701 +-0.1616964820320593 0.35146374817326315 0.06554373684014575 -0.84319459889930004 -0.41138481750100586 0.34610027494457818 +0.33884494557043682 0.062303941206360347 0.22658143996599989 0.94239034151500367 0.012621307985352702 0.33427705096816573 +0.28070846144872069 0.45408786616486951 0.085422787607574324 0.92912124020928366 -0.27078766002252114 0.25180898350037079 +-0.22485718519439582 0.49570869456567584 0.068550263622361468 -0.92743597733632455 -0.18897907209327711 0.3227218899501248 +0.29269232818910029 0.48734379672821126 0.066955536062303769 0.96809180110295145 -0.16940563078468479 0.18466184472079367 +0.29726438963194779 0.52837236862132286 0.07201684037496725 0.97472765020943142 -0.056186527092911796 0.21621536044055165 +-0.22616778914124719 0.57047104125716386 0.07324336308159668 -0.93859365730993316 0.096320202570300245 0.33130705551554462 +-0.21753631887286298 0.62515338040693957 0.06497869131131967 -0.91037640568945299 0.28599764661790777 0.29903201516388001 +0.36546179123449563 -0.020901923264780464 0.21071816854206549 0.8083955206990403 0.14931993333670243 0.56938584424101213 +-0.18855299607887618 0.02007872905809327 0.19673012358047612 -0.63881877349185789 0.18157692608271989 0.7476231634645284 +0.28105448478603462 0.65694820438117496 0.079916960622078315 0.9585648147011776 0.046659222043640099 0.28102742395570446 +-0.15858519669375781 0.73014938841191346 0.061456130749467083 -0.71629004318849299 0.64338366591864071 0.27015927238967369 +-0.20987434147364253 -0.027810969380019701 0.18530805872767872 -0.68217694478815261 0.074124005096692647 0.72742026907966162 +0.29589069658509404 0.71270686187760046 0.066489446475066563 0.938737307767739 -0.34425354483166015 0.016179118511628839 +0.32810453322837718 0.77590248488483105 0.073168077716026333 0.94237594997932428 -0.32868216225440183 -0.062414782834974245 +-0.12335153854398007 0.78028322135227168 0.0028940094694277982 -0.52282831810825725 0.74601204049804459 0.41245191867178249 +-0.086417942369926726 0.79670298611522306 0.017740533136983871 -0.37733605437901369 0.87041499579953308 0.31622023520479647 +0.33382495596333106 0.80679497359751706 0.066951956043418109 0.97469554294239402 -0.075180826463074765 -0.21051470708850942 +0.086078049218708236 0.85477091675429806 0.061341438994318744 -0.68400027687336518 0.46106813257612494 0.5652962040912044 +0.094466556073759644 0.8979682239721174 0.044544682746414432 -0.78028547581249896 0.4510951700045252 0.4332063294028039 +0.31768800000000003 0.90471999999999997 0.062045000000000003 0.89924470109648502 0.37774153008722411 -0.22061347193056044 +0.33371495527121514 0.86503722874765798 0.072577743608688655 0.97969083373536947 0.15576330080923698 -0.12626822409421917 +-0.19961610443910593 -0.081244219664560191 0.19657917190377505 -0.67592829046874414 0.0033250269944748441 0.7369598973753505 +0.31459047752255748 0.91471376703870477 0.082657680983604695 0.81040809924828139 0.54385503031896232 0.21785412245249891 +0.29355628559419022 0.94038045225610267 0.076602446949417105 0.6293817160004902 0.75790215706589559 0.17164782515121133 +0.11883100000000001 -0.87614400000000003 0.084884000000000001 -0.21975831221635483 -0.73452422511282522 0.64201280901102187 +0.15015976380163709 -0.87358964268478623 0.090653460509055608 0.11041410281890703 -0.69632028143464253 0.70918741638686467 +0.193553 -0.86763500000000005 0.080438999999999997 0.29235542884280075 -0.70210931392398579 0.64928484852746415 +-0.20804614706987673 -0.18229749429023911 0.18865482407978285 -0.68677578640550097 -0.041291454861077374 0.72569555253050932 +0.19893315518600657 -0.849422399233834 0.093517253417606638 0.40645634798144098 -0.45558090242566179 0.79198439285797118 +0.0422456390519515 -0.82826182326881015 0.061162571388896997 -0.83773672582924241 -0.21041084440301291 0.50390917312002947 +0.22675667621782891 -0.81742984163499188 0.086814897816175185 0.62024454294088516 -0.30021288439477939 0.72468540139526716 +-0.17333983764702277 -0.20507488629541737 0.21582614209111811 -0.59622999527608067 -0.10480014206302646 0.79594391947966669 +0.054433237382487565 -0.77972747473877424 0.079357582340108562 -0.76772629803486758 0.0749321989935956 0.63638156546183977 +-0.19501130633687175 -0.21635350219742477 0.19616877398758828 -0.65952385621502252 -0.14050199244415149 0.73843582876407743 +0.33883698252095762 -0.27247727749305084 0.22041870845764891 0.70488271022789317 -0.24823030402538543 0.66447127927792682 +0.24529101920339116 -0.76519368199318305 0.085376472772692058 0.74597028649860986 -0.22962239229541209 0.62514149487753079 +0.068296144093133559 -0.69352744593136295 0.059955251386331954 -0.91701451438175063 0.31143544480577867 0.24918335444372874 +0.28142933021666905 -0.64847380123274156 0.079712673806942497 0.89238364106781032 -0.22373466312205617 0.39191100733740242 +-0.072393281410299409 -0.54705113038612008 0.097246330387692939 -0.39588598588480617 -0.78740692889087638 0.47250885125535314 +0.29516614564749322 -0.56632001876775062 0.098578119927256791 0.94055036183643936 -0.23053791920130201 0.24943392844534407 +-0.15939151431422638 -0.4975264185142575 0.077221524601435942 -0.50273089390117676 -0.6018181145763003 0.62054540952709569 +0.32585423878366537 -0.43204823246503254 0.10297140925898635 0.88834127444591349 -0.37000713290399684 0.27192738316685655 +-0.23453865764748266 -0.38094023106943953 0.085903721691975909 -0.74945867200416028 -0.2966025035204472 0.59189412386267481 +-0.17117163127572452 -0.29940798834223226 0.1961929597990949 -0.61872538902399765 -0.22814772830965502 0.75174963055810462 +0.35605200964170569 -0.38000123402844244 0.092679791833168865 0.88288319110180258 -0.44675225504902077 0.14467098354028246 +-0.14351421492931329 -0.33247010866176058 0.2053706540834293 -0.5598664272614795 -0.28188889723400762 0.77915867013186824 +0.30043700000000001 -0.35671000000000003 0.21587899999999999 0.61179323325005563 -0.37263203169842801 0.69774953149518104 +0.38907754136104022 -0.29735976953449428 0.081314168507774426 0.95932085955685786 -0.2608686806331233 0.1079398901418042 +0.39285906310002738 -0.26516419466346125 0.11157390010472301 0.95551401412795445 -0.23701162323612221 0.17555187055700014 +-0.28560473337387482 -0.24522970926647769 0.066909159287568271 -0.89576104763305187 -0.19383092454464876 0.4000521443930829 +0.40274371333881354 -0.23816316404541782 0.089823330307848503 0.9669414495041293 -0.22648087020029467 0.11717785056985208 +0.2756932798815781 -0.38457456349600061 0.22137914333172584 0.54626971935020763 -0.43570815460350304 0.71536549940086946 +0.40877700356464985 -0.20011853783910816 0.1045157916562191 0.98111696308209395 -0.10938815331896269 0.15951092961310281 +-0.4883674929626447 -0.17325528661396683 0.072601001893831257 -0.24040949251606841 -0.72472787962337604 0.64573429241815228 +-0.52078399829479194 -0.13825038413021529 0.083430075251080968 -0.50345940728606675 -0.48600272751067025 0.71437383355449935 +-0.4335658651184105 -0.14892725637667115 0.083118435652660042 0.38842786295983972 -0.40877678008457968 0.82584825442700738 +0.24235599999999999 -0.42686800000000003 0.215722 0.49438416176012295 -0.43152405270009297 0.7545669569640775 +-0.54144300000000001 -0.111428 0.083202999999999999 -0.5764575233821545 -0.31215722773206461 0.75515203032948597 +-0.093584430522552178 -0.40699001354341735 0.20657699162016174 -0.43635053628155168 -0.42692525554371502 0.79204358192320201 +0.21705211123326068 -0.43820906731471077 0.22246477398630293 0.38661500387821685 -0.36587775419279756 0.84655909880118896 +-0.3715524490850447 -0.099918571453969346 0.069961588241090167 0.36437013317271677 -0.33088021715859395 0.87048991260368924 +-0.31109277303537725 -0.075708909298768667 0.076326406682566614 -0.45088133663232677 -0.11354333947144163 0.88533266648097841 +-0.3741140504568421 -0.07156731158746435 0.077717403585956218 0.290815130935977 -0.10789460319138337 0.95067624048403798 +-0.33662020372438689 -0.066870811846356154 0.069873142965022964 -0.038252761983617323 -0.16498781028058396 0.98555352399524343 +-0.57411573981371045 -0.058930037954089173 0.061445257721259333 -0.66139436983794642 0.25377125121746419 0.70580283337642424 +-0.35303580253084899 -0.0394533733489143 0.073170150090114225 0.15778217710370204 -0.0038621127515164316 0.98746638862976532 +-0.32977882018085031 -0.030547952376636434 0.072489292924769508 -0.11093613537118421 0.012175182197209953 0.99375295662824126 +-0.31163241857253543 -0.032696210267855186 0.078025764564327804 -0.42300819852378652 0.0369244049945801 0.90537321160804007 +-0.47479970376829272 -0.0030874968551418691 0.065326575993184421 -0.23811473384674897 0.61097092668253006 0.75499397366719567 +-0.37234596850149249 -0.0002512707234542666 0.07165551929640987 0.084548520531734436 0.19044326378697776 0.9780505666651691 +0.11706683496304615 -0.49212280622391358 0.21099273346155245 -0.091112889915577117 -0.53031864585474842 0.84288823407971347 +-0.35259284289157017 0.027453893242381983 0.066409416922010772 -0.018917357378179539 0.19591438668717184 0.98043851754141897 +-0.42247600000000002 0.014625000000000001 0.064848000000000003 -0.15486601272091069 0.48103609480251402 0.86291412875272444 +0.047467807121178485 -0.46964623086166402 0.21861198147770744 -0.14485123100279504 -0.54620376909568114 0.82503306812675503 +-0.39272353263815296 0.026860322146532112 0.064046930901305643 -0.086341521729520587 0.37816315649865795 0.9217037315170219 +0.22421999108849991 -0.4714766551312235 0.20658906641406624 0.43583418318566935 -0.24256420516101418 0.86672439168485726 +-0.31868511001053651 0.024304903587259341 0.069577329462470305 -0.28924657658625175 0.14926844799213404 0.94554500070972469 +0.16163646690672051 -0.47317928709430257 0.22012834842215123 0.11477504123431213 -0.33679581903667194 0.9345561867480624 +0.14651090857048044 -0.4898671008067057 0.21343994501392777 -0.037710925222026688 -0.4351383344976309 0.89957351893523774 +-0.35598195916583752 0.052473526474013876 0.058227389549937419 -0.15379984930157445 0.3878017413707136 0.90882089310526704 +-0.3204923274943457 0.069530053952108567 0.059082724068547567 -0.24198464285288904 0.34194213755884495 0.90803028979492073 +-0.2932292191662802 0.06920002890567345 0.071346649056582681 -0.4946433651612947 0.32731745467675227 0.80510323882458845 +0.19979031223596277 -0.50258224447234445 0.21009222734474087 0.17640166673722274 -0.27647958022913421 0.9446912160535057 +-0.27432908732918965 0.10132876297853918 0.069038513771046917 -0.60355846634597965 0.40882247167411562 0.68453003174174598 +0.38720579542846989 0.084561336403682685 0.08794455420547484 0.94931757529673055 0.29648283517878049 0.10437466012921236 +-0.25309031267394211 0.13264641942946195 0.070926987181598761 -0.71283485198863816 0.43455829139308244 0.55047757917272266 +-0.20376115207893886 0.22325773475773658 0.062122695346267853 -0.74194055746493803 0.53573402511608248 0.40312933845298055 +0.33795348963222871 0.1872637059444206 0.094133739796190469 0.87299273028247459 0.47671832912589157 0.10306952774398791 +0.31874752543386964 0.21914815717558844 0.090036425541289544 0.81237447993263923 0.56108488755461561 0.15884411639087617 +0.070346921275541541 0.75604191852016234 0.17149185287342064 0.086604964878388549 0.71405646140365509 0.69471069517181283 +-0.15857707369968183 0.31199860256916573 0.048227812478577534 -0.8983178506351529 0.038992540920615132 0.43761240953930175 +0.23484895400400604 0.31522910673009574 0.092965769193281908 0.78883154629725827 0.37557280542812671 0.48650782048094854 +-0.14176111938485531 0.33330211054678122 0.081999262316276467 -0.81244854280217182 -0.30394109841461586 0.49754112794134348 +0.22212467234405092 0.33176865466097638 0.10731214894431083 0.84632609777367684 0.077850573697482744 0.52694537136419906 +0.22630795926690378 0.35733374180553695 0.10516982279370393 0.83944890290010532 -0.27967696134076864 0.46594671016652101 +0.092103625343820855 0.73769352093263207 0.18303014500309378 0.18466887223909637 0.62533915193104916 0.75818754453505532 +-0.19038308709221316 0.40812680107415228 0.078249513799853274 -0.8293586766958202 -0.42267520611063553 0.36539000469182209 +-0.21030780579088224 0.4559119227996285 0.080370971317548584 -0.87987116285752032 -0.2954815224672302 0.37217926682205532 +0.016253303838033695 0.74755506991053233 0.17935418631992739 -0.11213999980969774 0.67803022929894619 0.72642936931232294 +0.28279531810196068 0.49054315048318986 0.10517617260806941 0.92232040886215649 -0.16067257663192264 0.35143902247019099 +0.14479857875970611 0.72439612671994735 0.17635799579231604 0.2815692199253817 0.588902892328246 0.75756990291196113 +0.29700821389332199 0.57556783484567675 0.070322638861913325 0.96883974052470134 0.071337617824000929 0.23719296250779928 +0.28230611793597266 0.60755555918678317 0.09955856979262212 0.95592074809935201 0.12675193098116491 0.26485745476712819 +0.27423363792768135 0.68319421439252448 0.10108455779120157 0.85261452004440386 -0.16152111839382904 0.49695010667295109 +0.2873843526516614 0.70522142348906947 0.091102567457386305 0.8400505188849362 -0.32305618450657941 0.43583233860419363 +0.310392 0.74346699999999999 0.081878999999999993 0.86632457502694837 -0.43703143614906975 0.24183724800340173 +0.31981871661703637 0.76304034066760928 0.093820211430725789 0.81577850202827806 -0.45446274403850068 0.35772761971854339 +-0.051228895207170166 0.79547012467249512 0.077669948759594848 -0.29270617571153956 0.90750377878255173 0.301263980913276 +-0.026903913375155852 0.80836198895123912 0.049672523773091282 -0.17193150609394417 0.96744850840124819 0.18569582872123924 +-0.10897931651967536 0.69064707061327224 0.17122039548527801 -0.49748770997524405 0.47964285156739017 0.72280613816146433 +0.019983390638824483 0.81151616116453484 0.065632976031634011 -0.20679667085154624 0.94940706013643439 0.23635010278781357 +-0.017239348072400296 0.79964326552489784 0.086988114018971829 -0.16434737570637883 0.93021842848526248 0.32815181761622914 +0.069340842750558684 0.8341019103569931 0.061765946308290798 -0.53935725292205194 0.66815185048120718 0.5125103495724902 +0.33389437045879367 0.8054875848925247 0.084380139216496494 0.98118738837190866 -0.09729888510155664 0.16674602201524119 +0.1131314516369758 0.90296136561511997 0.066273217763275966 -0.67335496284442942 0.37962235817527756 0.63441308245197658 +-0.12454552084043977 0.6503267243502513 0.1822385080368078 -0.57004358401854682 0.30892782900889149 0.76132378708611426 +0.24520641505540763 0.60633285637652312 0.16774083029005871 0.75598009385484499 0.19432177495288144 0.6250865103922667 +0.33219827525916545 0.86816425783458684 0.089916403677514356 0.95385110564644859 0.18924357286563459 0.23314145574328224 +0.21401824590818674 0.59863010883982404 0.2005839165799278 0.59084598635072594 0.17047824954810664 0.78856717332403037 +0.12057390914652599 0.93352457827776747 0.051053429015859436 -0.66848204426486291 0.61433355705927306 0.41919689546365996 +0.16192154704104356 0.96186928747654377 0.054349638277208803 -0.38555205329141778 0.8468231295060723 0.3663880477530807 +0.18429203141609241 0.9697861045406031 0.054359669573584284 -0.28425529523526039 0.90836430083836905 0.30671358641758267 +-0.15629492225181424 0.59317512058108024 0.17477338310144491 -0.67163179529281158 0.17122710165902932 0.72082731025482327 +0.22626258110433356 0.53101044593794544 0.19457993361320869 0.65336478177988166 -0.036362513189601695 0.75616944500836825 +0.22959519793796718 0.96933733102232889 0.071430966936364665 0.13836908894619257 0.91349921723865779 0.38258747408737775 +0.11239145920048838 -0.85157728425896084 0.10288070587773568 -0.24306678611623209 -0.45587208137713531 0.85621211326867153 +-0.16933356417015685 0.54290131156288746 0.16890682798521955 -0.71000923991159659 0.0041132791860525927 0.70418034634211024 +0.058293840381772488 -0.8098827562064882 0.08268450040124356 -0.71535921629095156 -0.079259089843177227 0.69424720982142007 +0.22481116247442301 -0.78094973553775648 0.1003689172878291 0.62340984501340746 -0.26919615386899143 0.73409372418138918 +0.21570458087357028 0.48456963134120024 0.19721397450310257 0.60103341204432281 -0.19299264552556811 0.77557248299523995 +0.07466977201539593 -0.71406444482737053 0.08949652191839752 -0.84753419112552508 0.17257573940482435 0.50189979980278954 +0.2509103623918098 -0.67898740216597631 0.11439230244135518 0.73088240424172646 -0.25185445432621301 0.63433448984418239 +-0.15707690007418462 0.50581765096478504 0.17632571853613299 -0.6519783559292871 -0.14643583975002561 0.74396288095337693 +0.19877451721497258 0.4423209724928629 0.19436603572750918 0.51847066963441579 -0.33186689946362313 0.78806885852014352 +0.26200899999999999 -0.67093999999999998 0.103228 0.81544446488265265 -0.26898138617679251 0.51254203591769487 +0.081936667183592313 -0.64244453716558647 0.078691757331483619 -0.93564197824382156 -0.10182261880326747 0.33794414160927921 +0.094830282307073882 -0.64143472144937663 0.10793821131797235 -0.87188359901315138 -0.061664634785546409 0.48581525561538264 +0.070832686184875454 -0.61576768137306437 0.078116125407131254 -0.76133899914870995 -0.52635153308609894 0.37857230748319909 +0.086124999999999993 -0.61519599999999997 0.104118 -0.792656120434864 -0.31143217108237931 0.524124295899423 +-0.017191734910191769 -0.5668505668664352 0.099893980774127866 -0.26005118073813505 -0.84636613959025631 0.46479860278596846 +-0.13263495954401447 0.44125296687292587 0.17827559027590573 -0.60324288833427353 -0.27461061190799363 0.74879037754343536 +0.04535525133439533 -0.57488011216319512 0.11362402634996016 -0.28095924249020549 -0.79952769648447242 0.53086473476165585 +0.075967207407198978 -0.57284471498959966 0.13585730208561242 -0.40334430888820322 -0.65132160370325543 0.64272353079447542 +-0.1019805617572318 0.40593602067401341 0.18458237092621738 -0.4899750637163523 -0.38640694956654137 0.78141800994271748 +-0.086711523433530835 -0.52723173384558253 0.11518358605728213 -0.45584762582263577 -0.69611015978755841 0.55464726400876285 +0.29986333736930648 -0.51986554152167042 0.11560748071562899 0.9317601869558596 -0.1922462402452462 0.30800054726501475 +-0.18343488788835771 -0.45773521648339743 0.091421757664657766 -0.59132701123729114 -0.48742413865247031 0.64245628243489838 +-0.21308788887649577 -0.41715528314652817 0.089836425271970277 -0.66407797693807724 -0.38945859694685658 0.63821817727953856 +-0.2505805218306969 -0.33974828444122362 0.085313026605605913 -0.83687781379059689 -0.27076148897498681 0.47573494813090939 +0.36002638987086033 -0.36057056726710845 0.11643742898916086 0.88873690755887136 -0.3837462129583889 0.25076992080947236 +0.13178151296936402 0.35672381514266138 0.1860932204577328 0.34522900108233229 -0.31168624250740462 0.88525059900759762 +0.37592594074515678 -0.3210234221324082 0.11598813576589062 0.91807183250975277 -0.31907211728030077 0.23523837766497732 +-0.27278339665259266 -0.16052797700748311 0.11333475600004138 -0.84588191934137757 -0.036408214702557132 0.5321261320716355 +-0.49753951048641099 -0.13966492131496924 0.093400907667988045 -0.23760399458084797 -0.47004099647650815 0.8500622350102347 +-0.4630440501363754 -0.15596334287274674 0.088840746206763507 0.077338877823295363 -0.51196839074169598 0.85551567189525612 +-0.27964357882589808 -0.11919261427708339 0.10311345837266939 -0.83894183849588433 -0.10115218365693329 0.53473809230555058 +0.088420878215783538 0.35266572865966794 0.19654578649585153 0.16439877963322461 -0.40484706114073232 0.89948424018479534 +-0.51731971097739038 -0.10600511997782264 0.09965996314518788 -0.32728136115861456 -0.14538471562368926 0.93367563698598433 +0.049931447353600139 0.34948984755248363 0.19815038266417512 -0.01515168646934638 -0.41603001295215869 0.9092246448046607 +-0.44935232595070473 -0.13091327866004684 0.09527507654915604 0.25724538941029507 -0.20075861073364759 0.9452622862694996 +0.0021935893601775294 0.34574042163943702 0.19133073771360415 -0.17272643233551974 -0.42069439734159764 0.89060754747421333 +-0.29616227332369854 -0.12091017690598121 0.079974127573720924 -0.74898658197550583 -0.19943420407390794 0.63185844796604218 +-0.035341811670965895 0.35092185438253481 0.18349144744745605 -0.30292087608708035 -0.43613498204662049 0.84736368830970665 +-0.5527431376690064 -0.083462785991631538 0.081221208600428321 -0.60755808067509787 -0.022994379854815304 0.79394233865028507 +0.095444000000000001 0.334198 0.18811900000000001 0.18430993314666011 -0.18894621115309504 0.96453573175614593 +0.06197157250225982 0.33068264413815823 0.19037159380645263 0.00028966855322280527 -0.22105970882288292 0.9752602325673243 +-0.45354381576209812 -0.11088434277609638 0.09899498570663208 0.21610192366996384 -0.0031767346452969917 0.97636564203331855 +0.0026867268158610527 0.32974079188934119 0.18548883559592416 -0.18425250434746115 -0.30001360448489195 0.93597160841858429 +-0.39221087708181457 -0.040377533080714179 0.082587530376492246 0.16617647227575075 0.11620845106569086 0.97922468104255811 +-0.54231757174178585 -0.035276325141533338 0.068228930937273446 -0.40184967784112391 0.57645827266931748 0.71148625867973836 +-0.033907189599682794 0.33069730717489837 0.17384728010358219 -0.37745073175106741 -0.37183394834133049 0.84809814288293339 +0.11181179447636216 0.31532528571675272 0.18396328526196201 0.16957754132573147 0.138227899626267 0.97577482302159779 +-0.50020302358893032 -0.03581458440053642 0.082898444590469633 -0.16971583369910259 0.51197811069345833 0.84206588219840339 +0.074215709643173089 0.30963945907964097 0.18925052418327673 0.0064705840623646722 0.11298193981852263 0.99357597234269701 +-0.41176808427453304 -0.017918223646043119 0.07974988579436243 -0.013362568863561335 0.29829058700963701 0.95438156282213071 +0.008980882449423605 0.3114288593585065 0.18299109121024756 -0.19150620432413296 -0.01327686081575921 0.98140159907768765 +-0.2843187607982981 -0.029272791032593393 0.096785129030345127 -0.68766144146599373 0.0517674100844722 0.72418359355487871 +-0.29432366949831923 0.0052655964461295057 0.084896079350408035 -0.55364284817762555 0.12871110138367803 0.82274725708589702 +-0.028240359194931987 0.3114948667104826 0.17165998786695494 -0.38889452007154679 -0.058001328041799464 0.91945467436068251 +-0.26991181228650774 0.057908730951078013 0.092410378064972182 -0.65557182069479503 0.27419457431552763 0.70359286759235851 +0.16116193428423831 0.29380117937480549 0.18199834236927709 0.27603957148973629 0.60176800545588782 0.74945141442351371 +0.39806179645621292 0.017328527667225813 0.10445683872352474 0.96800774649934784 0.20299302778919934 0.14749519784124385 +0.1128665902162993 0.29333927115856995 0.19186756651612652 0.096688140832463049 0.42983407069163498 0.89771603254872323 +0.015899699239291222 0.29190540045865715 0.18759654413739599 -0.19337555480879079 0.31658536695386985 0.92864395773249719 +-0.21826434946533455 0.12981496264865444 0.12296252316077656 -0.72693783717325788 0.35959708672312474 0.58502249196599909 +0.36401841918554029 0.13083374645660689 0.11155969272464565 0.90224152847569083 0.39655979550426207 0.16941237523707331 +-0.028979933872791554 0.29308184632159062 0.17381200422118825 -0.39311488122296928 0.2148891371605253 0.89402648109072003 +0.24354803949323367 0.25355850835819183 0.1920453531171647 0.36122362297484983 0.9028580336126717 0.23316274433533155 +-0.1604891985770252 0.2705013559387463 0.073514635434477615 -0.70430574620267306 0.46107496929078251 0.53978077824187098 +0.1966715235918014 0.26449412495606006 0.20491779627931933 0.2295316291826377 0.86268891945317017 0.45064737817664702 +0.20547916268011257 0.27519620816300105 0.17753568365640515 0.35826408198564152 0.78270618966136496 0.50893798072532659 +0.29786737545460895 0.23960559563261397 0.11269292201904069 0.71799118412833351 0.66240715180676046 0.21378827084114968 +0.27323740145507847 0.25114298182084882 0.14804707124325814 0.5523284293324463 0.79691018775657196 0.24467827611158702 +-0.14013620043864791 0.29606666869404119 0.081219402558593515 -0.77989459888746704 0.20177617053810346 0.59249539376195581 +0.26797019725284943 0.27059738303222147 0.11002461710617806 0.61561330638656941 0.7238792284284592 0.31147892328312438 +0.24818347483729536 0.29592266980071957 0.094651499398858113 0.70259947855010418 0.62340046427382878 0.34311198446614549 +-0.1612509521505498 0.38196054055606959 0.10703685407106864 -0.75818914609517107 -0.48475479008190958 0.43607569553475362 +-0.18319826388174254 0.4175291931511767 0.10122099196164305 -0.81299156512234672 -0.3690491443521372 0.45038588354085052 +0.25987468934593494 0.42654017873173494 0.11792884269982912 0.8391743856471422 -0.3680085702380696 0.40044480606579652 +0.28443628348223415 0.5471867708346041 0.11192979693122067 0.92276324154881029 0.013689488654310198 0.38512413316580862 +0.26861272885840287 0.65594024318477184 0.11093402403037389 0.86150108110003221 0.059197161545672075 0.50429315217283244 +-0.17919363218298534 0.6921691628554808 0.082439451289184174 -0.78842398341634956 0.50826921024800942 0.34648236937506699 +-0.076260866223740509 0.27140622084763288 0.15618623482035476 -0.54847783740390821 0.43795916218231856 0.71229476632732158 +-0.15027901902491969 0.71516737846699363 0.10607352735245765 -0.68132441862313187 0.59327546225943051 0.42874381916094184 +0.29736299999999999 0.73586399999999996 0.10061199999999999 0.70721653401174267 -0.44513346816276378 0.54927312836311903 +-0.1217364236126503 0.21138519749866796 0.16670023543816628 -0.53540957191502514 0.49983696641500641 0.6808080473281829 +-0.13474634765616011 0.75010314807012735 0.069996287610439079 -0.61653171284756036 0.72604854440621003 0.30453597196206106 +-0.093068917006226159 0.77802584409523401 0.074123448397662967 -0.47027891458375187 0.8279910038274868 0.30539914878512509 +0.057409240340621448 0.81027173138281505 0.084419577767552045 -0.28624118069989035 0.82916641521247969 0.4801552273538407 +-0.15192823646563702 0.16825787893618654 0.17028915680232659 -0.59932059329535137 0.39676715172290955 0.69526301049732098 +0.10404849478618332 0.83661725480618443 0.087149091796133699 -0.48161163083792619 0.43882463562613294 0.75860607446106354 +0.32832195304000067 0.79490007021596454 0.099418946274547421 0.8639169286063022 -0.18511655818207021 0.46837954732703435 +0.134324 0.88697599999999999 0.090609999999999996 -0.53615121260524323 0.26730543351239666 0.80068076187496662 +0.14205977262694316 0.92083264280292887 0.082553547212173117 -0.52901663338037164 0.42242572127009148 0.73600129865125952 +0.14800136745920467 0.94011877358217277 0.072981535112538895 -0.47897046546603583 0.62520122769803055 0.61620671701639562 +0.3401879943494267 0.10080596478935944 0.21148854692909441 0.98244258465435041 0.0418370141064228 0.18181372915249949 +0.2092999367746593 0.95834231824298821 0.085458137310484072 -0.18235038155547839 0.75071052572883989 0.63496617619090556 +0.2779276335548766 0.94232688481777482 0.092005318119459334 0.37077207698303088 0.73910693145663342 0.56236021445551154 +-0.18300401011565481 0.090319204110792584 0.17902545365798919 -0.64008602015036642 0.27609094629867292 0.71698234021485341 +0.14491820244883113 -0.84746350316312213 0.10744904646936668 0.054312887029444409 -0.41695784909354161 0.90730163803545194 +0.084829881318759529 -0.83175890094359106 0.099577026255999568 -0.47216080169493224 -0.24614381296415364 0.8464498807857832 +0.16590206144282432 -0.81746906127995111 0.11621018697381905 0.16951191893322884 -0.31615948188850512 0.93343928102023144 +-0.21384454655028179 0.078325617899210623 0.15450622347778928 -0.71015784239792845 0.26397034486395421 0.6526833044541005 +0.19992107479624613 -0.79982173565279957 0.11113429265252535 0.41666787243783399 -0.28604437523071885 0.86288266843006911 +0.079493829083945533 -0.7580116768532692 0.10409541341679374 -0.71034671480965195 0.042892022971008081 0.70254382007429939 +-0.21838458413011599 0.0045071615824580913 0.17143302196917951 -0.715521516203795 0.1614916924017992 0.67966859066358576 +0.081417952994828346 -0.72049287374785498 0.10046476557941852 -0.75035274907712457 0.084563793531238024 0.65560637334913696 +0.22903762669893196 -0.6905482259528577 0.12997156789810099 0.54173054557022904 -0.32443801649549914 0.77541472093883301 +0.087199684537710931 -0.67576903628338447 0.099810691213149783 -0.88176804376256801 0.13635229299086693 0.45154531244966645 +0.26869586234186454 -0.62435815153373353 0.11909765218388235 0.78284142946413293 -0.28149349570254967 0.55490603546160111 +-0.036464466832981879 -0.54134357961085056 0.12871131018628101 -0.31105843945566264 -0.76383517275646906 0.56550727325429073 +0.38107809345996324 -0.053041794832326516 0.19301122254852332 0.87951150945518974 0.085671559420897325 0.46810243392044593 +0.012445368388268596 -0.5441465065155463 0.14728751581124416 -0.19766513400491897 -0.76583138881384361 0.61190749195142002 +0.28854800703952593 -0.53823773657194529 0.13411164039463552 0.87007503908376904 -0.20619412546452734 0.44772023517738907 +-0.12529625004145314 -0.48728854540188105 0.12239942763932321 -0.56180567938496773 -0.58795096203596364 0.58196910987764605 +0.3074416459094742 -0.47566984388004752 0.11640226073732018 0.91097053581297793 -0.23505511779116603 0.33894214031423864 +0.31175202649790068 -0.43574955187731179 0.13465519597407793 0.82343698079209449 -0.37802924863221882 0.42313759681994667 +0.34719641119926969 -0.37421023042500678 0.13459362701570321 0.83358190140091404 -0.43335064983307026 0.34256156811016109 +-0.26090041157837818 -0.25187142568826448 0.10887850747160371 -0.81945385624098144 -0.21006943581961179 0.53325998314725886 +0.3759853284086449 -0.16660319970950765 0.20326919263510035 0.8420758357973136 -0.076843447407096616 0.53385707015721784 +-0.27679697850005286 -0.19386026062046557 0.10223811662049326 -0.86496274461797518 -0.10045132890257254 0.49167975445878032 +-0.4840701247352634 -0.12214065564147943 0.10255148226995534 -0.030831097098284365 -0.19925868133092864 0.97946180189223075 +-0.22653566556175697 -0.067654267375019117 0.17047201126115274 -0.72013400947392026 0.016500984024783592 0.6936387575137577 +0.40880953615200299 -0.15478082674565208 0.12745296202949685 0.97509147382624339 -0.03915509331352262 0.21831971129280525 +-0.48417330376094009 -0.088023345679428822 0.10355470843613293 0.021741311800091132 0.13026293447766651 0.99124108231170405 +-0.53559838640926094 -0.064683380060092915 0.089272686316342179 -0.37526882892521629 0.2815454350303061 0.88312257023059526 +-0.51300575605960619 -0.071133777919224067 0.097630851847929245 -0.19162781881882981 0.24936507040610728 0.94926068111772899 +-0.44466931528677112 -0.057055896700478614 0.091370901508353947 0.10898315206559817 0.19667715871281624 0.97439251218720913 +-0.44450171323382248 -0.016784301613508745 0.079261402079802423 -0.032110237296436604 0.42365409531340004 0.9052547377312925 +-0.269831791164518 0.005134032730281346 0.10777920612671694 -0.72448150312055171 0.1309067363050633 0.67674956817580811 +-0.25584064436195847 0.10181409546300274 0.087865140263981692 -0.71628829685524886 0.3469914559667836 0.6054155641163006 +0.37127802946869665 0.095370647090482707 0.13862813673935068 0.89952425599898711 0.32174697482222858 0.29552495167449516 +-0.21778874866063358 0.17932674495154766 0.086891515625655114 -0.74959566868423921 0.44548564337536212 0.48953945197120541 +0.36017216969320964 -0.25336644579554535 0.20270147297024504 0.77914784417504801 -0.23182717681328063 0.58239573917411103 +0.32553717557245831 0.20081654176140962 0.12605432304571099 0.8520888323679241 0.5054073457384668 0.13604424510969115 +0.30415364422096297 0.21437325671105412 0.18922384545127247 0.74433117498094448 0.65535142381096079 0.12839631326651441 +0.19540077071294468 0.31258618488747103 0.14764718128938015 0.67188252563662809 0.36669482527562258 0.64351284125511155 +0.22324935813783653 0.29922691314559785 0.12823454874670936 0.61800874179643117 0.58275839135833818 0.5276910576887146 +-0.1190321741350393 0.33613552377494632 0.11655939006672332 -0.69910915929208461 -0.40067614644105809 0.59220351997185783 +0.20739473636814582 0.35229016214673403 0.13103917878364502 0.7628789291771062 -0.28732479527634264 0.57918926219069322 +-0.1409747780043685 0.38028601279083224 0.13507759011061349 -0.65414491596985869 -0.50070012660880547 0.56691605386045718 +0.3259795348425209 -0.33645072252190278 0.20202187105320224 0.69391978486038797 -0.37479078830472001 0.61482289903779563 +-0.19221535915382296 -0.31367845151353296 0.17283517850515429 -0.67299213142737735 -0.26192562989066359 0.69171999786272964 +-0.20109702680002589 0.46563102624810415 0.10445061846031981 -0.8488137871168252 -0.26122347400431023 0.45964927001955802 +0.2663008354399321 0.45239836312582177 0.12387758589948747 0.86620375425177265 -0.25730872188958881 0.4283494808677617 +-0.20446278294774281 0.51270962409926202 0.11749985029227597 -0.86770933181832255 -0.12062226821461391 0.48221445839601479 +-0.16699338067707614 -0.35570956476490245 0.17702728928970893 -0.61923837586323238 -0.33285897635974698 0.71116013366541264 +-0.2247356129063583 0.53252661143661906 0.079190735310000565 -0.93145665848517234 -0.038869239498544657 0.36177019720319931 +-0.20210555517542825 0.55896904080607812 0.12571082189037852 -0.85485969244070426 0.067340506019613264 0.5144707596056427 +-0.20909994023288109 0.59797744683662624 0.10067593585663473 -0.868931324567632 0.20729236801492529 0.44943100399049607 +-0.12972363282353022 -0.3764513252376529 0.19800528483382784 -0.54423189103001757 -0.3488351347498026 0.76297162303061983 +-0.20319892137236922 0.64769614571858836 0.080995654253389532 -0.86591171875308515 0.34641187280148017 0.36082642601152309 +-0.18349026328510643 0.63031426300944904 0.12737009419137449 -0.79654155285414019 0.28350235189873507 0.53399248219857998 +0.25158286235210559 0.67501279293487482 0.12801346570708277 0.72381774529608434 0.1029696600869017 0.68226469987540805 +0.24950228506770272 0.71193787175723333 0.12383336950494546 0.47567801192998016 0.018643952413642185 0.87942187373566028 +0.26865940487650342 0.70633059135956033 0.11154005483751996 0.63835651637964852 -0.14932046306990909 0.75511877032969299 +0.27920732589367514 0.74307956940464936 0.11782995198563008 0.38529475281927511 -0.20910393928507923 0.89879001776020839 +-0.104711 0.75497000000000003 0.105188 -0.50844447346965416 0.7440806671741812 0.43339148369089048 +-0.073186104035971922 0.77851451670282867 0.097918535933911574 -0.3959195914271863 0.82212623864976153 0.4090918293583059 +-0.030787416918972299 0.78496628900770204 0.11474620841536765 -0.23984525532473702 0.84877874259773256 0.47122064854208551 +0.31030724027828965 0.77900079001868228 0.11460298017393959 0.57810757000636681 -0.27448490158118599 0.76840723337648265 +0.25492683673352423 -0.47480752815850624 0.18586757220778649 0.61255039763205998 -0.20851606732194966 0.76243233144285871 +0.089098728581153169 0.81328314850754069 0.098248582149512931 -0.28799136717569357 0.69341527191024444 0.66048181891246371 +-0.038207751210635313 -0.47414724988946344 0.19156003688521497 -0.32545391197841494 -0.53881441295889099 0.7770191629333939 +0.13474619101071791 0.8382046724743113 0.10384491511129904 -0.41126303473185055 0.26293642282109825 0.87276981720107238 +0.31263827858408749 0.82254569800128108 0.11840566778914936 0.65318377023322871 -0.023640646466419443 0.75683028621914594 +0.32302098308220495 0.87417737758359992 0.10899506242134058 0.71976140998742466 0.26983077818596596 0.63963650914911852 +0.17103019932979785 0.89475342346741848 0.10840146316114854 -0.37213685593899443 0.27069946001266815 0.88782653868911243 +0.18300374529115224 0.92932118716806444 0.098903815231769873 -0.32161508245344839 0.49443611393397746 0.80752502622292044 +0.297514 0.91912899999999997 0.10025000000000001 0.49423060845988331 0.58626379636390236 0.64189630528174746 +0.21825598223144449 0.94135814191919609 0.10147465684987567 -0.12682759319102391 0.5884681935201781 0.79851108121332304 +0.25584055886867274 0.94021222307647934 0.10375461102621258 0.20067722992026243 0.65805646471551671 0.72573434439720852 +0.13868958144064725 -0.80864227437652669 0.11997189190762955 -0.059943021537999804 -0.26268888664813927 0.96301681345678269 +0.018074613097751477 -0.49527980761950807 0.19525967053119569 -0.19004987511583962 -0.5931229697613708 0.78235937248166576 +0.1193568760951467 -0.79384381009615934 0.12071640079501134 -0.23984544769321803 -0.17927835333375827 0.95411395191914894 +0.090687951797829847 -0.78007623170935991 0.11162054138516153 -0.50435290356813389 -0.10242075043073627 0.85740197022376707 +0.1247004208946958 -0.74811411329874677 0.12991866360104931 -0.28132531016403434 -0.15602829770416907 0.94684277479244106 +0.15881943745868385 -0.77385172562172266 0.12788206639811195 0.016014703673140507 -0.27414227510218764 0.96155579259243085 +0.13970680239737712 -0.51113428253825255 0.20247621365479399 -0.15230822996661067 -0.45882903739102093 0.87537313045995835 +0.18883892661456364 -0.74431639924490645 0.13141380385556461 0.1955585954834296 -0.28682738990031187 0.93780962041105276 +0.10001993232389805 -0.73157032176000047 0.1188933923651746 -0.57849590272077844 -0.01510522188108783 0.81554541431314209 +0.10955441379034148 -0.66846946232794657 0.12963080634912988 -0.65781403571855035 -0.054762380464471565 0.75118691155899286 +0.089540252246133351 -0.59359521600818987 0.12677949376400177 -0.61460357625145146 -0.48020673805963371 0.62583059431530874 +0.24554236188217882 -0.6502678697280988 0.13253252735991072 0.62860719292969558 -0.34301926078115663 0.69799053269381628 +-0.08987485278671592 -0.49055330467480207 0.1506491410513896 -0.47903425657251281 -0.58958446971618661 0.65032017814266163 +0.29680770412311541 -0.47213822240539205 0.1385978323026445 0.82940710205895363 -0.20696311199982398 0.51889317718150496 +-0.16128324652233436 -0.43381236986073279 0.13638433384150217 -0.62404285933199299 -0.49222230442430981 0.60686712939816767 +0.18049973808294034 -0.55037709042326899 0.1936224505448923 -0.13268218454139918 -0.38664904684644374 0.91263243010428829 +0.14737222329497343 -0.55637985029979642 0.18196893259269731 -0.31535901523057458 -0.40271660161048656 0.85928344002436297 +0.29297592245167414 -0.43899017599116275 0.1617226751541167 0.71806157836937301 -0.37141529057613548 0.58859005393901243 +0.20849808705284997 -0.54925603577818138 0.19340113574406531 0.10231988696404258 -0.32026464700657631 0.94178617350724503 +-0.18536730828896375 -0.39912192474450991 0.13501647773377023 -0.67813010947325103 -0.40293746225739402 0.61463888270704747 +-0.21934235095927967 -0.35779780473853218 0.12064987346793332 -0.74678728760716795 -0.33433897439629534 0.57491407816121742 +-0.22577676594306378 -0.32228638575546115 0.13198415044182521 -0.76439918544892949 -0.27058171419989396 0.5852174136384356 +0.35987273987648882 -0.32896086287309867 0.15249603169983039 0.85821588999393228 -0.36336801187559986 0.36253161807971546 +0.37619122128259608 -0.28516094852056817 0.15288118743613405 0.89600837959865409 -0.28038813489481385 0.34431305159578507 +0.39143763516268781 -0.24120275844715433 0.14224540608759789 0.93794887517273684 -0.20237755315045958 0.28159409358690474 +0.39448168133270639 -0.19551456963194588 0.15930331521681917 0.92245987156233689 -0.13493660618583261 0.36174562563802548 +-0.29328336278674028 -0.081382604033574446 0.089503448793168794 -0.72334772724469043 -0.049740905870388569 0.68868999395456165 +0.043542122693464691 0.77529634832034477 0.1487020200193126 -0.045624810288472165 0.82259708699045253 0.56679132770444085 +0.40883984828651204 -0.055738418499422293 0.12439254309411096 0.96737110865281173 0.077149128398519784 0.24133203295704184 +0.12954815468667763 0.75642193600325081 0.15450928839946587 0.17863895358177548 0.67006178748325274 0.7204896426861086 +0.39494640935778025 -1.414161250101742e-05 0.13697682366425373 0.94777559554959723 0.16434131319053097 0.27333743479336703 +0.39220296804883925 -0.010044906575797263 0.15333515856756852 0.93867021415494012 0.14070216187619311 0.31480332066495781 +0.38644625264999616 0.052427145849183399 0.13095554601510184 0.94492149481876486 0.21264079366580768 0.24881169887818061 +0.17445295823609541 0.75271952991825319 0.14058725448915743 0.27123100751285439 0.48116904337381933 0.83361267520490923 +0.34519592538979893 0.15441346390259714 0.14232451518175931 0.91709324735957509 0.34088933800323223 0.20672308744595358 +-0.18961622522920674 0.20574695969297063 0.10443678540039336 -0.6894172435812872 0.49994833702904851 0.52417127406475561 +-0.052303784370890331 0.73243855654091472 0.16965845207639668 -0.31550927888399355 0.64383451841164852 0.69708751806336555 +-0.12641506350963189 0.26855353598029996 0.11168322515370943 -0.62969618929698756 0.43690552887776501 0.6423365691138041 +-0.099355051083183571 0.29358506324579986 0.12537060166602937 -0.68771831168032793 0.1499481567204895 0.71032321803224685 +-0.11818168005572396 0.31192446034537874 0.10699023607979774 -0.74244716382151443 -0.07758626028679326 0.66539655931489394 +0.18653100752455407 0.33002984100556554 0.14894690928844881 0.65399136806384728 0.058384009418674769 0.75424571456666401 +0.18903918573917483 0.357618743834616 0.15385081246386545 0.62661000208433826 -0.29784396473741198 0.72017281117615439 +-0.15801311861629702 0.40388128118054434 0.13256986901138088 -0.73346232765482855 -0.40360662993665541 0.54693208187336806 +0.23111347211943722 0.40554938790413453 0.1452730195198437 0.70744191008814961 -0.42688531645291977 0.5632893310260022 +-0.16773199999999999 0.441606 0.14129900000000001 -0.76596207175839692 -0.28129609208819611 0.57807837980977417 +-0.18665559380985236 0.49660351740495157 0.14010717600249148 -0.78536495482152047 -0.20465906441962953 0.58422303539750386 +0.26876193720991537 0.51247409283194223 0.14131484086699006 0.86566085126657855 -0.076965628070406022 0.49467927253944094 +-0.13951493092717004 0.68843879030509381 0.14894080104749269 -0.63827268138903326 0.46429480617206464 0.61403445925623634 +-0.19107096848883268 0.52861300365321506 0.1412695544489912 -0.81023231754061054 -0.054565974053403896 0.58356331797704231 +0.26925807187850787 0.60761040788713805 0.13083644633473324 0.8697034338251608 0.17238195578829718 0.46249367402303532 +0.22418375439609711 0.63541351075225438 0.17789816963933211 0.65219574660289925 0.30240054921168286 0.69512201515241878 +-0.16059424674584633 0.6491523579827565 0.14836175384815109 -0.72161651174159225 0.3132825969408809 0.61735210733897561 +-0.17259463590952245 0.67821346824051543 0.112066174358087 -0.76912144271321747 0.43259055703862759 0.47044406290200841 +0.22945350412299303 0.69121118040518437 0.14487823582185932 0.57108405537268891 0.29215509290186964 0.76714301364907422 +0.231215 0.72573500000000002 0.13070100000000001 0.37800685605327661 0.21134598589756035 0.90135658372350369 +-0.1810747649360418 0.58326069287741045 0.15016126578250166 -0.77603470609181946 0.16163123632605966 0.60962732745890991 +0.24192755666019319 0.55723062684006719 0.17925991435296645 0.7279926405953645 0.022826198514880176 0.68520484521079372 +-0.12382096853150448 0.72766429290032397 0.1266077920139751 -0.56843614583649515 0.64957208753438422 0.50491232031192612 +0.2474059074201499 0.74472006720401995 0.12418833356863042 0.18942642130935272 -0.035590661024603745 0.98124968064084661 +0.20597688629042432 0.75202688259380124 0.13116156738752285 0.29217399370614477 0.2003855512895171 0.93513634740405527 +0.2327116962669051 0.75880351780608646 0.12641311134753819 0.069372585976513565 -0.025178829221184841 0.99727301721944805 +0.16414591720720284 0.79121307312382638 0.12499459996398771 -0.0022795323421469348 0.30240502001970504 0.95317679766094954 +0.18820441235972796 0.77910662902987582 0.12698362700668103 0.072364307636851394 0.17127170118693519 0.98256267553412202 +0.28028599999999998 0.77953899999999998 0.126692 0.20461077934700325 -0.17386966781133023 0.96327761709186899 +0.0037553611268452691 0.78923016666154644 0.12029415582261777 -0.12535046492898438 0.87664402855266776 0.4645239586340375 +0.075436671547080225 0.7959507857863013 0.1142419672780367 -0.14024567625902909 0.81664351235053956 0.5598433031004495 +0.117145 0.79420999999999997 0.122062 -0.093576815928193974 0.62181450921618375 0.77755391816193531 +-0.17153204986133491 0.49836989260912812 0.16015699198674399 -0.73523520362438821 -0.18627833518285231 0.6517128026921899 +0.22644344579906819 0.44812830673877579 0.17497711898008822 0.66185694219100155 -0.30131822967859412 0.68640564722104047 +0.13244372377079888 0.81284811865049167 0.11323407151547371 -0.20454894384217243 0.43923314650387024 0.87477652722587462 +0.25909419701533398 0.81013746441281254 0.13797413626270708 0.028255179651692212 -0.12091495525242446 0.99226066052179795 +0.19316567970982634 0.82816801582743471 0.12508740457257497 -0.14628562843528561 0.10328140156215736 0.98383609763245117 +0.20124230225165152 0.41169529836799246 0.17771451400644683 0.55339008118714772 -0.40230940454103314 0.72931924495485601 +-0.14804458917953511 0.42934535661786744 0.1591614255383843 -0.68865283239639419 -0.3087155932777399 0.65608837735445147 +0.29200818291494246 0.82087597280952362 0.13237192592249433 0.39125860924340383 -0.062831131787478636 0.91813340510582775 +0.16798635115907756 0.83663191969651618 0.11774148448401438 -0.29717785624696874 0.23681120935088915 0.92498960690497789 +0.19228728385999719 0.87902002262339907 0.11875083739431531 -0.24775250139868624 0.17588635043432557 0.95272382660537447 +0.2167117874378176 0.91523978453718569 0.11602371570005324 -0.17209972188076536 0.34533465252889212 0.92256472048919824 +0.16035242421616339 0.35384002846105767 0.17171958284041072 0.48008504064636581 -0.30338019318725679 0.82309101084220326 +-0.074089806053798862 0.387352236238379 0.19003778055598322 -0.39883220051612295 -0.46036730912420387 0.79309193446989912 +0.24540995548308842 0.93004547144144889 0.11210015279033317 0.021395455045167548 0.48574241997291007 0.87384010891139086 +0.29737536438572348 0.89065318166393237 0.12000926947929558 0.37380163823128149 0.35870497880863011 0.85533798783493198 +0.16258437548360655 -0.73616781493187844 0.13856315086930493 0.022931813615344531 -0.24289678701034867 0.96978104888905747 +-0.067534409303322551 0.34762026491762604 0.16603303502257974 -0.41921278981573229 -0.4760358865554587 0.77307856752484672 +0.1464844143828764 0.33157870450766647 0.1744974267606158 0.40003925885211244 -0.050342106427476392 0.91511434460262797 +0.13744047816890409 -0.71803790750608854 0.1394715656545682 -0.24214424441410459 -0.16127260297485296 0.95674307545277681 +0.12357494360486143 -0.6876100583288749 0.13808244717061513 -0.43126525054038606 -0.13850146227544288 0.89153105869840676 +-0.087751908946663543 0.33526189481840168 0.14482079005820514 -0.53817859840875359 -0.39595244590214068 0.74403323635366048 +0.15504077131222008 0.31108475543922226 0.17382584569353182 0.35851916095931169 0.29799321192402428 0.88468302621460693 +0.15203174044637696 -0.68253023050637029 0.14782348295124076 -0.20672363766989679 -0.15687721337985702 0.96574058501788984 +0.17041477290272772 -0.69438668673594584 0.14730128561098332 0.026794578206209427 -0.24552785404439575 0.96901915536644845 +-0.07011729449761768 0.3143591626133021 0.14918394208829214 -0.55363423740580919 -0.12483740938828296 0.82334971451340788 +0.14836235483360122 -0.64363819747028872 0.15583110671145461 -0.393532914507841 -0.12591227220878787 0.91064699247632974 +0.20511185287350542 -0.67386231557681475 0.14826308355996107 0.36676230542666965 -0.27691150816955418 0.88814718823029404 +0.19528300000000001 0.29430099999999998 0.160971 0.51285669684135859 0.59157199118976234 0.62210978753331836 +0.22739814823433657 -0.63041621646658497 0.15421524989539459 0.45465637084948446 -0.32759738762822199 0.82823157152160076 +0.11146679515207199 -0.61711608435496579 0.13528529820332902 -0.73135733488355903 -0.2284518030614415 0.64259335694511677 +0.25131176932788224 -0.54456285079364308 0.17766624551058158 0.57425181205712617 -0.24693613850159327 0.78054942178636511 +0.11673852123127984 -0.5668482807976144 0.16292406631578135 -0.43761809354472886 -0.44998238610779678 0.77846403667414887 +0.095026568503854464 -0.54769570661823974 0.16622516121110995 -0.29845542644238282 -0.57454046620693044 0.76212047021308815 +0.271128637990112 -0.5389683477535453 0.16110078660039051 0.74303017866560672 -0.20172276156902508 0.63813327844355738 +0.054145294094036789 -0.55079753530882913 0.14977010383618483 -0.24976313881206691 -0.72167343839344356 0.64560500525331199 +0.28139738496728883 0.23307769640860737 0.19429212605951196 0.57735512599417393 0.80125724189366521 0.15699646748002929 +-0.052078435561688119 -0.51324697702000477 0.15333801791681648 -0.34568792783139513 -0.66132861453648883 0.66569085929347438 +-0.11671138082352811 -0.45780022757641681 0.15704391080883029 -0.53939989940293009 -0.53304929646850596 0.65184829221110929 +0.28188387282595567 -0.47247239878265579 0.15925899003870567 0.74624398580795015 -0.19784729035184351 0.63559134933217676 +-0.14426186750219805 -0.41342993813144302 0.16844160917491388 -0.58242998270270907 -0.43211089027558136 0.68851687978884479 +-0.1937999573041076 -0.35836320386230763 0.15005206629749582 -0.68078153912143846 -0.34745743948959645 0.64483317511956451 +0.32895204431242353 -0.3816498110082911 0.16231271892917887 0.77682717747887431 -0.43743190411249727 0.45298219125559491 +-0.21988490944030481 -0.28350994595263818 0.15225822253321653 -0.75261086923538456 -0.21944560036926955 0.62082244481601156 +-0.25255409326510164 -0.22032736419198803 0.1335562389869365 -0.79879002793821674 -0.15705970429431981 0.58074670946415508 +-0.15904358546933417 0.20308790183977998 0.14094551483725964 -0.61253560813884067 0.49130973158421387 0.61920503584243258 +-0.25712414261559013 -0.066670950214054447 0.13638052716552157 -0.79085049325696022 -0.0061993892867283022 0.6119779937936447 +0.39757490810343216 -0.14925739560580231 0.1614751220221593 0.92114879776478076 -0.028341002546461408 0.38817738207056912 +0.40037798767027677 -0.072617915388117238 0.15330724793977371 0.93871921675181058 0.069846929937370766 0.33753168514850773 +-0.24140390718632432 0.062628589095838849 0.12677985758696161 -0.76363655462303837 0.2359070857443043 0.60100504102635011 +0.34703812867935874 0.12320021903780135 0.17366987695625891 0.92048283694480293 0.25871129493636164 0.292881909243979 +-0.18799745689121167 0.17344017461931843 0.13185757901102804 -0.69204905326885646 0.39691708531674363 0.60293029054223213 +-0.18273015889305466 0.13168169929050022 0.16024376477240096 -0.66214339967237024 0.33808000293993212 0.66878100293179032 +0.33965467145020717 0.15303927048403179 0.17416907541053131 0.9645375353394553 0.23407487837206606 0.12196841491300782 +0.37598977367079323 0.059744565730412091 0.15526244583304105 0.89185702476057604 0.24884507646462503 0.3777130859588112 +0.32624724034475072 0.18974052971594391 0.15847124049526087 0.86581116407030956 0.49589489279497223 0.066777866625690796 +0.23542084978343392 0.28042866252211057 0.14157213080106859 0.51070332924919548 0.74885158376112826 0.42237828423373958 +0.35072389257755082 0.087388713037160004 0.1904956067537574 0.89034570592198692 0.21450219716234364 0.4015885099935082 +0.23670442621165444 0.26485109303465565 0.16864567522705518 0.38962500655364435 0.84991611895405617 0.35473221591807425 +-0.070773000000000003 0.29372300000000001 0.14926300000000001 -0.56259449780298865 0.19746469553609375 0.80280453726834455 +-0.11931767198695931 0.39046487340170655 0.16488738554692267 -0.55941864127176177 -0.46158628663698564 0.6884685060235759 +0.25025412342720732 0.44558215163532883 0.1461400402734053 0.77110650670850012 -0.2906888982692496 0.56647570092178179 +0.24910257679848485 0.49633851670899437 0.16848009427720056 0.76597246907083649 -0.14744500767601437 0.6257364831436204 +0.38002166289085981 -0.00080418334294596328 0.17890336752924682 0.87971929621024125 0.1851999716038808 0.43794398088486114 +0.26236370884280702 0.56358230737671522 0.15282203567197741 0.83930376042922628 0.057496116424085045 0.54061390504269136 +-0.11079043654133963 0.71937009210246794 0.14762606051690252 -0.48653237822707873 0.60934110579095324 0.62609077754760234 +0.20184805341888068 0.72819254479507256 0.14363466010527326 0.42090407030169386 0.4317589858782408 0.79776183270250511 +-0.068072548382999365 0.76022722344962979 0.13173797154724881 -0.37244390238390929 0.73934856458129494 0.56093603880355525 +-0.23900175642879026 -0.019506916229854787 0.1543436180462591 -0.75002632518084245 0.11336333006734144 0.65162049302624303 +-0.006658629841072905 0.7635770582409267 0.15580529204671018 -0.18100662596445469 0.75220283556273004 0.63358306127006936 +0.10120185967774176 0.78184024272986441 0.13417066440969261 0.028082866023374675 0.74551623327926853 0.66589556129546645 +0.14387003587090347 0.76998583769194617 0.13993119169996082 0.10420531110365755 0.56413629749578764 0.81907966095217766 +0.21157081229796038 0.80494868261968022 0.12950636695739948 -0.12207119108026276 -0.039311415930014471 0.99174252550035558 +0.25328681206776582 0.83265542170164486 0.13790352520992388 -0.056877308165346467 0.087756653339449223 0.99451683827400528 +0.27424140475744185 0.83070111723214202 0.13706723470887328 0.16703500509719255 0.071513493037822964 0.98335401935707267 +0.26318208292979317 0.89523754050054771 0.12357745479704557 0.044221720841226476 0.30637959105088935 0.95088168853613453 +0.17548904495571527 -0.61142099179347253 0.16965186097093421 -0.15321769153338455 -0.25475729301061634 0.95478953736364525 +0.20060275331500013 -0.63044224310789754 0.16378893511250686 0.14558567528351843 -0.32634555782673985 0.93397183471397893 +0.13752522514827636 -0.62501391734886513 0.15472113961665798 -0.44369932591356659 -0.18409049114267251 0.87706419334886554 +0.23166939457837404 -0.54874964948335869 0.18759447814418653 0.37071345279590745 -0.28188710468632538 0.88493570169120028 +0.130852 -0.59696800000000005 0.15703600000000001 -0.49952371253321165 -0.28939841019999296 0.81653206966459924 +0.15730263708348829 -0.59541027901433918 0.16971158576615558 -0.34751597328421124 -0.27135381621377386 0.89755209026470917 +0.12056713850864213 -0.53091664323814625 0.18568553153711828 -0.22189110807909806 -0.49643303493357671 0.83923690218082536 +0.018271327614770155 -0.51880103259336496 0.17499674827302669 -0.17816395412716737 -0.66834445260231812 0.72220031717348354 +-0.24882155377087822 -0.16527961827448334 0.14619852855581228 -0.76918405070103291 -0.04269288541261744 0.63759957158258485 +0.080056996176131767 -0.52494427621530315 0.17999969209827804 -0.2013189520232922 -0.63304424083859823 0.74747954399924965 +-0.018446590433145227 -0.51857726261019488 0.16376484715178108 -0.27649127518329791 -0.66764900408255656 0.69122889269408017 +-0.062989746023220272 -0.48088065315248341 0.17495047689946153 -0.38010265817928796 -0.55427276929296954 0.74047529767396159 +-0.22586328990869342 -0.21261761268551721 0.16706588107696879 -0.72713960890486851 -0.13080185138755696 0.67391309887496798 +0.37598645461769931 -0.24598540828924276 0.17976985028124037 0.8754687911375636 -0.20072723910609688 0.43961684592947159 +-0.096638972637016207 -0.44905831245238659 0.17827567931694005 -0.45450181475208323 -0.49858748362114497 0.73813184565048917 +0.25219622657725266 -0.44827319279898342 0.19810615920118135 0.56117549982087422 -0.3750332414929663 0.73785644008578699 +0.26936794438969303 -0.42698155314288844 0.19580898903957455 0.58806195779883652 -0.43561010353117335 0.68148879043705468 +0.3075449556973906 -0.3874353747817959 0.18965792309600582 0.68188659658615014 -0.45350982573695842 0.57389851660044444 +0.3483828930251805 -0.32336441371990005 0.1812690090974873 0.79766916303097624 -0.33643910635874474 0.50053235066476076 +3 5 0 2 +3 15 1 0 +3 1 2 0 +3 24 8 11 +3 3 2 1 +3 3 1 17 +3 5 32 6 +3 6 0 5 +3 8 4 35 +3 25 5 7 +3 5 2 7 +3 2 9 7 +3 9 12 7 +3 6 13 15 +3 0 6 15 +3 18 11 8 +3 8 35 18 +3 9 2 16 +3 15 13 14 +3 3 16 2 +3 17 15 14 +3 48 10 11 +3 11 18 48 +3 17 1 15 +3 20 16 3 +3 17 19 3 +3 19 20 3 +3 17 30 19 +3 18 35 52 +3 48 42 10 +3 32 5 21 +3 5 25 21 +3 25 29 27 +3 74 6 22 +3 49 48 18 +3 18 52 49 +3 6 32 22 +3 25 7 29 +3 12 29 7 +3 74 13 6 +3 12 9 37 +3 16 37 9 +3 36 14 13 +3 74 36 13 +3 11 28 23 +3 23 24 11 +3 17 14 39 +3 17 39 30 +3 19 40 20 +3 39 41 30 +3 26 8 24 +3 26 4 8 +3 71 32 31 +3 32 21 31 +3 68 4 26 +3 71 22 32 +3 21 25 27 +3 22 71 74 +3 4 72 35 +3 73 72 4 +3 10 34 28 +3 11 10 28 +3 37 33 12 +3 46 35 72 +3 14 36 38 +3 39 14 147 +3 14 38 147 +3 19 30 43 +3 40 19 43 +3 35 46 52 +3 41 43 30 +3 45 94 96 +3 50 44 45 +3 44 50 47 +3 96 102 45 +3 42 78 34 +3 34 10 42 +3 50 45 102 +3 47 50 57 +3 54 50 102 +3 55 57 50 +3 47 57 51 +3 104 53 102 +3 53 54 102 +3 50 54 55 +3 58 54 53 +3 55 54 58 +3 52 56 49 +3 51 57 59 +3 55 60 57 +3 60 59 57 +3 52 46 129 +3 46 126 129 +3 63 59 60 +3 55 58 66 +3 42 48 100 +3 101 100 49 +3 48 49 100 +3 49 56 101 +3 60 55 66 +3 69 60 66 +3 63 60 69 +3 69 115 63 +3 129 56 52 +3 115 67 63 +3 78 42 99 +3 99 92 78 +3 100 99 42 +3 66 58 118 +3 121 69 66 +3 21 70 31 +3 200 71 31 +3 202 70 21 +3 101 56 129 +3 27 202 21 +3 74 71 201 +3 29 12 75 +3 12 33 75 +3 77 33 37 +3 74 144 36 +3 37 16 79 +3 16 20 79 +3 81 79 20 +3 61 23 65 +3 36 80 38 +3 20 40 82 +3 24 23 62 +3 23 61 62 +3 64 26 24 +3 62 64 24 +3 82 81 20 +3 83 40 43 +3 26 64 68 +3 292 39 147 +3 41 39 292 +3 41 158 43 +3 28 65 23 +3 83 43 158 +3 158 41 292 +3 151 86 87 +3 86 84 85 +3 68 73 4 +3 90 86 85 +3 154 65 34 +3 65 28 34 +3 86 90 91 +3 91 87 86 +3 91 93 87 +3 89 87 93 +3 46 72 123 +3 73 123 72 +3 76 123 73 +3 157 154 78 +3 154 34 78 +3 85 88 94 +3 123 126 46 +3 94 90 85 +3 94 45 90 +3 45 44 90 +3 44 91 90 +3 47 93 91 +3 91 44 47 +3 95 89 93 +3 88 96 94 +3 47 95 93 +3 97 89 95 +3 103 96 88 +3 78 122 157 +3 47 51 95 +3 51 106 95 +3 97 95 106 +3 96 103 104 +3 104 102 96 +3 103 98 104 +3 97 106 107 +3 104 98 108 +3 108 110 104 +3 92 122 78 +3 110 53 104 +3 106 51 59 +3 59 109 106 +3 109 107 106 +3 111 107 109 +3 53 110 58 +3 59 63 67 +3 67 109 59 +3 92 166 122 +3 109 67 119 +3 111 109 119 +3 139 101 129 +3 110 114 58 +3 116 58 114 +3 120 119 67 +3 58 116 118 +3 67 115 120 +3 66 118 121 +3 121 115 69 +3 116 124 118 +3 168 166 92 +3 99 105 168 +3 92 99 168 +3 118 124 125 +3 99 100 105 +3 101 139 105 +3 105 100 101 +3 121 118 125 +3 128 115 121 +3 120 115 128 +3 121 125 128 +3 125 124 191 +3 125 191 127 +3 127 128 125 +3 130 132 131 +3 105 137 168 +3 133 131 132 +3 131 133 135 +3 139 137 105 +3 136 197 31 +3 197 200 31 +3 70 136 31 +3 138 70 202 +3 140 138 202 +3 143 62 61 +3 200 201 71 +3 201 141 74 +3 27 29 205 +3 142 205 29 +3 75 142 29 +3 141 144 74 +3 65 181 61 +3 75 33 77 +3 77 37 145 +3 79 145 37 +3 64 112 68 +3 152 68 112 +3 145 79 81 +3 148 82 40 +3 65 185 181 +3 68 152 113 +3 80 147 38 +3 83 148 40 +3 151 215 149 +3 113 73 68 +3 146 215 151 +3 151 153 146 +3 185 65 154 +3 113 117 73 +3 147 220 292 +3 158 155 83 +3 149 150 84 +3 151 149 84 +3 76 73 117 +3 84 86 151 +3 153 151 87 +3 153 87 156 +3 150 159 85 +3 84 150 85 +3 159 162 88 +3 88 85 159 +3 156 87 89 +3 156 89 160 +3 103 162 161 +3 88 162 103 +3 89 163 160 +3 161 164 103 +3 97 163 89 +3 165 163 97 +3 157 122 240 +3 126 123 167 +3 123 76 167 +3 103 164 98 +3 166 240 122 +3 164 169 98 +3 129 126 134 +3 167 134 126 +3 97 107 165 +3 107 111 165 +3 165 111 170 +3 111 172 170 +3 129 134 139 +3 108 98 169 +3 171 108 169 +3 174 108 171 +3 108 174 110 +3 175 111 119 +3 172 111 175 +3 177 172 175 +3 174 114 110 +3 134 176 139 +3 174 178 114 +3 186 116 114 +3 114 178 186 +3 134 167 176 +3 119 120 179 +3 175 119 179 +3 179 180 175 +3 183 179 120 +3 116 186 187 +3 137 139 173 +3 187 124 116 +3 120 128 189 +3 139 176 173 +3 189 183 120 +3 124 187 191 +3 127 190 128 +3 128 190 189 +3 191 192 127 +3 192 248 127 +3 190 127 248 +3 342 130 193 +3 193 130 131 +3 193 131 194 +3 130 342 261 +3 132 130 261 +3 135 194 131 +3 195 194 135 +3 349 195 135 +3 132 261 262 +3 132 196 133 +3 135 133 265 +3 112 182 152 +3 133 196 265 +3 265 559 135 +3 135 559 349 +3 132 264 196 +3 70 198 136 +3 70 138 198 +3 202 27 204 +3 27 205 204 +3 201 356 141 +3 185 154 229 +3 142 75 206 +3 75 77 206 +3 235 117 113 +3 77 207 206 +3 154 268 229 +3 208 207 77 +3 208 77 145 +3 154 157 268 +3 350 268 157 +3 76 117 235 +3 145 212 208 +3 145 81 213 +3 213 212 145 +3 82 213 81 +3 235 239 76 +3 275 214 149 +3 350 157 238 +3 149 215 275 +3 239 199 76 +3 240 238 157 +3 275 215 276 +3 146 276 215 +3 167 76 199 +3 276 146 216 +3 217 150 214 +3 150 149 214 +3 203 167 199 +3 153 216 146 +3 240 166 281 +3 290 148 83 +3 159 217 286 +3 159 150 217 +3 281 166 168 +3 209 176 167 +3 167 203 209 +3 168 249 281 +3 218 216 156 +3 153 156 216 +3 220 147 80 +3 83 155 288 +3 249 168 137 +3 249 137 211 +3 83 288 290 +3 156 221 218 +3 173 211 137 +3 158 294 155 +3 159 286 225 +3 294 158 292 +3 159 225 162 +3 221 156 160 +3 160 226 221 +3 173 176 209 +3 143 61 255 +3 226 223 221 +3 161 225 224 +3 143 219 62 +3 64 62 219 +3 112 64 219 +3 161 162 225 +3 226 160 163 +3 227 164 161 +3 226 163 165 +3 228 226 165 +3 61 181 259 +3 259 255 61 +3 182 184 152 +3 164 227 231 +3 165 170 228 +3 181 185 301 +3 301 259 181 +3 113 152 188 +3 232 169 164 +3 164 231 232 +3 172 233 170 +3 172 236 233 +3 113 188 230 +3 234 171 169 +3 301 185 229 +3 169 232 234 +3 235 113 230 +3 172 177 236 +3 177 237 236 +3 174 171 241 +3 171 234 241 +3 177 175 180 +3 237 177 180 +3 174 241 244 +3 244 178 174 +3 237 180 242 +3 306 244 241 +3 179 242 180 +3 186 178 244 +3 244 245 186 +3 245 244 308 +3 246 245 308 +3 186 245 246 +3 187 186 246 +3 246 247 187 +3 191 187 251 +3 199 239 243 +3 187 247 251 +3 189 190 256 +3 243 203 199 +3 247 311 251 +3 317 240 281 +3 192 191 251 +3 256 190 248 +3 251 252 192 +3 254 192 252 +3 254 248 192 +3 203 210 209 +3 254 315 248 +3 315 256 248 +3 249 364 281 +3 260 342 257 +3 193 257 342 +3 193 194 258 +3 194 195 258 +3 342 344 261 +3 211 328 249 +3 349 348 195 +3 173 250 253 +3 209 250 173 +3 209 210 250 +3 347 262 261 +3 264 132 262 +3 328 211 253 +3 173 253 211 +3 436 264 262 +3 264 437 196 +3 437 265 196 +3 143 255 295 +3 266 197 267 +3 295 219 143 +3 197 136 267 +3 222 112 219 +3 295 222 219 +3 182 112 222 +3 136 198 267 +3 200 266 354 +3 200 197 266 +3 138 269 198 +3 140 269 138 +3 356 201 200 +3 354 356 200 +3 152 184 263 +3 140 202 270 +3 204 567 202 +3 567 270 202 +3 205 142 271 +3 263 188 152 +3 206 271 142 +3 207 208 272 +3 272 208 212 +3 212 274 272 +3 301 229 423 +3 272 274 278 +3 276 273 275 +3 274 212 213 +3 362 283 214 +3 229 268 423 +3 275 362 214 +3 276 216 277 +3 216 218 277 +3 279 274 213 +3 278 274 279 +3 280 278 279 +3 283 217 214 +3 80 36 575 +3 316 239 235 +3 355 316 235 +3 36 454 575 +3 429 350 238 +3 82 148 284 +3 213 82 370 +3 238 240 429 +3 317 429 240 +3 82 284 370 +3 243 239 316 +3 370 279 213 +3 279 285 280 +3 283 280 285 +3 286 217 283 +3 290 284 148 +3 285 291 283 +3 243 282 203 +3 291 286 283 +3 218 221 287 +3 80 460 220 +3 210 203 282 +3 367 210 282 +3 293 288 155 +3 291 285 224 +3 287 221 223 +3 367 289 210 +3 292 220 460 +3 294 380 155 +3 249 368 364 +3 249 328 368 +3 293 155 380 +3 291 224 225 +3 286 291 225 +3 250 289 253 +3 296 378 223 +3 289 250 210 +3 224 227 161 +3 296 223 228 +3 223 226 228 +3 228 300 298 +3 231 297 299 +3 227 297 231 +3 170 300 228 +3 233 300 170 +3 233 236 385 +3 236 302 385 +3 303 302 236 +3 303 236 237 +3 295 255 336 +3 234 304 241 +3 237 305 303 +3 306 241 304 +3 309 242 179 +3 308 244 306 +3 179 183 309 +3 343 336 259 +3 336 255 259 +3 395 246 308 +3 183 189 310 +3 310 309 183 +3 301 343 259 +3 311 247 246 +3 246 395 311 +3 256 313 189 +3 313 310 189 +3 251 311 312 +3 251 312 252 +3 311 398 312 +3 398 484 312 +3 312 484 252 +3 484 314 252 +3 427 423 268 +3 314 254 252 +3 315 399 256 +3 322 405 319 +3 319 318 320 +3 350 427 268 +3 320 322 319 +3 318 414 324 +3 320 318 324 +3 324 327 320 +3 322 320 325 +3 323 322 325 +3 320 327 325 +3 329 323 325 +3 333 327 324 +3 324 326 333 +3 331 325 327 +3 325 331 329 +3 331 327 333 +3 330 329 331 +3 331 335 330 +3 420 330 335 +3 333 326 332 +3 331 333 334 +3 334 335 331 +3 317 281 321 +3 243 363 282 +3 193 338 257 +3 281 364 321 +3 193 258 338 +3 363 367 282 +3 342 260 650 +3 341 650 260 +3 341 260 257 +3 258 195 345 +3 348 345 195 +3 347 261 344 +3 554 435 347 +3 347 435 262 +3 435 436 262 +3 436 437 264 +3 437 351 265 +3 559 265 351 +3 353 352 267 +3 352 266 267 +3 253 372 371 +3 328 253 371 +3 289 372 253 +3 353 267 198 +3 198 269 353 +3 438 354 266 +3 204 205 357 +3 356 671 141 +3 271 357 205 +3 357 271 358 +3 671 446 141 +3 206 358 271 +3 222 337 182 +3 359 358 206 +3 446 144 141 +3 206 207 360 +3 182 337 184 +3 360 359 206 +3 272 360 207 +3 361 360 272 +3 453 273 276 +3 276 365 453 +3 277 453 365 +3 184 340 263 +3 272 278 361 +3 278 280 361 +3 263 346 188 +3 362 361 283 +3 277 365 276 +3 144 454 36 +3 361 280 283 +3 230 188 346 +3 277 218 366 +3 218 287 366 +3 369 457 366 +3 287 369 366 +3 284 290 373 +3 370 284 373 +3 285 279 370 +3 369 287 223 +3 223 378 369 +3 80 575 460 +3 290 288 576 +3 576 288 293 +3 290 576 373 +3 370 373 376 +3 370 376 377 +3 224 285 377 +3 285 370 377 +3 461 292 460 +3 381 293 380 +3 376 379 377 +3 224 377 379 +3 317 397 429 +3 294 292 577 +3 461 577 292 +3 467 294 577 +3 481 397 317 +3 294 467 380 +3 224 379 227 +3 317 321 481 +3 483 481 321 +3 379 466 297 +3 379 297 227 +3 364 483 321 +3 228 298 296 +3 297 466 299 +3 382 468 298 +3 298 300 382 +3 231 299 469 +3 382 300 385 +3 383 382 385 +3 384 231 469 +3 233 385 300 +3 232 231 384 +3 232 384 388 +3 302 386 385 +3 368 328 488 +3 388 234 232 +3 488 328 371 +3 302 303 389 +3 305 389 303 +3 388 304 234 +3 304 388 390 +3 307 393 305 +3 295 336 449 +3 449 374 295 +3 305 237 307 +3 295 374 375 +3 222 295 375 +3 337 222 375 +3 392 306 304 +3 304 390 392 +3 237 242 307 +3 306 392 472 +3 458 449 336 +3 337 339 184 +3 340 184 339 +3 306 472 308 +3 536 458 343 +3 336 343 458 +3 242 309 473 +3 472 474 394 +3 472 394 308 +3 394 395 308 +3 398 311 395 +3 313 256 401 +3 343 301 424 +3 536 343 424 +3 346 387 230 +3 401 479 313 +3 401 256 399 +3 301 423 424 +3 235 230 391 +3 387 391 230 +3 315 254 402 +3 254 314 402 +3 399 315 402 +3 486 314 484 +3 505 427 350 +3 405 492 404 +3 355 235 476 +3 235 391 476 +3 350 429 505 +3 492 405 406 +3 493 492 406 +3 406 408 493 +3 319 403 407 +3 319 404 403 +3 316 355 396 +3 405 404 319 +3 407 498 412 +3 412 318 407 +3 396 400 243 +3 243 316 396 +3 318 319 407 +3 406 405 322 +3 400 363 243 +3 408 406 322 +3 411 409 408 +3 322 323 408 +3 323 411 408 +3 363 400 440 +3 318 412 414 +3 483 364 442 +3 440 367 363 +3 413 411 323 +3 364 368 442 +3 414 412 500 +3 368 518 442 +3 488 518 368 +3 372 448 410 +3 289 448 372 +3 414 500 504 +3 448 289 440 +3 289 367 440 +3 329 413 323 +3 413 329 416 +3 415 414 504 +3 324 414 415 +3 410 488 371 +3 371 372 410 +3 324 415 326 +3 329 330 416 +3 419 326 415 +3 418 416 330 +3 420 418 330 +3 326 419 513 +3 513 332 326 +3 419 622 513 +3 333 332 334 +3 337 417 339 +3 335 334 428 +3 420 335 428 +3 428 422 420 +3 339 417 340 +3 422 425 420 +3 332 513 517 +3 332 517 334 +3 334 517 426 +3 426 428 334 +3 432 430 431 +3 341 257 433 +3 421 545 346 +3 346 263 421 +3 338 433 257 +3 650 549 342 +3 549 550 344 +3 545 387 346 +3 344 342 549 +3 344 550 652 +3 345 348 434 +3 551 347 344 +3 344 652 551 +3 349 555 348 +3 347 551 554 +3 349 559 741 +3 555 349 741 +3 437 558 351 +3 558 559 351 +3 266 352 560 +3 560 438 266 +3 269 439 353 +3 269 140 441 +3 443 441 140 +3 140 270 443 +3 356 354 665 +3 438 665 354 +3 567 204 444 +3 475 429 397 +3 475 397 787 +3 357 444 204 +3 357 358 445 +3 481 787 397 +3 568 358 359 +3 359 451 568 +3 451 359 360 +3 452 273 447 +3 447 273 453 +3 453 450 447 +3 361 451 360 +3 452 451 362 +3 451 361 362 +3 275 273 452 +3 452 362 275 +3 454 144 446 +3 277 366 455 +3 457 456 455 +3 457 455 366 +3 369 459 457 +3 464 459 369 +3 369 378 464 +3 576 462 373 +3 373 462 376 +3 293 381 681 +3 379 376 463 +3 462 463 376 +3 467 578 380 +3 578 381 380 +3 379 463 466 +3 464 378 296 +3 468 464 296 +3 298 468 296 +3 469 299 466 +3 470 384 469 +3 383 385 386 +3 471 388 384 +3 470 471 384 +3 471 590 388 +3 389 305 591 +3 388 590 390 +3 305 393 591 +3 392 390 590 +3 392 592 472 +3 307 242 473 +3 477 473 309 +3 309 310 477 +3 394 474 596 +3 263 340 421 +3 395 394 596 +3 310 313 480 +3 595 477 480 +3 477 310 480 +3 596 478 395 +3 536 424 543 +3 478 398 395 +3 313 479 480 +3 424 423 541 +3 541 543 424 +3 479 692 480 +3 398 598 484 +3 423 427 541 +3 427 505 541 +3 487 399 402 +3 401 399 602 +3 487 602 399 +3 602 600 401 +3 600 479 401 +3 487 402 314 +3 505 429 475 +3 486 487 314 +3 490 404 604 +3 404 492 604 +3 604 492 493 +3 705 403 490 +3 403 404 490 +3 355 476 396 +3 495 606 493 +3 407 403 705 +3 495 493 408 +3 482 400 396 +3 495 408 409 +3 409 499 495 +3 500 412 498 +3 409 411 501 +3 501 502 409 +3 413 501 411 +3 440 482 485 +3 400 482 440 +3 483 442 571 +3 501 413 506 +3 518 571 442 +3 448 485 491 +3 440 485 448 +3 506 503 501 +3 500 610 504 +3 416 506 413 +3 510 415 504 +3 416 507 506 +3 418 507 416 +3 488 410 489 +3 510 509 617 +3 617 511 510 +3 489 410 491 +3 410 448 491 +3 419 415 511 +3 415 510 511 +3 418 420 425 +3 617 619 511 +3 375 374 494 +3 619 622 511 +3 622 419 511 +3 337 375 494 +3 425 422 624 +3 622 623 513 +3 517 513 623 +3 422 428 515 +3 517 514 426 +3 428 520 515 +3 514 517 628 +3 628 633 514 +3 496 497 340 +3 340 417 496 +3 514 633 635 +3 536 533 458 +3 497 465 421 +3 340 497 421 +3 426 514 635 +3 428 426 635 +3 545 421 465 +3 629 522 430 +3 430 524 629 +3 630 524 527 +3 525 630 527 +3 430 522 528 +3 532 525 527 +3 430 432 524 +3 508 391 387 +3 545 508 387 +3 527 524 432 +3 528 529 431 +3 430 528 431 +3 432 532 527 +3 535 532 432 +3 431 529 534 +3 476 391 508 +3 432 431 534 +3 475 952 505 +3 537 535 432 +3 532 535 538 +3 512 476 508 +3 540 532 538 +3 957 952 475 +3 396 476 512 +3 537 432 534 +3 787 957 475 +3 542 535 537 +3 482 396 512 +3 516 482 512 +3 537 534 539 +3 787 481 564 +3 542 537 539 +3 535 542 538 +3 481 483 564 +3 571 564 483 +3 482 516 485 +3 519 485 516 +3 542 546 538 +3 540 538 546 +3 433 649 341 +3 258 345 547 +3 485 519 491 +3 523 491 519 +3 547 345 653 +3 345 434 653 +3 518 488 521 +3 434 348 552 +3 488 489 521 +3 489 523 521 +3 348 555 552 +3 555 657 552 +3 523 489 491 +3 551 656 554 +3 740 435 554 +3 494 526 337 +3 658 436 435 +3 337 526 530 +3 449 458 750 +3 750 1141 449 +3 494 374 1141 +3 374 449 1141 +3 435 740 658 +3 530 531 417 +3 417 337 530 +3 531 496 417 +3 437 436 659 +3 436 658 659 +3 458 533 750 +3 558 437 659 +3 352 563 560 +3 560 743 438 +3 563 352 566 +3 352 353 566 +3 353 439 566 +3 439 269 441 +3 356 665 668 +3 444 357 445 +3 668 671 356 +3 445 358 568 +3 452 569 568 +3 568 451 452 +3 569 452 447 +3 447 570 569 +3 570 447 450 +3 277 450 453 +3 572 450 277 +3 455 572 277 +3 541 505 766 +3 455 456 572 +3 553 508 545 +3 952 766 505 +3 456 457 459 +3 765 767 575 +3 460 575 767 +3 461 460 768 +3 768 460 767 +3 512 508 553 +3 681 381 680 +3 576 293 681 +3 576 678 462 +3 462 678 769 +3 512 553 556 +3 462 769 463 +3 461 768 577 +3 565 516 512 +3 512 556 565 +3 578 680 381 +3 466 463 770 +3 769 770 463 +3 464 468 579 +3 770 580 466 +3 581 469 580 +3 574 519 516 +3 516 565 574 +3 466 580 469 +3 585 468 382 +3 518 521 573 +3 573 571 518 +3 521 583 573 +3 519 586 523 +3 519 574 586 +3 383 585 382 +3 581 470 469 +3 386 302 587 +3 583 521 584 +3 523 584 521 +3 302 389 587 +3 588 587 389 +3 584 523 586 +3 591 588 389 +3 592 392 590 +3 591 393 593 +3 593 393 307 +3 530 526 494 +3 592 687 472 +3 473 593 307 +3 474 472 687 +3 473 477 595 +3 692 693 595 +3 480 692 595 +3 691 478 596 +3 478 691 694 +3 398 478 694 +3 533 927 750 +3 479 600 692 +3 598 398 694 +3 484 598 486 +3 1155 927 533 +3 598 695 486 +3 465 497 756 +3 486 697 487 +3 601 487 697 +3 533 536 1155 +3 763 545 465 +3 756 763 465 +3 1168 1155 543 +3 1155 536 543 +3 697 701 601 +3 603 601 701 +3 490 604 701 +3 543 541 1168 +3 604 603 701 +3 604 605 603 +3 1168 541 766 +3 493 605 604 +3 553 763 548 +3 545 763 553 +3 493 606 605 +3 708 607 407 +3 553 548 557 +3 705 708 407 +3 607 709 498 +3 607 498 407 +3 495 499 608 +3 610 500 498 +3 498 709 610 +3 499 409 502 +3 502 501 503 +3 553 557 556 +3 610 612 504 +3 503 506 613 +3 612 510 504 +3 556 557 561 +3 565 556 561 +3 557 562 561 +3 506 507 613 +3 615 613 507 +3 509 510 612 +3 787 564 793 +3 507 418 618 +3 561 589 565 +3 618 615 507 +3 589 561 594 +3 561 562 594 +3 418 425 616 +3 618 418 616 +3 624 616 425 +3 564 571 793 +3 618 616 624 +3 571 573 793 +3 565 589 574 +3 621 619 617 +3 622 619 621 +3 624 422 515 +3 621 626 622 +3 627 622 626 +3 594 620 589 +3 627 623 622 +3 627 632 623 +3 628 517 623 +3 623 632 628 +3 520 428 635 +3 520 635 721 +3 515 520 721 +3 717 522 629 +3 975 573 583 +3 599 586 574 +3 629 625 717 +3 621 625 630 +3 589 599 574 +3 630 625 629 +3 626 621 630 +3 525 626 630 +3 525 627 626 +3 632 627 525 +3 632 720 628 +3 720 633 628 +3 524 630 629 +3 525 636 632 +3 528 522 631 +3 636 525 532 +3 532 540 636 +3 634 594 582 +3 609 634 582 +3 809 975 583 +3 584 597 809 +3 583 584 809 +3 638 636 540 +3 540 640 638 +3 586 599 597 +3 597 584 586 +3 639 529 528 +3 534 529 641 +3 529 639 641 +3 643 640 540 +3 614 611 599 +3 599 589 614 +3 589 620 614 +3 540 642 643 +3 731 539 534 +3 534 641 731 +3 546 642 540 +3 642 546 645 +3 643 642 645 +3 731 732 539 +3 542 539 646 +3 732 646 539 +3 620 594 634 +3 646 544 542 +3 546 542 644 +3 542 544 644 +3 637 814 809 +3 809 597 637 +3 597 611 637 +3 645 546 644 +3 544 646 647 +3 599 611 597 +3 647 644 544 +3 338 648 433 +3 648 338 258 +3 651 549 650 +3 549 651 550 +3 550 651 832 +3 652 550 832 +3 620 654 614 +3 652 833 551 +3 656 551 655 +3 741 742 555 +3 657 555 742 +3 554 656 838 +3 838 740 554 +3 748 558 659 +3 559 558 749 +3 558 748 749 +3 741 559 749 +3 660 563 566 +3 634 609 664 +3 439 661 566 +3 662 661 439 +3 441 662 439 +3 611 667 637 +3 438 743 747 +3 662 441 663 +3 611 654 667 +3 443 663 441 +3 665 438 747 +3 611 614 654 +3 444 666 567 +3 270 567 666 +3 666 444 445 +3 751 666 445 +3 568 751 445 +3 669 751 569 +3 751 568 569 +3 654 620 706 +3 674 706 620 +3 752 669 570 +3 669 569 570 +3 752 570 670 +3 674 620 634 +3 450 670 570 +3 450 572 754 +3 672 572 456 +3 456 673 672 +3 825 814 637 +3 446 671 760 +3 456 675 673 +3 454 446 760 +3 459 675 456 +3 675 459 676 +3 765 575 454 +3 454 762 765 +3 464 676 459 +3 464 677 676 +3 678 576 681 +3 579 677 464 +3 862 981 577 +3 768 862 577 +3 679 578 467 +3 467 577 981 +3 770 868 580 +3 868 581 580 +3 468 585 579 +3 585 682 579 +3 682 585 383 +3 682 383 684 +3 383 386 684 +3 689 674 634 +3 664 689 634 +3 470 581 683 +3 587 684 386 +3 471 470 683 +3 775 471 683 +3 704 825 637 +3 637 667 704 +3 777 471 775 +3 590 471 777 +3 588 591 686 +3 685 590 777 +3 592 590 685 +3 593 786 591 +3 688 593 473 +3 789 474 687 +3 473 690 688 +3 690 473 595 +3 596 474 789 +3 595 693 690 +3 596 789 794 +3 596 794 691 +3 800 693 692 +3 800 692 600 +3 695 598 694 +3 694 798 695 +3 696 695 798 +3 697 486 695 +3 695 696 697 +3 487 601 602 +3 602 601 698 +3 699 600 698 +3 600 602 698 +3 700 697 696 +3 700 701 697 +3 601 603 702 +3 667 706 704 +3 702 698 601 +3 702 699 698 +3 705 700 803 +3 654 706 667 +3 705 490 700 +3 701 700 490 +3 605 702 603 +3 702 605 606 +3 702 606 707 +3 803 708 705 +3 709 607 708 +3 707 606 495 +3 608 707 495 +3 608 499 502 +3 710 608 502 +3 810 610 808 +3 709 808 610 +3 710 502 503 +3 712 710 503 +3 610 810 711 +3 610 711 612 +3 703 689 664 +3 711 713 612 +3 712 503 613 +3 714 509 612 +3 612 713 714 +3 618 812 615 +3 714 715 509 +3 617 509 715 +3 618 624 716 +3 617 813 621 +3 621 813 717 +3 624 515 719 +3 719 716 624 +3 717 625 621 +3 515 721 719 +3 522 717 718 +3 724 721 635 +3 631 718 816 +3 631 522 718 +3 633 820 635 +3 635 820 724 +3 636 722 632 +3 723 706 674 +3 674 689 723 +3 722 720 632 +3 638 722 636 +3 528 631 639 +3 818 639 631 +3 643 727 640 +3 639 818 725 +3 725 641 639 +3 643 728 727 +3 730 731 641 +3 641 725 730 +3 823 728 643 +3 643 645 823 +3 733 645 644 +3 644 647 733 +3 732 824 646 +3 647 646 734 +3 824 734 646 +3 647 735 733 +3 649 433 736 +3 648 736 433 +3 258 737 648 +3 650 341 739 +3 737 258 547 +3 651 739 830 +3 739 651 650 +3 830 832 651 +3 833 652 832 +3 726 723 689 +3 946 653 434 +3 551 833 655 +3 726 689 703 +3 434 552 835 +3 946 434 835 +3 552 657 837 +3 837 835 552 +3 947 656 655 +3 704 706 729 +3 742 837 657 +3 838 656 947 +3 658 740 841 +3 741 749 964 +3 560 744 743 +3 745 744 560 +3 660 745 563 +3 560 563 745 +3 706 723 738 +3 661 660 566 +3 658 841 746 +3 659 658 746 +3 748 659 746 +3 443 270 844 +3 665 747 963 +3 666 844 270 +3 751 848 666 +3 854 668 665 +3 963 854 665 +3 703 866 726 +3 670 753 752 +3 670 450 754 +3 879 704 729 +3 671 668 757 +3 755 754 572 +3 758 755 672 +3 572 672 755 +3 758 672 759 +3 672 673 759 +3 762 454 760 +3 738 729 706 +3 676 764 675 +3 676 677 764 +3 678 681 863 +3 863 864 678 +3 769 678 864 +3 981 982 467 +3 982 679 467 +3 578 679 867 +3 867 680 578 +3 681 680 867 +3 863 681 867 +3 581 868 771 +3 682 684 773 +3 771 683 581 +3 773 684 587 +3 729 881 879 +3 773 587 778 +3 587 588 778 +3 778 588 686 +3 685 777 779 +3 782 779 780 +3 685 779 782 +3 686 591 895 +3 780 889 781 +3 782 780 781 +3 784 785 782 +3 685 782 785 +3 785 592 685 +3 738 723 874 +3 723 726 874 +3 591 786 895 +3 784 782 781 +3 726 866 874 +3 785 784 788 +3 788 687 592 +3 592 785 788 +3 593 688 786 +3 898 786 688 +3 892 881 729 +3 789 687 788 +3 892 729 738 +3 688 690 791 +3 789 790 792 +3 693 795 690 +3 789 792 794 +3 691 794 796 +3 694 691 796 +3 798 694 796 +3 798 799 696 +3 800 600 699 +3 799 803 696 +3 803 700 696 +3 699 702 801 +3 699 801 802 +3 707 801 702 +3 802 801 707 +3 707 805 802 +3 708 803 804 +3 914 892 738 +3 804 709 708 +3 805 707 608 +3 608 806 805 +3 884 914 738 +3 874 884 738 +3 709 804 904 +3 904 808 709 +3 806 608 710 +3 712 613 811 +3 613 915 811 +3 613 615 915 +3 615 812 915 +3 812 618 716 +3 617 715 813 +3 815 717 813 +3 1141 919 494 +3 719 922 716 +3 717 815 718 +3 816 718 815 +3 721 817 719 +3 721 724 817 +3 820 633 720 +3 631 816 818 +3 722 638 819 +3 923 1141 750 +3 720 722 819 +3 720 819 820 +3 638 640 819 +3 727 819 640 +3 822 727 728 +3 923 750 927 +3 725 818 821 +3 756 497 496 +3 730 725 821 +3 731 730 1043 +3 645 733 823 +3 732 731 1043 +3 1043 824 732 +3 733 735 826 +3 761 763 756 +3 938 734 824 +3 938 647 734 +3 938 735 647 +3 648 827 736 +3 737 827 648 +3 341 829 739 +3 341 649 829 +3 763 761 548 +3 739 943 830 +3 776 548 761 +3 834 655 833 +3 1871 1168 766 +3 1052 947 655 +3 655 1050 1052 +3 742 1065 837 +3 742 741 842 +3 952 1871 766 +3 842 1065 742 +3 949 740 838 +3 776 557 548 +3 740 949 841 +3 964 842 741 +3 743 744 839 +3 840 660 661 +3 963 747 839 +3 747 743 839 +3 843 661 662 +3 843 662 663 +3 1060 663 443 +3 841 961 746 +3 776 772 783 +3 746 961 845 +3 746 845 748 +3 748 845 846 +3 749 748 847 +3 774 797 772 +3 748 846 847 +3 964 749 847 +3 557 776 562 +3 776 783 562 +3 666 848 844 +3 849 752 850 +3 753 850 752 +3 845 961 852 +3 853 845 852 +3 783 772 797 +3 853 846 845 +3 847 846 853 +3 965 1425 957 +3 957 787 965 +3 594 562 783 +3 967 847 853 +3 964 847 967 +3 751 669 848 +3 669 849 848 +3 582 783 797 +3 669 752 849 +3 958 753 754 +3 753 670 754 +3 851 958 755 +3 787 793 965 +3 1197 965 793 +3 783 582 594 +3 754 755 958 +3 852 851 855 +3 852 855 853 +3 856 853 855 +3 758 855 851 +3 851 755 758 +3 856 855 758 +3 757 668 854 +3 793 972 1197 +3 758 759 856 +3 972 793 573 +3 859 858 856 +3 859 856 759 +3 673 859 759 +3 671 757 760 +3 860 673 675 +3 797 807 582 +3 675 764 860 +3 764 677 865 +3 573 975 972 +3 765 861 767 +3 677 579 865 +3 862 768 861 +3 768 767 861 +3 867 679 982 +3 807 609 582 +3 770 769 986 +3 986 769 864 +3 865 579 869 +3 868 770 986 +3 978 975 809 +3 579 682 869 +3 682 872 869 +3 868 1073 871 +3 868 871 771 +3 771 871 1157 +3 831 609 807 +3 978 814 983 +3 773 872 682 +3 775 683 771 +3 814 978 809 +3 877 775 771 +3 880 875 999 +3 876 873 875 +3 775 877 777 +3 999 1006 878 +3 878 880 999 +3 875 880 882 +3 882 876 875 +3 883 876 882 +3 883 780 877 +3 780 779 877 +3 779 777 877 +3 609 831 664 +3 883 882 887 +3 780 883 887 +3 888 778 686 +3 880 878 885 +3 885 886 880 +3 886 882 880 +3 825 983 814 +3 882 886 887 +3 886 885 889 +3 889 887 886 +3 887 889 780 +3 686 895 896 +3 888 686 896 +3 891 889 885 +3 889 891 781 +3 891 894 781 +3 894 784 781 +3 893 894 891 +3 893 784 894 +3 895 786 898 +3 784 893 788 +3 897 788 893 +3 788 897 789 +3 791 898 688 +3 831 992 1007 +3 1015 789 897 +3 789 1015 790 +3 1015 1016 790 +3 795 791 690 +3 664 831 836 +3 703 664 836 +3 790 1016 792 +3 1016 1017 792 +3 1007 836 831 +3 794 792 1017 +3 795 693 900 +3 800 901 693 +3 901 900 693 +3 794 899 796 +3 796 899 1018 +3 796 1018 798 +3 703 836 1013 +3 1021 798 1018 +3 1007 1013 836 +3 798 1021 799 +3 902 800 699 +3 803 799 903 +3 799 1021 903 +3 825 857 1005 +3 857 825 704 +3 802 902 699 +3 803 903 1022 +3 803 1022 804 +3 1013 1033 703 +3 904 1025 808 +3 806 710 905 +3 1025 810 808 +3 906 905 710 +3 710 712 906 +3 712 908 906 +3 810 1025 907 +3 711 810 907 +3 879 857 704 +3 711 907 909 +3 908 712 910 +3 909 713 711 +3 712 811 910 +3 910 811 915 +3 915 912 910 +3 714 713 911 +3 713 909 911 +3 917 915 812 +3 916 715 714 +3 714 911 916 +3 716 918 812 +3 812 918 917 +3 920 813 715 +3 1033 866 703 +3 715 916 920 +3 716 922 918 +3 1032 918 922 +3 1237 857 870 +3 813 920 815 +3 921 815 920 +3 879 870 857 +3 719 925 922 +3 815 921 816 +3 924 816 921 +3 817 1034 719 +3 1034 925 719 +3 724 820 928 +3 817 724 928 +3 1013 1244 1033 +3 816 924 818 +3 820 819 930 +3 820 930 932 +3 820 932 928 +3 924 929 818 +3 930 819 727 +3 727 822 930 +3 1038 874 866 +3 818 929 1123 +3 1033 1038 866 +3 1123 1124 821 +3 818 1123 821 +3 933 822 728 +3 1040 730 821 +3 1124 1040 821 +3 1247 1237 870 +3 1041 1247 870 +3 870 879 1041 +3 728 823 933 +3 933 823 934 +3 879 881 890 +3 730 1040 1043 +3 823 733 936 +3 1038 884 874 +3 936 934 823 +3 935 824 1043 +3 936 733 826 +3 938 824 935 +3 1127 938 935 +3 1045 735 938 +3 1045 826 735 +3 736 940 828 +3 828 649 736 +3 1128 829 649 +3 879 890 1041 +3 941 737 547 +3 913 890 881 +3 944 941 547 +3 943 1049 830 +3 892 913 881 +3 547 653 944 +3 653 945 944 +3 832 830 1130 +3 1049 1130 830 +3 834 833 832 +3 1130 834 832 +3 1050 655 834 +3 1052 1214 947 +3 835 837 1055 +3 1065 1055 837 +3 947 948 838 +3 949 838 948 +3 744 950 839 +3 745 950 744 +3 660 840 745 +3 1061 1041 890 +3 1061 890 913 +3 951 840 661 +3 949 960 841 +3 964 1066 842 +3 1065 842 1066 +3 953 963 839 +3 661 843 951 +3 913 892 914 +3 954 843 663 +3 955 1060 443 +3 844 955 443 +3 1056 914 884 +3 955 844 956 +3 884 1038 1056 +3 960 961 841 +3 848 956 844 +3 960 959 851 +3 959 958 851 +3 852 961 960 +3 851 852 960 +3 854 963 966 +3 853 856 967 +3 968 964 967 +3 856 858 967 +3 967 858 968 +3 969 858 859 +3 860 969 859 +3 859 673 860 +3 757 970 760 +3 971 860 764 +3 762 760 973 +3 760 970 973 +3 1056 1054 914 +3 764 976 971 +3 765 762 1070 +3 762 973 1070 +3 865 976 764 +3 861 765 1070 +3 1071 1240 862 +3 861 1071 862 +3 863 1072 1149 +3 1149 977 863 +3 980 864 977 +3 864 863 977 +3 981 862 1240 +3 1061 913 1053 +3 982 985 867 +3 1053 913 914 +3 914 1054 1053 +3 867 985 1072 +3 1072 863 867 +3 986 864 980 +3 987 865 869 +3 1073 868 986 +3 988 987 869 +3 988 869 872 +3 773 990 872 +3 993 989 1079 +3 494 919 1143 +3 530 494 1143 +3 989 1077 1079 +3 1077 989 995 +3 991 993 1079 +3 989 993 994 +3 926 531 530 +3 994 995 989 +3 995 996 1081 +3 1085 1081 996 +3 990 773 1004 +3 496 531 926 +3 1152 496 926 +3 999 994 993 +3 995 994 875 +3 927 1625 923 +3 1152 931 756 +3 496 1152 756 +3 873 996 995 +3 1625 927 1155 +3 875 873 995 +3 996 998 1085 +3 998 1000 1085 +3 1002 877 997 +3 756 931 761 +3 931 937 761 +3 771 997 877 +3 1168 1864 1155 +3 773 778 1004 +3 991 1003 993 +3 873 998 996 +3 999 993 1003 +3 999 875 994 +3 998 873 876 +3 1000 998 876 +3 1002 1000 883 +3 876 883 1000 +3 761 937 776 +3 937 942 776 +3 877 1002 883 +3 1003 1006 999 +3 1009 1004 778 +3 1008 1006 1003 +3 1006 1008 878 +3 942 939 1183 +3 778 888 1009 +3 1008 1010 878 +3 772 776 942 +3 888 1094 1009 +3 878 1010 885 +3 1010 1092 1011 +3 1011 885 1010 +3 774 772 942 +3 1183 774 942 +3 896 1094 888 +3 885 1011 891 +3 1012 891 1011 +3 1012 893 891 +3 1871 952 1423 +3 896 895 898 +3 898 1098 896 +3 893 1012 1014 +3 1014 897 893 +3 1015 897 1014 +3 795 900 1106 +3 794 1017 899 +3 1018 899 1017 +3 952 957 1423 +3 1425 1423 957 +3 1020 901 800 +3 902 1020 800 +3 1021 1178 903 +3 1022 903 1178 +3 802 805 1024 +3 1183 962 774 +3 804 1022 1023 +3 1023 904 804 +3 1024 805 806 +3 806 905 1024 +3 1025 904 1023 +3 774 962 797 +3 1025 1026 907 +3 1026 1114 907 +3 1114 909 907 +3 1114 1027 909 +3 909 1027 911 +3 797 962 807 +3 915 917 912 +3 1028 916 911 +3 807 962 974 +3 918 1029 917 +3 1425 965 1197 +3 1032 1029 918 +3 920 916 1030 +3 1028 1030 916 +3 1031 921 1030 +3 1030 921 920 +3 1032 922 925 +3 1031 924 921 +3 924 1031 1120 +3 928 932 1036 +3 932 1037 1036 +3 1035 929 924 +3 924 1120 1035 +3 1037 932 930 +3 1197 972 1204 +3 1204 972 975 +3 974 979 807 +3 930 822 1039 +3 930 1039 1037 +3 1123 929 1035 +3 978 983 1204 +3 975 978 1204 +3 822 933 1039 +3 831 807 979 +3 1124 1125 1040 +3 1039 933 1042 +3 933 934 1042 +3 1043 1040 1125 +3 1126 1043 1125 +3 979 992 831 +3 979 984 992 +3 936 1044 934 +3 935 1043 1126 +3 1127 935 1126 +3 1046 936 826 +3 1046 1044 936 +3 1205 938 1127 +3 1205 1045 938 +3 1046 826 1045 +3 940 736 1047 +3 1048 1047 827 +3 736 827 1047 +3 1048 827 737 +3 737 941 1048 +3 649 828 1128 +3 1128 739 829 +3 945 653 1051 +3 653 946 1051 +3 1213 983 1001 +3 825 1001 983 +3 946 835 1133 +3 1051 946 1133 +3 1055 1133 835 +3 1214 1298 948 +3 948 947 1214 +3 1057 949 948 +3 1298 1057 948 +3 1065 1138 1055 +3 745 840 1058 +3 960 949 1057 +3 960 1057 1135 +3 1229 1007 992 +3 953 839 1059 +3 1213 1001 1228 +3 839 950 1059 +3 1059 950 1136 +3 745 1136 950 +3 840 951 1058 +3 663 1060 954 +3 1063 1062 849 +3 849 850 1063 +3 1134 1063 850 +3 1134 850 753 +3 1228 1001 1005 +3 1001 825 1005 +3 1064 1134 753 +3 753 958 1064 +3 958 959 1064 +3 1135 1064 959 +3 1135 959 960 +3 956 848 1062 +3 849 1062 848 +3 953 966 963 +3 1013 1007 1019 +3 1228 1005 1237 +3 1066 964 968 +3 1005 857 1237 +3 968 858 969 +3 969 1139 1066 +3 1066 968 969 +3 854 966 1231 +3 1067 757 854 +3 854 1231 1067 +3 860 1068 969 +3 970 757 1067 +3 860 971 1068 +3 970 1144 973 +3 1244 1013 1019 +3 976 1069 971 +3 1070 973 1144 +3 1070 1145 861 +3 1071 861 1145 +3 976 865 987 +3 1149 1150 977 +3 1150 980 977 +3 1240 1320 981 +3 1483 1244 1019 +3 982 981 1320 +3 1320 1148 982 +3 1148 985 982 +3 1150 1151 980 +3 986 980 1151 +3 1151 1073 986 +3 1073 1074 871 +3 988 872 1075 +3 1157 871 1074 +3 1237 1247 1482 +3 990 1075 872 +3 990 1078 1075 +3 1077 1076 1079 +3 1081 1083 1077 +3 1157 1161 771 +3 995 1081 1077 +3 1081 1085 1083 +3 1161 1087 997 +3 1161 997 771 +3 1084 991 1079 +3 1086 1085 1088 +3 1002 1087 1088 +3 1002 997 1087 +3 991 1084 1164 +3 1000 1088 1085 +3 1000 1002 1088 +3 1033 1253 1038 +3 1089 991 1164 +3 1003 991 1089 +3 1033 1244 1253 +3 1166 1091 1089 +3 1091 1003 1089 +3 1090 1004 1009 +3 1710 1247 1041 +3 1003 1091 1008 +3 1010 1008 1166 +3 1008 1091 1166 +3 1092 1010 1166 +3 1253 1258 1038 +3 1092 1093 1011 +3 1011 1093 1095 +3 1095 1012 1011 +3 1098 1097 896 +3 1503 1710 1041 +3 1041 1061 1503 +3 1012 1095 1100 +3 1100 1014 1012 +3 898 1101 1098 +3 898 791 1101 +3 1014 1100 1102 +3 1056 1038 1258 +3 1102 1015 1014 +3 1103 1101 791 +3 1016 1015 1102 +3 791 795 1103 +3 1174 1016 1102 +3 1105 1103 795 +3 1061 1505 1503 +3 1017 1016 1174 +3 795 1106 1105 +3 1174 1104 1017 +3 901 1107 900 +3 1107 1106 900 +3 1104 1018 1017 +3 1104 1175 1018 +3 1020 1107 901 +3 1175 1176 1021 +3 1021 1018 1175 +3 902 1108 1020 +3 1178 1021 1176 +3 1108 902 802 +3 1109 1108 802 +3 1178 1179 1022 +3 802 1024 1109 +3 1111 1109 1024 +3 1179 1023 1022 +3 1111 1024 905 +3 905 1112 1111 +3 1519 1056 1258 +3 1179 1025 1023 +3 1025 1179 1180 +3 905 906 1112 +3 1026 1025 1180 +3 906 1113 1112 +3 1505 1061 1278 +3 1061 1053 1278 +3 1279 1278 1053 +3 906 908 1113 +3 1113 908 1115 +3 1054 1279 1053 +3 908 910 1115 +3 910 912 1115 +3 1184 1115 912 +3 1027 1116 911 +3 1028 911 1116 +3 917 1117 912 +3 1119 1031 1030 +3 1028 1119 1030 +3 1034 1192 1277 +3 925 1034 1277 +3 1031 1275 1189 +3 1189 1120 1031 +3 1192 817 928 +3 1034 817 1192 +3 928 1036 1194 +3 928 1194 1195 +3 928 1195 1192 +3 1191 1035 1120 +3 1037 1122 1198 +3 1036 1037 1198 +3 1039 1122 1037 +3 1035 1191 1199 +3 1199 1123 1035 +3 1199 1124 1123 +3 1080 1314 1082 +3 1201 1125 1124 +3 1125 1201 1126 +3 1201 1287 1126 +3 1042 934 1044 +3 1126 1287 1127 +3 1287 1203 1127 +3 1205 1127 1203 +3 1387 1045 1205 +3 1387 1046 1045 +3 943 739 1128 +3 1082 1096 1080 +3 1211 834 1130 +3 944 945 1132 +3 1082 1099 1096 +3 1051 1132 945 +3 834 1211 1050 +3 1510 1050 1508 +3 1052 1050 1510 +3 1133 1055 1230 +3 1298 1215 1057 +3 1138 1230 1055 +3 1215 1135 1057 +3 745 1218 1136 +3 1219 1218 1058 +3 1218 745 1058 +3 951 1219 1058 +3 843 954 951 +3 1099 1118 1096 +3 1060 955 1137 +3 1137 955 956 +3 1134 1064 1135 +3 1059 1226 953 +3 1227 1226 1059 +3 1080 1121 1336 +3 1227 1059 1136 +3 1138 1065 1066 +3 1066 1139 1138 +3 1231 966 953 +3 1231 1140 1067 +3 1080 1096 1129 +3 1131 1129 1096 +3 1118 1131 1096 +3 1139 969 1068 +3 1068 971 1142 +3 1144 970 1067 +3 1067 1140 1144 +3 1118 1099 1110 +3 971 1069 1142 +3 1069 976 1146 +3 1145 1070 1144 +3 987 1146 976 +3 1148 1323 985 +3 1072 985 1323 +3 1149 1072 1323 +3 1154 1245 987 +3 987 988 1154 +3 1243 1074 1073 +3 1151 1243 1073 +3 988 1075 1154 +3 1075 1158 1154 +3 1076 1156 1159 +3 1160 1156 1077 +3 1156 1076 1077 +3 1077 1083 1160 +3 1078 1158 1075 +3 1347 1118 1110 +3 1079 1076 1159 +3 1110 1338 1347 +3 1160 1083 1086 +3 1079 1159 1084 +3 1162 1084 1159 +3 1080 1129 1121 +3 1085 1086 1083 +3 1088 1087 1163 +3 1161 1163 1087 +3 1084 1162 1164 +3 1089 1164 1165 +3 1090 990 1004 +3 1165 1335 1089 +3 1089 1335 1166 +3 1009 1254 1090 +3 1359 1131 1118 +3 1359 1118 1347 +3 1254 1009 1094 +3 1166 1167 1092 +3 1092 1167 1169 +3 1345 1121 1352 +3 1121 1129 1352 +3 1169 1093 1092 +3 1093 1169 1095 +3 896 1097 1094 +3 1097 1170 1094 +3 1171 1095 1169 +3 1095 1171 1172 +3 1095 1172 1100 +3 1098 1101 1260 +3 1173 1100 1172 +3 1173 1102 1100 +3 1102 1173 1257 +3 1257 1174 1102 +3 1261 1104 1174 +3 1105 1106 1107 +3 1177 1107 1020 +3 1364 1352 1129 +3 1020 1108 1177 +3 1179 1266 1180 +3 1364 1129 1366 +3 1129 1131 1366 +3 1180 1181 1026 +3 1114 1026 1269 +3 1366 1131 1359 +3 1182 1027 1114 +3 1182 1185 1027 +3 1185 1116 1027 +3 912 1117 1184 +3 1028 1116 1185 +3 917 1186 1117 +3 917 1029 1187 +3 1187 1186 917 +3 1028 1188 1119 +3 1029 1032 1274 +3 1032 1276 1274 +3 1359 1369 1366 +3 1275 1031 1119 +3 1032 925 1276 +3 1277 1276 925 +3 1275 1363 1189 +3 1191 1120 1189 +3 1363 1367 1189 +3 1367 1191 1189 +3 1193 1191 1367 +3 530 1143 1614 +3 1036 1198 1282 +3 1194 1036 1282 +3 1614 1147 530 +3 530 1147 926 +3 1191 1193 1284 +3 1284 1199 1191 +3 1039 1200 1122 +3 926 1392 1153 +3 1124 1199 1286 +3 1284 1286 1199 +3 1039 1042 1200 +3 1153 1152 926 +3 1042 1202 1200 +3 1286 1201 1124 +3 1044 1289 1202 +3 1153 931 1152 +3 1202 1042 1044 +3 1153 1622 931 +3 1622 1400 931 +3 1155 1864 1625 +3 1203 1287 1288 +3 1288 1205 1203 +3 1387 1205 1288 +3 1400 937 931 +3 942 937 1400 +3 1046 1387 1289 +3 1044 1046 1289 +3 940 1047 1290 +3 940 1293 828 +3 1048 941 1208 +3 1128 828 1291 +3 941 944 1208 +3 1049 943 1391 +3 1391 943 1209 +3 1209 943 1128 +3 1210 944 1212 +3 1049 1393 1130 +3 1211 1130 1393 +3 1132 1212 944 +3 1508 1050 1211 +3 1510 1594 1052 +3 1214 1052 1594 +3 1051 1133 1230 +3 1299 1063 1216 +3 1134 1216 1063 +3 1217 1216 1134 +3 1135 1217 1134 +3 1135 1215 1217 +3 951 1220 1219 +3 1220 951 954 +3 954 1060 1220 +3 1060 1221 1220 +3 1222 1221 1060 +3 1137 1222 1060 +3 1137 956 1223 +3 1062 1223 956 +3 1062 1063 1299 +3 1227 1136 1224 +3 1218 1304 1224 +3 1224 1136 1218 +3 1226 1225 953 +3 1139 1234 1138 +3 1230 1138 1234 +3 953 1225 1231 +3 1232 1231 1225 +3 1232 1140 1231 +3 1234 1139 1068 +3 1068 1235 1234 +3 1142 1235 1068 +3 1190 962 1183 +3 1140 1236 1144 +3 1069 1238 1142 +3 1146 1238 1069 +3 1239 1145 1236 +3 1144 1236 1145 +3 1317 1071 1239 +3 1145 1239 1071 +3 987 1245 1146 +3 1071 1317 1240 +3 1320 1240 1241 +3 1240 1317 1241 +3 974 962 1190 +3 1321 1148 1320 +3 1196 974 1190 +3 1321 1323 1148 +3 1149 1323 1324 +3 1149 1324 1150 +3 1326 1150 1324 +3 1150 1326 1412 +3 1412 1151 1150 +3 1425 1197 1433 +3 1245 1154 1158 +3 1074 1332 1157 +3 1156 1331 1159 +3 1248 1246 1160 +3 1197 1436 1433 +3 1332 1333 1157 +3 1159 1331 1162 +3 1086 1248 1160 +3 1249 1248 1086 +3 1161 1157 1333 +3 1207 1436 1204 +3 1197 1204 1436 +3 1163 1161 1333 +3 974 1206 979 +3 1086 1088 1249 +3 1163 1249 1088 +3 990 1090 1078 +3 1162 1250 1164 +3 1251 1164 1250 +3 983 1207 1204 +3 984 979 1206 +3 1251 1165 1164 +3 1252 1090 1254 +3 1335 1548 1166 +3 1548 1339 1166 +3 1339 1167 1166 +3 1170 1254 1094 +3 1339 1169 1167 +3 1169 1339 1255 +3 1255 1171 1169 +3 1171 1255 1256 +3 1256 1172 1171 +3 1213 1207 983 +3 1097 1098 1260 +3 1172 1256 1346 +3 992 984 1450 +3 1346 1173 1172 +3 1346 1348 1173 +3 1260 1101 1103 +3 1257 1173 1348 +3 1259 1260 1103 +3 1103 1105 1262 +3 1259 1103 1262 +3 1261 1174 1257 +3 1261 1351 1104 +3 1262 1105 1107 +3 1107 1177 1264 +3 1264 1262 1107 +3 1175 1104 1351 +3 1213 1228 1455 +3 1176 1175 1442 +3 1351 1442 1175 +3 1177 1108 1263 +3 1263 1264 1177 +3 1178 1176 1443 +3 1442 1443 1176 +3 1108 1109 1263 +3 1455 1228 1466 +3 1109 1265 1263 +3 1266 1179 1178 +3 1443 1266 1178 +3 1007 1229 1019 +3 1111 1265 1109 +3 1266 1353 1180 +3 1111 1112 1267 +3 1353 1355 1180 +3 1268 1267 1112 +3 1355 1181 1180 +3 1268 1112 1113 +3 1229 1233 1019 +3 1113 1270 1268 +3 1466 1228 1697 +3 1026 1181 1269 +3 1270 1113 1115 +3 1182 1114 1269 +3 1117 1357 1184 +3 1271 1028 1185 +3 1475 1697 1228 +3 1028 1271 1188 +3 1237 1475 1228 +3 1272 1188 1271 +3 1119 1188 1272 +3 1273 1119 1272 +3 1273 1275 1119 +3 1273 1362 1275 +3 1362 1363 1275 +3 1280 1192 1195 +3 1277 1192 1280 +3 1483 1019 1242 +3 1367 1464 1193 +3 1475 1237 1482 +3 1283 1194 1282 +3 1194 1283 1195 +3 1283 1280 1195 +3 1483 1242 1484 +3 1464 1469 1193 +3 1697 1475 1482 +3 1198 1122 1281 +3 1244 1483 1253 +3 1282 1198 1281 +3 1469 1284 1193 +3 1281 1122 1200 +3 1285 1281 1200 +3 1284 1469 1378 +3 1378 1286 1284 +3 1482 1247 1710 +3 1285 1200 1202 +3 1490 1253 1483 +3 1202 1384 1285 +3 1201 1286 1378 +3 1479 1382 1378 +3 1287 1201 1378 +3 1378 1382 1287 +3 1384 1202 1289 +3 1382 1288 1287 +3 1258 1253 1490 +3 1387 1386 1289 +3 1289 1386 1384 +3 1293 940 1290 +3 1293 1291 828 +3 1210 1208 944 +3 1209 1295 1391 +3 1049 1391 1507 +3 1393 1049 1507 +3 1395 1211 1393 +3 1508 1211 1395 +3 1258 1509 1519 +3 1490 1509 1258 +3 1212 1132 1296 +3 1296 1132 1051 +3 1051 1297 1296 +3 1594 1512 1214 +3 1298 1214 1512 +3 1298 1397 1215 +3 1216 1300 1299 +3 1397 1217 1215 +3 1051 1230 1309 +3 1301 1219 1220 +3 1220 1402 1301 +3 1402 1220 1302 +3 1302 1220 1221 +3 1302 1221 1222 +3 1303 1222 1137 +3 1223 1303 1137 +3 1062 1299 1223 +3 1305 1304 1218 +3 1219 1305 1218 +3 1301 1305 1219 +3 1304 1307 1224 +3 1309 1230 1234 +3 1225 1226 1311 +3 1227 1311 1226 +3 1312 1311 1227 +3 1224 1312 1227 +3 1519 1731 1056 +3 1307 1408 1224 +3 1234 1313 1309 +3 1225 1517 1232 +3 1235 1313 1234 +3 1140 1232 1529 +3 1517 1529 1232 +3 1315 1235 1142 +3 1529 1236 1140 +3 1238 1315 1142 +3 1410 1239 1529 +3 1529 1239 1236 +3 1316 1238 1146 +3 1318 1316 1146 +3 1239 1410 1317 +3 1410 1532 1317 +3 1245 1318 1146 +3 1279 1054 1731 +3 1317 1532 1241 +3 1532 1411 1241 +3 1054 1056 1731 +3 1320 1241 1411 +3 1321 1320 1411 +3 1325 1324 1323 +3 1323 1321 1325 +3 1326 1324 1325 +3 1245 1327 1318 +3 1151 1412 1328 +3 1278 1279 1520 +3 1328 1243 1151 +3 1330 1156 1160 +3 1160 1246 1330 +3 1158 1078 1334 +3 1520 1279 1741 +3 1731 1741 1279 +3 1419 1162 1331 +3 1334 1078 1090 +3 1090 1252 1334 +3 1162 1419 1250 +3 1419 1426 1250 +3 1426 1251 1250 +3 1306 1292 1308 +3 1251 1544 1165 +3 1254 1337 1252 +3 1546 1294 1314 +3 1544 1335 1165 +3 1314 1294 1306 +3 1337 1254 1170 +3 1339 1340 1341 +3 1341 1255 1339 +3 1255 1341 1342 +3 1343 1170 1097 +3 1308 1082 1306 +3 1342 1256 1255 +3 1097 1260 1343 +3 1346 1256 1342 +3 1257 1348 1439 +3 1350 1260 1259 +3 1439 1440 1261 +3 1257 1439 1261 +3 1546 1314 1319 +3 1351 1261 1440 +3 1443 1353 1266 +3 1265 1111 1354 +3 1111 1267 1354 +3 1355 1448 1181 +3 1449 1268 1270 +3 1181 1448 1269 +3 1082 1314 1306 +3 1270 1115 1356 +3 1115 1184 1356 +3 1357 1356 1184 +3 1099 1082 1308 +3 1099 1308 1322 +3 1308 1310 1322 +3 1567 1185 1182 +3 1185 1567 1271 +3 1186 1187 1358 +3 1360 1272 1454 +3 1271 1454 1272 +3 1358 1187 1029 +3 1029 1361 1358 +3 1314 1080 1319 +3 1360 1273 1272 +3 1029 1274 1361 +3 1360 1458 1273 +3 1276 1365 1274 +3 1274 1365 1361 +3 1458 1362 1273 +3 1458 1462 1362 +3 1363 1362 1462 +3 1276 1277 1368 +3 1365 1276 1368 +3 1462 1464 1363 +3 1464 1367 1363 +3 1336 1555 1319 +3 1080 1336 1319 +3 1368 1277 1280 +3 1370 1280 1283 +3 1373 1368 1370 +3 1280 1370 1368 +3 1110 1099 1322 +3 1322 1329 1110 +3 1281 1476 1371 +3 1281 1371 1282 +3 1372 1282 1371 +3 1283 1282 1372 +3 1372 1374 1283 +3 1375 1370 1374 +3 1283 1374 1370 +3 1373 1370 1375 +3 1285 1489 1476 +3 1281 1285 1476 +3 1374 1377 1375 +3 1338 1110 1329 +3 1373 1375 1493 +3 1374 1372 1376 +3 1555 1336 1345 +3 1377 1374 1376 +3 1377 1380 1375 +3 1380 1381 1375 +3 1375 1381 1493 +3 1479 1378 1469 +3 1489 1285 1384 +3 1377 1376 1379 +3 1380 1377 1379 +3 1384 1495 1489 +3 1380 1379 1497 +3 1381 1380 1497 +3 1336 1121 1345 +3 1497 1385 1381 +3 1381 1385 1498 +3 1338 1349 1347 +3 1479 1487 1382 +3 1494 1382 1487 +3 1338 1344 1349 +3 1494 1288 1382 +3 1386 1494 1495 +3 1386 1495 1384 +3 1387 1288 1494 +3 1494 1386 1387 +3 1349 1582 1347 +3 1388 1293 1290 +3 1290 1047 1389 +3 1390 1389 1047 +3 1047 1048 1390 +3 1349 1344 1586 +3 1048 1208 1390 +3 1807 1576 1345 +3 1128 1291 1209 +3 1352 1807 1345 +3 1394 1590 1210 +3 1359 1347 1582 +3 1394 1210 1212 +3 1212 1396 1394 +3 1296 1396 1212 +3 1586 1582 1349 +3 1512 1596 1298 +3 1297 1051 1398 +3 1298 1596 1397 +3 1299 1300 1399 +3 1401 1300 1216 +3 1216 1217 1401 +3 1401 1217 1397 +3 1398 1051 1309 +3 1405 1398 1309 +3 1303 1223 1399 +3 1299 1399 1223 +3 1301 1402 1515 +3 1402 1302 1403 +3 1807 1352 1593 +3 1403 1302 1222 +3 1352 1364 1593 +3 1606 1307 1304 +3 1304 1305 1606 +3 1606 1305 1516 +3 1359 1597 1369 +3 1301 1516 1305 +3 1405 1309 1313 +3 1225 1406 1517 +3 1597 1359 1582 +3 1311 1406 1225 +3 1408 1312 1224 +3 1409 1312 1408 +3 1595 1593 1364 +3 1405 1313 1235 +3 1315 1405 1235 +3 1238 1316 1315 +3 1603 1595 1364 +3 1366 1383 1603 +3 1364 1366 1603 +3 1531 1410 1529 +3 1531 1532 1410 +3 1533 1411 1532 +3 1369 1383 1366 +3 1321 1411 1533 +3 1321 1533 1534 +3 1321 1534 1325 +3 1535 1325 1534 +3 1325 1535 1536 +3 1536 1694 1326 +3 1326 1325 1536 +3 1412 1326 1694 +3 1412 1694 1413 +3 1412 1538 1328 +3 1538 1696 1328 +3 1414 1245 1158 +3 1158 1418 1414 +3 1074 1243 1541 +3 1243 1328 1541 +3 1416 1415 1331 +3 1331 1156 1416 +3 1156 1330 1416 +3 1369 1612 1383 +3 1246 1417 1330 +3 1332 1074 1541 +3 1369 1597 1612 +3 1331 1415 1419 +3 1420 1417 1246 +3 1246 1248 1420 +3 1541 1630 1332 +3 1333 1332 1630 +3 1603 1383 1829 +3 1418 1158 1334 +3 1612 1829 1383 +3 1427 1418 1334 +3 1248 1249 1420 +3 1421 1420 1249 +3 1249 1163 1421 +3 1421 1163 1424 +3 1163 1333 1424 +3 1630 1424 1333 +3 1141 923 1616 +3 1616 2069 919 +3 919 1141 1616 +3 1614 1143 919 +3 2069 1614 919 +3 1427 1334 1252 +3 1427 1252 1547 +3 1337 1547 1252 +3 1392 926 1147 +3 1548 1335 1544 +3 1339 1548 1428 +3 1428 1340 1339 +3 1429 1337 1170 +3 1340 1428 1341 +3 1341 1428 1430 +3 1170 1343 1429 +3 1430 1342 1341 +3 1342 1430 1431 +3 1342 1431 1432 +3 1432 1346 1342 +3 1343 1260 1437 +3 1346 1432 1435 +3 1350 1437 1260 +3 1348 1346 1435 +3 1439 1348 1435 +3 1350 1259 1441 +3 1441 1259 1262 +3 1440 1558 1351 +3 1262 1264 1445 +3 1441 1262 1445 +3 1351 1558 1644 +3 1442 1351 1644 +3 1445 1264 1263 +3 1263 1265 1445 +3 1354 1267 1446 +3 1267 1268 1446 +3 942 1400 1404 +3 939 942 1404 +3 1355 1353 1447 +3 1446 1268 1449 +3 1407 939 1404 +3 1447 1448 1355 +3 1561 1269 1448 +3 1640 939 1407 +3 1270 1452 1449 +3 1563 1182 1269 +3 1561 1563 1269 +3 1270 1356 1452 +3 1452 1356 1453 +3 1357 1453 1356 +3 1182 1563 1567 +3 1357 1456 1453 +3 1456 1357 1117 +3 1454 1271 1567 +3 939 1640 1183 +3 1117 1186 1456 +3 1454 1457 1360 +3 1570 1358 1361 +3 1461 1361 1365 +3 1458 1459 1462 +3 1462 1459 1572 +3 1365 1368 1463 +3 1461 1365 1463 +3 1464 1462 1465 +3 1572 1465 1462 +3 1373 1467 1463 +3 1190 1183 1640 +3 1368 1373 1463 +3 1640 1422 1190 +3 1465 1468 1464 +3 1465 1572 1573 +3 1871 1423 2097 +3 1464 1468 1469 +3 1465 1470 1468 +3 1196 1190 1422 +3 1423 1425 2097 +3 1425 1882 2097 +3 1470 1465 1471 +3 1573 1471 1465 +3 1472 1471 1573 +3 1473 1472 1573 +3 1473 1575 1474 +3 1476 1474 1736 +3 1474 1575 1736 +3 1371 1476 1477 +3 1736 1477 1476 +3 1433 1882 1425 +3 1371 1477 1372 +3 1373 1478 1467 +3 1479 1469 1468 +3 1468 1470 1479 +3 1470 1471 1480 +3 1472 1480 1471 +3 974 1196 1434 +3 1481 1472 1473 +3 1489 1481 1473 +3 1474 1489 1473 +3 1433 1436 1660 +3 1206 974 1434 +3 1434 1666 1206 +3 1489 1474 1476 +3 1207 1438 1660 +3 1660 1436 1207 +3 1444 1206 1666 +3 1486 1372 1477 +3 1493 1478 1373 +3 1487 1479 1470 +3 1480 1487 1470 +3 1444 984 1206 +3 1480 1472 1481 +3 1372 1486 1376 +3 1480 1488 1487 +3 1491 1379 1376 +3 1450 984 1444 +3 1376 1486 1491 +3 1488 1480 1495 +3 1480 1481 1495 +3 1438 1207 1213 +3 1481 1489 1495 +3 1498 1493 1381 +3 1444 1451 1450 +3 1498 1499 1493 +3 1488 1494 1487 +3 1488 1495 1494 +3 1379 1491 1496 +3 1497 1379 1496 +3 1497 1496 1500 +3 1385 1497 1500 +3 1501 1385 1500 +3 1501 1498 1385 +3 1229 992 1450 +3 1502 1388 1290 +3 1460 1229 1450 +3 1451 1460 1450 +3 1455 1678 1438 +3 1438 1213 1455 +3 1290 1389 1502 +3 1506 1390 1208 +3 1391 1295 1674 +3 1295 1209 1504 +3 1291 1504 1209 +3 1208 1210 1506 +3 1674 1507 1391 +3 1393 1507 1588 +3 1587 1588 1507 +3 1588 1589 1395 +3 1395 1393 1588 +3 1296 1297 1511 +3 1602 1511 1297 +3 1398 1602 1297 +3 1397 1596 1598 +3 1460 1233 1229 +3 1300 1514 1399 +3 1514 1300 1401 +3 1397 1598 1401 +3 1222 1303 1600 +3 1399 1513 1303 +3 1515 1402 1403 +3 1604 1516 1301 +3 1515 1604 1301 +3 1408 1307 1607 +3 1606 1607 1307 +3 1517 1406 1518 +3 1311 1518 1406 +3 1455 1466 1697 +3 1518 1311 1521 +3 1242 1019 1233 +3 1697 1916 1455 +3 1311 1312 1521 +3 1312 1409 1521 +3 1522 1409 1408 +3 1522 1408 1607 +3 1607 1608 1522 +3 1523 1517 1518 +3 1518 1524 1523 +3 1524 1518 1521 +3 1526 1521 1409 +3 1522 1527 1526 +3 1526 1409 1522 +3 1608 1527 1522 +3 1529 1517 1523 +3 1316 1528 1315 +3 1523 1530 1529 +3 1242 1701 1484 +3 1611 1530 1523 +3 1529 1530 1531 +3 1531 1530 1611 +3 1531 1611 1621 +3 1532 1531 1621 +3 1621 1533 1532 +3 1533 1621 1623 +3 1623 1624 1533 +3 1537 1316 1318 +3 1624 1534 1533 +3 1626 1535 1534 +3 1697 1482 1485 +3 1534 1624 1626 +3 1482 1710 1485 +3 1490 1483 1492 +3 1483 1484 1492 +3 1536 1535 1626 +3 1697 1485 1933 +3 1710 1933 1485 +3 1318 1327 1537 +3 1627 1695 1413 +3 1492 1715 1490 +3 1694 1627 1413 +3 1412 1413 1538 +3 1695 1538 1413 +3 1327 1245 1414 +3 1330 1540 1539 +3 1490 1715 1509 +3 1328 1696 1541 +3 1330 1539 1416 +3 1540 1330 1417 +3 1424 1542 1421 +3 1630 1542 1424 +3 1419 1704 1426 +3 1420 1421 1543 +3 1542 1543 1421 +3 1427 1547 1545 +3 1548 1544 1785 +3 1550 1547 1337 +3 1785 1633 1548 +3 1633 1428 1548 +3 1710 1503 1941 +3 1429 1550 1337 +3 1428 1633 1714 +3 1714 1549 1428 +3 1549 1430 1428 +3 1430 1549 1552 +3 1429 1343 1554 +3 1431 1430 1552 +3 1431 1552 1556 +3 1556 1432 1431 +3 1437 1557 1343 +3 1637 1435 1556 +3 1505 1727 1503 +3 1941 1503 1727 +3 1432 1556 1435 +3 1638 1439 1637 +3 1727 1505 1278 +3 1439 1435 1637 +3 1638 1440 1439 +3 1441 1642 1350 +3 1440 1638 1643 +3 1643 1558 1440 +3 1643 1644 1558 +3 1519 1509 1734 +3 1645 1442 1644 +3 1443 1442 1647 +3 1645 1647 1442 +3 1445 1265 1559 +3 1959 1727 1278 +3 1353 1443 1647 +3 1649 1353 1647 +3 1520 1959 1278 +3 1354 1559 1265 +3 1354 1446 1560 +3 1353 1649 1447 +3 1449 1562 1446 +3 1561 1448 1447 +3 1562 1449 1452 +3 1453 1566 1452 +3 1655 1454 1567 +3 1655 1457 1454 +3 1568 1456 1186 +3 1186 1358 1568 +3 1570 1568 1358 +3 1458 1360 1659 +3 1960 1959 1520 +3 1570 1361 1461 +3 1811 1459 1458 +3 1960 1520 1741 +3 1459 1663 1572 +3 1663 1896 1572 +3 1571 1461 1463 +3 1463 1467 1571 +3 1294 1546 1764 +3 1664 1571 1467 +3 1294 1764 1525 +3 1306 1294 1756 +3 1525 1756 1294 +3 1756 1292 1306 +3 1572 1896 1573 +3 1574 1573 1896 +3 1574 1473 1573 +3 1473 1574 1575 +3 1292 1756 1766 +3 1766 1310 1292 +3 1665 1577 1477 +3 1736 1665 1477 +3 1467 1478 1579 +3 1577 1486 1477 +3 1577 1578 1486 +3 1493 1579 1478 +3 1486 1578 1491 +3 1493 1499 1579 +3 1578 1670 1491 +3 1491 1670 1496 +3 1499 1498 1580 +3 1670 1671 1496 +3 1500 1496 1581 +3 1671 1581 1496 +3 1310 1308 1292 +3 1583 1501 1500 +3 1500 1581 1583 +3 1389 1390 1584 +3 1506 1584 1390 +3 1674 1295 1504 +3 1585 1506 1210 +3 1674 1675 1507 +3 1210 1590 1585 +3 1587 1507 1675 +3 1395 1589 1591 +3 1590 1394 1592 +3 1396 1592 1394 +3 1310 1774 1553 +3 1508 1395 1591 +3 1510 1508 1677 +3 1508 1591 1677 +3 1551 1546 1319 +3 1594 1510 1677 +3 1396 1296 1511 +3 1682 1396 1511 +3 1322 1310 1553 +3 1594 1755 1512 +3 1682 1511 1602 +3 1596 1512 1755 +3 1551 1555 2000 +3 1513 1399 1514 +3 1303 1513 1600 +3 1555 1551 1319 +3 1329 1322 1553 +3 1564 1329 1553 +3 1403 1222 1601 +3 1601 1222 1600 +3 1515 1605 1604 +3 1605 1515 1403 +3 1602 1398 1405 +3 1405 1610 1602 +3 1606 1516 1604 +3 1604 1684 1606 +3 1606 1763 1607 +3 1610 1405 1315 +3 1607 1609 1608 +3 1555 1569 2000 +3 1609 1607 1763 +3 1524 1521 1526 +3 1609 1688 1608 +3 1338 1329 1564 +3 1315 1528 1610 +3 1608 1688 1689 +3 1528 1316 1620 +3 1524 1611 1523 +3 1524 1613 1611 +3 1555 1345 1569 +3 1564 1344 1338 +3 1613 1524 1526 +3 1564 1565 1344 +3 1613 1526 1615 +3 1526 1527 1615 +3 1527 1608 1615 +3 1615 1608 1689 +3 1611 1613 1617 +3 1617 1613 1615 +3 1619 1617 1615 +3 1619 1615 1691 +3 1691 1615 1689 +3 1576 1569 1345 +3 1621 1611 1617 +3 1344 1803 1586 +3 1617 1623 1621 +3 1623 1617 1619 +3 1620 1316 1537 +3 1624 1623 1619 +3 1619 1626 1624 +3 1619 1691 1626 +3 1536 1626 1691 +3 1691 1692 1536 +3 1694 1536 1692 +3 1694 1771 1627 +3 1537 1327 1628 +3 1696 1538 1695 +3 1414 1628 1327 +3 1628 1414 1418 +3 1803 1809 1586 +3 1418 1632 1628 +3 1629 1540 1417 +3 1415 1416 1702 +3 1417 1420 1629 +3 1582 1586 1597 +3 1419 1415 1702 +3 1704 1419 1702 +3 1420 1631 1629 +3 1632 1418 1427 +3 1631 1420 1543 +3 1704 1780 1426 +3 1427 1545 1632 +3 1597 1586 1599 +3 1426 1780 1709 +3 1709 1251 1426 +3 1586 1809 1599 +3 1544 1251 1711 +3 1709 1711 1251 +3 1807 1593 1810 +3 1711 1783 1544 +3 1545 1547 1550 +3 1597 1599 1831 +3 1544 1783 1785 +3 1716 1549 1714 +3 1554 1634 1429 +3 1790 1552 1716 +3 1593 2032 1810 +3 1549 1716 1552 +3 2032 1593 1595 +3 1343 1557 1554 +3 1556 1552 1790 +3 1636 1556 1790 +3 1556 1636 1637 +3 1831 1612 1597 +3 1718 1637 1636 +3 1637 1718 1719 +3 1437 1350 1641 +3 1719 1638 1637 +3 1350 1639 1641 +3 1350 1642 1639 +3 1642 1721 1639 +3 2032 1595 2038 +3 1638 1719 1795 +3 1795 1643 1638 +3 2038 1595 1603 +3 1642 1441 1646 +3 1445 1646 1441 +3 1644 1643 1880 +3 1880 1645 1644 +3 1445 1559 1646 +3 1648 1646 1559 +3 1648 1559 1354 +3 1651 1648 1354 +3 1560 1651 1354 +3 1649 1652 1447 +3 1560 1446 1562 +3 1653 1561 1447 +3 1452 1566 1562 +3 1566 1453 1654 +3 1725 1567 1563 +3 1654 1453 1456 +3 1456 1658 1654 +3 1655 1567 1725 +3 1568 1658 1456 +3 1655 1726 1457 +3 1659 1360 1457 +3 1726 1659 1457 +3 1659 1811 1458 +3 1570 1461 1661 +3 1461 1662 1661 +3 1461 1571 1662 +3 1571 1664 1662 +3 1614 2071 1147 +3 2071 1618 1147 +3 1618 1392 1147 +3 1897 1574 1896 +3 1574 1897 1735 +3 923 2276 1616 +3 1664 1467 1669 +3 1669 1668 1664 +3 1735 1575 1574 +3 1736 1575 1735 +3 1622 1153 1392 +3 1392 1618 1622 +3 1737 1577 1665 +3 1669 1467 1579 +3 1577 1739 1578 +3 1669 1579 1499 +3 1499 1580 1669 +3 1669 1580 1742 +3 1670 1578 1739 +3 1400 1622 1851 +3 1404 1400 1851 +3 1672 1580 1498 +3 1407 1404 1851 +3 1625 2137 923 +3 2137 2276 923 +3 1498 1501 1672 +3 1673 1672 1501 +3 1747 1581 1671 +3 1747 1583 1581 +3 1501 1583 1673 +3 1584 1502 1389 +3 1504 1291 1388 +3 1291 1293 1388 +3 1504 1820 1674 +3 1676 1585 1590 +3 1753 1591 1589 +3 1825 1594 1677 +3 1825 1755 1594 +3 1755 1757 1596 +3 1598 1596 1757 +3 1757 1759 1598 +3 1514 1679 1513 +3 1680 1679 1514 +3 1407 1635 1640 +3 1514 1401 1680 +3 1401 1598 1759 +3 1640 1635 1866 +3 1759 1680 1401 +3 1513 1681 1600 +3 1601 1600 1681 +3 1682 1602 1610 +3 1683 1605 1403 +3 1422 1640 1866 +3 1601 1683 1403 +3 1604 1685 1684 +3 1605 1685 1604 +3 1763 1606 1684 +3 1687 1686 1610 +3 1763 1768 1609 +3 1688 1609 1768 +3 1768 1837 1688 +3 1687 1610 1528 +3 1690 1687 1528 +3 1769 1689 1688 +3 1769 1688 1837 +3 1690 1528 1620 +3 1620 1693 1690 +3 1691 1689 1692 +3 1769 1692 1689 +3 1769 1770 1692 +3 1770 1694 1692 +3 1422 1650 1196 +3 1771 1694 1770 +3 1693 1620 1537 +3 1848 1627 1771 +3 1848 1695 1627 +3 1650 1656 1196 +3 1777 1537 1628 +3 1632 1700 1628 +3 1779 1416 1539 +3 1434 1196 1656 +3 1699 1779 1539 +3 1540 1699 1539 +3 1882 1433 1657 +3 1629 1699 1540 +3 1696 1698 1541 +3 1779 1702 1416 +3 1656 1890 1434 +3 1632 1705 1700 +3 1660 1657 1433 +3 1666 1434 1890 +3 1706 1703 1629 +3 1889 1657 1660 +3 1631 1706 1629 +3 1630 1541 1857 +3 1698 1857 1541 +3 1631 1543 1706 +3 1543 1542 1707 +3 1438 1889 1660 +3 1542 1630 1857 +3 1857 1707 1542 +3 1705 1632 1712 +3 1543 1708 1706 +3 1438 1667 1889 +3 1708 1543 1707 +3 1666 1451 1444 +3 1545 1712 1632 +3 1712 1545 1550 +3 1550 1713 1712 +3 1786 1633 1785 +3 1714 1633 1786 +3 1787 1714 1786 +3 1550 1429 1634 +3 1714 1787 1716 +3 1716 1787 1789 +3 1790 1716 1789 +3 1634 1554 1717 +3 1557 1717 1554 +3 1790 1791 1636 +3 1636 1791 1792 +3 1636 1792 1718 +3 1718 1792 1877 +3 1557 1437 1641 +3 1877 1719 1718 +3 2121 1667 1678 +3 1667 1438 1678 +3 1877 1720 1719 +3 1720 1795 1719 +3 1641 1639 1721 +3 1643 1795 1878 +3 1646 1722 1642 +3 1722 1721 1642 +3 1643 1878 1880 +3 1880 1972 1645 +3 1799 1647 1645 +3 1972 1799 1645 +3 1799 1801 1647 +3 1801 1649 1647 +3 1233 1460 1913 +3 1649 1801 1652 +3 1562 1724 1560 +3 1652 1723 1447 +3 1723 1653 1447 +3 1566 1724 1562 +3 1725 1563 1561 +3 1653 1725 1561 +3 1725 1805 1655 +3 1568 1728 1658 +3 1233 1913 1242 +3 1568 1570 1728 +3 1726 1808 1659 +3 1916 2135 1678 +3 1678 1455 1916 +3 1701 1242 1913 +3 1811 1659 1808 +3 1728 1570 1661 +3 1729 1728 1661 +3 1661 1662 1729 +3 1729 1662 1730 +3 1811 1892 1459 +3 1664 1730 1662 +3 1892 2088 1663 +3 1663 1459 1892 +3 1664 1732 1730 +3 2088 1896 1663 +3 1664 1668 1732 +3 1668 1738 1732 +3 1665 1736 1992 +3 1992 1814 1665 +3 1814 1737 1665 +3 1577 1737 1815 +3 1738 1668 1669 +3 1815 1739 1577 +3 1484 1701 1927 +3 1738 1669 1742 +3 1739 1815 1740 +3 1740 1670 1739 +3 1670 1740 1743 +3 1492 1484 1927 +3 1742 1580 1672 +3 1928 2143 1697 +3 1933 1928 1697 +3 1746 1742 1672 +3 1744 1671 1743 +3 1671 1670 1743 +3 1672 1673 1746 +3 1933 2333 1928 +3 1747 1671 1744 +3 1583 1818 1673 +3 1583 1747 1818 +3 1748 1820 1388 +3 1388 1502 1748 +3 1820 1504 1388 +3 1749 1584 1506 +3 1820 1822 1674 +3 1940 1715 1492 +3 1750 1749 1506 +3 1506 1585 1750 +3 1674 1822 1675 +3 1822 1911 1675 +3 1715 1940 1734 +3 1509 1715 1734 +3 1676 1750 1585 +3 1587 1675 1911 +3 1676 1590 1752 +3 1933 1710 1938 +3 1588 1587 1751 +3 1941 1938 1710 +3 1751 1753 1588 +3 1753 1589 1588 +3 1752 1590 1592 +3 1592 1754 1752 +3 1940 2165 1734 +3 1592 1758 1754 +3 1677 1591 1918 +3 1591 1753 1918 +3 1918 1825 1677 +3 1731 1519 1733 +3 1592 1396 1758 +3 1519 1734 1733 +3 1758 1396 1682 +3 1679 1760 1513 +3 1513 1760 1681 +3 1941 1745 1957 +3 1681 1828 1601 +3 1941 1727 1745 +3 1610 1686 1682 +3 1959 1745 1727 +3 1761 1683 1601 +3 1605 1762 1685 +3 1761 1762 1683 +3 1762 1605 1683 +3 1765 1763 1684 +3 1685 1765 1684 +3 1741 1731 1955 +3 1833 1765 1685 +3 1762 1833 1685 +3 1955 1731 1733 +3 2175 1955 1733 +3 2165 2175 1733 +3 1734 2165 1733 +3 1768 1763 1765 +3 1837 1768 1765 +3 1837 1839 1769 +3 1839 1770 1769 +3 1839 1840 1770 +3 1771 1770 1840 +3 1848 1771 1840 +3 1537 1772 1693 +3 1775 1695 1848 +3 1848 1849 1775 +3 1628 1778 1777 +3 1695 1775 1931 +3 1696 1695 1852 +3 1960 1741 1952 +3 1931 1852 1695 +3 1700 1778 1628 +3 1741 1955 1952 +3 1955 2175 1952 +3 1852 1698 1696 +3 1699 1629 1703 +3 1854 1704 1702 +3 1779 1854 1702 +3 1780 1704 1854 +3 1964 1745 1959 +3 1781 1708 1707 +3 1857 1860 1707 +3 1860 1781 1707 +3 1782 1705 1712 +3 1780 1858 1709 +3 1861 1709 1858 +3 1709 1861 1711 +3 1525 1764 1977 +3 1756 1525 1977 +3 1783 1711 1861 +3 1783 1865 1785 +3 1865 1786 1785 +3 1713 1550 1788 +3 1786 1865 1868 +3 1980 1766 1756 +3 1773 1982 1764 +3 1868 1787 1786 +3 1634 1788 1550 +3 1787 1868 1789 +3 1869 1789 1868 +3 1789 1869 1790 +3 1870 1790 1869 +3 1870 1791 1790 +3 1870 1874 1791 +3 1791 1874 1875 +3 1875 1792 1791 +3 1793 1717 1557 +3 1792 1875 1876 +3 1877 1792 1876 +3 1641 1793 1557 +3 1795 1720 1968 +3 1968 1878 1795 +3 1796 1641 1721 +3 1646 1798 1722 +3 1646 1797 1798 +3 1797 1646 1648 +3 1800 1797 1648 +3 1546 1773 1764 +3 1648 1651 1800 +3 1802 1800 1651 +3 1310 1766 1774 +3 1802 1651 1560 +3 1724 1804 1560 +3 1774 1766 1767 +3 1653 1884 1725 +3 1888 1726 1655 +3 1806 1658 1728 +3 1812 1806 1728 +3 1729 1812 1728 +3 1729 1730 1732 +3 1732 1813 1729 +3 1897 1896 2089 +3 1989 1990 1735 +3 1897 1989 1735 +3 1776 1773 1551 +3 1813 1732 1738 +3 1773 1546 1551 +3 1738 1816 1813 +3 1774 1997 1553 +3 1735 1990 1736 +3 1992 1736 1990 +3 1994 1737 1814 +3 1737 1994 1815 +3 1997 1784 1553 +3 1994 1899 1815 +3 1816 1738 1742 +3 1742 1817 1816 +3 1900 1740 1815 +3 2000 1776 1551 +3 1564 1553 1784 +3 1815 1899 1900 +3 1742 1746 1817 +3 2001 1743 1900 +3 1900 1743 1740 +3 2001 1744 1743 +3 1565 1564 1784 +3 1744 2001 2002 +3 1673 1819 1746 +3 1747 1744 2002 +3 2002 2003 1747 +3 1819 1673 1818 +3 2003 1818 1747 +3 2000 1569 2005 +3 1502 1821 1748 +3 1502 1584 1821 +3 1794 1344 1565 +3 1584 1749 1821 +3 1794 1565 2004 +3 1751 1587 1911 +3 1676 1752 1823 +3 1823 1752 1824 +3 1754 1824 1752 +3 2017 1755 1825 +3 2017 1757 1755 +3 2017 2019 1757 +3 2005 1569 1576 +3 1803 1344 1794 +3 1759 1757 2019 +3 1679 1826 1760 +3 1679 1680 1826 +3 2005 1576 2011 +3 1827 1826 1680 +3 1680 1759 1827 +3 2019 1827 1759 +3 1758 1682 1832 +3 1828 1681 1760 +3 1686 1832 1682 +3 1601 1828 1761 +3 1576 1807 2011 +3 1761 1830 1762 +3 1832 1686 1687 +3 1833 1762 1922 +3 1922 1762 1830 +3 1807 2015 2011 +3 1836 1832 1687 +3 1922 1835 1833 +3 1838 1837 1765 +3 1809 1803 2022 +3 1765 1833 1838 +3 1833 1835 1838 +3 1687 1690 1836 +3 1843 1836 1690 +3 1840 1839 1837 +3 1837 1838 1840 +3 1842 1838 1835 +3 1810 2015 1807 +3 2246 2015 1810 +3 1838 1842 1840 +3 1846 1843 1690 +3 1690 1693 1846 +3 1599 1809 2025 +3 2252 2246 1810 +3 1844 1840 1842 +3 1693 1772 1846 +3 1840 1844 1848 +3 1599 2253 1831 +3 1849 1848 1844 +3 2025 2253 1599 +3 1537 1777 1772 +3 1777 1850 1772 +3 2030 1775 1849 +3 2252 1810 2032 +3 1931 1775 2030 +3 1699 1935 1779 +3 1703 1853 1699 +3 1852 1856 1698 +3 1853 1703 1706 +3 1857 1698 1856 +3 1858 1780 1854 +3 1706 1862 1853 +3 1856 2043 1857 +3 2043 1860 1857 +3 1706 1708 1862 +3 2042 1829 1612 +3 1708 1863 1862 +3 1612 1831 2042 +3 1781 1863 1708 +3 1861 1946 1783 +3 1713 1867 1712 +3 2253 2044 1831 +3 1783 1946 1865 +3 2051 1868 1865 +3 1867 1713 1788 +3 1868 2051 1950 +3 2038 1603 2040 +3 1950 1869 1868 +3 1870 1869 1954 +3 1603 1829 2040 +3 2040 1829 2042 +3 1869 1950 1954 +3 1870 1954 1956 +3 1788 1634 1873 +3 1870 1956 1961 +3 1831 2044 2042 +3 1961 1874 1870 +3 1962 1874 1961 +3 1845 2064 1847 +3 2064 1834 1847 +3 1873 1634 1717 +3 1717 1966 1873 +3 1962 1875 1874 +3 1875 1962 1876 +3 1962 1963 1876 +3 1963 1965 1876 +3 1966 1717 1793 +3 1965 1877 1876 +3 1877 1965 1967 +3 1841 1618 2071 +3 2071 2072 1841 +3 1641 1796 1793 +3 1841 1845 1618 +3 1967 1720 1877 +3 1720 1967 2134 +3 1618 1845 1622 +3 1720 2134 1968 +3 1878 1968 2070 +3 1721 1722 1879 +3 1722 1798 1879 +3 1622 1845 1847 +3 1880 1878 2070 +3 2070 2075 1880 +3 1622 1847 1851 +3 1972 1880 2075 +3 1972 1974 1799 +3 1801 1799 1881 +3 1974 1881 1799 +3 1978 1652 1801 +3 1407 1851 1855 +3 1801 1881 1978 +3 1802 1560 1804 +3 1723 1652 1978 +3 1979 1723 1978 +3 1653 1723 1979 +3 1979 1884 1653 +3 1885 1883 1724 +3 1724 1566 1885 +3 1407 1855 1859 +3 1884 2149 1725 +3 1566 1654 1885 +3 1886 1885 1654 +3 1725 2149 1887 +3 1407 1859 1635 +3 1654 1658 1886 +3 1887 1805 1725 +3 2295 2137 1625 +3 1658 1983 1886 +3 1887 1888 1805 +3 1655 1805 1888 +3 1983 1658 1806 +3 1625 1864 2295 +3 1888 2153 1726 +3 2153 1808 1726 +3 1168 2293 1864 +3 1812 1891 1806 +3 1811 1808 2083 +3 1892 1811 2083 +3 1729 1894 1812 +3 1894 1729 1895 +3 2089 1896 2088 +3 1729 1813 1895 +3 1813 1898 1895 +3 1989 1897 2089 +3 2293 1168 1871 +3 1898 1813 1816 +3 1422 1872 1650 +3 2090 1814 1992 +3 2097 2293 1871 +3 1814 2090 1994 +3 1656 1650 1872 +3 1898 1816 1902 +3 1872 2100 1656 +3 1902 1816 1817 +3 1899 1996 1900 +3 1746 1901 1817 +3 1902 1817 1901 +3 2001 1900 1996 +3 1904 1901 1746 +3 2097 1882 2297 +3 1905 1904 1746 +3 2001 2096 2002 +3 1819 1905 1746 +3 1882 1657 2297 +3 1818 2003 2006 +3 1818 2006 1819 +3 1748 1906 1822 +3 1820 1748 1822 +3 1907 1748 1821 +3 1908 1907 1821 +3 1749 1908 1821 +3 1749 1750 1910 +3 2009 1911 1822 +3 1823 1912 1750 +3 1750 1676 1823 +3 2009 1751 1911 +3 2009 1914 1751 +3 1751 1914 2012 +3 2012 1753 1751 +3 1824 1917 1823 +3 1918 1753 2012 +3 1825 1918 2110 +3 1918 2012 2110 +3 1824 1754 1919 +3 1666 1890 1893 +3 2017 1825 2110 +3 1667 2113 1889 +3 1758 1919 1754 +3 1921 1919 1758 +3 1451 1666 1893 +3 1832 1921 1758 +3 2021 1828 1760 +3 1451 1893 1903 +3 1826 2021 1760 +3 1920 2026 1761 +3 1828 1920 1761 +3 1761 2026 1830 +3 1922 1830 2026 +3 1921 1832 1836 +3 2028 1835 1922 +3 1835 2028 1842 +3 2028 2029 1842 +3 1923 1843 1846 +3 2113 1667 2121 +3 1842 2029 1844 +3 2029 1924 1844 +3 1772 1926 1846 +3 1844 1924 1849 +3 2030 1849 1924 +3 1460 1451 1903 +3 1926 1772 1850 +3 1929 1850 1777 +3 1909 1460 1903 +3 1929 1777 1778 +3 1930 1929 1778 +3 1930 1778 1932 +3 1778 1700 1932 +3 1934 1932 1700 +3 1852 1931 2122 +3 1700 1705 1934 +3 1782 1934 1705 +3 1913 1460 1909 +3 1779 1935 1854 +3 1935 1699 2036 +3 1913 1909 1915 +3 1699 1853 2036 +3 2121 1678 2135 +3 1856 1852 2122 +3 1936 1854 1935 +3 1854 1936 1858 +3 1937 1853 1862 +3 1856 2037 2043 +3 1913 1915 1701 +3 1861 1858 1939 +3 1939 1858 1936 +3 1942 1937 1862 +3 1925 1701 1915 +3 1782 1712 1867 +3 2135 1916 2334 +3 2045 1861 1939 +3 1942 1862 1863 +3 1781 1860 1943 +3 1860 2043 2200 +3 2200 1943 1860 +3 1945 1944 1942 +3 1863 1945 1942 +3 1945 1863 1781 +3 2334 1916 2143 +3 1697 2143 1916 +3 1943 1945 1781 +3 1701 1925 1927 +3 1861 2045 1946 +3 1946 2045 2127 +3 1865 1946 2051 +3 2127 2051 1946 +3 1947 1944 1945 +3 1945 1948 1947 +3 1949 1948 1945 +3 1945 1943 1949 +3 1943 2200 2058 +3 1927 2152 1492 +3 2058 1949 1943 +3 1947 1951 2050 +3 2333 2143 1928 +3 2051 2054 1950 +3 1950 2054 2130 +3 2056 2050 1951 +3 1947 1953 1951 +3 1947 1948 1953 +3 1958 1948 1949 +3 1940 1492 2152 +3 1949 2058 2059 +3 1933 2332 2333 +3 2059 1958 1949 +3 1950 2130 1954 +3 1956 1954 2056 +3 1954 2130 2056 +3 2332 1933 1938 +3 1951 1956 2056 +3 1958 1953 1948 +3 1867 1788 1873 +3 1951 1953 1956 +3 2331 2332 1938 +3 2331 1938 1941 +3 1961 1956 1953 +3 1962 1961 1953 +3 1958 1962 1953 +3 1963 1962 1958 +3 2163 2331 1957 +3 1941 1957 2331 +3 1958 2059 1963 +3 2061 1963 2059 +3 1963 2061 1965 +3 2061 2132 1965 +3 1965 2132 1967 +3 2066 1967 2132 +3 1966 1793 1796 +3 2067 1966 1796 +3 1968 2134 2209 +3 1796 1721 1969 +3 1969 1721 1970 +3 2209 2070 1968 +3 1721 1879 1970 +3 2163 1957 2271 +3 1879 1798 2077 +3 2075 2213 1972 +3 1957 1745 1964 +3 1973 2077 1797 +3 1798 1797 2077 +3 1952 2180 1960 +3 1974 1972 2213 +3 1975 1973 1800 +3 1797 1800 1973 +3 1975 1800 1802 +3 1802 1976 1975 +3 2325 1952 2175 +3 1974 2078 1881 +3 1978 1881 2078 +3 1804 1724 1883 +3 1886 1981 1885 +3 1887 2151 1888 +3 1984 1983 1806 +3 2319 2271 1957 +3 1964 2319 1957 +3 1806 1891 1984 +3 1959 1960 1964 +3 2083 1808 2153 +3 1891 1812 1985 +3 1986 1985 1812 +3 1812 1894 1986 +3 2085 1892 2083 +3 2088 1892 2085 +3 1964 2192 2319 +3 1894 1987 1986 +3 2189 2192 1964 +3 1987 1894 1895 +3 1960 2189 1964 +3 1988 1987 1895 +3 1898 1995 1895 +3 1960 2180 2189 +3 2089 2160 1989 +3 1993 1992 1990 +3 1990 1989 1993 +3 1992 1993 2090 +3 1994 2090 2164 +3 2164 2092 1994 +3 1899 1994 2092 +3 1995 1898 1902 +3 1902 1999 1995 +3 1756 1977 1971 +3 2092 1996 1899 +3 1996 2092 2095 +3 1980 1756 1971 +3 1901 1904 1902 +3 1999 1902 1904 +3 2095 2001 1996 +3 2095 2096 2001 +3 2002 2096 2098 +3 2098 2003 2002 +3 2098 2006 2003 +3 1819 2006 2099 +3 1764 1982 1977 +3 1982 2203 1977 +3 1905 1819 2099 +3 2007 1822 1906 +3 2007 1906 1907 +3 1748 1907 1906 +3 1910 1907 1908 +3 1910 1908 1749 +3 1766 1980 2210 +3 2102 1822 2007 +3 2102 2009 1822 +3 1910 1750 1912 +3 2102 2177 2009 +3 1912 1823 2010 +3 2106 1914 2009 +3 1823 1917 2010 +3 1766 2210 1767 +3 2106 2012 1914 +3 1917 2013 2010 +3 2106 2108 2012 +3 2013 1917 1824 +3 2012 2108 2110 +3 2013 1824 2016 +3 1919 2016 1824 +3 1774 1767 1991 +3 2018 2017 2110 +3 1919 2111 2016 +3 2017 2018 2020 +3 1991 1997 1774 +3 2019 2017 2020 +3 1827 2019 2184 +3 2184 2019 2020 +3 1826 2023 2021 +3 2024 2023 1827 +3 1826 1827 2023 +3 2184 2024 1827 +3 1920 1828 2021 +3 2116 1922 2026 +3 2027 1921 1836 +3 1836 1843 2027 +3 2000 1998 2224 +3 2224 1776 2000 +3 2004 1784 1997 +3 1843 1923 2117 +3 1923 1846 1926 +3 1926 2031 1923 +3 2029 2194 1924 +3 2004 1565 1784 +3 1924 2194 2030 +3 2000 2230 1998 +3 2031 1926 1850 +3 2033 2031 1850 +3 1850 1929 2033 +3 1929 1930 2033 +3 1931 2030 2120 +3 2005 2230 2000 +3 2122 1931 2120 +3 2004 2008 1794 +3 2122 2034 1856 +3 1935 2035 1936 +3 2036 2035 1935 +3 1937 2036 1853 +3 2005 2302 2230 +3 2037 1856 2034 +3 1794 2008 2014 +3 1803 1794 2014 +3 2039 1939 1936 +3 2005 2011 2302 +3 1936 2035 2039 +3 1937 1942 2041 +3 2039 2045 1939 +3 2041 1947 2048 +3 2043 2037 2286 +3 2286 2200 2043 +3 2302 2011 2242 +3 2011 2015 2242 +3 1803 2014 2022 +3 2127 2045 2039 +3 1947 2041 1944 +3 1942 1944 2041 +3 2126 2129 2130 +3 2129 2048 2050 +3 1947 2050 2048 +3 2242 2015 2246 +3 2127 2054 2051 +3 2054 2127 2128 +3 1809 2022 2025 +3 2130 2054 2128 +3 2050 2056 2129 +3 2056 2130 2129 +3 2058 2131 2059 +3 1873 2063 1867 +3 2131 2061 2059 +3 2300 2025 2022 +3 2063 1873 1966 +3 2134 1967 2066 +3 1796 1969 2067 +3 1879 2073 1970 +3 2074 2073 1879 +3 2076 2074 1879 +3 2253 2025 2300 +3 2075 2070 2211 +3 2211 2212 2075 +3 2077 2076 1879 +3 2213 2075 2212 +3 2213 2140 1974 +3 2079 1978 2078 +3 2080 1976 1802 +3 1802 1804 2080 +3 2145 1979 1978 +3 1978 2079 2145 +3 1804 1883 2080 +3 1885 1981 1883 +3 1884 1979 2147 +3 1979 2145 2147 +3 2149 1884 2147 +3 2081 1981 1886 +3 2150 1887 2149 +3 1886 1983 2081 +3 2257 2044 2253 +3 2258 2252 2032 +3 2150 2151 1887 +3 1983 1984 2081 +3 2038 2046 2032 +3 2258 2032 2046 +3 2038 2047 2046 +3 2153 1888 2151 +3 1891 2082 1984 +3 2040 2047 2038 +3 2040 2049 2047 +3 2226 2083 2153 +3 1985 2082 1891 +3 2042 2049 2040 +3 2083 2226 2085 +3 2085 2231 2088 +3 2044 2052 2049 +3 2042 2044 2049 +3 2086 1986 1987 +3 2258 2053 2262 +3 2231 2159 2088 +3 1987 1988 2086 +3 2053 2258 2046 +3 2053 2046 2055 +3 2046 2047 2055 +3 2089 2088 2159 +3 2160 2089 2159 +3 2055 2047 2057 +3 2049 2057 2047 +3 1988 1895 2093 +3 1995 2093 1895 +3 1989 2160 2161 +3 1993 1989 2161 +3 2057 2049 2060 +3 2049 2052 2060 +3 2238 1993 2161 +3 2062 2262 2064 +3 2053 2064 2262 +3 2238 2090 1993 +3 2090 2239 2164 +3 2055 1834 2064 +3 2064 2053 2055 +3 2243 2166 2092 +3 2092 2164 2243 +3 1834 2055 2065 +3 2057 2065 2055 +3 2093 1995 1999 +3 1999 2168 2093 +3 2094 2092 2169 +3 2092 2094 2095 +3 2065 2057 2068 +3 2057 2060 2068 +3 2095 2094 2169 +3 2062 1841 2072 +3 2168 1999 1904 +3 2062 1845 1841 +3 2168 1904 2171 +3 2170 2096 2095 +3 1905 2099 2171 +3 1904 1905 2171 +3 1845 2062 2064 +3 2170 2098 2096 +3 1847 1834 2065 +3 2065 1851 1847 +3 2170 2172 2098 +3 2006 2098 2173 +3 2173 2099 2006 +3 1855 1851 2065 +3 2068 1855 2065 +3 1859 1855 2068 +3 1907 2101 2007 +3 1907 1910 2101 +3 1614 2069 2298 +3 2072 2071 2298 +3 1614 2298 2071 +3 2103 2101 1910 +3 1910 2105 2103 +3 2105 1910 1912 +3 1912 2010 2105 +3 2177 2106 2009 +3 2177 2182 2106 +3 2105 2010 2109 +3 2013 2109 2010 +3 2106 2182 2108 +3 2183 2108 2182 +3 2183 2110 2108 +3 2183 2018 2110 +3 2013 2016 2111 +3 2183 2270 2018 +3 1859 2084 1635 +3 2018 2270 2020 +3 2184 2020 2270 +3 2111 1919 2115 +3 1921 2115 1919 +3 2114 2112 2021 +3 1866 1635 2084 +3 2084 2087 1866 +3 2021 2023 2114 +3 1920 2112 2026 +3 2112 1920 2021 +3 1921 2027 2115 +3 2117 2027 1843 +3 2028 1922 2116 +3 2188 2028 2116 +3 1866 2087 2091 +3 2295 1864 2293 +3 1923 2118 2117 +3 2029 2028 2188 +3 1866 2091 1422 +3 2193 2029 2188 +3 2118 1923 2119 +3 2031 2119 1923 +3 2091 1872 1422 +3 2029 2193 2194 +3 2195 2030 2194 +3 2030 2195 2120 +3 1930 1932 1934 +3 2284 2122 2120 +3 2034 2122 2284 +3 2293 2097 2290 +3 2125 1934 1782 +3 2123 2035 2036 +3 2041 2123 2036 +3 2290 2097 2297 +3 2036 1937 2041 +3 2034 2286 2037 +3 2035 2123 2039 +3 2041 2048 2123 +3 1656 2100 1890 +3 2104 1890 2100 +3 2125 1782 1867 +3 2123 2126 2039 +3 2126 2123 2048 +3 1867 2202 2125 +3 2128 2127 2039 +3 2039 2126 2128 +3 2048 2129 2126 +3 2128 2126 2130 +3 2297 1657 2303 +3 2058 2200 2308 +3 2131 2058 2308 +3 2202 1867 2204 +3 1657 1889 2303 +3 2063 2204 1867 +3 2289 2061 2131 +3 2063 2206 2204 +3 2303 1889 2113 +3 2206 2063 1966 +3 1890 2107 1893 +3 2061 2289 2066 +3 2066 2132 2061 +3 1966 2133 2206 +3 1966 2067 2133 +3 2066 2291 2134 +3 2209 2134 2291 +3 2067 1969 2136 +3 2137 2136 1970 +3 1893 2124 1903 +3 2136 1969 1970 +3 2070 2209 2285 +3 2073 2137 1970 +3 2211 2070 2285 +3 2296 2076 2077 +3 2138 2139 1973 +3 2296 2077 2139 +3 2077 1973 2139 +3 2121 2287 2113 +3 1975 2138 1973 +3 1976 2141 1975 +3 2078 1974 2142 +3 1974 2140 2142 +3 2078 2142 2216 +3 2078 2216 2079 +3 2216 2145 2079 +3 2146 2080 1883 +3 1981 2146 1883 +3 1909 1903 2124 +3 2145 2219 2147 +3 2147 2150 2149 +3 2081 2220 1981 +3 1984 2223 2081 +3 2154 2153 2151 +3 2199 2287 2121 +3 2223 1984 2082 +3 2153 2154 2226 +3 2082 1985 2155 +3 2156 2155 2157 +3 2155 1985 2157 +3 1985 1986 2157 +3 1909 2328 1915 +3 2329 2199 2121 +3 2135 2329 2121 +3 2156 2157 2158 +3 1986 2086 2157 +3 2157 2086 2158 +3 2159 2231 2307 +3 2086 2162 2158 +3 1915 2328 2144 +3 2086 1988 2162 +3 2307 2160 2159 +3 2162 1988 2093 +3 2144 1925 1915 +3 2160 2307 2161 +3 2329 2135 2334 +3 2239 2310 2164 +3 2243 2164 2240 +3 2310 2240 2164 +3 2093 2167 2162 +3 2243 2249 2166 +3 2168 2167 2093 +3 2092 2166 2169 +3 2166 2249 2169 +3 2249 2250 2169 +3 2169 2170 2095 +3 2251 2170 2169 +3 2255 2168 2171 +3 2144 2148 1925 +3 1927 1925 2148 +3 2251 2172 2170 +3 2251 2254 2172 +3 1927 2148 2152 +3 2099 2173 2255 +3 2334 2143 2333 +3 2173 2254 2255 +3 2280 2152 2148 +3 2255 2171 2099 +3 2098 2172 2173 +3 2254 2173 2172 +3 2007 2101 2174 +3 2101 2103 2174 +3 2102 2007 2176 +3 2332 2191 2333 +3 1940 2152 2280 +3 2174 2176 2007 +3 2177 2102 2176 +3 2178 2176 2174 +3 2179 2178 2174 +3 2174 2103 2179 +3 2280 2330 1940 +3 2179 2103 2181 +3 2105 2181 2103 +3 2178 2177 2176 +3 2181 2256 2179 +3 2165 1940 2330 +3 2178 2182 2177 +3 2178 2260 2182 +3 2260 2183 2182 +3 2109 2013 2185 +3 2111 2185 2013 +3 2275 2114 2023 +3 2327 2165 2330 +3 2024 2275 2023 +3 2115 2274 2111 +3 2112 2277 2026 +3 2026 2186 2116 +3 2115 2027 2117 +3 2117 2187 2115 +3 2187 2117 2118 +3 2191 2187 2118 +3 2194 2193 2281 +3 2195 2194 2281 +3 2163 2271 2274 +3 2119 2031 2196 +3 2031 2033 2196 +3 2197 2196 2033 +3 2033 1930 2197 +3 2165 2326 2175 +3 2195 2283 2120 +3 2165 2327 2326 +3 1930 2198 2197 +3 2284 2120 2283 +3 2322 2180 1952 +3 2198 1930 1934 +3 1952 2325 2322 +3 2198 1934 2199 +3 1934 2125 2199 +3 2324 2034 2284 +3 2034 2324 2286 +3 2175 2323 2325 +3 2202 2288 2125 +3 2286 2308 2200 +3 2289 2131 2308 +3 2206 2205 2204 +3 2289 2104 2066 +3 2326 2323 2175 +3 2067 2208 2133 +3 2208 2067 2136 +3 2136 2295 2208 +3 2180 2322 2189 +3 2285 2209 2291 +3 2211 2285 2084 +3 2074 2076 2296 +3 2211 2084 2212 +3 2084 2299 2212 +3 2299 2265 2212 +3 2213 2212 2265 +3 2322 2190 2189 +3 2261 2140 2213 +3 2265 2261 2213 +3 2138 1975 2214 +3 2141 2215 2214 +3 1975 2141 2214 +3 2140 2261 2142 +3 2189 2316 2192 +3 1976 2217 2141 +3 2321 2316 2189 +3 1976 2080 2217 +3 2189 2190 2321 +3 2216 2218 2145 +3 2217 2080 2301 +3 2080 2146 2301 +3 2219 2145 2218 +3 2319 2192 2317 +3 2146 1981 2220 +3 2316 2317 2192 +3 2219 2222 2147 +3 2222 2150 2147 +3 2304 2220 2081 +3 2304 2081 2223 +3 2151 2150 2229 +3 2229 2154 2151 +3 1998 2223 2082 +3 2226 2154 2225 +3 2155 1998 2082 +3 2226 2225 2221 +3 2085 2226 2221 +3 2201 1980 1971 +3 1971 2310 2201 +3 2227 2155 2156 +3 2221 2231 2085 +3 1980 2201 2309 +3 2221 2305 2231 +3 2227 2228 2306 +3 2227 2156 2228 +3 2232 2233 2228 +3 2228 2233 2306 +3 1971 1977 2203 +3 2232 2228 2156 +3 2156 2158 2232 +3 2305 2307 2231 +3 2306 2233 2207 +3 1980 2309 2210 +3 2234 2236 2233 +3 2306 2207 1773 +3 2232 2234 2233 +3 1982 1773 2207 +3 2236 2235 2207 +3 2235 2311 2207 +3 2233 2236 2207 +3 2234 2232 2237 +3 2232 2158 2237 +3 2158 2162 2237 +3 1773 1776 2306 +3 2210 2305 1767 +3 2305 1991 1767 +3 2307 2309 2161 +3 2305 2221 1991 +3 2161 2309 2238 +3 2090 2238 2201 +3 2239 2090 2201 +3 2243 2240 2311 +3 2240 2310 2311 +3 2235 2243 2311 +3 1776 2224 2227 +3 2236 2234 2312 +3 2221 1997 1991 +3 2248 2244 2237 +3 2244 2234 2237 +3 2237 2162 2248 +3 2235 2236 2245 +3 2236 2312 2245 +3 1997 2221 2225 +3 2162 2167 2248 +3 2243 2235 2249 +3 2235 2245 2249 +3 2245 2250 2249 +3 2248 2167 2168 +3 2255 2315 2314 +3 2004 1997 2225 +3 2248 2255 2314 +3 2168 2255 2248 +3 2251 2250 2313 +3 2313 2315 2251 +3 2250 2251 2169 +3 2315 2254 2251 +3 2230 2304 1998 +3 2255 2254 2315 +3 2179 2256 2178 +3 2256 2259 2178 +3 2178 2259 2260 +3 2008 2004 2229 +3 2256 2263 2259 +3 2256 2264 2263 +3 2181 2264 2256 +3 2260 2259 2263 +3 2181 2105 2267 +3 2105 2109 2267 +3 2304 2230 2302 +3 2183 2260 2266 +3 2008 2241 2014 +3 2266 2260 2263 +3 2269 2267 2109 +3 2185 2269 2109 +3 2266 2318 2183 +3 2318 2270 2183 +3 2185 2271 2269 +3 2318 2320 2270 +3 2184 2270 2320 +3 2272 2184 2320 +3 2242 2301 2302 +3 2014 2241 2247 +3 2247 2022 2014 +3 2274 2271 2185 +3 2185 2111 2274 +3 2024 2184 2273 +3 2184 2272 2273 +3 2114 2326 2112 +3 2275 2024 2325 +3 2273 2325 2024 +3 2326 2277 2112 +3 2217 2242 2246 +3 2026 2277 2186 +3 2022 2247 2300 +3 2187 2279 2274 +3 2246 2215 2217 +3 2274 2115 2187 +3 2116 2186 2278 +3 2116 2278 2188 +3 2191 2279 2187 +3 2215 2246 2252 +3 2280 2188 2278 +3 2280 2193 2188 +3 2191 2118 2282 +3 2280 2281 2193 +3 2282 2118 2119 +3 2261 2257 2300 +3 2257 2253 2300 +3 2334 2282 2119 +3 2215 2252 2258 +3 2214 2215 2258 +3 2281 2144 2195 +3 2196 2334 2119 +3 2257 2261 2052 +3 2044 2257 2052 +3 2144 2283 2195 +3 2138 2214 2262 +3 2258 2262 2214 +3 2328 2284 2283 +3 2199 2329 2198 +3 2284 2328 2324 +3 2125 2287 2199 +3 2060 2052 2265 +3 2052 2261 2265 +3 2062 2268 2138 +3 2286 2324 2124 +3 2262 2062 2138 +3 2288 2287 2125 +3 2308 2286 2124 +3 2288 2202 2204 +3 2204 2205 2288 +3 2068 2060 2265 +3 2308 2107 2289 +3 2205 2206 2294 +3 2296 2268 2072 +3 2072 2268 2062 +3 2107 2104 2289 +3 2294 2206 2133 +3 2294 2133 2290 +3 2084 1859 2068 +3 2069 1616 2074 +3 2074 2298 2069 +3 2066 2104 2292 +3 2133 2208 2290 +3 2296 2072 2298 +3 2291 2066 2292 +3 2292 2091 2291 +3 2091 2285 2291 +3 2293 2208 2295 +3 2295 2136 2137 +3 2285 2087 2084 +3 1616 2276 2074 +3 2137 2073 2276 +3 2074 2276 2073 +3 2296 2298 2074 +3 2299 2084 2068 +3 2265 2299 2068 +3 2296 2139 2268 +3 2138 2268 2139 +3 2300 2142 2261 +3 2215 2141 2217 +3 2216 2142 2300 +3 2247 2216 2300 +3 2247 2218 2216 +3 2087 2285 2091 +3 2301 2242 2217 +3 2218 2247 2219 +3 2241 2219 2247 +3 2301 2146 2302 +3 2220 2302 2146 +3 2219 2241 2222 +3 2008 2222 2241 +3 2302 2220 2304 +3 2150 2222 2008 +3 2008 2229 2150 +3 2290 2208 2293 +3 2304 2223 1998 +3 1872 2091 2292 +3 2229 2004 2225 +3 2225 2154 2229 +3 2100 1872 2292 +3 2104 2100 2292 +3 2297 2294 2290 +3 2224 1998 2155 +3 2227 2224 2155 +3 1776 2227 2306 +3 2210 2307 2305 +3 2311 2203 1982 +3 2207 2311 1982 +3 2307 2210 2309 +3 2238 2309 2201 +3 2310 1971 2203 +3 2310 2203 2311 +3 2310 2239 2201 +3 2234 2244 2312 +3 2245 2312 2313 +3 2244 2313 2312 +3 2104 2107 1890 +3 2303 2205 2294 +3 2294 2297 2303 +3 2314 2313 2244 +3 2248 2314 2244 +3 2313 2250 2245 +3 2313 2314 2315 +3 2316 2266 2263 +3 2263 2264 2316 +3 2317 2316 2264 +3 2205 2303 2113 +3 2264 2181 2317 +3 2308 1893 2107 +3 2267 2317 2181 +3 2113 2288 2205 +3 2317 2267 2269 +3 2318 2266 2316 +3 2319 2317 2269 +3 2271 2319 2269 +3 2124 1893 2308 +3 2321 2320 2318 +3 2316 2321 2318 +3 2272 2320 2321 +3 2321 2190 2272 +3 2273 2272 2322 +3 2272 2190 2322 +3 2323 2326 2114 +3 2323 2114 2275 +3 2323 2275 2325 +3 2288 2113 2287 +3 2325 2273 2322 +3 2277 2327 2186 +3 2277 2326 2327 +3 2274 2279 2163 +3 2330 2278 2186 +3 2327 2330 2186 +3 2331 2163 2191 +3 2163 2279 2191 +3 2280 2278 2330 +3 2191 2332 2331 +3 2324 1909 2124 +3 2333 2191 2282 +3 2280 2148 2281 +3 2333 2282 2334 +3 2281 2148 2144 +3 2334 2196 2197 +3 2197 2329 2334 +3 2329 2197 2198 +3 2328 2283 2144 +3 2328 1909 2324 + diff --git a/Polygon_mesh_processing/examples/Polygon_mesh_processing/data/bear_simple.off b/Polygon_mesh_processing/examples/Polygon_mesh_processing/data/bear_simple.off new file mode 100644 index 000000000000..fde70454a689 --- /dev/null +++ b/Polygon_mesh_processing/examples/Polygon_mesh_processing/data/bear_simple.off @@ -0,0 +1,7005 @@ +NOFF +2335 4666 0 + +-0.0040859346845993905 -0.34732252563961419 -0.326779892844141 -0.0013628175077906894 -0.17233051117611664 -0.98503824171765986 +0.046249133205535475 -0.32755740461969252 -0.32674677868044605 0.11559850694450435 -0.14347306461974008 -0.98287967977816149 +-0.073999672598515753 -0.3343302589850497 -0.32723209189219538 -0.093186078022854016 -0.18376346362384363 -0.97854348104705435 +-0.074277487974834688 -0.30857036482681588 -0.32940284149320825 -0.044264297567613575 -0.041941816031721355 -0.9981390464403278 +0.01828546358591332 -0.31882437625550075 -0.32932263358847491 0.026010708767730897 -0.064722635724767025 -0.99756424527658338 +0.066583058816160001 -0.30286579347940412 -0.32776511084912935 0.11606633093164438 -0.097647215723799391 -0.98842988020671241 +-0.58236396167373794 -0.46092423249880954 0.32841814131591274 -0.042345904149433657 0.055901262819410706 0.9975379056541972 +0.097990360137264643 -0.20720801567833586 -0.32710346583942651 0.17372654010695571 -0.024625892427962925 -0.98448598501176887 +0.075434397747419113 -0.18775636078483249 -0.32936287226630973 0.061392447615560411 0.012664553140062065 -0.99803335438728358 +0.11639269024397658 -0.25919997462400102 -0.32051632329683943 0.23764183806475256 -0.048821655671146616 -0.97012514797768956 +-0.10278065950711746 -0.15423219323499282 -0.32916705472427321 -0.0629362892271709 0.0028206085446476374 -0.99801356086265269 +0.096718032302301235 -0.14287473519898114 -0.32557811968559097 0.21249461601204098 0.061267834077310561 -0.97523960680100064 +-0.55832091989529375 -0.38784974518238874 0.30003844251978101 -0.076764286792319669 0.63554904844325333 0.76823476313958983 +0.044578999999995261 -0.10111399999999549 -0.32936599999999994 0.033197726399666352 0.034155495593630576 -0.9988650124429459 +0.07140442085693488 -0.10306021503712159 -0.32771835250096071 0.14551263910114953 0.1180106168735755 -0.98229301441420058 +-0.045158493076225936 -0.091282942125857608 -0.32932944278497606 -0.020570464284131059 0.053513794968218384 -0.99835521221018064 +-0.044884656233417058 -0.066943485607439179 -0.32674266759310988 -0.024393513523349897 0.17204097850635153 -0.98478772241156787 +0.041088418529567058 -0.069431206491649244 -0.32742754000240687 0.11576929241953619 0.15156253126450811 -0.98164467606633243 +-0.045480482817887524 -0.43140800077602481 -0.30832632349804279 -0.037674146798405472 -0.23102811050157607 -0.97221739894998982 +-0.56321748619286471 -0.42174722617830784 0.31899709383909625 0.095282811121155678 0.35970551867643935 0.92818808747934478 +0.02640999196627597 -0.43124481741785375 -0.30750499608608622 0.075414544274954892 -0.24271577081039195 -0.96716167268545028 +-0.55673484618380142 -0.4494319135224481 0.32151915957232596 0.35437950186972278 0.062677813747005096 0.93299874615053102 +-0.099685413292241343 -0.40571103504568162 -0.30891364709967717 -0.1346117001148307 -0.21397166403236631 -0.96752044794072189 +0.0038915336238653161 -0.3929580003325665 -0.31506891892030764 0.0079742089425318703 -0.20945281877558597 -0.9777862387550269 +0.089059104619295004 -0.38798524198807316 -0.3074539964827056 0.18902009029762232 -0.21905087557499039 -0.95722939746630686 +-0.060976926035943423 -0.3795671053161544 -0.31612302859013991 -0.096285283402669092 -0.21896723770664014 -0.97096987234990539 +0.049572586801695739 -0.38824633889478743 -0.31340606420198891 0.094270518080071239 -0.19703085517242611 -0.97585445202188703 +-0.14346429756501061 -0.37032644063562681 -0.30860038336071155 -0.22339336141682839 -0.17506718885777542 -0.9588779304271875 +-0.18178573159437758 -0.31880088771318993 -0.30506173219621963 -0.29964984889616747 -0.12315858360911712 -0.94606655756342006 +-0.11171928723798569 -0.35038889193020772 -0.31539005878677184 -0.16661885301098689 -0.19105762474285987 -0.96733403840086174 +-0.15279277914047495 -0.29974914593934798 -0.31434354340212911 -0.21774466345199076 -0.13008758919357089 -0.96729751404414555 +-0.60007761036858609 -0.48591269502035406 0.3261320115930878 -0.30943512073466739 -0.11050849203921044 0.94447751653659895 +0.12923883896610253 -0.33100215946614447 -0.31019314368997053 0.24498576936725899 -0.15762854943661198 -0.95662699795167916 +-0.11612764628066768 -0.28148740145727957 -0.32814211576379249 -0.1632208664353858 -0.081220302372918829 -0.98324066801700882 +0.15505355170186796 -0.29000596323972339 -0.30784995316860175 0.29828920660783143 -0.076732299831160089 -0.95138620096356841 +-0.21221906546937164 -0.24401982498606034 -0.30032217212471968 -0.3646260517435852 -0.037779980604193165 -0.93038729325772251 +-0.14181658178147361 -0.24775314848163488 -0.32302887074513198 -0.25413693387032449 -0.047103685622258376 -0.9660205285830058 +0.17576655812073555 -0.25432625576481327 -0.302149175974676 0.32235888888804892 -0.060992345431921252 -0.94465056002395709 +-0.15422590003166534 -0.16671994639403254 -0.31986603764235888 -0.28084099803888285 0.012278180968137516 -0.95967576821165912 +0.11046117335047137 -0.086154812387583934 0.28099813883771568 0.1842876223756334 0.13433104517517153 0.97364944540696063 +0.17367386092811299 -0.19671715142521862 -0.30717435766264933 0.31139396626172172 0.024604030637273792 -0.94996233580715916 +-0.1271371819697481 -0.14054239485484177 -0.32610909883628986 -0.19213532641516384 0.069318466985588162 -0.97891724189438323 +0.00066827008743014504 -0.097084294904021373 0.2947891211286916 -0.0070589646072026441 0.18907907443232516 0.98193649215745582 +0.15274854018192624 -0.18961648547967103 -0.31266246903040634 0.26527256118599568 0.010278815299436561 -0.96411867227943582 +0.15044916719222506 -0.10632562741099022 -0.30722995608888432 0.29447172748838907 0.094181045341206998 -0.95100806116901104 +-0.1012138909182871 -0.10264962031298078 -0.32707091539652527 -0.14584689955833671 0.091890277246073029 -0.98503038472773019 +0.11192508717679983 -0.0916194290207486 -0.31555040671906692 0.2343277119467912 0.14695085022694415 -0.96098697755555451 +-0.076445882021374034 -0.079291774190163977 -0.32687410751549445 -0.11566789964008584 0.1309471879355123 -0.98461859162044696 +-0.13854434000025601 -0.056294921864933789 -0.31080497320997813 -0.22112877151188567 0.18347313220801106 -0.95783071373151618 +0.11589265974798824 -0.057223221498039933 -0.30975649819102635 0.2227528581391752 0.14698534226250259 -0.96373049829856661 +-0.091848243305300725 -0.011618657935414056 -0.31108169757302334 -0.12307083791691811 0.21706239001826996 -0.96836846690399003 +0.014251861851365399 -0.021131922501853584 -0.31563028351965677 0.047659040697295263 0.22393560779540761 -0.97343795868104244 +0.054431004673816751 -0.036809317745044978 -0.3162972169085449 0.14080871878800155 0.20036229390796415 -0.96955033695689063 +-0.038856463790480134 -0.018517735820053338 -0.31516246322965169 -0.022328184845586092 0.19910114524306741 -0.97972454604567316 +0.070599906262692289 -0.0058568910963072707 -0.30962507654332 0.15409771593058588 0.19949833698532637 -0.96770569259722017 +0.0036699611619963879 0.030396774784045788 -0.30725381526015949 0.045404448612541101 0.24072536344960449 -0.96953067792527692 +-0.0043950410791349093 -0.50089914967776572 -0.28560811336869496 0.018186512292163056 -0.38942124222452557 -0.92088020223857259 +-0.089509550128511473 -0.4960595625253732 -0.28268426281994785 -0.16263358136026992 -0.35750699650556084 -0.91964072640542915 +0.0085134195379923949 -0.46557476663417124 -0.29850034916268509 0.048866055105427117 -0.31034235433578894 -0.94936806969886711 +0.088969836709972355 -0.47963619094480814 -0.28363580765349306 0.20576769152908037 -0.31384588052740253 -0.92690906803136441 +-0.073145474786904432 -0.45523095013120507 -0.29857576494720295 -0.12465335226447011 -0.29769236920955727 -0.9464886661147246 +-0.15201740854245066 -0.45807554606209844 -0.28054981249538868 -0.27578748350374449 -0.3080212248235687 -0.91052962005684379 +0.090553434407911748 -0.44019465835768523 -0.29462964584396989 0.2106484422546348 -0.25830556372793223 -0.94281783475011272 +-0.17305421619020556 -0.40248096341680606 -0.29106822714383696 -0.3192924704081227 -0.24865114609979322 -0.9144533481178454 +-0.13316774713634416 -0.4094996564299358 -0.30148033169265487 -0.23283221585762226 -0.2618002548332668 -0.93661613579313596 +0.15247684758868763 -0.37422437650071405 -0.29528391643870733 0.29740200376373066 -0.20003818506556015 -0.93356133846308931 +-0.19704840763719114 -0.27297368378884568 -0.30424968755098031 -0.34111989024563166 -0.077248451531510845 -0.93684037979518797 +0.1854050504869014 -0.31397760922530116 -0.29481966400124299 0.38338960312505321 -0.1223027557341539 -0.91545313815369378 +0.21490739490820326 -0.27234572839682647 -0.28348734209507442 0.42283921025882398 -0.082775458001486821 -0.90241632621553236 +0.04142847747785134 -0.11625626588114898 0.29679991407579642 0.071937594369279559 0.10461045504902403 0.99190807800460878 +-0.25097169839496114 -0.20035800993178993 -0.28394241550001426 -0.46939666087545878 0.0018818033946014015 -0.88298540960479843 +-0.21868046775691408 -0.18292876763476063 -0.29744049017339191 -0.36968331976651225 0.029571106298503669 -0.92868713394700009 +0.19667444196616873 -0.20565333248232948 -0.29860464017862143 0.39185263068340537 0.012214157274370101 -0.91994691704933262 +-0.03298067393144688 -0.11602188362502197 0.29744791822596545 -0.11135738087049278 0.1027438656124201 0.98845497206735766 +-0.21618116774458285 -0.096158336647153675 -0.29384310978544481 -0.37139055831527584 0.11207391865290238 -0.92168784843462603 +-0.1913016839627053 -0.12448912265581824 -0.30579873334825447 -0.33072870731325416 0.082315862854849237 -0.94012904480255555 +0.19572555974867809 -0.075624175208682864 -0.28684253735479814 0.39327697725809979 0.13566426364412129 -0.90935605058119584 +0.23193236131955219 -0.092942106587554862 -0.27237643776656079 0.46348944575842538 0.11667956662125382 -0.87838682390141998 +-0.16874298013769559 -0.084379232818056704 -0.30743233033555611 -0.27505006698130141 0.15425916373106854 -0.94897395699701526 +-0.17324937846549537 -0.020371923154209437 -0.29466419422062656 -0.28785497328202714 0.2151533791152602 -0.93319265846452559 +-0.14156691351039341 0.0075244499153666045 -0.29637265637926608 -0.23811237218779657 0.24169413002493884 -0.94068403075771845 +0.11571386483036827 0.033510824323427446 -0.28877517838663269 0.24821396324424772 0.2811324279327318 -0.92701369267947209 +-0.10358316638440418 0.035514723228012163 -0.29707147388323801 -0.16904522447091602 0.27093859817451726 -0.94763705504945572 +-0.033069040874427191 0.030754837629591601 -0.30654179730578518 -0.04704556804393327 0.24197550147706048 -0.9691411513357322 +-0.048815173751006385 0.085902566749749942 -0.28842198567312793 -0.077452496991966838 0.35629640977357946 -0.9311573331570594 +-0.059104868037028462 -0.13784030865454133 0.29524547938692047 -0.199712465140085 0.098828165025953083 0.97485789993479222 +0.06948029139456513 0.067615691458633997 -0.28758351548665073 0.16845890640856526 0.32834174692797918 -0.92941556586702012 +0.013208538699007955 0.092034982135433596 -0.28668642454116922 0.060227262536457861 0.3669632112925007 -0.92828372731900233 +-0.059647691954414515 -0.53765868843361719 -0.26779473345131177 -0.065814703168114802 -0.44509833553435701 -0.89305985048676206 +-0.051791830314210641 -0.49653401244224771 -0.28700159712533335 -0.057799547826883332 -0.36855458733878049 -0.9278074845691584 +0.047894631197473073 -0.51076543636662608 -0.27796768465694255 0.10282744020822984 -0.37437368297044532 -0.92155893085541052 +-0.13175853352635802 -0.50312996545873157 -0.2704943399842914 -0.25444516661179872 -0.36276538242578521 -0.896470264147879 +0.14095103825112548 -0.51535787455571946 -0.2541360949985727 0.32214099485411812 -0.37599350490936212 -0.86882337888685546 +0.16846227994340296 -0.41128038853084048 -0.28057343559406678 0.32367664818534947 -0.25950440072267639 -0.90988509902353165 +-0.20728281071254639 -0.36144428591731437 -0.28828679367391274 -0.37358678652864347 -0.20378111241197286 -0.90493434632316871 +0.21021883534344915 -0.40101344636964809 -0.26640171629321918 0.44168460769120566 -0.23043740006089661 -0.86707168791388867 +0.2388839248176432 -0.32561766182286966 -0.26601096152636106 0.47068896421889228 -0.14641237293784207 -0.87006627104678447 +-0.23441582277825709 -0.31958753386923133 -0.28448297074580564 -0.42540981144755519 -0.12683490600477046 -0.89606885837133998 +-0.246406709823347 -0.26945669827239804 -0.28187594777408426 -0.46145002134774749 -0.06975272413165752 -0.88441982976094347 +0.25645420559140042 -0.26453123930551414 -0.26324049066940552 0.54055748504618117 -0.080704226222219164 -0.83742727041243437 +0.23403032715847938 -0.21599266057400096 -0.28078217058582611 0.4694584056866371 -0.014013420395845279 -0.88284337760384779 +0.052530452833607175 -0.17887199633022555 0.29763120523407671 0.050698121778982301 0.001700713675887518 0.99871257527933233 +0.23792502035328289 -0.14587557233075898 -0.27284386257355442 0.45669653276510186 0.089503517087702281 -0.88510869241538104 +-0.23886224979768178 -0.086760608539886652 -0.28237956974167738 -0.4440524812372077 0.13714284139683944 -0.88544295974426301 +-0.21108023450358354 -0.026101423728470352 -0.28182348904784982 -0.38661634042988963 0.20017394087023721 -0.9002545188495743 +0.16483620347343148 -0.013458533263020378 -0.28698696746003705 0.33155752055391458 0.21307594642411584 -0.91905835049772966 +-0.14611423512378577 0.058830314504526415 -0.2796718957805393 -0.25784745635340289 0.3228729900895686 -0.91064137920627197 +-0.069483798466986837 -0.18150307187096817 0.29619001511053161 -0.15469588128849313 0.03469402422205458 0.98735277839060942 +0.16876946417685357 0.025852215032197812 -0.27367120391018607 0.355163375182525 0.287925310553658 -0.88935819132199856 +-0.1115881995786647 0.076835295940126946 -0.28113114062035893 -0.19053763049512287 0.34390025095745302 -0.91947160301811648 +0.12400884665463546 0.071242597194357105 -0.2731804199868616 0.26519185399520256 0.34491509379649937 -0.90039261361138412 +0.038720662614591797 -0.55761150270142867 -0.25788289964756034 0.077773654860397723 -0.46487253241548887 -0.88195509365004865 +0.08570975763183207 -0.52372934003313376 -0.26620552342341197 0.19533909906965111 -0.3931450829926082 -0.89848738449317822 +-0.10448970558181525 -0.53370463540194679 -0.26338953576830915 -0.18318451446692385 -0.44840149124375017 -0.87485972378999044 +-0.18752350086573161 -0.49747779340671794 -0.25430875931357755 -0.35181467350642026 -0.37172965318692203 -0.85909458178194886 +0.16797972732037447 -0.46873283256749854 -0.2617198367078083 0.34780069484953047 -0.30560358237471658 -0.88636399244437025 +-0.20607594683865699 -0.43045102757622572 -0.27056307152437381 -0.38283548347933971 -0.29150416767730819 -0.87661982228095892 +0.23042579250648709 -0.42104277875554463 -0.24854066484002035 0.50546544620462597 -0.28157638159622378 -0.81560984791770152 +-0.2636717543972838 -0.37223186191968094 -0.25803882370020081 -0.50343642677585876 -0.23292021129929708 -0.83204563538513088 +0.2811941149156833 -0.33003123513219834 -0.23919190557430536 0.5850904243166668 -0.13072788787973261 -0.80036205226350332 +-0.28298385379346253 -0.30021666286462256 -0.26145932498635099 -0.52907224569283406 -0.09668693006056929 -0.84305053015403764 +-0.28454123484232702 -0.23031059020652456 -0.26199072133884682 -0.53807320811425796 -0.010329532925640742 -0.84283481386281656 +-0.30595970171797904 -0.13154491743122287 -0.24645323250461881 -0.6123621471416566 0.067753466342202015 -0.78766875559887239 +0.28827149886532777 -0.19790663827239002 -0.24566250989826038 0.59199491071098354 0.014417419537678871 -0.80581273488706384 +-0.28692704540933511 -0.13912709756638431 -0.26030041904612089 -0.53794811702425116 0.04805579469568623 -0.84160707220544939 +-0.26415673112281712 -0.057090444822834652 -0.26334769872960428 -0.50273140931455262 0.17247957811318743 -0.84706075651189305 +0.26171994319343722 -0.029138042182577983 -0.23950632817733225 0.56254511646603189 0.20308483328728272 -0.80143592534206709 +-0.044587385039495206 -0.20712984954377381 0.29766100728873962 -0.05273238923965623 -0.020051902077505634 0.99840733989096431 +-0.22602525932855921 0.0071022950159240761 -0.26624364355626612 -0.43209727091042194 0.26981126107238573 -0.86051951277719119 +0.21521499362874649 0.0024830156634985112 -0.25967011830268788 0.46094846289103664 0.24805764492770579 -0.85205276793829543 +0.082921067235334961 -0.23432559876482939 0.294466205094223 0.19002908058263918 -0.042172649207691551 0.98087227312822023 +-0.19223090576286173 0.022922068734266332 -0.27681010454131061 -0.34690953716854017 0.29650331695138205 -0.88979748036187301 +-0.091992119215910662 0.12242693572957974 -0.26651840741992427 -0.17110737040092733 0.41292714283905951 -0.89454650102789557 +-0.046811695597448681 0.13176761104971491 -0.26799562275662187 -0.057757107201180879 0.43919486852067657 -0.89653331451366425 +0.11356057350521226 0.11085808652696361 -0.25952613737528929 0.24260383780987299 0.40968628277732533 -0.87937507787292801 +-0.022388928742548053 0.17012191128094378 -0.24856487889191792 -0.021816937532331566 0.5057196850866843 -0.86242195087586637 +0.050050995867850667 0.12224172191128702 -0.26890745974938074 0.14956036902269612 0.42201834931631838 -0.89416564956283395 +0.0033705437174182951 0.46294103965413114 -0.25970294020558554 0.043732820878031833 -0.1802502594472182 -0.98264809792074626 +0.041340422040104019 0.47776093674689091 -0.25821057604499648 0.14941567728324565 -0.15162140530894883 -0.97708029600137192 +-0.051524144447178344 0.46896174849235517 -0.26102240528084264 -0.039460401207690156 -0.13964404377448411 -0.98941518978376219 +-0.12767900711405217 0.55776006144717782 -0.25321669527938484 -0.31337845885845922 0.067289365118847796 -0.94724130128779715 +-0.096993794386471335 0.4963543278718161 -0.25920694965054458 -0.19785930631291945 -0.12061437175347596 -0.97278151104545807 +0.055132422199346665 0.51229417521258469 -0.25983179113770921 0.1687150691473 -0.05292024417907551 -0.9842431981978077 +0.015565814068638995 0.50165062157335738 -0.26158917784326463 0.032995721911614651 -0.034675754540593254 -0.99885378028146443 +-0.090753942603334359 0.53781912088073525 -0.26152139980897682 -0.11589985950670367 -0.010060663420044745 -0.99320995042230364 +-0.082634569274231184 0.59734187160815688 -0.25886412131969416 -0.15451230389792481 0.1339944927818143 -0.97886231097550158 +-0.042253749181752176 0.58513555675458939 -0.26156587609834425 -0.025952681468808338 0.025662613694620424 -0.99933372232850182 +0.030501856468423405 0.59049716489586679 -0.26158567608054029 0.070997486920716446 0.065933275440726122 -0.99529501156220013 +0.055453591344494818 0.57413463013408983 -0.26017191985823801 0.17150504508601555 0.04805373382119589 -0.98401059860952989 +0.05794362052497859 -0.27581204252842761 0.29752149381636867 0.11929868077155463 -0.082519083936168636 0.98942327926550333 +0.093630289636838254 0.54195160355056671 -0.25121532644956823 0.33392603319040631 0.0093617374826625126 -0.94255279015502647 +-0.01871672895508425 -0.27819231713460013 0.29760019429932855 -0.041378378595706769 -0.051149127354049202 0.99783345131124446 +0.016327663453057015 0.62109533369741277 -0.25954114955870522 0.080027936724264628 0.16308361136143507 -0.98336120782191194 +0.087220125511265456 0.59345987247118581 -0.24867990954788477 0.34072651961917877 0.14929735016829149 -0.92823258941976816 +-0.032246639350195339 0.62237433753210814 -0.26001472204514164 -0.049781279000262565 0.17016896678820592 -0.98415666791590284 +-0.02550175470105942 0.65921722529975169 -0.24927414847304297 -0.031158773635800534 0.3632952706905152 -0.9311528752677608 +0.048707044514751274 0.61624211317664113 -0.2558303538586536 0.19065762102545958 0.22167226538244017 -0.95630072587294901 +0.016720182137196109 0.64592160812928467 -0.25293959394501608 0.11108716075657987 0.31771658236249084 -0.94165589044349962 +0.0074123740304467001 -0.61412228227609122 -0.22518716493502777 0.045165638524668303 -0.57683106193530465 -0.81561387376824812 +-0.053605720060560962 -0.583104286370138 -0.24434666341361161 -0.06595822177839876 -0.5155279382834278 -0.85433041490343176 +0.068668593000676736 -0.57098927896772433 -0.24625623718753875 0.15630559818119133 -0.49822405005649778 -0.85284310158581944 +0.11411607888802056 -0.54595793599876363 -0.24816253101792524 0.26001309260759231 -0.44190481858304825 -0.85855304028680646 +-0.18941428458236298 -0.53270368862793482 -0.23520885116414747 -0.37893949931753856 -0.46126367426562026 -0.80227219736193833 +-0.13995180706784183 -0.53629026673729108 -0.25179769398679186 -0.27218229992486082 -0.45153960902507373 -0.84972276484103726 +-0.22334152733141011 -0.50056395032215484 -0.23581311626918089 -0.45733331638085811 -0.39588450754851839 -0.79631758388921259 +0.19842922702106536 -0.49353042217270759 -0.23863533911445878 0.43948600003712129 -0.36620110276635193 -0.82021266029248718 +-0.53342774417791661 -0.40439432745262233 0.30072830000083606 0.50054770833657958 0.34708517079383339 0.79308503698784649 +-0.25923310968635727 -0.41782145045451724 -0.24697676162643434 -0.51354915253975886 -0.28384087757160931 -0.80975405163856662 +0.28424938414651713 -0.37918276026635045 -0.22331567446332423 0.59489206593954858 -0.22612847583148069 -0.77134255833598808 +-0.30321129507598665 -0.33383550073456481 -0.24021153663241257 -0.61251671365940863 -0.20289601271379148 -0.76397413798683189 +-0.31284679706851987 -0.28675898921166931 -0.24068477756631868 -0.63510215248727275 -0.061120365877243427 -0.77000620567698341 +0.28854306563913529 -0.26599565152001015 -0.23877647831745696 0.6449969967572029 -0.085060163372093503 -0.75943639811461605 +0.27065566362928556 -0.098367739984020153 -0.2487949220500161 0.58022410490752463 0.11605193200994242 -0.80614634971636612 +-0.28274932204406356 -0.038965125264426304 -0.24688782603857062 -0.57731951958731043 0.22445507711523965 -0.7850618387494509 +-0.24053084270358852 0.037751503444631407 -0.2475401259460388 -0.46584847161160853 0.3229831015346562 -0.82381255005018117 +-0.19056790889591382 0.09617840284915069 -0.25053174617545498 -0.37426562174211209 0.38516211646935317 -0.8435492803736121 +-0.61360238601106698 -0.47677387621078049 0.31469088733309886 -0.8065534939859984 0.21870324936750277 0.54921794403958968 +-0.55289858998370267 -0.48596762806808291 0.31753568459784787 0.40344253459046686 -0.18766821216801588 0.89555276976004061 +0.19009726126929893 0.079496582055205156 -0.24518186197321273 0.4081418301207041 0.35635180380717352 -0.84049606687306755 +-0.15137546810195307 0.10888879579251082 -0.25858049125856514 -0.27324370616102656 0.41124231185442806 -0.8696077494962956 +-0.12549431055852583 0.14080608124812022 -0.24968940932840297 -0.2352554792078215 0.46791615262920622 -0.85188575150156121 +-0.56126864280940247 -0.52659437718223145 0.30324925705730088 0.27070975519370694 -0.51905676855890115 0.81073812014494206 +-0.58485877968171551 -0.50580380191708851 0.32134420106534545 0.036593462579700149 -0.40369803439969526 0.91416016950983514 +-0.62054297610391962 -0.53277592635878745 0.29780003090054863 -0.41681186710252655 -0.467885502513401 0.77932728938507467 +0.16283943473380769 0.10273426787679088 -0.24818932729719229 0.33725133324566758 0.40247172361966244 -0.85104526901372157 +0.01589946008131457 0.15691549631367885 -0.25554496306169638 0.060122094488118408 0.47726073441611289 -0.8767026435108739 +-0.073868092708107097 0.16461272342658123 -0.24788412164064938 -0.13728976175838117 0.50260711225778598 -0.85354414767147002 +0.059363392481623367 0.15644206487424162 -0.2492169894348559 0.17512166243260335 0.47230247578701073 -0.86386502111863606 +-0.009987685973094837 0.19740058458453724 -0.23091941505459523 0.0041006766438832255 0.57753481091106595 -0.81635575984798536 +0.044231598636926106 0.19604447911179251 -0.2291105282996786 0.11799813413229635 0.56083945490817266 -0.81947272447568409 +0.024374406300914808 0.37524715010905019 -0.2236656539400545 0.10565032483197455 -0.48809907272199998 -0.86637018881701022 +-0.081534397811239057 0.40643545990408458 -0.23563777672518829 -0.17208421816117925 -0.41583209985597336 -0.89301214246460703 +-0.031321527464671137 0.43104119978217881 -0.25203592500116595 -0.027744309473069224 -0.34032896665059653 -0.93989704103715521 +0.029754808255843146 0.42713287981135584 -0.24637510050813435 0.12970397740908307 -0.34322351589226147 -0.93025507060312151 +-0.072991936737303295 0.44798940614566934 -0.25352635383525651 -0.15985496807491967 -0.28547535476413788 -0.94496042827414528 +0.065706216173679749 0.44986567678769929 -0.24588961400868559 0.25470642027935936 -0.26485457647332705 -0.93004123176857534 +-0.14818119758274881 0.45960303634363886 -0.23454382294679582 -0.38875989572666747 -0.25253685534508963 -0.88605354249447232 +-0.11466886881048634 0.44816126210159646 -0.24298887103449363 -0.2833382398232594 -0.272113907291122 -0.91960505833353046 +0.091176045693912647 0.48382651447613068 -0.24602944378395997 0.32292275976804341 -0.16978282047526247 -0.93107179373840721 +-0.13527675902421785 0.49955115792803367 -0.24648529957100596 -0.34769934727494423 -0.13159676560865952 -0.92832508055417584 +-0.039617224384050971 -0.013932094654030034 0.27726652811001923 -0.075189706331871206 0.20766251698627997 0.97530650930907359 +0.11961740432259377 0.4866551814592191 -0.23511361877447062 0.40976229817846344 -0.15891305680119408 -0.89824356350023704 +-0.14784054724116724 0.53626642634413724 -0.24457038671741496 -0.38699031751765761 -0.024216533878377543 -0.92176572600335926 +-0.10465195741810632 0.6225584744135495 -0.24766847750622745 -0.27300699057080718 0.25471100689203841 -0.92767962469136678 +-0.063191428333285671 0.65582782656881911 -0.24654979661059134 -0.16783935187305407 0.33046254138945264 -0.92877578602225486 +0.062749581584399139 -0.023548547034704992 0.27780752291649602 0.10143804415524761 0.19300504451516615 0.97594025226427505 +0.03631538194648759 0.67902383250619525 -0.23560956317200421 0.15583818199911587 0.41044090173471276 -0.89847244098770573 +-0.082516814971456645 -0.59872244399939201 -0.23033334811707581 -0.15141765217216094 -0.55707970618670899 -0.81653836135579116 +-0.0030775698180296462 -0.0045518731872264961 0.27646615902439781 -0.00099386129557221987 0.2307006332020014 0.97302427003642655 +-0.14495281541076144 -0.58403826474178389 -0.22307985793959664 -0.28969860759175903 -0.53443727073491398 -0.79400977349703461 +0.15844023579588756 -0.56049851851935673 -0.22420059439686904 0.36723578077684882 -0.47965302363968171 -0.79691333169330858 +0.23743249904969865 -0.50697096203980774 -0.20677415423663031 0.52813472001775419 -0.4021811885231607 -0.74787967555607926 +0.25450083446409344 -0.45488919390814769 -0.21936385371680578 0.5571711495231001 -0.31504158865338522 -0.76831576032114457 +-0.293405267414237 -0.40120885491664893 -0.22749360746665667 -0.61697427411348871 -0.26116461870515134 -0.74238520123903773 +-0.34017666567996652 -0.31078886589164889 -0.21216875124267195 -0.72819772431971985 -0.14394311775349602 -0.67008093029647142 +0.30658546553100141 -0.33892619753948006 -0.21639612299875866 0.67109941858027289 -0.13999391040910614 -0.7280297215289957 +-0.33678157767990419 -0.2618449488485517 -0.21904549143711682 -0.70399966996199759 -0.022813706358537088 -0.70983378300527866 +0.32292512482353253 -0.22923869651828777 -0.21581551498459703 0.69238839098276583 -0.067719345002286699 -0.71834003532084856 +-0.33440819403993455 -0.13907548225309796 -0.22143446816659376 -0.70053297181605145 0.044128380572585502 -0.71225433759761148 +0.31065040598123145 -0.19157391292269144 -0.22792931267699582 0.64540085260985791 0.037532511469417384 -0.76292139177851503 +0.33247217404348894 -0.18094998544487845 -0.20638087164214425 0.74378567402329843 0.066515047984499462 -0.66510045820862829 +0.30403957556612787 -0.12152188886641291 -0.22383656964178289 0.66216459323367916 0.1244089552532405 -0.73895904035370841 +-0.3201674839454115 -0.084772404016134562 -0.22664673565485829 -0.65920746308048483 0.15907093256978738 -0.73494350737343694 +-0.30464105877762637 -0.0017065612695268684 -0.21700465732950636 -0.65867192975725475 0.26882935657473678 -0.70276743378835305 +-0.073609143035563873 -0.036291267102410041 0.27839406984666842 -0.13395510179289455 0.17918448916396001 0.9746532457990924 +-0.26928192259058059 0.0079844965231665732 -0.24140721169629539 -0.53915558000485708 0.27005426208626987 -0.79773551762389672 +0.25842311179864719 0.032105942683207545 -0.22298720559740276 0.55757040155409443 0.3027638310342744 -0.77294845230989062 +0.22304624102326676 0.072130857283717154 -0.23045502788044478 0.47956987452906763 0.35617632092699986 -0.80196705908352695 +-0.21542945994900564 0.12783559611784201 -0.22034329416710374 -0.45699545667084429 0.49058625666282596 -0.74194358097887891 +-0.16153209388942291 0.15102918376994956 -0.23114383770688135 -0.34122378095402983 0.51315138012024297 -0.78755443773248224 +0.18189997267780267 0.11669797944148352 -0.23153800029174065 0.40785682373871524 0.45163748254742692 -0.7935215155797537 +-0.13742657793270974 0.17979779937250034 -0.22221013655698957 -0.29968268846527862 0.5386934265282507 -0.78740058321636697 +0.11307544266824143 0.17595999318601752 -0.2252901894914528 0.27469669629769849 0.50613657832458658 -0.81753745426433511 +0.074337825266232782 0.37103800912003376 -0.21000311063535007 0.27218234430003829 -0.51521772195840365 -0.81269149769843696 +-0.118151771126252 0.4103747345390758 -0.22725574868577031 -0.3133288107344121 -0.4019178328054292 -0.86039939100207763 +-0.033508338244040328 0.3642033806623714 -0.21939802312644066 -0.063630166902114635 -0.49857975103939384 -0.86450531155887345 +0.073225255213477475 0.39594224689314772 -0.22429810579462386 0.26685899201645824 -0.42049772349812425 -0.86716085181058244 +-0.0054316856651059862 -0.052550767630393846 0.28362104726226617 -0.025375121845020714 0.19508913440396394 0.98045720601608233 +0.11761213205703694 0.42838992480250432 -0.22123655072324305 0.39995713965662516 -0.32933208601716962 -0.85532138027601667 +0.14844350153724564 0.45723916576246365 -0.21361596781769321 0.50818294361049809 -0.23606824314505989 -0.82826437832480404 +-0.18148843661269987 0.50261140059285425 -0.22627877631435409 -0.51037375338222968 -0.12605795564030922 -0.85066328454819351 +0.14718933479729301 0.51016025989665581 -0.22405198266934764 0.5074892385543821 -0.080886095748347139 -0.85785319971780882 +-0.18209286177183415 0.54891399429535515 -0.22809440428539834 -0.51752116907794021 0.038025324953635489 -0.85482507814076936 +-0.1934228519203503 0.59029642357763557 -0.21546753946091257 -0.52912067801387397 0.17762099521088268 -0.82974820889136847 +0.1170104514715761 0.53952315903322656 -0.24105079970288584 0.41421720767375664 0.0041716601736193678 -0.91016850204692967 +-0.16874843750912968 0.65277180412453539 -0.21150343763254562 -0.46855987645620478 0.32380367033265445 -0.82195062215101944 +-0.15618496366999057 0.58955953407707884 -0.23608559580614064 -0.41374526961563962 0.18279072298757493 -0.89185335311381841 +0.13212073662288171 0.6026061563265066 -0.22800653401843993 0.44321243517283443 0.15014183710845017 -0.88375345320845311 +-0.13765414682826668 0.64984174226327118 -0.22697517761210056 -0.36600173939001823 0.30487983243149352 -0.87925594370469029 +0.055637307756890519 -0.060920103404761172 0.28401319608023834 0.070189598556581384 0.19151134817088361 0.97897743782798008 +-0.05096474671925913 -0.065657271627770797 0.28320187391062324 -0.13298563827860163 0.15703744600590053 0.97859800764337179 +0.10606810523357503 0.64218268681037849 -0.23056200553542133 0.35418756392406303 0.27962846949105463 -0.89238953860499071 +0.14639756019158012 0.63021340501140977 -0.21441292876505516 0.50363143986977821 0.24107964566546877 -0.82959988983877408 +-0.098984732785993956 -0.061655590888408329 0.27877986971366714 -0.17883332507827834 0.13237943449906819 0.97493298598578237 +-0.11686364319506302 0.68377802514084995 -0.22221296027905815 -0.30548929351957771 0.41308369537273487 -0.8579266589645731 +-0.0018087806734722878 0.69203974581105065 -0.23309211943857092 0.040590409720681481 0.47383011979916428 -0.87968030341131132 +-0.052080201139464183 0.69045943889610539 -0.23317882568508808 -0.11480534916177242 0.47875215274391147 -0.87041145905078365 +0.084553659994804811 0.67611162068314468 -0.22563040945229135 0.29228794947388559 0.39582102273955116 -0.87057077400391014 +0.045089916811419252 0.71149987989274566 -0.21742566201335328 0.15882784653872234 0.53080725143104346 -0.83247665252071368 +0.048972274295992824 -0.61970366821557477 -0.21630652713997689 0.11802864844086916 -0.62017165513395234 -0.77553617344108194 +-0.10244699698528156 -0.61862923784528001 -0.21091029144524048 -0.20306749047489323 -0.62217060482519804 -0.75608685533057396 +-0.12782485749878159 -0.091100009497959045 0.27620092943131563 -0.23551471243244873 0.09898371674432295 0.9668169651218067 +0.10839495722897317 -0.59562700165936222 -0.22138624203643276 0.25370711759937742 -0.55867581062613847 -0.78962905031454034 +-0.19870957136843348 -0.59769351692404238 -0.18775756149915582 -0.4063634351915526 -0.5768355465976428 -0.70861097276341944 +0.1967203006763793 -0.55781502137898598 -0.20479933629817193 0.46660756715111884 -0.48681606735847338 -0.73843584341427004 +-0.26410751120571302 -0.4978110479127249 -0.20986334598040779 -0.57388199604091295 -0.39842623859585069 -0.71548304453596923 +-0.29491259061714292 -0.46594152957291857 -0.19913307706844335 -0.6458528527764188 -0.33696709150379028 -0.68507464688458419 +0.28705909624831938 -0.44746155724595971 -0.19536971140242432 0.65069096754488198 -0.2847691208125509 -0.70392315815517259 +-0.31923108878012446 -0.38644352439989271 -0.20869917049371708 -0.69481840475322798 -0.23980683872306041 -0.67802659573045632 +0.30107187373790151 -0.40596152269108832 -0.20056646850144863 0.65545056341460894 -0.26519144185660504 -0.70714783326083008 +-0.086792351283722979 -0.10756556628681979 0.28287756822686022 -0.1824248697723215 0.10121853628206336 0.9779958971291588 +0.31868483089456373 -0.28419024044880747 -0.20924014323953399 0.68943788154772967 -0.11193979634846359 -0.71564299024055511 +0.30304436753668568 -0.069060195800391799 -0.21640922407374394 0.6607842622739234 0.17748426894633826 -0.72928971815574817 +-0.28974284778283166 0.041951164050202938 -0.21183296882630973 -0.62163854899930993 0.32261247677425975 -0.71378337345977039 +0.2945702817485063 0.010233581979859352 -0.20185973834907706 0.65738888676644058 0.27549894724793983 -0.70138447489323352 +-0.25279173852279613 0.083456266728961226 -0.22064046288476297 -0.52631952754089795 0.37448058867932621 -0.76338197753910275 +0.2099481159932069 0.11573099638746531 -0.21587450904257888 0.48344406270302348 0.4493633980181071 -0.75123523263942782 +0.1446010062660717 0.17440454614467216 -0.21289604036630483 0.35933749607054993 0.52120109015730487 -0.77409688510972863 +0.079549481277046613 -0.16699737287816119 0.29485653113629151 0.16794297529584165 0.029341997031379997 0.9853599363983655 +-0.095824979240019537 0.19584402132821865 -0.22232355532042747 -0.17912301794028004 0.57866315768926269 -0.79565312440601754 +-0.070918051788625647 0.25101554426280326 -0.18301573685141959 -0.13620997253975345 0.53645846435172762 -0.83286202903368434 +-0.045591996945774774 0.19849347737192846 -0.22856039273051604 -0.083712149363891736 0.58518993329779512 -0.8065637098306615 +-0.095553280015685318 0.36626182062570561 -0.20989247405181849 -0.23173395069116556 -0.52814468871958353 -0.81692261804552735 +-0.16652539488234011 0.40452822963846896 -0.20174415633814777 -0.46718641158393082 -0.42430605933319104 -0.77569402785149033 +0.16467108957033816 0.40969103701792398 -0.18386418697768753 0.57564760906029766 -0.39896077321819801 -0.71376475929839811 +-0.18111110573666767 0.44746407134998434 -0.21152655764637901 -0.51436999549041162 -0.29155349382118095 -0.80648624785538447 +-0.21930138875310123 0.51740157942892873 -0.19971138709953046 -0.66245067191458262 -0.071238322895966349 -0.7457105394393243 +0.18617464409035878 0.49963831800994551 -0.19595958704592062 0.63121936775255416 -0.13291548506591344 -0.76413060637809727 +-0.21413375623378855 0.56993212173603358 -0.20358816898693877 -0.64082870572176887 0.060760043290110068 -0.7652756281643539 +0.16620227818924571 0.57234279483711215 -0.21273145441434854 0.53931100595511905 0.083318794496916676 -0.83797471163469972 +0.19046519729610778 0.54532792701306976 -0.19735114821314317 0.63182889232881378 0.022405295000417564 -0.77478400446478524 +0.16510291502796764 0.64981211743104561 -0.19418658334136402 0.58846192551951382 0.32990183574147824 -0.73815807317150506 +-0.085526767797788755 0.71314648446035234 -0.21436406325073354 -0.18497673732238618 0.54353028842206252 -0.8187541952365156 +0.12503079665582456 0.6742248643483677 -0.20927357672579028 0.43268401160371006 0.41393621160092631 -0.80090034263196175 +0.091133125999081965 0.70966402664012473 -0.20360941089002726 0.32807799602691551 0.54004058767339691 -0.77506192796984641 +-0.012463959757826326 0.72164971952955903 -0.21530281379083971 -0.00068870038554086431 0.5983071314337356 -0.8012665612437061 +0.05805532881626338 0.73218258873431197 -0.20041415965518561 0.21054954490321923 0.6207476041952773 -0.75520944182847094 +-0.11002775950112609 -0.63824701824882213 -0.19171509120449814 -0.22755419906573651 -0.67462560197151089 -0.70221035569986279 +0.15348257030751483 -0.1347583093715885 0.27699053514298855 0.25152203984504096 0.073380349865494632 0.9650657945061607 +0.12245743359567407 -0.1582515085260543 0.28408683876051188 0.21089907392379414 0.036465656341550801 0.97682743436374986 +0.098930240454870977 -0.63836393847824802 -0.18927334140847085 0.23426549292290727 -0.67708114211495329 -0.69762511839661967 +0.15553654454703689 -0.60058458849402396 -0.19747619432202138 0.37387223190644059 -0.58216380322956729 -0.72201444612873389 +-0.12110554374330121 -0.17085148498452996 0.28190469852236605 -0.20331334767508555 0.095254973211253341 0.97446917485145379 +0.18460085452248343 -0.6038704600496565 -0.17695030653501198 0.43391228460999309 -0.55054757711597646 -0.71317423859549534 +-0.25286539631347338 -0.564651168732341 -0.17256744787037981 -0.60080349739176697 -0.47999518525585527 -0.63924938768294359 +-0.2978354882129548 -0.49614804154228698 -0.17831818915341763 -0.68545461572515731 -0.42289044683843952 -0.5927188538876268 +0.29174631216256164 -0.50149695057035304 -0.16746476946809297 0.54402581100163949 -0.3159402720649222 -0.77731439035409067 +-0.3205095186412773 -0.43329597420966481 -0.18894269939594155 -0.71767912530896183 -0.29756729261363479 -0.62959540934028013 +0.32965490144731691 -0.36938177965143515 -0.18360947607041694 0.75757354156863355 -0.20891630064840466 -0.61841435012339685 +0.33641406017665304 -0.32665059571247435 -0.18618729289655278 0.76369938182495767 -0.11615625964622016 -0.63503620175953535 +-0.36271712904600745 -0.26105444569614411 -0.19094221575668663 -0.79203896055203538 -0.017708187691729597 -0.61021365525226157 +0.34387667724855636 -0.27970989222334364 -0.18312185630602981 0.76133728802746359 -0.096723111443166629 -0.64110075149834278 +0.35208949278083324 -0.22629049181685457 -0.18153494573011064 0.80397656417277408 -0.045588814232211367 -0.59291090753825926 +-0.35255410136267673 -0.12413504601632663 -0.20131890050483098 -0.75753978607170835 0.092065064003818919 -0.64626426213152399 +0.33219101482984442 -0.13420990958528867 -0.19670009768217528 0.75228095675519913 0.10859834859897437 -0.64983056313554377 +-0.34321590110463462 -0.074950859213257726 -0.20065129291524883 -0.74201927864906614 0.19435568248620236 -0.64158651700175406 +0.32890967793974735 -0.073525738131986484 -0.19240968486525503 0.73703385993992365 0.15651493176873643 -0.65748320543986882 +-0.31165730855266571 0.046592604540635574 -0.1868560888470214 -0.71241576823544894 0.33776208370320882 -0.61512644877452782 +-0.27040209642709723 0.10368571560556852 -0.19534875337265253 -0.58975211445994968 0.45482898505669522 -0.66732528638012434 +0.25351794931758853 0.074177898151517763 -0.20873907445282452 0.56989775105235752 0.38328425775072672 -0.72684918043975222 +0.2399459836494329 0.13271886624465568 -0.18265027221725205 0.561290623517673 0.48768250657491463 -0.66866928203107268 +0.18779222343882412 0.18651854216520924 -0.18177227652408995 0.46448463106923171 0.56215522806864326 -0.68427737581741765 +-0.1654403996100271 0.19056139125112861 -0.20251818935588983 -0.36190464239684994 0.56865964673631819 -0.73868209399262819 +0.12724781475629954 0.21931935755782159 -0.18790770624799072 0.3380537281509548 0.62228693439294214 -0.7060302034382625 +-0.031933771256681981 0.24510820458064231 -0.1927945833515996 -0.05311586166979361 0.51441917083430122 -0.85589229574592229 +0.08870545579878468 0.22151654960964934 -0.20087575306717007 0.21346984171167208 0.61447947664899427 -0.75950352168819579 +-0.06865035090954974 -0.23158764388396502 0.29550953668996133 -0.14775470260096174 -0.057213873758707803 0.9873677736835571 +0.004143769553241694 0.24502533094876155 -0.19303665191693042 0.045259997376023355 0.52305371394081768 -0.8510971419116854 +-0.042992805380116045 0.31590503576763906 -0.185241093834178 -0.14612181332767843 -0.4564719654185222 -0.87765697197526005 +-0.15854519101492898 0.36576714133193122 -0.18148749515921017 -0.47128402761453914 -0.54529530800389014 -0.69321309305606804 +-0.13990695103940357 0.3691324104715441 -0.19423252133153346 -0.37530106934971885 -0.52063457419053416 -0.76686944619172226 +0.11892344392279082 0.37686304580228502 -0.19406835799585681 0.41697777721899199 -0.49038571244604845 -0.76527863313585998 +-0.19940748783558976 0.41963431503414772 -0.18603311093254368 -0.59337559525649919 -0.37935968021137478 -0.70992368321103261 +-0.21024708111452695 0.46237434444514869 -0.19552232857289339 -0.62235020344292413 -0.24876764201550097 -0.74215556628014223 +0.16774969442869092 0.44440729421506653 -0.19622526272993451 0.5833181309927874 -0.27427058061083565 -0.76453620363359931 +-0.21539373003759454 0.60458281526394764 -0.19609828809445307 -0.62658256040395988 0.23129774192202798 -0.74424166073889542 +0.19055614391033371 0.59777810468723525 -0.19060044279424709 0.65266543113024955 0.18407563484261386 -0.73494489294426302 +-0.19326347862995596 0.66367409137017364 -0.19011105384610116 -0.56030173607932698 0.36672685169678249 -0.74267986426929489 +-0.12530350422869119 0.72276486327443235 -0.19422527153697966 -0.32886448913227279 0.58283154597987774 -0.74307169021466213 +0.12933621786341495 -0.22926639542857263 0.28247479455343116 0.21169379604096655 -0.045665461832345343 0.97626861176287139 +0.13109661775664122 0.72690851318257077 -0.16953943614945793 0.45153089735697188 0.6102497993831919 -0.65093396829846106 +-0.069712462810462075 0.74189015992415897 -0.19466513500091132 -0.12586224438583804 0.65074669376281258 -0.74879064897668679 +-0.038873435872044837 0.75899683821219099 -0.18124485006733176 -0.047091555521750511 0.71605913432194912 -0.69644935318560153 +0.03868122887019787 0.75306826610327571 -0.18533086557593964 0.12489492448776479 0.70190237430875468 -0.70123770205040192 +-0.023700308367239242 -0.6526815422891844 -0.19580580913452467 -0.041881434670148723 -0.68623784298046608 -0.72617048156165598 +-0.0045329931422068981 -0.66419235510084451 -0.18367529566238838 0.038391627980415663 -0.73551505263616801 -0.67641975891204431 +-0.11964081468040269 -0.21889805097093096 0.28382635012962726 -0.23211286818383883 -0.020268008419742512 0.97247767288414855 +0.1459154674004306 -0.63494377272701019 -0.17162349684852102 0.34616896035597872 -0.67477058384942368 -0.65180649740361507 +0.16385714139851376 -0.26335209573443308 0.27440757482867772 0.25971379208218787 -0.046841064363640418 0.96454894167770022 +-0.1527892218448349 -0.62625492703713959 -0.18538438171435051 -0.31643645041601803 -0.65265397843923423 -0.68841176433552509 +0.1078664411245242 -0.28784536338337863 0.28323892521383742 0.18233643986225562 -0.10643915711872128 0.9774579932305093 +-0.21959177825404952 -0.5862108288889516 -0.18373661983861145 -0.47451685745133226 -0.53193592055964112 -0.70134009468508163 +0.23081840996451186 -0.56922648973149981 -0.1706728018227669 0.47644190342389042 -0.46738775637803642 -0.74468234694379953 +0.2679599867907676 -0.5386140175906835 -0.16444489445542448 0.41938566760310847 -0.43396915738282493 -0.79736217131836395 +0.31616312296840077 -0.46175715017638419 -0.16199241944670562 0.62244048669364205 -0.21178003705524306 -0.75347001030529526 +0.33195957213434746 -0.43082882145488544 -0.15689252814488075 0.73940848758171152 -0.20950903585710784 -0.63982892431207805 +-0.34495645288496113 -0.39288562250257852 -0.17652265406277293 -0.77445676129195185 -0.25031343453708083 -0.58099906142732405 +-0.38377573330186932 -0.20817643073370684 -0.1614787984579511 -0.86185134914712447 -0.0040314514767844081 -0.50714494907498764 +-0.36995684998133793 -0.13666280639200323 -0.17952834439146226 -0.81970780287686917 0.049944864491215463 -0.57060023520300973 +0.35848241741247538 -0.17307984588869951 -0.17043618652240633 0.80421748444812347 0.059255572982516734 -0.59137383673818877 +-0.37082382155346194 -0.083833162323510457 -0.16700171070574893 -0.82466659775074114 0.1913016035115537 -0.53228629425162322 +-0.33891756763206138 -0.0049245257986626489 -0.18046396040526402 -0.78331604576871838 0.25628999631925475 -0.56633153737712294 +0.35069039725712986 -0.091773958209823953 -0.16969486072503231 0.80295798778603922 0.12213432855491377 -0.58338810035775956 +-0.038384399162074583 -0.29220201421540953 0.29495094568256408 -0.1087802959901893 -0.11394340804985029 0.98751392241642455 +0.31973284456700046 -0.0030520995671832196 -0.17975489554180313 0.7480282589637598 0.24075396929337026 -0.61845876989588655 +-0.10431076695569585 -0.27724847169449079 0.28292871093213001 -0.19883459281072835 -0.082693095569573924 0.97653809789834267 +-0.29646359024490548 0.074204510579997496 -0.18775198968011633 -0.679735014701778 0.37637008161323909 -0.62952829281519773 +0.28263216099769894 0.065355312304807844 -0.18830341918040497 0.65251265961681271 0.37241361083596258 -0.65995100689665875 +-0.22926789303131345 0.15785968434840658 -0.18593499370765237 -0.52082528175821829 0.55839046140799964 -0.64570977884033454 +-0.52879915073571704 0.23773015162481448 -0.16610638588249088 0.00035500408303173141 -0.29527410551185429 -0.95541251644840586 +-0.11386434133641432 0.25229658262607901 -0.17293114823173883 -0.30244400179322323 0.5714075679043753 -0.76290301947292583 +-0.56856619388301666 0.24630803272542934 -0.16898914520797753 -0.1952757994745816 -0.24783907314433903 -0.94891683300620078 +-0.48163184428851774 0.23278325998876934 -0.16020584685478034 0.16355465309307679 -0.1493548367166693 -0.97516306749227344 +-0.56554061553241086 0.28778966354028529 -0.17122723637146892 -0.37405750024367923 0.25031133922454485 -0.89298668521264346 +0.041934262661593766 -0.30558835589798239 0.29430046733027465 0.089836143580350969 -0.17667031868676947 0.98016175491687385 +-0.012328280228121047 0.26907327050656704 -0.18262595037648366 0.044554814781781762 0.25348090531509576 -0.96631376846260475 +0.065054445483844925 0.25757271829276651 -0.17496043625988222 0.210224397042621 0.56506862036316485 -0.79781147971744304 +-0.0060312472049503518 -0.30774954392387976 0.29480453452683997 -0.025003579237502956 -0.16804068231871763 0.98546291158580579 +-0.546508640091383 0.27052092742068945 -0.17686686031017265 -0.021160571269507367 -0.025083379899971225 -0.99946138208354096 +0.0012132281091959407 0.29074010277066464 -0.17893097384576725 0.12009615175715652 -0.086301372586756422 -0.98900403812257709 +-0.53477509975210957 0.29994788718183318 -0.17133642643806227 0.076606461189069885 0.29637428627284307 -0.95199460741138142 +-0.013817041513157852 0.31182598545810974 -0.186452066043898 -0.0031721242621727359 -0.4206342211337743 -0.90722477349268216 +0.014490502638940382 0.31196891507985414 -0.18335911234616944 0.16123382696173691 -0.42591684567074634 -0.8902800085462742 +0.14414600322281243 0.37290711224793627 -0.17474676073157386 0.52981869086235167 -0.5178027659480835 -0.67169371769387431 +-0.201765128964879 0.38415405512152928 -0.16131389556396267 -0.59935972828699013 -0.50322839958309662 -0.62251834829246633 +-0.23365611441343115 0.42887947095031831 -0.15767558895950018 -0.71393669110705549 -0.344060007922601 -0.60985007341100528 +0.19658087076580372 0.44718834514123451 -0.17071687013531137 0.71144257489546103 -0.26689360418640384 -0.65009019887282371 +0.084010801629711307 -0.31921422636576008 0.2837792941795293 0.14503927658640201 -0.14630162186402434 0.97854966337291704 +0.21136746944699275 0.4818168125394427 -0.16723204045346762 0.75317384303415824 -0.19074558189336485 -0.62955959619190827 +-0.24250169656860376 0.534883840160985 -0.1764903213594422 -0.73783295126594328 -0.018028023090003866 -0.67474256306361358 +-0.23751446223209077 0.58090815509863103 -0.1798220041828533 -0.72992689301472458 0.10426781535766021 -0.67552568680577341 +0.21762624210639858 0.53644219957740824 -0.17074927356669825 0.77757230807516586 -0.025896210804473428 -0.62826005123724804 +-0.23369203901662972 0.63002862893367695 -0.16953288419664625 -0.70685938331066089 0.28576926562628041 -0.64705930102973441 +-0.1636182285356004 0.70146528930467167 -0.18969501165451452 -0.45412659778033904 0.49531922981769011 -0.74055917640743907 +0.16472488714515307 0.69739697732778239 -0.16780913122253602 0.5736518171896926 0.49337154683599671 -0.65384104292069289 +0.082422022926675012 0.75656922855430986 -0.16625861186220406 0.31372066139969518 0.70844730264221956 -0.63220389589902171 +-0.08790156209057276 -0.66670537251818096 -0.16781857090958169 -0.16289560931551761 -0.74797713936078314 -0.64342460277750169 +0.082061630045278333 -0.66840681779843003 -0.16197834048655069 0.19337919357693287 -0.76320286283991345 -0.61654349209483617 +0.18979453474927066 -0.63814000851996877 -0.14254725002000235 0.29793909735495072 -0.64142146949105749 -0.70697297879286003 +0.22117584568375209 -0.60087795599128124 -0.15639872336411748 0.3579234105075631 -0.53438714055613512 -0.76571614598287785 +0.25281864255248276 -0.58362388922374686 -0.15128941009576424 0.32912496231168537 -0.36983196408325913 -0.86885043449701438 +0.46361224968965775 -0.54248322312481034 -0.15116743699930091 -0.045846826002288975 -0.43556691948095716 -0.89898805731744025 +-0.30639836209003996 -0.52612021021090927 -0.14398150399071863 -0.69034120366004204 -0.39351984381858762 -0.60710061361375567 +0.46261021759552112 -0.52835350485038024 -0.15597110994205471 -0.082719471541237766 -0.25113391117662126 -0.96441134775834692 +0.5201354738630819 -0.51966761965285668 -0.15636205091294234 0.030062049099473017 -0.3551315696181287 -0.93433283227365238 +0.46516778358221833 -0.50483987441725231 -0.15836175447661943 -0.11493455458256413 0.061340496121448693 -0.99147737830899707 +0.54341307567582042 -0.50390257160621255 -0.15841306024499849 0.016917511023308907 -0.21189448065208893 -0.97714611337811585 +-0.020138388586734113 -0.35679116027981567 0.2832923764538719 -0.013874429076510113 -0.20009891445188105 0.97967745950030916 +0.60203350926618748 -0.49774016531255721 -0.15885552960701183 0.36204475685432586 -0.19591551271191238 -0.91134006052248173 +-0.069811259057967923 -0.33006493666868775 0.28373474599454029 -0.13911281831286157 -0.1504529875878218 0.97878063032885543 +0.49535993413287471 -0.46649588192149505 -0.15517751095683796 -0.15375283313843036 0.19187143537936041 -0.9693015106701165 +0.53396531596856223 -0.47312605040318051 -0.15937588897975527 -0.063355747899730586 0.047678533129970176 -0.99685144664921865 +0.58343244344918854 -0.46391220244085385 -0.16342278087673168 0.17392664215093168 0.061842712833247646 -0.98281483608028952 +-0.33123486575987082 -0.45100821250276368 -0.16421960482684911 -0.77596206971471948 -0.35307843375577175 -0.52270305717550569 +-0.56414496352879517 -0.37310285012346855 0.28151201112490915 -0.45534556824761452 0.7127235477333832 0.53355932939420803 +0.61600779766864078 -0.49022149259888242 -0.14857680838932988 0.76415432635653113 0.010688292416385402 -0.64494490145733996 +0.59146446045771561 -0.43088811892982182 -0.15543770929421552 0.51979532107646209 0.31588382377379515 -0.79374443876166068 +0.050240137343953384 -0.34301174046358479 0.28367303222132512 0.089539686489712667 -0.18119132060963819 0.97936323694483207 +0.56980121458716693 -0.43174588063613301 -0.15907455350508348 0.01783782934205233 0.27913095471056837 -0.96008735121692468 +-0.36686246010624091 -0.31265829405693102 -0.17765136447513916 -0.81956714937516439 -0.15917434230458882 -0.55043002862940604 +-0.38045043552863927 -0.32458968693073631 -0.14941427362741611 -0.87012196208139936 -0.20223702498681043 -0.4494307030322916 +-0.38359527571124635 -0.27833706624501087 -0.15702349752765427 -0.86918348970385939 -0.076781446494516126 -0.48849224221110282 +0.35923035745603471 -0.32263324608782695 -0.15587654747953447 0.83117240334303322 -0.13989946075798823 -0.53812691514232036 +0.38306341886194717 -0.21498797796332569 -0.1338215702330573 0.88656103806681286 -0.03033034192004172 -0.46161628669373089 +-0.38235210550406057 -0.11474837539618576 -0.15714100335738163 -0.86951433682886159 0.10349382252554697 -0.48294290216144148 +0.35392520867658545 -0.050096958672952774 -0.15153135824999639 0.82025311824427649 0.22562818930403389 -0.52562034036167593 +0.26855745126868175 0.12794990829984298 -0.15880418732834117 0.64784845008059078 0.47250591889157456 -0.59752032797270171 +-0.18559524479236358 0.20389877306618942 -0.17999487662583175 -0.44794255279164746 0.60948801156099675 -0.65411912765330782 +-0.46432394115832981 0.19356437605574955 -0.1494177819306077 0.061243323057831776 -0.33151773277360719 -0.94145910598256 +0.22645687578054816 0.17255179484629085 -0.16226092851313201 0.55071451565729435 0.55859089738284018 -0.62023361050928616 +-0.49694858203179992 0.20842472007058629 -0.15771633860494075 0.0178955760690769 -0.34937844403913931 -0.93681078729802525 +-0.43317146086092956 0.21572654387026341 -0.14799580331594045 0.21681686332991454 -0.065138050013281754 -0.97403669449166252 +-0.59077264001034802 0.24343569344147042 -0.16090925219595442 -0.46183723900984497 -0.12334384712245328 -0.87834654894340891 +-0.4719328802478524 0.25964519571927808 -0.15874408137656931 0.2935964790552113 0.091913298949555647 -0.95150042194556728 +-0.59168155236669073 -0.43498736763560392 0.31958087846100952 -0.55059334990797981 0.4489796834198968 0.70375010260267667 +0.15402327333956056 0.22996599267342377 -0.16061422055027702 0.42278880939015956 0.67286214545203749 -0.60704707879383824 +-0.061637999999999998 0.27444299999999999 -0.17275399999999999 -0.20709674452565566 0.25999834850622738 -0.94313933073587264 +0.067767574567983546 0.27044909316733834 -0.16687485516485728 0.33499319505910724 0.34677123400913312 -0.87608747881012083 +0.10366273856346869 0.25877778613848357 -0.16045758200515137 0.35524067308207019 0.59113885728104665 -0.72412631191019161 +-0.6077048411001722 -0.45294118869784938 0.3017140844888857 -0.87263450469960313 0.42425300070713612 0.24190579281751259 +-0.57400930198294164 0.29626705995442976 -0.16174239543156321 -0.60647230627060278 0.4830743938008828 -0.63153026196748951 +-0.52348173887406801 -0.46260720113320208 0.30267105885776213 0.55719329189452105 -0.015699658086091788 0.83023439835008439 +-0.40136353581373729 0.22987864824400733 -0.1388234960509529 0.3466341763878778 0.1614474744519151 -0.92400187269993983 +-0.028427964387926469 0.29073981500713508 -0.17846702699509551 -0.14101767354662287 -0.10924652846402196 -0.98396098081481753 +0.078145197056423449 0.29037702786971492 -0.15944276080483577 0.38785152322085664 0.0064575151435354184 -0.92169924402346792 +-0.49620623837041961 0.2998231508831537 -0.15859173043790412 0.35019061970689191 0.31944254132259797 -0.88052427147845469 +0.062741611269916023 0.31141500040110187 -0.17011480069073623 0.3234683782404551 -0.37145691717110457 -0.87028039559915915 +-0.53757517317305614 0.32218035098441311 -0.16064393718028197 -0.061659832488894548 0.55271649141117751 -0.83108516120765819 +-0.14516842156697474 0.31334946880217002 -0.14489054848093616 -0.53388075009575053 -0.38863182217775322 -0.75095715687913778 +0.1009409948144826 0.32315737114755233 -0.16255610673456605 0.42750685068268351 -0.49725598959364414 -0.75496647172746645 +-0.4944950600265805 0.3187401495422853 -0.1481007734303596 0.38517838924683245 0.58760447261830395 -0.71158878027705053 +-0.63014031059040154 -0.51101500227098295 0.29727423654774099 -0.81851259131702192 0.047759018314376234 0.57249996858090824 +0.1769041489305028 0.38086983007989472 -0.15030771375818378 0.65428247765460257 -0.50738264352091023 -0.56078274981305143 +0.1956479730141901 0.4120877398364251 -0.15265522235295981 0.73372915887935541 -0.38875127457337749 -0.55723780195511508 +-0.23981539405480612 0.48081696885344061 -0.17347173435171237 -0.73881315692608218 -0.18131281285887302 -0.64906146322680391 +-0.25605097655827064 0.59756782319879576 -0.15358694289051611 -0.82354026008217773 0.13991207402328901 -0.54973270920173634 +0.21465093090053441 0.58996596170561177 -0.16663616085949495 0.76968488402047397 0.14691556815854293 -0.62128978354954634 +-0.21546461619451254 0.66370186601940784 -0.17041088063444526 -0.65673536275921784 0.37013551695172725 -0.65703756543472935 +-0.58547312070247404 -0.54501486732386162 0.29266146133867466 0.033612483748341866 -0.6658880570029212 0.74529410065902302 +0.18155887148781605 0.6720835450340219 -0.16772051714355704 0.65833626781120969 0.38427591419093854 -0.64724445170053457 +0.20068785273546666 0.63906919933396744 -0.16455377691613582 0.71425140791968944 0.2897968866911606 -0.63707353637461051 +-0.17024022781365761 0.72661392962196292 -0.16387712615362959 -0.47733465126709906 0.59643416096223878 -0.6453045190737372 +-0.020724787095138808 0.78552499242399332 -0.15102583667254751 -0.0026350003893413458 0.80863345252534091 -0.58830688949722099 +0.044528675093977288 0.77798094545923868 -0.1543521932906306 0.14707760545299087 0.80097399845311856 -0.5803523341697161 +-0.056469364477372441 -0.6869492231139922 -0.14991296081835925 -0.13298283449032347 -0.80750556523705008 -0.5746741057696193 +-0.02105692355795552 -0.68679693366570704 -0.15413631281287693 -0.016505348577392689 -0.81132709724629082 -0.58435940545373821 +0.052159449653669365 -0.6998653813057808 -0.12794402480722206 0.15516466164554066 -0.84500002731477875 -0.51176057059375735 +-0.12094899358891364 -0.67436095947124475 -0.14768211788752456 -0.26702447145056768 -0.78104322013553662 -0.56450812210884682 +0.12556690228064116 -0.66918994330617998 -0.140764016805138 0.30115697193246743 -0.78560724572133744 -0.5404865712731457 +-0.17986302239369722 -0.64058456803458708 -0.15598162570625129 -0.3379690964330706 -0.73219312973314421 -0.59132910517561788 +0.2108114391899143 -0.64344314838987582 -0.12818294348786785 0.20658687558560654 -0.69069344544558486 -0.69301113068570852 +-0.23074318528083188 -0.63971719816466266 -0.1263200618099021 -0.35241712066123165 -0.68422623556700057 -0.63846427592047639 +-0.25876941977362999 -0.5937898102221244 -0.14538737222950454 -0.51284869770141428 -0.49770884683498956 -0.69947989038152358 +0.23626037413151324 -0.6197345751066583 -0.14052674051989048 0.2502251107161822 -0.52677989136407666 -0.81233634660867282 +0.28942818734635578 -0.60571660122101045 -0.13471256438111062 0.18681326565490822 -0.36311152977939354 -0.91282573403504419 +0.32427714192004181 -0.57842088016750126 -0.1398612242279263 0.081928215304265486 -0.20259323426046569 -0.9758297745861938 +0.36972027082342951 -0.5814953654055991 -0.13486722095949472 0.081365639171916956 -0.41824437378103857 -0.90468297019599764 +0.28344227766559271 -0.57016257588649255 -0.14628371345272695 0.25875087953368653 -0.23620818474843777 -0.93661821239947685 +0.42036770930453127 -0.57015485795425769 -0.13555491184503832 -0.0095152528028083164 -0.5049949401322783 -0.86306985256402924 +0.52055938815466352 -0.54305735095833896 -0.14565709315221076 0.15614079808336206 -0.5698765823137748 -0.80675940162124049 +-0.059849161421049568 0.064508548986837555 0.25197646158898973 -0.10725728565175956 0.29828699154474536 0.94843067503629475 +0.31203872175575409 -0.51599742931117554 -0.1511842997060468 0.3526848157968086 -0.18804422021517186 -0.91665303793204056 +0.39362980549379828 -0.55105816426055865 -0.14153309783066942 0.018441561244042701 -0.13950979642739367 -0.99004895107245561 +0.55205826928746926 -0.53512441937546262 -0.143274513694537 0.20879333299247921 -0.5962233740669316 -0.77519225506588718 +0.59260988359248801 -0.52596180073369669 -0.14740488271522689 0.17169324254532525 -0.53196334571692416 -0.82917816497899188 +0.32261510300053964 -0.54414813200925527 -0.14428810224463445 0.17207122831352495 -0.044130095766762141 -0.98409553755430235 +0.41553357648963829 -0.53580999055637246 -0.1448576108417865 -0.12013267952332819 -0.1505521351875137 -0.98127579910085716 +0.62732335512812432 -0.54018764531998109 -0.11764684160980413 0.66817637549118614 -0.50858479701967252 -0.54303023440313158 +0.043403383613866087 0.013439194334697646 0.27069080882149343 0.058280042829205604 0.27553362399755493 0.95952314128143879 +-0.32003586171462189 -0.49753634857493761 -0.14683625068845632 -0.77373211269750108 -0.3388037574514009 -0.53530424220014705 +0.40838002207072366 -0.50422957411522484 -0.14347523099861315 -0.17721271303484826 0.11551759851847293 -0.97736960192721034 +0.32727649635779249 -0.48253453014141001 -0.14932577395206853 0.49373761173658931 -0.080730929094821088 -0.8658554659087947 +0.34601326462588061 -0.49667357949474039 -0.14188212145230769 0.2359479075008078 0.086128595182577442 -0.96794134638306772 +0.37508248513235765 -0.51011938661623757 -0.14162676841311592 -0.044255330796044039 0.15723071975286929 -0.98656979806911149 +0.40200348288095494 -0.48349514097311941 -0.13760493962936549 -0.18396412746462462 0.35910189521453378 -0.91498799372423978 +0.34615503249232082 -0.44191394160016562 -0.13852488525410711 0.65169606437255045 0.014608625228658084 -0.75833952010313765 +0.46159097914927028 -0.46298099432246476 -0.14639792670775098 -0.2555522758936018 0.36863573122489962 -0.89375652833972863 +0.62267116409174428 -0.48387476988143041 -0.13405477642043556 0.90997592261133387 0.175243286076991 -0.37581060516248022 +0.52904937414921926 -0.41837743097335278 -0.14694760075611182 -0.23375192245813017 0.4113125135452978 -0.88101194937876837 +0.5633360868645293 -0.4007698513607183 -0.1441936851726586 -0.010980542053758001 0.53685437432088323 -0.84360346636837535 +0.35603011518332828 -0.3994253282879785 -0.13287353274329694 0.83295379589030194 -0.062802275238875521 -0.54976708535229513 +0.60142790741748076 -0.4216400006843638 -0.13909076918241298 0.79818153778684686 0.43299259328291473 -0.41883606207961699 +0.084178277655458378 0.023957523025925909 0.2626723791948895 0.14900529035078205 0.26737431682404017 0.95200230995011603 +-0.37906708851780962 -0.37281587312719022 -0.12913963513486543 -0.88153778312018682 -0.21790555974692127 -0.4188177455205635 +-0.40250734058989895 -0.28287417146782257 -0.11823231823712128 -0.93691760530542401 -0.096288142457543788 -0.33602677644917744 +0.38286013499569793 -0.17603008969803646 -0.13263476689664822 0.8924690282412735 0.051362730963526573 -0.44817508129975869 +0.36805304310913256 -0.10251498274269077 -0.14416121672201238 0.86523676926859638 0.11425632860084993 -0.48817089679772635 +-0.36402958223449161 -0.00362966087269323 -0.14055276679870726 -0.86332635897955268 0.24957494592988655 -0.43861138181219461 +0.33908179220795076 0.026428033552622132 -0.13592483686713414 0.83354763022307732 0.30150200501405805 -0.46291995973601613 +-0.33503309454865227 0.06393733505836896 -0.14644093632770178 -0.66344494671215704 0.27096193488030623 -0.69743847938583359 +-0.31443976893017583 0.10389054891626942 -0.14949137986850158 -0.62580323681766237 0.30514111840775815 -0.71781557982910849 +0.30786168433634648 0.058084480770647096 -0.16372588399191046 0.74455069540548802 0.3541896128059388 -0.56585685482424197 +-0.29470245132151685 0.13353376303337128 -0.14890520402985544 -0.44821904698001636 0.44597342005305091 -0.77473053026875793 +-0.39980056460528174 0.15165600215904984 -0.1287912199094331 -0.039634747064660768 -0.368110123517987 -0.92893703973342168 +-0.095958823625179421 0.018070448350942847 0.25996255335314122 -0.19086030753952973 0.25899957695104564 0.94683238334200182 +-0.50574625682994312 0.18341785777230257 -0.14242497752534522 -0.15240309031312382 -0.5509494447270239 -0.82050472723683565 +-0.44405284219359392 0.1615920736328286 -0.13612771711030816 -0.076993724531394109 -0.53206406624952018 -0.84319617870861463 +-0.54694265635613037 0.20931785281177717 -0.15120827501766415 -0.16078794201563229 -0.54711673233210922 -0.82146851364164453 +-0.42720046530392553 0.17307673495378395 -0.14064106475485483 0.096001016338681147 -0.30313982204650058 -0.94809812422109363 +0.13722538282137153 -0.012457891405124433 0.26148331223265875 0.22228964449973979 0.2151907852071783 0.95093650677113939 +-0.37595583807445054 0.1735370127522996 -0.13219115571146511 0.1821013252581668 -0.15333044998146891 -0.97125119327993603 +-0.26102066222407672 0.16596007429348703 -0.15017024288396774 -0.49154627698548614 0.51024673897545303 -0.70571277652216535 +-0.59266958248042845 0.2123453761270449 -0.14635562894656207 -0.20727345264341773 -0.54140063080475775 -0.81481474753068095 +-0.40048028573215938 0.19510075588766967 -0.14068984263063983 0.21344973675450246 -0.070360956783535822 -0.97441702860733048 +-0.61164678847673404 0.21861525680064109 -0.14296020976682844 -0.55404487297973493 -0.36289035690823301 -0.74922951596148724 +-0.15797485374643283 0.25027718901173424 -0.14933572436432624 -0.47219550706869234 0.60311432079907779 -0.64287208615027569 +0.19754694763066138 0.22011137152276691 -0.13940086227303311 0.49797284242881945 0.67562381360175783 -0.54365017308704977 +-0.41515563958035373 0.26028673251888151 -0.13435911229680272 0.40424654571204105 0.37613166654126984 -0.83373239094134377 +-0.13818034917874389 -0.020593283044922917 0.25916796045904777 -0.25931179267123433 0.21669667191661215 0.94116945687899112 +-0.11232930677136388 0.27178743099649116 -0.1616327466564762 -0.35873320898888778 0.37228454913712627 -0.85598755787820979 +0.10471731577271311 0.27281527456283428 -0.14987314920539996 0.51948838662109009 0.35385574406294007 -0.77776469999575049 +0.13481024084635074 0.25573013381133897 -0.14297329150116844 0.45743628874430642 0.63135782300590548 -0.62621030099246944 +-0.11147304970727562 0.28794757232490387 -0.15831122698231079 -0.43784847798659365 -0.0093905520025786334 -0.89899973740703076 +-0.59067382465081752 0.28783047301792652 -0.14164515832785346 -0.82266315286387814 0.48714214267930622 -0.29311750160281769 +-0.10722169350465002 0.31200770968398267 -0.16525327369733972 -0.34986967012681219 -0.3940045188662647 -0.84991273260160005 +0.1053806697330695 0.3050524069298744 -0.14922766952622035 0.49272589242723869 -0.29981128756623199 -0.8169053719860454 +-0.41751432785275777 0.28020411277228807 -0.12246061651965273 0.47444061537132304 0.6122122962018578 -0.63253632849452135 +0.13034200000000001 0.32229000000000002 -0.141315 0.57715762219832711 -0.4895981850652612 -0.65359214829982104 +0.15529811839435415 -0.069122120283165889 0.26790632923730923 0.26631408071801982 0.16825451843934972 0.94908757627315865 +-0.54434935470666668 0.33975843382442389 -0.14210331556308803 -0.24687162151993908 0.84469488807403437 -0.47491572783990904 +-0.16383023907539379 -0.055995736094092585 0.25882402355877671 -0.31516190596501054 0.17613307591965496 0.93255032711140196 +-0.50796967060374609 0.336976740522686 -0.13609351473575049 0.31303376530242366 0.78841745497684323 -0.52953543646145573 +-0.22698276423090474 0.38606997172954527 -0.1354504855336798 -0.69058586365351737 -0.50009410460189607 -0.52249119749939654 +0.18062336712279881 -0.097839692928080924 0.26450189844637234 0.3323460480911537 0.11905235410868401 0.93561351064388387 +-0.25673289979276681 0.45240426941673406 -0.1382723809692521 -0.82203302297830261 -0.25640473298692029 -0.50844697072070333 +0.21977272967606742 0.43647123785029684 -0.13417073752206135 0.80709860695244839 -0.33999229075223519 -0.48269771170419351 +-0.26484016231193175 0.50962326774959066 -0.14670305528349531 -0.83619776875200935 -0.11060803674018763 -0.5371584065642484 +0.23942417902687116 0.48564743348192746 -0.1259204923124097 0.87012139738940064 -0.17390747308649571 -0.46113441056788057 +-0.26485007368827812 0.54174758227074993 -0.14935296708244805 -0.82651459628647816 0.0098669438988571185 -0.5628288066041901 +0.23297658169933558 0.52402890660266987 -0.14545661005938296 0.85242706955757253 -0.073269400069922899 -0.51768686104524897 +0.23745427897057414 0.56869310617686852 -0.13628556075153364 0.83836458824721671 -0.023974854727424041 -0.5445824304123974 +0.24492153321035348 0.60240197476774826 -0.11806952163532761 0.7185833175346692 0.13174892372218841 -0.68284715482962488 +-0.2018422040570545 0.69784654587103123 -0.16157098905394002 -0.60480120346042998 0.48410080777504005 -0.63234635462250377 +-0.14214953656214047 0.75425003154671544 -0.154540438751291 -0.35829165498252052 0.70205460621758364 -0.61542377258159287 +0.15680492357200726 0.7370446225663192 -0.13530976157765662 0.5298074195486876 0.68031957503425866 -0.50642805413638614 +0.11663080063096146 0.77007778839759633 -0.1259081463410188 0.42712621941876144 0.77355815393020388 -0.4681569984237457 +-0.075501311712196761 0.78174180022315332 -0.15021504722954193 -0.14536065639376658 0.80975615108651855 -0.56847625750801634 +0.080766000655223158 0.78138902624716033 -0.13455078917608029 0.30391304409585707 0.81096901645661346 -0.49996611482757775 +-0.047654858066696448 -0.71114565158256848 -0.11266306178220231 -0.10430360685178083 -0.89972257200876671 -0.4238160579964364 +0.016954465071680441 -0.70909005410779347 -0.11907347708468154 0.045457486454033365 -0.87586229153683459 -0.48041530282571798 +-0.12139252196123496 -0.69249937717283627 -0.11754752058482856 -0.28041833320247977 -0.8610142385423597 -0.42428768475088169 +-0.18994381568806462 -0.66151491910579696 -0.11861423428302198 -0.3102100491500307 -0.83983356647026297 -0.44547649324759436 +0.1763322869358781 -0.66301065799255265 -0.1175127871840104 0.307807683546934 -0.81710302704937432 -0.48743930200202351 +0.25868938687832987 -0.63640558604329311 -0.12617640787460049 0.15536293479415453 -0.56759096958022526 -0.80851892355289201 +-0.19490887635272397 -0.10138019672232357 0.25522963658651371 -0.37266153756042475 0.097979421737268965 0.92278026167616445 +0.31751236475054756 -0.61687871781869752 -0.12391260635916437 0.2068913199349276 -0.57887160976275354 -0.78873546968946551 +0.38696466330518975 -0.59630245355391143 -0.12178429733233509 0.20824128708523859 -0.62507793532456291 -0.75227198613497825 +-0.31995884127371488 -0.54008842003221269 -0.12165786265666631 -0.60580679537267568 -0.29898241058893593 -0.73729752802970794 +-0.1651927033334841 -0.11467781718691783 0.26657287121906126 -0.34296595419957349 0.08795991999314326 0.93522051235779458 +0.54362088380858697 -0.55457356095730481 -0.12260372919177794 0.16225640527764593 -0.84700224203160268 -0.50622135567339965 +0.36894196908969018 -0.44974077107788912 -0.12477360009066252 0.36124239761874355 0.25645588362280042 -0.89651230327191289 +0.38690851312517727 -0.46162566303010627 -0.12707674496916815 0.034903300642610581 0.44086259817291945 -0.89689571809462576 +0.40990742253575474 -0.45972728334342144 -0.12658265308982508 -0.18833444957801626 0.52292986418674547 -0.83130890302208205 +-0.36306735051060346 -0.40148677031917845 -0.14491431222066925 -0.83371501040370111 -0.27992351554993566 -0.47598540615203883 +0.48131663995781704 -0.42542238697548607 -0.13308353955940638 -0.31860767466109796 0.56059586866627709 -0.76434378500865052 +0.4659217402600262 -0.40884658170413035 -0.10916425797941486 -0.39098974308138518 0.69604102144009405 -0.60220753671619121 +0.19436963666691787 -0.16240933322869644 0.26487244110315022 0.33357532748636542 0.029989399368070248 0.94224632491610516 +0.52383238671769927 -0.39488728078370805 -0.13014509273753205 -0.30322460910319537 0.61500313019273967 -0.72789146600804888 +0.37037619820683609 -0.38206258012397409 -0.11267489090679761 0.8738260911182556 -0.026573551785542694 -0.48551190389782534 +0.57878594678570239 -0.3919328981672015 -0.13575585787056621 0.37218182336817529 0.68332586773154547 -0.62812932493497786 +0.37229925415016613 -0.32557599601718024 -0.13161137548127941 0.88650944699942447 -0.14807868138420593 -0.43837621342893307 +-0.40110394031900015 -0.1709167745858966 -0.12531705148958136 -0.92335198884752567 0.013876978499029788 -0.38370370620969574 +0.38446957852588548 -0.10570758802668845 -0.11203295494900622 0.92782768634105217 0.11717226241017258 -0.35412772467104542 +-0.3775626942956436 -0.013815398628282183 -0.11815784699860213 -0.91202814950886069 0.22380399695363459 -0.34368070276205609 +0.36987993731289964 -0.057205682398211777 -0.12573262966365731 0.88383278023629974 0.20170359074893632 -0.42208444422740626 +-0.35297774834614293 0.057072814370013436 -0.12561380280800005 -0.73857044621332368 0.152787123150395 -0.6566352038839206 +0.31978734371954909 0.10370857476625295 -0.11080628892447875 0.78040438316052552 0.18248224993713533 -0.5980545353073754 +-0.44562132273143124 0.14909226547761872 -0.12790749496778131 -0.10122311614496923 -0.56110451098292857 -0.82153247562863319 +-0.40257848004420693 0.1314259232893453 -0.11868301133137416 -0.13835678811523955 -0.51816353382237745 -0.84401655872331116 +-0.37437892946870494 0.11182330812331163 -0.11741373909310626 -0.29184531775315425 -0.30040103364320364 -0.90806691906029446 +-0.33454508021375989 0.10876753367427211 -0.13495512102906065 -0.54051754744468195 0.1835687777942118 -0.82106229040403833 +-0.49891073870449887 0.16252573384122027 -0.12485727971297078 -0.22776638102963845 -0.62933344325467722 -0.74300867617671429 +-0.35488427198541778 0.15229047287405301 -0.12815630660901633 -0.050343835817650458 -0.048286491138130737 -0.99756398941057034 +-0.34645402584819257 0.12792872145443351 -0.12805260780219638 -0.28776353895222168 -0.020525521800179702 -0.95748151345314425 +-0.54909837275413897 0.17527526884329087 -0.11939637524454613 -0.16678643753826353 -0.7019633883090719 -0.69240861182320812 +-0.31791322715359538 0.16277425254374875 -0.12895260689989313 -0.15604647255373233 0.20035647613312671 -0.96721599494376287 +-0.29027194538201728 0.16896550166936986 -0.13231315576541569 -0.19254799713578272 0.46401124953513684 -0.86464954120374093 +0.28277295257973872 0.15262852439420493 -0.12296146431864063 0.62697425069742974 0.42592652939666631 -0.65229585351932706 +-0.30953322519626625 0.19487921865549246 -0.12281626132669911 0.046558912509363636 0.32161272691595244 -0.94572592306208381 +-0.27062436379467603 0.20454138680686634 -0.11716103311195748 -0.062407387835572155 0.61821339521699692 -0.78352888646036123 +-0.24487725319301029 0.19944349752886575 -0.13229169754455733 -0.39424689429683829 0.63273502635389278 -0.66649514083917838 +-0.35463041166514059 0.21158890418687989 -0.12723995079312655 0.16250717892636665 0.14777102825675706 -0.9755793868288396 +-0.15837172605951863 -0.19933091025176175 0.2746582942442643 -0.30718742097476437 0.02557040821539934 0.95130544128506422 +-0.20573991013305856 0.22052200671264147 -0.14397065888390667 -0.49049306756650191 0.67722296891785516 -0.54843924097322638 +0.2446334452428216 0.1983941648525186 -0.11774909966157066 0.48329263518186782 0.61514209481096715 -0.62291928206673863 +-0.33860953110417435 0.22749905699206749 -0.1174927353195728 0.35861410859145354 0.39303334732012946 -0.84671170360016379 +-0.15310689896936355 0.27144339920759686 -0.13638780048424043 -0.6627017273036746 0.37822808741853919 -0.64635124701391267 +0.15131574538402631 0.27568820994878418 -0.11156654937124258 0.68027187591773131 0.37176429716605874 -0.63168147209491354 +0.16861331004298596 0.25657274825120535 -0.11227031984466385 0.53776543938964039 0.68426129836239791 -0.49253914337996785 +0.12390054179315281 0.2872730127928087 -0.13254542389145324 0.59650838031573705 0.013646984666470406 -0.80249081740703365 +0.14371808212613385 0.30510229178227838 -0.11781986009457901 0.72917477682483445 -0.28103135695099701 -0.62395955097484823 +-0.56912309936917627 0.32326068215720127 -0.13067496316610239 -0.74142380398711294 0.62552280618631806 -0.24292377780298308 +-0.47726749296366561 0.32748522855016948 -0.12173713016090143 0.48961198338188139 0.76665276840640539 -0.41535964948903598 +-0.17182193965686832 0.31590736088568805 -0.12189024654755103 -0.67219745222091198 -0.4032260645898017 -0.62093423650426605 +0.15751580223036354 0.32857483479727989 -0.11752261638298134 0.69975669651955807 -0.49065149935448088 -0.51923180936575419 +0.19958895206901001 0.37895332943380278 -0.11567628858097159 0.7586021044226261 -0.51080267709650329 -0.40447926057661898 +-0.25876098683589704 0.42160813528412688 -0.11671850722328068 -0.82823958244119389 -0.36618991601851159 -0.4241746568148459 +-0.28075602938735644 0.567366097276361 -0.11809582095745813 -0.92930942936378813 0.04193040309385887 -0.36691392150194668 +-0.13498389768764871 -0.30460421489511352 0.27491219484111629 -0.2357914469551434 -0.08839267591286043 0.96777535016540051 +-0.18070402459854068 -0.31047234375125354 0.26081559658315329 -0.32401489919422705 -0.092102715577555103 0.94155798275167035 +0.26048254660854547 0.56718158487379222 -0.099944886021543694 0.676354450509286 -0.0955862889212893 -0.73034780662814192 +-0.26270712338974389 0.65795140464527013 -0.1163379224747 -0.70506167446459389 0.21146881878386253 -0.67688180200337855 +0.22965717214797007 0.6400404912739015 -0.12711287027216978 0.71775493775852917 0.24487477353705545 -0.65181607421758614 +0.21480743854240636 0.68802394655172638 -0.11795568254644662 0.63249597918779188 0.38916155898670368 -0.6697030068010108 +0.19727387354489556 0.719432798117985 -0.11099890233308046 0.49825436396366207 0.44053503714109121 -0.74677404202493791 +-0.095429889105322296 0.7620657419631669 -0.17026604845583732 -0.22427879493213498 0.7277203114236126 -0.6481683195631438 +-0.058541139651310026 0.80566229780384424 -0.11443772215207422 -0.12035588554337764 0.89242943602878788 -0.43483808771128685 +-0.5446954991300158 -0.3453809633046559 0.24387288509790869 -0.046902431871526498 0.88077653570500825 0.47120362481205619 +0.00019833804689384227 0.80245533509703237 -0.12309674310372386 0.059348589923066866 0.87768749210644814 -0.47554433134465718 +0.1362719461297931 -0.32793484042743171 0.27717076874334656 0.21591301716644296 -0.1263375347874981 0.96820472851659889 +0.055849778884055734 0.79806212589620751 -0.11636161516446175 0.18662808008523243 0.89057461739332178 -0.4147852583909396 +0.091777754692966784 -0.70272156159188004 -0.10248644923125522 0.2692622916735522 -0.87544861555554232 -0.4013571225287913 +-0.26283742373592145 -0.66294421960878402 -0.087323491554508359 -0.2220824014763309 -0.80185523024226346 -0.55471397736818606 +-0.2227196126650276 -0.66097785551469423 -0.1018583066674551 -0.17453408400734391 -0.8576047199217891 -0.48378920811401649 +0.20098585613586106 -0.66146964102279049 -0.10644662827727866 0.1139541021824178 -0.88120223875100967 -0.45879960442006434 +0.27510633594103634 -0.66264076574403741 -0.097146635801517403 0.17795237828100477 -0.78822685032234852 -0.5890936967028626 +0.29585032387934829 -0.64272382744980527 -0.11061135528939903 0.26099456377719654 -0.66932179296287098 -0.69562214969314962 +-0.25031130103491356 -0.62414912764555619 -0.12800168255284139 -0.45596243812030118 -0.48751927210595652 -0.7445960074756437 +0.11072408669766798 -0.35247353856791741 0.27851568084566564 0.15763639383357542 -0.16094793370670171 0.97429283584284299 +0.37986470422710872 -0.61385844647796739 -0.10525304527800643 0.28183056002912471 -0.71899251464741565 -0.63531197007033924 +-0.10197256986097425 -0.34394053439757755 0.27740242612540528 -0.19153703230603356 -0.1402456080245908 0.97141378139555445 +-0.27802135988472149 -0.60368356335646534 -0.12258154775667401 -0.49526286602018682 -0.3864690561444018 -0.7780465038699973 +0.47596712789885309 -0.57048496412084226 -0.12578656484210216 0.2382851933401342 -0.73897469169122421 -0.63018772732790884 +0.47592005015092287 -0.5803519595556943 -0.10644641533656207 0.29064939642218474 -0.88477045619361572 -0.36428583311235269 +0.59030735966462522 -0.54637435190891848 -0.12360532901992685 0.13981765967856502 -0.85042600090648079 -0.50717515615832309 +0.63648780960902385 -0.53337518742423407 -0.10150738395642755 0.91980911299523171 -0.19192904907680064 -0.34221986466510096 +-0.34114857819919631 -0.50283903112472839 -0.11542586338844862 -0.66442926578703754 -0.27644402887656405 -0.69434317859700456 +-0.35413312571208078 -0.45993372174720548 -0.11756953529950076 -0.79149157582292762 -0.27314869814685966 -0.5467457124678845 +0.63588340468940285 -0.51285626585518806 -0.099573281871158548 0.96357659452277078 0.16637182437821935 -0.20938138059761335 +0.6221146644483686 -0.46386797750517772 -0.098466198970344365 0.94478189802229506 0.31365212934723841 -0.09491842247600199 +0.38029548290196097 -0.40914331525586278 -0.10256992942138471 0.71418172606281027 0.24348888637711938 -0.65624509473882953 +0.59996658585170448 -0.3998673824709762 -0.10423670416903885 0.88786957393749755 0.42777245931172742 -0.16940585211391959 +-0.3906696582703042 -0.3745701025506607 -0.096053799411841667 -0.94830632508648283 -0.20648747735272061 -0.24099384950135061 +0.54261613905559636 -0.37027488636011996 -0.11505998972098386 -0.16175464343777024 0.78487983662601946 -0.59816308594248191 +0.38124108396769912 -0.36518233337221706 -0.093221387413523427 0.9310977806495816 -0.030245724375094134 -0.36351357474852225 +0.38892072806275485 -0.30418661647797229 -0.10149377707415524 0.92440710185192454 -0.11344294237235523 -0.36414586208225413 +-0.4085895728229747 -0.15852011548369527 -0.10211687785863743 -0.96614524572676297 0.049087987463036283 -0.2532858733652586 +-0.51755849571764023 -0.39465216896911048 0.28105405598270033 0.61580842886190323 0.43194730413265847 0.65893968266842351 +0.39658406428183546 -0.21222246074418516 -0.10065596801945294 0.96076046231470202 -0.020508787423000108 -0.27662017947228335 +0.39668244766122118 -0.18240611000033358 -0.097284120540339525 0.96353236810476994 0.043108496309379053 -0.26409663602620609 +0.12887388182016074 -0.38207191590629563 0.26702729248727608 0.206031596150445 -0.20466345911615835 0.95690326046592 +-0.38934447166127117 -0.09036831728794853 -0.13551998374664831 -0.90633836702777082 0.18003748726420593 -0.38227904419811526 +0.38499486808067346 -0.06958271005473543 -0.095638601306091434 0.9368036772776045 0.18560088977992065 -0.29656564189410001 +0.36749946091901509 -0.014508984794669055 -0.10306844145090469 0.90073167189636938 0.27286631551383528 -0.33797400654588117 +-0.3590605595193096 0.086772152128814756 -0.11864455713758043 -0.56240661081674093 -0.075671366673709148 -0.82339094504090815 +0.34261283991636671 0.063544376720785944 -0.097664419673016756 0.88608909534705305 0.22279053673995669 -0.40646093520308069 +-0.4397157557113045 0.1232227665375577 -0.10611221705235407 -0.19898812649318581 -0.61770342544273715 -0.76081942910985179 +-0.62062591260908251 0.17009163015742113 -0.10551785008279868 -0.33876504001229302 -0.65556222703432188 -0.67488992743355547 +0.30975588197568493 0.14150521772154617 -0.10454108792586959 0.60230710265484533 0.28416830458465753 -0.74597220374555961 +-0.029989326172992745 -0.39386397169242765 0.27747919889743788 -0.051965953878436902 -0.2046533952776256 0.97745410502940966 +-0.63838139133827254 0.18944251211387386 -0.10509383980004738 -0.73504488666326517 -0.23296539685217346 -0.636738673601421 +-0.29362331938432001 0.22046397442570015 -0.10704736704615865 0.23621558045543331 0.62349933711834638 -0.74528570103221847 +0.27332611468629125 0.17865887340126413 -0.1114758406834139 0.52890816890204306 0.45609118521527153 -0.71570732819890603 +-0.61702169613827351 0.2384578575104479 -0.14163720452281292 -0.81084198490647397 0.15407481651584881 -0.56462042686085734 +-0.60630888179323184 0.2728737388789364 -0.09298835642939185 -0.83049229811001746 0.5542524841536588 -0.055558317014107399 +-0.34804479195843113 0.25394684285020391 -0.10404089818841633 0.39594323025010592 0.6977398096660733 -0.59698250931351704 +-0.15916747893509811 0.28869370218119117 -0.12644323540901092 -0.70224763422640057 0.0090305212972779589 -0.71187548764409836 +0.14917123129363946 0.29104191261195222 -0.10648512045939337 0.75104654156528905 0.040201406818006644 -0.6590242327051955 +-0.43656131440951901 0.30482567260974791 -0.10811662807819575 0.48482759377147261 0.75630582860073781 -0.43925356907180085 +-0.2377641080675427 0.37538319189127028 -0.10567351846037035 -0.7490055996440742 -0.55368656412368333 -0.36389806321376772 +0.23850555723081851 0.43310316883488809 -0.091982961901210247 0.87686158510366818 -0.35263363419017213 -0.32674650817922185 +0.054731414860730007 -0.39250232285226438 0.27755553375818104 0.092350292847406756 -0.19350632129859058 0.97674291757272791 +-0.27771695412848013 0.4740245389004103 -0.10774765288503668 -0.90565369031584908 -0.1893954562813005 -0.37936888954852643 +-0.28684530936573416 0.53565759270945079 -0.10970824889341087 -0.93348921618660308 -0.021465646398485687 -0.35796244116948428 +0.25897754719125099 0.54434843277352585 -0.095497580784479452 0.88179410336104636 -0.099651804238385669 -0.46098663450226285 +-0.27699080826186701 0.62378070005924657 -0.1065507208541816 -0.85084953290413856 -0.0096170477141493804 -0.5253214109001012 +-0.24763531983036313 0.68976357906144159 -0.11672900120371552 -0.59162215659377226 0.32678924059406478 -0.73701561452881603 +-0.22209033369528774 0.72826310033759478 -0.11589540103205559 -0.51598656836002155 0.43345579538173573 -0.7388328191966268 +-0.058757892526606015 -0.39573120411449292 0.27506924108688335 -0.11537365496019082 -0.20925942410642495 0.97103007840322553 +-0.19193544956200392 0.75563410460181824 -0.11622638856120437 -0.3832016642072732 0.57336967142137241 -0.72415723737522886 +0.17799490912907523 0.74165389404871118 -0.10517057433010424 0.45323459928566706 0.70409352581213913 -0.54665409988382163 +-0.16751088507354206 0.77140817403623707 -0.11530277519316814 -0.28758799039864053 0.67759806111934895 -0.6768707523196511 +-0.14007595819990204 0.79343369522302276 -0.10169089848987453 -0.077213981168585868 0.81156202851452397 -0.57914167091091651 +-0.093415458599173995 -0.71111703123384928 -0.08962281209258055 -0.22837534002646412 -0.92400844134430993 -0.30668078582176594 +0.065776137738489379 -0.42742033347588682 0.26605108237333686 0.1232096277743394 -0.25696241255265634 0.95853518775203406 +0.036304331665016676 -0.72049073124130625 -0.089044426961860823 0.12237877398109799 -0.93806070648574413 -0.32413815978121091 +-0.18358896780479306 -0.68083333134658841 -0.077873967504309194 -0.30567776897817583 -0.91745576829554021 -0.25462917109743183 +-0.13021738181365716 -0.70354526155508834 -0.079255765787310625 -0.34348137520131 -0.90578935492349766 -0.24812535017021306 +0.12449159692569278 -0.69973810945878934 -0.081565434700554607 0.36096961485688672 -0.88861100479476729 -0.28296893700140452 +0.17300173771541316 -0.67733973855220242 -0.085075696958805985 0.27911353766201979 -0.91588656299293347 -0.28852631911626975 +0.25576153337990382 -0.67842024117671218 -0.073321466611482866 0.037610072201460031 -0.91823837494317473 -0.39423821383868729 +0.32314181346688997 -0.65508803879356758 -0.082243342054475033 0.32104669800462143 -0.79289654957559685 -0.51792285079096723 +-0.53804731951429052 -0.42430734430721107 0.30849631716816139 0.52723562435777549 0.21080571520741795 0.82315463118660492 +-0.32865472215197356 -0.60064367019388054 -0.096770205472343884 -0.38484525698649169 -0.33540094881189636 -0.85988390594956532 +0.4343467803958031 -0.61475598799702658 -0.070531295020450732 0.330152597656794 -0.86702273485156356 -0.37319008495803607 +-0.32811626863090493 -0.56608300714566706 -0.1063468552288041 -0.45971922424568767 -0.2056351384132718 -0.86392848356139851 +-0.40358173003767561 -0.55432432974087908 -0.086001865038088487 -0.29683200054205228 -0.19421456907694482 -0.93497137101221428 +-0.36184452445024706 -0.57347668053956613 -0.092714432624021681 -0.25865004624373406 -0.23529700971682307 -0.9368753763422516 +0.56468172635784009 -0.57065309543832421 -0.070777232780333738 0.073292737904330704 -0.90531875134844586 -0.41836124704300459 +0.63497251553659528 -0.56288892616890096 -0.076241959306812213 0.63156172493239082 -0.63351309077249129 -0.44697981097618739 +-0.49412710067420784 -0.4742249949047937 0.28248703750929771 0.54637644230480975 0.0066220815518420271 0.83751354098322472 +-0.36971312401364265 -0.53412535576596953 -0.094994402101753916 -0.29668220002405743 -0.0025635733970679761 -0.95497282698531438 +-0.3543935898534426 -0.52445311323133381 -0.10189804372785113 -0.50365607875974561 -0.13050291982316964 -0.85399036425827679 +-0.36380573302250852 -0.47619022165181013 -0.10052258009481885 -0.67106635000409776 -0.11683193806367131 -0.73213403973621138 +0.63437624008921234 -0.49784389729674017 -0.073073820598571204 0.95869052952864553 0.2812832955151176 -0.042334102756997845 +-0.37777486186306264 -0.43509976383821169 -0.093040059804282482 -0.85713899107145475 -0.13028619921260937 -0.49833548567179214 +0.39591100000000001 -0.41866700000000001 -0.096096000000000001 0.2733723615282509 0.56306170977876224 -0.77989041725968422 +-0.4769137917782571 -0.49817372362252521 0.27136274613206912 0.50067111904772021 -0.14845121422314886 0.85281338377582727 +0.42055042237726686 -0.43011951070882881 -0.10723178087945517 -0.16035950775000968 0.72626545349443494 -0.66844844179240714 +-0.39149646205295519 -0.3973389659420446 -0.073767892893079723 -0.93542276661489554 -0.10195995278434995 -0.33850910730251788 +0.58299971189346089 -0.37570151836937427 -0.10796412199859393 0.61256282036331888 0.69531577642675779 -0.37590259663986264 +-0.41163852649795707 -0.26243165755236753 -0.086413150519744297 -0.98726380199778474 -0.005773048404780684 -0.15898697172094023 +-0.50669215197321016 -0.52348345452503375 0.27951080865869404 0.33705797233374524 -0.33246239870981698 0.88082953897469796 +0.39658166443843268 -0.30831258254259986 -0.076953045356643379 0.97122809158439882 -0.11134026138879667 -0.2105215910808225 +-0.51155193735618054 -0.55302602088517683 0.26502529789016616 0.26300880458292514 -0.5513974591595765 0.79169893946134839 +0.39741970295007023 -0.16023253643547875 -0.085975743248215178 0.97088567194346875 0.053847996069568485 -0.23341252180243252 +-0.39241317540964998 -0.060321105495888983 -0.10804328498596627 -0.94720225567054805 0.1858812754205357 -0.26125856598523356 +0.3966707596850505 -0.10556312789876354 -0.077018761639175148 0.97124932111638362 0.099432412189502745 -0.21630522794685461 +-0.60334754340661689 -0.55715956416365653 0.28009013781790809 -0.12773377786966023 -0.75740515642931328 0.64032922079617127 +-0.39187905928152705 -0.0035095931527078239 -0.06283436014315541 -0.97604033468104001 -0.011417188096597768 -0.21728992818741083 +-0.37298559172568291 0.035839383469945751 -0.10046615618662014 -0.85653415813510969 0.12851882510234403 -0.49983211935818195 +-0.39625255906130924 0.076675541151606019 -0.086825244198736884 -0.51199855873737476 -0.46190714087972523 -0.7242232176996044 +-0.46012172793495276 0.10095652220957319 -0.076952715861817622 -0.30369857517777299 -0.70458812876511101 -0.64134448172434588 +-0.41160903436454749 0.10463030720765236 -0.09927728726403362 -0.3046417661665719 -0.55660514478810619 -0.77290627316791971 +0.33380500000000002 0.119314 -0.090297000000000002 0.63377828871241149 0.060076190920481422 -0.77117827513568682 +-0.045450542410188616 0.634125656575389 0.23672533361096787 -0.11128116844104202 0.28299786681722999 0.95264301232271353 +0.32531006106870897 0.14800022693319412 -0.093918974975276223 0.41215731908289405 0.039956576182784267 -0.91023613219106547 +0.29661253190514175 0.18127625798915936 -0.095787234846795771 0.3221638121622713 0.34806353516108962 -0.88037620005554307 +0.33317090494494805 0.16222099179861338 -0.090637574962032535 0.22462250715922064 -0.010365974908834414 -0.97439072031793039 +0.27319023929635483 0.20772295417418629 -0.089166888767157393 0.24669766946609492 0.54176950772047239 -0.80350859384596163 +0.31207277488693719 0.19606274513042804 -0.088918163967671826 0.092333200268818513 0.27416815150152346 -0.95723894865929693 +0.36188478064021518 0.19199630464240741 -0.087411599164222378 0.14606785547779066 0.076963985111409824 -0.98627619184074899 +0.41958368309472932 0.19607692753225014 -0.074023883437926971 0.16142770026592843 -0.029135522208564593 -0.98645436738477044 +-0.24022430465195607 0.22777277695560338 -0.10408625702195712 -0.31432853379706222 0.81039529391718235 -0.49442597063450533 +0.015560755025099959 0.60706517878834743 0.2434726199818722 0.092523620783059424 0.18190363000086585 0.97895375222208569 +-0.27232441459381618 0.22774811719632546 -0.092815849649240001 0.068701709291986532 0.83163608447881976 -0.55105489575277022 +-0.19367535596530427 0.25114193918503525 -0.11253001082207126 -0.58299607331682135 0.68297993882647845 -0.44006133851742424 +0.22155769648444612 0.22885845209899885 -0.10141205873729098 0.48038464997674496 0.7438032925352791 -0.46474428461294526 +-0.025433000918122201 0.60847289473992716 0.24537566227481133 -0.013679479080479737 0.1688830595475718 0.98554116304187833 +-0.3175105169352691 0.24936597359471249 -0.087094313166328804 0.30790759094693526 0.78562636693830379 -0.53664152560957912 +0.1706900868334435 0.30893708255703972 -0.072872924235543743 0.91057842077618645 -0.21233877910700075 -0.35462541153179461 +-0.40263039516651516 0.28989948900848606 -0.094850409266602029 0.47378705578874641 0.81418417650957042 -0.33560386244568746 +0.18040811448360927 0.33086126211735872 -0.076709022829436924 0.79385059098177757 -0.52408272271583745 -0.3084453581246393 +-0.47639949135805698 0.33573191091343746 -0.093693930373054304 0.50390927457561396 0.83690921633564774 -0.21367827828099534 +0.25528137372750503 0.47992441239988382 -0.083962705335202545 0.93668151094293139 -0.17689615436801404 -0.30221763288642634 +-0.29006959431713852 0.49102344732397563 -0.079241659075154486 -0.95479633693615062 -0.14443432534782796 -0.25981277996785773 +0.27833799999999997 0.580955 -0.089381000000000002 0.39553598834231157 -0.28425338698134095 -0.87335633845281435 +0.29740629232470212 0.59938151179188359 -0.088587786270021993 0.13811868692186055 -0.22623203613038892 -0.96423145258349641 +0.35781436099458047 0.60377558813251986 -0.087503199047108252 0.070355863786558864 -0.28887292977021589 -0.95477876122001115 +0.26462372641844206 0.62123701407865872 -0.10058417495182043 0.52430003661392577 -0.025368480568111106 -0.8511556331249307 +-0.27879382991566465 0.64597156643864051 -0.098706583898795885 -0.77299520387467302 -0.01908861247848314 -0.63412462470747721 +0.2801222763184586 0.62638807642298999 -0.095130737090660555 0.36990021876595341 0.0045074099366307118 -0.92906055314632907 +0.37915576808243595 0.63520952943901099 -0.09147671789226211 0.076042559650114389 -0.11931374370262508 -0.98994028086825681 +0.40566912231938201 0.62837515170110081 -0.086005746472015851 0.23101453690631896 -0.16828888531001493 -0.95828551842291332 +0.25040281543873011 0.64859224005978422 -0.10517360457282771 0.50353799865299242 0.15761450709249794 -0.84947463238552801 +-0.27715600000000001 0.68083400000000005 -0.097563999999999998 -0.52030482938355271 -0.021023873563778408 -0.85372178211670724 +0.23320413630296977 0.69289649048237312 -0.10196966081742209 0.45637410685173513 0.31819403737931856 -0.83094839140077159 +0.30108571184717053 0.63553261018986729 -0.092123048254422218 0.1023981338237868 -0.046497366143205418 -0.99365618658122912 +0.4224971243322635 0.66770930260731665 -0.087820615032117202 0.26709181684533995 -0.095665841454615708 -0.95891084473637889 +-0.30379524279472048 0.69098887392655739 -0.086887210409198043 -0.332407003867561 -0.27985654245112229 -0.90065859204645049 +-0.095159693888638999 0.57111873466326224 0.24167450660913264 -0.2673755791479715 0.10436204516906938 0.95792424711112512 +0.24716498618876392 0.70478408697254014 -0.093738449365839249 0.16012562766030064 0.31759343791881983 -0.93460911163828253 +0.057524661050570497 0.54583370854454816 0.24239143856126846 0.2223526754610049 -0.004565399792798807 0.97495561172807499 +0.27138026084717426 0.71469935743213586 -0.092106562969596573 -0.010012939260633118 0.047256777231304954 -0.99883258760068183 +0.3939706939229547 0.67576636239846666 -0.092081791167802685 0.091806501290763273 -0.040155062357710693 -0.99496690260922627 +-0.37067689330605352 0.73891874116167067 -0.089684160245159253 -0.18885196691596012 -0.20521222360099503 -0.96032436076395999 +-0.28569479052604413 0.72362331697511117 -0.093094936612590676 -0.165253578790136 0.03026789917504576 -0.98578654331279114 +-0.25959165976133858 0.72319831813698354 -0.099354336833300874 -0.36777132084497238 0.23508989241542333 -0.8997093964431232 +0.215893 0.73032900000000001 -0.094556000000000001 0.228328035266462 0.43789208072165525 -0.86954978808152017 +0.23655458700730525 0.74491181502319748 -0.087550299269823689 -0.023905451898820519 0.2599421168047707 -0.96532824742704393 +0.42657537619785302 0.73060942004394047 -0.08838261563993538 0.27834826888850733 0.045086799443378518 -0.95942139945006633 +0.31092672895000495 0.75745583929825044 -0.092111880462402387 -0.022564202896763697 0.054400029579654764 -0.99826424033387384 +0.39238075522158655 0.75346123076802596 -0.09200862541790801 0.091163135048609026 0.084768474245225683 -0.99222154208737356 +-0.4053811144283142 0.76491501727332056 -0.084572380759615512 -0.44793650113028405 -0.14844826439699621 -0.88165526355411639 +0.021009449518053058 0.56721215615400045 0.24661722715207421 0.081321204718674558 0.041858725101725523 0.99580857035675363 +-0.37106066895540801 0.76277680421258753 -0.092037416781709541 -0.10530981736470908 -0.026906510874483338 -0.99407539052084626 +-0.06181186612409173 0.58872126290607452 0.24662082381999711 -0.10673992474223583 0.13128130621810347 0.98558196366598061 +-0.30164209181804769 0.74737704679729933 -0.092141084965908962 0.0041424281065206041 0.023191101154165703 -0.99972246804632703 +-0.2074134846174378 0.77692486078499889 -0.09821119686846852 -0.21377462943997874 0.34440852241371184 -0.9141570857881065 +-0.080194180536542092 0.54541763129167165 0.24595375276228731 -0.14108291299940126 0.0020420777766157962 0.98999567755518891 +0.28967221010593935 0.78155889111284294 -0.088689904097426497 -0.071506939698153374 0.23012656685127669 -0.97053002055796789 +-0.20474651277224301 0.79897561061284939 -0.094381010105354129 0.066318039267860188 0.23585722188456423 -0.96952219600819955 +0.15853014152393552 0.76407184936565731 -0.086382714837518915 0.37029762095846785 0.81870425362212185 -0.4388656024497059 +0.42323699926530123 0.77440331985688626 -0.082677186447192005 0.35048939923347661 0.32574874840213969 -0.87809164324653266 +-0.40822654681868897 0.82304387605191986 -0.083957762649096102 -0.45667847645647691 0.068072821287517918 -0.88702359615928417 +-0.22575249489320531 0.8162229567545185 -0.092144396340564427 0.03110587932397316 0.10207911346010871 -0.99428983644945335 +-0.17222860163813247 0.78946832313205428 -0.099085346757480375 -0.035209592369575424 0.49876372232849325 -0.86602253659716844 +0.3381076270189341 0.79404955418330336 -0.088901866222368106 -0.0066479412523553867 0.30161576573860216 -0.9534063848826595 +-0.38973571455385819 0.81321493859885896 -0.090486171417150735 -0.19468929291490561 0.0030386174200508821 -0.98086025815529321 +-0.19654744511021865 0.82128095092084941 -0.089234785623112434 0.19817992424506217 0.14435444087733121 -0.96947744327818908 +-0.01167216785291747 0.81574276266581125 -0.096423984065882706 0.023094234105006814 0.9234487698922722 -0.38302614236570415 +-0.37703266985236117 0.86469770081691077 -0.089182959672522863 -0.21613885227297697 0.14862491874568609 -0.96498426415458116 +0.019668746315676167 0.49954466582513035 0.24676299574508076 0.054723910372354696 -0.058064866340280831 0.9968118001560996 +-0.030203717997241419 0.49921064142919214 0.24674540377225551 -0.011401682479604167 -0.057388128207997213 0.99828683472107194 +-0.3501686679871302 0.84147615720303737 -0.092081638740480642 -0.029529738779176317 0.031908658842447007 -0.99905446899481398 +-0.24980084136774727 0.86554115816431731 -0.09211698253691443 0.055824905946410402 0.091390961380869634 -0.99424909959926777 +-0.17449306733117792 0.81898077513597456 -0.081941418527168922 0.31009376257178511 0.39608751355150573 -0.86426647512365029 +-0.34717151045430272 0.89567040208093984 -0.086023553792882346 -0.1055896914258415 0.31197391208895087 -0.9442050069982213 +-0.29134246299970379 0.894301678991821 -0.091037254926825198 0.0047872858940848553 0.22062183119045198 -0.97534767621394369 +-0.30782887924768038 0.9134028035166869 -0.082860698389917498 -0.052788240262730775 0.47808845428843194 -0.87672391980945863 +-0.22684568380846484 0.88526889773586037 -0.085935627821054919 0.24109986351063753 0.32339145314857204 -0.91503487575370968 +-0.26981510916430868 0.91968739307132152 -0.079394054107082029 0.11140144016653587 0.58618812120187869 -0.80247941138114776 +-0.026338465418883406 -0.72361387873229854 -0.085681980172964842 -0.018683139241228591 -0.96348501758641736 -0.26710964264622489 +0.022550258839978632 -0.72689986964742315 -0.068144848478105646 0.018492612431172041 -0.98729431866895356 -0.15782253200819354 +0.073035961762735482 -0.72352860125308305 -0.056668365197600892 0.20124637649268348 -0.95996375214998053 -0.19485761598330226 +-0.24791046882518231 -0.67751788291558279 -0.06301073539985047 -0.033724932022571784 -0.9496927188986195 -0.31136211816953646 +-0.21286913715648123 -0.67568975247584817 -0.067858986329240284 -0.10744840569895227 -0.96170899531252885 -0.25213220430504268 +0.20752378016974671 -0.67317366583288485 -0.078036325820828756 0.019334409282638555 -0.94482013444614532 -0.32701849208089034 +0.29246042061261246 -0.67618234312711645 -0.064061777909922721 0.25776481591280609 -0.88001359843564941 -0.3989152369185423 +-0.28419639320994416 -0.64903230026304948 -0.092510393579543493 -0.40734378497920143 -0.64617996517893905 -0.64538553860476544 +-0.33028839386344622 -0.62389093440054433 -0.083288801498131004 -0.46406262836529888 -0.54090724865713147 -0.70147360984206863 +-0.084584036820155778 0.088067398010835587 0.2401459943719905 -0.17806465466445992 0.35861871186853089 0.91634360272606374 +0.38529674153360283 -0.62778266019852724 -0.07961596603489185 0.32735234688824266 -0.8356447651948633 -0.44106492423358878 +-0.38356369853272376 -0.58825394749656468 -0.078825697909556958 -0.38230519121106254 -0.48903819589174241 -0.78401810166093899 +0.51547866982236568 -0.5830795001184732 -0.062971007520833761 0.24766052791218873 -0.89585768350314043 -0.36892177195530601 +0.54912481957105364 -0.56745451774077038 -0.085086234369475822 0.19172254931534125 -0.92364074330739232 -0.33185876722876295 +0.64717766244799646 -0.56897133449334669 -0.048496829091916993 0.8443617099327857 -0.44870887263673342 -0.2927689369049491 +-0.48847426580416509 -0.52714975436082445 -0.068287587903616109 -0.27032445345089445 -0.35260873774311885 -0.89587486176010078 +-0.44594845462654209 -0.5353688220580779 -0.075285907103012473 -0.24007220572277793 -0.20835904072117056 -0.94813071155255468 +0.64973883203254856 -0.5489093076160535 -0.045532661000883046 0.98519360762865826 0.097554847688549925 -0.14098442176387141 +-0.43292119881765151 -0.52116647886679424 -0.078576640357465782 -0.1399060892333161 0.049694430277540586 -0.98891695798728729 +-0.49765607955308505 -0.50105222825058426 -0.071847921842029552 -0.21083716789388401 -0.087249463450119372 -0.97361964840596371 +-0.48653571660505213 -0.47753030012385583 -0.072535272488186725 -0.080300378516238807 0.18785318316987229 -0.9789091024109926 +-0.42825551256655758 -0.48522298051095136 -0.073953644183014824 -0.091528364780907104 0.27074453046543856 -0.95829012186476303 +-0.37796714893541516 -0.49096548675625484 -0.090199759827195136 -0.47284993635831185 0.050369788744250986 -0.87970212121365265 +-0.39525394785190948 -0.50139534244551487 -0.085129685115539075 -0.28204483841704431 0.21155212818740221 -0.93578651741820063 +-0.3984159206315967 -0.42316311847225213 -0.06309732202107865 -0.80013048186337465 0.29993348870334968 -0.51945270655500642 +0.38844761016104817 -0.38519759604392301 -0.079526132312995101 0.85290924788685474 0.21884587510340248 -0.47397499704025098 +0.44089124756570031 -0.40376599997129048 -0.083066524669840602 -0.32511781938801554 0.83114290390777879 -0.4511096061935797 +0.4950243115312033 -0.37793368653472847 -0.088383813470222158 -0.42486238312402569 0.80514699497477582 -0.41379979686952706 +0.59832370251754341 -0.38975571681736554 -0.064296090751527757 0.93370816793034084 0.35664019139366088 -0.031572630914437308 +0.03818214290787747 0.087418548468718882 0.24596653422652581 0.033822902359607804 0.34219555109391819 0.93901981666389878 +0.52271723999262432 -0.35538290165459374 -0.075032248936817758 -0.36084521411143627 0.85867075927060432 -0.36397150798725381 +0.39440520680969493 -0.36138983044545858 -0.055444866883180344 0.94886821464711013 0.0091812311179880358 -0.31553892981304843 +0.55640033013699142 -0.35357546431873971 -0.092333350916389348 0.099409607539117262 0.89332213783700343 -0.43828448293231259 +-0.032231064403819842 0.093081044262881552 0.24421252643759639 -0.052977162837377981 0.3481564962350589 0.93593828554399316 +-0.41009146093207738 -0.30079534584507739 -0.074324123581053225 -0.98090896814935424 -0.12126991705587582 -0.15202369361856138 +0.40111823187880263 -0.22559729713322879 -0.075848805123729768 0.98116495000431037 -0.069776024398622072 -0.18012952923427603 +-0.41177009739117176 -0.12109148105367407 -0.080248048849804077 -0.98080532055101255 0.069814622939120746 -0.18206274084143065 +-0.3974986055447573 -0.04337734425087169 -0.066209720545492054 -0.97888785433473624 0.1600773808820582 -0.12709760330500688 +0.38449753171233914 -0.035066489174679027 -0.063858944724194955 0.94963219348223804 0.24685126003791605 -0.19303666107712866 +-0.37925386301249325 0.018028350555621242 -0.092243228699049329 -0.91784643151456047 0.089270764221875243 -0.38676693086564345 +0.36136410433983512 0.044059576496607744 -0.062707386758596106 0.94162868136203515 0.11100205114195451 -0.31782695146679069 +0.11243421901623957 0.060165782861202222 0.24690906980277744 0.20233585187363962 0.30346125001939955 0.93111302900519655 +-0.39140058559507934 0.033384301042852851 -0.065269105683615394 -0.85551990823280177 -0.22792342631056234 -0.46490493475138767 +-0.37984597900122663 0.057999289012988564 -0.091634451942758766 -0.74556339903059665 -0.20370062075871972 -0.6345402076531127 +0.35659098860133631 0.069947997478285479 -0.066907108308525004 0.80855421671527961 0.13748202548169658 -0.572135273603534 +0.35571921194599265 0.095123282827909439 -0.070114631672487077 0.72108369411632556 -0.06973001895374889 -0.68933013174839763 +-0.52341668071935876 0.12664673287697034 -0.074235937824862763 -0.27564511556360749 -0.73936815076421636 -0.61429187517126438 +0.36064430323095592 0.11724900438529819 -0.071507689164232974 0.52508384265749419 -0.19621872682893343 -0.82812147020933613 +-0.62613278923786819 0.136628589733992 -0.062790818703833157 -0.30199137894377165 -0.77440503282567519 -0.55596587321336932 +-0.60989719641993789 0.14504969396873055 -0.078583272300400658 -0.13530501225128128 -0.7697069922489238 -0.62389398117211858 +0.35893920806089263 0.14635611488771286 -0.080312752486093542 0.3526425935211836 -0.19047513959825019 -0.91616724588345799 +0.39005505553224368 0.12625709363123913 -0.060218372531692391 0.33966770321943429 -0.38743523222943232 -0.85704130134840073 +-0.65735029577230641 0.17451771532042137 -0.071537624416930123 -0.90463669418144166 -0.058317620992585549 -0.42217473470381667 +-0.65773075963225125 0.15490174733588202 -0.059459261718847412 -0.78851108891829458 -0.41933065064607433 -0.44990228725982867 +0.42340872099115257 0.17785956708073541 -0.070638721652550807 0.20794140706555003 -0.27507969925531911 -0.93866475926456427 +0.39056400987563489 0.22735594164887812 -0.075523156693309834 0.023279310176443357 0.17388196883108967 -0.9844913075457461 +0.49318078393196213 0.21257865096060294 -0.069707209747527893 0.16813025529259951 -0.28339555286946255 -0.94414997636448472 +0.16563704509284996 0.0073226780532398283 0.24940725210762918 0.29820283532310837 0.25684760533073014 0.91929558719768079 +-0.15846222476611999 0.040113368508797598 0.23801689766325751 -0.30857165797949804 0.29874480082368865 0.90306980675504722 +0.44218915055872388 0.23444091890200933 -0.073957123989041834 0.0063365165082635193 0.17158174931463072 -0.98514950736457851 +0.51589250741393922 0.2435051489910082 -0.07392197477685887 0.050058484928215026 -0.029635359253299898 -0.99830651283492067 +0.54510868893660469 0.22617975039644467 -0.066483570836978353 0.22528635094466126 -0.35785912182404184 -0.90619143066206742 +0.25381519506453898 0.22570007408030823 -0.079776185708268124 0.23998667012633898 0.71211320800966826 -0.65977358020752142 +0.29138459043917253 0.24250944699795041 -0.059706141375578406 -0.070036525514743708 0.77301588878980942 -0.63050877929837235 +0.30241990509521932 0.22176760195502304 -0.076909764137188738 0.033174507334653248 0.54689123484985425 -0.83654613100982345 +0.39027750263357014 0.25341694550105831 -0.065637063607464657 -0.10744902833351215 0.37654746062387451 -0.92014494304315764 +-0.29278368047596393 0.2442662520620586 -0.073762514475910951 0.25336503884585193 0.91294589731957376 -0.3198998994341794 +-0.18929073753379627 0.27064458077819864 -0.093163713683216354 -0.82111657158701901 0.40176551924094323 -0.40540355624270896 +0.20410883672981525 0.25042771589146789 -0.074607582525838309 0.50405930369936414 0.81666470944527014 -0.28103909105458036 +0.4400144321249827 0.25388545799876971 -0.070760167357791337 -0.064900258621057069 0.31494814907675012 -0.94688733217001542 +0.52850517765517802 0.2673984031397203 -0.073155405464659234 -0.013392740315722636 0.15683467989310215 -0.98753405900235347 +0.56578826624854139 0.26680855236504669 -0.071468089947876276 0.15892969995976558 0.0039338656763863436 -0.98728206464593449 +-0.18471561527798164 0.2890753478033754 -0.089325005749874384 -0.88757901037836018 0.016240242289654948 -0.46036915064559253 +0.1720476729697813 0.29162846068902065 -0.068992969163135215 0.89690231249532326 0.2129884869430666 -0.38755921646923158 +0.18217652694073613 0.27366575350510031 -0.066628982514469595 0.74623842446966604 0.5539478921003218 -0.36914759471333508 +0.5527130521545921 0.29561471294216896 -0.066034472885364376 -0.019414723206464781 0.41657331382482304 -0.90889479189388134 +-0.34992740540724609 0.27159840932898027 -0.076042298278316406 0.42105013014987164 0.86949253634627566 -0.25826249657837763 +-0.190780698716321 0.31413828565232305 -0.093221193383800333 -0.81780416975765402 -0.42093261710231106 -0.39244371798564098 +0.58070463526666027 0.29373204192439789 -0.063494640601297531 0.18418706861951914 0.33938295578725958 -0.92243933842527093 +0.59964422561054087 0.28038070835182038 -0.06079110477446413 0.47710755369443003 0.11473140293297364 -0.87132375578125276 +-0.17891792703357631 -0.017634654576714592 0.24570239111069386 -0.34679346569419661 0.21135043031242037 0.91381906729864359 +-0.42619315192051915 0.30753376139266958 -0.075035933850013142 0.47372241247023839 0.87155445372303675 -0.12641166923554281 +0.23058200472707702 -0.03816986235570935 0.23303407306392504 0.4522548529640697 0.21175317681191047 0.86638683050962362 +-0.51499647843727958 0.35212161200159431 -0.10665862794188841 0.19269894252192937 0.96213722304724458 -0.19276690996606924 +-0.4905225750614961 0.34677495607047221 -0.059289086562761537 0.38587601923133952 0.91987931569918424 0.070155130467952895 +0.21541198488798122 0.36852626060325083 -0.058162611344580104 0.81837803713854951 -0.53526578628478583 -0.20916004963229723 +0.23687652981307372 0.4100056602674102 -0.065892103814441216 0.88098757726290444 -0.40745855430721434 -0.24049618547975524 +0.26036897008507343 0.46536092353808889 -0.049848005424330565 0.96534770907690259 -0.22421415559432117 -0.13353581171768655 +0.2083319533678375 -0.056729145404467052 0.24746360881757792 0.38293184610405001 0.16611591029724165 0.90871816620196544 +0.26693247568105349 0.53818258484171344 -0.075722483018191178 0.82397964715232519 -0.32427627348301669 -0.46465303134134139 +0.28608499999999998 0.56145199999999995 -0.074526999999999996 0.51976623548066392 -0.5952678894150768 -0.61277989546457767 +0.30147011970603321 0.55929831874720703 -0.062955670594743385 0.2809356870621762 -0.86919016677921368 -0.40691964035817429 +0.30548145309191177 0.5772690874540134 -0.079083937604881027 0.24501692218517854 -0.52182928554557706 -0.8171051979946613 +0.37058934843184654 0.57702464194985836 -0.073558426362468649 0.25383092466421969 -0.66581422585851269 -0.701613339617012 +-0.29415068659756582 0.61734120111761981 -0.05891736215183796 -0.9863841213749458 -0.11689340241792449 -0.11568188090853944 +0.41408412912394421 0.60761812623492728 -0.07795551682514873 0.33757360396053937 -0.43924326039910355 -0.83253193338337372 +0.21875831479628649 -0.1500947951815168 0.2545203244449612 0.41599094449054108 0.071696103711041431 0.90653803164264612 +-0.29039695142682942 0.62236350069336355 -0.07667964936540772 -0.93825558397990427 -0.056482053291996355 -0.34130080103399862 +-0.22793961637211663 -0.092929763012457728 0.24013122362407882 -0.44247684718286273 0.11520968560217362 0.88934862008694981 +0.42776356929433307 0.60064592289236174 -0.064143234021433307 0.62157491200742443 -0.64308625213192228 -0.44730828416415469 +-0.29868766541231584 0.65374750804625303 -0.071957482938068501 -0.758824985542776 -0.30221054346172838 -0.57693450991994977 +0.43862240149555243 0.65166841205479409 -0.078758361896073159 0.49639622255537452 -0.21458112055956133 -0.84115737703010018 +0.44726780038500347 0.62615955236875909 -0.062906300322085426 0.755290396588151 -0.45528765648471614 -0.47143352307018738 +-0.29869568865232182 0.674463834575738 -0.083022631954070947 -0.61371767414146872 -0.24026546615608038 -0.75207919943260471 +-0.33336613464239506 0.68633226732687191 -0.072872921833601167 -0.5259328925946205 -0.54080871264805574 -0.65644537382101198 +0.45111304674995006 0.69344372018345757 -0.077888534825349881 0.49420443059293218 -0.033275282100353409 -0.86870866024430626 +-0.41512835239348589 0.7379670405536054 -0.067046226359253086 -0.70003414096995875 -0.43743778156320728 -0.56444697601945915 +-0.38527039325638712 0.72077651047422742 -0.078774837804749559 -0.40003038148897896 -0.45776298398216336 -0.79399543095758918 +0.46783500110539439 0.68918360378652199 -0.065222114372361237 0.79859134406763543 -0.1143409980153795 -0.59091285427979534 +0.45066269166824791 0.73871769942752352 -0.076010467683264846 0.58820707562724339 0.16755943481276647 -0.79116134384035253 +0.46447838521171714 0.73667838245436323 -0.06197384684387592 0.88841239206986822 0.19843797909924907 -0.41393935554341849 +0.19149714577764848 0.7533413891709615 -0.082418508445414887 0.099151571513805867 0.7890079740644006 -0.60632943416028628 +0.21753902050349161 0.76807219022502815 -0.075225250899893945 -0.29556416157538534 0.59876562339533912 -0.74439341388289459 +-0.43319961794566175 0.78576230437809702 -0.066476632684294434 -0.81986270723954646 -0.052201161282070967 -0.57017556948596537 +0.16176757585915791 0.77083452550084175 -0.063036506406058138 0.30540751870927024 0.92432454481683579 -0.22880206154009183 +0.24840160295089042 0.79417185641866483 -0.074005713989059391 -0.39703635386173253 0.51798956001402963 -0.75766018070679486 +0.39738670967147405 0.79275702331729825 -0.084300035193332123 0.21216999641372292 0.41434081000471751 -0.88504552752185317 +0.44489686265822748 0.78269292060754925 -0.062936238617275833 0.7545642512171068 0.50211923047510387 -0.4225033362853558 +-0.41975800508552064 0.85563092366955973 -0.073424726978997532 -0.58719940884897803 0.25933596738602877 -0.76677357170638283 +-0.15110100000000001 0.81402399999999997 -0.076267000000000001 0.26478258407466881 0.75832888891665629 -0.59567397072993755 +-0.13117400000000001 0.80906199999999995 -0.076630000000000004 0.11872687466302612 0.89115913550644144 -0.43788049104311805 +-0.10479814510177743 0.8077658026623411 -0.084349448523999948 -0.10070795602783215 0.93318877402583911 -0.34498785431497081 +0.095149759772518605 0.79614634653198446 -0.092791050940652764 0.35741260262526342 0.88032563958281773 -0.31190222791403449 +0.3019294021621679 0.81489641481272845 -0.075939221395461831 -0.19337119931778823 0.59467717954532318 -0.78036314072514967 +0.31462579979347449 0.83353464275897071 -0.057772293567341995 -0.18294911184585771 0.91887809401093046 -0.34956068260267997 +0.42322996920072997 0.80559126852787544 -0.061587071864995582 0.54777580193900477 0.72496797171611538 -0.41756809120896898 +-0.16973770398488525 0.83596826713833372 -0.070379817896219332 0.54702380043741283 0.50313343081557071 -0.66904537405975895 +0.032495549528473111 0.8166074608438193 -0.082635087635717336 0.17310488397678137 0.93252555400826231 -0.31690817323787751 +0.3654465143282199 0.82482748948456641 -0.071478330129472606 0.13460169453293144 0.68400103004628565 -0.71695535057943716 +-0.39048160520355252 0.89412928124412971 -0.076289714554284058 -0.38376478904477762 0.37985976474483496 -0.84168351879873238 +-0.2042589227634638 0.89968652167666519 -0.068467299808152193 0.57886800302191754 0.55530333979315316 -0.59711810882938987 +-0.36696900942913002 0.91581421869009572 -0.073334819108308191 -0.32974336586516384 0.59874296911201663 -0.7299151797344946 +-0.20449930872771083 -0.20715795590196939 0.25544173101783146 -0.39184668840643494 -0.011319968312509568 0.91996088563716349 +-0.3172637003470124 0.93593940627107697 -0.065243443048720762 -0.032611771491992979 0.80321741079553954 -0.59479262214242656 +-0.24678627279651433 0.92283299217649128 -0.069354893676388779 0.3464788878322384 0.69013191511346461 -0.63535054893212839 +-0.075813605836151154 -0.72467882858451782 -0.05071878903119284 -0.1633045486244393 -0.97688626737706574 -0.13793058039706818 +-0.038376400105086361 -0.72803517361621661 -0.045295788190415465 -0.035417845124420255 -0.99728767020581577 -0.064520377418290614 +-0.25254041911992331 -0.25002792958700315 0.23135127870442074 -0.47367258866249468 -0.071975007995622231 0.8777550210473315 +-0.1233410745027097 -0.71355379731713864 -0.038426051802348482 -0.33453109339913595 -0.93920613274800591 -0.077335552999339655 +0.2064840935999363 -0.26260816965278022 0.26019514628214263 0.37826886970477042 -0.063369225559848252 0.9235242300363431 +0.10692773736863614 -0.7158605827394835 -0.033914463273532536 0.34905369157982319 -0.93386210241407119 -0.077865872301468034 +0.17270070080211175 -0.68445314870247165 -0.053245304707739582 0.25357917365728494 -0.96203324937811685 -0.10094369607989627 +0.27747254468327986 -0.6894581369029531 -0.040246200391411191 0.15288361687631236 -0.95246270046218162 -0.26351736929300362 +0.20493230522126837 -0.68126649827459085 -0.042476254189533047 -0.022915093309466866 -0.99354907629057365 -0.11106363716701383 +0.33479262978343227 -0.66716013271105667 -0.048529027986951578 0.3520033322008807 -0.8735885026239667 -0.33606068232194625 +-0.32645911446847087 -0.6523073157868815 -0.053688548485511522 -0.45209179230579288 -0.73626442460212527 -0.50351535070446185 +0.40078727508287337 -0.63585003032680809 -0.047592177477869146 0.37228915834925608 -0.87777825199053816 -0.30150642266465538 +0.61992489468777034 -0.56685801900653376 -0.078708391763992691 0.13869619313687676 -0.85850837103220046 -0.49368688748737871 +0.6333084627965021 -0.6021016930540688 -0.0092443214849246835 0.3818638216864545 -0.8421867589594052 -0.38065927641457586 +-0.46673433318846058 -0.55026483300527751 -0.063151644119020967 -0.37843532658294021 -0.49921580019525413 -0.7794679521503598 +-0.54455812225122435 -0.51828803975140847 -0.050316012209410371 -0.34644892492240548 -0.53383483801033693 -0.77135822297204215 +0.16743232192047885 -0.32159739349425309 0.26792161677174342 0.33259894809603535 -0.13224712984521328 0.93374977181957808 +-0.57760521372772899 -0.48837882317651493 -0.052596420332071042 -0.32766731536587623 -0.3600033079190581 -0.87351688519928172 +-0.54701564298701488 -0.49350961907077251 -0.059206644260462536 -0.26304865448743781 -0.17796183497423024 -0.94822728850468829 +-0.23543573483173957 -0.32132849422764576 0.23550083733494298 -0.46184312019270435 -0.13473739268084844 0.87666799151345431 +-0.53820377502339545 -0.36339232494383744 0.27331270450516842 0.24196390436661 0.7435921032008459 0.6233171368099939 +-0.53486238546273612 -0.4683160505043647 -0.06181018241112439 -0.14792608204811172 0.073730968653008114 -0.98624622610754997 +-0.55517205384780266 -0.34450437441790388 0.23396033791500431 -0.42329189924283106 0.86431374387204118 0.2716352705178256 +-0.41320499999999999 -0.45362400000000003 -0.065549999999999997 -0.29257299964330913 0.37567028980009465 -0.87935935387145858 +-0.5918702872075341 -0.45224226593439898 -0.055255476589691981 -0.31231927234019458 -0.029606793018730568 -0.94951572389931349 +-0.52046541842071803 -0.43796682797161868 -0.058652510657895951 0.0016121174019590417 0.30492047699004093 -0.95237645066940213 +-0.20255613778099071 -0.31870009137387023 0.25203417252126026 -0.3979499567922099 -0.12231497223049928 0.90921662955388716 +-0.47482291372831353 -0.44690990362163041 -0.061798035729919043 0.051419740398867167 0.47682119052276456 -0.87749504988106153 +-0.39388753273065857 -0.45229252035442569 -0.074894129325283193 -0.58213014180571565 0.1791910655694951 -0.79310469675908879 +-0.58464573871182013 -0.42995278932426872 -0.055010007099441344 -0.25522966448676132 0.20029381196875259 -0.94590708172261884 +-0.43376342843162968 -0.45019355186409571 -0.060103386032325942 -0.054684872352165743 0.48601697540261046 -0.87223681667098052 +-0.39944839322141013 -0.37388173566650806 -0.034839789098244367 -0.96995420298107538 0.031013590978284693 -0.24130271712929016 +-0.16021769835001898 -0.34722877226698601 0.26186662087747176 -0.29706678930091074 -0.17230746225034593 0.93918127171877419 +-0.55767090395328012 -0.41904998075290467 -0.054202952825621029 -0.0099801646936552493 0.29876372221952247 -0.95427492610789244 +0.58408346826507951 -0.35394883482061079 -0.046275922130174507 0.80910185840286186 0.57544909599868932 -0.1192162767550079 +0.40040051627776918 -0.35174508539794225 -0.031403434185407919 0.98211209706714797 0.12766608041261937 -0.13840953979566437 +-0.4129757447624543 -0.26990113317202608 -0.058407194473794985 -0.9989627197691141 -0.029197887845502632 -0.034942350476977461 +0.40128414865111189 -0.26571842262500445 -0.052443218231542188 0.99106109218193483 -0.074972500510350232 -0.11034960684286957 +0.40256159413716763 -0.14633093761242832 -0.045066073982844228 0.99127502682748991 0.11218106801231134 -0.069204256861673141 +0.39904273651733707 -0.077314789998184641 -0.036884740579067654 0.98693478362638165 0.12912101469828144 -0.096371657823415613 +-0.40947099999999997 0.052299999999999999 -0.056079999999999998 -0.60343234530915668 -0.5763437638721608 -0.5510873528582938 +-0.42850952252619279 0.073965810853765371 -0.064353141942613504 -0.41968329811765487 -0.67281496059862977 -0.60925032464148265 +-0.50800780070306406 0.10897090691985481 -0.05988380612330501 -0.29876429412203825 -0.75868858547936813 -0.57890545585706443 +-0.54987767143820965 0.12705278136549306 -0.065766111125372465 -0.17949502021099864 -0.78118695970844676 -0.59793684591345153 +-0.65207682403463307 0.13887078962678673 -0.043953871608093623 -0.63130748104531875 -0.70633660893496053 -0.32021783094399231 +0.43417388811251373 0.13084195400938806 -0.044453350514705794 0.33992044542884287 -0.53622997066286227 -0.77260048494830946 +0.42023369535106281 0.15449111373248459 -0.063256255344614529 0.25479698575093185 -0.39193235336936089 -0.88400651945253983 +-0.48472449413535301 -0.42011283853151138 0.26144454818496365 0.6435206739346172 0.32444854026247694 0.69326350469376652 +0.49046622886554103 0.17941251533206648 -0.055538847706733896 0.24847754663687738 -0.48301214312694263 -0.83961787642310015 +-0.65608874398947215 0.19455560327605992 -0.056740006085260308 -0.93025868588528593 0.33172985829201662 -0.15676121475843291 +0.5440134859765795 0.19788389089151959 -0.04882885898811129 0.29693343237532305 -0.57556104651272888 -0.76194489201974569 +-0.61401867113368436 0.25494655044794889 -0.12494235287550381 -0.85718194478453835 0.47913779570329579 -0.18885466969070056 +0.58647518790501962 0.24932337781972788 -0.062928822197918288 0.33413539944416271 -0.27203632195940641 -0.90241330573805711 +-0.26410578408130059 0.23937915208789515 -0.071269935783698737 0.023046830733654804 0.95733556978942014 -0.28805806777297632 +-0.23421444263934837 0.24380653654683565 -0.067769668618246848 -0.32467117016617808 0.91697555890552118 -0.23182850478927658 +-0.12968841123980523 -0.4022962362214495 0.25940668614566809 -0.23819299777478584 -0.22672676291593533 0.94438290475247488 +0.24240450163159155 0.24196752413721123 -0.059143994507432109 0.15138845237455087 0.87514337121232233 -0.45957112214625662 +0.61866307669919274 0.23627817681459362 -0.042924183401611526 0.42535672166999244 -0.28504597814293803 -0.85896475461726152 +-0.21074415598416665 0.25928968104805428 -0.065481398837308497 -0.68354832975645585 0.69904407881631703 -0.20999775417610139 +0.3548489962428073 0.26203518464166625 -0.054743892154533895 -0.16004781232276094 0.70549032209346585 -0.69041154625567791 +0.63696374333813943 0.2397904295531057 -0.031749808341887786 0.73334312146564185 -0.028606600387320484 -0.67925659997773236 +0.42732361683515024 0.27632360766714803 -0.054258232971024833 -0.16653528766315223 0.661164337140148 -0.73152424242603187 +0.12913830277996841 -0.41865461468127652 0.25914601434864293 0.22127521285035801 -0.25042699438560045 0.94250920454976106 +0.51132791780368547 0.30210133975887116 -0.056122377026413039 -0.18900184634311343 0.61260478805755691 -0.76745923391920301 +0.61758347347944365 0.29113021704563957 -0.042637239334927052 0.8009823480017948 0.32794852162461996 -0.50087627749151564 +0.56965309332184055 0.32316806212804727 -0.047166415723124799 0.084390393036819125 0.69165017137406037 -0.71728536998974413 +-0.54014301645037421 0.35065812209594766 -0.11360346755921963 -0.3306206575950737 0.91126598437848183 -0.24552858588383875 +-0.26485593548283015 0.40388401874029423 -0.076229783327553091 -0.8622226668938332 -0.45001464017636361 -0.23250569094416559 +-0.27972723680188488 0.43998629864645827 -0.079824076491168461 -0.9144097542037346 -0.30647262858168034 -0.26444154240077572 +-0.29045288147794424 0.45893913742288461 -0.055185621292488496 -0.95671967786703915 -0.23313563881412736 -0.17417012343314717 +-0.59555875660350632 -0.41066493336694609 0.23971809604740921 -0.88494822938171314 0.45371416386448193 0.10492897037007896 +0.26832091343970205 0.52219382613197729 -0.054481477916283161 0.9225713261943328 -0.33594993152473956 -0.18973611040746211 +-0.29105288713016858 0.55859749033800965 -0.092422947496873006 -0.97102724780559668 0.077689953328695258 -0.22598751109491338 +0.28283220806904608 0.54184659870061658 -0.047027021383281978 0.66334853381831183 -0.728240295183752 -0.17214759699681445 +0.35853834209483548 0.56295896831711267 -0.053883014635922322 0.23422765438000159 -0.93627287771603396 -0.2617833156963581 +0.39690195690762575 0.57855707249522392 -0.055808824947460409 0.40491069025198184 -0.87359864807684817 -0.26994950453365696 +0.46426141818910088 0.65676692120423719 -0.054011832418001178 0.9046750696414273 -0.28052113414583557 -0.32073495548008613 +-0.3282426352114885 0.66872221865619963 -0.048019530026544952 -0.49678976893797272 -0.86170449387928294 -0.10327289434698837 +-0.029080680087595762 -0.4835619164340641 0.25179972897574293 -0.071520576337603614 -0.34029159288199562 0.93759609586120352 +-0.38764527660127618 0.70389194292432777 -0.062855263158314231 -0.52859241975238447 -0.73348668953814911 -0.42730238713431712 +-0.41021500730071037 0.72260935371968293 -0.054121485651769899 -0.77052616136158547 -0.60338390290584476 -0.2054684899722822 +0.47659078289507045 0.69957162032164222 -0.04672797003608703 0.99559055489924531 -0.01785987024376293 -0.092089478390795038 +0.20601679077199697 0.77431664232551167 -0.05639697694246619 -0.41283477220584469 0.846601863161625 -0.33590584417216296 +0.25669696113322149 0.81376189636452578 -0.056807390379385689 -0.47307577589895183 0.81450809207087238 -0.3358211997606344 +-0.43069756177647911 0.853641301964703 -0.060710105570916051 -0.91296420014169199 0.20683325665297339 -0.3517333836899274 +-0.10330593738044769 0.81650895351624753 -0.048872486947505234 -0.1036711569884283 0.98507046290598899 -0.13743534595896797 +-0.048784713055867623 0.82598359395757548 -0.062481560480403431 -0.11310292546009014 0.96194729792526723 -0.24872700751355217 +-0.021490662956566098 0.82711561818092005 -0.065196644530482586 -0.012983511074470362 0.96960123298677925 -0.24434581525104201 +-0.16590654041487038 0.8436065453300543 -0.057656879299575046 0.78827622126852459 0.54275370096118147 -0.28989484140901245 +0.36841052332197144 0.83335971222339156 -0.056521760629693621 0.22367468306558075 0.9390461024104807 -0.2610786350952467 +-0.40265230920632872 0.90337728360247826 -0.062592600128542189 -0.67875684117568313 0.59820878073488726 -0.42595235086672301 +-0.218109 0.91677799999999998 -0.054789999999999998 0.48209010335279329 0.82196318308631244 -0.30325840120252312 +-0.19304291253511946 0.89688674400187129 -0.050347276939056891 0.85240833828771922 0.5214349055948454 -0.038802887068669377 +-0.34673459927184214 0.93612597241691231 -0.057590023013963584 -0.26155855654070742 0.8949580464734076 -0.36143770770748795 +-0.26161980147109576 0.93672987601485169 -0.055541196046321933 0.25039206935438568 0.91770216199837951 -0.30842592865699264 +0.054130928429756864 -0.72809295332284063 -0.036008476701742786 0.083782555825819185 -0.99573626986477792 -0.038597463842480716 +0.25610174055114654 -0.69236828789941229 -0.030232122254047325 -0.09209630345803467 -0.98530007059436697 -0.14388204118687245 +-0.28298029292722204 -0.67624926257318463 -0.052584953281489488 -0.26917681045848701 -0.87254545438399023 -0.4076864907563556 +-0.21421362553317191 -0.68185509308256842 -0.024963365276049476 0.0019290196743691752 -0.99481942963592462 -0.10163946724550267 +-0.39807575695085973 -0.60742647828551455 -0.050902716255384117 -0.46790364839516352 -0.69225455546616133 -0.54940859681556009 +-0.44361857102016766 -0.5789585365622012 -0.052093213814204065 -0.44127980380422904 -0.68953468480793556 -0.57429439593410825 +0.49114523408850186 -0.60469033079947176 -0.033547716318221177 0.29453398491323579 -0.90763077793463465 -0.29909213075054275 +0.52078876043067623 -0.6021507589783196 -0.018619878624802813 0.12302740432468572 -0.93921945764522285 -0.32051687656930594 +-0.47985154158203169 -0.56277575452930506 -0.039930186940785872 -0.45414361928674329 -0.70767648601038846 -0.54124630641615112 +-0.54343437729471677 -0.53043611609423458 -0.037067091064234226 -0.39934970846739853 -0.77440610463247983 -0.4907290448454753 +-0.62202605043411652 -0.48045467993037155 -0.034182674770320776 -0.63003024426097054 -0.32632583554469136 -0.70467960121783069 +-0.61674050786312806 -0.44209959118053449 -0.041606963011207518 -0.64447505588229737 0.20577967614722378 -0.73641471144339143 +-0.41874146028583609 -0.42865462802276244 -0.048626474605204972 -0.34539692617729129 0.52795439180839121 -0.77586411410601441 +-0.40561129181383671 -0.39478484548062553 -0.032560260909006988 -0.80048626954779578 0.4068073444720644 -0.44014715351691269 +0.0080543845078626664 -0.47656814874152564 0.25619697029735194 0.0058333238131569086 -0.33196838976134041 0.94327247417305338 +-0.45281286722478048 -0.42330162746569505 -0.040959466171596806 0.055175168756555246 0.62148883895598428 -0.78147765406685055 +0.41656496209642341 -0.40607084984893971 -0.076282598036848837 0.03814443628599741 0.83758317041556285 -0.54497654501550596 +0.43428800000000001 -0.390345 -0.043504000000000001 -0.081715572964444066 0.94858866556681021 -0.30578114509117588 +-0.5764824370789714 -0.3857234985147851 -0.038669564604119903 -0.17377598098326591 0.55980283909095241 -0.81019916673557058 +-0.53792236820237971 -0.40067039878602007 -0.045101013378954669 0.12700011534594779 0.47615786086804257 -0.87014059911929509 +-0.63641566089287527 -0.49222071813895218 0.23685220411382202 -0.90445142252361466 0.41207901120467 0.11026564659762 +-0.51281997534625479 -0.40183227016284517 -0.040516020705910871 0.13274569702127181 0.56471013984566154 -0.81454345364616987 +0.40707917840697244 -0.36639512710402944 -0.019984306176492189 0.85837160242034438 0.49700369129293859 -0.12722233687337967 +0.39730402105055579 -0.40012123989814874 -0.077606547580045371 0.56117584404350462 0.64513624031646977 -0.51853727300203811 +-0.45396756234699986 -0.52408996891713899 0.25498361282032422 0.44827823801337102 -0.12935378494169431 0.88448528514887415 +0.46145541768993636 -0.38319560597086566 -0.052954695366544235 -0.35332178158858801 0.90380872825743852 -0.24144047171246547 +-0.64403015644809403 -0.51558516715824187 0.2514375361085861 -0.94327328942505406 0.26641649058005912 0.19813569846002876 +-0.40219364839661781 -0.34829955342322449 -0.057826440002602064 -0.97526484240382405 -0.18549366780034449 -0.12021059178383482 +0.51203509093829602 -0.35043464041873107 -0.040492944008365561 -0.40110895887809855 0.90143901209814681 -0.16284750712014273 +-0.41154353608130423 -0.31132792276550325 -0.046281832988144603 -0.98935626584569525 -0.13051756008469648 -0.064337747406943188 +-0.46960042318079287 -0.55016182013107529 0.25402453996531249 0.33018393953246949 -0.39693502673953851 0.85640011129267157 +0.55578427278332776 -0.3404377356115692 -0.05024875045579974 0.021889777553415889 0.97398359169550319 -0.22555886315236973 +0.41669216351301053 -0.21709957975877262 -0.016524483626472686 0.99754009765872342 -0.040743427696185011 -0.057041446883736524 +-0.39945783494827458 -0.036839242420534823 -0.017444957266442573 -0.98301564892269055 0.18091981290342585 0.030793753783697923 +0.37586396692320528 0.019126026658598638 -0.027405573466195821 0.98366644448087848 0.1046740063372886 -0.14643660198067995 +-0.63803929440445373 -0.54817179535158889 0.27250258198868238 -0.68052699664182292 -0.47198308173609566 0.56045961263641342 +-0.43051296504216685 0.058409738022864081 -0.040923566379361516 -0.51608890158873688 -0.76109556135928114 -0.39291957464108568 +0.37873057388552789 0.039290745004628119 -0.013170800918133416 0.95110323497666627 -0.17280342213900929 -0.25601096405030732 +-0.49502624807266149 0.087844205310024931 -0.036255267682246128 -0.37025104533835007 -0.84336987208532099 -0.38941163604166795 +0.37009199999999998 0.065502000000000005 -0.044739000000000001 0.81564727451527008 -0.1737622904758695 -0.55183891669978413 +0.38224200000000003 0.088848999999999997 -0.043241000000000002 0.62678371228695695 -0.41164688149804685 -0.66158070026619897 +-0.54328701936399471 0.10464799782967568 -0.034352673831398471 -0.2260514569372328 -0.86389098593108204 -0.45010343616059778 +0.40350799999999998 0.10348499999999999 -0.038924 0.43842875818943983 -0.55744098508791873 -0.70501047661483474 +-0.61615524446556869 0.11899657260751337 -0.03448252424182055 -0.24444514021042477 -0.90150556586394837 -0.35711943120450318 +0.43586699788115846 0.11216647690535783 -0.028090499390699609 0.43159897406566866 -0.65590798929280369 -0.61927944836506055 +0.48428701689287013 0.14703879447215779 -0.034478721871435927 0.31944812759776181 -0.61211725205353229 -0.7233708340213314 +0.6049186300143532 0.21417210806695858 -0.0360496759418516 0.24826123809475389 -0.53263146591407551 -0.80911685137431344 +-0.61247712353804962 0.26849182591653165 -0.050137253400138859 -0.82856439157021822 0.55843088284733577 -0.040447473397226652 +0.20306581263931595 0.26622876029043568 -0.022866255122470456 0.58485739247899549 0.8005357800877857 -0.13070690594574841 +0.27607652772023039 0.25071939486642825 -0.04182178032019012 -0.11013377889479878 0.91193007345037791 -0.39528988335541793 +-0.28515710558409535 0.2460326916011627 -0.047464185628391872 0.26528737191038454 0.96367048267357724 -0.03101307995920418 +0.36093672846763791 0.27932074074935798 -0.03188023632898121 -0.21331472263021886 0.89540817890215763 -0.39082095934623884 +-0.043623188838209828 0.68159822073754095 0.22032331990430976 -0.10629454303158585 0.40205227799696724 0.90942588256501466 +-0.39487913487890947 0.29395662155073554 -0.060007661952656721 0.42283143744589968 0.90534030899426421 -0.039654765383299137 +-0.33885470692559311 0.27140345309905867 -0.0507549431101703 0.42871650170729758 0.90272418849787306 -0.035933280739632284 +0.18141350236097822 0.30103015292019297 -0.032308921525184442 0.9975437653653515 -0.04812578118984908 -0.050895435606574883 +0.18696327515718303 0.2870391552572884 -0.020374604081814102 0.92178247001226532 0.37067710195032566 -0.11364666324971985 +0.40490354252650668 0.28286473942956636 -0.040104608705278814 -0.18284630099580143 0.82998411689060747 -0.52696640872210398 +-0.56345969983475341 0.33243544548071657 -0.095517461963499306 -0.726142415022349 0.68631200569272099 -0.041146372228242599 +-0.0060672070414138982 0.65602794912436391 0.23159876424842291 0.041801075371762066 0.33143076970613539 0.94255308338032762 +0.18940990149675166 0.32189136377381422 -0.021140314222706971 0.91663854544789336 -0.36856398861809114 -0.15470734724987706 +0.46653698837667773 0.30034903236083088 -0.041542386048075017 -0.2619542958787251 0.7901901966095296 -0.55405721730961532 +-0.44615152340159936 0.31870623646332763 -0.049699093987086621 0.46384947682139965 0.8838130098143544 0.060977262445979168 +0.19788119173880397 0.33999416404200355 -0.034445529059949277 0.85583209783681014 -0.51327954604814041 -0.063996311775441683 +0.54539294179845332 0.33272449343745758 -0.033161986874382841 -0.19152682750876948 0.80258375112467384 -0.56495734066836722 +0.044006275667034023 0.63029092747958571 0.23307325113724864 0.2041361583912655 0.27391855149616828 0.93983884575149235 +-0.24561691714358461 0.3665704553739878 -0.06299512562326115 -0.79725987716630042 -0.58050904564563766 -0.16548696681118505 +0.59660909479215363 0.31661209500970444 -0.047381436063498858 0.48482884140080879 0.59733460612510514 -0.6388523795614407 +-0.52279346085173695 0.35389891114816169 -0.043988986887679826 0.0038063426165055449 0.99501135586518341 0.099689083932068545 +0.23827232105911886 0.39976069232577616 -0.031708898291287396 0.90123665858551261 -0.42594352294116111 -0.079653000483929592 +-0.097054971794271083 0.65364784439394685 0.221064394021321 -0.25823132770901558 0.33864947927881139 0.90478346115179897 +-0.30075706309782796 0.51623387799090092 -0.045285537312896862 -0.97536377509044081 -0.10436874177992995 -0.19435192816280009 +0.26852044870378339 0.51719500338011493 -0.029570193192487437 0.94080011317887535 -0.33782903323526864 -0.027689191861430765 +-0.12346963224261083 0.63196323459293546 0.22105537837796732 -0.32424247089897834 0.28705877218833742 0.90136789457748578 +0.30522676912284497 0.55873030298431936 -0.042164713125100839 0.37236160905377863 -0.91796264529541416 0.13671654598155539 +0.35792470381304659 0.56261022575006103 -0.042974919907140974 0.2103180141230887 -0.95823420552280503 0.19378735846643602 +-0.29589173833671889 0.58309455229804574 -0.049278051331222483 -0.99026496095401362 0.10646777718559848 -0.089665598352454912 +0.40803526970368464 0.58324380907065321 -0.038096949675760605 0.45862819588739684 -0.87698465722887109 0.14338092244866885 +0.43544990930443567 0.60413077553340855 -0.0429496016815204 0.73969257957355494 -0.67033309434687749 0.05923200441619688 +-0.30472363366676741 0.64798019809541652 -0.051128328690660557 -0.85476963688486896 -0.51853197995149658 -0.022213816135237704 +0.46321381842034226 0.64845314289482314 -0.036801768613274485 0.88027974189788871 -0.43431053914079371 0.19100243871589587 +-0.38408835571659949 0.69807490173480125 -0.040271147932692042 -0.54176553431118124 -0.83573305490741212 0.089668092249387973 +-0.43620263039914664 0.76080169041204382 -0.045157514813941396 -0.90873700642492117 -0.41702694462284812 -0.016899130522152896 +0.18033034988795482 0.7724438561367335 -0.047176462463002944 -0.019350365690253623 0.98573815507444029 -0.16717013183607943 +0.05471979522673362 0.58589119428538794 0.23954312540019757 0.21083803093385228 0.13587585429479812 0.96803154748778453 +-0.44125724585963022 0.82167772232157132 -0.044672492524363672 -0.99083549969381179 0.099413003419436874 -0.091444339888489198 +0.15433513056712167 0.78060538786606481 -0.027429307872809672 0.29938254777146556 0.94706173858645493 -0.1159489258055779 +-0.14595149591495798 0.82400258370450519 -0.053635013600586423 0.59411435861258743 0.80191436388158055 -0.062940304183837725 +0.089706369361969102 0.5908661467053461 0.22934014109075401 0.29709063148540499 0.15297368476331924 0.9425158929448012 +-0.12459149669224601 0.81621766374000648 -0.052639063896769207 0.20212363884109605 0.97139455864241275 -0.12465410567464832 +0.078367915034757318 0.81455588807741808 -0.044564521219924942 0.3130700571517922 0.93641971815019054 -0.15844636560833847 +-0.14426727479763124 0.60455952647447342 0.21886464579641399 -0.40895817720466304 0.17748294294687536 0.89512737320470526 +0.42372458584041595 0.80611790505831094 -0.041143700826095086 0.59057330312765088 0.78343590112463757 0.19352354498076654 +0.019302660787045012 0.82799965654204533 -0.046332721057775 0.13066627299328437 0.97927772777419519 -0.15473027172293582 +-0.42162591644884584 0.88314696723528696 -0.039263445300823235 -0.83083286772528542 0.54144595091057501 0.12865857200327371 +-0.16617199999999999 0.84622299999999995 -0.037430999999999999 0.78986526154078107 0.60113465636051944 0.12144955139247567 +-0.35750599999999999 0.93223800000000001 -0.037855 -0.41124667555376132 0.89615226433672712 0.16669520380063815 +-0.21451633614293397 0.91714733559225581 -0.036152505478468926 0.55997418692072687 0.7836677941399065 0.26887487500762092 +-0.27271449179483509 0.94090627726077969 -0.041279951568121344 0.1037162492574696 0.99207476434991571 0.070926733888017165 +-0.095185414220940956 -0.7244468275745749 -0.0049713530025758401 -0.23956811708159681 -0.96851489897224363 0.067720069010323097 +-0.062014879755418306 -0.72807958513539739 -0.0028586373139374288 -0.082289861707964734 -0.99528355678807923 0.051371395224914282 +-0.0027476098018849315 -0.72802289782028373 0.034188008072670743 0.0034680391558461823 -0.98930792938950507 0.1458005265815713 +0.078229239786907323 -0.72520875032942145 -0.012580724237559014 0.20418519546774458 -0.97811063300699363 0.040099819830729751 +-0.26317922397748 -0.69265586770463661 -0.0075745269442051288 -0.014464271805193654 -0.98923283696764785 -0.14563371555407259 +-0.18502990740700209 -0.68598350782952766 -0.036162946189444184 -0.27263608898867991 -0.96086473551218565 -0.049076705574579979 +0.17183252156158879 -0.68666050536587298 -0.014927087293363339 0.27932327593177358 -0.95958355453921085 0.034320684442994437 +0.29037201138997881 -0.69104023464694087 -0.016003430351625769 0.21110611160282006 -0.97266559580650613 -0.096725634545926836 +-0.1168301728704095 0.54152168993600869 0.23618968431150783 -0.33404984295274642 0.0080610134074183028 0.94252094007830445 +-0.30865546647206954 -0.67771795445171912 -0.024553150318153971 -0.34941577416224184 -0.88286771078636916 -0.31377256415664695 +0.20431686416768513 -0.68140106658544086 -0.0063476419288409636 -0.038189884029528512 -0.99858686170694733 0.036956899005209945 +0.34354615796822152 -0.67217956448474103 -0.018062298970190072 0.40414108826118206 -0.90721300502614799 -0.11676705139076561 +0.42609924141655231 -0.63363081855936798 -0.014264919039261248 0.39089950948118524 -0.90771793033740666 -0.15246551226865659 +0.47023617551881891 -0.61882936174934933 -0.0066494976594256849 0.35450972962175231 -0.92881964344352952 -0.10778182387094253 +0.5489740175858453 -0.60610956000545935 -0.006074238571651347 -0.012200115716953477 -0.93235534503317152 -0.3613373323704161 +-0.15297549600763799 0.51363025008377494 0.21947077847170535 -0.41775069144173821 -0.062184101701693542 0.90643118729195493 +0.64710972124904942 -0.59510410948126391 0.0031290813115924798 0.77331064880695732 -0.60691014101554952 -0.18344132896991464 +-0.58536076197934772 -0.50639751200399064 -0.035312630019716851 -0.3730166487882704 -0.66931407306372559 -0.64255525157422366 +0.65022505077365178 -0.54525602931236961 0.017529756429948584 0.96784896122885955 0.24541554060912055 -0.055132573636194691 +-0.64071210008536106 -0.47176887103818799 -0.01320721961447744 -0.87773179467546558 -0.087574466848986024 -0.47108131927715224 +-0.62448368359409001 -0.43231143733676869 -0.027033214641571695 -0.76854518912017833 0.43652809889444827 -0.46774085897623724 +-0.62084648829373923 -0.41054935528599978 -0.012240952281607376 -0.7930122692556496 0.5234366705780118 -0.31168187740741543 +-0.60290265673920918 -0.39619633771377172 -0.03459059391869633 -0.58489183528625821 0.5111002626508605 -0.62982383452334822 +0.046154017211578496 0.49712806318333735 0.24379892501397832 0.18898365732093142 -0.10490560237249749 0.97636058495643308 +-0.44129994447031295 -0.40435284277379085 -0.019793247292121452 -0.061504276092949367 0.79019050008112091 -0.60976733071215805 +-0.41835499999999998 -0.40662799999999999 -0.029680000000000002 -0.43620109001626317 0.71652068006086045 -0.54435900296931428 +0.41681299999999999 -0.38371499999999997 -0.031008000000000001 0.46156282212162036 0.81976741463025049 -0.33902971425165751 +-0.47945695440282043 -0.39928794779105115 -0.027063001114871553 0.23317729628726341 0.72523578095030783 -0.64781278972057887 +-0.10689712384411161 0.50749106116027209 0.23755210462154136 -0.27941746951848467 -0.10083011979935845 0.95486080905498139 +-0.5553643503674689 -0.36207754206059067 -0.021343294394890022 0.027082216663702727 0.72452538518485388 -0.68871584834626787 +0.40147318038045055 -0.34875232203273321 -0.0027197381545589483 0.98350883893731333 0.17544528418802258 0.043923979650777767 +0.53293170171119708 -0.34403644466659594 -0.050938497928324167 -0.26080159305142459 0.94452866592564588 -0.19961995968980306 +0.57105431700200837 -0.34333279662305594 -0.050397599894980868 0.38617537529843537 0.89081711219154114 -0.23940228098294267 +0.024988799546107304 0.47147158355392277 0.2428747924244003 0.11862572649428593 -0.19637636973701633 0.97332638843432862 +0.40273764149291108 -0.28479828241216931 -0.01074854136295833 0.98824952309106195 -0.14825233582591119 -0.037203830884062948 +-0.41289240330179633 -0.097853982174019194 -0.057109803182026297 -0.98734546394284017 0.12143108496364755 -0.10199718837325468 +-0.017776947852436664 0.46662927799561843 0.2432251035413826 -0.016070062678805813 -0.20403990434675029 0.97883066488523351 +-0.05851466748069431 0.48461052326178644 0.24440362202939195 -0.10823861515519395 -0.15142745099767416 0.98252436574042934 +0.41713905701415693 -0.20306006923108677 -0.00028216853909840411 0.9962756781564388 0.058177078105469356 0.06364118711210702 +0.3853902472555738 -0.01788742669304777 -0.022667802864110742 0.96899777313643354 0.24315332631173422 -0.043815243468135527 +0.38672100000773174 0.060797706511818136 -0.015161829008633443 0.79071121491830432 -0.47108074264326599 -0.39097149322308433 +0.4027189280273632 0.079064501633821477 -0.016290277153871047 0.57092283865351989 -0.65753115808803775 -0.49162982867927252 +-0.6394283451040097 0.12284393790270479 -0.017979769381048838 -0.49294915126368088 -0.84927211705228067 -0.1890449826521558 +0.52987565709185347 0.14053365732078638 -0.0043315749430388184 0.294313000452402 -0.6955997512773745 -0.6553783974068409 +-0.64739055312983673 0.21518212136567527 -0.041974763744037524 -0.8628130234994883 0.50072165736797114 -0.06950905208923093 +0.66000236675334023 0.18235880893299194 0.0033054893377079397 0.68650250828512127 -0.28411324686845485 -0.66932351600111994 +0.648115951674468 0.23408726193371776 -0.015786405620956234 0.90521475425905207 0.1736677047163967 -0.38784762086451213 +-0.22745726239168412 0.25131631769858265 -0.032269395306798648 -0.43215534683474577 0.9013818380248998 0.027432431189994905 +-0.21269329337260406 0.26161064684051116 -0.029795716181863805 -0.70183506190501377 0.71231467700889517 -0.0059453173589606324 +-0.095348444031269186 0.4526539464099224 0.23002950545096967 -0.24160656747855649 -0.25302438365035718 0.93680570441772326 +-0.20270189161940458 0.2748511172791438 -0.040687982377744125 -0.88128752124476351 0.4223175358670801 -0.21208536912625064 +0.2345847353816635 0.25274757816491944 -0.03113307043137313 0.1768126200956536 0.96327472173942041 -0.20208688189180476 +0.63895362540350753 0.26633522636055318 -0.016448963458598254 0.89555256492361468 0.38098630899072911 -0.22985873013735117 +-0.3638226869861958 0.2796894513981143 -0.024234536912699303 0.37952525268774284 0.9088661099494163 0.17298259090937626 +-0.20247570577695007 0.30666785230624921 -0.050494757767645379 -0.89942474158690999 -0.40607714142554008 -0.16166783673007473 +-0.051286382471402353 0.43407955024559264 0.23189186487518174 -0.10344535924871145 -0.30988456145570592 0.9451299467381773 +-0.41032048114251829 0.2992775089909453 -0.034781491499073107 0.40072298394256672 0.90343273707222393 0.15241515582892465 +-0.21356699459318024 0.32547080325224531 -0.058189035725168078 -0.80702307172049137 -0.57065223195519577 -0.15188743159121523 +0.031543117322654107 0.16532276481078934 0.21014959887141704 0.041849866019503031 0.50529019322809421 0.8619341096288422 +0.60675658085490125 0.31976415381892748 -0.016751452403636055 0.73238831105671065 0.67310826902788878 -0.10262855350134267 +-0.56371005628287807 0.33445538629810762 -0.02734345017505202 -0.66941892983104923 0.74226907650144869 0.030247552852078391 +-0.45109136980007536 0.31588266009970423 -0.023654464900157199 0.43638373341239278 0.85928191802080389 0.26684044404016083 +-0.54777267265547747 0.34625987195913888 -0.030044596197512097 -0.42663558996769724 0.90327456466484901 0.045575587790422152 +-0.5076772969454757 0.34540341331899255 -0.021781807124134592 0.32207840548387989 0.89806819709241348 0.29956470768791094 +-0.057062977396908993 0.1308821027317052 0.2257778617412621 -0.12447512654085383 0.43967257755145184 0.88949084729518213 +0.57083461073561925 0.3443518118797011 -0.016135413958713332 0.16864169185213895 0.93216028512828741 -0.32037038346076574 +0.22037409900595215 0.3684075882348431 -0.018578994628142873 0.83341787826406044 -0.55235475382854371 -0.017856822585229939 +-0.29135816829630617 0.44610479026607791 -0.0084198852391572515 -0.95877848701224155 -0.28361891701345054 0.017439115649434751 +0.25122416621935123 0.43352305771555227 0.0082588429746702219 0.94498427394138163 -0.32058520842829419 0.06503726732010752 +0.038567092841264722 0.1210170662850677 0.23266277251930856 0.056655608903519006 0.41195405295076054 0.90944158703965894 +0.26140343008228328 0.46968678915848761 -0.0010428405556751619 0.97880956781395079 -0.20210184757325209 0.032964726046866073 +-0.31084175323960012 0.53343137684750674 -0.0076107628904640012 -0.99975520437875698 -0.018471669121512473 0.012179029413511467 +0.27924307067281967 0.54767751402789178 -0.013293161076825988 0.75136026873517303 -0.53792385771770368 0.38222463272833723 +-0.02421796975289281 0.12456861782868067 0.2312854983216216 -0.029091279307305446 0.42197134138667342 0.90614230919684791 +-0.2948445723677911 0.60778451482489615 -0.009253395049100499 -0.99542598110400504 0.089386310134301511 0.03372245103344948 +0.3601726914374212 0.57129972690266828 -0.025031973418336666 0.22654345850696189 -0.795352735930274 0.56222067451840663 +0.4131813036364913 0.59218544293595266 -0.023315668550746821 0.47805112007195238 -0.70374971668968056 0.5255506282530219 +-0.29693351987211591 0.6376789169785152 -0.015920111432165207 -0.96504046623332762 -0.15307542819486453 0.21275528622133105 +0.43622483353204788 0.61409250597092646 -0.021383375941737712 0.65308850480943814 -0.51969149911298451 0.55081407991759923 +-0.30188799999999999 0.64687099999999997 -0.027791 -0.84745924031898001 -0.43930558589836072 0.29803261263907904 +-0.31778654518081484 0.66887628690747636 -0.024931982507273298 -0.63104049167685716 -0.68124921916122716 0.37106252742152329 +-0.39901212863155167 0.70884315056050329 -0.030075819171188678 -0.6514332275294672 -0.67719760235024906 0.3421084001330798 +0.079327362832048109 0.084708964101906536 0.24412377040720989 0.1174609193367241 0.36381953532383615 0.92403369968054705 +0.46550807429449359 0.67155360014359666 -0.023647406998690446 0.85472609005445288 -0.16326434030483578 0.49273529015593565 +-0.43439980128774408 0.77582578075689357 -0.027381398016725567 -0.86285204298507723 -0.14543503365232496 0.484081607689267 +0.46359763866888187 0.74638468558896776 -0.041319772694567547 0.926419805404333 0.34937693758195559 0.14029290659349875 +0.20842146152396807 0.77846813622938504 -0.040380745656018624 -0.38606217471407289 0.921933309978201 0.031543132496298448 +0.19534899999999999 0.77024800000000004 -0.020086 0.026764792916386514 0.95255649059228908 0.30318274702008585 +0.44460615638636558 0.78416272089438355 -0.041116439370061653 0.78464658447041735 0.57233661144519288 0.23824470755578669 +0.10868678840197399 0.80187823090001453 -0.046203750022963952 0.42354572630361592 0.89472967169286555 -0.14166097670960626 +-0.13471414500525003 0.81591350539813234 -0.022122933531040223 0.23011192970264238 0.9495666949021675 0.21300608381241182 +-0.059459720312325826 0.83039500191254056 -0.030253823750429176 -0.13019502829770455 0.9877974278040752 -0.085472195655738437 +-0.01722665319647021 0.83084234694562964 -0.034568251074983181 0.013150535877010464 0.99797997554129902 -0.062153292951667223 +-0.13609135685080934 0.10578189941652277 0.21959893691595975 -0.26835476274173048 0.39616710995869758 0.87808732043049265 +0.32950930637945741 0.83675215480758669 -0.040307994897682636 -0.11904569466998408 0.98924336868743379 0.085004000426326179 +0.37379828283210176 0.83238207700485489 -0.043630615939411449 0.33801742540727447 0.9231577545112597 0.1830955499370924 +-0.163141895949724 0.8340816167529197 -0.026505052656197799 0.65457685175042313 0.6607128295528234 0.36740672560094229 +-0.39041708267170994 0.91749739051942747 -0.050507132509966648 -0.54213030808569007 0.82957357652689978 -0.13379988857724351 +-0.32327814411371669 0.94352524865067755 -0.044176637132528437 -0.11582276830992065 0.99317022719858883 0.014070755037669592 +-0.17852898360288982 -0.68845094596130174 0.00094432770670005439 -0.28496534513241389 -0.9555257930766281 0.075928985498590715 +0.11478960591806664 -0.71156154893272117 0.01071564911870887 0.37475557085451805 -0.91801908955109413 0.12961177929989354 +0.25982109737650527 -0.69331555665189504 0.012022076401271259 -0.066395384794148346 -0.99084349886168244 0.11756195660831811 +-0.35776265631965543 -0.6606679155552021 0.0017297279919900044 -0.46046792378208684 -0.85754453998016222 -0.22931779939208013 +-0.36883688090133759 -0.64476941317449499 -0.021465385422171857 -0.48238140041228433 -0.77960494385127344 -0.39940495247171887 +0.49098975659318378 -0.61278459154161591 -7.7699523568508511e-05 0.1882227085636482 -0.97601994472080289 -0.10934934608018808 +0.59299605380804887 -0.60660554093466557 -0.007460775326868254 0.033759377126833016 -0.91480232700426201 -0.4024885178034221 +0.16426150122459049 0.081755311896508087 0.22488760755968684 0.31815631291198687 0.36673974159191453 0.87423024569694785 +0.65865190352690894 -0.59182054784337179 0.055844496576241173 0.90506019827425666 -0.42508475709993931 -0.012999491568854363 +-0.48562432043522019 -0.5713786693351145 -0.020288608640441907 -0.46600900877940871 -0.77667892038706376 -0.42379884186111011 +0.65742837963724698 -0.5739804258999307 0.036716806282268255 0.99359610601838311 0.092671070066853892 -0.064644032035219484 +0.19972723482035909 0.0082482327666216215 0.2351018698238389 0.40056914924838466 0.26297294312340419 0.87771839895005055 +-0.55270654953425957 -0.55177141938701402 0.020920429794966111 -0.40264984663315251 -0.79699971100939737 -0.45018280915338804 +-0.59098313068128761 -0.52068543406472823 -0.010516349270131495 -0.32635957909922764 -0.80587263734305492 -0.49402299289802709 +-0.6322349672292098 -0.51133986387095209 -0.0003116655312611627 -0.56877991057514721 -0.5982588550641732 -0.56442515505904955 +0.45844313882906773 -0.37840936031206684 -0.013531993625918837 -0.35678817662258078 0.93204838042776506 -0.063150721011831792 +-0.45852769767018331 -0.38631765725947065 0.00043586008402824589 0.26831033329311921 0.8334178618431457 -0.48313997206703402 +0.50303389992471415 -0.35203687198374389 -0.016114259212215432 -0.4234370237269654 0.90277840611240823 -0.075446911099057365 +0.588590636407329 -0.36043872499630503 0.01946653363068207 0.90701522015633185 0.41851154947883618 -0.046599070351076015 +-0.53029591662264286 -0.35506255999212621 -0.0038084558319391795 0.28924700983748486 0.74544496070167376 -0.60053973878882827 +0.40020780997463357 -0.31704829267749496 0.01007602301769229 0.99735913580607594 -0.068794838731495278 0.023281417226300172 +-0.20679897375821357 0.0072257382089653266 0.22776663725578361 -0.41673012241053464 0.24810455798146727 0.87451708581623577 +0.5762643109780663 -0.34019774161006477 0.01050113619451376 0.74016000301961438 0.67069997699600448 -0.04821525471843522 +0.56329780374402449 -0.33081592443479252 0.01041390415124982 0.34130948422550977 0.9349311943227846 -0.097012874712009603 +-0.41251219189833299 -0.12677494726411798 0.0097120515244126793 -0.9935182187755347 0.038505394814516064 0.10695271633421444 +0.40134626845122545 -0.13084376874978187 -0.0037333851153824593 0.98905960938219684 0.13883732306317631 0.049852651016644448 +-0.41048164797493558 -0.086939143060737023 -0.0026866008844843563 -0.98353277436954301 0.15370423279917064 0.095069924584843701 +-0.3969377943363549 -0.0066805503184486081 -0.021139569014482995 -0.99652513513139818 -0.083251590862863156 -0.0026129810851149146 +-0.40117062020666161 0.016409972048347155 -0.035037892097339457 -0.94193080898639092 -0.28109274042913251 -0.18372050065325674 +-0.41321466098406601 0.033544521454009837 -0.022966845915423983 -0.78597025853310398 -0.58050125738762548 -0.21276522947321874 +0.37878039466068425 0.012458899582961758 0.007193886193970378 0.99605923673657415 0.074965115584464781 0.04739439162138305 +-0.43741003348832841 0.053831519269993217 -0.015272511243459616 -0.53284998076338375 -0.83259813861810428 -0.15116625804103739 +-0.48373432177191134 0.072146584860547092 0.0028994845061940111 -0.35672602263953168 -0.93273529639913166 -0.05245389997897585 +0.42347919828281871 0.087823874184372458 -0.0071153439158622572 0.43535772874591327 -0.75990401606527913 -0.48271061143200461 +-0.59853970136608425 0.10490402456278314 -0.0019927781990183996 -0.2837959223695789 -0.94583610972198173 -0.15765128604736245 +0.47785000876255906 0.11230007592396091 -0.0024922437207898912 0.32950865164764187 -0.77633633596178386 -0.53733224540761093 +-0.67026703632675833 0.1528236221741181 -0.0047826684616061738 -0.91444660031267544 -0.35352947020137521 -0.19698814399786863 +0.54871382786712763 0.16234724541756596 -0.016150835150138931 0.30719677159878056 -0.64404623590566135 -0.70059588175711951 +0.58088558834416582 0.16784478666685237 -0.0094955539601257744 0.21865764838354193 -0.59051482501308306 -0.77684044323345269 +-0.26119392316900863 -0.08360885455879008 0.21864239988935585 -0.5339903295045122 0.14083417326765543 0.83367863330882996 +0.2436060613851439 -0.080540102800127134 0.23357411158245334 0.47802835766845692 0.1178049511831014 0.87040845741614026 +0.62728082771141935 0.15747409720792394 0.0053662765271171586 0.21746581718857419 -0.62372019718901861 -0.75078740930638777 +-0.66604225792330007 0.18516518037117891 0.0015453250445374156 -0.91140445317103214 0.41060672769691459 -0.02727705830993514 +0.6494452672239025 0.17083677545893644 0.00281757923234216 0.41775624729333072 -0.53313003887592292 -0.73569836175945802 +0.66898846415985569 0.19455897858507587 0.015229177233149871 0.95495807823214152 0.099075061116921048 -0.27971271169514894 +-0.6422927761091719 0.22479158206968286 0.012535003981634651 -0.84022724391104842 0.54176096655691663 -0.022654661881366143 +-0.58110247004956683 0.31532231858844018 -0.018041435685277385 -0.78136296421996221 0.62404291825771074 0.0065080194985992412 +-0.25357599567601646 0.24219896645916345 -0.024351828873161743 -0.096834819519241166 0.99144991429570584 0.087464765315601573 +-0.28297979344235086 0.2429584796182967 -0.012484453078160679 0.22763084673056297 0.95938782737517792 0.1666109069090701 +-0.28079856010982374 -0.13795501138672694 0.21216486400390197 -0.55114787449860037 0.053283687177376658 0.83270455091614493 +0.29445961464246562 -0.1451020561329594 0.21111823622799494 0.57444188348960701 0.074426130896085213 0.81515475434591655 +0.26395282345885851 0.25598999809801931 -0.01776069655801768 -0.12436654654701572 0.97973495673874678 -0.15701075327535635 +-0.19904003284208491 0.29068321554615439 -0.049783624218904671 -0.98479329188563403 0.0094972974205691282 -0.17347038248289443 +-0.2422603832168384 -0.15314748232500008 0.2355628030744471 -0.45981339325065984 0.042916390043139685 0.8869779179060655 +0.18383156821911961 0.30950874441802417 0.0070676484545039789 0.99529719821899199 -0.072037095533471332 0.064762211856343857 +0.39350816058680205 0.29185270637277549 -0.012890344135514917 -0.24867511947932555 0.93636165711759511 -0.24776507427790187 +0.46078440584742164 0.31176315431061363 -0.014863119167363771 -0.31198471760295116 0.91035817106942274 -0.27187044037434888 +-0.41966228806717504 0.29580060427071275 -0.0091622142589999067 0.36017955902185783 0.86750399640138953 0.34308526854185678 +0.26880314267781918 -0.18159130616967811 0.23108762088718465 0.51438612514191118 0.031619007193456061 0.85697558462630097 +0.61546806956217381 0.30476511704556564 0.0025773462994111984 0.82553761975658968 0.56003027076576273 0.069668746168212489 +0.18995918038758805 0.32873049765868595 0.017532830217201444 0.8625315258859183 -0.49031909717980615 0.1250061990210462 +0.50787586843816945 0.33009021592261734 -0.015127361366026756 -0.32664706358993717 0.88121697127299603 -0.34169920308440771 +-0.24892232005018766 0.36610440817560153 -0.012690829255048774 -0.80567732402882897 -0.59234493554613132 -0.0033951257112196324 +-0.26649205609935167 0.3935767158642024 -0.033063053802090313 -0.86869231429836713 -0.49114971964336263 -0.064386457995398647 +0.23619376306098272 0.39609887429917379 0.0070047477479896481 0.88851631596853009 -0.45338887999500266 0.07054983879916546 +-0.30016608592943128 0.49241006603592252 -0.022001348600381776 -0.97825222454417637 -0.19796428260072943 -0.061909029945144661 +-0.24001651668108284 -0.20615517849210463 0.24043609761465765 -0.45121673205617741 -0.01066849813455842 0.8923506283183178 +0.26794990729975521 0.53506363888912878 0.0074831948781124424 0.93223610747323959 -0.22073160851438869 0.28672878635706145 +0.30526645708879763 0.56956572813152384 -0.016291278088788698 0.39800367591985619 -0.74131983385995359 0.54040538291187756 +0.36066350479042508 0.58706535560612561 -0.0083795003930898851 0.21601402631749778 -0.5867134067398444 0.78045199646475971 +0.40066673896790062 0.60338421068915771 -0.0092313795726280123 0.27182689595132958 -0.55037850748252282 0.7894261441951208 +0.24023033667852123 -0.23750880582601464 0.24702628326177961 0.44189479056086994 -0.051480142534112101 0.89558851544659301 +-0.31330288553946922 0.680453996307128 -0.0095432139167316299 -0.53729079674685731 -0.43819447569073178 0.72062764393634793 +0.47298520257316834 0.70562506554739191 -0.032805575787706334 0.90960512884165334 0.1317680507113243 0.39402498702074368 +-0.38177287346365935 0.72667805457013279 -0.0069148779268873861 -0.38061446525100884 -0.39736673271773287 0.83500437637830527 +-0.41012919733851055 0.76433305710256882 -0.008878986531279609 -0.51466965466770043 -0.29890133904304883 0.80360010955854311 +0.216729 0.77891600000000005 -0.024930000000000001 -0.36409829131987426 0.83811501626974616 0.4061965703463179 +0.45408319582292145 0.75151922222787337 -0.024854017944667899 0.73692050743855853 0.3966190035695627 0.54739522442562871 +0.26362778845894236 0.81794306276645301 -0.035781386283562533 -0.37259863364329937 0.87218693206999065 0.31695459254202901 +-0.43766841308883292 0.82113775576164072 -0.030576950504032877 -0.89843027107949203 0.083423680954783641 0.43111893656389649 +-0.11335444504760073 0.81721403002501924 -0.013011078800426124 -0.18388687043862736 0.98224590783907395 0.037129441332731238 +0.33359068645762679 0.83228961582813021 -0.025994608044383843 0.0082875420883159173 0.84215577386101803 0.53917063087549966 +0.37828597524450119 0.82402398687703493 -0.030046925267518232 0.35312158194131488 0.77813782775827334 0.51942917648020015 +0.041104247644320108 0.8291940567880407 -0.011989393880722551 0.18558543931790272 0.98221403379044558 -0.028524314860880664 +-0.39126467395929787 0.91068319756161398 -0.027511846383059951 -0.58294111892977407 0.69407126657691121 0.42242718754032055 +-0.18795006576611606 0.8778755987385809 -0.025920269013945105 0.73702542123045278 0.46073501288880903 0.4944863763122524 +-0.30340442086569969 0.93726887054641972 -0.021116671043628261 -0.012970970641522231 0.83543961393328436 0.54942916321544255 +-0.25827588402151985 0.93292987638694813 -0.026666296875716484 0.27079553424031177 0.86010861529642113 0.43229960505230297 +0.044983390872034068 -0.72565998320097547 0.029827125486789008 0.10773059492721516 -0.97832906719501245 0.17682294873111035 +-0.2555477221798208 -0.6939809708149357 0.029740627493573334 0.089701283892497582 -0.99206990500311609 0.088039668645139471 +0.27992005419965049 -0.69109301296254588 0.019239846441173061 0.13194485711264645 -0.97428200799380271 0.18266122626624132 +-0.32685967334013466 -0.67833167345897516 0.016690891854091769 -0.4016243411167732 -0.91398340529919697 -0.057725414335470654 +-0.20292269800955032 -0.68202526197159297 0.019586895968176143 -0.012188244599778382 -0.99820018678214362 0.058718257822158719 +0.17144420581812536 -0.68452033589787131 0.027794826502375858 0.29104573577402537 -0.94010040361290115 0.17749256551928189 +0.20620453856527876 -0.6765135356926385 0.035062019045735748 -0.0053213520619482067 -0.98666870862349998 0.16265467295921007 +-0.51441578857096126 -0.36306866232947377 0.25009223525574309 0.57707735642105606 0.62029426871566351 0.53124075982983987 +-0.57187597546605062 -0.36769760376501015 0.2562791996489393 -0.75618367988933144 0.61481932190127553 0.22401661475409551 +0.22415868531620486 -0.35459024115857185 0.23911802842341864 0.42197907765238535 -0.1822038092552393 0.88810778057425133 +0.31998095733019011 -0.68098675603239467 0.011850314121084334 0.33896325862250137 -0.9362731191965673 0.092176762657111513 +0.41896689684901567 -0.63890453798199198 0.028857039617280034 0.35747435870980421 -0.93258839983648789 0.049909511672959025 +0.52551813068333009 -0.61152863901129595 0.021751806375849392 -0.024451153538662965 -0.99553732864206168 -0.091145863158216794 +-0.41726657942082768 -0.38350708159675151 0.0011104378228718459 -0.49616535340937828 0.80211786310322541 -0.33230539533215847 +-0.40688129029322395 -0.37050151765104256 0.0013921806013942051 -0.85885438923681323 0.50835192835739307 -0.062828775445496074 +0.21281132083219506 -0.38761477137068878 0.23708547338872163 0.40956464800335729 -0.21663732267582209 0.88618568569444733 +0.42076211076725201 -0.38003154483835677 -0.0014268639765658668 0.49197220298906807 0.85405205757529823 -0.1689924094078866 +0.43613641156100158 -0.38270040715363984 -0.010829070723583439 -0.01844871689000083 0.99981507390147062 -0.0054279687277669101 +-0.48100363328803253 -0.39347375982259697 0.2361818189796252 0.65777460645496011 0.5142002876129993 0.55039134379251564 +-0.58635574968858539 -0.36040671686280756 -0.008997748593151611 -0.52195643033280148 0.7319073210008844 -0.43803328446540191 +-0.41271992007014202 -0.30700072985200677 0.00033988103661641844 -0.99094769579074826 -0.098602885967667753 0.091105077168365398 +-0.55794409622474395 -0.33328217760170498 0.021629385927388195 -0.20238368216054919 0.92164898864810185 -0.33106492855491176 +-0.53514536204950347 -0.3390016820272822 0.015746564357723133 0.24453929432219199 0.85105285306186107 -0.46466070936509224 +-0.20604979438212978 -0.39054849546490278 0.23359323711096447 -0.41884874469841182 -0.21793842932474086 0.88151492902164141 +-0.4129168305689363 -0.20937964314848356 0.02538786088945498 -0.99669922809768385 -0.013098031951410171 0.080119225336251029 +0.40192951970075091 -0.2729028454913639 0.036880075337050566 0.98612868978004398 -0.10745842960348707 0.12650254187108687 +0.60441052802073891 -0.43476154677896389 0.21789889096846271 0.31068290519567987 0.46556830743248173 0.82868708420828319 +0.39977091971650197 -0.085521557073592547 0.034802110049745094 0.98207181965087531 0.12065310021239521 0.14483704794270122 +0.17520495026976382 -0.39446869205862062 0.25074537073824765 0.32680453431496304 -0.22049692616293726 0.91901028389451467 +0.39649035466139698 -0.060239616085077774 0.015762031110467936 0.97400394523414968 0.21098068352625879 0.082483124620155723 +0.38540367910508266 -0.022499508909329113 0.019945866351517051 0.96867676829539884 0.22696031828294139 0.10076870788934597 +-0.40258100000000002 0.019428000000000001 0.0053460000000000001 -0.91119668760006722 -0.37816847636277873 0.16342949547777486 +-0.4121256388095344 0.035664378218067533 0.012986729054934698 -0.70605730923399945 -0.66633456010925374 0.23975264353339634 +0.37834899999999999 0.031537999999999997 0.014442999999999999 0.96985482630129649 -0.22848248293264126 0.084719365513542255 +-0.43431353678722179 0.05293049768517747 0.020056809348856515 -0.47176084935859092 -0.86462974239550372 0.17279209929144815 +0.38588526903489595 0.048128143435978238 0.017577353635339701 0.84340247586112183 -0.5371909233799258 0.009908357560795375 +0.40272536106208751 0.062462910645250641 0.021215647142179828 0.47824363831491334 -0.87279608960685129 -0.097519271830257132 +-0.53618484562167212 0.088365411227179141 0.0024037452497161771 -0.22480520917538593 -0.94833185987731416 -0.22389573794345688 +0.45394955355662242 0.093552196453556419 0.009457528090068959 0.45065728270182198 -0.84500562466976703 -0.28787759173695154 +0.54103121576642943 0.11927817915213866 0.026170467979130557 0.2174812246352 -0.78274108662628084 -0.58311088845800396 +-0.16128570762030439 -0.42523617399941388 0.24469318832594344 -0.3298192547623765 -0.27262355786881332 0.9038228005991773 +0.56470658745004965 0.14049221254574962 0.0087735048778539021 0.17590856019185144 -0.68428575162091032 -0.70767873260388126 +-0.33042035722948537 0.26269493595119447 -0.015960097486637431 0.39365035365329792 0.89248282617895625 0.22025849369378792 +0.59560459866625615 -0.4477009327532781 0.22319233501891633 -0.0072060893146180726 0.19468380397562388 0.98083958359477452 +-0.28191951450269365 0.23378992748307614 0.013746330377011725 0.046546575527731095 0.95206740591930794 0.30232610025057538 +0.23194067060300655 0.25616929305064917 0.0043698016819621556 0.12862875895330811 0.98728790223740925 0.093366163387961845 +0.25820891873726026 0.25532074293711449 0.012070110198157985 -0.16451068225547771 0.97953690338826849 0.1159469289130136 +0.18589900000000001 0.28742699999999999 0.0058479999999999999 0.90430024321894564 0.39600078781342474 0.15945045050203732 +-0.5644656829688125 0.33011510348627238 0.0097666817583874632 -0.55819610047778034 0.78372416792296451 0.27238491519329161 +0.54513496626734836 0.34908398263640306 0.0030612862363408391 -0.14242542941082856 0.97204225213944462 -0.18667848593991057 +-0.46048534687780029 -0.4597714595434898 0.257160272421389 0.60507049397771984 0.18307148692258826 0.77483838830656215 +-0.53262281123202759 0.34807444982225344 -0.011668957925008216 -0.055369503119088399 0.94072286725713095 0.33462621705997214 +0.58720327640720571 0.3386906403679697 -0.0071726880696151296 0.57784306546994568 0.80947398216917732 -0.10415979972844894 +0.21960096292945025 0.37414807214912177 0.033253447731373065 0.82532561577246089 -0.53991869142354176 0.1653040671045288 +-0.2815782326304927 0.42401658050754659 -0.033530253076240364 -0.91750433606826653 -0.38897678309048528 -0.08296297675774976 +-0.28099107384934335 0.42158093813570524 0.0062757653705426963 -0.9105959449310691 -0.40532548741913599 0.080785359586580854 +-0.29766287527463747 0.48649204954253755 0.0095134975441209246 -0.97382855175556049 -0.20615326866210312 0.095701523528094398 +0.26212174225472684 0.4835621801124545 0.028933628556831403 0.97719284176940568 -0.1617606676224668 0.13757774676511866 +-0.29686786504097851 0.58803721810936738 0.017963961828615177 -0.98443235659216899 0.15153760191240162 0.089046563667706566 +-0.11849524240926768 -0.45205865720164518 0.2484738398809683 -0.21198915845832508 -0.29000381386558594 0.93325151199424561 +0.28452899999999998 0.57354799999999995 0.0068269999999999997 0.71343856748811907 -0.39904447662078441 0.57599385074751008 +0.30800315131219902 0.59688557975115863 0.0046112351572234755 0.34652806664295943 -0.39875507348354361 0.84906577507271275 +-0.29082926096112005 0.63470203387616386 0.019193509339140991 -0.97383598327570864 0.11979981123342641 0.19311002797853158 +0.36432859956506508 0.61358170129101852 0.0046105124396647601 0.13534891568351601 -0.33887459219851068 0.93104494079802058 +0.41245566565271341 0.62991522854511961 -0.0010306766868490025 0.33650722898636226 -0.31244768511092519 0.88833514447462003 +0.12094051051591184 -0.48734578550221347 0.23868007703631047 0.23127776242233322 -0.34795744643940674 0.90853520134130528 +0.44480020432799017 0.66439592468918918 -0.0057109325272128378 0.54521005992576743 -0.19751382893095309 0.81469888789464739 +0.41785983637019941 0.67004645108818872 0.0056831544250070592 0.28174989374047021 -0.11431580152862195 0.95265360698320067 +0.45599249600855862 0.70159659364922344 -0.010865433728283885 0.63892883378083642 0.066374715635635587 0.76639698752523078 +-0.085431772723612909 -0.49978750529572613 0.23971757083641831 -0.15928180863853517 -0.36092902415836575 0.91889038789015898 +-0.32033887821973489 0.72878381576776996 0.0068668315523256196 -0.14006355967250197 -0.17337215466382519 0.97484578023351487 +-0.35699894758400341 0.7497551160840209 0.0075741181805952379 -0.22371644435195165 -0.20856804340594298 0.95207684763171141 +0.42721656398885866 0.70343005081567611 0.0041129588614357143 0.35143293445517104 0.036193530115376245 0.93551318588142562 +0.44246511751121381 0.73739538527911663 -0.0079159407041247826 0.53937206984417951 0.2005025726445194 0.81784869544123795 +0.20523269653004106 0.75366067784514656 0.0095051366120154912 0.23322891579170937 0.80949511668936458 0.53881530128114918 +0.41096781706092328 0.77818852527334514 -0.0064514556024120873 0.35053324964294286 0.35848403126682887 0.86522577413149304 +-0.41999888285256415 0.80913293704820421 -0.0078721953892124316 -0.60632058828687685 0.0072739207992658155 0.79518704359141901 +0.080612174060336536 -0.47042649408608994 0.25211659042036061 0.12808267586364211 -0.31190575911555191 0.94144018693391263 +-0.18453338444937101 0.81463753790497151 0.0057084181475973161 0.1368723551468623 0.60059849309560664 0.78774831544589019 +-0.15407100000000001 0.81772599999999995 -0.008208 0.29467093545903772 0.78805523550138867 0.54049790526379127 +0.1719167558766399 0.77091396043378069 0.0063915119191741976 0.33360851600368463 0.9319040067798422 0.14233861105650589 +0.29050692887886265 0.80459696798140046 -0.0079245048731187706 -0.2041371045972111 0.58000954153403317 0.78861712779786108 +0.011819529231142489 -0.52277003534253552 0.23525607661695336 0.0094040748080522468 -0.42857621917813915 0.9034566883542211 +0.35275772589108345 0.81222557780817384 -0.0066625498815818807 0.17052179924937086 0.57429900370709164 0.80068905969908155 +0.42203465271523943 0.79709948256890839 -0.021345520980578292 0.48711766074705881 0.61902082879223541 0.61605973582899198 +-0.42777803987321422 0.85134562560463489 -0.021770176500816377 -0.83466703249868646 0.22245510151870068 0.50383000373949682 +-0.18221884515038334 0.83436464575990843 -0.0070806637649286231 0.43092120933231337 0.51861731900188202 0.73847341711051229 +-0.41311108863397283 0.86783331786903239 -0.012550579981222304 -0.5987450066075426 0.34052369177181802 0.72494691695642488 +-0.11996464409094776 -0.50239306775384962 0.23070561137230639 -0.23867705837765008 -0.37722089076301762 0.89483946123097824 +-0.36511622945345928 0.88099351081093658 0.0038343716976117215 -0.23634882215758374 0.28347604985056196 0.92939795751112153 +-0.38175996039037219 0.9043523523437812 -0.01335080396450733 -0.40488047216768253 0.54120404511932363 0.73700066811622067 +-0.22693271745430488 0.90048619009612318 -0.0093035151166864644 0.37583821844938564 0.48305184230131287 0.79082649879862998 +-0.33563359404913706 0.90750636535535001 -0.0013874733804227768 -0.097693392668055906 0.46097850668340468 0.88201747001119157 +-0.30039760141158611 0.91558782556094553 -0.0047109380594809735 0.018327672290567126 0.5034696039105423 0.86381853092334815 +-0.25579153827481471 0.91499425871258999 -0.0082899332092967737 0.27709147376023624 0.53587566869598524 0.79753218296756578 +-0.34870343770265311 0.92917671799375956 -0.020505907943253861 -0.26066407722440815 0.77804666458029026 0.57157469029010821 +-0.060782384704276438 -0.7218673960191252 0.040954947679368414 -0.13661650806779405 -0.94859462557333141 0.28548934490932171 +0.086628993685001987 -0.71579070139641987 0.034260999780992347 0.26019055006399527 -0.93819853200162062 0.22822005215887484 +-0.29710523659759058 -0.69034425157395907 0.020383690851597358 -0.27771141855974624 -0.96064856147338196 0.0055416009108555479 +-0.17277635669774916 -0.68399856134028436 0.039708860063955076 -0.25367899106173925 -0.93249815796910673 0.25708783494774845 +0.44256300933009518 -0.62936445338782288 0.061275579556771542 0.23443208092738382 -0.96990769087199091 0.065731808277416287 +0.57470489174888062 -0.62246720918124621 0.03629162902156835 -0.013785377973190722 -0.99701358113173411 -0.075986067097930043 +-0.479074126971609 -0.59099006861448355 0.010780293557847598 -0.42614694306313805 -0.83224881497528624 -0.35462754107679534 +0.49962690054013636 -0.61225760056941514 0.04533893380800734 0.13969918390865085 -0.98959940958213566 -0.034309569655499764 +0.60443020386085811 -0.61693817078848834 0.040283327637588878 0.18680999900333567 -0.98190482453013872 -0.031063480758138529 +0.64302797196523365 -0.60660370418046883 0.04354444304580396 0.51483033295257963 -0.85609754735070986 -0.045240664142285156 +-0.62953818316852717 -0.53823900082990872 0.034504422785666566 -0.37615105046449177 -0.77279304172593632 -0.51117639019660788 +-0.57602913750231077 -0.55015037609847395 0.034019540951532472 -0.27208593185687641 -0.80950616083913907 -0.52025860997109219 +-0.64545341368354281 -0.50766131570091055 0.0095310067410352417 -0.7795693510511329 -0.41691861359309801 -0.46738688101114323 +-0.65435267279155618 -0.5000036695163691 0.035439879185322987 -0.98250524092303304 0.11054709744981339 -0.14987591802619352 +-0.64755506759175951 -0.54240104607746875 0.25379175606302262 -0.92423527991562782 -0.26239517708167298 0.2773768526816156 +-0.63945943879448164 -0.45296344315753068 0.0035415851218298933 -0.927318520297713 0.36314446574765513 -0.090589507724185447 +-0.43302438535584825 -0.38410249085295534 0.012221598604671827 -0.03225628751582018 0.94251291259287195 -0.33260929258124772 +-0.46262670292825359 -0.57989914632725048 0.23337837895798241 0.18591870853473785 -0.62755341887913552 0.75604956204595708 +0.40619300000000003 -0.37282500000000002 0.023734000000000002 0.76244662455849666 0.55657583968104152 0.32999769602634837 +0.45637762596748677 -0.37934554426554379 0.015994168119685487 -0.36720323948555389 0.92806013434456203 0.062178516801772853 +-0.52202048722689764 -0.57560025079774557 0.24818824084474389 0.12949628323657006 -0.74170734376838821 0.65810404103603271 +-0.54844452452239967 -0.58678856629304355 0.23384914681905578 -0.022192907899540228 -0.87293363137588109 0.4873339204815112 +-0.40467496114587764 -0.35217747213820383 0.0016810496124207708 -0.99759564026821412 0.056121710271500411 0.040660695444787037 +0.39624829633787029 -0.34710447673224953 0.030092968578497248 0.96521346887200088 0.10220801842761577 0.24065843113670296 +-0.59136264892264867 -0.58061344021914052 0.24109546445218499 -0.10756632852884052 -0.90296452013280371 0.41603432592535095 +-0.62682961299544149 -0.56677837607644088 0.25447926992172643 -0.48595423859074288 -0.8002044604069839 0.35145597098421738 +0.51012379783898121 -0.34679491751556135 0.0292769011620575 -0.48736376971232881 0.87156040612260843 0.053469752675525888 +-0.51011955419331223 -0.34104151632195745 0.035198883547240212 0.42955441341035394 0.82902624723681928 -0.35804816339722051 +-0.410094541155064 -0.2939022473307602 0.028761367795608339 -0.97374064850799236 -0.077709651357651122 0.21398682092387586 +0.40108061359256808 -0.15701753136692886 0.038050006339975018 0.98767480653848216 0.089460652699291654 0.12843390575618499 +-0.39229871905649 -0.024368043151751229 0.025846527630931398 -0.976911503951292 0.085240259235598553 0.19590306698230356 +-0.39464900000000003 -0.0028089999999999999 0.011483999999999999 -0.96986055427558537 -0.13127810656379427 0.20527192695855706 +0.021688264929894951 0.68317847961383227 0.21769836054078917 0.15050417549998668 0.407580546616582 0.90068118176011513 +0.36675871855914172 0.033649841588270821 0.070001894350555136 0.90985487181959757 -0.12439964073730064 0.39583941391753086 +-0.0080963567699512823 0.6937236575618545 0.21613980856131609 0.028737147561825702 0.46503391120409832 0.88482633198850302 +-0.45021886530092026 0.063774548991042804 0.037061386562913017 -0.28408493256777995 -0.92024938764034259 0.26914088436269623 +-0.58754207542419157 0.1001103536362867 0.024588024821424775 -0.33443528693126456 -0.93979988303383966 0.070208394831273266 +0.41985672741121016 0.072194739591539187 0.025210174880041479 0.40244284877714243 -0.89269481896459624 -0.20281941145241694 +0.45816216784512076 0.084593865425351703 0.034736618946081127 0.2508190651089221 -0.94067459648307483 -0.2285193648452814 +-0.62684860580596768 0.11436875034140115 0.01608248006606559 -0.44299399211017099 -0.89221712957697041 0.08777765458090929 +0.50648103901076391 0.10122584094186692 0.037209864550065974 0.28658687971952246 -0.85266704452186082 -0.43683735137804197 +0.071992039759920579 0.66129529244264362 0.21460060883660426 0.27772564476493294 0.35251996964180154 0.89364318228454342 +-0.66106295384938107 0.13522780869464041 0.01649673527158102 -0.72175915201850627 -0.68121235399849778 0.12252940560270496 +0.61373095926042898 0.13246750740003763 0.02546874486824021 0.22533718127051774 -0.75883356928641443 -0.61106036433489808 +0.65257516808269567 0.14368980222886735 0.030721284502193157 0.43989223802981137 -0.70774269216911545 -0.55280656707598597 +0.67230909736609812 0.15090898868942279 0.042368417926115509 0.81674448460565952 -0.45255857306584146 -0.35793740348117425 +0.65815766743402815 0.22600362958319486 0.023951212615398454 0.92511555252577859 0.37882052249643167 -0.02561691258629413 +-0.10155458038940746 0.691175527911007 0.20344618275704501 -0.2780339422958259 0.43878210549776792 0.85449832698864125 +-0.23543216575301859 0.24442410747350207 -0.0016691926713887154 -0.3827713322160064 0.87521909170880996 0.29576620622036837 +-0.35141962032268725 0.26134238939666238 0.0091350140300945851 0.31766615500433926 0.85203883382823098 0.41607456016126138 +-0.201501590108387 0.27235469154412889 0.02917450967482953 -0.89518708362067667 0.38886119255523599 0.2177775430186214 +0.20486315356993731 0.26589349802292184 0.00036881272217421934 0.58058236632898408 0.80236804279337026 0.13830994111694844 +0.33972745537204085 0.28104538011800856 0.0023264857951767123 -0.27152075645660406 0.96238175924007352 -0.0098908187332798717 +-0.4249298396556408 0.28422586235551256 0.017929770721088093 0.32718674660526137 0.79494171788520562 0.51089773733261223 +-0.37650161337124449 0.2777416840797744 -0.00089613432908372363 0.32172358568889786 0.86412333192040869 0.38702041501999573 +0.17300740507486925 0.28829167254321253 0.040757413553134683 0.87545280444904616 0.22824852851664765 0.426010559038488 +0.1886012638184999 0.26724770555693139 0.0354174450298953 0.63602341229791082 0.67828257664518155 0.36797685420212939 +0.38416176942861602 0.29259427455850484 0.019229277086860515 -0.31396318174429433 0.94858071854817927 -0.04027084438671559 +-0.58642365753324643 0.30585502916566387 0.026515181032732649 -0.71621666723629562 0.68029970980377841 0.15564700579782498 +0.17161265462831798 0.3059274207433722 0.046170245026308815 0.89177191168085057 -0.2285779770999726 0.39050603826569152 +-0.21308641599978662 0.32318261551809491 0.018601490044053606 -0.82649756093279381 -0.55853439859466902 0.070293010738154416 +-0.50374310011902079 0.33364827624195798 0.00019388254114041659 0.37380428167203594 0.83813236256323564 0.39724614765636451 +-0.25475648786287058 0.37587357731710536 0.025245165147582863 -0.82748513413049607 -0.54776826537576329 0.12336239394670549 +0.53013975794317747 0.34737168627937087 0.045405522248798041 -0.28919442595264633 0.95432808674493419 0.074996578906458375 +0.11309020181032751 0.6245525396344882 0.21311593931211767 0.37391659026716728 0.26691837715024735 0.88822348734001266 +0.58897293010814444 0.32952842801690063 0.053320125796140871 0.70021135210467611 0.70062754253438253 0.13720462465228045 +0.23703537909875866 0.41596114281994734 0.057190716172660916 0.8888717847852895 -0.37993363051165208 0.2560417673326939 +-0.29165653899971467 0.5827111541005463 0.055758385205126562 -0.96622180582439565 0.12229242151011954 0.22684793494902067 +0.27314301193665702 0.5785671985806341 0.028702079649671679 0.84328559284757654 -0.12061552172142083 0.52375691385945533 +0.28547655339960343 0.59964054421876689 0.017926526881939936 0.63654887114904712 -0.13447874781072083 0.75942149102203726 +-0.1829324847457644 0.60251297663114656 0.19941102038208025 -0.49675666316264094 0.19533970783939389 0.84562120133351593 +0.30922857927740033 0.61740306508253529 0.0091039818859371957 0.22145377310982822 -0.21379243144814075 0.95144680494019884 +0.38917944645769065 0.63733137562245912 0.0066718077495616646 0.20694528646345978 -0.20882255953547099 0.95580687748080739 +0.27831967822964432 0.66084165887127655 0.021517493457934363 0.41226344574630908 0.073234378791024971 0.90811649972042285 +0.29669062356744391 0.66158092182156225 0.017310769007361393 0.030650518389623078 -0.034738931551766966 0.99892629976244451 +0.33700391324111828 0.69520956357804675 0.026159273269283211 0.047091014350863755 -0.0044936701645987313 0.99888049500220921 +-0.298237840002824 0.66832330590020406 0.0017326905040560767 -0.79537189803550568 -0.22973310657137022 0.5608977122082639 +-0.28849832602140701 0.66104981280733122 0.017284981393942689 -0.92014695783539036 -0.028005390855120951 0.39057044699942184 +0.38595009028083826 0.68931761470152375 0.013686050634834468 0.20244863958009598 -0.070406413548746508 0.97675866275317536 +0.12365331705260897 0.56917221692908204 0.21983575502935856 0.43218625993519055 0.057148184483046781 0.89997173385252693 +-0.30571861851079607 0.69683936116714684 0.0010637444678549546 -0.4754575549929731 -0.098052094307361559 0.87425734209215777 +-0.2957224290097189 0.71721029235539624 0.0092931667264991025 -0.36388369655982838 0.031187790861482902 0.93092211117747925 +-0.1784485787413842 0.57122259694427902 0.20749754546320476 -0.47739624338341391 0.079354968123327832 0.87509748933335985 +0.26293060281603697 0.70411923380859975 0.018259627429928732 0.26469408653863435 0.32112518861854566 0.90929404143334269 +0.11885879598771631 0.50014689276434787 0.22070742991162079 0.40782581497461901 -0.1076470196919142 0.90669191227877211 +0.25319789751008304 0.75263796638471936 0.0058212540509821054 -0.026654411979469227 0.3573352904688662 0.93359575433244124 +0.23358799999999999 0.734761 0.014666999999999999 0.17840814613529915 0.5373186075125902 0.82429318049665845 +0.39752684951758421 0.74713050889374188 0.0066248914419026264 0.253470330593631 0.19829733279317918 0.94680037986677346 +-0.28326561918067661 0.75078617832748362 0.012304981057175368 -0.025270743647509891 0.02990542937529558 0.99923323343921122 +-0.25395862043315653 0.75262935218702443 0.018848952598476271 -0.36174710520986192 0.27116693439198336 0.891968343364684 +0.22334021602534859 0.76698684222005431 -0.0071549413285465838 -0.086271928982807999 0.67587822003747577 0.73194657315172851 +0.31636134668822552 0.75120729947920417 0.012314673854428962 -0.14773720463904869 0.18959627204784224 0.97068376518359489 +0.33029704852090386 0.78676724248239849 0.0055275665782965749 -0.01702882482330274 0.35021342277131617 0.93651512408286097 +0.37239259091489418 0.76692625866967923 0.0067178557005448947 0.15318779207723296 0.28367375781723136 0.94660588392654366 +-0.38680543241332266 0.79429479918328272 0.0061246463190273853 -0.30888671912483462 -0.056466760372630917 0.94942113928504634 +-0.30770645121163359 0.81434533566137768 0.025919893680672722 -0.044303540656712208 0.028316498480162187 0.99861672938074797 +-0.2937140669061919 0.80957857401630562 0.024774929190163785 0.078120268212242563 -0.010136356613939152 0.99689241042804733 +0.092358883139403158 0.47821640695033618 0.22670094276254288 0.31784222061437334 -0.17531175175845712 0.93179510220343242 +-0.15917020353262357 0.47899216161905556 0.21295375693096055 -0.42204016832531338 -0.15359388685055092 0.89347132815892949 +-0.24620337526039515 0.78766644688143073 0.012138523621708974 0.0022382149957034746 0.092965676137963082 0.99566679840890771 +-0.21499829022177341 0.79002909737993399 0.017109969577601913 -0.19960872024119047 0.44606006524095099 0.87246018648469725 +0.19281517785943825 0.74952050988525887 0.030032476601372204 0.55219722797978765 0.74017037006778319 0.3837004621904424 +-0.1658851273560939 0.80235348052175481 0.018019769004883782 -0.12699988450997879 0.78884748357699097 0.60132410311636519 +-0.21150269757572471 0.81862056308966946 0.0068865343083375219 0.084091773758663377 0.29240260989489153 0.95259082890440305 +-0.13463856838983057 0.80972120305260464 0.010579796987921775 -0.052389239764862192 0.97455983810473734 0.21791853870225922 +0.097447364292619243 0.80994871893085463 0.0031402931331818984 0.38913760247571666 0.92014054117822652 0.043741408524321145 +-0.38703179935460746 0.84361453193889602 0.0045270498977190293 -0.32673930170470095 0.10809544264832363 0.93891256461940442 +-0.22475567115449624 0.83871345480267101 0.0072733269512133825 0.2303918006958143 0.14502898771029638 0.96222981189311896 +-0.3176118559899444 0.87020196784957615 0.011200306680528793 -0.095171216995639907 0.23785263141676857 0.96662741797638219 +-0.25718639903171636 0.87486179175886081 0.0069183899548714706 0.18463849496776308 0.25965531274446668 0.94788593445604652 +-0.27894653721014839 0.89100555654509972 0.005407717232150222 0.088405313048747797 0.33190510347999763 0.93916106334786098 +-0.11904972194328911 -0.70804839935728481 0.034878295154697869 -0.32445861250097502 -0.91269285040379999 0.24843182081957405 +-0.27953961098661795 -0.68933280737383495 0.049548503377003478 -0.13462163105361361 -0.9522567628149422 0.27401473340985105 +0.13834643951967859 -0.68968193975200542 0.060260719489212904 0.34490755163115849 -0.88091100999860139 0.32409037827594289 +-0.37626296180829399 -0.65436941123795966 0.055973670121043817 -0.37268706844755189 -0.92172758593853854 0.10734340376513048 +-0.20229770861555407 -0.67831694259497377 0.045730162221059453 0.044629479377141491 -0.97781873084275017 0.20464295537251867 +-0.3901890490123443 -0.64852014446914852 0.03437239417441984 -0.44837671584595118 -0.89176555250414646 -0.060930452601088363 +0.031281243702943884 0.40342225368151219 0.2204545542003821 0.15321302075200999 -0.40605271253011177 0.90091451587760674 +0.39625921009648835 -0.64379016079605966 0.051526934121350454 0.3102698383677957 -0.93362628553768956 0.17909379205410386 +-0.4470891932047607 -0.61765164315471699 0.034994905311927504 -0.45551791163494387 -0.86436320428944646 -0.21302507657602238 +-0.49284958435890969 -0.59837641898856897 0.04447456669618649 -0.40314366788031908 -0.88001273483862053 -0.25110310545641312 +-0.0051140594872974982 0.42012712460720814 0.22908709730846946 0.023513919842821616 -0.34744990137996684 0.93740368124126583 +-0.52094711634415169 -0.59378996601414769 0.05991445656801675 -0.32124294407128362 -0.86025370698181747 -0.39593753359394385 +-0.55452459723299863 -0.59195802997821145 0.080159839953862194 -0.27749824144602397 -0.8249343055872923 -0.49242067123504862 +-0.64974024593763779 -0.54914961954961761 0.065774292799203105 -0.60619966022843563 -0.6668244049088099 -0.43343648318633798 +-0.66242735004081077 -0.53393122287453076 0.073416006305305759 -0.96228694550446636 -0.19268706895205601 -0.19203001840949191 +-0.10725273090723286 0.41427894468432042 0.21337204917831804 -0.25256519371224345 -0.37588008928053207 0.89158565567619819 +0.6615873810029409 -0.56897142988474481 0.081820956765443709 0.9996730855552558 0.014721651315457105 0.020904425344414161 +-0.64423221139035736 -0.46989212581634821 0.051939404239966347 -0.9200896905849717 0.39154502513274891 0.011289578072109101 +-0.59944280998556243 -0.37101950080229873 0.0094139733398526104 -0.83712190414512744 0.54340917723743698 -0.062716693906551574 +0.42204764992163624 -0.3870902374264017 0.031780519789341752 0.2898596806430585 0.91136730142683897 0.29221739754413184 +-0.059175546561679837 0.40272295472453251 0.21966814654994782 -0.12969778686713876 -0.41135236146697773 0.90220159543048206 +-0.41633220304287222 -0.37700749726936833 0.036865510688509739 -0.37569873980886526 0.92611390820514761 -0.034109909630750918 +-0.40368374065538459 -0.36820092288723794 0.049052309066264149 -0.82785886333953229 0.53856770971406442 0.15682641500565209 +0.38627086760652235 -0.37264772331711393 0.063169307681091968 0.80283061871415529 0.16790504985709542 0.57207594940491313 +0.38521007201257351 -0.35386584911479568 0.064764917537042332 0.92839777565652282 -0.068553805297113565 0.36520945488213497 +-0.45728977669570248 -0.37480358118814605 0.025985630664617496 0.33611204056997634 0.88774350169179694 -0.31454756617699831 +0.54622034729325053 -0.32919043806166559 0.012252827968589286 -0.14147097061993827 0.98537975152690538 -0.094935292450314068 +-0.52340828694749331 -0.32595731186350807 0.061485165414965917 0.26338813168395192 0.93162361211715983 -0.25040794203421918 +0.56972791704041992 -0.33472358771579691 0.075549355807619234 0.34588624069071777 0.9340401003799923 0.089060650025569107 +-0.058515956214053533 0.17892163937736955 0.19922213547908219 -0.12097626080233453 0.52683815400140932 0.84131225107606322 +0.39820500125816261 -0.23915084633637251 0.06534285354904501 0.95874752459372836 -0.031728533712888175 0.28248271492930044 +0.39697633989190417 -0.18914345614270145 0.069732392352258254 0.96522111669359467 0.0089912219579972672 0.2612802208673134 +-0.37897978505239305 -0.011081527102448696 0.059052443397753562 -0.90090538039948309 0.12526246588865259 0.41554639958343614 +-0.38606289207564343 0.011113214481696138 0.039739707295645479 -0.88222025099635226 -0.25977203544162458 0.39269061401368965 +-0.40338959857821671 0.043066444351415947 0.040980318266465893 -0.5737643163088042 -0.68495545793757995 0.44903288295202898 +0.37079722504837509 0.048319214188678627 0.071478394334975395 0.73755723242128635 -0.52882010552561287 0.41995074103391289 +-0.48837861516446807 0.070122468751034978 0.034666796686491134 -0.23292340551982663 -0.96391520888686022 0.12889591629546274 +0.38473939613667946 0.059963151131009612 0.071753850539907418 0.45903013529157766 -0.79733709343061776 0.39184805005743012 +-0.0263279684613551 0.16701839342726776 0.20891315725349746 -0.034505777513077387 0.50998602037233143 0.85949032009849313 +0.40360697827093056 0.067880750299955495 0.071199795238172311 0.27664090272673331 -0.92295596622349674 0.26762304712223389 +0.41968422818705964 0.069030092793046907 0.054734758460655897 0.34867164448650251 -0.93721718163629175 0.0072137907374764882 +-0.56316638090023097 0.097976667809627618 0.051951320268483474 -0.31236415774807375 -0.8344005093822574 0.45409737160323427 +0.49980812187833024 0.087036033036699711 0.067719411638434784 0.21794963238372705 -0.95791782790371349 -0.18679237866687684 +0.14087588907683446 0.14029870942098599 0.20261169340013557 0.30923128746309136 0.5105860647281949 0.80229538286051139 +-0.62461640054595213 0.12156154815640965 0.042582419830595832 -0.4300313217776589 -0.8237325405682171 0.36951016751801297 +0.12264032513143253 0.10724032886247989 0.22652652970100018 0.22826678245867257 0.42108996998635401 0.87782544574810351 +0.074338627369356453 0.14174128354979676 0.2180292395409423 0.14205477407500289 0.4585469200139497 0.87724293289157951 +0.55268270399981123 0.10322251589901843 0.056312158553611345 0.23769951163104136 -0.88634744910054941 -0.39735014992234924 +-0.66944981546362903 0.15152510667228758 0.034967993587911694 -0.90278996810065848 -0.32243143558109255 0.28461947025094408 +-0.094076616396292209 0.14596050062791496 0.21064708066324983 -0.20706063221703044 0.45954828862314073 0.86367891314389877 +-0.64433725084788196 0.14038178285777009 0.058229842399276178 -0.50170372580037681 -0.6675844979775083 0.55011299709981243 +0.64731079064026753 0.12738714302875373 0.05368185028847218 0.38975228501443093 -0.85042415088855894 -0.35337221157230692 +-0.6731108893589608 0.16510293826121969 0.0029480239747145531 -0.99833624076783078 0.057599881626139257 -0.0026465083054050781 +-0.63068593128152239 0.24550664753328189 0.046818768221586982 -0.83861012519888989 0.54194268260410949 0.055056213870584347 +-0.23364742613253747 0.2355660348388865 0.038542636894955074 -0.49363591676357826 0.7975576369870131 0.34673534196080091 +-0.29512473340622192 0.22849470350455031 0.029905193377984664 0.10296005956777224 0.83858089518610957 0.5349591651356802 +0.24975241129709752 0.24920111668716571 0.030418924877093745 -0.071100495256220642 0.96361305970462996 0.25767147832269149 +-0.36197894964743005 0.25274421691145837 0.029703376402760363 0.24251590684670712 0.73711282211979978 0.6307540902704506 +0.32070326211454714 0.27282830302438121 0.033015039973226357 -0.31400112705090688 0.91514652466310098 0.25280453043370965 +-0.20251356710025481 0.30536321292856611 0.025526449522829325 -0.90548470414664628 -0.3869132599481423 0.17434328158194573 +0.41344756062660937 0.29923796714124629 0.04402714234279588 -0.33226340258719134 0.93473704956092785 0.1259669777335061 +0.45304927589318611 0.31523796647555979 0.015535012289359579 -0.33809622487983759 0.93974077520293497 -0.050776157229444285 +-0.52654546118027967 0.32711548252733808 0.027098807849838313 0.16750435836915867 0.80918964707152874 0.56316463400997685 +0.1992662651459268 0.082075916628288892 0.20893923853575544 0.42778413195380055 0.36737925606823757 0.8258530248532614 +-0.17718867975377328 0.10894975648200012 0.2037992862125069 -0.3578870164029892 0.4111844242170426 0.83835806954514702 +0.17659076343081304 0.32586542885359093 0.056292966156905024 0.79500880958567632 -0.50240408692066474 0.33992811905839593 +-0.55454059999543737 0.33224946380133713 0.017350171454747806 -0.25939771152717916 0.85451583647011731 0.45001723575462976 +0.4912875738457726 0.33016249484819893 0.031630235198568321 -0.36145520747071114 0.93180581785376815 0.032985615140168137 +0.56192463737952014 0.35106693323927463 0.037115937200504323 0.24928393956574765 0.96680227677566144 0.056132656234833905 +-0.27375621534767025 0.41697764479601107 0.0461761643798278 -0.89145222906251609 -0.40508617135065506 0.20302245462002244 +-0.29016364548931711 0.45641425623483595 0.036704669886296393 -0.95756118349323915 -0.24757860595887932 0.14758527615749839 +0.24819003411107748 0.45204595994614344 0.062189261200843823 0.92936308271819223 -0.25003186334171856 0.27160325438846777 +-0.20478584381913101 0.087088158348437528 0.20045473455590573 -0.4381213194813835 0.36607553622327438 0.82099842338139328 +-0.29634826589451552 0.5059012118649826 0.038067893592622082 -0.97031596751515825 -0.13532751114595187 0.20043300105562656 +0.26154660464910345 0.52866723608593214 0.061583899063332788 0.97114171296706731 -0.067730638503183851 0.22868391710686928 +0.26718423504780731 0.57022238092902 0.04412164017902348 0.95203631977259506 -0.029773574590709635 0.30453305254100804 +0.26289881181467956 0.61360348324397929 0.047509402403066114 0.87425185772635494 0.13391143471810404 0.46663842202904404 +-0.27942404481674166 0.66135605651161267 0.04045654555023559 -0.88471581237416497 0.25812463485062942 0.38813606405273737 +0.27109236920322666 0.63615022850737679 0.030426260436716979 0.73665034361761139 0.11076084910566245 0.66714189311828387 +0.24896276819527136 0.64989437875295764 0.053432882753530961 0.77449799123882679 0.34445881383279597 0.5305666660655618 +-0.27836499999999997 0.69165699999999997 0.025281000000000001 -0.76721605112459035 0.1301153231742779 0.62805217424354431 +-0.24105641006071954 0.033715962214629247 0.20059882285633823 -0.49575993463175844 0.30848920088906423 0.81182294876945993 +-0.26560951248888676 0.68774411658127343 0.046686907293006563 -0.79982640053234433 0.38078580084830022 0.46398265364536273 +0.25110385448926148 0.68764134312521208 0.029761894112954643 0.60030009188375355 0.31578677636417785 0.73479147488105623 +0.28628954938025947 0.7034328074172147 0.017069201010148471 -0.0037444609648603633 0.10335003502027516 0.99463799910992268 +0.24104968698736473 0.010341528238138498 0.21359600293314068 0.49664233743002428 0.28434303584685194 0.82005818490972815 +0.3221460664837858 0.71292776534342928 0.022302333527237372 -0.095115186276046385 0.17048961827393933 0.98075806976057023 +-0.26853401959030854 0.72031513559289162 0.023533253942498805 -0.56823524156772998 0.20790832322053576 0.79616759503014722 +0.20626675281803586 0.72369848942171333 0.049426274230290237 0.67445852930279904 0.5650977388741073 0.47515285726813927 +-0.24305204317759646 -0.023066213075026071 0.21638381125736469 -0.48328848347788184 0.20339082956571924 0.85150714159437202 +0.22537410184145523 0.72233669894962393 0.028476300101005471 0.50172238181388185 0.5106385183539166 0.69822844052668187 +-0.34606072437731072 0.83426889003937088 0.013517295165006465 -0.20286686389981645 0.12448448218103338 0.97126137019217096 +-0.094554119116975865 0.81399793322751401 0.049721529478118809 -0.24318840049241286 0.9370755032632031 0.25049731146253101 +-0.069041199382274238 0.82881465818292999 0.0052370231207396513 -0.16393517663898924 0.98299968888638845 0.08268536454298954 +0.096682431177966155 0.804138496757828 0.04552039903757063 0.37925296677743597 0.89951593172507838 0.21688309238683662 +0.27137690349550603 -0.054541220263742751 0.21262743733182735 0.55517742162465711 0.17348653423401558 0.81343743026594717 +0.0075513683711912472 0.83098226853854118 0.034446123190078975 0.092201343019988433 0.98325358654001871 0.15719827257797767 +-0.11376664356568433 -0.69840990855970109 0.064380732348757991 -0.29219545549576192 -0.86174651796465562 0.41474661489084602 +0.078022641075701338 -0.71068344020327534 0.058546868264258582 0.22419329303213265 -0.90700528454294338 0.35648110913564929 +-0.16847023178990828 -0.6720855891826103 0.073289584454877529 -0.20751995614658675 -0.88321695302785852 0.42055116417043015 +-0.33200939326849987 -0.66881369933724155 0.062775662506777796 -0.29588619338613215 -0.92070758142441667 0.25445807134195159 +0.17358623702651488 -0.66938585460213584 0.074225522224717067 0.26880379474214955 -0.86220612141268382 0.42935431071635516 +0.25583294233995385 -0.6827386559393166 0.049637803020810126 -0.084984741221554999 -0.94300029592802259 0.32175772817318155 +0.27974493295898273 -0.67810210910212432 0.062835218385032032 0.083119654959314643 -0.90193314528699997 0.42380151532544558 +0.20473284866187913 -0.6656391304189867 0.068125563759251856 -0.0028954006862106714 -0.91328873129509935 0.40730247966867844 +0.30729213392697696 -0.6779072830979076 0.048318154102509614 0.26163708327986984 -0.91401100018534942 0.31004826752133213 +-0.42803640890924832 -0.63075072166682578 0.071916363009932871 -0.38774380595272656 -0.92175988156617994 0.003669016270902708 +0.35775589048022294 -0.65264357921226468 0.069148944523224731 0.25893513480877861 -0.91189168144345711 0.3184433344816377 +-0.47039631565067452 -0.61195490844137346 0.0671109894459129 -0.33435125976209484 -0.93756186453420021 -0.095848762468035892 +0.63961449005251891 -0.60626601572110483 0.081976239845303112 0.4484328455031516 -0.88200474043731936 0.14482962721778822 +0.65034852146690003 -0.52912482174261655 0.084493997520421527 0.96770270535959801 0.25044434343393129 -0.028794181385517006 +0.4399805267123722 -0.38813504546916033 0.038066522951877735 -0.21102040448675111 0.9586631585414771 0.19088042682665707 +0.45561719109341348 -0.38470468306214833 0.055349998161467809 -0.43819991439942846 0.87278282480389358 0.21501389663849574 +-0.57637938059355642 -0.34113063257749066 0.036342909335580931 -0.66788908728149277 0.74278190151695933 -0.046895776666395599 +-0.50186856142698588 -0.33443741764269774 0.071409523386253629 0.49565343780684934 0.85005259689203916 -0.17815232838038372 +0.5840561080696095 -0.34619588038697602 0.073379056812493015 0.78536772676090727 0.61845205589323038 0.026731784898163254 +-0.53614590635307668 -0.315336098141621 0.10279086117115466 -0.0045553934462609037 0.99957099904738489 -0.028932097296300769 +0.39529345729317988 -0.28339120585147992 0.067896126071769064 0.96258516006647421 -0.088506731410191483 0.25611787933466229 +-0.40051622118515307 -0.27267289911175574 0.064397041035641589 -0.92981107904932536 -0.083344941566694614 0.35847590991916506 +-0.40828699363457494 -0.20115242886634799 0.05543211940361209 -0.96177259211202459 0.020387341966002566 0.27308943104719108 +-0.40023106963049832 -0.16667561801249131 0.0732946123319696 -0.92984439949228304 0.074259205360931627 0.36038169092227579 +-0.40570102756656945 -0.10107399832130859 0.033454191458806806 -0.96286596139597613 0.1238399779459768 0.23990164702924091 +0.39611171891923697 -0.11392856609517893 0.065919594691601829 0.96092672162415049 0.10022869654430465 0.25801946449384794 +-0.39626736755866193 -0.08332478007704025 0.055762227793424837 -0.93637330499026961 0.1571536950893932 0.31385944277868971 +0.37051662066336466 0.010058995864695941 0.058964863345502071 0.94958539754840454 0.11362443719738556 0.29219353181481589 +-0.28294652019680744 -0.20253354332150275 0.21478476183680861 -0.55517349627380796 0.0084034648326799816 0.83169211299249557 +-0.40418336392354681 0.056421413820164495 0.056981395628634871 -0.39123247795787236 -0.62225535389858211 0.67803792131081664 +0.26895446928333122 -0.23114600655518758 0.23094116800678408 0.53882743116588183 -0.049736642769020296 0.84094664859861579 +-0.44882300000000003 0.075328999999999993 0.060380000000000003 -0.20790546193777545 -0.75501840679072008 0.62187018283854301 +0.47444135898177631 0.083867042757785865 0.067519460786960639 0.21968875546595065 -0.97360385964266249 -0.061906180715115597 +0.61296167893587816 0.11919859002677789 0.048356911416992124 0.26210155098400256 -0.88469375303928222 -0.38551230888915822 +-0.66082048183779385 0.18930393708730797 0.055539598841964244 -0.91709820604564096 0.27137969763843289 0.2920341421435852 +-0.26263217487691226 0.22583099521246455 0.035094900960630379 -0.20074793977973812 0.85830137010106056 0.47224889915894236 +-0.30375575571672053 0.2139602242882635 0.048352777047437907 0.088842613194976841 0.66213475115642439 0.74409983294696935 +-0.21200302319731154 0.25692782318890239 0.031691177375388603 -0.69509289503147031 0.69422697826892488 0.18680141841101514 +0.21378940138159586 0.2535273263497605 0.036745731303676393 0.29443621242606438 0.91300959221276201 0.28234872292907498 +0.20941672771758557 0.23651588076767108 0.076159303389219168 0.33289472179790713 0.81308228454574216 0.47757544195338464 +0.27167423457022816 0.25234253903850196 0.039252550367453724 -0.25005301510644667 0.8761699991305173 0.41206749721350827 +0.16180045145595742 0.27431726625218955 0.068246639475818077 0.71100506167510247 0.42048056101882708 0.5636203510144715 +0.17948649415624218 0.25573783779722731 0.068177256762373961 0.51963843480237049 0.69897726569383567 0.49133153686620978 +-0.52675628189457535 -0.3300572601557657 0.20033497516168133 0.17243841598247439 0.93879233412140162 0.29821795064741746 +0.63802324718694703 0.2611574361693767 0.034976714704245515 0.85876402981705346 0.50034908802460598 0.11034097700002472 +-0.19789515863964541 0.28941706668878225 0.032760060606989813 -0.97401787124128114 -0.0063070206199089037 0.2263833209260413 +-0.54102956250565259 -0.32917633295972892 0.1948869560719676 -0.21761022624764237 0.96030683330299205 0.17451812325380286 +0.15383009459919036 0.29000997290986624 0.072350751880592701 0.78404145559941585 0.026510667193203247 0.62014206471301436 +-0.52049702434196676 0.30767131385115842 0.045037354384477951 0.24147249693962802 0.68410003440059264 0.68825734733081434 +-0.43626677115682438 0.26881326847071668 0.043169483509683956 0.26181247974641297 0.66616613561405913 0.69833867514986236 +0.15185427985829286 0.30663061565796046 0.080094283408037786 0.73981284354797849 -0.35161404669175911 0.57362402206541152 +0.25766059230129168 -0.3362815457759587 0.22450106176760981 0.5109982790222154 -0.15322800775383918 0.84581436289301881 +-0.20670417638540728 0.32417791906775456 0.05789075869581195 -0.78690597924245087 -0.53545592197232805 0.30670170435986083 +-0.22953590800108059 0.35148716524176404 0.055808412269322906 -0.7681156868393042 -0.59607493626849506 0.23386526459458157 +0.21313851589647007 0.37956761481687606 0.068201250522754178 0.80591801921270534 -0.5126986717618861 0.29603415053312226 +0.57397669725693745 0.33581493571668941 0.080822113544117308 0.47858595022232442 0.83181897139868177 0.28112752812742076 +-0.29620242044771505 0.54100161073565944 0.050831711310198383 -0.9673644598245541 -0.0036476655916300562 0.25336277627954773 +-0.26065467879790405 -0.32703716871446753 0.22002252017471136 -0.53662565511848881 -0.15310296212387481 0.82981467163309897 +0.23166269579455823 0.6897834067467179 0.047830178849901928 0.72801567328368033 0.45189008756733895 0.51554682446087496 +-0.47842267837052521 -0.37792825005749153 0.2159895431297032 0.66108581539355538 0.58659878850916614 0.46783266880906976 +-0.22927931470630425 0.75399411277766792 0.034026043171555026 -0.53963706511273091 0.54244522016738272 0.64385170736286623 +-0.19054776989182942 0.76682182157498313 0.059963014095501865 -0.50529178882059689 0.74303949408370729 0.43883085395435639 +-0.19911951339517586 0.77717212809556813 0.033731666895190596 -0.39053513364177245 0.68097652612278781 0.61947823227385723 +0.17083313482851681 0.74635199281211273 0.078919333110619994 0.6255115330833757 0.69235275632231208 0.35969846092606805 +-0.15669496213570167 0.79494279283602431 0.038968416482469959 -0.30096785292930689 0.88055152165126227 0.36612480006245113 +0.14772614024214059 0.77890487275353482 0.042871952927746149 0.50920798696350722 0.83063684838604124 0.22527683439687535 +-0.042650380982194508 0.82813170185810303 0.034334306778441244 -0.12088821671993687 0.97884609671197986 0.16506470855393374 +0.048947156365975797 0.82511641270115077 0.017569271308880863 0.26330669141055318 0.95376741355127093 0.14490447579749463 +-0.084853390988566257 -0.69370898599852493 0.089872042509339223 -0.23460132440110185 -0.83650005211941314 0.49520690765928144 +-0.021306233736450242 -0.71953173067753029 0.062901468775976355 -0.079879000158182042 -0.92714465248189126 0.3660903422762779 +0.018347323029389573 -0.71675192762399809 0.071105712439009927 0.071844847209058579 -0.91130805938478254 0.40540836058207874 +-0.30475330923977717 -0.66607947621254926 0.089535287516625317 -0.1368323588209881 -0.89442943010964315 0.42576155314121927 +-0.27646637954233688 -0.66744096600085101 0.096203897678987724 -0.026507390376996978 -0.82947710948389675 0.55791135774210687 +-0.24729582953095175 -0.68221954106865268 0.06800540171275965 0.11240444244630582 -0.91791447290406314 0.38052366779425301 +-0.2006330163089397 -0.66928248451892491 0.072946763668053749 0.067618302124579768 -0.90345221948581911 0.42332239761668211 +0.40484524235865571 -0.63277368578109305 0.087758543822892637 0.14993850783580695 -0.9463781765078163 0.28615868132508587 +0.44150475237001974 -0.62590656606497974 0.094231259420929803 0.080137277678577132 -0.97155125853285229 0.22285907827480872 +0.550925494072948 -0.61384341630613926 0.077381507807398636 -0.078145873456698933 -0.99502193528172644 0.061843114167200744 +0.48163355561900678 -0.62245497440189113 0.097843832028063904 0.14374117450542462 -0.98888406910233984 0.038036464444002091 +0.53883650192666854 -0.61407791944364998 0.09596191909601498 0.10043503008027285 -0.99434621206052043 0.034473399798527427 +0.60134702530614026 -0.60879662451266214 0.10300134985535558 0.097894873047341735 -0.97951659866161533 0.17596541358296749 +0.39869365572576387 -0.40065282918138045 0.068137673111603458 0.40725630085264652 0.70242644648092201 0.58372886916787248 +0.60443010331979008 -0.39413555055279481 0.071433194133867728 0.94350527007741392 0.32585173519175126 -0.060153570207187659 +-0.43241878130289851 -0.37581808884182899 0.060364930330730537 0.16682369307281933 0.98464455057806111 -0.051429217828720078 +-0.41229792090358008 -0.37861742393880116 0.069935263208171672 -0.29719332678023413 0.90018331765910675 0.3183490554808362 +0.49617131375825529 -0.36179847002714016 0.068063243220907399 -0.52633540884813812 0.82180636666495188 0.21818646406597705 +-0.39515806327540054 -0.3461369857718446 0.053148938399106935 -0.97326504845005291 0.078058786136948208 0.21601382217891138 +-0.37957463159654714 -0.34581260262347602 0.092032558570426803 -0.89817383370161785 0.089779902553484114 0.43037580502535844 +0.59917589483480604 -0.37544246211124488 0.10091345486985315 0.91381556169716049 0.40611084538672987 0.003885930953902324 +-0.45188872462124152 -0.36630460662028774 0.075978153977073637 0.45814161963583799 0.88437748267721372 -0.089346093876373517 +0.53603894958351306 -0.33571384483142319 0.055222875202804667 -0.35252331361802053 0.92503242767654126 0.1415709048590677 +-0.5618986807731905 -0.32966471758024352 0.066677015764734504 -0.53354792773297621 0.83716102964857952 -0.12036618814923465 +-0.39352896448568631 -0.22807043971736163 0.090037990045723659 -0.90455875463341517 -0.055439653247434079 0.42272911452116635 +-0.38411595084515016 -0.080334103002615453 0.084445069505162687 -0.8933835995577889 0.16709955295080009 0.41706532275509428 +-0.36134827760623045 0.010474969404000056 0.085660277514839872 -0.82723160846754185 0.17682796578826221 0.53331016910179829 +0.55636855834534116 -0.43744746799249168 0.20829794984506039 -0.36124222216318191 0.27844270909446078 0.8899290503622993 +0.19987377345509461 -0.45313197580620995 0.22433597527997251 0.38587643631927199 -0.3199050596106755 0.86530926767776439 +-0.38018999999999997 0.038150999999999997 0.061553999999999998 -0.6857782280226985 -0.33911212226266302 0.64398073768130693 +-0.42558077294332464 0.081402394951076373 0.070522692630597919 -0.124115756711382 -0.55620006462049609 0.82172791546357782 +-0.38135349722589157 0.070296146079974961 0.073730059087778049 -0.33012213595881135 -0.21707583414654624 0.91863891577679924 +-0.49056533930828478 0.082185459929580623 0.062459644503972366 -0.18365132261748141 -0.77616532406165184 0.60319116490969982 +0.47409500468025878 0.085690459440421612 0.093788782293619644 0.155902953583479 -0.92301446754839889 0.35176492400507098 +-0.54144414173758371 0.11308893141851942 0.076539969432495705 -0.20726638427070335 -0.56146002029618414 0.80112626443049395 +0.60714296962402048 0.10842623456560788 0.083100326416422468 0.2433313587653925 -0.96494738499073207 -0.098317821583554357 +0.64788778990423823 0.11981658274601834 0.091214524153544391 0.36651530567162399 -0.92910348741599302 -0.04932788643227571 +0.54705216943013291 -0.46316226804265703 0.20994767358752742 -0.36502785461467979 0.19669930176669365 0.90998024706028613 +-0.62597027727606147 0.15606126358405842 0.079031789756328408 -0.28942661069688458 -0.45496657787024347 0.84216248434702534 +0.67463474388614075 0.13673507372747506 0.079696104188178962 0.81372465141191452 -0.57083289532273007 -0.10955362751651507 +0.67558382175945508 0.17587962747099661 0.071940798127269279 0.95076076436083445 0.30134813114795128 0.072410446799055991 +0.67854015805372314 0.16274977490755083 0.063999222036841275 0.99554668147780556 0.0026564405583263295 -0.094232416514110753 +-0.31933117836396624 0.1763950861578068 0.071215107678772344 0.10909706705464081 0.31241427471847177 0.94366050617380748 +-0.31322252240880943 0.19042991919949986 0.065284257581558522 0.027335962702284292 0.51225241879981354 0.85839979297346047 +-0.24504007362646818 0.21603355675072505 0.061221850445264403 -0.4286893458856787 0.72239847167643645 0.54255496757808575 +-0.42136609511835144 0.23562614104298035 0.062653764006666612 0.2083165099611031 0.46407532255113237 0.86095198860139011 +-0.35374679878702309 0.22143951105714382 0.054209940373359182 0.15496635551973029 0.51704643502673453 0.84181257574538371 +0.58132067892931671 -0.47431803896642694 0.22154352066700184 -0.25084453349383706 -0.020684004155375212 0.96780638145672482 +0.24042639947434746 0.23928504654806315 0.054595999441065718 0.058395898275964531 0.8776194538771156 0.47578778172729119 +0.27322511040393466 0.23949392967149422 0.063112732257928655 -0.23929471832840307 0.7677770883641698 0.59435375018852865 +-0.52871189784596251 0.29262956725213318 0.060788109452817873 0.19020894001910285 0.57953176338484969 0.79244147693369504 +-0.15373521392317149 -0.48202000533961886 0.22847495643931848 -0.31559801309390284 -0.33062732341154588 0.88942873078448381 +-0.18352599999999999 0.285439 0.065282000000000007 -0.85961042656582076 -0.029432127856589 0.51010162162961314 +0.35934896283089024 0.27424542544812675 0.069363271093331999 -0.30796478768791818 0.85393372419184854 0.41946976557575066 +-0.58801769883016131 0.29365090512235126 0.05590019795515655 -0.53655769627802052 0.72019750698763774 0.43979698668091721 +-0.41413369606619543 -0.49882716380006675 0.23247535358407045 0.55413699068305211 0.11848948222980986 0.82394929343840251 +-0.1913536217059808 0.30744587587704636 0.065142457376078239 -0.80292538737229735 -0.429749453453596 0.41306927938226268 +0.15287523960919819 0.3244423551355512 0.095185598480430178 0.67742943527147859 -0.54813620807663355 0.49054669260238137 +0.62947744394163008 -0.51186122110695087 0.21282487935092298 0.6822136407480065 -0.25038234954488903 0.6869448503437019 +0.61332910504077809 -0.48883247894149545 0.22632331293836541 0.1053267304300913 -0.06683502636400146 0.99218917506079962 +0.47703686928436884 0.32049296168267549 0.056973671081925747 -0.39392568753310681 0.89665334738258262 0.20207752801630041 +0.18844256995739583 0.36564422718262934 0.099551977328828756 0.70963486163518186 -0.56976331376525002 0.41447331571436224 +0.53159506568860015 0.33749525595092444 0.088530775883442256 -0.24056737617945789 0.90139430580523483 0.36002172570558871 +-0.24860142608751551 0.38840015176451226 0.073382714222719719 -0.80856319285374356 -0.49917064657537208 0.31153527691047256 +0.25076399895398371 0.51394036142674993 0.088776597557194886 0.91618901064980607 -0.12984005693036751 0.37912960367247572 +-0.28177146039633943 0.62437950675017806 0.064857134604276334 -0.92598263848767171 0.2259103346058042 0.30252384027990803 +0.25350268052697245 0.56857926276357773 0.088446308364918735 0.91431975198161763 0.084042118030483573 0.3961771239398148 +0.12302374990311538 0.77543045528117438 0.091277106848444367 0.44971992658481735 0.7993482779015828 0.39849004786609227 +0.053502950503743735 -0.69905163426099493 0.09357801645795269 0.14785144006391746 -0.84682725127020075 0.51090464685416803 +-0.17118914118302975 -0.6491649483159756 0.10975015457838674 -0.20399950075100193 -0.75702599033914619 0.62072204217699323 +0.10828713768167253 -0.68802234594857015 0.086846608292591013 0.27413835907186279 -0.83936312557029635 0.46938012688891012 +0.20634735920604286 -0.64925207039707933 0.09544943792251584 0.017002786871522648 -0.81732770583642866 0.57592215316895212 +0.26085370972805821 -0.66596948599087114 0.086433185558918435 -0.031836792006715374 -0.81847698425924642 0.57365655658469583 +-0.39044882484283616 -0.64174352904649878 0.10400681801725375 -0.2748436681472789 -0.93903548715399987 0.2065751968286576 +0.35743808842069469 -0.6378099323201889 0.10022863006291222 0.20181344760405692 -0.82861848987084341 0.52217116983832768 +-0.44063860957058321 -0.6229048262853063 0.1079574326494388 -0.2965595320363108 -0.95447405079180114 0.032120559202707413 +-0.53680799790986633 -0.60071085071847796 0.086727340160263733 -0.17456440493442391 -0.92437525539142051 -0.3392014972695972 +-0.50104718758367106 -0.60754456857213557 0.088173157474367159 -0.16246895194525146 -0.96799003866188449 -0.19130897706374048 +-0.62317498326989229 -0.57564917036105112 0.087756077024077062 -0.30913330840719766 -0.80991488585976978 -0.49847214094267756 +-0.64619474913986186 -0.57436719871554032 0.10784352467385745 -0.56280165797782233 -0.75458792851001366 -0.33741865971576146 +-0.65745999019630363 -0.56615780380743708 0.11642916775248852 -0.84354110542543537 -0.51723878169060722 -0.14457678296618368 +0.368927 -0.40839300000000001 0.097271999999999997 0.56919556761553713 0.2559214477744185 0.78135818826954906 +0.4198133225052455 -0.41021265925677608 0.084052302463203665 -0.18300894482808783 0.91591254214106976 0.35722813615614452 +0.3688764661382723 -0.36641031478458297 0.097403286524244737 0.87109651531912891 -0.12202236228022706 0.47571147148499965 +0.55447134222463212 -0.33489302636971802 0.081669999789522496 -0.1539962479013712 0.95726992484713858 0.24478449014480758 +-0.51054087712425045 -0.3248214837498139 0.10423081853013527 0.44101463701138555 0.89748191140943212 -0.0056840684890413686 +0.38662506346523734 -0.28677771910671879 0.093098436755494812 0.91108829154783588 -0.10559412460858301 0.39845703137552063 +0.069431893878335649 -0.52077693457278706 0.23436575032167878 0.10900495030641309 -0.40999347915076151 0.90555136125045421 +0.38723414656861932 -0.18508800478069309 0.096666635935250045 0.92004155912838892 0.013040740479922494 0.391603713675367 +0.38555145147773751 -0.12168990761035431 0.09543799982587467 0.9097994586590632 0.090666177484027805 0.40502418357933945 +0.36718472473062519 -0.069367984698225471 0.11446795018225125 0.85723986291809229 0.18136738685536216 0.48191875706329146 +0.37495030565019427 -0.03815351211284157 0.082362140876853618 0.90399805418088885 0.22899966159367402 0.36103555645829344 +0.35099025465520955 0.010099776652594983 0.10292973839601055 0.86519120469175892 0.11895955644821796 0.4871270914798993 +-0.36845288595720471 0.024927119023106348 0.073310375996032712 -0.79858768691305704 -0.032205356598436437 0.60101624047709457 +0.33794946949129817 0.026560937519783279 0.11649882482346996 0.80944616468911856 0.12345143364920806 0.57407024831463915 +-0.056338932138935024 -0.54125211412529206 0.22594897547475634 -0.085568162175608573 -0.44377470809284064 0.89204377587593908 +-0.36355599999999999 0.055447999999999997 0.078179999999999999 -0.56216739203178878 -0.057017151382623109 0.825055675566436 +-0.092760999999999996 -0.54321399999999997 0.21826300000000001 -0.19583728306717377 -0.44532232706624042 0.87369089704378633 +0.34843255403879486 0.048017064860123249 0.10110925176497929 0.68335355295648548 -0.16271017311003502 0.71172559405170344 +-0.38675380546751637 -0.53068132488399322 0.21802107142306104 0.50727314877304797 -0.062501139468996325 0.8595158870544245 +0.36458156428304345 0.074039711370794958 0.09951058018789076 0.40463393452438007 -0.55670722336413403 0.72549875705304689 +0.39723416766415781 0.075768463341232925 0.091627975794062386 0.20611989094407079 -0.83989720985669591 0.50208292883959083 +-0.3981912252659322 0.089526744873411127 0.077754240632219362 -0.018839608520740559 -0.36158929616551966 0.93214711824331109 +-0.36579353129690495 0.10535558610876861 0.079687652151880076 -0.071337885537401169 -0.016353990915107336 0.99731813032161476 +-0.33338128176659043 0.11249475918140561 0.085350066474687208 -0.32869988185905241 0.16218403997419048 0.93040460276349413 +0.53123024932836538 0.090612627709042576 0.093085852225229984 0.15392170565746049 -0.9854202585873445 0.072491533941206346 +-0.49542431594884562 0.11073645305430327 0.083410892615096016 -0.086671880624972844 -0.45737944553050208 0.88503786806844653 +-0.41084191912101375 0.12518766526747591 0.089901872383827672 0.07978616149485375 -0.15478740351924511 0.98472078689630971 +0.67047518042718046 0.13117289121565714 0.11316439483603588 0.73001479975959971 -0.67780264446736782 0.087532664103148208 +-0.59360295485212178 0.15933139273145569 0.087306421076166985 -0.14033406004044993 -0.31337846344990783 0.93920194326797368 +-0.35152540616370898 0.13933080420076244 0.079139872131508249 0.045550750374469408 0.11758911726377551 0.99201710098236151 +-0.3095324867538285 0.1487868967586341 0.080838022910028284 -0.25197781037148598 0.2971464720062485 0.92098379858422663 +-0.65312705930629877 0.16731344447963969 0.070861352327116461 -0.70200146176492007 -0.23200049382957058 0.6733273487262722 +-0.36299061111989067 0.16879257351185606 0.077519332300824806 0.13941720075916014 0.18328751248666142 0.9731230815775217 +-0.43394635536135517 -0.5490883141410039 0.23821705434860851 0.38472593798518884 -0.28118722861478013 0.87915851534598477 +-0.29858299999999999 0.17319899999999999 0.074249999999999997 -0.20634152537047093 0.4415597852890929 0.87318275917658705 +0.67724478972993674 0.14960228691021238 0.11825922840935899 0.97041201678420586 -0.074148931266146884 0.22978784491982665 +-0.28202926782619264 0.19966176886160536 0.061304867644369099 -0.16203903804391837 0.66051711617379127 0.7331169684240435 +-0.41301393393428487 -0.58406625992864925 0.21379208225747481 0.30616713474889662 -0.53694946483355621 0.7860960232787142 +-0.46370356637645738 0.22231191373174738 0.07885253318853859 0.18808642354893212 0.35071260576343827 0.91740076598790288 +-0.36967929222381218 0.18810993855704219 0.07327191333668906 0.15200199767101708 0.3353556137091091 0.92974835577042392 +-0.65431455725853138 -0.56531960559534733 0.21206907413167059 -0.82773333800253635 -0.49479204559930406 0.26464760110538516 +-0.62608406650180704 0.24752226766264596 0.068596217442951135 -0.74177569549068456 0.55382750458823682 0.37821146563910207 +0.25012586696407729 0.22578407232659609 0.073931636944266868 0.065386455875719632 0.7196157084874254 0.69128709194238047 +-0.47756944260370759 -0.59772382010709291 0.21580049015384162 0.025639407764275025 -0.83158199718482007 0.55480987980352625 +-0.21620364417730709 0.23422994749177464 0.066909413356345371 -0.60928761605285564 0.66058801930007682 0.43862520411147038 +-0.55293243808176717 0.26836564123312456 0.080948558202495427 0.087054113122143617 0.43512732643952223 0.89615054046410669 +-0.18920478582261308 0.26217624308178744 0.068075429834094314 -0.76849983210719341 0.36553345258011644 0.5251602642013915 +0.135434 0.27587600000000001 0.095243999999999995 0.59687680322341552 0.32921763781562979 0.7316787742752231 +-0.5619594877289793 0.30524148773403015 0.055466565825021852 -0.21623818973212278 0.71346657675123015 0.66648817630941926 +0.10527361435131428 0.28749198341476334 0.11862884587176158 0.54142774781899405 -0.056492420884597709 0.83884718529315527 +0.40671155027741601 0.29053618849678353 0.069520519920112253 -0.33219921708504346 0.86936919751268515 0.36584269650251872 +0.11863413918496038 0.30892232252783836 0.11356491444255144 0.58755049182231345 -0.42439870429081539 0.68896310449517872 +-0.1823632339997438 0.31869513003083139 0.0899569676032137 -0.65568747886853229 -0.57101954598335014 0.49397429908852208 +-0.21922388895620254 0.36598981117897117 0.10460446887096336 -0.70188005218398153 -0.56468331179611597 0.43416258443719191 +0.55058951937374789 0.34831634757244373 0.063240261471043113 0.039770774657861829 0.97032381443724391 0.23851620619796571 +-0.25792812723319852 0.41928235249277851 0.093864516237907591 -0.8290930064676616 -0.39620826635187634 0.39449182032185998 +0.20649952339315936 0.40354744055400804 0.11357170796279981 0.77489379524561175 -0.40428742355291947 0.48589225682942749 +-0.28671416502704733 0.46874562656853402 0.067263163957385075 -0.9366822680031468 -0.21062389844952636 0.27975686266900512 +-0.081081608053692994 0.73624187869142954 0.18157212076234097 -0.1873149341332076 0.61079978406882218 0.76930926111164966 +0.23052348481378387 0.43488624737880538 0.092243712237716505 0.85905436814432934 -0.31259672700372776 0.40535031619415801 +0.065319468120208099 0.70342492051436745 0.19692137428044135 0.25880813892364624 0.47245348131289971 0.84249988440485868 +-0.28326498628260144 0.52123135451376934 0.090743555624730493 -0.92798928238314637 -0.029676671401648539 0.37142319119372647 +0.026750639651824892 0.71456631178824781 0.19956623937225948 0.14096885006483875 0.52948173114731534 0.8365266760197424 +-0.2806513831978491 0.58286557121447458 0.091481300794037324 -0.91438207587466036 0.11707944100993699 0.38755363991575076 +-0.051888403778202773 0.71646627985921407 0.20085038865928945 -0.13088290873770519 0.53941865357041774 0.83180357079098621 +0.23220947445290246 0.63364946847423131 0.10076119088725111 0.84205710115611887 0.27606266424269932 0.46338886888204012 +-0.24811073248086846 0.71501983548296488 0.049061431030125863 -0.72800739993026919 0.43749371605985243 0.52782996699212736 +0.10622654817478344 0.68920591968541767 0.18987815843353878 0.38130330235992016 0.44408041024693612 0.81080230688148158 +-0.22253691186586516 0.73603590562521914 0.064276061279739505 -0.64499806700594609 0.61135422254529126 0.45850137200954549 +-0.041846554761445276 0.81806973170629527 0.072652308564602947 -0.10641497843064797 0.9358386486303687 0.33597898162725892 +0.070904608199235497 0.80411171739725606 0.076471925249327222 0.27652336072233707 0.89890671121696464 0.33985519784744345 +-0.05925188414508642 -0.67866622920294906 0.12121411294533824 -0.15495649733883735 -0.76846877465785068 0.62084154686066262 +-0.027740081796410854 -0.69950963137100719 0.098634923648103126 -0.10727734052723817 -0.83539557222361605 0.53907866783854475 +0.080547841391300112 -0.6663274386251361 0.13115517654620537 0.19021631658097785 -0.75351825897557245 0.62930754508172515 +-0.24302932060282378 -0.66082145676000481 0.10179222346357078 0.11759307482741872 -0.77906605789489092 0.61581486356594839 +-0.13162851564378464 -0.65054066555646761 0.12726757957956902 -0.26769342820231601 -0.7272649972931654 0.63200146535388935 +-0.19887538693876894 -0.64882112564907524 0.10542581075118566 0.033223415208114872 -0.76093362782081875 0.64797856348289551 +0.18013172535451716 -0.64197952623921051 0.11154236274623514 0.24607445164968716 -0.76243065057121195 0.59845373030407667 +0.26084423832012182 -0.649782962518476 0.10293777842034951 -0.027835493987858662 -0.67535771177160198 0.73696482034428046 +0.33199939279820012 -0.63394843125639755 0.11071976945470194 0.085405046754299094 -0.74675379250917928 0.65959438396794567 +0.13621864918357429 0.65718336016305823 0.18953396685152213 0.46775459102547051 0.34631592240758485 0.81318566420072769 +0.39521910058907528 -0.61631761120678497 0.12483279367157307 0.065326649036372031 -0.7947951986840629 0.60335149048828873 +-0.14884101606833999 0.661264941700755 0.19750421987414235 -0.40669367541025375 0.3864714185082056 0.82779230309151486 +-0.52523653077697174 -0.60832520183532546 0.11624539332335082 -0.092870417904292596 -0.99010499246561412 -0.10520070994507735 +-0.4878346614455511 -0.61245544884747594 0.13774707405199216 -0.14945027311043099 -0.98762653078401696 -0.047523168652194303 +-0.18375504309409746 0.63524937877590826 0.18930986102573688 -0.5069644191098307 0.3064310764608163 0.80565940268558722 +0.56613173936191297 -0.60678580886115352 0.12214255474745536 0.13195087653347595 -0.95607289002028917 0.26175101747710461 +-0.61719133179390417 -0.59001852312681968 0.11080202741607012 -0.31631438754289715 -0.88390843318813195 -0.34445767515365899 +0.65317572864856654 -0.58540288653006933 0.11920833727130897 0.8071670637995878 -0.52733069188216419 0.26533690379634411 +0.64923608732234528 -0.53618775264899676 0.17147508318023297 0.98902847733029464 0.048886296453568137 0.13940158194501504 +-0.61572504523664717 -0.41842975344280919 0.089980693781736232 -0.89104792691031254 0.444587970963843 0.091515725550789226 +0.38512999999999997 -0.42476599999999998 0.098968 0.13157738505132388 0.63380222879297943 0.76222183550466949 +0.15134270563520152 0.60470461801588993 0.1991124727797462 0.5359179149307699 0.18321042158232806 0.82415164252695727 +0.35960422528900376 -0.39214506133526084 0.10686493583768261 0.81254251678967915 -0.052726127964790911 0.58051237182245685 +0.45071922223521055 -0.40375917731560551 0.099512077112237252 -0.45379275059183422 0.80205331213775488 0.38830738339510684 +-0.39310499999999998 -0.38592399999999999 0.101544 -0.2457894063966172 0.79096062142870061 0.56032924522312999 +-0.41240597485935149 -0.38794911956589495 0.11006833509188178 0.25600781678309892 0.9188530359952215 0.3002816943943063 +-0.22051444865772624 0.56982188210996454 0.18001802127938632 -0.63911262606047159 0.07983686318138003 0.76495825146699703 +-0.38875878388845564 -0.37007716151304665 0.089491328939438161 -0.6949601422824836 0.50446747201478281 0.51238947131818047 +-0.58812004231146409 -0.36010840002811673 0.078079973624832988 -0.8510847564665116 0.51892650866333434 0.079812379470989001 +-0.43694365463268658 -0.3783956298929223 0.12488529691516959 0.51298730495535083 0.84698955053395886 0.13947303051460594 +0.15620654482305796 0.51466904517461287 0.19992561973879264 0.55488405153049747 -0.065227465034284851 0.82936666629561462 +-0.36775142391681492 -0.34944113960252232 0.11082534669636512 -0.80849818799964701 0.045496783853541375 0.58673735406932437 +0.59863845860369658 -0.37830482801712328 0.146297741805129 0.85328533643087923 0.5052291888435162 0.12902558417834878 +0.36901905551523212 -0.32101795256690946 0.11598942302461752 0.85729749210748651 -0.16878889263417896 0.48636541792107474 +-0.3805072331701872 -0.1867578911023573 0.1154946168412255 -0.85872493526710936 0.021582862227545477 0.51198209500779002 +-0.38771547688668107 -0.14093273656434768 0.094589387244245135 -0.88431708176839918 0.11028705659979661 0.45367396226715007 +-0.33965762310803249 0.081812760257390149 0.08949483339023187 -0.49374241648352951 0.13869614282682385 0.85847644471468532 +0.34809228801219605 0.082960543920018504 0.10971776374894715 0.25918709498950154 -0.22174276696162804 0.94002776293634227 +0.4043497923607135 0.085992687026990228 0.10388487995652385 0.048570853495871757 -0.76374978403918314 0.64368248350470403 +0.49986808078828882 0.092116952004528824 0.10910940915416481 0.051508946133982131 -0.88704347093556379 0.45880356269187167 +0.60054409451943758 0.10961073864586215 0.11633533387833581 0.22442122695783695 -0.94697627348182734 0.22993705737268674 +0.64959881570621181 0.12154742539369687 0.1260290566262196 0.40400243683882181 -0.89520490875621295 0.18812283850472314 +-0.18017927446813814 0.4619174043433657 0.19807520014646662 -0.51389271729340835 -0.21434308412415543 0.83064512121660139 +-0.49692529080317605 0.13962427714834691 0.09238476475659059 -0.046861575404627799 -0.18361855404056474 0.98187994141985024 +-0.48888870942542689 0.16662328916785607 0.093962417587668559 0.02375216500098554 0.030397842641745394 0.99925562586381955 +-0.62644136243382564 0.19974749487735416 0.09269872892704209 -0.33665008454084294 0.0070425938535811985 0.94160348472722688 +-0.46969042146221274 0.19098623055009012 0.089139604657079444 0.13046572457313085 0.20199810355462744 0.9706572314014571 +-0.41695551425003313 0.15406588466678767 0.090259879184798456 0.10326939608828598 0.13185511757931895 0.98587507312017209 +-0.598484406626833 0.21298055081302797 0.094484058478360694 -0.075259346776214639 0.024506326607549075 0.99686281437268076 +-0.13931361950310672 0.43995752681122041 0.21248976578745682 -0.35790053905417285 -0.27639453275338088 0.89191550407467013 +-0.56939884666687846 0.24281071276556254 0.091756475714104543 0.038382449097946629 0.24563754869174415 0.96860156012364274 +-0.25472872917359757 0.18780119859339806 0.084250818886103973 -0.43894339267526727 0.63331196666230005 0.63737324301311538 +-0.64158531151963283 0.20686514325181776 0.082486149856787247 -0.73793682803304994 0.23286010675922206 0.63342356169675651 +0.069585642263015252 0.43422494786634797 0.22336024201301768 0.27196180838314554 -0.31884719190215777 0.90795002230138067 +0.22413421273868339 0.2118028546670154 0.096635195227012416 0.27583728862881562 0.73971977789817334 0.6137820789076367 +0.27449505638775196 0.21750230549427074 0.085525476534542469 -0.18840172356714854 0.59434047264517564 0.78183386542975808 +0.66771045516084682 0.17803065845383959 0.13236813791339985 0.9201129161191921 0.34430423263366822 0.18667302156759885 +-0.59938697718777412 0.26671782965853619 0.082115380834659107 -0.34467219160421825 0.60032777466508425 0.72167003769064209 +-0.59140921395485613 0.24656540456139331 0.091096971303968849 -0.11589164979607862 0.28606443803229359 0.95117625222711011 +-0.1683202686172075 0.25398532040340904 0.098187176486863925 -0.51479666731716589 0.56849389839848441 0.64171573052468711 +0.14282104988438094 0.25233277324241588 0.10859736252043672 0.44450637032565143 0.65099099774473679 0.61532496097202727 +0.34608627418386739 0.25736160301889854 0.086863343627416809 -0.35849175451194165 0.70948807140462 0.60672097250837009 +0.6420489122202766 0.22996781010395928 0.11351330101843971 0.86525542633117403 0.48259559676571895 0.13577384573914728 +0.40996853080637741 0.2759569906461804 0.095097152020416742 -0.3066879882845242 0.75143063838667312 0.58420413686980055 +-0.16153280512214457 0.28762627855074224 0.091067478083561221 -0.69876891158567656 -0.06719114527253052 0.71218491854176091 +-0.15061516515181042 0.30663923200897319 0.10963596443188489 -0.6216885526164555 -0.45842384043098422 0.6350991466457534 +0.023361781606699661 0.36602511539782695 0.19979791491280563 0.11175020132502146 -0.55249452377412711 0.82599133996877805 +0.48151788617790914 0.31154583461638069 0.089577313243287465 -0.36227492947981355 0.83295119659638728 0.41826926681151549 +-0.18614703909367109 0.34603171811830225 0.12202521870229519 -0.5779102015370412 -0.62465770417023281 0.52518811066149462 +-0.026119048287126398 0.38037464525966452 0.21126419456749201 -0.033543370378023331 -0.4850337788411182 0.87385186140832127 +0.15058886252618786 0.34649569212887338 0.12677099020143506 0.5422738241412518 -0.6375197556228428 0.54727293085060713 +-0.24036351492039282 0.42551776485198056 0.12989346602196289 -0.74525000661902452 -0.36600081150219244 0.55735611023301845 +-0.10504844216737658 0.368110830072511 0.19080362471315113 -0.24955187763263589 -0.52425179349544881 0.81417683422388731 +-0.27213410145012884 0.46972677834677545 0.10183486694999372 -0.87390838792995995 -0.20892019531096362 0.43890372691159468 +0.23327402834296171 0.48389087076839798 0.11447152652786563 0.86120513661017584 -0.1715515878413586 0.47843052304943606 +0.62203711833811104 0.21585519318019153 0.18931117143510329 0.44526162014017695 0.28268835104478329 0.8496054294869626 +0.2391530664039872 0.53483596374783027 0.11518630448196823 0.85853239268884229 -0.024918531108000685 0.51215349018764977 +-0.25258774417661312 0.62319910512584453 0.12849694484556662 -0.80585276031795439 0.24472082504636877 0.53917812128883535 +0.58871935959307775 0.24113829957246069 0.19067566390237434 0.067869891313461259 0.28360132212351052 0.95653748904206348 +0.23651952382566727 0.57873341306324266 0.11542925559226425 0.84424039936139195 0.12262587613783615 0.52174806428730092 +0.22013248386615791 0.67187326989812068 0.093077468164553395 0.79503063436723087 0.42672753028081772 0.43107992915243948 +0.14939574161153668 0.74073920343495936 0.11771757804928974 0.54625523462370318 0.66572060454116666 0.50835154699828211 +-0.12733324071886987 0.79359295778093086 0.079190342753887144 -0.34596239833762682 0.86953469854011489 0.35244776488329238 +0.0038727232451194471 0.81917817618183886 0.072560539901317611 0.080693057602846785 0.93313518526456218 0.35035318819153727 +-0.0011185537173190596 -0.69247607518464427 0.11070624322413503 0.0055588789861816127 -0.79494472152681217 0.60665640075835014 +0.03872080690702262 -0.67787314454694991 0.12493889548599046 0.075594608727975285 -0.76152022708150191 0.64371763909108626 +0.12923012368395348 -0.66374963766191031 0.11248763368691771 0.30326100533666595 -0.76852986019956115 0.56337786309353477 +-0.41760783008772451 -0.62772192413568151 0.13043914350873415 -0.19561005647128832 -0.97208648055352775 0.12955531688184446 +-0.36497800000000002 -0.63810800000000001 0.13011900000000001 -0.09679561002666498 -0.91562965704338151 0.39019602896772965 +-0.30395196785676237 -0.64455206924861619 0.12578958958879483 -0.015501765668393298 -0.76648852976111415 0.64207089095037473 +-0.25415567388453586 -0.63885500371832094 0.12481540085188225 0.13147558283908992 -0.59797858508001489 0.79065528702641652 +0.59783500317518912 0.20604406210022697 0.19532201686524592 -0.021864745393302382 -0.024498450771976994 0.99946073400542312 +0.13460899713833485 -0.63566471288036241 0.14266233840810671 0.30337243371183731 -0.67343318413611164 0.6741312282991011 +-0.20862008461521581 -0.62232154803997108 0.12918543331008259 0.046536492297200194 -0.505118392419872 0.86179450249107337 +0.18492340467544782 -0.61946573758280521 0.13368262733788727 0.26810387899074972 -0.61406221740211064 0.74232600872481669 +0.20802780716120492 -0.62993168851548886 0.11732631856309828 0.057322611869235957 -0.57734879736062983 0.81448295522664138 +0.30729935392430185 -0.6251966068637298 0.12050859246538392 0.011164787781856202 -0.53401610326797577 0.84540058490887793 +-0.57008328219811144 -0.60763896706078757 0.12627429724924089 -0.12683647789991057 -0.9722827754187201 -0.19641464430641623 +0.4299505346952503 -0.61608036877582284 0.12352191972733945 -0.0021919975555485748 -0.86966783965983929 0.49363249873575421 +0.47402566331481899 -0.61770584818028629 0.12341330665692982 0.031651863956237758 -0.91612263041518505 0.39964670091126486 +-0.62146805857426068 -0.59512003266873015 0.13790181097856993 -0.34641541803342091 -0.93426579100158835 -0.084520943634739124 +-0.65322781450529033 -0.5020159699215383 0.10339009093993567 -0.90843605965064178 0.40886124382253664 0.087042569047012561 +0.33471200000000001 -0.46100400000000002 0.12654399999999999 0.38444521211579413 0.089606361080213831 0.9187886475872481 +0.36214276602358719 -0.44458866103030381 0.11282266376760841 0.15122557544129667 0.33353965093799909 0.93052787523244374 +0.6396504930485637 0.17818415050752084 0.19006267242852884 0.40494338675348912 -0.016112843611971177 0.91419977564827171 +-0.61663505169832433 -0.42918647440409785 0.12435183035292041 -0.89186600889199841 0.44279720727226557 0.092226110266779501 +0.33980597549916824 -0.43409415729185652 0.12372365023082632 0.60227323055295423 -0.008176376620558496 0.79824814602018757 +0.11098436223724994 0.17498562497953629 0.19205789916843019 0.26906151154657881 0.5182094162000801 0.81182812464575438 +0.40701378623575424 -0.43624600568370903 0.11576267722118211 -0.24541152344373243 0.755677225719806 0.60722739948839899 +-0.37006584838788248 -0.41021555901644957 0.12981826712706046 -0.071194997670578228 0.57503511534926799 0.81502508453540279 +-0.36384991732384853 -0.38254417675894237 0.11704617050174937 -0.6116991314990029 0.27516292004131154 0.74169369685720277 +0.34265796306588431 -0.38177543467122832 0.13394421803626222 0.78524105153577228 -0.20079213088438069 0.58572946925855129 +0.5353254380821193 -0.35004735008543619 0.10655092820151113 -0.41330034903131263 0.84359178398589507 0.3428348341141696 +-0.37788087264467762 -0.22647491386669527 0.11895748013022622 -0.84166319813643564 -0.052529850982821424 0.53744178815800092 +0.36575776717980496 -0.26177090312505863 0.13517485240741298 0.84742540941495614 -0.053662827590340634 0.52819549071617733 +0.37095140295936935 -0.20092449724547023 0.13065307529419726 0.85612930245072638 -0.006612663438863093 0.5167193533897072 +-0.37202214043346987 -0.085639472126059379 0.10982131587215577 -0.84495393975735267 0.15639265469343325 0.51146278187808403 +0.36813197187540747 -0.13104887629443099 0.13011800971487339 0.85066956164214602 0.071192851115889091 0.52085782594250218 +-0.34701428151668334 -0.005214621010697737 0.1167460617967605 -0.79334708173762181 0.25455591215070272 0.55299339551890025 +0.17877289079311573 0.12090070289446708 0.19824245754177916 0.35808479275248717 0.48662491464361141 0.79685097329896404 +0.35363565307852718 -0.037630657892179231 0.12321948551593953 0.82763133681961021 0.2277792363563845 0.51297464830056383 +-0.13969183497198151 0.15992920026245594 0.18935979527919239 -0.30655705244122344 0.48429186389674472 0.81944137323054766 +-0.34166652219705695 0.04438887739102837 0.098494307579014451 -0.74377916344881778 0.15698649519252769 0.64972901762699775 +0.31855982737835942 0.043976622879989824 0.1330720417720514 0.66936154498606748 0.21576198917421271 0.71091623003097326 +0.33099527989465749 0.071365818130707873 0.11680872441978593 0.55699331251245354 0.014693551951877801 0.83038698770358987 +0.30934812985543308 0.11621118147454432 0.12273948753670537 0.2166114031573852 0.16123330096981198 0.96285166182572834 +0.36916389417171436 0.104943585576924 0.11617234917427299 0.02394930046599459 -0.45758781212247207 0.88884184487689299 +0.51369547397417015 0.10324269945251537 0.13228166631868898 -0.043073513825322832 -0.81362771682330171 0.57978841901476519 +0.55173616105971646 0.10050023411173378 0.12172398392654164 0.1427661103036926 -0.92339700956702797 0.35630857479356831 +0.33022899999999999 0.116758 0.118505 0.012756932311482701 -0.066052087073174018 0.99773462527431511 +0.35365796437582681 0.13559633379894589 0.12410027195162818 -0.14556121877606912 -0.18930477464168458 0.97106932496412746 +-0.2844534584635201 0.14033011886817315 0.10133453206622001 -0.52599907494516507 0.48490834897199686 0.69870513541413359 +-0.27108925608272227 0.1663697258331025 0.090576981833419001 -0.47038417621169465 0.51090303680827742 0.71952540868945358 +0.26889800000000003 0.15739400000000001 0.11965099999999999 0.22147331710324389 0.4466322959489441 0.8668732098909625 +0.28807604081079652 0.17541638014940591 0.11055366506892161 0.0025985168151664404 0.27913482427138414 0.96024840410663781 +0.24648714473023386 0.19002614403093557 0.10652428521558574 0.14797518921743952 0.62626638246878552 0.76543697426079682 +0.2751404345551583 0.19677728862519622 0.10032191344163111 -0.12017388770816807 0.47099445211822777 0.87391215965161795 +0.22962143610559935 0.18011059078836783 0.12265821167280505 0.40329244312830187 0.60615873048105362 0.68551207048249907 +0.37280392224794762 0.23102221250844554 0.11879343531322716 -0.33866454773802707 0.48690875267376915 0.80512495345447588 +0.63940027730816862 0.22283075520047912 0.15729214883073622 0.84525294425730801 0.48263324094564147 0.22937439909165674 +0.18850052588190269 0.22243696760790133 0.11264136331809743 0.43952984249656851 0.68606383865033949 0.57976713157206716 +-0.16099617143514111 0.26901624008939806 0.093891701681319994 -0.47508500652192548 0.33663202842508438 0.81300253014149659 +0.36738545080427976 0.24762824724605359 0.10598089210325252 -0.34252269903664739 0.63346747611042831 0.6938279018279202 +-0.11450363467911637 0.26246189200152581 0.12665651048961021 -0.43519227958034046 0.26020009878653033 0.86191855089976255 +0.10308088831696066 0.26929401968782257 0.1224429774649359 0.52694739782191491 0.31481797969274561 0.78944035847611094 +-0.12357984771380583 0.30816682736903334 0.13221818111466604 -0.45967401834072935 -0.52455752465631411 0.71661649449962239 +0.60840693802421497 0.28452792885850187 0.12174516041850847 0.77935177026946878 0.5810954793158053 0.23439040529974656 +-0.21022900973594283 0.38621927964271702 0.13659907198607507 -0.65877152506422842 -0.48604883613707978 0.57426179278647893 +0.18032683141515835 0.38019422861566565 0.12880093289060141 0.66122254220625398 -0.50195659834059758 0.55751620878736319 +-0.26611508652357657 0.56695023364089758 0.12327080161238216 -0.866637979695147 0.078921757326554487 0.49265603454175055 +-0.26297227735858719 0.6400520217575707 0.098872853059034038 -0.85353203636152242 0.30852201479969438 0.41987763608995654 +0.20949960756431502 0.65993251554482524 0.12057103817856152 0.76026211677246958 0.3812746002956669 0.52595740604161401 +-0.26828831142930842 0.0022744688686111569 0.19482428267577998 -0.55933426442802081 0.27156253550889353 0.7831979123725662 +0.19027714758344172 0.71185748525870807 0.099911541052879582 0.70546575721516236 0.55085265984080634 0.4459589807853932 +-0.18756307868710503 0.73994427208937819 0.11216055782520808 -0.56049398475406442 0.68116097340416537 0.47102677351250477 +-0.15174818598584694 0.77146995917028538 0.10191004561755854 -0.44090571797980155 0.7796164790983332 0.44474744897642066 +-0.28385445023528827 -0.033036683499421571 0.1931238685395508 -0.58019284618771105 0.19868773485686642 0.78987305641479533 +-0.094463950362738025 0.79484977087552078 0.10248640063780373 -0.24530326396880417 0.86436051119525514 0.43898429968795966 +-0.072316459225405361 -0.65283069282696737 0.14699070010212012 -0.17782039737093175 -0.69703006365276421 0.69464307139931036 +-0.37440850334565834 -0.62285660397497433 0.15824767136549489 0.0424273472463964 -0.86875205948346446 0.49342656935847395 +-0.44564951421210797 -0.62291619343352878 0.1582607777676639 -0.1695937676670462 -0.97686475018469354 0.13028128727907301 +-0.39870422424257562 -0.62597639837495678 0.15191200893919712 -0.038340993451690716 -0.95178771837038789 0.30435194656914677 +-0.36278656121611708 -0.61280300375334273 0.16961918909584128 0.19108669833234726 -0.69123106881831609 0.69691138835631816 +-0.28309586632347622 -0.62590627104271046 0.13866847770171004 0.19390756450459129 -0.56717523819421478 0.8004449422710056 +-0.18448038600860739 -0.61805882743965079 0.13482536189261762 -0.20375915230044719 -0.59440741866154423 0.77792160819321821 +-0.57215695194418648 -0.60873465682238481 0.15584149688569449 -0.1425594896133828 -0.98790417651822848 0.061009261092170593 +-0.49571511524078893 -0.61097748968689458 0.16995806306192776 -0.11574340020977741 -0.98972383689995391 0.083965421334693299 +-0.25145692106408624 -0.60567936728909488 0.14105238932276948 0.19738607704644096 -0.40042805107182217 0.89481624510456825 +0.23793540705455629 -0.60432677832034654 0.12834143186590796 0.11893905922191747 -0.35586482741055364 0.92693782143327286 +0.27351213816254544 -0.61219318040351633 0.12479995804616335 -0.023571758053313824 -0.29527364030225683 0.95512190298669708 +0.36158195696043349 -0.60757666394075605 0.13328053009318019 -0.045674586437189982 -0.55976896767895323 0.82738898649754244 +0.4148727540367414 -0.59485050254356708 0.14833199191749508 -0.074840448586697209 -0.60485093731842487 0.79281413388029653 +-0.64191420506553554 -0.58544876691066428 0.13583382120453052 -0.5676669561753851 -0.81394229743863578 -0.12349964901524386 +0.27022523311440727 -0.58254753572226081 0.12943064482947705 0.03882772869364156 -0.210631461132952 0.97679414160072164 +0.32427720775295454 -0.59528937227747369 0.13521060583984651 -0.13303549246059804 -0.33215359077830703 0.93379631070102387 +-0.31435257999940558 -0.11251354401698377 0.18541603700350007 -0.6398103049886974 0.12685918539987889 0.75799044895694379 +0.30322062661425958 -0.20351849774172792 0.20709142126484578 0.63892608092725867 -0.0031183413301698795 0.76926181437679764 +0.55465968036280722 -0.59824832259023863 0.14490573495616213 0.07543573213299179 -0.8730780636100629 0.48170960667238361 +0.62412372497889379 -0.59324146230424735 0.14208198451755621 0.30580561407073109 -0.85567148632029733 0.41750357351912132 +0.2109789265858959 -0.58921631128076601 0.14413833184728342 0.35655551061873719 -0.48428561912219165 0.79895907714904091 +0.22324629364067727 -0.60031694165556715 0.13398949357096154 0.22639918830304664 -0.3832078119913106 0.89548600232753728 +-0.31643224669442616 -0.20478422825567111 0.18949037103998045 -0.64995151619888203 0.0053658612699154975 0.75995673174438438 +0.29566096816968601 -0.53113487290725647 0.13418632305125527 0.12080848018406551 -0.17374618534891587 0.97735232858591814 +0.25120435141985631 -0.54838393422241793 0.14491131313106648 0.38042032095929423 -0.30218529208577938 0.87405058700755967 +0.27138015259918902 -0.51308361838293881 0.15091902661483053 0.46041328802111364 -0.23872638970638688 0.8550025234298092 +0.31725193298912657 -0.49671125398310334 0.13212837188238069 0.22136470333107336 -0.045234422303891103 0.97414142461861208 +0.3421312718237951 -0.49712440033187388 0.1341705407574193 -0.194634618795199 0.26051572553355906 0.94564735600337335 +-0.65105620606049774 -0.50427315187255695 0.14013656667051988 -0.91838796466883632 0.38732978953733926 0.080865199488982006 +0.30222333611614882 -0.46287501744879656 0.14642927267030603 0.57801215342411627 -0.18480747823541285 0.79482585921840976 +0.3558361758281241 -0.47048914363891359 0.12619061192714731 -0.054920121228501616 0.34822419048440706 0.93580109715992854 +0.32304754585512024 -0.42966357900662122 0.1403232633881141 0.71662111516796911 -0.16993843958754129 0.67644297915343021 +-0.34193763533413524 -0.40295285290752814 0.13832015472102532 -0.51938754651697183 0.16260297015673511 0.83892601021740199 +0.4462211067684505 -0.42483122876281465 0.12848191124904915 -0.47167335269636662 0.68371385531551654 0.55682996723035827 +0.29389813593260034 -0.29451680541433467 0.2075628856881267 0.57339080535021092 -0.12439364598593204 0.80978343103459649 +-0.39666540065838374 -0.40429037281114111 0.13092799684842366 0.34199286814211377 0.78105984521979421 0.52248100092267646 +-0.30713277166142527 -0.25700816589151448 0.1944274791559146 -0.60049531872390494 -0.05674223758329501 0.79761249405003465 +-0.57378176852398588 -0.33995560920292967 0.10941638448737656 -0.77970805227298701 0.62324775653935782 0.060146381348525749 +0.34324425872595216 -0.36498345013392708 0.14162610582416324 0.77626525665048929 -0.22466987796773266 0.58901247631210174 +-0.5220124718914505 -0.34202527756898893 0.22533933873886658 0.40385635798899805 0.81740770744439062 0.41078544511991644 +-0.42457438055505703 -0.39486252404790623 0.15005807371431473 0.58313400903858781 0.75218016630687545 0.3068871533921636 +0.58310094533927237 -0.3528332800650773 0.12470362947345959 0.59771425711332804 0.75881051728487248 0.25873589952174519 +-0.36459615392887557 -0.29026034241756138 0.12891777310117528 -0.82954512201184283 -0.086624434777596543 0.55168024964268814 +0.34487835481510698 -0.293935435703228 0.16006617318046465 0.77444407195380238 -0.14759337358445238 0.61518499290016326 +-0.36070146299709527 -0.14981823333438171 0.14116038744433748 -0.80783947273467782 0.070693921587118833 0.58514763585132268 +-0.49463076510124848 -0.35244425645714328 0.20280323025280289 0.61589153439877942 0.70107442688978705 0.35940543376119632 +0.34899087428327263 -0.10440707463074017 0.15285670802979273 0.78422265640493716 0.14698463236975481 0.6028186651293338 +-0.3087213602838319 0.073497978477295778 0.12131081219915314 -0.66875105446358785 0.29652296959037638 0.68179627137374699 +0.29500628460215683 0.088221872528779999 0.13682153932087032 0.4904004347839464 0.32051782167642828 0.8104170158329066 +-0.30908214317581817 0.11299165936380584 0.09983458879279232 -0.56084708722684073 0.36710925028387326 0.74207906796053813 +0.4689273582044326 0.10637408478474404 0.12704989579455839 -0.10135434400530592 -0.73922924474822205 0.66578331359401566 +0.45324861570738978 0.12029055504965687 0.1353620388250793 -0.15514822015181368 -0.50505170099030072 0.84902992238820907 +-0.29634277122066804 -0.34707289235824373 0.18973734805920073 -0.62301292987896484 -0.17321221410181603 0.76279251313156882 +0.57228957481288545 0.1159200491732717 0.14422387345964632 0.052026300435443838 -0.84022198475392829 0.5397409382279339 +0.62997642368312556 0.12181019160766939 0.14329772184314607 0.19677714188512935 -0.90429027816704877 0.37886389276900084 +0.29004504468725156 0.12907531646564974 0.12404379892985312 0.36984802543518769 0.30199054876694326 0.87864335571216445 +0.58602125292638774 -0.38287083339452749 0.17957878712930309 0.20382219433187967 0.76341960232118544 0.61290050080702385 +0.57113389277860094 -0.40896599057205002 0.2024935493709081 -0.15106490346444545 0.52053851686709984 0.8403683998099154 +0.65599224178063631 0.14546191317474461 0.17096883920610784 0.57366519378710268 -0.51690106578510309 0.63539085107312532 +0.32378793640864922 0.15064977308244562 0.11905457273163811 -0.04361280280519856 0.051915374821290723 0.99769871067804816 +0.32179030871888226 0.18016370697907058 0.11579531247373583 -0.24457179690691708 0.16691298349733447 0.9551568939696452 +-0.18475592401589547 0.23040140198421888 0.10746326595546879 -0.53390133387203842 0.63111693661963053 0.56270843071835297 +0.32252146905446194 0.21250394174114398 0.10777855459146241 -0.24755787642642191 0.40086445993200437 0.88205599741890695 +0.38448523870214479 0.21776441666260737 0.12803913453145063 -0.3332690407928206 0.35173626369424071 0.87476473823048495 +-0.11470485422444418 0.24090356115791395 0.13918898624404891 -0.36176080879299954 0.53003885145964125 0.76693411266208478 +0.2475911533047826 -0.39036447973593469 0.21781577654093462 0.5108985844600662 -0.23745425785978125 0.82619495993437364 +0.43022597304010662 0.25757221809896208 0.1238257428566838 -0.30707448005861898 0.51209478915139917 0.8021621972024815 +-0.39780975511661287 -0.44589691497745432 0.19517567618990928 0.63958397508447551 0.53553749113489413 0.55148158120111712 +-0.12332927538479008 0.28589482727735593 0.12012430328443689 -0.45998865583335702 -0.13749343363387453 0.87721490651503897 +-0.072575000000000001 0.27045200000000003 0.139297 -0.28908793789391618 0.078387708584665497 0.95408780062795528 +0.5353333076785155 -0.41392525751014531 0.18723039016648613 -0.45621522389150682 0.43124284976143434 0.77839403518992833 +0.0091870104261671803 0.26999989142627123 0.14905702478853455 0.065846135188225546 0.12642539348227502 0.9897883139154684 +0.064451046288746608 0.27165113615869046 0.13869817023665931 0.28570820635836458 0.25076553034404286 0.92492565626149492 +0.028031247354758079 0.28535663523500587 0.14591167796856611 0.15127370110932403 -0.16900662027091751 0.97393687149490793 +0.059324000000000002 0.290605 0.138877 0.29363871137617004 -0.19929531986052354 0.93491052120672702 +0.44286448121921618 0.27932474581923422 0.11080758977372428 -0.3481486841453959 0.67693779556054789 0.6484965032052642 +0.049334217985864376 0.31405600947630402 0.15360757340101427 0.25481655074113613 -0.50565930489798128 0.82424340630573467 +0.53040975547358515 0.3174155650924122 0.12242180629978751 -0.31142005641090448 0.76416118011555889 0.56486745283245476 +0.61212078002425196 0.2602801501829608 0.16973982033766122 0.61123147449683557 0.56934159364110992 0.54976925553783507 +-0.16934119576279363 0.36221738135849901 0.1556699790366558 -0.50486425302024585 -0.55392698697179299 0.6620249082373415 +0.58784541616724684 0.30909194690203656 0.12321700979992967 0.61592916579570312 0.72847703899574057 0.29992076683385493 +0.11150318972687723 0.3471971132777617 0.15516694807396153 0.38819946233924957 -0.62066056807084491 0.68123537538907475 +0.14248909015596667 0.36386523434583545 0.15150557456919286 0.49301441328101053 -0.5592945346368936 0.6664280995144799 +0.17847366242958568 0.40921654056419837 0.14970162930319103 0.65742514463516932 -0.36410055675268033 0.65971430466059688 +0.2101937198237262 0.45891955050697886 0.1410271699619482 0.76768111822975615 -0.22666632733410588 0.59940643704116081 +0.62911840259403162 -0.48802118347906004 0.22114476684415765 0.73404768375159435 -0.0047424509619463538 0.67908137004175928 +-0.26403664225132817 0.51340953437324277 0.12823073489895059 -0.85087193581303544 -0.061055108955262206 0.5218133981762435 +0.21900296586022672 0.51917675832170473 0.1433495208227181 0.78790300885683873 -0.08230888211039078 0.61027378819680456 +0.44934383191919536 -0.47143094448483813 0.16766555469885908 -0.43836402295207039 0.32140776248110414 0.8393652563682672 +0.21099087969404995 0.5533207172322776 0.15485168821105397 0.75103470997080235 0.06295413650469979 0.65725462426370207 +-0.23153072061439481 -0.42143837340899148 0.21259809506213151 -0.46318004090480891 -0.26974678407672054 0.84421615844976972 +-0.23680764209590538 0.6773251658787709 0.11527053719767803 -0.75726934648350674 0.42650167577866327 0.49461040975138665 +-0.63719823852397717 -0.48475431581868422 0.17915746298840962 -0.9032243581018834 0.42134021933592108 0.081597662352538208 +0.15701199119865775 0.71934885812758009 0.13498457538813818 0.57566880709932311 0.56403542555576092 0.59200461421425932 +0.10186091101026229 0.75557091222348238 0.13902547459581233 0.40018918344231663 0.69797967297447816 0.59386277334937609 +-0.076679599477182947 0.78142081013874221 0.13136580224995834 -0.18704794714242653 0.80893819969805536 0.557343748990758 +0.083623293228243689 0.77968121316137307 0.11612904262998663 0.31925443217330635 0.81354111159523612 0.48603237266882476 +-0.031444924637594629 0.80074643998269623 0.11193221007840508 -0.059021498743876612 0.86770087485639635 0.49357031359216791 +-0.24408303473070647 -0.48739281831983705 0.18044402136557519 -0.41377720662082895 -0.27887228838222033 0.86661333364628523 +-0.0041679860506215194 0.77800090495204932 0.1458943650555799 0.030233612000120764 0.77709889444167224 0.62865192035255635 +0.030379134894599535 0.79497506936987539 0.11752668599937238 0.14252199567558932 0.86006185815256886 0.48987863895029926 +-0.023506952276559551 -0.65701928864782966 0.14884733127049576 -0.036717752468620253 -0.70440695445844292 0.70884599820005645 +0.036753730130722279 -0.65095265697960458 0.15414899735018994 0.054395881579304535 -0.69802277650683653 0.71400650665445431 +-0.13829759248195758 -0.61903346475064347 0.15481385194792374 -0.29205838218821423 -0.61120146374612261 0.73561856427648709 +-0.63255960792259236 -0.58930842578979281 0.17553990694663124 -0.37666476111089636 -0.91902546881299241 0.11625766817862269 +-0.3263641415274065 -0.60935400351193492 0.16186269994580202 0.24615053493359412 -0.51828823845631178 0.81901600474579161 +0.15754417588355296 -0.59139288112431543 0.17004634209973635 0.32018591923845324 -0.55785053495403492 0.76569168584549985 +-0.18519095701775046 -0.48356067875681763 0.21432790805981469 -0.40781450796131241 -0.33193042642770521 0.8505936274789474 +0.49457977964005639 -0.59643717023270182 0.15464571905575675 -0.01005234989064707 -0.65056929885850479 0.75938036427368183 +0.54377592804740349 -0.58656315679951421 0.16289809162981095 0.011190632010572096 -0.71173546587416203 0.70235845290855115 +0.61257278420103378 -0.5795390915449552 0.16781538613461672 0.17087084034906178 -0.79132692082153422 0.58703054460693516 +-0.25022183095121231 -0.57708218975239256 0.15012678844354632 0.085629714994299194 -0.33745746524672554 0.93743800384838782 +0.18579844170980461 -0.54830998733345815 0.18570180995623428 0.39151190647855605 -0.46396622808248456 0.79464065229790393 +0.30116899070900516 -0.5782675289274487 0.13450495577662869 -0.21968425896630148 -0.071907196371621601 0.97291735593132467 +0.63337900000000003 -0.57725700000000002 0.16012999999999999 0.50342587032601804 -0.69627272631923254 0.51163139433626859 +0.64359352500587896 -0.54042904713345685 0.19117793827721474 0.82654109173316637 -0.24131792477752503 0.50852284398797098 +-0.66487452956773185 -0.54888080384989402 0.14160287866586518 -0.99876033088158078 -0.044222360218052571 0.02285135256522218 +0.15732754087006692 -0.50150811569123921 0.2216933237069747 0.31685996492425977 -0.38086852874418431 0.86864200131034275 +-0.21018138205993719 -0.57945646878844848 0.15195492413986761 -0.21018113562948576 -0.46098039780926375 0.86216063646000007 +-0.26828704762630562 -0.54692026282841022 0.16060138774748228 0.13512785567705601 -0.15560718089842479 0.9785330182844959 +-0.24582086774159273 -0.5349856696737576 0.16470619534424588 -0.15991479633768335 -0.31160840037519222 0.93665760164955225 +0.31426322680364521 -0.53619905043012284 0.13577022342858758 -0.20853105154842375 0.1348411435940968 0.96867572826738302 +-0.65836012343028694 -0.50486855325074453 0.059372829287455797 -0.96892755185151791 0.24450561483042191 -0.03736848377204055 +0.34850785102740156 -0.51900685625859488 0.1429187516277578 -0.32613580473687265 0.2503707282740642 0.91156455355182997 +-0.3082611668317452 -0.46550716134834857 0.15345882816660084 -0.2260232075674069 0.079337664108904207 0.97088570114853556 +0.25283493996393447 -0.49409339580302092 0.17357496066745126 0.55811893044042526 -0.35611104846218689 0.74945859168282114 +0.37371080421305281 -0.48839946920892996 0.14105165394661337 -0.35391125273690327 0.42443844821455357 0.83342595883702675 +0.56972550766786512 -0.50609965614132668 0.21453440462232121 -0.22291216849396478 -0.24229848409921947 0.94424658312357079 +-0.32435519694486925 -0.46727764034809116 0.15427698306313603 0.21949770646241359 0.43474810796161212 0.87339271778595595 +-0.34069313023894254 -0.43630079682438716 0.14634151468940582 -0.043184849274410825 0.33914818442849354 0.93974122916471159 +0.43658483573455475 -0.54478124649516069 0.17042005250932679 -0.26159867421893312 -0.18082946176463061 0.94808588187189591 +0.39232697336263045 -0.46286290832652466 0.13238996458819388 -0.32272144640931238 0.62541590498436328 0.71042650134976759 +0.64560026935901438 -0.51549321056850061 0.16180116847114556 0.96618245837094541 0.25389936513593475 0.045017435731567787 +-0.3192243487808879 -0.41752301841118378 0.15366573986671594 -0.49796422000554713 -0.053615993770116811 0.86553853802491654 +0.46311712760107193 -0.42536587192833863 0.14339022765286413 -0.47010508827002151 0.62591653249614498 0.6222778321060759 +-0.37363757342525949 -0.43122180760648832 0.15046575494217429 0.36333415195036056 0.57702911493739162 0.73145450613218777 +0.62303321698056813 -0.4468708713173335 0.19027721042590606 0.94410575574847255 0.31426770010784821 0.099499420257250767 +0.53277615296524283 -0.37059804313975464 0.14488954766134188 -0.44593391537079419 0.73706919909914292 0.50781092826112095 +0.60558418961883576 -0.5264515065052211 0.21403116361173363 0.039014667732671017 -0.40258363528432667 0.91455140495379783 +-0.59171491148495159 -0.38720997635169319 0.17911732626592325 -0.88509397316627392 0.45342323850411292 0.10495725534321802 +-0.32419307759918253 -0.37408976924324522 0.15809497012529791 -0.68255693953291641 -0.11826146101874449 0.7212005623494554 +0.31596520354370627 -0.37768463329546087 0.16806006378873464 0.69993273096084796 -0.24718055174722828 0.67007159838902663 +-0.34251121396846523 -0.3508391697709865 0.14350906909174188 -0.76516434486452978 -0.070151890783070311 0.64000174809729626 +0.5656593482761616 -0.34822206804860262 0.12901626327586357 -0.016153569950850079 0.91326504943203946 0.40704546633482774 +-0.49157040367906768 -0.33798315477323365 0.13526052817352774 0.54373904808758811 0.8353543850316385 0.080813977709407805 +-0.50242029928920062 -0.33669053168437013 0.17804267078611913 0.5044090526780014 0.84244015704472286 0.18938344535609167 +0.34699724585105307 -0.15106767479373318 0.16171684144594037 0.77873720213445463 0.047076818919463317 0.62558144404403948 +-0.12960109966887257 -0.54132901299484493 0.2096756692436077 -0.25827384505148127 -0.45564043785923081 0.85187229814671861 +-0.16721453949938142 -0.52615140078169864 0.20378288033808273 -0.35434024150293436 -0.41745542713557843 0.8367639808253543 +-0.3465005918659495 -0.053882739682467262 0.13577611103125936 -0.78247051575879878 0.1974936223853207 0.59053887347513689 +0.13522344292950861 -0.55561118994377312 0.20077794889605044 0.27220863623494174 -0.48258685842293408 0.83247365269814755 +-0.31929944519357034 0.0098401184559655519 0.14366166016870718 -0.70980706789072101 0.30399006851839805 0.6354242398701494 +0.10667235896030519 -0.53754390972041199 0.21886522769185873 0.21529609681162865 -0.44390962136548079 0.86982287780721967 +0.3158970474822651 -0.013443731590596975 0.16211936787113057 0.70557027377108361 0.26952619153141172 0.65538249965128825 +0.25898733354587972 0.070465578633475356 0.17616337558610573 0.56663974951990081 0.33350863369286432 0.75345297498672259 +-0.24894416217627457 0.12437736413953454 0.14853029297064144 -0.56077862746238794 0.48604447609356455 0.67028956298030806 +0.27573163255836602 0.11220014349945186 0.14071002402553442 0.51790696709396022 0.41705891904350967 0.74688301057246897 +0.51380604210621617 0.1213518488694285 0.14926983477002032 -0.075569767997599416 -0.63087068278158598 0.77219906227052904 +0.61681589197730369 0.13310712897343696 0.16639654201824589 0.039200361629411339 -0.7379587780733754 0.67370629618 +0.41984377588713417 0.13503058838301552 0.1359498415644223 -0.18656607270707543 -0.32748919523495157 0.92625262618738191 +0.50505529982907416 0.13684319526795344 0.15611178583461016 -0.20163622851622717 -0.38146327916580203 0.90212449140782414 +0.25129411864758122 0.14672580866108031 0.13473216424293066 0.44201466782681503 0.52441632486793743 0.72774346554122782 +0.049674335861098262 -0.55702298308856468 0.21788869127610266 0.055359569322036999 -0.47038879118654303 0.88072112681060477 +0.38346324949997168 0.15829883994724103 0.13356009220419732 -0.26029525129631115 -0.11713826571544132 0.95839710394896793 +0.41644033659382657 0.20332010558961497 0.14160717571951398 -0.2644084365434709 0.11718128017647887 0.95726523297403776 +0.46059381239945868 0.20397379045530334 0.15458325219577843 -0.31840254079327585 0.11548195792839125 0.94089517982047899 +0.17764110778466685 0.19624723390828119 0.14787128911570513 0.40955898585009276 0.60237271471190801 0.68513396476897115 +0.64970447127447106 0.19232599171515541 0.17684653192961913 0.77020274045250448 0.38083213408037964 0.51161960893933278 +-0.029099193175248006 0.24380032580589583 0.15816309820540164 -0.091928760948296093 0.41818833830064051 0.90369663970818215 +0.057345762465002392 0.24981705776996888 0.15063672409549095 0.18590088372879526 0.50391776802006805 0.84350918459879609 +0.097449842793536412 0.25045623107033266 0.13715548406212485 0.33669853613652645 0.54102215726066005 0.77066797073483062 +0.47307843287189411 0.26443734437424599 0.13866704320729276 -0.34227515509168177 0.51335205315945165 0.78696720879839754 +-0.3889729299425233 -0.56671802844642161 0.21289773661815614 0.43278868702207152 -0.31694532428658923 0.8439428972380657 +-0.029842862002546822 0.27309455945863004 0.14852027910786986 -0.095230316594725584 0.066721429415766309 0.9932167123332073 +-0.092345602652011041 0.28896089753222315 0.13619117156165483 -0.26688729631706948 -0.27596082373600361 0.92337251140994614 +0.029765437107344805 -0.59318518474997806 0.19939824564498765 0.036773414539836076 -0.50192204212412117 0.86413076534343658 +-0.019598944044946814 0.29045563823316073 0.15230896542119171 -0.024987771025844978 -0.21686266314188965 0.97588226576476278 +-0.020264576333162268 0.31646031005662423 0.16553329734759822 -0.027854983399419025 -0.51835113536845123 0.85471410445952956 +0.5819467982766654 0.2985943714958097 0.15140878469787888 0.38373524114808172 0.71137378425269571 0.58880778169027503 +-0.036815868252604078 -0.59074950027369422 0.20006156809985098 -0.059077104634589615 -0.51330473456809222 0.85617062854198289 +-0.09211759303841309 0.30778552598919368 0.14666789469724095 -0.25472868309662761 -0.54508892678879739 0.79874361337045752 +0.016889664743034549 0.31017018681442587 0.15707442026819152 0.16108634535999011 -0.46353332608888004 0.87131397609790584 +0.56040518572054587 0.32329590295511557 0.125453069752544 0.12905551610475857 0.83591712269204332 0.53346718526371406 +-0.137582681464297 0.35248792507407062 0.16606087676672068 -0.35925495199506363 -0.59435019983184456 0.71950241099448098 +-0.43560667353682231 -0.59943757820251875 0.20857550866828284 0.15553814783583633 -0.73237567959323435 0.66289799253591464 +0.081929780727702767 0.31111694786649846 0.138998092244939 0.45521844636471487 -0.40433129016297709 0.7932795055240226 +-0.57370282492765079 -0.5939197637291328 0.21200393840382331 -0.1455529997227335 -0.91430590678594625 0.37796697354139636 +-0.20365940746682282 0.40784837595511503 0.15901387098013964 -0.61072515789561022 -0.40520118524411908 0.68031373717582899 +0.15583391796424861 0.39648894088150943 0.16275007678682235 0.55403650322754061 -0.42131142645804909 0.71801130564029647 +-0.25036469734899203 0.47906838219042336 0.13981672473624104 -0.78485909042454072 -0.20164077087818319 0.58594983377215359 +0.18917496521158775 0.51276398523256628 0.17533789354214899 0.66882991446782181 -0.090881720304628946 0.73783945301633025 +0.2142430016393303 0.61754323844271453 0.13690380667574467 0.77558330037578427 0.21009201722512774 0.59525783361202622 +0.18201817398414644 0.68591456068667567 0.13562423964011139 0.67026303301013979 0.45683255496739206 0.58485167632658208 +-0.20917608255260067 0.71016222464445355 0.12473922907075867 -0.65182858204032279 0.54164945670648057 0.53078749578798157 +-0.18199160808990555 0.72744733932469363 0.13434091349951258 -0.50604099293153126 0.6272786179673574 0.59198314918064343 +-0.1321788339868587 0.76189955486406846 0.13236933389876385 -0.37551505918912392 0.7381535405109434 0.56046212267498319 +-0.04853309944225026 0.7693490224482431 0.15352247327086654 -0.088947867466885974 0.75387466086514554 0.65096948667242083 +0.025287166116915089 0.77293216090816153 0.14946610605764321 0.10936774072356788 0.75403413613522552 0.6476659778248558 +0.023037823738000895 0.74387242308644685 0.17853940413025593 0.096957235144628173 0.65002023376985107 0.75370616969937121 +-0.08884463266803419 -0.62511897452303478 0.16631709862269717 -0.21097957028014505 -0.62243338025600814 0.7537004100221022 +-0.039302626934445681 -0.62485614789054567 0.17660990121877507 -0.077580630000351203 -0.61522406538677521 0.78452571354782086 +-0.019150790300348053 0.73327790546561489 0.19084045331081367 0.00026217217020259667 0.62780127182633161 0.77837362131497856 +0.026260624265926402 -0.61997925059150649 0.18218134143488363 0.023243813741399236 -0.60515483055118047 0.79576840612286648 +0.074296531449069295 -0.63371796308481365 0.16502227164311251 0.17044512769037007 -0.64376721135879456 0.74599747722491294 +-0.56253825119040335 -0.60744672217778417 0.17761291622316577 -0.11839136543244265 -0.97438135673533099 0.19121834702155943 +-0.083292334138243523 -0.59579096436374313 0.1904534718013613 -0.19282493240768406 -0.53904075425828202 0.81991073336713582 +-0.33156668929475719 -0.59302668154135441 0.17341393671931352 0.33467474269727765 -0.34914672973099103 0.87526531847129951 +-0.28210956970571721 -0.59139863565699458 0.15515247754879535 0.28058753152489568 -0.33853354966683985 0.89814568578974707 +0.12423419455101259 -0.60970746666976039 0.16950130102170424 0.26726866316027481 -0.58312506720185675 0.76715879561753686 +-0.65536310112589269 -0.57632939031691965 0.17659799541628515 -0.77993107834308484 -0.61417451262867351 0.12040424025724375 +-0.16323977175510476 -0.57798832213599061 0.17525881251560577 -0.33717398607790694 -0.52337041689621855 0.78255805524588007 +0.40515111137975168 -0.57496594730452899 0.1561215406810087 -0.16888112808639416 -0.38654951171304219 0.90667449482748519 +0.48690235173695751 -0.57794869557004036 0.16740926393993627 -0.094582799043407814 -0.5447742663850268 0.83323171615689862 +0.63153892069372908 -0.54886274460826368 0.19558686914703405 0.35968186658240497 -0.6019629264659454 0.71293028411784543 +0.35723546945410334 -0.55241391456957611 0.14989361225486952 -0.24875136093696418 -0.043390057888062654 0.96759498929483867 +0.45498 -0.55710499999999996 0.171347 -0.19987712406615402 -0.34875062699210563 0.91565393869499434 +-0.13342148678967131 0.71136235234520107 0.17848909933005747 -0.37816867870874193 0.51306267571350339 0.7705550864366445 +-0.30361311909160432 -0.56274708527187056 0.16994459833295261 0.41338378284535265 -0.085875892288199002 0.90649830623348215 +-0.22649252761068589 -0.52744996350134388 0.17374925027587151 -0.34228994497156651 -0.3771568305531473 0.86057557410053553 +0.45927649050209673 -0.51393373960737154 0.18014518463246287 -0.31376568446215936 -0.0014378926082791793 0.94949935635514759 +-0.29054350723079081 -0.51820535182407601 0.16481557993084545 0.10421410814485897 0.088929388652619165 0.99057103909686517 +0.21377746198323894 -0.50721439301481297 0.19289857211193656 0.44800392179010645 -0.40656452210042848 0.79623977257477818 +0.15425541921357369 0.67732190859005748 0.1675284943590577 0.54629124375938176 0.43178753030188788 0.71772237367078362 +-0.26201861608580573 -0.51111161522183435 0.16749883441496644 -0.22457547443740306 -0.07446358807948944 0.97160744662211374 +-0.33328948619813004 -0.48899191213742088 0.1669949469487973 0.45982534779458245 0.42702268510400121 0.7785963498065992 +-0.30728531324422548 -0.43930760286047477 0.15712239130308303 -0.48400643583948133 -0.18823968164754268 0.85457802003046734 +-0.36415656278685826 -0.45371970112765142 0.16497268694865158 0.48618714000040153 0.52793408201862846 0.69635312158514662 +0.2844221608687576 -0.42202673122529877 0.18222503203055451 0.61654859606280099 -0.26892715757532171 0.73996352113563468 +-0.40586345302753113 -0.42069591499022918 0.17034754895431703 0.6073623712836943 0.66074408490280512 0.44105351627053435 +0.61573375081835824 -0.43577234605904719 0.20715794604698284 0.79873507633353114 0.4410952349872696 0.40921543410041794 +0.59813535695066555 -0.38706813271147666 0.17340060428446336 0.72045136677291211 0.59410874417548787 0.35774939302431757 +-0.56923409838849526 -0.34376349834780884 0.17002186551760534 -0.79322358480972766 0.59502158313384446 0.12940502349792407 +-0.34734431240824842 -0.28855162954006641 0.15334633354935986 -0.75870151979026434 -0.10742496611202355 0.64251994562330417 +-0.21959647317171438 0.60440652130216321 0.1736416390759912 -0.64870764991193441 0.2135808266957881 0.73045302067530582 +-0.35473583862329738 -0.20899724933636482 0.15175733691370302 -0.76127301088343724 -0.024094087369064911 0.64798370184312348 +0.34449702157151191 -0.24433554767525667 0.16612726488959129 0.75652723254881371 -0.028625184362158607 0.65333540025951886 +0.32420120541635272 -0.14748711882863597 0.18686599952325689 0.69290338348874636 0.062042141883978962 0.71835623041795604 +-0.34662614896476546 -0.10811671245820609 0.15184536274412752 -0.76154622075700162 0.14560485921873911 0.63154301407158264 +0.33275964330024133 -0.035420500501649688 0.1518865044106428 0.76844435244161391 0.21168257720668712 0.60389052294908852 +0.18040648122752312 0.54889497503645757 0.18347457098651887 0.6182288503206218 0.046832806027436343 0.78460166767018702 +-0.28546769331925625 0.037939007095102895 0.16478383748742437 -0.63867510997959775 0.33848559147390589 0.69102938306349082 +-0.28099790446450718 0.087795368223337167 0.14303000777977054 -0.63875620527686128 0.38302644512764283 0.66729397760895837 +0.23620601802317365 0.11097004623381679 0.17355059038905449 0.51072903982709983 0.43270185060335442 0.74291652045281709 +0.62899107476185723 0.16177223807844165 0.18768991339366126 0.22229507284949074 -0.35938193124353257 0.90632749493905818 +-0.20855912023158885 0.16576910094026509 0.14959661433915467 -0.50169093459802694 0.55820154579754822 0.66084585223135495 +0.49279245356104423 0.15226781287050861 0.15897322985034962 -0.22189380139986023 -0.23619013666511648 0.94603243086187738 +-0.16391661954101761 0.19369142302313297 0.15684954826356504 -0.39685543220246927 0.56923792883954272 0.72005134976740315 +0.45092227634685045 0.1723417150238104 0.15168410894820369 -0.28035916195913185 -0.093273040532691961 0.95535275171810763 +-0.19835605548147606 0.52332538674333529 0.19625488547070119 -0.53161761880793246 -0.050569083849288501 0.84547352124807984 +0.66182951668892565 0.16267585574382504 0.16956237652806283 0.78634176088257257 -0.058034557426112951 0.615059855003113 +0.15156905229303447 0.4744065781823904 0.19641126925745558 0.54201240675531959 -0.20636244585887437 0.81463924031588919 +-0.12691688578576055 0.2207645435658534 0.15128058482374401 -0.39481040830123559 0.540474585079873 0.74297507655354822 +0.12972432334092898 0.19823387932278536 0.16882483346836707 0.30370158982275058 0.59208027951658737 0.74646251543308817 +-0.22011290748660273 0.51253931902849792 0.18000841475028145 -0.63878413119217625 -0.10423862186752483 0.76229203291666092 +-0.061760513549877431 0.24352192308932652 0.1541157302474363 -0.23219927091976766 0.47260630816467247 0.85013338722066845 +0.084357581989162211 0.21700567693233075 0.16926783336019968 0.18402583464928049 0.58679881889709884 0.7885439989769788 +0.027129828588764338 0.24874164609687011 0.15522095495585209 0.074224686591607789 0.44365699007306203 0.89311766921256719 +0.47124577191249384 0.23995602901451563 0.14944400483270054 -0.33777742192040788 0.30769878358400282 0.88950990540956187 +0.54519023720376858 0.29452564825018912 0.15445762750932279 -0.20088214152384373 0.60603715660450064 0.7696527334009321 +-0.20615534357494125 0.44231114989524872 0.17377927408495478 -0.62283657895129141 -0.27887528097509051 0.73096044597592003 +0.14635200000000001 0.424319 0.182999 0.51338215453698688 -0.34057006245500937 0.78768699110900164 +0.11007984786780076 0.45083796015704453 0.21312572852518402 0.40469613069002774 -0.27776895842715166 0.87124362123278432 +0.576488942211004 0.27370166960933789 0.1744248019623974 0.061707000648684646 0.51250837661577875 0.8564621474236922 +0.058111097829030164 0.36458206312123698 0.1913280904571748 0.23723828399635249 -0.54714778127075969 0.802712465367862 +-0.16938372550786873 0.41457820834281967 0.18810444817899527 -0.48822005924886269 -0.36878004413269522 0.79097563350366518 +0.088962221765229776 0.37747189628652339 0.18911272641857574 0.31897892102906322 -0.50133873511575699 0.8043083492117109 +-0.14668722404094175 0.39283521576332181 0.1898321602113052 -0.38893491950863357 -0.4487749265871307 0.80456863824879987 +0.11764196093851334 0.39685868419408987 0.18708119323895733 0.41361104546554106 -0.42858769667811147 0.80326738345650095 +0.17628541952483451 0.45064917831936585 0.17158221199506468 0.62359771542122877 -0.26341716330169257 0.73602804797066923 +-0.23115090853640469 0.47958477538673239 0.16181513746989867 -0.6984616296765942 -0.1996079362853215 0.68724669780322056 +-0.24560956160736641 0.53331867086961116 0.15746212235502352 -0.76625457058819701 -0.006571361242989876 0.64250350214151508 +-0.24432236763187731 0.58817228950859846 0.1521277122622004 -0.77429632090734124 0.16187593023880892 0.6117690664283999 +-0.21650772253016587 0.65213984580493101 0.15698086306271103 -0.64769461601017231 0.36801249329429259 0.66712704125282873 +0.17852082606531555 0.62358387218379518 0.1740840676426319 0.6352303010471726 0.23559136606538186 0.73551286383513759 +0.18795667080441761 0.64803787575296834 0.15402424225358069 0.67491668461436227 0.33585919330209241 0.65702821180191751 +-0.18435238654711039 0.6992029273501057 0.15691216217615309 -0.5274758729321799 0.47875583604389815 0.70182765186927698 +-0.13458329445823711 0.73239820750823437 0.1611855133571013 -0.38011016596165509 0.61684472806080259 0.68921610776025655 +0.12382031813158451 0.71881111195142067 0.15929501702908924 0.45071251117753575 0.56022767722804756 0.69498430337361305 +-0.097938245830415327 0.75300717535609873 0.16069194778109575 -0.26946563831067749 0.69370395191758072 0.66795441226460206 +0.068333508220155131 0.74109123698660406 0.17160700546911384 0.26406208540768733 0.62338614087392052 0.7359761778865288 +0.057679749302320227 0.76353311982418048 0.15240263058512091 0.20874815892731322 0.74076183619453195 0.63851085204729507 +-0.53117644252581009 -0.60270498027179109 0.20785230079267408 -0.020380251730273666 -0.9305201098688094 0.36567331112503898 +-0.075915979128715019 0.3591155033449801 0.19148626369136484 -0.14851522581498403 -0.56091375145370848 0.81444397666828594 +-0.48416464606910248 -0.60729312442212691 0.19500631280270225 -0.05494720986613269 -0.95273536287147531 0.29879111844578843 +-0.43690842920002093 -0.61502413493809416 0.18547856129662377 0.021452880022231145 -0.90072490946696038 0.43385989835946792 +-0.024269135144116438 0.35203151895412232 0.19254613890233394 -0.011194126151777411 -0.59073428865084943 0.80678850497009014 +0.061204421265908859 -0.60778575256168099 0.18728452055423284 0.13213253479849218 -0.55384262376112314 0.82207015598008426 +-0.6298376770805485 -0.58091199215019773 0.21914995902646406 -0.38362333297500106 -0.85814292644955215 0.34120940224699287 +-0.35925818153524514 -0.57591291644518627 0.19371271015539038 0.40015293216444436 -0.31645345914210504 0.86007839123953911 +0.082566784852234121 -0.57393120901649675 0.20490391945417369 0.16481190983744784 -0.51326080080314784 0.84225909596432635 +-0.66127692141769578 -0.55300363033886046 0.19047456453539707 -0.99281169041058404 -0.041475024728101877 0.11227096556047754 +-0.34678472425010848 -0.54885249948685899 0.19247027768318301 0.49654987440287618 -0.032735289823454521 0.86739069803097513 +0.49867859052525709 -0.55736098275890811 0.18083112667028756 -0.16517728837235407 -0.41013473540103057 0.89694256350308343 +0.57121701142575976 -0.54833860408505353 0.19660039542179453 -0.13937485747860068 -0.49614770161281857 0.85697847539313221 +0.59277280582071556 -0.56623098190458776 0.18514961833796539 -0.0013640139563188363 -0.68113852140436404 0.73215329960671749 +-0.6545599266612786 -0.5267477582893576 0.19463135158190362 -0.93931227221075653 0.32154658677410414 0.11958364356461604 +0.53698851329502018 0.25776442881539452 0.17204564103705344 -0.33209947611571561 0.32146291352091666 0.88677592050884579 +-0.32340935929249259 -0.52265598693677573 0.17548033738615759 0.44474660420729151 0.2075992496944177 0.87126517752771315 +0.42549023255281204 -0.50369395156240504 0.16793112327679949 -0.36837712180573545 0.20429625209943419 0.90695167319336634 +-0.36800621736606809 -0.48984035977630469 0.19514928334815268 0.57826673008067209 0.36168809253161593 0.73129290479441167 +0.47205263711683676 -0.47524676248839903 0.18014916179012153 -0.35659247587923881 0.24745964355818023 0.90089152008239759 +0.24354597233891334 -0.44718740916848337 0.2020767200598606 0.52077688627390062 -0.30453623308240646 0.79752687569939551 +0.63575392870316605 -0.49131123910218832 0.19993616244795887 0.94542489214034353 0.15925981079031312 0.28426763091926877 +0.45638733743955506 -0.45124626077369889 0.16056897528508776 -0.45480926987399961 0.49681227855214366 0.73913874740572671 +-0.26887223473323496 -0.40586475289001134 0.19512549328097287 -0.54061457801879576 -0.23874342644462157 0.8066829949633505 +0.54587632845179856 -0.38230227888362511 0.17233099360639614 -0.30882470213587115 0.68214036069019635 0.66280602869024918 +0.29024918650871612 -0.3575662856119356 0.19674634978793054 0.60978011960985357 -0.19598828512736519 0.76795624733537216 +-0.55541726106018563 -0.31868938632218557 0.11428151041720599 -0.45974097424723592 0.88382705013496998 0.08653312688167257 +-0.32865897229534241 -0.27253854997963534 0.17537621318858587 -0.6789557357040984 -0.085106131160312376 0.72922976858698685 +0.32068792241869504 -0.28815660896780304 0.18695855153540947 0.67528327286864076 -0.11941781236449782 0.72782682519531694 +-0.33859731299494716 -0.13854158095124891 0.16610944122678845 -0.71234626138859158 0.072190898981761009 0.69810549202101368 +-0.31532475567971335 -0.028621106663967749 0.16524339708998895 -0.69749423295333002 0.21733926084568239 0.68283632057170052 +0.32025628647840199 -0.10768294397172706 0.18532541809947964 0.67078713602042961 0.13240784119321222 0.72973473381775023 +0.30170155584258312 -0.038273271202097559 0.18467939412564424 0.64837397271392982 0.21342785071063611 0.73079391352705891 +0.55174523591922986 0.22078341127816706 0.18333359099287158 -0.27747459765285504 0.051956850142539951 0.95932702108334877 +0.2816431480130227 0.0015518490220709502 0.188058421593925 0.60692891683063932 0.27756934086083662 0.74470970916785251 +-0.2490612337491932 0.078295192449377993 0.17586803923849875 -0.55591435277738743 0.37295779694748604 0.74287395570996861 +-0.20096912609641238 0.12653990027875262 0.18251188205253488 -0.4465532218307699 0.46194235348543428 0.76628942451850224 +0.076488684658481854 0.18640365120899266 0.19238881075038966 0.13555659479337531 0.53699222110233025 0.83262462375527357 +0.21281681765174065 0.13501872311748642 0.17302480821296157 0.45478051564419503 0.50002418001088655 0.73698745036455038 +0.15324150925470348 0.16408985017511679 0.18307566008803838 0.33948533960881089 0.50466573101308976 0.79376457727194782 +0.51755369729824507 0.17638564713693414 0.17051627424174254 -0.21339664573972275 -0.18337490358624592 0.95960174881133387 +0.60061964535491175 0.17192902447783351 0.18806391333081293 -0.12987066053905674 -0.31290033895498087 0.94086502188837229 +-0.10485291581478892 0.19159835703709785 0.18107296265649928 -0.23475658227032187 0.54456476281803368 0.80519473804645314 +3 4 0 2 +3 434 6 19 +3 4 1 0 +3 6 21 19 +3 33 3 2 +3 3 4 2 +3 5 1 4 +3 177 21 6 +3 3 8 4 +3 8 5 4 +3 6 434 31 +3 434 176 31 +3 7 9 5 +3 182 177 6 +3 6 31 182 +3 7 5 8 +3 33 36 41 +3 38 41 36 +3 41 10 33 +3 3 33 10 +3 3 10 15 +3 12 19 166 +3 7 8 11 +3 19 12 434 +3 702 166 19 +3 8 14 11 +3 45 10 41 +3 10 45 15 +3 15 13 3 +3 8 3 13 +3 14 8 13 +3 19 21 702 +3 11 14 46 +3 45 47 15 +3 17 13 15 +3 17 14 13 +3 702 21 441 +3 46 14 17 +3 15 47 16 +3 17 15 16 +3 17 16 53 +3 60 22 18 +3 18 25 23 +3 23 20 18 +3 441 21 177 +3 20 26 24 +3 64 27 22 +3 25 18 22 +3 26 20 23 +3 22 27 29 +3 25 22 29 +3 0 23 25 +3 29 2 25 +3 25 2 0 +3 26 23 0 +3 0 1 26 +3 1 24 26 +3 29 27 30 +3 27 28 30 +3 33 2 29 +3 176 451 31 +3 24 1 5 +3 177 182 181 +3 5 32 24 +3 33 29 30 +3 32 5 9 +3 9 34 32 +3 182 31 183 +3 28 66 30 +3 451 183 31 +3 33 30 66 +3 66 35 33 +3 36 33 35 +3 38 36 35 +3 9 43 34 +3 37 34 43 +3 43 40 37 +3 71 38 35 +3 9 7 43 +3 43 7 11 +3 38 71 75 +3 44 40 43 +3 41 38 75 +3 78 41 75 +3 278 39 69 +3 43 11 46 +3 46 44 43 +3 45 41 78 +3 46 49 44 +3 78 48 45 +3 45 48 47 +3 17 52 46 +3 46 52 49 +3 69 42 73 +3 50 47 48 +3 16 47 50 +3 53 16 50 +3 53 51 17 +3 17 51 52 +3 54 49 52 +3 105 49 54 +3 83 53 50 +3 51 53 55 +3 52 51 55 +3 55 54 52 +3 83 55 53 +3 57 60 89 +3 58 56 89 +3 60 57 64 +3 89 60 18 +3 58 89 18 +3 18 20 58 +3 58 20 59 +3 22 60 64 +3 62 59 20 +3 64 61 63 +3 24 62 20 +3 24 65 62 +3 27 64 63 +3 63 94 27 +3 69 101 278 +3 32 65 24 +3 94 97 28 +3 27 94 28 +3 65 32 67 +3 66 28 97 +3 34 67 32 +3 67 34 37 +3 68 67 37 +3 37 72 68 +3 40 72 37 +3 70 71 35 +3 73 85 107 +3 74 75 71 +3 40 44 76 +3 74 78 75 +3 44 49 105 +3 76 44 105 +3 78 74 79 +3 78 79 48 +3 48 79 80 +3 80 50 48 +3 54 81 105 +3 80 82 50 +3 50 82 83 +3 84 83 82 +3 69 73 101 +3 73 127 101 +3 55 86 54 +3 86 81 54 +3 55 83 84 +3 107 127 73 +3 87 55 84 +3 55 87 86 +3 57 88 113 +3 88 57 89 +3 90 111 56 +3 57 113 91 +3 58 90 56 +3 59 90 58 +3 61 64 91 +3 57 91 64 +3 59 62 93 +3 116 63 61 +3 65 93 62 +3 94 63 116 +3 95 93 65 +3 118 97 94 +3 67 95 65 +3 67 96 95 +3 97 98 66 +3 67 68 96 +3 68 100 96 +3 66 98 35 +3 70 35 98 +3 72 100 68 +3 102 100 72 +3 72 40 102 +3 74 71 70 +3 40 76 102 +3 149 130 278 +3 278 101 149 +3 124 103 70 +3 103 74 70 +3 76 77 102 +3 74 103 104 +3 76 105 129 +3 74 104 79 +3 104 128 131 +3 131 79 104 +3 80 79 131 +3 105 108 129 +3 106 80 131 +3 105 81 108 +3 106 82 80 +3 106 109 82 +3 82 109 84 +3 81 86 110 +3 81 110 108 +3 134 110 86 +3 84 109 132 +3 86 87 136 +3 136 134 86 +3 87 84 133 +3 87 185 136 +3 113 88 159 +3 159 88 111 +3 56 111 88 +3 149 101 151 +3 89 56 88 +3 111 90 112 +3 114 91 163 +3 113 163 91 +3 151 101 127 +3 59 112 90 +3 112 59 92 +3 61 91 114 +3 107 326 127 +3 92 59 115 +3 61 114 116 +3 346 326 107 +3 93 115 59 +3 95 115 93 +3 167 118 116 +3 118 94 116 +3 118 120 97 +3 119 96 99 +3 97 120 98 +3 100 99 96 +3 98 120 121 +3 70 98 121 +3 100 123 99 +3 124 70 121 +3 124 121 122 +3 123 100 102 +3 123 102 172 +3 102 77 172 +3 125 103 124 +3 77 76 129 +3 104 103 125 +3 129 126 77 +3 125 173 225 +3 225 128 125 +3 128 104 125 +3 131 128 174 +3 131 175 106 +3 108 110 184 +3 175 179 106 +3 109 106 179 +3 184 110 134 +3 132 109 179 +3 84 132 133 +3 185 87 133 +3 186 133 132 +3 133 186 135 +3 185 133 135 +3 192 194 139 +3 139 137 192 +3 141 194 197 +3 139 194 141 +3 363 151 127 +3 326 363 127 +3 137 139 143 +3 143 138 137 +3 139 141 144 +3 339 130 149 +3 142 138 143 +3 144 143 139 +3 144 141 140 +3 143 147 142 +3 147 148 142 +3 150 142 148 +3 144 146 143 +3 146 147 143 +3 140 145 144 +3 146 144 145 +3 154 146 145 +3 153 150 148 +3 147 146 154 +3 154 152 147 +3 148 147 152 +3 152 156 148 +3 156 153 148 +3 154 155 157 +3 157 152 154 +3 157 156 152 +3 159 207 113 +3 158 159 111 +3 111 160 158 +3 209 163 113 +3 161 262 160 +3 160 111 112 +3 161 160 112 +3 92 161 112 +3 164 114 162 +3 163 162 114 +3 165 92 115 +3 116 114 164 +3 167 116 164 +3 165 115 95 +3 95 117 165 +3 117 95 119 +3 387 350 149 +3 149 374 387 +3 95 96 119 +3 169 120 118 +3 118 213 169 +3 374 149 377 +3 149 151 377 +3 169 170 120 +3 119 99 171 +3 120 170 121 +3 99 123 171 +3 377 151 363 +3 122 121 170 +3 124 122 125 +3 173 125 122 +3 172 77 126 +3 225 174 128 +3 129 108 178 +3 275 175 174 +3 175 131 174 +3 227 129 178 +3 228 175 275 +3 108 184 178 +3 184 230 178 +3 179 175 229 +3 363 409 377 +3 229 180 179 +3 180 132 179 +3 186 132 180 +3 134 136 187 +3 232 134 187 +3 180 231 186 +3 187 136 185 +3 186 281 135 +3 12 414 434 +3 188 135 281 +3 185 135 188 +3 189 185 188 +3 189 187 185 +3 235 191 192 +3 192 193 190 +3 234 197 191 +3 197 194 191 +3 194 192 191 +3 434 1336 439 +3 192 137 193 +3 195 193 138 +3 137 138 193 +3 439 176 434 +3 197 196 199 +3 141 197 199 +3 195 138 198 +3 196 240 199 +3 142 198 138 +3 142 150 198 +3 201 198 150 +3 202 199 240 +3 199 202 140 +3 141 199 140 +3 150 244 201 +3 140 246 203 +3 203 145 140 +3 722 717 177 +3 153 156 251 +3 177 181 722 +3 154 145 204 +3 145 203 204 +3 154 204 155 +3 181 724 722 +3 156 157 257 +3 257 251 156 +3 204 203 254 +3 157 206 257 +3 204 254 256 +3 458 181 182 +3 728 458 183 +3 458 182 183 +3 256 155 204 +3 155 255 157 +3 206 157 255 +3 259 158 160 +3 262 259 160 +3 209 113 207 +3 205 488 208 +3 262 161 210 +3 209 162 163 +3 92 210 161 +3 165 210 92 +3 212 211 165 +3 167 164 265 +3 165 117 212 +3 167 265 213 +3 213 118 167 +3 212 117 168 +3 119 168 117 +3 169 213 268 +3 168 119 215 +3 214 170 169 +3 119 171 215 +3 170 214 216 +3 217 171 123 +3 170 216 218 +3 123 219 217 +3 218 122 170 +3 219 123 221 +3 221 220 219 +3 172 221 123 +3 122 218 222 +3 172 272 221 +3 222 173 122 +3 173 222 223 +3 225 173 223 +3 225 223 273 +3 126 129 226 +3 275 174 225 +3 226 129 227 +3 276 227 230 +3 227 178 230 +3 229 175 228 +3 184 134 232 +3 231 229 228 +3 180 229 231 +3 249 205 208 +3 208 237 249 +3 231 279 186 +3 186 279 281 +3 232 187 189 +3 235 282 191 +3 208 200 237 +3 250 237 200 +3 200 224 250 +3 236 233 190 +3 191 282 234 +3 190 235 192 +3 190 193 236 +3 236 193 195 +3 234 283 196 +3 196 197 234 +3 236 195 238 +3 240 196 285 +3 238 195 198 +3 39 205 249 +3 239 238 201 +3 201 238 198 +3 241 239 201 +3 240 242 202 +3 241 201 244 +3 244 289 241 +3 140 202 242 +3 242 243 246 +3 246 140 242 +3 244 150 153 +3 153 247 244 +3 246 243 245 +3 245 248 246 +3 248 203 246 +3 251 252 247 +3 153 251 247 +3 203 248 254 +3 250 224 253 +3 254 292 256 +3 255 155 256 +3 257 206 258 +3 295 256 292 +3 295 255 256 +3 295 258 255 +3 258 206 255 +3 158 259 344 +3 344 260 207 +3 344 207 159 +3 159 158 344 +3 207 260 209 +3 262 210 301 +3 263 351 162 +3 209 263 162 +3 265 164 351 +3 164 162 351 +3 42 69 249 +3 165 264 210 +3 211 264 165 +3 249 237 42 +3 266 307 213 +3 265 266 213 +3 73 42 237 +3 269 267 212 +3 307 268 213 +3 250 73 237 +3 168 269 212 +3 168 215 269 +3 214 169 268 +3 215 171 271 +3 270 250 253 +3 271 171 217 +3 217 219 220 +3 218 313 222 +3 222 313 315 +3 272 316 221 +3 39 298 538 +3 222 315 223 +3 272 172 126 +3 126 274 272 +3 274 126 226 +3 273 275 225 +3 227 319 226 +3 274 226 319 +3 249 69 39 +3 275 273 318 +3 227 276 319 +3 228 275 318 +3 250 270 73 +3 321 276 230 +3 322 231 228 +3 232 277 184 +3 230 184 277 +3 302 270 253 +3 302 253 261 +3 230 277 321 +3 189 325 232 +3 279 280 281 +3 281 324 188 +3 327 188 324 +3 189 188 327 +3 235 190 381 +3 190 233 382 +3 283 234 330 +3 282 330 234 +3 233 236 331 +3 270 85 73 +3 236 238 331 +3 283 285 196 +3 238 239 284 +3 285 333 240 +3 286 240 333 +3 287 239 241 +3 241 290 287 +3 602 302 261 +3 242 240 286 +3 289 290 241 +3 288 242 286 +3 243 242 288 +3 288 335 243 +3 289 244 247 +3 299 298 39 +3 245 243 335 +3 289 247 252 +3 252 251 293 +3 291 252 293 +3 254 248 245 +3 293 251 257 +3 302 85 270 +3 254 245 393 +3 257 294 293 +3 254 393 338 +3 254 338 292 +3 258 294 257 +3 295 292 341 +3 296 258 295 +3 296 294 258 +3 345 344 259 +3 344 297 260 +3 262 300 259 +3 297 349 260 +3 39 278 299 +3 209 260 349 +3 262 301 300 +3 263 209 349 +3 264 303 301 +3 210 264 301 +3 351 304 265 +3 211 212 306 +3 305 266 265 +3 212 267 306 +3 268 356 214 +3 215 308 269 +3 215 309 308 +3 309 215 311 +3 214 419 310 +3 271 311 215 +3 216 214 310 +3 311 271 217 +3 312 311 217 +3 218 216 310 +3 220 312 217 +3 313 218 310 +3 220 221 314 +3 314 221 316 +3 361 223 315 +3 364 316 272 +3 272 274 364 +3 223 361 317 +3 273 223 317 +3 367 274 319 +3 317 366 273 +3 273 366 318 +3 276 320 319 +3 318 368 228 +3 276 321 320 +3 228 368 427 +3 107 85 302 +3 427 322 228 +3 277 232 323 +3 323 321 277 +3 279 231 370 +3 231 322 370 +3 325 323 232 +3 279 370 280 +3 280 324 281 +3 348 298 339 +3 298 299 339 +3 130 339 299 +3 299 278 130 +3 327 376 189 +3 189 376 325 +3 346 107 302 +3 381 328 235 +3 235 328 282 +3 382 381 190 +3 302 602 346 +3 233 446 382 +3 283 330 329 +3 284 383 331 +3 331 238 284 +3 333 285 332 +3 285 283 332 +3 239 334 284 +3 334 239 287 +3 454 286 333 +3 336 290 289 +3 289 252 336 +3 335 392 337 +3 337 245 335 +3 336 252 291 +3 245 337 393 +3 294 340 293 +3 340 294 296 +3 338 625 292 +3 625 341 292 +3 342 295 341 +3 295 342 343 +3 343 296 295 +3 344 396 297 +3 300 397 345 +3 259 300 345 +3 347 300 301 +3 301 303 347 +3 264 352 303 +3 353 352 264 +3 264 211 353 +3 265 304 305 +3 306 353 211 +3 413 307 305 +3 305 307 266 +3 306 267 354 +3 267 355 354 +3 269 355 267 +3 269 308 355 +3 268 307 356 +3 419 214 356 +3 312 220 359 +3 358 313 310 +3 357 358 310 +3 365 363 326 +3 346 365 326 +3 359 220 314 +3 362 359 314 +3 313 358 360 +3 314 316 362 +3 315 313 360 +3 360 361 315 +3 364 274 367 +3 367 511 364 +3 512 318 366 +3 367 319 320 +3 426 367 320 +3 321 429 320 +3 322 427 370 +3 371 378 369 +3 149 350 339 +3 378 372 369 +3 325 376 438 +3 323 325 438 +3 371 432 373 +3 378 371 373 +3 324 280 375 +3 375 327 324 +3 375 443 379 +3 380 378 373 +3 443 328 381 +3 379 443 381 +3 348 339 629 +3 629 339 350 +3 381 382 379 +3 447 380 373 +3 282 328 534 +3 446 233 449 +3 329 330 534 +3 534 330 282 +3 233 331 449 +3 331 383 449 +3 283 329 384 +3 384 332 283 +3 333 332 385 +3 365 346 618 +3 284 334 386 +3 618 346 602 +3 454 333 385 +3 386 334 287 +3 388 386 287 +3 287 391 388 +3 629 350 387 +3 286 454 389 +3 287 290 391 +3 390 288 286 +3 286 389 390 +3 409 363 365 +3 391 290 336 +3 336 456 391 +3 390 335 288 +3 392 335 390 +3 392 457 337 +3 336 291 460 +3 291 459 460 +3 337 457 552 +3 293 394 291 +3 394 459 291 +3 393 337 552 +3 340 394 293 +3 387 638 629 +3 338 393 461 +3 338 553 625 +3 296 395 340 +3 342 341 625 +3 296 343 395 +3 344 465 464 +3 417 387 374 +3 344 345 465 +3 297 396 467 +3 464 396 344 +3 467 469 349 +3 297 467 349 +3 640 409 365 +3 618 640 365 +3 468 397 347 +3 397 300 347 +3 351 263 471 +3 469 471 263 +3 263 349 469 +3 398 347 303 +3 303 399 398 +3 352 399 303 +3 400 399 352 +3 400 352 353 +3 479 401 403 +3 404 479 403 +3 402 305 304 +3 405 403 486 +3 405 404 403 +3 417 374 407 +3 405 406 404 +3 404 406 484 +3 377 407 374 +3 406 408 484 +3 406 405 411 +3 406 411 412 +3 408 406 412 +3 489 413 305 +3 407 377 409 +3 405 410 411 +3 411 410 412 +3 408 412 416 +3 416 415 408 +3 418 412 410 +3 410 498 418 +3 416 412 418 +3 413 573 356 +3 356 307 413 +3 418 499 416 +3 499 579 416 +3 416 579 501 +3 308 309 422 +3 419 420 421 +3 310 419 421 +3 422 309 311 +3 311 312 422 +3 638 387 681 +3 387 417 681 +3 421 357 310 +3 359 423 312 +3 424 358 357 +3 424 360 358 +3 362 316 425 +3 316 364 425 +3 511 508 364 +3 361 509 317 +3 366 317 509 +3 509 510 366 +3 510 512 366 +3 511 367 426 +3 368 318 512 +3 426 320 429 +3 512 521 368 +3 427 368 521 +3 430 428 515 +3 430 515 517 +3 428 430 372 +3 372 431 428 +3 321 323 435 +3 673 432 524 +3 522 524 432 +3 371 522 432 +3 517 522 371 +3 369 430 517 +3 517 371 369 +3 430 369 372 +3 372 433 431 +3 427 603 525 +3 525 370 427 +3 323 438 435 +3 432 673 373 +3 433 372 378 +3 370 529 280 +3 280 529 436 +3 280 436 375 +3 376 327 375 +3 376 375 437 +3 376 437 438 +3 688 669 407 +3 407 409 688 +3 409 640 688 +3 440 373 673 +3 378 380 433 +3 380 445 433 +3 433 445 442 +3 436 529 532 +3 443 436 532 +3 443 375 436 +3 967 414 12 +3 375 379 444 +3 444 437 375 +3 532 534 443 +3 328 443 534 +3 446 444 379 +3 379 382 446 +3 373 440 447 +3 681 417 407 +3 407 669 681 +3 445 380 447 +3 450 445 447 +3 448 329 534 +3 384 329 448 +3 452 383 284 +3 284 453 452 +3 332 384 385 +3 384 542 385 +3 386 453 284 +3 454 546 389 +3 548 389 546 +3 390 389 548 +3 166 657 967 +3 967 12 166 +3 455 390 548 +3 392 390 455 +3 456 336 460 +3 393 552 461 +3 338 461 553 +3 625 556 342 +3 462 342 556 +3 343 342 462 +3 343 462 463 +3 343 463 395 +3 467 396 464 +3 559 465 345 +3 466 559 345 +3 345 397 466 +3 347 398 468 +3 351 471 472 +3 398 399 473 +3 472 304 351 +3 400 473 399 +3 473 400 474 +3 434 414 1336 +3 474 477 475 +3 994 657 166 +3 475 476 474 +3 400 477 474 +3 485 475 477 +3 485 482 475 +3 702 994 166 +3 476 475 482 +3 478 476 482 +3 702 441 1378 +3 304 472 402 +3 400 353 477 +3 353 481 477 +3 478 482 486 +3 478 486 401 +3 441 710 1378 +3 403 401 486 +3 478 401 479 +3 353 306 481 +3 477 481 485 +3 485 492 493 +3 482 485 493 +3 177 717 710 +3 441 177 710 +3 176 439 1068 +3 486 482 493 +3 404 483 479 +3 484 483 404 +3 489 305 402 +3 485 481 492 +3 490 486 493 +3 451 176 1068 +3 486 490 405 +3 408 487 484 +3 408 415 487 +3 306 491 481 +3 491 492 481 +3 493 494 490 +3 490 494 405 +3 306 354 491 +3 405 494 496 +3 496 410 405 +3 1438 1077 451 +3 1077 183 451 +3 491 354 495 +3 181 458 1444 +3 1444 724 181 +3 572 496 494 +3 497 415 416 +3 355 495 354 +3 574 496 572 +3 501 497 416 +3 496 574 498 +3 728 183 1077 +3 410 496 498 +3 577 498 574 +3 499 418 498 +3 502 1223 488 +3 499 498 577 +3 653 499 577 +3 356 573 419 +3 573 503 419 +3 488 841 845 +3 355 308 500 +3 308 422 500 +3 208 488 845 +3 503 420 419 +3 504 421 420 +3 312 423 422 +3 208 845 480 +3 357 421 504 +3 423 359 505 +3 581 424 357 +3 359 362 505 +3 362 506 505 +3 360 424 661 +3 362 425 506 +3 661 507 360 +3 507 361 360 +3 364 508 425 +3 596 521 512 +3 597 426 429 +3 516 518 513 +3 518 520 513 +3 515 428 516 +3 428 518 516 +3 523 520 518 +3 600 427 521 +3 518 428 523 +3 520 523 601 +3 200 208 480 +3 480 514 200 +3 429 321 526 +3 428 431 523 +3 442 523 431 +3 442 601 523 +3 603 427 600 +3 433 442 431 +3 321 435 526 +3 435 438 531 +3 531 526 435 +3 502 205 519 +3 529 370 525 +3 525 606 529 +3 530 438 437 +3 438 530 531 +3 673 533 440 +3 527 442 445 +3 205 502 488 +3 532 529 606 +3 444 530 437 +3 445 450 527 +3 536 527 450 +3 448 534 532 +3 444 446 535 +3 440 533 611 +3 446 449 535 +3 535 449 537 +3 611 539 440 +3 539 447 440 +3 447 539 541 +3 450 447 541 +3 449 383 537 +3 383 452 537 +3 448 613 384 +3 545 453 386 +3 454 385 544 +3 386 388 545 +3 547 545 388 +3 454 544 546 +3 388 391 547 +3 391 549 547 +3 549 391 550 +3 391 456 550 +3 456 551 550 +3 456 460 622 +3 552 687 461 +3 394 340 554 +3 689 461 687 +3 514 224 200 +3 553 461 689 +3 340 395 555 +3 555 554 340 +3 557 395 463 +3 557 555 395 +3 558 560 464 +3 558 464 465 +3 559 558 465 +3 467 560 561 +3 560 467 464 +3 397 468 466 +3 469 467 561 +3 562 468 398 +3 398 470 562 +3 819 637 471 +3 563 470 473 +3 470 398 473 +3 637 641 472 +3 471 637 472 +3 253 224 514 +3 528 253 514 +3 563 473 474 +3 563 474 565 +3 565 474 476 +3 565 476 566 +3 472 641 567 +3 478 642 566 +3 566 476 478 +3 479 569 642 +3 642 478 479 +3 567 402 472 +3 479 483 569 +3 519 205 39 +3 569 483 484 +3 644 569 484 +3 484 487 644 +3 646 489 402 +3 402 567 646 +3 487 415 497 +3 492 491 570 +3 493 492 570 +3 494 493 571 +3 570 571 493 +3 413 489 647 +3 495 570 491 +3 571 572 494 +3 538 519 39 +3 261 253 528 +3 528 540 261 +3 413 647 573 +3 572 718 574 +3 495 355 500 +3 575 577 574 +3 715 503 573 +3 579 720 501 +3 578 500 422 +3 579 499 653 +3 420 503 504 +3 422 580 578 +3 423 580 422 +3 581 357 504 +3 661 424 581 +3 505 506 582 +3 425 584 506 +3 582 506 584 +3 661 583 507 +3 584 425 508 +3 361 507 730 +3 585 509 361 +3 538 298 543 +3 361 730 585 +3 509 585 590 +3 568 602 261 +3 261 540 568 +3 564 568 540 +3 508 511 586 +3 590 510 509 +3 664 589 593 +3 590 664 593 +3 426 597 511 +3 597 586 511 +3 592 593 589 +3 512 510 590 +3 513 588 587 +3 587 516 513 +3 589 588 513 +3 592 589 513 +3 590 593 595 +3 576 908 543 +3 595 596 512 +3 512 590 595 +3 298 576 543 +3 591 515 516 +3 516 587 591 +3 520 592 513 +3 595 593 592 +3 591 594 515 +3 517 515 594 +3 592 520 601 +3 595 592 601 +3 598 596 595 +3 598 599 596 +3 600 521 596 +3 599 600 596 +3 429 604 597 +3 667 670 524 +3 524 522 667 +3 667 522 594 +3 522 517 594 +3 601 598 595 +3 604 429 526 +3 670 673 524 +3 605 598 601 +3 601 442 527 +3 605 601 527 +3 527 536 605 +3 603 746 525 +3 608 526 531 +3 673 998 533 +3 525 746 606 +3 531 530 607 +3 564 944 568 +3 608 531 607 +3 606 676 532 +3 530 444 609 +3 609 607 530 +3 613 448 676 +3 676 448 532 +3 535 609 444 +3 610 609 535 +3 602 568 944 +3 612 536 450 +3 537 610 535 +3 537 614 610 +3 450 541 612 +3 452 614 537 +3 539 611 1013 +3 895 541 539 +3 542 384 613 +3 615 614 452 +3 539 1013 895 +3 542 679 616 +3 615 452 453 +3 453 545 615 +3 385 542 616 +3 348 951 576 +3 616 544 385 +3 576 298 348 +3 546 544 682 +3 548 546 683 +3 547 549 684 +3 617 455 548 +3 548 683 617 +3 551 620 550 +3 617 685 455 +3 455 685 760 +3 551 456 622 +3 760 621 455 +3 392 455 621 +3 392 621 686 +3 457 392 686 +3 460 459 623 +3 622 460 623 +3 552 457 686 +3 623 459 394 +3 687 552 686 +3 624 623 394 +3 394 554 624 +3 689 691 553 +3 553 691 692 +3 625 553 692 +3 625 692 556 +3 626 556 692 +3 630 557 463 +3 462 556 626 +3 462 626 628 +3 462 628 463 +3 630 463 628 +3 631 466 468 +3 468 562 631 +3 634 470 635 +3 633 632 471 +3 632 819 471 +3 469 561 633 +3 471 469 633 +3 470 634 562 +3 563 635 470 +3 563 636 635 +3 819 820 637 +3 565 639 636 +3 636 563 565 +3 703 641 820 +3 602 619 618 +3 641 637 820 +3 639 565 566 +3 639 566 642 +3 641 703 705 +3 705 567 641 +3 951 348 963 +3 569 643 642 +3 629 963 348 +3 567 705 712 +3 959 644 487 +3 645 487 497 +3 497 648 645 +3 647 489 646 +3 650 570 495 +3 572 571 718 +3 497 501 649 +3 715 573 647 +3 501 651 649 +3 650 495 500 +3 500 578 650 +3 575 574 718 +3 651 501 720 +3 503 715 652 +3 653 577 575 +3 653 844 579 +3 720 579 844 +3 503 652 504 +3 654 578 580 +3 580 655 654 +3 655 580 423 +3 423 658 655 +3 504 656 581 +3 423 505 658 +3 659 658 505 +3 640 618 979 +3 618 619 979 +3 505 582 659 +3 581 656 661 +3 584 662 582 +3 661 726 583 +3 662 584 663 +3 663 584 508 +3 963 629 1356 +3 508 665 663 +3 855 585 730 +3 664 590 585 +3 855 664 585 +3 979 1002 640 +3 665 508 586 +3 587 666 591 +3 733 666 588 +3 666 587 588 +3 589 733 588 +3 967 627 414 +3 597 672 668 +3 604 672 597 +3 599 598 671 +3 1356 629 660 +3 598 605 671 +3 629 638 660 +3 599 745 743 +3 600 599 743 +3 743 603 600 +3 604 526 747 +3 605 675 671 +3 603 743 746 +3 526 608 747 +3 675 605 536 +3 746 879 606 +3 611 533 998 +3 998 674 611 +3 536 678 675 +3 676 606 879 +3 607 609 677 +3 1356 660 1009 +3 612 678 536 +3 610 677 609 +3 611 1100 1013 +3 612 541 895 +3 660 638 694 +3 679 542 889 +3 681 694 638 +3 613 889 542 +3 545 680 615 +3 688 640 1002 +3 544 616 682 +3 616 1015 682 +3 680 545 547 +3 682 683 546 +3 684 549 550 +3 620 684 550 +3 1335 967 657 +3 551 622 764 +3 554 690 624 +3 555 792 554 +3 690 554 792 +3 557 630 934 +3 555 557 934 +3 626 800 628 +3 939 630 628 +3 628 800 939 +3 558 693 560 +3 812 558 559 +3 559 695 812 +3 559 466 695 +3 631 695 466 +3 560 697 696 +3 697 560 693 +3 698 631 562 +3 562 699 698 +3 561 560 696 +3 633 561 696 +3 699 562 634 +3 635 700 634 +3 635 636 701 +3 639 701 636 +3 822 639 642 +3 642 704 822 +3 820 823 703 +3 642 643 704 +3 823 707 703 +3 1009 660 694 +3 705 703 707 +3 823 706 707 +3 825 643 569 +3 708 825 569 +3 569 644 708 +3 709 959 487 +3 706 711 707 +3 705 707 711 +3 711 712 705 +3 487 645 709 +3 1056 681 669 +3 711 706 830 +3 711 830 835 +3 646 567 712 +3 835 834 711 +3 712 711 834 +3 713 712 834 +3 646 712 713 +3 646 713 647 +3 497 649 648 +3 649 714 648 +3 715 647 713 +3 571 570 716 +3 650 716 570 +3 718 571 716 +3 718 838 575 +3 715 719 652 +3 838 839 575 +3 839 653 575 +3 839 842 653 +3 653 842 844 +3 504 652 846 +3 846 721 504 +3 658 723 655 +3 504 721 656 +3 694 1405 1009 +3 725 659 582 +3 656 848 661 +3 727 725 582 +3 661 848 726 +3 1056 694 681 +3 662 727 582 +3 726 729 583 +3 507 583 851 +3 729 851 583 +3 730 507 851 +3 733 589 731 +3 855 731 589 +3 1056 669 1025 +3 669 688 1025 +3 589 664 855 +3 666 733 732 +3 732 591 666 +3 597 668 586 +3 736 734 668 +3 668 734 586 +3 672 737 668 +3 736 668 737 +3 738 736 737 +3 737 740 738 +3 1336 1017 439 +3 740 741 738 +3 673 670 864 +3 672 604 739 +3 739 737 672 +3 737 739 740 +3 747 874 604 +3 1056 1405 694 +3 874 739 604 +3 998 673 996 +3 675 749 671 +3 745 599 671 +3 671 749 745 +3 678 751 675 +3 675 751 749 +3 879 884 676 +3 889 613 884 +3 613 676 884 +3 677 610 750 +3 688 1397 1025 +3 1100 611 674 +3 994 702 1378 +3 678 753 751 +3 752 750 610 +3 610 614 752 +3 753 678 612 +3 753 612 895 +3 752 614 615 +3 679 1108 1014 +3 616 679 1014 +3 616 1014 1015 +3 547 754 680 +3 683 682 755 +3 1755 1378 710 +3 754 547 684 +3 683 1019 617 +3 761 756 620 +3 761 757 756 +3 909 685 617 +3 717 1755 710 +3 439 1062 1068 +3 620 551 759 +3 759 761 620 +3 764 759 551 +3 761 767 757 +3 767 762 757 +3 762 758 757 +3 762 763 758 +3 761 759 764 +3 762 767 774 +3 717 722 1066 +3 762 774 763 +3 768 763 774 +3 1068 1438 451 +3 1072 1814 1066 +3 722 1072 1066 +3 686 621 765 +3 621 760 765 +3 764 622 623 +3 623 766 764 +3 761 764 766 +3 766 771 761 +3 771 767 761 +3 722 724 1072 +3 769 776 765 +3 776 777 765 +3 777 686 765 +3 771 773 767 +3 767 773 774 +3 780 768 774 +3 687 686 777 +3 623 624 766 +3 458 728 1444 +3 771 766 624 +3 781 774 773 +3 775 769 919 +3 769 775 776 +3 776 791 777 +3 624 778 771 +3 774 782 780 +3 728 1077 1449 +3 775 785 776 +3 689 687 777 +3 624 690 923 +3 624 923 778 +3 771 778 779 +3 779 790 771 +3 773 771 790 +3 790 781 773 +3 781 782 774 +3 786 748 735 +3 783 785 775 +3 791 788 777 +3 777 788 689 +3 792 923 690 +3 784 744 748 +3 780 782 793 +3 785 787 776 +3 776 787 795 +3 791 776 795 +3 691 689 796 +3 689 788 796 +3 796 692 691 +3 790 797 781 +3 781 797 782 +3 797 928 782 +3 928 793 782 +3 772 1126 784 +3 744 784 1126 +3 783 798 785 +3 785 804 787 +3 787 804 795 +3 791 796 788 +3 748 786 784 +3 792 555 934 +3 794 798 783 +3 791 795 799 +3 785 798 804 +3 805 795 804 +3 801 798 794 +3 801 804 798 +3 795 805 799 +3 810 799 805 +3 806 799 810 +3 801 808 804 +3 808 805 804 +3 805 808 810 +3 801 807 808 +3 808 807 809 +3 808 809 811 +3 808 811 810 +3 813 812 695 +3 812 693 558 +3 814 695 631 +3 631 698 814 +3 633 816 815 +3 700 635 818 +3 632 633 815 +3 696 816 633 +3 786 770 789 +3 634 817 699 +3 700 817 634 +3 701 818 635 +3 639 822 701 +3 824 643 825 +3 823 961 706 +3 959 708 644 +3 706 961 828 +3 826 709 645 +3 829 826 645 +3 961 827 828 +3 706 828 830 +3 645 648 829 +3 965 831 827 +3 827 831 828 +3 830 828 831 +3 830 833 835 +3 831 832 830 +3 830 832 833 +3 975 834 835 +3 770 1149 789 +3 649 840 714 +3 833 832 974 +3 975 715 713 +3 772 784 1164 +3 713 834 975 +3 975 836 715 +3 651 840 649 +3 716 650 1065 +3 718 716 1058 +3 1065 1058 716 +3 718 1058 838 +3 650 578 837 +3 837 1065 650 +3 578 654 837 +3 654 843 837 +3 981 651 720 +3 843 654 655 +3 844 1173 720 +3 1173 981 720 +3 655 723 843 +3 1149 1169 789 +3 847 723 658 +3 656 721 848 +3 659 847 658 +3 784 802 1164 +3 848 1176 726 +3 1176 849 726 +3 849 729 726 +3 784 786 802 +3 803 802 786 +3 662 663 850 +3 663 852 850 +3 786 789 803 +3 851 854 730 +3 665 852 663 +3 855 730 854 +3 988 732 733 +3 1169 1178 789 +3 731 988 733 +3 665 586 856 +3 857 856 586 +3 591 732 858 +3 586 734 857 +3 859 857 734 +3 734 736 859 +3 736 862 859 +3 862 863 859 +3 667 860 865 +3 667 861 860 +3 594 990 861 +3 861 667 594 +3 858 990 594 +3 858 594 591 +3 1178 803 789 +3 736 738 862 +3 863 862 866 +3 865 864 670 +3 865 670 667 +3 866 862 738 +3 741 866 738 +3 1164 802 1174 +3 996 673 864 +3 742 866 741 +3 1174 802 1177 +3 802 803 1177 +3 742 868 866 +3 876 740 739 +3 803 1178 1177 +3 739 874 876 +3 867 741 740 +3 867 742 741 +3 742 867 871 +3 743 745 1000 +3 874 875 876 +3 740 876 877 +3 877 867 740 +3 742 871 872 +3 868 742 872 +3 873 868 872 +3 749 878 745 +3 878 1000 745 +3 1000 1001 743 +3 1001 1005 746 +3 743 1001 746 +3 880 747 608 +3 874 747 880 +3 871 867 877 +3 881 871 877 +3 881 872 871 +3 881 882 872 +3 873 872 883 +3 999 873 883 +3 749 888 878 +3 879 746 1005 +3 608 607 886 +3 886 880 608 +3 882 883 872 +3 891 999 883 +3 888 749 751 +3 607 677 885 +3 821 480 845 +3 885 886 607 +3 887 882 881 +3 883 882 887 +3 887 890 883 +3 891 883 890 +3 674 1089 1100 +3 751 893 888 +3 750 885 677 +3 893 751 753 +3 753 896 893 +3 1100 1201 1013 +3 895 896 753 +3 889 1198 679 +3 615 897 752 +3 1198 1108 679 +3 898 897 615 +3 680 898 615 +3 754 899 680 +3 682 1015 755 +3 1015 1016 755 +3 683 755 1113 +3 754 684 901 +3 1019 683 1113 +3 901 684 620 +3 901 620 902 +3 620 756 902 +3 903 902 904 +3 904 902 756 +3 905 903 904 +3 617 1019 906 +3 757 904 756 +3 758 905 904 +3 757 758 904 +3 758 907 905 +3 905 907 911 +3 906 909 617 +3 907 758 763 +3 841 488 1223 +3 914 911 907 +3 760 685 912 +3 685 909 912 +3 907 763 913 +3 914 907 913 +3 912 915 760 +3 768 913 763 +3 914 913 920 +3 915 912 916 +3 765 760 915 +3 768 917 913 +3 917 920 913 +3 916 769 915 +3 915 769 765 +3 780 917 768 +3 919 916 1026 +3 916 919 769 +3 919 1026 918 +3 780 921 917 +3 920 917 921 +3 783 919 918 +3 919 783 775 +3 923 924 778 +3 924 779 778 +3 922 920 921 +3 925 783 918 +3 502 853 1223 +3 793 929 921 +3 780 793 921 +3 514 480 821 +3 929 922 921 +3 924 927 779 +3 870 514 821 +3 790 779 927 +3 926 792 934 +3 793 928 937 +3 937 929 793 +3 794 783 925 +3 796 791 806 +3 791 799 806 +3 519 869 853 +3 692 796 931 +3 853 502 519 +3 796 806 931 +3 692 931 932 +3 692 932 933 +3 933 626 692 +3 790 927 935 +3 797 790 935 +3 928 797 940 +3 928 940 937 +3 930 794 925 +3 806 938 931 +3 626 933 1033 +3 1034 800 626 +3 1033 1034 626 +3 800 1034 939 +3 934 630 939 +3 936 940 935 +3 528 514 870 +3 940 797 935 +3 930 801 794 +3 870 892 528 +3 810 942 806 +3 938 806 942 +3 930 941 801 +3 941 930 1037 +3 801 941 807 +3 943 941 1037 +3 943 807 941 +3 807 943 809 +3 811 946 810 +3 942 810 946 +3 943 1040 945 +3 945 809 943 +3 811 809 945 +3 812 948 947 +3 812 813 948 +3 813 695 814 +3 697 947 950 +3 697 693 947 +3 869 519 538 +3 892 540 528 +3 947 693 812 +3 952 814 698 +3 953 952 698 +3 699 953 698 +3 815 1044 632 +3 955 953 699 +3 900 869 538 +3 817 955 699 +3 700 818 954 +3 956 818 701 +3 957 819 1044 +3 819 632 1044 +3 820 819 957 +3 701 822 956 +3 958 956 822 +3 957 1046 820 +3 704 958 822 +3 704 643 1048 +3 538 543 900 +3 823 820 1046 +3 643 824 1048 +3 564 540 892 +3 910 564 892 +3 1046 1047 823 +3 1280 894 900 +3 961 823 1047 +3 824 825 708 +3 960 959 709 +3 826 960 709 +3 827 961 962 +3 962 965 827 +3 829 648 714 +3 965 962 964 +3 964 971 965 +3 968 965 971 +3 908 1280 900 +3 900 543 908 +3 832 831 968 +3 831 965 968 +3 964 1052 971 +3 971 976 968 +3 972 832 968 +3 974 977 833 +3 835 833 970 +3 833 977 970 +3 975 835 970 +3 972 968 976 +3 974 832 972 +3 1054 970 977 +3 975 970 1054 +3 1053 976 971 +3 976 980 972 +3 836 975 1054 +3 972 980 1061 +3 978 719 836 +3 715 836 719 +3 564 910 1293 +3 1067 839 838 +3 652 719 1069 +3 839 1067 842 +3 1070 842 1067 +3 1070 1172 842 +3 1071 846 1069 +3 652 1069 846 +3 723 982 843 +3 844 842 1172 +3 1172 1073 844 +3 1173 844 1073 +3 983 721 846 +3 846 1071 983 +3 984 982 723 +3 723 847 984 +3 1306 564 1293 +3 1176 848 721 +3 985 725 727 +3 908 576 1311 +3 986 985 727 +3 1306 944 564 +3 986 727 662 +3 662 850 986 +3 852 1076 850 +3 729 1268 851 +3 851 1268 854 +3 854 987 731 +3 988 731 987 +3 731 855 854 +3 665 856 852 +3 732 988 989 +3 990 858 989 +3 732 989 858 +3 990 860 861 +3 860 991 865 +3 993 992 863 +3 866 993 863 +3 865 1587 864 +3 951 1311 576 +3 995 992 993 +3 996 864 1587 +3 868 995 993 +3 993 866 868 +3 873 997 995 +3 868 873 995 +3 1089 674 1185 +3 998 1185 674 +3 1092 1000 878 +3 1003 874 880 +3 874 1003 875 +3 1006 877 876 +3 876 875 1006 +3 888 1096 878 +3 1096 1092 878 +3 1191 879 1005 +3 886 1090 880 +3 877 1006 1008 +3 1008 881 877 +3 1004 999 891 +3 1007 1004 891 +3 888 1095 1096 +3 1191 1292 879 +3 944 1306 949 +3 879 1292 884 +3 881 1008 1010 +3 1010 887 881 +3 1011 1007 891 +3 893 1095 888 +3 602 944 973 +3 1292 1195 889 +3 973 944 949 +3 889 884 1292 +3 891 890 1109 +3 891 1109 1011 +3 893 1104 1095 +3 1195 1198 889 +3 887 1010 1012 +3 973 619 602 +3 890 887 1012 +3 966 973 949 +3 1012 1109 890 +3 896 1104 893 +3 1110 895 1013 +3 896 895 1110 +3 898 680 899 +3 1113 755 1016 +3 899 754 1018 +3 901 1018 754 +3 1020 1018 901 +3 1311 951 1337 +3 951 963 1337 +3 902 1020 901 +3 902 903 1020 +3 1021 903 905 +3 905 1022 1021 +3 1022 905 911 +3 1019 1118 906 +3 1121 912 909 +3 909 906 1121 +3 912 1121 1024 +3 920 1023 914 +3 979 619 973 +3 1024 916 912 +3 916 1024 1026 +3 1026 1027 918 +3 920 922 1028 +3 918 1027 1124 +3 1124 925 918 +3 923 792 926 +3 1125 923 926 +3 1125 1029 923 +3 924 923 1029 +3 934 1230 926 +3 1030 927 1029 +3 927 924 1029 +3 973 966 1351 +3 967 1335 2050 +3 967 2050 627 +3 627 969 414 +3 1336 414 969 +3 1132 1230 934 +3 1337 963 1343 +3 1031 930 925 +3 1356 1343 963 +3 1129 931 938 +3 932 931 1129 +3 1368 979 973 +3 1351 1368 973 +3 1129 1131 932 +3 933 932 1131 +3 1131 1032 933 +3 933 1032 1033 +3 1132 934 939 +3 935 927 1030 +3 935 1030 936 +3 940 1036 937 +3 938 1035 1129 +3 1135 939 1034 +3 1368 1002 979 +3 940 936 1036 +3 1035 938 942 +3 1039 1035 942 +3 930 1031 1037 +3 1335 657 1346 +3 1037 1238 943 +3 942 946 1038 +3 946 1041 1038 +3 1039 942 1038 +3 1238 1040 943 +3 1041 811 945 +3 1041 946 811 +3 948 813 1042 +3 814 1042 813 +3 1141 950 947 +3 1146 696 950 +3 696 697 950 +3 700 954 1043 +3 1045 815 816 +3 657 994 1346 +3 1146 1045 816 +3 816 696 1146 +3 955 817 1043 +3 1043 817 700 +3 954 818 956 +3 958 704 1048 +3 824 1049 1048 +3 1049 824 708 +3 960 1246 959 +3 961 1047 1050 +3 962 961 1051 +3 961 1050 1051 +3 962 1051 1158 +3 1052 964 1158 +3 964 962 1158 +3 840 1258 714 +3 1052 1053 971 +3 974 1057 977 +3 1728 1356 1009 +3 1054 977 1057 +3 1053 1163 976 +3 974 972 1063 +3 1061 1063 972 +3 688 1387 1397 +3 974 1063 1057 +3 688 1002 1387 +3 1002 1368 1387 +3 1055 978 836 +3 1055 836 1054 +3 980 976 1060 +3 1163 1060 976 +3 1061 980 1060 +3 838 1058 1059 +3 1067 838 1059 +3 1170 1061 1060 +3 1009 1393 1728 +3 837 843 1064 +3 1065 837 1064 +3 719 978 1069 +3 840 651 981 +3 721 983 1176 +3 1074 847 659 +3 659 725 1074 +3 725 985 1074 +3 1075 849 1176 +3 729 849 1267 +3 1075 1267 849 +3 1268 1269 854 +3 1269 1078 987 +3 1269 987 854 +3 1079 1076 852 +3 988 1078 1080 +3 988 987 1078 +3 852 856 1081 +3 1079 852 1081 +3 1080 989 988 +3 856 857 1081 +3 857 1082 1081 +3 1080 1083 989 +3 857 859 1082 +3 1405 1393 1009 +3 859 863 1082 +3 863 1084 1082 +3 1085 860 1083 +3 990 1083 860 +3 1083 990 989 +3 992 1086 1084 +3 863 992 1084 +3 860 1085 991 +3 1087 992 995 +3 995 997 1087 +3 996 1185 998 +3 997 873 1088 +3 873 999 1088 +3 1004 1088 999 +3 1287 1000 1092 +3 1287 1001 1000 +3 1001 1287 1188 +3 1192 1003 880 +3 1091 875 1003 +3 1003 1192 1091 +3 1755 2310 1378 +3 1005 1001 1188 +3 1188 1189 1005 +3 1191 1005 1189 +3 875 1091 1006 +3 886 885 1098 +3 1090 886 1098 +3 1006 1091 1093 +3 1099 1008 1006 +3 1093 1099 1006 +3 1286 1100 1089 +3 1096 1095 1197 +3 885 750 1097 +3 1056 1787 1405 +3 1097 1098 885 +3 1010 1008 1103 +3 1008 1099 1103 +3 1104 1197 1095 +3 1102 1097 750 +3 750 752 1102 +3 1010 1103 1106 +3 1010 1106 1012 +3 1105 1102 752 +3 1201 1203 1013 +3 752 897 1105 +3 1203 1110 1013 +3 1108 1303 1014 +3 898 1111 897 +3 1015 1014 1382 +3 1303 1382 1014 +3 1015 1382 1016 +3 1382 1208 1016 +3 899 1018 1114 +3 1113 1212 1019 +3 1114 1018 1020 +3 1020 903 1116 +3 903 1021 1116 +3 1021 1117 1116 +3 1117 1021 1022 +3 1022 1119 1117 +3 1119 1022 911 +3 911 1120 1119 +3 911 914 1120 +3 1120 914 1122 +3 914 1023 1122 +3 1122 1023 1028 +3 1056 1410 1787 +3 920 1028 1023 +3 1123 1026 1024 +3 1026 1123 1027 +3 1123 1222 1027 +3 1056 1025 1795 +3 1124 1027 1222 +3 922 1226 1028 +3 1313 1028 1226 +3 922 929 1226 +3 1125 926 1128 +3 1029 1125 1227 +3 929 1229 1226 +3 925 1124 1127 +3 1230 1128 926 +3 1029 1227 1030 +3 1755 717 1066 +3 1799 1755 1066 +3 1318 1030 1227 +3 937 1134 929 +3 1229 929 1134 +3 925 1127 1031 +3 1066 1814 1799 +3 939 1135 1132 +3 1036 1236 937 +3 1134 937 1236 +3 1129 1035 1137 +3 1232 1033 1032 +3 1034 1033 1232 +3 1232 1233 1034 +3 1233 1135 1034 +3 936 1030 1318 +3 936 1318 1235 +3 1814 1072 1818 +3 1031 1127 1136 +3 1441 1818 1072 +3 1035 1039 1137 +3 1072 724 1441 +3 1441 724 1444 +3 936 1235 1036 +3 1236 1036 1235 +3 1031 1136 1037 +3 1238 1037 1136 +3 1139 1038 1041 +3 1449 1077 1438 +3 1139 1039 1038 +3 1138 1040 1238 +3 1040 1138 1239 +3 1445 1444 728 +3 728 1448 1445 +3 1041 1140 1139 +3 945 1040 1239 +3 945 1239 1041 +3 728 1449 1448 +3 1140 1041 1239 +3 1141 947 1142 +3 948 1142 947 +3 1143 1142 948 +3 1042 1143 948 +3 1144 1042 814 +3 952 1144 814 +3 1094 735 1101 +3 1045 1145 815 +3 952 953 1147 +3 954 1148 1043 +3 1150 1044 1145 +3 1145 1044 815 +3 1456 1101 1107 +3 1151 1147 953 +3 955 1151 953 +3 956 1152 954 +3 1152 1148 954 +3 1150 957 1044 +3 957 1150 1244 +3 1152 956 958 +3 1153 1152 958 +3 735 1094 1112 +3 1244 1249 1046 +3 1046 957 1244 +3 1154 1153 958 +3 1048 1154 958 +3 1249 1047 1046 +3 1155 1049 708 +3 1246 1155 959 +3 1249 1050 1047 +3 744 1107 1101 +3 708 959 1155 +3 748 744 1101 +3 826 1157 960 +3 1050 1249 1051 +3 1253 1158 1051 +3 1158 1254 1052 +3 735 748 1101 +3 1258 1159 714 +3 1053 1052 1160 +3 1160 1161 1053 +3 1163 1053 1162 +3 1053 1161 1162 +3 1054 1057 1165 +3 1165 1166 1054 +3 1054 1166 1055 +3 1057 1063 1168 +3 1165 1057 1168 +3 1058 1065 1167 +3 1058 1167 1059 +3 1347 1060 1163 +3 1063 1061 1170 +3 1168 1063 1170 +3 1064 1167 1065 +3 1345 1059 1167 +3 1067 1059 1345 +3 1345 1255 1067 +3 735 1112 786 +3 786 1112 1115 +3 1170 1060 1347 +3 978 1446 1069 +3 1064 843 982 +3 1255 1070 1067 +3 1446 1071 1069 +3 1255 1257 1070 +3 1446 1348 1071 +3 1073 1172 1561 +3 1173 1073 1561 +3 1130 1107 1126 +3 1348 983 1071 +3 1107 744 1126 +3 1115 770 786 +3 1074 1175 984 +3 984 847 1074 +3 1179 1074 985 +3 1264 1266 1176 +3 1176 1266 1075 +3 986 850 1180 +3 1076 1180 850 +3 1268 729 1267 +3 1269 1271 1078 +3 1080 1078 1271 +3 1181 1079 1081 +3 1082 1181 1081 +3 1182 1181 1082 +3 1084 1182 1082 +3 1115 1133 770 +3 1084 1086 1182 +3 1083 1365 1085 +3 1183 991 1085 +3 1086 992 1087 +3 865 991 1276 +3 1503 1130 772 +3 1086 1087 1184 +3 1277 1184 1087 +3 1130 1126 772 +3 1587 865 1276 +3 997 1277 1087 +3 1149 770 1133 +3 1133 1506 1149 +3 1587 1282 996 +3 1282 1185 996 +3 1088 1278 997 +3 1004 1007 1186 +3 1286 1089 1285 +3 1185 1285 1089 +3 1288 1287 1092 +3 1193 1187 1007 +3 1370 1288 1092 +3 880 1090 1192 +3 1291 1091 1192 +3 1007 1011 1193 +3 1096 1194 1092 +3 1508 1503 772 +3 1370 1092 1194 +3 1093 1091 1291 +3 1197 1194 1096 +3 1295 1099 1093 +3 1193 1011 1200 +3 1104 1202 1197 +3 1149 1506 1156 +3 1099 1295 1296 +3 1296 1103 1099 +3 1011 1109 1200 +3 772 1164 1508 +3 1201 1100 1286 +3 896 1204 1202 +3 1104 896 1202 +3 1296 1301 1103 +3 1301 1106 1103 +3 1169 1149 1156 +3 1109 1380 1200 +3 1108 1198 1302 +3 897 1207 1105 +3 1206 1012 1106 +3 1164 1521 1508 +3 1109 1012 1206 +3 1206 1380 1109 +3 1379 1110 1203 +3 1110 1379 1204 +3 896 1110 1204 +3 1303 1108 1302 +3 1111 1207 897 +3 1111 898 899 +3 899 1209 1111 +3 1305 1113 1016 +3 1208 1305 1016 +3 1305 1212 1113 +3 1114 1211 899 +3 1114 1020 1213 +3 1169 1190 1178 +3 1212 1118 1019 +3 1308 1213 1020 +3 1020 1116 1308 +3 1117 1216 1308 +3 1308 1116 1117 +3 1905 2272 1521 +3 1217 1216 1119 +3 1216 1117 1119 +3 1905 1521 1164 +3 1217 1119 1120 +3 1164 1174 1905 +3 906 1118 1215 +3 1219 1217 1120 +3 1215 1218 906 +3 1122 1219 1120 +3 1121 906 1220 +3 1218 1220 906 +3 1024 1121 1221 +3 1121 1220 1221 +3 1222 1123 1024 +3 1024 1221 1222 +3 1224 1122 1028 +3 1028 1313 1224 +3 1226 1317 1313 +3 1225 1124 1222 +3 1905 1174 1541 +3 1545 1541 1174 +3 1128 1408 1125 +3 1408 1228 1125 +3 1177 1545 1174 +3 1125 1228 1227 +3 1227 1228 1316 +3 1196 1545 1177 +3 1317 1226 1229 +3 1124 1225 1127 +3 1177 1178 1196 +3 1178 1190 1196 +3 1318 1227 1316 +3 1412 1317 1229 +3 1319 1127 1225 +3 1230 1132 1529 +3 1412 1229 1134 +3 1129 1237 1231 +3 1231 1131 1129 +3 1032 1131 1231 +3 1320 1032 1231 +3 1032 1320 1232 +3 1132 1135 1323 +3 1236 1322 1412 +3 1412 1134 1236 +3 1127 1319 1413 +3 1237 1129 1137 +3 1323 1135 1233 +3 1318 1321 1235 +3 1236 1235 1321 +3 1236 1321 1322 +3 1413 1136 1127 +3 1237 1137 1039 +3 1039 1325 1237 +3 1555 1196 1190 +3 1190 1550 1555 +3 1324 1238 1136 +3 1039 1139 1325 +3 1138 1238 1324 +3 1423 1138 1324 +3 1138 1423 1239 +3 1423 1326 1239 +3 1327 1139 1140 +3 1239 1326 1140 +3 1326 1327 1140 +3 1141 1240 950 +3 1545 1196 1555 +3 1241 1144 952 +3 1146 950 1240 +3 1241 952 1147 +3 1242 1043 1148 +3 1223 1581 1210 +3 1581 1199 1210 +3 1145 1426 1150 +3 955 1043 1242 +3 1151 955 1242 +3 1243 1244 1150 +3 1048 1245 1154 +3 1245 1048 1049 +3 1248 1157 826 +3 826 829 1248 +3 829 1250 1248 +3 1159 1250 829 +3 1252 1253 1051 +3 829 714 1159 +3 1254 1158 1253 +3 1254 1436 1160 +3 1052 1254 1160 +3 1160 1439 1161 +3 1439 1162 1161 +3 1256 1165 1168 +3 1166 1165 1341 +3 1055 1166 1341 +3 1223 1210 841 +3 1162 1553 1347 +3 1347 1163 1162 +3 978 1055 1342 +3 845 841 1210 +3 1341 1342 1055 +3 1064 1344 1167 +3 1344 1345 1167 +3 1170 1259 1168 +3 1214 845 1210 +3 1256 1168 1259 +3 1446 978 1342 +3 1205 821 845 +3 845 1214 1205 +3 1064 982 1171 +3 1205 1584 821 +3 1258 840 981 +3 1347 1349 1170 +3 1262 1258 981 +3 821 1584 1234 +3 1171 982 1260 +3 1172 1070 1257 +3 1561 1172 1257 +3 1561 1263 1173 +3 981 1173 1262 +3 1263 1262 1173 +3 982 984 1260 +3 1223 853 1580 +3 984 1175 1260 +3 1352 1176 983 +3 1348 1352 983 +3 1179 985 1265 +3 1265 985 986 +3 986 1180 1357 +3 1270 1180 1076 +3 1076 1079 1270 +3 1080 1271 1272 +3 1080 1272 1365 +3 1365 1083 1080 +3 1086 1273 1182 +3 1086 1275 1273 +3 1183 1085 1274 +3 1247 1580 853 +3 1365 1274 1085 +3 991 1183 1466 +3 1275 1086 1184 +3 1466 1276 991 +3 870 821 1234 +3 1278 1369 1277 +3 1277 997 1278 +3 1278 1088 1281 +3 1283 1281 1088 +3 1088 1004 1283 +3 1186 1283 1004 +3 1282 1285 1185 +3 1007 1187 1186 +3 1284 1186 1187 +3 869 1247 853 +3 1287 1472 1188 +3 1189 1188 1472 +3 1472 1669 1189 +3 1669 1474 1191 +3 1191 1189 1669 +3 1090 1475 1192 +3 1475 1373 1192 +3 1291 1192 1373 +3 1370 1194 1478 +3 1292 1191 1474 +3 1476 1093 1291 +3 1197 1297 1194 +3 1478 1194 1297 +3 1292 1594 1195 +3 1098 1097 1294 +3 1620 1598 1251 +3 869 1251 1247 +3 1598 1247 1251 +3 1295 1093 1476 +3 1200 1299 1193 +3 1261 892 870 +3 1485 1297 1202 +3 1197 1202 1297 +3 1198 1195 1594 +3 1594 1484 1198 +3 1102 1294 1097 +3 1201 1286 1376 +3 1204 1485 1202 +3 1300 1102 1105 +3 1379 1203 1376 +3 1203 1201 1376 +3 1198 1484 1302 +3 1620 1251 894 +3 900 894 1251 +3 869 900 1251 +3 1105 1207 1300 +3 1106 1301 1377 +3 1377 1206 1106 +3 1111 1304 1207 +3 1383 1382 1303 +3 1114 1385 1211 +3 1307 1114 1213 +3 1215 1118 1212 +3 1308 1216 1309 +3 1216 1310 1309 +3 1310 1216 1217 +3 1310 1217 1219 +3 1620 894 1630 +3 1218 1500 1220 +3 1220 1500 1221 +3 1394 1219 1224 +3 1219 1122 1224 +3 892 1261 910 +3 1221 1312 1222 +3 1312 1221 1500 +3 1313 1396 1224 +3 894 1280 1630 +3 1222 1312 1314 +3 1314 1315 1222 +3 1317 1401 1396 +3 1396 1313 1317 +3 1315 1225 1222 +3 1408 1402 1228 +3 1402 1514 1228 +3 1514 1316 1228 +3 1412 1401 1317 +3 1225 1315 1404 +3 1514 1318 1316 +3 1404 1319 1225 +3 1529 1128 1230 +3 1318 1514 1409 +3 1404 1413 1319 +3 1237 1414 1407 +3 1407 1231 1237 +3 1132 1323 1529 +3 1409 1321 1318 +3 1411 1412 1322 +3 1320 1628 1232 +3 1232 1628 1631 +3 1631 1233 1232 +3 1321 1411 1322 +3 1136 1413 1415 +3 910 1279 1289 +3 1414 1237 1325 +3 1298 1290 1280 +3 908 1298 1280 +3 1415 1324 1136 +3 1415 1418 1324 +3 1419 1414 1325 +3 1419 1325 1139 +3 1324 1418 1423 +3 1139 1327 1419 +3 1327 1422 1419 +3 1327 1326 1422 +3 1143 1042 1328 +3 1144 1328 1042 +3 1293 910 1289 +3 1329 1145 1332 +3 1333 1241 1147 +3 1330 1242 1148 +3 1148 1338 1330 +3 1331 1243 1150 +3 1426 1331 1150 +3 1045 1332 1145 +3 1045 1146 1332 +3 1146 1240 1332 +3 1334 1333 1147 +3 1151 1334 1147 +3 1298 908 1311 +3 1338 1148 1152 +3 1339 1338 1152 +3 1152 1153 1339 +3 1244 1243 1430 +3 1339 1153 1154 +3 1340 1245 1049 +3 1049 1155 1340 +3 1430 1249 1244 +3 1051 1249 1252 +3 1253 1434 1254 +3 1165 1440 1341 +3 1311 1662 1298 +3 1256 1440 1165 +3 1443 1255 1345 +3 1259 1350 1256 +3 1443 1450 1257 +3 1255 1443 1257 +3 1350 1259 1170 +3 1450 1561 1257 +3 1350 1170 1349 +3 1353 1175 1074 +3 1074 1179 1353 +3 1352 1264 1176 +3 986 1355 1265 +3 1357 1355 986 +3 1075 1266 1454 +3 1454 1267 1075 +3 2045 1662 1311 +3 1358 1357 1180 +3 1454 1455 1267 +3 1270 1358 1180 +3 1268 1267 1359 +3 1267 1455 1359 +3 1683 2045 1311 +3 1269 1268 1359 +3 1359 1360 1269 +3 1079 1361 1270 +3 1271 1269 1360 +3 949 1689 966 +3 1360 1362 1271 +3 1363 1361 1079 +3 1079 1181 1363 +3 1271 1362 1272 +3 1364 1363 1181 +3 1181 1182 1364 +3 1182 1273 1364 +3 1273 1366 1364 +3 1275 1366 1273 +3 1466 1183 1463 +3 1463 1183 1274 +3 1184 1367 1275 +3 1337 1683 1311 +3 1367 1184 1369 +3 1466 1583 1276 +3 1369 1184 1277 +3 1281 1467 1369 +3 1587 1276 1583 +3 1369 1278 1281 +3 1193 1470 1187 +3 1470 1284 1187 +3 1287 1288 1372 +3 1472 1287 1372 +3 1370 1473 1372 +3 1372 1288 1370 +3 2050 1675 627 +3 969 627 1675 +3 1374 1291 1373 +3 1476 1291 1374 +3 1676 1470 1193 +3 1478 1473 1370 +3 1474 1677 1292 +3 1090 1098 1375 +3 1475 1090 1375 +3 1193 1299 1676 +3 1478 1297 1477 +3 1677 1594 1292 +3 1294 1375 1098 +3 1476 1481 1295 +3 1296 1295 1481 +3 1477 1297 1485 +3 1294 1102 1300 +3 1296 1481 1596 +3 1286 1482 1376 +3 1296 1596 1301 +3 1377 1301 1596 +3 2101 1351 966 +3 1689 2101 966 +3 1376 1601 1379 +3 1485 1204 1379 +3 1486 1302 1484 +3 1380 1206 1603 +3 1337 1343 2076 +3 1603 1206 1377 +3 1486 1303 1302 +3 1304 1381 1207 +3 1486 1383 1303 +3 1209 1304 1111 +3 1208 1382 1383 +3 899 1211 1209 +3 1384 1305 1208 +3 1346 1691 1335 +3 1605 1384 1208 +3 1212 1305 1384 +3 1114 1307 1385 +3 1307 1213 1388 +3 1213 1308 1388 +3 1212 1386 1215 +3 1308 1389 1388 +3 1389 1308 1309 +3 1386 1390 1215 +3 1391 1389 1309 +3 1309 1310 1391 +3 1310 1392 1391 +3 1219 1392 1310 +3 1215 1390 1218 +3 2076 1343 1728 +3 1219 1394 1392 +3 1501 1500 1218 +3 1343 1356 1728 +3 1390 1501 1218 +3 1394 1395 1392 +3 1504 1312 1500 +3 2101 1368 1351 +3 994 2078 1346 +3 1394 1396 1400 +3 1396 1394 1224 +3 1314 1312 1504 +3 1504 1505 1398 +3 1396 1401 1400 +3 1399 1314 1504 +3 1399 1504 1398 +3 1511 1400 1401 +3 1314 1399 1518 +3 1518 1315 1314 +3 1525 1402 1408 +3 1401 1403 1511 +3 1511 1403 1517 +3 1412 1403 1401 +3 1404 1315 1518 +3 1409 1514 1509 +3 1411 1516 1517 +3 1412 1411 1403 +3 1354 1371 2096 +3 1411 1517 1403 +3 1407 1406 1526 +3 1407 1526 1528 +3 1529 1408 1128 +3 1516 1411 1409 +3 1518 1530 1404 +3 1406 1414 1527 +3 1414 1406 1407 +3 1231 1407 1528 +3 1528 1320 1231 +3 1320 1528 1628 +3 2118 1751 1368 +3 2101 2118 1368 +3 994 1378 2310 +3 1699 1529 1323 +3 439 1017 1062 +3 1411 1321 1409 +3 1415 1413 1404 +3 1404 1530 1415 +3 2096 1371 1759 +3 1371 1747 1759 +3 1531 1527 1414 +3 1631 1323 1233 +3 1631 1699 1323 +3 1530 1417 1415 +3 1414 1419 1531 +3 1393 2128 1728 +3 1419 1533 1531 +3 1368 1751 1387 +3 1417 1418 1415 +3 1534 1533 1419 +3 1417 1420 1418 +3 1534 1421 1420 +3 1534 1422 1421 +3 1419 1422 1534 +3 1423 1418 1420 +3 1326 1423 1420 +3 1420 1421 1326 +3 1326 1421 1422 +3 1424 1141 1142 +3 1142 1143 1424 +3 1144 1425 1328 +3 2138 1759 1747 +3 1141 1535 1240 +3 1144 1241 1425 +3 1145 1329 1426 +3 1535 1427 1240 +3 1427 1332 1240 +3 1334 1151 1242 +3 1397 1387 1416 +3 1751 1416 1387 +3 1338 1640 1330 +3 1243 1331 1540 +3 1543 1430 1243 +3 1540 1543 1243 +3 1428 1339 1154 +3 1154 1245 1431 +3 1340 1155 1429 +3 1155 1246 1429 +3 960 1432 1429 +3 2096 1759 1758 +3 1246 960 1429 +3 960 1433 1432 +3 960 1157 1433 +3 1249 1430 1252 +3 1436 1254 1434 +3 1434 1253 1435 +3 1253 1252 1435 +3 1160 1436 1437 +3 1437 1439 1160 +3 1256 1560 1440 +3 1556 1341 1440 +3 1556 1557 1342 +3 1342 1341 1556 +3 1344 1064 1442 +3 1442 1554 1344 +3 1345 1344 1554 +3 1554 1646 1345 +3 1646 1443 1345 +3 1256 1350 1560 +3 1446 1342 1557 +3 1064 1171 1442 +3 1171 1447 1442 +3 1553 1648 1347 +3 1350 1451 1560 +3 1393 2163 2128 +3 1446 1718 1348 +3 1171 1260 1447 +3 1393 1405 1787 +3 1349 1347 1648 +3 1718 1452 1348 +3 1175 1353 1260 +3 1348 1452 1352 +3 1453 1566 1179 +3 1265 1453 1179 +3 1264 1656 1266 +3 1355 1453 1265 +3 1656 1454 1266 +3 1568 1455 1454 +3 1659 1358 1270 +3 1795 1410 1056 +3 1359 1455 1568 +3 1360 1359 1568 +3 1270 1361 1457 +3 1457 1361 1363 +3 1459 1571 1272 +3 1362 1459 1272 +3 1397 1795 1025 +3 1571 1460 1365 +3 1365 1272 1571 +3 1461 1364 1366 +3 1397 1416 2158 +3 1462 1461 1366 +3 1460 1463 1274 +3 1460 1274 1365 +3 1275 1464 1366 +3 1366 1464 1462 +3 1275 1367 1464 +3 1367 1369 1467 +3 1467 1281 1468 +3 1283 1468 1281 +3 1469 1468 1283 +3 1283 1186 1469 +3 1284 1469 1186 +3 1282 1587 1666 +3 2173 1787 1410 +3 1472 1372 1667 +3 1372 1590 1667 +3 1472 1667 1589 +3 1286 1285 1588 +3 1795 2173 1410 +3 1473 1592 1590 +3 1590 1372 1473 +3 1475 1480 1670 +3 1373 1475 1670 +3 1670 1591 1373 +3 1591 1374 1373 +3 1591 1476 1374 +3 1592 1478 1477 +3 1681 1592 1477 +3 1592 1473 1478 +3 1479 1480 1375 +3 1480 1475 1375 +3 1068 2301 1438 +3 1476 1591 1593 +3 1476 1593 1481 +3 1286 1588 1482 +3 1483 1479 1294 +3 1479 1375 1294 +3 1477 1485 1597 +3 1294 1300 1483 +3 1818 2183 1814 +3 1299 1200 1489 +3 1596 1602 1377 +3 1489 1200 1380 +3 1379 1601 1597 +3 1438 1821 1449 +3 1597 1485 1379 +3 1207 1381 1300 +3 1602 1487 1377 +3 1818 1441 2195 +3 1603 1489 1380 +3 1377 1487 1603 +3 1383 1486 1604 +3 1490 1304 1209 +3 1383 1604 1208 +3 1824 1441 1444 +3 1444 1445 1824 +3 1605 1208 1604 +3 1209 1211 1385 +3 1384 1608 1212 +3 1688 1212 1608 +3 1491 1386 1212 +3 1610 1307 1492 +3 1492 1307 1388 +3 1492 1388 1493 +3 1493 1388 1389 +3 1492 1493 1613 +3 2298 1448 1449 +3 1389 1495 1493 +3 1496 1391 1392 +3 2298 1449 1821 +3 1613 1493 1497 +3 1456 1843 1458 +3 1843 2212 1458 +3 1493 1495 1497 +3 2212 1845 1458 +3 1845 1094 1458 +3 1495 1498 1497 +3 1495 1389 1391 +3 1501 1390 1612 +3 1465 1841 1456 +3 1499 1498 1495 +3 1496 1499 1391 +3 1499 1495 1391 +3 1101 1456 1458 +3 1496 1392 1395 +3 1458 1094 1101 +3 1613 1497 1618 +3 1497 1498 1619 +3 1496 1395 1502 +3 1500 1501 1615 +3 1615 1504 1500 +3 1507 1618 1497 +3 1619 1507 1497 +3 1502 1395 1400 +3 1400 1395 1394 +3 1505 1504 1622 +3 1622 1504 1615 +3 1847 1622 1615 +3 1618 1507 1625 +3 1619 1509 1507 +3 1499 1502 1400 +3 1507 1509 1510 +3 1107 1465 1456 +3 1507 1510 1625 +3 1511 1499 1400 +3 1398 1505 1512 +3 1512 1505 1513 +3 1513 1505 1622 +3 1112 1094 1471 +3 1692 1513 1622 +3 1402 1525 1625 +3 1471 1863 1112 +3 1514 1402 1510 +3 1625 1510 1402 +3 1509 1514 1510 +3 1509 1619 1515 +3 1619 1621 1515 +3 1516 1515 1621 +3 1517 1516 1499 +3 1621 1499 1516 +3 1499 1511 1517 +3 1398 1512 1519 +3 1863 1115 1112 +3 1519 1399 1398 +3 1512 1523 1520 +3 1523 1512 1513 +3 1524 1523 1513 +3 1465 1107 1488 +3 1524 1513 1692 +3 1692 1694 1524 +3 1509 1515 1516 +3 1518 1399 1519 +3 1694 1526 1524 +3 1697 1408 1529 +3 1516 1409 1509 +3 1523 1527 1531 +3 1527 1523 1524 +3 1406 1527 1524 +3 1107 1130 1488 +3 1526 1406 1524 +3 1526 1696 1528 +3 1518 1626 1530 +3 1133 1115 1866 +3 1503 1873 1488 +3 1130 1503 1488 +3 1628 1528 1627 +3 1529 1699 1629 +3 1532 1626 1519 +3 1519 1520 1533 +3 1531 1533 1520 +3 1628 1698 1631 +3 1417 1530 1626 +3 1532 1417 1626 +3 1532 1519 1534 +3 1533 1534 1519 +3 1420 1417 1532 +3 1532 1534 1420 +3 1143 1701 1424 +3 1133 1494 1506 +3 1424 1535 1141 +3 1328 1425 1633 +3 1426 1329 1536 +3 1425 1241 1537 +3 1241 1333 1537 +3 1334 1242 1637 +3 1638 1637 1242 +3 1242 1330 1638 +3 1331 1426 1538 +3 1329 1332 1539 +3 1539 1332 1427 +3 1640 1638 1330 +3 1538 1540 1331 +3 1640 1338 1542 +3 1339 1542 1338 +3 1430 1543 1544 +3 1503 1508 1882 +3 1431 1245 1340 +3 1430 1544 1546 +3 1433 1157 1248 +3 1435 1252 1547 +3 1546 1547 1252 +3 1506 2259 1156 +3 1252 1430 1546 +3 1436 1548 1549 +3 1434 1548 1436 +3 1436 1549 1437 +3 1552 1439 1437 +3 2133 1552 1437 +3 1560 1715 1440 +3 1715 1556 1440 +3 1558 1713 1442 +3 1508 2261 1882 +3 1713 1554 1442 +3 1647 1443 1646 +3 1718 1446 1557 +3 1447 1559 1558 +3 1156 1522 1169 +3 1558 1442 1447 +3 2259 1522 1156 +3 1450 1443 1647 +3 1262 1650 1258 +3 1350 1562 1451 +3 1561 1450 1722 +3 1262 1263 1563 +3 1350 1349 1562 +3 1353 1447 1260 +3 1263 1561 1563 +3 1352 1452 1654 +3 1353 1179 1565 +3 1264 1352 1654 +3 1656 1264 1654 +3 1508 1521 2272 +3 1169 1522 1901 +3 1901 1190 1169 +3 1658 1454 1656 +3 1358 1659 1355 +3 1522 1894 1901 +3 1355 1357 1358 +3 1454 1567 1568 +3 1569 1360 1568 +3 1659 1270 1457 +3 1459 1362 1569 +3 1362 1360 1569 +3 1570 1457 1363 +3 1572 1570 1363 +3 1574 1572 1364 +3 1363 1364 1572 +3 1575 1574 1364 +3 2278 2272 1905 +3 1364 1461 1575 +3 1576 1460 1571 +3 1190 1901 1550 +3 1463 1460 1576 +3 1464 1577 1462 +3 1466 1463 1579 +3 1579 1463 1576 +3 1367 1582 1464 +3 1582 1367 1467 +3 1665 1582 1467 +3 1585 1583 1466 +3 1585 1466 1579 +3 1586 1665 1468 +3 1665 1467 1468 +3 1469 1586 1468 +3 1666 1587 1583 +3 1284 1741 1469 +3 1470 1740 1284 +3 1588 1285 1282 +3 1744 1589 1667 +3 1668 1590 1592 +3 1905 1541 2276 +3 1541 2274 2276 +3 1472 1589 1669 +3 1748 1591 1670 +3 1591 1748 1672 +3 1827 1474 1669 +3 1677 1474 1827 +3 1541 1545 1921 +3 1591 1672 1593 +3 1681 1477 1597 +3 1481 1593 1595 +3 1596 1481 1595 +3 1555 1921 1545 +3 1754 1376 1482 +3 1597 1680 1681 +3 1594 1684 1484 +3 1483 1300 1600 +3 1754 1829 1376 +3 1555 1550 1924 +3 1829 1601 1376 +3 1597 1601 1829 +3 1918 2274 1541 +3 1684 1685 1484 +3 1596 1595 1602 +3 1921 1918 1541 +3 1486 1484 1685 +3 1300 1381 1600 +3 1381 1304 1490 +3 1490 1209 1606 +3 1385 1606 1209 +3 1384 1605 1608 +3 1609 1385 1307 +3 1688 1491 1212 +3 1307 1610 1609 +3 1390 1386 1491 +3 1610 1492 1613 +3 1611 1610 1613 +3 1491 1765 1390 +3 1613 1614 1611 +3 1765 1612 1390 +3 1690 1614 1618 +3 1614 1613 1618 +3 1499 1496 1502 +3 1501 1612 1615 +3 1615 1612 1617 +3 1573 1564 1205 +3 1619 1498 1499 +3 1617 1847 1615 +3 1578 1959 1580 +3 1625 1623 1690 +3 1690 1618 1625 +3 1580 1959 1581 +3 1499 1621 1619 +3 1847 1692 1622 +3 1623 1625 1525 +3 1525 1408 1697 +3 1512 1520 1519 +3 1696 1526 1694 +3 1531 1520 1523 +3 1629 1697 1529 +3 1518 1519 1626 +3 1210 1199 1214 +3 1528 1696 1627 +3 1698 1628 1627 +3 1199 1573 1214 +3 1573 1205 1214 +3 1851 1629 1699 +3 1702 1701 1143 +3 1143 1328 1702 +3 1632 1535 1424 +3 1702 1328 1633 +3 1705 1536 1329 +3 1427 1535 1634 +3 1535 1632 1634 +3 1537 1633 1425 +3 1635 1538 1426 +3 1426 1536 1635 +3 1706 1705 1539 +3 1705 1329 1539 +3 1223 1580 1581 +3 1634 1706 1539 +3 1427 1634 1539 +3 1636 1537 1333 +3 1333 1334 1636 +3 1639 1334 1637 +3 1334 1639 1636 +3 1542 1642 1640 +3 1538 1641 1540 +3 1543 1540 1641 +3 1542 1339 1428 +3 1154 1431 1428 +3 1247 1578 1580 +3 1643 1544 1543 +3 1641 1643 1543 +3 1340 1709 1431 +3 1709 1340 1429 +3 1429 1432 1644 +3 1432 1433 1644 +3 1546 1544 1643 +3 1250 1159 1551 +3 1778 1434 1435 +3 1645 1551 1159 +3 2133 1437 1549 +3 1645 1159 1258 +3 1439 1552 1871 +3 1162 1439 1871 +3 1871 1880 1553 +3 870 1234 1599 +3 1162 1871 1553 +3 1713 1782 1554 +3 1554 1782 1646 +3 1647 1646 1782 +3 1721 1715 1560 +3 1715 1716 1556 +3 1716 1879 1557 +3 1557 1556 1716 +3 1718 1557 1879 +3 1717 1450 1647 +3 1599 1607 870 +3 1553 1880 1648 +3 1560 1451 1649 +3 1349 1648 1723 +3 1451 1562 1649 +3 1559 1447 1652 +3 1717 1722 1450 +3 1561 1722 1784 +3 1261 870 1607 +3 1650 1262 1563 +3 1349 1723 1651 +3 1651 1562 1349 +3 1784 1563 1561 +3 1718 1653 1452 +3 1353 1652 1447 +3 1653 1654 1452 +3 1565 1652 1353 +3 1607 1616 1261 +3 1179 1566 1565 +3 1654 1655 1656 +3 1657 1566 1453 +3 1355 1657 1453 +3 1658 1656 1655 +3 1355 1791 1657 +3 1567 1454 1658 +3 1659 1791 1355 +3 1567 1793 1568 +3 1568 1793 1729 +3 1568 1729 1569 +3 1569 1661 1459 +3 1661 1569 1729 +3 1571 1459 1732 +3 1459 1663 1732 +3 1459 1661 1663 +3 1575 1461 1664 +3 1576 1571 1732 +3 1461 1462 1664 +3 1577 1664 1462 +3 1582 1577 1464 +3 1624 1261 2004 +3 1576 1585 1579 +3 1585 1812 1583 +3 1583 1812 1666 +3 1284 1740 1741 +3 1261 1624 910 +3 1668 1746 1743 +3 1624 2004 1279 +3 1667 1590 1817 +3 1590 1668 1817 +3 1744 1667 1817 +3 1822 1588 1666 +3 1279 910 1624 +3 1282 1666 1588 +3 1589 1744 1825 +3 1745 1746 1681 +3 1592 1681 1746 +3 1746 1668 1592 +3 1669 1589 1825 +3 1827 1669 1825 +3 1674 1671 1670 +3 1671 1748 1670 +3 1748 1823 1749 +3 1749 1672 1748 +3 1745 1681 1750 +3 1674 1480 1673 +3 1670 1480 1674 +3 1672 1749 1753 +3 1822 1754 1482 +3 1280 1290 1630 +3 1588 1822 1482 +3 1827 1752 1677 +3 1679 1673 1479 +3 1480 1479 1673 +3 1593 1672 1753 +3 1753 1831 1593 +3 1750 1681 1680 +3 1594 1677 1756 +3 1756 1677 1752 +3 1479 1483 1679 +3 1682 1679 1483 +3 1831 1595 1593 +3 1676 1299 1998 +3 1829 1680 1597 +3 1594 1756 1684 +3 1483 1600 1682 +3 1595 1831 1760 +3 1489 1998 1299 +3 1602 1595 1760 +3 1600 1381 1686 +3 1487 1602 1760 +3 1603 1687 1489 +3 1486 1685 1763 +3 1487 1835 1603 +3 1289 1660 1293 +3 1604 1486 1763 +3 1290 1298 2028 +3 1490 1686 1381 +3 1838 1605 1604 +3 1660 1306 1293 +3 1838 1608 1605 +3 1606 1385 1609 +3 1688 1608 1838 +3 1609 1610 1766 +3 1611 1766 1610 +3 1847 1849 1692 +3 1623 1525 1695 +3 1692 1849 1693 +3 1694 1692 1693 +3 1298 1662 2028 +3 1695 1525 1697 +3 949 1306 1660 +3 1696 1694 1693 +3 1850 1698 1627 +3 1851 1699 1631 +3 1631 1698 1850 +3 1935 1631 1850 +3 1700 1632 1424 +3 1424 1701 1700 +3 1537 1770 1633 +3 2045 2028 1662 +3 1703 1635 1536 +3 1536 1704 1703 +3 949 1660 2047 +3 1705 1704 1536 +3 1639 1637 1772 +3 1638 1772 1637 +3 1636 1639 1771 +3 1638 1640 1774 +3 1640 1642 1774 +3 1707 1642 1542 +3 2047 1689 949 +3 1428 1708 1707 +3 1707 1542 1428 +3 1710 1428 1431 +3 1711 1431 1709 +3 1709 1429 1712 +3 1644 1712 1429 +3 1643 1777 1546 +3 1644 1433 1248 +3 1248 1250 1551 +3 1434 1778 1548 +3 1435 1547 1778 +3 1258 1714 1645 +3 1782 1875 1647 +3 1877 1716 1715 +3 1717 1647 1875 +3 1720 1714 1258 +3 2317 2045 1683 +3 1719 1718 1879 +3 1258 1650 1720 +3 1880 2048 1648 +3 1721 1560 1649 +3 1723 1648 2048 +3 2318 1651 1723 +3 1675 1678 969 +3 1786 1559 1652 +3 1654 1653 1724 +3 1654 1724 1655 +3 1725 1658 1655 +3 1658 1725 1567 +3 1726 1793 1567 +3 1731 1661 1729 +3 1793 1796 1729 +3 1796 1731 1729 +3 1730 1663 1661 +3 2050 1335 2056 +3 1731 1730 1661 +3 1733 1574 1575 +3 1664 1733 1575 +3 2317 1683 2076 +3 1730 1732 1663 +3 1683 1337 2076 +3 1732 1734 1576 +3 1577 1582 1735 +3 1582 1665 1735 +3 1665 1586 1735 +3 1335 1691 2056 +3 1576 1734 1585 +3 1736 1735 1586 +3 1738 1585 1734 +3 1736 1586 1739 +3 1469 1739 1586 +3 1741 1739 1469 +3 1812 1904 1666 +3 2101 1689 2315 +3 1817 1743 1815 +3 1691 1346 2078 +3 1743 1742 1815 +3 1668 1743 1817 +3 1903 1744 1817 +3 1666 1904 1822 +3 1745 1819 1820 +3 1746 1745 1742 +3 1820 1742 1745 +3 1742 1743 1746 +3 1906 1748 1671 +3 1823 1748 1906 +3 1907 1749 1823 +3 1819 1745 1826 +3 1750 1826 1745 +3 1913 1753 1749 +3 1822 1909 1754 +3 1752 1827 1916 +3 1829 1754 1909 +3 1829 1750 1680 +3 1756 1752 1916 +3 1756 1833 1684 +3 1757 1682 1600 +3 1831 1919 1760 +3 1600 1761 1757 +3 1760 1919 1762 +3 1834 1685 1684 +3 1761 1600 1686 +3 1762 1487 1760 +3 1487 1762 1835 +3 1603 1835 1687 +3 1834 1763 1685 +3 1836 1604 1763 +3 1838 1604 1836 +3 1371 1354 2068 +3 2068 1727 1371 +3 1609 1764 1606 +3 1838 1842 1688 +3 1688 1842 1844 +3 1728 2312 2076 +3 1844 1491 1688 +3 1765 1491 1844 +3 2002 2102 1617 +3 1617 1612 2002 +3 1614 1690 1932 +3 1847 1617 2102 +3 1690 1623 2005 +3 2005 1623 1695 +3 2006 1693 1849 +3 2096 2240 1354 +3 2007 1693 2006 +3 1727 1737 1371 +3 1767 1695 1697 +3 1696 1693 2007 +3 2007 1934 1696 +3 1767 1697 1629 +3 1696 1934 1627 +3 1851 1767 1629 +3 1935 1851 1631 +3 1701 1702 1853 +3 1936 1853 1702 +3 1702 1768 1936 +3 1853 1700 1701 +3 1768 1702 1633 +3 1770 1768 1633 +3 2310 2078 994 +3 1017 2103 1062 +3 1704 1705 1855 +3 1705 1706 1855 +3 1634 1632 1769 +3 1737 1747 1371 +3 1632 1700 1769 +3 1770 1537 1636 +3 1857 1855 1706 +3 1769 1857 1706 +3 1706 1634 1769 +3 1728 2232 2312 +3 1771 1639 1772 +3 1772 1638 1774 +3 1641 1538 1773 +3 1538 1635 1773 +3 1774 1642 1707 +3 1775 1643 1641 +3 1773 1775 1641 +3 1708 1428 1710 +3 1711 1710 1431 +3 1711 1709 1712 +3 1546 1777 1776 +3 1776 1547 1546 +3 1869 1644 1248 +3 1547 1776 1778 +3 1551 1869 1248 +3 1549 1548 1780 +3 1780 1548 1779 +3 1778 1779 1548 +3 2133 1953 1552 +3 1871 1552 1953 +3 1872 1713 1781 +3 1713 1872 1960 +3 1782 1713 1960 +3 1720 1645 1714 +3 1874 1781 1558 +3 1713 1558 1781 +3 1715 1721 1881 +3 1877 1715 1881 +3 1877 1876 1716 +3 1879 1716 1876 +3 1783 1874 1558 +3 1879 1883 1719 +3 1558 1559 1783 +3 1649 1785 1721 +3 1559 1786 1783 +3 1964 1722 1717 +3 2318 1723 2048 +3 1785 1649 1562 +3 1784 1722 1964 +3 1563 2052 1650 +3 1651 1785 1562 +3 1718 1719 1653 +3 1724 1653 1719 +3 1786 1652 1565 +3 1566 1788 1786 +3 1565 1566 1786 +3 1724 1886 1655 +3 1751 2118 2159 +3 1886 1887 1655 +3 1789 1788 1657 +3 1566 1657 1788 +3 1655 1887 1725 +3 1789 1657 1791 +3 1791 1790 1789 +3 1725 1968 1726 +3 1567 1725 1726 +3 1791 1659 1792 +3 1974 1793 1726 +3 1794 1792 1457 +3 1758 1759 2149 +3 2138 2149 1759 +3 1659 1457 1792 +3 1974 1796 1793 +3 1798 1794 1457 +3 1457 1570 1798 +3 1731 1796 1888 +3 1888 1796 1974 +3 1570 1800 1798 +3 1570 1572 1800 +3 1800 1572 1801 +3 1572 1574 1801 +3 1733 1801 1574 +3 1731 1802 1730 +3 1733 1664 1805 +3 1577 1805 1664 +3 2158 1416 1751 +3 1751 2159 2158 +3 1735 1805 1577 +3 1806 1734 1732 +3 1732 1730 1806 +3 1730 1802 1806 +3 1731 1803 1802 +3 1803 1731 1804 +3 1731 1888 1804 +3 2224 2126 1758 +3 1758 2149 2224 +3 1888 2060 1804 +3 1802 1807 1806 +3 1807 1802 1803 +3 1734 1806 1809 +3 1811 1810 1803 +3 2161 2123 2128 +3 1804 1811 1803 +3 2163 2161 2128 +3 1811 1804 2060 +3 2060 1983 1811 +3 1739 1808 1736 +3 1809 1738 1734 +3 2163 1393 1787 +3 1795 1397 1797 +3 1810 1813 1899 +3 1397 2158 1797 +3 1739 1741 1816 +3 1585 1738 1812 +3 1742 1813 1810 +3 1742 1810 1811 +3 1811 1815 1742 +3 1815 1811 1984 +3 1811 1983 1984 +3 1741 1740 1816 +3 1897 1904 1812 +3 1897 1812 1738 +3 1898 1899 1820 +3 1899 1813 1820 +3 1742 1820 1813 +3 1817 1815 1984 +3 2300 2163 1787 +3 1984 1903 1817 +3 1819 1898 1820 +3 1787 2173 2300 +3 1908 1740 1470 +3 1898 1819 1902 +3 1744 1903 2072 +3 1906 1987 1823 +3 1907 1823 1987 +3 1822 1904 1909 +3 1825 1744 2072 +3 1470 1676 1914 +3 1902 1819 1826 +3 1827 1825 2072 +3 2072 1911 1827 +3 1674 1912 1671 +3 1907 1913 1749 +3 1902 1826 1909 +3 1827 1911 1993 +3 1912 1673 1828 +3 1912 1674 1673 +3 1795 1797 2216 +3 1826 1829 1909 +3 2158 2216 1797 +3 1826 1750 1829 +3 2183 2302 1799 +3 1993 1916 1827 +3 1830 1828 1679 +3 1799 1814 2183 +3 1828 1673 1679 +3 1438 2301 1821 +3 1913 1915 1753 +3 1831 1753 1915 +3 1916 1917 1756 +3 1832 1830 1682 +3 1830 1679 1682 +3 1919 1831 1915 +3 1917 1833 1756 +3 1682 1757 1832 +3 2091 1998 1489 +3 2186 2173 1795 +3 1834 1684 1833 +3 1489 1687 2091 +3 1834 1836 1763 +3 1686 1837 1761 +3 1837 1686 1490 +3 1840 1837 1490 +3 1925 1838 1836 +3 2216 2190 1795 +3 1606 1840 1490 +3 1606 1926 1840 +3 1838 1925 1842 +3 1764 1609 1766 +3 1844 2002 1765 +3 1766 1611 1846 +3 2002 1612 1765 +3 1611 1614 1846 +3 1614 1932 1846 +3 2102 2204 1847 +3 1932 1690 2005 +3 2204 1849 1847 +3 1849 2204 2006 +3 1767 1933 1695 +3 2009 1627 1934 +3 2009 1850 1627 +3 2111 1851 1935 +3 1853 1852 1700 +3 2220 2298 1821 +3 1936 1768 1937 +3 2195 1441 1824 +3 1854 1937 1768 +3 1854 1768 1770 +3 1704 1941 1703 +3 1856 1769 1700 +3 1938 1854 1770 +3 1636 1858 1938 +3 1938 1770 1636 +3 1772 1859 1771 +3 2292 1824 1445 +3 1773 1635 1703 +3 1636 1771 1858 +3 2292 1445 2197 +3 1448 2197 1445 +3 1771 1859 1947 +3 1859 1772 1860 +3 2298 2197 1448 +3 1774 1860 1772 +3 1771 1947 1858 +3 1862 1860 1774 +3 1841 2290 1843 +3 2290 2209 1843 +3 1707 1862 1774 +3 1707 1708 1950 +3 1951 1950 1708 +3 2212 1843 2209 +3 1710 1951 1708 +3 1864 1949 1776 +3 1777 1864 1776 +3 1865 1864 1777 +3 1777 1643 1865 +3 1711 1867 1710 +3 1712 1867 1711 +3 1644 2030 1712 +3 1845 1839 1471 +3 1778 1776 1868 +3 1776 1949 1868 +3 1644 1869 2030 +3 1778 1868 1779 +3 1549 1780 2127 +3 1841 1843 1456 +3 1870 1551 1645 +3 2133 1549 2127 +3 1957 1871 1953 +3 1845 1471 1094 +3 1955 2142 1872 +3 2142 1960 1872 +3 1874 1958 1781 +3 1958 1955 1781 +3 1955 1872 1781 +3 1875 1782 1960 +3 1871 1957 1880 +3 2046 1876 1877 +3 1961 1962 1876 +3 2046 1961 1876 +3 1848 1841 1465 +3 1879 1876 1962 +3 1874 1783 1963 +3 1881 1721 2155 +3 1883 1879 1962 +3 1717 1875 1964 +3 1884 1720 1650 +3 1721 1785 2155 +3 1650 2052 1884 +3 1786 1885 1783 +3 2154 1784 1964 +3 1784 2154 1563 +3 2154 2052 1563 +3 1719 1883 2053 +3 2053 1965 1719 +3 1488 1861 1848 +3 1965 1724 1719 +3 1848 1465 1488 +3 1786 1788 1967 +3 1724 1965 1886 +3 1967 1788 1789 +3 1887 1886 1968 +3 1488 1873 1861 +3 1968 1725 1887 +3 1969 1789 1790 +3 1863 1866 1115 +3 1791 1972 1790 +3 1968 1970 1726 +3 1792 1972 1791 +3 1726 1970 1974 +3 1974 2058 1888 +3 1889 1976 1798 +3 1800 1889 1798 +3 1866 1494 1133 +3 1801 1890 1800 +3 1890 1801 1733 +3 1733 1891 1890 +3 1891 1733 1805 +3 1805 1980 1891 +3 2060 1888 2058 +3 1892 1980 1805 +3 1735 1892 1805 +3 1735 1736 1892 +3 1736 1893 1892 +3 1736 1808 1893 +3 1806 1895 1809 +3 1506 1494 1878 +3 2250 1873 1503 +3 1806 1807 1895 +3 1803 1810 1807 +3 1896 1895 1807 +3 1899 1896 1807 +3 1807 1810 1899 +3 1808 1739 1816 +3 1897 1809 1895 +3 1896 1897 1895 +3 1898 1896 1899 +3 1908 1816 1740 +3 1506 1878 2259 +3 1738 1809 1897 +3 1882 2250 1503 +3 1896 1900 1897 +3 1898 1902 1896 +3 1906 1989 1987 +3 1987 1988 1907 +3 1896 1902 1900 +3 1907 1988 2073 +3 1914 1908 1470 +3 1897 1909 1904 +3 1910 1909 1897 +3 1897 1900 1910 +3 1902 1910 1900 +3 1906 1671 1992 +3 1912 1992 1671 +3 1913 1907 1994 +3 1676 1998 1914 +3 1909 1910 1902 +3 1912 1828 1996 +3 1913 1994 1915 +3 1894 1522 2259 +3 2086 1915 1994 +3 1993 1995 2079 +3 1916 1993 2079 +3 2261 1508 2272 +3 1830 1996 1828 +3 1917 1916 2079 +3 2086 1919 1915 +3 1917 1920 1833 +3 1832 1757 1922 +3 2086 2088 1919 +3 2275 1901 1894 +3 2088 1762 1919 +3 1894 2270 2275 +3 1833 1920 1834 +3 1922 1757 1761 +3 1835 1762 2193 +3 1687 1835 2193 +3 1923 1836 1834 +3 1836 1923 1925 +3 1926 2095 1840 +3 1606 1764 1926 +3 2097 1842 1925 +3 1926 1764 1928 +3 1928 1764 1766 +3 1842 2001 1844 +3 2277 1550 1901 +3 1901 2275 2277 +3 1766 1931 1928 +3 1929 2002 1844 +3 1931 1766 1846 +3 1932 2003 1846 +3 2003 1932 2005 +3 2276 2278 1905 +3 2005 1695 1933 +3 2009 1934 2007 +3 1767 1851 2107 +3 2277 1924 1550 +3 1850 2009 2108 +3 1850 2108 1935 +3 2111 1935 2108 +3 2107 1851 2111 +3 1852 1853 1936 +3 1852 2010 1856 +3 1700 1852 1856 +3 2013 1939 1773 +3 1940 2013 1773 +3 1703 1940 1773 +3 2293 1921 1555 +3 1941 1704 1942 +3 1924 2293 1555 +3 1704 1855 1942 +3 1942 1855 1857 +3 1938 1858 1944 +3 1773 1939 1775 +3 1857 1945 1942 +3 2016 1945 1857 +3 2016 1857 1769 +3 1946 1944 1858 +3 1947 1946 1858 +3 1947 1859 1948 +3 1860 1948 1859 +3 1862 1948 1860 +3 1643 2012 1865 +3 1918 1921 2296 +3 1643 1775 2012 +3 1862 1707 1950 +3 2296 1921 2293 +3 1951 1710 1867 +3 1867 1712 2030 +3 1952 2024 1868 +3 1952 1868 1949 +3 1780 1779 2024 +3 2024 1779 1868 +3 1869 1551 1870 +3 2039 1953 2133 +3 1955 2041 2142 +3 1955 1958 1954 +3 1954 2041 1955 +3 2046 2146 1961 +3 1930 1943 1927 +3 2043 1962 1961 +3 1874 1963 2042 +3 2325 1943 1930 +3 2042 1958 1874 +3 2044 1875 1960 +3 2148 1875 2044 +3 2048 1880 1957 +3 2051 2046 1877 +3 1877 1881 2051 +3 1962 2153 1883 +3 2049 1963 1783 +3 2148 1964 1875 +3 1964 2148 2154 +3 1956 1927 1943 +3 2049 1783 1885 +3 1786 1966 1885 +3 1967 1966 1786 +3 1789 1969 1967 +3 1886 2055 1968 +3 1968 2160 1970 +3 1792 1794 2249 +3 1972 1792 2249 +3 2162 1974 1970 +3 2254 1956 1943 +3 1943 2333 2254 +3 2058 1974 2162 +3 1794 1798 1975 +3 2059 1975 1976 +3 1975 1798 1976 +3 2252 2060 2058 +3 1977 2059 1976 +3 1976 1889 1977 +3 1800 1978 1889 +3 1978 1800 1890 +3 1890 2061 1978 +3 1891 2061 1890 +3 1979 2061 1891 +3 1980 1979 1891 +3 1977 2066 2059 +3 1889 1981 1977 +3 1982 1981 1889 +3 1978 1982 1889 +3 2166 1983 2060 +3 1977 1981 2070 +3 2070 1981 1982 +3 1984 1983 2166 +3 2255 1984 2166 +3 2172 2167 1985 +3 1986 1985 2066 +3 2334 1584 1564 +3 2167 2066 1985 +3 1973 1584 2334 +3 1956 2254 2260 +3 2066 1977 1986 +3 1986 1977 2070 +3 1987 1989 2172 +3 1988 1987 1985 +3 1985 1987 2172 +3 1986 1988 1985 +3 1959 2329 1581 +3 2070 2071 1986 +3 1199 1581 2329 +3 1903 1984 2255 +3 2255 2072 1903 +3 1584 1205 1564 +3 2177 1989 1906 +3 1988 1986 2073 +3 1986 2071 2073 +3 1906 1992 2177 +3 1990 2073 2074 +3 1959 1578 1971 +3 2177 1992 1912 +3 2073 1990 1907 +3 1991 1908 1914 +3 1993 1911 2262 +3 1584 1973 1234 +3 2262 2075 1993 +3 1990 1994 1907 +3 2086 1994 1990 +3 2086 1990 2077 +3 1998 1991 1914 +3 2075 1995 1993 +3 2181 1912 1996 +3 2079 1997 1917 +3 1578 1247 1971 +3 2079 2185 1997 +3 1832 2196 1830 +3 2193 1762 2088 +3 1599 1234 1973 +3 2091 1687 2193 +3 1999 1834 1920 +3 1761 2000 1922 +3 1837 2000 1761 +3 1971 1247 1598 +3 2330 1971 1598 +3 1834 1999 1923 +3 1923 2200 1925 +3 1837 1840 2095 +3 1925 2200 2097 +3 1842 2097 2001 +3 1844 2001 1929 +3 2202 1931 1846 +3 2003 2202 1846 +3 2002 1929 2102 +3 2005 2203 2003 +3 2104 2203 2005 +3 1933 2104 2005 +3 2204 2205 2006 +3 2205 2206 2006 +3 1598 1620 2253 +3 2206 2007 2006 +3 2105 1933 1767 +3 2009 2007 2206 +3 2206 2106 2009 +3 1767 2107 2105 +3 2009 2106 2108 +3 2108 2110 2111 +3 2010 1852 2112 +3 1936 2112 1852 +3 2113 2112 1937 +3 1936 1937 2112 +3 1854 2113 1937 +3 2011 1940 1703 +3 1703 1941 2011 +3 1854 1938 1944 +3 1775 1939 2012 +3 2011 2013 1940 +3 2015 2014 1941 +3 1942 2015 1941 +3 1620 2326 2165 +3 2114 2016 1856 +3 1769 1856 2016 +3 1949 2017 1952 +3 2018 2017 1949 +3 1949 1864 2018 +3 1864 1865 2018 +3 2019 2015 1942 +3 1942 1945 2019 +3 1261 1616 2004 +3 1947 2032 1946 +3 2020 2032 1947 +3 1947 2021 2020 +3 2021 1947 1948 +3 1948 2022 2021 +3 1862 2022 1948 +3 2023 2022 1862 +3 1630 2324 2326 +3 2326 1620 1630 +3 1950 2023 1862 +3 2004 2008 1279 +3 2119 2023 1950 +3 1951 2119 1950 +3 2119 1951 2029 +3 1867 2029 1951 +3 2129 2122 1945 +3 2323 2324 1630 +3 2122 2019 1945 +3 1945 2016 2129 +3 2008 2027 1279 +3 2032 2031 1946 +3 2025 2021 2026 +3 2022 2026 2021 +3 2029 1867 2030 +3 2024 2220 1780 +3 2032 2020 2025 +3 2021 2025 2020 +3 1290 2323 1630 +3 2124 2025 2026 +3 2127 1780 2220 +3 2035 2031 2032 +3 2025 2034 2032 +3 2032 2034 2035 +3 2027 1289 1279 +3 2124 2034 2025 +3 2132 2034 2124 +3 1290 2247 2323 +3 2034 2037 2035 +3 1870 1645 2143 +3 2037 2034 2132 +3 2132 2038 2037 +3 2132 2134 2038 +3 2038 2134 2137 +3 2037 2038 2041 +3 2041 2038 2137 +3 1953 2039 1957 +3 2040 2036 1954 +3 2036 2037 1954 +3 2037 2041 1954 +3 2137 2142 2041 +3 2150 1957 2039 +3 1289 2027 1660 +3 1954 1958 2040 +3 2040 1958 2042 +3 2028 2247 1290 +3 2033 1660 2027 +3 2043 1961 2140 +3 1961 2146 2140 +3 2144 2043 2140 +3 2142 2044 1960 +3 2145 2044 2142 +3 1884 2147 1720 +3 2145 2148 2044 +3 1962 2043 2151 +3 2151 2153 1962 +3 1884 2052 2241 +3 2318 2048 2242 +3 1660 2033 2047 +3 1883 2153 2243 +3 2028 2045 2320 +3 2243 2053 1883 +3 2054 2049 1885 +3 1966 2054 1885 +3 1965 2053 2245 +3 2053 2243 2245 +3 1886 1965 2245 +3 2245 2055 1886 +3 2055 2248 1968 +3 1969 1790 2057 +3 1968 2248 2160 +3 2249 2057 1790 +3 1790 1972 2249 +3 1970 2160 2322 +3 2322 2162 1970 +3 1794 2164 2249 +3 1794 1975 2164 +3 2251 2252 2058 +3 1979 1980 2064 +3 2252 2166 2060 +3 2167 2059 2066 +3 2061 2062 1978 +3 1980 1892 2064 +3 2045 2317 2320 +3 2064 1892 2065 +3 1892 1893 2065 +3 1689 2047 2063 +3 1982 1978 2170 +3 1978 2062 2170 +3 2069 1893 1808 +3 2070 1982 2174 +3 2174 1982 2170 +3 2260 2069 1816 +3 2069 1808 1816 +3 2172 1989 2177 +3 2050 2056 2156 +3 1675 2050 2156 +3 1816 1908 2260 +3 2071 2070 2175 +3 2174 2175 2070 +3 2072 2255 2257 +3 2074 2073 2071 +3 2175 2074 2071 +3 2072 2257 1911 +3 2257 2262 1911 +3 1912 2181 2177 +3 969 2242 1336 +3 1995 2075 2265 +3 1990 2074 2077 +3 2077 2074 2182 +3 2079 1995 2080 +3 1689 2063 2315 +3 2080 1995 2265 +3 2239 2056 1691 +3 2179 2184 2080 +3 2242 2150 1017 +3 1336 2242 1017 +3 2265 2179 2080 +3 2238 2317 2076 +3 2180 2083 2082 +3 2181 1996 2083 +3 2180 2181 2083 +3 2078 2239 1691 +3 2185 2079 2080 +3 2185 2080 2184 +3 2067 1354 2241 +3 2068 1354 2067 +3 2084 2082 2083 +3 2083 2085 2084 +3 1830 2085 2083 +3 1996 1830 2083 +3 2086 2077 2182 +3 2182 2269 2086 +3 2185 2191 1997 +3 2087 2192 2085 +3 2192 2084 2085 +3 1830 2196 2085 +3 2196 2087 2085 +3 2088 2086 2269 +3 1998 2091 2189 +3 2189 2089 1998 +3 1917 1997 2090 +3 2240 2241 1354 +3 2193 2088 2269 +3 2090 1920 1917 +3 2196 1832 2092 +3 1922 2093 2092 +3 1832 1922 2092 +3 2189 2091 2193 +3 1920 2090 1999 +3 2093 1922 2000 +3 2000 1837 2094 +3 2281 2097 2200 +3 2095 1926 2098 +3 1928 2098 1926 +3 2100 2098 1928 +3 2281 2001 2097 +3 1931 2100 1928 +3 2281 2282 2001 +3 1931 2202 2100 +3 1727 2068 2081 +3 2099 1727 2081 +3 2312 2238 2076 +3 2282 1929 2001 +3 2202 2003 2285 +3 2102 1929 2283 +3 2203 2285 2003 +3 2101 2315 2109 +3 2204 2102 2283 +3 2104 1933 2105 +3 2289 2106 2206 +3 2105 2107 2291 +3 2106 2289 2207 +3 2108 2106 2207 +3 2110 2108 2207 +3 2110 2208 2111 +3 2111 2208 2291 +3 2291 2107 2111 +3 1854 2214 2113 +3 2012 1939 2013 +3 2014 2011 1941 +3 1856 2010 2114 +3 2010 2210 2114 +3 2219 2214 1944 +3 2214 1854 1944 +3 2017 2115 1952 +3 2012 2018 1865 +3 2015 2019 2116 +3 2116 2014 2015 +3 2096 2313 2240 +3 2313 2147 2240 +3 2117 2219 1946 +3 1944 1946 2219 +3 2220 2024 2115 +3 1737 1727 2099 +3 1952 2115 2024 +3 2129 2016 2114 +3 2117 1946 2031 +3 2022 2023 2026 +3 2101 2109 2118 +3 2120 2119 2029 +3 2120 2029 2121 +3 2030 2121 2029 +3 2019 2122 2218 +3 2123 2117 2031 +3 2124 2026 2222 +3 2023 2222 2026 +3 2030 2125 2121 +3 1737 2230 1747 +3 1869 2126 2125 +3 2030 1869 2125 +3 2122 2130 2218 +3 2225 2124 2222 +3 1870 2126 1869 +3 2131 2130 2122 +3 2122 2129 2131 +3 2031 2035 2123 +3 2132 2124 2225 +3 2109 2229 2118 +3 2133 2127 2306 +3 2036 2035 2037 +3 2225 2134 2132 +3 2225 2309 2134 +3 2306 2039 2133 +3 2139 2235 2308 +3 2138 1747 2230 +3 2135 2139 2231 +3 2308 2231 2139 +3 2231 2234 2135 +3 2134 2099 2137 +3 2237 2235 2139 +3 2236 2135 2234 +3 2136 2036 2040 +3 2135 2140 2139 +3 1728 2128 2232 +3 2142 2137 2314 +3 2139 2140 2146 +3 2229 2159 2118 +3 2237 2139 2146 +3 2310 1755 2308 +3 2144 2140 2135 +3 2236 2144 2135 +3 1062 2103 2306 +3 2040 2042 2238 +3 2313 1758 2126 +3 2313 2096 1758 +3 2314 2145 2142 +3 1645 1720 2147 +3 2237 2146 2239 +3 2051 2239 2046 +3 2230 2141 2138 +3 2146 2046 2239 +3 2314 2316 2145 +3 2150 2048 1957 +3 2123 2232 2128 +3 2042 1963 2152 +3 2316 2148 2145 +3 2043 2144 2151 +3 1963 2049 2152 +3 2051 1881 2156 +3 2148 2316 2154 +3 2308 1755 1799 +3 2154 2316 2067 +3 2067 2241 2052 +3 1068 1062 2306 +3 2048 2150 2242 +3 2155 2156 1881 +3 2067 2052 2154 +3 2156 2155 1785 +3 2138 2303 2304 +3 2304 2149 2138 +3 2243 2153 2151 +3 1651 2318 1678 +3 1678 1675 1651 +3 1785 1651 1675 +3 1675 2156 1785 +3 2246 2054 1966 +3 1967 2246 1966 +3 2157 2246 1967 +3 1967 1969 2157 +3 2245 2321 2055 +3 2248 2055 2321 +3 1969 2057 2157 +3 2322 2160 2248 +3 2251 2058 2162 +3 1975 2059 2164 +3 2165 2326 2059 +3 1799 2302 2308 +3 2253 2165 2167 +3 2301 1068 2306 +3 2059 2167 2165 +3 2252 2327 2166 +3 2168 2062 2061 +3 2224 2149 2305 +3 2168 2061 1979 +3 2064 2169 2168 +3 2149 2304 2305 +3 2168 1979 2064 +3 2169 2064 2065 +3 2069 2169 2065 +3 2065 1893 2069 +3 2253 2167 2172 +3 2062 2171 2170 +3 2168 2171 2062 +3 2330 2253 2172 +3 2170 2256 2174 +3 2171 2256 2170 +3 2177 2330 2172 +3 2256 2258 2174 +3 2176 2175 2174 +3 2174 2258 2176 +3 1908 2178 2260 +3 1908 1991 2178 +3 2158 2159 2221 +3 2181 2263 2177 +3 2265 2075 2262 +3 2181 2180 2266 +3 2074 2175 2268 +3 2175 2176 2268 +3 2268 2182 2074 +3 2089 1991 1998 +3 2184 2179 2082 +3 2179 2267 2082 +3 2267 2180 2082 +3 2184 2187 2185 +3 2161 2163 2300 +3 2187 2184 2082 +3 2082 2084 2187 +3 2191 2185 2188 +3 2187 2188 2185 +3 2084 2192 2187 +3 2158 2221 2216 +3 2192 2188 2187 +3 2189 2193 2269 +3 2302 2183 2299 +3 2194 2090 1997 +3 1997 2191 2194 +3 2090 2198 1999 +3 2199 2093 2000 +3 2199 2000 2094 +3 1923 1999 2198 +3 2270 1923 2198 +3 2095 2279 2094 +3 1837 2095 2094 +3 2173 2186 2297 +3 2297 2300 2173 +3 1923 2270 2280 +3 2200 1923 2280 +3 2281 2200 2280 +3 2098 2201 2095 +3 1795 2190 2186 +3 2202 2284 2100 +3 1929 2282 2244 +3 2244 2283 1929 +3 2285 2284 2202 +3 2285 2203 2233 +3 2286 2204 2283 +3 2203 2104 2233 +3 2233 2104 2288 +3 2205 2204 2286 +3 2205 2286 2287 +3 2206 2205 2287 +3 2288 2104 2105 +3 2289 2206 2287 +3 1818 2299 2183 +3 2217 2299 1818 +3 2290 2105 2291 +3 2295 2012 2013 +3 2013 2011 2295 +3 2211 2210 2010 +3 2112 2211 2010 +3 2211 2112 2213 +3 2213 2297 2186 +3 2213 2112 2113 +3 2213 2113 2214 +3 2017 2215 2115 +3 2018 2215 2017 +3 2213 2186 2190 +3 2190 2211 2213 +3 2216 2114 2210 +3 2218 2217 2116 +3 2019 2218 2116 +3 2216 2211 2190 +3 2221 2129 2114 +3 1818 2195 2014 +3 2216 2221 2114 +3 2228 2217 2218 +3 2023 2119 2222 +3 2119 2223 2222 +3 2119 2120 2223 +3 2295 2195 1824 +3 2223 2120 2305 +3 2215 2292 2197 +3 2121 2305 2120 +3 2224 2121 2125 +3 2126 2224 2125 +3 2215 2197 2298 +3 2301 2127 2220 +3 2218 2130 2228 +3 2222 2141 2225 +3 2223 2303 2226 +3 1824 2294 2295 +3 2226 2222 2223 +3 2129 2229 2131 +3 2141 2230 2225 +3 1824 2292 2294 +3 2141 2222 2226 +3 2127 2301 2306 +3 2308 2228 2231 +3 2228 2130 2231 +3 2232 2123 2035 +3 2035 2036 2232 +3 2230 2309 2225 +3 2234 2231 2130 +3 2130 2131 2234 +3 2234 2131 2229 +3 2036 2136 2232 +3 2229 2109 2234 +3 2309 2099 2134 +3 2109 2236 2234 +3 2136 2040 2238 +3 2099 2314 2137 +3 2147 2143 1645 +3 2039 2103 2150 +3 2078 2237 2239 +3 1839 1845 2212 +3 2240 2147 1884 +3 2238 2042 2152 +3 2144 2063 2151 +3 2068 2067 2316 +3 1839 2289 2227 +3 2290 1841 1848 +3 2152 2049 2320 +3 2063 2319 2151 +3 2319 2243 2151 +3 2049 2054 2320 +3 2245 2243 2319 +3 2227 1471 1839 +3 2033 2245 2319 +3 2157 2247 2246 +3 2321 2245 2033 +3 2321 2027 2248 +3 2323 2247 2057 +3 2247 2157 2057 +3 2027 2322 2248 +3 2249 2324 2323 +3 2323 2057 2249 +3 2326 2324 2164 +3 2249 2164 2324 +3 2251 2162 2322 +3 2004 2251 2322 +3 2059 2326 2164 +3 2251 2004 2327 +3 1863 1471 2227 +3 2327 2252 2251 +3 2166 2327 2328 +3 2254 2171 2168 +3 2169 2254 2168 +3 2328 2255 2166 +3 1848 1861 2233 +3 2257 2255 2328 +3 2257 2328 1973 +3 2332 2256 2171 +3 2258 2256 2332 +3 2262 2257 2334 +3 2176 2258 2325 +3 2233 1861 2284 +3 2325 2258 2332 +3 2265 2262 2334 +3 2329 2266 2267 +3 2263 2181 2266 +3 2178 1991 2089 +3 2179 2265 1564 +3 1861 1873 2284 +3 2266 2180 2267 +3 2307 2268 2176 +3 2176 2325 2307 +3 2182 2268 2307 +3 2269 2182 2307 +3 2307 2273 2269 +3 1866 2244 1494 +3 2089 2189 2273 +3 2273 2189 2269 +3 1924 2194 2191 +3 2293 1924 2191 +3 2191 2188 2293 +3 2284 1873 2250 +3 2188 2296 2293 +3 2244 1878 1494 +3 2087 2196 2274 +3 2276 2274 2196 +3 2196 2092 2276 +3 2090 2194 2277 +3 2276 2092 2093 +3 2278 2276 2093 +3 2093 2199 2278 +3 2275 2198 2090 +3 2199 2094 2279 +3 2270 2198 2275 +3 2270 2264 2280 +3 2095 2201 2279 +3 2264 2259 1878 +3 2264 2281 2280 +3 2250 2201 2100 +3 2250 1882 2201 +3 2201 2098 2100 +3 2281 2264 1878 +3 1878 2282 2281 +3 2284 2250 2100 +3 2282 1878 2244 +3 2283 2244 1866 +3 2284 2285 2233 +3 2283 1866 2286 +3 1866 1863 2286 +3 2201 1882 2261 +3 1863 2227 2286 +3 1848 2233 2288 +3 2227 2287 2286 +3 2261 2279 2201 +3 1848 2288 2290 +3 2289 2287 2227 +3 2259 2264 1894 +3 2105 2290 2288 +3 2289 1839 2207 +3 2207 1839 2212 +3 2110 2207 2212 +3 2270 1894 2264 +3 2209 2208 2110 +3 2212 2209 2110 +3 2290 2291 2208 +3 2208 2209 2290 +3 2292 2215 2294 +3 2018 2294 2215 +3 2012 2295 2294 +3 2279 2261 2271 +3 2018 2012 2294 +3 2261 2272 2271 +3 2011 2014 2195 +3 2195 2295 2011 +3 2216 2210 2211 +3 2199 2279 2271 +3 2278 2199 2271 +3 2272 2278 2271 +3 2297 2213 2214 +3 2297 2214 2219 +3 2220 2115 2298 +3 2298 2115 2215 +3 2116 2217 1818 +3 2014 2116 1818 +3 2277 2275 2090 +3 2300 2297 2219 +3 2217 2228 2299 +3 2161 2300 2219 +3 2219 2117 2161 +3 2220 1821 2301 +3 2228 2302 2299 +3 2117 2123 2161 +3 2303 2223 2304 +3 2305 2304 2223 +3 2305 2121 2224 +3 2159 2229 2129 +3 2129 2221 2159 +3 2138 2141 2226 +3 2303 2138 2226 +3 2302 2228 2308 +3 2312 2232 2136 +3 2143 2313 1870 +3 2194 1924 2277 +3 2126 1870 2313 +3 2103 2039 2306 +3 2308 2235 2310 +3 2192 2087 1918 +3 2274 1918 2087 +3 2237 2310 2235 +3 2099 2309 2311 +3 2309 2230 2311 +3 1918 2296 2192 +3 2230 1737 2311 +3 2313 2143 2147 +3 2237 2078 2310 +3 2238 2312 2136 +3 2099 2311 1737 +3 2150 2103 1017 +3 2236 2109 2315 +3 2314 2099 2081 +3 2316 2314 2081 +3 1884 2241 2240 +3 2144 2236 2315 +3 2296 2188 2192 +3 2068 2316 2081 +3 2063 2144 2315 +3 2152 2317 2238 +3 2051 2056 2239 +3 2156 2056 2051 +3 2317 2152 2320 +3 2242 969 2318 +3 2089 2273 1930 +3 969 1678 2318 +3 2047 2319 2063 +3 2307 1930 2273 +3 2054 2246 2320 +3 2319 2047 2033 +3 2320 2246 2028 +3 1930 1927 2089 +3 2247 2028 2246 +3 2033 2027 2321 +3 2322 2027 2008 +3 2322 2008 2004 +3 2004 1616 2327 +3 2327 1616 1607 +3 2253 1620 2165 +3 2327 1607 2328 +3 2307 2325 1930 +3 1607 1599 2328 +3 2253 2330 1598 +3 2328 1599 1973 +3 2331 1959 1971 +3 1971 2330 2331 +3 2089 1927 2178 +3 2254 2169 2069 +3 2330 2177 2331 +3 2332 2171 2333 +3 2171 2254 2333 +3 2254 2069 2260 +3 1973 2334 2257 +3 1959 2331 2263 +3 2177 2263 2331 +3 1943 2332 2333 +3 2260 2178 1956 +3 2265 2334 1564 +3 1564 1573 2179 +3 2267 2179 1199 +3 1573 1199 2179 +3 2267 1199 2329 +3 1959 2266 2329 +3 1959 2263 2266 +3 2325 2332 1943 +3 1956 2178 1927 + diff --git a/Polygon_mesh_processing/examples/Polygon_mesh_processing/non_rigid_mesh_registration_example.cpp b/Polygon_mesh_processing/examples/Polygon_mesh_processing/non_rigid_mesh_registration_example.cpp index 5b5fe2af64b3..7dede40b07bd 100644 --- a/Polygon_mesh_processing/examples/Polygon_mesh_processing/non_rigid_mesh_registration_example.cpp +++ b/Polygon_mesh_processing/examples/Polygon_mesh_processing/non_rigid_mesh_registration_example.cpp @@ -20,8 +20,8 @@ using FT = K::FT; namespace PMP = CGAL::Polygon_mesh_processing; int main(int, char**) { - const std::string source_fn = CGAL::data_file_path("meshes/bear.off"); - const std::string target_fn = CGAL::data_file_path("meshes/bear_bis.off"); + const std::string source_fn = "data/bear_simple.off"; + const std::string target_fn = "data/bear_bis_simple.off"; const std::string corr_fn = "data/bear_bear_bis.corr"; Mesh source, target; @@ -67,7 +67,12 @@ int main(int, char**) { std::cout << std::endl << out.str() << std::endl; - PMP::non_rigid_mesh_to_mesh_registration(source, target, vtm, vrm, CGAL::parameters::point_to_point_energy(w1).point_to_plane_energy(w2).as_rigid_as_possible_energy(w3).correspondences(std::cref(correspondences_mesh))); + PMP::non_rigid_mesh_to_mesh_registration(source, target, vtm, vrm, + CGAL::parameters::point_to_point_weight(w1) + .point_to_plane_weight(w2) + .as_rigid_as_possible_weight(w3) + .correspondences(std::cref(correspondences_mesh))); + PMP::apply_non_rigid_transformation(source, vtm); CGAL::IO::write_polygon_mesh(out.str(), source); diff --git a/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/non_rigid_mesh_registration.h b/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/non_rigid_mesh_registration.h index edbcd2b64b8a..4475d22eeb36 100644 --- a/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/non_rigid_mesh_registration.h +++ b/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/non_rigid_mesh_registration.h @@ -130,7 +130,7 @@ void insertSparseMatrix(const SparseMat& mat, std::vector& coeffi } template -void rotation(std::size_t index, Visitor &v, TriangleMesh &source, const Vertices& X, const Vertices& Z, const std::set& neighbors, const std::vector &weights, std::vector> &rotations) { +void rotation(std::size_t index, Visitor &v, const TriangleMesh &source, const Vertices& X, const Vertices& Z, const std::set& neighbors, const std::vector &weights, std::vector> &rotations) { using Vertex_index = typename boost::graph_traits::vertex_descriptor; Deformation_Eigen_closest_rotation_traits_3 cr; @@ -184,7 +184,7 @@ Eigen::Matrix rot(T a, T b, T c) { * * @note This function requires the \ref thirdpartyEigen library. * -* @tparam TriangleMesh a model of `MutableFaceGraph`. +* @tparam TriangleMesh a const model of `FaceGraph`. * @tparam PointRange is a model of `ConstRange`. The value type of * its iterator is the key type of the named parameter `point_map`. * @tparam VertexTranslationMap is a property map with `boost::graph_traits::%vertex_descriptor` @@ -208,19 +208,19 @@ Eigen::Matrix rot(T a, T b, T c) { * \cgalParamDefault{`50`} * \cgalParamNEnd * -* \cgalParamNBegin{point_to_plane_energy} -* \cgalParamDescription{the weight of the point to plane distance in the registration} +* \cgalParamNBegin{point_to_plane_weight} +* \cgalParamDescription{the weight of the point to plane energy in the registration} * \cgalParamType{double} * \cgalParamDefault{`1`} * \cgalParamNEnd * -* \cgalParamNBegin{point_to_point_energy} -* \cgalParamDescription{the weight of the point to matching point distance in the registration} +* \cgalParamNBegin{point_to_point_weight} +* \cgalParamDescription{the weight of the point to matching point energy in the registration} * \cgalParamType{double} * \cgalParamDefault{`1`} * \cgalParamNEnd * -* \cgalParamNBegin{as_rigid_as_possible_energy} +* \cgalParamNBegin{as_rigid_as_possible_weight} * \cgalParamDescription{defines the rigidity of the registration} * \cgalParamType{double} * \cgalParamDefault{`50`} @@ -233,8 +233,8 @@ Eigen::Matrix rot(T a, T b, T c) { * \cgalParamNEnd * * \cgalParamNBegin{correspondences} -* \cgalParamDescription{an range of matching vertex-point pairs between the `source` and the `target`.} -* \cgalParamType{`ConstRange` whose value type is a pair of `boost::graph_traits::%vertex_descriptor` and the element type of `PointRange`.} +* \cgalParamDescription{a range of matching vertex-point pairs between the `source` and the `target`.} +* \cgalParamType{`ConstRange` whose value type is a pair of `boost::graph_traits::%vertex_descriptor` and the value type of `PointRange`.} * \cgalParamDefault{empty} * \cgalParamExtra{to avoid copies, this parameter can be passed using `std::cref`.} * \cgalParamNEnd @@ -279,7 +279,7 @@ template -void non_rigid_mesh_to_points_registration(TriangleMesh& source, +void non_rigid_mesh_to_points_registration(const TriangleMesh& source, const PointRange& target, VertexTranslationMap& vtm, VertexRotationMap& vrm, @@ -288,9 +288,9 @@ void non_rigid_mesh_to_points_registration(TriangleMesh& source, { #ifdef CGAL_EIGEN3_ENABLED const size_t iter = parameters::choose_parameter(parameters::get_parameter(np1, internal_np::number_of_iterations), 50); - const double w2 = parameters::choose_parameter(parameters::get_parameter(np1, internal_np::point_to_plane_energy), 2); - const double w1 = parameters::choose_parameter(parameters::get_parameter(np1, internal_np::point_to_point_energy), 0.1); - const double w3 = parameters::choose_parameter(parameters::get_parameter(np1, internal_np::as_rigid_as_possible_energy), 20); + const double w2 = parameters::choose_parameter(parameters::get_parameter(np1, internal_np::point_to_plane_weight), 2); + const double w1 = parameters::choose_parameter(parameters::get_parameter(np1, internal_np::point_to_point_weight), 0.1); + const double w3 = parameters::choose_parameter(parameters::get_parameter(np1, internal_np::as_rigid_as_possible_weight), 20); const double max_matching_dist = parameters::choose_parameter(parameters::get_parameter(np1, internal_np::maximum_matching_distance), 0); using namespace internal::registration; @@ -720,8 +720,8 @@ static_assert(false, "Eigen library is required for non-rigid mesh registration" * * @note This function requires the \ref thirdpartyEigen library. * -* @tparam TriangleMesh1 a model of `MutableFaceGraph`. -* @tparam TriangleMesh2 a const model of the `MutableFaceGraph`. +* @tparam TriangleMesh1 a const model of `FaceGraph`. +* @tparam TriangleMesh2 a const model of `FaceGraph`. * @tparam VertexTranslationMap is a property map with `boost::graph_traits::%vertex_descriptor` * as key type and a \cgal Kernel `Vector_3` as value type. * @tparam VertexRotationMap is a property map with `boost::graph_traits::%vertex_descriptor` @@ -743,19 +743,19 @@ static_assert(false, "Eigen library is required for non-rigid mesh registration" * \cgalParamDefault{`50`} * \cgalParamNEnd * -* \cgalParamNBegin{point_to_plane_energy} -* \cgalParamDescription{the weight of the point to plane distance in the registration} +* \cgalParamNBegin{point_to_plane_weight} +* \cgalParamDescription{the weight of the point to plane energy in the registration} * \cgalParamType{double} * \cgalParamDefault{`1`} * \cgalParamNEnd * -* \cgalParamNBegin{point_to_point_energy} -* \cgalParamDescription{the weight of the point to matching point distance in the registration} +* \cgalParamNBegin{point_to_point_weight} +* \cgalParamDescription{the weight of the point to matching point energy in the registration} * \cgalParamType{double} * \cgalParamDefault{`1`} * \cgalParamNEnd * -* \cgalParamNBegin{as_rigid_as_possible_energy} +* \cgalParamNBegin{as_rigid_as_possible_weight} * \cgalParamDescription{defines the rigidity of the registration} * \cgalParamType{double} * \cgalParamDefault{`50`} @@ -817,7 +817,7 @@ template -void non_rigid_mesh_to_mesh_registration(TriangleMesh1& source, +void non_rigid_mesh_to_mesh_registration(const TriangleMesh1& source, const TriangleMesh2& target, VertexTranslationMap& vtm, VertexRotationMap& vrm, @@ -870,9 +870,9 @@ void non_rigid_mesh_to_mesh_registration(TriangleMesh1& source, /*! * \ingroup PMP_registration_grp * -* \brief applies a non-rigid transformation to the vertices of the mesh. Face and vertex normal vectors are invalid after transformation. +* \brief applies a non-rigid transformation to the vertices of the mesh. Face and vertex normal vectors are not updated after transformation. * -* @tparam TriangleMesh a model of `MutableFaceGraph`. +* @tparam TriangleMesh a model of `FaceGraph`. * @tparam VertexTranslationMap is a property map with `boost::graph_traits::%vertex_descriptor` * as key type and a \cgal Kernel `Vector_3` as value type. * @tparam NamedParameters a sequence of \ref bgl_namedparameters "Named Parameters". @@ -902,21 +902,17 @@ void non_rigid_mesh_to_mesh_registration(TriangleMesh1& source, template -void apply_non_rigid_transformation(TriangleMesh& mesh, +void apply_non_rigid_transformation(const TriangleMesh& mesh, const VertexTranslationMap& vtm, const NamedParameters& np = parameters::default_values()) { - using Gt = typename GetGeomTraits::type; + using Gt = typename GetGeomTraits::type; using Vertex_point_map = typename GetVertexPointMap::type; using Vector_map_tag = dynamic_vertex_property_t; - using Vector_map_tag = dynamic_vertex_property_t; using Default_vector_map = typename boost::property_map::type; - using Vertex_normal_map = typename internal_np::Lookup_named_param_def::type; + using Point = typename Gt::Point_3; - Vertex_point_map vpm = parameters::choose_parameter(parameters::get_parameter(np, internal_np::vertex_point), get_property_map(CGAL::vertex_point, mesh)); - Vertex_normal_map vnm = parameters::choose_parameter(parameters::get_parameter(np, internal_np::vertex_normal_map), get(Vector_map_tag(), mesh)); + Vertex_point_map vpm = parameters::choose_parameter(parameters::get_parameter(np, internal_np::vertex_point), get_const_property_map(CGAL::vertex_point, mesh)); for (auto v : vertices(mesh)) { Point p = get(vpm, v); diff --git a/STL_Extension/include/CGAL/STL_Extension/internal/parameters_interface.h b/STL_Extension/include/CGAL/STL_Extension/internal/parameters_interface.h index fe04b6160686..2580d2120cd5 100644 --- a/STL_Extension/include/CGAL/STL_Extension/internal/parameters_interface.h +++ b/STL_Extension/include/CGAL/STL_Extension/internal/parameters_interface.h @@ -165,9 +165,9 @@ CGAL_add_named_parameter(postprocess_regions_t, postprocess_regions, postprocess CGAL_add_named_parameter(sizing_function_t, sizing_function, sizing_function) CGAL_add_named_parameter(bbox_scaling_t, bbox_scaling, bbox_scaling) CGAL_add_named_parameter(correspondences_t, correspondences, correspondences) -CGAL_add_named_parameter(point_to_plane_energy_t, point_to_plane_energy, point_to_plane_energy) -CGAL_add_named_parameter(point_to_point_energy_t, point_to_point_energy, point_to_point_energy) -CGAL_add_named_parameter(as_rigid_as_possible_energy_t, as_rigid_as_possible_energy, as_rigid_as_possible_energy) +CGAL_add_named_parameter(point_to_plane_weight_t, point_to_plane_weight, point_to_plane_weight) +CGAL_add_named_parameter(point_to_point_weight_t, point_to_point_weight, point_to_point_weight) +CGAL_add_named_parameter(as_rigid_as_possible_weight_t, as_rigid_as_possible_weight, as_rigid_as_possible_weight) CGAL_add_named_parameter(maximum_matching_distance_t, maximum_matching_distance, maximum_matching_distance) // List of named parameters that we use in the package 'Surface Mesh Simplification' diff --git a/Surface_mesh_deformation/include/CGAL/Surface_mesh_deformation.h b/Surface_mesh_deformation/include/CGAL/Surface_mesh_deformation.h index a536e13ddaed..629bec74032f 100644 --- a/Surface_mesh_deformation/include/CGAL/Surface_mesh_deformation.h +++ b/Surface_mesh_deformation/include/CGAL/Surface_mesh_deformation.h @@ -90,10 +90,10 @@ struct Types_selectors struct ARAP_visitor { - void init(TriangleMesh, VertexPointMap){} + void init(const TriangleMesh, VertexPointMap){} void rotation_matrix_pre(typename boost::graph_traits::vertex_descriptor, - TriangleMesh&){} + const TriangleMesh&){} template void update_covariance_matrix(Square_matrix_3&, @@ -125,7 +125,7 @@ struct Types_selectors public: ARAP_visitor(): m_alpha(0.02) {} - void init(TriangleMesh triangle_mesh, const VertexPointMap& vpmap) + void init(const TriangleMesh triangle_mesh, const VertexPointMap& vpmap) { // calculate area m_area = 0; @@ -143,7 +143,7 @@ struct Types_selectors void rotation_matrix_pre( typename boost::graph_traits::vertex_descriptor vi, - TriangleMesh& hg) + const TriangleMesh& hg) { typename boost::graph_traits::in_edge_iterator e, e_end; std::tie(e,e_end) = in_edges(vi, hg); From 6b363ec9772e6a228276a4e34686a563f5c3a853 Mon Sep 17 00:00:00 2001 From: Sven Oesau Date: Wed, 16 Oct 2024 13:47:06 +0200 Subject: [PATCH 27/41] adapt CHANGES.md --- Installation/CHANGES.md | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/Installation/CHANGES.md b/Installation/CHANGES.md index c7ab2ea4d9df..501f59c27c79 100644 --- a/Installation/CHANGES.md +++ b/Installation/CHANGES.md @@ -1,5 +1,11 @@ # Release History +## [Release 6.1](https://github.com/CGAL/cgal/releases/tag/v6.1) + +### [Polygon Mesh Processing](https://doc.cgal.org/6.1/Manual/packages.html#PkgPolygonMeshProcessing) + +- Added two functions for non-rigid registration of mesh to mesh and mesh to point cloud [`CGAL::Polygon_mesh_processing::non_rigid_mesh_to_mesh_registration()`](https://doc.cgal.org/6.1/Polygon_mesh_processing/group__PMP__registration__grp.html#ga04e4101a21663bebb689de30bb7d2f4e) and [`CGAL::Polygon_mesh_processing::non_rigid_mesh_to_points_registration()`](https://doc.cgal.org/6.1/Polygon_mesh_processing/group__PMP__registration__grp.html#ga466fd5b15e5de0b65faf48947a7f2bef) as well as a function to apply a transformation [`CGAL::Polygon_mesh_processing::apply_non_rigid_transformation()`](https://doc.cgal.org/6.1/Polygon_mesh_processing/group__PMP__registration__grp.html#gac022fccce4796cba9ff710865154b127) + ## [Release 6.0.1](https://github.com/CGAL/cgal/releases/tag/v6.0.1) ### [Poisson Surface Reconstruction](https://doc.cgal.org/6.0.1/Manual/packages.html#PkgPoissonSurfaceReconstruction3) @@ -185,7 +191,6 @@ Release date: September 2024 which can be used to refine a polygon mesh along an isocurve. - Added the function [`CGAL::Polygon_mesh_processing::add_bbox()`](https://doc.cgal.org/6.0/Polygon_mesh_processing/group__PkgPolygonMeshProcessingRef.html#gabaf98d2fd9ae599ff1f3a5a6cde79cf3), which enables adding a tight or extended, triangulated or not, bounding box to a face graph. -- Added two functions for non-rigid registration of mesh to mesh and mesh to point cloud [`CGAL::Polygon_mesh_processing::non_rigid_mesh_to_mesh_registration()`](https://doc.cgal.org/6.0/Polygon_mesh_processing/group__PMP__registration__grp.html#ga04e4101a21663bebb689de30bb7d2f4e) and [`CGAL::Polygon_mesh_processing::non_rigid_mesh_to_points_registration()`](https://doc.cgal.org/6.0/Polygon_mesh_processing/group__PMP__registration__grp.html#ga466fd5b15e5de0b65faf48947a7f2bef) as well as a function to apply a transformation [`CGAL::Polygon_mesh_processing::apply_non_rigid_transformation()`](https://doc.cgal.org/6.0/Polygon_mesh_processing/group__PMP__registration__grp.html#gac022fccce4796cba9ff710865154b127) ### [2D Triangulations](https://doc.cgal.org/6.0/Manual/packages.html#PkgTriangulation2) - **Breaking change**: the concept [`TriangulationTraits_2`](https://doc.cgal.org/6.0/Triangulation_2/classTriangulationTraits__2.html) now requires an additional functor `Compare_xy_2`. From 7a10001fbb0e35fdfcd43ddf727b3ddc0197ca67 Mon Sep 17 00:00:00 2001 From: Sven Oesau Date: Thu, 17 Oct 2024 08:22:36 +0200 Subject: [PATCH 28/41] another pass for review removed warning --- .../doc/Polygon_mesh_processing/PackageDescription.txt | 5 +++++ .../doc/Polygon_mesh_processing/Polygon_mesh_processing.txt | 4 ++-- .../Polygon_mesh_processing/non_rigid_mesh_registration.h | 2 -- 3 files changed, 7 insertions(+), 4 deletions(-) diff --git a/Polygon_mesh_processing/doc/Polygon_mesh_processing/PackageDescription.txt b/Polygon_mesh_processing/doc/Polygon_mesh_processing/PackageDescription.txt index 50eb6d7a7caa..ec6dfae534d4 100644 --- a/Polygon_mesh_processing/doc/Polygon_mesh_processing/PackageDescription.txt +++ b/Polygon_mesh_processing/doc/Polygon_mesh_processing/PackageDescription.txt @@ -261,6 +261,11 @@ The page \ref bgl_namedparameters "Named Parameters" describes their usage. - `CGAL::Polygon_mesh_processing::region_growing_of_planes_on_faces()` - `CGAL::Polygon_mesh_processing::detect_corners_of_regions()` +\cgalCRPSection{Registration Functions} +- `CGAL::Polygon_mesh_processing::non_rigid_mesh_to_points_registration()` +- `CGAL::Polygon_mesh_processing::non_rigid_mesh_to_mesh_registration()` +- `CGAL::Polygon_mesh_processing::apply_non_rigid_transformation()` + \cgalCRPSection{Miscellaneous} - `CGAL::Polygon_mesh_slicer` diff --git a/Polygon_mesh_processing/doc/Polygon_mesh_processing/Polygon_mesh_processing.txt b/Polygon_mesh_processing/doc/Polygon_mesh_processing/Polygon_mesh_processing.txt index 8e9015e0ee9f..91826ebd1f13 100644 --- a/Polygon_mesh_processing/doc/Polygon_mesh_processing/Polygon_mesh_processing.txt +++ b/Polygon_mesh_processing/doc/Polygon_mesh_processing/Polygon_mesh_processing.txt @@ -1457,7 +1457,7 @@ where: - \f$\mathbf{M}\f$ is the intermediate mesh (initially equal to the source mesh). - \f$N(\mathbf{v}_i)\f$ denotes the set of vertices adjacent to \f$\mathbf{v}_i\f$. -The \f$\mathbf{E_{match}}\f$ energy penalizes the distance between point pairs \f$\mathbf{v}_i\f$ and \f$\mathbf{\tilde{v}}_i\f$. The point pairs are restablished after each iteration. In addition, the method can take fixed point pairs of correspondences between source and target. This greatly improves the quality of the registration and is generally required for non-simple meshes. +The \f$\mathbf{E_{match}}\f$ energy penalizes the distance between point pairs \f$\mathbf{v}_i\f$ and \f$\mathbf{\tilde{v}}_i\f$. The point pairs are restablished after each iteration. In addition, the method can take fixed point pairs of correspondences between source and target. This greatly improves the quality of the registration and is generally required when the initial alignment of the source and target is poor. The \f$\mathbf{E_{point\_to\_plane}}\f$ energy is similar to \f$\mathbf{E_{match}}\f$, but instead penalizes the distance to the plane given by the target vertex and its normal. This energy compensates for different discretizations, i.e., for source and target mesh that were not created by deforming one mesh into the other. @@ -1489,7 +1489,7 @@ Non-rigid registration using five correspondences on top of the head and at the \subsection PMPNonRigidRegistrationExample Non-rigid registration Example -In the following example the bear.off model is registered onto the bear_bis.off model. The resulting transformed mesh is then saved as off file with a name depending on the chosen parameters. +In the following example the bear_simple.off model is registered onto the bear_simple_bis.off model. The resulting transformed mesh is then saved as off file with a name depending on the chosen parameters. \cgalExample{Polygon_mesh_processing/non_rigid_mesh_registration_example.cpp} diff --git a/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/non_rigid_mesh_registration.h b/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/non_rigid_mesh_registration.h index 4475d22eeb36..9d92acac0729 100644 --- a/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/non_rigid_mesh_registration.h +++ b/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/non_rigid_mesh_registration.h @@ -907,8 +907,6 @@ void apply_non_rigid_transformation(const TriangleMesh& mesh, const NamedParameters& np = parameters::default_values()) { using Gt = typename GetGeomTraits::type; using Vertex_point_map = typename GetVertexPointMap::type; - using Vector_map_tag = dynamic_vertex_property_t; - using Default_vector_map = typename boost::property_map::type; using Point = typename Gt::Point_3; From b8937ab401fb12381c121d4997e67daaac7ffc8b Mon Sep 17 00:00:00 2001 From: Sven Oesau Date: Wed, 30 Oct 2024 13:51:52 +0100 Subject: [PATCH 29/41] adding proper edge weights for new arap weight as suggested by Roberto --- .../non_rigid_mesh_registration_example.cpp | 6 +-- .../non_rigid_mesh_registration.h | 37 ++++++++++++++----- 2 files changed, 31 insertions(+), 12 deletions(-) diff --git a/Polygon_mesh_processing/examples/Polygon_mesh_processing/non_rigid_mesh_registration_example.cpp b/Polygon_mesh_processing/examples/Polygon_mesh_processing/non_rigid_mesh_registration_example.cpp index 7dede40b07bd..2ef29674cd9b 100644 --- a/Polygon_mesh_processing/examples/Polygon_mesh_processing/non_rigid_mesh_registration_example.cpp +++ b/Polygon_mesh_processing/examples/Polygon_mesh_processing/non_rigid_mesh_registration_example.cpp @@ -53,9 +53,9 @@ int main(int, char**) { Mesh::Property_map> vrm = source.add_property_map>("v:rotation").first; Mesh::Property_map vtm = source.add_property_map("v:translation").first; - FT w1 = 0.2; - FT w2 = 0.2; - FT w3 = 5000; + FT w1 = 5; + FT w2 = 20; + FT w3 = 500; new_arap = true; std::ostringstream out; diff --git a/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/non_rigid_mesh_registration.h b/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/non_rigid_mesh_registration.h index 9d92acac0729..7bb1664ecba3 100644 --- a/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/non_rigid_mesh_registration.h +++ b/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/non_rigid_mesh_registration.h @@ -441,15 +441,34 @@ void non_rigid_mesh_to_points_registration(const TriangleMesh& source, int a = XF(i, 0); int b = XF(i, 1); int c = XF(i, 2); - edge_coefficients.push_back(SparseTriplet(idx, a, 1)); - edge_coefficients.push_back(SparseTriplet(idx, b, -1)); - idx++; - edge_coefficients.push_back(SparseTriplet(idx, b, 1)); - edge_coefficients.push_back(SparseTriplet(idx, c, -1)); - idx++; - edge_coefficients.push_back(SparseTriplet(idx, c, 1)); - edge_coefficients.push_back(SparseTriplet(idx, a, -1)); - idx++; + if (new_arap) { + auto ha = halfedge(Vertex_index(a), Vertex_index(b), source); + double w_a = wc(ha.first, source, vpm); + auto hb = halfedge(Vertex_index(b), Vertex_index(c), source); + double w_b = wc(hb.first, source, vpm); + auto hc = halfedge(Vertex_index(c), Vertex_index(a), source); + double w_c = wc(hc.first, source, vpm); + edge_coefficients.push_back(SparseTriplet(idx, a, w_a)); + edge_coefficients.push_back(SparseTriplet(idx, b, -w_a)); + idx++; + edge_coefficients.push_back(SparseTriplet(idx, b, w_b)); + edge_coefficients.push_back(SparseTriplet(idx, c, -w_b)); + idx++; + edge_coefficients.push_back(SparseTriplet(idx, c, w_c)); + edge_coefficients.push_back(SparseTriplet(idx, a, -w_c)); + idx++; + } + else { + edge_coefficients.push_back(SparseTriplet(idx, a, 1)); + edge_coefficients.push_back(SparseTriplet(idx, b, -1)); + idx++; + edge_coefficients.push_back(SparseTriplet(idx, b, 1)); + edge_coefficients.push_back(SparseTriplet(idx, c, -1)); + idx++; + edge_coefficients.push_back(SparseTriplet(idx, c, 1)); + edge_coefficients.push_back(SparseTriplet(idx, a, -1)); + idx++; + } } SparseMat B(XF.rows() * XF.cols(), X.rows()); B.setFromTriplets(edge_coefficients.begin(), edge_coefficients.end()); From 47b7f67983cd56aa1b82efdea0c8cecdc39411e0 Mon Sep 17 00:00:00 2001 From: Sven Oesau Date: Mon, 18 Nov 2024 08:35:38 +0100 Subject: [PATCH 30/41] switching licenses from LGPL to GPL --- .../include/CGAL/Deformation_Eigen_closest_rotation_traits_3.h | 2 +- .../CGAL/Deformation_Eigen_polar_closest_rotation_traits_3.h | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/Surface_mesh_deformation/include/CGAL/Deformation_Eigen_closest_rotation_traits_3.h b/Surface_mesh_deformation/include/CGAL/Deformation_Eigen_closest_rotation_traits_3.h index b74261b1250b..ae1085f06866 100644 --- a/Surface_mesh_deformation/include/CGAL/Deformation_Eigen_closest_rotation_traits_3.h +++ b/Surface_mesh_deformation/include/CGAL/Deformation_Eigen_closest_rotation_traits_3.h @@ -5,7 +5,7 @@ // // $URL$ // $Id$ -// SPDX-License-Identifier: LGPL-3.0-or-later OR LicenseRef-Commercial +// SPDX-License-Identifier: GPL-3.0-or-later OR LicenseRef-Commercial // // Author(s) : Gael Guennebaud and Ilker O. Yaz diff --git a/Surface_mesh_deformation/include/CGAL/Deformation_Eigen_polar_closest_rotation_traits_3.h b/Surface_mesh_deformation/include/CGAL/Deformation_Eigen_polar_closest_rotation_traits_3.h index 9a94375100e3..4ca1c5d54e11 100644 --- a/Surface_mesh_deformation/include/CGAL/Deformation_Eigen_polar_closest_rotation_traits_3.h +++ b/Surface_mesh_deformation/include/CGAL/Deformation_Eigen_polar_closest_rotation_traits_3.h @@ -5,7 +5,7 @@ // // $URL$ // $Id$ -// SPDX-License-Identifier: LGPL-3.0-or-later OR LicenseRef-Commercial +// SPDX-License-Identifier: GPL-3.0-or-later OR LicenseRef-Commercial // // Author(s) : Gael Guennebaud Ilker O. Yaz From 688f4a1e2b17507d06ec777d0c2d0ed4275a3512 Mon Sep 17 00:00:00 2001 From: Sven Oesau Date: Mon, 18 Nov 2024 12:13:00 +0100 Subject: [PATCH 31/41] moving ARAP visitor into Weights package changing license of ARAP visitor from GPL to LGPL --- .../include/CGAL/Surface_mesh_deformation.h | 94 +------------- Weights/include/CGAL/Weights/arap_weights.h | 118 ++++++++++++++++++ 2 files changed, 119 insertions(+), 93 deletions(-) create mode 100644 Weights/include/CGAL/Weights/arap_weights.h diff --git a/Surface_mesh_deformation/include/CGAL/Surface_mesh_deformation.h b/Surface_mesh_deformation/include/CGAL/Surface_mesh_deformation.h index 629bec74032f..cb92205fed0b 100644 --- a/Surface_mesh_deformation/include/CGAL/Surface_mesh_deformation.h +++ b/Surface_mesh_deformation/include/CGAL/Surface_mesh_deformation.h @@ -22,6 +22,7 @@ #include #include #include +#include #include #include @@ -43,15 +44,6 @@ namespace CGAL { -/// \ingroup PkgSurfaceMeshDeformationRef -///@brief Deformation algorithm type -enum Deformation_algorithm_tag -{ - ORIGINAL_ARAP, /**< use original as-rigid-as possible algorithm */ - SPOKES_AND_RIMS, /**< use spokes and rims version of as-rigid-as possible algorithm */ - SRE_ARAP /**< use smooth rotation enhanced As-rigid-as-possible */ -}; - /// @cond CGAL_DOCUMENT_INTERNAL namespace internal { @@ -79,90 +71,6 @@ struct SC_on_the_fly_pmap } }; -template -struct Types_selectors; - -template -struct Types_selectors -{ - typedef CGAL::Weights::Single_cotangent_weight Weight_calculator; - - struct ARAP_visitor - { - void init(const TriangleMesh, VertexPointMap){} - - void rotation_matrix_pre(typename boost::graph_traits::vertex_descriptor, - const TriangleMesh&){} - - template - void update_covariance_matrix(Square_matrix_3&, - const Square_matrix_3&){} - - void set_sre_arap_alpha(double){} - }; -}; - -template -struct Types_selectors -{ - typedef CGAL::Weights::Cotangent_weight Weight_calculator; - - typedef typename Types_selectors::ARAP_visitor ARAP_visitor; -}; - -template -struct Types_selectors -{ - typedef CGAL::Weights::Cotangent_weight Weight_calculator; - - class ARAP_visitor - { - double m_nb_edges_incident; - double m_area; - double m_alpha; - - public: - ARAP_visitor(): m_alpha(0.02) {} - - void init(const TriangleMesh triangle_mesh, const VertexPointMap& vpmap) - { - // calculate area - m_area = 0; - typedef typename boost::graph_traits::face_descriptor face_descriptor; - for(face_descriptor f : faces(triangle_mesh)) - { - typename boost::graph_traits::halfedge_descriptor - h = halfedge(f, triangle_mesh); - m_area += std::sqrt(CGAL::squared_area( - get(vpmap, source(h, triangle_mesh) ), - get(vpmap, target(h, triangle_mesh) ), - get(vpmap, target(next(h, triangle_mesh), triangle_mesh) ) )); - } - } - - void rotation_matrix_pre( - typename boost::graph_traits::vertex_descriptor vi, - const TriangleMesh& hg) - { - typename boost::graph_traits::in_edge_iterator e, e_end; - std::tie(e,e_end) = in_edges(vi, hg); - m_nb_edges_incident=(double) std::distance(e,e_end); - } - - template - void update_covariance_matrix( - Square_matrix_3& cov, - const Square_matrix_3& rot_mtr) - { - // add neighbor rotation - cov += m_alpha * m_area * rot_mtr.transpose() / m_nb_edges_incident; - } - - void set_sre_arap_alpha(double a){ m_alpha=a; } - }; -}; - }//namespace internal /// @endcond diff --git a/Weights/include/CGAL/Weights/arap_weights.h b/Weights/include/CGAL/Weights/arap_weights.h new file mode 100644 index 000000000000..8c6114360487 --- /dev/null +++ b/Weights/include/CGAL/Weights/arap_weights.h @@ -0,0 +1,118 @@ +// Copyright (c) 2014 GeometryFactory SARL (France). +// All rights reserved. +// +// This file is part of CGAL (www.cgal.org). +// +// $URL$ +// $Id$ +// SPDX-License-Identifier: LGPL-3.0-or-later OR LicenseRef-Commercial +// +// Author(s) : Yin Xu, Andreas Fabri and Ilker O. Yaz + +#ifndef CGAL_ARAP_WEIGHTS_H +#define CGAL_ARAP_WEIGHTS_H + +#include "cotangent_weights.h" + +namespace CGAL { + +/// \ingroup PkgWeightsRefARAPWeights +///@brief Deformation algorithm type +enum Deformation_algorithm_tag +{ + ORIGINAL_ARAP, /**< use original as-rigid-as possible algorithm */ + SPOKES_AND_RIMS, /**< use spokes and rims version of as-rigid-as possible algorithm */ + SRE_ARAP /**< use smooth rotation enhanced As-rigid-as-possible */ +}; + +namespace internal { + +template +struct Types_selectors; + +template +struct Types_selectors +{ + typedef CGAL::Weights::Single_cotangent_weight Weight_calculator; + + struct ARAP_visitor + { + void init(const TriangleMesh, VertexPointMap) {} + + void rotation_matrix_pre(typename boost::graph_traits::vertex_descriptor, + const TriangleMesh&) {} + + template + void update_covariance_matrix(Square_matrix_3&, + const Square_matrix_3&) {} + + void set_sre_arap_alpha(double) {} + }; +}; + +template +struct Types_selectors +{ + typedef CGAL::Weights::Cotangent_weight Weight_calculator; + + typedef typename Types_selectors::ARAP_visitor ARAP_visitor; +}; + +template +struct Types_selectors +{ + typedef CGAL::Weights::Cotangent_weight Weight_calculator; + + class ARAP_visitor + { + double m_nb_edges_incident; + double m_area; + double m_alpha; + + public: + ARAP_visitor() : m_alpha(0.02) {} + + void init(const TriangleMesh triangle_mesh, const VertexPointMap& vpmap) + { + // calculate area + m_area = 0; + typedef typename boost::graph_traits::face_descriptor face_descriptor; + for (face_descriptor f : faces(triangle_mesh)) + { + typename boost::graph_traits::halfedge_descriptor + h = halfedge(f, triangle_mesh); + m_area += std::sqrt(CGAL::squared_area( + get(vpmap, source(h, triangle_mesh)), + get(vpmap, target(h, triangle_mesh)), + get(vpmap, target(next(h, triangle_mesh), triangle_mesh)))); + } + } + + void rotation_matrix_pre( + typename boost::graph_traits::vertex_descriptor vi, + const TriangleMesh& hg) + { + typename boost::graph_traits::in_edge_iterator e, e_end; + std::tie(e, e_end) = in_edges(vi, hg); + m_nb_edges_incident = (double)std::distance(e, e_end); + } + + template + void update_covariance_matrix( + Square_matrix_3& cov, + const Square_matrix_3& rot_mtr) + { + // add neighbor rotation + cov += m_alpha * m_area * rot_mtr.transpose() / m_nb_edges_incident; + } + + void set_sre_arap_alpha(double a) { m_alpha = a; } + }; +}; + +} + +} + +#endif From 2159beeca55b4e2bbc38b6ce4ac07c83654e75a4 Mon Sep 17 00:00:00 2001 From: Sven Oesau Date: Mon, 18 Nov 2024 15:13:29 +0100 Subject: [PATCH 32/41] vertex normals are estimated if not provided --- .../non_rigid_mesh_registration_example.cpp | 4 --- .../non_rigid_mesh_registration.h | 27 +++++++++++-------- 2 files changed, 16 insertions(+), 15 deletions(-) diff --git a/Polygon_mesh_processing/examples/Polygon_mesh_processing/non_rigid_mesh_registration_example.cpp b/Polygon_mesh_processing/examples/Polygon_mesh_processing/non_rigid_mesh_registration_example.cpp index 2ef29674cd9b..2ffe5d99a365 100644 --- a/Polygon_mesh_processing/examples/Polygon_mesh_processing/non_rigid_mesh_registration_example.cpp +++ b/Polygon_mesh_processing/examples/Polygon_mesh_processing/non_rigid_mesh_registration_example.cpp @@ -46,10 +46,6 @@ int main(int, char**) { } } - auto vnm = target.add_property_map("v:normal"); - if (vnm.second) - PMP::compute_vertex_normals(target, vnm.first); - Mesh::Property_map> vrm = source.add_property_map>("v:rotation").first; Mesh::Property_map vtm = source.add_property_map("v:translation").first; diff --git a/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/non_rigid_mesh_registration.h b/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/non_rigid_mesh_registration.h index 7bb1664ecba3..2ab91e1dbf4d 100644 --- a/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/non_rigid_mesh_registration.h +++ b/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/non_rigid_mesh_registration.h @@ -209,21 +209,24 @@ Eigen::Matrix rot(T a, T b, T c) { * \cgalParamNEnd * * \cgalParamNBegin{point_to_plane_weight} -* \cgalParamDescription{the weight of the point to plane energy in the registration} +* \cgalParamDescription{the weight \f$w_2\f$ of the point to plane energy in the registration. } * \cgalParamType{double} * \cgalParamDefault{`1`} +* \cgalParamExtra{\f$w_2\f$ needs to be 0 or positive. See \ref PMPNonRigidRegistrationParameters.} * \cgalParamNEnd * * \cgalParamNBegin{point_to_point_weight} -* \cgalParamDescription{the weight of the point to matching point energy in the registration} +* \cgalParamDescription{the weight \f$w_1\f$ of the point to matching point energy in the registration} * \cgalParamType{double} * \cgalParamDefault{`1`} +* \cgalParamExtra{\f$w_1\f$ needs to be 0 or positive. See \ref PMPNonRigidRegistrationParameters.} * \cgalParamNEnd * * \cgalParamNBegin{as_rigid_as_possible_weight} * \cgalParamDescription{defines the rigidity of the registration} * \cgalParamType{double} * \cgalParamDefault{`50`} +* \cgalParamExtra{The weight \f$w_3\f$ needs to be 0 or positive. See \ref PMPNonRigidRegistrationParameters.} * \cgalParamNEnd * * \cgalParamNBegin{maximum_matching_distance} @@ -763,21 +766,24 @@ static_assert(false, "Eigen library is required for non-rigid mesh registration" * \cgalParamNEnd * * \cgalParamNBegin{point_to_plane_weight} -* \cgalParamDescription{the weight of the point to plane energy in the registration} +* \cgalParamDescription{the weight \f$w_2\f$ of the point to plane energy in the registration. } * \cgalParamType{double} * \cgalParamDefault{`1`} +* \cgalParamExtra{\f$w_2\f$ needs to be 0 or positive. See \ref PMPNonRigidRegistrationParameters.} * \cgalParamNEnd * * \cgalParamNBegin{point_to_point_weight} -* \cgalParamDescription{the weight of the point to matching point energy in the registration} +* \cgalParamDescription{the weight \f$w_1\f$ of the point to matching point energy in the registration} * \cgalParamType{double} * \cgalParamDefault{`1`} +* \cgalParamExtra{\f$w_1\f$ needs to be 0 or positive. See \ref PMPNonRigidRegistrationParameters.} * \cgalParamNEnd * * \cgalParamNBegin{as_rigid_as_possible_weight} * \cgalParamDescription{defines the rigidity of the registration} * \cgalParamType{double} * \cgalParamDefault{`50`} +* \cgalParamExtra{The weight \f$w_3\f$ needs to be 0 or positive. See \ref PMPNonRigidRegistrationParameters.} * \cgalParamNEnd * * \cgalParamNBegin{maximum_matching_distance} @@ -795,7 +801,7 @@ static_assert(false, "Eigen library is required for non-rigid mesh registration" * * \cgalParamNBegin{vertex_point_map} * \cgalParamDescription{a property map associating points to the vertices of `source`} -* \cgalParamType{a class model of `ReadablePropertyMap` with `boost::graph_traits::%vertex_descriptor` +* \cgalParamType{a class model of `ReadablePropertyMap` with `boost::graph_traits::%vertex_descriptor` * as key type and `%Point_3` as value type} * \cgalParamDefault{`get_const_property_map(CGAL::vertex_point, source)`} * \cgalParamExtra{If this parameter is omitted, an internal property map for `CGAL::vertex_point_t` @@ -815,13 +821,12 @@ static_assert(false, "Eigen library is required for non-rigid mesh registration" * \cgalParamDescription{a property map associating normals to the vertices of `target`} * \cgalParamType{a class model of `ReadablePropertyMap` with `boost::graph_traits::%vertex_descriptor` * as key type and `%Vector_3` as value type} -* \cgalParamDefault{`get_const_property_map(dynamic_vertex_property_t(), target)`} -* \cgalParamExtra{If this parameter is omitted, an internal property map for `CGAL::vertex_normal_map_t` -* must be available in `TriangleMesh2`.} +* \cgalParamDefault{`get(dynamic_vertex_property_t(), target)`} +* \cgalParamExtra{If this parameter is omitted, vertex normals will be computed using `compute_vertex_normals()`.} * \cgalParamNEnd * \cgalParamNBegin{vertex_point_map} * \cgalParamDescription{a property map associating points to the vertices of `target`} -* \cgalParamType{a class model of `ReadablePropertyMap` with `boost::graph_traits::%vertex_descriptor` +* \cgalParamType{a class model of `ReadablePropertyMap` with `boost::graph_traits::%vertex_descriptor` * as key type and `%Point_3` as value type} * \cgalParamDefault{`get_const_property_map(CGAL::vertex_point, target)`} * \cgalParamExtra{If this parameter is omitted, an internal property map for `CGAL::vertex_point_t` @@ -856,8 +861,8 @@ void non_rigid_mesh_to_mesh_registration(const TriangleMesh1& source, Vertex_normal_map vnm = parameters::choose_parameter(parameters::get_parameter(np2, internal_np::vertex_normal_map), get(Vector_map_tag(), target)); // if the normal map is not provided, compute it - if (parameters::is_default_parameter::value) - compute_vertex_normals(target, vnm, np2); + if (parameters::is_default_parameter::value) + compute_vertex_normals(target, vnm, np2); typedef typename CGAL::internal_np::Lookup_named_param_def::vertex_descriptor, typename boost::graph_traits::vertex_descriptor>>>::reference Correspondences_type; Correspondences_type correspondences = CGAL::parameters::choose_parameter(CGAL::parameters::get_parameter_reference(np1, CGAL::internal_np::correspondences), std::vector::vertex_descriptor, typename boost::graph_traits::vertex_descriptor>>()); From 37d66b779bb742c5086250d1854adefb90217872 Mon Sep 17 00:00:00 2001 From: Sven Oesau Date: Wed, 20 Nov 2024 17:12:51 +0100 Subject: [PATCH 33/41] documentation of Deformation_algorithm_tag --- .../non_rigid_mesh_registration_example.cpp | 5 +- .../non_rigid_mesh_registration.h | 67 +++++++++++++++---- .../include/CGAL/Surface_mesh_deformation.h | 12 ++++ Weights/include/CGAL/Weights/arap_weights.h | 6 +- 4 files changed, 73 insertions(+), 17 deletions(-) diff --git a/Polygon_mesh_processing/examples/Polygon_mesh_processing/non_rigid_mesh_registration_example.cpp b/Polygon_mesh_processing/examples/Polygon_mesh_processing/non_rigid_mesh_registration_example.cpp index 2ffe5d99a365..3b5a5615e4de 100644 --- a/Polygon_mesh_processing/examples/Polygon_mesh_processing/non_rigid_mesh_registration_example.cpp +++ b/Polygon_mesh_processing/examples/Polygon_mesh_processing/non_rigid_mesh_registration_example.cpp @@ -69,7 +69,10 @@ int main(int, char**) { .as_rigid_as_possible_weight(w3) .correspondences(std::cref(correspondences_mesh))); - PMP::apply_non_rigid_transformation(source, vtm); + //auto vnm4 = source.add_property_map("v:normal"); + auto vnm4 = source.property_map("v:normal"); + + PMP::apply_non_rigid_transformation(source, vtm, vrm); CGAL::IO::write_polygon_mesh(out.str(), source); return EXIT_SUCCESS; diff --git a/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/non_rigid_mesh_registration.h b/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/non_rigid_mesh_registration.h index 2ab91e1dbf4d..d2112802e407 100644 --- a/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/non_rigid_mesh_registration.h +++ b/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/non_rigid_mesh_registration.h @@ -28,8 +28,8 @@ #include #include -#include #include +#include #include #include @@ -169,6 +169,27 @@ Eigen::Matrix rot(T a, T b, T c) { } #endif + +template +struct Rotate_vertex_normals { + Rotate_vertex_normals() { std::cout << "empty" << std::endl; } + void update(const Mesh& mesh, const VertexRotationMap& vrm, const VertexNormalMap& vnm) const { + } +}; + +template +struct Rotate_vertex_normals { + Rotate_vertex_normals() { std::cout << "vertex" << std::endl; } + void update(const Mesh& mesh, const VertexRotationMap &vrm, const VertexNormalMap& vnm) const { + using Vector_3 = typename VertexNormalMap::value_type; + for (auto v : vertices(mesh)) { + Vector_3 n = get(vnm, v); + auto rotation = get(vrm, v); + put(vnm, v, rotation.inverse().transform(n)); + } + } +}; + } // namespace registration } // namespace internal @@ -898,37 +919,49 @@ void non_rigid_mesh_to_mesh_registration(const TriangleMesh1& source, * * @tparam TriangleMesh a model of `FaceGraph`. * @tparam VertexTranslationMap is a property map with `boost::graph_traits::%vertex_descriptor` - * as key type and a \cgal Kernel `Vector_3` as value type. +* as key type and a \cgal Kernel `Vector_3` as value type. +* @tparam VertexRotationMap is a property map with `boost::graph_traits::%vertex_descriptor` +* as key type and a \cgal Kernel `Aff_transformation_3` as value type. Only the rotational part of the transformations is considered. * @tparam NamedParameters a sequence of \ref bgl_namedparameters "Named Parameters". * * @param mesh the triangle mesh to be transformed. -* @param vtm a readable vertex property map of `mesh` to store the translation vector of the registration. +* @param vtm a readable vertex property map of `mesh` that contains the translation vector of the registration. +* @param vrm a readable vertex property map of `mesh` that contains the rotational part of the registration. * @param np an optional sequence of \ref bgl_namedparameters "Named Parameters" among the ones listed below. * * \cgalNamedParamsBegin -* \cgalParamNBegin{geom_traits} -* \cgalParamDescription{an instance of a geometric traits class} -* \cgalParamType{a class model of `Kernel`} -* \cgalParamDefault{a \cgal Kernel deduced from the point type, using `CGAL::Kernel_traits`} -* \cgalParamExtra{The geometric traits class must be compatible with the vertex point type.} -* \cgalParamNEnd -* * \cgalParamNBegin{vertex_point_map} -* \cgalParamDescription{a property map associating points to the vertices of `source`} +* \cgalParamDescription{a property map associating points to the vertices of `mesh`} * \cgalParamType{a class model of `ReadWritePropertyMap` with `boost::graph_traits::%vertex_descriptor` * as key type and `%Point_3` as value type} * \cgalParamDefault{`get_const_property_map(CGAL::vertex_point, source)`} * \cgalParamExtra{If this parameter is omitted, an internal property map for `CGAL::vertex_point_t` * must be available in `TriangleMesh`.} * \cgalParamNEnd +* +* \cgalParamNBegin{vertex_normal_map} +* \cgalParamDescription{a property map associating normals to the vertices of `mesh`} +* \cgalParamType{a class model of `ReadWritePropertyMap` with `boost::graph_traits::%vertex_descriptor` +* as key type and `%Vector_3` as value type} +* \cgalParamExtra{If this parameter is provided, the contained normals will be updated.} +* \cgalParamNEnd +* +* \cgalParamNBegin{face_normal_map} +* \cgalParamDescription{a property map associating normals to the faces of `mesh`} +* \cgalParamType{a class model of `ReadWritePropertyMap` with `boost::graph_traits::%vertex_descriptor` +* as key type and `%Vector_3` as value type} +* \cgalParamExtra{If this parameter is provided, the contained normals will be updated.} +* \cgalParamNEnd * \cgalNamedParamsEnd */ template void apply_non_rigid_transformation(const TriangleMesh& mesh, - const VertexTranslationMap& vtm, - const NamedParameters& np = parameters::default_values()) { + const VertexTranslationMap& vtm, + const VertexRotationMap& vrm, + const NamedParameters& np = parameters::default_values()) { using Gt = typename GetGeomTraits::type; using Vertex_point_map = typename GetVertexPointMap::type; @@ -936,11 +969,19 @@ void apply_non_rigid_transformation(const TriangleMesh& mesh, Vertex_point_map vpm = parameters::choose_parameter(parameters::get_parameter(np, internal_np::vertex_point), get_const_property_map(CGAL::vertex_point, mesh)); + using Vector_map_tag = dynamic_vertex_property_t; + using Default_vector_map = typename boost::property_map::const_type; + using Vertex_normal_map = typename internal_np::Lookup_named_param_def::type; + for (auto v : vertices(mesh)) { Point p = get(vpm, v); p += get(vtm, v); put(vpm, v, p); } + + internal::registration::Rotate_vertex_normals::value> rvn; + rvn.update(mesh, vrm, parameters::choose_parameter(parameters::get_parameter(np, internal_np::vertex_normal_map), get(Vector_map_tag(), mesh))); } } // namespace Polygon_mesh_processing } // namespace CGAL diff --git a/Surface_mesh_deformation/include/CGAL/Surface_mesh_deformation.h b/Surface_mesh_deformation/include/CGAL/Surface_mesh_deformation.h index cb92205fed0b..858c2af2b114 100644 --- a/Surface_mesh_deformation/include/CGAL/Surface_mesh_deformation.h +++ b/Surface_mesh_deformation/include/CGAL/Surface_mesh_deformation.h @@ -44,6 +44,18 @@ namespace CGAL { +#ifdef DOXYGEN_RUNNING + /// \ingroup PkgWeightsRefARAPWeights + ///@brief Deformation algorithm type + enum Deformation_algorithm_tag + { + ORIGINAL_ARAP, /**< use original as-rigid-as possible algorithm */ + SPOKES_AND_RIMS, /**< use spokes and rims version of as-rigid-as possible algorithm */ + SRE_ARAP /**< use smooth rotation enhanced As-rigid-as-possible */ + }; + // The implementation uses the enum declared in CGAL/Weights/arap_weights.h +#endif + /// @cond CGAL_DOCUMENT_INTERNAL namespace internal { diff --git a/Weights/include/CGAL/Weights/arap_weights.h b/Weights/include/CGAL/Weights/arap_weights.h index 8c6114360487..f8928689aa44 100644 --- a/Weights/include/CGAL/Weights/arap_weights.h +++ b/Weights/include/CGAL/Weights/arap_weights.h @@ -12,18 +12,18 @@ #ifndef CGAL_ARAP_WEIGHTS_H #define CGAL_ARAP_WEIGHTS_H -#include "cotangent_weights.h" +#include namespace CGAL { -/// \ingroup PkgWeightsRefARAPWeights -///@brief Deformation algorithm type +#ifndef DOXYGEN_RUNNING enum Deformation_algorithm_tag { ORIGINAL_ARAP, /**< use original as-rigid-as possible algorithm */ SPOKES_AND_RIMS, /**< use spokes and rims version of as-rigid-as possible algorithm */ SRE_ARAP /**< use smooth rotation enhanced As-rigid-as-possible */ }; +#endif namespace internal { From d1059acc0e043bb64bc677b104a3399047463295 Mon Sep 17 00:00:00 2001 From: Sven Oesau Date: Thu, 21 Nov 2024 12:19:10 +0100 Subject: [PATCH 34/41] doc fix --- .../include/CGAL/Surface_mesh_deformation.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Surface_mesh_deformation/include/CGAL/Surface_mesh_deformation.h b/Surface_mesh_deformation/include/CGAL/Surface_mesh_deformation.h index 858c2af2b114..a6d4eb546ab0 100644 --- a/Surface_mesh_deformation/include/CGAL/Surface_mesh_deformation.h +++ b/Surface_mesh_deformation/include/CGAL/Surface_mesh_deformation.h @@ -45,7 +45,7 @@ namespace CGAL { #ifdef DOXYGEN_RUNNING - /// \ingroup PkgWeightsRefARAPWeights + /// \ingroup PkgSurfaceMeshDeformationRef ///@brief Deformation algorithm type enum Deformation_algorithm_tag { From 608de95c69da0700f0c38b463189ac8cb0cc4671 Mon Sep 17 00:00:00 2001 From: Sven Oesau Date: Thu, 21 Nov 2024 12:26:11 +0100 Subject: [PATCH 35/41] fixing vertex normal rotation after registration --- .../non_rigid_mesh_registration_example.cpp | 9 ++--- .../non_rigid_mesh_registration.h | 36 +++++++------------ 2 files changed, 18 insertions(+), 27 deletions(-) diff --git a/Polygon_mesh_processing/examples/Polygon_mesh_processing/non_rigid_mesh_registration_example.cpp b/Polygon_mesh_processing/examples/Polygon_mesh_processing/non_rigid_mesh_registration_example.cpp index 3b5a5615e4de..43e80357d10a 100644 --- a/Polygon_mesh_processing/examples/Polygon_mesh_processing/non_rigid_mesh_registration_example.cpp +++ b/Polygon_mesh_processing/examples/Polygon_mesh_processing/non_rigid_mesh_registration_example.cpp @@ -69,11 +69,12 @@ int main(int, char**) { .as_rigid_as_possible_weight(w3) .correspondences(std::cref(correspondences_mesh))); - //auto vnm4 = source.add_property_map("v:normal"); - auto vnm4 = source.property_map("v:normal"); + auto vnm = source.add_property_map("v:normal"); + if (vnm.second) + PMP::compute_vertex_normals(source, vnm.first); - PMP::apply_non_rigid_transformation(source, vtm, vrm); + PMP::apply_non_rigid_transformation(source, vtm, vrm, CGAL::parameters::vertex_normal_map(vnm.first)); CGAL::IO::write_polygon_mesh(out.str(), source); return EXIT_SUCCESS; -} \ No newline at end of file +} diff --git a/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/non_rigid_mesh_registration.h b/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/non_rigid_mesh_registration.h index d2112802e407..518cfe2e5600 100644 --- a/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/non_rigid_mesh_registration.h +++ b/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/non_rigid_mesh_registration.h @@ -172,21 +172,14 @@ Eigen::Matrix rot(T a, T b, T c) { template struct Rotate_vertex_normals { - Rotate_vertex_normals() { std::cout << "empty" << std::endl; } - void update(const Mesh& mesh, const VertexRotationMap& vrm, const VertexNormalMap& vnm) const { - } + void update(const Mesh& mesh, const VertexRotationMap& vrm, const VertexNormalMap& vnm) const {} }; template struct Rotate_vertex_normals { - Rotate_vertex_normals() { std::cout << "vertex" << std::endl; } void update(const Mesh& mesh, const VertexRotationMap &vrm, const VertexNormalMap& vnm) const { - using Vector_3 = typename VertexNormalMap::value_type; - for (auto v : vertices(mesh)) { - Vector_3 n = get(vnm, v); - auto rotation = get(vrm, v); - put(vnm, v, rotation.inverse().transform(n)); - } + for (auto v : vertices(mesh)) + put(vnm, v, get(vrm, v).inverse().transform(get(vnm, v))); } }; @@ -382,12 +375,14 @@ void non_rigid_mesh_to_points_registration(const TriangleMesh& source, idx = 0; for (auto p : target) { - Y(idx, 0) = get(point_map, p).x(); - Y(idx, 1) = get(point_map, p).y(); - Y(idx, 2) = get(point_map, p).z(); - NY(idx, 0) = get(normal_map, p).x(); - NY(idx, 1) = get(normal_map, p).y(); - NY(idx, 2) = get(normal_map, p).z(); + const Point& pt = get(point_map, p); + Y(idx, 0) = pt.x(); + Y(idx, 1) = pt.y(); + Y(idx, 2) = pt.z(); + const typename Gt::Vector_3& v = get(normal_map, p); + NY(idx, 0) = v.x(); + NY(idx, 1) = v.y(); + NY(idx, 2) = v.z(); idx++; } std::cout << std::endl; @@ -915,7 +910,8 @@ void non_rigid_mesh_to_mesh_registration(const TriangleMesh1& source, /*! * \ingroup PMP_registration_grp * -* \brief applies a non-rigid transformation to the vertices of the mesh. Face and vertex normal vectors are not updated after transformation. +* \brief applies a non-rigid transformation to the vertices of the mesh. Vertex normal vectors are updated when the vertex normal property map is provided in the named parameters. +* Potential face normal vectors are not updated. * * @tparam TriangleMesh a model of `FaceGraph`. * @tparam VertexTranslationMap is a property map with `boost::graph_traits::%vertex_descriptor` @@ -946,12 +942,6 @@ void non_rigid_mesh_to_mesh_registration(const TriangleMesh1& source, * \cgalParamExtra{If this parameter is provided, the contained normals will be updated.} * \cgalParamNEnd * -* \cgalParamNBegin{face_normal_map} -* \cgalParamDescription{a property map associating normals to the faces of `mesh`} -* \cgalParamType{a class model of `ReadWritePropertyMap` with `boost::graph_traits::%vertex_descriptor` -* as key type and `%Vector_3` as value type} -* \cgalParamExtra{If this parameter is provided, the contained normals will be updated.} -* \cgalParamNEnd * \cgalNamedParamsEnd */ template Date: Thu, 21 Nov 2024 15:39:29 +0100 Subject: [PATCH 36/41] doc updates --- .../non_rigid_mesh_registration.h | 27 ++++++++++++------- 1 file changed, 17 insertions(+), 10 deletions(-) diff --git a/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/non_rigid_mesh_registration.h b/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/non_rigid_mesh_registration.h index 518cfe2e5600..acf057e6d6c1 100644 --- a/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/non_rigid_mesh_registration.h +++ b/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/non_rigid_mesh_registration.h @@ -202,9 +202,9 @@ struct Rotate_vertex_normals { * @tparam PointRange is a model of `ConstRange`. The value type of * its iterator is the key type of the named parameter `point_map`. * @tparam VertexTranslationMap is a property map with `boost::graph_traits::%vertex_descriptor` -* as key type and a \cgal Kernel `Vector_3` as value type. +* as key type and `GeomTraits::Vector_3` as value type, `GeomTraits` being the type of the parameter `geom_traits`. * @tparam VertexRotationMap is a property map with `boost::graph_traits::%vertex_descriptor` -* as key type and a \cgal Kernel `Aff_transformation_3` as value type. +* as key type and `CGAL::Aff_transformation_3` as value type, `GeomTraits` being the type of the parameter `geom_traits`. * @tparam NamedParameters1 a sequence of \ref bgl_namedparameters "Named Parameters". * @tparam NamedParameters2 a sequence of \ref bgl_namedparameters "Named Parameters". * @@ -268,7 +268,7 @@ struct Rotate_vertex_normals { * \cgalParamNBegin{geom_traits} * \cgalParamDescription{an instance of a geometric traits class} * \cgalParamType{a class model of `Kernel`} -* \cgalParamDefault{a \cgal Kernel deduced from the point type, using `CGAL::Kernel_traits`} +* \cgalParamDefault{a \cgal Kernel deduced from `TriangleMesh`, using `CGAL::GetGeomTraits`} * \cgalParamExtra{The geometric traits class must be compatible with the vertex point type.} * \cgalParamNEnd * \cgalNamedParamsEnd @@ -761,9 +761,9 @@ static_assert(false, "Eigen library is required for non-rigid mesh registration" * @tparam TriangleMesh1 a const model of `FaceGraph`. * @tparam TriangleMesh2 a const model of `FaceGraph`. * @tparam VertexTranslationMap is a property map with `boost::graph_traits::%vertex_descriptor` -* as key type and a \cgal Kernel `Vector_3` as value type. +* as key type and `GeomTraits::Vector_3` as value type, `GeomTraits` being the type of the parameter `geom_traits`. * @tparam VertexRotationMap is a property map with `boost::graph_traits::%vertex_descriptor` -* as key type and a \cgal Kernel `Aff_transformation_3` as value type. +* as key type and `CGAL::Aff_transformation_3` as value type, `GeomTraits` being the type of the parameter `geom_traits`. * @tparam NamedParameters1 a sequence of \ref bgl_namedparameters "Named Parameters1". * @tparam NamedParameters2 a sequence of \ref bgl_namedparameters "Named Parameters2". * @@ -827,7 +827,7 @@ static_assert(false, "Eigen library is required for non-rigid mesh registration" * \cgalParamNBegin{geom_traits} * \cgalParamDescription{an instance of a geometric traits class} * \cgalParamType{a class model of `Kernel`} -* \cgalParamDefault{a \cgal Kernel deduced from the point type, using `CGAL::Kernel_traits`} +* \cgalParamDefault{a \cgal Kernel deduced from `TriangleMesh`, using `CGAL::GetGeomTraits`} * \cgalParamExtra{The geometric traits class must be compatible with the vertex point type.} * \cgalParamNEnd * \cgalNamedParamsEnd @@ -914,10 +914,10 @@ void non_rigid_mesh_to_mesh_registration(const TriangleMesh1& source, * Potential face normal vectors are not updated. * * @tparam TriangleMesh a model of `FaceGraph`. -* @tparam VertexTranslationMap is a property map with `boost::graph_traits::%vertex_descriptor` -* as key type and a \cgal Kernel `Vector_3` as value type. -* @tparam VertexRotationMap is a property map with `boost::graph_traits::%vertex_descriptor` -* as key type and a \cgal Kernel `Aff_transformation_3` as value type. Only the rotational part of the transformations is considered. +* @tparam VertexTranslationMap is a property map with `boost::graph_traits::%vertex_descriptor` +* as key type and `GeomTraits::Vector_3` as value type, `GeomTraits` being the type of the parameter `geom_traits`. +* @tparam VertexRotationMap is a property map with `boost::graph_traits::%vertex_descriptor` +* as key type and `CGAL::Aff_transformation_3` as value type, `GeomTraits` being the type of the parameter `geom_traits`. Only the rotational part of the transformations is considered. * @tparam NamedParameters a sequence of \ref bgl_namedparameters "Named Parameters". * * @param mesh the triangle mesh to be transformed. @@ -942,6 +942,13 @@ void non_rigid_mesh_to_mesh_registration(const TriangleMesh1& source, * \cgalParamExtra{If this parameter is provided, the contained normals will be updated.} * \cgalParamNEnd * +* \cgalParamNBegin{geom_traits} +* \cgalParamDescription{an instance of a geometric traits class} +* \cgalParamType{a class model of `Kernel`} +* \cgalParamDefault{a \cgal Kernel deduced from `TriangleMesh`, using `CGAL::GetGeomTraits`} +* \cgalParamExtra{The geometric traits class must be compatible with the vertex point type.} +* \cgalParamNEnd +* * \cgalNamedParamsEnd */ template Date: Thu, 21 Nov 2024 16:04:35 +0100 Subject: [PATCH 37/41] doc of geom_traits --- .../Polygon_mesh_processing/non_rigid_mesh_registration.h | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/non_rigid_mesh_registration.h b/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/non_rigid_mesh_registration.h index acf057e6d6c1..05c63be0096b 100644 --- a/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/non_rigid_mesh_registration.h +++ b/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/non_rigid_mesh_registration.h @@ -268,7 +268,7 @@ struct Rotate_vertex_normals { * \cgalParamNBegin{geom_traits} * \cgalParamDescription{an instance of a geometric traits class} * \cgalParamType{a class model of `Kernel`} -* \cgalParamDefault{a \cgal Kernel deduced from `TriangleMesh`, using `CGAL::GetGeomTraits`} +* \cgalParamDefault{a \cgal Kernel deduced from the point type, using `CGAL::Kernel_traits`} * \cgalParamExtra{The geometric traits class must be compatible with the vertex point type.} * \cgalParamNEnd * \cgalNamedParamsEnd @@ -827,7 +827,7 @@ static_assert(false, "Eigen library is required for non-rigid mesh registration" * \cgalParamNBegin{geom_traits} * \cgalParamDescription{an instance of a geometric traits class} * \cgalParamType{a class model of `Kernel`} -* \cgalParamDefault{a \cgal Kernel deduced from `TriangleMesh`, using `CGAL::GetGeomTraits`} +* \cgalParamDefault{a \cgal Kernel deduced from the point type, using `CGAL::Kernel_traits`} * \cgalParamExtra{The geometric traits class must be compatible with the vertex point type.} * \cgalParamNEnd * \cgalNamedParamsEnd @@ -945,7 +945,7 @@ void non_rigid_mesh_to_mesh_registration(const TriangleMesh1& source, * \cgalParamNBegin{geom_traits} * \cgalParamDescription{an instance of a geometric traits class} * \cgalParamType{a class model of `Kernel`} -* \cgalParamDefault{a \cgal Kernel deduced from `TriangleMesh`, using `CGAL::GetGeomTraits`} +* \cgalParamDefault{a \cgal Kernel deduced from the point type, using `CGAL::Kernel_traits`} * \cgalParamExtra{The geometric traits class must be compatible with the vertex point type.} * \cgalParamNEnd * From 1f897b82196076bb4dd9bc036ee6b772a6b62dde Mon Sep 17 00:00:00 2001 From: Sven Oesau Date: Fri, 22 Nov 2024 09:36:10 +0100 Subject: [PATCH 38/41] fixed warning --- .../CGAL/Polygon_mesh_processing/non_rigid_mesh_registration.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/non_rigid_mesh_registration.h b/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/non_rigid_mesh_registration.h index 05c63be0096b..4151bbd102cd 100644 --- a/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/non_rigid_mesh_registration.h +++ b/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/non_rigid_mesh_registration.h @@ -172,7 +172,7 @@ Eigen::Matrix rot(T a, T b, T c) { template struct Rotate_vertex_normals { - void update(const Mesh& mesh, const VertexRotationMap& vrm, const VertexNormalMap& vnm) const {} + void update(const Mesh&, const VertexRotationMap&, const VertexNormalMap&) const {} }; template From 0a03248ee59fb545a53c8a64652760a396bc02b8 Mon Sep 17 00:00:00 2001 From: Sven Oesau Date: Tue, 3 Dec 2024 14:51:03 +0100 Subject: [PATCH 39/41] Update Polygon_mesh_processing/doc/Polygon_mesh_processing/Polygon_mesh_processing.txt Co-authored-by: Andreas Fabri --- .../doc/Polygon_mesh_processing/Polygon_mesh_processing.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Polygon_mesh_processing/doc/Polygon_mesh_processing/Polygon_mesh_processing.txt b/Polygon_mesh_processing/doc/Polygon_mesh_processing/Polygon_mesh_processing.txt index 91826ebd1f13..928638e30c7e 100644 --- a/Polygon_mesh_processing/doc/Polygon_mesh_processing/Polygon_mesh_processing.txt +++ b/Polygon_mesh_processing/doc/Polygon_mesh_processing/Polygon_mesh_processing.txt @@ -1471,7 +1471,7 @@ Sets the weight `w1` of the \f$\mathbf{E_{match}}\f$. Penalizes the distance bet - `point_to_plane_energy`: Sets the weight `w2` of the \f$\mathbf{E_{point\_to\_plane}}\f$. Also penalizes the distances between the meshes, but is more forgiving towards different discretization. - `as_rigid_as_possible_energy`: -Controls the rigidity weight `w3` of the \f$\mathbf{E_{arap}}\f$. Penalizes the deformation of the source and may thus prefers rigidity over a tight fit. +Controls the rigidity weight `w3` of the \f$\mathbf{E_{arap}}\f$. Penalizes the deformation of the source and may thus prefer rigidity over a tight fit. - maximum_matching_distance: The maximal distance for finding vertex/point pairs between the intermediate and target. A pair is ignored during an iteration if the specified distance is exceeded. - number_of_iterations: From fe9e8d98340923fa0d2c122faf84c4370268979b Mon Sep 17 00:00:00 2001 From: Sven Oesau Date: Tue, 10 Dec 2024 13:00:02 +0100 Subject: [PATCH 40/41] renaming maximum_matching_distance to maximal_matching_distance more useful default value for maximal_matching_distance removing former arap implementation more changes from review --- .../Polygon_mesh_processing.txt | 8 +- .../non_rigid_mesh_registration_example.cpp | 9 +- .../non_rigid_mesh_registration.h | 192 +++++++----------- .../internal/parameters_interface.h | 2 +- 4 files changed, 79 insertions(+), 132 deletions(-) diff --git a/Polygon_mesh_processing/doc/Polygon_mesh_processing/Polygon_mesh_processing.txt b/Polygon_mesh_processing/doc/Polygon_mesh_processing/Polygon_mesh_processing.txt index 928638e30c7e..d20ccfd207a0 100644 --- a/Polygon_mesh_processing/doc/Polygon_mesh_processing/Polygon_mesh_processing.txt +++ b/Polygon_mesh_processing/doc/Polygon_mesh_processing/Polygon_mesh_processing.txt @@ -1472,11 +1472,11 @@ Sets the weight `w1` of the \f$\mathbf{E_{match}}\f$. Penalizes the distance bet Sets the weight `w2` of the \f$\mathbf{E_{point\_to\_plane}}\f$. Also penalizes the distances between the meshes, but is more forgiving towards different discretization. - `as_rigid_as_possible_energy`: Controls the rigidity weight `w3` of the \f$\mathbf{E_{arap}}\f$. Penalizes the deformation of the source and may thus prefer rigidity over a tight fit. -- maximum_matching_distance: +- `maximal_matching_distance`: The maximal distance for finding vertex/point pairs between the intermediate and target. A pair is ignored during an iteration if the specified distance is exceeded. -- number_of_iterations: +- `number_of_iterations`: The number of ICP iterations. The default value is 50. -- correspondences: +- `correspondences`: Optional fixed vertex/point pairs can be provided to guide the registration. These are especially helpful when source and target are not roughly aligned initially. \cgalFigureAnchor{registration_results} @@ -1487,7 +1487,7 @@ Optional fixed vertex/point pairs can be provided to guide the registration. The Non-rigid registration using five correspondences on top of the head and at the tips of hand and feet. A low rigidity leads to a distortion and a self-intersection of the transformed mesh. The topology of the mesh as well as the number of vertices and faces remain unchanged. The lack of correspondences also causes self-intersection and leads to a flattening of the left arm. \cgalFigureCaptionEnd -\subsection PMPNonRigidRegistrationExample Non-rigid registration Example +\subsection PMPNonRigidRegistrationExample Non-Rigid Registration Example In the following example the bear_simple.off model is registered onto the bear_simple_bis.off model. The resulting transformed mesh is then saved as off file with a name depending on the chosen parameters. diff --git a/Polygon_mesh_processing/examples/Polygon_mesh_processing/non_rigid_mesh_registration_example.cpp b/Polygon_mesh_processing/examples/Polygon_mesh_processing/non_rigid_mesh_registration_example.cpp index 43e80357d10a..ae1f39f835e3 100644 --- a/Polygon_mesh_processing/examples/Polygon_mesh_processing/non_rigid_mesh_registration_example.cpp +++ b/Polygon_mesh_processing/examples/Polygon_mesh_processing/non_rigid_mesh_registration_example.cpp @@ -1,5 +1,4 @@ #include -#include #include #include @@ -7,8 +6,6 @@ #include #include - -#include #include using K = CGAL::Exact_predicates_inexact_constructions_kernel; @@ -52,14 +49,10 @@ int main(int, char**) { FT w1 = 5; FT w2 = 20; FT w3 = 500; - new_arap = true; std::ostringstream out; out.precision(2); - if (new_arap) - out << "bear_" << std::fixed << w1 << "_" << w2 << "_" << w3 << "_new.off"; - else - out << "bear_" << std::fixed << w1 << "_" << w2 << "_" << w3 << "_old.off"; + out << "bear_" << std::fixed << w1 << "_" << w2 << "_" << w3 << "_new.off"; std::cout << std::endl << out.str() << std::endl; diff --git a/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/non_rigid_mesh_registration.h b/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/non_rigid_mesh_registration.h index 4151bbd102cd..b20c9f1f8508 100644 --- a/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/non_rigid_mesh_registration.h +++ b/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/non_rigid_mesh_registration.h @@ -9,8 +9,8 @@ // // Author(s) : Roberto Dyke, Sven Oesau // -#ifndef CGAL_POLYGON_MESH_PROCESSING_REGISTER_MESH_H -#define CGAL_POLYGON_MESH_PROCESSING_REGISTER_MESH_H +#ifndef CGAL_POLYGON_MESH_PROCESSING_NON_RIGID_MESH_REGISTRATION_H +#define CGAL_POLYGON_MESH_PROCESSING_NON_RIGID_MESH_REGISTRATION_H #include @@ -41,8 +41,6 @@ #include -bool new_arap = true; - namespace CGAL { namespace Polygon_mesh_processing { namespace internal { @@ -76,6 +74,10 @@ Eigen_matrix_to_point_map::reference get(const Eigen_matrix_to_point_map& ppmap, return ppmap[i]; } +using Search_traits = CGAL::Search_traits_adapter>>; +using Neighbor_search = CGAL::Orthogonal_k_neighbor_search; +using KDTree = typename Neighbor_search::Tree; + template void dump(const Matrix& m, const std::string &filename) { std::ofstream file(filename); @@ -92,16 +94,7 @@ void dump(const Matrix& m, const std::string &filename) { file.close(); } -std::pair nearest_neighbor(Vertices& points, Vertices& query, const Index k = 1) { - using Search_traits = CGAL::Search_traits_adapter>>; - using Neighbor_search = CGAL::Orthogonal_k_neighbor_search; - using KDTree = typename Neighbor_search::Tree; - - Eigen_matrix_to_point_map a(points); - - KDTree kdtree(boost::counting_iterator(0), boost::counting_iterator(points.rows()), KDTree::Splitter(), Search_traits(Eigen_matrix_to_point_map(points))); - kdtree.build(); - +std::pair nearest_neighbor(Vertices& points, Vertices& query, KDTree &kdtree, const Index k = 1) { Eigen::MatrixXi idz(query.rows(), k); Eigen::MatrixXf dist(query.rows(), k); @@ -118,11 +111,6 @@ std::pair nearest_neighbor(Vertices& points, V return std::make_pair(idz, dist); } -template -int sign(T val) { - return (T(0) < val) - (val < T(0)); -} - void insertSparseMatrix(const SparseMat& mat, std::vector& coefficients, size_t start_i = 0, size_t start_j = 0) { for (int k = 0; k < mat.outerSize(); ++k) for (SparseMat::InnerIterator it(mat, k); it; ++it) @@ -243,10 +231,10 @@ struct Rotate_vertex_normals { * \cgalParamExtra{The weight \f$w_3\f$ needs to be 0 or positive. See \ref PMPNonRigidRegistrationParameters.} * \cgalParamNEnd * -* \cgalParamNBegin{maximum_matching_distance} -* \cgalParamDescription{the maximum distance for a vertex in `source` to match with a point in `target`. The default value 0 means no maximum matching distance.} +* \cgalParamNBegin{maximal_matching_distance} +* \cgalParamDescription{the maximal distance for a vertex in `source` to match with a point in `target`. The value 0 means no maximal matching distance.} * \cgalParamType{double} -* \cgalParamDefault{`0`} +* \cgalParamDefault{average point spacing in the target} * \cgalParamNEnd * * \cgalParamNBegin{correspondences} @@ -308,7 +296,7 @@ void non_rigid_mesh_to_points_registration(const TriangleMesh& source, const double w2 = parameters::choose_parameter(parameters::get_parameter(np1, internal_np::point_to_plane_weight), 2); const double w1 = parameters::choose_parameter(parameters::get_parameter(np1, internal_np::point_to_point_weight), 0.1); const double w3 = parameters::choose_parameter(parameters::get_parameter(np1, internal_np::as_rigid_as_possible_weight), 20); - const double max_matching_dist = parameters::choose_parameter(parameters::get_parameter(np1, internal_np::maximum_matching_distance), 0); + double max_matching_dist = parameters::choose_parameter(parameters::get_parameter(np1, internal_np::maximal_matching_distance), -1); using namespace internal::registration; Vertices X(num_vertices(source), 3), Y(target.size(), 3); @@ -460,34 +448,23 @@ void non_rigid_mesh_to_points_registration(const TriangleMesh& source, int a = XF(i, 0); int b = XF(i, 1); int c = XF(i, 2); - if (new_arap) { - auto ha = halfedge(Vertex_index(a), Vertex_index(b), source); - double w_a = wc(ha.first, source, vpm); - auto hb = halfedge(Vertex_index(b), Vertex_index(c), source); - double w_b = wc(hb.first, source, vpm); - auto hc = halfedge(Vertex_index(c), Vertex_index(a), source); - double w_c = wc(hc.first, source, vpm); - edge_coefficients.push_back(SparseTriplet(idx, a, w_a)); - edge_coefficients.push_back(SparseTriplet(idx, b, -w_a)); - idx++; - edge_coefficients.push_back(SparseTriplet(idx, b, w_b)); - edge_coefficients.push_back(SparseTriplet(idx, c, -w_b)); - idx++; - edge_coefficients.push_back(SparseTriplet(idx, c, w_c)); - edge_coefficients.push_back(SparseTriplet(idx, a, -w_c)); - idx++; - } - else { - edge_coefficients.push_back(SparseTriplet(idx, a, 1)); - edge_coefficients.push_back(SparseTriplet(idx, b, -1)); - idx++; - edge_coefficients.push_back(SparseTriplet(idx, b, 1)); - edge_coefficients.push_back(SparseTriplet(idx, c, -1)); - idx++; - edge_coefficients.push_back(SparseTriplet(idx, c, 1)); - edge_coefficients.push_back(SparseTriplet(idx, a, -1)); - idx++; - } + + auto ha = halfedge(Vertex_index(a), Vertex_index(b), source); + double w_a = wc(ha.first, source, vpm); + auto hb = halfedge(Vertex_index(b), Vertex_index(c), source); + double w_b = wc(hb.first, source, vpm); + auto hc = halfedge(Vertex_index(c), Vertex_index(a), source); + double w_c = wc(hc.first, source, vpm); + edge_coefficients.push_back(SparseTriplet(idx, a, w_a)); + edge_coefficients.push_back(SparseTriplet(idx, b, -w_a)); + idx++; + edge_coefficients.push_back(SparseTriplet(idx, b, w_b)); + edge_coefficients.push_back(SparseTriplet(idx, c, -w_b)); + idx++; + edge_coefficients.push_back(SparseTriplet(idx, c, w_c)); + edge_coefficients.push_back(SparseTriplet(idx, a, -w_c)); + idx++; + } SparseMat B(XF.rows() * XF.cols(), X.rows()); B.setFromTriplets(edge_coefficients.begin(), edge_coefficients.end()); @@ -553,6 +530,22 @@ void non_rigid_mesh_to_points_registration(const TriangleMesh& source, size_t coefficients_size = coefficients.size(); + KDTree kdtree(boost::counting_iterator(0), boost::counting_iterator(Y.rows()), KDTree::Splitter(), Search_traits(Eigen_matrix_to_point_map(Y))); + kdtree.build(); + + if (max_matching_dist < 0) { + FT sum = 0; + for (Index i = 0; i < Y.rows(); ++i) { + Point_3 query_pt = { Y(i, 0), Y(i, 1), Y(i, 2) }; + Neighbor_search search(kdtree, query_pt, 2, 0, true, Neighbor_search::Distance(Eigen_matrix_to_point_map(Y))); + auto it = search.begin(); + it++; // The first entry is the query point itself. + + sum += it->second; + } + max_matching_dist = sum / Y.rows(); + } + for (size_t it = 0; it < iter; ++it) { std::cout << "." << std::flush; // Reset coefficients (removes point pairs, e.g.) @@ -562,7 +555,7 @@ void non_rigid_mesh_to_points_registration(const TriangleMesh& source, // Compute correspondence //Eigen::VectorXi idz = nearest_neighbor(V1, Z).first.col(0); - std::pair nn_result = nearest_neighbor(Y, Z); + std::pair nn_result = nearest_neighbor(Y, Z, kdtree); Eigen::VectorXi idz = nn_result.first.col(0); Eigen::VectorXf dist = nn_result.second.col(0); @@ -660,78 +653,27 @@ void non_rigid_mesh_to_points_registration(const TriangleMesh& source, // Update edge neighborhoods by new local rotation if (it == (iter - 1)) { - if (new_arap) { - for (Index i = 0; i < Z.rows(); ++i) - rotation(std::size_t(i), visitor, source, X, Z, neighbors[i], he_weights[i], rotations); + for (Index i = 0; i < Z.rows(); ++i) + rotation(std::size_t(i), visitor, source, X, Z, neighbors[i], he_weights[i], rotations); - for (Index i = 0; i < edim; ++i) { - BX.row(i) = BX_original.row(i) * rotations[Ni(i)].transpose(); - } - } - else { - for (Index i = 0; i < Z.rows(); ++i) { -#if EIGEN_VERSION_AT_LEAST(3,4,0) - std::vector nbrs(neighbors[i].begin(), neighbors[i].end()); - Matrix A = X(nbrs, Eigen::indexing::all).rowwise() - X.row(i); - Matrix B_ = Z(nbrs, Eigen::indexing::all).rowwise() - Z.row(i); -#else - Matrix A(neighbors[i].size(), 3); - Matrix B_(neighbors[i].size(), 3); - auto xi = X.row(i); - auto zi = Z.row(i); - auto nit = neighbors[i].begin(); - for (std::size_t j = 0; j < neighbors[i].size(); j++, nit++) { - A.row(j) = X.row(*nit) - xi; - B_.row(j) = Z.row(*nit) - zi; - } -#endif - -#if EIGEN_VERSION_AT_LEAST(3,4,90) - svd.compute(A.transpose() * B_); -#else - svd.compute(A.transpose() * B_, Eigen::ComputeFullU | Eigen::ComputeFullV); -#endif - - rotations[i] = svd.matrixV() * svd.matrixU().transpose(); - if (rotations[i].determinant() < 0) { - Eigen::Matrix M = Eigen::Matrix3d::Identity(); - M(2, 2) = -1; - rotations[i] = svd.matrixV() * M * svd.matrixU().transpose(); - } - } - for (Index i = 0; i < edim; ++i) { - Matrix R = rotations[Ni(i)]; - BX.row(i) = BX.row(i) * R.transpose(); - } + for (Index i = 0; i < edim; ++i) { + BX.row(i) = BX_original.row(i) * rotations[Ni(i)].transpose(); } } - else - if (new_arap) { - for (Index i = 0; i < Z.rows(); ++i) - rotation(std::size_t(i), visitor, source, X, Z, neighbors[i], he_weights[i], rotations); + else { + for (Index i = 0; i < Z.rows(); ++i) + rotation(std::size_t(i), visitor, source, X, Z, neighbors[i], he_weights[i], rotations); - for (Index i = 0; i < edim; ++i) - BX.row(i) = BX_original.row(i) * rotations[Ni(i)].transpose(); - } - else { - // Regular matrix update is happening here (taking linearized coefficients, recreating matrix and rotating edges) - for (Index i = 0; i < edim; ++i) { - int ni = Ni(i); - Matrix R = rot(x(dim + 2 * Z.rows() + ni), - x(dim + Z.rows() + ni), - x(dim + ni)); - BX.row(i) = BX.row(i) * R.transpose(); - } - } + for (Index i = 0; i < edim; ++i) + BX.row(i) = BX_original.row(i) * rotations[Ni(i)].transpose(); + } } idx = 0; for (auto v : vertices(source)) { Point z(Z(idx, 0), Z(idx, 1), Z(idx, 2)); Point x(X(idx, 0), X(idx, 1), X(idx, 2)); -/* - Aff_transformation_3 t1(CGAL::TRANSLATION, CGAL::ORIGIN - x); - Aff_transformation_3 t2(CGAL::TRANSLATION, -(CGAL::ORIGIN - z));*/ + const auto& r = rotations[idx]; Aff_transformation_3 rota(r(0, 0), r(0, 1), r(0, 2), 0, r(1, 0), r(1, 1), r(1, 2), 0, @@ -802,10 +744,10 @@ static_assert(false, "Eigen library is required for non-rigid mesh registration" * \cgalParamExtra{The weight \f$w_3\f$ needs to be 0 or positive. See \ref PMPNonRigidRegistrationParameters.} * \cgalParamNEnd * -* \cgalParamNBegin{maximum_matching_distance} -* \cgalParamDescription{the maximum distance for a vertex in `source` to match with a point in `target`. The default value 0 means no maximum matching distance.} +* \cgalParamNBegin{maximal_matching_distance} +* \cgalParamDescription{the maximal distance for a vertex in `source` to match with a point in `target`. The value 0 means no maximal matching distance.} * \cgalParamType{double} -* \cgalParamDefault{`0`} +* \cgalParamDefault{average edge length in the target mesh.} * \cgalParamNEnd * * \cgalParamNBegin{correspondences} @@ -892,7 +834,7 @@ void non_rigid_mesh_to_mesh_registration(const TriangleMesh1& source, Pwn_vector points; points.reserve(target.num_vertices()); - for (auto v : target.vertices()) + for (auto v : vertices(target)) points.push_back(std::make_pair(get(vpm, v), get(vnm, v))); std::vector::vertex_descriptor, std::size_t>> correspondences_pts; @@ -900,6 +842,18 @@ void non_rigid_mesh_to_mesh_registration(const TriangleMesh1& source, for (auto p : correspondences) correspondences_pts.push_back(std::make_pair(p.first, static_cast(p.second))); + double max_matching_dist = parameters::choose_parameter(parameters::get_parameter(np1, internal_np::maximal_matching_distance), -1); + + if (max_matching_dist < 0) { + typename Gt2::FT sum = 0; + std::size_t count = 0; + for (auto e : edges(target)) { + sum += CGAL::sqrt((get(vpm, CGAL::target(e, target)) - get(vpm, CGAL::source(e, target))).squared_length()); + count++; + } + max_matching_dist = sum / count; + } + non_rigid_mesh_to_points_registration(source, points, vtm, vrm, np1.combine(parameters::correspondences(correspondences_pts)), parameters::point_map(Point_map()).normal_map(Normal_map())); #else @@ -983,4 +937,4 @@ void apply_non_rigid_transformation(const TriangleMesh& mesh, } // namespace Polygon_mesh_processing } // namespace CGAL -#endif +#endif // CGAL_POLYGON_MESH_PROCESSING_NON_RIGID_MESH_REGISTRATION_H diff --git a/STL_Extension/include/CGAL/STL_Extension/internal/parameters_interface.h b/STL_Extension/include/CGAL/STL_Extension/internal/parameters_interface.h index 2580d2120cd5..6dae78bb61cf 100644 --- a/STL_Extension/include/CGAL/STL_Extension/internal/parameters_interface.h +++ b/STL_Extension/include/CGAL/STL_Extension/internal/parameters_interface.h @@ -168,7 +168,7 @@ CGAL_add_named_parameter(correspondences_t, correspondences, correspondences) CGAL_add_named_parameter(point_to_plane_weight_t, point_to_plane_weight, point_to_plane_weight) CGAL_add_named_parameter(point_to_point_weight_t, point_to_point_weight, point_to_point_weight) CGAL_add_named_parameter(as_rigid_as_possible_weight_t, as_rigid_as_possible_weight, as_rigid_as_possible_weight) -CGAL_add_named_parameter(maximum_matching_distance_t, maximum_matching_distance, maximum_matching_distance) +CGAL_add_named_parameter(maximal_matching_distance_t, maximal_matching_distance, maximal_matching_distance) // List of named parameters that we use in the package 'Surface Mesh Simplification' CGAL_add_named_parameter(get_cost_policy_t, get_cost_policy, get_cost) From c8bb8018da3be3a1a0d18907d3371cf7fd25b162 Mon Sep 17 00:00:00 2001 From: Sven Oesau Date: Tue, 10 Dec 2024 13:56:52 +0100 Subject: [PATCH 41/41] CI fix --- .../CGAL/Polygon_mesh_processing/non_rigid_mesh_registration.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/non_rigid_mesh_registration.h b/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/non_rigid_mesh_registration.h index b20c9f1f8508..f5048b3736f1 100644 --- a/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/non_rigid_mesh_registration.h +++ b/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/non_rigid_mesh_registration.h @@ -534,7 +534,7 @@ void non_rigid_mesh_to_points_registration(const TriangleMesh& source, kdtree.build(); if (max_matching_dist < 0) { - FT sum = 0; + double sum = 0; for (Index i = 0; i < Y.rows(); ++i) { Point_3 query_pt = { Y(i, 0), Y(i, 1), Y(i, 2) }; Neighbor_search search(kdtree, query_pt, 2, 0, true, Neighbor_search::Distance(Eigen_matrix_to_point_map(Y)));