diff --git a/AABB_tree/doc/AABB_tree/Concepts/AABBGeomTraits.h b/AABB_tree/doc/AABB_tree/Concepts/AABBGeomTraits.h index 191b388edf9..2f1fdc3e5c6 100644 --- a/AABB_tree/doc/AABB_tree/Concepts/AABBGeomTraits.h +++ b/AABB_tree/doc/AABB_tree/Concepts/AABBGeomTraits.h @@ -9,7 +9,7 @@ and compute intersections between query objects and the primitives stored in the In addition, it contains predicates and constructors to compute distances between a point query and the primitives stored in the AABB tree. -\cgalRefines `SearchGeomTraits_3` +\cgalRefines{SearchGeomTraits_3} \cgalHasModel All models of the concept `Kernel` @@ -76,7 +76,7 @@ A functor object to compare the distance of two points wrt a third one. Provides `CGAL::Comparison_result operator()(const Point_3& p1, const Point_3& p2, const Point_3& p3)`, -which compares the distance between `p1 and `p2`, and between `p2` and `p3`. +which compares the distance between `p1` and `p2`, and between `p2` and `p3`. */ typedef unspecified_type Compare_distance_3; diff --git a/AABB_tree/doc/AABB_tree/Concepts/AABBRayIntersectionGeomTraits.h b/AABB_tree/doc/AABB_tree/Concepts/AABBRayIntersectionGeomTraits.h index de83a001ec8..a90c498a7ec 100644 --- a/AABB_tree/doc/AABB_tree/Concepts/AABBRayIntersectionGeomTraits.h +++ b/AABB_tree/doc/AABB_tree/Concepts/AABBRayIntersectionGeomTraits.h @@ -7,7 +7,7 @@ concept `AABBGeomTraits`. In addition to the types required by `AABBGeomTraits` it also requires types and functors necessary to define the Intersection_distance functor. -\cgalRefines `AABBGeomTraits` +\cgalRefines{AABBGeomTraits} \cgalHasModel All models of the concept `Kernel` diff --git a/AABB_tree/doc/AABB_tree/Concepts/AABBTraits.h b/AABB_tree/doc/AABB_tree/Concepts/AABBTraits.h index b1db24dab21..c7f0e806faf 100644 --- a/AABB_tree/doc/AABB_tree/Concepts/AABBTraits.h +++ b/AABB_tree/doc/AABB_tree/Concepts/AABBTraits.h @@ -7,7 +7,7 @@ The concept `AABBTraits` provides the geometric primitive types and methods for \cgalHasModel `CGAL::AABB_traits` -\cgalRefines `SearchGeomTraits_3` +\cgalRefines{SearchGeomTraits_3} \sa `CGAL::AABB_traits` \sa `CGAL::AABB_tree` diff --git a/Advancing_front_surface_reconstruction/doc/Advancing_front_surface_reconstruction/Concepts/AdvancingFrontSurfaceReconstructionTraits_3.h b/Advancing_front_surface_reconstruction/doc/Advancing_front_surface_reconstruction/Concepts/AdvancingFrontSurfaceReconstructionTraits_3.h index 458f63668af..c68ff917daa 100644 --- a/Advancing_front_surface_reconstruction/doc/Advancing_front_surface_reconstruction/Concepts/AdvancingFrontSurfaceReconstructionTraits_3.h +++ b/Advancing_front_surface_reconstruction/doc/Advancing_front_surface_reconstruction/Concepts/AdvancingFrontSurfaceReconstructionTraits_3.h @@ -9,7 +9,7 @@ used in the class `CGAL::Advancing_front_surface_reconstruction`. It defines the geometric objects (points, segments...) forming the triangulation together with a few geometric predicates and constructions on these objects. -\cgalRefines `DelaunayTriangulationTraits_3` +\cgalRefines{DelaunayTriangulationTraits_3} \cgalHasModel All models of `Kernel`. */ diff --git a/Advancing_front_surface_reconstruction/include/CGAL/Advancing_front_surface_reconstruction.h b/Advancing_front_surface_reconstruction/include/CGAL/Advancing_front_surface_reconstruction.h index c7f5e1325b2..b91a7d0f5ec 100644 --- a/Advancing_front_surface_reconstruction/include/CGAL/Advancing_front_surface_reconstruction.h +++ b/Advancing_front_surface_reconstruction/include/CGAL/Advancing_front_surface_reconstruction.h @@ -186,7 +186,7 @@ namespace CGAL { CGAL::Advancing_front_surface_reconstruction_vertex_base_3< CGAL::Exact_predicates_inexact_constructions_kernel>, CGAL::Advancing_front_surface_reconstruction_cell_base_3< - CGAL::Exact_predicates_inexact_constructions_kernel> > >` + CGAL::Exact_predicates_inexact_constructions_kernel> > > \endcode \tparam P must be a functor offering diff --git a/Algebraic_foundations/doc/Algebraic_foundations/Concepts/AlgebraicStructureTraits--Div.h b/Algebraic_foundations/doc/Algebraic_foundations/Concepts/AlgebraicStructureTraits--Div.h index f2636529343..9eac0a57c46 100644 --- a/Algebraic_foundations/doc/Algebraic_foundations/Concepts/AlgebraicStructureTraits--Div.h +++ b/Algebraic_foundations/doc/Algebraic_foundations/Concepts/AlgebraicStructureTraits--Div.h @@ -8,7 +8,7 @@ namespace AlgebraicStructureTraits_{ `AdaptableBinaryFunction` computes the integral quotient of division with remainder. -\cgalRefines `AdaptableBinaryFunction` +\cgalRefines{AdaptableBinaryFunction} \sa `AlgebraicStructureTraits` \sa `AlgebraicStructureTraits_::Mod` @@ -58,4 +58,4 @@ template result_type operator()(NT1 x, NT2 y); }; /* end Div */ -} \ No newline at end of file +} diff --git a/Algebraic_foundations/doc/Algebraic_foundations/Concepts/AlgebraicStructureTraits--DivMod.h b/Algebraic_foundations/doc/Algebraic_foundations/Concepts/AlgebraicStructureTraits--DivMod.h index 2e2e4d2cd0f..77116e3a7a1 100644 --- a/Algebraic_foundations/doc/Algebraic_foundations/Concepts/AlgebraicStructureTraits--DivMod.h +++ b/Algebraic_foundations/doc/Algebraic_foundations/Concepts/AlgebraicStructureTraits--DivMod.h @@ -189,7 +189,7 @@ r -\cgalRefines `AdaptableFunctor` +\cgalRefines{AdaptableFunctor} \sa `AlgebraicStructureTraits` \sa `AlgebraicStructureTraits_::Mod` diff --git a/Algebraic_foundations/doc/Algebraic_foundations/Concepts/AlgebraicStructureTraits--Divides.h b/Algebraic_foundations/doc/Algebraic_foundations/Concepts/AlgebraicStructureTraits--Divides.h index b6296f69ff8..5a470643ad7 100644 --- a/Algebraic_foundations/doc/Algebraic_foundations/Concepts/AlgebraicStructureTraits--Divides.h +++ b/Algebraic_foundations/doc/Algebraic_foundations/Concepts/AlgebraicStructureTraits--Divides.h @@ -16,7 +16,7 @@ This functor is required to provide two operators. The first operator takes two arguments and returns true if the first argument divides the second argument. The second operator returns \f$ c\f$ via the additional third argument. -\cgalRefines `AdaptableBinaryFunction` +\cgalRefines{AdaptableBinaryFunction} \sa `AlgebraicStructureTraits` \sa `AlgebraicStructureTraits_::IntegralDivision` diff --git a/Algebraic_foundations/doc/Algebraic_foundations/Concepts/AlgebraicStructureTraits--Gcd.h b/Algebraic_foundations/doc/Algebraic_foundations/Concepts/AlgebraicStructureTraits--Gcd.h index 1dfc1c08856..92244b790ff 100644 --- a/Algebraic_foundations/doc/Algebraic_foundations/Concepts/AlgebraicStructureTraits--Gcd.h +++ b/Algebraic_foundations/doc/Algebraic_foundations/Concepts/AlgebraicStructureTraits--Gcd.h @@ -17,7 +17,7 @@ unit-normal (i.e.\ have unit part 1). to the partial order of divisibility. This is because an element \f$ a \in R\f$ is said to divide \f$ b \in R\f$, iff \f$ \exists r \in R\f$ such that \f$ a \cdot r = b\f$. Thus, \f$ 0\f$ is divided by every element of the Ring, in particular by itself. -\cgalRefines `AdaptableBinaryFunction` +\cgalRefines{AdaptableBinaryFunction} \sa `AlgebraicStructureTraits` diff --git a/Algebraic_foundations/doc/Algebraic_foundations/Concepts/AlgebraicStructureTraits--IntegralDivision.h b/Algebraic_foundations/doc/Algebraic_foundations/Concepts/AlgebraicStructureTraits--IntegralDivision.h index 8627e724944..9eccaa1a37b 100644 --- a/Algebraic_foundations/doc/Algebraic_foundations/Concepts/AlgebraicStructureTraits--IntegralDivision.h +++ b/Algebraic_foundations/doc/Algebraic_foundations/Concepts/AlgebraicStructureTraits--IntegralDivision.h @@ -13,7 +13,7 @@ exists (i.e.\ if \f$ x\f$ is divisible by \f$ y\f$). Otherwise the effect of inv this operation is undefined. Since the ring represented is an integral domain, \f$ z\f$ is uniquely defined if it exists. -\cgalRefines `AdaptableBinaryFunction` +\cgalRefines{AdaptableBinaryFunction} \sa `AlgebraicStructureTraits` \sa `AlgebraicStructureTraits_::Divides` diff --git a/Algebraic_foundations/doc/Algebraic_foundations/Concepts/AlgebraicStructureTraits--Inverse.h b/Algebraic_foundations/doc/Algebraic_foundations/Concepts/AlgebraicStructureTraits--Inverse.h index 4c7602959a2..e72950d3346 100644 --- a/Algebraic_foundations/doc/Algebraic_foundations/Concepts/AlgebraicStructureTraits--Inverse.h +++ b/Algebraic_foundations/doc/Algebraic_foundations/Concepts/AlgebraicStructureTraits--Inverse.h @@ -8,7 +8,7 @@ namespace AlgebraicStructureTraits_{ `AdaptableUnaryFunction` providing the inverse element with respect to multiplication of a `Field`. -\cgalRefines `AdaptableUnaryFunction` +\cgalRefines{AdaptableUnaryFunction} \sa `AlgebraicStructureTraits` diff --git a/Algebraic_foundations/doc/Algebraic_foundations/Concepts/AlgebraicStructureTraits--IsOne.h b/Algebraic_foundations/doc/Algebraic_foundations/Concepts/AlgebraicStructureTraits--IsOne.h index 47c2486c112..91addf365a9 100644 --- a/Algebraic_foundations/doc/Algebraic_foundations/Concepts/AlgebraicStructureTraits--IsOne.h +++ b/Algebraic_foundations/doc/Algebraic_foundations/Concepts/AlgebraicStructureTraits--IsOne.h @@ -8,7 +8,7 @@ namespace AlgebraicStructureTraits_{ `AdaptableUnaryFunction`, returns true in case the argument is the one of the ring. -\cgalRefines `AdaptableUnaryFunction` +\cgalRefines{AdaptableUnaryFunction} \sa `AlgebraicStructureTraits` diff --git a/Algebraic_foundations/doc/Algebraic_foundations/Concepts/AlgebraicStructureTraits--IsSquare.h b/Algebraic_foundations/doc/Algebraic_foundations/Concepts/AlgebraicStructureTraits--IsSquare.h index f50af0ba048..27aace6db8d 100644 --- a/Algebraic_foundations/doc/Algebraic_foundations/Concepts/AlgebraicStructureTraits--IsSquare.h +++ b/Algebraic_foundations/doc/Algebraic_foundations/Concepts/AlgebraicStructureTraits--IsSquare.h @@ -13,7 +13,7 @@ A ring element \f$ x\f$ is said to be a square iff there exists a ring element \ that \f$ x= y*y\f$. In case the ring is a `UniqueFactorizationDomain`, \f$ y\f$ is uniquely defined up to multiplication by units. -\cgalRefines `AdaptableBinaryFunction` +\cgalRefines{AdaptableBinaryFunction} \sa `AlgebraicStructureTraits` diff --git a/Algebraic_foundations/doc/Algebraic_foundations/Concepts/AlgebraicStructureTraits--IsZero.h b/Algebraic_foundations/doc/Algebraic_foundations/Concepts/AlgebraicStructureTraits--IsZero.h index 8fd2c91c343..c8f6bffc002 100644 --- a/Algebraic_foundations/doc/Algebraic_foundations/Concepts/AlgebraicStructureTraits--IsZero.h +++ b/Algebraic_foundations/doc/Algebraic_foundations/Concepts/AlgebraicStructureTraits--IsZero.h @@ -7,7 +7,7 @@ namespace AlgebraicStructureTraits_{ `AdaptableUnaryFunction`, returns true in case the argument is the zero element of the ring. -\cgalRefines `AdaptableUnaryFunction` +\cgalRefines{AdaptableUnaryFunction} \sa `AlgebraicStructureTraits` \sa `RealEmbeddableTraits_::IsZero` diff --git a/Algebraic_foundations/doc/Algebraic_foundations/Concepts/AlgebraicStructureTraits--KthRoot.h b/Algebraic_foundations/doc/Algebraic_foundations/Concepts/AlgebraicStructureTraits--KthRoot.h index c9e6bed7986..1825473190d 100644 --- a/Algebraic_foundations/doc/Algebraic_foundations/Concepts/AlgebraicStructureTraits--KthRoot.h +++ b/Algebraic_foundations/doc/Algebraic_foundations/Concepts/AlgebraicStructureTraits--KthRoot.h @@ -7,7 +7,7 @@ namespace AlgebraicStructureTraits_{ `AdaptableBinaryFunction` providing the k-th root. -\cgalRefines `AdaptableBinaryFunction` +\cgalRefines{AdaptableBinaryFunction} \sa `FieldWithRootOf` \sa `AlgebraicStructureTraits` diff --git a/Algebraic_foundations/doc/Algebraic_foundations/Concepts/AlgebraicStructureTraits--Mod.h b/Algebraic_foundations/doc/Algebraic_foundations/Concepts/AlgebraicStructureTraits--Mod.h index 5f45b13441c..af160cb22be 100644 --- a/Algebraic_foundations/doc/Algebraic_foundations/Concepts/AlgebraicStructureTraits--Mod.h +++ b/Algebraic_foundations/doc/Algebraic_foundations/Concepts/AlgebraicStructureTraits--Mod.h @@ -7,7 +7,7 @@ namespace AlgebraicStructureTraits_ { `AdaptableBinaryFunction` computes the remainder of division with remainder. -\cgalRefines `AdaptableBinaryFunction` +\cgalRefines{AdaptableBinaryFunction} \sa `AlgebraicStructureTraits` \sa `AlgebraicStructureTraits_::Div` diff --git a/Algebraic_foundations/doc/Algebraic_foundations/Concepts/AlgebraicStructureTraits--RootOf.h b/Algebraic_foundations/doc/Algebraic_foundations/Concepts/AlgebraicStructureTraits--RootOf.h index 1d925e33ae9..2e2dc349407 100644 --- a/Algebraic_foundations/doc/Algebraic_foundations/Concepts/AlgebraicStructureTraits--RootOf.h +++ b/Algebraic_foundations/doc/Algebraic_foundations/Concepts/AlgebraicStructureTraits--RootOf.h @@ -8,7 +8,7 @@ namespace AlgebraicStructureTraits_{ `AdaptableFunctor` computes a real root of a square-free univariate polynomial. -\cgalRefines `AdaptableFunctor` +\cgalRefines{AdaptableFunctor} \sa `FieldWithRootOf` \sa `AlgebraicStructureTraits` diff --git a/Algebraic_foundations/doc/Algebraic_foundations/Concepts/AlgebraicStructureTraits--Simplify.h b/Algebraic_foundations/doc/Algebraic_foundations/Concepts/AlgebraicStructureTraits--Simplify.h index 4d5e5858a26..2a19674b46f 100644 --- a/Algebraic_foundations/doc/Algebraic_foundations/Concepts/AlgebraicStructureTraits--Simplify.h +++ b/Algebraic_foundations/doc/Algebraic_foundations/Concepts/AlgebraicStructureTraits--Simplify.h @@ -7,7 +7,7 @@ namespace AlgebraicStructureTraits_{ This `AdaptableUnaryFunction` may simplify a given object. -\cgalRefines `AdaptableUnaryFunction` +\cgalRefines{AdaptableUnaryFunction} \sa `AlgebraicStructureTraits` diff --git a/Algebraic_foundations/doc/Algebraic_foundations/Concepts/AlgebraicStructureTraits--Sqrt.h b/Algebraic_foundations/doc/Algebraic_foundations/Concepts/AlgebraicStructureTraits--Sqrt.h index 5186f117a58..5ba0a2fc9a1 100644 --- a/Algebraic_foundations/doc/Algebraic_foundations/Concepts/AlgebraicStructureTraits--Sqrt.h +++ b/Algebraic_foundations/doc/Algebraic_foundations/Concepts/AlgebraicStructureTraits--Sqrt.h @@ -7,7 +7,7 @@ namespace AlgebraicStructureTraits_{ `AdaptableUnaryFunction` providing the square root. -\cgalRefines `AdaptableUnaryFunction` +\cgalRefines{AdaptableUnaryFunction} \sa `AlgebraicStructureTraits` diff --git a/Algebraic_foundations/doc/Algebraic_foundations/Concepts/AlgebraicStructureTraits--Square.h b/Algebraic_foundations/doc/Algebraic_foundations/Concepts/AlgebraicStructureTraits--Square.h index a21df785218..0cc33797b3e 100644 --- a/Algebraic_foundations/doc/Algebraic_foundations/Concepts/AlgebraicStructureTraits--Square.h +++ b/Algebraic_foundations/doc/Algebraic_foundations/Concepts/AlgebraicStructureTraits--Square.h @@ -7,7 +7,7 @@ namespace AlgebraicStructureTraits_{ `AdaptableUnaryFunction`, computing the square of the argument. -\cgalRefines `AdaptableUnaryFunction` +\cgalRefines{AdaptableUnaryFunction} \sa `AlgebraicStructureTraits` diff --git a/Algebraic_foundations/doc/Algebraic_foundations/Concepts/AlgebraicStructureTraits--UnitPart.h b/Algebraic_foundations/doc/Algebraic_foundations/Concepts/AlgebraicStructureTraits--UnitPart.h index 2f5cc4d4b2d..15035610c40 100644 --- a/Algebraic_foundations/doc/Algebraic_foundations/Concepts/AlgebraicStructureTraits--UnitPart.h +++ b/Algebraic_foundations/doc/Algebraic_foundations/Concepts/AlgebraicStructureTraits--UnitPart.h @@ -21,7 +21,7 @@ hence the unit-part of a non-zero integer is its sign. For a `Field`, every non-zero element is a unit and is its own unit part, its unit normal associate being one. The unit part of zero is, by convention, one. -\cgalRefines `AdaptableUnaryFunction` +\cgalRefines{AdaptableUnaryFunction} \sa `AlgebraicStructureTraits` diff --git a/Algebraic_foundations/doc/Algebraic_foundations/Concepts/EuclideanRing.h b/Algebraic_foundations/doc/Algebraic_foundations/Concepts/EuclideanRing.h index d7d340b0bc3..69421885198 100644 --- a/Algebraic_foundations/doc/Algebraic_foundations/Concepts/EuclideanRing.h +++ b/Algebraic_foundations/doc/Algebraic_foundations/Concepts/EuclideanRing.h @@ -25,7 +25,7 @@ The most prominent example of a Euclidean ring are the integers. Whenever both \f$ x\f$ and \f$ y\f$ are positive, then it is conventional to choose the smallest positive remainder \f$ r\f$. -\cgalRefines `UniqueFactorizationDomain` +\cgalRefines{UniqueFactorizationDomain} \sa `IntegralDomainWithoutDivision` \sa `IntegralDomain` diff --git a/Algebraic_foundations/doc/Algebraic_foundations/Concepts/Field.h b/Algebraic_foundations/doc/Algebraic_foundations/Concepts/Field.h index 0393f355733..cf0c4615928 100644 --- a/Algebraic_foundations/doc/Algebraic_foundations/Concepts/Field.h +++ b/Algebraic_foundations/doc/Algebraic_foundations/Concepts/Field.h @@ -16,7 +16,7 @@ Moreover, `CGAL::Algebraic_structure_traits< Field >` is a model of - \link AlgebraicStructureTraits::Algebraic_category `CGAL::Algebraic_structure_traits< Field >::Algebraic_category` \endlink derived from `CGAL::Field_tag` - \link AlgebraicStructureTraits::Inverse `CGAL::Algebraic_structure_traits< FieldWithSqrt >::Inverse` \endlink which is a model of `AlgebraicStructureTraits_::Inverse` -\cgalRefines `IntegralDomain` +\cgalRefines{IntegralDomain} \sa `IntegralDomainWithoutDivision` \sa `IntegralDomain` diff --git a/Algebraic_foundations/doc/Algebraic_foundations/Concepts/FieldNumberType.h b/Algebraic_foundations/doc/Algebraic_foundations/Concepts/FieldNumberType.h index 3c464a42811..8609a9a9cbe 100644 --- a/Algebraic_foundations/doc/Algebraic_foundations/Concepts/FieldNumberType.h +++ b/Algebraic_foundations/doc/Algebraic_foundations/Concepts/FieldNumberType.h @@ -7,8 +7,7 @@ The concept `FieldNumberType` combines the requirements of the concepts A model of `FieldNumberType` can be used as a template parameter for Cartesian kernels. -\cgalRefines `Field` -\cgalRefines `RealEmbeddable` +\cgalRefines{Field,RealEmbeddable} \cgalHasModel float \cgalHasModel double diff --git a/Algebraic_foundations/doc/Algebraic_foundations/Concepts/FieldWithKthRoot.h b/Algebraic_foundations/doc/Algebraic_foundations/Concepts/FieldWithKthRoot.h index fdf80ccb5d5..d786a07704d 100644 --- a/Algebraic_foundations/doc/Algebraic_foundations/Concepts/FieldWithKthRoot.h +++ b/Algebraic_foundations/doc/Algebraic_foundations/Concepts/FieldWithKthRoot.h @@ -10,7 +10,7 @@ Moreover, `CGAL::Algebraic_structure_traits< FieldWithKthRoot >` is a model of ` - \link AlgebraicStructureTraits::Algebraic_category `CGAL::Algebraic_structure_traits< FieldWithKthRoot >::Algebraic_category` \endlink derived from `CGAL::Field_with_kth_root_tag` - \link AlgebraicStructureTraits::Kth_root `CGAL::Algebraic_structure_traits< FieldWithKthRoot >::Kth_root` \endlink which is a model of `AlgebraicStructureTraits_::KthRoot` -\cgalRefines `FieldWithSqrt` +\cgalRefines{FieldWithSqrt} \sa `IntegralDomainWithoutDivision` \sa `IntegralDomain` diff --git a/Algebraic_foundations/doc/Algebraic_foundations/Concepts/FieldWithRootOf.h b/Algebraic_foundations/doc/Algebraic_foundations/Concepts/FieldWithRootOf.h index beb3f93bfaf..fbedea0a5cc 100644 --- a/Algebraic_foundations/doc/Algebraic_foundations/Concepts/FieldWithRootOf.h +++ b/Algebraic_foundations/doc/Algebraic_foundations/Concepts/FieldWithRootOf.h @@ -11,7 +11,7 @@ Moreover, `CGAL::Algebraic_structure_traits< FieldWithRootOf >` is a model of `A - \link AlgebraicStructureTraits::Algebraic_category `CGAL::Algebraic_structure_traits< FieldWithRootOf >::Algebraic_category` \endlink derived from `CGAL::Field_with_kth_root_tag` - \link AlgebraicStructureTraits::Root_of `CGAL::Algebraic_structure_traits< FieldWithRootOf >::Root_of` \endlink which is a model of `AlgebraicStructureTraits_::RootOf` -\cgalRefines `FieldWithKthRoot` +\cgalRefines{FieldWithKthRoot} \sa `IntegralDomainWithoutDivision` \sa `IntegralDomain` diff --git a/Algebraic_foundations/doc/Algebraic_foundations/Concepts/FieldWithSqrt.h b/Algebraic_foundations/doc/Algebraic_foundations/Concepts/FieldWithSqrt.h index a00fc6117af..6f4de356deb 100644 --- a/Algebraic_foundations/doc/Algebraic_foundations/Concepts/FieldWithSqrt.h +++ b/Algebraic_foundations/doc/Algebraic_foundations/Concepts/FieldWithSqrt.h @@ -10,7 +10,7 @@ Moreover, `CGAL::Algebraic_structure_traits< FieldWithSqrt >` is a model of `Alg - \link AlgebraicStructureTraits::Algebraic_category `CGAL::Algebraic_structure_traits< FieldWithSqrt >::Algebraic_category` \endlink derived from `CGAL::Field_with_sqrt_tag` - \link AlgebraicStructureTraits::Sqrt `CGAL::Algebraic_structure_traits< FieldWithSqrt >::Sqrt` \endlink which is a model of `AlgebraicStructureTraits_::Sqrt` -\cgalRefines `Field` +\cgalRefines{Field} \sa `IntegralDomainWithoutDivision` \sa `IntegralDomain` diff --git a/Algebraic_foundations/doc/Algebraic_foundations/Concepts/FractionTraits.h b/Algebraic_foundations/doc/Algebraic_foundations/Concepts/FractionTraits.h index a078885017c..eaa438e6c90 100644 --- a/Algebraic_foundations/doc/Algebraic_foundations/Concepts/FractionTraits.h +++ b/Algebraic_foundations/doc/Algebraic_foundations/Concepts/FractionTraits.h @@ -113,7 +113,7 @@ FractionTraits::Denominator_type & d); `AdaptableBinaryFunction`, returns the fraction of its arguments. -\cgalRefines `AdaptableBinaryFunction` +\cgalRefines{AdaptableBinaryFunction} \sa `Fraction` \sa `FractionTraits` @@ -168,7 +168,7 @@ This can be considered as a relaxed version of `AlgebraicStructureTraits_::Gcd`, this is needed because it is not guaranteed that `FractionTraits::Denominator_type` is a model of `UniqueFactorizationDomain`. -\cgalRefines `AdaptableBinaryFunction` +\cgalRefines{AdaptableBinaryFunction} \sa `Fraction` \sa `FractionTraits` diff --git a/Algebraic_foundations/doc/Algebraic_foundations/Concepts/ImplicitInteroperable.h b/Algebraic_foundations/doc/Algebraic_foundations/Concepts/ImplicitInteroperable.h index 092de9ee651..d7521aafcaa 100644 --- a/Algebraic_foundations/doc/Algebraic_foundations/Concepts/ImplicitInteroperable.h +++ b/Algebraic_foundations/doc/Algebraic_foundations/Concepts/ImplicitInteroperable.h @@ -16,7 +16,7 @@ In this case \link CGAL::Coercion_traits::Are_implicit_interoperable `CGAL::Coercion_traits::Are_implicit_interoperable`\endlink is `CGAL::Tag_true`. -\cgalRefines `ExplicitInteroperable` +\cgalRefines{ExplicitInteroperable} \sa `CGAL::Coercion_traits` \sa `ExplicitInteroperable` diff --git a/Algebraic_foundations/doc/Algebraic_foundations/Concepts/IntegralDomain.h b/Algebraic_foundations/doc/Algebraic_foundations/Concepts/IntegralDomain.h index a0fa9867788..ebdcbfe2189 100644 --- a/Algebraic_foundations/doc/Algebraic_foundations/Concepts/IntegralDomain.h +++ b/Algebraic_foundations/doc/Algebraic_foundations/Concepts/IntegralDomain.h @@ -16,7 +16,7 @@ Moreover, `CGAL::Algebraic_structure_traits< IntegralDomain >` is a model of - \link AlgebraicStructureTraits::Integral_division `CGAL::Algebraic_structure_traits< IntegralDomain >::Integral_division` \endlink which is a model of `AlgebraicStructureTraits_::IntegralDivision` - \link AlgebraicStructureTraits::Divides `CGAL::Algebraic_structure_traits< IntegralDomain >::Divides` \endlink which is a model of `AlgebraicStructureTraits_::Divides` -\cgalRefines `IntegralDomainWithoutDivision` +\cgalRefines{IntegralDomainWithoutDivision} \sa `IntegralDomainWithoutDivision` \sa `IntegralDomain` diff --git a/Algebraic_foundations/doc/Algebraic_foundations/Concepts/IntegralDomainWithoutDivision.h b/Algebraic_foundations/doc/Algebraic_foundations/Concepts/IntegralDomainWithoutDivision.h index 9f6467406dd..2636122f379 100644 --- a/Algebraic_foundations/doc/Algebraic_foundations/Concepts/IntegralDomainWithoutDivision.h +++ b/Algebraic_foundations/doc/Algebraic_foundations/Concepts/IntegralDomainWithoutDivision.h @@ -29,11 +29,7 @@ Moreover, `CGAL::Algebraic_structure_traits< IntegralDomainWithoutDivision >` is - \link AlgebraicStructureTraits::Simplify `CGAL::Algebraic_structure_traits< IntegralDomainWithoutDivision >::Simplify` \endlink which is a model of `AlgebraicStructureTraits_::Simplify` - \link AlgebraicStructureTraits::Unit_part `CGAL::Algebraic_structure_traits< IntegralDomainWithoutDivision >::Unit_part` \endlink which is a model of `AlgebraicStructureTraits_::UnitPart` -\cgalRefines `Assignable` -\cgalRefines `CopyConstructible` -\cgalRefines `DefaultConstructible` -\cgalRefines `EqualityComparable` -\cgalRefines `FromIntConstructible` +\cgalRefines{Assignable,CopyConstructible,DefaultConstructible,EqualityComparable,FromIntConstructible} \sa `IntegralDomainWithoutDivision` \sa `IntegralDomain` diff --git a/Algebraic_foundations/doc/Algebraic_foundations/Concepts/RealEmbeddable.h b/Algebraic_foundations/doc/Algebraic_foundations/Concepts/RealEmbeddable.h index ca66c563727..8f38c630da6 100644 --- a/Algebraic_foundations/doc/Algebraic_foundations/Concepts/RealEmbeddable.h +++ b/Algebraic_foundations/doc/Algebraic_foundations/Concepts/RealEmbeddable.h @@ -38,8 +38,7 @@ If a number type is a model of both `IntegralDomainWithoutDivision` and `RealEmbeddable`, it follows that the ring represented by such a number type is a sub-ring of the real numbers and hence has characteristic zero. -\cgalRefines `EqualityComparable` -\cgalRefines `LessThanComparable` +\cgalRefines{EqualityComparable,LessThanComparable} \sa `RealEmbeddableTraits` diff --git a/Algebraic_foundations/doc/Algebraic_foundations/Concepts/RealEmbeddableTraits--Abs.h b/Algebraic_foundations/doc/Algebraic_foundations/Concepts/RealEmbeddableTraits--Abs.h index bc4c71769a4..a04e3446f91 100644 --- a/Algebraic_foundations/doc/Algebraic_foundations/Concepts/RealEmbeddableTraits--Abs.h +++ b/Algebraic_foundations/doc/Algebraic_foundations/Concepts/RealEmbeddableTraits--Abs.h @@ -7,7 +7,7 @@ namespace RealEmbeddableTraits_ { `AdaptableUnaryFunction` computes the absolute value of a number. -\cgalRefines `AdaptableUnaryFunction` +\cgalRefines{AdaptableUnaryFunction} \sa `RealEmbeddableTraits` diff --git a/Algebraic_foundations/doc/Algebraic_foundations/Concepts/RealEmbeddableTraits--Compare.h b/Algebraic_foundations/doc/Algebraic_foundations/Concepts/RealEmbeddableTraits--Compare.h index 9f2d4d7fcf1..81607c82508 100644 --- a/Algebraic_foundations/doc/Algebraic_foundations/Concepts/RealEmbeddableTraits--Compare.h +++ b/Algebraic_foundations/doc/Algebraic_foundations/Concepts/RealEmbeddableTraits--Compare.h @@ -7,7 +7,7 @@ namespace RealEmbeddableTraits_ { `AdaptableBinaryFunction` compares two real embeddable numbers. -\cgalRefines `AdaptableBinaryFunction` +\cgalRefines{AdaptableBinaryFunction} \sa `RealEmbeddableTraits` diff --git a/Algebraic_foundations/doc/Algebraic_foundations/Concepts/RealEmbeddableTraits--IsNegative.h b/Algebraic_foundations/doc/Algebraic_foundations/Concepts/RealEmbeddableTraits--IsNegative.h index a976457061a..13f0683f87d 100644 --- a/Algebraic_foundations/doc/Algebraic_foundations/Concepts/RealEmbeddableTraits--IsNegative.h +++ b/Algebraic_foundations/doc/Algebraic_foundations/Concepts/RealEmbeddableTraits--IsNegative.h @@ -7,7 +7,7 @@ namespace RealEmbeddableTraits_ { `AdaptableUnaryFunction`, returns true in case the argument is negative. -\cgalRefines `AdaptableUnaryFunction` +\cgalRefines{AdaptableUnaryFunction} \sa `RealEmbeddableTraits` diff --git a/Algebraic_foundations/doc/Algebraic_foundations/Concepts/RealEmbeddableTraits--IsPositive.h b/Algebraic_foundations/doc/Algebraic_foundations/Concepts/RealEmbeddableTraits--IsPositive.h index 237a3be3cc2..89bb2c1346a 100644 --- a/Algebraic_foundations/doc/Algebraic_foundations/Concepts/RealEmbeddableTraits--IsPositive.h +++ b/Algebraic_foundations/doc/Algebraic_foundations/Concepts/RealEmbeddableTraits--IsPositive.h @@ -7,7 +7,7 @@ namespace RealEmbeddableTraits_ { `AdaptableUnaryFunction`, returns true in case the argument is positive. -\cgalRefines `AdaptableUnaryFunction` +\cgalRefines{AdaptableUnaryFunction} \sa `RealEmbeddableTraits` diff --git a/Algebraic_foundations/doc/Algebraic_foundations/Concepts/RealEmbeddableTraits--IsZero.h b/Algebraic_foundations/doc/Algebraic_foundations/Concepts/RealEmbeddableTraits--IsZero.h index 1e0eec32850..4257cfad3c4 100644 --- a/Algebraic_foundations/doc/Algebraic_foundations/Concepts/RealEmbeddableTraits--IsZero.h +++ b/Algebraic_foundations/doc/Algebraic_foundations/Concepts/RealEmbeddableTraits--IsZero.h @@ -7,7 +7,7 @@ namespace RealEmbeddableTraits_ { `AdaptableUnaryFunction`, returns true in case the argument is 0. -\cgalRefines `AdaptableUnaryFunction` +\cgalRefines{AdaptableUnaryFunction} \sa `RealEmbeddableTraits` \sa `AlgebraicStructureTraits_::IsZero` diff --git a/Algebraic_foundations/doc/Algebraic_foundations/Concepts/RealEmbeddableTraits--Sgn.h b/Algebraic_foundations/doc/Algebraic_foundations/Concepts/RealEmbeddableTraits--Sgn.h index 783caf4f115..c8d112ca99e 100644 --- a/Algebraic_foundations/doc/Algebraic_foundations/Concepts/RealEmbeddableTraits--Sgn.h +++ b/Algebraic_foundations/doc/Algebraic_foundations/Concepts/RealEmbeddableTraits--Sgn.h @@ -7,7 +7,7 @@ namespace RealEmbeddableTraits_ { This `AdaptableUnaryFunction` computes the sign of a real embeddable number. -\cgalRefines `AdaptableUnaryFunction` +\cgalRefines{AdaptableUnaryFunction} \sa `RealEmbeddableTraits` diff --git a/Algebraic_foundations/doc/Algebraic_foundations/Concepts/RealEmbeddableTraits--ToDouble.h b/Algebraic_foundations/doc/Algebraic_foundations/Concepts/RealEmbeddableTraits--ToDouble.h index b09a262eea1..2941d4a69cb 100644 --- a/Algebraic_foundations/doc/Algebraic_foundations/Concepts/RealEmbeddableTraits--ToDouble.h +++ b/Algebraic_foundations/doc/Algebraic_foundations/Concepts/RealEmbeddableTraits--ToDouble.h @@ -11,7 +11,7 @@ embeddable number. Remark: In order to control the quality of approximation one has to resort to methods that are specific to NT. There are no general guarantees whatsoever. -\cgalRefines `AdaptableUnaryFunction` +\cgalRefines{AdaptableUnaryFunction} \sa `RealEmbeddableTraits` diff --git a/Algebraic_foundations/doc/Algebraic_foundations/Concepts/RealEmbeddableTraits--ToInterval.h b/Algebraic_foundations/doc/Algebraic_foundations/Concepts/RealEmbeddableTraits--ToInterval.h index 9d73121096c..45222cbe10b 100644 --- a/Algebraic_foundations/doc/Algebraic_foundations/Concepts/RealEmbeddableTraits--ToInterval.h +++ b/Algebraic_foundations/doc/Algebraic_foundations/Concepts/RealEmbeddableTraits--ToInterval.h @@ -9,7 +9,7 @@ namespace RealEmbeddableTraits_ { number \f$ x\f$ a double interval containing \f$ x\f$. This interval is represented by `std::pair`. -\cgalRefines `AdaptableUnaryFunction` +\cgalRefines{AdaptableUnaryFunction} \sa `RealEmbeddableTraits` diff --git a/Algebraic_foundations/doc/Algebraic_foundations/Concepts/RingNumberType.h b/Algebraic_foundations/doc/Algebraic_foundations/Concepts/RingNumberType.h index 37b6e85e6df..a2b6c5036f0 100644 --- a/Algebraic_foundations/doc/Algebraic_foundations/Concepts/RingNumberType.h +++ b/Algebraic_foundations/doc/Algebraic_foundations/Concepts/RingNumberType.h @@ -8,8 +8,7 @@ The concept `RingNumberType` combines the requirements of the concepts A model of `RingNumberType` can be used as a template parameter for Homogeneous kernels. -\cgalRefines `IntegralDomainWithoutDivision` -\cgalRefines `RealEmbeddable` +\cgalRefines{IntegralDomainWithoutDivision,RealEmbeddable} \cgalHasModel \cpp built-in number types \cgalHasModel `CGAL::Gmpq` diff --git a/Algebraic_foundations/doc/Algebraic_foundations/Concepts/UniqueFactorizationDomain.h b/Algebraic_foundations/doc/Algebraic_foundations/Concepts/UniqueFactorizationDomain.h index 0471c50f614..5087c6b2f5c 100644 --- a/Algebraic_foundations/doc/Algebraic_foundations/Concepts/UniqueFactorizationDomain.h +++ b/Algebraic_foundations/doc/Algebraic_foundations/Concepts/UniqueFactorizationDomain.h @@ -23,7 +23,7 @@ is a model of `AlgebraicStructureTraits` providing: derived from `CGAL::Unique_factorization_domain_tag` - \link AlgebraicStructureTraits::Gcd `CGAL::Algebraic_structure_traits< UniqueFactorizationDomain >::Gcd` \endlink which is a model of `AlgebraicStructureTraits_::Gcd` -\cgalRefines `IntegralDomain` +\cgalRefines{IntegralDomain} \sa `IntegralDomainWithoutDivision` \sa `IntegralDomain` diff --git a/Algebraic_kernel_d/doc/Algebraic_kernel_d/Concepts/AlgebraicKernel_d_1--ApproximateAbsolute_1.h b/Algebraic_kernel_d/doc/Algebraic_kernel_d/Concepts/AlgebraicKernel_d_1--ApproximateAbsolute_1.h index 48c231df209..5a2bdf72bd6 100644 --- a/Algebraic_kernel_d/doc/Algebraic_kernel_d/Concepts/AlgebraicKernel_d_1--ApproximateAbsolute_1.h +++ b/Algebraic_kernel_d/doc/Algebraic_kernel_d/Concepts/AlgebraicKernel_d_1--ApproximateAbsolute_1.h @@ -7,7 +7,7 @@ A model of `AlgebraicKernel_d_1::ApproximateAbsolute_1` is an `AdaptableBinaryFu approximation of an `AlgebraicKernel_d_1::Algebraic_real_1` value with respect to a given absolute precision. -\cgalRefines `AdaptableBinaryFunction` +\cgalRefines{AdaptableBinaryFunction} \sa `AlgebraicKernel_d_1::ApproximateRelative_1` diff --git a/Algebraic_kernel_d/doc/Algebraic_kernel_d/Concepts/AlgebraicKernel_d_1--ApproximateRelative_1.h b/Algebraic_kernel_d/doc/Algebraic_kernel_d/Concepts/AlgebraicKernel_d_1--ApproximateRelative_1.h index b9ce0d868b3..5e77b24f981 100644 --- a/Algebraic_kernel_d/doc/Algebraic_kernel_d/Concepts/AlgebraicKernel_d_1--ApproximateRelative_1.h +++ b/Algebraic_kernel_d/doc/Algebraic_kernel_d/Concepts/AlgebraicKernel_d_1--ApproximateRelative_1.h @@ -7,7 +7,7 @@ A model of `AlgebraicKernel_d_1::ApproximateRelative_1` is an `AdaptableBinaryFu approximation of an `AlgebraicKernel_d_1::Algebraic_real_1` value with respect to a given relative precision. -\cgalRefines `AdaptableBinaryFunction` +\cgalRefines{AdaptableBinaryFunction} \sa `AlgebraicKernel_d_1::ApproximateAbsolute_1` diff --git a/Algebraic_kernel_d/doc/Algebraic_kernel_d/Concepts/AlgebraicKernel_d_1--BoundBetween_1.h b/Algebraic_kernel_d/doc/Algebraic_kernel_d/Concepts/AlgebraicKernel_d_1--BoundBetween_1.h index ae6b9c14d0b..e9fea74b2d7 100644 --- a/Algebraic_kernel_d/doc/Algebraic_kernel_d/Concepts/AlgebraicKernel_d_1--BoundBetween_1.h +++ b/Algebraic_kernel_d/doc/Algebraic_kernel_d/Concepts/AlgebraicKernel_d_1--BoundBetween_1.h @@ -7,7 +7,7 @@ Computes a number of type `AlgebraicKernel_d_1::Bound` in-between two `AlgebraicKernel_d_1::Algebraic_real_1` values. -\cgalRefines `AdaptableBinaryFunction` +\cgalRefines{AdaptableBinaryFunction} */ diff --git a/Algebraic_kernel_d/doc/Algebraic_kernel_d/Concepts/AlgebraicKernel_d_1--Compare_1.h b/Algebraic_kernel_d/doc/Algebraic_kernel_d/Concepts/AlgebraicKernel_d_1--Compare_1.h index 9588064cd04..ade530535ce 100644 --- a/Algebraic_kernel_d/doc/Algebraic_kernel_d/Concepts/AlgebraicKernel_d_1--Compare_1.h +++ b/Algebraic_kernel_d/doc/Algebraic_kernel_d/Concepts/AlgebraicKernel_d_1--Compare_1.h @@ -5,7 +5,7 @@ Compares `AlgebraicKernel_d_1::Algebraic_real_1` values. -\cgalRefines `AdaptableBinaryFunction` +\cgalRefines{AdaptableBinaryFunction} */ class AlgebraicKernel_d_1::Compare_1 { diff --git a/Algebraic_kernel_d/doc/Algebraic_kernel_d/Concepts/AlgebraicKernel_d_1--ComputePolynomial_1.h b/Algebraic_kernel_d/doc/Algebraic_kernel_d/Concepts/AlgebraicKernel_d_1--ComputePolynomial_1.h index 81e5feb778c..260359204ab 100644 --- a/Algebraic_kernel_d/doc/Algebraic_kernel_d/Concepts/AlgebraicKernel_d_1--ComputePolynomial_1.h +++ b/Algebraic_kernel_d/doc/Algebraic_kernel_d/Concepts/AlgebraicKernel_d_1--ComputePolynomial_1.h @@ -6,7 +6,7 @@ Computes a square free univariate polynomial \f$ p\f$, such that the given `AlgebraicKernel_d_1::Algebraic_real_1` is a root of \f$ p\f$. -\cgalRefines `AdaptableUnaryFunction` +\cgalRefines{AdaptableUnaryFunction} \sa `AlgebraicKernel_d_1::Isolate_1` diff --git a/Algebraic_kernel_d/doc/Algebraic_kernel_d/Concepts/AlgebraicKernel_d_1--ConstructAlgebraicReal_1.h b/Algebraic_kernel_d/doc/Algebraic_kernel_d/Concepts/AlgebraicKernel_d_1--ConstructAlgebraicReal_1.h index fcc7b68feaa..80e5511d209 100644 --- a/Algebraic_kernel_d/doc/Algebraic_kernel_d/Concepts/AlgebraicKernel_d_1--ConstructAlgebraicReal_1.h +++ b/Algebraic_kernel_d/doc/Algebraic_kernel_d/Concepts/AlgebraicKernel_d_1--ConstructAlgebraicReal_1.h @@ -5,7 +5,7 @@ Constructs `AlgebraicKernel_d_1::Algebraic_real_1`. -\cgalRefines `AdaptableFunctor` +\cgalRefines{AdaptableFunctor} \sa `AlgebraicKernel_d_2::ConstructAlgebraicReal_2` diff --git a/Algebraic_kernel_d/doc/Algebraic_kernel_d/Concepts/AlgebraicKernel_d_1--IsCoprime_1.h b/Algebraic_kernel_d/doc/Algebraic_kernel_d/Concepts/AlgebraicKernel_d_1--IsCoprime_1.h index 2e28f355dd6..080d18c6923 100644 --- a/Algebraic_kernel_d/doc/Algebraic_kernel_d/Concepts/AlgebraicKernel_d_1--IsCoprime_1.h +++ b/Algebraic_kernel_d/doc/Algebraic_kernel_d/Concepts/AlgebraicKernel_d_1--IsCoprime_1.h @@ -6,7 +6,7 @@ Determines whether a given pair of univariate polynomials \f$ p_1, p_2\f$ is coprime, namely if \f$ \deg({\rm gcd}(p_1 ,p_2)) = 0\f$. -\cgalRefines `AdaptableBinaryFunction` +\cgalRefines{AdaptableBinaryFunction} \sa `AlgebraicKernel_d_1::MakeCoprime_1` diff --git a/Algebraic_kernel_d/doc/Algebraic_kernel_d/Concepts/AlgebraicKernel_d_1--IsSquareFree_1.h b/Algebraic_kernel_d/doc/Algebraic_kernel_d/Concepts/AlgebraicKernel_d_1--IsSquareFree_1.h index 1e3a350dc98..0bd7b9ce4b7 100644 --- a/Algebraic_kernel_d/doc/Algebraic_kernel_d/Concepts/AlgebraicKernel_d_1--IsSquareFree_1.h +++ b/Algebraic_kernel_d/doc/Algebraic_kernel_d/Concepts/AlgebraicKernel_d_1--IsSquareFree_1.h @@ -5,7 +5,7 @@ Computes whether the given univariate polynomial is square free. -\cgalRefines `AdaptableUnaryFunction` +\cgalRefines{AdaptableUnaryFunction} \sa `AlgebraicKernel_d_1::MakeSquareFree_1` \sa `AlgebraicKernel_d_1::SquareFreeFactorize_1` diff --git a/Algebraic_kernel_d/doc/Algebraic_kernel_d/Concepts/AlgebraicKernel_d_1--IsZeroAt_1.h b/Algebraic_kernel_d/doc/Algebraic_kernel_d/Concepts/AlgebraicKernel_d_1--IsZeroAt_1.h index f46b2e003c9..b01c54743be 100644 --- a/Algebraic_kernel_d/doc/Algebraic_kernel_d/Concepts/AlgebraicKernel_d_1--IsZeroAt_1.h +++ b/Algebraic_kernel_d/doc/Algebraic_kernel_d/Concepts/AlgebraicKernel_d_1--IsZeroAt_1.h @@ -6,7 +6,7 @@ Computes whether an `AlgebraicKernel_d_1::Polynomial_1` is zero at a given `AlgebraicKernel_d_1::Algebraic_real_1`. -\cgalRefines `AdaptableBinaryFunction` +\cgalRefines{AdaptableBinaryFunction} \sa `AlgebraicKernel_d_1::SignAt_1` diff --git a/Algebraic_kernel_d/doc/Algebraic_kernel_d/Concepts/AlgebraicKernel_d_1--Isolate_1.h b/Algebraic_kernel_d/doc/Algebraic_kernel_d/Concepts/AlgebraicKernel_d_1--Isolate_1.h index 2396ab84089..b50727dbcf9 100644 --- a/Algebraic_kernel_d/doc/Algebraic_kernel_d/Concepts/AlgebraicKernel_d_1--Isolate_1.h +++ b/Algebraic_kernel_d/doc/Algebraic_kernel_d/Concepts/AlgebraicKernel_d_1--Isolate_1.h @@ -6,7 +6,7 @@ Computes an open isolating interval for an `AlgebraicKernel_d_1::Algebraic_real_1` with respect to the real roots of a given univariate polynomial. -\cgalRefines `AdaptableBinaryFunction` +\cgalRefines{AdaptableBinaryFunction} \sa `AlgebraicKernel_d_1::ComputePolynomial_1` diff --git a/Algebraic_kernel_d/doc/Algebraic_kernel_d/Concepts/AlgebraicKernel_d_1--MakeCoprime_1.h b/Algebraic_kernel_d/doc/Algebraic_kernel_d/Concepts/AlgebraicKernel_d_1--MakeCoprime_1.h index 4ccc4328677..fe0106719e0 100644 --- a/Algebraic_kernel_d/doc/Algebraic_kernel_d/Concepts/AlgebraicKernel_d_1--MakeCoprime_1.h +++ b/Algebraic_kernel_d/doc/Algebraic_kernel_d/Concepts/AlgebraicKernel_d_1--MakeCoprime_1.h @@ -16,7 +16,7 @@ such that \f$ q_1\f$ and \f$ q_2\f$ are coprime. It returns true if \f$ p_1\f$ and \f$ p_2\f$ are already coprime. -\cgalRefines `AdaptableFunctor` with five arguments +\cgalRefines{AdaptableQuinaryFunction} \sa `AlgebraicKernel_d_1::IsCoprime_1` diff --git a/Algebraic_kernel_d/doc/Algebraic_kernel_d/Concepts/AlgebraicKernel_d_1--MakeSquareFree_1.h b/Algebraic_kernel_d/doc/Algebraic_kernel_d/Concepts/AlgebraicKernel_d_1--MakeSquareFree_1.h index c45b33274fb..b357a91a9af 100644 --- a/Algebraic_kernel_d/doc/Algebraic_kernel_d/Concepts/AlgebraicKernel_d_1--MakeSquareFree_1.h +++ b/Algebraic_kernel_d/doc/Algebraic_kernel_d/Concepts/AlgebraicKernel_d_1--MakeSquareFree_1.h @@ -5,7 +5,7 @@ Returns a square free part of a univariate polynomial. -\cgalRefines `AdaptableUnaryFunction` +\cgalRefines{AdaptableUnaryFunction} \sa `AlgebraicKernel_d_1::IsSquareFree_1` \sa `AlgebraicKernel_d_1::SquareFreeFactorize_1` diff --git a/Algebraic_kernel_d/doc/Algebraic_kernel_d/Concepts/AlgebraicKernel_d_1--NumberOfSolutions_1.h b/Algebraic_kernel_d/doc/Algebraic_kernel_d/Concepts/AlgebraicKernel_d_1--NumberOfSolutions_1.h index 1ddba4f6951..c2269e0d942 100644 --- a/Algebraic_kernel_d/doc/Algebraic_kernel_d/Concepts/AlgebraicKernel_d_1--NumberOfSolutions_1.h +++ b/Algebraic_kernel_d/doc/Algebraic_kernel_d/Concepts/AlgebraicKernel_d_1--NumberOfSolutions_1.h @@ -5,7 +5,7 @@ Computes the number of real solutions of the given univariate polynomial. -\cgalRefines `AdaptableUnaryFunction` +\cgalRefines{AdaptableUnaryFunction} \sa `AlgebraicKernel_d_1::ConstructAlgebraicReal_1` diff --git a/Algebraic_kernel_d/doc/Algebraic_kernel_d/Concepts/AlgebraicKernel_d_1--SignAt_1.h b/Algebraic_kernel_d/doc/Algebraic_kernel_d/Concepts/AlgebraicKernel_d_1--SignAt_1.h index 56009e09f91..98c0175abc9 100644 --- a/Algebraic_kernel_d/doc/Algebraic_kernel_d/Concepts/AlgebraicKernel_d_1--SignAt_1.h +++ b/Algebraic_kernel_d/doc/Algebraic_kernel_d/Concepts/AlgebraicKernel_d_1--SignAt_1.h @@ -7,7 +7,7 @@ Computes the sign of a univariate polynomial `AlgebraicKernel_d_1::Polynomial_1` at a real value of type `AlgebraicKernel_d_1::Algebraic_real_1`. -\cgalRefines `AdaptableBinaryFunction` +\cgalRefines{AdaptableBinaryFunction} \sa `AlgebraicKernel_d_1::IsZeroAt_1` diff --git a/Algebraic_kernel_d/doc/Algebraic_kernel_d/Concepts/AlgebraicKernel_d_1--Solve_1.h b/Algebraic_kernel_d/doc/Algebraic_kernel_d/Concepts/AlgebraicKernel_d_1--Solve_1.h index add3def2d3c..7e0691c3d31 100644 --- a/Algebraic_kernel_d/doc/Algebraic_kernel_d/Concepts/AlgebraicKernel_d_1--Solve_1.h +++ b/Algebraic_kernel_d/doc/Algebraic_kernel_d/Concepts/AlgebraicKernel_d_1--Solve_1.h @@ -5,8 +5,7 @@ Computes the real roots of a univariate polynomial. -\cgalRefines `Assignable` -\cgalRefines `CopyConstructible` +\cgalRefines{Assignable,CopyConstructible} */ diff --git a/Algebraic_kernel_d/doc/Algebraic_kernel_d/Concepts/AlgebraicKernel_d_1--SquareFreeFactorize_1.h b/Algebraic_kernel_d/doc/Algebraic_kernel_d/Concepts/AlgebraicKernel_d_1--SquareFreeFactorize_1.h index acfdf7c3778..7d438091838 100644 --- a/Algebraic_kernel_d/doc/Algebraic_kernel_d/Concepts/AlgebraicKernel_d_1--SquareFreeFactorize_1.h +++ b/Algebraic_kernel_d/doc/Algebraic_kernel_d/Concepts/AlgebraicKernel_d_1--SquareFreeFactorize_1.h @@ -14,8 +14,7 @@ and a constant factor \f$ c\f$, such that The factor multiplicity pairs \f$ \f$ are written to the given output iterator. The constant factor \f$ c\f$ is not computed. -\cgalRefines `Assignable` -\cgalRefines `CopyConstructible` +\cgalRefines{Assignable,CopyConstructible} \sa `AlgebraicKernel_d_1::IsSquareFree_1` \sa `AlgebraicKernel_d_1::MakeSquareFree_1` diff --git a/Algebraic_kernel_d/doc/Algebraic_kernel_d/Concepts/AlgebraicKernel_d_1.h b/Algebraic_kernel_d/doc/Algebraic_kernel_d/Concepts/AlgebraicKernel_d_1.h index 26d30e364bd..c9c2f475f8e 100644 --- a/Algebraic_kernel_d/doc/Algebraic_kernel_d/Concepts/AlgebraicKernel_d_1.h +++ b/Algebraic_kernel_d/doc/Algebraic_kernel_d/Concepts/AlgebraicKernel_d_1.h @@ -6,8 +6,7 @@ A model of the `AlgebraicKernel_d_1` concept is meant to provide the algebraic functionalities on univariate polynomials of general degree \f$ d\f$. -\cgalRefines `CopyConstructible` -\cgalRefines `Assignable` +\cgalRefines{CopyConstructible,Assignable} \cgalHasModel `CGAL::Algebraic_kernel_rs_gmpz_d_1` \cgalHasModel `CGAL::Algebraic_kernel_rs_gmpq_d_1` diff --git a/Algebraic_kernel_d/doc/Algebraic_kernel_d/Concepts/AlgebraicKernel_d_2--ApproximateAbsoluteX_2.h b/Algebraic_kernel_d/doc/Algebraic_kernel_d/Concepts/AlgebraicKernel_d_2--ApproximateAbsoluteX_2.h index 79a14f66cc2..570abe04997 100644 --- a/Algebraic_kernel_d/doc/Algebraic_kernel_d/Concepts/AlgebraicKernel_d_2--ApproximateAbsoluteX_2.h +++ b/Algebraic_kernel_d/doc/Algebraic_kernel_d/Concepts/AlgebraicKernel_d_2--ApproximateAbsoluteX_2.h @@ -7,7 +7,7 @@ A model of `AlgebraicKernel_d_2::ApproximateAbsoluteX_2` is an `AdaptableBinaryF approximation of the \f$ x\f$-coordinate of an `AlgebraicKernel_d_2::Algebraic_real_2` value with respect to a given absolute precision. -\cgalRefines `AdaptableBinaryFunction` +\cgalRefines{AdaptableBinaryFunction} \sa `AlgebraicKernel_d_2::ApproximateRelativeX_2` \sa `AlgebraicKernel_d_1::ApproximateAbsolute_1` diff --git a/Algebraic_kernel_d/doc/Algebraic_kernel_d/Concepts/AlgebraicKernel_d_2--ApproximateAbsoluteY_2.h b/Algebraic_kernel_d/doc/Algebraic_kernel_d/Concepts/AlgebraicKernel_d_2--ApproximateAbsoluteY_2.h index 934ba0bdeb4..5f7ea507dec 100644 --- a/Algebraic_kernel_d/doc/Algebraic_kernel_d/Concepts/AlgebraicKernel_d_2--ApproximateAbsoluteY_2.h +++ b/Algebraic_kernel_d/doc/Algebraic_kernel_d/Concepts/AlgebraicKernel_d_2--ApproximateAbsoluteY_2.h @@ -7,7 +7,7 @@ A model of `AlgebraicKernel_d_2::ApproximateAbsoluteY_2` is an `AdaptableBinaryF approximation of the \f$ y\f$-coordinate of an `AlgebraicKernel_d_2::Algebraic_real_2` value with respect to a given absolute precision. -\cgalRefines `AdaptableBinaryFunction` +\cgalRefines{AdaptableBinaryFunction} \sa `AlgebraicKernel_d_2::ApproximateRelativeY_2` \sa `AlgebraicKernel_d_1::ApproximateAbsolute_1` diff --git a/Algebraic_kernel_d/doc/Algebraic_kernel_d/Concepts/AlgebraicKernel_d_2--ApproximateRelativeX_2.h b/Algebraic_kernel_d/doc/Algebraic_kernel_d/Concepts/AlgebraicKernel_d_2--ApproximateRelativeX_2.h index c19a7d3407a..90ef3fe920f 100644 --- a/Algebraic_kernel_d/doc/Algebraic_kernel_d/Concepts/AlgebraicKernel_d_2--ApproximateRelativeX_2.h +++ b/Algebraic_kernel_d/doc/Algebraic_kernel_d/Concepts/AlgebraicKernel_d_2--ApproximateRelativeX_2.h @@ -7,7 +7,7 @@ A model of `AlgebraicKernel_d_2::ApproximateRelativeX_2` is an `AdaptableBinaryF approximation of the \f$ x\f$-coordinate of an `AlgebraicKernel_d_2::Algebraic_real_2` value with respect to a given relative precision. -\cgalRefines `AdaptableBinaryFunction` +\cgalRefines{AdaptableBinaryFunction} \sa `AlgebraicKernel_d_2::ApproximateAbsoluteY_2` \sa `AlgebraicKernel_d_1::ApproximateAbsolute_1` diff --git a/Algebraic_kernel_d/doc/Algebraic_kernel_d/Concepts/AlgebraicKernel_d_2--ApproximateRelativeY_2.h b/Algebraic_kernel_d/doc/Algebraic_kernel_d/Concepts/AlgebraicKernel_d_2--ApproximateRelativeY_2.h index d666401a9e4..d647cf7aaaf 100644 --- a/Algebraic_kernel_d/doc/Algebraic_kernel_d/Concepts/AlgebraicKernel_d_2--ApproximateRelativeY_2.h +++ b/Algebraic_kernel_d/doc/Algebraic_kernel_d/Concepts/AlgebraicKernel_d_2--ApproximateRelativeY_2.h @@ -7,7 +7,7 @@ A model of `AlgebraicKernel_d_2::ApproximateRelativeY_2` is an `AdaptableBinaryF approximation of the \f$ y\f$-coordinate of an `AlgebraicKernel_d_2::Algebraic_real_2` value with respect to a given relative precision. -\cgalRefines `AdaptableBinaryFunction` +\cgalRefines{AdaptableBinaryFunction} \sa `AlgebraicKernel_d_2::ApproximateAbsoluteY_2` \sa `AlgebraicKernel_d_1::ApproximateAbsolute_1` diff --git a/Algebraic_kernel_d/doc/Algebraic_kernel_d/Concepts/AlgebraicKernel_d_2--BoundBetweenX_2.h b/Algebraic_kernel_d/doc/Algebraic_kernel_d/Concepts/AlgebraicKernel_d_2--BoundBetweenX_2.h index 73f94950331..07c8ff0e8f7 100644 --- a/Algebraic_kernel_d/doc/Algebraic_kernel_d/Concepts/AlgebraicKernel_d_2--BoundBetweenX_2.h +++ b/Algebraic_kernel_d/doc/Algebraic_kernel_d/Concepts/AlgebraicKernel_d_2--BoundBetweenX_2.h @@ -7,7 +7,7 @@ Computes a number of type `AlgebraicKernel_d_1::Bound` in-between the first coordinates of two `AlgebraicKernel_d_2::AlgebraicReal_2`. -\cgalRefines `AdaptableBinaryFunction` +\cgalRefines{AdaptableBinaryFunction} \sa `AlgebraicKernel_d_2::BoundBetweenY_2` diff --git a/Algebraic_kernel_d/doc/Algebraic_kernel_d/Concepts/AlgebraicKernel_d_2--BoundBetweenY_2.h b/Algebraic_kernel_d/doc/Algebraic_kernel_d/Concepts/AlgebraicKernel_d_2--BoundBetweenY_2.h index abfa45a09c3..e7f42fdd912 100644 --- a/Algebraic_kernel_d/doc/Algebraic_kernel_d/Concepts/AlgebraicKernel_d_2--BoundBetweenY_2.h +++ b/Algebraic_kernel_d/doc/Algebraic_kernel_d/Concepts/AlgebraicKernel_d_2--BoundBetweenY_2.h @@ -7,7 +7,7 @@ Computes a number of type `AlgebraicKernel_d_1::Bound` in-between the second coordinates of two `AlgebraicKernel_d_2::AlgebraicReal_2`. -\cgalRefines `AdaptableBinaryFunction` +\cgalRefines{AdaptableBinaryFunction} \sa `AlgebraicKernel_d_2::BoundBetweenX_2` diff --git a/Algebraic_kernel_d/doc/Algebraic_kernel_d/Concepts/AlgebraicKernel_d_2--CompareXY_2.h b/Algebraic_kernel_d/doc/Algebraic_kernel_d/Concepts/AlgebraicKernel_d_2--CompareXY_2.h index 6ca57ad52eb..1f5eee4a650 100644 --- a/Algebraic_kernel_d/doc/Algebraic_kernel_d/Concepts/AlgebraicKernel_d_2--CompareXY_2.h +++ b/Algebraic_kernel_d/doc/Algebraic_kernel_d/Concepts/AlgebraicKernel_d_2--CompareXY_2.h @@ -5,7 +5,7 @@ Compares `AlgebraicKernel_d_2::Algebraic_real_2`s lexicographically. -\cgalRefines `AdaptableBinaryFunction` +\cgalRefines{AdaptableBinaryFunction} \sa `AlgebraicKernel_d_2::CompareX_2` \sa `AlgebraicKernel_d_2::CompareY_2` diff --git a/Algebraic_kernel_d/doc/Algebraic_kernel_d/Concepts/AlgebraicKernel_d_2--CompareX_2.h b/Algebraic_kernel_d/doc/Algebraic_kernel_d/Concepts/AlgebraicKernel_d_2--CompareX_2.h index efbbae9df51..0921ee760f2 100644 --- a/Algebraic_kernel_d/doc/Algebraic_kernel_d/Concepts/AlgebraicKernel_d_2--CompareX_2.h +++ b/Algebraic_kernel_d/doc/Algebraic_kernel_d/Concepts/AlgebraicKernel_d_2--CompareX_2.h @@ -5,7 +5,7 @@ Compares the first coordinates of `AlgebraicKernel_d_2::Algebraic_real_2`s. -\cgalRefines `AdaptableBinaryFunction` +\cgalRefines{AdaptableBinaryFunction} \sa `AlgebraicKernel_d_2::CompareY_2` \sa `AlgebraicKernel_d_2::CompareXY_2` diff --git a/Algebraic_kernel_d/doc/Algebraic_kernel_d/Concepts/AlgebraicKernel_d_2--CompareY_2.h b/Algebraic_kernel_d/doc/Algebraic_kernel_d/Concepts/AlgebraicKernel_d_2--CompareY_2.h index 5b172838568..1841b4f26bd 100644 --- a/Algebraic_kernel_d/doc/Algebraic_kernel_d/Concepts/AlgebraicKernel_d_2--CompareY_2.h +++ b/Algebraic_kernel_d/doc/Algebraic_kernel_d/Concepts/AlgebraicKernel_d_2--CompareY_2.h @@ -5,7 +5,7 @@ Compares the second coordinated of `AlgebraicKernel_d_2::Algebraic_real_2`s. -\cgalRefines `AdaptableBinaryFunction` +\cgalRefines{AdaptableBinaryFunction} \sa `AlgebraicKernel_d_2::CompareX_2` \sa `AlgebraicKernel_d_2::CompareXY_2` diff --git a/Algebraic_kernel_d/doc/Algebraic_kernel_d/Concepts/AlgebraicKernel_d_2--ComputePolynomialX_2.h b/Algebraic_kernel_d/doc/Algebraic_kernel_d/Concepts/AlgebraicKernel_d_2--ComputePolynomialX_2.h index 3ce2fb4357c..280ea818766 100644 --- a/Algebraic_kernel_d/doc/Algebraic_kernel_d/Concepts/AlgebraicKernel_d_2--ComputePolynomialX_2.h +++ b/Algebraic_kernel_d/doc/Algebraic_kernel_d/Concepts/AlgebraicKernel_d_2--ComputePolynomialX_2.h @@ -6,7 +6,7 @@ Computes a univariate square free polynomial \f$ p\f$, such that the first coordinate of a given `AlgebraicKernel_d_2::Algebraic_real_2` is a real root of \f$ p\f$. -\cgalRefines `AdaptableUnaryFunction` +\cgalRefines{AdaptableUnaryFunction} \sa `AlgebraicKernel_d_2::ComputePolynomialY_2` diff --git a/Algebraic_kernel_d/doc/Algebraic_kernel_d/Concepts/AlgebraicKernel_d_2--ComputePolynomialY_2.h b/Algebraic_kernel_d/doc/Algebraic_kernel_d/Concepts/AlgebraicKernel_d_2--ComputePolynomialY_2.h index da93c279b9d..32cc7935025 100644 --- a/Algebraic_kernel_d/doc/Algebraic_kernel_d/Concepts/AlgebraicKernel_d_2--ComputePolynomialY_2.h +++ b/Algebraic_kernel_d/doc/Algebraic_kernel_d/Concepts/AlgebraicKernel_d_2--ComputePolynomialY_2.h @@ -6,7 +6,7 @@ Computes a univariate square free polynomial \f$ p\f$, such that the second coordinate of a given `AlgebraicKernel_d_2::Algebraic_real_2` is a real root of \f$ p\f$. -\cgalRefines `AdaptableUnaryFunction` +\cgalRefines{AdaptableUnaryFunction} \sa `AlgebraicKernel_d_2::ComputePolynomialX_2` diff --git a/Algebraic_kernel_d/doc/Algebraic_kernel_d/Concepts/AlgebraicKernel_d_2--ComputeX_2.h b/Algebraic_kernel_d/doc/Algebraic_kernel_d/Concepts/AlgebraicKernel_d_2--ComputeX_2.h index fd5f1beb55c..c6d15f5d6f7 100644 --- a/Algebraic_kernel_d/doc/Algebraic_kernel_d/Concepts/AlgebraicKernel_d_2--ComputeX_2.h +++ b/Algebraic_kernel_d/doc/Algebraic_kernel_d/Concepts/AlgebraicKernel_d_2--ComputeX_2.h @@ -6,7 +6,7 @@ Computes the first coordinate of an `AlgebraicKernel_d_2::AlgebraicReal_2`. -\cgalRefines `AdaptableUnaryFunction` +\cgalRefines{AdaptableUnaryFunction} \sa `AlgebraicKernel_d_2::ComputeY_2` diff --git a/Algebraic_kernel_d/doc/Algebraic_kernel_d/Concepts/AlgebraicKernel_d_2--ComputeY_2.h b/Algebraic_kernel_d/doc/Algebraic_kernel_d/Concepts/AlgebraicKernel_d_2--ComputeY_2.h index 1452d243f95..ad91b67ba65 100644 --- a/Algebraic_kernel_d/doc/Algebraic_kernel_d/Concepts/AlgebraicKernel_d_2--ComputeY_2.h +++ b/Algebraic_kernel_d/doc/Algebraic_kernel_d/Concepts/AlgebraicKernel_d_2--ComputeY_2.h @@ -6,7 +6,7 @@ Computes the second coordinate of an `AlgebraicKernel_d_2::AlgebraicReal_2`. -\cgalRefines `AdaptableUnaryFunction` +\cgalRefines{AdaptableUnaryFunction} \sa `AlgebraicKernel_d_2::ComputeY_2` diff --git a/Algebraic_kernel_d/doc/Algebraic_kernel_d/Concepts/AlgebraicKernel_d_2--ConstructAlgebraicReal_2.h b/Algebraic_kernel_d/doc/Algebraic_kernel_d/Concepts/AlgebraicKernel_d_2--ConstructAlgebraicReal_2.h index 4ebd692fd83..eb955bfa235 100644 --- a/Algebraic_kernel_d/doc/Algebraic_kernel_d/Concepts/AlgebraicKernel_d_2--ConstructAlgebraicReal_2.h +++ b/Algebraic_kernel_d/doc/Algebraic_kernel_d/Concepts/AlgebraicKernel_d_2--ConstructAlgebraicReal_2.h @@ -5,7 +5,7 @@ Constructs an `AlgebraicKernel_d_2::Algebraic_real_2`. -\cgalRefines `AdaptableFunctor` +\cgalRefines{AdaptableFunctor} \sa `AlgebraicKernel_d_1::ConstructAlgebraicReal_1` diff --git a/Algebraic_kernel_d/doc/Algebraic_kernel_d/Concepts/AlgebraicKernel_d_2--IsCoprime_2.h b/Algebraic_kernel_d/doc/Algebraic_kernel_d/Concepts/AlgebraicKernel_d_2--IsCoprime_2.h index 350d11d0725..eaadbc2390f 100644 --- a/Algebraic_kernel_d/doc/Algebraic_kernel_d/Concepts/AlgebraicKernel_d_2--IsCoprime_2.h +++ b/Algebraic_kernel_d/doc/Algebraic_kernel_d/Concepts/AlgebraicKernel_d_2--IsCoprime_2.h @@ -5,7 +5,7 @@ Computes whether a given pair of bivariate polynomials is coprime. -\cgalRefines `AdaptableBinaryFunction` +\cgalRefines{AdaptableBinaryFunction} \sa `AlgebraicKernel_d_2::MakeCoprime_2` diff --git a/Algebraic_kernel_d/doc/Algebraic_kernel_d/Concepts/AlgebraicKernel_d_2--IsSquareFree_2.h b/Algebraic_kernel_d/doc/Algebraic_kernel_d/Concepts/AlgebraicKernel_d_2--IsSquareFree_2.h index d7d7d953f91..0f892ac0d22 100644 --- a/Algebraic_kernel_d/doc/Algebraic_kernel_d/Concepts/AlgebraicKernel_d_2--IsSquareFree_2.h +++ b/Algebraic_kernel_d/doc/Algebraic_kernel_d/Concepts/AlgebraicKernel_d_2--IsSquareFree_2.h @@ -5,7 +5,7 @@ Computes whether the given bivariate polynomial is square free. -\cgalRefines `AdaptableUnaryFunction` +\cgalRefines{AdaptableUnaryFunction} \sa `AlgebraicKernel_d_2::MakeSquareFree_2` \sa `AlgebraicKernel_d_2::SquareFreeFactorize_2` diff --git a/Algebraic_kernel_d/doc/Algebraic_kernel_d/Concepts/AlgebraicKernel_d_2--IsZeroAt_2.h b/Algebraic_kernel_d/doc/Algebraic_kernel_d/Concepts/AlgebraicKernel_d_2--IsZeroAt_2.h index 7102e0a0a0f..f53b0237d9e 100644 --- a/Algebraic_kernel_d/doc/Algebraic_kernel_d/Concepts/AlgebraicKernel_d_2--IsZeroAt_2.h +++ b/Algebraic_kernel_d/doc/Algebraic_kernel_d/Concepts/AlgebraicKernel_d_2--IsZeroAt_2.h @@ -6,7 +6,7 @@ Computes whether an `AlgebraicKernel_d_2::Polynomial_2` is zero at a given `AlgebraicKernel_d_2::Algebraic_real_2`. -\cgalRefines `AdaptableBinaryFunction` +\cgalRefines{AdaptableBinaryFunction} \sa `AlgebraicKernel_d_2::SignAt_2` \sa `AlgebraicKernel_d_1::IsZeroAt_1` diff --git a/Algebraic_kernel_d/doc/Algebraic_kernel_d/Concepts/AlgebraicKernel_d_2--IsolateX_2.h b/Algebraic_kernel_d/doc/Algebraic_kernel_d/Concepts/AlgebraicKernel_d_2--IsolateX_2.h index e53144c2621..c502d4d62f3 100644 --- a/Algebraic_kernel_d/doc/Algebraic_kernel_d/Concepts/AlgebraicKernel_d_2--IsolateX_2.h +++ b/Algebraic_kernel_d/doc/Algebraic_kernel_d/Concepts/AlgebraicKernel_d_2--IsolateX_2.h @@ -6,7 +6,7 @@ Computes an isolating interval for the first coordinate of an `AlgebraicKernel_d_2::Algebraic_real_2` with respect to the real roots of a univariate polynomial. -\cgalRefines `AdaptableBinaryFunction` +\cgalRefines{AdaptableBinaryFunction} \sa `AlgebraicKernel_d_2::IsolateY_2` \sa `AlgebraicKernel_d_2::ComputePolynomialX_2` diff --git a/Algebraic_kernel_d/doc/Algebraic_kernel_d/Concepts/AlgebraicKernel_d_2--IsolateY_2.h b/Algebraic_kernel_d/doc/Algebraic_kernel_d/Concepts/AlgebraicKernel_d_2--IsolateY_2.h index 257eeca6c41..8d7cd73951f 100644 --- a/Algebraic_kernel_d/doc/Algebraic_kernel_d/Concepts/AlgebraicKernel_d_2--IsolateY_2.h +++ b/Algebraic_kernel_d/doc/Algebraic_kernel_d/Concepts/AlgebraicKernel_d_2--IsolateY_2.h @@ -6,7 +6,7 @@ Computes an isolating interval for the second coordinate of an `AlgebraicKernel_d_2::Algebraic_real_2` with respect to the real roots of a univariate polynomial. -\cgalRefines `AdaptableBinaryFunction` +\cgalRefines{AdaptableBinaryFunction} \sa `AlgebraicKernel_d_2::IsolateX_2` \sa `AlgebraicKernel_d_2::ComputePolynomialX_2` diff --git a/Algebraic_kernel_d/doc/Algebraic_kernel_d/Concepts/AlgebraicKernel_d_2--Isolate_2.h b/Algebraic_kernel_d/doc/Algebraic_kernel_d/Concepts/AlgebraicKernel_d_2--Isolate_2.h index d69f64efc50..223405fd2c8 100644 --- a/Algebraic_kernel_d/doc/Algebraic_kernel_d/Concepts/AlgebraicKernel_d_2--Isolate_2.h +++ b/Algebraic_kernel_d/doc/Algebraic_kernel_d/Concepts/AlgebraicKernel_d_2--Isolate_2.h @@ -5,7 +5,7 @@ Computes an isolating box for a given `AlgebraicKernel_d_2::Algebraic_real_2`. -\cgalRefines `AdaptableFunctor` +\cgalRefines{AdaptableFunctor} \sa `AlgebraicKernel_d_2::IsolateX_2` \sa `AlgebraicKernel_d_2::IsolateY_2` diff --git a/Algebraic_kernel_d/doc/Algebraic_kernel_d/Concepts/AlgebraicKernel_d_2--MakeCoprime_2.h b/Algebraic_kernel_d/doc/Algebraic_kernel_d/Concepts/AlgebraicKernel_d_2--MakeCoprime_2.h index f07cfb83469..5bb1699de43 100644 --- a/Algebraic_kernel_d/doc/Algebraic_kernel_d/Concepts/AlgebraicKernel_d_2--MakeCoprime_2.h +++ b/Algebraic_kernel_d/doc/Algebraic_kernel_d/Concepts/AlgebraicKernel_d_2--MakeCoprime_2.h @@ -13,7 +13,7 @@ That is, it computes \f$ g, q_1, q_2\f$ such that: \f$ c_2 \cdot p_2 = g \cdot q_2\f$ for some constant \f$ c_2\f$, such that \f$ q_1\f$ and \f$ q_2\f$ are coprime. -\cgalRefines `AdaptableFunctor` with five arguments +\cgalRefines{AdaptableQuinaryFunction} \sa `AlgebraicKernel_d_2::IsCoprime_2` diff --git a/Algebraic_kernel_d/doc/Algebraic_kernel_d/Concepts/AlgebraicKernel_d_2--MakeSquareFree_2.h b/Algebraic_kernel_d/doc/Algebraic_kernel_d/Concepts/AlgebraicKernel_d_2--MakeSquareFree_2.h index 7fcfda1c043..e9cc6c5402f 100644 --- a/Algebraic_kernel_d/doc/Algebraic_kernel_d/Concepts/AlgebraicKernel_d_2--MakeSquareFree_2.h +++ b/Algebraic_kernel_d/doc/Algebraic_kernel_d/Concepts/AlgebraicKernel_d_2--MakeSquareFree_2.h @@ -5,7 +5,7 @@ Returns a square free part of a bivariate polynomial. -\cgalRefines `AdaptableUnaryFunction` +\cgalRefines{AdaptableUnaryFunction} \sa `AlgebraicKernel_d_2::IsSquareFree_2` \sa `AlgebraicKernel_d_2::SquareFreeFactorize_2` diff --git a/Algebraic_kernel_d/doc/Algebraic_kernel_d/Concepts/AlgebraicKernel_d_2--NumberOfSolutions_2.h b/Algebraic_kernel_d/doc/Algebraic_kernel_d/Concepts/AlgebraicKernel_d_2--NumberOfSolutions_2.h index ab188387ae2..29dc332f5b7 100644 --- a/Algebraic_kernel_d/doc/Algebraic_kernel_d/Concepts/AlgebraicKernel_d_2--NumberOfSolutions_2.h +++ b/Algebraic_kernel_d/doc/Algebraic_kernel_d/Concepts/AlgebraicKernel_d_2--NumberOfSolutions_2.h @@ -5,7 +5,7 @@ Computes the number of real solutions of the given bivariate polynomial system. -\cgalRefines `AdaptableBinaryFunction` +\cgalRefines{AdaptableBinaryFunction} \sa `AlgebraicKernel_d_2::ConstructAlgebraicReal_2` diff --git a/Algebraic_kernel_d/doc/Algebraic_kernel_d/Concepts/AlgebraicKernel_d_2--SignAt_2.h b/Algebraic_kernel_d/doc/Algebraic_kernel_d/Concepts/AlgebraicKernel_d_2--SignAt_2.h index ec661097621..4ddb1e23caa 100644 --- a/Algebraic_kernel_d/doc/Algebraic_kernel_d/Concepts/AlgebraicKernel_d_2--SignAt_2.h +++ b/Algebraic_kernel_d/doc/Algebraic_kernel_d/Concepts/AlgebraicKernel_d_2--SignAt_2.h @@ -7,7 +7,7 @@ Computes the sign of a bivariate polynomial `AlgebraicKernel_d_2::Polynomial_2` at a value of type `AlgebraicKernel_d_2::Algebraic_real_2`. -\cgalRefines `AdaptableBinaryFunction` +\cgalRefines{AdaptableBinaryFunction} \sa `AlgebraicKernel_d_2::IsZeroAt_2` \sa `AlgebraicKernel_d_1::SignAt_1` diff --git a/Algebraic_kernel_d/doc/Algebraic_kernel_d/Concepts/AlgebraicKernel_d_2--Solve_2.h b/Algebraic_kernel_d/doc/Algebraic_kernel_d/Concepts/AlgebraicKernel_d_2--Solve_2.h index 64b81633bcf..2ad0e71d667 100644 --- a/Algebraic_kernel_d/doc/Algebraic_kernel_d/Concepts/AlgebraicKernel_d_2--Solve_2.h +++ b/Algebraic_kernel_d/doc/Algebraic_kernel_d/Concepts/AlgebraicKernel_d_2--Solve_2.h @@ -6,8 +6,7 @@ Computes the real zero-dimensional solutions of a bivariate polynomial system. The multiplicity stored in the output iterator is the multiplicity in the system. -\cgalRefines `Assignable` -\cgalRefines `CopyConstructible` +\cgalRefines{Assignable,CopyConstructible} */ class AlgebraicKernel_d_2::Solve_2 { public: diff --git a/Algebraic_kernel_d/doc/Algebraic_kernel_d/Concepts/AlgebraicKernel_d_2--SquareFreeFactorize_2.h b/Algebraic_kernel_d/doc/Algebraic_kernel_d/Concepts/AlgebraicKernel_d_2--SquareFreeFactorize_2.h index f83faaa1561..db318d53d33 100644 --- a/Algebraic_kernel_d/doc/Algebraic_kernel_d/Concepts/AlgebraicKernel_d_2--SquareFreeFactorize_2.h +++ b/Algebraic_kernel_d/doc/Algebraic_kernel_d/Concepts/AlgebraicKernel_d_2--SquareFreeFactorize_2.h @@ -14,8 +14,7 @@ and a constant factor \f$ c\f$, such that The factor multiplicity pairs \f$ \f$ are written to the given output iterator. The constant factor \f$ c\f$ is not computed. -\cgalRefines `Assignable` -\cgalRefines `CopyConstructible` +\cgalRefines{Assignable,CopyConstructible} \sa `AlgebraicKernel_d_2::IsSquareFree_2` \sa `AlgebraicKernel_d_2::MakeSquareFree_2` diff --git a/Algebraic_kernel_d/doc/Algebraic_kernel_d/Concepts/AlgebraicKernel_d_2.h b/Algebraic_kernel_d/doc/Algebraic_kernel_d/Concepts/AlgebraicKernel_d_2.h index e0a5888020a..40eb088b2c9 100644 --- a/Algebraic_kernel_d/doc/Algebraic_kernel_d/Concepts/AlgebraicKernel_d_2.h +++ b/Algebraic_kernel_d/doc/Algebraic_kernel_d/Concepts/AlgebraicKernel_d_2.h @@ -6,9 +6,7 @@ A model of the `AlgebraicKernel_d_2` concept gathers necessary tools for solving and handling bivariate polynomial systems of general degree \f$ d\f$. -\cgalRefines `AlgebraicKernel_d_1` -\cgalRefines `CopyConstructible` -\cgalRefines `Assignable` +\cgalRefines{AlgebraicKernel_d_1,CopyConstructible,Assignable} \sa `AlgebraicKernel_d_1` diff --git a/Alpha_shapes_2/doc/Alpha_shapes_2/Concepts/AlphaShapeFace_2.h b/Alpha_shapes_2/doc/Alpha_shapes_2/Concepts/AlphaShapeFace_2.h index 76d97be2dc2..57b30f90d2f 100644 --- a/Alpha_shapes_2/doc/Alpha_shapes_2/Concepts/AlphaShapeFace_2.h +++ b/Alpha_shapes_2/doc/Alpha_shapes_2/Concepts/AlphaShapeFace_2.h @@ -5,9 +5,9 @@ The concept `AlphaShapeFace_2` describes the requirements for the base face of an alpha shape. -\cgalRefines `TriangulationFaceBase_2`, if the underlying triangulation of the alpha shape is a Delaunay triangulation. -\cgalRefines `RegularTriangulationFaceBase_2`, if the underlying triangulation of the alpha shape is a regular triangulation. -\cgalRefines `Periodic_2TriangulationFaceBase_2`, if the underlying triangulation of the alpha shape is a periodic triangulation. +\cgalRefines{TriangulationFaceBase_2 if the underlying triangulation of the alpha shape is a Delaunay triangulation, + RegularTriangulationFaceBase_2 if the underlying triangulation of the alpha shape is a regular triangulation, + Periodic_2TriangulationFaceBase_2 if the underlying triangulation of the alpha shape is a periodic triangulation} \cgalHasModel `CGAL::Alpha_shape_face_base_2` (templated with the appropriate triangulation face base class). diff --git a/Alpha_shapes_2/doc/Alpha_shapes_2/Concepts/AlphaShapeTraits_2.h b/Alpha_shapes_2/doc/Alpha_shapes_2/Concepts/AlphaShapeTraits_2.h index 4b6e7d88b86..a6f1c1fca18 100644 --- a/Alpha_shapes_2/doc/Alpha_shapes_2/Concepts/AlphaShapeTraits_2.h +++ b/Alpha_shapes_2/doc/Alpha_shapes_2/Concepts/AlphaShapeTraits_2.h @@ -6,8 +6,8 @@ The concept `AlphaShapeTraits_2` describes the requirements for the geometric traits class of the underlying Delaunay triangulation of a basic alpha shape. -\cgalRefines `DelaunayTriangulationTraits_2`, if the underlying triangulation of the alpha shape is a Delaunay triangulation. -\cgalRefines `Periodic_2DelaunayTriangulationTraits_2`, if the underlying triangulation of the alpha shape is a periodic Delaunay triangulation. +\cgalRefines{DelaunayTriangulationTraits_2 if the underlying triangulation of the alpha shape is a Delaunay triangulation, + Periodic_2DelaunayTriangulationTraits_2 if the underlying triangulation of the alpha shape is a periodic Delaunay triangulation} \cgalHasModel All models of `Kernel`. \cgalHasModel Projection traits such as `CGAL::Projection_traits_xy_3`. diff --git a/Alpha_shapes_2/doc/Alpha_shapes_2/Concepts/AlphaShapeVertex_2.h b/Alpha_shapes_2/doc/Alpha_shapes_2/Concepts/AlphaShapeVertex_2.h index 7065f6e55cc..5015af963f6 100644 --- a/Alpha_shapes_2/doc/Alpha_shapes_2/Concepts/AlphaShapeVertex_2.h +++ b/Alpha_shapes_2/doc/Alpha_shapes_2/Concepts/AlphaShapeVertex_2.h @@ -5,9 +5,9 @@ The concept `AlphaShapeVertex_2` describes the requirements for the base vertex of an alpha shape. -\cgalRefines `TriangulationVertexBase_2`, if the underlying triangulation of the alpha shape is a Delaunay triangulation. -\cgalRefines `RegularTriangulationVertexBase_2`, if the underlying triangulation of the alpha shape is a regular triangulation. -\cgalRefines `Periodic_2TriangulationVertexBase_2`, if the underlying triangulation of the alpha shape is a periodic triangulation. +\cgalRefines{TriangulationVertexBase_2 if the underlying triangulation of the alpha shape is a Delaunay triangulation, + RegularTriangulationVertexBase_2 if the underlying triangulation of the alpha shape is a regular triangulation, + Periodic_2TriangulationVertexBase_2 if the underlying triangulation of the alpha shape is a periodic triangulation} \cgalHasModel `CGAL::Alpha_shape_vertex_base_2` (templated with the appropriate triangulation vertex base class). */ diff --git a/Alpha_shapes_2/doc/Alpha_shapes_2/Concepts/WeightedAlphaShapeTraits_2.h b/Alpha_shapes_2/doc/Alpha_shapes_2/Concepts/WeightedAlphaShapeTraits_2.h index 22f5e466876..62d404c3c38 100644 --- a/Alpha_shapes_2/doc/Alpha_shapes_2/Concepts/WeightedAlphaShapeTraits_2.h +++ b/Alpha_shapes_2/doc/Alpha_shapes_2/Concepts/WeightedAlphaShapeTraits_2.h @@ -7,7 +7,7 @@ The concept `WeightedAlphaShapeTraits_2` describes the requirements for the geometric traits class of the underlying regular triangulation of a weighted alpha shape. -\cgalRefines `RegularTriangulationTraits_2`, if the underlying triangulation of the alpha shape is a regular triangulation. +\cgalRefines{RegularTriangulationTraits_2 if the underlying triangulation of the alpha shape is a regular triangulation.} \cgalHasModel All models of `Kernel`. \cgalHasModel Projection traits such as `CGAL::Projection_traits_xy_3`. diff --git a/Alpha_shapes_3/doc/Alpha_shapes_3/Concepts/AlphaShapeCell_3.h b/Alpha_shapes_3/doc/Alpha_shapes_3/Concepts/AlphaShapeCell_3.h index 00dcd06f13b..570b419998e 100644 --- a/Alpha_shapes_3/doc/Alpha_shapes_3/Concepts/AlphaShapeCell_3.h +++ b/Alpha_shapes_3/doc/Alpha_shapes_3/Concepts/AlphaShapeCell_3.h @@ -5,9 +5,9 @@ The concept `AlphaShapeCell_3` describes the requirements for the base cell of an alpha shape. -\cgalRefines `DelaunayTriangulationCellBase_3`, if the underlying triangulation of the alpha shape is a Delaunay triangulation. -\cgalRefines `RegularTriangulationCellBase_3`, if the underlying triangulation of the alpha shape is a regular triangulation. -\cgalRefines `Periodic_3TriangulationDSCellBase_3`, if the underlying triangulation of the alpha shape is a periodic triangulation. +\cgalRefines{DelaunayTriangulationCellBase_3 if the underlying triangulation of the alpha shape is a Delaunay triangulation, + RegularTriangulationCellBase_3 if the underlying triangulation of the alpha shape is a regular triangulation, + Periodic_3TriangulationDSCellBase_3 if the underlying triangulation of the alpha shape is a periodic triangulation} \cgalHasModel `CGAL::Alpha_shape_cell_base_3` (templated with the appropriate triangulation cell base class). diff --git a/Alpha_shapes_3/doc/Alpha_shapes_3/Concepts/AlphaShapeTraits_3.h b/Alpha_shapes_3/doc/Alpha_shapes_3/Concepts/AlphaShapeTraits_3.h index f563af69436..6d9fbcbe430 100644 --- a/Alpha_shapes_3/doc/Alpha_shapes_3/Concepts/AlphaShapeTraits_3.h +++ b/Alpha_shapes_3/doc/Alpha_shapes_3/Concepts/AlphaShapeTraits_3.h @@ -7,8 +7,8 @@ The concept `AlphaShapeTraits_3` describes the requirements for the geometric traits class of the underlying Delaunay triangulation of a basic alpha shape. -\cgalRefines `DelaunayTriangulationTraits_3`, if the underlying triangulation of the alpha shape is a Delaunay triangulation. -\cgalRefines `Periodic_3DelaunayTriangulationTraits_3`, if the underlying triangulation of the alpha shape is a periodic Delaunay triangulation. +\cgalRefines{DelaunayTriangulationTraits_3 if the underlying triangulation of the alpha shape is a Delaunay triangulation, + Periodic_3DelaunayTriangulationTraits_3 if the underlying triangulation of the alpha shape is a periodic Delaunay triangulation} \cgalHasModel All models of `Kernel`. diff --git a/Alpha_shapes_3/doc/Alpha_shapes_3/Concepts/AlphaShapeVertex_3.h b/Alpha_shapes_3/doc/Alpha_shapes_3/Concepts/AlphaShapeVertex_3.h index 4ffdc52948d..6e23176c2d9 100644 --- a/Alpha_shapes_3/doc/Alpha_shapes_3/Concepts/AlphaShapeVertex_3.h +++ b/Alpha_shapes_3/doc/Alpha_shapes_3/Concepts/AlphaShapeVertex_3.h @@ -5,9 +5,9 @@ The concept `AlphaShapeVertex_3` describes the requirements for the base vertex of an alpha shape. -\cgalRefines `TriangulationVertexBase_3`, if the underlying triangulation of the alpha shape is a Delaunay triangulation. -\cgalRefines `RegularTriangulationVertexBase_3`, if the underlying triangulation of the alpha shape is a regular triangulation. -\cgalRefines `Periodic_3TriangulationDSVertexBase_3`, if the underlying triangulation of the alpha shape is a periodic triangulation. +\cgalRefines{TriangulationVertexBase_3 if the underlying triangulation of the alpha shape is a Delaunay triangulation. + RegularTriangulationVertexBase_3 if the underlying triangulation of the alpha shape is a regular triangulation. + Periodic_3TriangulationDSVertexBase_3 if the underlying triangulation of the alpha shape is a periodic triangulation} \cgalHasModel `CGAL::Alpha_shape_vertex_base_3` (templated with the appropriate triangulation vertex base class). diff --git a/Alpha_shapes_3/doc/Alpha_shapes_3/Concepts/FixedAlphaShapeCell_3.h b/Alpha_shapes_3/doc/Alpha_shapes_3/Concepts/FixedAlphaShapeCell_3.h index ca23a4c3220..1fd4060952f 100644 --- a/Alpha_shapes_3/doc/Alpha_shapes_3/Concepts/FixedAlphaShapeCell_3.h +++ b/Alpha_shapes_3/doc/Alpha_shapes_3/Concepts/FixedAlphaShapeCell_3.h @@ -5,9 +5,9 @@ The concept `FixedAlphaShapeCell_3` describes the requirements for the base cell of a alpha shape with a fixed value alpha. -\cgalRefines `DelaunayTriangulationCellBase_3`, if the underlying triangulation of the alpha shape is a Delaunay triangulation. -\cgalRefines `RegularTriangulationCellBase_3`, if the underlying triangulation of the alpha shape is a regular triangulation. -\cgalRefines `Periodic_3TriangulationDSCellBase_3`, if the underlying triangulation of the alpha shape is a periodic triangulation. +\cgalRefines{DelaunayTriangulationCellBase_3 if the underlying triangulation of the alpha shape is a Delaunay triangulation, + RegularTriangulationCellBase_3 if the underlying triangulation of the alpha shape is a regular triangulation, + Periodic_3TriangulationDSCellBase_3 if the underlying triangulation of the alpha shape is a periodic triangulation} \cgalHasModel `CGAL::Fixed_alpha_shape_cell_base_3` (templated with the appropriate triangulation cell base class). */ diff --git a/Alpha_shapes_3/doc/Alpha_shapes_3/Concepts/FixedAlphaShapeTraits_3.h b/Alpha_shapes_3/doc/Alpha_shapes_3/Concepts/FixedAlphaShapeTraits_3.h index 08be16af81f..d6b3aa7f35f 100644 --- a/Alpha_shapes_3/doc/Alpha_shapes_3/Concepts/FixedAlphaShapeTraits_3.h +++ b/Alpha_shapes_3/doc/Alpha_shapes_3/Concepts/FixedAlphaShapeTraits_3.h @@ -7,8 +7,8 @@ The concept `FixedAlphaShapeTraits_3` describes the requirements for the geometric traits class of the underlying Delaunay triangulation of a basic alpha shape with a fixed value alpha. -\cgalRefines `DelaunayTriangulationTraits_3`, if the underlying triangulation of the alpha shape is a Delaunay triangulation. -\cgalRefines `Periodic_3DelaunayTriangulationTraits_3`, if the underlying triangulation of the alpha shape is a periodic Delaunay triangulation. +\cgalRefines{DelaunayTriangulationTraits_3 if the underlying triangulation of the alpha shape is a Delaunay triangulation, + Periodic_3DelaunayTriangulationTraits_3 if the underlying triangulation of the alpha shape is a periodic Delaunay triangulation} \cgalHasModel All models of `Kernel`. diff --git a/Alpha_shapes_3/doc/Alpha_shapes_3/Concepts/FixedAlphaShapeVertex_3.h b/Alpha_shapes_3/doc/Alpha_shapes_3/Concepts/FixedAlphaShapeVertex_3.h index 256d3b5f9be..59d9593e5fc 100644 --- a/Alpha_shapes_3/doc/Alpha_shapes_3/Concepts/FixedAlphaShapeVertex_3.h +++ b/Alpha_shapes_3/doc/Alpha_shapes_3/Concepts/FixedAlphaShapeVertex_3.h @@ -5,9 +5,9 @@ The concept `FixedAlphaShapeVertex_3` describes the requirements for the base vertex of a alpha shape with a fixed value alpha. -\cgalRefines `TriangulationVertexBase_3`, if the underlying triangulation of the alpha shape is a Delaunay triangulation. -\cgalRefines `RegularTriangulationVertexBase_3`, if the underlying triangulation of the alpha shape is a regular triangulation. -\cgalRefines `Periodic_3TriangulationDSVertexBase_3`, if the underlying triangulation of the alpha shape is a periodic triangulation. +\cgalRefines{TriangulationVertexBase_3 if the underlying triangulation of the alpha shape is a Delaunay triangulation, + RegularTriangulationVertexBase_3 if the underlying triangulation of the alpha shape is a regular triangulation, + Periodic_3TriangulationDSVertexBase_3 if the underlying triangulation of the alpha shape is a periodic triangulation} \cgalHasModel `CGAL::Fixed_alpha_shape_vertex_base_3` (templated with the appropriate triangulation vertex base class). */ diff --git a/Alpha_shapes_3/doc/Alpha_shapes_3/Concepts/FixedWeightedAlphaShapeTraits_3.h b/Alpha_shapes_3/doc/Alpha_shapes_3/Concepts/FixedWeightedAlphaShapeTraits_3.h index 234f348e134..e84810fdc78 100644 --- a/Alpha_shapes_3/doc/Alpha_shapes_3/Concepts/FixedWeightedAlphaShapeTraits_3.h +++ b/Alpha_shapes_3/doc/Alpha_shapes_3/Concepts/FixedWeightedAlphaShapeTraits_3.h @@ -6,8 +6,8 @@ The concept `FixedWeightedAlphaShapeTraits_3` describes the requirements for the geometric traits class of the underlying regular triangulation of a weighted alpha shape with fixed alpha value. -\cgalRefines `RegularTriangulationTraits_3`, if the underlying triangulation of the alpha shape is a regular triangulation. -\cgalRefines `Periodic_3RegularTriangulationTraits_3`, if the underlying triangulation of the alpha shape is a periodic regular triangulation. +\cgalRefines{RegularTriangulationTraits_3 if the underlying triangulation of the alpha shape is a regular triangulation, + Periodic_3RegularTriangulationTraits_3 if the underlying triangulation of the alpha shape is a periodic regular triangulation} \cgalHasModel All models of `Kernel`. diff --git a/Alpha_shapes_3/doc/Alpha_shapes_3/Concepts/WeightedAlphaShapeTraits_3.h b/Alpha_shapes_3/doc/Alpha_shapes_3/Concepts/WeightedAlphaShapeTraits_3.h index e9633df00d2..f0c11a972c7 100644 --- a/Alpha_shapes_3/doc/Alpha_shapes_3/Concepts/WeightedAlphaShapeTraits_3.h +++ b/Alpha_shapes_3/doc/Alpha_shapes_3/Concepts/WeightedAlphaShapeTraits_3.h @@ -7,8 +7,8 @@ The concept `WeightedAlphaShapeTraits_3` describes the requirements for the geometric traits class of the underlying regular triangulation of a weighted alpha shape. -\cgalRefines `RegularTriangulationTraits_3`, if the underlying triangulation of the alpha shape is a regular triangulation. -\cgalRefines `Periodic_3RegularTriangulationTraits_3`, if the underlying triangulation of the alpha shape is a periodic regular triangulation. +\cgalRefines{RegularTriangulationTraits_3 if the underlying triangulation of the alpha shape is a regular triangulation, + Periodic_3RegularTriangulationTraits_3 if the underlying triangulation of the alpha shape is a periodic regular triangulation} \cgalHasModel All models of `Kernel`. diff --git a/Apollonius_graph_2/doc/Apollonius_graph_2/CGAL/Apollonius_graph_2.h b/Apollonius_graph_2/doc/Apollonius_graph_2/CGAL/Apollonius_graph_2.h index fb82e23c709..bf41824e4a4 100644 --- a/Apollonius_graph_2/doc/Apollonius_graph_2/CGAL/Apollonius_graph_2.h +++ b/Apollonius_graph_2/doc/Apollonius_graph_2/CGAL/Apollonius_graph_2.h @@ -16,7 +16,7 @@ It defaults to: \code CGAL::Triangulation_data_structure_2< CGAL::Apollonius_graph_vertex_base_2, - CGAL::Triangulation_face_base_2 >` + CGAL::Triangulation_face_base_2 > \endcode \cgalHeading{Traversal of the Apollonius Graph} diff --git a/Apollonius_graph_2/doc/Apollonius_graph_2/Concepts/ApolloniusGraphDataStructure_2.h b/Apollonius_graph_2/doc/Apollonius_graph_2/Concepts/ApolloniusGraphDataStructure_2.h index 8c3209da2e8..cca93a7c829 100644 --- a/Apollonius_graph_2/doc/Apollonius_graph_2/Concepts/ApolloniusGraphDataStructure_2.h +++ b/Apollonius_graph_2/doc/Apollonius_graph_2/Concepts/ApolloniusGraphDataStructure_2.h @@ -25,7 +25,7 @@ merged. We only describe the additional requirements with respect to the `TriangulationDataStructure_2` concept. -\cgalRefines `TriangulationDataStructure_2` +\cgalRefines{TriangulationDataStructure_2} \cgalHasModel `CGAL::Triangulation_data_structure_2` diff --git a/Apollonius_graph_2/doc/Apollonius_graph_2/Concepts/ApolloniusGraphHierarchyVertexBase_2.h b/Apollonius_graph_2/doc/Apollonius_graph_2/Concepts/ApolloniusGraphHierarchyVertexBase_2.h index 8145923b669..a2ed0353ddd 100644 --- a/Apollonius_graph_2/doc/Apollonius_graph_2/Concepts/ApolloniusGraphHierarchyVertexBase_2.h +++ b/Apollonius_graph_2/doc/Apollonius_graph_2/Concepts/ApolloniusGraphHierarchyVertexBase_2.h @@ -12,7 +12,7 @@ refines the concept `ApolloniusGraphVertexBase_2`, by adding two vertex handles to the corresponding vertices for the next and previous level graphs. -\cgalRefines `ApolloniusGraphVertexBase_2` +\cgalRefines{ApolloniusGraphVertexBase_2} \cgalHeading{Types} diff --git a/Apollonius_graph_2/doc/Apollonius_graph_2/Concepts/ApolloniusGraphTraits_2.h b/Apollonius_graph_2/doc/Apollonius_graph_2/Concepts/ApolloniusGraphTraits_2.h index 5ef6ff44848..5fa6db8c6e6 100644 --- a/Apollonius_graph_2/doc/Apollonius_graph_2/Concepts/ApolloniusGraphTraits_2.h +++ b/Apollonius_graph_2/doc/Apollonius_graph_2/Concepts/ApolloniusGraphTraits_2.h @@ -3,7 +3,7 @@ \ingroup PkgApolloniusGraph2Concepts \cgalConcept -\cgalRefines `TriangulationTraits_2` +\cgalRefines{TriangulationTraits_2} The concept `ApolloniusGraphTraits_2` provides the traits requirements for the `Apollonius_graph_2` class. In particular, diff --git a/Apollonius_graph_2/doc/Apollonius_graph_2/Concepts/ApolloniusGraphVertexBase_2.h b/Apollonius_graph_2/doc/Apollonius_graph_2/Concepts/ApolloniusGraphVertexBase_2.h index e25279179aa..201d7e9e91a 100644 --- a/Apollonius_graph_2/doc/Apollonius_graph_2/Concepts/ApolloniusGraphVertexBase_2.h +++ b/Apollonius_graph_2/doc/Apollonius_graph_2/Concepts/ApolloniusGraphVertexBase_2.h @@ -10,7 +10,7 @@ Apollonius site and provides access to one of its incident faces through a `Face_handle`. In addition, it maintains a container of sites. The container stores the hidden sites related to the vertex. -\cgalRefines `TriangulationVertexBase_2` +\cgalRefines{TriangulationVertexBase_2} \cgalHasModel `CGAL::Apollonius_graph_vertex_base_2` diff --git a/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/Arrangement_on_surface_2.txt b/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/Arrangement_on_surface_2.txt index ad570b18253..2050328161b 100644 --- a/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/Arrangement_on_surface_2.txt +++ b/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/Arrangement_on_surface_2.txt @@ -2058,7 +2058,7 @@ insertion. The example below shows how to construct the same arrangement of five line segments built incrementally in \ref -Arrangement_on_surface_2/incremental_insertion.cpp` depicted in +Arrangement_on_surface_2/incremental_insertion.cpp depicted in \cgalFigureRef{aos_fig-incremental_insertion} using the aggregate insertion function \link CGAL::insert<>() `insert()`\endlink. Note that no point-location object needs to be defined and attached to the @@ -2266,7 +2266,7 @@ description of geometric objects from a file and constructs them. It accepts the name of an input file that contains the plain-text description of the geometric objects and an output iterator for storing the newly constructed objects. When the function is -instantiated, the first template parameter, namely Type`, must be +instantiated, the first template parameter, namely `Type`, must be substituted with the type of objects to read. It is assumed that an extractor operator (`>>`) that extracts objects of the given type from the input stream is available. The listing of the function template, @@ -4953,7 +4953,7 @@ nested type `Algebraic_real_1` of the \f$y\f$-coordinate is only computed upon request, as it can be a rather costly operation. The aforementioned types, `Polynomial_1`, `Coefficient`, -`Bound, and `Algebraic_real_1`, are conveniently nested in +`Bound`, and `Algebraic_real_1`, are conveniently nested in the `Arr_rational_function_traits_2` class template among the others and obtained from there in the type definitions used in the examples given in this section and listed below. These types @@ -5510,7 +5510,7 @@ nested types are defined as follows: The latter ensures that every instance of the class template `Arr_curve_data_traits_2` obtained by substituting the `BaseTraits` template parameter with a model of the `ArrangementLandmarkTraits_2` - concept models the ArrangementLandmarkTraits_2` concept as well + concept models the `ArrangementLandmarkTraits_2` concept as well @@ -6936,7 +6936,7 @@ demonstrates the application of the breadth-first search} (BFS) algorithm on a dual arrangement. It uses the functor template `Extended_face_property_map` to directly access information stored inside the faces. The functor implements a property -map that utilizes the `data()` and `set_data() member functions of the +map that utilizes the `data()` and `set_data()` member functions of the extended face to update or obtain the property. When the property map is instantiated, the `Type` parameter must be substituted with the same type that is used to extend the arrangement face; see Section diff --git a/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/Concepts/ArrTraits--Approximate_2.h b/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/Concepts/ArrTraits--Approximate_2.h index d80f20bbf3a..956aad8144f 100644 --- a/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/Concepts/ArrTraits--Approximate_2.h +++ b/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/Concepts/ArrTraits--Approximate_2.h @@ -3,7 +3,7 @@ namespace ArrTraits { /*! \ingroup PkgArrangementOnSurface2ConceptsFunctionObjects * \cgalConcept * - * \cgalRefines Functor + * \cgalRefines{Functor} * * \cgalHasModel ArrangementApproximateTraits_2::Approximate_2 */ diff --git a/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/Concepts/ArrTraits--AreMergeable_2.h b/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/Concepts/ArrTraits--AreMergeable_2.h index 3c1f816a207..66e4e53e898 100644 --- a/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/Concepts/ArrTraits--AreMergeable_2.h +++ b/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/Concepts/ArrTraits--AreMergeable_2.h @@ -3,7 +3,7 @@ namespace ArrTraits { /*! \ingroup PkgArrangementOnSurface2ConceptsFunctionObjects * \cgalConcept * - * \cgalRefines Functor + * \cgalRefines{Functor} * * \cgalHasModel ArrangementXMonotoneTraits_2::Are_mergeable_2 */ diff --git a/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/Concepts/ArrTraits--CompareXNearBoundary_2.h b/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/Concepts/ArrTraits--CompareXNearBoundary_2.h index 1bb6de041b8..01f854b6426 100644 --- a/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/Concepts/ArrTraits--CompareXNearBoundary_2.h +++ b/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/Concepts/ArrTraits--CompareXNearBoundary_2.h @@ -3,7 +3,7 @@ namespace ArrTraits { /*! \ingroup PkgArrangementOnSurface2ConceptsFunctionObjects * \cgalConcept * - * \cgalRefines AdaptableTernaryFunction + * \cgalRefines{AdaptableTernaryFunction} * * \cgalHasModel ArrangementOpenBoundaryTraits_2::Compare_x_near_boundary_2 */ diff --git a/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/Concepts/ArrTraits--CompareXOnBoundaryOfCurveEnd_2.h b/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/Concepts/ArrTraits--CompareXOnBoundaryOfCurveEnd_2.h index 4d66951502f..3a31719bb75 100644 --- a/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/Concepts/ArrTraits--CompareXOnBoundaryOfCurveEnd_2.h +++ b/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/Concepts/ArrTraits--CompareXOnBoundaryOfCurveEnd_2.h @@ -3,7 +3,7 @@ namespace ArrTraits { /*! \ingroup PkgArrangementOnSurface2ConceptsFunctionObjects * \cgalConcept * - * \cgalRefines AdaptableFunctor + * \cgalRefines{AdaptableFunctor} * * \cgalHasModel ArrangementHorizontalSideTraits_2::Compare_x_on_boundary_2 * \cgalHasModel ArrangementOpenBoundaryTraits_2::Compare_x_on_boundary_2 diff --git a/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/Concepts/ArrTraits--CompareXOnBoundary_2.h b/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/Concepts/ArrTraits--CompareXOnBoundary_2.h index 8e38e97c686..4339c3f369d 100644 --- a/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/Concepts/ArrTraits--CompareXOnBoundary_2.h +++ b/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/Concepts/ArrTraits--CompareXOnBoundary_2.h @@ -3,7 +3,7 @@ namespace ArrTraits { /*! \ingroup PkgArrangementOnSurface2ConceptsFunctionObjects * \cgalConcept * - * \cgalRefines AdaptableFunctor + * \cgalRefines{AdaptableFunctor} * * \cgalHasModel ArrangementClosedBottomTraits_2::Compare_x_on_boundary_2 * \cgalHasModel ArrangementClosedTopTraits_2::Compare_x_on_boundary_2 diff --git a/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/Concepts/ArrTraits--CompareX_2.h b/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/Concepts/ArrTraits--CompareX_2.h index e93a6c0a657..413311319d6 100644 --- a/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/Concepts/ArrTraits--CompareX_2.h +++ b/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/Concepts/ArrTraits--CompareX_2.h @@ -2,7 +2,7 @@ namespace ArrTraits { /*! \ingroup PkgArrangementOnSurface2ConceptsFunctionObjects * \cgalConcept * - * \cgalRefines AdaptableBinaryFunction + * \cgalRefines{AdaptableBinaryFunction} * * \cgalHasModel ArrangementBasicTraits_2::Compare_x_2 */ diff --git a/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/Concepts/ArrTraits--CompareXy_2.h b/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/Concepts/ArrTraits--CompareXy_2.h index f52b2204e5a..a485ec1a623 100644 --- a/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/Concepts/ArrTraits--CompareXy_2.h +++ b/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/Concepts/ArrTraits--CompareXy_2.h @@ -3,7 +3,7 @@ namespace ArrTraits { /*! \ingroup PkgArrangementOnSurface2ConceptsFunctionObjects * \cgalConcept * - * \cgalRefines AdaptableBinaryFunction + * \cgalRefines{AdaptableBinaryFunction} * * \cgalHasModel ArrangementBasicTraits_2::Compare_xy_2 */ diff --git a/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/Concepts/ArrTraits--CompareYAtXLeft_2.h b/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/Concepts/ArrTraits--CompareYAtXLeft_2.h index 513e447d56c..5f50c695cea 100644 --- a/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/Concepts/ArrTraits--CompareYAtXLeft_2.h +++ b/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/Concepts/ArrTraits--CompareYAtXLeft_2.h @@ -3,7 +3,7 @@ namespace ArrTraits { /*! \ingroup PkgArrangementOnSurface2ConceptsFunctionObjects * \cgalConcept * - * \cgalRefines AdaptableTernaryFunction + * \cgalRefines{AdaptableTernaryFunction} * * \cgalHasModel ArrangementBasicTraits_2::Compare_y_at_x_left_2 */ diff --git a/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/Concepts/ArrTraits--CompareYAtXRight_2.h b/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/Concepts/ArrTraits--CompareYAtXRight_2.h index c4c925e9a17..670752239a7 100644 --- a/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/Concepts/ArrTraits--CompareYAtXRight_2.h +++ b/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/Concepts/ArrTraits--CompareYAtXRight_2.h @@ -3,7 +3,7 @@ namespace ArrTraits { /*! \ingroup PkgArrangementOnSurface2ConceptsFunctionObjects * \cgalConcept * - * \cgalRefines AdaptableTernaryFunction + * \cgalRefines{AdaptableTernaryFunction} * * \cgalHasModel ArrangementBasicTraits_2::Compare_y_at_x_right_2 */ diff --git a/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/Concepts/ArrTraits--CompareYAtX_2.h b/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/Concepts/ArrTraits--CompareYAtX_2.h index cabaa47827e..53bfaa49591 100644 --- a/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/Concepts/ArrTraits--CompareYAtX_2.h +++ b/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/Concepts/ArrTraits--CompareYAtX_2.h @@ -3,7 +3,7 @@ namespace ArrTraits { /*! \ingroup PkgArrangementOnSurface2ConceptsFunctionObjects * \cgalConcept * - * \cgalRefines AdaptableBinaryFunction + * \cgalRefines{AdaptableBinaryFunction} * * \cgalHasModel ArrangementBasicTraits_2::Compare_y_at_x_2 */ diff --git a/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/Concepts/ArrTraits--CompareYNearBoundary_2.h b/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/Concepts/ArrTraits--CompareYNearBoundary_2.h index 57db167d757..f4bc83bd1a9 100644 --- a/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/Concepts/ArrTraits--CompareYNearBoundary_2.h +++ b/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/Concepts/ArrTraits--CompareYNearBoundary_2.h @@ -3,7 +3,7 @@ namespace ArrTraits { /*! \ingroup PkgArrangementOnSurface2ConceptsFunctionObjects * \cgalConcept * - * \cgalRefines AdaptableTernaryFunction + * \cgalRefines{AdaptableTernaryFunction} * * \cgalHasModel ArrangementOpenBoundaryTraits_2::Compare_y_near_boundary_2 */ diff --git a/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/Concepts/ArrTraits--CompareYOnBoundary_2.h b/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/Concepts/ArrTraits--CompareYOnBoundary_2.h index d01577defe1..117023bc832 100644 --- a/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/Concepts/ArrTraits--CompareYOnBoundary_2.h +++ b/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/Concepts/ArrTraits--CompareYOnBoundary_2.h @@ -3,7 +3,7 @@ namespace ArrTraits { /*! \ingroup PkgArrangementOnSurface2ConceptsFunctionObjects * \cgalConcept * - * \cgalRefines AdaptableBinaryFunction + * \cgalRefines{AdaptableBinaryFunction} * * \cgalHasModel ArrangementClosedLeftTraits_2::Compare_y_on_boundary_2 * \cgalHasModel ArrangementClosedRightTraits_2::Compare_y_on_boundary_2 diff --git a/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/Concepts/ArrTraits--ConstructCurve_2.h b/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/Concepts/ArrTraits--ConstructCurve_2.h index 68c708c27af..72620babd22 100644 --- a/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/Concepts/ArrTraits--ConstructCurve_2.h +++ b/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/Concepts/ArrTraits--ConstructCurve_2.h @@ -3,7 +3,7 @@ namespace ArrTraits { /*! \ingroup PkgArrangementOnSurface2ConceptsFunctionObjects * \cgalConcept * - * \cgalRefines Functor + * \cgalRefines{Functor} * * \cgalHasModel ArrangementConstructCurveTraits_2::Construct_curve_2 */ diff --git a/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/Concepts/ArrTraits--ConstructMaxVertex_2.h b/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/Concepts/ArrTraits--ConstructMaxVertex_2.h index 9ea422987a2..e5c4146c9fa 100644 --- a/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/Concepts/ArrTraits--ConstructMaxVertex_2.h +++ b/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/Concepts/ArrTraits--ConstructMaxVertex_2.h @@ -3,7 +3,7 @@ namespace ArrTraits { /*! \ingroup PkgArrangementOnSurface2ConceptsFunctionObjects * \cgalConcept * - * \cgalRefines AdaptableUnaryFunction + * \cgalRefines{AdaptableUnaryFunction} * * \cgalHasModel ArrangementBasicTraits_2::Construct_max_vertex_2 */ diff --git a/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/Concepts/ArrTraits--ConstructMinVertex_2.h b/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/Concepts/ArrTraits--ConstructMinVertex_2.h index c87fbde0a03..472c793d9f4 100644 --- a/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/Concepts/ArrTraits--ConstructMinVertex_2.h +++ b/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/Concepts/ArrTraits--ConstructMinVertex_2.h @@ -3,7 +3,7 @@ namespace ArrTraits { /*! \ingroup PkgArrangementOnSurface2ConceptsFunctionObjects * \cgalConcept * - * \cgalRefines AdaptableUnaryFunction + * \cgalRefines{AdaptableUnaryFunction} * * \cgalHasModel ArrangementBasicTraits_2::Construct_min_vertex_2 */ diff --git a/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/Concepts/ArrTraits--ConstructXMonotoneCurve_2.h b/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/Concepts/ArrTraits--ConstructXMonotoneCurve_2.h index 0e8d4677407..6fc6381803a 100644 --- a/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/Concepts/ArrTraits--ConstructXMonotoneCurve_2.h +++ b/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/Concepts/ArrTraits--ConstructXMonotoneCurve_2.h @@ -3,7 +3,7 @@ namespace ArrTraits { /*! \ingroup PkgArrangementOnSurface2ConceptsFunctionObjects * \cgalConcept * - * \cgalRefines Functor + * \cgalRefines{Functor} * * \cgalHasModel ArrangementConstructXMonotoneCurveTraits_2::Construct_x_monotone_curve_2 */ diff --git a/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/Concepts/ArrTraits--Curve_2.h b/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/Concepts/ArrTraits--Curve_2.h index 38ccaa1be9b..d923f9b27db 100644 --- a/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/Concepts/ArrTraits--Curve_2.h +++ b/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/Concepts/ArrTraits--Curve_2.h @@ -5,9 +5,7 @@ namespace ArrTraits { * * represents a general planar curve. * - * \cgalRefines DefaultConstructible - * \cgalRefines CopyConstructible - * \cgalRefines Assignable + * \cgalRefines{CopyConstructible,Assignable,DefaultConstructible} * \cgalHasModel ArrangementTraits_2::Curve_2 */ class Curve_2 { diff --git a/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/Concepts/ArrTraits--Equal_2.h b/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/Concepts/ArrTraits--Equal_2.h index 1dfc0736077..41cf7e2f6c6 100644 --- a/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/Concepts/ArrTraits--Equal_2.h +++ b/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/Concepts/ArrTraits--Equal_2.h @@ -3,7 +3,7 @@ namespace ArrTraits { /*! \ingroup PkgArrangementOnSurface2ConceptsFunctionObjects * \cgalConcept * - * \cgalRefines AdaptableBinaryFunction + * \cgalRefines{AdaptableBinaryFunction} * * \cgalHasModel ArrangementBasicTraits_2::Equal_2 */ diff --git a/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/Concepts/ArrTraits--Intersect_2.h b/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/Concepts/ArrTraits--Intersect_2.h index 036e21226bc..0350b6ce654 100644 --- a/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/Concepts/ArrTraits--Intersect_2.h +++ b/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/Concepts/ArrTraits--Intersect_2.h @@ -3,7 +3,7 @@ namespace ArrTraits { /*! \ingroup PkgArrangementOnSurface2ConceptsFunctionObjects * \cgalConcept * - * \cgalRefines Functor + * \cgalRefines{Functor} * * \cgalHasModel ArrangementXMonotoneTraits_2::Intersect_2 */ diff --git a/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/Concepts/ArrTraits--IsOnXIdentification_2.h b/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/Concepts/ArrTraits--IsOnXIdentification_2.h index a1584b33c6e..47bba6ea744 100644 --- a/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/Concepts/ArrTraits--IsOnXIdentification_2.h +++ b/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/Concepts/ArrTraits--IsOnXIdentification_2.h @@ -3,7 +3,7 @@ namespace ArrTraits { /*! \ingroup PkgArrangementOnSurface2ConceptsFunctionObjects * \cgalConcept * - * \cgalRefines AdaptableUnaryFunction + * \cgalRefines{AdaptableUnaryFunction} * * \cgalHasModel ArrangementIdentifiedHorizontalTraits_2::Is_on_x_identification_2 */ diff --git a/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/Concepts/ArrTraits--IsOnYIdentification_2.h b/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/Concepts/ArrTraits--IsOnYIdentification_2.h index c63f98ab59b..d9a69236ee8 100644 --- a/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/Concepts/ArrTraits--IsOnYIdentification_2.h +++ b/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/Concepts/ArrTraits--IsOnYIdentification_2.h @@ -3,7 +3,7 @@ namespace ArrTraits { /*! \ingroup PkgArrangementOnSurface2ConceptsFunctionObjects * \cgalConcept * - * \cgalRefines AdaptableUnaryFunction + * \cgalRefines{AdaptableUnaryFunction} * * \cgalHasModel ArrangementIdentifiedVerticalTraits_2::Is_on_y_identification_2 */ diff --git a/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/Concepts/ArrTraits--IsVertical_2.h b/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/Concepts/ArrTraits--IsVertical_2.h index 744142e9fb9..1831b790c56 100644 --- a/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/Concepts/ArrTraits--IsVertical_2.h +++ b/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/Concepts/ArrTraits--IsVertical_2.h @@ -3,7 +3,7 @@ namespace ArrTraits { /*! \ingroup PkgArrangementOnSurface2ConceptsFunctionObjects * \cgalConcept * - * \cgalRefines AdaptableUnaryFunction + * \cgalRefines{AdaptableUnaryFunction} * * \cgalHasModel ArrangementBasicTraits_2::Is_vertical_2 */ diff --git a/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/Concepts/ArrTraits--MakeXMonotone_2.h b/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/Concepts/ArrTraits--MakeXMonotone_2.h index a2fc977951f..db0df3c8cc8 100644 --- a/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/Concepts/ArrTraits--MakeXMonotone_2.h +++ b/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/Concepts/ArrTraits--MakeXMonotone_2.h @@ -3,7 +3,7 @@ namespace ArrTraits { /*! \ingroup PkgArrangementOnSurface2ConceptsFunctionObjects * \cgalConcept * - * \cgalRefines Functor + * \cgalRefines{Functor} * * \cgalHasModel ArrangementTraits_2::Make_x_monotone_2 */ diff --git a/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/Concepts/ArrTraits--Merge_2.h b/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/Concepts/ArrTraits--Merge_2.h index 41b560fa101..8e61d8c7500 100644 --- a/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/Concepts/ArrTraits--Merge_2.h +++ b/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/Concepts/ArrTraits--Merge_2.h @@ -3,7 +3,7 @@ namespace ArrTraits { /*! \ingroup PkgArrangementOnSurface2ConceptsFunctionObjects * \cgalConcept * - * \cgalRefines Functor + * \cgalRefines{Functor} * * \cgalHasModel ArrangementXMonotoneTraits_2::Merge_2 */ diff --git a/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/Concepts/ArrTraits--ParameterSpaceInX_2.h b/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/Concepts/ArrTraits--ParameterSpaceInX_2.h index 3c099c81476..a37db7c40f6 100644 --- a/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/Concepts/ArrTraits--ParameterSpaceInX_2.h +++ b/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/Concepts/ArrTraits--ParameterSpaceInX_2.h @@ -3,7 +3,7 @@ namespace ArrTraits { /*! \ingroup PkgArrangementOnSurface2ConceptsFunctionObjects * \cgalConcept * - * \cgalRefines AdaptableBinaryFunction + * \cgalRefines{AdaptableBinaryFunction} * * \cgalHasModel ArrangementVerticalSideTraits_2::Parameter_space_in_x_2 * \cgalHasModel ArrangementOpenBoundaryTraits_2::Parameter_space_in_x_2 diff --git a/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/Concepts/ArrTraits--ParameterSpaceInY_2.h b/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/Concepts/ArrTraits--ParameterSpaceInY_2.h index 025d45da35d..0844ee649a4 100644 --- a/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/Concepts/ArrTraits--ParameterSpaceInY_2.h +++ b/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/Concepts/ArrTraits--ParameterSpaceInY_2.h @@ -3,7 +3,7 @@ namespace ArrTraits { /*! \ingroup PkgArrangementOnSurface2ConceptsFunctionObjects * \cgalConcept * - * \cgalRefines AdaptableBinaryFunction + * \cgalRefines{AdaptableBinaryFunction} * * \cgalHasModel ArrangementHorizontalSideTraits_2::Parameter_space_in_y_2 * \cgalHasModel ArrangementOpenBoundaryTraits_2::Parameter_space_in_y_2 diff --git a/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/Concepts/ArrTraits--Point_2.h b/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/Concepts/ArrTraits--Point_2.h index ca9f706c614..78273b88947 100644 --- a/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/Concepts/ArrTraits--Point_2.h +++ b/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/Concepts/ArrTraits--Point_2.h @@ -5,9 +5,7 @@ namespace ArrTraits { * * Represents a point in the plane. * - * \cgalRefines DefaultConstructible - * \cgalRefines CopyConstructible - * \cgalRefines Assignable + * \cgalRefines{CopyConstructible,Assignable,DefaultConstructible} * * \cgalHasModel ArrangementBasicTraits_2::Point_2 */ diff --git a/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/Concepts/ArrTraits--Split_2.h b/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/Concepts/ArrTraits--Split_2.h index 08cf82d8f49..45210b92d0c 100644 --- a/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/Concepts/ArrTraits--Split_2.h +++ b/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/Concepts/ArrTraits--Split_2.h @@ -2,7 +2,7 @@ namespace ArrTraits { /*! \ingroup PkgArrangementOnSurface2ConceptsFunctionObjects * \cgalConcept * - * \cgalRefines Functor + * \cgalRefines{Functor} * * \cgalHasModel ArrangementXMonotoneTraits_2::Split_2 */ diff --git a/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/Concepts/ArrTraits--XMonotoneCurve_2.h b/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/Concepts/ArrTraits--XMonotoneCurve_2.h index 14b758b64ef..6b23acac29d 100644 --- a/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/Concepts/ArrTraits--XMonotoneCurve_2.h +++ b/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/Concepts/ArrTraits--XMonotoneCurve_2.h @@ -4,9 +4,7 @@ namespace ArrTraits { * * Represents a planar (weakly) \f$x\f$-monotone curve. * - * \cgalRefines DefaultConstructible - * \cgalRefines CopyConstructible - * \cgalRefines Assignable + * \cgalRefines{CopyConstructible,Assignable,DefaultConstructible} * * \cgalHasModel ArrangementBasicTraits_2::X_monotone_curve_2 */ diff --git a/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/Concepts/ArrangementApproximateTraits_2.h b/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/Concepts/ArrangementApproximateTraits_2.h index e64fd76ca07..b92f249431b 100644 --- a/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/Concepts/ArrangementApproximateTraits_2.h +++ b/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/Concepts/ArrangementApproximateTraits_2.h @@ -6,7 +6,7 @@ The concept `ArrangementApproximateTraits_2` refines the basic traits concept `ArrangementBasicTraits_2`. A model of this concept is able to approximate a point. -\cgalRefines `ArrangementBasicTraits_2` +\cgalRefines{ArrangementBasicTraits_2} \cgalHasModel `CGAL::Arr_conic_traits_2` \cgalHasModel `CGAL::Arr_geodesic_arc_on_sphere_traits_2` diff --git a/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/Concepts/ArrangementBasicTraits_2.h b/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/Concepts/ArrangementBasicTraits_2.h index 1f7c8483856..4b8cbbbf7c2 100644 --- a/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/Concepts/ArrangementBasicTraits_2.h +++ b/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/Concepts/ArrangementBasicTraits_2.h @@ -25,9 +25,7 @@ * `Bottom_side_category`, and `Top_side_category`. Each such type must be * convertible to the type `CGAL::Arr_oblivious_side_tag`. * - * \cgalRefines DefaultConstructible - * \cgalRefines CopyConstructible - * \cgalRefines Assignable + * \cgalRefines{CopyConstructible,Assignable,DefaultConstructible} * * \cgalHasModel `CGAL::Arr_segment_traits_2` * \cgalHasModel `CGAL::Arr_non_caching_segment_basic_traits_2` diff --git a/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/Concepts/ArrangementBottomSideTraits_2.h b/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/Concepts/ArrangementBottomSideTraits_2.h index d0d5df6846a..a29b1d33531 100644 --- a/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/Concepts/ArrangementBottomSideTraits_2.h +++ b/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/Concepts/ArrangementBottomSideTraits_2.h @@ -10,7 +10,7 @@ * boundary sides (that is, left, right, and top) are purposeful, and can have * models. * - * \cgalRefines `ArrangementHorizontalSideTraits_2` + * \cgalRefines{ArrangementHorizontalSideTraits_2} * * \sa `ArrangementLeftSideTraits_2`, * `ArrangementRightSideTraits_2`, and diff --git a/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/Concepts/ArrangementClosedBottomTraits_2.h b/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/Concepts/ArrangementClosedBottomTraits_2.h index fcd6b4d81a1..37a519a7eca 100644 --- a/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/Concepts/ArrangementClosedBottomTraits_2.h +++ b/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/Concepts/ArrangementClosedBottomTraits_2.h @@ -8,7 +8,7 @@ * reach this boundary side. A model of this concept can handle curves that * reach the left boundary side when it is closed. * - * \cgalRefines `ArrangementBottomSideTraits_2` + * \cgalRefines{ArrangementBottomSideTraits_2} * * \sa `ArrangementClosedLeftTraits_2`, * `ArrangementClosedRightTraits_2`, diff --git a/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/Concepts/ArrangementClosedLeftTraits_2.h b/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/Concepts/ArrangementClosedLeftTraits_2.h index 67722a077a2..ec84ff22035 100644 --- a/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/Concepts/ArrangementClosedLeftTraits_2.h +++ b/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/Concepts/ArrangementClosedLeftTraits_2.h @@ -8,7 +8,7 @@ * this boundary side. A model of this concept can handle curves that reach the * left boundary side when it is closed. - * \cgalRefines `ArrangementLeftSideTraits_2` + * \cgalRefines{ArrangementLeftSideTraits_2} \sa `ArrangementClosedRightTraits_2`, `ArrangementClosedBottomTraits_2`, diff --git a/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/Concepts/ArrangementClosedRightTraits_2.h b/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/Concepts/ArrangementClosedRightTraits_2.h index 15d25b7c742..4b4dc18d53d 100644 --- a/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/Concepts/ArrangementClosedRightTraits_2.h +++ b/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/Concepts/ArrangementClosedRightTraits_2.h @@ -8,7 +8,7 @@ * this boundary side. A model of this concept can handle curves that reach the * right boundary side when it is closed. * - * \cgalRefines `ArrangementRightSideTraits_2` + * \cgalRefines{ArrangementRightSideTraits_2} * * \sa `ArrangementClosedLeftTraits_2`, * `ArrangementClosedBottomTraits_2`, diff --git a/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/Concepts/ArrangementClosedTopTraits_2.h b/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/Concepts/ArrangementClosedTopTraits_2.h index fa56a6a59e4..e03e3bfa938 100644 --- a/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/Concepts/ArrangementClosedTopTraits_2.h +++ b/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/Concepts/ArrangementClosedTopTraits_2.h @@ -8,7 +8,7 @@ * this boundary side. A model of this concept can handle curves that reach the * top boundary side when it is closed. * - * \cgalRefines `ArrangementTopSideTraits_2` + * \cgalRefines{ArrangementTopSideTraits_2} * * \sa `ArrangementClosedLeftTraits_2`, * `ArrangementClosedRightTraits_2`, diff --git a/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/Concepts/ArrangementConstructCurveTraits_2.h b/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/Concepts/ArrangementConstructCurveTraits_2.h index c2b074cbe21..afc3942cba8 100644 --- a/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/Concepts/ArrangementConstructCurveTraits_2.h +++ b/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/Concepts/ArrangementConstructCurveTraits_2.h @@ -5,7 +5,7 @@ * traits concept `ArrangementBasicTraits_2`. A model of this concept is able * to construct a curve from two points. * - * \cgalRefines `ArrangementTraits_2` + * \cgalRefines{ArrangementTraits_2} * * \cgalHasModel `CGAL::Arr_conic_traits_2` * \cgalHasModel `CGAL::Arr_geodesic_arc_on_sphere_traits_2` diff --git a/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/Concepts/ArrangementConstructXMonotoneCurveTraits_2.h b/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/Concepts/ArrangementConstructXMonotoneCurveTraits_2.h index dc7998ec0af..394f98f5a3b 100644 --- a/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/Concepts/ArrangementConstructXMonotoneCurveTraits_2.h +++ b/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/Concepts/ArrangementConstructXMonotoneCurveTraits_2.h @@ -5,7 +5,7 @@ * traits concept `ArrangementBasicTraits_2`. A model of this concept is able to * construct an \f$ x\f$-monotone curve from two points. * - * \cgalRefines `ArrangementBasicTraits_2` + * \cgalRefines{ArrangementBasicTraits_2} * * \cgalHasModel `CGAL::Arr_conic_traits_2` * \cgalHasModel `CGAL::Arr_geodesic_arc_on_sphere_traits_2` diff --git a/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/Concepts/ArrangementContractedBottomTraits_2.h b/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/Concepts/ArrangementContractedBottomTraits_2.h index 0ef3e9c1f45..09de38a67c5 100644 --- a/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/Concepts/ArrangementContractedBottomTraits_2.h +++ b/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/Concepts/ArrangementContractedBottomTraits_2.h @@ -8,7 +8,7 @@ * expected to reach this boundary side. A model of this concept can handle * curves that reach the bottom boundary side when it is contracted. * - * \cgalRefines `ArrangementBottomSideTraits_2` + * \cgalRefines{ArrangementBottomSideTraits_2} * * \sa `ArrangementContractedLeftTraits_2`, * `ArrangementContractedRightTraits_2`, diff --git a/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/Concepts/ArrangementContractedLeftTraits_2.h b/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/Concepts/ArrangementContractedLeftTraits_2.h index 39d8aa7c182..9a06f1e409c 100644 --- a/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/Concepts/ArrangementContractedLeftTraits_2.h +++ b/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/Concepts/ArrangementContractedLeftTraits_2.h @@ -8,7 +8,7 @@ * expected to reach this boundary side. A model of this concept can handle * curves that reach the left boundary side when it is contracted. * - * \cgalRefines `ArrangementLeftSideTraits_2` + * \cgalRefines{ArrangementLeftSideTraits_2} * * \sa `ArrangementContractedRightTraits_2`, * `ArrangementContractedBottomTraits_2`, diff --git a/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/Concepts/ArrangementContractedRightTraits_2.h b/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/Concepts/ArrangementContractedRightTraits_2.h index 6e44953bc00..3f93d80deb2 100644 --- a/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/Concepts/ArrangementContractedRightTraits_2.h +++ b/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/Concepts/ArrangementContractedRightTraits_2.h @@ -8,7 +8,7 @@ * expected to reach this boundary side. A model of this concept can handle * curves that reach the right boundary side when it is contracted. * - * \cgalRefines `ArrangementRightSideTraits_2` + * \cgalRefines{ArrangementRightSideTraits_2} * * \sa `ArrangementContractedLeftTraits_2`, * `ArrangementContractedBottomTraits_2`, diff --git a/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/Concepts/ArrangementContractedTopTraits_2.h b/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/Concepts/ArrangementContractedTopTraits_2.h index 92ff014dfda..be39ea2b6b1 100644 --- a/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/Concepts/ArrangementContractedTopTraits_2.h +++ b/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/Concepts/ArrangementContractedTopTraits_2.h @@ -8,7 +8,7 @@ * expected to reach this boundary side. A model of this concept can handle * curves that reach the top boundary side when it is contracted. * - * \cgalRefines `ArrangementTopSideTraits_2` + * \cgalRefines{ArrangementTopSideTraits_2} * * \sa `ArrangementContractedLeftTraits_2`, * `ArrangementContractedRightTraits_2`, diff --git a/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/Concepts/ArrangementDcelWithRebind.h b/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/Concepts/ArrangementDcelWithRebind.h index 8c1f6db2d0d..88e4fff19f0 100644 --- a/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/Concepts/ArrangementDcelWithRebind.h +++ b/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/Concepts/ArrangementDcelWithRebind.h @@ -8,7 +8,7 @@ a policy clone idiom in form of a rebind struct-template. Instantiate a dcel class with many different possible types without ad-hoc limitations on type of the dcel classes. -\cgalRefines `ArrangementDcel` +\cgalRefines{ArrangementDcel} \cgalHasModel `CGAL::Arr_default_dcel` \cgalHasModel `CGAL::Arr_face_extended_dcel` diff --git a/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/Concepts/ArrangementHorizontalSideTraits_2.h b/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/Concepts/ArrangementHorizontalSideTraits_2.h index f6079dc6a6f..e659a3be297 100644 --- a/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/Concepts/ArrangementHorizontalSideTraits_2.h +++ b/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/Concepts/ArrangementHorizontalSideTraits_2.h @@ -9,7 +9,7 @@ * approach the remaining boundary sides (that is, left and right) are * purposeful, and can have models. * - * \cgalRefines `ArrangementBasicTraits_2` + * \cgalRefines{ArrangementBasicTraits_2} * * \cgalHasModel `CGAL::Arr_linear_traits_2` * \cgalHasModel `CGAL::Arr_rational_function_traits_2` diff --git a/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/Concepts/ArrangementIdentifiedHorizontalTraits_2.h b/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/Concepts/ArrangementIdentifiedHorizontalTraits_2.h index e050e9e288e..1e8603639d0 100644 --- a/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/Concepts/ArrangementIdentifiedHorizontalTraits_2.h +++ b/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/Concepts/ArrangementIdentifiedHorizontalTraits_2.h @@ -6,7 +6,7 @@ * identified on the bottom and top sides and curves inserted into the * arrangement are expected to reach these boundary sides. * - * \cgalRefines `ArrangementBasicTraits_2` + * \cgalRefines{ArrangementBasicTraits_2} * * \sa `ArrangementIdentifiedVerticalTraits_2`, * `ArrangementOpenBottomTraits_2`, diff --git a/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/Concepts/ArrangementIdentifiedVerticalTraits_2.h b/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/Concepts/ArrangementIdentifiedVerticalTraits_2.h index e5cff1def05..f42663dd8da 100644 --- a/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/Concepts/ArrangementIdentifiedVerticalTraits_2.h +++ b/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/Concepts/ArrangementIdentifiedVerticalTraits_2.h @@ -6,7 +6,7 @@ * identified on the left and right sides and curves inserted into the * arrangement are expected to reach these boundary sides. * - * \cgalRefines `ArrangementBasicTraits_2` + * \cgalRefines{ArrangementBasicTraits_2} * * \sa `ArrangementIdentifiedHorizontalTraits_2`, * `ArrangementOpenLeftTraits_2`, diff --git a/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/Concepts/ArrangementLandmarkTraits_2.h b/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/Concepts/ArrangementLandmarkTraits_2.h index 426a8ffee3b..cc66b479fbe 100644 --- a/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/Concepts/ArrangementLandmarkTraits_2.h +++ b/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/Concepts/ArrangementLandmarkTraits_2.h @@ -9,8 +9,7 @@ * `CGAL::Arrangement_2` class template, where the Traits parameter * is substituted with a model of this concept. * - * \cgalRefines `ArrangementApproximateTraits_2` and - * `ArrangementConstructXMonotoneCurveTraits_2` + * \cgalRefines{ArrangementApproximateTraits_2,ArrangementConstructXMonotoneCurveTraits_2} * * \cgalHasModel `CGAL::Arr_conic_traits_2` * \cgalHasModel `CGAL::Arr_geodesic_arc_on_sphere_traits_2` diff --git a/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/Concepts/ArrangementLeftSideTraits_2.h b/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/Concepts/ArrangementLeftSideTraits_2.h index d33d87663c0..3b01d80db4f 100644 --- a/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/Concepts/ArrangementLeftSideTraits_2.h +++ b/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/Concepts/ArrangementLeftSideTraits_2.h @@ -10,7 +10,7 @@ * boundary sides (that is, right, bottom, and top) are purposeful, and can have * models. * - * \cgalRefines `ArrangementVerticalSideTraits_2` + * \cgalRefines{ArrangementVerticalSideTraits_2} * * \sa `ArrangementRightSideTraits_2`, * `ArrangementBottomSideTraits_2`, and diff --git a/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/Concepts/ArrangementOpenBottomTraits_2.h b/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/Concepts/ArrangementOpenBottomTraits_2.h index ebf9395c7c7..c53f51ef056 100644 --- a/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/Concepts/ArrangementOpenBottomTraits_2.h +++ b/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/Concepts/ArrangementOpenBottomTraits_2.h @@ -8,7 +8,7 @@ * reach this boundary side. A model of this concept can handle curves that * reach the bottom boundary side when it is open. * - * \cgalRefines `ArrangementBottomSideTraits_2` + * \cgalRefines{ArrangementBottomSideTraits_2} * * \sa `ArrangementOpenLeftTraits_2`, * `ArrangementOpenRightTraits_2`, diff --git a/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/Concepts/ArrangementOpenBoundaryTraits_2.h b/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/Concepts/ArrangementOpenBoundaryTraits_2.h index d617129c29c..8190767e71c 100644 --- a/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/Concepts/ArrangementOpenBoundaryTraits_2.h +++ b/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/Concepts/ArrangementOpenBoundaryTraits_2.h @@ -37,7 +37,7 @@ * rectangle. When the parameter space is bounded, it is the exact geometric * embedding of the implicit bounding rectangle. * - * \cgalRefines `ArrangementBasicTraits_2` + * \cgalRefines{ArrangementBasicTraits_2} * * \cgalHasModel `CGAL::Arr_linear_traits_2` * \cgalHasModel `CGAL::Arr_rational_function_traits_2` diff --git a/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/Concepts/ArrangementOpenLeftTraits_2.h b/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/Concepts/ArrangementOpenLeftTraits_2.h index 3c22b2edb2b..f1b7d62ca68 100644 --- a/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/Concepts/ArrangementOpenLeftTraits_2.h +++ b/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/Concepts/ArrangementOpenLeftTraits_2.h @@ -8,7 +8,7 @@ * this boundary side. A model of this concept can handle curves that reach the * left boundary side when it is open. * - * \cgalRefines `ArrangementLeftSideTraits_2` + * \cgalRefines{ArrangementLeftSideTraits_2} * * \sa `ArrangementOpenRightTraits_2`, * `ArrangementOpenBottomTraits_2`, diff --git a/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/Concepts/ArrangementOpenRightTraits_2.h b/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/Concepts/ArrangementOpenRightTraits_2.h index 865e6732d1c..fa8468d49dc 100644 --- a/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/Concepts/ArrangementOpenRightTraits_2.h +++ b/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/Concepts/ArrangementOpenRightTraits_2.h @@ -8,7 +8,7 @@ * this boundary side. A model of this concept can handle curves that reach the * right boundary side when it is open. * - * \cgalRefines `ArrangementRightSideTraits_2` + * \cgalRefines{ArrangementRightSideTraits_2} * * \sa `ArrangementOpenLeftTraits_2`, * `ArrangementOpenBottomTraits_2`, diff --git a/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/Concepts/ArrangementOpenTopTraits_2.h b/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/Concepts/ArrangementOpenTopTraits_2.h index 69eb18a96a1..455bef4d160 100644 --- a/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/Concepts/ArrangementOpenTopTraits_2.h +++ b/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/Concepts/ArrangementOpenTopTraits_2.h @@ -8,7 +8,7 @@ * this boundary side. A model of this concept can handle curves that reach the * top boundary side when it is open. * - * \cgalRefines `ArrangementTopSideTraits_2` + * \cgalRefines{ArrangementTopSideTraits_2} * * \sa `ArrangementOpenLeftTraits_2`, * `ArrangementOpenRightTraits_2`, diff --git a/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/Concepts/ArrangementRightSideTraits_2.h b/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/Concepts/ArrangementRightSideTraits_2.h index 16395831d63..689d2b7af2d 100644 --- a/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/Concepts/ArrangementRightSideTraits_2.h +++ b/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/Concepts/ArrangementRightSideTraits_2.h @@ -10,7 +10,7 @@ * boundary sides (that is, left, bottom, and top) are purposeful, and can have * models. * - * \cgalRefines `ArrangementVerticalSideTraits_2` + * \cgalRefines{ArrangementVerticalSideTraits_2} * * \sa `ArrangementLeftSideTraits_2`, * `ArrangementBottomSideTraits_2`, and diff --git a/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/Concepts/ArrangementSphericalBoundaryTraits_2.h b/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/Concepts/ArrangementSphericalBoundaryTraits_2.h index bb81a8eb17f..87ff1eb159c 100644 --- a/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/Concepts/ArrangementSphericalBoundaryTraits_2.h +++ b/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/Concepts/ArrangementSphericalBoundaryTraits_2.h @@ -8,11 +8,8 @@ * space, the sphere is the mapping of which, is identified on the left and * right sides and contracted at the top and bottom sides. * - * \cgalRefines `ArrangementBasicTraits_2` - * \cgalRefines `ArrangementIdentifiedVerticalTraits_2` - * \cgalRefines `ArrangementContractedBottomTraits_2` - * \cgalRefines `ArrangementContractedTopTraits_2` - * \cgalRefines + * \cgalRefines{ArrangementBasicTraits_2,ArrangementIdentifiedVerticalTraits_2, + * ArrangementContractedBottomTraits_2,ArrangementContractedTopTraits_2} * * \cgalHasModel `CGAL::Arr_geodesic_arc_on_sphere_traits_2` * diff --git a/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/Concepts/ArrangementTopSideTraits_2.h b/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/Concepts/ArrangementTopSideTraits_2.h index 13123e1006b..94614dfc81a 100644 --- a/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/Concepts/ArrangementTopSideTraits_2.h +++ b/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/Concepts/ArrangementTopSideTraits_2.h @@ -10,7 +10,7 @@ * boundary sides (that is, left, right, and bottom) are purposeful, and can * have models. * - * \cgalRefines `ArrangementHorizontalSideTraits_2` + * \cgalRefines{ArrangementHorizontalSideTraits_2} * * \sa `ArrangementLeftSideTraits_2`, * `ArrangementRightSideTraits_2`, and diff --git a/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/Concepts/ArrangementTraits_2.h b/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/Concepts/ArrangementTraits_2.h index da63fe4a11e..05bac54d5a2 100644 --- a/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/Concepts/ArrangementTraits_2.h +++ b/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/Concepts/ArrangementTraits_2.h @@ -28,7 +28,7 @@ arbitrary curves, which may be not \f$ x\f$-monotone must define the different types to allow proper dispatching of the free functions that accept such curves, such as `intsert()`. -\cgalRefines `ArrangementXMonotoneTraits_2` +\cgalRefines{ArrangementXMonotoneTraits_2} \cgalHasModel `CGAL::Arr_segment_traits_2` \cgalHasModel `CGAL::Arr_non_caching_segment_traits_2` diff --git a/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/Concepts/ArrangementVerticalSideTraits_2.h b/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/Concepts/ArrangementVerticalSideTraits_2.h index c82717702bd..cc36ec97ea6 100644 --- a/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/Concepts/ArrangementVerticalSideTraits_2.h +++ b/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/Concepts/ArrangementVerticalSideTraits_2.h @@ -9,7 +9,7 @@ * remaining boundary sides (that is, bottom and top) are purposeful, and can * have models. * - * \cgalRefines `ArrangementBasicTraits_2` + * \cgalRefines{ArrangementBasicTraits_2} * * \cgalHasModel `CGAL::Arr_linear_traits_2` * \cgalHasModel `CGAL::Arr_rational_function_traits_2` diff --git a/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/Concepts/ArrangementWithHistoryInputFormatter.h b/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/Concepts/ArrangementWithHistoryInputFormatter.h index 0e9a09101c4..fd879fad9a0 100644 --- a/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/Concepts/ArrangementWithHistoryInputFormatter.h +++ b/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/Concepts/ArrangementWithHistoryInputFormatter.h @@ -7,7 +7,7 @@ A model for the `ArrangementWithHistoryInputFormatter` concept supports a set of reading an arrangement-with-history instance from an input stream using a specific format. -\cgalRefines `ArrangementInputFormatter` +\cgalRefines{ArrangementInputFormatter} \cgalHasModel `CGAL::Arr_with_history_text_formatter` diff --git a/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/Concepts/ArrangementWithHistoryOutputFormatter.h b/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/Concepts/ArrangementWithHistoryOutputFormatter.h index 3241f955cd5..e766c2cfc26 100644 --- a/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/Concepts/ArrangementWithHistoryOutputFormatter.h +++ b/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/Concepts/ArrangementWithHistoryOutputFormatter.h @@ -7,7 +7,7 @@ A model for the `ArrangementWithHistoryOutputFormatter` concept supports a set o writing an arrangement-with-history instance to an output stream using a specific format. -\cgalRefines `ArrangementOutputFormatter` +\cgalRefines{ArrangementOutputFormatter} \cgalHasModel `CGAL::Arr_with_history_text_formatter` diff --git a/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/Concepts/ArrangementXMonotoneTraits_2.h b/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/Concepts/ArrangementXMonotoneTraits_2.h index 6d6d59c544b..5eae4b190c2 100644 --- a/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/Concepts/ArrangementXMonotoneTraits_2.h +++ b/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/Concepts/ArrangementXMonotoneTraits_2.h @@ -16,7 +16,7 @@ A model of this refined concept therefore needs to compute the intersections (and possibly overlaps) between two \f$ x\f$-monotone curves and to support curve splitting. -\cgalRefines `ArrangementBasicTraits_2` +\cgalRefines{ArrangementBasicTraits_2} \cgalHasModel `CGAL::Arr_segment_traits_2` \cgalHasModel `CGAL::Arr_non_caching_segment_traits_2` diff --git a/Arrangement_on_surface_2/include/CGAL/Arr_counting_traits_2.h b/Arrangement_on_surface_2/include/CGAL/Arr_counting_traits_2.h index 173e56ee601..4707748fff6 100644 --- a/Arrangement_on_surface_2/include/CGAL/Arr_counting_traits_2.h +++ b/Arrangement_on_surface_2/include/CGAL/Arr_counting_traits_2.h @@ -85,18 +85,17 @@ public: typedef Arr_counting_traits_2 Self; /*! Construct default */ - Arr_counting_traits_2() : Base() + template + Arr_counting_traits_2(Args ... args) : + Base(args...) { clear_counters(); increment(); } - /*! Construct copy */ - Arr_counting_traits_2(const Arr_counting_traits_2& other) : Base(other) - { - clear_counters(); - increment(); - } + /*! Disable copy constructor. + */ + Arr_counting_traits_2(const Arr_counting_traits_2&) = delete; /*! Obtain the counter of the given operation */ size_t count(Operation_id id) const diff --git a/Arrangement_on_surface_2/include/CGAL/Arr_topology_traits/Arr_unb_planar_construction_helper.h b/Arrangement_on_surface_2/include/CGAL/Arr_topology_traits/Arr_unb_planar_construction_helper.h index 6f7aa9d607b..4c408625e0c 100644 --- a/Arrangement_on_surface_2/include/CGAL/Arr_topology_traits/Arr_unb_planar_construction_helper.h +++ b/Arrangement_on_surface_2/include/CGAL/Arr_topology_traits/Arr_unb_planar_construction_helper.h @@ -272,6 +272,21 @@ before_handle_event(Event* event) if (m_prev_minus_inf_x_event != nullptr) m_prev_minus_inf_x_event->set_halfedge_handle(m_lh->next()); m_prev_minus_inf_x_event = event; + + // If the event lies also on the top boundary, associate all curve indices + // of subcurves that "see" m_th from below with the top fictitious halfedge + // (m_th->next()). + if (ps_y == ARR_TOP_BOUNDARY) { + if (m_he_ind_map_p != nullptr) { + Indices_list& list_ref = (*m_he_ind_map_p)[m_th]; + list_ref.clear(); + list_ref.splice(list_ref.end(), m_subcurves_at_ubf); + } + else { + m_subcurves_at_ubf.clear(); + } + CGAL_assertion(m_subcurves_at_ubf.empty()); + } return; case ARR_RIGHT_BOUNDARY: diff --git a/Arrangement_on_surface_2/include/CGAL/Arr_tracing_traits_2.h b/Arrangement_on_surface_2/include/CGAL/Arr_tracing_traits_2.h index a9d3ba2c19d..f631bef376a 100644 --- a/Arrangement_on_surface_2/include/CGAL/Arr_tracing_traits_2.h +++ b/Arrangement_on_surface_2/include/CGAL/Arr_tracing_traits_2.h @@ -162,13 +162,18 @@ private: { return m_flags & (0x1 << COMPARE_X_NEAR_BOUNDARY_OP); } public: - /*! Default constructor */ - Arr_tracing_traits_2() : - Base() + /*! Construct default */ + template + Arr_tracing_traits_2(Args ... args) : + Base(args...) { enable_all_traces(); } + /*! Disable copy constructor. + */ + Arr_tracing_traits_2(const Arr_tracing_traits_2&) = delete; + /*! Enable the trace of a traits operation * \param id the operation identifier */ @@ -650,13 +655,13 @@ public: /*! A functor that tests whether two x-monotone curves can be merged. */ class Are_mergeable_2 { private: - typename Base::Are_mergeable_2 m_object; + const Base& m_base_traits; bool m_enabled; public: /*! Construct */ - Are_mergeable_2(const Base* base, bool enabled = true) : - m_object(base->are_mergeable_2_object()), m_enabled(enabled) {} + Are_mergeable_2(const Base& base, bool enabled = true) : + m_base_traits(base), m_enabled(enabled) {} /*! Operate * \param xcv1 the first curve @@ -667,14 +672,32 @@ public: */ bool operator()(const X_monotone_curve_2& xcv1, const X_monotone_curve_2& xcv2) const - { - if (!m_enabled) return m_object(xcv1, xcv2); + { return are_mergable_2_impl(xcv1, xcv2, 0); } + + private: + /*! The base does not have Are_mergable_2 + */ + template + bool are_mergable_2_impl(const X_monotone_curve_2& /* xcv1 */, + const X_monotone_curve_2& /* xcv2 */, long) const { + CGAL_error(); + return false; + } + + /*! The base does have Are_mergable_2 + */ + template + auto are_mergable_2_impl(const X_monotone_curve_2& xcv1, + const X_monotone_curve_2& xcv2, int) const -> + decltype(m_base_traits.are_mergeable_2_object().operator()(xcv1, xcv2)) { + auto are_mergeable = m_base_traits.are_mergeable_2_object(); + if (! m_enabled) return are_mergeable(xcv1, xcv2); std::cout << "are_mergeable" << std::endl << " xcv1: " << xcv1 << std::endl << " xcv2: " << xcv2 << std::endl; - bool are_mergeable = m_object(xcv1, xcv2); - std::cout << " result: " << are_mergeable << std::endl; - return are_mergeable; + bool mergeable = are_mergeable(xcv1, xcv2); + std::cout << " result: " << mergeable << std::endl; + return mergeable; } }; diff --git a/Arrangement_on_surface_2/include/CGAL/Arrangement_2/Arr_traits_adaptor_2.h b/Arrangement_on_surface_2/include/CGAL/Arrangement_2/Arr_traits_adaptor_2.h index 54c2d0aad44..d98f1c1307c 100644 --- a/Arrangement_on_surface_2/include/CGAL/Arrangement_2/Arr_traits_adaptor_2.h +++ b/Arrangement_on_surface_2/include/CGAL/Arrangement_2/Arr_traits_adaptor_2.h @@ -3387,7 +3387,7 @@ public: */ Comparison_result operator()(const Point_2& p1, const Point_2& p2) const { - Base base(m_self); + const Base& base = m_self; return base.compare_xy_2_object()(p1, p2); } diff --git a/Arrangement_on_surface_2/include/CGAL/IO/Arr_text_formatter.h b/Arrangement_on_surface_2/include/CGAL/IO/Arr_text_formatter.h index d9d4e4b84b2..34cb310fd07 100644 --- a/Arrangement_on_surface_2/include/CGAL/IO/Arr_text_formatter.h +++ b/Arrangement_on_surface_2/include/CGAL/IO/Arr_text_formatter.h @@ -549,56 +549,56 @@ public: typedef typename Base::Face_const_handle Face_const_handle; /*! Default constructor.*/ - Arr_extended_dcel_text_formatter() : - Base() - {} + Arr_extended_dcel_text_formatter() : Base() {} /*! Construct an output formatter. */ - Arr_extended_dcel_text_formatter(std::ostream& os) : - Base(os) - {} + Arr_extended_dcel_text_formatter(std::ostream& os) : Base(os) {} /*! Construct an input formatter. */ - Arr_extended_dcel_text_formatter(std::istream& is) : - Base(is) - {} + Arr_extended_dcel_text_formatter(std::istream& is) : Base(is) {} /*! Write the auxiliary data associated with the given vertex. */ virtual void write_vertex_data(Vertex_const_handle v) - { - this->out() << '\n' << v->data(); - } + { this->out() << '\n' << v->data(); } /*! Read a vertex-data object and attach it to the given vertex. */ - virtual void read_vertex_data(Vertex_handle v) - { - this->in() >> v->data(); + virtual void read_vertex_data(Vertex_handle v) { + using Vertex = typename Arrangement_2::Vertex; + using Type = decltype(std::declval().data()); + using Data_type = typename std::remove_reference::type; + Data_type data; + this->in() >> data; + v->set_data(data); this->_skip_until_EOL(); } /*! Write the auxiliary data associated with the given halfedge. */ virtual void write_halfedge_data(Halfedge_const_handle he) - { - this->out() << '\n' << he->data(); - } + { this->out() << '\n' << he->data(); } /*! Read a halfedge-data object and attach it to the given halfedge. */ - virtual void read_halfedge_data(Halfedge_handle he) - { - this->in() >> he->data(); + virtual void read_halfedge_data(Halfedge_handle he) { + using Halfedge = typename Arrangement_2::Halfedge; + using Type = decltype(std::declval().data()); + using Data_type = typename std::remove_reference::type; + Data_type data; + this->in() >> data; + he->set_data(data); this->_skip_until_EOL(); } /*! Write the auxiliary data associated with the given face. */ virtual void write_face_data(Face_const_handle f) - { - this->out() << f->data() << '\n'; - } + { this->out() << f->data() << '\n'; } /*! Read a face-data object and attach it to the given face. */ - virtual void read_face_data(Face_handle f) - { - this->in() >> f->data(); + virtual void read_face_data(Face_handle f) { + using Face = typename Arrangement_2::Face; + using Type = decltype(std::declval().data()); + using Data_type = typename std::remove_reference::type; + Data_type data; + this->in() >> data; + f->set_data(data); this->_skip_until_EOL(); } }; diff --git a/BGL/doc/BGL/Concepts/EdgeListGraph.h b/BGL/doc/BGL/Concepts/EdgeListGraph.h index 685aed4fff5..3b614c86c07 100644 --- a/BGL/doc/BGL/Concepts/EdgeListGraph.h +++ b/BGL/doc/BGL/Concepts/EdgeListGraph.h @@ -9,7 +9,7 @@ The concept `EdgeListGraph` refines the concept Graph and adds the requirement for traversal of all edges in a graph. -\cgalRefines Graph +\cgalRefines{Graph} \cgalHasModel See \link PkgBGLTraits Boost Graph Traits Specializations \endlink diff --git a/BGL/doc/BGL/Concepts/FaceGraph.h b/BGL/doc/BGL/Concepts/FaceGraph.h index 40346595ac6..b7ea012f4c9 100644 --- a/BGL/doc/BGL/Concepts/FaceGraph.h +++ b/BGL/doc/BGL/Concepts/FaceGraph.h @@ -18,7 +18,7 @@ A face descriptor must be `DefaultConstructible`, `Assignable`, `EqualityCompara \cgalAssociatedTypesEnd -\cgalRefines `HalfedgeGraph` +\cgalRefines{HalfedgeGraph} \cgalHasModel See \link PkgBGLTraits Boost Graph Traits Specializations \endlink diff --git a/BGL/doc/BGL/Concepts/FaceListGraph.h b/BGL/doc/BGL/Concepts/FaceListGraph.h index d50e7a275f2..6e7936f5ad9 100644 --- a/BGL/doc/BGL/Concepts/FaceListGraph.h +++ b/BGL/doc/BGL/Concepts/FaceListGraph.h @@ -14,7 +14,7 @@ face iterator must be the same as the face descriptor of the graph. \cgalAssociatedTypesEnd -\cgalRefines `FaceGraph` +\cgalRefines{FaceGraph} \cgalHasModel See \link PkgBGLTraits Boost Graph Traits Specializations \endlink diff --git a/BGL/doc/BGL/Concepts/HalfedgeGraph.h b/BGL/doc/BGL/Concepts/HalfedgeGraph.h index a6fc002b0aa..8a31a1a787a 100644 --- a/BGL/doc/BGL/Concepts/HalfedgeGraph.h +++ b/BGL/doc/BGL/Concepts/HalfedgeGraph.h @@ -34,8 +34,7 @@ An edge descriptor must be `DefaultConstructible`, `Assignable`, `EqualityCompar \cgalAssociatedTypesEnd -\cgalRefines `IncidenceGraph` -\cgalRefines `PropertyGraph` +\cgalRefines{IncidenceGraph,PropertyGraph} A model of `HalfedgeGraph` must have the interior property `vertex_point` attached to its vertices. diff --git a/BGL/doc/BGL/Concepts/HalfedgeListGraph.h b/BGL/doc/BGL/Concepts/HalfedgeListGraph.h index 3d0f4cfdcfe..1019f3c336b 100644 --- a/BGL/doc/BGL/Concepts/HalfedgeListGraph.h +++ b/BGL/doc/BGL/Concepts/HalfedgeListGraph.h @@ -14,7 +14,7 @@ halfedge iterator must be the same as the halfedge descriptor of the graph. \cgalAssociatedTypesEnd -\cgalRefines `HalfedgeGraph` +\cgalRefines{HalfedgeGraph} \cgalHasModel See \link PkgBGLTraits Boost Graph Traits Specializations \endlink diff --git a/BGL/doc/BGL/Concepts/MutableFaceGraph.h b/BGL/doc/BGL/Concepts/MutableFaceGraph.h index 7df4f7b4b5b..2ce0c981554 100644 --- a/BGL/doc/BGL/Concepts/MutableFaceGraph.h +++ b/BGL/doc/BGL/Concepts/MutableFaceGraph.h @@ -5,8 +5,7 @@ The concept `MutableFaceGraph` refines the concepts `FaceGraph` and `MutableHalfedgeGraph` and adds the requirement for operations to add faces and to modify face-halfedge relations. -\cgalRefines `FaceGraph` -\cgalRefines `MutableHalfedgeGraph` +\cgalRefines{FaceGraph,MutableHalfedgeGraph} \cgalHasModel See \link PkgBGLTraits Boost Graph Traits Specializations \endlink diff --git a/BGL/doc/BGL/Concepts/MutableHalfedgeGraph.h b/BGL/doc/BGL/Concepts/MutableHalfedgeGraph.h index 8ea1da9f561..5ce56824a5a 100644 --- a/BGL/doc/BGL/Concepts/MutableHalfedgeGraph.h +++ b/BGL/doc/BGL/Concepts/MutableHalfedgeGraph.h @@ -6,7 +6,7 @@ The concept `MutableHalfedgeGraph` refines the concept `HalfedgeGraph` and adds the requirements for operations to add vertices and edges, and to update the incidence information between vertices and halfedges. -\cgalRefines `HalfedgeGraph` +\cgalRefines{HalfedgeGraph} \cgalHasModel See \link PkgBGLTraits Boost Graph Traits Specializations \endlink diff --git a/BGL/doc/BGL/Concepts/VertexListGraph.h b/BGL/doc/BGL/Concepts/VertexListGraph.h index 0b030083492..aa88a4d1944 100644 --- a/BGL/doc/BGL/Concepts/VertexListGraph.h +++ b/BGL/doc/BGL/Concepts/VertexListGraph.h @@ -9,7 +9,7 @@ The concept `VertexListGraph` refines the concept Graph and adds the requirement for traversal of all vertices in a graph. -\cgalRefines Graph +\cgalRefines{Graph} \cgalHasModel See \link PkgBGLTraits Boost Graph Traits Specializations \endlink diff --git a/BGL/doc/BGL/PackageDescription.txt b/BGL/doc/BGL/PackageDescription.txt index bab95d719ab..6032e29a6c9 100644 --- a/BGL/doc/BGL/PackageDescription.txt +++ b/BGL/doc/BGL/PackageDescription.txt @@ -706,6 +706,7 @@ user might encounter. - `CGAL::Halfedge_around_target_circulator` - `CGAL::Halfedge_around_face_circulator` - `CGAL::Vertex_around_target_circulator` +- `CGAL::Vertex_around_face_circulator` - `CGAL::Face_around_target_circulator` - `CGAL::Face_around_face_circulator` diff --git a/BGL/include/CGAL/boost/graph/IO/polygon_mesh_io.h b/BGL/include/CGAL/boost/graph/IO/polygon_mesh_io.h index 6c156266172..d60af3c9949 100644 --- a/BGL/include/CGAL/boost/graph/IO/polygon_mesh_io.h +++ b/BGL/include/CGAL/boost/graph/IO/polygon_mesh_io.h @@ -201,6 +201,13 @@ bool read_polygon_mesh(const std::string& fname, * \cgalParamExtra{This parameter is only meaningful while using \ascii encoding.} * \cgalParamNEnd * + * \cgalParamNBegin{use_binary_mode} + * \cgalParamDescription{indicates whether data should be written in binary (`true`) or in \ascii (`false`)} + * \cgalParamType{Boolean} + * \cgalParamDefault{`true`} + * \cgalParamExtra{This parameter is only meaningful for formats that support binary encoding.} + * \cgalParamNEnd + * * \cgalParamNBegin{verbose} * \cgalParamDescription{whether extra information is printed when an incident occurs during reading} * \cgalParamType{Boolean} diff --git a/BGL/include/CGAL/boost/graph/internal/helpers.h b/BGL/include/CGAL/boost/graph/internal/helpers.h index 4da0e59a63c..f440e4f6717 100644 --- a/BGL/include/CGAL/boost/graph/internal/helpers.h +++ b/BGL/include/CGAL/boost/graph/internal/helpers.h @@ -15,6 +15,7 @@ #include #include #include +#include #include @@ -222,7 +223,6 @@ namespace impl { put(map, pair.first, pair.second); } - }; template @@ -237,6 +237,13 @@ namespace impl } }//end of impl +template +struct value_type_traits>> +{ + typedef std::pair::input_t, + typename impl::Output_iterator_functor::output_t> type; +}; + } // CGAL diff --git a/BGL/include/CGAL/boost/graph/iterator.h b/BGL/include/CGAL/boost/graph/iterator.h index 1fed18a2278..59473fce693 100644 --- a/BGL/include/CGAL/boost/graph/iterator.h +++ b/BGL/include/CGAL/boost/graph/iterator.h @@ -980,6 +980,12 @@ faces_around_face(typename boost::graph_traits::halfedge_descriptor h, co return make_range(I(h,g), I(h,g,1)); } +/** + * \ingroup PkgBGLIterators + * A bidirectional circulator with value type `boost::graph_traits::%vertex_descriptor` over all vertices incident to the same face or border. + * \tparam Graph must be a model of the concept `HalfedgeGraph` + * \cgalModels `BidirectionalIterator` + */ template class Vertex_around_face_circulator #ifndef DOXYGEN_RUNNING diff --git a/BGL/test/BGL/CMakeLists.txt b/BGL/test/BGL/CMakeLists.txt index 3f81213dd21..3b4304b5056 100644 --- a/BGL/test/BGL/CMakeLists.txt +++ b/BGL/test/BGL/CMakeLists.txt @@ -79,9 +79,9 @@ if (VTK_FOUND) if(VTK_LIBRARIES) target_link_libraries(test_bgl_read_write PRIVATE ${VTK_LIBRARIES}) - target_compile_definitions(test_bgl_read_write PRIVATE -DCGAL_USE_VTK) + target_compile_definitions(test_bgl_read_write PRIVATE -DCGAL_USE_VTK -DNOMINMAX) target_link_libraries(test_deprecated_io PRIVATE ${VTK_LIBRARIES}) - target_compile_definitions(test_deprecated_io PRIVATE -DCGAL_USE_VTK) + target_compile_definitions(test_deprecated_io PRIVATE -DCGAL_USE_VTK -DNOMINMAX) else() message(STATUS "Tests that use VTK will not be compiled.") endif() diff --git a/Boolean_set_operations_2/doc/Boolean_set_operations_2/CGAL/Boolean_set_operations_2/Gps_default_dcel.h b/Boolean_set_operations_2/doc/Boolean_set_operations_2/CGAL/Boolean_set_operations_2/Gps_default_dcel.h index 5880c9a1cb4..64158347a42 100644 --- a/Boolean_set_operations_2/doc/Boolean_set_operations_2/CGAL/Boolean_set_operations_2/Gps_default_dcel.h +++ b/Boolean_set_operations_2/doc/Boolean_set_operations_2/CGAL/Boolean_set_operations_2/Gps_default_dcel.h @@ -24,9 +24,9 @@ class Gps_face_base : public Arr_face_base {}; /*! \ingroup PkgBooleanSetOperations2Ref -An instance of this teplate serves as a basis type for any halfedge record +An instance of this template serves as a basis type for any halfedge record of the \dcel class used by instances of the -General_polygon_set_2` and `General_polygon_with_holes_2` class templates. +`General_polygon_set_2` and `General_polygon_with_holes_2` class templates. The `X_monotone_curve_2` template parameter is the type of \f$ x\f$-monotone curves associated with the halfedges. diff --git a/Boolean_set_operations_2/doc/Boolean_set_operations_2/Concepts/ArrDirectionalTraits--AreMergeable_2.h b/Boolean_set_operations_2/doc/Boolean_set_operations_2/Concepts/ArrDirectionalTraits--AreMergeable_2.h index 972825d1bf8..c1f77e40a82 100644 --- a/Boolean_set_operations_2/doc/Boolean_set_operations_2/Concepts/ArrDirectionalTraits--AreMergeable_2.h +++ b/Boolean_set_operations_2/doc/Boolean_set_operations_2/Concepts/ArrDirectionalTraits--AreMergeable_2.h @@ -3,7 +3,7 @@ namespace ArrDirectionalTraits { \ingroup PkgBooleanSetOperations2Concepts \cgalConcept -\cgalRefines `AdaptableBinaryFunction` +\cgalRefines{AdaptableBinaryFunction} \cgalHasModel `ArrangementDirectionalXMonotoneTraits_2::Are_mergeable_2` @@ -31,4 +31,4 @@ ArrDirectionalTraits::X_monotone_curve_2 xc2); }; /* end ArrDirectionalTraits::AreMergeable_2 */ -} \ No newline at end of file +} diff --git a/Boolean_set_operations_2/doc/Boolean_set_operations_2/Concepts/ArrDirectionalTraits--CompareEndpointsXy_2.h b/Boolean_set_operations_2/doc/Boolean_set_operations_2/Concepts/ArrDirectionalTraits--CompareEndpointsXy_2.h index ff77632107f..336b992999d 100644 --- a/Boolean_set_operations_2/doc/Boolean_set_operations_2/Concepts/ArrDirectionalTraits--CompareEndpointsXy_2.h +++ b/Boolean_set_operations_2/doc/Boolean_set_operations_2/Concepts/ArrDirectionalTraits--CompareEndpointsXy_2.h @@ -4,7 +4,7 @@ namespace ArrDirectionalTraits { \ingroup PkgBooleanSetOperations2Concepts \cgalConcept -\cgalRefines `AdaptableUnaryFunction` +\cgalRefines{AdaptableUnaryFunction} \cgalHasModel `ArrangementDirectionalXMonotoneTraits_2::Compare_endpoints_xy_2` diff --git a/Boolean_set_operations_2/doc/Boolean_set_operations_2/Concepts/ArrDirectionalTraits--ConstructOpposite_2.h b/Boolean_set_operations_2/doc/Boolean_set_operations_2/Concepts/ArrDirectionalTraits--ConstructOpposite_2.h index 3b9248da871..5e8c9d034a4 100644 --- a/Boolean_set_operations_2/doc/Boolean_set_operations_2/Concepts/ArrDirectionalTraits--ConstructOpposite_2.h +++ b/Boolean_set_operations_2/doc/Boolean_set_operations_2/Concepts/ArrDirectionalTraits--ConstructOpposite_2.h @@ -4,7 +4,7 @@ namespace ArrDirectionalTraits { \ingroup PkgBooleanSetOperations2Concepts \cgalConcept -\cgalRefines `AdaptableUnaryFunction` +\cgalRefines{AdaptableUnaryFunction} \cgalHasModel `ArrangementDirectionalXMonotoneTraits_2::Construct_opposite_2` diff --git a/Boolean_set_operations_2/doc/Boolean_set_operations_2/Concepts/ArrDirectionalTraits--Intersect_2.h b/Boolean_set_operations_2/doc/Boolean_set_operations_2/Concepts/ArrDirectionalTraits--Intersect_2.h index ec0153358c7..0d90fbacb2f 100644 --- a/Boolean_set_operations_2/doc/Boolean_set_operations_2/Concepts/ArrDirectionalTraits--Intersect_2.h +++ b/Boolean_set_operations_2/doc/Boolean_set_operations_2/Concepts/ArrDirectionalTraits--Intersect_2.h @@ -3,7 +3,7 @@ namespace ArrDirectionalTraits { \ingroup PkgBooleanSetOperations2Concepts \cgalConcept -\cgalRefines `AdaptableBinaryFunction` +\cgalRefines{AdaptableBinaryFunction} \cgalHasModel `ArrangementDirectionalXMonotoneTraits_2::Intersect_2` diff --git a/Boolean_set_operations_2/doc/Boolean_set_operations_2/Concepts/ArrDirectionalTraits--Merge_2.h b/Boolean_set_operations_2/doc/Boolean_set_operations_2/Concepts/ArrDirectionalTraits--Merge_2.h index 49023ab8810..673b60c589b 100644 --- a/Boolean_set_operations_2/doc/Boolean_set_operations_2/Concepts/ArrDirectionalTraits--Merge_2.h +++ b/Boolean_set_operations_2/doc/Boolean_set_operations_2/Concepts/ArrDirectionalTraits--Merge_2.h @@ -3,7 +3,7 @@ namespace ArrDirectionalTraits { \ingroup PkgBooleanSetOperations2Concepts \cgalConcept -\cgalRefines `AdaptableBinaryFunction` +\cgalRefines{AdaptableBinaryFunction} \cgalHasModel `ArrangementDirectionalXMonotoneTraits_2::Merge_2` diff --git a/Boolean_set_operations_2/doc/Boolean_set_operations_2/Concepts/ArrDirectionalTraits--Split_2.h b/Boolean_set_operations_2/doc/Boolean_set_operations_2/Concepts/ArrDirectionalTraits--Split_2.h index 7e8499c446c..108eb017796 100644 --- a/Boolean_set_operations_2/doc/Boolean_set_operations_2/Concepts/ArrDirectionalTraits--Split_2.h +++ b/Boolean_set_operations_2/doc/Boolean_set_operations_2/Concepts/ArrDirectionalTraits--Split_2.h @@ -3,7 +3,7 @@ namespace ArrDirectionalTraits { \ingroup PkgBooleanSetOperations2Concepts \cgalConcept -\cgalRefines `AdaptableUnaryFunction` +\cgalRefines{AdaptableUnaryFunction} \cgalHasModel `ArrangementDirectionalXMonotoneTraits_2::Split_2` @@ -34,4 +34,4 @@ ArrDirectionalTraits::X_monotone_curve_2& xc2); }; /* end ArrDirectionalTraits::Split_2 */ -} \ No newline at end of file +} diff --git a/Boolean_set_operations_2/doc/Boolean_set_operations_2/Concepts/ArrangementDirectionalXMonotoneTraits_2.h b/Boolean_set_operations_2/doc/Boolean_set_operations_2/Concepts/ArrangementDirectionalXMonotoneTraits_2.h index 20ef75870ff..62ce1fb841f 100644 --- a/Boolean_set_operations_2/doc/Boolean_set_operations_2/Concepts/ArrangementDirectionalXMonotoneTraits_2.h +++ b/Boolean_set_operations_2/doc/Boolean_set_operations_2/Concepts/ArrangementDirectionalXMonotoneTraits_2.h @@ -14,7 +14,7 @@ If the traits class is also a model of also required to have a direction, namely one of these two endpoint serves as its source and the other as its target. -\cgalRefines `ArrangementXMonotoneTraits_2` +\cgalRefines{ArrangementXMonotoneTraits_2} \cgalHasModel `CGAL::Arr_segment_traits_2` \cgalHasModel `CGAL::Arr_non_caching_segment_traits_2` diff --git a/Boolean_set_operations_2/doc/Boolean_set_operations_2/Concepts/GeneralPolygonSetDcel.h b/Boolean_set_operations_2/doc/Boolean_set_operations_2/Concepts/GeneralPolygonSetDcel.h index 9b39e730240..ec5f5909ce3 100644 --- a/Boolean_set_operations_2/doc/Boolean_set_operations_2/Concepts/GeneralPolygonSetDcel.h +++ b/Boolean_set_operations_2/doc/Boolean_set_operations_2/Concepts/GeneralPolygonSetDcel.h @@ -14,7 +14,7 @@ the `Halfedge` and `Face` types being models of the concepts `GeneralPolygonSetDcelHalfedge` and `GeneralPolygonSetDcelFace` respectively -\cgalRefines `ArrangementDcel` +\cgalRefines{ArrangementDcel} \cgalHasModel `CGAL::Gps_default_dcel` diff --git a/Boolean_set_operations_2/doc/Boolean_set_operations_2/Concepts/GeneralPolygonSetDcelFace.h b/Boolean_set_operations_2/doc/Boolean_set_operations_2/Concepts/GeneralPolygonSetDcelFace.h index c97aec19a9c..e33f52f2219 100644 --- a/Boolean_set_operations_2/doc/Boolean_set_operations_2/Concepts/GeneralPolygonSetDcelFace.h +++ b/Boolean_set_operations_2/doc/Boolean_set_operations_2/Concepts/GeneralPolygonSetDcelFace.h @@ -7,7 +7,7 @@ A face record in a \em Dcel data structure used by the `General_polygon_set_2` and `Polygon_set_2` template classes to represent the underlying internal `Arrangement_2` data structure. -\cgalRefines `ArrangementDcelFace` +\cgalRefines{ArrangementDcelFace} \cgalHasModel `CGAL::Gps_face_base` diff --git a/Boolean_set_operations_2/doc/Boolean_set_operations_2/Concepts/GeneralPolygonSetDcelHalfedge.h b/Boolean_set_operations_2/doc/Boolean_set_operations_2/Concepts/GeneralPolygonSetDcelHalfedge.h index 111c71d5be7..7334559a7ef 100644 --- a/Boolean_set_operations_2/doc/Boolean_set_operations_2/Concepts/GeneralPolygonSetDcelHalfedge.h +++ b/Boolean_set_operations_2/doc/Boolean_set_operations_2/Concepts/GeneralPolygonSetDcelHalfedge.h @@ -6,7 +6,7 @@ A halfedge record in a \em Dcel data structure used by the `General_polygon_set_2` and `Polygon_set_2` template classes to represent the underlying internal `Arrangement_2` data structure. -\cgalRefines `ArrangementDcelHalfedge` +\cgalRefines{ArrangementDcelHalfedge} \cgalHasModel `CGAL::Gps_face_halfedge` diff --git a/Boolean_set_operations_2/doc/Boolean_set_operations_2/Concepts/GeneralPolygonSetTraits_2.h b/Boolean_set_operations_2/doc/Boolean_set_operations_2/Concepts/GeneralPolygonSetTraits_2.h index 86f4cc299da..99001c39f1c 100644 --- a/Boolean_set_operations_2/doc/Boolean_set_operations_2/Concepts/GeneralPolygonSetTraits_2.h +++ b/Boolean_set_operations_2/doc/Boolean_set_operations_2/Concepts/GeneralPolygonSetTraits_2.h @@ -11,7 +11,7 @@ a type that represents a general polygon and another one that represents general polygon with holes. It also requires operations that operate on these types. -\cgalRefines `ArrangementDirectionalXMonotoneTraits_2` +\cgalRefines{ArrangementDirectionalXMonotoneTraits_2} \cgalHasModel `CGAL::Gps_segment_traits_2` \cgalHasModel `CGAL::Gps_circle_segment_traits_2` diff --git a/Boolean_set_operations_2/doc/Boolean_set_operations_2/Concepts/GeneralPolygon_2.h b/Boolean_set_operations_2/doc/Boolean_set_operations_2/Concepts/GeneralPolygon_2.h index 0966bde729b..2a46c3470bd 100644 --- a/Boolean_set_operations_2/doc/Boolean_set_operations_2/Concepts/GeneralPolygon_2.h +++ b/Boolean_set_operations_2/doc/Boolean_set_operations_2/Concepts/GeneralPolygon_2.h @@ -3,7 +3,7 @@ \ingroup PkgBooleanSetOperations2Concepts \cgalConcept -\cgalRefines `GpsTraitsGeneralPolygon_2` +\cgalRefines{GpsTraitsGeneralPolygon_2} A model of this concept represents a simple general-polygon. The geometric mapping of the edges of the polygon must be \f$ x\f$-monotone curves. diff --git a/Boolean_set_operations_2/doc/Boolean_set_operations_2/Concepts/GpsTraitsGeneralPolygonWithHoles_2.h b/Boolean_set_operations_2/doc/Boolean_set_operations_2/Concepts/GpsTraitsGeneralPolygonWithHoles_2.h index 729c28a35e9..842290bb47f 100644 --- a/Boolean_set_operations_2/doc/Boolean_set_operations_2/Concepts/GpsTraitsGeneralPolygonWithHoles_2.h +++ b/Boolean_set_operations_2/doc/Boolean_set_operations_2/Concepts/GpsTraitsGeneralPolygonWithHoles_2.h @@ -5,9 +5,7 @@ A model of this concept represents a general polygon with holes. -\cgalRefines `DefaultConstructible` -\cgalRefines `CopyConstructible` -\cgalRefines `Assignable` +\cgalRefines{CopyConstructible,Assignable,DefaultConstructible} \cgalGeneralizes `GeneralPolygonWithHoles_2` diff --git a/Boolean_set_operations_2/doc/Boolean_set_operations_2/Concepts/GpsTraitsGeneralPolygon_2.h b/Boolean_set_operations_2/doc/Boolean_set_operations_2/Concepts/GpsTraitsGeneralPolygon_2.h index 7fb8ac36765..99324d14227 100644 --- a/Boolean_set_operations_2/doc/Boolean_set_operations_2/Concepts/GpsTraitsGeneralPolygon_2.h +++ b/Boolean_set_operations_2/doc/Boolean_set_operations_2/Concepts/GpsTraitsGeneralPolygon_2.h @@ -5,9 +5,7 @@ A model of this concept represents a simple general polygon. -\cgalRefines `DefaultConstructible` -\cgalRefines `CopyConstructible` -\cgalRefines `Assignable` +\cgalRefines{CopyConstructible,Assignable,DefaultConstructible} \cgalGeneralizes `GeneralPolygon_2` diff --git a/Bounding_volumes/doc/Bounding_volumes/Concepts/ApproximateMinEllipsoid_d_Traits_d.h b/Bounding_volumes/doc/Bounding_volumes/Concepts/ApproximateMinEllipsoid_d_Traits_d.h index 0ac583cb7f4..d026e62b587 100644 --- a/Bounding_volumes/doc/Bounding_volumes/Concepts/ApproximateMinEllipsoid_d_Traits_d.h +++ b/Bounding_volumes/doc/Bounding_volumes/Concepts/ApproximateMinEllipsoid_d_Traits_d.h @@ -6,9 +6,7 @@ This concept defines the requirements for traits classes of `CGAL::Approximate_min_ellipsoid_d`. -\cgalRefines `DefaultConstructible` -\cgalRefines `CopyConstructible` -\cgalRefines `Assignable` +\cgalRefines{CopyConstructible,Assignable,DefaultConstructible} \cgalHasModel `CGAL::Approximate_min_ellipsoid_d_traits_2` \cgalHasModel `CGAL::Approximate_min_ellipsoid_d_traits_3` diff --git a/Bounding_volumes/package_info/Bounding_volumes/copyright b/Bounding_volumes/package_info/Bounding_volumes/copyright index 32607a12d14..b37116dc505 100644 --- a/Bounding_volumes/package_info/Bounding_volumes/copyright +++ b/Bounding_volumes/package_info/Bounding_volumes/copyright @@ -1,17 +1 @@ - ETH Zurich (Switzerland). -Min_quadrilateral_2 -Min_sphere_of_spheres_d -Matrix_search -Approximate_min_ellipsoid_d -Min_ellipse_2 -Min_circle_2 -Min_sphere_d -Min_annulus_d -Min_quadrilateral_2 -Min_sphere_of_spheres_d -Matrix_search -Approximate_min_ellipsoid_d -Min_ellipse_2 -Min_circle_2 -Min_sphere_d -Min_annulus_d +ETH Zurich (Switzerland). diff --git a/Box_intersection_d/doc/Box_intersection_d/Concepts/BoxIntersectionBox_d.h b/Box_intersection_d/doc/Box_intersection_d/Concepts/BoxIntersectionBox_d.h index 77e31af2333..7d28f370fc8 100644 --- a/Box_intersection_d/doc/Box_intersection_d/Concepts/BoxIntersectionBox_d.h +++ b/Box_intersection_d/doc/Box_intersection_d/Concepts/BoxIntersectionBox_d.h @@ -8,7 +8,7 @@ with a default traits class that assumes that the boxes are a model of this `BoxIntersectionBox_d` concept. This concept defines the access functions to the dimension, the `id`-number, and the boundaries of the box. -\cgalRefines `Assignable` +\cgalRefines{Assignable} \cgalHasModel CGAL::Box_intersection_d::Box_d \cgalHasModel CGAL::Box_intersection_d::Box_with_handle_d diff --git a/Box_intersection_d/doc/Box_intersection_d/Concepts/BoxIntersectionTraits_d.h b/Box_intersection_d/doc/Box_intersection_d/Concepts/BoxIntersectionTraits_d.h index 9e703546d80..03300e29d64 100644 --- a/Box_intersection_d/doc/Box_intersection_d/Concepts/BoxIntersectionTraits_d.h +++ b/Box_intersection_d/doc/Box_intersection_d/Concepts/BoxIntersectionTraits_d.h @@ -7,8 +7,7 @@ sequences of iso-oriented boxes. This concept defines the access functions to the dimension, the `id`-number, and the boundaries of the boxes manipulated in these algorithms. -\cgalRefines `Assignable` -\cgalRefines `DefaultConstructible` +\cgalRefines{Assignable,DefaultConstructible} \cgalHasModel CGAL::Box_intersection_d::Box_traits_d diff --git a/Circular_kernel_2/doc/Circular_kernel_2/Concepts/AlgebraicKernelForCircles--PolynomialForCircles_2_2.h b/Circular_kernel_2/doc/Circular_kernel_2/Concepts/AlgebraicKernelForCircles--PolynomialForCircles_2_2.h index c0c2127bdae..322134ed592 100644 --- a/Circular_kernel_2/doc/Circular_kernel_2/Concepts/AlgebraicKernelForCircles--PolynomialForCircles_2_2.h +++ b/Circular_kernel_2/doc/Circular_kernel_2/Concepts/AlgebraicKernelForCircles--PolynomialForCircles_2_2.h @@ -9,9 +9,7 @@ of circles, whose center's coordinates, as well as the square of the radius, are of a type that is a model of the concept `FieldNumberType`. -\cgalRefines CopyConstructible -\cgalRefines Assignable -\cgalRefines DefaultConstructible +\cgalRefines{CopyConstructible,Assignable,DefaultConstructible} \cgalHasModel CGAL::Polynomial_for_circles_2_2 diff --git a/Circular_kernel_2/doc/Circular_kernel_2/Concepts/AlgebraicKernelForCircles--Polynomial_1_2.h b/Circular_kernel_2/doc/Circular_kernel_2/Concepts/AlgebraicKernelForCircles--Polynomial_1_2.h index ca449949626..a017fef7163 100644 --- a/Circular_kernel_2/doc/Circular_kernel_2/Concepts/AlgebraicKernelForCircles--Polynomial_1_2.h +++ b/Circular_kernel_2/doc/Circular_kernel_2/Concepts/AlgebraicKernelForCircles--Polynomial_1_2.h @@ -7,9 +7,7 @@ Concept to represent bivariate polynomials of degree 1 whose coefficients are of a type that is a model of the concept `RingNumberType`. -\cgalRefines CopyConstructible -\cgalRefines Assignable -\cgalRefines DefaultConstructible +\cgalRefines{CopyConstructible,Assignable,DefaultConstructible} \cgalHasModel CGAL::Polynomial_1_2 diff --git a/Circular_kernel_2/doc/Circular_kernel_2/Concepts/CircularKernel--BoundedSide_2.h b/Circular_kernel_2/doc/Circular_kernel_2/Concepts/CircularKernel--BoundedSide_2.h index 4fe0a063468..2f522044c53 100644 --- a/Circular_kernel_2/doc/Circular_kernel_2/Concepts/CircularKernel--BoundedSide_2.h +++ b/Circular_kernel_2/doc/Circular_kernel_2/Concepts/CircularKernel--BoundedSide_2.h @@ -3,7 +3,7 @@ \ingroup PkgCircularKernel2GeometricConcepts \cgalConcept -\cgalRefines `Kernel::BoundedSide_2` +\cgalRefines{Kernel::BoundedSide_2} \sa `CircularKernel::HasOnBoundedSide_2` \sa `CircularKernel::HasOnUnboundedSide_2` diff --git a/Circular_kernel_2/doc/Circular_kernel_2/Concepts/CircularKernel--CircularArcPoint_2.h b/Circular_kernel_2/doc/Circular_kernel_2/Concepts/CircularKernel--CircularArcPoint_2.h index a5b9d2309e0..add345ad6ff 100644 --- a/Circular_kernel_2/doc/Circular_kernel_2/Concepts/CircularKernel--CircularArcPoint_2.h +++ b/Circular_kernel_2/doc/Circular_kernel_2/Concepts/CircularKernel--CircularArcPoint_2.h @@ -5,9 +5,7 @@ Concept for points on circles, circular arcs or line arcs. -\cgalRefines CopyConstructible -\cgalRefines Assignable -\cgalRefines DefaultConstructible +\cgalRefines{CopyConstructible,Assignable,DefaultConstructible} \cgalHasModel `CGAL::Circular_arc_point_2` */ diff --git a/Circular_kernel_2/doc/Circular_kernel_2/Concepts/CircularKernel--CircularArc_2.h b/Circular_kernel_2/doc/Circular_kernel_2/Concepts/CircularKernel--CircularArc_2.h index f4b96d13896..34f8cef50e2 100644 --- a/Circular_kernel_2/doc/Circular_kernel_2/Concepts/CircularKernel--CircularArc_2.h +++ b/Circular_kernel_2/doc/Circular_kernel_2/Concepts/CircularKernel--CircularArc_2.h @@ -5,9 +5,7 @@ Concept for arcs of circles. -\cgalRefines CopyConstructible -\cgalRefines Assignable -\cgalRefines DefaultConstructible +\cgalRefines{CopyConstructible,Assignable,DefaultConstructible} \cgalHasModel `CGAL::Circular_arc_2` diff --git a/Circular_kernel_2/doc/Circular_kernel_2/Concepts/CircularKernel--CompareXY_2.h b/Circular_kernel_2/doc/Circular_kernel_2/Concepts/CircularKernel--CompareXY_2.h index 049ba805721..64717a66455 100644 --- a/Circular_kernel_2/doc/Circular_kernel_2/Concepts/CircularKernel--CompareXY_2.h +++ b/Circular_kernel_2/doc/Circular_kernel_2/Concepts/CircularKernel--CompareXY_2.h @@ -3,7 +3,7 @@ \ingroup PkgCircularKernel2GeometricConcepts \cgalConcept -\cgalRefines `Kernel::CompareXY_2` +\cgalRefines{Kernel::CompareXY_2} \sa `CircularKernel::CompareX_2` \sa `CircularKernel::CompareY_2` diff --git a/Circular_kernel_2/doc/Circular_kernel_2/Concepts/CircularKernel--CompareX_2.h b/Circular_kernel_2/doc/Circular_kernel_2/Concepts/CircularKernel--CompareX_2.h index 82199174d21..c80728dab67 100644 --- a/Circular_kernel_2/doc/Circular_kernel_2/Concepts/CircularKernel--CompareX_2.h +++ b/Circular_kernel_2/doc/Circular_kernel_2/Concepts/CircularKernel--CompareX_2.h @@ -3,7 +3,7 @@ \ingroup PkgCircularKernel2GeometricConcepts \cgalConcept -\cgalRefines `Kernel::CompareX_2` +\cgalRefines{Kernel::CompareX_2} \sa `CircularKernel::CompareY_2` \sa `CircularKernel::CompareXY_2` diff --git a/Circular_kernel_2/doc/Circular_kernel_2/Concepts/CircularKernel--CompareY_2.h b/Circular_kernel_2/doc/Circular_kernel_2/Concepts/CircularKernel--CompareY_2.h index 96dd144986e..866ddde00ed 100644 --- a/Circular_kernel_2/doc/Circular_kernel_2/Concepts/CircularKernel--CompareY_2.h +++ b/Circular_kernel_2/doc/Circular_kernel_2/Concepts/CircularKernel--CompareY_2.h @@ -3,7 +3,7 @@ \ingroup PkgCircularKernel2GeometricConcepts \cgalConcept -\cgalRefines `Kernel::CompareY_2` +\cgalRefines{Kernel::CompareY_2} \sa `CircularKernel::CompareX_2` \sa `CircularKernel::CompareXY_2` diff --git a/Circular_kernel_2/doc/Circular_kernel_2/Concepts/CircularKernel--ConstructBbox_2.h b/Circular_kernel_2/doc/Circular_kernel_2/Concepts/CircularKernel--ConstructBbox_2.h index e91b15e507b..d6e999f0aa0 100644 --- a/Circular_kernel_2/doc/Circular_kernel_2/Concepts/CircularKernel--ConstructBbox_2.h +++ b/Circular_kernel_2/doc/Circular_kernel_2/Concepts/CircularKernel--ConstructBbox_2.h @@ -5,7 +5,7 @@ A function object concept to construct a bounding box of geometric objects: -\cgalRefines Kernel::ConstructBbox_2 +\cgalRefines{Kernel::ConstructBbox_2} */ diff --git a/Circular_kernel_2/doc/Circular_kernel_2/Concepts/CircularKernel--ConstructCircle_2.h b/Circular_kernel_2/doc/Circular_kernel_2/Concepts/CircularKernel--ConstructCircle_2.h index 6e36d4863ed..963e2850b08 100644 --- a/Circular_kernel_2/doc/Circular_kernel_2/Concepts/CircularKernel--ConstructCircle_2.h +++ b/Circular_kernel_2/doc/Circular_kernel_2/Concepts/CircularKernel--ConstructCircle_2.h @@ -3,7 +3,7 @@ \ingroup PkgCircularKernel2GeometricConcepts \cgalConcept -\cgalRefines `Kernel::ConstructCircle_2` +\cgalRefines{Kernel::ConstructCircle_2} \sa `CircularKernel::GetEquation` diff --git a/Circular_kernel_2/doc/Circular_kernel_2/Concepts/CircularKernel--ConstructLine_2.h b/Circular_kernel_2/doc/Circular_kernel_2/Concepts/CircularKernel--ConstructLine_2.h index c585d4d49f5..af440398ecc 100644 --- a/Circular_kernel_2/doc/Circular_kernel_2/Concepts/CircularKernel--ConstructLine_2.h +++ b/Circular_kernel_2/doc/Circular_kernel_2/Concepts/CircularKernel--ConstructLine_2.h @@ -3,7 +3,7 @@ \ingroup PkgCircularKernel2GeometricConcepts \cgalConcept -\cgalRefines `Kernel::ConstructLine_2` +\cgalRefines{Kernel::ConstructLine_2} \sa `CircularKernel::GetEquation` diff --git a/Circular_kernel_2/doc/Circular_kernel_2/Concepts/CircularKernel--DoIntersect_2.h b/Circular_kernel_2/doc/Circular_kernel_2/Concepts/CircularKernel--DoIntersect_2.h index 42ebf7de795..fa89125974e 100644 --- a/Circular_kernel_2/doc/Circular_kernel_2/Concepts/CircularKernel--DoIntersect_2.h +++ b/Circular_kernel_2/doc/Circular_kernel_2/Concepts/CircularKernel--DoIntersect_2.h @@ -5,7 +5,7 @@ Testing whether two curves intersect. -\cgalRefines `Kernel::DoIntersect_2` +\cgalRefines{Kernel::DoIntersect_2} \sa \link do_intersect_grp `CGAL::do_intersect()` \endlink diff --git a/Circular_kernel_2/doc/Circular_kernel_2/Concepts/CircularKernel--Equal_2.h b/Circular_kernel_2/doc/Circular_kernel_2/Concepts/CircularKernel--Equal_2.h index 35f5da60409..7c0494c296e 100644 --- a/Circular_kernel_2/doc/Circular_kernel_2/Concepts/CircularKernel--Equal_2.h +++ b/Circular_kernel_2/doc/Circular_kernel_2/Concepts/CircularKernel--Equal_2.h @@ -5,7 +5,7 @@ Testing equality between objects. -\cgalRefines `Kernel::Equal_2` +\cgalRefines{Kernel::Equal_2} \sa `CircularKernel::CompareX_2` \sa `CircularKernel::CompareY_2` diff --git a/Circular_kernel_2/doc/Circular_kernel_2/Concepts/CircularKernel--HasOnBoundedSide_2.h b/Circular_kernel_2/doc/Circular_kernel_2/Concepts/CircularKernel--HasOnBoundedSide_2.h index 691906fd50c..aaf61364475 100644 --- a/Circular_kernel_2/doc/Circular_kernel_2/Concepts/CircularKernel--HasOnBoundedSide_2.h +++ b/Circular_kernel_2/doc/Circular_kernel_2/Concepts/CircularKernel--HasOnBoundedSide_2.h @@ -3,7 +3,7 @@ \ingroup PkgCircularKernel2GeometricConcepts \cgalConcept -\cgalRefines `Kernel::HasOnBoundedSide_2` +\cgalRefines{Kernel::HasOnBoundedSide_2} \sa `CircularKernel::BoundedSide_2` \sa `CircularKernel::HasOnUnboundedSide_2` diff --git a/Circular_kernel_2/doc/Circular_kernel_2/Concepts/CircularKernel--HasOnUnboundedSide_2.h b/Circular_kernel_2/doc/Circular_kernel_2/Concepts/CircularKernel--HasOnUnboundedSide_2.h index 2988791ce15..367fc274a64 100644 --- a/Circular_kernel_2/doc/Circular_kernel_2/Concepts/CircularKernel--HasOnUnboundedSide_2.h +++ b/Circular_kernel_2/doc/Circular_kernel_2/Concepts/CircularKernel--HasOnUnboundedSide_2.h @@ -3,7 +3,7 @@ \ingroup PkgCircularKernel2GeometricConcepts \cgalConcept -\cgalRefines `Kernel::HasOnUnboundedSide_2` +\cgalRefines{Kernel::HasOnUnboundedSide_2} \sa `CircularKernel::BoundedSide_2` \sa `CircularKernel::HasOnBoundedSide_2` diff --git a/Circular_kernel_2/doc/Circular_kernel_2/Concepts/CircularKernel--HasOn_2.h b/Circular_kernel_2/doc/Circular_kernel_2/Concepts/CircularKernel--HasOn_2.h index 01bd12e7dd0..3b180f46c3e 100644 --- a/Circular_kernel_2/doc/Circular_kernel_2/Concepts/CircularKernel--HasOn_2.h +++ b/Circular_kernel_2/doc/Circular_kernel_2/Concepts/CircularKernel--HasOn_2.h @@ -5,7 +5,7 @@ To test whether a point lies on a curve. -\cgalRefines `Kernel::HasOn_2` +\cgalRefines{Kernel::HasOn_2} */ class CircularKernel::HasOn_2 { diff --git a/Circular_kernel_2/doc/Circular_kernel_2/Concepts/CircularKernel--Intersect_2.h b/Circular_kernel_2/doc/Circular_kernel_2/Concepts/CircularKernel--Intersect_2.h index 16bfb06b4df..1cdf8d0517f 100644 --- a/Circular_kernel_2/doc/Circular_kernel_2/Concepts/CircularKernel--Intersect_2.h +++ b/Circular_kernel_2/doc/Circular_kernel_2/Concepts/CircularKernel--Intersect_2.h @@ -3,7 +3,7 @@ \ingroup PkgCircularKernel2GeometricConcepts \cgalConcept -\cgalRefines `Kernel::Intersect_2` +\cgalRefines{Kernel::Intersect_2} \sa \link intersection_grp `CGAL::intersection()` \endlink diff --git a/Circular_kernel_2/doc/Circular_kernel_2/Concepts/CircularKernel--IsVertical_2.h b/Circular_kernel_2/doc/Circular_kernel_2/Concepts/CircularKernel--IsVertical_2.h index 732cad52b7e..999c3f53549 100644 --- a/Circular_kernel_2/doc/Circular_kernel_2/Concepts/CircularKernel--IsVertical_2.h +++ b/Circular_kernel_2/doc/Circular_kernel_2/Concepts/CircularKernel--IsVertical_2.h @@ -3,7 +3,7 @@ \ingroup PkgCircularKernel2GeometricConcepts \cgalConcept -\cgalRefines `Kernel::IsVertical_2` +\cgalRefines{Kernel::IsVertical_2} */ class CircularKernel::IsVertical_2 { diff --git a/Circular_kernel_2/doc/Circular_kernel_2/Concepts/CircularKernel--LineArc_2.h b/Circular_kernel_2/doc/Circular_kernel_2/Concepts/CircularKernel--LineArc_2.h index 1d4961a5f38..0400dd4bade 100644 --- a/Circular_kernel_2/doc/Circular_kernel_2/Concepts/CircularKernel--LineArc_2.h +++ b/Circular_kernel_2/doc/Circular_kernel_2/Concepts/CircularKernel--LineArc_2.h @@ -7,9 +7,7 @@ Concept for line segments supported by a line that is a model of `Kernel::Line_2` and whose endpoints are models of the `CircularKernel::CircularArcPoint_2` concept. -\cgalRefines CopyConstructible -\cgalRefines Assignable -\cgalRefines DefaultConstructible +\cgalRefines{CopyConstructible,Assignable,DefaultConstructible} \cgalHasModel `CGAL::Line_arc_2` diff --git a/Circular_kernel_2/doc/Circular_kernel_2/Concepts/CircularKernel.h b/Circular_kernel_2/doc/Circular_kernel_2/Concepts/CircularKernel.h index a4dd44be0fd..681d46d9679 100644 --- a/Circular_kernel_2/doc/Circular_kernel_2/Concepts/CircularKernel.h +++ b/Circular_kernel_2/doc/Circular_kernel_2/Concepts/CircularKernel.h @@ -3,7 +3,7 @@ \ingroup PkgCircularKernel2GeometricConcepts \cgalConcept -\cgalRefines `Kernel` +\cgalRefines{Kernel} \cgalHasModel `CGAL::Circular_kernel_2` \cgalHasModel `CGAL::Exact_circular_kernel_2` diff --git a/Circular_kernel_3/doc/Circular_kernel_3/Concepts/AlgebraicKernelForSpheres--PolynomialForSpheres_2_3.h b/Circular_kernel_3/doc/Circular_kernel_3/Concepts/AlgebraicKernelForSpheres--PolynomialForSpheres_2_3.h index fc6919d1206..54db59349fc 100644 --- a/Circular_kernel_3/doc/Circular_kernel_3/Concepts/AlgebraicKernelForSpheres--PolynomialForSpheres_2_3.h +++ b/Circular_kernel_3/doc/Circular_kernel_3/Concepts/AlgebraicKernelForSpheres--PolynomialForSpheres_2_3.h @@ -9,9 +9,7 @@ of spheres, whose center's coordinates, as well as the square of the radius, are of a type that is a model of the concept `FieldNumberType`. -\cgalRefines `CopyConstructible` -\cgalRefines `Assignable` -\cgalRefines `DefaultConstructible` +\cgalRefines{CopyConstructible,Assignable,DefaultConstructible} \cgalHasModel CGAL::Polynomial_for_spheres_2_3 diff --git a/Circular_kernel_3/doc/Circular_kernel_3/Concepts/AlgebraicKernelForSpheres--Polynomial_1_3.h b/Circular_kernel_3/doc/Circular_kernel_3/Concepts/AlgebraicKernelForSpheres--Polynomial_1_3.h index b2315881a94..023c13ebc20 100644 --- a/Circular_kernel_3/doc/Circular_kernel_3/Concepts/AlgebraicKernelForSpheres--Polynomial_1_3.h +++ b/Circular_kernel_3/doc/Circular_kernel_3/Concepts/AlgebraicKernelForSpheres--Polynomial_1_3.h @@ -7,9 +7,7 @@ Concept to represent trivariate polynomials of degree 1 whose coefficients are of a type that is a model of the concept `RingNumberType`. -\cgalRefines `CopyConstructible` -\cgalRefines `Assignable` -\cgalRefines `DefaultConstructible` +\cgalRefines{CopyConstructible,Assignable,DefaultConstructible} \cgalHasModel CGAL::Polynomial_1_3 diff --git a/Circular_kernel_3/doc/Circular_kernel_3/Concepts/AlgebraicKernelForSpheres--PolynomialsForCircles_3.h b/Circular_kernel_3/doc/Circular_kernel_3/Concepts/AlgebraicKernelForSpheres--PolynomialsForCircles_3.h index 56b00143606..2f1093ba78c 100644 --- a/Circular_kernel_3/doc/Circular_kernel_3/Concepts/AlgebraicKernelForSpheres--PolynomialsForCircles_3.h +++ b/Circular_kernel_3/doc/Circular_kernel_3/Concepts/AlgebraicKernelForSpheres--PolynomialsForCircles_3.h @@ -6,9 +6,7 @@ Concept to represent a system of polynomials on `FieldNumberType` capable of storing equations of circles. -\cgalRefines `CopyConstructible` -\cgalRefines `Assignable` -\cgalRefines `DefaultConstructible` +\cgalRefines{CopyConstructible,Assignable,DefaultConstructible} \sa `AlgebraicKernelForSpheres` diff --git a/Circular_kernel_3/doc/Circular_kernel_3/Concepts/AlgebraicKernelForSpheres--PolynomialsForLines_3.h b/Circular_kernel_3/doc/Circular_kernel_3/Concepts/AlgebraicKernelForSpheres--PolynomialsForLines_3.h index 2e96ac10ede..df2b2ee627b 100644 --- a/Circular_kernel_3/doc/Circular_kernel_3/Concepts/AlgebraicKernelForSpheres--PolynomialsForLines_3.h +++ b/Circular_kernel_3/doc/Circular_kernel_3/Concepts/AlgebraicKernelForSpheres--PolynomialsForLines_3.h @@ -6,9 +6,7 @@ Concept to represent a system of polynomials on `FieldNumberType` capable of storing equations of lines. -\cgalRefines `CopyConstructible` -\cgalRefines `Assignable` -\cgalRefines `DefaultConstructible` +\cgalRefines{CopyConstructible,Assignable,DefaultConstructible} \cgalHasModel CGAL::Polynomials_for_lines_3 diff --git a/Circular_kernel_3/doc/Circular_kernel_3/Concepts/SphericalKernel--BoundedSide_3.h b/Circular_kernel_3/doc/Circular_kernel_3/Concepts/SphericalKernel--BoundedSide_3.h index 18e1fee3248..41bf30f066e 100644 --- a/Circular_kernel_3/doc/Circular_kernel_3/Concepts/SphericalKernel--BoundedSide_3.h +++ b/Circular_kernel_3/doc/Circular_kernel_3/Concepts/SphericalKernel--BoundedSide_3.h @@ -5,7 +5,7 @@ \brief -\cgalRefines `Kernel::BoundedSide_3` +\cgalRefines{Kernel::BoundedSide_3} \sa `SphericalKernel::HasOnBoundedSide_3` \sa `SphericalKernel::HasOnUnboundedSide_3` diff --git a/Circular_kernel_3/doc/Circular_kernel_3/Concepts/SphericalKernel--CircularArcPoint_3.h b/Circular_kernel_3/doc/Circular_kernel_3/Concepts/SphericalKernel--CircularArcPoint_3.h index 65cf545a758..4a4494bc216 100644 --- a/Circular_kernel_3/doc/Circular_kernel_3/Concepts/SphericalKernel--CircularArcPoint_3.h +++ b/Circular_kernel_3/doc/Circular_kernel_3/Concepts/SphericalKernel--CircularArcPoint_3.h @@ -5,9 +5,7 @@ Concept for points on spheres, circles, circular arcs or line arcs. -\cgalRefines `CopyConstructible` -\cgalRefines `Assignable` -\cgalRefines `DefaultConstructible` +\cgalRefines{CopyConstructible,Assignable,DefaultConstructible} \cgalHasModel `CGAL::Circular_arc_point_3` diff --git a/Circular_kernel_3/doc/Circular_kernel_3/Concepts/SphericalKernel--CircularArc_3.h b/Circular_kernel_3/doc/Circular_kernel_3/Concepts/SphericalKernel--CircularArc_3.h index 07b5f8c9129..ffefeb6aefb 100644 --- a/Circular_kernel_3/doc/Circular_kernel_3/Concepts/SphericalKernel--CircularArc_3.h +++ b/Circular_kernel_3/doc/Circular_kernel_3/Concepts/SphericalKernel--CircularArc_3.h @@ -5,9 +5,7 @@ Concept for arcs of circles. -\cgalRefines `CopyConstructible` -\cgalRefines `Assignable` -\cgalRefines `DefaultConstructible` +\cgalRefines{CopyConstructible,Assignable,DefaultConstructible} \cgalHasModel `CGAL::Circular_arc_3` diff --git a/Circular_kernel_3/doc/Circular_kernel_3/Concepts/SphericalKernel--CompareXYZ_3.h b/Circular_kernel_3/doc/Circular_kernel_3/Concepts/SphericalKernel--CompareXYZ_3.h index 9c973dd7b1b..9dc55894376 100644 --- a/Circular_kernel_3/doc/Circular_kernel_3/Concepts/SphericalKernel--CompareXYZ_3.h +++ b/Circular_kernel_3/doc/Circular_kernel_3/Concepts/SphericalKernel--CompareXYZ_3.h @@ -3,7 +3,7 @@ \ingroup PkgCircularKernel3GeometricConcepts \cgalConcept -\cgalRefines `Kernel::CompareXYZ_3` +\cgalRefines{Kernel::CompareXYZ_3} \sa `SphericalKernel::CompareX_3` \sa `SphericalKernel::CompareY_3` diff --git a/Circular_kernel_3/doc/Circular_kernel_3/Concepts/SphericalKernel--CompareXY_3.h b/Circular_kernel_3/doc/Circular_kernel_3/Concepts/SphericalKernel--CompareXY_3.h index b1cdc0c5aba..80061879710 100644 --- a/Circular_kernel_3/doc/Circular_kernel_3/Concepts/SphericalKernel--CompareXY_3.h +++ b/Circular_kernel_3/doc/Circular_kernel_3/Concepts/SphericalKernel--CompareXY_3.h @@ -5,7 +5,7 @@ \brief -\cgalRefines `Kernel::CompareXY_3` +\cgalRefines{Kernel::CompareXY_3} \sa `SphericalKernel::CompareX_3` \sa `SphericalKernel::CompareY_3` diff --git a/Circular_kernel_3/doc/Circular_kernel_3/Concepts/SphericalKernel--CompareX_3.h b/Circular_kernel_3/doc/Circular_kernel_3/Concepts/SphericalKernel--CompareX_3.h index 94973b8988d..b9dac20ddd1 100644 --- a/Circular_kernel_3/doc/Circular_kernel_3/Concepts/SphericalKernel--CompareX_3.h +++ b/Circular_kernel_3/doc/Circular_kernel_3/Concepts/SphericalKernel--CompareX_3.h @@ -5,7 +5,7 @@ \brief -\cgalRefines `Kernel::CompareX_3` +\cgalRefines{Kernel::CompareX_3} \sa `SphericalKernel::CompareY_3` \sa `SphericalKernel::CompareZ_3` diff --git a/Circular_kernel_3/doc/Circular_kernel_3/Concepts/SphericalKernel--CompareY_3.h b/Circular_kernel_3/doc/Circular_kernel_3/Concepts/SphericalKernel--CompareY_3.h index f2ac72661ec..2599e4d2b17 100644 --- a/Circular_kernel_3/doc/Circular_kernel_3/Concepts/SphericalKernel--CompareY_3.h +++ b/Circular_kernel_3/doc/Circular_kernel_3/Concepts/SphericalKernel--CompareY_3.h @@ -5,7 +5,7 @@ \brief -\cgalRefines `Kernel::CompareY_3` +\cgalRefines{Kernel::CompareY_3} \sa `SphericalKernel::CompareX_3` \sa `SphericalKernel::CompareZ_3` diff --git a/Circular_kernel_3/doc/Circular_kernel_3/Concepts/SphericalKernel--CompareZ_3.h b/Circular_kernel_3/doc/Circular_kernel_3/Concepts/SphericalKernel--CompareZ_3.h index 4dd2a9b1d01..bbc40c24da1 100644 --- a/Circular_kernel_3/doc/Circular_kernel_3/Concepts/SphericalKernel--CompareZ_3.h +++ b/Circular_kernel_3/doc/Circular_kernel_3/Concepts/SphericalKernel--CompareZ_3.h @@ -3,7 +3,7 @@ \ingroup PkgCircularKernel3GeometricConcepts \cgalConcept -\cgalRefines `Kernel::CompareZ_3` +\cgalRefines{Kernel::CompareZ_3} \sa `SphericalKernel::CompareX_3` \sa `SphericalKernel::CompareY_3` diff --git a/Circular_kernel_3/doc/Circular_kernel_3/Concepts/SphericalKernel--ComputeApproximateSquaredLength_3.h b/Circular_kernel_3/doc/Circular_kernel_3/Concepts/SphericalKernel--ComputeApproximateSquaredLength_3.h index d5ea290aad2..d37d38691c9 100644 --- a/Circular_kernel_3/doc/Circular_kernel_3/Concepts/SphericalKernel--ComputeApproximateSquaredLength_3.h +++ b/Circular_kernel_3/doc/Circular_kernel_3/Concepts/SphericalKernel--ComputeApproximateSquaredLength_3.h @@ -3,7 +3,7 @@ \ingroup PkgCircularKernel3GeometricConcepts \cgalConcept -\cgalRefines `Kernel::ComputeApproximateSquaredLength_3` +\cgalRefines{Kernel::ComputeApproximateSquaredLength_3} */ diff --git a/Circular_kernel_3/doc/Circular_kernel_3/Concepts/SphericalKernel--ConstructBbox_3.h b/Circular_kernel_3/doc/Circular_kernel_3/Concepts/SphericalKernel--ConstructBbox_3.h index 63ad9be4645..a26135c41f9 100644 --- a/Circular_kernel_3/doc/Circular_kernel_3/Concepts/SphericalKernel--ConstructBbox_3.h +++ b/Circular_kernel_3/doc/Circular_kernel_3/Concepts/SphericalKernel--ConstructBbox_3.h @@ -3,7 +3,7 @@ \ingroup PkgCircularKernel3GeometricConcepts \cgalConcept -\cgalRefines Kernel::ConstructBbox_3 +\cgalRefines{Kernel::ConstructBbox_3} */ diff --git a/Circular_kernel_3/doc/Circular_kernel_3/Concepts/SphericalKernel--ConstructLine_3.h b/Circular_kernel_3/doc/Circular_kernel_3/Concepts/SphericalKernel--ConstructLine_3.h index 303cdb0df13..634d35c61fd 100644 --- a/Circular_kernel_3/doc/Circular_kernel_3/Concepts/SphericalKernel--ConstructLine_3.h +++ b/Circular_kernel_3/doc/Circular_kernel_3/Concepts/SphericalKernel--ConstructLine_3.h @@ -5,7 +5,7 @@ \brief -\cgalRefines `Kernel::ConstructLine_3` +\cgalRefines{Kernel::ConstructLine_3} \sa `SphericalKernel::GetEquation` diff --git a/Circular_kernel_3/doc/Circular_kernel_3/Concepts/SphericalKernel--ConstructPlane_3.h b/Circular_kernel_3/doc/Circular_kernel_3/Concepts/SphericalKernel--ConstructPlane_3.h index 64cce14141e..82e33677614 100644 --- a/Circular_kernel_3/doc/Circular_kernel_3/Concepts/SphericalKernel--ConstructPlane_3.h +++ b/Circular_kernel_3/doc/Circular_kernel_3/Concepts/SphericalKernel--ConstructPlane_3.h @@ -5,7 +5,7 @@ \brief -\cgalRefines `Kernel::ConstructPlane_3` +\cgalRefines{Kernel::ConstructPlane_3} \sa `SphericalKernel::GetEquation` diff --git a/Circular_kernel_3/doc/Circular_kernel_3/Concepts/SphericalKernel--ConstructSphere_3.h b/Circular_kernel_3/doc/Circular_kernel_3/Concepts/SphericalKernel--ConstructSphere_3.h index 4bd4855859b..dea4257ec62 100644 --- a/Circular_kernel_3/doc/Circular_kernel_3/Concepts/SphericalKernel--ConstructSphere_3.h +++ b/Circular_kernel_3/doc/Circular_kernel_3/Concepts/SphericalKernel--ConstructSphere_3.h @@ -5,7 +5,7 @@ \brief -\cgalRefines `Kernel::ConstructSphere_3` +\cgalRefines{Kernel::ConstructSphere_3} \sa `SphericalKernel::GetEquation` diff --git a/Circular_kernel_3/doc/Circular_kernel_3/Concepts/SphericalKernel--DoIntersect_3.h b/Circular_kernel_3/doc/Circular_kernel_3/Concepts/SphericalKernel--DoIntersect_3.h index ec3c844a002..7f83899646e 100644 --- a/Circular_kernel_3/doc/Circular_kernel_3/Concepts/SphericalKernel--DoIntersect_3.h +++ b/Circular_kernel_3/doc/Circular_kernel_3/Concepts/SphericalKernel--DoIntersect_3.h @@ -5,7 +5,7 @@ \brief Testing whether two curves or surfaces intersect. -\cgalRefines `Kernel::DoIntersect_3` +\cgalRefines{Kernel::DoIntersect_3} \sa \link do_intersect_grp `CGAL::do_intersect()` \endlink diff --git a/Circular_kernel_3/doc/Circular_kernel_3/Concepts/SphericalKernel--Equal_3.h b/Circular_kernel_3/doc/Circular_kernel_3/Concepts/SphericalKernel--Equal_3.h index 4ef95a25365..2cb9c231076 100644 --- a/Circular_kernel_3/doc/Circular_kernel_3/Concepts/SphericalKernel--Equal_3.h +++ b/Circular_kernel_3/doc/Circular_kernel_3/Concepts/SphericalKernel--Equal_3.h @@ -5,7 +5,7 @@ Testing equality between objects. -\cgalRefines `Kernel::Equal_3` +\cgalRefines{Kernel::Equal_3} \sa `SphericalKernel::CompareX_3` \sa `SphericalKernel::CompareY_3` diff --git a/Circular_kernel_3/doc/Circular_kernel_3/Concepts/SphericalKernel--HasOnBoundedSide_3.h b/Circular_kernel_3/doc/Circular_kernel_3/Concepts/SphericalKernel--HasOnBoundedSide_3.h index 4f3e7b42c76..37f8129c34e 100644 --- a/Circular_kernel_3/doc/Circular_kernel_3/Concepts/SphericalKernel--HasOnBoundedSide_3.h +++ b/Circular_kernel_3/doc/Circular_kernel_3/Concepts/SphericalKernel--HasOnBoundedSide_3.h @@ -5,7 +5,7 @@ \brief -\cgalRefines `Kernel::HasOnBoundedSide_3` +\cgalRefines{Kernel::HasOnBoundedSide_3} \sa `SphericalKernel::BoundedSide_3` \sa `SphericalKernel::HasOnUnboundedSide_3` diff --git a/Circular_kernel_3/doc/Circular_kernel_3/Concepts/SphericalKernel--HasOnUnboundedSide_3.h b/Circular_kernel_3/doc/Circular_kernel_3/Concepts/SphericalKernel--HasOnUnboundedSide_3.h index 05998c56903..15aec31b4f9 100644 --- a/Circular_kernel_3/doc/Circular_kernel_3/Concepts/SphericalKernel--HasOnUnboundedSide_3.h +++ b/Circular_kernel_3/doc/Circular_kernel_3/Concepts/SphericalKernel--HasOnUnboundedSide_3.h @@ -5,7 +5,7 @@ \brief -\cgalRefines `Kernel::HasOnUnboundedSide_3` +\cgalRefines{Kernel::HasOnUnboundedSide_3} \sa `SphericalKernel::BoundedSide_3` \sa `SphericalKernel::HasOnBoundedSide_3` diff --git a/Circular_kernel_3/doc/Circular_kernel_3/Concepts/SphericalKernel--HasOn_3.h b/Circular_kernel_3/doc/Circular_kernel_3/Concepts/SphericalKernel--HasOn_3.h index 7ecb6f3f3a7..984798fc609 100644 --- a/Circular_kernel_3/doc/Circular_kernel_3/Concepts/SphericalKernel--HasOn_3.h +++ b/Circular_kernel_3/doc/Circular_kernel_3/Concepts/SphericalKernel--HasOn_3.h @@ -3,7 +3,7 @@ \ingroup PkgCircularKernel3GeometricConcepts \cgalConcept -\cgalRefines `Kernel::HasOn_3` +\cgalRefines{Kernel::HasOn_3} */ class SphericalKernel::HasOn_3 { public: diff --git a/Circular_kernel_3/doc/Circular_kernel_3/Concepts/SphericalKernel--Intersect_3.h b/Circular_kernel_3/doc/Circular_kernel_3/Concepts/SphericalKernel--Intersect_3.h index ccd903ef013..b3b1a55a10a 100644 --- a/Circular_kernel_3/doc/Circular_kernel_3/Concepts/SphericalKernel--Intersect_3.h +++ b/Circular_kernel_3/doc/Circular_kernel_3/Concepts/SphericalKernel--Intersect_3.h @@ -3,7 +3,7 @@ \ingroup PkgCircularKernel3GeometricConcepts \cgalConcept -\cgalRefines `Kernel::Intersect_3` +\cgalRefines{Kernel::Intersect_3} \sa \link intersection_grp `CGAL::intersection()` \endlink */ diff --git a/Circular_kernel_3/doc/Circular_kernel_3/Concepts/SphericalKernel--LineArc_3.h b/Circular_kernel_3/doc/Circular_kernel_3/Concepts/SphericalKernel--LineArc_3.h index a62f183035b..5ea1f9aed8e 100644 --- a/Circular_kernel_3/doc/Circular_kernel_3/Concepts/SphericalKernel--LineArc_3.h +++ b/Circular_kernel_3/doc/Circular_kernel_3/Concepts/SphericalKernel--LineArc_3.h @@ -7,9 +7,7 @@ Concept for line segments supported by a line that is a model of `Kernel::Line_3`, and whose endpoints are models of the `SphericalKernel::CircularArcPoint_3` concept. -\cgalRefines `CopyConstructible` -\cgalRefines `Assignable` -\cgalRefines `DefaultConstructible` +\cgalRefines{CopyConstructible,Assignable,DefaultConstructible} \cgalHasModel `CGAL::Line_arc_3` diff --git a/Circular_kernel_3/doc/Circular_kernel_3/Concepts/SphericalKernel.h b/Circular_kernel_3/doc/Circular_kernel_3/Concepts/SphericalKernel.h index 66498784fd2..950115d7c73 100644 --- a/Circular_kernel_3/doc/Circular_kernel_3/Concepts/SphericalKernel.h +++ b/Circular_kernel_3/doc/Circular_kernel_3/Concepts/SphericalKernel.h @@ -3,7 +3,7 @@ \ingroup PkgCircularKernel3GeometricConcepts \cgalConcept -\cgalRefines `Kernel` +\cgalRefines{Kernel} \cgalHasModel `CGAL::Spherical_kernel_3` \cgalHasModel CGAL::Exact_spherical_kernel_3 diff --git a/Circulator/doc/Circulator/Concepts/ConstHandle.h b/Circulator/doc/Circulator/Concepts/ConstHandle.h index ec0a668ee40..3552dc5cb29 100644 --- a/Circulator/doc/Circulator/Concepts/ConstHandle.h +++ b/Circulator/doc/Circulator/Concepts/ConstHandle.h @@ -5,7 +5,7 @@ A constant handle. Refer to the `Handle` concept for more details. -\cgalRefines Descriptor +\cgalRefines{Descriptor} \cgalHasModel const T* (const pointers) diff --git a/Circulator/doc/Circulator/Concepts/ConstRange.h b/Circulator/doc/Circulator/Concepts/ConstRange.h index 8e3360e2acb..b690c3d97d3 100644 --- a/Circulator/doc/Circulator/Concepts/ConstRange.h +++ b/Circulator/doc/Circulator/Concepts/ConstRange.h @@ -5,7 +5,7 @@ A constant iterator range. Refer to the `Range` concept for more details. -\cgalRefines Boost's Range concept +\cgalRefinesBare{Boost's %Range concept} \cgalHasModel STL containers \cgalHasModel `boost::iterator_range` diff --git a/Circulator/doc/Circulator/Concepts/Handle.h b/Circulator/doc/Circulator/Concepts/Handle.h index 131b18b881e..748ab737efb 100644 --- a/Circulator/doc/Circulator/Concepts/Handle.h +++ b/Circulator/doc/Circulator/Concepts/Handle.h @@ -16,7 +16,7 @@ Like iterators, the handle can be passed as template argument to the type of the element pointed to. The `iterator_category` is `void`. -\cgalRefines Descriptor +\cgalRefines{Descriptor} The default constructed object must be unique as far as the equality operator is concerned (this serves the same purpose as NULL for pointers). diff --git a/Circulator/doc/Circulator/Concepts/Range.h b/Circulator/doc/Circulator/Concepts/Range.h index 40f8dda0c5c..2da31fa5940 100644 --- a/Circulator/doc/Circulator/Concepts/Range.h +++ b/Circulator/doc/Circulator/Concepts/Range.h @@ -29,8 +29,7 @@ Finally, let us note that ranges, in general (especially in template context) need to be passed and returned by (const) reference for efficiency. This is a difference with iterators which are typically passed by value. -\cgalRefines `ConstRange` -\cgalRefines Boost's Range concept +\cgalRefinesBare{ConstRange,Boost's %Range concept} \cgalHasModel STL containers diff --git a/Classification/package_info/Classification/copyright b/Classification/package_info/Classification/copyright index e69de29bb2d..b9a65603a2e 100644 --- a/Classification/package_info/Classification/copyright +++ b/Classification/package_info/Classification/copyright @@ -0,0 +1 @@ +GeometryFactory (France) diff --git a/Combinatorial_map/doc/Combinatorial_map/Combinatorial_map.txt b/Combinatorial_map/doc/Combinatorial_map/Combinatorial_map.txt index dc0736fc74b..2e36037ea23 100644 --- a/Combinatorial_map/doc/Combinatorial_map/Combinatorial_map.txt +++ b/Combinatorial_map/doc/Combinatorial_map/Combinatorial_map.txt @@ -280,7 +280,7 @@ There are also two different classes of ranges containing one dart per i- The iterators of the \link GenericMap::Dart_range `Dart_range`\endlink are bidirectional iterators, while the iterators of the other four ranges are forward iterators. The value type of all these iterators is `Dart` thus all these iterators can be directly used as \link GenericMap::Dart_descriptor `Dart_descriptor`\endlink. -Additionally, there is a range over non void i-attributes: \link GenericMap::Attribute_range `Attribute_range::type`\endlink, having a bidirectional iterator with value type \link GenericMap::Attribute_type Attribute_type::type`\endlink. +Additionally, there is a range over non void i-attributes: \link GenericMap::Attribute_range `Attribute_range::type`\endlink, having a bidirectional iterator with value type \link GenericMap::Attribute_type `Attribute_type::type`\endlink. For each range, there is an associated const range, a model of the `ConstRange` concept. You can find some examples of ranges in Section \ref ssecexample3DCM "A 3D Combinatorial Map". diff --git a/Combinatorial_map/doc/Combinatorial_map/Concepts/CombinatorialMap.h b/Combinatorial_map/doc/Combinatorial_map/Concepts/CombinatorialMap.h index 007d8b424c5..03f492d1b08 100644 --- a/Combinatorial_map/doc/Combinatorial_map/Concepts/CombinatorialMap.h +++ b/Combinatorial_map/doc/Combinatorial_map/Concepts/CombinatorialMap.h @@ -4,7 +4,7 @@ The concept `CombinatorialMap` defines a d-dimensional combinatorial map. -\cgalRefines `GenericMap` +\cgalRefines{GenericMap} \cgalHasModel \link CGAL::Combinatorial_map `CGAL::Combinatorial_map`\endlink diff --git a/Combinatorial_map/doc/Combinatorial_map/Concepts/GenericMap.h b/Combinatorial_map/doc/Combinatorial_map/Concepts/GenericMap.h index 530aa1a2b80..ae828e3cdf0 100644 --- a/Combinatorial_map/doc/Combinatorial_map/Concepts/GenericMap.h +++ b/Combinatorial_map/doc/Combinatorial_map/Concepts/GenericMap.h @@ -4,7 +4,7 @@ The concept `GenericMap` defines a d-dimensional generic map. This concept is defined only to factorize the common notions between \link CombinatorialMap `CombinatorialMap`\endlink and \link GeneralizedMap `GeneralizedMap`\endlink concepts. -\cgalRefines DefaultConstructible +\cgalRefines{DefaultConstructible} A generic map has a set of darts D, and functions \f$ f_0\f$,\f$ \ldots\f$,\f$ f_{d}\f$ that link these darts between them. diff --git a/Combinatorial_map/include/CGAL/Combinatorial_map/internal/Combinatorial_map_group_functors.h b/Combinatorial_map/include/CGAL/Combinatorial_map/internal/Combinatorial_map_group_functors.h index 1db4ec2cbda..06f3c4f4dc3 100644 --- a/Combinatorial_map/include/CGAL/Combinatorial_map/internal/Combinatorial_map_group_functors.h +++ b/Combinatorial_map/include/CGAL/Combinatorial_map/internal/Combinatorial_map_group_functors.h @@ -566,6 +566,15 @@ void test_split_attribute_functor_one_dart Attribute_descriptor_i a1 = amap.template attribute(adart); if ( found_attributes.is_defined(a1) ) { // Here the attribute was already present in the hash_map + + // We need to call reserve for the cc with index case. Indeed, if the vector + // is reallocated, the reference returned by get_attribute(a1) will be + // invalidated, and the copy will be wrong. Note that there is no overhead + // since the creation of the attribute need one allocation. + amap.template attributes().reserve(amap.template attributes().size()+1); + + // Now we are sure that the creation of a new attribute will not imply + // a realloc. Attribute_descriptor_i a2 = amap.template create_attribute(amap.template get_attribute(a1)); diff --git a/Combinatorial_map/include/CGAL/Combinatorial_map_storages_with_index.h b/Combinatorial_map/include/CGAL/Combinatorial_map_storages_with_index.h index aad7d643787..584442412c5 100644 --- a/Combinatorial_map/include/CGAL/Combinatorial_map_storages_with_index.h +++ b/Combinatorial_map/include/CGAL/Combinatorial_map_storages_with_index.h @@ -146,6 +146,8 @@ namespace CGAL { { return cit; } bool is_used(size_type i) const { return mmap.mdarts.is_used(i); } + bool owns(size_type i) const + { return mmap.mdarts.owns(i); } private: Self & mmap; }; @@ -286,6 +288,13 @@ namespace CGAL { { CGAL_static_assertion_msg(Helper::template Dimension_index::value>=0, "copy_attribute called but i-attributes are disabled."); + // We need to do a reserve before the emplace in order to avoid a bug of + // invalid reference when the container is reallocated. + std::get::value> + (mattribute_containers).reserve + (std::get::value> + (mattribute_containers).size()+1); + typename Attribute_descriptor::type res= std::get::value> (mattribute_containers).emplace(get_attribute(ah)); diff --git a/Combinatorial_map/include/CGAL/Compact_container_with_index.h b/Combinatorial_map/include/CGAL/Compact_container_with_index.h index a87122500fc..044db27dc87 100644 --- a/Combinatorial_map/include/CGAL/Compact_container_with_index.h +++ b/Combinatorial_map/include/CGAL/Compact_container_with_index.h @@ -752,6 +752,9 @@ public: return false; } + bool owns(size_type i) const + { return i=n) return; - capacity_=n; increase_size(); } diff --git a/Combinatorial_map/package_info/Combinatorial_map/copyright b/Combinatorial_map/package_info/Combinatorial_map/copyright new file mode 100644 index 00000000000..3c616b4b377 --- /dev/null +++ b/Combinatorial_map/package_info/Combinatorial_map/copyright @@ -0,0 +1 @@ +CNRS and LIRIS' Establishments (France) diff --git a/Combinatorial_map/test/Combinatorial_map/CMakeLists.txt b/Combinatorial_map/test/Combinatorial_map/CMakeLists.txt index f38888d60e5..6357af2198d 100644 --- a/Combinatorial_map/test/Combinatorial_map/CMakeLists.txt +++ b/Combinatorial_map/test/Combinatorial_map/CMakeLists.txt @@ -24,6 +24,8 @@ target_compile_definitions(Combinatorial_map_copy_test_index PUBLIC USE_COMPACT_ target_link_libraries(Combinatorial_map_copy_test_index PUBLIC CGAL CGAL::Data) cgal_add_compilation_test(Combinatorial_map_copy_test_index) +create_single_source_cgal_program(cmap_test_split_attribute.cpp) + # Link with OpenMesh if possible find_package(OpenMesh QUIET) if(TARGET OpenMesh::OpenMesh) diff --git a/Combinatorial_map/test/Combinatorial_map/cmap_test_split_attribute.cpp b/Combinatorial_map/test/Combinatorial_map/cmap_test_split_attribute.cpp new file mode 100644 index 00000000000..49e8795eef7 --- /dev/null +++ b/Combinatorial_map/test/Combinatorial_map/cmap_test_split_attribute.cpp @@ -0,0 +1,92 @@ +#include +#include +#include +#include +#include +#include + +struct MyInfo +{ + MyInfo() :data(1) + {} + + MyInfo(int i) :data(i) + {} + + int data; +}; + +struct Myitem1 +{ + using Use_index=CGAL::Tag_true; // use indices + using Index_type=std::uint16_t; // 16 bits + template + struct Dart_wrapper + { + typedef CGAL::Cell_attribute attrib; + typedef std::tuple Attributes; + }; +}; + +struct Myitem2 +{ + template + struct Dart_wrapper + { + typedef CGAL::Cell_attribute attrib; + typedef std::tuple Attributes; + }; +}; + +using CMap1=CGAL::Combinatorial_map<3,Myitem1>; +using CMap2=CGAL::Combinatorial_map<3,Myitem2>; + +#define NB 1000 +template +bool test(const std::string& s) +{ + bool res=true; + CMap m; + // 1) create a face and one attribute. + typename CMap::Dart_descriptor dd=m.make_combinatorial_polygon(4); + m.template set_attribute<2>(dd, m.template create_attribute<2>(2)); + // 2) Split this face NB times => will create new 2-attributes for new faces + for(std::size_t i=0; i(newd)==CMap::null_descriptor) + { + std::cout<<"ERROR1: "<(newd)==CMap::null_descriptor"<(newd).data!=2) + { + std::cout<<"ERROR2: "<(newd).data<(newd); + if(m.template attribute<2>(newd)==CMap::null_descriptor) + { + std::cout<<"ERROR3: "<(newd)==CMap::null_descriptor"<(newd).data!=2) + { + std::cout<<"ERROR4: "<(newd).data<("CMap1") || !test("CMap2")) + { return EXIT_FAILURE; } + + return EXIT_SUCCESS; +} diff --git a/Documentation/doc/Documentation/General.txt b/Documentation/doc/Documentation/General.txt index f1de55dcdc2..1307be68ce8 100644 --- a/Documentation/doc/Documentation/General.txt +++ b/Documentation/doc/Documentation/General.txt @@ -39,7 +39,7 @@ class AdaptableFunctor {}; /// \cgalConcept /// Adaptable functor with one argument -/// \cgalRefines AdaptableFunctor +/// \cgalRefines{AdaptableFunctor} class AdaptableUnaryFunction { public: @@ -53,7 +53,7 @@ public: /// \cgalConcept /// Adaptable functor with two arguments -/// \cgalRefines AdaptableFunctor +/// \cgalRefines{AdaptableFunctor} class AdaptableBinaryFunction { public: @@ -69,7 +69,7 @@ public: /// \cgalConcept /// Adaptable functor with three arguments -/// \cgalRefines AdaptableFunctor +/// \cgalRefines{AdaptableFunctor} class AdaptableTernaryFunction { public: @@ -85,6 +85,48 @@ public: result_type operator()(first_argument_type, second_argument_type, third_argument_type); }; +/// \cgalConcept +/// Adaptable functor with four arguments +/// \cgalRefines{AdaptableFunctor} +class AdaptableQuaternaryFunction +{ +public: + /// result_type + typedef unspecified_type result_type; + /// first argument_type + typedef unspecified_type first_argument_type; + /// second argument_type + typedef unspecified_type second_argument_type; + /// third argument_type + typedef unspecified_type third_argument_type; + /// fourth argument_type + typedef unspecified_type fourth_argument_type; + /// operator type + result_type operator()(first_argument_type, second_argument_type, third_argument_type, fourth_argument_type); +}; + +/// \cgalConcept +/// Adaptable functor with five arguments +/// \cgalRefines{AdaptableFunctor} +class AdaptableQuinaryFunction +{ +public: + /// result_type + typedef unspecified_type result_type; + /// first argument_type + typedef unspecified_type first_argument_type; + /// second argument_type + typedef unspecified_type second_argument_type; + /// third argument_type + typedef unspecified_type third_argument_type; + /// fourth argument_type + typedef unspecified_type fourth_argument_type; + /// fifth argument_type + typedef unspecified_type fifth_argument_type; + /// operator type + result_type operator()(first_argument_type, second_argument_type, third_argument_type, fourth_argument_type, fifth_argument_type); +}; + /// \cgalConcept /// Concept from the \cpp standard. /// See https://en.cppreference.com/w/cpp/named_req/Iterator diff --git a/Documentation/doc/Documentation/Preliminaries.txt b/Documentation/doc/Documentation/Preliminaries.txt index a2ed83f6740..1fccdc134f9 100644 --- a/Documentation/doc/Documentation/Preliminaries.txt +++ b/Documentation/doc/Documentation/Preliminaries.txt @@ -36,7 +36,7 @@ defined, unless `BOOST_HAS_THREADS` or `_OPENMP` is defined. It is possible to force its definition in the compiler options, and it is possible to prevent its default definition by defining the macro `CGAL_HAS_NO_THREADS`. If you are using CMake, then you can set the CMake option `CGAL_HAS_NO_THREADS` to -`TRUE`. In addition to defining the preprocessor macro CGAL_HAS_NO_THREADS`, it will +`TRUE`. In addition to defining the preprocessor macro `CGAL_HAS_NO_THREADS`, it will also avoid CMake to link with the native threads support library on your system. \section Preliminaries_cc0x C++14 Support diff --git a/Documentation/doc/Documentation/Usage.txt b/Documentation/doc/Documentation/Usage.txt index 9b69dcfea7f..1c02423cf49 100644 --- a/Documentation/doc/Documentation/Usage.txt +++ b/Documentation/doc/Documentation/Usage.txt @@ -175,7 +175,7 @@ After that, you will have to specify the Qt5_DIR by hand to cmake, using somethi -DQt5_DIR=/usr/local/opt/qt5/lib/cmake/Qt5 -where '/usr/local/` is actually your current brew installation directory. Check this directory +where `/usr/local/` is actually your current brew installation directory. Check this directory to be sure where the Qt5 is placed on your machine. \subsection usage_configuring_cmake_gui Specifying Missing Dependencies diff --git a/Documentation/doc/resources/1.8.13/BaseDoxyfile.in b/Documentation/doc/resources/1.8.13/BaseDoxyfile.in index 3d749fa16b6..69351ed254e 100644 --- a/Documentation/doc/resources/1.8.13/BaseDoxyfile.in +++ b/Documentation/doc/resources/1.8.13/BaseDoxyfile.in @@ -298,7 +298,14 @@ ALIASES = "cgal=%CGAL" \ "cgalFigureCaptionEnd=\htmlonly
\endhtmlonly" \ "cgalConcept=\details
\n \brief" \ "cgalConceptNamespace=\details
\n \brief" \ - "cgalRefines=\xrefitem refines \"Refines\" \"Refinement Relationships\"" \ + "cgalRefines=Refines" \ + "cgalRefines{1}=
@cgalRefines
@c \1
" \ + "cgalRefines{2}=
@cgalRefines
@c \1
@c \2
" \ + "cgalRefines{3}=
@cgalRefines
@c \1
@c \2
@c \3
" \ + "cgalRefines{4}=
@cgalRefines
@c \1
@c \2
@c \3
@c \4
" \ + "cgalRefines{5}=
@cgalRefines
@c \1
@c \2
@c \3
@c \4
@c \5
" \ + "cgalRefinesBare{1}=
@cgalRefines
\1
" \ + "cgalRefinesBare{2}=
@cgalRefines
@c \1
\2
" \ "cgalModels=\xrefitem models \"Is Model Of\" \"Is Model Relationships\"" \ "cgalGeneralizes=\xrefitem generalizes \"Generalizes\" \"Generalization Relationships\"" \ "cgalHasModel=\xrefitem hasModels \"Has Models\" \"Has Model Relationships\"" \ diff --git a/Documentation/doc/resources/1.8.13/menu_version.js b/Documentation/doc/resources/1.8.13/menu_version.js index 6700393fefd..a66903b10fe 100644 --- a/Documentation/doc/resources/1.8.13/menu_version.js +++ b/Documentation/doc/resources/1.8.13/menu_version.js @@ -6,6 +6,7 @@ var current_version_local = 'master' var all_versions = [ 'master', + '5.6-beta1', 'latest', '5.5.2', '5.4.4', diff --git a/Documentation/doc/resources/1.8.14/menu_version.js b/Documentation/doc/resources/1.8.14/menu_version.js index 6700393fefd..a66903b10fe 100644 --- a/Documentation/doc/resources/1.8.14/menu_version.js +++ b/Documentation/doc/resources/1.8.14/menu_version.js @@ -6,6 +6,7 @@ var current_version_local = 'master' var all_versions = [ 'master', + '5.6-beta1', 'latest', '5.5.2', '5.4.4', diff --git a/Documentation/doc/resources/1.8.20/menu_version.js b/Documentation/doc/resources/1.8.20/menu_version.js index 6700393fefd..a66903b10fe 100644 --- a/Documentation/doc/resources/1.8.20/menu_version.js +++ b/Documentation/doc/resources/1.8.20/menu_version.js @@ -6,6 +6,7 @@ var current_version_local = 'master' var all_versions = [ 'master', + '5.6-beta1', 'latest', '5.5.2', '5.4.4', diff --git a/Documentation/doc/resources/1.8.4/BaseDoxyfile.in b/Documentation/doc/resources/1.8.4/BaseDoxyfile.in index 10f3050a8f3..70267fd649d 100644 --- a/Documentation/doc/resources/1.8.4/BaseDoxyfile.in +++ b/Documentation/doc/resources/1.8.4/BaseDoxyfile.in @@ -280,8 +280,14 @@ ALIASES += "cgalFigureCaptionEnd=\htmlonly \endhtmlonly
" # thus removes its include statement ALIASES += "cgalConcept=\details
\n \brief" ALIASES += "cgalConceptNamespace=\details
\n \brief" - -ALIASES += "cgalRefines=\xrefitem refines \"Refines\" \"Refinement Relationships\"" +ALIASES += "cgalRefines=Refines" +ALIASES += "cgalRefines{1}=
@cgalRefines
@c \1
" +ALIASES += "cgalRefines{2}=
@cgalRefines
@c \1
@c \2
" +ALIASES += "cgalRefines{3}=
@cgalRefines
@c \1
@c \2
@c \3
" +ALIASES += "cgalRefines{4}=
@cgalRefines
@c \1
@c \2
@c \3
@c \4
" +ALIASES += "cgalRefines{5}=
@cgalRefines
@c \1
@c \2
@c \3
@c \4
@c \5
" +ALIASES += "cgalRefinesBare{1}=
@cgalRefines
\1
" +ALIASES += "cgalRefinesBare{2}=
@cgalRefines
@c \1
\2
" ALIASES += "cgalRequires=\xrefitem requires \"Requires\" \"Type Requirements\"" ALIASES += "cgalModels=\xrefitem models \"Is Model Of\" \"Is Model Relationships\"" ALIASES += "cgalGeneralizes=\xrefitem generalizes \"Generalizes\" \"Generalization Relationships\"" diff --git a/Documentation/doc/resources/1.8.4/menu_version.js b/Documentation/doc/resources/1.8.4/menu_version.js index 6700393fefd..a66903b10fe 100644 --- a/Documentation/doc/resources/1.8.4/menu_version.js +++ b/Documentation/doc/resources/1.8.4/menu_version.js @@ -6,6 +6,7 @@ var current_version_local = 'master' var all_versions = [ 'master', + '5.6-beta1', 'latest', '5.5.2', '5.4.4', diff --git a/Documentation/doc/resources/1.9.3/BaseDoxyfile.in b/Documentation/doc/resources/1.9.3/BaseDoxyfile.in index a2cf7003fb4..3fcdb56be68 100644 --- a/Documentation/doc/resources/1.9.3/BaseDoxyfile.in +++ b/Documentation/doc/resources/1.9.3/BaseDoxyfile.in @@ -321,7 +321,14 @@ ALIASES = "cgal=%CGAL" \ "cgalFigureCaptionEnd=\htmlonly[block] \endhtmlonly
" \ "cgalConcept=\details
^^ \brief" \ "cgalConceptNamespace=\details
^^ \brief" \ - "cgalRefines=\xrefitem refines \"Refines\" \"Refinement Relationships\"" \ + "cgalRefines=Refines" \ + "cgalRefines{1}=
@cgalRefines
@c \1
" \ + "cgalRefines{2}=
@cgalRefines
@c \1
@c \2
" \ + "cgalRefines{3}=
@cgalRefines
@c \1
@c \2
@c \3
" \ + "cgalRefines{4}=
@cgalRefines
@c \1
@c \2
@c \3
@c \4
" \ + "cgalRefines{5}=
@cgalRefines
@c \1
@c \2
@c \3
@c \4
@c \5
" \ + "cgalRefinesBare{1}=
@cgalRefines
\1
" \ + "cgalRefinesBare{2}=
@cgalRefines
@c \1
\2
" \ "cgalModels=\xrefitem models \"Is Model Of\" \"Is Model Relationships\"" \ "cgalGeneralizes=\xrefitem generalizes \"Generalizes\" \"Generalization Relationships\"" \ "cgalHasModel=\xrefitem hasModels \"Has Models\" \"Has Model Relationships\"" \ diff --git a/Documentation/doc/resources/1.9.3/menu_version.js b/Documentation/doc/resources/1.9.3/menu_version.js index 6700393fefd..a66903b10fe 100644 --- a/Documentation/doc/resources/1.9.3/menu_version.js +++ b/Documentation/doc/resources/1.9.3/menu_version.js @@ -6,6 +6,7 @@ var current_version_local = 'master' var all_versions = [ 'master', + '5.6-beta1', 'latest', '5.5.2', '5.4.4', diff --git a/Envelope_3/doc/Envelope_3/Concepts/EnvelopeTraits_3.h b/Envelope_3/doc/Envelope_3/Concepts/EnvelopeTraits_3.h index c53b330bca7..47b1f729035 100644 --- a/Envelope_3/doc/Envelope_3/Concepts/EnvelopeTraits_3.h +++ b/Envelope_3/doc/Envelope_3/Concepts/EnvelopeTraits_3.h @@ -14,7 +14,7 @@ respectively, and some constructions and predicates on these types. Note however, that these operations usually involve the projection of 3D objects onto the \f$ xy\f$-plane. -\cgalRefines `ArrangementXMonotoneTraits_2` +\cgalRefines{ArrangementXMonotoneTraits_2} \cgalHasModel `CGAL::Env_triangle_traits_3` \cgalHasModel `CGAL::Env_sphere_traits_3` diff --git a/Generalized_map/doc/Generalized_map/Concepts/GeneralizedMap.h b/Generalized_map/doc/Generalized_map/Concepts/GeneralizedMap.h index 172e2481899..91c430a9d91 100644 --- a/Generalized_map/doc/Generalized_map/Concepts/GeneralizedMap.h +++ b/Generalized_map/doc/Generalized_map/Concepts/GeneralizedMap.h @@ -4,7 +4,7 @@ The concept `GeneralizedMap` defines a d-dimensional generalized map. -\cgalRefines `GenericMap` +\cgalRefines{GenericMap} \cgalHasModel \link CGAL::Generalized_map `CGAL::Generalized_map`\endlink diff --git a/Generalized_map/doc/Generalized_map/Generalized_map.txt b/Generalized_map/doc/Generalized_map/Generalized_map.txt index b842e148205..491a8c9ed3d 100644 --- a/Generalized_map/doc/Generalized_map/Generalized_map.txt +++ b/Generalized_map/doc/Generalized_map/Generalized_map.txt @@ -279,7 +279,7 @@ There are also two different classes of ranges containing one dart per i- The iterators of the \link GenericMap::Dart_range `Dart_range`\endlink are bidirectional iterators, while the iterators of the other four ranges are forward iterators. The value type of all these iterators is `Dart` thus all these iterators can be directly used as \link GenericMap::Dart_descriptor `Dart_descriptor`\endlink. -Additionally, there is a range over non void i-attributes: \link GenericMap::Attribute_range `Attribute_range::type`\endlink, having a bidirectional iterator with value type \link GenericMap::Attribute_type Attribute_type::type`\endlink. +Additionally, there is a range over non void i-attributes: \link GenericMap::Attribute_range `Attribute_range::type`\endlink, having a bidirectional iterator with value type \link GenericMap::Attribute_type `Attribute_type::type`\endlink. For each range, there is an associated const range, a model of the `ConstRange` concept. You can find some examples of ranges in Section \ref ssecexample3DGM "A 3D Generalized Map". diff --git a/Generalized_map/include/CGAL/Generalized_map/internal/Generalized_map_group_functors.h b/Generalized_map/include/CGAL/Generalized_map/internal/Generalized_map_group_functors.h index cbde9898096..4a15c8ea733 100644 --- a/Generalized_map/include/CGAL/Generalized_map/internal/Generalized_map_group_functors.h +++ b/Generalized_map/include/CGAL/Generalized_map/internal/Generalized_map_group_functors.h @@ -293,6 +293,13 @@ void GMap_test_split_attribute_functor_one_dart Attribute_descriptor_i a1 = amap.template attribute(adart); if ( found_attributes.is_defined(a1) ) { // Here the attribute was already present in the hash_map + + // We need to call reserve for the cc with index case. Indeed, if the vector + // is reallocated, the reference returned by get_attribute(a1) will be + // invalidated, and the copy will be wrong. Note that there is no overhead + // since the creation of the attribute need one allocation. + amap.template attributes().reserve(amap.template attributes().size()+1); + Attribute_descriptor_i a2 = amap.template create_attribute(amap.template get_attribute(a1)); diff --git a/Generalized_map/include/CGAL/Generalized_map_storages_with_index.h b/Generalized_map/include/CGAL/Generalized_map_storages_with_index.h index 80044bdc7d3..828004b8416 100644 --- a/Generalized_map/include/CGAL/Generalized_map_storages_with_index.h +++ b/Generalized_map/include/CGAL/Generalized_map_storages_with_index.h @@ -242,6 +242,13 @@ namespace CGAL { { CGAL_static_assertion_msg(Helper::template Dimension_index::value>=0, "copy_attribute called but i-attributes are disabled."); + // We need to do a reserve before the emplace in order to avoid a bug of + // invalid reference when the container is reallocated. + std::get::value> + (mattribute_containers).reserve + (std::get::value> + (mattribute_containers).size()+1); + typename Attribute_descriptor::type res= std::get::value> (mattribute_containers).emplace(get_attribute(ah)); diff --git a/Generalized_map/package_info/Generalized_map/copyright b/Generalized_map/package_info/Generalized_map/copyright new file mode 100644 index 00000000000..3c616b4b377 --- /dev/null +++ b/Generalized_map/package_info/Generalized_map/copyright @@ -0,0 +1 @@ +CNRS and LIRIS' Establishments (France) diff --git a/Generalized_map/test/Generalized_map/CMakeLists.txt b/Generalized_map/test/Generalized_map/CMakeLists.txt index 642815d6c08..e773e5c3218 100644 --- a/Generalized_map/test/Generalized_map/CMakeLists.txt +++ b/Generalized_map/test/Generalized_map/CMakeLists.txt @@ -18,3 +18,5 @@ add_executable(Generalized_map_test_index Generalized_map_test.cpp ${hfiles}) target_compile_definitions(Generalized_map_test_index PUBLIC USE_COMPACT_CONTAINER_WITH_INDEX) target_link_libraries(Generalized_map_test_index PUBLIC CGAL CGAL::Data) cgal_add_compilation_test(Generalized_map_test_index) + +create_single_source_cgal_program("gmap_test_split_attribute.cpp") diff --git a/Generalized_map/test/Generalized_map/gmap_test_split_attribute.cpp b/Generalized_map/test/Generalized_map/gmap_test_split_attribute.cpp new file mode 100644 index 00000000000..51e5618ce9c --- /dev/null +++ b/Generalized_map/test/Generalized_map/gmap_test_split_attribute.cpp @@ -0,0 +1,92 @@ +#include +#include +#include +#include +#include +#include + +struct MyInfo +{ + MyInfo() :data(1) + {} + + MyInfo(int i) :data(i) + {} + + int data; +}; + +struct Myitem1 +{ + using Use_index=CGAL::Tag_true; // use indices + using Index_type=std::uint16_t; // 16 bits + template + struct Dart_wrapper + { + typedef CGAL::Cell_attribute attrib; + typedef std::tuple Attributes; + }; +}; + +struct Myitem2 +{ + template + struct Dart_wrapper + { + typedef CGAL::Cell_attribute attrib; + typedef std::tuple Attributes; + }; +}; + +using GMap1=CGAL::Generalized_map<3,Myitem1>; +using GMap2=CGAL::Generalized_map<3,Myitem2>; + +#define NB 1000 +template +bool test(const std::string& s) +{ + bool res=true; + GMap m; + // 1) create a face and one attribute. + typename GMap::Dart_descriptor dd=m.make_combinatorial_polygon(4); + m.template set_attribute<2>(dd, m.template create_attribute<2>(2)); + // 2) Split this face NB times => will create new 2-attributes for new faces + for(std::size_t i=0; i(dd)); + if(m.template attribute<2>(newd)==GMap::null_descriptor) + { + std::cout<<"ERROR1: "<(newd)==GMap::null_descriptor"<(newd).data!=2) + { + std::cout<<"ERROR2: "<(newd).data<(newd); + if(m.template attribute<2>(newd)==GMap::null_descriptor) + { + std::cout<<"ERROR3: "<(newd)==GMap::null_descriptor"<(newd).data!=2) + { + std::cout<<"ERROR4: "<(newd).data<("GMap1") || !test("GMap2")) + { return EXIT_FAILURE; } + + return EXIT_SUCCESS; +} diff --git a/Generator/test/Generator/test_generators.cpp b/Generator/test/Generator/test_generators.cpp index 4019b0de9f8..f4324f4be5a 100644 --- a/Generator/test/Generator/test_generators.cpp +++ b/Generator/test/Generator/test_generators.cpp @@ -189,8 +189,12 @@ void test_point_generators_d() if (points[i][0] >0) g = g + (points[i] - o3); } - assert( std::fabs( g[0]/nb_g - 3.0/16.0) < 0.01 ); - std::cout<<" center of mass 3/16~="< operator()(QPolygonF); +void operator()(std::list&, QPolygonF); /// @} diff --git a/GraphicsView/include/CGAL/Qt/Converter.h b/GraphicsView/include/CGAL/Qt/Converter.h index 42aab2178cb..a4b162d340f 100644 --- a/GraphicsView/include/CGAL/Qt/Converter.h +++ b/GraphicsView/include/CGAL/Qt/Converter.h @@ -167,6 +167,15 @@ public: return qp; } + QPolygonF operator()(const std::list< CGAL_Point_2 >& p) const + { + QPolygonF qp; + for(int i = 0; i < p.size(); i++){ + qp << operator()(p[i]); + } + return qp; + } + void operator()(std::list< CGAL_Point_2 >& p, const QPolygonF& qp) const { diff --git a/GraphicsView/include/CGAL/Qt/resources/ImageInterface.ui b/GraphicsView/include/CGAL/Qt/ImageInterface.ui similarity index 100% rename from GraphicsView/include/CGAL/Qt/resources/ImageInterface.ui rename to GraphicsView/include/CGAL/Qt/ImageInterface.ui diff --git a/HalfedgeDS/doc/HalfedgeDS/Concepts/HalfedgeDSFace.h b/HalfedgeDS/doc/HalfedgeDS/Concepts/HalfedgeDSFace.h index 897e2292504..5a405bb7770 100644 --- a/HalfedgeDS/doc/HalfedgeDS/Concepts/HalfedgeDSFace.h +++ b/HalfedgeDS/doc/HalfedgeDS/Concepts/HalfedgeDSFace.h @@ -21,8 +21,7 @@ halfedge data structure they must be derived from a base class `Base` where the modifying member functions are still public. (The protection can be bypassed by the user, but not by accident.) -\cgalRefines `CopyConstructible` -\cgalRefines `DefaultConstructible` +\cgalRefines{CopyConstructible,DefaultConstructible} \cgalHasModel `CGAL::HalfedgeDS_face_base` \cgalHasModel `CGAL::HalfedgeDS_face_min_base` diff --git a/HalfedgeDS/doc/HalfedgeDS/Concepts/HalfedgeDSVertex.h b/HalfedgeDS/doc/HalfedgeDS/Concepts/HalfedgeDSVertex.h index c8f23d4ce2f..172b6b933f1 100644 --- a/HalfedgeDS/doc/HalfedgeDS/Concepts/HalfedgeDSVertex.h +++ b/HalfedgeDS/doc/HalfedgeDS/Concepts/HalfedgeDSVertex.h @@ -21,8 +21,7 @@ halfedge data structure they must be derived from a base class `Base` where the modifying member functions are still public. (The protection could be bypassed by an user, but not by accident.) -\cgalRefines `CopyConstructible` -\cgalRefines `DefaultConstructible` +\cgalRefines{CopyConstructible,DefaultConstructible} \cgalHasModel `CGAL::HalfedgeDS_vertex_base` \cgalHasModel `CGAL::HalfedgeDS_vertex_min_base` diff --git a/Heat_method_3/doc/Heat_method_3/Concepts/HeatMethodTraits_3.h b/Heat_method_3/doc/Heat_method_3/Concepts/HeatMethodTraits_3.h index dcfe6d573e0..c7f87971225 100644 --- a/Heat_method_3/doc/Heat_method_3/Concepts/HeatMethodTraits_3.h +++ b/Heat_method_3/doc/Heat_method_3/Concepts/HeatMethodTraits_3.h @@ -43,7 +43,7 @@ public: /// Functor with operator: `Vector_3 operator()(const Vector_3& v, const Vector_3& w) const`, which constructs the cross product of `v` and `w`. typedef unspecified_type Construct_cross_product_vector_3; - /// Functor with operator: `FT operator()(const Vector_3& v, const Vector_3& w) const, which constructs the scalar product of `v` and `w`. + /// Functor with operator: `FT operator()(const Vector_3& v, const Vector_3& w) const`, which constructs the scalar product of `v` and `w`. typedef unspecified_type Compute_scalar_product_3; /// Functor with operator: `FT operator()(const Point_3& p, const Point_3& q) const` which computes the squared distance between `p` and `q`. diff --git a/Hyperbolic_triangulation_2/doc/Hyperbolic_triangulation_2/Concepts/HyperbolicDelaunayTriangulationTraits_2.h b/Hyperbolic_triangulation_2/doc/Hyperbolic_triangulation_2/Concepts/HyperbolicDelaunayTriangulationTraits_2.h index 0406a5c8416..5d2d5a39e3e 100644 --- a/Hyperbolic_triangulation_2/doc/Hyperbolic_triangulation_2/Concepts/HyperbolicDelaunayTriangulationTraits_2.h +++ b/Hyperbolic_triangulation_2/doc/Hyperbolic_triangulation_2/Concepts/HyperbolicDelaunayTriangulationTraits_2.h @@ -5,7 +5,7 @@ \ingroup PkgHyperbolicTriangulation2Concepts \cgalConcept -\cgalRefines DelaunayTriangulationTraits_2 +\cgalRefines{DelaunayTriangulationTraits_2} The concept `HyperbolicDelaunayTriangulationTraits_2` describes the set of requirements to be fulfilled by any class used to instantiate the first template parameter of the class diff --git a/Hyperbolic_triangulation_2/doc/Hyperbolic_triangulation_2/Concepts/HyperbolicTriangulationFaceBase_2.h b/Hyperbolic_triangulation_2/doc/Hyperbolic_triangulation_2/Concepts/HyperbolicTriangulationFaceBase_2.h index a472fde6d31..368630cc55b 100644 --- a/Hyperbolic_triangulation_2/doc/Hyperbolic_triangulation_2/Concepts/HyperbolicTriangulationFaceBase_2.h +++ b/Hyperbolic_triangulation_2/doc/Hyperbolic_triangulation_2/Concepts/HyperbolicTriangulationFaceBase_2.h @@ -32,7 +32,7 @@ public: \ingroup PkgHyperbolicTriangulation2Concepts \cgalConcept -\cgalRefines TriangulationFaceBase_2 +\cgalRefines{TriangulationFaceBase_2} The concept `HyperbolicTriangulationFaceBase_2` describes the requirements for the base face class of a hyperbolic triangulation data structure. diff --git a/Installation/CHANGES.md b/Installation/CHANGES.md index 6baa48451f2..f52e8537932 100644 --- a/Installation/CHANGES.md +++ b/Installation/CHANGES.md @@ -10,6 +10,12 @@ Release date: June 2023 - **Breaking change**: The per package assertions, pre- and postconditions are no longer supported. +### [2D and 3D Linear Geometry Kernel](https://doc.cgal.org/5.6/Manual/packages.html#PkgKernel23) +- Added the functor + [`CompareAngle_3`](https://doc.cgal.org/5.6/Kernel_23/classKernel_1_1CompareAngle__3.html) + to the concept [`Kernel`](https://doc.cgal.org/5.6/Kernel_23/classKernel.html) to compare + an angle defined by three points to the cosinus of another angle. + ### [Combinatorial Maps](https://doc.cgal.org/5.6/Manual/packages.html#PkgCombinatorialMaps) [Generalized Maps](https://doc.cgal.org/5.6/Manual/packages.html#PkgGeneralizedMaps) [Linear Cell Complex](https://doc.cgal.org/5.6/Manual/packages.html#PkgLinearCellComplex) - Added a version that uses indices instead of handles as dart and attribute descriptors. As the indices are integers convertible from and to `std::size_t`, they can be used as index into vectors which store properties. To use the index version, `Use_index` must be defined and be equal to `CGAL::Tag_true` in the item class. @@ -34,6 +40,11 @@ CGAL tetrahedral Delaunay refinement algorithm. - Added the function `CGAL::Polygon_mesh_processing::remove_almost_degenerate_faces()` to remove badly shaped triangles faces in a mesh. +- Added the functions `CGAL::Polygon_mesh_processing::remesh_planar_patches()` and + `CGAL::Polygon_mesh_processing::remesh_almost_coplanar_patches()` to retriangulate patches of coplanar faces in a mesh. + +- Added a named parameter to `CGAL::Polygon_mesh_processing::smooth_shape()` to disable scaling to compensate volume loss. + ### [3D Simplicial Mesh Data Structure](https://doc.cgal.org/5.6/Manual/packages.html#PkgSMDS3) (new package) - This new package wraps all the existing code that deals with a `MeshComplex_3InTriangulation_3` to describe 3D simplicial meshes, and makes the data structure independent from the tetrahedral mesh generation package. @@ -179,7 +190,6 @@ Release date: June 2022 - Added the function [`invert_selection()`](https://doc.cgal.org/5.5/BGL/structCGAL_1_1Face__filtered__graph.html#aa428541ebbdd35f9a6e9a3ffd60178df) in the class [`Face_filtered_graph`](https://doc.cgal.org/5.5/BGL/structCGAL_1_1Face__filtered__graph.html), which toggles the selected status of a graph: selected faces are deselected, and unselected faces are selected. - [Release 5.4](https://github.com/CGAL/cgal/releases/tag/v5.4) ----------- diff --git a/Installation/cmake/modules/CGAL_Qt5_moc_and_resource_files.cmake b/Installation/cmake/modules/CGAL_Qt5_moc_and_resource_files.cmake index f3d4f23dc21..2d566decf61 100644 --- a/Installation/cmake/modules/CGAL_Qt5_moc_and_resource_files.cmake +++ b/Installation/cmake/modules/CGAL_Qt5_moc_and_resource_files.cmake @@ -22,4 +22,4 @@ else() ${CMAKE_BINARY_DIR}/icons/Triangulation_2.qrc) endif() -qt5_wrap_ui(_CGAL_Qt5_UI_FILES ${CGAL_GRAPHICSVIEW_PACKAGE_DIR}/include/CGAL/Qt/resources/ImageInterface.ui) +qt5_wrap_ui(_CGAL_Qt5_UI_FILES ${CGAL_GRAPHICSVIEW_PACKAGE_DIR}/include/CGAL/Qt/ImageInterface.ui) diff --git a/Installation/include/CGAL/version.h b/Installation/include/CGAL/version.h index f655dc58ff5..d90474f8913 100644 --- a/Installation/include/CGAL/version.h +++ b/Installation/include/CGAL/version.h @@ -17,12 +17,12 @@ #define CGAL_VERSION_H #ifndef SWIG -#define CGAL_VERSION 5.6-dev +#define CGAL_VERSION 5.6-beta1 #define CGAL_GIT_HASH abcdef #endif -#define CGAL_VERSION_NR 1050600900 +#define CGAL_VERSION_NR 1050600910 #define CGAL_SVN_REVISION 99999 -#define CGAL_RELEASE_DATE 20221131 +#define CGAL_RELEASE_DATE 20230430 #include diff --git a/Installation/lib/cmake/CGAL/CGALConfigVersion.cmake b/Installation/lib/cmake/CGAL/CGALConfigVersion.cmake index 87fa9944e4d..e71784c4c52 100644 --- a/Installation/lib/cmake/CGAL/CGALConfigVersion.cmake +++ b/Installation/lib/cmake/CGAL/CGALConfigVersion.cmake @@ -2,7 +2,7 @@ set(CGAL_MAJOR_VERSION 5) set(CGAL_MINOR_VERSION 6) set(CGAL_BUGFIX_VERSION 0) include(${CMAKE_CURRENT_LIST_DIR}/CGALConfigBuildVersion.cmake) -set(CGAL_VERSION_PUBLIC_RELEASE_VERSION "5.5-dev") +set(CGAL_VERSION_PUBLIC_RELEASE_VERSION "5.6-beta1") set(CGAL_VERSION_PUBLIC_RELEASE_NAME "CGAL-${CGAL_VERSION_PUBLIC_RELEASE_VERSION}") if (CGAL_BUGFIX_VERSION AND CGAL_BUGFIX_VERSION GREATER 0) diff --git a/Kernel_23/doc/Kernel_23/CGAL/Kernel/global_functions.h b/Kernel_23/doc/Kernel_23/CGAL/Kernel/global_functions.h index 45c56fe7710..6be2530b49b 100644 --- a/Kernel_23/doc/Kernel_23/CGAL/Kernel/global_functions.h +++ b/Kernel_23/doc/Kernel_23/CGAL/Kernel/global_functions.h @@ -619,7 +619,19 @@ const CGAL::Point_3&r); /// @} - +/// \ingroup kernel_global_function +/*! +compares the angles \f$ \theta_1\f$ and \f$ \theta_2\f$, where +\f$ \theta_1\f$ is the angle in \f$ [0, \pi]\f$ of the triangle +\f$ (a, b, c)\f$ at the vertex `b`, and \f$ \theta_2\f$ is +the angle in \f$ [0, \pi]\f$ such that \f$ cos(\theta_2) = cosine\f$. +\pre `a!=b && c!=b`. +*/ +template +Comparison_result compare_angle(const CGAL::Point_3& a, + const CGAL::Point_3& b, + const CGAL::Point_3& c, + const Kernel::FT& cosine); /// \defgroup compare_dihedral_angle_grp CGAL::compare_dihedral_angle() /// \ingroup kernel_global_function diff --git a/Kernel_23/doc/Kernel_23/CGAL/Triangle_3.h b/Kernel_23/doc/Kernel_23/CGAL/Triangle_3.h index f4cc8612bc7..d0dadad48b8 100644 --- a/Kernel_23/doc/Kernel_23/CGAL/Triangle_3.h +++ b/Kernel_23/doc/Kernel_23/CGAL/Triangle_3.h @@ -32,7 +32,7 @@ const Point_3 &r); /*! Test for equality: two triangles `t1` and `t2` are equal, iff there -exists a cyclic permutation of the vertices of t2`, such that +exists a cyclic permutation of the vertices of `t2`, such that they are equal to the vertices of `t1`. */ bool operator==(const Triangle_3 &t2) const; diff --git a/Kernel_23/doc/Kernel_23/Concepts/FunctionObjectConcepts.h b/Kernel_23/doc/Kernel_23/Concepts/FunctionObjectConcepts.h index ac8e47c1e54..f35d61ee7a7 100644 --- a/Kernel_23/doc/Kernel_23/Concepts/FunctionObjectConcepts.h +++ b/Kernel_23/doc/Kernel_23/Concepts/FunctionObjectConcepts.h @@ -103,7 +103,7 @@ public: \ingroup PkgKernel23ConceptsFunctionObjects \cgalConcept - \cgalRefines `AdaptableFunctor` (with three arguments) + \cgalRefines{AdaptableTernaryFunction} \sa `are_ordered_along_line_grp` @@ -133,7 +133,7 @@ public: \ingroup PkgKernel23ConceptsFunctionObjects \cgalConcept - \cgalRefines `AdaptableFunctor` (with three arguments) + \cgalRefines{AdaptableTernaryFunction} \sa `are_ordered_along_line_grp` @@ -163,7 +163,7 @@ public: \ingroup PkgKernel23ConceptsFunctionObjects \cgalConcept - \cgalRefines `AdaptableFunctor` (with two arguments) + \cgalRefines{AdaptableBinaryFunction} \sa `parallel_grp` @@ -204,7 +204,7 @@ public: \ingroup PkgKernel23ConceptsFunctionObjects \cgalConcept - \cgalRefines `AdaptableFunctor` (with two arguments) + \cgalRefines{AdaptableBinaryFunction} \sa `parallel_grp` @@ -253,7 +253,7 @@ public: \ingroup PkgKernel23ConceptsFunctionObjects \cgalConcept - \cgalRefines `AdaptableFunctor` (with three arguments) + \cgalRefines{AdaptableTernaryFunction} \sa `are_strictly_ordered_along_line_grp` @@ -285,7 +285,7 @@ public: \ingroup PkgKernel23ConceptsFunctionObjects \cgalConcept - \cgalRefines `AdaptableFunctor` (with three arguments) + \cgalRefines{AdaptableTernaryFunction} \sa `are_strictly_ordered_along_line_grp` @@ -317,7 +317,7 @@ public: \deprecated This class is deprecated since \cgal 4.3 and type safe ways should be preferred. - \cgalRefines `AdaptableFunctor` (with two arguments) + \cgalRefines{AdaptableBinaryFunction} \sa `CGAL::Object` \sa `Kernel::Object_2` @@ -348,7 +348,7 @@ public: \ingroup PkgKernel23ConceptsFunctionObjects \cgalConcept - \cgalRefines `AdaptableFunctor` (with two arguments) + \cgalRefines{AdaptableBinaryFunction} \deprecated This class is deprecated since \cgal 4.3 and type safe ways should be preferred. \sa `CGAL::Object` @@ -379,7 +379,7 @@ public: \ingroup PkgKernel23ConceptsFunctionObjects \cgalConcept - \cgalRefines `AdaptableFunctor` (with two arguments) + \cgalRefines{AdaptableBinaryFunction} \sa `CGAL::Circle_2` \sa `CGAL::Triangle_2` @@ -428,7 +428,7 @@ public: \ingroup PkgKernel23ConceptsFunctionObjects \cgalConcept - \cgalRefines `AdaptableFunctor` (with two arguments) + \cgalRefines{AdaptableBinaryFunction} \sa `CGAL::Iso_cuboid_3` \sa `CGAL::Sphere_3` @@ -481,9 +481,7 @@ public: A type representing an iterator to the Cartesian coordinates of a point in two dimensions. - \cgalRefines CopyConstructible - \cgalRefines Assignable - \cgalRefines DefaultConstructible + \cgalRefines{CopyConstructible,Assignable,DefaultConstructible} \sa `Kernel::ConstructCartesianConstIterator_2` @@ -500,9 +498,7 @@ public: A type representing an iterator to the Cartesian coordinates of a point in three dimensions. - \cgalRefines CopyConstructible - \cgalRefines Assignable - \cgalRefines DefaultConstructible + \cgalRefines{CopyConstructible,Assignable,DefaultConstructible} \sa `Kernel::ConstructCartesianConstIterator_3` @@ -516,7 +512,7 @@ public: \ingroup PkgKernel23ConceptsFunctionObjects \cgalConcept - \cgalRefines `AdaptableFunctor` (with three arguments) + \cgalRefines{AdaptableTernaryFunction} \sa `collinear_are_ordered_along_line_grp` @@ -545,7 +541,7 @@ public: \ingroup PkgKernel23ConceptsFunctionObjects \cgalConcept - \cgalRefines `AdaptableFunctor` (with three arguments) + \cgalRefines{AdaptableTernaryFunction} \sa `collinear_are_ordered_along_line_grp` @@ -573,7 +569,7 @@ public: \ingroup PkgKernel23ConceptsFunctionObjects \cgalConcept - \cgalRefines `AdaptableFunctor` (with three arguments) + \cgalRefines{AdaptableTernaryFunction} \sa `collinear_are_strictly_ordered_along_line_grp` @@ -602,7 +598,7 @@ public: \ingroup PkgKernel23ConceptsFunctionObjects \cgalConcept - \cgalRefines `AdaptableFunctor` (with three arguments) + \cgalRefines{AdaptableTernaryFunction} \sa `collinear_are_strictly_ordered_along_line_grp` @@ -631,7 +627,7 @@ public: \ingroup PkgKernel23ConceptsFunctionObjects \cgalConcept - \cgalRefines `AdaptableFunctor` (with two arguments) + \cgalRefines{AdaptableBinaryFunction} \sa `CGAL::Ray_2` \sa `CGAL::Segment_2` @@ -666,7 +662,7 @@ public: \ingroup PkgKernel23ConceptsFunctionObjects \cgalConcept - \cgalRefines `AdaptableFunctor` (with three arguments) + \cgalRefines{AdaptableTernaryFunction} \sa `collinear_grp` @@ -693,7 +689,7 @@ public: \ingroup PkgKernel23ConceptsFunctionObjects \cgalConcept - \cgalRefines `AdaptableFunctor` (with three arguments) + \cgalRefines{AdaptableTernaryFunction} \sa `collinear_grp` @@ -720,7 +716,7 @@ public: \ingroup PkgKernel23ConceptsFunctionObjects \cgalConcept - \cgalRefines `AdaptableFunctor` (with two arguments) + \cgalRefines{AdaptableBinaryFunction} */ class CompareAngleWithXAxis_2 { @@ -743,6 +739,33 @@ public: }; /* end Kernel::CompareAngleWithXAxis_2 */ + + +/*! + \ingroup PkgKernel23ConceptsFunctionObjects + \cgalConcept + +*/ +class CompareAngle_3 { +public: + + /// \name Operations + /// A model of this concept must provide: + /// @{ + + /*! + compares the angles \f$ \theta_1\f$ and \f$ \theta_2\f$, where + \f$ \theta_1\f$ is the angle in \f$ [0, \pi]\f$ of the triangle + \f$ (a, b, c)\f$ at the vertex `b`, and \f$ \theta_2\f$ is + the angle in \f$ [0, \pi]\f$ such that \f$ cos(\theta_2) = cosine\f$. + \pre `a!=b && c!=b`. + */ + Comparison_result operator()(const K::Point_3& a, + const K::Point_3& b, + const K::Point_3& c, + const K::FT& cosine); +}; + /*! \ingroup PkgKernel23ConceptsFunctionObjects \cgalConcept @@ -825,7 +848,7 @@ public: \sa `compare_distance_to_point_grp` \sa `compare_squared_distance_grp` - \cgalRefines `AdaptableFunctor` (with three arguments) + \cgalRefines{AdaptableTernaryFunction} */ class CompareDistance_2 { @@ -876,7 +899,7 @@ public: \ingroup PkgKernel23ConceptsFunctionObjects \cgalConcept - \cgalRefines `AdaptableFunctor` (with three arguments) + \cgalRefines{AdaptableTernaryFunction} \sa `Kernel::CompareSquaredDistance_3` \sa `compare_distance_to_point_grp` @@ -927,7 +950,7 @@ public: \ingroup PkgKernel23ConceptsFunctionObjects \cgalConcept - \cgalRefines `AdaptableFunctor` (with three arguments) + \cgalRefines{AdaptableTernaryFunction} \sa `CGAL::Weighted_point_2` \sa `ComputePowerProduct_2` for the definition of power distance. @@ -954,7 +977,7 @@ public: \ingroup PkgKernel23ConceptsFunctionObjects \cgalConcept - \cgalRefines `AdaptableFunctor` (with three arguments) + \cgalRefines{AdaptableTernaryFunction} \sa `CGAL::Weighted_point_3` \sa `ComputePowerProduct_3` for the definition of power distance. @@ -983,7 +1006,7 @@ public: \ingroup PkgKernel23ConceptsFunctionObjects \cgalConcept - \cgalRefines `AdaptableFunctor` (with four arguments) + \cgalRefines{AdaptableQuaternaryFunction} */ class CompareSignedDistanceToLine_2 { public: @@ -1014,7 +1037,7 @@ public: \ingroup PkgKernel23ConceptsFunctionObjects \cgalConcept - \cgalRefines `AdaptableFunctor` (with two arguments) + \cgalRefines{AdaptableBinaryFunction} \sa `compare_slopes_grp` @@ -1060,7 +1083,7 @@ public: \ingroup PkgKernel23ConceptsFunctionObjects \cgalConcept - \cgalRefines `AdaptableFunctor` (with two arguments) + \cgalRefines{AdaptableBinaryFunction} \sa `compare_slopes_grp` @@ -1095,7 +1118,7 @@ public: \ingroup PkgKernel23ConceptsFunctionObjects \cgalConcept - \cgalRefines `AdaptableFunctor` (with three arguments) + \cgalRefines{AdaptableTernaryFunction} \sa `compare_distance_to_point_grp` \sa `compare_squared_distance_grp` @@ -1131,7 +1154,7 @@ public: \ingroup PkgKernel23ConceptsFunctionObjects \cgalConcept - \cgalRefines `AdaptableFunctor` (with three arguments) + \cgalRefines{AdaptableTernaryFunction} \sa `Kernel::CompareDistance_3` \sa `compare_distance_to_point_grp` @@ -1167,7 +1190,7 @@ public: \ingroup PkgKernel23ConceptsFunctionObjects \cgalConcept - \cgalRefines `AdaptableFunctor` (with three arguments) + \cgalRefines{AdaptableTernaryFunction} \sa `compare_squared_radius_grp` @@ -1223,7 +1246,7 @@ public: \ingroup PkgKernel23ConceptsFunctionObjects \cgalConcept -\cgalRefines `AdaptableFunctor` +\cgalRefines{AdaptableFunctor} \sa `ComputePowerProduct_3` for the definition of of orthogonality for power distances. @@ -1268,7 +1291,7 @@ public: \image html compare_x_at_y.png \image latex compare_x_at_y.png - \cgalRefines `AdaptableFunctor` (with three arguments) + \cgalRefines{AdaptableTernaryFunction} \sa `compare_x_at_y_grp` @@ -1329,7 +1352,7 @@ public: \ingroup PkgKernel23ConceptsFunctionObjects \cgalConcept - \cgalRefines `AdaptableFunctor` (with two arguments) + \cgalRefines{AdaptableBinaryFunction} \sa `compare_xyz_grp` @@ -1358,7 +1381,7 @@ public: \ingroup PkgKernel23ConceptsFunctionObjects \cgalConcept - \cgalRefines `AdaptableFunctor` (with two arguments) + \cgalRefines{AdaptableBinaryFunction} \sa `compare_xy_grp` \sa `Kernel::CompareYX_2` @@ -1388,7 +1411,7 @@ public: \ingroup PkgKernel23ConceptsFunctionObjects \cgalConcept - \cgalRefines `AdaptableFunctor` (with two arguments) + \cgalRefines{AdaptableBinaryFunction} \sa `compare_xy_grp` @@ -1422,7 +1445,7 @@ public: \image html compare1.png \image latex compare1.png - \cgalRefines `AdaptableFunctor` (with two arguments) + \cgalRefines{AdaptableBinaryFunction} \sa `compare_x_grp` @@ -1478,7 +1501,7 @@ public: \ingroup PkgKernel23ConceptsFunctionObjects \cgalConcept - \cgalRefines `AdaptableFunctor` (with two arguments) + \cgalRefines{AdaptableBinaryFunction} \sa `compare_x_grp` @@ -1509,7 +1532,7 @@ public: \image html compare2.png \image latex compare2.png - \cgalRefines `AdaptableFunctor` (with three arguments) + \cgalRefines{AdaptableTernaryFunction} \anchor fig-compare2 \sa `compare_y_at_x_grp` @@ -1596,7 +1619,7 @@ public: \ingroup PkgKernel23ConceptsFunctionObjects \cgalConcept - \cgalRefines `AdaptableFunctor` (with two arguments) + \cgalRefines{AdaptableBinaryFunction} \sa `compare_yx_grp` \sa `Kernel::CompareXY_2` @@ -1630,7 +1653,7 @@ public: \image html compare1.png \image latex compare1.png - \cgalRefines `AdaptableFunctor` (with two arguments) + \cgalRefines{AdaptableBinaryFunction} \sa `compare_y_grp` @@ -1689,7 +1712,7 @@ public: \ingroup PkgKernel23ConceptsFunctionObjects \cgalConcept - \cgalRefines `AdaptableFunctor` (with two arguments) + \cgalRefines{AdaptableBinaryFunction} \sa `compare_y_grp` @@ -1716,7 +1739,7 @@ public: \ingroup PkgKernel23ConceptsFunctionObjects \cgalConcept - \cgalRefines `AdaptableFunctor` (with two arguments) + \cgalRefines{AdaptableBinaryFunction} \sa `compare_z_grp` @@ -1744,7 +1767,7 @@ public: \ingroup PkgKernel23ConceptsFunctionObjects \cgalConcept - \cgalRefines `AdaptableFunctor` + \cgalRefines{AdaptableFunctor} */ class ComputeA_2 { @@ -1767,7 +1790,7 @@ public: \ingroup PkgKernel23ConceptsFunctionObjects \cgalConcept - \cgalRefines `AdaptableFunctor` + \cgalRefines{AdaptableFunctor} */ class ComputeA_3 { @@ -1792,7 +1815,7 @@ public: \sa `CGAL::Circle_3` - \cgalRefines AdaptableFunctor + \cgalRefines{AdaptableFunctor} */ class ComputeApproximateArea_3 { @@ -1816,7 +1839,7 @@ public: \ingroup PkgKernel23ConceptsFunctionObjects \cgalConcept - \cgalRefines `AdaptableFunctor` + \cgalRefines{AdaptableFunctor} */ class ComputeApproximateAngle_3 { @@ -1852,7 +1875,7 @@ public: \ingroup PkgKernel23ConceptsFunctionObjects \cgalConcept - \cgalRefines `AdaptableFunctor` + \cgalRefines{AdaptableFunctor} */ class ComputeApproximateDihedralAngle_3 { @@ -1882,7 +1905,7 @@ public: \ingroup PkgKernel23ConceptsFunctionObjects \cgalConcept - \cgalRefines `AdaptableFunctor` (with one argument) + \cgalRefines{AdaptableUnaryFunction} \sa `CGAL::Circle_3` @@ -1907,7 +1930,7 @@ public: \ingroup PkgKernel23ConceptsFunctionObjects \cgalConcept - \cgalRefines `AdaptableFunctor` (with one argument) + \cgalRefines{AdaptableUnaryFunction} \sa `CGAL::Circle_3` @@ -1932,7 +1955,7 @@ public: \ingroup PkgKernel23ConceptsFunctionObjects \cgalConcept - \cgalRefines `AdaptableFunctor` (with one argument) + \cgalRefines{AdaptableUnaryFunction} \sa `CGAL::Iso_rectangle_2` \sa `CGAL::Triangle_2` @@ -1971,7 +1994,7 @@ public: \ingroup PkgKernel23ConceptsFunctionObjects \cgalConcept - \cgalRefines `AdaptableFunctor` (with one argument) + \cgalRefines{AdaptableUnaryFunction} \sa `CGAL::Triangle_3` @@ -2005,7 +2028,7 @@ public: \ingroup PkgKernel23ConceptsFunctionObjects \cgalConcept - \cgalRefines `AdaptableFunctor` + \cgalRefines{AdaptableFunctor} */ class ComputeB_2 { @@ -2029,7 +2052,7 @@ public: \ingroup PkgKernel23ConceptsFunctionObjects \cgalConcept - \cgalRefines `AdaptableFunctor` + \cgalRefines{AdaptableFunctor} */ class ComputeB_3 { @@ -2053,7 +2076,7 @@ public: \ingroup PkgKernel23ConceptsFunctionObjects \cgalConcept - \cgalRefines `AdaptableFunctor` + \cgalRefines{AdaptableFunctor} */ class ComputeC_2 { @@ -2077,7 +2100,7 @@ public: \ingroup PkgKernel23ConceptsFunctionObjects \cgalConcept - \cgalRefines `AdaptableFunctor` + \cgalRefines{AdaptableFunctor} */ class ComputeC_3 { @@ -2101,7 +2124,7 @@ public: \ingroup PkgKernel23ConceptsFunctionObjects \cgalConcept - \cgalRefines `AdaptableFunctor` + \cgalRefines{AdaptableFunctor} */ class ComputeD_3 { @@ -2125,7 +2148,7 @@ public: \ingroup PkgKernel23ConceptsFunctionObjects \cgalConcept - \cgalRefines `AdaptableFunctor` (with two arguments) + \cgalRefines{AdaptableBinaryFunction} \sa `CGAL::Vector_2` \sa `determinant_grp` @@ -2152,7 +2175,7 @@ public: \ingroup PkgKernel23ConceptsFunctionObjects \cgalConcept - \cgalRefines `AdaptableFunctor` (with three arguments) + \cgalRefines{AdaptableTernaryFunction} \sa `CGAL::Vector_3` \sa `determinant_grp` @@ -2183,7 +2206,7 @@ public: \ingroup PkgKernel23ConceptsFunctionObjects \cgalConcept - \cgalRefines `AdaptableFunctor` + \cgalRefines{AdaptableFunctor} */ class ComputeDx_2 { @@ -2207,7 +2230,7 @@ public: \ingroup PkgKernel23ConceptsFunctionObjects \cgalConcept - \cgalRefines `AdaptableFunctor` + \cgalRefines{AdaptableFunctor} */ class ComputeDx_3 { @@ -2231,7 +2254,7 @@ public: \ingroup PkgKernel23ConceptsFunctionObjects \cgalConcept - \cgalRefines `AdaptableFunctor` + \cgalRefines{AdaptableFunctor} */ class ComputeDy_2 { @@ -2254,7 +2277,7 @@ public: \ingroup PkgKernel23ConceptsFunctionObjects \cgalConcept - \cgalRefines `AdaptableFunctor` + \cgalRefines{AdaptableFunctor} */ class ComputeDy_3 { @@ -2277,7 +2300,7 @@ public: \ingroup PkgKernel23ConceptsFunctionObjects \cgalConcept - \cgalRefines `AdaptableFunctor` + \cgalRefines{AdaptableFunctor} */ class ComputeDz_3 { @@ -2300,7 +2323,7 @@ public: \ingroup PkgKernel23ConceptsFunctionObjects \cgalConcept - \cgalRefines `AdaptableFunctor` + \cgalRefines{AdaptableFunctor} */ class ComputeHx_2 { @@ -2328,7 +2351,7 @@ public: \ingroup PkgKernel23ConceptsFunctionObjects \cgalConcept - \cgalRefines `AdaptableFunctor` + \cgalRefines{AdaptableFunctor} */ class ComputeHx_3 { @@ -2356,7 +2379,7 @@ public: \ingroup PkgKernel23ConceptsFunctionObjects \cgalConcept - \cgalRefines `AdaptableFunctor` + \cgalRefines{AdaptableFunctor} */ class ComputeHy_2 { @@ -2384,7 +2407,7 @@ public: \ingroup PkgKernel23ConceptsFunctionObjects \cgalConcept - \cgalRefines `AdaptableFunctor` + \cgalRefines{AdaptableFunctor} */ class ComputeHy_3 { @@ -2412,7 +2435,7 @@ public: \ingroup PkgKernel23ConceptsFunctionObjects \cgalConcept - \cgalRefines `AdaptableFunctor` + \cgalRefines{AdaptableFunctor} */ class ComputeHw_2 { @@ -2441,7 +2464,7 @@ public: \ingroup PkgKernel23ConceptsFunctionObjects \cgalConcept - \cgalRefines `AdaptableFunctor` + \cgalRefines{AdaptableFunctor} */ class ComputeHw_3 { @@ -2469,7 +2492,7 @@ public: \ingroup PkgKernel23ConceptsFunctionObjects \cgalConcept - \cgalRefines `AdaptableFunctor` + \cgalRefines{AdaptableFunctor} */ class ComputeHz_3 { @@ -2497,7 +2520,7 @@ public: \ingroup PkgKernel23ConceptsFunctionObjects \cgalConcept - \cgalRefines `AdaptableFunctor` (with five arguments) + \cgalRefines{AdaptableQuinaryFunction} \sa `CGAL::Weighted_point_3` \sa `ComputePowerProduct_3` for the definitions of power distance and orthogonality. @@ -2526,7 +2549,7 @@ public: \ingroup PkgKernel23ConceptsFunctionObjects \cgalConcept - \cgalRefines `AdaptableFunctor` (with two arguments) + \cgalRefines{AdaptableBinaryFunction} \sa `CGAL::Weighted_point_2` \sa `ComputePowerProduct_3` @@ -2567,7 +2590,7 @@ public: \ingroup PkgKernel23ConceptsFunctionObjects \cgalConcept - \cgalRefines `AdaptableFunctor` (with two arguments) + \cgalRefines{AdaptableBinaryFunction} \sa `CGAL::Weighted_point_3` \sa `ComputePowerProduct_2` @@ -2611,7 +2634,7 @@ public: \ingroup PkgKernel23ConceptsFunctionObjects \cgalConcept - \cgalRefines `AdaptableFunctor` (with 2 arguments) + \cgalRefines{AdaptableBinaryFunction} */ class ComputeLInfinityDistance_2 { @@ -2634,7 +2657,7 @@ public: \ingroup PkgKernel23ConceptsFunctionObjects \cgalConcept - \cgalRefines `AdaptableFunctor` + \cgalRefines{AdaptableFunctor} */ class ComputeLInfinityDistance_3 { @@ -2662,7 +2685,7 @@ public: \sa `CGAL::Vector_2` \sa scalar_product_grp - \cgalRefines `AdaptableFunctor` (with two arguments) + \cgalRefines{AdaptableBinaryFunction} */ class ComputeScalarProduct_2 { @@ -2686,7 +2709,7 @@ public: \ingroup PkgKernel23ConceptsFunctionObjects \cgalConcept - \cgalRefines `AdaptableFunctor` (with two arguments) + \cgalRefines{AdaptableBinaryFunction} \sa `CGAL::Vector_3` \sa scalar_product_grp @@ -2714,7 +2737,7 @@ public: \ingroup PkgKernel23ConceptsFunctionObjects \cgalConcept - \cgalRefines `AdaptableFunctor` (with one argument) + \cgalRefines{AdaptableUnaryFunction} \sa `CGAL::Triangle_3` @@ -2746,7 +2769,7 @@ public: \ingroup PkgKernel23ConceptsFunctionObjects \cgalConcept - \cgalRefines `AdaptableFunctor` (with two arguments) + \cgalRefines{AdaptableBinaryFunction} \sa `squared_distance_grp` @@ -2781,7 +2804,7 @@ public: \ingroup PkgKernel23ConceptsFunctionObjects \cgalConcept - \cgalRefines `AdaptableFunctor` (with two arguments) + \cgalRefines{AdaptableBinaryFunction} \sa `squared_distance_grp` @@ -2817,7 +2840,7 @@ public: \ingroup PkgKernel23ConceptsFunctionObjects \cgalConcept - \cgalRefines `AdaptableFunctor` (with one argument) + \cgalRefines{AdaptableUnaryFunction} \sa `CGAL::Circle_3` @@ -2843,7 +2866,7 @@ public: \ingroup PkgKernel23ConceptsFunctionObjects \cgalConcept - \cgalRefines `AdaptableFunctor` (with one argument) + \cgalRefines{AdaptableUnaryFunction} \sa `CGAL::Vector_2` \sa `CGAL::Segment_2` @@ -2874,7 +2897,7 @@ public: \ingroup PkgKernel23ConceptsFunctionObjects \cgalConcept - \cgalRefines `AdaptableFunctor` (with one argument) + \cgalRefines{AdaptableUnaryFunction} \sa `CGAL::Vector_3` \sa `CGAL::Segment_3` @@ -2905,7 +2928,7 @@ public: \ingroup PkgKernel23ConceptsFunctionObjects \cgalConcept - \cgalRefines `AdaptableFunctor` (with one argument) + \cgalRefines{AdaptableUnaryFunction} \sa `CGAL::Circle_2` \sa `squared_radius_grp` @@ -2952,7 +2975,7 @@ public: \ingroup PkgKernel23ConceptsFunctionObjects \cgalConcept - \cgalRefines `AdaptableFunctor` (with one argument) + \cgalRefines{AdaptableUnaryFunction} \sa `CGAL::Sphere_3` \sa `CGAL::Circle_3` @@ -3018,7 +3041,7 @@ public: \sa `CGAL::Weighted_point_2` \sa `ComputePowerProduct_2` for the definition of orthogonality for power distances. -\cgalRefines `AdaptableFunctor` +\cgalRefines{AdaptableFunctor} */ class ComputeSquaredRadiusSmallestOrthogonalCircle_2 @@ -3051,7 +3074,7 @@ public: \sa `CGAL::Weighted_point_3` \sa `ComputePowerProduct_3` for the definition of of orthogonality for power distances. -\cgalRefines `AdaptableFunctor` +\cgalRefines{AdaptableFunctor} */ class ComputeSquaredRadiusSmallestOrthogonalSphere_3 @@ -3086,7 +3109,7 @@ public: \ingroup PkgKernel23ConceptsFunctionObjects \cgalConcept - \cgalRefines `AdaptableFunctor` (with one argument) + \cgalRefines{AdaptableUnaryFunction} \sa `CGAL::Iso_cuboid_3` \sa `CGAL::Tetrahedron_3` @@ -3130,7 +3153,7 @@ public: \ingroup PkgKernel23ConceptsFunctionObjects \cgalConcept - \cgalRefines `AdaptableFunctor` + \cgalRefines{AdaptableFunctor} */ class ComputeWeight_2 { @@ -3152,7 +3175,7 @@ public: \ingroup PkgKernel23ConceptsFunctionObjects \cgalConcept - \cgalRefines `AdaptableFunctor` + \cgalRefines{AdaptableFunctor} */ class ComputeWeight_3 { @@ -3177,7 +3200,7 @@ public: \ingroup PkgKernel23ConceptsFunctionObjects \cgalConcept - \cgalRefines `AdaptableFunctor` + \cgalRefines{AdaptableFunctor} */ class ComputeX_2 { @@ -3206,7 +3229,7 @@ public: \ingroup PkgKernel23ConceptsFunctionObjects \cgalConcept - \cgalRefines `AdaptableFunctor` + \cgalRefines{AdaptableFunctor} */ class ComputeX_3 { @@ -3234,7 +3257,7 @@ public: \ingroup PkgKernel23ConceptsFunctionObjects \cgalConcept - \cgalRefines `AdaptableFunctor` + \cgalRefines{AdaptableFunctor} */ class ComputeXmax_2 { @@ -3257,7 +3280,7 @@ public: \ingroup PkgKernel23ConceptsFunctionObjects \cgalConcept - \cgalRefines `AdaptableFunctor` + \cgalRefines{AdaptableFunctor} */ class ComputeXmax_3 { @@ -3280,7 +3303,7 @@ public: \ingroup PkgKernel23ConceptsFunctionObjects \cgalConcept - \cgalRefines `AdaptableFunctor` + \cgalRefines{AdaptableFunctor} */ class ComputeXmin_2 { @@ -3303,7 +3326,7 @@ public: \ingroup PkgKernel23ConceptsFunctionObjects \cgalConcept - \cgalRefines `AdaptableFunctor` + \cgalRefines{AdaptableFunctor} */ class ComputeXmin_3 { @@ -3328,7 +3351,7 @@ public: \sa `compare_y_at_x_grp` - \cgalRefines AdaptableFunctor + \cgalRefines{AdaptableFunctor} */ class ComputeYAtX_2 { @@ -3354,7 +3377,7 @@ public: \ingroup PkgKernel23ConceptsFunctionObjects \cgalConcept - \cgalRefines `AdaptableFunctor` + \cgalRefines{AdaptableFunctor} */ class ComputeY_2 { @@ -3382,7 +3405,7 @@ public: \ingroup PkgKernel23ConceptsFunctionObjects \cgalConcept - \cgalRefines `AdaptableFunctor` + \cgalRefines{AdaptableFunctor} */ class ComputeY_3 { @@ -3410,7 +3433,7 @@ public: \ingroup PkgKernel23ConceptsFunctionObjects \cgalConcept - \cgalRefines `AdaptableFunctor` + \cgalRefines{AdaptableFunctor} */ class ComputeYmax_2 { @@ -3433,7 +3456,7 @@ public: \ingroup PkgKernel23ConceptsFunctionObjects \cgalConcept - \cgalRefines `AdaptableFunctor` + \cgalRefines{AdaptableFunctor} */ class ComputeYmax_3 { @@ -3456,7 +3479,7 @@ public: \ingroup PkgKernel23ConceptsFunctionObjects \cgalConcept - \cgalRefines `AdaptableFunctor` + \cgalRefines{AdaptableFunctor} */ class ComputeYmin_2 { @@ -3479,7 +3502,7 @@ public: \ingroup PkgKernel23ConceptsFunctionObjects \cgalConcept - \cgalRefines `AdaptableFunctor` + \cgalRefines{AdaptableFunctor} */ class ComputeYmin_3 { @@ -3502,7 +3525,7 @@ public: \ingroup PkgKernel23ConceptsFunctionObjects \cgalConcept - \cgalRefines `AdaptableFunctor` + \cgalRefines{AdaptableFunctor} */ class ComputeZ_3 { @@ -3530,7 +3553,7 @@ public: \ingroup PkgKernel23ConceptsFunctionObjects \cgalConcept - \cgalRefines `AdaptableFunctor` + \cgalRefines{AdaptableFunctor} */ class ComputeZmax_3 { @@ -3550,7 +3573,7 @@ public: \ingroup PkgKernel23ConceptsFunctionObjects \cgalConcept - \cgalRefines `AdaptableFunctor` + \cgalRefines{AdaptableFunctor} */ class ComputeZmin_3 { @@ -3571,7 +3594,7 @@ public: \ingroup PkgKernel23ConceptsFunctionObjects \cgalConcept - \cgalRefines `AdaptableFunctor` (with three arguments) + \cgalRefines{AdaptableTernaryFunction} \sa `Kernel::ConstructCentroid_2` \sa `centroid_grp` @@ -3648,7 +3671,7 @@ public: \ingroup PkgKernel23ConceptsFunctionObjects \cgalConcept - \cgalRefines `AdaptableFunctor` (with three arguments) + \cgalRefines{AdaptableTernaryFunction} \sa `Kernel::ConstructCentroid_3` \sa `centroid_grp` @@ -3726,7 +3749,7 @@ public: \ingroup PkgKernel23ConceptsFunctionObjects \cgalConcept - \cgalRefines `AdaptableFunctor` (with two arguments) + \cgalRefines{AdaptableBinaryFunction} \sa `CGAL::Plane_3` @@ -3756,7 +3779,7 @@ public: \ingroup PkgKernel23ConceptsFunctionObjects \cgalConcept - \cgalRefines `AdaptableFunctor` (with one argument) + \cgalRefines{AdaptableUnaryFunction} */ class ConstructBbox_2 { @@ -3804,7 +3827,7 @@ public: \ingroup PkgKernel23ConceptsFunctionObjects \cgalConcept - \cgalRefines `AdaptableFunctor` (with one argument) + \cgalRefines{AdaptableUnaryFunction} */ class ConstructBbox_3 { @@ -3864,7 +3887,7 @@ public: \ingroup PkgKernel23ConceptsFunctionObjects \cgalConcept - \cgalRefines AdaptableFunctor + \cgalRefines{AdaptableFunctor} \sa `bisector_grp` @@ -3904,7 +3927,7 @@ public: \ingroup PkgKernel23ConceptsFunctionObjects \cgalConcept - \cgalRefines `AdaptableFunctor` (with two arguments) + \cgalRefines{AdaptableBinaryFunction} \sa `bisector_grp` @@ -3946,7 +3969,7 @@ public: \ingroup PkgKernel23ConceptsFunctionObjects \cgalConcept - \cgalRefines `AdaptableFunctor` (with one argument) + \cgalRefines{AdaptableUnaryFunction} \sa `Kernel::CartesianConstIterator_2` @@ -3992,7 +4015,7 @@ public: \ingroup PkgKernel23ConceptsFunctionObjects \cgalConcept - \cgalRefines `AdaptableFunctor` (with one argument) + \cgalRefines{AdaptableUnaryFunction} \sa `Kernel::CartesianConstIterator_3` @@ -4036,7 +4059,7 @@ public: \ingroup PkgKernel23ConceptsFunctionObjects \cgalConcept -\cgalRefines `AdaptableFunctor` (with one argument) +\cgalRefines{AdaptableUnaryFunction} \sa `CGAL::Circle_2` @@ -4061,7 +4084,7 @@ public: \ingroup PkgKernel23ConceptsFunctionObjects \cgalConcept - \cgalRefines `AdaptableFunctor` (with one argument) + \cgalRefines{AdaptableUnaryFunction} \sa `CGAL::Sphere_3` \sa `CGAL::Circle_3` @@ -4093,7 +4116,7 @@ public: \ingroup PkgKernel23ConceptsFunctionObjects \cgalConcept - \cgalRefines `AdaptableFunctor` (with three arguments) + \cgalRefines{AdaptableTernaryFunction} \sa `Kernel::ConstructBarycenter_2` \sa `centroid_grp` @@ -4135,7 +4158,7 @@ public: \ingroup PkgKernel23ConceptsFunctionObjects \cgalConcept - \cgalRefines `AdaptableFunctor` (with three arguments) + \cgalRefines{AdaptableTernaryFunction} \sa `Kernel::ConstructBarycenter_3` \sa `centroid_grp` @@ -4182,7 +4205,7 @@ public: \ingroup PkgKernel23ConceptsFunctionObjects \cgalConcept - \cgalRefines `AdaptableFunctor` (with three arguments) + \cgalRefines{AdaptableTernaryFunction} \sa `CGAL::Circle_2` @@ -4253,7 +4276,7 @@ public: \ingroup PkgKernel23ConceptsFunctionObjects \cgalConcept - \cgalRefines `AdaptableFunctor` (with three arguments) + \cgalRefines{AdaptableTernaryFunction} \sa `CGAL::Circle_3` @@ -4335,7 +4358,7 @@ public: \ingroup PkgKernel23ConceptsFunctionObjects \cgalConcept - \cgalRefines `AdaptableFunctor` (with three arguments) + \cgalRefines{AdaptableTernaryFunction} \sa `circumcenter_grp` @@ -4375,7 +4398,7 @@ public: \ingroup PkgKernel23ConceptsFunctionObjects \cgalConcept - \cgalRefines `AdaptableFunctor` (with four arguments) + \cgalRefines{AdaptableQuaternaryFunction} \sa `circumcenter_grp` @@ -4431,7 +4454,7 @@ public: \ingroup PkgKernel23ConceptsFunctionObjects \cgalConcept - \cgalRefines `AdaptableFunctor` (with two arguments) + \cgalRefines{AdaptableBinaryFunction} \sa `cross_product_grp` \sa `determinant_grp` @@ -4458,7 +4481,7 @@ public: \ingroup PkgKernel23ConceptsFunctionObjects \cgalConcept - \cgalRefines `AdaptableFunctor` (with two arguments) + \cgalRefines{AdaptableBinaryFunction} \sa `CGAL::Vector_2` @@ -4484,7 +4507,7 @@ public: \ingroup PkgKernel23ConceptsFunctionObjects \cgalConcept - \cgalRefines `AdaptableFunctor` (with two arguments) + \cgalRefines{AdaptableBinaryFunction} \sa `CGAL::Vector_3` @@ -4511,7 +4534,7 @@ public: \ingroup PkgKernel23ConceptsFunctionObjects \cgalConcept - \cgalRefines `AdaptableFunctor` (with one argument) + \cgalRefines{AdaptableUnaryFunction} \sa `CGAL::Direction_2` @@ -4552,7 +4575,7 @@ public: \ingroup PkgKernel23ConceptsFunctionObjects \cgalConcept - \cgalRefines `AdaptableFunctor` (with one argument) + \cgalRefines{AdaptableUnaryFunction} \sa `CGAL::Direction_3` @@ -4593,7 +4616,7 @@ public: \ingroup PkgKernel23ConceptsFunctionObjects \cgalConcept - \cgalRefines `AdaptableFunctor` (with two arguments) + \cgalRefines{AdaptableBinaryFunction} \sa `CGAL::Vector_2` @@ -4619,7 +4642,7 @@ public: \ingroup PkgKernel23ConceptsFunctionObjects \cgalConcept - \cgalRefines `AdaptableFunctor` (with two arguments) + \cgalRefines{AdaptableBinaryFunction} \sa `CGAL::Vector_3` @@ -4645,7 +4668,7 @@ public: \ingroup PkgKernel23ConceptsFunctionObjects \cgalConcept - \cgalRefines `AdaptableFunctor` (with three arguments) + \cgalRefines{AdaptableTernaryFunction} \sa `equidistant_line_grp` @@ -4674,7 +4697,7 @@ public: \ingroup PkgKernel23ConceptsFunctionObjects \cgalConcept -\cgalRefines `AdaptableFunctor` (with two arguments) +\cgalRefines{AdaptableBinaryFunction} \sa `CGAL::Iso_cuboid_3` @@ -4729,7 +4752,7 @@ public: \ingroup PkgKernel23ConceptsFunctionObjects \cgalConcept - \cgalRefines `AdaptableFunctor` (with two arguments) + \cgalRefines{AdaptableBinaryFunction} \sa `CGAL::Iso_rectangle_2` @@ -4782,7 +4805,7 @@ public: \ingroup PkgKernel23ConceptsFunctionObjects \cgalConcept - \cgalRefines `AdaptableFunctor` (with two arguments) + \cgalRefines{AdaptableBinaryFunction} \sa `CGAL::Plane_3` \sa `ConstructProjectedXYPoint_2` @@ -4811,7 +4834,7 @@ public: \ingroup PkgKernel23ConceptsFunctionObjects \cgalConcept - \cgalRefines `AdaptableFunctor` (with two arguments) + \cgalRefines{AdaptableBinaryFunction} \sa `CGAL::Line_2` @@ -4864,7 +4887,7 @@ public: \ingroup PkgKernel23ConceptsFunctionObjects \cgalConcept - \cgalRefines `AdaptableFunctor` (with two arguments) + \cgalRefines{AdaptableBinaryFunction} \sa `CGAL::Line_3` @@ -4918,7 +4941,7 @@ public: \ingroup PkgKernel23ConceptsFunctionObjects \cgalConcept - \cgalRefines `AdaptableFunctor` (with one argument) + \cgalRefines{AdaptableUnaryFunction} \sa `CGAL::Iso_rectangle_2` \sa `CGAL::Segment_2` @@ -4953,7 +4976,7 @@ public: \ingroup PkgKernel23ConceptsFunctionObjects \cgalConcept - \cgalRefines `AdaptableFunctor` (with one argument) + \cgalRefines{AdaptableUnaryFunction} \sa `CGAL::Iso_cuboid_3` \sa `CGAL::Segment_3` @@ -4989,7 +5012,7 @@ public: \ingroup PkgKernel23ConceptsFunctionObjects \cgalConcept - \cgalRefines `AdaptableFunctor` (with two arguments) + \cgalRefines{AdaptableBinaryFunction} \sa `midpoint_grp` @@ -5019,7 +5042,7 @@ public: \ingroup PkgKernel23ConceptsFunctionObjects \cgalConcept - \cgalRefines `AdaptableFunctor` (with two arguments) + \cgalRefines{AdaptableBinaryFunction} \sa `midpoint_grp` @@ -5051,7 +5074,7 @@ public: \ingroup PkgKernel23ConceptsFunctionObjects \cgalConcept - \cgalRefines `AdaptableFunctor` (with one argument) + \cgalRefines{AdaptableUnaryFunction} \sa `CGAL::Iso_rectangle_2` \sa `CGAL::Segment_2` @@ -5086,7 +5109,7 @@ public: \ingroup PkgKernel23ConceptsFunctionObjects \cgalConcept - \cgalRefines `AdaptableFunctor` (with one argument) + \cgalRefines{AdaptableUnaryFunction} \sa `CGAL::Iso_cuboid_3` \sa `CGAL::Segment_3` @@ -5121,7 +5144,7 @@ public: \ingroup PkgKernel23ConceptsFunctionObjects \cgalConcept - \cgalRefines `AdaptableFunctor` (with three arguments) + \cgalRefines{AdaptableTernaryFunction} \sa `normal_grp` \sa `unit_normal_grp` @@ -5151,7 +5174,7 @@ public: \ingroup PkgKernel23ConceptsFunctionObjects \cgalConcept - \cgalRefines `AdaptableFunctor` (with one argument) + \cgalRefines{AdaptableUnaryFunction} \deprecated This class is deprecated since \cgal 4.3 and type safe ways should be preferred. @@ -5183,7 +5206,7 @@ public: \ingroup PkgKernel23ConceptsFunctionObjects \cgalConcept - \cgalRefines `AdaptableFunctor` (with one argument) + \cgalRefines{AdaptableUnaryFunction} \deprecated This class is deprecated since \cgal 4.3 and type safe ways should be preferred. \sa `CGAL::Object` @@ -5215,7 +5238,7 @@ public: \ingroup PkgKernel23ConceptsFunctionObjects \cgalConcept - \cgalRefines `AdaptableFunctor` (with one argument) + \cgalRefines{AdaptableUnaryFunction} \sa `CGAL::Circle_2` @@ -5241,7 +5264,7 @@ public: \ingroup PkgKernel23ConceptsFunctionObjects \cgalConcept - \cgalRefines `AdaptableFunctor` (with one argument) + \cgalRefines{AdaptableUnaryFunction} \sa `CGAL::Direction_2` @@ -5268,7 +5291,7 @@ public: \ingroup PkgKernel23ConceptsFunctionObjects \cgalConcept - \cgalRefines `AdaptableFunctor` (with one argument) + \cgalRefines{AdaptableUnaryFunction} \sa `CGAL::Direction_3` @@ -5295,7 +5318,7 @@ public: \ingroup PkgKernel23ConceptsFunctionObjects \cgalConcept - \cgalRefines `AdaptableFunctor` (with one argument) + \cgalRefines{AdaptableUnaryFunction} \sa `CGAL::Line_2` @@ -5323,7 +5346,7 @@ public: \ingroup PkgKernel23ConceptsFunctionObjects \cgalConcept - \cgalRefines `AdaptableFunctor` (with one argument) + \cgalRefines{AdaptableUnaryFunction} \sa `CGAL::Line_3` @@ -5349,7 +5372,7 @@ public: \ingroup PkgKernel23ConceptsFunctionObjects \cgalConcept - \cgalRefines `AdaptableFunctor` (with one argument) + \cgalRefines{AdaptableUnaryFunction} \sa `CGAL::Plane_3` @@ -5375,7 +5398,7 @@ public: \ingroup PkgKernel23ConceptsFunctionObjects \cgalConcept - \cgalRefines `AdaptableFunctor` (with one argument) + \cgalRefines{AdaptableUnaryFunction} \sa `CGAL::Ray_2` @@ -5400,7 +5423,7 @@ public: \ingroup PkgKernel23ConceptsFunctionObjects \cgalConcept - \cgalRefines `AdaptableFunctor` (with one argument) + \cgalRefines{AdaptableUnaryFunction} \sa `CGAL::Ray_3` @@ -5426,7 +5449,7 @@ public: \ingroup PkgKernel23ConceptsFunctionObjects \cgalConcept - \cgalRefines `AdaptableFunctor` (with one argument) + \cgalRefines{AdaptableUnaryFunction} \sa `CGAL::Segment_2` @@ -5452,7 +5475,7 @@ public: \ingroup PkgKernel23ConceptsFunctionObjects \cgalConcept - \cgalRefines `AdaptableFunctor` (with one argument) + \cgalRefines{AdaptableUnaryFunction} \sa `CGAL::Segment_3` @@ -5480,7 +5503,7 @@ public: \ingroup PkgKernel23ConceptsFunctionObjects \cgalConcept - \cgalRefines `AdaptableFunctor` (with one argument) + \cgalRefines{AdaptableUnaryFunction} \sa `CGAL::Sphere_3` @@ -5506,7 +5529,7 @@ public: \ingroup PkgKernel23ConceptsFunctionObjects \cgalConcept - \cgalRefines `AdaptableFunctor` (with one argument) + \cgalRefines{AdaptableUnaryFunction} \sa `CGAL::Triangle_2` @@ -5534,7 +5557,7 @@ public: \ingroup PkgKernel23ConceptsFunctionObjects \cgalConcept - \cgalRefines `AdaptableFunctor` (with one argument) + \cgalRefines{AdaptableUnaryFunction} \sa `CGAL::Vector_2` @@ -5559,7 +5582,7 @@ public: \ingroup PkgKernel23ConceptsFunctionObjects \cgalConcept -\cgalRefines `AdaptableFunctor` (with one argument) +\cgalRefines{AdaptableUnaryFunction} \sa `CGAL::Vector_3` @@ -5585,7 +5608,7 @@ public: \ingroup PkgKernel23ConceptsFunctionObjects \cgalConcept - \cgalRefines `AdaptableFunctor` (with one argument) + \cgalRefines{AdaptableUnaryFunction} \sa `CGAL::Plane_3` \sa `Kernel::ConstructCrossProductVector_3` @@ -5621,7 +5644,7 @@ public: \ingroup PkgKernel23ConceptsFunctionObjects \cgalConcept - \cgalRefines `AdaptableFunctor` (with two arguments) + \cgalRefines{AdaptableBinaryFunction} \sa `CGAL::Direction_2` @@ -5651,7 +5674,7 @@ public: \ingroup PkgKernel23ConceptsFunctionObjects \cgalConcept - \cgalRefines `AdaptableFunctor` (with two arguments) + \cgalRefines{AdaptableBinaryFunction} \sa `CGAL::Line_2` @@ -5679,7 +5702,7 @@ public: \ingroup PkgKernel23ConceptsFunctionObjects \cgalConcept - \cgalRefines `AdaptableFunctor` (with two arguments) + \cgalRefines{AdaptableBinaryFunction} \sa `CGAL::Plane_3` @@ -5709,7 +5732,7 @@ public: \ingroup PkgKernel23ConceptsFunctionObjects \cgalConcept - \cgalRefines `AdaptableFunctor` (with two arguments) + \cgalRefines{AdaptableBinaryFunction} \sa `CGAL::Plane_3` @@ -5737,7 +5760,7 @@ public: \ingroup PkgKernel23ConceptsFunctionObjects \cgalConcept - \cgalRefines `AdaptableFunctor` (with two arguments) + \cgalRefines{AdaptableBinaryFunction} \sa `CGAL::Vector_2` @@ -5767,7 +5790,7 @@ public: \ingroup PkgKernel23ConceptsFunctionObjects \cgalConcept - \cgalRefines `AdaptableFunctor` (with two arguments) + \cgalRefines{AdaptableBinaryFunction} \sa `CGAL::Plane_3` @@ -5848,7 +5871,7 @@ public: \ingroup PkgKernel23ConceptsFunctionObjects \cgalConcept - \cgalRefines `AdaptableFunctor` (with two arguments) + \cgalRefines{AdaptableBinaryFunction} \sa `CGAL::Line_2` \sa `CGAL::Ray_2` @@ -5897,7 +5920,7 @@ public: \ingroup PkgKernel23ConceptsFunctionObjects \cgalConcept - \cgalRefines `AdaptableFunctor` (with two arguments) + \cgalRefines{AdaptableBinaryFunction} \sa `CGAL::Line_3` \sa `CGAL::Plane_3` @@ -5951,7 +5974,7 @@ public: \ingroup PkgKernel23ConceptsFunctionObjects \cgalConcept - \cgalRefines `AdaptableFunctor` (with one argument) + \cgalRefines{AdaptableUnaryFunction} \sa `CGAL::Point_2` @@ -5992,7 +6015,7 @@ public: \ingroup PkgKernel23ConceptsFunctionObjects \cgalConcept - \cgalRefines `AdaptableFunctor` (with one argument) + \cgalRefines{AdaptableUnaryFunction} \sa `CGAL::Point_3` @@ -6032,7 +6055,7 @@ public: \ingroup PkgKernel23ConceptsFunctionObjects \cgalConcept - \cgalRefines `AdaptableFunctor` (with two arguments) + \cgalRefines{AdaptableBinaryFunction} \sa `CGAL::Line_2` @@ -6058,7 +6081,7 @@ public: \ingroup PkgKernel23ConceptsFunctionObjects \cgalConcept - \cgalRefines `AdaptableFunctor` (with two arguments) + \cgalRefines{AdaptableBinaryFunction} \sa `CGAL::Line_3` \sa `CGAL::Plane_3` @@ -6109,7 +6132,7 @@ public: \ingroup PkgKernel23ConceptsFunctionObjects \cgalConcept - \cgalRefines `AdaptableFunctor` (with two arguments) + \cgalRefines{AdaptableBinaryFunction} \sa `CGAL::Plane_3` \sa `ConstructLiftedPoint_3` @@ -6141,7 +6164,7 @@ public: \ingroup PkgKernel23ConceptsFunctionObjects \cgalConcept - \cgalRefines `AdaptableFunctor` (with two arguments) + \cgalRefines{AdaptableBinaryFunction} \sa `CGAL::Weighted_point_2` @@ -6166,7 +6189,7 @@ public: \ingroup PkgKernel23ConceptsFunctionObjects \cgalConcept - \cgalRefines `AdaptableFunctor` (with two arguments) + \cgalRefines{AdaptableBinaryFunction} \sa `CGAL::Circle_2` @@ -6195,7 +6218,7 @@ public: \ingroup PkgKernel23ConceptsFunctionObjects \cgalConcept - \cgalRefines `AdaptableFunctor` (with two argument) + \cgalRefines{AdaptableBinaryFunction} \sa `CGAL::Sphere_3` @@ -6223,7 +6246,7 @@ public: \ingroup PkgKernel23ConceptsFunctionObjects \cgalConcept - \cgalRefines `AdaptableFunctor` (with two arguments) + \cgalRefines{AdaptableBinaryFunction} \sa `CGAL::Ray_2` @@ -6271,7 +6294,7 @@ public: \ingroup PkgKernel23ConceptsFunctionObjects \cgalConcept - \cgalRefines `AdaptableFunctor` (with two arguments) + \cgalRefines{AdaptableBinaryFunction} \sa `CGAL::Ray_3` @@ -6319,7 +6342,7 @@ public: \ingroup PkgKernel23ConceptsFunctionObjects \cgalConcept - \cgalRefines `AdaptableFunctor` (with two arguments) + \cgalRefines{AdaptableBinaryFunction} \sa `CGAL::Vector_2` */ @@ -6348,7 +6371,7 @@ public: \ingroup PkgKernel23ConceptsFunctionObjects \cgalConcept - \cgalRefines `AdaptableFunctor` (with two arguments) + \cgalRefines{AdaptableBinaryFunction} \sa `CGAL::Vector_3` @@ -6381,7 +6404,7 @@ public: \ingroup PkgKernel23ConceptsFunctionObjects \cgalConcept - \cgalRefines `AdaptableFunctor` (with one argument) + \cgalRefines{AdaptableUnaryFunction} \sa `CGAL::Ray_2` @@ -6409,7 +6432,7 @@ public: \ingroup PkgKernel23ConceptsFunctionObjects \cgalConcept - \cgalRefines `AdaptableFunctor` (with one argument) + \cgalRefines{AdaptableUnaryFunction} \sa `CGAL::Ray_3` @@ -6437,7 +6460,7 @@ public: \ingroup PkgKernel23ConceptsFunctionObjects \cgalConcept - \cgalRefines `AdaptableFunctor` (with two arguments) + \cgalRefines{AdaptableBinaryFunction} \sa `CGAL::Segment_2` @@ -6464,7 +6487,7 @@ public: \ingroup PkgKernel23ConceptsFunctionObjects \cgalConcept - \cgalRefines `AdaptableFunctor` (with two arguments) + \cgalRefines{AdaptableBinaryFunction} \sa `CGAL::Segment_3` @@ -6491,7 +6514,7 @@ public: \ingroup PkgKernel23ConceptsFunctionObjects \cgalConcept - \cgalRefines `AdaptableFunctor` (with one argument) + \cgalRefines{AdaptableUnaryFunction} \sa `CGAL::Segment_2` \sa `CGAL::Ray_2` @@ -6527,7 +6550,7 @@ public: \ingroup PkgKernel23ConceptsFunctionObjects \cgalConcept - \cgalRefines `AdaptableFunctor` (with one argument) + \cgalRefines{AdaptableUnaryFunction} \sa `CGAL::Segment_3` \sa `CGAL::Ray_3` @@ -6563,7 +6586,7 @@ public: \ingroup PkgKernel23ConceptsFunctionObjects \cgalConcept - \cgalRefines `AdaptableFunctor` (with four arguments) + \cgalRefines{AdaptableQuaternaryFunction} \sa `CGAL::Sphere_3` @@ -6639,7 +6662,7 @@ public: \ingroup PkgKernel23ConceptsFunctionObjects \cgalConcept - \cgalRefines `AdaptableFunctor` (with two arguments) + \cgalRefines{AdaptableBinaryFunction} \sa `CGAL::Vector_2` @@ -6667,7 +6690,7 @@ public: \ingroup PkgKernel23ConceptsFunctionObjects \cgalConcept - \cgalRefines `AdaptableFunctor` (with two arguments) + \cgalRefines{AdaptableBinaryFunction} \sa `CGAL::Vector_3` @@ -6693,7 +6716,7 @@ public: \ingroup PkgKernel23ConceptsFunctionObjects \cgalConcept - \cgalRefines `AdaptableFunctor` (with one argument) + \cgalRefines{AdaptableUnaryFunction} \sa `CGAL::Triangle_3` @@ -6718,7 +6741,7 @@ public: \ingroup PkgKernel23ConceptsFunctionObjects \cgalConcept - \cgalRefines `AdaptableFunctor` (with one argument) + \cgalRefines{AdaptableUnaryFunction} \sa `CGAL::Segment_2` @@ -6745,7 +6768,7 @@ public: \ingroup PkgKernel23ConceptsFunctionObjects \cgalConcept - \cgalRefines `AdaptableFunctor` (with one argument) + \cgalRefines{AdaptableUnaryFunction} \sa `CGAL::Segment_3` @@ -6772,7 +6795,7 @@ public: \ingroup PkgKernel23ConceptsFunctionObjects \cgalConcept - \cgalRefines `AdaptableFunctor` (with four arguments) + \cgalRefines{AdaptableQuaternaryFunction} \sa `CGAL::Tetrahedron_3` @@ -6800,7 +6823,7 @@ public: \ingroup PkgKernel23ConceptsFunctionObjects \cgalConcept - \cgalRefines `AdaptableFunctor` (with two arguments) + \cgalRefines{AdaptableBinaryFunction} \sa `CGAL::Point_2` @@ -6836,7 +6859,7 @@ public: \ingroup PkgKernel23ConceptsFunctionObjects \cgalConcept - \cgalRefines `AdaptableFunctor` (with two arguments) + \cgalRefines{AdaptableBinaryFunction} \sa `CGAL::Point_3` @@ -6872,7 +6895,7 @@ public: \ingroup PkgKernel23ConceptsFunctionObjects \cgalConcept - \cgalRefines `AdaptableFunctor` (with three arguments) + \cgalRefines{AdaptableTernaryFunction} \sa `CGAL::Triangle_2` @@ -6899,7 +6922,7 @@ public: \ingroup PkgKernel23ConceptsFunctionObjects \cgalConcept - \cgalRefines `AdaptableFunctor` (with three arguments) + \cgalRefines{AdaptableTernaryFunction} \sa `CGAL::Triangle_3` @@ -6928,7 +6951,7 @@ public: \ingroup PkgKernel23ConceptsFunctionObjects \cgalConcept -\cgalRefines `AdaptableFunctor` (with three arguments) +\cgalRefines{AdaptableTernaryFunction} \sa `normal_grp` \sa `unit_normal_grp` @@ -6958,7 +6981,7 @@ public: \ingroup PkgKernel23ConceptsFunctionObjects \cgalConcept - \cgalRefines `AdaptableFunctor` (with two arguments) + \cgalRefines{AdaptableBinaryFunction} \sa `CGAL::Vector_2` \sa `Kernel::ConstructScaledVector_2` @@ -7018,7 +7041,7 @@ public: \ingroup PkgKernel23ConceptsFunctionObjects \cgalConcept - \cgalRefines `AdaptableFunctor` (with two arguments) + \cgalRefines{AdaptableBinaryFunction} \sa `CGAL::Vector_3` \sa `Kernel::ConstructScaledVector_3` @@ -7078,7 +7101,7 @@ public: \ingroup PkgKernel23ConceptsFunctionObjects \cgalConcept - \cgalRefines `AdaptableFunctor` (with two arguments) + \cgalRefines{AdaptableBinaryFunction} \sa `CGAL::Iso_rectangle_2` \sa `CGAL::Segment_2` @@ -7127,7 +7150,7 @@ public: \image html IsoCuboid.png \image latex IsoCuboid.png -\cgalRefines `AdaptableFunctor` (with two arguments) +\cgalRefines{AdaptableBinaryFunction} \sa `CGAL::Iso_cuboid_3` \sa `CGAL::Segment_3` @@ -7181,7 +7204,7 @@ public: \ingroup PkgKernel23ConceptsFunctionObjects \cgalConcept -\cgalRefines `AdaptableFunctor` (with two arguments) +\cgalRefines{AdaptableBinaryFunction} \sa `CGAL::Weighted_point_2` @@ -7207,7 +7230,7 @@ public: \ingroup PkgKernel23ConceptsFunctionObjects \cgalConcept -\cgalRefines `AdaptableFunctor` (with two arguments) +\cgalRefines{AdaptableBinaryFunction} \sa `CGAL::Weighted_point_3` @@ -7233,7 +7256,7 @@ public: \ingroup PkgKernel23ConceptsFunctionObjects \cgalConcept - \cgalRefines `AdaptableFunctor` (with one argument) + \cgalRefines{AdaptableUnaryFunction} \sa `CGAL::Weighted_point_2` */ @@ -7269,7 +7292,7 @@ public: \ingroup PkgKernel23ConceptsFunctionObjects \cgalConcept - \cgalRefines `AdaptableFunctor` (with one argument) + \cgalRefines{AdaptableUnaryFunction} \sa `CGAL::Weighted_point_3` @@ -7308,7 +7331,7 @@ public: \ingroup PkgKernel23ConceptsFunctionObjects \cgalConcept - \cgalRefines `AdaptableFunctor` (with four arguments) + \cgalRefines{AdaptableQuaternaryFunction} \sa `coplanar_orientation_grp` @@ -7363,7 +7386,7 @@ public: \ingroup PkgKernel23ConceptsFunctionObjects \cgalConcept - \cgalRefines `AdaptableFunctor` (with four arguments) + \cgalRefines{AdaptableQuaternaryFunction} \sa `coplanar_side_of_bounded_circle_grp` @@ -7393,7 +7416,7 @@ public: \ingroup PkgKernel23ConceptsFunctionObjects \cgalConcept - \cgalRefines `AdaptableFunctor` (with four arguments) + \cgalRefines{AdaptableQuaternaryFunction} \sa `coplanar_grp` @@ -7421,7 +7444,7 @@ public: \ingroup PkgKernel23ConceptsFunctionObjects \cgalConcept - \cgalRefines `AdaptableFunctor` (with three arguments) + \cgalRefines{AdaptableTernaryFunction} \sa `CGAL::Direction_2` @@ -7454,7 +7477,7 @@ public: \ingroup PkgKernel23ConceptsFunctionObjects \cgalConcept - \cgalRefines `AdaptableFunctor` (with two arguments) + \cgalRefines{AdaptableBinaryFunction} \sa `do_intersect_grp` @@ -7491,7 +7514,7 @@ public: \ingroup PkgKernel23ConceptsFunctionObjects \cgalConcept - \cgalRefines `AdaptableFunctor` (with two arguments) + \cgalRefines{AdaptableBinaryFunction} \sa `do_intersect_grp` @@ -7534,7 +7557,7 @@ public: \ingroup PkgKernel23ConceptsFunctionObjects \cgalConcept - \cgalRefines `AdaptableFunctor` (with two arguments) + \cgalRefines{AdaptableBinaryFunction} \sa `compare_xy_grp` @@ -7562,7 +7585,7 @@ public: \ingroup PkgKernel23ConceptsFunctionObjects \cgalConcept - \cgalRefines `AdaptableFunctor` (with two arguments) + \cgalRefines{AdaptableBinaryFunction} \sa `x_equal_grp` @@ -7588,7 +7611,7 @@ public: \ingroup PkgKernel23ConceptsFunctionObjects \cgalConcept - \cgalRefines `AdaptableFunctor` (with two arguments) + \cgalRefines{AdaptableBinaryFunction} \sa `x_equal_grp` @@ -7614,7 +7637,7 @@ public: \ingroup PkgKernel23ConceptsFunctionObjects \cgalConcept - \cgalRefines `AdaptableFunctor` (with two arguments) + \cgalRefines{AdaptableBinaryFunction} \sa `y_equal_grp` @@ -7640,7 +7663,7 @@ public: \ingroup PkgKernel23ConceptsFunctionObjects \cgalConcept - \cgalRefines `AdaptableFunctor` (with two arguments) + \cgalRefines{AdaptableBinaryFunction} \sa `y_equal_grp` @@ -7666,7 +7689,7 @@ public: \ingroup PkgKernel23ConceptsFunctionObjects \cgalConcept - \cgalRefines `AdaptableFunctor` (with two arguments) + \cgalRefines{AdaptableBinaryFunction} \sa `z_equal_grp` @@ -7692,7 +7715,7 @@ public: \ingroup PkgKernel23ConceptsFunctionObjects \cgalConcept - \cgalRefines `AdaptableFunctor` (with two arguments) + \cgalRefines{AdaptableBinaryFunction} \sa `CGAL::Circle_2` \sa `CGAL::Direction_2` @@ -7775,7 +7798,7 @@ public: \ingroup PkgKernel23ConceptsFunctionObjects \cgalConcept - \cgalRefines `AdaptableFunctor` (with two arguments) + \cgalRefines{AdaptableBinaryFunction} \sa `CGAL::Direction_3` \sa `CGAL::Iso_cuboid_3` @@ -7879,7 +7902,7 @@ public: \ingroup PkgKernel23ConceptsFunctionObjects \cgalConcept - \cgalRefines `AdaptableFunctor` (with two arguments) + \cgalRefines{AdaptableBinaryFunction} \sa `CGAL::Circle_2` \sa `CGAL::Iso_rectangle_2` @@ -7923,7 +7946,7 @@ public: \ingroup PkgKernel23ConceptsFunctionObjects \cgalConcept - \cgalRefines `AdaptableFunctor` (with two arguments) + \cgalRefines{AdaptableBinaryFunction} \sa `CGAL::Iso_cuboid_3` \sa `CGAL::Sphere_3` @@ -7966,7 +7989,7 @@ public: \ingroup PkgKernel23ConceptsFunctionObjects \cgalConcept - \cgalRefines `AdaptableFunctor` (with two arguments) + \cgalRefines{AdaptableBinaryFunction} \sa `CGAL::Circle_2` \sa `CGAL::Iso_rectangle_2` @@ -8009,7 +8032,7 @@ public: \ingroup PkgKernel23ConceptsFunctionObjects \cgalConcept - \cgalRefines `AdaptableFunctor` (with two arguments) + \cgalRefines{AdaptableBinaryFunction} \sa `CGAL::Iso_cuboid_3` \sa `CGAL::Sphere_3` @@ -8061,7 +8084,7 @@ public: \ingroup PkgKernel23ConceptsFunctionObjects \cgalConcept - \cgalRefines `AdaptableFunctor` (with two arguments) + \cgalRefines{AdaptableBinaryFunction} \sa `CGAL::Circle_2` \sa `CGAL::Line_2` @@ -8103,7 +8126,7 @@ public: \ingroup PkgKernel23ConceptsFunctionObjects \cgalConcept - \cgalRefines `AdaptableFunctor` (with two arguments) + \cgalRefines{AdaptableBinaryFunction} \sa `CGAL::Plane_3` \sa `CGAL::Sphere_3` @@ -8144,7 +8167,7 @@ public: \ingroup PkgKernel23ConceptsFunctionObjects \cgalConcept - \cgalRefines `AdaptableFunctor` (with two arguments) + \cgalRefines{AdaptableBinaryFunction} \sa `CGAL::Circle_2` \sa `CGAL::Line_2` @@ -8185,7 +8208,7 @@ public: \ingroup PkgKernel23ConceptsFunctionObjects \cgalConcept - \cgalRefines `AdaptableFunctor` (with two arguments) + \cgalRefines{AdaptableBinaryFunction} \sa `CGAL::Plane_3` \sa `CGAL::Sphere_3` @@ -8226,7 +8249,7 @@ public: \ingroup PkgKernel23ConceptsFunctionObjects \cgalConcept - \cgalRefines `AdaptableFunctor` (with two arguments) + \cgalRefines{AdaptableBinaryFunction} \sa `CGAL::Circle_2` \sa `CGAL::Iso_rectangle_2` @@ -8271,7 +8294,7 @@ public: \ingroup PkgKernel23ConceptsFunctionObjects \cgalConcept - \cgalRefines `AdaptableFunctor` (with two arguments) + \cgalRefines{AdaptableBinaryFunction} \sa `CGAL::Iso_cuboid_3` \sa `CGAL::Sphere_3` @@ -8315,7 +8338,7 @@ public: \ingroup PkgKernel23ConceptsFunctionObjects \cgalConcept - \cgalRefines `AdaptableFunctor` (with two arguments) + \cgalRefines{AdaptableBinaryFunction} \sa `CGAL::Line_2` \sa `CGAL::Ray_2` @@ -8356,7 +8379,7 @@ public: \ingroup PkgKernel23ConceptsFunctionObjects \cgalConcept - \cgalRefines `AdaptableFunctor` (with two arguments) + \cgalRefines{AdaptableBinaryFunction} \sa `CGAL::Circle_3` \sa `CGAL::Line_3` @@ -8443,7 +8466,7 @@ public: \ingroup PkgKernel23ConceptsFunctionObjects \cgalConcept - \cgalRefines `AdaptableFunctor` (with two arguments) + \cgalRefines{AdaptableBinaryFunction} \sa \link intersection_grp `CGAL::intersection()` \endlink */ @@ -8470,7 +8493,7 @@ public: \ingroup PkgKernel23ConceptsFunctionObjects \cgalConcept - \cgalRefines `AdaptableFunctor` (with two or three arguments) + \cgalRefines{AdaptableBinaryFunctor, AdaptableTernaryFunctor} \sa intersection_linear_grp */ @@ -8499,7 +8522,7 @@ public: \ingroup PkgKernel23ConceptsFunctionObjects \cgalConcept - \cgalRefines `AdaptableFunctor` (with one argument) + \cgalRefines{AdaptableUnaryFunction} \sa `CGAL::Circle_2` \sa `CGAL::Iso_rectangle_2` @@ -8554,7 +8577,7 @@ public: \ingroup PkgKernel23ConceptsFunctionObjects \cgalConcept - \cgalRefines `AdaptableFunctor` (with one argument) + \cgalRefines{AdaptableUnaryFunction} \sa `CGAL::Circle_3` \sa `CGAL::Iso_cuboid_3` @@ -8628,7 +8651,7 @@ public: \ingroup PkgKernel23ConceptsFunctionObjects \cgalConcept - \cgalRefines `AdaptableFunctor` (with one argument) + \cgalRefines{AdaptableUnaryFunction} \sa `CGAL::Line_2` \sa `CGAL::Ray_2` @@ -8665,7 +8688,7 @@ public: \ingroup PkgKernel23ConceptsFunctionObjects \cgalConcept - \cgalRefines `AdaptableFunctor` (with one argument) + \cgalRefines{AdaptableUnaryFunction} \sa `CGAL::Line_2` \sa `CGAL::Ray_2` @@ -8704,7 +8727,7 @@ public: \ingroup PkgKernel23ConceptsFunctionObjects \cgalConcept - \cgalRefines `AdaptableFunctor` (with three arguments) + \cgalRefines{AdaptableTernaryFunction} \sa `left_turn_grp` @@ -8732,7 +8755,7 @@ public: \ingroup PkgKernel23ConceptsFunctionObjects \cgalConcept - \cgalRefines `AdaptableFunctor` (with three arguments) + \cgalRefines{AdaptableTernaryFunction} \sa `has_smaller_distance_to_point_grp` @@ -8761,7 +8784,7 @@ public: \ingroup PkgKernel23ConceptsFunctionObjects \cgalConcept - \cgalRefines `AdaptableFunctor` (with three arguments) + \cgalRefines{AdaptableTernaryFunction} \sa `has_smaller_distance_to_point_grp` @@ -8789,7 +8812,7 @@ public: \ingroup PkgKernel23ConceptsFunctionObjects \cgalConcept - \cgalRefines `AdaptableFunctor` (with three arguments) + \cgalRefines{AdaptableTernaryFunction} */ class LessRotateCCW_2 { @@ -8820,7 +8843,7 @@ public: \ingroup PkgKernel23ConceptsFunctionObjects \cgalConcept - \cgalRefines `AdaptableFunctor` (with four arguments) + \cgalRefines{AdaptableQuaternaryFunction} \sa `has_smaller_signed_distance_to_line_grp` @@ -8862,7 +8885,7 @@ public: \ingroup PkgKernel23ConceptsFunctionObjects \cgalConcept - \cgalRefines `AdaptableFunctor` (with three arguments) + \cgalRefines{AdaptableTernaryFunction} \sa `has_smaller_signed_distance_to_plane_grp` @@ -8902,7 +8925,7 @@ public: \ingroup PkgKernel23ConceptsFunctionObjects \cgalConcept - \cgalRefines `AdaptableFunctor` (with two arguments) + \cgalRefines{AdaptableBinaryFunction} \sa `lexicographically_xyz_smaller_grp` @@ -8932,7 +8955,7 @@ public: \ingroup PkgKernel23ConceptsFunctionObjects \cgalConcept - \cgalRefines `AdaptableFunctor` (with two arguments) + \cgalRefines{AdaptableBinaryFunction} \sa `lexicographically_xy_smaller_grp` @@ -8961,7 +8984,7 @@ public: \ingroup PkgKernel23ConceptsFunctionObjects \cgalConcept - \cgalRefines `AdaptableFunctor` (with two arguments) + \cgalRefines{AdaptableBinaryFunction} \sa `compare_xy_grp` @@ -8989,7 +9012,7 @@ public: \ingroup PkgKernel23ConceptsFunctionObjects \cgalConcept - \cgalRefines `AdaptableFunctor` (with two arguments) + \cgalRefines{AdaptableBinaryFunction} \sa `compare_x_grp` @@ -9017,7 +9040,7 @@ public: \ingroup PkgKernel23ConceptsFunctionObjects \cgalConcept - \cgalRefines `AdaptableFunctor` (with two arguments) + \cgalRefines{AdaptableBinaryFunction} \sa `compare_x_grp` @@ -9044,7 +9067,7 @@ public: \ingroup PkgKernel23ConceptsFunctionObjects \cgalConcept - \cgalRefines `AdaptableFunctor` (with two arguments) + \cgalRefines{AdaptableBinaryFunction} \sa `compare_yx_grp` @@ -9072,7 +9095,7 @@ public: \ingroup PkgKernel23ConceptsFunctionObjects \cgalConcept - \cgalRefines `AdaptableFunctor` (with two arguments) + \cgalRefines{AdaptableBinaryFunction} \sa `compare_y_grp` @@ -9099,7 +9122,7 @@ public: \ingroup PkgKernel23ConceptsFunctionObjects \cgalConcept - \cgalRefines `AdaptableFunctor` (with two arguments) + \cgalRefines{AdaptableBinaryFunction} \sa `compare_y_grp` @@ -9154,7 +9177,7 @@ public: \ingroup PkgKernel23ConceptsFunctionObjects \cgalConcept - \cgalRefines `AdaptableFunctor` (with one arguments) + \cgalRefines{AdaptableUnaryFunction} */ class NonZeroCoordinateIndex_3 { @@ -9179,7 +9202,7 @@ public: \ingroup PkgKernel23ConceptsFunctionObjects \cgalConcept - \cgalRefines `AdaptableFunctor` (with three arguments) + \cgalRefines{AdaptableTernaryFunction} \sa `orientation_grp` @@ -9218,7 +9241,7 @@ public: \ingroup PkgKernel23ConceptsFunctionObjects \cgalConcept - \cgalRefines `AdaptableFunctor` (with four arguments) + \cgalRefines{AdaptableQuaternaryFunction} \sa `orientation_grp` @@ -9264,7 +9287,7 @@ public: \ingroup PkgKernel23ConceptsFunctionObjects \cgalConcept - \cgalRefines `AdaptableFunctor` (with two arguments) + \cgalRefines{AdaptableBinaryFunction} \sa `CGAL::Circle_2` \sa `CGAL::Line_2` @@ -9321,7 +9344,7 @@ public: \ingroup PkgKernel23ConceptsFunctionObjects \cgalConcept - \cgalRefines `AdaptableFunctor` (with two arguments) + \cgalRefines{AdaptableBinaryFunction} \sa `CGAL::Plane_3` \sa `CGAL::Sphere_3` @@ -9379,7 +9402,7 @@ public: \ingroup PkgKernel23ConceptsFunctionObjects \cgalConcept -\cgalRefines `AdaptableFunctor` (with four arguments) +\cgalRefines{AdaptableQuaternaryFunction} \sa `CGAL::Weighted_point_2` \sa `ComputePowerProduct_2` for the definition of orthogonality for power distances. @@ -9445,7 +9468,7 @@ public: \ingroup PkgKernel23ConceptsFunctionObjects \cgalConcept -\cgalRefines `AdaptableFunctor` (with five arguments) +\cgalRefines{AdaptableQuinaryFunction} \sa `CGAL::Weighted_point_3` \sa `ComputePowerProduct_3` for the definition of orthogonality for power distances. @@ -9526,7 +9549,7 @@ public: \ingroup PkgKernel23ConceptsFunctionObjects \cgalConcept - \cgalRefines `AdaptableFunctor` (with four arguments) + \cgalRefines{AdaptableQuaternaryFunction} \sa `CGAL::Weighted_point_2` \sa `ComputePowerProduct_2` for the definition of power distance. @@ -9563,7 +9586,7 @@ class PowerSideOfOrientedPowerCircle_2 \ingroup PkgKernel23ConceptsFunctionObjects \cgalConcept -\cgalRefines `AdaptableFunctor` (with five arguments) +\cgalRefines{AdaptableQuinaryFunction} \sa `CGAL::Weighted_point_3` \sa `ComputePowerProduct_3` for the definition of power distance. @@ -9612,7 +9635,7 @@ public: \ingroup PkgKernel23ConceptsFunctionObjects \cgalConcept - \cgalRefines `AdaptableFunctor` (with four arguments) + \cgalRefines{AdaptableQuaternaryFunction} \sa `side_of_bounded_circle_grp` @@ -9652,7 +9675,7 @@ public: \ingroup PkgKernel23ConceptsFunctionObjects \cgalConcept - \cgalRefines `AdaptableFunctor` (with five arguments) + \cgalRefines{AdaptableQuinaryFunction} \sa `side_of_bounded_sphere_grp` @@ -9704,7 +9727,7 @@ public: \ingroup PkgKernel23ConceptsFunctionObjects \cgalConcept - \cgalRefines `AdaptableFunctor` (with four arguments) + \cgalRefines{AdaptableQuaternaryFunction} \sa `side_of_oriented_circle_grp` @@ -9744,7 +9767,7 @@ public: \ingroup PkgKernel23ConceptsFunctionObjects \cgalConcept - \cgalRefines `AdaptableFunctor` (with five arguments) + \cgalRefines{AdaptableQuinaryFunction} \sa `side_of_oriented_sphere_grp` diff --git a/Kernel_23/doc/Kernel_23/Concepts/GeomObjects.h b/Kernel_23/doc/Kernel_23/Concepts/GeomObjects.h index 2b59a48ca23..d7fa271e560 100644 --- a/Kernel_23/doc/Kernel_23/Concepts/GeomObjects.h +++ b/Kernel_23/doc/Kernel_23/Concepts/GeomObjects.h @@ -6,9 +6,7 @@ namespace Kernel { A type representing circles in two dimensions. - \cgalRefines CopyConstructible - \cgalRefines Assignable - \cgalRefines DefaultConstructible + \cgalRefines{CopyConstructible,Assignable,DefaultConstructible} \cgalHasModel `CGAL::Circle_2` @@ -38,9 +36,7 @@ public: A type representing circles in three dimensions. - \cgalRefines CopyConstructible - \cgalRefines Assignable - \cgalRefines DefaultConstructible + \cgalRefines{CopyConstructible,Assignable,DefaultConstructible} \cgalHasModel `CGAL::Circle_3` @@ -69,9 +65,7 @@ public: A type representing directions in two dimensions. - \cgalRefines CopyConstructible - \cgalRefines Assignable - \cgalRefines DefaultConstructible + \cgalRefines{CopyConstructible,Assignable,DefaultConstructible} \cgalHasModel `CGAL::Direction_2` @@ -95,9 +89,7 @@ public: A type representing directions in three dimensions. - \cgalRefines CopyConstructible - \cgalRefines Assignable - \cgalRefines DefaultConstructible + \cgalRefines{CopyConstructible,Assignable,DefaultConstructible} \cgalHasModel `CGAL::Direction_3` @@ -117,9 +109,7 @@ public: A type representing isocuboids in three dimensions. -\cgalRefines CopyConstructible -\cgalRefines Assignable -\cgalRefines DefaultConstructible + \cgalRefines{CopyConstructible,Assignable,DefaultConstructible} \cgalHasModel `CGAL::Iso_cuboid_3` @@ -144,9 +134,7 @@ public: A type representing iso-rectangles in two dimensions. - \cgalRefines CopyConstructible - \cgalRefines Assignable - \cgalRefines DefaultConstructible + \cgalRefines{CopyConstructible,Assignable,DefaultConstructible} \cgalHasModel `CGAL::Iso_rectangle_2` @@ -178,9 +166,7 @@ public: A type representing straight lines (and halfspaces) in two dimensions. - \cgalRefines CopyConstructible - \cgalRefines Assignable - \cgalRefines DefaultConstructible + \cgalRefines{CopyConstructible,Assignable,DefaultConstructible} \cgalHasModel `CGAL::Line_2` @@ -216,9 +202,7 @@ public: A type representing straight lines in three dimensions. - \cgalRefines CopyConstructible - \cgalRefines Assignable - \cgalRefines DefaultConstructible + \cgalRefines{CopyConstructible,Assignable,DefaultConstructible} \cgalHasModel `CGAL::Line_3` @@ -249,9 +233,7 @@ public: \deprecated This class is deprecated since \cgal 4.3 and type safe ways should be preferred. - \cgalRefines CopyConstructible - \cgalRefines Assignable - \cgalRefines DefaultConstructible + \cgalRefines{CopyConstructible,Assignable,DefaultConstructible} \cgalHasModel `CGAL::Object` @@ -272,9 +254,7 @@ public: \deprecated This class is deprecated since \cgal 4.3 and type safe ways should be preferred. - \cgalRefines CopyConstructible - \cgalRefines Assignable - \cgalRefines DefaultConstructible + \cgalRefines{CopyConstructible,Assignable,DefaultConstructible} \cgalHasModel `CGAL::Object` @@ -293,9 +273,7 @@ public: A type representing planes (and half-spaces) in three dimensions. - \cgalRefines CopyConstructible - \cgalRefines Assignable - \cgalRefines DefaultConstructible + \cgalRefines{CopyConstructible,Assignable,DefaultConstructible} \cgalHasModel `CGAL::Plane_3` @@ -332,9 +310,7 @@ public: A type representing points in two dimensions. - \cgalRefines CopyConstructible - \cgalRefines Assignable - \cgalRefines DefaultConstructible + \cgalRefines{CopyConstructible,Assignable,DefaultConstructible} \cgalHasModel `CGAL::Point_2` @@ -393,9 +369,7 @@ public: A type representing points in three dimensions. - \cgalRefines CopyConstructible - \cgalRefines Assignable - \cgalRefines DefaultConstructible + \cgalRefines{CopyConstructible,Assignable,DefaultConstructible} \cgalHasModel `CGAL::Point_3` @@ -456,9 +430,7 @@ public: A type representing rays in two dimensions. -\cgalRefines CopyConstructible -\cgalRefines Assignable -\cgalRefines DefaultConstructible + \cgalRefines{CopyConstructible,Assignable,DefaultConstructible} \cgalHasModel `CGAL::Ray_2` @@ -490,9 +462,7 @@ public: A type representing rays in three dimensions. - \cgalRefines CopyConstructible - \cgalRefines Assignable - \cgalRefines DefaultConstructible + \cgalRefines{CopyConstructible,Assignable,DefaultConstructible} \cgalHasModel `CGAL::Ray_3` @@ -520,9 +490,7 @@ public: A type representing segments in two dimensions. - \cgalRefines CopyConstructible - \cgalRefines Assignable - \cgalRefines DefaultConstructible + \cgalRefines{CopyConstructible,Assignable,DefaultConstructible} \cgalHasModel `CGAL::Segment_2` @@ -556,9 +524,7 @@ public: A type representing segments in three dimensions. - \cgalRefines CopyConstructible - \cgalRefines Assignable - \cgalRefines DefaultConstructible + \cgalRefines{CopyConstructible,Assignable,DefaultConstructible} \cgalHasModel `CGAL::Segment_3` @@ -588,9 +554,7 @@ public: A type representing spheres in three dimensions. - \cgalRefines CopyConstructible - \cgalRefines Assignable - \cgalRefines DefaultConstructible + \cgalRefines{CopyConstructible,Assignable,DefaultConstructible} \cgalHasModel `CGAL::Sphere_3` @@ -620,9 +584,7 @@ public: A type representing tetrahedra in three dimensions. - \cgalRefines CopyConstructible - \cgalRefines Assignable - \cgalRefines DefaultConstructible + \cgalRefines{CopyConstructible,Assignable,DefaultConstructible} \cgalHasModel `CGAL::Tetrahedron_3` @@ -653,9 +615,7 @@ public: A type representing triangles in two dimensions. - \cgalRefines CopyConstructible - \cgalRefines Assignable - \cgalRefines DefaultConstructible + \cgalRefines{CopyConstructible,Assignable,DefaultConstructible} \cgalHasModel `CGAL::Triangle_2` @@ -688,9 +648,7 @@ public: A type representing triangles in three dimensions. - \cgalRefines CopyConstructible - \cgalRefines Assignable - \cgalRefines DefaultConstructible + \cgalRefines{CopyConstructible,Assignable,DefaultConstructible} \cgalHasModel `CGAL::Triangle_3` @@ -715,9 +673,7 @@ public: A type representing vectors in two dimensions. - \cgalRefines CopyConstructible - \cgalRefines Assignable - \cgalRefines DefaultConstructible + \cgalRefines{CopyConstructible,Assignable,DefaultConstructible} \cgalHasModel `CGAL::Vector_2` @@ -750,9 +706,7 @@ public: A type representing vectors in three dimensions. -\cgalRefines CopyConstructible -\cgalRefines Assignable -\cgalRefines DefaultConstructible +\cgalRefines{CopyConstructible,Assignable,DefaultConstructible} \cgalHasModel `CGAL::Vector_3` @@ -788,9 +742,7 @@ public: A type representing weighted points in two dimensions. -\cgalRefines CopyConstructible -\cgalRefines Assignable -\cgalRefines DefaultConstructible +\cgalRefines{CopyConstructible,Assignable,DefaultConstructible} \cgalHasModel `CGAL::Weighted_point_2` @@ -817,9 +769,7 @@ public: A type representing weighted points in three dimensions. -\cgalRefines CopyConstructible -\cgalRefines Assignable -\cgalRefines DefaultConstructible +\cgalRefines{CopyConstructible,Assignable,DefaultConstructible} \cgalHasModel `CGAL::Weighted_point_3` diff --git a/Kernel_23/doc/Kernel_23/Concepts/Kernel.h b/Kernel_23/doc/Kernel_23/Concepts/Kernel.h index 8322937965d..3ff7dcfc133 100644 --- a/Kernel_23/doc/Kernel_23/Concepts/Kernel.h +++ b/Kernel_23/doc/Kernel_23/Concepts/Kernel.h @@ -1468,6 +1468,11 @@ public: */ typedef unspecified_type Less_distance_to_point_3; + /*! + a model of `Kernel::CompareAngle_3` + */ + typedef unspecified_type Compare_angle_3; + /*! a model of `Kernel::CompareDihedralAngle_3` */ diff --git a/Kernel_23/doc/Kernel_23/PackageDescription.txt b/Kernel_23/doc/Kernel_23/PackageDescription.txt index 7f433bef675..1714b371c12 100644 --- a/Kernel_23/doc/Kernel_23/PackageDescription.txt +++ b/Kernel_23/doc/Kernel_23/PackageDescription.txt @@ -160,6 +160,7 @@ - \link compare_signed_distance_to_line_grp `CGAL::compare_signed_distance_to_line()` \endlink - \link compare_signed_distance_to_plane_grp `CGAL::compare_signed_distance_to_plane()` \endlink - \link compare_slopes_grp `CGAL::compare_slopes()` \endlink +- `CGAL::compare_angle()` - \link compare_dihedral_angle_grp `CGAL::compare_dihedral_angle()` \endlink - \link compare_squared_distance_grp `CGAL::compare_squared_distance()` \endlink - \link compare_squared_radius_grp `CGAL::compare_squared_radius()` \endlink diff --git a/Kernel_23/include/CGAL/Kernel/function_objects.h b/Kernel_23/include/CGAL/Kernel/function_objects.h index 71aa268e6d3..07468ad23a8 100644 --- a/Kernel_23/include/CGAL/Kernel/function_objects.h +++ b/Kernel_23/include/CGAL/Kernel/function_objects.h @@ -196,6 +196,49 @@ namespace CommonKernelFunctors { { return assign(t, o); } }; + template + class Compare_angle_3 + { + typedef typename K::Point_3 Point_3; + typedef typename K::Vector_3 Vector_3; + typedef typename K::FT FT; + public: + typedef typename K::Comparison_result result_type; + + result_type + operator()(const Point_3& a, const Point_3& b, const Point_3& c, + const FT& cosine) const + { + typename K::Compute_scalar_product_3 scalar_product = K().compute_scalar_product_3_object(); + typename K::Construct_vector_3 vector = K().construct_vector_3_object(); + typename K::Compute_squared_length_3 sq_length = K().compute_squared_length_3_object(); + + const Vector_3 ba = vector(b, a); + const Vector_3 bc = vector(b, c); + + typename K::FT sc_prod = scalar_product(ba, bc); + + if (sc_prod >= 0) + { + if (cosine >= 0) + return CGAL::compare(CGAL::square(cosine) + * sq_length(ba)*sq_length(bc), + CGAL::square(sc_prod)); + else + return SMALLER; + } + else + { + if (cosine >= 0) + return LARGER; + else + return CGAL::compare(CGAL::square(sc_prod), + CGAL::square(cosine) + * sq_length(ba)*sq_length(bc)); + } + } + }; + template class Compare_dihedral_angle_3 { diff --git a/Kernel_23/include/CGAL/Kernel/global_functions_3.h b/Kernel_23/include/CGAL/Kernel/global_functions_3.h index 21db33bec8d..e17211e184b 100644 --- a/Kernel_23/include/CGAL/Kernel/global_functions_3.h +++ b/Kernel_23/include/CGAL/Kernel/global_functions_3.h @@ -309,6 +309,15 @@ collinear_are_strictly_ordered_along_line(const Point_3 &p, return internal::collinear_are_strictly_ordered_along_line(p, q, r, K()); } +template < class K > +inline +typename K::Comparison_result +compare_angle(const Point_3& a, const Point_3& b, const Point_3& c, + const typename K::FT& cosine) +{ + return internal::compare_angle(a, b, c, cosine, K()); +} + template < class K > inline typename K::Comparison_result diff --git a/Kernel_23/include/CGAL/Kernel/global_functions_internal_3.h b/Kernel_23/include/CGAL/Kernel/global_functions_internal_3.h index 1ce5f497d68..e48ec201f38 100644 --- a/Kernel_23/include/CGAL/Kernel/global_functions_internal_3.h +++ b/Kernel_23/include/CGAL/Kernel/global_functions_internal_3.h @@ -321,6 +321,17 @@ collinear_are_strictly_ordered_along_line( return k.collinear_are_strictly_ordered_along_line_3_object()(p, q, r); } +template < class K > +inline +typename K::Comparison_result +compare_angle(const typename K::Point_3& a, + const typename K::Point_3& b, + const typename K::Point_3& c, + const typename K::FT& cosine, + const K& k) +{ + return k.compare_angle_3_object()(a, b, c, cosine); +} template < class K > inline diff --git a/Kernel_23/include/CGAL/Kernel/interface_macros.h b/Kernel_23/include/CGAL/Kernel/interface_macros.h index 9c85643a977..713e3773e56 100644 --- a/Kernel_23/include/CGAL/Kernel/interface_macros.h +++ b/Kernel_23/include/CGAL/Kernel/interface_macros.h @@ -98,6 +98,8 @@ CGAL_Kernel_pred(Collinear_2, collinear_2_object) CGAL_Kernel_pred(Collinear_3, collinear_3_object) +CGAL_Kernel_pred(Compare_angle_3, + compare_angle_3_object) CGAL_Kernel_pred(Compare_angle_with_x_axis_2, compare_angle_with_x_axis_2_object) CGAL_Kernel_pred(Compare_dihedral_angle_3, diff --git a/Kernel_23/test/Kernel_23/include/CGAL/_test_compare_angle_3.h b/Kernel_23/test/Kernel_23/include/CGAL/_test_compare_angle_3.h new file mode 100644 index 00000000000..573880380a1 --- /dev/null +++ b/Kernel_23/test/Kernel_23/include/CGAL/_test_compare_angle_3.h @@ -0,0 +1,39 @@ +// Copyright (c) 2009 GeometryFactory (France) +// +// This file is part of CGAL (www.cgal.org) +// +// $URL$ +// $Id$ +// SPDX-License-Identifier: LGPL-3.0-or-later OR LicenseRef-Commercial +// +// +// Author(s) : Laurent Rineau, Sebastien Loriot +// + +template +bool +_test_compare_angle_3(const R& rep) +{ + typedef typename R::Point_3 Point_3; + typedef typename R::FT FT; + typename R::Compare_angle_3 compare_angle + = rep.compare_angle_3_object(); + + for(int theta1 = -170; theta1 <= 180; theta1+= 10) + { + const double angle1 = CGAL_PI*theta1/180.; + Point_3 a(1, 0, 0); + Point_3 b(0, 0, 0); + Point_3 c((int)(std::cos(angle1)*1000), (int)(std::sin(angle1)*1000), 0); + + for(int theta2 = -170; theta2 <= 180; theta2+= 10) { + if (theta1!=0 && theta1!=180 && abs(theta1)==abs(theta2)) continue; + const double angle2 = CGAL_PI*theta2/180.; + if ( CGAL::compare(abs(theta1), abs(theta2)) != CGAL::compare_angle(a, b, c, FT(std::cos(angle2))) ) + return false; + if ( CGAL::compare(abs(theta1), abs(theta2)) != compare_angle(a, b, c, FT(std::cos(angle2))) ) + return false; + } // end loop on theta2 + } // end loop and theta1 + return true; +} diff --git a/Kernel_23/test/Kernel_23/include/CGAL/_test_new_3.h b/Kernel_23/test/Kernel_23/include/CGAL/_test_new_3.h index 2b4b26dd388..4ce2d1975e6 100644 --- a/Kernel_23/test/Kernel_23/include/CGAL/_test_new_3.h +++ b/Kernel_23/test/Kernel_23/include/CGAL/_test_new_3.h @@ -22,6 +22,7 @@ #include #include #include +#include #include #include @@ -624,6 +625,10 @@ test_new_3(const R& rep) bool tmp = _test_compare_dihedral_angle_3(rep); assert(tmp); } + { + bool tmp = _test_compare_angle_3(rep); + assert(tmp); + } typename R::Compare_distance_3 compare_dist = rep.compare_distance_3_object(); diff --git a/Kernel_d/doc/Kernel_d/Concepts/Kernel--CartesianConstIterator_d.h b/Kernel_d/doc/Kernel_d/Concepts/Kernel--CartesianConstIterator_d.h index 20a9138097f..c951a0735ef 100644 --- a/Kernel_d/doc/Kernel_d/Concepts/Kernel--CartesianConstIterator_d.h +++ b/Kernel_d/doc/Kernel_d/Concepts/Kernel--CartesianConstIterator_d.h @@ -6,9 +6,7 @@ A type representing an iterator to the Cartesian coordinates of a point in `d` dimensions. -\cgalRefines `CopyConstructible` -\cgalRefines `Assignable` -\cgalRefines `DefaultConstructible` +\cgalRefines{CopyConstructible,Assignable,DefaultConstructible} \cgalModels `BidirectionalIterator` diff --git a/Kernel_d/doc/Kernel_d/Concepts/Kernel--ConstructCartesianConstIterator_d.h b/Kernel_d/doc/Kernel_d/Concepts/Kernel--ConstructCartesianConstIterator_d.h index 150986a2cf4..b2585622b90 100644 --- a/Kernel_d/doc/Kernel_d/Concepts/Kernel--ConstructCartesianConstIterator_d.h +++ b/Kernel_d/doc/Kernel_d/Concepts/Kernel--ConstructCartesianConstIterator_d.h @@ -3,7 +3,7 @@ \ingroup PkgKernelDKernelConcept \cgalConcept -\cgalRefines `AdaptableFunctor` (with one argument) +\cgalRefines{AdaptableUnaryFunction} \sa `Kernel_d::CartesianConstIterator_d` diff --git a/Kernel_d/doc/Kernel_d/Concepts/Kernel--Construct_max_vertex_d.h b/Kernel_d/doc/Kernel_d/Concepts/Kernel--Construct_max_vertex_d.h index 1f27a871c2d..b4dc50544e1 100644 --- a/Kernel_d/doc/Kernel_d/Concepts/Kernel--Construct_max_vertex_d.h +++ b/Kernel_d/doc/Kernel_d/Concepts/Kernel--Construct_max_vertex_d.h @@ -3,7 +3,7 @@ \ingroup PkgKernelDKernelConcept \cgalConcept -\cgalRefines `AdaptableFunctor` (with one argument) +\cgalRefines{AdaptableUnaryFunction} */ class Kernel_d::Construct_max_vertex_d { diff --git a/Kernel_d/doc/Kernel_d/Concepts/Kernel--Construct_min_vertex_d.h b/Kernel_d/doc/Kernel_d/Concepts/Kernel--Construct_min_vertex_d.h index 94b42cfd666..b04b09bfffb 100644 --- a/Kernel_d/doc/Kernel_d/Concepts/Kernel--Construct_min_vertex_d.h +++ b/Kernel_d/doc/Kernel_d/Concepts/Kernel--Construct_min_vertex_d.h @@ -3,7 +3,7 @@ \ingroup PkgKernelDKernelConcept \cgalConcept -\cgalRefines `AdaptableFunctor` (with one argument) +\cgalRefines{AdaptableUnaryFunction} */ class Kernel_d::Construct_min_vertex_d { diff --git a/Kernel_d/doc/Kernel_d/Concepts/KernelWithLifting_d.h b/Kernel_d/doc/Kernel_d/Concepts/KernelWithLifting_d.h index a31bcc6ff3b..57cfbc7d058 100644 --- a/Kernel_d/doc/Kernel_d/Concepts/KernelWithLifting_d.h +++ b/Kernel_d/doc/Kernel_d/Concepts/KernelWithLifting_d.h @@ -7,7 +7,7 @@ The concept of a kernel with lifting is a small refinement of the general kernel concept. It adds 2 functors, the meaning of which would be unclear in kernels of fixed dimension. -\cgalRefines `Kernel_d` +\cgalRefines{Kernel_d} \cgalHasModel `CGAL::Cartesian_d` \cgalHasModel `CGAL::Homogeneous_d` */ diff --git a/Linear_cell_complex/doc/Linear_cell_complex/Concepts/CellAttributeWithPoint.h b/Linear_cell_complex/doc/Linear_cell_complex/Concepts/CellAttributeWithPoint.h index be301610300..4e7e19343b9 100644 --- a/Linear_cell_complex/doc/Linear_cell_complex/Concepts/CellAttributeWithPoint.h +++ b/Linear_cell_complex/doc/Linear_cell_complex/Concepts/CellAttributeWithPoint.h @@ -5,7 +5,7 @@ The concept `CellAttributeWithPoint` is a refinement of the `CellAttribute` concept, to represent a cell attribute containing a point. -\cgalRefines `CellAttribute` +\cgalRefines{CellAttribute} \cgalHasModel \link CGAL::Cell_attribute_with_point `CGAL::Cell_attribute_with_point`\endlink diff --git a/Linear_cell_complex/doc/Linear_cell_complex/Concepts/LinearCellComplex.h b/Linear_cell_complex/doc/Linear_cell_complex/Concepts/LinearCellComplex.h index e3e4733f78a..c64aa00f4ff 100644 --- a/Linear_cell_complex/doc/Linear_cell_complex/Concepts/LinearCellComplex.h +++ b/Linear_cell_complex/doc/Linear_cell_complex/Concepts/LinearCellComplex.h @@ -5,7 +5,7 @@ The concept `LinearCellComplex` represents a linear cell complex in dimension `d`, in an ambient space of dimension `d2`. This is a model of the concept of `GenericMap` adding a requirement to ensure that each vertex of the map is associated with a model of `CellAttributeWithPoint`. -\cgalRefines `GenericMap` +\cgalRefines{GenericMap} \cgalHasModel \link CGAL::Linear_cell_complex_for_combinatorial_map `CGAL::Linear_cell_complex_for_combinatorial_map`\endlink \cgalHasModel \link CGAL::Linear_cell_complex_for_generalized_map `CGAL::Linear_cell_complex_for_generalized_map`\endlink diff --git a/Linear_cell_complex/doc/Linear_cell_complex/Concepts/LinearCellComplexItems.h b/Linear_cell_complex/doc/Linear_cell_complex/Concepts/LinearCellComplexItems.h index 909ce593c9f..caf8d260895 100644 --- a/Linear_cell_complex/doc/Linear_cell_complex/Concepts/LinearCellComplexItems.h +++ b/Linear_cell_complex/doc/Linear_cell_complex/Concepts/LinearCellComplexItems.h @@ -5,7 +5,7 @@ The concept `LinearCellComplexItems` refines the concept of `GenericMapItems` by adding the requirement that 0-attributes are enabled, and associated with attributes that are models of the `CellAttributeWithPoint` concept. -\cgalRefines `GenericMapItems` +\cgalRefines{GenericMapItems} The first type in `Attributes` tuple must be a model of the `CellAttributeWithPoint` concept. diff --git a/Linear_cell_complex/include/CGAL/CMap_linear_cell_complex_storages_with_index.h b/Linear_cell_complex/include/CGAL/CMap_linear_cell_complex_storages_with_index.h index cde16d37cf4..8417e20b226 100644 --- a/Linear_cell_complex/include/CGAL/CMap_linear_cell_complex_storages_with_index.h +++ b/Linear_cell_complex/include/CGAL/CMap_linear_cell_complex_storages_with_index.h @@ -167,6 +167,8 @@ namespace CGAL { { return cit; } bool is_used(size_type i) const { return mmap.mdarts.is_used(i); } + bool owns(size_type i) const + { return mmap.mdarts.owns(i); } private: Self & mmap; }; @@ -307,6 +309,13 @@ namespace CGAL { { CGAL_static_assertion_msg(Helper::template Dimension_index::value>=0, "copy_attribute called but i-attributes are disabled."); + // We need to do a reserve before the emplace in order to avoid a bug of + // invalid reference when the container is reallocated. + std::get::value> + (mattribute_containers).reserve + (std::get::value> + (mattribute_containers).size()+1); + typename Attribute_descriptor::type res= std::get::value> (mattribute_containers).emplace(get_attribute(ah)); diff --git a/Linear_cell_complex/include/CGAL/GMap_linear_cell_complex_storages_with_index.h b/Linear_cell_complex/include/CGAL/GMap_linear_cell_complex_storages_with_index.h index a2a58088828..27d58a7651a 100644 --- a/Linear_cell_complex/include/CGAL/GMap_linear_cell_complex_storages_with_index.h +++ b/Linear_cell_complex/include/CGAL/GMap_linear_cell_complex_storages_with_index.h @@ -261,6 +261,13 @@ namespace CGAL { { CGAL_static_assertion_msg(Helper::template Dimension_index::value>=0, "copy_attribute called but i-attributes are disabled."); + // We need to do a reserve before the emplace in order to avoid a bug of + // invalid reference when the container is reallocated. + std::get::value> + (mattribute_containers).reserve + (std::get::value> + (mattribute_containers).size()+1); + typename Attribute_descriptor::type res= std::get::value> (mattribute_containers).emplace(get_attribute(ah)); diff --git a/Linear_cell_complex/package_info/Linear_cell_complex/copyright b/Linear_cell_complex/package_info/Linear_cell_complex/copyright new file mode 100644 index 00000000000..3c616b4b377 --- /dev/null +++ b/Linear_cell_complex/package_info/Linear_cell_complex/copyright @@ -0,0 +1 @@ +CNRS and LIRIS' Establishments (France) diff --git a/Maintenance/infrastructure/cgal.geometryfactory.com/bin/cgal_release.py b/Maintenance/infrastructure/cgal.geometryfactory.com/bin/cgal_release.py index d7656664faa..50634394094 100644 --- a/Maintenance/infrastructure/cgal.geometryfactory.com/bin/cgal_release.py +++ b/Maintenance/infrastructure/cgal.geometryfactory.com/bin/cgal_release.py @@ -1,51 +1,84 @@ -'''Python module to create and publish CGAL releases from a branch''' +"""Python module to create and publish CGAL releases from a branch""" import os -class Release: - '''class to create a CGAL release from a branch - optionally, the release can be internal - ''' - def __init__(self, branch, internal=False) : +class Release: + """class to create a CGAL release from a branch + optionally, the release can be internal + """ + + def __init__(self, branch, internal=False): self.branch = branch self.internal = internal - self.cwd = f'$HOME/CGAL/create_internal_release-{self.branch}-branch' - self.repo = f'$HOME/CGAL/branches/CGAL-{self.branch}-branch.git' - self.extra_options = ' --public' + self.cwd = f"$HOME/CGAL/create_internal_release-{self.branch}-branch" + self.repo = f"$HOME/CGAL/branches/CGAL-{self.branch}-branch.git" + self.extra_options = " --public" def command(self): - '''return the command to create and publish the release''' - return f"PATH=/home/lrineau/bin-cmake3:/bin:/usr/bin:/home/lrineau/bin; cd {self.cwd} && /usr/bin/time scl enable rh-git29 -- $HOME/bin/create_release {self.repo}{self.extra_options} --do-it" + """return the command to create and publish the release""" + return ( + f"PATH=/home/lrineau/bin-cmake3:/bin:/usr/bin:/home/lrineau/bin; cd {self.cwd} &&" + + " /usr/bin/time scl enable rh-git29 -- " + + f"$HOME/bin/create_release {self.repo}{self.extra_options} --do-it" + ) - def __str__(self) : - msg = f"{'internal ' if self.internal else ''}release from {self.branch}\n" \ - f"cwd: {self.cwd}\nrepo: {self.repo}\n" \ - f"command:\n{self.command()}" + def __str__(self): + msg = ( + f"{'internal ' if self.internal else ''}release from {self.branch}\n" + f"cwd: {self.cwd}\nrepo: {self.repo}\n" + f"command:\n{self.command()}" + ) return msg - def __call__(self) : - if os.system(self.command()) != 0 : - raise RuntimeError(f"Error while creating {'internal ' if self.internal else ''}release from {self.branch}") + def __call__(self): + if os.system(self.command()) != 0: + raise RuntimeError( + "Error while creating " + + f"{'internal ' if self.internal else ''}release from {self.branch}" + ) INTERNAL = True -class InternalRelease(Release) : - '''class to create an internal CGAL release from a branch''' - def __init__(self, branch) : + +class InternalRelease(Release): + """class to create an internal CGAL release from a branch""" + + def __init__(self, branch): super().__init__(branch, Release.INTERNAL) - self.extra_options = ' --integration' + self.extra_options = " --integration" + + +class BetaRelease(Release): + """class to create an internal CGAL release from a branch""" + + def __init__(self, branch, beta_number): + super().__init__(branch, Release.INTERNAL) + self.extra_options = f" --public --beta {beta_number}" + integration = InternalRelease("integration") -integration.repo = '$HOME/CGAL/branches/integration.git' -integration.cwd = '$HOME/CGAL/create_internal_release' +integration.repo = "$HOME/CGAL/branches/integration.git" +integration.cwd = "$HOME/CGAL/create_internal_release" master = Release("master") -master.repo = '$HOME/CGAL/branches/master.git' -master.cwd = '$HOME/CGAL/create_internal_release' +master.repo = "$HOME/CGAL/branches/master.git" +master.cwd = "$HOME/CGAL/create_internal_release" -def release(branch) : - '''Convenience function to create a release from a branch''' + +def beta_release_from_master(beta_number): + """Convenience function to create a beta release from master""" + rel = BetaRelease("master", beta_number) + rel.repo = "$HOME/CGAL/branches/master.git" + rel.cwd = "$HOME/CGAL/create_internal_release" + return rel + + +def release(branch): + """Convenience function to create a release from a branch""" return Release(branch) -if __name__ == '__main__': - print("This file is a Python module. Use create_internal_release_of_the_day.py instead.") + +if __name__ == "__main__": + print( + "This file is a Python module. Use create_internal_release_of_the_day.py instead." + ) diff --git a/Maintenance/infrastructure/cgal.geometryfactory.com/bin/create_internal_release_of_the_day.py b/Maintenance/infrastructure/cgal.geometryfactory.com/bin/create_internal_release_of_the_day.py index 43f4c3a9d69..08530364d0e 100644 --- a/Maintenance/infrastructure/cgal.geometryfactory.com/bin/create_internal_release_of_the_day.py +++ b/Maintenance/infrastructure/cgal.geometryfactory.com/bin/create_internal_release_of_the_day.py @@ -1,16 +1,14 @@ #! /bin/python3 -'''This script is called by a cron job every day. +"""This script is called by a cron job every day. It creates and publish a release tarball. -''' +""" -import sys import os import datetime import locale -from pathlib import Path -sys.path.append(Path(__file__)) -from cgal_release import release, integration, master +import argparse +from cgal_release import release, integration, master, beta_release_from_master # Define a dictionary that maps day of the week to an action actions = { @@ -18,22 +16,37 @@ actions = { "Tuesday": integration, "Wednesday": integration, "Thursday": integration, - "Friday": release("5.5"), - "Saturday": release("5.4"), - "Sunday": master + "Friday": integration, #release("5.5"), + "Saturday": integration, #release("5.4"), + "Sunday": beta_release_from_master(1), } -if __name__ == '__main__': + +def main(): + """Entry point of the script.""" # Get the current day of the week, or get it from the command line - locale.setlocale(locale.LC_ALL, 'en_US.UTF-8') - try: - DAY_OF_THE_WEEK = sys.argv[1] - except IndexError: - DAY_OF_THE_WEEK = datetime.datetime.now().strftime("%A") + locale.setlocale(locale.LC_ALL, "en_US.UTF-8") + + day_help = f"Day of the week (default: {datetime.datetime.now().strftime('%A')})" + day_help += f" possible values: ({', '.join(actions.keys())})" + parser = argparse.ArgumentParser() + parser.add_argument( + "day", help=day_help, nargs="?", default=datetime.datetime.now().strftime("%A") + ) + parser.add_argument("-n", "--dry-run", action="store_true") + args = parser.parse_args() # Look up the action for the current day of the week in the dictionary - create_release = actions[DAY_OF_THE_WEEK] + create_release = actions[args.day] + + if args.dry_run: + print(create_release) + return # Then create the release tarball - if os.system(create_release.command()) != 0 : - raise RuntimeError(f"ERROR while creating release tarball") + if os.system(create_release.command()) != 0: + raise RuntimeError("ERROR while creating release tarball") + + +if __name__ == "__main__": + main() diff --git a/Maintenance/test_handling/create_testresult_page b/Maintenance/test_handling/create_testresult_page index 6a3632481b7..1744b4e575d 100755 --- a/Maintenance/test_handling/create_testresult_page +++ b/Maintenance/test_handling/create_testresult_page @@ -151,7 +151,7 @@ sub collect_results_of_platform($) # Create an anonymous hash that hashes packages to their result. my $platform_results = {}; my $test_result="results_${platform}.txt"; - my ($yeahs, $nays, $warnings,$third_party_warnings,$reqs) = (0,0,0,0,0); + my ($yeahs, $nays, $warnings,$third_party_warnings,$timeout,$reqs) = (0,0,0,0,0,0); my $resulttext; open(TESTRESULT, $test_result) or return $platform_results; while () { @@ -169,7 +169,10 @@ sub collect_results_of_platform($) } elsif ($2 eq 'n' or $2 eq 'N') { $resulttext = 'n'; ++$nays; - } elsif ($2 eq 'r') { + } elsif ($2 eq 'o' or $2 eq 'O') { + $resulttext = 'o'; + ++$timeout; + } elsif ($2 eq 'r') { $resulttext = 'r'; ++$reqs; } else { @@ -183,6 +186,7 @@ sub collect_results_of_platform($) $platform_results->{"n"} = $nays; $platform_results->{"w"} = $warnings; $platform_results->{"t"} = $third_party_warnings; + $platform_results->{"o"} = $timeout; $platform_results->{"r"} = $reqs; return $platform_results; } @@ -260,6 +264,8 @@ EOF print OUTPUT ' class="warning"'; } elsif ($resulttext eq 't') { print OUTPUT ' class="third_party_warning"'; + } elsif ($resulttext eq 'o') { + print OUTPUT ' class="timeout"'; } elsif ($resulttext eq 'n') { print OUTPUT ' class="error"'; } elsif ($resulttext eq 'r') { @@ -461,6 +467,7 @@ sub print_platform_descriptions() y t w +o n r CMake @@ -500,6 +507,7 @@ EOF my $county = $testresults[$platform_num]->{"y"}; my $countt = $testresults[$platform_num]->{"t"}; my $countw = $testresults[$platform_num]->{"w"}; + my $counto = $testresults[$platform_num]->{"o"}; my $countn = $testresults[$platform_num]->{"n"}; my $countr = $testresults[$platform_num]->{"r"}; @@ -519,6 +527,7 @@ EOF print OUTPUT "$county\n"; print OUTPUT "$countt\n"; print OUTPUT "$countw\n"; + print OUTPUT "$counto\n"; print OUTPUT "$countn\n"; print OUTPUT "$countr\n"; $index = 8; @@ -611,7 +620,7 @@ sub print_little_header(){ jump to results

The results of the tests are presented in a table -('y' = success, 'w' = warning, 't' = third party warning 'n' = failure, 'r' = a requirement is not found), +('y' = success, 'w' = warning, 't' = third party warning, 'o' = timeout, 'n' = failure, 'r' = a requirement is not found), and the error + compiler output from each test can be retrieved by clicking on it.

N.B. The detection of warnings is not exact. diff --git a/Maintenance/test_handling/testresult.css b/Maintenance/test_handling/testresult.css index c44cba095ce..b48d35ee171 100644 --- a/Maintenance/test_handling/testresult.css +++ b/Maintenance/test_handling/testresult.css @@ -28,6 +28,7 @@ TD.os64bits {font-style:italic} TD.ok {background-color: rgb(44%,88%,44%)} TD.warning {background-color: rgb(100%,100%,50%)} TD.third_party_warning {background-color: rgb(75%,100%,50%)} +TD.timeout {background-color: rgb(100%,75%,25%)} TD.error {background-color: rgb(100%,50%,50%)} TD.na {background-color: white;} TD.requirements { background-color: rgb(65%,65%,100%) } @@ -35,6 +36,7 @@ TD.requirements { background-color: rgb(65%,65%,100%) } TH.ok {background-color: rgb(44%,88%,44%)} TH.warning {background-color: rgb(100%,100%,50%)} TH.third_party_warning {background-color: rgb(75%,100%,50%)} +TH.timeout {background-color: rgb(100%,75%,25%)} TH.error {background-color: rgb(100%,50%,50%)} TH.requirements { background-color: rgb(65%,65%,100%) } @@ -50,6 +52,10 @@ TD.third_party_warning A {font-size:large; text-decoration: none} TD.third_party_warning A:link {color: rgb(0%,0%,100%)} TD.third_party_warning A:visited {color: rgb(80%,80%,100%)} +TD.timeout A {font-size:large; text-decoration: none} +TD.timeout A:link {color: rgb(0%,0%,100%)} +TD.timeout A:visited {color: rgb(80%,80%,100%)} + TD.error A {font-size: large; text-decoration: none} TD.error A:link {color: rgb(0%,0%,100%)} TD.error A:visited {color: rgb(80%,0%,100%)} diff --git a/Mesh_2/doc/Mesh_2/Concepts/ConformingDelaunayTriangulationTraits_2.h b/Mesh_2/doc/Mesh_2/Concepts/ConformingDelaunayTriangulationTraits_2.h index 73400f49df4..04cebff70d0 100644 --- a/Mesh_2/doc/Mesh_2/Concepts/ConformingDelaunayTriangulationTraits_2.h +++ b/Mesh_2/doc/Mesh_2/Concepts/ConformingDelaunayTriangulationTraits_2.h @@ -15,7 +15,7 @@ the concept `::FieldWithSqrt`. This field type and the constructors are used by the conforming algorithm to compute Steiner points on constrained edges. -\cgalRefines `DelaunayTriangulationTraits_2` +\cgalRefines{DelaunayTriangulationTraits_2} \cgalHasModel Any model of `Kernel` concept. In particular, all \cgal kernels \cgalHasModel `Projection_traits_xy_3` diff --git a/Mesh_2/doc/Mesh_2/Concepts/DelaunayMeshFaceBase_2.h b/Mesh_2/doc/Mesh_2/Concepts/DelaunayMeshFaceBase_2.h index 7964f79f162..4c9bd5eec8b 100644 --- a/Mesh_2/doc/Mesh_2/Concepts/DelaunayMeshFaceBase_2.h +++ b/Mesh_2/doc/Mesh_2/Concepts/DelaunayMeshFaceBase_2.h @@ -11,7 +11,7 @@ The concept `DelaunayMeshFaceBase_2` refines the concept to a Boolean marker, that indicates if the face is in the meshing domain or not. -\cgalRefines `ConstrainedTriangulationFaceBase_2` +\cgalRefines{ConstrainedTriangulationFaceBase_2} \cgalHasModel `CGAL::Delaunay_mesh_face_base_2` diff --git a/Mesh_2/doc/Mesh_2/Concepts/DelaunayMeshTraits_2.h b/Mesh_2/doc/Mesh_2/Concepts/DelaunayMeshTraits_2.h index f2c6a9f0130..042980a9684 100644 --- a/Mesh_2/doc/Mesh_2/Concepts/DelaunayMeshTraits_2.h +++ b/Mesh_2/doc/Mesh_2/Concepts/DelaunayMeshTraits_2.h @@ -10,7 +10,7 @@ The concept `DelaunayMeshTraits_2` refines the concept `ConformingDelaunayTriangulationTraits_2`. It provides a construction object `Construct_circumcenter_2`. -\cgalRefines `ConformingDelaunayTriangulationTraits_2` +\cgalRefines{ConformingDelaunayTriangulationTraits_2} \cgalHasModel Any model of the `Kernel` concept. In particular, all \cgal kernels \cgalHasModel `CGAL::Projection_traits_xy_3` diff --git a/Mesh_2/doc/Mesh_2/Concepts/DelaunayMeshVertexBase_2.h b/Mesh_2/doc/Mesh_2/Concepts/DelaunayMeshVertexBase_2.h index 91b814551f5..9385dae29ae 100644 --- a/Mesh_2/doc/Mesh_2/Concepts/DelaunayMeshVertexBase_2.h +++ b/Mesh_2/doc/Mesh_2/Concepts/DelaunayMeshVertexBase_2.h @@ -11,7 +11,7 @@ The concept `DelaunayMeshVertexBase_2` refines the concept to a `double` marker, that is useful for the mesh optimizers to keep the mesh density everywhere while modifying the mesh. -\cgalRefines `TriangulationVertexBase_2` +\cgalRefines{TriangulationVertexBase_2} \cgalHasModel `CGAL::Delaunay_mesh_vertex_base_2` diff --git a/Mesh_3/doc/Mesh_3/Concepts/BisectionGeometricTraits_3.h b/Mesh_3/doc/Mesh_3/Concepts/BisectionGeometricTraits_3.h index 63e2311828f..8d6b076a3ef 100644 --- a/Mesh_3/doc/Mesh_3/Concepts/BisectionGeometricTraits_3.h +++ b/Mesh_3/doc/Mesh_3/Concepts/BisectionGeometricTraits_3.h @@ -143,7 +143,7 @@ source to the target. typedef unspecified_type Construct_segment_3; /*! -Model of `::Kernel::ConstructScaledVector_3``. +Model of `::Kernel::ConstructScaledVector_3`. That function object must provide the operator: - `Vector_3 operator()(Vector_3 v, FT scale)` which returns @@ -174,7 +174,7 @@ Model of `::Kernel::HasOnBoundedSide_3`. That function object must provide the operator: - `bool operator()(Sphere_3 s, Point_3 p)` which -returns true iff `p` lies on the bounded side of `s. +returns true iff `p` lies on the bounded side of `s`. */ typedef unspecified_type Has_on_bounded_side_3; diff --git a/Mesh_3/doc/Mesh_3/Concepts/MeshCellBase_3.h b/Mesh_3/doc/Mesh_3/Concepts/MeshCellBase_3.h index a6ba2ba7d6f..028d9e70d9f 100644 --- a/Mesh_3/doc/Mesh_3/Concepts/MeshCellBase_3.h +++ b/Mesh_3/doc/Mesh_3/Concepts/MeshCellBase_3.h @@ -41,9 +41,7 @@ and `is_facet_visited(1)` in parallel must be safe) Moreover, the parallel algorithms require an erase counter in each cell (see below). -\cgalRefines `SimplicialMeshCellBase_3` -\cgalRefines `RegularTriangulationCellBaseWithWeightedCircumcenter_3` -\cgalRefines `CopyConstructible` +\cgalRefines{SimplicialMeshCellBase_3,RegularTriangulationCellBaseWithWeightedCircumcenter_3,CopyConstructible} \cgalHasModel `CGAL::Compact_mesh_cell_base_3` \cgalHasModel `CGAL::Mesh_cell_base_3` diff --git a/Mesh_3/doc/Mesh_3/Concepts/MeshCriteriaWithFeatures_3.h b/Mesh_3/doc/Mesh_3/Concepts/MeshCriteriaWithFeatures_3.h index 1a64924802c..c53644cb36f 100644 --- a/Mesh_3/doc/Mesh_3/Concepts/MeshCriteriaWithFeatures_3.h +++ b/Mesh_3/doc/Mesh_3/Concepts/MeshCriteriaWithFeatures_3.h @@ -12,7 +12,7 @@ additionally encapsulates the concept `MeshEdgeCriteria_3`, that describes the requirements, in terms of sizing, for the discretization of the domain \f$ 1\f$-dimensional features. -\cgalRefines `MeshCriteria_3` +\cgalRefines{MeshCriteria_3} \cgalHasModel `CGAL::Mesh_criteria_3` diff --git a/Mesh_3/doc/Mesh_3/Concepts/MeshDomainWithFeatures_3.h b/Mesh_3/doc/Mesh_3/Concepts/MeshDomainWithFeatures_3.h index 279762200af..18e97b9a275 100644 --- a/Mesh_3/doc/Mesh_3/Concepts/MeshDomainWithFeatures_3.h +++ b/Mesh_3/doc/Mesh_3/Concepts/MeshDomainWithFeatures_3.h @@ -15,7 +15,7 @@ without auto-intersections. Each curve is also assumed to be oriented. Therefore it is possible to define the signed geodesic distance between two ordered points on the same curve. -\cgalRefines `MeshDomain_3` +\cgalRefines{MeshDomain_3} \cgalHasModel `CGAL::Mesh_domain_with_polyline_features_3` \cgalHasModel `CGAL::Polyhedral_mesh_domain_with_features_3` diff --git a/Mesh_3/doc/Mesh_3/Concepts/MeshTriangulationTraits_3.h b/Mesh_3/doc/Mesh_3/Concepts/MeshTriangulationTraits_3.h index 4d1af263528..e4d5a977a1c 100644 --- a/Mesh_3/doc/Mesh_3/Concepts/MeshTriangulationTraits_3.h +++ b/Mesh_3/doc/Mesh_3/Concepts/MeshTriangulationTraits_3.h @@ -7,7 +7,7 @@ The concept `MeshTriangulationTraits_3` describes the requirements for the geometric traits class of the underlying regular triangulation used during a mesh generation process. -\cgalRefines RegularTriangulationTraits_3 +\cgalRefines{RegularTriangulationTraits_3} \cgalHasModel All models of `Kernel`. diff --git a/Mesh_3/doc/Mesh_3/Concepts/MeshVertexBase_3.h b/Mesh_3/doc/Mesh_3/Concepts/MeshVertexBase_3.h index 1b1cb0d712b..4739741b01c 100644 --- a/Mesh_3/doc/Mesh_3/Concepts/MeshVertexBase_3.h +++ b/Mesh_3/doc/Mesh_3/Concepts/MeshVertexBase_3.h @@ -20,9 +20,7 @@ and two `Vertex_handle` called 'intrusive'. The parallel algorithms require an erase counter in each cell (see below). -\cgalRefines `SimplicialMeshVertexBase_3` -\cgalRefines `RegularTriangulationVertexBase_3` -\cgalRefines `SurfaceMeshVertexBase_3` +\cgalRefines{SimplicialMeshVertexBase_3,RegularTriangulationVertexBase_3,SurfaceMeshVertexBase_3} \cgalHasModel `CGAL::Mesh_vertex_base_3` diff --git a/Mesh_3/include/CGAL/Labeled_mesh_domain_3.h b/Mesh_3/include/CGAL/Labeled_mesh_domain_3.h index c995f28aeb7..ecc81e96046 100644 --- a/Mesh_3/include/CGAL/Labeled_mesh_domain_3.h +++ b/Mesh_3/include/CGAL/Labeled_mesh_domain_3.h @@ -485,7 +485,7 @@ public: #ifndef CGAL_NO_DEPRECATED_CODE - template + template #if !defined(BOOST_MSVC) CGAL_DEPRECATED #endif diff --git a/Mesh_3/include/CGAL/Mesh_3/C3T3_helpers.h b/Mesh_3/include/CGAL/Mesh_3/C3T3_helpers.h index 53ada34e04b..8e86644477b 100644 --- a/Mesh_3/include/CGAL/Mesh_3/C3T3_helpers.h +++ b/Mesh_3/include/CGAL/Mesh_3/C3T3_helpers.h @@ -791,6 +791,7 @@ public: Moving_vertices_set& moving_vertices); void update_restricted_facets(); + void update_restricted_cells(); #ifdef CGAL_INTRUSIVE_LIST template @@ -2924,6 +2925,18 @@ update_restricted_facets() updater(*fit); } +template +void +C3T3_helpers:: +update_restricted_cells() +{ + Update_c3t3 updater(domain_, c3t3_); + for (typename C3T3::Triangulation::Finite_cells_iterator + cit = tr_.finite_cells_begin(); + cit != tr_.finite_cells_end(); ++cit) + updater(cit); +} + template template diff --git a/Mesh_3/include/CGAL/Mesh_3/experimental/AABB_filtered_projection_traits.h b/Mesh_3/include/CGAL/Mesh_3/experimental/AABB_filtered_projection_traits.h index 872f6c0b7e9..ac5c1d30496 100644 --- a/Mesh_3/include/CGAL/Mesh_3/experimental/AABB_filtered_projection_traits.h +++ b/Mesh_3/include/CGAL/Mesh_3/experimental/AABB_filtered_projection_traits.h @@ -57,25 +57,40 @@ public: IndexToIgnoreIterator end, const AABBTraits& aabb_traits, IndexPropertyMap index_map = IndexPropertyMap()) - : m_closest_point(hint), - m_closest_point_initialized(true), - set_of_indices(begin, end), - aabb_traits(aabb_traits), - index_map(index_map) + : Filtered_projection_traits(begin, end, aabb_traits, index_map) { + m_closest_point = hint; + m_closest_point_initialized = true; } Filtered_projection_traits(const Point_3& hint, Index_type index, const AABBTraits& aabb_traits, IndexPropertyMap index_map = IndexPropertyMap()) - : m_closest_point(hint), - m_closest_point_initialized(true), - set_of_indices(), - aabb_traits(aabb_traits), - index_map(index_map) + : Filtered_projection_traits(index, aabb_traits, index_map) { - set_of_indices.insert(index); + m_closest_point = hint; + m_closest_point_initialized = true; + } + + template + Filtered_projection_traits(const Point_and_primitive_id& hint, + IndexToIgnoreIterator begin, + IndexToIgnoreIterator end, + const AABBTraits& aabb_traits, + IndexPropertyMap index_map = IndexPropertyMap()) + : Filtered_projection_traits(hint.first, begin, end, aabb_traits, index_map) + { + m_closest_primitive = hint.second; + } + + Filtered_projection_traits(const Point_and_primitive_id& hint, + Index_type index, + const AABBTraits& aabb_traits, + IndexPropertyMap index_map = IndexPropertyMap()) + : Filtered_projection_traits(hint.first, index, aabb_traits, index_map) + { + m_closest_primitive = hint.second; } template @@ -83,8 +98,7 @@ public: IndexToIgnoreIterator end, const AABBTraits& aabb_traits, IndexPropertyMap index_map = IndexPropertyMap()) - : m_closest_point_initialized(false), - set_of_indices(begin, end), + : set_of_indices(begin, end), aabb_traits(aabb_traits), index_map(index_map) { @@ -93,12 +107,10 @@ public: Filtered_projection_traits(Index_type index, const AABBTraits& aabb_traits, IndexPropertyMap index_map = IndexPropertyMap()) - : m_closest_point_initialized(false), - set_of_indices(), + : set_of_indices({index}), aabb_traits(aabb_traits), index_map(index_map) { - set_of_indices.insert(index); } bool go_further() const { return true; } @@ -151,7 +163,7 @@ public: private: Point_3 m_closest_point; typename Primitive::Id m_closest_primitive; - bool m_closest_point_initialized; + bool m_closest_point_initialized = false; Set_of_indices set_of_indices; const AABBTraits& aabb_traits; IndexPropertyMap index_map; diff --git a/Mesh_3/include/CGAL/Mesh_3/experimental/Sizing_field_with_aabb_tree.h b/Mesh_3/include/CGAL/Mesh_3/experimental/Sizing_field_with_aabb_tree.h index 0dcff62901b..11319fe065d 100644 --- a/Mesh_3/include/CGAL/Mesh_3/experimental/Sizing_field_with_aabb_tree.h +++ b/Mesh_3/include/CGAL/Mesh_3/experimental/Sizing_field_with_aabb_tree.h @@ -21,6 +21,10 @@ #include "Get_curve_index.h" #include // for weight_modifier +#include +#include +#include + #include #if defined(CGAL_MESH_3_PROTECTION_HIGH_VERBOSITY) || defined(CGAL_NO_ASSERTIONS) == 0 # include @@ -57,6 +61,8 @@ struct Sizing_field_with_aabb_tree typedef CGAL::Delaunay_triangulation_3 Dt; typedef Input_facets_AABB_tree Input_facets_AABB_tree_; + typedef typename Input_facets_AABB_tree_::AABB_traits AABB_traits; + using Point_and_primitive_id = typename AABB_traits::Point_and_primitive_id; typedef typename Input_facets_AABB_tree_::Primitive Input_facets_AABB_tree_primitive_; typedef typename MeshDomain::Curves_AABB_tree Input_curves_AABB_tree_; typedef typename Input_curves_AABB_tree_::Primitive Input_curves_AABB_tree_primitive_; @@ -71,6 +77,22 @@ struct Sizing_field_with_aabb_tree typename Input_facets_AABB_tree::Primitive> >::type Facet_patch_id_map; + struct Face_ids_traversal_traits { + using Limits = std::numeric_limits; + Patch_index min{Limits::max()}; + Patch_index max{Limits::lowest()}; + Facet_patch_id_map index_map{}; + + bool go_further() const { return true; } + template bool do_intersect(std::nullptr_t, const T&) { return true; } + + template void intersection(std::nullptr_t, const P& primitive) { + const Patch_index id = get(index_map, primitive.id()); + if (id < min) min = id; + if (id > max) max = id; + } + }; + Sizing_field_with_aabb_tree (typename Kernel_::FT d, const Input_facets_AABB_tree_& aabb_tree, @@ -78,87 +100,127 @@ struct Sizing_field_with_aabb_tree Get_curve_index get_curve_index = Get_curve_index(), Facet_patch_id_map facet_patch_id_map = Facet_patch_id_map() ) - : d_(d), aabb_tree(aabb_tree), - domain(domain), - dt(), - get_curve_index(get_curve_index), - facet_patch_id_map(facet_patch_id_map) + : d_ptr{std::make_shared(d, + aabb_tree, + domain, + get_curve_index, + facet_patch_id_map)} { + if(!d_ptr->aabb_tree.empty()) { + // Initialize the per-patch kd-trees + // - First compute the number of patches and min/max patch ids + Face_ids_traversal_traits traversal_traits; + d_ptr->aabb_tree.traversal(nullptr, traversal_traits); +#ifdef CGAL_MESH_3_PROTECTION_HIGH_VERBOSITY + std::cerr << "min: " << traversal_traits.min << ", max: " << traversal_traits.max << '\n'; +#endif // CGAL_MESH_3_PROTECTION_HIGH_VERBOSITY + d_ptr->min_patch_id = traversal_traits.min; + d_ptr->kd_trees_ptrs.resize(traversal_traits.max - d_ptr->min_patch_id + 1); + + using Node = CGAL::AABB_node; + using Primitive = typename AABB_traits::Primitive; + using Point_and_primitive_id = typename AABB_traits::Point_and_primitive_id; + + std::vector> vertices_per_patch; + vertices_per_patch.resize(d_ptr->kd_trees_ptrs.size()); + + // - then fill sets of vertices per patch + auto push_vertex = [&](const auto& primitive) { + const Patch_index id = get(d_ptr->facet_patch_id_map, primitive.id()); + const Point_3& p = primitive.reference_point(); + vertices_per_patch[id - d_ptr->min_patch_id].emplace(p, primitive.id()); + }; + + struct Visit_all_primitives { + decltype(push_vertex) register_vertex; + bool go_further() const { return true; } + bool do_intersect(std::nullptr_t, const Node&) { return true; } + void intersection(std::nullptr_t, const Primitive& primitive) + { + register_vertex(primitive); + } + } visit_all_primitives{push_vertex}; + d_ptr->aabb_tree.traversal(nullptr, visit_all_primitives); + + // - then create the kd-trees + for(std::size_t i = 0; i < vertices_per_patch.size(); ++i) { + if(!vertices_per_patch[i].empty()) { + d_ptr->kd_trees_ptrs[i] = std::make_unique(vertices_per_patch[i].begin(), + vertices_per_patch[i].end()); + } + } + } { Corner_index maximal_corner_index = 0; typedef std::pair Corner_index_and_point; std::vector corners_tmp; - domain.get_corners(std::back_inserter(corners_tmp)); + d_ptr->domain.get_corners(std::back_inserter(corners_tmp)); for(const Corner_index_and_point& pair : corners_tmp) { // Fill `corners_indices` if(pair.first > maximal_corner_index) maximal_corner_index = pair.first; - corners_indices. + d_ptr->corners_indices. insert(typename Corners_indices::value_type(pair.second, pair.first)); } - corners.resize(maximal_corner_index+1); + d_ptr->corners.resize(maximal_corner_index+1); for(const Corner_index_and_point& pair : corners_tmp) { // Fill `corners` - corners[pair.first] = pair.second; + d_ptr->corners[pair.first] = pair.second; } } //fill incidences of corners with curves - corners_incident_curves.resize(corners.size()); - for(const typename Corners_indices::value_type& pair : - corners_indices) - { - dt.insert(pair.first); + d_ptr->corners_incident_curves.resize(d_ptr->corners.size()); + for(const typename Corners_indices::value_type& pair : d_ptr->corners_indices) { + d_ptr->dt.insert(pair.first); // Fill `corners_incident_curves[corner_id]` - Curves_ids& incident_curves = corners_incident_curves[pair.second]; - domain.get_corner_incident_curves(pair.second, + Curves_ids& incident_curves = d_ptr->corners_incident_curves[pair.second]; + d_ptr->domain.get_corner_incident_curves(pair.second, std::inserter(incident_curves, incident_curves.end())); // For each incident loops, insert a point on the loop, as far as // possible. for(Curve_index curve_index : incident_curves) { if(domain.is_loop(curve_index)) { - FT curve_lenght = domain.curve_length(curve_index); + FT curve_length = d_ptr->domain.curve_length(curve_index); Point_3 other_point = - domain.construct_point_on_curve(pair.first, - curve_index, - curve_lenght / 2); - dt.insert(other_point); + d_ptr->domain.construct_point_on_curve(pair.first, + curve_index, + curve_length / 2); + d_ptr->dt.insert(other_point); } } } - if (aabb_tree.empty()) + if (d_ptr->aabb_tree.empty()) return;//there is no surface --> no surface patches //fill incidences with patches - curves_incident_patches.resize(domain.maximal_curve_index()+1); - corners_incident_patches.resize(corners.size()); + d_ptr->curves_incident_patches.resize(domain.maximal_curve_index()+1); + d_ptr->corners_incident_patches.resize(d_ptr->corners.size()); for (Curve_index curve_id = 1; - std::size_t(curve_id) < curves_incident_patches.size(); + std::size_t(curve_id) < d_ptr->curves_incident_patches.size(); ++curve_id) { const typename MeshDomain::Surface_patch_index_set& incident_patches = - domain.get_incidences(curve_id); + d_ptr->domain.get_incidences(curve_id); // Fill `curves_incident_patches[curve_id]` - curves_incident_patches[curve_id]. + d_ptr->curves_incident_patches[curve_id]. insert(boost::container::ordered_unique_range, incident_patches.begin(), incident_patches.end()); } - for(const typename Corners_indices::value_type& pair : - corners_indices) - { + for(const typename Corners_indices::value_type& pair : d_ptr->corners_indices) { // Get `corners_incident_curves[corner_id]` - Curves_ids& incident_curves = corners_incident_curves[pair.second]; + Curves_ids& incident_curves = d_ptr->corners_incident_curves[pair.second]; // Fill `corners_incident_patches[corner_id]` - Patches_ids& incident_patches = corners_incident_patches[pair.second]; + Patches_ids& incident_patches = d_ptr->corners_incident_patches[pair.second]; for(Curve_index curve_index : incident_curves) { const Patches_ids& curve_incident_patches = - curves_incident_patches[curve_index]; + d_ptr->curves_incident_patches[curve_index]; incident_patches.insert(boost::container::ordered_unique_range, curve_incident_patches.begin(), curve_incident_patches.end()); @@ -166,6 +228,37 @@ struct Sizing_field_with_aabb_tree } } + boost::optional + closest_point_on_surfaces(const Point_3& p, + const Patches_ids& patch_ids_to_ignore) const + { + boost::optional result{}; + if(d_ptr->aabb_tree.empty()) return result; + for(std::size_t i = 0; i < d_ptr->kd_trees_ptrs.size(); ++i) { + const auto patch_id = static_cast(i + d_ptr->min_patch_id); + if(patch_ids_to_ignore.find(patch_id) != patch_ids_to_ignore.end()) continue; + if(d_ptr->kd_trees_ptrs[i]) { + const Kd_tree& kd_tree = *d_ptr->kd_trees_ptrs[i]; + const Point_and_primitive_id closest_point = kd_tree.closest_point(p); + if(!result || CGAL::compare_distance(p, closest_point.first, result->first) == CGAL::SMALLER) + { + result = closest_point; + } + } + } + if(!result) return result; + CGAL::Mesh_3::Filtered_projection_traits< + AABB_traits, + Facet_patch_id_map + > projection_traits(*result, + patch_ids_to_ignore.begin(), patch_ids_to_ignore.end(), + d_ptr->aabb_tree.traits(), + d_ptr->facet_patch_id_map); + d_ptr->aabb_tree.traversal(p, projection_traits); + result = projection_traits.closest_point_and_primitive(); + return result; + } + double operator()(const Point_3& p, const int dim, const Index& id) const @@ -177,9 +270,9 @@ struct Sizing_field_with_aabb_tree << ", index=#" << CGAL::IO::oformat(id) << "): "; } #endif // CGAL_MESH_3_PROTECTION_HIGH_VERBOSITY - double result = d_; + double result = d_ptr->d_; if(dim == 0) { - if(dt.dimension() < 1) { + if(d_ptr->dt.dimension() < 1) { #ifdef CGAL_MESH_3_PROTECTION_HIGH_VERBOSITY std::cerr << result << "(dt.dimension() < 1)\n"; #endif // CGAL_MESH_3_PROTECTION_HIGH_VERBOSITY @@ -189,15 +282,15 @@ struct Sizing_field_with_aabb_tree typename Dt::Locate_type lt; int li, lj; - const typename Dt::Cell_handle ch = dt.locate(p, lt, li, lj); + const typename Dt::Cell_handle ch = d_ptr->dt.locate(p, lt, li, lj); if(lt == Dt::VERTEX) { // std::cerr << "lt == Dt::VERTEX\n"; const typename Dt::Vertex_handle vh = ch->vertex(li); std::vector vs; vs.reserve(32); - dt.finite_adjacent_vertices(vh, std::back_inserter(vs)); + d_ptr->dt.finite_adjacent_vertices(vh, std::back_inserter(vs)); CGAL_assertion(!vs.empty()); - nearest = dt.point(vs[0]); + nearest = d_ptr->dt.point(vs[0]); // std::cerr << "sq_dist = " << CGAL::squared_distance(p, nearest) // << std::endl; typename Kernel_::Compare_distance_3 compare_dist; @@ -206,44 +299,38 @@ struct Sizing_field_with_aabb_tree { // std::cerr << "sq_dist = " << CGAL::squared_distance(p, dt.point(*it)) // << std::endl; - if(compare_dist(p, dt.point(*it), nearest) == CGAL::SMALLER) { + if(compare_dist(p, d_ptr->dt.point(*it), nearest) == CGAL::SMALLER) { // std::cerr << " nearest!\n"; - nearest = dt.point(*it); + nearest = d_ptr->dt.point(*it); } } } else { // std::cerr << "lt=" << lt << std::endl; - const typename Dt::Vertex_handle vh = dt.nearest_vertex(p, ch); - nearest = dt.point(vh); + const typename Dt::Vertex_handle vh = d_ptr->dt.nearest_vertex(p, ch); + nearest = d_ptr->dt.point(vh); } const FT dist = CGAL_NTS sqrt(CGAL::squared_distance( nearest, p)); // std::cerr << (std::min)(dist / FT(1.5), d_) << "\n"; result = (std::min)(dist / FT(2), result); // now search in the AABB tree - typename Corners_indices::const_iterator ids_it = corners_indices.find(p); - if(ids_it == corners_indices.end()) { + typename Corners_indices::const_iterator ids_it = + d_ptr->corners_indices.find(p); + if(ids_it == d_ptr->corners_indices.end()) { std::cerr << "ERROR at " << __FILE__ << " line " << __LINE__ << "\n"; } - else if(!aabb_tree.empty()) { - const Patches_ids& ids = corners_incident_patches[ids_it->second]; + else if(!d_ptr->aabb_tree.empty()) { + const Patches_ids& ids = d_ptr->corners_incident_patches[ids_it->second]; CGAL_assertion(! ids.empty()); - CGAL::Mesh_3::Filtered_projection_traits< - typename Input_facets_AABB_tree_::AABB_traits, - Facet_patch_id_map - > projection_traits(ids.begin(), ids.end(), - aabb_tree.traits(), - facet_patch_id_map); + const auto closest_point_and_primitive = closest_point_on_surfaces(p, ids); - aabb_tree.traversal(p, projection_traits); - - if(projection_traits.found()) { + if(closest_point_and_primitive != boost::none) { result = (std::min)(0.9 / CGAL::sqrt(CGAL::Mesh_3::internal::weight_modifier) * CGAL_NTS sqrt(CGAL::squared_distance(p, - projection_traits.closest_point())), + closest_point_and_primitive->first)), result); #ifdef CGAL_MESH_3_PROTECTION_HIGH_VERBOSITY { @@ -258,10 +345,10 @@ struct Sizing_field_with_aabb_tree "Ids are { ") % group(setprecision(17),result) % group(setprecision(17),p) - % CGAL::IO::oformat(get(facet_patch_id_map, - projection_traits.closest_point_and_primitive().second)) + % CGAL::IO::oformat(get(d_ptr->facet_patch_id_map, + closest_point_and_primitive->second)) % group(setprecision(17), - projection_traits.closest_point_and_primitive().first); + closest_point_and_primitive->first); for(Patch_index i : ids) { s << CGAL::IO::oformat(i) << " "; } @@ -285,37 +372,33 @@ struct Sizing_field_with_aabb_tree } else { // dim == 1 const typename MeshDomain::Curve_index& curve_id = - domain.curve_index(id); - if(!aabb_tree.empty()) { - const Patches_ids& ids = curves_incident_patches[curve_id]; - CGAL_assertion(! ids.empty()); + d_ptr->domain.curve_index(id); + const Patches_ids& ids = d_ptr->curves_incident_patches[curve_id]; + CGAL_assertion(! ids.empty()); + if(!d_ptr->aabb_tree.empty()) { //Compute distance to surface patches - CGAL::Mesh_3::Filtered_projection_traits - < - typename Input_facets_AABB_tree_::AABB_traits - , Facet_patch_id_map - > projection_traits(ids.begin(), ids.end(), - aabb_tree.traits(), - facet_patch_id_map); - - aabb_tree.traversal(p, projection_traits); - - if(!projection_traits.found()) { + const auto closest_point_and_primitive = closest_point_on_surfaces(p, ids); + if(closest_point_and_primitive == boost::none) { #ifdef CGAL_MESH_3_PROTECTION_HIGH_VERBOSITY - std::cerr << result << " (projection not found)\n"; + std::cerr << result << " (projection not found) ids:"; + for(Patch_index i : ids) { + std::cerr << " " << CGAL::IO::oformat(i); + } + std::cerr << "\n"; + #endif // CGAL_MESH_3_PROTECTION_HIGH_VERBOSITY return result; } - CGAL_assertion(ids.count(get(facet_patch_id_map, - projection_traits.closest_point_and_primitive().second)) == 0); + CGAL_assertion(ids.count(get(d_ptr->facet_patch_id_map, + closest_point_and_primitive->second)) == 0); result = (std::min)(0.9 / CGAL::sqrt(CGAL::Mesh_3::internal::weight_modifier) * CGAL_NTS sqrt(CGAL::squared_distance(p, - projection_traits.closest_point())), + closest_point_and_primitive->first)), result); #ifdef CGAL_MESH_3_PROTECTION_HIGH_VERBOSITY @@ -327,8 +410,8 @@ struct Sizing_field_with_aabb_tree "Closest face id: %4%\n" "Ids are { ") % result % p % curve_id - % CGAL::IO::oformat(get(facet_patch_id_map, - projection_traits.closest_point_and_primitive().second)); + % CGAL::IO::oformat(get(d_ptr->facet_patch_id_map, + closest_point_and_primitive->second)); for(Patch_index i : ids) { s << CGAL::IO::oformat(i) << " "; } @@ -346,8 +429,8 @@ struct Sizing_field_with_aabb_tree "Closest face id: %4%\n" "Ids are { ") % result % p % curve_id - % CGAL::IO::oformat(get(facet_patch_id_map, - projection_traits.closest_point_and_primitive().second)); + % CGAL::IO::oformat(get(d_ptr->facet_patch_id_map, + closest_point_and_primitive->second)); for(Patch_index i : ids) { s << CGAL::IO::oformat(i) << " "; } @@ -362,7 +445,7 @@ struct Sizing_field_with_aabb_tree "Closest face id: %4%\n" "Ids are { ") % result % p % curve_id - % projection_traits.closest_point_and_primitive().second->patch_id(); + % closest_point_and_primitive->second->patch_id(); for(Patch_index i : ids) { s << CGAL::IO::oformat(i) << " "; } @@ -377,25 +460,25 @@ struct Sizing_field_with_aabb_tree CGAL::Mesh_3::Filtered_projection_traits curves_projection_traits(curve_id, - domain.curves_aabb_tree().traits(), - get_curve_index); + d_ptr->domain.curves_aabb_tree().traits(), + d_ptr->get_curve_index); - domain.curves_aabb_tree().traversal(p, curves_projection_traits); + d_ptr->domain.curves_aabb_tree().traversal(p, curves_projection_traits); //Compute distance to the curve on which p lies typedef typename GeomTraits::Segment_3 Segment_3; typedef typename GeomTraits::Plane_3 Plane_3; const typename Input_curves_AABB_tree_::Point_and_primitive_id& ppid - = domain.curves_aabb_tree().closest_point_and_primitive(p); + = d_ptr->domain.curves_aabb_tree().closest_point_and_primitive(p); Segment_3 curr_segment(*ppid.second.second, *(ppid.second.second + 1)); Plane_3 curr_ortho_plane(p, curr_segment.to_vector()/*normal*/); Input_curves_AABB_tree_primitive_ curr_prim(ppid.second); std::vector prims; - domain.curves_aabb_tree().all_intersected_primitives(curr_ortho_plane, - std::back_inserter(prims)); + d_ptr->domain.curves_aabb_tree(). + all_intersected_primitives(curr_ortho_plane, std::back_inserter(prims)); #ifdef CGAL_MESH_3_PROTECTION_HIGH_VERBOSITY std::cerr << std::endl; @@ -421,12 +504,12 @@ struct Sizing_field_with_aabb_tree if (const Point_3* pp = boost::get(&*int_res)) { FT new_sqd = CGAL::squared_distance(p, *pp); - FT gdist = CGAL::abs(domain.signed_geodesic_distance(p, *pp, curve_id)); + FT dist = CGAL::abs(d_ptr->domain.signed_geodesic_distance(p, *pp, curve_id)); #ifdef CGAL_MESH_3_PROTECTION_HIGH_VERBOSITY std::cerr << "Intersection point : Point_3(" << *pp << ") "; std::cerr << "\n new_sqd = " << new_sqd ; - std::cerr << "\n gdist = " << gdist << "\n"; + std::cerr << "\n dist = " << dist << "\n"; #endif if (new_sqd * 1e10 < CGAL::squared_distance(curr_segment.source(), curr_segment.target())) @@ -437,7 +520,7 @@ struct Sizing_field_with_aabb_tree #endif continue; } - if (CGAL_NTS sqrt(new_sqd) > 0.9 * gdist) + if (CGAL_NTS sqrt(new_sqd) > 0.9 * dist) continue; if (sqd_intersection == -1 || new_sqd < sqd_intersection) { @@ -468,7 +551,7 @@ struct Sizing_field_with_aabb_tree #ifdef CGAL_MESH_3_PROTECTION_HIGH_VERBOSITY std::cout << " curve_id = " << curve_id << " proj_cid = " << closest_primitive.id().first->first - << " (" << get(get_curve_index, closest_primitive.id()) << ")" + << " (" << get(d_ptr->get_curve_index, closest_primitive.id()) << ")" << std::endl; std::cerr << " --- domain.curves_aabb_tree().traversal \n"; #endif // CGAL_MESH_3_PROTECTION_HIGH_VERBOSITY @@ -482,7 +565,7 @@ struct Sizing_field_with_aabb_tree double new_result = (std::min)(0.45 / CGAL::sqrt(CGAL::Mesh_3::internal::weight_modifier) * CGAL_NTS sqrt(sqd_intersection), - d_); + d_ptr->d_); #ifdef CGAL_MESH_3_PROTECTION_HIGH_VERBOSITY std::cerr << "result = " << result << "\n"; @@ -515,17 +598,34 @@ struct Sizing_field_with_aabb_tree return result; } private: - typename Kernel_::FT d_; - const Input_facets_AABB_tree_& aabb_tree; - const MeshDomain& domain; - Dt dt; - Corners corners; - Corners_indices corners_indices; - Curves_incident_patches curves_incident_patches; - Corners_incident_patches corners_incident_patches; - Corners_incident_curves corners_incident_curves; - Get_curve_index get_curve_index; - Facet_patch_id_map facet_patch_id_map; + using Kd_tree = CGAL::AABB_search_tree; + struct Private_data { + using FT = typename Kernel_::FT; + Private_data(FT d, const Input_facets_AABB_tree_& aabb_tree, + const MeshDomain& domain, + Get_curve_index get_curve_index, + Facet_patch_id_map facet_patch_id_map) + : d_(d) + , aabb_tree(aabb_tree) + , domain(domain) + , get_curve_index(get_curve_index) + , facet_patch_id_map(facet_patch_id_map) + {} + FT d_; + const Input_facets_AABB_tree_& aabb_tree; + const MeshDomain& domain; + Get_curve_index get_curve_index; + Facet_patch_id_map facet_patch_id_map; + Dt dt{}; + Corners corners{}; + Corners_indices corners_indices{}; + Curves_incident_patches curves_incident_patches{}; + Corners_incident_patches corners_incident_patches{}; + Corners_incident_curves corners_incident_curves{}; + std::vector> kd_trees_ptrs{}; + Patch_index min_patch_id{}; + }; + std::shared_ptr d_ptr; }; #endif // CGAL_MESH_3_SIZING_FIELD_WITH_AABB_TREE_H diff --git a/Mesh_3/include/CGAL/exude_mesh_3.h b/Mesh_3/include/CGAL/exude_mesh_3.h index e5480aa1dee..0115095c824 100644 --- a/Mesh_3/include/CGAL/exude_mesh_3.h +++ b/Mesh_3/include/CGAL/exude_mesh_3.h @@ -102,8 +102,9 @@ Mesh_optimization_return_code exude_mesh_3(C3T3& c3t3,const CGAL_NP_CLASS& np = } #ifndef CGAL_NO_DEPRECATED_CODE -template -Mesh_optimization_return_code exude_mesh_3(C3T3& c3t3, double time_limit = 0, double sliver_bound = 0) +template +CGAL_DEPRECATED +Mesh_optimization_return_code exude_mesh_3(C3T3& c3t3, double time_limit, double sliver_bound = 0) { return exude_mesh_3(c3t3, CGAL::parameters::time_limit(time_limit).sliver_bound(sliver_bound)); } diff --git a/Mesh_3/include/CGAL/make_mesh_3.h b/Mesh_3/include/CGAL/make_mesh_3.h index 7160b9944d4..db1c8448811 100644 --- a/Mesh_3/include/CGAL/make_mesh_3.h +++ b/Mesh_3/include/CGAL/make_mesh_3.h @@ -232,6 +232,13 @@ struct C3t3_initializer < C3T3, MD, MC, true, CGAL::Tag_true > if (c3t3.number_of_facets() == 0) { need_more_init = true; } + else + { + helper.update_restricted_cells(); + if(c3t3.number_of_cells() == 0) { + need_more_init = true; + } + } } if(need_more_init) { init_c3t3(c3t3, domain, criteria, diff --git a/Minkowski_sum_2/doc/Minkowski_sum_2/Concepts/PolygonWithHolesConvexDecomposition_2.h b/Minkowski_sum_2/doc/Minkowski_sum_2/Concepts/PolygonWithHolesConvexDecomposition_2.h index e70c1fed399..7c27e91a6c8 100644 --- a/Minkowski_sum_2/doc/Minkowski_sum_2/Concepts/PolygonWithHolesConvexDecomposition_2.h +++ b/Minkowski_sum_2/doc/Minkowski_sum_2/Concepts/PolygonWithHolesConvexDecomposition_2.h @@ -7,7 +7,7 @@ decomposing an input polygon \f$ P\f$, which may have holes, into a set of convex sub-polygons \f$ P_1, \ldots, P_k\f$, such that \f$ \cup_{i=1}^{k}{P_k} = P\f$. -\cgalRefines `PolygonConvexDecomposition_2` +\cgalRefines{PolygonConvexDecomposition_2} \cgalHasModel `CGAL::Polygon_vertical_decomposition_2` \cgalHasModel `CGAL::Polygon_triangulation_decomposition_2` diff --git a/Modular_arithmetic/doc/Modular_arithmetic/Concepts/ModularTraits--ModularImage.h b/Modular_arithmetic/doc/Modular_arithmetic/Concepts/ModularTraits--ModularImage.h index 93ca015aac6..1ae6322420b 100644 --- a/Modular_arithmetic/doc/Modular_arithmetic/Concepts/ModularTraits--ModularImage.h +++ b/Modular_arithmetic/doc/Modular_arithmetic/Concepts/ModularTraits--ModularImage.h @@ -10,7 +10,7 @@ with respect to a homomorphism \f$ \varphi\f$ from the The homomorphism preserves the mapping of `int` into both types , i.e., \f$ \varphi(\mathrm{Type}(i)) == \mathrm{Residue\_type}(i)\f$. -\cgalRefines `AdaptableUnaryFunction` +\cgalRefines{AdaptableUnaryFunction} \sa `ModularTraits` diff --git a/Modular_arithmetic/doc/Modular_arithmetic/Concepts/ModularTraits--ModularImageRepresentative.h b/Modular_arithmetic/doc/Modular_arithmetic/Concepts/ModularTraits--ModularImageRepresentative.h index d19cced014f..a2043679391 100644 --- a/Modular_arithmetic/doc/Modular_arithmetic/Concepts/ModularTraits--ModularImageRepresentative.h +++ b/Modular_arithmetic/doc/Modular_arithmetic/Concepts/ModularTraits--ModularImageRepresentative.h @@ -5,7 +5,7 @@ This `AdaptableUnaryFunction` returns a representative in the original type of a given modular image. More precisely, it implements the *right inverse* of a proper restriction of the homomorphism \f$ \varphi\f$, which is implemented by `ModularTraits::ModularImage`. -\cgalRefines `AdaptableUnaryFunction` +\cgalRefines{AdaptableUnaryFunction} \sa `ModularTraits` diff --git a/NewKernel_d/package_info/NewKernel_d/copyright b/NewKernel_d/package_info/NewKernel_d/copyright new file mode 100644 index 00000000000..3a69190ec6f --- /dev/null +++ b/NewKernel_d/package_info/NewKernel_d/copyright @@ -0,0 +1 @@ +INRIA (France) diff --git a/Number_types/doc/Number_types/Concepts/RootOf_2.h b/Number_types/doc/Number_types/Concepts/RootOf_2.h index 9c10536f514..a772693794d 100644 --- a/Number_types/doc/Number_types/Concepts/RootOf_2.h +++ b/Number_types/doc/Number_types/Concepts/RootOf_2.h @@ -27,11 +27,8 @@ special construction for extensions of degree 2: - `CGAL::make_sqrt()` -\cgalRefines `DefaultConstructible` -\cgalRefines `CopyConstructible` -\cgalRefines `FromIntConstructible` -\cgalRefines `ImplicitInteroperable` with `RT` -\cgalRefines `ImplicitInteroperable` with `FT` +\cgalRefines{DefaultConstructible,CopyConstructible,FromIntConstructible, + ImplicitInteroperable with `RT`,ImplicitInteroperable with `FT`} \cgalHasModel `double` (not exact) \cgalHasModel `CGAL::Sqrt_extension` diff --git a/Number_types/include/CGAL/Sqrt_extension/Sqrt_extension_type.h b/Number_types/include/CGAL/Sqrt_extension/Sqrt_extension_type.h index 98effda949e..c49303dd42d 100644 --- a/Number_types/include/CGAL/Sqrt_extension/Sqrt_extension_type.h +++ b/Number_types/include/CGAL/Sqrt_extension/Sqrt_extension_type.h @@ -662,10 +662,6 @@ CGAL::Comparison_result // NT friend bool operator == (const Sqrt_extension& p, const NT& num) { return (p-num).is_zero();} - friend bool operator < (const Sqrt_extension& p, const NT& num) - { return ( p.compare(num) == CGAL::SMALLER ); } - friend bool operator > (const Sqrt_extension& p, const NT& num) - { return ( p.compare(num) == CGAL::LARGER ); } //CGAL_int(NT) friend bool operator == (const Sqrt_extension& p, CGAL_int(NT) num) @@ -676,6 +672,19 @@ CGAL::Comparison_result { return ( p.compare(num) == CGAL::LARGER ); } }; +// The two operators are moved out of the class scope (where they were friends) +// in order to work around a VC2017 compilation problem +template +bool operator < (const Sqrt_extension& p, const NT& num) +{ + return (p.compare(num) == CGAL::SMALLER); +} + +template +bool operator > (const Sqrt_extension& p, const NT& num) +{ + return (p.compare(num) == CGAL::LARGER); +} /*! * Compute the square of a one-root number. */ diff --git a/Optimal_bounding_box/doc/Optimal_bounding_box/Concepts/OrientedBoundingBoxTraits.h b/Optimal_bounding_box/doc/Optimal_bounding_box/Concepts/OrientedBoundingBoxTraits.h index 74cbbcaca6a..dceb2345f0c 100644 --- a/Optimal_bounding_box/doc/Optimal_bounding_box/Concepts/OrientedBoundingBoxTraits.h +++ b/Optimal_bounding_box/doc/Optimal_bounding_box/Concepts/OrientedBoundingBoxTraits.h @@ -6,7 +6,7 @@ The concept `OrientedBoundingBoxTraits_3` describes the requirements of the trai used in the function `CGAL::oriented_bounding_box()`, and in particular the need for a 3x3 matrix type. -\cgalRefines `Kernel` +\cgalRefines{Kernel} \cgalHasModel `CGAL::Oriented_bounding_box_traits_3` diff --git a/Optimal_transportation_reconstruction_2/doc/Optimal_transportation_reconstruction_2/Concepts/OptimalTransportationReconstructionTraits_2.h b/Optimal_transportation_reconstruction_2/doc/Optimal_transportation_reconstruction_2/Concepts/OptimalTransportationReconstructionTraits_2.h index 3c5afb03b1f..fe99dd293c4 100644 --- a/Optimal_transportation_reconstruction_2/doc/Optimal_transportation_reconstruction_2/Concepts/OptimalTransportationReconstructionTraits_2.h +++ b/Optimal_transportation_reconstruction_2/doc/Optimal_transportation_reconstruction_2/Concepts/OptimalTransportationReconstructionTraits_2.h @@ -6,7 +6,7 @@ The concept `OptimalTransportationReconstructionTraits_2` describes the requirements for the traits class of `CGAL::Optimal_transportation_reconstruction_2`. -\cgalRefines `DelaunayTriangulationTraits_2` +\cgalRefines{DelaunayTriangulationTraits_2} \cgalHasModel Any model of the `Kernel` concept \cgalHasModel `CGAL::Exact_predicates_inexact_constructions_kernel` (recommended) diff --git a/Partition_2/doc/Partition_2/Concepts/OptimalConvexPartitionTraits_2.h b/Partition_2/doc/Partition_2/Concepts/OptimalConvexPartitionTraits_2.h index 1c122202472..3f1e4722dc2 100644 --- a/Partition_2/doc/Partition_2/Concepts/OptimalConvexPartitionTraits_2.h +++ b/Partition_2/doc/Partition_2/Concepts/OptimalConvexPartitionTraits_2.h @@ -6,7 +6,7 @@ Requirements of a traits class to be used with the function `optimal_convex_partition_2()` that computes an optimal convex partition of a polygon. -\cgalRefines `PartitionTraits_2` +\cgalRefines{PartitionTraits_2} \cgalHasModel `CGAL::Partition_traits_2` diff --git a/Periodic_2_triangulation_2/doc/Periodic_2_triangulation_2/Concepts/Periodic_2DelaunayTriangulationTraits_2.h b/Periodic_2_triangulation_2/doc/Periodic_2_triangulation_2/Concepts/Periodic_2DelaunayTriangulationTraits_2.h index 6bc1a42ce38..402a3eca806 100644 --- a/Periodic_2_triangulation_2/doc/Periodic_2_triangulation_2/Concepts/Periodic_2DelaunayTriangulationTraits_2.h +++ b/Periodic_2_triangulation_2/doc/Periodic_2_triangulation_2/Concepts/Periodic_2DelaunayTriangulationTraits_2.h @@ -14,7 +14,7 @@ predicates from `DelaunayTriangulationTraits_2` can be used directly. For efficiency reasons we maintain for each functor the version without offsets. -\cgalRefines `DelaunayTriangulationTraits_2` and `Periodic_2TriangulationTraits_2` +\cgalRefines{DelaunayTriangulationTraits_2,Periodic_2TriangulationTraits_2} In addition to the requirements of the concepts `Periodic_2TriangulationTraits_2` and `DelaunayTriangulationTraits_2`, diff --git a/Periodic_2_triangulation_2/doc/Periodic_2_triangulation_2/Concepts/Periodic_2TriangulationFaceBase_2.h b/Periodic_2_triangulation_2/doc/Periodic_2_triangulation_2/Concepts/Periodic_2TriangulationFaceBase_2.h index d6f3e40edbf..7d7771d981e 100644 --- a/Periodic_2_triangulation_2/doc/Periodic_2_triangulation_2/Concepts/Periodic_2TriangulationFaceBase_2.h +++ b/Periodic_2_triangulation_2/doc/Periodic_2_triangulation_2/Concepts/Periodic_2TriangulationFaceBase_2.h @@ -11,7 +11,7 @@ its four vertices and to its four neighbor faces. The vertices and neighbors are indexed 0, 1 and 2. Neighbor \f$ i\f$ lies opposite to vertex \f$ i\f$. -\cgalRefines `TriangulationFaceBase_2` +\cgalRefines{TriangulationFaceBase_2} \cgalHasModel `CGAL::Periodic_2_triangulation_face_base_2` diff --git a/Periodic_2_triangulation_2/doc/Periodic_2_triangulation_2/Concepts/Periodic_2TriangulationTraits_2.h b/Periodic_2_triangulation_2/doc/Periodic_2_triangulation_2/Concepts/Periodic_2TriangulationTraits_2.h index f5161d682ed..71bfd55b268 100644 --- a/Periodic_2_triangulation_2/doc/Periodic_2_triangulation_2/Concepts/Periodic_2TriangulationTraits_2.h +++ b/Periodic_2_triangulation_2/doc/Periodic_2_triangulation_2/Concepts/Periodic_2TriangulationTraits_2.h @@ -18,7 +18,7 @@ predicates from `TriangulationTraits_2` can be used directly. For efficiency reasons we maintain for each functor the version without offsets. -\cgalRefines `TriangulationTraits_2` +\cgalRefines{TriangulationTraits_2} In addition to the requirements described for the traits class `TriangulationTraits_2`, the geometric traits class of a Periodic triangulation must fulfill the following diff --git a/Periodic_2_triangulation_2/doc/Periodic_2_triangulation_2/Concepts/Periodic_2TriangulationVertexBase_2.h b/Periodic_2_triangulation_2/doc/Periodic_2_triangulation_2/Concepts/Periodic_2TriangulationVertexBase_2.h index 0ed7a18153a..26c88f7b157 100644 --- a/Periodic_2_triangulation_2/doc/Periodic_2_triangulation_2/Concepts/Periodic_2TriangulationVertexBase_2.h +++ b/Periodic_2_triangulation_2/doc/Periodic_2_triangulation_2/Concepts/Periodic_2TriangulationVertexBase_2.h @@ -14,7 +14,7 @@ to one of its incident faces through a handle. The storage of the offset is only needed when a triangulation is copied. -\cgalRefines `TriangulationVertexBase_2` +\cgalRefines{TriangulationVertexBase_2} \cgalHasModel` CGAL::Periodic_2_triangulation_vertex_base_2` diff --git a/Periodic_2_triangulation_2/doc/Periodic_2_triangulation_2/Periodic_2_triangulation_2.txt b/Periodic_2_triangulation_2/doc/Periodic_2_triangulation_2/Periodic_2_triangulation_2.txt index 504172c56d1..9ccf261174a 100644 --- a/Periodic_2_triangulation_2/doc/Periodic_2_triangulation_2/Periodic_2_triangulation_2.txt +++ b/Periodic_2_triangulation_2/doc/Periodic_2_triangulation_2/Periodic_2_triangulation_2.txt @@ -261,7 +261,7 @@ the faces and vertices maintaining incidence and adjacency relations (see Chapter \ref Chapter_2D_Triangulation_Data_Structure). In addition, the concepts `TriangulationDataStructure_2::Vertex` and `TriangulationDataStructure_2::Face` are extended to support periodicity: the vertex and face must be models of -`Periodic_2TriangulationVertexBase_2` and Periodic_2TriangulationFaceBase_2`. +`Periodic_2TriangulationVertexBase_2` and `Periodic_2TriangulationFaceBase_2`. A model of such concept is `CGAL::Triangulation_data_structure_2`. It is parameterized by a vertex base class and a face base class, which gives the possibility to customize the vertices and cells used by the triangulation data diff --git a/Periodic_3_mesh_3/doc/Periodic_3_mesh_3/Concepts/Periodic_3MeshDomainWithFeatures_3.h b/Periodic_3_mesh_3/doc/Periodic_3_mesh_3/Concepts/Periodic_3MeshDomainWithFeatures_3.h index c437d8a3e1e..51a0f2dff73 100644 --- a/Periodic_3_mesh_3/doc/Periodic_3_mesh_3/Concepts/Periodic_3MeshDomainWithFeatures_3.h +++ b/Periodic_3_mesh_3/doc/Periodic_3_mesh_3/Concepts/Periodic_3MeshDomainWithFeatures_3.h @@ -2,7 +2,7 @@ \ingroup PkgPeriodic3Mesh3Concepts \cgalConcept -\cgalRefines `MeshDomainWithFeatures_3` and `Periodic_3MeshDomain_3` +\cgalRefines{MeshDomainWithFeatures_3,Periodic_3MeshDomain_3} The concept `Periodic_3MeshDomainWithFeatures_3` describes the knowledge required on the object to be discretized. diff --git a/Periodic_3_mesh_3/doc/Periodic_3_mesh_3/Concepts/Periodic_3MeshDomain_3.h b/Periodic_3_mesh_3/doc/Periodic_3_mesh_3/Concepts/Periodic_3MeshDomain_3.h index bd86a2a74ae..21ecbca9cc0 100644 --- a/Periodic_3_mesh_3/doc/Periodic_3_mesh_3/Concepts/Periodic_3MeshDomain_3.h +++ b/Periodic_3_mesh_3/doc/Periodic_3_mesh_3/Concepts/Periodic_3MeshDomain_3.h @@ -2,7 +2,7 @@ \ingroup PkgPeriodic3Mesh3Concepts \cgalConcept -\cgalRefines `MeshDomain_3` +\cgalRefines{MeshDomain_3} The concept `Periodic_3MeshDomain_3` describes the knowledge required on the object to be discretized. diff --git a/Periodic_3_triangulation_3/doc/Periodic_3_triangulation_3/Concepts/Periodic_3DelaunayTriangulationTraits_3.h b/Periodic_3_triangulation_3/doc/Periodic_3_triangulation_3/Concepts/Periodic_3DelaunayTriangulationTraits_3.h index a21917ec41e..9ca96674cc7 100644 --- a/Periodic_3_triangulation_3/doc/Periodic_3_triangulation_3/Concepts/Periodic_3DelaunayTriangulationTraits_3.h +++ b/Periodic_3_triangulation_3/doc/Periodic_3_triangulation_3/Concepts/Periodic_3DelaunayTriangulationTraits_3.h @@ -13,8 +13,7 @@ work with point-offset pairs. In most cases the offsets will be can be used directly. For efficiency reasons we maintain for each functor the version without offsets. -\cgalRefines `Periodic_3TriangulationTraits_3` -\cgalRefines `DelaunayTriangulationTraits_3` +\cgalRefines{Periodic_3TriangulationTraits_3,DelaunayTriangulationTraits_3} \cgalHasModel `CGAL::Periodic_3_Delaunay_triangulation_traits_3` diff --git a/Periodic_3_triangulation_3/doc/Periodic_3_triangulation_3/Concepts/Periodic_3RegularTriangulationDSCellBase_3.h b/Periodic_3_triangulation_3/doc/Periodic_3_triangulation_3/Concepts/Periodic_3RegularTriangulationDSCellBase_3.h index 59afc1e24c3..803505e302e 100644 --- a/Periodic_3_triangulation_3/doc/Periodic_3_triangulation_3/Concepts/Periodic_3RegularTriangulationDSCellBase_3.h +++ b/Periodic_3_triangulation_3/doc/Periodic_3_triangulation_3/Concepts/Periodic_3RegularTriangulationDSCellBase_3.h @@ -3,8 +3,7 @@ \ingroup PkgPeriodic3Triangulation3Concepts \cgalConcept -\cgalRefines `RegularTriangulationCellBase_3` -\cgalRefines `Periodic_3TriangulationDSCellBase_3` +\cgalRefines{RegularTriangulationCellBase_3,Periodic_3TriangulationDSCellBase_3} \cgalHasModel `CGAL::Regular_triangulation_cell_base_3 >` diff --git a/Periodic_3_triangulation_3/doc/Periodic_3_triangulation_3/Concepts/Periodic_3RegularTriangulationDSVertexBase_3.h b/Periodic_3_triangulation_3/doc/Periodic_3_triangulation_3/Concepts/Periodic_3RegularTriangulationDSVertexBase_3.h index 43ff786e30a..762aceede94 100644 --- a/Periodic_3_triangulation_3/doc/Periodic_3_triangulation_3/Concepts/Periodic_3RegularTriangulationDSVertexBase_3.h +++ b/Periodic_3_triangulation_3/doc/Periodic_3_triangulation_3/Concepts/Periodic_3RegularTriangulationDSVertexBase_3.h @@ -3,8 +3,7 @@ \ingroup PkgPeriodic3Triangulation3Concepts \cgalConcept -\cgalRefines `RegularTriangulationVertexBase_3` -\cgalRefines `Periodic_3TriangulationDSVertexBase_3` +\cgalRefines{RegularTriangulationVertexBase_3,Periodic_3TriangulationDSVertexBase_3} \cgalHasModel `CGAL::Regular_triangulation_vertex_base_3 >` diff --git a/Periodic_3_triangulation_3/doc/Periodic_3_triangulation_3/Concepts/Periodic_3RegularTriangulationTraits_3.h b/Periodic_3_triangulation_3/doc/Periodic_3_triangulation_3/Concepts/Periodic_3RegularTriangulationTraits_3.h index b3b645b972e..ed986883f58 100644 --- a/Periodic_3_triangulation_3/doc/Periodic_3_triangulation_3/Concepts/Periodic_3RegularTriangulationTraits_3.h +++ b/Periodic_3_triangulation_3/doc/Periodic_3_triangulation_3/Concepts/Periodic_3RegularTriangulationTraits_3.h @@ -13,8 +13,7 @@ work with point-offset pairs. In most cases the offsets will be can be used directly. For efficiency reasons we maintain for each functor the version without offsets. -\cgalRefines `Periodic_3TriangulationTraits_3` -\cgalRefines `RegularTriangulationTraits_3` +\cgalRefines{Periodic_3TriangulationTraits_3,RegularTriangulationTraits_3} \cgalHasModel `CGAL::Periodic_3_regular_triangulation_traits_3` diff --git a/Periodic_3_triangulation_3/doc/Periodic_3_triangulation_3/Concepts/Periodic_3TriangulationDSCellBase_3.h b/Periodic_3_triangulation_3/doc/Periodic_3_triangulation_3/Concepts/Periodic_3TriangulationDSCellBase_3.h index ccbb25caee0..048264c8c7b 100644 --- a/Periodic_3_triangulation_3/doc/Periodic_3_triangulation_3/Concepts/Periodic_3TriangulationDSCellBase_3.h +++ b/Periodic_3_triangulation_3/doc/Periodic_3_triangulation_3/Concepts/Periodic_3TriangulationDSCellBase_3.h @@ -16,7 +16,7 @@ additionally store an offset for each vertex. Only the last three bits of each integer are required to be stored. The remaining part does not contain any information. -\cgalRefines `TriangulationDSCellBase_3` +\cgalRefines{TriangulationDSCellBase_3} \cgalHasModel `CGAL::Periodic_3_triangulation_ds_cell_base_3` diff --git a/Periodic_3_triangulation_3/doc/Periodic_3_triangulation_3/Concepts/Periodic_3TriangulationDSVertexBase_3.h b/Periodic_3_triangulation_3/doc/Periodic_3_triangulation_3/Concepts/Periodic_3TriangulationDSVertexBase_3.h index fc9c47c0f9b..cc3de413a70 100644 --- a/Periodic_3_triangulation_3/doc/Periodic_3_triangulation_3/Concepts/Periodic_3TriangulationDSVertexBase_3.h +++ b/Periodic_3_triangulation_3/doc/Periodic_3_triangulation_3/Concepts/Periodic_3TriangulationDSVertexBase_3.h @@ -10,7 +10,7 @@ At the base level of 3D-triangulations (see Sections \ref P3Triangulation3secdesign and \ref TDS3secdesign), a vertex provides access to one of its incident cells through a handle. -\cgalRefines `TriangulationDSVertexBase_3` +\cgalRefines{TriangulationDSVertexBase_3} \cgalHasModel `CGAL::Periodic_3_triangulation_ds_vertex_base_3` diff --git a/Periodic_3_triangulation_3/doc/Periodic_3_triangulation_3/Concepts/Periodic_3TriangulationTraits_3.h b/Periodic_3_triangulation_3/doc/Periodic_3_triangulation_3/Concepts/Periodic_3TriangulationTraits_3.h index be1990d1f14..3133ceb9342 100644 --- a/Periodic_3_triangulation_3/doc/Periodic_3_triangulation_3/Concepts/Periodic_3TriangulationTraits_3.h +++ b/Periodic_3_triangulation_3/doc/Periodic_3_triangulation_3/Concepts/Periodic_3TriangulationTraits_3.h @@ -12,7 +12,7 @@ work with point-offset pairs. In most cases the offsets will be can be used directly. For efficiency reasons we maintain for each functor the version without offsets. -\cgalRefines `TriangulationTraits_3` +\cgalRefines{TriangulationTraits_3} \cgalHasModel `CGAL::Periodic_3_triangulation_traits_3` diff --git a/Periodic_4_hyperbolic_triangulation_2/doc/Periodic_4_hyperbolic_triangulation_2/Concepts/Periodic_4HyperbolicDelaunayTriangulationTraits_2.h b/Periodic_4_hyperbolic_triangulation_2/doc/Periodic_4_hyperbolic_triangulation_2/Concepts/Periodic_4HyperbolicDelaunayTriangulationTraits_2.h index a067dd98e92..6628fffd89f 100644 --- a/Periodic_4_hyperbolic_triangulation_2/doc/Periodic_4_hyperbolic_triangulation_2/Concepts/Periodic_4HyperbolicDelaunayTriangulationTraits_2.h +++ b/Periodic_4_hyperbolic_triangulation_2/doc/Periodic_4_hyperbolic_triangulation_2/Concepts/Periodic_4HyperbolicDelaunayTriangulationTraits_2.h @@ -5,7 +5,7 @@ \ingroup PkgPeriodic4HyperbolicTriangulation2Concepts \cgalConcept -\cgalRefines `Periodic_4HyperbolicTriangulationTraits_2` +\cgalRefines{Periodic_4HyperbolicTriangulationTraits_2} The concept `Periodic_4HyperbolicDelaunayTriangulationTraits_2` adds a requirement to `Periodic_4HyperbolicTriangulationTraits_2` that needs to be fulfilled diff --git a/Periodic_4_hyperbolic_triangulation_2/doc/Periodic_4_hyperbolic_triangulation_2/Concepts/Periodic_4HyperbolicTriangulationFaceBase_2.h b/Periodic_4_hyperbolic_triangulation_2/doc/Periodic_4_hyperbolic_triangulation_2/Concepts/Periodic_4HyperbolicTriangulationFaceBase_2.h index 3d0e812a744..959e3c3a25e 100644 --- a/Periodic_4_hyperbolic_triangulation_2/doc/Periodic_4_hyperbolic_triangulation_2/Concepts/Periodic_4HyperbolicTriangulationFaceBase_2.h +++ b/Periodic_4_hyperbolic_triangulation_2/doc/Periodic_4_hyperbolic_triangulation_2/Concepts/Periodic_4HyperbolicTriangulationFaceBase_2.h @@ -5,7 +5,7 @@ \ingroup PkgPeriodic4HyperbolicTriangulation2Concepts \cgalConcept -\cgalRefines `TriangulationFaceBase_2` +\cgalRefines{TriangulationFaceBase_2} A refinement of the concept `TriangulationFaceBase_2` that adds an interface for hyperbolic translations. diff --git a/Periodic_4_hyperbolic_triangulation_2/doc/Periodic_4_hyperbolic_triangulation_2/Concepts/Periodic_4HyperbolicTriangulationTraits_2.h b/Periodic_4_hyperbolic_triangulation_2/doc/Periodic_4_hyperbolic_triangulation_2/Concepts/Periodic_4HyperbolicTriangulationTraits_2.h index 89605fe87f7..bdd463403a6 100644 --- a/Periodic_4_hyperbolic_triangulation_2/doc/Periodic_4_hyperbolic_triangulation_2/Concepts/Periodic_4HyperbolicTriangulationTraits_2.h +++ b/Periodic_4_hyperbolic_triangulation_2/doc/Periodic_4_hyperbolic_triangulation_2/Concepts/Periodic_4HyperbolicTriangulationTraits_2.h @@ -5,7 +5,7 @@ \ingroup PkgPeriodic4HyperbolicTriangulation2Concepts \cgalConcept -\cgalRefines `HyperbolicDelaunayTriangulationTraits_2` +\cgalRefines{HyperbolicDelaunayTriangulationTraits_2} The concept `Periodic_4HyperbolicTriangulationTraits_2` describes the set of requirements to be fulfilled by any class used to instantiate the first template parameter of the class diff --git a/Periodic_4_hyperbolic_triangulation_2/doc/Periodic_4_hyperbolic_triangulation_2/Concepts/Periodic_4HyperbolicTriangulationVertexBase_2.h b/Periodic_4_hyperbolic_triangulation_2/doc/Periodic_4_hyperbolic_triangulation_2/Concepts/Periodic_4HyperbolicTriangulationVertexBase_2.h index b6a54d13e70..3221dc57a11 100644 --- a/Periodic_4_hyperbolic_triangulation_2/doc/Periodic_4_hyperbolic_triangulation_2/Concepts/Periodic_4HyperbolicTriangulationVertexBase_2.h +++ b/Periodic_4_hyperbolic_triangulation_2/doc/Periodic_4_hyperbolic_triangulation_2/Concepts/Periodic_4HyperbolicTriangulationVertexBase_2.h @@ -5,7 +5,7 @@ \ingroup PkgPeriodic4HyperbolicTriangulation2Concepts \cgalConcept -\cgalRefines `TriangulationVertexBase_2` +\cgalRefines{TriangulationVertexBase_2} A refinement of the concept `TriangulationVertexBase_2` that adds an interface for hyperbolic translations. diff --git a/Polygon/doc/Polygon/Concepts/GeneralPolygonWithHoles_2.h b/Polygon/doc/Polygon/Concepts/GeneralPolygonWithHoles_2.h index da1061323f5..e133b35e03d 100644 --- a/Polygon/doc/Polygon/Concepts/GeneralPolygonWithHoles_2.h +++ b/Polygon/doc/Polygon/Concepts/GeneralPolygonWithHoles_2.h @@ -1,9 +1,7 @@ /*! \ingroup PkgPolygon2Concepts * \cgalConcept * - * \cgalRefines `DefaultConstructible` - * \cgalRefines `CopyConstructible` - * \cgalRefines `Assignable` + * \cgalRefines{CopyConstructible,Assignable,DefaultConstructible} * * A model of this concept represents a general polygon with holes. The * concept requires the ability to access the general polygon that diff --git a/Polygon/doc/Polygon/Concepts/PolygonTraits_2.h b/Polygon/doc/Polygon/Concepts/PolygonTraits_2.h index d405005be6e..674a57e4374 100644 --- a/Polygon/doc/Polygon/Concepts/PolygonTraits_2.h +++ b/Polygon/doc/Polygon/Concepts/PolygonTraits_2.h @@ -12,7 +12,7 @@ The requirements of `PolygonTraits_2` are a subset of the kernel requirements. We only list the types and methods which are required and refer to the description of the kernel concept for details. -\cgalRefines `DefaultConstructible` and `CopyConstructable` +\cgalRefines{DefaultConstructible,CopyConstructable} \cgalHasModel The kernels supplied by \cgal are models of `PolygonTraits_2`. \cgalHasModel `CGAL::Projection_traits_xy_3` diff --git a/Polygon/include/CGAL/Polygon_with_holes_2.h b/Polygon/include/CGAL/Polygon_with_holes_2.h index b5a842710e9..3e4eb83c0a9 100644 --- a/Polygon/include/CGAL/Polygon_with_holes_2.h +++ b/Polygon/include/CGAL/Polygon_with_holes_2.h @@ -166,7 +166,7 @@ Both \ascii and binary formats are supported, and the format is automatically de The format consists of the number of points of the outer boundary followed by the points themselves in counterclockwise order, followed by the number of holes, and for each hole, the number of points of the outer boundary is followed -by the points themselves in clockwise order. +by the points themselves, in clockwise order. \relates Polygon_with_holes_2 */ diff --git a/Polygon_mesh_processing/doc/Polygon_mesh_processing/Concepts/PMPCorefinementVisitor.h b/Polygon_mesh_processing/doc/Polygon_mesh_processing/Concepts/PMPCorefinementVisitor.h index 1db30f8aaae..a46ff1fe7a2 100644 --- a/Polygon_mesh_processing/doc/Polygon_mesh_processing/Concepts/PMPCorefinementVisitor.h +++ b/Polygon_mesh_processing/doc/Polygon_mesh_processing/Concepts/PMPCorefinementVisitor.h @@ -5,7 +5,7 @@ /// used in \link PMP_corefinement_grp corefinement-related functions \endlink to track /// the creation of new faces and new edges. /// -/// \cgalRefines `CopyConstructible` +/// \cgalRefines{CopyConstructible} /// \cgalHasModel `CGAL::Polygon_mesh_processing::Corefinement::Default_visitor`. class PMPCorefinementVisitor{ diff --git a/Polygon_mesh_processing/doc/Polygon_mesh_processing/Concepts/PMPDistanceTraits.h b/Polygon_mesh_processing/doc/Polygon_mesh_processing/Concepts/PMPDistanceTraits.h index 0009489dcec..61575e3ff89 100644 --- a/Polygon_mesh_processing/doc/Polygon_mesh_processing/Concepts/PMPDistanceTraits.h +++ b/Polygon_mesh_processing/doc/Polygon_mesh_processing/Concepts/PMPDistanceTraits.h @@ -6,8 +6,7 @@ /// those concepts, it also requires types and functors needed by the functions `approximate_max_distance_to_point_set()`, /// `sample_triangle_mesh()`, `approximate_Hausdorff_distance()` and `max_distance_to_triangle_mesh()` /// -/// \cgalRefines `AABBGeomTraits` -/// \cgalRefines `SpatialSortingTraits_3` +/// \cgalRefines{AABBGeomTraits,SpatialSortingTraits_3} /// \cgalHasModel Any 3D Kernel is a model of this concept. class PMPDistanceTraits{ diff --git a/Polygon_mesh_processing/doc/Polygon_mesh_processing/Concepts/PMPHolefillingVisitor.h b/Polygon_mesh_processing/doc/Polygon_mesh_processing/Concepts/PMPHolefillingVisitor.h index d94b280a96c..9ef06093cb2 100644 --- a/Polygon_mesh_processing/doc/Polygon_mesh_processing/Concepts/PMPHolefillingVisitor.h +++ b/Polygon_mesh_processing/doc/Polygon_mesh_processing/Concepts/PMPHolefillingVisitor.h @@ -8,7 +8,7 @@ /// may use an algorithm with a quadratic running time relying on the 3D Delaunay triangulation (*quadratic phase*). /// If that fails, it uses an algorithm with cubic running time (*cubic phase*). /// -/// \cgalRefines `CopyConstructible` +/// \cgalRefines{CopyConstructible} /// \cgalHasModel `CGAL::Polygon_mesh_processing::Hole_filling::Default_visitor`. class PMPHolefillingVisitor{ diff --git a/Polygon_mesh_processing/doc/Polygon_mesh_processing/Concepts/PMPPolygonSoupOrientationVisitor.h b/Polygon_mesh_processing/doc/Polygon_mesh_processing/Concepts/PMPPolygonSoupOrientationVisitor.h index 93b40c15cb7..a4efc83d703 100644 --- a/Polygon_mesh_processing/doc/Polygon_mesh_processing/Concepts/PMPPolygonSoupOrientationVisitor.h +++ b/Polygon_mesh_processing/doc/Polygon_mesh_processing/Concepts/PMPPolygonSoupOrientationVisitor.h @@ -6,7 +6,7 @@ /// the detection of non-manifold simplices and the modifications performed to polygons /// during the orientation process. /// -/// \cgalRefines `CopyConstructible` +/// \cgalRefines{CopyConstructible} /// \cgalHasModel `CGAL::Polygon_mesh_processing::Default_orientation_visitor`. class PMPPolygonSoupOrientationVisitor{ diff --git a/Polygon_mesh_processing/doc/Polygon_mesh_processing/Concepts/PMPTriangulateFaceVisitor.h b/Polygon_mesh_processing/doc/Polygon_mesh_processing/Concepts/PMPTriangulateFaceVisitor.h index b7106277b52..f3fdef28beb 100644 --- a/Polygon_mesh_processing/doc/Polygon_mesh_processing/Concepts/PMPTriangulateFaceVisitor.h +++ b/Polygon_mesh_processing/doc/Polygon_mesh_processing/Concepts/PMPTriangulateFaceVisitor.h @@ -5,7 +5,7 @@ /// used in \link PMP_meshing_grp triangulation-related functions \endlink to track /// the creation of new faces. /// -/// \cgalRefines `CopyConstructible` +/// \cgalRefines{CopyConstructible} /// \cgalHasModel `CGAL::Polygon_mesh_processing::Triangulate_faces::Default_visitor`. diff --git a/Polygon_mesh_processing/doc/Polygon_mesh_processing/Doxyfile.in b/Polygon_mesh_processing/doc/Polygon_mesh_processing/Doxyfile.in index 5623c654d58..937b43f1de6 100644 --- a/Polygon_mesh_processing/doc/Polygon_mesh_processing/Doxyfile.in +++ b/Polygon_mesh_processing/doc/Polygon_mesh_processing/Doxyfile.in @@ -22,4 +22,7 @@ EXCLUDE_SYMBOLS += experimental HTML_EXTRA_FILES = ${CGAL_PACKAGE_DOC_DIR}/fig/selfintersections.jpg \ ${CGAL_PACKAGE_DOC_DIR}/fig/mesh_smoothing.png \ - ${CGAL_PACKAGE_DOC_DIR}/fig/shape_smoothing.png + ${CGAL_PACKAGE_DOC_DIR}/fig/shape_smoothing.png \ + ${CGAL_PACKAGE_DOC_DIR}/fig/decimate_cheese.png \ + ${CGAL_PACKAGE_DOC_DIR}/fig/decimate_colors.png \ + ${CGAL_PACKAGE_DOC_DIR}/fig/decimate_rg_joint.png diff --git a/Polygon_mesh_processing/doc/Polygon_mesh_processing/PackageDescription.txt b/Polygon_mesh_processing/doc/Polygon_mesh_processing/PackageDescription.txt index 8141fbd16f2..07a2d21a57b 100644 --- a/Polygon_mesh_processing/doc/Polygon_mesh_processing/PackageDescription.txt +++ b/Polygon_mesh_processing/doc/Polygon_mesh_processing/PackageDescription.txt @@ -113,6 +113,8 @@ The page \ref bgl_namedparameters "Named Parameters" describes their usage. \cgalCRPSection{Meshing Functions} - \link PMP_meshing_grp `CGAL::Polygon_mesh_processing::isotropic_remeshing()` \endlink - \link PMP_meshing_grp `CGAL::Polygon_mesh_processing::split_long_edges()` \endlink +- `CGAL::Polygon_mesh_processing::remesh_planar_patches()` +- `CGAL::Polygon_mesh_processing::remesh_almost_planar_patches()` - `CGAL::Polygon_mesh_processing::refine()` - `CGAL::Polygon_mesh_processing::fair()` - `CGAL::Polygon_mesh_processing::triangulate_face()` @@ -237,6 +239,9 @@ The page \ref bgl_namedparameters "Named Parameters" describes their usage. - `CGAL::Polygon_mesh_processing::sharp_edges_segmentation()` - `CGAL::Polygon_mesh_processing::detect_sharp_edges()` - `CGAL::Polygon_mesh_processing::detect_vertex_incident_patches()` +- `CGAL::Polygon_mesh_processing::region_growing_of_planes_on_faces()` +- `CGAL::Polygon_mesh_processing::detect_corners_of_regions()` + \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 4dc91d36ca0..f414898362f 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 @@ -38,7 +38,7 @@ The page \ref bgl_namedparameters describes their usage. \subsection PMPOutline Outline The algorithms described in this manual are organized in sections: - \ref PMPMeshing : meshing algorithms, including triangulation of non-triangulated -meshes, refinement, optimization by fairing, isotropic remeshing of triangulated surface meshes +meshes, refinement, optimization by fairing, remeshing of triangulated surface meshes and smoothing algorithms. - \ref Coref_section : methods to corefine triangle meshes and to compute boolean operations out of corefined closed triangle meshes. @@ -152,6 +152,55 @@ An example of how to remesh a given triangulated surface mesh with the Delaunay algorithm while preserving the detected sharp edges is given in \ref Polygon_mesh_processing/delaunay_remeshing_example.cpp +\paragraph Decimate Remeshing of (Almost) Planar Patches +When many triangles are used to describe a planar region of a model, one might wish to simplify the mesh +in this region to use few elements, or even a single large polygonal face when the region makes up a simply connected patch. +This can be achieved using the function `CGAL::Polygon_mesh_processing::remesh_planar_patches()`. +This function performs the detection of the planar regions, using geometric predicates for coplanarity and +collinearity checks. If these tests are performed exactly, the planar regions can be unexpectedly small due to the +input in fact not being perfectly planar. To palliate this, it is possible to specify a threshold on the angle +between adjacent faces (resp. segments) such that they are considered coplanar (resp. collinear). +However, this tolerance threshold is only local and there is no global control, which can have undesired effects, such as in the classic example of a densely sampled circle arc where all points are eventually found +to be almost collinear). To circumvent this situation, we provide the function + `CGAL::Polygon_mesh_processing::remesh_almost_planar_patches()` , which expects the segmentation into +planar patches and corners to be provided by the user. Such segmentation can be obtained using the function + `CGAL::Polygon_mesh_processing::region_growing_of_planes_on_faces()`, which +uses the region growing algorithm to detect planar regions in a mesh with global and local criteria. +Similarly, the function `CGAL::Polygon_mesh_processing::detect_corners_of_regions()` can be used +to detect corner vertices on the border of the planar regions detected by running the region growing +algorithm on border segments of the patch. + + +\cgalFigureAnchor{decimate_cheese} +

+ + + + + + +
(a)(b)
+
+\cgalFigureCaptionBegin{decimate_cheese} +Remeshing of planar patches in two models: (a) planar patches in the cheese model are retriangulated + (b) the remeshed version of this model contains 14 vertices and + has not been retriangulated, the patch ids have been assigned to the input + and the output meshes, allowing an identical color scheme. +\cgalFigureCaptionEnd + +\cgalFigureAnchor{decimate_rg_sphere} +
+ + + + +
+
+\cgalFigureCaptionBegin{decimate_rg_sphere} +Remeshing of planar patches using region growing for the detection of planar patches. +From left to right: input mesh, remeshed version, remeshed version using the same angle threshold but larger approximation error. +\cgalFigureEnd + \subsubsection Smoothing Smoothing of a triangulated mesh region can be achieved with algorithms that aim at either mesh smoothing or shape smoothing. diff --git a/Polygon_mesh_processing/doc/Polygon_mesh_processing/examples.txt b/Polygon_mesh_processing/doc/Polygon_mesh_processing/examples.txt index 3ce5384c81c..146e1261ff4 100644 --- a/Polygon_mesh_processing/doc/Polygon_mesh_processing/examples.txt +++ b/Polygon_mesh_processing/doc/Polygon_mesh_processing/examples.txt @@ -41,4 +41,6 @@ \example Polygon_mesh_processing/triangulate_faces_split_visitor_example.cpp \example Polygon_mesh_processing/hausdorff_bounded_error_distance_example.cpp \example Polygon_mesh_processing/cc_compatible_orientations.cpp +\example Polygon_mesh_processing/remesh_planar_patches.cpp +\example Polygon_mesh_processing/remesh_almost_planar_patches.cpp */ diff --git a/Polygon_mesh_processing/doc/Polygon_mesh_processing/fig/decimate_cheese.png b/Polygon_mesh_processing/doc/Polygon_mesh_processing/fig/decimate_cheese.png new file mode 100644 index 00000000000..9a10f57fc75 Binary files /dev/null and b/Polygon_mesh_processing/doc/Polygon_mesh_processing/fig/decimate_cheese.png differ diff --git a/Polygon_mesh_processing/doc/Polygon_mesh_processing/fig/decimate_colors.png b/Polygon_mesh_processing/doc/Polygon_mesh_processing/fig/decimate_colors.png new file mode 100644 index 00000000000..9966d76c532 Binary files /dev/null and b/Polygon_mesh_processing/doc/Polygon_mesh_processing/fig/decimate_colors.png differ diff --git a/Polygon_mesh_processing/doc/Polygon_mesh_processing/fig/decimate_rg_joint.png b/Polygon_mesh_processing/doc/Polygon_mesh_processing/fig/decimate_rg_joint.png new file mode 100644 index 00000000000..a126fe97ec6 Binary files /dev/null and b/Polygon_mesh_processing/doc/Polygon_mesh_processing/fig/decimate_rg_joint.png differ diff --git a/Polygon_mesh_processing/examples/Polygon_mesh_processing/CMakeLists.txt b/Polygon_mesh_processing/examples/Polygon_mesh_processing/CMakeLists.txt index 192e7d29b74..c755ecf63e8 100644 --- a/Polygon_mesh_processing/examples/Polygon_mesh_processing/CMakeLists.txt +++ b/Polygon_mesh_processing/examples/Polygon_mesh_processing/CMakeLists.txt @@ -19,6 +19,7 @@ create_single_source_cgal_program("point_inside_example.cpp") create_single_source_cgal_program("triangulate_faces_example.cpp") create_single_source_cgal_program("triangulate_faces_split_visitor_example.cpp") create_single_source_cgal_program("connected_components_example.cpp") +create_single_source_cgal_program("remesh_planar_patches.cpp") create_single_source_cgal_program( "face_filtered_graph_example.cpp") create_single_source_cgal_program("orient_polygon_soup_example.cpp") create_single_source_cgal_program("triangulate_polyline_example.cpp") @@ -70,6 +71,8 @@ if(TARGET CGAL::Eigen3_support) target_link_libraries(mesh_smoothing_example PUBLIC CGAL::Eigen3_support) create_single_source_cgal_program("delaunay_remeshing_example.cpp") target_link_libraries(delaunay_remeshing_example PUBLIC CGAL::Eigen3_support) + create_single_source_cgal_program("remesh_almost_planar_patches.cpp") + target_link_libraries(remesh_almost_planar_patches PUBLIC CGAL::Eigen3_support) else() message(STATUS "NOTICE: Examples that use Eigen will not be compiled.") endif() diff --git a/Polygon_mesh_processing/examples/Polygon_mesh_processing/remesh_almost_planar_patches.cpp b/Polygon_mesh_processing/examples/Polygon_mesh_processing/remesh_almost_planar_patches.cpp new file mode 100644 index 00000000000..e3924c3e095 --- /dev/null +++ b/Polygon_mesh_processing/examples/Polygon_mesh_processing/remesh_almost_planar_patches.cpp @@ -0,0 +1,66 @@ +#include +#include + +#include +#include +#include +#include + +#include + +#include +#include + + +typedef CGAL::Exact_predicates_inexact_constructions_kernel Kernel; +typedef Kernel::Point_3 Point_3; +typedef CGAL::Surface_mesh Surface_mesh; + +namespace PMP = CGAL::Polygon_mesh_processing; + +int main() +{ + Surface_mesh sm; + CGAL::IO::read_polygon_mesh(CGAL::data_file_path("meshes/fandisk.off"), sm); + + //apply a perturbation to input vertices so that points are no longer coplanar + PMP::random_perturbation(sm, 0.001); + + // declare vectors to store mesh properties + std::vector region_ids(num_faces(sm)); + std::vector corner_id_map(num_vertices(sm), -1); // corner status of vertices + std::vector ecm(num_edges(sm), false); // mark edges at the boundary of regions + boost::vector_property_map normal_map; // normal of the supporting planes of the regions detected + + // detect planar regions in the mesh + std::size_t nb_regions = + PMP::region_growing_of_planes_on_faces(sm, + CGAL::make_random_access_property_map(region_ids), + CGAL::parameters::cosine_of_maximum_angle(0.98). + region_primitive_map(normal_map). + maximum_distance(0.011)); + + // detect corner vertices on the boundary of planar regions + std::size_t nb_corners = + PMP::detect_corners_of_regions(sm, + CGAL::make_random_access_property_map(region_ids), + nb_regions, + CGAL::make_random_access_property_map(corner_id_map), + CGAL::parameters::cosine_of_maximum_angle(0.98). + maximum_distance(0.011). + edge_is_constrained_map(CGAL::make_random_access_property_map(ecm))); + + // run the remeshing algorithm using filled properties + Surface_mesh out; + PMP::remesh_almost_planar_patches(sm, + out, + nb_regions, nb_corners, + CGAL::make_random_access_property_map(region_ids), + CGAL::make_random_access_property_map(corner_id_map), + CGAL::make_random_access_property_map(ecm), + CGAL::parameters::patch_normal_map(normal_map)); + + CGAL::IO::write_polygon_mesh("fandisk_remeshed.off", out); + + return 0; +} diff --git a/Polygon_mesh_processing/examples/Polygon_mesh_processing/remesh_planar_patches.cpp b/Polygon_mesh_processing/examples/Polygon_mesh_processing/remesh_planar_patches.cpp new file mode 100644 index 00000000000..9f591e6a269 --- /dev/null +++ b/Polygon_mesh_processing/examples/Polygon_mesh_processing/remesh_planar_patches.cpp @@ -0,0 +1,49 @@ +#include +#include +#include +#include +#include +#include +#include + +#include +#include + + +typedef CGAL::Exact_predicates_inexact_constructions_kernel Kernel; +typedef Kernel::Point_3 Point_3; +typedef CGAL::Surface_mesh Surface_mesh; + +namespace PMP = CGAL::Polygon_mesh_processing; +int main() +{ + Surface_mesh sm; + CGAL::IO::read_polygon_mesh(CGAL::data_file_path("meshes/cube_quad.off"), sm); + + // triangulate faces; + PMP::triangulate_faces(sm); + std::cout << "Input mesh has " << faces(sm).size() << " faces" << std::endl; + assert(faces(sm).size()==12); + + Surface_mesh::Property_map ecm = + sm.add_property_map("ecm",false).first; + + // detect sharp edges of the cube + PMP::detect_sharp_edges(sm, 60, ecm); + + // create a remeshed version of the cube with many elements + PMP::isotropic_remeshing(faces(sm), 0.1, sm, CGAL::parameters::edge_is_constrained_map(ecm)); + CGAL::IO::write_polygon_mesh("cube_remeshed.off", sm, CGAL::parameters::stream_precision(17)); + assert(faces(sm).size()>100); + + // decimate the mesh + Surface_mesh out; + PMP::remesh_planar_patches(sm, out); + CGAL::IO::write_polygon_mesh("cube_decimated.off", out, CGAL::parameters::stream_precision(17)); + + // we should be back to 12 faces + std::cout << "Output mesh has " << faces(out).size() << " faces" << std::endl; + assert(faces(out).size()==12); + + return EXIT_SUCCESS; +} diff --git a/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/internal/Isotropic_remeshing/remesh_impl.h b/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/internal/Isotropic_remeshing/remesh_impl.h index a078e446591..9cdb76ac76b 100644 --- a/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/internal/Isotropic_remeshing/remesh_impl.h +++ b/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/internal/Isotropic_remeshing/remesh_impl.h @@ -384,10 +384,6 @@ namespace internal { void split_long_edges(const EdgeRange& edge_range, const double& high) { - typedef boost::bimap< - boost::bimaps::set_of, - boost::bimaps::multiset_of > > Boost_bimap; - typedef typename Boost_bimap::value_type long_edge; #ifdef CGAL_PMP_REMESHING_VERBOSE std::cout << "Split long edges (" << high << ")..."; @@ -396,12 +392,17 @@ namespace internal { double sq_high = high*high; //collect long edges - Boost_bimap long_edges; + typedef std::pair H_and_sql; + std::multiset< H_and_sql, std::function > + long_edges( + [](const H_and_sql& p1, const H_and_sql& p2) + { return p1.second > p2.second; } + ); for(edge_descriptor e : edge_range) { double sqlen = sqlength(e); if (sqlen > sq_high) - long_edges.insert(long_edge(halfedge(e, mesh_), sqlen)); + long_edges.emplace(halfedge(e, mesh_), sqlen); } //split long edges @@ -411,10 +412,10 @@ namespace internal { while (!long_edges.empty()) { //the edge with longest length - typename Boost_bimap::right_map::iterator eit = long_edges.right.begin(); - halfedge_descriptor he = eit->second; - double sqlen = eit->first; - long_edges.right.erase(eit); + auto eit = long_edges.begin(); + halfedge_descriptor he = eit->first; + double sqlen = eit->second; + long_edges.erase(eit); //split edge Point refinement_point = this->midpoint(he); @@ -438,8 +439,8 @@ namespace internal { if (sqlen_new > sq_high) { //if it was more than twice the "long" threshold, insert them - long_edges.insert(long_edge(hnew, sqlen_new)); - long_edges.insert(long_edge(next(hnew, mesh_), sqlen_new)); + long_edges.emplace(hnew, sqlen_new); + long_edges.emplace(next(hnew, mesh_), sqlen_new); } //insert new edges to keep triangular faces, and update long_edges @@ -479,25 +480,26 @@ namespace internal { //is split at its midpoint and the two adjacent triangles are bisected (2-4 split)" void split_long_edges(const double& high) { - typedef boost::bimap< - boost::bimaps::set_of, - boost::bimaps::multiset_of > > Boost_bimap; - typedef typename Boost_bimap::value_type long_edge; - #ifdef CGAL_PMP_REMESHING_VERBOSE std::cout << "Split long edges (" << high << ")..." << std::endl; #endif double sq_high = high*high; //collect long edges - Boost_bimap long_edges; + typedef std::pair H_and_sql; + std::multiset< H_and_sql, std::function > + long_edges( + [](const H_and_sql& p1, const H_and_sql& p2) + { return p1.second > p2.second; } + ); + for(edge_descriptor e : edges(mesh_)) { if (!is_split_allowed(e)) continue; double sqlen = sqlength(e); if(sqlen > sq_high) - long_edges.insert(long_edge(halfedge(e, mesh_), sqlen)); + long_edges.emplace(halfedge(e, mesh_), sqlen); } //split long edges @@ -507,13 +509,13 @@ namespace internal { while (!long_edges.empty()) { //the edge with longest length - typename Boost_bimap::right_map::iterator eit = long_edges.right.begin(); - halfedge_descriptor he = eit->second; - double sqlen = eit->first; - long_edges.right.erase(eit); + auto eit = long_edges.begin(); + halfedge_descriptor he = eit->first; + double sqlen = eit->second; + long_edges.erase(eit); #ifdef CGAL_PMP_REMESHING_VERBOSE_PROGRESS - std::cout << "\r\t(" << long_edges.left.size() << " long edges, "; + std::cout << "\r\t(" << long_edges.size() << " long edges, "; std::cout << nb_splits << " splits)"; std::cout.flush(); #endif @@ -550,8 +552,8 @@ namespace internal { if (sqlen_new > sq_high) { //if it was more than twice the "long" threshold, insert them - long_edges.insert(long_edge(hnew, sqlen_new)); - long_edges.insert(long_edge(next(hnew, mesh_), sqlen_new)); + long_edges.emplace(hnew, sqlen_new); + long_edges.emplace(next(hnew, mesh_), sqlen_new); } //insert new edges to keep triangular faces, and update long_edges @@ -573,7 +575,7 @@ namespace internal { { double sql = sqlength(hnew2); if (sql > sq_high) - long_edges.insert(long_edge(hnew2, sql)); + long_edges.emplace(hnew2, sql); } } @@ -596,7 +598,7 @@ namespace internal { { double sql = sqlength(hnew2); if (sql > sq_high) - long_edges.insert(long_edge(hnew2, sql)); + long_edges.emplace(hnew2, sql); } } } diff --git a/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/internal/Smoothing/curvature_flow_impl.h b/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/internal/Smoothing/curvature_flow_impl.h index 411117ab751..9dea9e3b4c1 100644 --- a/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/internal/Smoothing/curvature_flow_impl.h +++ b/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/internal/Smoothing/curvature_flow_impl.h @@ -70,13 +70,14 @@ public: Shape_smoother(TriangleMesh& mesh, VertexPointMap& vpmap, VertexConstraintMap& vcmap, - const GeomTraits& traits) + const bool scale_volume_after_smoothing = true, + const GeomTraits& traits = GeomTraits()) : mesh_(mesh), vpmap_(vpmap), vcmap_(vcmap), vimap_(get(Vertex_local_index(), mesh_)), - scale_volume_after_smoothing(true), + scale_volume_after_smoothing_(scale_volume_after_smoothing), traits_(traits), weight_calculator_(mesh_, vpmap_, traits_, false /*no clamping*/, false /*no bounding from below*/) { } @@ -104,12 +105,12 @@ public: if(anchor_point == boost::none) anchor_point = get(vpmap_, v); else - scale_volume_after_smoothing = false; + scale_volume_after_smoothing_ = false; } } if(!CGAL::is_closed(mesh_)) - scale_volume_after_smoothing = false; + scale_volume_after_smoothing_ = false; } void setup_system(Eigen_matrix& A, @@ -222,12 +223,12 @@ public: { namespace PMP = CGAL::Polygon_mesh_processing; - if(!scale_volume_after_smoothing) + if(!scale_volume_after_smoothing_) return update_mesh_no_scaling(Xx, Xy, Xz); const FT old_vol = volume(mesh_, parameters::vertex_point_map(vpmap_).geom_traits(traits_)); - // If no vertex is constrained, then the smoothed mesh will simply share the same centroid as the input mesh + // If no vertex is constrained, then the smoothed mesh will share the same centroid as the input mesh Point pre_smooth_anchor_point; if(anchor_point != boost::none) pre_smooth_anchor_point = *anchor_point; @@ -362,7 +363,7 @@ private: // of volume. We need an anchor point to scale up, either a constrained point or the centroid // of the initial mesh if no vertex is constrained. If there is more than a constrained vertex, // then no scaling can be done without violating the constraint. - bool scale_volume_after_smoothing; + bool scale_volume_after_smoothing_; boost::optional anchor_point; // linear system data diff --git a/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/polygon_soup_to_polygon_mesh.h b/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/polygon_soup_to_polygon_mesh.h index 7f4878648ae..bd543f5d390 100644 --- a/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/polygon_soup_to_polygon_mesh.h +++ b/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/polygon_soup_to_polygon_mesh.h @@ -54,6 +54,18 @@ PM_Point convert_to_pm_point(const std::array& p) return PM_Point(p[0], p[1], p[2]); } +template ::type> +struct Polygon_and_Point_id_helper +{ + typedef std::remove_cv_t> type; +}; + +template +struct Polygon_and_Point_id_helper +{ + typedef std::size_t type; +}; + template ::const_type> @@ -85,9 +97,11 @@ public: const bool insert_isolated_vertices = true) { typedef typename boost::graph_traits::vertex_descriptor vertex_descriptor; - typedef typename boost::property_traits::value_type PM_Point; + typedef typename Polygon_and_Point_id_helper::type Point_id; + typedef typename Polygon_and_Point_id_helper::type Polygon_id; + reserve(pmesh, static_cast::vertices_size_type>(m_points.size()), static_cast::edges_size_type>(2*m_polygons.size()), static_cast::faces_size_type>(m_polygons.size())); @@ -106,7 +120,7 @@ public: } std::vector vertices(m_points.size()); - for(std::size_t i = 0, end = m_points.size(); i < end; ++i) + for(Point_id i = 0, end = static_cast(m_points.size()); i < end; ++i) { if(!insert_isolated_vertices && !not_isolated.test(i)) continue; @@ -117,7 +131,7 @@ public: *i2v++ = std::make_pair(i, vertices[i]); } - for(std::size_t i = 0, end = m_polygons.size(); i < end; ++i) + for(Polygon_id i = 0, end = static_cast(m_polygons.size()); i < end; ++i) { const Polygon& polygon = m_polygons[i]; const std::size_t size = polygon.size(); @@ -277,6 +291,20 @@ bool is_polygon_soup_a_polygon_mesh(const PolygonRange& polygons) * \cgalParamDefault{`Emptyset_iterator`} * \cgalParamNEnd * +* \cgalParamNBegin{point_to_vertex_map} +* \cgalParamDescription{a property map associating each soup point of `points` to a vertex of `out`.} +* \cgalParamType{a class model of `ReadablePropertyMap` with an integer type as key type and +* `boost::graph_traits::%vertex_descriptor` as value type.} +* \cgalParamDefault{unused} +* \cgalParamNEnd +* +* \cgalParamNBegin{polygon_to_face_map} +* \cgalParamDescription{a property map associating each soup polygon of `polygons` to a face of `out`} +* \cgalParamType{a class model of `ReadablePropertyMap` with an integer type as key type and +* `boost::graph_traits::%face_descriptor` as value type.} +* \cgalParamDefault{unused} +* \cgalParamNEnd +* * \cgalNamedParamsEnd * * @param np_pm an optional sequence of \ref bgl_namedparameters "Named Parameters" among the ones listed below @@ -321,9 +349,16 @@ void polygon_soup_to_polygon_mesh(const PointRange& points, internal::PS_to_PM_converter converter(points, polygons, pm); converter(out, vpm, choose_parameter(get_parameter(np_ps, internal_np::point_to_vertex_output_iterator), - impl::make_functor(get_parameter(np_ps, internal_np::vertex_to_vertex_map))), + impl::make_functor(get_parameter(np_ps, internal_np::point_to_vertex_map))), choose_parameter(get_parameter(np_ps, internal_np::polygon_to_face_output_iterator), - impl::make_functor(get_parameter(np_ps, internal_np::face_to_face_map)))); + impl::make_functor(get_parameter(np_ps, internal_np::polygon_to_face_map)))); + + CGAL_static_assertion_msg( + (parameters::is_default_parameter::value), + "Named parameter vertex_to_vertex_map was renamed point_to_vertex_map"); + CGAL_static_assertion_msg( + (parameters::is_default_parameter::value), + "Named parameter face_to_face_map was renamed polygon_to_face_map"); } } // namespace Polygon_mesh_processing diff --git a/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/remesh_planar_patches.h b/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/remesh_planar_patches.h new file mode 100644 index 00000000000..784b317c41d --- /dev/null +++ b/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/remesh_planar_patches.h @@ -0,0 +1,1641 @@ +// Copyright (c) 2018-2023 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) : Sébastien Loriot + +#ifndef CGAL_POLYGON_MESH_PROCESSING_REMESH_PLANAR_PATCHES_H +#define CGAL_POLYGON_MESH_PROCESSING_REMESH_PLANAR_PATCHES_H + +#include + +#include +#include +#include +#include + +#include +#include +#include +#include + +#include +#include + +#include +#include +#include + +#include +#include + +namespace CGAL{ + +namespace Polygon_mesh_processing { + +namespace Planar_segmentation{ + +template +struct Face_map +{ + typedef typename boost::property_traits::value_type key_type; + typedef typename boost::property_traits::key_type value_type; + typedef value_type reference; + typedef boost::writable_property_map_tag category; + + Face_map(PM pm, const std::vector& face_ids) + : pm(pm) + , face_ids(face_ids) + {} + + friend + void put(Face_map m, key_type k, value_type v) + { + put(m.pm, v, m.face_ids[k]); + } + + PM pm; + const std::vector& face_ids; +}; + +template +struct Vertex_map +{ + typedef typename boost::property_traits::value_type key_type; + typedef typename boost::property_traits::key_type value_type; + typedef value_type reference; + typedef boost::writable_property_map_tag category; + + Vertex_map(PM pm) : pm(pm) {} + + friend + void put(Vertex_map m, key_type k, value_type v) + { + put(m.pm, v, k); + } + + PM pm; +}; + +template +struct Default_visitor +{ + void operator()(TriangleMesh&) const {} +}; + +template +struct Face_index_tracker_base +{ + typedef boost::graph_traits GT; + + Face_index_tracker_base(VertexCornerMapOut vertex_corner_map) + : m_v2v2_map(vertex_corner_map) + {} + + Vertex_map v2v_map() + { + return m_v2v2_map; + } + + Vertex_map m_v2v2_map; +}; + +template +struct Face_index_tracker_base +{ + typedef boost::graph_traits GT; + using Vmap = Constant_property_map::vertex_descriptor>; + + Face_index_tracker_base(internal_np::Param_not_found) {} + Vmap v2v_map() { return Vmap(); } +}; + +template +struct Face_index_tracker + : public Face_index_tracker_base +{ + typedef boost::graph_traits GT; + + Face_index_tracker(VertexCornerMapOut vertex_corner_map, FacePatchMapOut face_patch_map) + : Face_index_tracker_base(vertex_corner_map) + , m_f2f_map(face_patch_map, face_ids) + {} + + std::vector face_ids; + + void register_faces_of_cc(std::size_t nb_faces, std::size_t i) + { + face_ids.insert(face_ids.end(), nb_faces, i); + } + + Face_map + f2f_map() + { + return m_f2f_map; + } + + Face_map m_f2f_map; +}; + + +template +struct Face_index_tracker + : public Face_index_tracker_base +{ + using Fmap = Constant_property_map::face_descriptor>; + + Face_index_tracker(VertexCornerMapOut vertex_corner_map,internal_np::Param_not_found) + : Face_index_tracker_base(vertex_corner_map) + {} + + void register_faces_of_cc(std::size_t /*nb_triangles*/, std::size_t /*in_patch_id*/) {} + + Fmap f2f_map() { return Fmap(); } +}; + +template +void init_face_normals(std::vector& face_normals, + std::size_t nb_patches, + PatchNormalMap patch_normal_map) +{ + face_normals.resize(nb_patches); + for (std::size_t i=0; i +void init_face_normals(std::vector& face_normals, + std::size_t nb_patches, + ::CGAL::internal_np::Param_not_found) +{ + face_normals.assign(nb_patches, NULL_VECTOR); +} + +inline std::size_t init_id() +{ + return std::size_t(-2); +} + +inline std::size_t default_id() +{ + return std::size_t(-1); +} + +inline bool is_init_id(std::size_t i) +{ + return i == init_id(); +} + +inline bool is_corner_id(std::size_t i) +{ + return i < init_id(); +} + +template +bool is_vector_positive(const Vector_3& normal) +{ + if (normal.x()==0) + { + if (normal.y()==0) + return normal.z() > 0; + else + return normal.y() > 0; + } + else + return normal.x() > 0; +} + +struct FaceInfo2 +{ + FaceInfo2():m_in_domain(-1){} + int m_in_domain; + + void set_in_domain() { m_in_domain=1; } + void set_out_domain() { m_in_domain=0; } + bool visited() const { return m_in_domain!=-1; } + bool in_domain() const { return m_in_domain==1; } +}; + +template +bool is_edge_between_coplanar_faces(edge_descriptor e, + const TriangleMesh& tm, + double coplanar_cos_threshold, + const VertexPointMap& vpm) +{ + typedef typename boost::property_traits::reference Point_ref_3; + if (is_border(e, tm)) return false; + typename boost::graph_traits::halfedge_descriptor + h = halfedge(e, tm); + Point_ref_3 p = get(vpm, source(h, tm) ); + Point_ref_3 q = get(vpm, target(h, tm) ); + Point_ref_3 r = get(vpm, target(next(h, tm), tm) ); + Point_ref_3 s = get(vpm, target(next(opposite(h, tm), tm), tm) ); + + if (coplanar_cos_threshold==-1) + return coplanar(p, q, r, s); + else + { + typename Kernel::Compare_dihedral_angle_3 pred; + return pred(p, q, r, s, typename Kernel::FT(coplanar_cos_threshold)) == CGAL::LARGER; + } +} + +template +bool is_target_vertex_a_corner(halfedge_descriptor h, + EdgeIsConstrainedMap edge_is_constrained, + const TriangleMesh& tm, + double coplanar_cos_threshold, + const VertexPointMap& vpm) +{ + typedef typename Kernel::Point_3 Point_3; + typedef typename boost::graph_traits graph_traits; + + halfedge_descriptor h2 = graph_traits::null_halfedge(); + for(halfedge_descriptor h_loop : halfedges_around_target(h, tm)) + { + if (h_loop==h) continue; + if (get(edge_is_constrained, edge(h_loop, tm))) + { + if (h2 != graph_traits::null_halfedge()) return true; + h2=h_loop; + } + } + + // handle case when the graph of constraints does not contains only cycle + // (for example when there is a tangency between surfaces and is shared) + if (h2 == graph_traits::null_halfedge()) return true; + + const Point_3& p = get(vpm, source(h, tm)); + const Point_3& q = get(vpm, target(h, tm)); + const Point_3& r = get(vpm, source(h2, tm)); + + if (coplanar_cos_threshold==-1) + return !collinear(p, q, r); + else + { + typename Kernel::Compare_angle_3 pred; + return pred(p, q, r, typename Kernel::FT(coplanar_cos_threshold))==CGAL::SMALLER; + } +} + +template +void +mark_constrained_edges( + TriangleMesh& tm, + EdgeIsConstrainedMap edge_is_constrained, + double coplanar_cos_threshold, + const VertexPointMap& vpm) +{ + for(typename boost::graph_traits::edge_descriptor e : edges(tm)) + { + if (!get(edge_is_constrained,e)) + if (!is_edge_between_coplanar_faces(e, tm, coplanar_cos_threshold, vpm)) + put(edge_is_constrained, e, true); + } +} + +template +std::size_t +mark_corner_vertices( + TriangleMesh& tm, + EdgeIsConstrainedMap& edge_is_constrained, + VertexCornerIdMap& vertex_corner_id, + double coplanar_cos_threshold, + const VertexPointMap& vpm) +{ + typedef boost::graph_traits graph_traits; + std::size_t corner_id = 0; + for(typename graph_traits::edge_descriptor e : edges(tm)) + { + if (get(edge_is_constrained, e)) + { + put(vertex_corner_id, source(e, tm), init_id()); + put(vertex_corner_id, target(e, tm), init_id()); + } + } + for(typename graph_traits::edge_descriptor e : edges(tm)) + { + if (!get(edge_is_constrained, e)) continue; + typename graph_traits::halfedge_descriptor h = halfedge(e, tm); + + if (is_init_id(get(vertex_corner_id, target(h, tm)))) + { + if (is_target_vertex_a_corner(h, edge_is_constrained, tm, coplanar_cos_threshold, vpm)) + put(vertex_corner_id, target(h, tm), corner_id++); + else + put(vertex_corner_id, target(h, tm), default_id()); + } + if (is_init_id(get(vertex_corner_id, source(h, tm)))) + { + if (is_target_vertex_a_corner(opposite(h, tm), edge_is_constrained, tm, coplanar_cos_threshold, vpm)) + put(vertex_corner_id, source(h, tm), corner_id++); + else + put(vertex_corner_id, source(h, tm), default_id()); + } + } + + return corner_id; +} + +template +void mark_face_triangles(CDT& cdt) +{ + //look for a triangle inside the domain of the face + typename CDT::Face_handle fh = cdt.infinite_face(); + fh->info().set_out_domain(); + std::vector queue; + for (int i=0; i<3; ++i) + queue.push_back(typename CDT::Edge(fh, i) ); + while(true) + { + typename CDT::Edge e = queue.back(); + queue.pop_back(); + e=cdt.mirror_edge(e); + if (e.first->info().visited()) continue; + if (cdt.is_constrained(e)) + { + queue.clear(); + queue.push_back(e); + break; + } + else + { + for(int i=1; i<3; ++i) + { + typename CDT::Edge candidate(e.first, (e.second+i)%3); + if (!candidate.first->neighbor(candidate.second)->info().visited()) + queue.push_back( candidate ); + } + e.first->info().set_out_domain(); + } + } + // now extract triangles inside the face + while(!queue.empty()) + { + typename CDT::Edge e = queue.back(); + queue.pop_back(); + if (e.first->info().visited()) continue; + e.first->info().set_in_domain(); + + for(int i=1; i<3; ++i) + { + typename CDT::Edge candidate(e.first, (e.second+i)%3); + if (!cdt.is_constrained(candidate) && + !candidate.first->neighbor(candidate.second)->info().visited()) + { + queue.push_back( cdt.mirror_edge(candidate) ); + } + } + } +} + +template < typename GT, + typename Vb = Triangulation_vertex_base_2 > +class Triangulation_vertex_with_corner_id_2 + : public Vb +{ + std::size_t _id = -1; +public: + template < typename TDS2 > + struct Rebind_TDS { + typedef typename Vb::template Rebind_TDS::Other Vb2; + typedef Triangulation_vertex_with_corner_id_2 Other; + }; + + template + Triangulation_vertex_with_corner_id_2(const T& ... t) + : Vb(t...) + {} + + const std::size_t& corner_id() const { return _id; } + std::size_t& corner_id() { return _id; } +}; + + +template +bool add_triangle_faces(const std::vector< std::pair >& csts, + typename Kernel::Vector_3 normal, + const std::vector& corners, + std::vector >& out_faces) +{ + typedef Projection_traits_3 P_traits; + typedef Triangulation_vertex_with_corner_id_2 Vb; + typedef Triangulation_face_base_with_info_2 Fbb; + typedef Constrained_triangulation_face_base_2 Fb; + typedef Triangulation_data_structure_2 TDS; + typedef No_constraint_intersection_requiring_constructions_tag Itag; + typedef Constrained_Delaunay_triangulation_2 CDT; + typedef typename CDT::Vertex_handle Vertex_handle; + typedef typename CDT::Face_handle Face_handle; + + typedef typename Kernel::Point_3 Point_3; + + std::size_t expected_nb_pts = csts.size()/2; + std::vector corner_ids; + corner_ids.reserve(expected_nb_pts); + + typedef std::pair Id_pair; + for(const Id_pair& p : csts) + { + CGAL_assertion(p.first::const_type Pmap; + typedef Spatial_sort_traits_adapter_2 Search_traits; + + spatial_sort(corner_ids.begin(), corner_ids.end(), + Search_traits(make_property_map(corners),p_traits)); + + Vertex_handle v_hint; + Face_handle hint; + for (std::size_t corner_id : corner_ids) + { + v_hint = cdt.insert(corners[corner_id], hint); + if (v_hint->corner_id()!=std::size_t(-1) && v_hint->corner_id()!=corner_id) + return false; // handle case of points being identical upon projection + v_hint->corner_id()=corner_id; + hint=v_hint->face(); + } + + // note that nbv might be different from points.size() in case of hole + // tangent to the principal CCB + CGAL_assertion_code(std::size_t nbv=cdt.number_of_vertices();) + + // insert constrained edges + std::unordered_map vertex_map; + for(typename CDT::Finite_vertices_iterator vit = cdt.finite_vertices_begin(), + end = cdt.finite_vertices_end(); vit!=end; ++vit) + { + vertex_map[vit->corner_id()]=vit; + } + + std::vector< std::pair > local_csts; + local_csts.reserve(csts.size()); + try{ + for(const Id_pair& p : csts) + { + CGAL_assertion(vertex_map.count(p.first)!=0 && vertex_map.count(p.second)!=0); + cdt.insert_constraint(vertex_map[p.first], vertex_map[p.second]); + } + }catch(typename CDT::Intersection_of_constraints_exception&) + { + // intersection of constraints probably due to the projection + return false; + } + CGAL_assertion(cdt.number_of_vertices() == nbv); + + if (cdt.dimension()!=2) return false; + + mark_face_triangles(cdt); + + for (typename CDT::Finite_faces_iterator fit=cdt.finite_faces_begin(), + end=cdt.finite_faces_end(); fit!=end; ++fit) + { + if (!fit->info().in_domain()) continue; + if (cdt.is_infinite(fit)) return false; + + if (reverse_face_orientation) + out_faces.push_back( {fit->vertex(1)->corner_id(), + fit->vertex(0)->corner_id(), + fit->vertex(2)->corner_id()} ); + else + out_faces.push_back( {fit->vertex(0)->corner_id(), + fit->vertex(1)->corner_id(), + fit->vertex(2)->corner_id()} ); + } + + return true; +} + +template +std::pair +tag_corners_and_constrained_edges(TriangleMesh& tm, + double coplanar_cos_threshold, + VertexCornerIdMap& vertex_corner_id, + EdgeIsConstrainedMap& edge_is_constrained, + FaceCCIdMap& face_cc_ids, + const VertexPointMap& vpm) +{ + typedef typename boost::graph_traits graph_traits; + // mark constrained edges + mark_constrained_edges(tm, edge_is_constrained, coplanar_cos_threshold, vpm); + + // mark connected components (cc) delimited by constrained edges + std::size_t nb_cc = Polygon_mesh_processing::connected_components( + tm, face_cc_ids, parameters::edge_is_constrained_map(edge_is_constrained)); + + if (coplanar_cos_threshold!=-1) + { + for(typename graph_traits::edge_descriptor e : edges(tm)) + { + if (get(edge_is_constrained, e) && !is_border(e, tm)) + { + typename graph_traits::halfedge_descriptor h = halfedge(e, tm); + if ( get(face_cc_ids, face(h, tm))==get(face_cc_ids, face(opposite(h, tm), tm)) ) + put(edge_is_constrained, e, false); + } + } + } + + std::size_t nb_corners = + mark_corner_vertices(tm, edge_is_constrained, vertex_corner_id, coplanar_cos_threshold, vpm); + + return std::make_pair(nb_corners, nb_cc); +} + +template +bool decimate_impl(const TriangleMesh& tm, + std::pair& nb_corners_and_nb_cc, + VertexCornerIdMap& vertex_corner_id, + EdgeIsConstrainedMap& edge_is_constrained, + FaceCCIdMap& face_cc_ids, + const VertexPointMap& vpm, + bool do_not_triangulate_faces, + std::vector< typename Kernel::Point_3 >& corners, + std::vector< boost::container::small_vector >& out_faces, + IndexTracking& f_id_tracker, + std::vector< typename Kernel::Vector_3 >& face_normals) +{ + typedef typename boost::graph_traits graph_traits; + typedef typename graph_traits::halfedge_descriptor halfedge_descriptor; + typedef typename graph_traits::vertex_descriptor vertex_descriptor; + typedef typename graph_traits::face_descriptor face_descriptor; + typedef std::pair Id_pair; + + // compute the new mesh + std::vector< std::vector< boost::container::small_vector > > faces_per_cc(nb_corners_and_nb_cc.second); + boost::dynamic_bitset<> cc_to_handle(nb_corners_and_nb_cc.second); + cc_to_handle.set(); + + bool all_patches_successfully_remeshed = true; + do + { + std::vector< std::vector > face_boundaries(nb_corners_and_nb_cc.second); + std::vector face_boundaries_valid(nb_corners_and_nb_cc.second, true); + + std::vector corner_id_to_vd(nb_corners_and_nb_cc.first, graph_traits::null_vertex()); + std::vector duplicated_corners(nb_corners_and_nb_cc.first, false); + auto check_corner = [&corner_id_to_vd, &duplicated_corners](std::size_t corner_id, vertex_descriptor vd) + { + if (corner_id_to_vd[corner_id]!=graph_traits::null_vertex() && corner_id_to_vd[corner_id]!=vd) + duplicated_corners[corner_id]=true; + }; + + // collect maximal constrained edges per cc + for(halfedge_descriptor h : halfedges(tm)) + { + if (!get(edge_is_constrained, edge(h, tm)) || is_border(h, tm)) continue; + + std::size_t i1 = get(vertex_corner_id, source(h, tm)); + if ( is_corner_id(i1) ) + { + check_corner(i1, source(h, tm)); + halfedge_descriptor h_init = h; + std::size_t cc_id = get(face_cc_ids, face(h_init, tm)); + if (!cc_to_handle.test(cc_id)) continue; + do{ + std::size_t i2 = get(vertex_corner_id, target(h_init, tm)); + if ( is_corner_id(i2) ) + { + check_corner(i2, target(h_init, tm)); + face_boundaries[ cc_id ].push_back( Id_pair(i1,i2) ); + if (face_normals[ cc_id ] == NULL_VECTOR) + { + face_normals[ cc_id ] = normal(get(vpm, source(h, tm)), + get(vpm, target(h, tm)), + get(vpm, target(next(h, tm), tm))); + } + break; + } + + do{ + h_init=opposite(next(h_init, tm), tm); + } while( !get(edge_is_constrained, edge(h_init, tm)) ); + h_init=opposite(h_init, tm); + } + while(true); + } + } + + for (std::size_t cc_id = cc_to_handle.find_first(); + cc_id < cc_to_handle.npos; + cc_id = cc_to_handle.find_next(cc_id)) + { + std::vector< boost::container::small_vector >& cc_faces = faces_per_cc[cc_id]; + cc_faces.clear(); + + std::vector< Id_pair >& csts = face_boundaries[cc_id]; + + if (!face_boundaries_valid[cc_id]) continue; + + // do not remesh a patch containing duplicated vertices + for (auto c : csts) + if (duplicated_corners[c.first] || duplicated_corners[c.second]) + { + csts.clear(); // this will trigger the copy of the current patch rather than a remeshing + break; + } +#ifdef CGAL_DEBUG_DECIMATION + std::cout << "csts.size() " << csts.size() << "\n"; +#endif + + if (csts.size()==3) + { + cc_faces.push_back( { csts[0].first, + csts[0].second, + csts[0].first==csts[1].first || + csts[0].second==csts[1].first ? + csts[1].second:csts[1].first} ); + cc_to_handle.set(cc_id, 0); + } + else + { + if (csts.size() > 3 && do_not_triangulate_faces) + { + // TODO this is not optimal at all since we already have the set of contraints, + // we could work on the graph on constraint and recover only the orientation + // of the edge. To be done if someone find it too slow. + std::vector hborders; + CGAL::Face_filtered_graph ffg(tm, cc_id, face_cc_ids); + extract_boundary_cycles(ffg, std::back_inserter(hborders)); + + if (hborders.size()==1) + { + cc_faces.resize(1); + for (halfedge_descriptor h : halfedges_around_face(hborders[0], ffg)) + { + std::size_t cid = get(vertex_corner_id, target(h, tm)); + if (is_corner_id(cid)) + cc_faces.back().push_back(cid); + } + std::reverse(cc_faces.back().begin(), cc_faces.back().end()); + cc_to_handle.set(cc_id, 0); + continue; + } + } + + if (csts.size() > 3 && add_triangle_faces(csts, face_normals[cc_id], corners, cc_faces)) + cc_to_handle.set(cc_id, 0); + else + { + //TODO: shall we try to plug pseudo-cdt? +#ifdef CGAL_DEBUG_DECIMATION + static int fail_case_id=0; + std::cout << " DEBUG: Failed to remesh a patch, case #" << fail_case_id << std::endl; + std::ofstream debug("failed_remesh_"+std::to_string(fail_case_id)+".polylines.txt"); + debug << std::setprecision(17); + for (auto c : csts) + debug << "2 " << corners[c.first] << " " << corners[c.second] << "\n"; + debug.close(); + std::cout << " normal used is " << face_normals[cc_id] << "\n"; + debug.open("normal"+std::to_string(fail_case_id)+".polylines.txt"); + debug << "2 " << corners[csts[0].first] << " " << corners[csts[0].first]+face_normals[cc_id] << "\n"; + debug.close(); + ++fail_case_id; +#endif + all_patches_successfully_remeshed = false; + // make all vertices of the patch a corner + CGAL::Face_filtered_graph ffg(tm, cc_id, face_cc_ids); + std::vector new_corners; + for (vertex_descriptor v : vertices(ffg)) + { + std::size_t i = get(vertex_corner_id, v); + if ( !is_corner_id(i) ) + { + i = nb_corners_and_nb_cc.first++; + put(vertex_corner_id, v, i); + corners.push_back(get(vpm, v)); + new_corners.push_back(v); + } + } + // add all the faces of the current patch + for (face_descriptor f : faces(ffg)) + { + halfedge_descriptor h = halfedge(f, tm); + cc_faces.push_back({ get(vertex_corner_id, source(h,tm)), + get(vertex_corner_id, target(h,tm)), + get(vertex_corner_id, target(next(h,tm), tm)) }); + } + // reset flag for neighbor connected components only if interface has changed + for (vertex_descriptor v : new_corners) + { + for (halfedge_descriptor h : halfedges_around_target(halfedge(v, tm), tm)) + { + if (!is_border(h, tm)) + { + std::size_t other_cc_id = get(face_cc_ids, face(h, tm)); + cc_to_handle.set(other_cc_id, 1); + face_boundaries_valid[ other_cc_id ]=false; + } + } + } + cc_to_handle.set(cc_id, 0); + } + } + } + } + while(cc_to_handle.any()); + + std::size_t cc_id=0; + for (const std::vector>& cc_trs : faces_per_cc) + { + out_faces.insert(out_faces.end(), cc_trs.begin(), cc_trs.end()); + f_id_tracker.register_faces_of_cc(cc_trs.size(), cc_id++); + } + + return all_patches_successfully_remeshed; +} + +template +bool decimate_impl(const TriangleMeshIn& tm_in, + PolygonMeshOut& pm_out, + std::pair nb_corners_and_nb_cc, + VertexCornerIdMap& vertex_corner_id, + EdgeIsConstrainedMap& edge_is_constrained, + FaceCCIdMap& face_cc_ids, + const VertexPointMapIn& vpm_in, + const VertexPointMapOut& vpm_out, + bool do_not_triangulate_faces, + VertexCornerMapOut vcorner_map_out, + FacePatchMapOut fpatch_map_out, + Visitor& visitor, + std::vector& face_normals) +{ + typedef typename boost::graph_traits graph_traits; + typedef typename graph_traits::vertex_descriptor vertex_descriptor; + typedef typename Kernel::Point_3 Point_3; + + Face_index_tracker + f_id_tracker(vcorner_map_out, fpatch_map_out); + + //collect corners + std::vector< Point_3 > corners(nb_corners_and_nb_cc.first); + for(vertex_descriptor v : vertices(tm_in)) + { + std::size_t i = get(vertex_corner_id, v); + if ( is_corner_id(i) ) + { + corners[i]=get(vpm_in, v); + } + } + + std::vector< boost::container::small_vector > faces; + bool remeshing_failed = decimate_impl(tm_in, + nb_corners_and_nb_cc, + vertex_corner_id, + edge_is_constrained, + face_cc_ids, + vpm_in, + do_not_triangulate_faces, + corners, + faces, + f_id_tracker, + face_normals); + + if (!is_polygon_soup_a_polygon_mesh(faces)) + { + return false; + } + + visitor(pm_out); + polygon_soup_to_polygon_mesh(corners, faces, pm_out, + parameters::point_to_vertex_map(f_id_tracker.v2v_map()). + polygon_to_face_map(f_id_tracker.f2f_map()), + parameters::vertex_point_map(vpm_out)); + return remeshing_failed; +} + +template +void extract_meshes_containing_a_point( + const Point_3& pt, + const std::map >& point_to_vertex_maps, + OutputIterator out) +{ + typedef std::pair Pair_type; + for(const Pair_type& p : point_to_vertex_maps.find(pt)->second) + *out++=p.first; +} + +template +void mark_boundary_of_shared_patches_as_constrained_edges( + std::vector& mesh_ptrs, + std::map >& point_to_vertex_maps, + std::vector& edge_is_constrained_maps, + std::vector& vertex_shared_maps, + const std::vector& vpms) +{ + typedef boost::graph_traits graph_traits; + typedef typename graph_traits::edge_descriptor edge_descriptor; + typedef typename graph_traits::halfedge_descriptor halfedge_descriptor; + + std::size_t mesh_id = 0; + for(TriangleMesh* tm_ptr : mesh_ptrs) + { + TriangleMesh& tm=*tm_ptr; + EdgeIsConstrainedMap& edge_is_constrained = edge_is_constrained_maps[mesh_id]; + VertexIsSharedMap& is_vertex_shared = vertex_shared_maps[mesh_id]; + + for(edge_descriptor e : edges(tm)) + { + if (is_border(e, tm)) continue; //border edges will be automatically marked as constrained + + halfedge_descriptor h = halfedge(e, tm); + vertex_descriptor src = source(h, tm), tgt = target(h, tm); + if (get(is_vertex_shared, src) && get(is_vertex_shared, tgt)) + { + //extract the set of meshes having both vertices + std::set src_set, tgt_set, inter_set; + extract_meshes_containing_a_point(get(vpms[mesh_id], src), + point_to_vertex_maps, + std::inserter(src_set, src_set.begin())); + extract_meshes_containing_a_point(get(vpms[mesh_id], tgt), + point_to_vertex_maps, + std::inserter(tgt_set, tgt_set.begin())); + + std::set_intersection(src_set.begin(), src_set.end(), + tgt_set.begin(), tgt_set.end(), + std::inserter(inter_set, inter_set.begin())); + + std::multimap& mesh_to_vertex_src = + point_to_vertex_maps[get(vpms[mesh_id], src)]; + std::multimap& mesh_to_vertex_tgt = + point_to_vertex_maps[get(vpms[mesh_id], tgt)]; + + std::set incident_face_points; + incident_face_points.insert(get(vpms[mesh_id], target(next(h, tm), tm))); + h=opposite(h, tm); + incident_face_points.insert(get(vpms[mesh_id], target(next(h, tm), tm))); + + // we mark as constrained edge, any edge that is shared between more than 2 meshes + // such that at least one of the two incident faces to the edge are not present in + // all the meshes containing the edge + for(std::size_t other_mesh_id : inter_set) + { + TriangleMesh* other_tm_ptr = mesh_ptrs[other_mesh_id]; + if (other_tm_ptr==&tm) continue; + + std::vector srcs, tgts; + auto it = mesh_to_vertex_src.find(other_mesh_id); + while (it!=mesh_to_vertex_src.end() && it->first==other_mesh_id) + srcs.push_back(it++->second); + it = mesh_to_vertex_tgt.find(other_mesh_id); + while (it!=mesh_to_vertex_tgt.end() && it->first==other_mesh_id) + tgts.push_back(it++->second); + + for (vertex_descriptor other_src : srcs) + { + for (vertex_descriptor other_tgt : tgts) + { + std::pair hres = halfedge(other_src, other_tgt, *other_tm_ptr); + if (hres.second) + { + if (is_border_edge(hres.first, *other_tm_ptr)) + { + put(edge_is_constrained, e, true); + break; + } + if (incident_face_points.count( + get(vpms[other_mesh_id], target(next(hres.first, *other_tm_ptr), *other_tm_ptr)))==0) + { + put(edge_is_constrained, e, true); + break; + } + hres.first=opposite(hres.first, *other_tm_ptr); + if (incident_face_points.count( + get(vpms[other_mesh_id], target(next(hres.first, *other_tm_ptr), *other_tm_ptr)))==0) + { + put(edge_is_constrained, e, true); + break; + } + } + } + } + } + } + } + ++mesh_id; + } +} + +template +void propagate_corner_status( + std::vector& vertex_corner_id_maps, + std::map >& point_to_vertex_maps, + std::vector< std::pair >& nb_corners_and_nb_cc_all) +{ + typedef std::pair > Pair_type; + for(Pair_type& p : point_to_vertex_maps) + { + // if one vertex is a corner, all should be + typedef std::pair Map_pair_type; + bool is_corner=false; + for (Map_pair_type& mp : p.second) + { + std::size_t mesh_id = mp.first; + if ( is_corner_id( get(vertex_corner_id_maps[mesh_id], mp.second) )) + { + is_corner=true; + break; + } + } + if (is_corner) + { + for(Map_pair_type& mp : p.second) + { + std::size_t mesh_id = mp.first; + if ( !is_corner_id(get(vertex_corner_id_maps[mesh_id], mp.second)) ) + { + put(vertex_corner_id_maps[mesh_id], mp.second, + nb_corners_and_nb_cc_all[mesh_id].first++); + } + } + } + } +} + +template +bool decimate_meshes_with_common_interfaces_impl(TriangleMeshRange& meshes, + MeshMap mesh_map, + double coplanar_cos_threshold, + const std::vector& vpms, + bool do_not_triangulate_faces) +{ + typedef typename boost::property_traits::value_type Triangle_mesh; + typedef typename std::iterator_traits::value_type Mesh_descriptor; + typedef typename boost::property_traits::value_type Point_3; + typedef typename boost::graph_traits graph_traits; + typedef typename graph_traits::vertex_descriptor vertex_descriptor; + typedef typename graph_traits::edge_descriptor edge_descriptor; + typedef typename graph_traits::face_descriptor face_descriptor; + CGAL_assertion(coplanar_cos_threshold<0); + typedef typename graph_traits::halfedge_descriptor halfedge_descriptor; + + // declare and init all property maps + typedef typename boost::property_map >::type Face_cc_map; + typedef typename boost::property_map >::type Edge_is_constrained_map; + typedef typename boost::property_map >::type Vertex_corner_id_map; + typedef typename boost::property_map >::type Vertex_is_shared_map; + + std::vector vertex_shared_maps; + std::vector edge_is_constrained_maps; + std::vector vertex_corner_id_maps; + std::vector face_cc_ids_maps; + const std::size_t nb_meshes = meshes.size(); + std::vector mesh_has_non_manifold_vertices(nb_meshes, false); + vertex_corner_id_maps.reserve(nb_meshes); + vertex_shared_maps.reserve(nb_meshes); + edge_is_constrained_maps.reserve(nb_meshes); + face_cc_ids_maps.reserve(nb_meshes); + + std::vector mesh_ptrs; + mesh_ptrs.reserve(nb_meshes); + for(Mesh_descriptor& md : meshes) + mesh_ptrs.push_back( &(mesh_map[md]) ); + + auto has_non_manifold_vertices = [](const Triangle_mesh& tm) + { + std::vector nmvs; + non_manifold_vertices(tm, std::back_inserter(nmvs)); + return !nmvs.empty(); + }; + + std::size_t mesh_id=0; + for(Triangle_mesh* tm_ptr : mesh_ptrs) + { + Triangle_mesh& tm = *tm_ptr; + mesh_has_non_manifold_vertices[mesh_id] = has_non_manifold_vertices(tm); + vertex_shared_maps.push_back( get(CGAL::dynamic_vertex_property_t(), tm) ); + for(vertex_descriptor v : vertices(tm)) + put(vertex_shared_maps.back(), v, false); + + edge_is_constrained_maps.push_back( get(CGAL::dynamic_edge_property_t(), tm) ); + for(edge_descriptor e : edges(tm)) + put(edge_is_constrained_maps.back(), e, false); + + vertex_corner_id_maps.push_back( get(CGAL::dynamic_vertex_property_t(), tm) ); + for(vertex_descriptor v : vertices(tm)) + put(vertex_corner_id_maps.back(), v, Planar_segmentation::init_id()); + + face_cc_ids_maps.push_back( get(CGAL::dynamic_face_property_t(), tm) ); + for(face_descriptor f : faces(tm)) + put(face_cc_ids_maps.back(), f, -1); + ++mesh_id; + } + + std::map > point_to_vertex_maps; + + //start by detecting and marking all shared vertices + mesh_id = 0; + for(Triangle_mesh* tm_ptr : mesh_ptrs) + { + Triangle_mesh& tm = *tm_ptr; + + for(vertex_descriptor v : vertices(tm)) + { + std::multimap& mesh_id_to_vertex = + point_to_vertex_maps[get(vpms[mesh_id], v)]; + if (!mesh_id_to_vertex.empty()) + put(vertex_shared_maps[mesh_id], v, true); + if (mesh_id_to_vertex.size()==1) + { + std::pair other=*mesh_id_to_vertex.begin(); + put(vertex_shared_maps[other.first], other.second, true); + } + mesh_id_to_vertex.insert( std::make_pair(mesh_id, v) ); + } + + ++mesh_id; + } + + //then detect edge on the boundary of shared patches and mark them as constrained + mark_boundary_of_shared_patches_as_constrained_edges(mesh_ptrs, point_to_vertex_maps, edge_is_constrained_maps, vertex_shared_maps, vpms); + + // first tag corners and constrained edges + std::vector< std::pair > nb_corners_and_nb_cc_all(nb_meshes); + mesh_id=0; + for(Triangle_mesh* tm_ptr : mesh_ptrs) + { + Triangle_mesh& tm = *tm_ptr; + + //reset face cc ids as it was set by coplanarity_segmentation_with_pca + for(face_descriptor f : faces(tm)) + put(face_cc_ids_maps[mesh_id], f, -1); + + if (!mesh_has_non_manifold_vertices[mesh_id]) + nb_corners_and_nb_cc_all[mesh_id] = + tag_corners_and_constrained_edges(tm, + coplanar_cos_threshold, + vertex_corner_id_maps[mesh_id], + edge_is_constrained_maps[mesh_id], + face_cc_ids_maps[mesh_id], + vpms[mesh_id]); + else + { + nb_corners_and_nb_cc_all[mesh_id]={0,1}; + for (vertex_descriptor vd : vertices(tm)) + { + if (get(vertex_shared_maps[mesh_id], vd)) + { + put(vertex_corner_id_maps[mesh_id], vd, true); + ++nb_corners_and_nb_cc_all[mesh_id].first; + } + } + } + ++mesh_id; + } + + // extra step to propagate is_corner to all meshes to make sure shared vertices are kept + propagate_corner_status(vertex_corner_id_maps, point_to_vertex_maps, nb_corners_and_nb_cc_all); + + // TODO: make identical patches normal identical (up to the sign). Needed only in the approximate case + +// now call the decimation + // storage of all new triangles and all corners + std::vector< std::vector< Point_3 > > all_corners(nb_meshes); + std::vector< std::vector< boost::container::small_vector > > all_faces(nb_meshes); + bool res = true; + std::vector to_be_processed(nb_meshes, true); + bool loop_again; +// bool no_remeshing_issue = true; + do{ + loop_again = false; + for(std::size_t mesh_id=0; mesh_id& corners = all_corners[mesh_id]; + if (corners.empty()) + { + corners.resize(nb_corners_and_nb_cc_all[mesh_id].first); + for(vertex_descriptor v : vertices(tm)) + { + std::size_t i = get(vertex_corner_id_maps[mesh_id], v); + if ( is_corner_id(i) ) + corners[i]=get(vpms[mesh_id], v); + } + } + std::size_t ncid=corners.size(); + + typedef internal_np::Param_not_found PNF; + PNF pnf; + Face_index_tracker tracker(pnf, pnf); + std::vector< typename Kernel::Vector_3 > face_normals(nb_corners_and_nb_cc_all[mesh_id].second, NULL_VECTOR); + bool all_patches_successfully_remeshed = + decimate_impl(tm, + nb_corners_and_nb_cc_all[mesh_id], + vertex_corner_id_maps[mesh_id], + edge_is_constrained_maps[mesh_id], + face_cc_ids_maps[mesh_id], + vpms[mesh_id], + do_not_triangulate_faces, + corners, + all_faces[mesh_id], + tracker, + face_normals) && + is_polygon_soup_a_polygon_mesh(all_faces[mesh_id]); +#ifdef CGAL_DEBUG_DECIMATION + std::cout << "all_patches_successfully_remeshed? " << all_patches_successfully_remeshed << "\n"; +#endif + if (!all_patches_successfully_remeshed) + { +// no_remeshing_issue=false; + // iterate over points newly marked as corners + std::set mesh_ids; + for (std::size_t cid=ncid; cid Map_pair_type; + auto find_res = point_to_vertex_maps.find(corners[cid]); + assert(find_res != point_to_vertex_maps.end()); + for(Map_pair_type& mp : find_res->second) + { + std::size_t other_mesh_id = mp.first; + if ( other_mesh_id!=mesh_id && !is_corner_id(get(vertex_corner_id_maps[other_mesh_id], mp.second))) + { + mesh_ids.insert(other_mesh_id); + put(vertex_corner_id_maps[other_mesh_id], mp.second, + nb_corners_and_nb_cc_all[other_mesh_id].first++); + if (!all_corners[other_mesh_id].empty()) + all_corners[other_mesh_id].push_back(corners[cid]); + } + } + } + for (std::size_t mid : mesh_ids) + if (!to_be_processed[mid]) + { +#ifdef CGAL_DEBUG_DECIMATION + if (!loop_again) + std::cout << "setting for another loop\n"; +#endif + loop_again=true; + to_be_processed[mid] = true; + } + } + to_be_processed[mesh_id] = false; + } + } + while(loop_again); + + // now create the new meshes: + for(std::size_t mesh_id=0; mesh_id::%vertex_descriptor` + * as key type and `GeomTraits::Point_3` as value type, `GeomTraits` being the type of the parameter `geom_traits`} + * \cgalParamDefault{`boost::get(CGAL::vertex_point, tm_in)`} + * \cgalParamExtra{If this parameter is omitted, an internal property map for `CGAL::vertex_point_t` + * must be available in `TriangleMeshIn`.} + * \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 + * \cgalParamNBegin{edge_is_constrained_map} + * \cgalParamDescription{a property map filled by this function and that will contain `true` if an edge is on the border of a patch and `false` otherwise.} + * \cgalParamType{a class model of `ReadWritePropertyMap` with `boost::graph_traits::%edge_descriptor` + * as key type and `bool` as value type} + * \cgalParamDefault{None} + * \cgalParamNEnd + * \cgalParamNBegin{face_patch_map} + * \cgalParamDescription{a property map filled by this function and that will contain for each face the id + * of its patch in the range `[0, number of patches - 1]`} + * \cgalParamType{a class model of `ReadWritePropertyMap` with `boost::graph_traits::%face_descriptor` + * as key type and `std::size_t` as value type} + * \cgalParamDefault{None} + * \cgalParamNEnd + * \cgalParamNBegin{vertex_corner_map} + * \cgalParamDescription{a property map filled by this function and that will contain for each vertex that is a corner + * an id in the range `[0, number of corners - 1]`, and `std::size_t(-1)` otherwise.} + * \cgalParamType{a class model of `ReadWritePropertyMap` with `boost::graph_traits::%vertex_descriptor` + * as key type and `std::size_t` as value type} + * \cgalParamDefault{None} + * \cgalParamNEnd + * \cgalParamNBegin{cosine_of_maximum_angle} + * \cgalParamDescription{The maximum angle, given as a cosine, + * (i) between the normals of the supporting planes of adjacent faces such that they are considered coplanar, and + * (ii) for the smallest angle between the supporting line of a segment and an adjacent segment such that they are considered collinear.} + * \cgalParamType{`FT` type from the `geom_traits` parameter} + * \cgalParamDefault{1, which means exact coplanarity and collinearity} + * \cgalParamExtra{The value must be in the interval `[0,1]`} + * \cgalParamNEnd + * \cgalNamedParamsEnd + * + * \param np_out an optional sequence of \ref bgl_namedparameters "Named Parameters" among the ones listed below: + * + * \cgalNamedParamsBegin + * \cgalParamNBegin{do_not_triangulate_faces} + * \cgalParamDescription{if `true`, faces of `pm_out` will not be triangulated, but the one with more than one connected component of the boundary.} + * \cgalParamType{`bool`} + * \cgalParamDefault{false} + * \cgalParamNEnd + * \cgalParamNBegin{vertex_point_map} + * \cgalParamDescription{a property map associating points to the vertices of `pm_out`} + * \cgalParamType{a class model of `WritablePropertyMap` with `boost::graph_traits::%vertex_descriptor` + * as key type and `GeomTraits::Point_3` as value type, `GeomTraits` being the type of the parameter `geom_traits`} + * \cgalParamDefault{`boost::get(CGAL::vertex_point, pm_out)`} + * \cgalParamExtra{If this parameter is omitted, an internal property map for `CGAL::vertex_point_t` + * must be available in `PolygonMeshOut`.} + * \cgalParamNEnd + * \cgalParamNBegin{face_patch_map} + * \cgalParamDescription{a property map filled by this function and that will contain for each face the id + * of its patch in the range `[0, number of patches - 1]`, + * the patch id of two identical patches in the input and output meshes being equal.} + * \cgalParamType{a class model of `ReadWritePropertyMap` with `boost::graph_traits::%face_descriptor` + * as key type and `std::size_t` as value type} + * \cgalParamDefault{None} + * \cgalParamNEnd + * \cgalParamNBegin{vertex_corner_map} + * \cgalParamDescription{a property map filled by this function and that will contain for each vertex its corner + * an id in the range `[0, number of corners - 1]`} + * \cgalParamType{a class model of `ReadWritePropertyMap` with `boost::graph_traits::%vertex_descriptor` + * as key type and `std::size_t` as value type} + * \cgalParamDefault{None} + * \cgalParamNEnd + * \cgalParamNBegin{visitor} + * \cgalParamDescription{a callable with `visitor(pm_out)` being called once `tm_in` is no longer needed + * and before `pm_out` starts being built. It should be used in the case when `tm_in` and `pm_out` are the same mesh, + * so that `pm_out` can be cleared before being filled.} + * \cgalParamType{`visitor(pm_out)` must be a valid expression.} + * \cgalParamDefault{None} + * \cgalParamNEnd + * \cgalNamedParamsEnd + */ +template +void remesh_planar_patches(const TriangleMeshIn& tm_in, + PolygonMeshOut& pm_out, + const NamedParametersIn& np_in = parameters::default_values(), + const NamedParametersOut& np_out = parameters::default_values()) +{ + typedef typename GetGeomTraits::type Traits; + typedef typename GetVertexPointMap ::const_type VPM_in; + typedef typename GetVertexPointMap ::type VPM_out; + using parameters::choose_parameter; + using parameters::get_parameter; + + typedef typename boost::graph_traits graph_traits; + typedef typename graph_traits::edge_descriptor edge_descriptor; + typedef typename graph_traits::vertex_descriptor vertex_descriptor; + typedef typename graph_traits::face_descriptor face_descriptor; + + double coplanar_cos_threshold = - choose_parameter(get_parameter(np_in, internal_np::cosine_of_maximum_angle), 1); + CGAL_precondition(coplanar_cos_threshold<=0 && coplanar_cos_threshold>=-1); + + // initialize property maps (fill user provided or user internal ones) + typedef typename boost::property_map >::const_type Default_ECM; + typedef typename boost::property_map >::const_type Default_VCM; + typedef typename boost::property_map >::const_type Default_FCM; + + typename internal_np::Lookup_named_param_def< internal_np::edge_is_constrained_t, + NamedParametersIn, + Default_ECM>::type + edge_is_constrained = choose_parameter(get_parameter(np_in, internal_np::edge_is_constrained), + dynamic_edge_property_t(), tm_in); + + typename internal_np::Lookup_named_param_def< internal_np::vertex_corner_map_t, + NamedParametersIn, + Default_VCM>::type + vertex_corner_id = choose_parameter(get_parameter(np_in, internal_np::vertex_corner_map), + dynamic_vertex_property_t(), tm_in); + + typename internal_np::Lookup_named_param_def< internal_np::face_patch_t, + NamedParametersIn, + Default_FCM>::type + face_cc_ids = choose_parameter(get_parameter(np_in, internal_np::face_patch), + dynamic_face_property_t(), tm_in); + + for(edge_descriptor e : edges(tm_in)) put(edge_is_constrained, e, false); + for(vertex_descriptor v : vertices(tm_in)) put(vertex_corner_id, v, Planar_segmentation::default_id()); + for(face_descriptor f : faces(tm_in)) put(face_cc_ids, f, -1); + + VPM_in vpm_in = choose_parameter(get_parameter(np_in, internal_np::vertex_point), + get_const_property_map(vertex_point, tm_in)); + + VPM_out vpm_out = choose_parameter(get_parameter(np_out, internal_np::vertex_point), + get_property_map(vertex_point, pm_out)); + + typename internal_np::Lookup_named_param_def< internal_np::visitor_t, + NamedParametersOut, + Planar_segmentation::Default_visitor>::type + visitor = choose_parameter>(get_parameter(np_out, internal_np::visitor)); + + bool do_not_triangulate_faces = choose_parameter(get_parameter(np_out, internal_np::do_not_triangulate_faces), false); + + std::pair nb_corners_and_nb_cc = + Planar_segmentation::tag_corners_and_constrained_edges(tm_in, coplanar_cos_threshold, vertex_corner_id, edge_is_constrained, face_cc_ids, vpm_in); + std::vector< typename Traits::Vector_3 > face_normals(nb_corners_and_nb_cc.second, NULL_VECTOR); + Planar_segmentation::decimate_impl(tm_in, pm_out, + nb_corners_and_nb_cc, + vertex_corner_id, + edge_is_constrained, + face_cc_ids, + vpm_in, vpm_out, + do_not_triangulate_faces, + get_parameter(np_out, internal_np::vertex_corner_map), + get_parameter(np_out, internal_np::face_patch), + visitor, + face_normals); +} + +/*! + * \ingroup PMP_meshing_grp + * generates a new triangle mesh `pm_out` with the minimal number of triangles from a partition of `tm_in`. + * The terminology used here and the global idea is very similar to what is done by `remesh_planar_patches()` + * except that here the partition into patches and corner identification is provided by the user. + * It allows to have a remeshing of almost coplanar regions, detected for example using the region growing algorithm + * with the functions `region_growing_of_planes_on_faces()` and `detect_corners_of_regions()`. + * If a patch cannot be triangulated, it is left untouched in the output and all its vertices become corners + * so that the output is still a valid conformal triangle mesh. + * \returns `true` if all patches could be triangulated and `false` otherwise. + * + * \tparam TriangleMeshIn a model of `HalfedgeListGraph` and `FaceListGraph` + * \tparam PolygonMeshOut a model of `MutableFaceGraph` + * + * \tparam FacePatchMap a class model of `ReadablePropertyMap` with `boost::graph_traits::%face_descriptor` + * as key type and `std::size_t` as value type + * \tparam EdgeIsConstrainedMap a class model of `ReadablePropertyMap` with `boost::graph_traits::%edge_descriptor` + * as key type and `bool` as value type + * \tparam VertexCornerMap a class model of `ReadablePropertyMap` with `boost::graph_traits::%vertex_descriptor` + * as key type and `std::size_t` as value type + * \tparam NamedParametersIn a sequence of \ref bgl_namedparameters "Named Parameters" + * \tparam NamedParametersOut a sequence of \ref bgl_namedparameters "Named Parameters" + * + * \param tm_in input triangle mesh + * \param pm_out output polygon mesh + * \param nb_patches the number of patches in the partition + * \param nb_corners the number of corners + * \param face_patch_map a property map that contains for each face the id of its patch in the range `[0, nb_patches]` + * \param vertex_corner_map a property map that contains for each vertex that is a corner an id in the range `[0, nb_corners - 1]`, + and `std::size_t(-1)` otherwise. + * \param ecm a property map that contains `true` if an edge is on the border of a patch and `false` otherwise. + * \param np_in an optional sequence of \ref bgl_namedparameters "Named Parameters" among the ones listed below: + * + * \cgalNamedParamsBegin + * \cgalParamNBegin{patch_normal_map} + * \cgalParamDescription{a property map providing for each patch the normal of the supporting plane of the patch (used to triangulate it)} + * \cgalParamType{a class model of `ReadPropertyMap` with the value type of `FacePatchMap` as key and + * `GeomTraits::Vector_3` as value type, `GeomTraits` being the type of the parameter `geom_traits`} + * \cgalParamDefault{If not provided, patch normals will be estimated using corners of the patches} + * \cgalParamNEnd + * \cgalParamNBegin{vertex_point_map} + * \cgalParamDescription{a property map associating points to the vertices of `tm_in`} + * \cgalParamType{a class model of `ReadablePropertyMap` with `boost::graph_traits::%vertex_descriptor` + * as key type and `GeomTraits::Point_3` as value type, `GeomTraits` being the type of the parameter `geom_traits`} + * \cgalParamDefault{`boost::get(CGAL::vertex_point, tm_in)`} + * \cgalParamExtra{If this parameter is omitted, an internal property map for `CGAL::vertex_point_t` + * must be available in `TriangleMeshIn`.} + * \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 + * + * \param np_out an optional sequence of \ref bgl_namedparameters "Named Parameters" among the ones listed below: + * + * \cgalNamedParamsBegin + * \cgalParamNBegin{do_not_triangulate_faces} + * \cgalParamDescription{if `true`, faces of `pm_out` will not be triangulated, but the one with more than one connected component of the boundary.} + * \cgalParamType{`bool`} + * \cgalParamDefault{false} + * \cgalParamNEnd + * \cgalParamNBegin{vertex_point_map} + * \cgalParamDescription{a property map associating points to the vertices of `pm_out`} + * \cgalParamType{a class model of `WritablePropertyMap` with `boost::graph_traits::%vertex_descriptor` + * as key type and `GeomTraits::Point_3` as value type, `GeomTraits` being the type of the parameter `geom_traits`} + * \cgalParamDefault{`boost::get(CGAL::vertex_point, pm_out)`} + * \cgalParamExtra{If this parameter is omitted, an internal property map for `CGAL::vertex_point_t` + * must be available in `PolygonMeshOut`.} + * \cgalParamNEnd + * \cgalParamNBegin{face_patch_map} + * \cgalParamDescription{a property map filled by this function and that will contain for each face the id + * of its patch in the range `[0, number of patches - 1]`} + * \cgalParamType{a class model of `ReadWritePropertyMap` with `boost::graph_traits::%face_descriptor` + * as key type and `std::size_t` as value type} + * \cgalParamDefault{None} + * \cgalParamNEnd + * \cgalParamNBegin{vertex_corner_map} + * \cgalParamDescription{a property map filled by this function and that will contain for each vertex its corner + * an id in the range `[0, number of corners - 1]`} + * \cgalParamType{a class model of `ReadWritePropertyMap` with `boost::graph_traits::%vertex_descriptor` + * as key type and `std::size_t` as value type} + * \cgalParamDefault{None} + * \cgalParamNEnd + * \cgalParamNBegin{visitor} + * \cgalParamDescription{a callable with `visitor(pm_out)` being called once `tm_in` is no longer needed + * and before `pm_out` starts being built. It should be used in the case when `tm_in` and `pm_out` are the same mesh, + * so that `pm_out` can be cleared before being filled.} + * \cgalParamType{`visitor(pm_out)` must be a valid expression.} + * \cgalParamDefault{None} + * \cgalParamNEnd + * \cgalNamedParamsEnd + */ +template +bool remesh_almost_planar_patches(const TriangleMeshIn& tm_in, + PolygonMeshOut& pm_out, + std::size_t nb_patches, + std::size_t nb_corners, + FacePatchMap face_patch_map, + VertexCornerMap vertex_corner_map, + EdgeIsConstrainedMap ecm, + const NamedParametersIn& np_in = parameters::default_values(), + const NamedParametersOut& np_out = parameters::default_values()) +{ + typedef typename GetGeomTraits::type Traits; + typedef typename GetVertexPointMap ::const_type VPM_in; + typedef typename GetVertexPointMap ::type VPM_out; + using parameters::choose_parameter; + using parameters::get_parameter; + + VPM_in vpm_in = choose_parameter(get_parameter(np_in, internal_np::vertex_point), + get_const_property_map(vertex_point, tm_in)); + + VPM_out vpm_out = choose_parameter(get_parameter(np_out, internal_np::vertex_point), + get_property_map(vertex_point, pm_out)); + + typename internal_np::Lookup_named_param_def< internal_np::visitor_t, + NamedParametersOut, + Planar_segmentation::Default_visitor>::type + visitor = choose_parameter>(get_parameter(np_out, internal_np::visitor)); + + bool do_not_triangulate_faces = choose_parameter(get_parameter(np_out, internal_np::do_not_triangulate_faces), false); + + std::vector< typename Traits::Vector_3 > face_normals; + Planar_segmentation::init_face_normals(face_normals, nb_patches, get_parameter(np_in, internal_np::patch_normal_map)); + return Planar_segmentation::decimate_impl(tm_in, pm_out, + std::make_pair(nb_corners, nb_patches), + vertex_corner_map, ecm, face_patch_map, vpm_in, vpm_out, + do_not_triangulate_faces, + get_parameter(np_out, internal_np::vertex_corner_map), + get_parameter(np_out, internal_np::face_patch), + visitor, + face_normals); +} + +#ifndef DOXYGEN_RUNNING +// MeshMap must be a mutable lvalue pmap with Triangle_mesh as value_type +template +bool decimate_meshes_with_common_interfaces(TriangleMeshRange& meshes, double coplanar_cos_threshold, MeshMap mesh_map, bool do_not_triangulate_faces=false) +{ + CGAL_assertion(coplanar_cos_threshold<0); + typedef typename boost::property_traits::value_type Triangle_mesh; + typedef typename std::iterator_traits::value_type Mesh_descriptor; + typedef typename boost::property_map::type VPM; + typedef typename boost::property_traits::value_type Point_3; + typedef typename Kernel_traits::type Kernel; + + // todo turn into a range of named parameter + std::vector::type > vpms; + vpms.reserve(meshes.size()); + + for(Mesh_descriptor& md : meshes) + vpms.push_back( get(boost::vertex_point, mesh_map[md]) ); + return Planar_segmentation::decimate_meshes_with_common_interfaces_impl(meshes, mesh_map, coplanar_cos_threshold, vpms, do_not_triangulate_faces); +} + +template +bool decimate_meshes_with_common_interfaces(std::vector& meshes, double coplanar_cos_threshold=-1) +{ + return decimate_meshes_with_common_interfaces(meshes, coplanar_cos_threshold, CGAL::Identity_property_map()); +} +#endif + +} } // end of CGAL::Polygon_mesh_processing + +#endif // CGAL_POLYGON_MESH_PROCESSING_REMESH_PLANAR_PATCHES_H diff --git a/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/repair_self_intersections.h b/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/repair_self_intersections.h index 584358ccefa..5a922c7cbff 100644 --- a/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/repair_self_intersections.h +++ b/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/repair_self_intersections.h @@ -2446,6 +2446,7 @@ bool remove_self_intersections(const FaceRange& face_range, std::set working_face_range(face_range.begin(), face_range.end()); visitor.start_main_loop(); + bool self_intersects=false; while(++step < max_steps) { #ifdef CGAL_PMP_REMOVE_SELF_INTERSECTION_DEBUG @@ -2484,6 +2485,8 @@ bool remove_self_intersections(const FaceRange& face_range, #endif break; } + else + self_intersects=true; visitor.status_update(faces_to_treat); @@ -2514,7 +2517,8 @@ bool remove_self_intersections(const FaceRange& face_range, std::ofstream("results/final.off") << std::setprecision(17) << tmesh; #endif - bool self_intersects = does_self_intersect(working_face_range, tmesh, parameters::vertex_point_map(vpm).geom_traits(gt)); + if (self_intersects) + self_intersects = does_self_intersect(working_face_range, tmesh, parameters::vertex_point_map(vpm).geom_traits(gt)); #ifdef CGAL_PMP_REMOVE_SELF_INTERSECTION_DEBUG if(self_intersects) diff --git a/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/smooth_shape.h b/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/smooth_shape.h index c71cf8b1d0b..bd4e8ad8ab2 100644 --- a/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/smooth_shape.h +++ b/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/smooth_shape.h @@ -61,6 +61,25 @@ namespace Polygon_mesh_processing { * \cgalParamDefault{`1`} * \cgalParamNEnd * +* \cgalParamNBegin{vertex_is_constrained_map} +* \cgalParamDescription{a property map containing the constrained-or-not status of each vertex of `tmesh`.} +* \cgalParamType{a class model of `ReadWritePropertyMap` with `boost::graph_traits::%vertex_descriptor` +* as key type and `bool` as value type. It must be default constructible.} +* \cgalParamDefault{a default property map where no vertex is constrained} +* \cgalParamExtra{A constrained vertex cannot be modified at all during smoothing.} +* \cgalParamNEnd +* +* \cgalParamNBegin{do_scale} +* \cgalParamDescription{Whether to apply rescaling after smoothing. This is useful because +* the mean curvature flow tends to shrink the surface.} +* \cgalParamType{Boolean} +* \cgalParamDefault{`true`} +* \cgalParamExtra{Scaling can only be applied if the mesh is closed and if there is no more than +* a single constrained vertex.} +* \cgalParamExtra{If a vertex is constrained, it is the fixed point of the scaling, otherwise +* the centroid is used.} +* \cgalParamNEnd +* * \cgalParamNBegin{vertex_point_map} * \cgalParamDescription{a property map associating points to the vertices of `tmesh`} * \cgalParamType{a class model of `ReadWritePropertyMap` with `boost::graph_traits::%vertex_descriptor` @@ -77,14 +96,6 @@ namespace Polygon_mesh_processing { * \cgalParamExtra{The geometric traits class must be compatible with the vertex point type.} * \cgalParamNEnd * -* \cgalParamNBegin{vertex_is_constrained_map} -* \cgalParamDescription{a property map containing the constrained-or-not status of each vertex of `tmesh`.} -* \cgalParamType{a class model of `ReadWritePropertyMap` with `boost::graph_traits::%vertex_descriptor` -* as key type and `bool` as value type. It must be default constructible.} -* \cgalParamDefault{a default property map where no vertex is constrained} -* \cgalParamExtra{A constrained vertex cannot be modified at all during smoothing.} -* \cgalParamNEnd -* * \cgalParamNBegin{sparse_linear_solver} * \cgalParamDescription{an instance of the sparse linear solver used for smoothing} * \cgalParamType{a class model of `SparseLinearAlgebraWithFactorTraits_d`} @@ -97,9 +108,10 @@ namespace Polygon_mesh_processing { * * @warning This function involves linear algebra, that is computed using non-exact, floating-point arithmetic. * -* @see `smooth_mesh()` +* @see `angle_and_area_smoothing()` */ -template +template void smooth_shape(const FaceRange& faces, TriangleMesh& tmesh, const double time, @@ -125,6 +137,7 @@ void smooth_shape(const FaceRange& faces, VCMap vcmap = choose_parameter(get_parameter(np, internal_np::vertex_is_constrained), Static_boolean_property_map()); const unsigned int nb_iterations = choose_parameter(get_parameter(np, internal_np::number_of_iterations), 1); + const bool scale_after_smoothing = choose_parameter(get_parameter(np, internal_np::do_scale), true); #if defined(CGAL_EIGEN3_ENABLED) #if EIGEN_VERSION_AT_LEAST(3,2,0) @@ -161,11 +174,11 @@ void smooth_shape(const FaceRange& faces, Eigen_vector bx(n), by(n), bz(n), Xx(n), Xy(n), Xz(n); std::vector > stiffness; - internal::Shape_smoother smoother(tmesh, vpmap, vcmap, gt); + internal::Shape_smoother smoother(tmesh, vpmap, vcmap, scale_after_smoothing, gt); smoother.init_smoothing(faces); - // For robustness reasons, the laplacian coefficients are computed only once (only the mass + // For robustness reasons, the Laplacian coefficients are computed only once (only the mass // matrix is updated at every iteration). See Kazdhan et al. "Can Mean-Curvature Flow Be Made Non-Singular?". smoother.calculate_stiffness_matrix_elements(stiffness); diff --git a/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/tangential_relaxation.h b/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/tangential_relaxation.h index 24d278dfc48..d14e513d347 100644 --- a/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/tangential_relaxation.h +++ b/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/tangential_relaxation.h @@ -111,7 +111,7 @@ struct Allow_all_moves{ * \cgalParamNBegin{allow_move_functor} * \cgalParamDescription{A function object used to determinate if a vertex move should be allowed or not} * \cgalParamType{Unary functor that provides `bool operator()(vertex_descriptor v, Point_3 src, Point_3 tgt)` returning `true` -* if the vertex `v` can be moved from `src` to `tgt`; %Point_3` being the value type of the vertex point map } +* if the vertex `v` can be moved from `src` to `tgt`; `Point_3` being the value type of the vertex point map } * \cgalParamDefault{If not provided, all moves are allowed.} * \cgalParamNEnd * @@ -188,6 +188,10 @@ void tangential_relaxation(const VertexRange& vertices, } prev = n; } + + if (first_run) + return true; //vertex incident only to degenerate faces + if (!get(ecm, edge(first_h, tm))) if (to_double(first * prev) <= 0) return false; diff --git a/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/triangulate_faces.h b/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/triangulate_faces.h index d479b6d7d1b..d7b88034d60 100644 --- a/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/triangulate_faces.h +++ b/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/triangulate_faces.h @@ -538,7 +538,7 @@ bool triangulate_face(typename boost::graph_traits::face_descriptor * \cgalParamDefault{`Triangulate_faces::Default_visitor`} * \cgalParamExtra{Note that the visitor will be copied, so * it must not have any data member that does not have a reference-like type.} -* `\cgalParamNEnd +* \cgalParamNEnd * \cgalNamedParamsEnd * * @return `true` if all the faces have been triangulated. diff --git a/Polygon_mesh_processing/test/Polygon_mesh_processing/CMakeLists.txt b/Polygon_mesh_processing/test/Polygon_mesh_processing/CMakeLists.txt index 27b1e2065e0..3ffa2b00993 100644 --- a/Polygon_mesh_processing/test/Polygon_mesh_processing/CMakeLists.txt +++ b/Polygon_mesh_processing/test/Polygon_mesh_processing/CMakeLists.txt @@ -79,6 +79,8 @@ if(TARGET CGAL::Eigen3_support) target_link_libraries(test_shape_smoothing PUBLIC CGAL::Eigen3_support) create_single_source_cgal_program("delaunay_remeshing_test.cpp") target_link_libraries(delaunay_remeshing_test PUBLIC CGAL::Eigen3_support) + create_single_source_cgal_program("test_decimation_of_planar_patches.cpp") + target_link_libraries(test_decimation_of_planar_patches PUBLIC CGAL::Eigen3_support) else() message(STATUS "NOTICE: Tests that use the Eigen library will not be compiled.") endif() diff --git a/Polygon_mesh_processing/test/Polygon_mesh_processing/data/decimation/am1.off b/Polygon_mesh_processing/test/Polygon_mesh_processing/data/decimation/am1.off new file mode 100644 index 00000000000..c88ec2fdd76 --- /dev/null +++ b/Polygon_mesh_processing/test/Polygon_mesh_processing/data/decimation/am1.off @@ -0,0 +1,4614 @@ +OFF +1538 3072 0 + +-0.19241088628768921 0.0083854794502258301 0.33005213737487793 +0.19648849964141846 0.69142109155654907 -0.28818702697753906 +-0.11446547508239746 0.65265029668807983 1.0908722877502441 +0.27443391084671021 1.3356859683990479 0.47263318300247192 +0.72556608915328979 -0.33568590879440308 0.52736681699752808 +1.1144654750823975 0.34734970331192017 -0.090872287750244141 +0.80351150035858154 0.30857890844345093 1.2881870269775391 +1.192410945892334 0.99161452054977417 0.66994786262512207 +0.041011512279510498 0.67203569412231445 0.40134266018867493 +0.9589884877204895 0.32796430587768555 0.59865736961364746 +0.53897273540496826 0.822132408618927 0.88041007518768311 +0.46102729439735413 0.177867591381073 0.11958992481231689 +0.69444966316223145 0.84151780605316162 0.19088044762611389 +0.30555030703544617 0.15848219394683838 0.8091195821762085 +0.23546120524406433 1.0135535001754761 0.092223107814788818 +0.002038806676864624 0.34990328550338745 0.020932585000991821 +-0.15343821048736572 0.33051788806915283 0.71046221256256104 +0.079984217882156372 0.99416810274124146 0.78175270557403564 +0.92001581192016602 0.0058318972587585449 0.21824726462364197 +1.1534382104873657 0.66948211193084717 0.28953778743743896 +0.99796116352081299 0.65009671449661255 0.97906744480133057 +0.76453876495361328 -0.013553500175476074 0.90777689218521118 +0.73342239856719971 1.1636502742767334 0.57129049301147461 +0.34452301263809204 0.48061460256576538 1.1895296573638916 +0.26657760143280029 -0.16365021467208862 0.428709477186203 +0.65547698736190796 0.51938539743423462 -0.1895296573638916 +-0.075699687004089355 0.34021061658859253 0.36569738388061523 +0.15772271156311035 1.0038608312606812 0.43698790669441223 +0.11875000596046448 0.68172842264175415 0.056577831506729126 +-0.036726951599121094 0.66234302520751953 0.74610745906829834 +1.0756996870040894 0.65978938341140747 0.63430261611938477 +0.84227728843688965 -0.0038608312606811523 0.56301206350326538 +1.0367269515991211 0.33765697479248047 0.25389251112937927 +0.88125002384185791 0.31827157735824585 0.94342219829559326 +0.2122536301612854 0.73739135265350342 0.98564118146896362 +0.86569178104400635 0.90687346458435059 0.77517896890640259 +0.40670332312583923 1.078909158706665 0.6765216588973999 +0.6712421178817749 0.56535565853118896 1.0842986106872559 +0.13430818915367126 0.093126535415649414 0.22482103109359741 +0.7877463698387146 0.26260864734649658 0.014358818531036377 +0.59329664707183838 -0.078909158706665039 0.32347837090492249 +0.3287578821182251 0.43464434146881104 -0.084298551082611084 +0.48444181680679321 1.08860182762146 0.3317568302154541 +0.90445756912231445 0.59443372488021851 0.050004094839096069 +0.44546908140182495 0.76646947860717773 -0.048653244972229004 +0.94343030452728271 0.91656613349914551 0.43041414022445679 +0.51555818319320679 -0.088601827621459961 0.6682431697845459 +0.095542430877685547 0.40556624531745911 0.94999587535858154 +0.056569695472717285 0.083433866500854492 0.56958585977554321 +0.55453091859817505 0.23353055119514465 1.048653244972229 +0.25494754314422607 1.1746196746826172 0.28242814540863037 +0.21597486734390259 0.85248732566833496 -0.097981929779052734 +0.13823634386062622 0.84279459714889526 0.24678286910057068 +0.46495544910430908 0.92753565311431885 0.14155176281929016 +0.099263638257980347 0.52066218852996826 -0.13362723588943481 +-0.095186054706573486 0.17914438247680664 0.17549234628677368 +0.021525144577026367 0.51096951961517334 0.21113762259483337 +0.23153305053710938 0.26388543844223022 0.070261240005493164 +-0.17292451858520508 0.16945171356201172 0.52025717496871948 +-0.13395184278488159 0.49158412218093872 0.90066725015640259 +-0.056213319301605225 0.50127679109573364 0.55590242147445679 +0.076056063175201416 0.24450004100799561 0.75979089736938477 +-0.017240643501281738 0.82340919971466064 0.93631255626678467 +0.17720907926559448 1.1649270057678223 0.62719297409057617 +0.060497879981994629 0.83310192823410034 0.59154766798019409 +0.30947846174240112 0.90815025568008423 0.83108139038085938 +0.82279092073440552 -0.16492700576782227 0.37280705571174622 +1.0172406435012817 0.17659080028533936 0.06368747353553772 +0.93950212001800537 0.16689807176589966 0.40845230221748352 +0.69052153825759888 0.091849744319915771 0.16891860961914062 +1.1339519023895264 0.50841587781906128 0.099332749843597412 +1.1729245185852051 0.83054828643798828 0.47974282503128052 +1.05621337890625 0.49872320890426636 0.44409757852554321 +0.92394393682479858 0.75549995899200439 0.24020913243293762 +1.0951859951019287 0.82085561752319336 0.82450765371322632 +0.90073633193969727 0.47933781147003174 1.13362717628479 +0.97847485542297363 0.48903048038482666 0.78886234760284424 +0.76846694946289062 0.73611456155776978 0.92973875999450684 +0.78402513265609741 0.14751267433166504 1.0979819297790527 +0.74505245685577393 -0.17461967468261719 0.71757185459136963 +0.86176365613937378 0.15720540285110474 0.75321710109710693 +0.53504455089569092 0.072464346885681152 0.85844826698303223 +0.96291661262512207 1.0776324272155762 0.62061917781829834 +0.50392818450927734 1.2496681213378906 0.52196186780929565 +0.63619756698608398 0.99289131164550781 0.72585028409957886 +0.71393603086471558 1.0025839805603027 0.38108548521995544 +0.11502876877784729 0.56663244962692261 1.1402009725570679 +0.57401728630065918 0.39459675550460815 1.2388583421707153 +0.44174787402153015 0.65137350559234619 1.0349698066711426 +0.32503664493560791 0.31954839825630188 0.99932456016540527 +0.49607184529304504 -0.24966806173324585 0.47803816199302673 +0.037083357572555542 -0.077632367610931396 0.37938082218170166 +0.36380243301391602 0.0071086883544921875 0.27414971590042114 +0.28606396913528442 -0.0025839805603027344 0.61891448497772217 +0.42598274350166321 0.60540324449539185 -0.23885834217071533 +0.8849712610244751 0.43336755037307739 -0.14020097255706787 +0.55825215578079224 0.34862649440765381 -0.034969866275787354 +0.67496335506439209 0.68045163154602051 0.00067541003227233887 +-0.13405531644821167 0.17429804801940918 0.34787476062774658 +-0.017344117164611816 0.50612318515777588 0.38352000713348389 +-0.042666018009185791 0.32846570014953613 0.19153273105621338 +-0.10873335599899292 0.35195547342300415 0.53986203670501709 +0.099367111921310425 0.8379482626914978 0.41916528344154358 +0.21607834100723267 1.1697733402252197 0.45481055974960327 +0.19075638055801392 0.99211591482162476 0.26282325387001038 +0.12468904256820679 1.0156056880950928 0.61115258932113647 +0.079880774021148682 0.67688202857971191 0.22896024584770203 +0.15761923789978027 0.68657475709915161 -0.11580455303192139 +0.056507468223571777 0.5153312087059021 0.055993467569351196 +0.18099254369735718 0.84812557697296143 0.057162225246429443 +0.0021422505378723145 0.66718935966491699 0.57372504472732544 +-0.075596213340759277 0.65749669075012207 0.91848981380462646 +0.025515556335449219 0.82874023914337158 0.74669182300567627 +-0.098969519138336182 0.49594581127166748 0.74552309513092041 +1.1340553760528564 0.82570195198059082 0.65212523937225342 +1.0173441171646118 0.49387684464454651 0.61647999286651611 +1.1204044818878174 0.68122702836990356 0.46370247006416321 +1.0309948921203613 0.63835179805755615 0.80490279197692871 +0.90063285827636719 0.1620517373085022 0.58083474636077881 +0.78392165899276733 -0.16977334022521973 0.54518944025039673 +0.88698208332061768 0.017576813697814941 0.39241194725036621 +0.79757249355316162 -0.025298416614532471 0.73361217975616455 +0.99785774946212769 0.33281064033508301 0.42627492547035217 +1.0755962133407593 0.34250333905220032 0.081510156393051147 +1.0911955833435059 0.50308489799499512 0.28895339369773865 +0.98225831985473633 0.17222908139228821 0.21883165836334229 +0.92011922597885132 0.3231179416179657 0.77103972434997559 +0.84238076210021973 0.31342524290084839 1.1158045530319214 +0.82678133249282837 0.1528436541557312 0.90836131572723389 +0.93571865558624268 0.4836995005607605 0.97848302125930786 +0.048894047737121582 0.69502085447311401 1.0382566452026367 +0.37561315298080444 0.7797619104385376 0.93302559852600098 +0.12978297472000122 0.86154270172119141 0.88895851373672485 +0.29472428560256958 0.61324000358581543 1.0823237895965576 +0.7023322582244873 0.86450290679931641 0.82779455184936523 +1.0290513038635254 0.94924402236938477 0.72256344556808472 +0.78322112560272217 1.0310248136520386 0.67849630117416382 +0.94816243648529053 0.7827221155166626 0.87186163663864136 +0.47283801436424255 0.95052075386047363 0.7784658670425415 +0.34056860208511353 1.2072975635528564 0.57457739114761353 +0.24995723366737366 1.0236997604370117 0.73933160305023193 +0.56344938278198242 1.1341185569763184 0.6137116551399231 +0.60510742664337158 0.69374406337738037 0.98235428333282471 +0.73737680912017822 0.43696725368499756 1.1862428188323975 +0.8279881477355957 0.62056499719619751 1.0214885473251343 +0.51449602842330933 0.51014626026153564 1.1471085548400879 +-0.029051363468170166 0.050755977630615234 0.27743655443191528 +0.2976677417755127 0.13549706339836121 0.17220547795295715 +0.18410694599151611 -0.039498865604400635 0.33202680945396423 +0.084509462118148804 0.22575199604034424 0.1176152229309082 +0.62438684701919556 0.22023811936378479 0.066974371671676636 +0.95110595226287842 0.30497914552688599 -0.038256704807281494 +0.83754515647888184 0.12998318672180176 0.12156462669372559 +0.73794764280319214 0.39523407816886902 -0.092846930027008057 +0.52716195583343506 0.049479216337203979 0.22153416275978088 +0.65943139791488647 -0.20729756355285645 0.42542260885238647 +0.42332366108894348 -0.10844087600708008 0.36589950323104858 +0.76326966285705566 -0.04937744140625 0.28105723857879639 +0.39489257335662842 0.30625596642494202 0.017645686864852905 +0.26262319087982178 0.56303274631500244 -0.18624275922775269 +0.49873089790344238 0.46417605876922607 -0.12671965360641479 +0.15878486633300781 0.40511265397071838 -0.041877388954162598 +0.37943786382675171 1.2121438980102539 0.40219497680664062 +0.58944576978683472 0.96505981683731079 0.2613186240196228 +0.34945112466812134 1.0634318590164185 0.21903377771377563 +0.61943250894546509 1.113771915435791 0.44447985291481018 +0.79945361614227295 0.71797579526901245 0.12044227123260498 +1.009461522102356 0.47089171409606934 -0.020434081554412842 +0.76946687698364258 0.569263756275177 -0.06271892786026001 +1.0394482612609863 0.61960375308990479 0.16272711753845215 +0.56995940208435059 0.80399364233016968 0.07111358642578125 +0.32097876071929932 0.72894525527954102 -0.16842013597488403 +0.35291418433189392 0.89376389980316162 0.033761590719223022 +0.53802400827407837 0.63917499780654907 -0.13106817007064819 +0.81893998384475708 0.87904196977615356 0.31064730882644653 +1.0679206848144531 0.95409035682678223 0.55018103122711182 +1.0359852313995361 0.78927171230316162 0.34799930453300476 +0.8508753776550293 1.0438606739044189 0.5128290057182312 +0.62056213617324829 -0.21214389801025391 0.59780502319335938 +0.41055423021316528 0.034940183162689209 0.7386813759803772 +0.40156829357147217 -0.13848024606704712 0.54143249988555908 +0.62954807281494141 -0.038723468780517578 0.79505383968353271 +0.20054638385772705 0.28202420473098755 0.87955772876739502 +-0.009461522102355957 0.52910828590393066 1.0204341411590576 +-0.018447518348693848 0.35568785667419434 0.82318520545959473 +0.20953232049942017 0.45544463396072388 1.0768065452575684 +0.18106001615524292 0.12095803022384644 0.68935269117355347 +-0.06792062520980835 0.045909643173217773 0.44981896877288818 +0.17402267456054688 -0.036355793476104736 0.5111243724822998 +-0.060883283615112305 0.20322343707084656 0.62804734706878662 +0.43004059791564941 0.19600635766983032 0.92888641357421875 +0.67902123928070068 0.2710547149181366 1.1684200763702393 +0.43707793951034546 0.35332018136978149 1.1071147918701172 +0.67198389768600464 0.1137409508228302 0.9901917576789856 +0.26469075679779053 1.2551528215408325 0.37753066420555115 +0.2452043890953064 1.0940866470336914 0.18732562661170959 +0.20911151170730591 1.0895864963531494 0.34739500284194946 +0.35057014226913452 1.1387789249420166 0.30298173427581787 +0.22571802139282227 0.93302041292190552 -0.0028794407844543457 +0.20623165369033813 0.77195417881011963 -0.1930844783782959 +0.17546451091766357 0.78133779764175415 -0.033582031726837158 +0.32322168350219727 0.81830281019210815 -0.068286299705505371 +0.18962514400482178 0.92852026224136353 0.15718996524810791 +0.089623928070068359 0.75741517543792725 0.3240627646446228 +0.14635568857192993 0.90990555286407471 0.32603496313095093 +0.13266143202781677 0.77411240339279175 0.15295341610908508 +0.3427080512046814 0.97936904430389404 0.12191873788833618 +0.56057804822921753 0.89169490337371826 0.16210538148880005 +0.45683613419532776 0.86042475700378418 0.062299668788909912 +0.46580648422241211 1.0053884983062744 0.228099524974823 +0.1478760838508606 0.60604166984558105 -0.21090710163116455 +0.050651222467422485 0.43528276681900024 -0.056347310543060303 +0.10483857989311218 0.58934444189071655 -0.039797723293304443 +0.19488623738288879 0.48482143878936768 -0.11307358741760254 +-0.046573638916015625 0.26452386379241943 0.098212480545043945 +-0.14379847049713135 0.093764901161193848 0.25277224183082581 +-0.087066769599914551 0.24625533819198608 0.25474444031715393 +0.014837175607681274 0.1453060507774353 0.1928749680519104 +0.0076137185096740723 0.41858553886413574 0.1147620677947998 +0.02964445948600769 0.57808041572570801 0.29038971662521362 +0.062035501003265381 0.58211904764175415 0.1467377245426178 +-0.024310886859893799 0.42593622207641602 0.27610448002815247 +0.112062007188797 0.3160649836063385 0.038315176963806152 +0.34628015756607056 0.22087651491165161 0.094925582408905029 +0.19102269411087036 0.19273591041564941 0.13466113805770874 +0.2684769332408905 0.34623843431472778 -0.0032603740692138672 +-0.18266773223876953 0.088918566703796387 0.42515465617179871 +-0.1631813645362854 0.24998480081558228 0.61535966396331787 +-0.12708848714828491 0.25448495149612427 0.45529031753540039 +-0.077301919460296631 0.13361096382141113 0.54081076383590698 +-0.14369499683380127 0.41105097532272339 0.8055647611618042 +-0.12420862913131714 0.57211720943450928 0.99576973915100098 +-0.093441486358642578 0.56273365020751953 0.83626735210418701 +-0.028096854686737061 0.44589489698410034 0.91677677631378174 +-0.10760211944580078 0.41555118560791016 0.64549535512924194 +-0.0076009035110473633 0.58665627241134644 0.47862255573272705 +-0.064332664012908936 0.43416589498519897 0.47665032744407654 +-0.050638437271118164 0.56995904445648193 0.64973187446594238 +-0.047583222389221191 0.28482869267463684 0.72657173871994019 +0.1908031702041626 0.20149111747741699 0.78445518016815186 +0.084175378084182739 0.31161096692085266 0.83904296159744263 +0.058812618255615234 0.17279139161109924 0.66971969604492188 +-0.0658530592918396 0.73802977800369263 1.0135923624038696 +0.031371802091598511 0.90878868103027344 0.85903263092041016 +-0.022815525531768799 0.75472700595855713 0.8424830436706543 +0.078381985425949097 0.78756844997406006 0.95686614513397217 +0.12859666347503662 1.079547643661499 0.70447283983230591 +0.22582149505615234 1.2503064870834351 0.54991304874420166 +0.16908976435661316 1.0978161096572876 0.54794085025787354 +0.28028765320777893 1.118891716003418 0.65561556816101074 +0.074409306049346924 0.92548590898513794 0.68792325258255005 +0.052378565073013306 0.7659909725189209 0.51229560375213623 +0.019987523555755615 0.76195240020751953 0.65594756603240967 +0.10633391141891479 0.91813516616821289 0.526580810546875 +0.18306282162666321 0.94813275337219238 0.81017529964447021 +0.40510106086730957 0.87230944633483887 0.85163497924804688 +0.34998881816864014 0.97929978370666504 0.7666814923286438 +0.25614213943481445 0.83194142580032349 0.90107953548431396 +0.77417850494384766 -0.25030648708343506 0.45008692145347595 +0.87140333652496338 -0.079547584056854248 0.29552716016769409 +0.83531045913696289 -0.08404773473739624 0.45559656620025635 +0.72716832160949707 -0.12908625602722168 0.35225343704223633 +0.9686281681060791 0.091211318969726562 0.14096736907958984 +1.0658531188964844 0.26197022199630737 -0.013592362403869629 +1.0253598690032959 0.24370169639587402 0.14293959736824036 +0.90721738338470459 0.21042913198471069 0.046304881572723389 +0.93253529071807861 0.08671116828918457 0.3010367751121521 +0.94924533367156982 0.2474311888217926 0.5035548210144043 +0.89899176359176636 0.095748543739318848 0.4728522002696991 +0.98394632339477539 0.24042665958404541 0.3298993706703186 +0.80999255180358887 0.039670199155807495 0.20086467266082764 +0.5757744312286377 0.13485866785049438 0.14425426721572876 +0.73103189468383789 0.16299927234649658 0.10451871156692505 +0.65357762575149536 0.0094967484474182129 0.24244022369384766 +1.1242086887359619 0.42788279056549072 0.0042302310466766357 +1.1436949968338013 0.58894902467727661 0.19443526864051819 +1.0895076990127563 0.4348873496055603 0.17788568139076233 +1.0383292436599731 0.54425668716430664 0.078779160976409912 +1.1631813049316406 0.75001519918441772 0.38464030623435974 +1.1826677322387695 0.91108143329620361 0.57484537363052368 +1.1324142217636108 0.75939875841140747 0.54414272308349609 +1.0656776428222656 0.86473280191421509 0.45004719495773315 +1.1089940071105957 0.59595352411270142 0.36809071898460388 +1.0157029628753662 0.42757365107536316 0.50849747657775879 +1.0480940341949463 0.4316122829914093 0.36484548449516296 +1.0687328577041626 0.57960247993469238 0.52688705921173096 +1.0461913347244263 0.7036665678024292 0.2598421573638916 +0.82832133769989014 0.79134070873260498 0.21965551376342773 +0.93206322193145752 0.82261085510253906 0.31946122646331787 +0.92309290170669556 0.67764711380004883 0.15366137027740479 +1.1437984704971313 0.90623509883880615 0.74722778797149658 +1.0465736389160156 0.73547613620758057 0.90178751945495605 +1.0826665163040161 0.73997634649276733 0.74171817302703857 +0.99956345558166504 0.85669636726379395 0.80395400524139404 +0.9493488073348999 0.56471723318099976 1.0563473701477051 +0.8521239161491394 0.39395833015441895 1.2109071016311646 +0.89261704683303833 0.41222685575485229 1.054375171661377 +0.79765772819519043 0.52537316083908081 1.1052045822143555 +0.98544168472290039 0.56921744346618652 0.89627790451049805 +0.96873164176940918 0.4084973931312561 0.69375985860824585 +1.0189852714538574 0.56018006801605225 0.72446250915527344 +0.93403065204620361 0.4155019223690033 0.86741530895233154 +0.89488261938095093 0.69613206386566162 0.950644850730896 +0.67284435033798218 0.77195537090301514 0.90918517112731934 +0.72795659303665161 0.66496503353118896 0.99413865804672241 +0.82180327177047729 0.81232339143753052 0.85974061489105225 +0.79376834630966187 0.22804579138755798 1.1930844783782959 +0.77428197860717773 0.066979587078094482 1.0028793811798096 +0.82846927642822266 0.22104126214981079 1.0194289684295654 +0.68840253353118896 0.18335345387458801 1.0774283409118652 +0.7547956109046936 -0.094086587429046631 0.81267440319061279 +0.73530924320220947 -0.25515282154083252 0.62246936559677124 +0.78556275367736816 -0.10347020626068115 0.65317195653915405 +0.63919746875762939 -0.12893050909042358 0.7014622688293457 +0.8089829683303833 0.059975028038024902 0.82922399044036865 +0.90227401256561279 0.22835493087768555 0.68881720304489136 +0.86988294124603271 0.2243162989616394 0.83246922492980957 +0.84924411773681641 0.076326131820678711 0.67042762041091919 +0.65868383646011353 0.032135695219039917 0.89166736602783203 +0.42029744386672974 0.11547327041625977 0.83378386497497559 +0.52692520618438721 0.0053534209728240967 0.77919614315032959 +0.5522879958152771 0.14417299628257751 0.94851946830749512 +1.077663779258728 1.034623384475708 0.64528352022171021 +0.84816950559616089 1.1206412315368652 0.59595483541488647 +0.90958034992218018 1.0014235973358154 0.69061732292175293 +0.95479732751846313 1.010521411895752 0.54136711359024048 +0.61867529153823853 1.2066590785980225 0.54662621021270752 +0.38918101787567139 1.2926769256591797 0.49729752540588379 +0.46341782808303833 1.178518533706665 0.58636176586151123 +0.50307714939117432 1.1718151569366455 0.43541407585144043 +0.68008607625961304 1.0874414443969727 0.64128869771957397 +0.58758515119552612 0.90751183032989502 0.80313014984130859 +0.73182016611099243 0.95705056190490723 0.74640393257141113 +0.53311896324157715 1.0389266014099121 0.69742774963378906 +0.73257136344909668 1.0857973098754883 0.48474276065826416 +0.7041928768157959 0.92205089330673218 0.28598296642303467 +0.61831343173980713 1.0384247303009033 0.36053186655044556 +0.82118284702301025 0.9683995246887207 0.41078111529350281 +0.0002816319465637207 0.60964137315750122 1.1155366897583008 +0.22977590560913086 0.52362352609634399 1.164865255355835 +0.16836509108543396 0.64284133911132812 1.0702028274536133 +0.10690945386886597 0.49952152371406555 1.0609488487243652 +0.45927011966705322 0.43760567903518677 1.2141940593719482 +0.68876439332962036 0.35158783197402954 1.2635226249694824 +0.61452758312225342 0.46574628353118896 1.174458384513855 +0.55677378177642822 0.3228880763053894 1.1487870216369629 +0.39785933494567871 0.55682343244552612 1.1195313930511475 +0.49036028981208801 0.73675298690795898 0.95769000053405762 +0.3461252748966217 0.68721425533294678 1.0144162178039551 +0.5448264479637146 0.60533809661865234 1.0633924007415771 +0.32727956771850586 0.40890592336654663 1.0994584560394287 +0.31691735982894897 0.25243747234344482 0.92007249593734741 +0.42065924406051636 0.28370761871337891 1.0198781490325928 +0.21918171644210815 0.36523759365081787 0.98321503400802612 +0.61081898212432861 -0.29267698526382446 0.50270247459411621 +0.38132470846176147 -0.20665913820266724 0.45337381958961487 +0.53301572799682617 -0.16731506586074829 0.40451651811599731 +0.50419116020202637 -0.18255710601806641 0.55729025602340698 +0.15183049440383911 -0.12064129114151001 0.40404513478279114 +-0.077663779258728027 -0.034623444080352783 0.35471647977828979 +0.077593684196472168 -0.0064828395843505859 0.31498092412948608 +0.054326802492141724 -0.0059236884117126465 0.46945202350616455 +0.30352145433425903 -0.081297218799591064 0.35518783330917358 +0.40431278944015503 0.078258216381072998 0.20974978804588318 +0.45942503213882446 -0.028732061386108398 0.29470330476760864 +0.25377923250198364 0.040947049856185913 0.25676709413528442 +0.28382104635238647 -0.091941535472869873 0.51878070831298828 +0.29418325424194336 0.064526915550231934 0.6981666088104248 +0.19044137001037598 0.033256798982620239 0.59836089611053467 +0.39191889762878418 -0.048273205757141113 0.63502407073974609 +0.31123560667037964 0.64841216802597046 -0.2635226845741272 +0.54072988033294678 0.56239432096481323 -0.21419399976730347 +0.38903886079788208 0.52305024862289429 -0.16533666849136353 +0.43410205841064453 0.67251420021057129 -0.1596062183380127 +0.77022409439086914 0.47637647390365601 -0.16486531496047974 +0.99971836805343628 0.39035862684249878 -0.11553663015365601 +0.84446084499359131 0.36221802234649658 -0.07580101490020752 +0.88582223653793335 0.51122033596038818 -0.053653180599212646 +0.61853313446044922 0.43703240156173706 -0.11600798368453979 +0.51774179935455322 0.277476966381073 0.02943006157875061 +0.4626295268535614 0.38446727395057678 -0.055523455142974854 +0.66827535629272461 0.31478816270828247 -0.017587244510650635 +0.65632796287536621 0.59723818302154541 -0.10298186540603638 +0.68470650911331177 0.76098471879959106 0.095777928829193115 +0.77058595418930054 0.64461082220077515 0.021229028701782227 +0.56771647930145264 0.71463608741760254 -0.029020249843597412 +-0.16906863451004028 0.074750542640686035 0.3371812105178833 +-0.10487747192382812 0.25725430250167847 0.35678607225418091 +-0.11739706993103027 0.17637503147125244 0.27399659156799316 +-0.15071356296539307 0.17222100496292114 0.42175295948982239 +-0.046521902084350586 0.42316687107086182 0.37460869550704956 +0.011833727359771729 0.58907943964004517 0.39243131875991821 +-0.00068581104278564453 0.50820016860961914 0.30964183807373047 +-0.034002304077148438 0.50404614210128784 0.45739820599555969 +-0.054641187191009521 0.35605597496032715 0.29535660147666931 +-0.017395853996276855 0.34748011827468872 0.10712379217147827 +-0.064384400844573975 0.27552282810211182 0.20025411248207092 +-0.0076526403427124023 0.42801323533058167 0.20222631096839905 +-0.096758186817169189 0.32436525821685791 0.43603819608688354 +-0.13400357961654663 0.33294111490249634 0.62427103519439697 +-0.087014973163604736 0.40489834547042847 0.53114068508148193 +-0.14374673366546631 0.25240796804428101 0.52916848659515381 +0.070189297199249268 0.75499200820922852 0.41025397181510925 +0.12854492664337158 0.92090451717376709 0.42807659506797791 +0.11602535843849182 0.84002530574798584 0.34528711438179016 +0.082708865404129028 0.83587127923965454 0.493043452501297 +0.18690049648284912 1.0868170261383057 0.44589921832084656 +0.25109165906906128 1.2693208456039429 0.46550410985946655 +0.23273658752441406 1.1718504428863525 0.38093236088752747 +0.19942006468772888 1.1676963567733765 0.52868872880935669 +0.17878121137619019 1.0197062492370605 0.36664712429046631 +0.21602660417556763 1.0111303329467773 0.17841428518295288 +0.16903799772262573 0.93917304277420044 0.27154460549354553 +0.2257697582244873 1.0916633605957031 0.27351680397987366 +0.13666424155235291 0.98801547288894653 0.50732868909835815 +0.099418848752975464 0.99659126996994019 0.69556152820587158 +0.14640742540359497 1.0685485601425171 0.60243117809295654 +0.089675664901733398 0.91605818271636963 0.60045897960662842 +0.062070012092590332 0.68788105249404907 0.331001877784729 +0.099315375089645386 0.67930519580841064 0.14276906847953796 +0.054871201515197754 0.60577666759490967 0.22132197022438049 +0.10743468999862671 0.74641615152359009 0.22202113270759583 +0.13818460702896118 0.68415158987045288 -0.029613375663757324 +0.18094080686569214 0.68948256969451904 -0.21923398971557617 +0.13260969519615173 0.61546933650970459 -0.1234428882598877 +0.1826288104057312 0.75768017768859863 -0.10816633701324463 +0.097674280405044556 0.61300206184387207 0.03478655219078064 +0.031216591596603394 0.43285956978797913 0.029843926429748535 +0.049061834812164307 0.52762258052825928 0.11206644773483276 +0.079829037189483643 0.51823902130126953 -0.047435998916625977 +0.1398257315158844 0.75045478343963623 0.078369170427322388 +0.20628339052200317 0.93059724569320679 0.083311766386032104 +0.18843817710876465 0.83583420515060425 0.001089245080947876 +0.15767097473144531 0.84521776437759399 0.16059166193008423 +0.019953012466430664 0.65619033575057983 0.47168344259262085 +-0.017292380332946777 0.66476619243621826 0.65991628170013428 +0.027151823043823242 0.73829472064971924 0.58136332035064697 +-0.025411665439605713 0.59765529632568359 0.58066415786743164 +-0.056161582469940186 0.6599198579788208 0.8322986364364624 +-0.098917782306671143 0.65458887815475464 1.0219192504882812 +-0.050586700439453125 0.72860205173492432 0.92612814903259277 +-0.10060578584671021 0.58639127016067505 0.91085159778594971 +-0.015651226043701172 0.73106938600540161 0.7678987979888916 +0.050806432962417603 0.91121184825897217 0.77284139394760132 +0.032961189746856689 0.81644880771636963 0.69061887264251709 +0.0021939873695373535 0.82583236694335938 0.85012125968933105 +-0.057802677154541016 0.59361666440963745 0.72431612014770508 +-0.12426036596298218 0.41347420215606689 0.71937358379364014 +-0.10641515254974365 0.50823718309402466 0.80159604549407959 +-0.075647950172424316 0.49885362386703491 0.64209365844726562 +1.1690685749053955 0.92524945735931396 0.6628187894821167 +1.1048774719238281 0.74274569749832153 0.64321392774581909 +1.1507135629653931 0.82777899503707886 0.5782470703125 +1.1173970699310303 0.82362496852874756 0.72600340843200684 +1.0465219020843506 0.57683312892913818 0.62539130449295044 +0.98816627264022827 0.41092056035995483 0.60756868124008179 +1.0340023040771484 0.49595385789871216 0.5426018238067627 +1.0006858110427856 0.49179983139038086 0.69035816192626953 +1.0870321989059448 0.64798265695571899 0.56099140644073486 +1.1340036392211914 0.66705888509750366 0.37572899460792542 +1.1356446743011475 0.73336213827133179 0.48371151089668274 +1.0853911638259888 0.58167946338653564 0.45300889015197754 +1.0643670558929443 0.67159610986709595 0.70761382579803467 +1.0173958539962769 0.65251988172531128 0.89287620782852173 +1.0157546997070312 0.58621668815612793 0.78489375114440918 +1.0660083293914795 0.73789936304092407 0.81559634208679199 +0.92981070280075073 0.24500802159309387 0.58974599838256836 +0.87145507335662842 0.07909548282623291 0.57192337512969971 +0.91729116439819336 0.16412872076034546 0.50695651769638062 +0.88397467136383057 0.15997472405433655 0.65471291542053223 +0.81309950351715088 -0.086817085742950439 0.55410075187683105 +0.74890834093093872 -0.26932084560394287 0.53449589014053345 +0.80057990550994873 -0.16769635677337646 0.47131127119064331 +0.76726341247558594 -0.17185038328170776 0.61906766891479492 +0.85360980033874512 -0.015667557716369629 0.48970085382461548 +0.90058112144470215 0.0034087300300598145 0.30443847179412842 +0.90222227573394775 0.069711923599243164 0.41242098808288574 +0.85196870565414429 -0.081970751285552979 0.38171836733818054 +0.83094477653503418 0.0079458951950073242 0.63632333278656006 +0.78397339582443237 -0.011130332946777344 0.82158571481704712 +0.78233230113983154 -0.077433526515960693 0.71360319852828979 +0.83258581161499023 0.074249088764190674 0.74430584907531738 +0.97032105922698975 0.31615754961967468 0.52534610033035278 +1.0172923803329468 0.33523380756378174 0.34008374810218811 +1.0228672027587891 0.40391600131988525 0.43391320109367371 +0.97678196430206299 0.26408427953720093 0.40448364615440369 +1.056161642074585 0.34008017182350159 0.16770133376121521 +1.0989177227020264 0.34541112184524536 -0.02191925048828125 +1.1006057262420654 0.41360872983932495 0.089148372411727905 +1.0505867004394531 0.27139794826507568 0.073871821165084839 +1.0642809867858887 0.40719109773635864 0.24695342779159546 +1.124260425567627 0.58652579784393311 0.28062644600868225 +1.0740240812301636 0.4877241849899292 0.34205594658851624 +1.1145172119140625 0.50599271059036255 0.18552395701408386 +1.0091730356216431 0.26812291145324707 0.26083162426948547 +0.94919359683990479 0.088788151741027832 0.22715860605239868 +0.99942988157272339 0.18758979439735413 0.16572913527488708 +0.95893675088882446 0.16932126879692078 0.32226109504699707 +0.94765591621398926 0.33977103233337402 0.67196857929229736 +0.90068459510803223 0.32069477438926697 0.85723090171813965 +0.89510971307754517 0.25201255083084106 0.76340150833129883 +0.94119501113891602 0.39184430241584778 0.79283106327056885 +0.86181539297103882 0.31584841012954712 1.0296133756637573 +0.81905919313430786 0.31051743030548096 1.2192339897155762 +0.8173711895942688 0.24231985211372375 1.1081663370132446 +0.86739027500152588 0.38453066349029541 1.1234428882598877 +0.85369604825973511 0.24873751401901245 0.95036125183105469 +0.79371660947799683 0.069402754306793213 0.91668820381164551 +0.84395289421081543 0.16820439696311951 0.85525870323181152 +0.8034597635269165 0.14993590116500854 1.0117907524108887 +0.90880393981933594 0.38780570030212402 0.93648302555084229 +0.96878337860107422 0.56714046001434326 0.97015607357025146 +0.91854709386825562 0.46833878755569458 1.0315855741500854 +0.95904022455215454 0.48660731315612793 0.87505358457565308 +-0.049121618270874023 0.66959851980209351 1.0698261260986328 +0.13057386875152588 0.71620607376098633 1.0119490623474121 +0.020550638437271118 0.75004446506500244 0.99456638097763062 +0.077237516641616821 0.63999724388122559 1.0819470882415771 +0.29393339157104492 0.75857663154602051 0.95933341979980469 +0.45729294419288635 0.80094712972640991 0.90671783685684204 +0.34726971387863159 0.83478546142578125 0.8893352746963501 +0.40395659208297729 0.72473829984664917 0.97671604156494141 +0.19831079244613647 0.79441738128662109 0.93877977132797241 +0.11305156350135803 0.92997390031814575 0.83272480964660645 +0.083563685417175293 0.83742630481719971 0.91411542892456055 +0.2277987003326416 0.88696497678756714 0.85738915205001831 +0.22619646787643433 0.68036532402038574 1.0325026512145996 +0.31145566701889038 0.54480880498886108 1.1385575532913208 +0.34094357490539551 0.63735640048980713 1.0571669340133667 +0.19670853018760681 0.5878177285194397 1.1138932704925537 +0.62065249681472778 0.84331768751144409 0.85410231351852417 +0.7840120792388916 0.8856881856918335 0.80148673057556152 +0.67398881912231445 0.91952651739120483 0.7841041088104248 +0.73067569732666016 0.80947935581207275 0.87148487567901611 +0.94737160205841064 0.92805874347686768 0.74887120723724365 +1.1270670890808105 0.9746662974357605 0.69099408388137817 +1.0007078647613525 1.0042675733566284 0.67887306213378906 +1.0573947429656982 0.89422035217285156 0.76625382900238037 +0.85174894332885742 0.96389949321746826 0.72831755876541138 +0.76648974418640137 1.0994560718536377 0.62226259708404541 +0.73700189590454102 1.0069084167480469 0.70365321636199951 +0.88123691082000732 1.0564470291137695 0.64692699909210205 +0.87963461875915527 0.84984743595123291 0.8220403790473938 +0.9648938775062561 0.71429091691970825 0.92809534072875977 +0.99438178539276123 0.8068385124206543 0.84670472145080566 +0.85014671087265015 0.75729984045028687 0.9034309983253479 +0.52502989768981934 0.87915849685668945 0.83354866504669189 +0.43977066874504089 1.0147149562835693 0.7274937629699707 +0.40282678604125977 0.93236196041107178 0.80101537704467773 +0.53539323806762695 0.97887420654296875 0.7480473518371582 +0.37363597750663757 1.1431033611297607 0.62554949522018433 +0.30088779330253601 1.2843306064605713 0.51341086626052856 +0.27055737376213074 1.1891387701034546 0.59712690114974976 +0.4105798602104187 1.2254563570022583 0.55202788114547729 +0.33312562108039856 1.0719537734985352 0.68994945287704468 +0.16166400909423828 1.0153534412384033 0.75544500350952148 +0.2845132052898407 0.98657435178756714 0.76722931861877441 +0.21027642488479614 1.1007328033447266 0.67816507816314697 +0.48028099536895752 1.0858645439147949 0.66309380531311035 +0.65174263715744019 1.1424648761749268 0.59759831428527832 +0.52889347076416016 1.1712439060211182 0.58581393957138062 +0.60313022136688232 1.0570855140686035 0.67487818002700806 +0.55291557312011719 0.76510632038116455 0.92727148532867432 +0.63817477226257324 0.62954986095428467 1.0333263874053955 +0.67511868476867676 0.71190285682678223 0.95980477333068848 +0.54255217313766479 0.66539061069488525 1.012772798538208 +0.70430946350097656 0.50116145610809326 1.1352705955505371 +0.77705764770507812 0.35993427038192749 1.2474093437194824 +0.8073880672454834 0.4551260769367218 1.1636931896209717 +0.66736555099487305 0.4188084602355957 1.2087922096252441 +0.74481981992721558 0.57231098413467407 1.0708706378936768 +0.91628146171569824 0.62891143560409546 1.0053751468658447 +0.79343223571777344 0.65769046545028687 0.9935908317565918 +0.86766898632049561 0.54353201389312744 1.0826550722122192 +0.59766441583633423 0.55840027332305908 1.0977263450622559 +0.42620277404785156 0.50179988145828247 1.1632218360900879 +0.54905200004577637 0.47302085161209106 1.1750061511993408 +0.47481521964073181 0.58717930316925049 1.0859420299530029 +-0.12706708908081055 0.025333702564239502 0.30900591611862183 +0.052628427743911743 0.071941256523132324 0.25112879276275635 +-0.00070792436599731445 -0.004267573356628418 0.32112696766853333 +-0.057394742965698242 0.10577961802482605 0.23374620079994202 +0.21598795056343079 0.1143118143081665 0.19851323962211609 +0.37934750318527222 0.15668231248855591 0.14589768648147583 +0.32601118087768555 0.080473482608795166 0.21589586138725281 +0.26932430267333984 0.19052067399024963 0.1285150945186615 +0.17547762393951416 0.043162286281585693 0.26291313767433167 +0.23351025581359863 -0.09945601224899292 0.3777373731136322 +0.12686517834663391 -0.0422171950340271 0.34019303321838379 +0.28212267160415649 -0.014076590538024902 0.30045747756958008 +0.093138784170150757 0.14309081435203552 0.18672889471054077 +0.035106122493743896 0.28570908308029175 0.071904689073562622 +0.14175119996070862 0.22847026586532593 0.10944902896881104 +-0.013506293296813965 0.20032966136932373 0.14918458461761475 +0.54270708560943604 0.19905287027359009 0.093282163143157959 +0.70606660842895508 0.24142336845397949 0.0406666100025177 +0.65273028612136841 0.16521450877189636 0.11066475510597229 +0.59604340791702271 0.27526170015335083 0.023283988237380981 +0.86942613124847412 0.28379389643669128 -0.011949002742767334 +1.049121618270874 0.33040148019790649 -0.069826066493988037 +0.97944939136505127 0.24995556473731995 0.0054336190223693848 +0.92276251316070557 0.36000275611877441 -0.081947147846221924 +0.82891577482223511 0.21264436841011047 0.052450954914093018 +0.88694846630096436 0.070026099681854248 0.16727516055107117 +0.78030335903167725 0.12726491689682007 0.12973082065582275 +0.93556082248687744 0.15540552139282227 0.089995265007019043 +0.74657696485519409 0.31257292628288269 -0.023733317852020264 +0.68854433298110962 0.45519119501113892 -0.1385575532913208 +0.79518938064575195 0.3979523777961731 -0.10101318359375 +0.63993191719055176 0.3698117733001709 -0.061277687549591064 +0.50219672918319702 0.12790331244468689 0.15768206119537354 +0.56022936105728149 -0.014714956283569336 0.27250626683235168 +0.45715075731277466 0.031320393085479736 0.24408367276191711 +0.60073971748352051 0.056434571743011475 0.20810636878013611 +0.62636399269104004 -0.14310336112976074 0.37445050477981567 +0.6991121768951416 -0.28433054685592651 0.48658913373947144 +0.5894201397895813 -0.2254563570022583 0.44797214865684509 +0.72944259643554688 -0.18913877010345459 0.40287306904792786 +0.53074145317077637 -0.10726261138916016 0.3538968563079834 +0.34825736284255981 -0.14246493577957153 0.40240171551704407 +0.4159943163394928 -0.064253687858581543 0.32923254370689392 +0.46300449967384338 -0.18547385931015015 0.42706605792045593 +0.65585196018218994 -0.050555706024169922 0.29305988550186157 +0.83833599090576172 -0.015353381633758545 0.2445550262928009 +0.77059900760650635 -0.093564629554748535 0.31772419810295105 +0.72358888387680054 0.027655541896820068 0.21989071369171143 +0.41985785961151123 0.22783187031745911 0.081497788429260254 +0.36182522773742676 0.37045016884803772 -0.033326387405395508 +0.46490383148193359 0.32441478967666626 -0.0049038529396057129 +0.32131487131118774 0.29930061101913452 0.031073480844497681 +0.29569053649902344 0.49883854389190674 -0.13527065515518188 +0.22294238209724426 0.64006572961807251 -0.24740928411483765 +0.33263441920280457 0.5811915397644043 -0.20879226922988892 +0.19261196255683899 0.54487395286560059 -0.16369324922561646 +0.39131313562393188 0.46299776434898376 -0.11471706628799438 +0.57379722595214844 0.49820011854171753 -0.16322183609008789 +0.50606024265289307 0.41998884081840515 -0.09005272388458252 +0.45905008912086487 0.54120904207229614 -0.18788617849349976 +0.26620262861251831 0.40629091858863831 -0.053880035877227783 +0.083718568086624146 0.37108856439590454 -0.005375206470489502 +0.15145552158355713 0.44929987192153931 -0.078544378280639648 +0.19846570491790771 0.32807964086532593 0.019289135932922363 +0.31643551588058472 1.2862690687179565 0.44445788860321045 +0.43193984031677246 1.1503728628158569 0.36697590351104736 +0.32608488202095032 1.1960620880126953 0.35086634755134583 +0.4327908456325531 1.2282257080078125 0.45352363586425781 +0.53694379329681396 1.0268309116363525 0.29653772711753845 +0.64194774627685547 0.90328884124755859 0.22609952092170715 +0.53609275817871094 0.94897806644439697 0.20998996496200562 +0.64279872179031372 0.98114162683486938 0.31264728307723999 +0.44132116436958313 1.0626716613769531 0.27598410844802856 +0.29770636558532715 1.0323156118392944 0.15210652351379395 +0.32657405734062195 1.1056805849075317 0.2513197660446167 +0.41245347261428833 0.98930668830871582 0.17677086591720581 +0.52756243944168091 1.1145321130752563 0.38752952218055725 +0.67117726802825928 1.144888162612915 0.51140707731246948 +0.64230954647064209 1.0715231895446777 0.41219383478164673 +0.55643010139465332 1.1878969669342041 0.48674273490905762 +0.74695169925689697 0.77974677085876465 0.15566137433052063 +0.85195565223693848 0.65620476007461548 0.085223168134689331 +0.74610066413879395 0.70189398527145386 0.069113612174987793 +0.85280662775039673 0.73405754566192627 0.17177093029022217 +0.95695954561233521 0.53266274929046631 0.01478499174118042 +1.0724638700485229 0.39676648378372192 -0.062696993350982666 +0.95610857009887695 0.45480990409851074 -0.071762800216674805 +1.062814474105835 0.48697352409362793 0.030894577503204346 +0.86133694648742676 0.56850349903106689 -0.0057685971260070801 +0.71772211790084839 0.5381474494934082 -0.12964624166488647 +0.74658983945846558 0.61151242256164551 -0.030432939529418945 +0.83246922492980957 0.49513855576515198 -0.10498189926147461 +0.94757819175720215 0.62036401033401489 0.10577678680419922 +1.0911929607391357 0.65072000026702881 0.22965437173843384 +1.0623253583908081 0.5773550271987915 0.1304410994052887 +0.97644591331481934 0.69372892379760742 0.20499002933502197 +0.65132904052734375 0.81558758020401001 0.13510775566101074 +0.50771427154541016 0.78523153066635132 0.011230140924453735 +0.52495765686035156 0.85694020986557007 0.10130137205123901 +0.6033368706703186 0.74939078092575073 0.031783759593963623 +0.38322395086288452 0.74770736694335938 -0.10853666067123413 +0.2462846040725708 0.70643079280853271 -0.24028021097183228 +0.27597710490226746 0.78189188241958618 -0.13823229074478149 +0.36598047614097595 0.67599868774414062 -0.1986079216003418 +0.39134326577186584 0.81481826305389404 -0.02928459644317627 +0.2879631519317627 0.95178252458572388 0.057004034519195557 +0.40108644962310791 0.89535140991210938 0.065817952156066895 +0.27821999788284302 0.87124937772750854 -0.038098514080047607 +0.49959492683410645 0.71812063455581665 -0.068021893501281738 +0.60297501087188721 0.58115637302398682 -0.15431052446365356 +0.48985174298286438 0.63758754730224609 -0.1631244421005249 +0.61271816492080688 0.66168951988220215 -0.0592079758644104 +0.73757034540176392 0.86744803190231323 0.24665313959121704 +0.88118517398834229 0.89780408143997192 0.37053072452545166 +0.86394166946411133 0.82609540224075317 0.28045952320098877 +0.78556251525878906 0.93364489078521729 0.34997713565826416 +1.0056754350662231 0.93532824516296387 0.4902975857257843 +1.1426148414611816 0.97660481929779053 0.62204110622406006 +1.1129223108291626 0.90114378929138184 0.51999324560165405 +1.0229189395904541 1.0070369243621826 0.58036881685256958 +0.99755609035491943 0.8682173490524292 0.41104549169540405 +1.1009361743927002 0.73125308752059937 0.32475686073303223 +0.98781293630599976 0.78768420219421387 0.31594297289848328 +1.1106793880462646 0.8117862343788147 0.41985940933227539 +0.88930445909500122 0.96491497755050659 0.44978281855583191 +0.78592437505722046 1.1018791198730469 0.53607141971588135 +0.8990476131439209 1.0454480648040771 0.54488533735275269 +0.77618122100830078 1.0213460922241211 0.44096890091896057 +0.68356448411941528 -0.28626906871795654 0.55554211139678955 +0.56806015968322754 -0.15037286281585693 0.63302409648895264 +0.56720912456512451 -0.2282257080078125 0.54647636413574219 +0.67391514778137207 -0.19606208801269531 0.64913368225097656 +0.46305623650550842 -0.026830852031707764 0.70346224308013916 +0.35805228352546692 0.096711188554763794 0.77390050888061523 +0.35720127820968628 0.018858373165130615 0.68735271692276001 +0.46390724182128906 0.051021933555603027 0.79001003503799438 +0.4549369215965271 -0.093941748142242432 0.6242101788520813 +0.32882273197174072 -0.14488810300827026 0.48859292268753052 +0.44519373774528503 -0.17447489500045776 0.52910768985748291 +0.33856591582298279 -0.064355015754699707 0.58369541168212891 +0.57617950439453125 -0.083261966705322266 0.71227622032165527 +0.70229363441467285 -0.032315611839294434 0.84789347648620605 +0.58592265844345093 -0.002728879451751709 0.80737870931625366 +0.69255048036575317 -0.11284869909286499 0.75279092788696289 +0.25304833054542542 0.22025319933891296 0.84433865547180176 +0.14804437756538391 0.34379523992538452 0.91477680206298828 +0.14719337224960327 0.26594245433807373 0.82822906970977783 +0.25389933586120605 0.29810601472854614 0.93088638782501221 +0.043040454387664795 0.46733725070953369 0.98521500825881958 +-0.072463870048522949 0.60323351621627808 1.0626969337463379 +-0.062814474105834961 0.51302647590637207 0.96910542249679565 +0.043891459703445435 0.54519009590148926 1.0717628002166748 +0.034921139478683472 0.40022635459899902 0.90596288442611694 +-0.091193020343780518 0.34927999973297119 0.77034562826156616 +0.025177955627441406 0.31969323754310608 0.81086039543151855 +-0.08144986629486084 0.42981308698654175 0.86544817686080933 +0.15616369247436523 0.41090616583824158 0.99402892589569092 +0.28227788209915161 0.46185252070426941 1.1296463012695312 +0.1659068763256073 0.49143925309181213 1.0891314744949341 +0.27253469824790955 0.38131940364837646 1.0345437526702881 +0.24492901563644409 0.15314227342605591 0.76508653163909912 +0.1188148558139801 0.10219591856002808 0.62946927547454834 +0.22606170177459717 0.068011462688446045 0.6591649055480957 +0.12693417072296143 0.16930684447288513 0.70872139930725098 +-0.0056754350662231445 0.064671754837036133 0.50970244407653809 +-0.14261478185653687 0.023395180702209473 0.37795889377593994 +-0.022918939590454102 -0.0070369243621826172 0.41963118314743042 +-0.1129223108291626 0.098856240510940552 0.48000678420066833 +0.089947164058685303 0.028831005096435547 0.53025603294372559 +0.21407562494277954 -0.10187917947769165 0.46392858028411865 +0.20469427108764648 -0.014177918434143066 0.55492037534713745 +0.099328488111495972 -0.058870255947113037 0.43926423788070679 +0.023192256689071655 0.13803669810295105 0.60891568660736084 +-0.10093623399734497 0.26874691247940063 0.67524313926696777 +-0.091554880142211914 0.18104562163352966 0.58425134420394897 +0.013810932636260986 0.22573795914649963 0.69990748167037964 +0.36617159843444824 0.16382211446762085 0.8531525731086731 +0.49228575825691223 0.21476846933364868 0.98876988887786865 +0.38503891229629517 0.2489529550075531 0.95907419919967651 +0.48416644334793091 0.14765754342079163 0.90951776504516602 +0.61677604913711548 0.25229263305664062 1.1085367202758789 +0.7537153959274292 0.29356920719146729 1.2402801513671875 +0.63401949405670166 0.32400131225585938 1.1986079216003418 +0.72402286529541016 0.21810811758041382 1.1382322311401367 +0.52115345001220703 0.28813338279724121 1.0879831314086914 +0.39702498912811279 0.4188435971736908 1.1543104648590088 +0.40640634298324585 0.33114230632781982 1.0633187294006348 +0.51177215576171875 0.37583467364311218 1.1789748668670654 +0.58790838718414307 0.17892768979072571 1.0093234777450562 +0.7120368480682373 0.048217475414276123 0.94299596548080444 +0.70265543460845947 0.13591876626014709 1.0339877605438232 +0.59728968143463135 0.091226428747177124 0.91833162307739258 +0.26956233382225037 1.2954193353652954 0.42508190870285034 +0.2598191499710083 1.2148861885070801 0.32997938990592957 +0.24200838804244995 1.225885272026062 0.43202102184295654 +0.32368814945220947 1.2470705509185791 0.40571326017379761 +0.25007596611976624 1.1343531608581543 0.23487687110900879 +0.24033278226852417 1.0538201332092285 0.13977435231208801 +0.21279609203338623 1.037166953086853 0.23884555697441101 +0.30257794260978699 1.0725821256637573 0.19965779781341553 +0.23874342441558838 1.1461598873138428 0.30818811058998108 +0.18365278840065002 1.0599727630615234 0.41419839859008789 +0.2031046450138092 1.1152768135070801 0.42013928294181824 +0.19983971118927002 1.0355515480041504 0.29630637168884277 +0.29319661855697632 1.1602833271026611 0.29064959287643433 +0.41956794261932373 1.1189308166503906 0.32445594668388367 +0.38394761085510254 1.0841760635375977 0.26365193724632263 +0.3936907947063446 1.164709210395813 0.35875445604324341 +0.23058962821960449 0.97328698635101318 0.044671863317489624 +0.22084644436836243 0.89275383949279785 -0.050430715084075928 +0.20141181349754333 0.89033067226409912 0.03576052188873291 +0.30221611261367798 0.90434777736663818 0.013563483953475952 +0.21110326051712036 0.81222075223922729 -0.14553320407867432 +0.2013600766658783 0.73168766498565674 -0.24063575267791748 +0.18030160665512085 0.71584230661392212 -0.17029500007629395 +0.26198136806488037 0.73702758550643921 -0.19660270214080811 +0.1997707188129425 0.82402747869491577 -0.072221994400024414 +0.1458325982093811 0.72476428747177124 0.0056248605251312256 +0.16413193941116333 0.79314446449279785 0.039729207754135132 +0.15438875555992126 0.71261143684387207 -0.055373311042785645 +0.25422388315200806 0.83815097808837891 -0.089760482311248779 +0.38647168874740601 0.77455174922943115 -0.076835811138153076 +0.34497490525245667 0.76204371452331543 -0.11675810813903809 +0.33721739053726196 0.86316710710525513 -0.0099159479141235352 +0.21925705671310425 0.98509371280670166 0.11798307299613953 +0.15976619720458984 0.88513815402984619 0.22045594453811646 +0.19172036647796631 0.96844059228897095 0.21705424785614014 +0.18035334348678589 0.8744853138923645 0.10610130429267883 +0.11670652031898499 0.80045104026794434 0.2731097936630249 +0.066941589117050171 0.72814762592315674 0.3785531222820282 +0.086393445730209351 0.78345179557800293 0.38449400663375854 +0.084752351045608521 0.71714860200881958 0.27651149034500122 +0.14148408174514771 0.86963897943496704 0.27848371863365173 +0.1486828625202179 0.95174336433410645 0.38816359639167786 +0.17390960454940796 0.97943961620330811 0.31909584999084473 +0.1252971887588501 0.89406019449234009 0.39637577533721924 +0.13498863577842712 0.81595027446746826 0.21508204936981201 +0.11551952362060547 0.70776504278182983 0.11700907349586487 +0.10256311297416687 0.70614957809448242 0.17446988821029663 +0.16090145707130432 0.81918114423751831 0.10016044974327087 +0.27371025085449219 0.99921721220016479 0.10044455528259277 +0.41508215665817261 0.94021570682525635 0.12418830394744873 +0.34533673524856567 0.93027806282043457 0.069336175918579102 +0.35670375823974609 1.024233341217041 0.18028911948204041 +0.50320446491241455 0.91319936513900757 0.14977321028709412 +0.62957584857940674 0.87184667587280273 0.18357959389686584 +0.59395551681518555 0.83709204196929932 0.12277558445930481 +0.60369867086410522 0.91762512922286987 0.2178780734539032 +0.4617077112197876 0.90069127082824707 0.10985091328620911 +0.45923283696174622 0.80941629409790039 0.0074527859687805176 +0.39621484279632568 0.85508483648300171 0.018266677856445312 +0.51096194982528687 0.8120759129524231 0.04293099045753479 +0.46820318698883057 0.95438003540039062 0.17325261235237122 +0.49869471788406372 1.041167140007019 0.2883162796497345 +0.53369605541229248 0.99998646974563599 0.2648368775844574 +0.39820054173469543 1.0367413759231567 0.22021138668060303 +0.17218229174613953 0.64873135089874268 -0.24954706430435181 +0.12356984615325928 0.56335192918777466 -0.17226719856262207 +0.16084975004196167 0.66053813695907593 -0.17623579502105713 +0.21335169672966003 0.59876710176467896 -0.21145486831665039 +0.074957430362701416 0.47797247767448425 -0.094987273216247559 +0.026345014572143555 0.39259302616119385 -0.017707347869873047 +0.057146668434143066 0.48897147178649902 0.0070543885231018066 +0.10802477598190308 0.41377830505371094 -0.044015169143676758 +0.10251137614250183 0.54750657081604004 -0.10192638635635376 +0.12198048830032349 0.65569174289703369 -0.0038534402847290039 +0.13493689894676208 0.6573072075843811 -0.061314225196838379 +0.076598525047302246 0.54427564144134521 0.012995243072509766 +0.1375126838684082 0.50632590055465698 -0.12540578842163086 +0.2666604220867157 0.46531939506530762 -0.10391241312026978 +0.20882907509803772 0.42779541015625 -0.066212177276611328 +0.25744149088859558 0.51317483186721802 -0.14349210262298584 +-0.022267401218414307 0.30721354484558105 0.059572517871856689 +-0.070879817008972168 0.22183412313461304 0.13685241341590881 +-0.041702032089233398 0.30479037761688232 0.14576375484466553 +0.029924452304840088 0.2358512282371521 0.11465537548065186 +-0.1194922924041748 0.13645464181900024 0.21413230895996094 +-0.16810464859008789 0.051075220108032227 0.29141220450401306 +-0.14702898263931274 0.11980152130126953 0.31320351362228394 +-0.094527006149291992 0.058030545711517334 0.27798441052436829 +-0.091938316822052002 0.20598876476287842 0.20719316601753235 +-0.084739565849304199 0.28809314966201782 0.31687307357788086 +-0.059512794017791748 0.31578940153121948 0.24780535697937012 +-0.10812520980834961 0.23040997982025146 0.32508525252342224 +-0.056936979293823242 0.16480809450149536 0.18371379375457764 +0.068832576274871826 0.10040110349655151 0.22536885738372803 +0.014379382133483887 0.086277574300765991 0.24290734529495239 +0.051969349384307861 0.19305509328842163 0.14863675832748413 +0.0052865147590637207 0.37674766778945923 0.052633404731750488 +0.020821809768676758 0.48255383968353271 0.16485941410064697 +0.03608819842338562 0.4731261134147644 0.077395170927047729 +-0.020626306533813477 0.3735167384147644 0.16755503416061401 +0.024772882461547852 0.53781390190124512 0.24283847212791443 +0.031971663236618042 0.61991822719573975 0.35251834988594055 +0.057198405265808105 0.64761447906494141 0.28345060348510742 +0.0085859894752502441 0.56223505735397339 0.36073049902915955 +0.03772929310798645 0.53942930698394775 0.18537765741348267 +0.091667413711547852 0.63869249820709229 0.10753080248832703 +0.073368072509765625 0.57031232118606567 0.073426514863967896 +0.083111226558685303 0.65084540843963623 0.16852900385856628 +0.0053210258483886719 0.48250967264175415 0.23689758777618408 +-0.04976963996887207 0.39632248878479004 0.34290784597396851 +-0.030317723751068115 0.45162671804428101 0.34884873032569885 +-0.033582687377929688 0.37190133333206177 0.22501581907272339 +0.04028785228729248 0.33556699752807617 0.029154002666473389 +0.17888337373733521 0.27621930837631226 0.065210819244384766 +0.092479705810546875 0.26420462131500244 0.084236860275268555 +0.14919418096542358 0.36381399631500244 -0.0059230327606201172 +0.28418272733688354 0.25155156850814819 0.07531169056892395 +0.3955516517162323 0.1851421594619751 0.12013772130012512 +0.34109848737716675 0.17101863026618958 0.13767623901367188 +0.37058639526367188 0.26356625556945801 0.056285649538040161 +0.21532890200614929 0.23542562127113342 0.096021205186843872 +0.17028295993804932 0.13884273171424866 0.18242281675338745 +0.11744499206542969 0.18578052520751953 0.14808893203735352 +0.23219209909439087 0.14277160167694092 0.17275327444076538 +0.24773716926574707 0.29234525561332703 0.044501274824142456 +0.32357621192932129 0.38478648662567139 -0.041547834873199463 +0.34562107920646667 0.34199035167694092 -0.0075664520263671875 +0.20364737510681152 0.37793752551078796 -0.023461520671844482 +-0.18753933906555176 0.048652052879333496 0.37760341167449951 +-0.1777961254119873 0.12918514013290405 0.4727059006690979 +-0.15998536348342896 0.11818611621856689 0.37066429853439331 +-0.12691801786422729 0.053991973400115967 0.42163640260696411 +-0.16805291175842285 0.20971822738647461 0.56780844926834106 +-0.15830975770950317 0.29025137424468994 0.66291093826293945 +-0.13077306747436523 0.30690443515777588 0.56383973360061646 +-0.10580778121948242 0.22848033905029297 0.62769186496734619 +-0.15672039985656738 0.19791150093078613 0.49449720978736877 +-0.10162973403930664 0.28409868478775024 0.38848692178726196 +-0.12108159065246582 0.22879451513290405 0.38254603743553162 +-0.11781668663024902 0.30851989984512329 0.50637894868850708 +-0.13467550277709961 0.15511542558670044 0.52847862243652344 +-0.0096960067749023438 0.10225802659988403 0.54869890213012695 +-0.034181296825408936 0.15954115986824036 0.59658348560333252 +-0.043924450874328613 0.0790080726146698 0.50148093700408936 +-0.1485666036605835 0.3707844614982605 0.75801348686218262 +-0.13882339000701904 0.45131754875183105 0.85311603546142578 +-0.11938881874084473 0.45374074578285217 0.76692479848861694 +-0.067196905612945557 0.38237836956977844 0.82200765609741211 +-0.12908023595809937 0.53185063600540161 0.94821846485137939 +-0.11933708190917969 0.61238378286361694 1.0433210134506226 +-0.098278582096099854 0.62822914123535156 0.97298026084899902 +-0.065211236476898193 0.56403493881225586 1.0239523649215698 +-0.11774766445159912 0.52004390954971313 0.87490725517272949 +-0.063809573650360107 0.61930710077285767 0.79706048965454102 +-0.082108914852142334 0.55092692375183105 0.76295614242553711 +-0.072365760803222656 0.63146001100540161 0.8580586314201355 +-0.095702767372131348 0.47724780440330505 0.90888869762420654 +0.039792716503143311 0.4404928982257843 0.95351415872573853 +0.0047914087772369385 0.48167356848716736 0.97699356079101562 +-0.025700151920318604 0.39488643407821655 0.86192989349365234 +-0.13723403215408325 0.35897773504257202 0.68470227718353271 +-0.077743172645568848 0.45893323421478271 0.5822293758392334 +-0.10969734191894531 0.37563079595565796 0.58563107252120972 +-0.098330318927764893 0.4695860743522644 0.69658398628234863 +-0.034683465957641602 0.54362034797668457 0.52957552671432495 +0.015081435441970825 0.61592382192611694 0.42413216829299927 +-0.0043704509735107422 0.56061959266662598 0.41819131374359131 +-0.0027292966842651367 0.6269228458404541 0.52617383003234863 +-0.059461057186126709 0.47443243861198425 0.52420157194137573 +-0.066659867763519287 0.39232802391052246 0.41452169418334961 +-0.091886579990386963 0.3646317720413208 0.48358944058418274 +-0.043274164199829102 0.45001125335693359 0.40630954504013062 +-0.052965641021728516 0.52812117338180542 0.58760327100753784 +-0.033496499061584473 0.63630640506744385 0.6856762170791626 +-0.020540058612823486 0.63792181015014648 0.62821543216705322 +-0.078878462314605713 0.52489030361175537 0.70252490043640137 +-0.11518913507461548 0.31618160009384155 0.71868366003036499 +0.027574658393859863 0.26868480443954468 0.75601351261138916 +-0.033819496631622314 0.32777553796768188 0.78267776966094971 +-0.045186519622802734 0.23382025957107544 0.67172485589981079 +0.12453746795654297 0.22031527757644653 0.76356828212738037 +0.24980062246322632 0.19340884685516357 0.8126378059387207 +0.21479928493499756 0.23458951711654663 0.83611714839935303 +0.18593159317970276 0.16122457385063171 0.73690396547317505 +0.0793038010597229 0.27134442329406738 0.79149174690246582 +0.098171114921569824 0.35647526383399963 0.89741337299346924 +0.030049562454223633 0.35995978116989136 0.85841166973114014 +0.14479666948318481 0.31695085763931274 0.88307595252990723 +0.072808325290679932 0.21765565872192383 0.72809004783630371 +0.080565810203552246 0.11653223633766174 0.62124782800674438 +0.1220625638961792 0.12904030084609985 0.66117012500762939 +-0.01018524169921875 0.19263958930969238 0.64824545383453369 +-0.090159296989440918 0.69534003734588623 1.0522322654724121 +-0.041546821594238281 0.78071951866149902 0.97495245933532715 +-0.078826725482940674 0.68353331089019775 0.97892105579376221 +-0.016581594944000244 0.70229536294937134 1.0388045310974121 +0.0070655941963195801 0.86609894037246704 0.89767253398895264 +0.055678009986877441 0.95147836208343506 0.8203926682472229 +0.02487635612487793 0.85509991645812988 0.79563093185424805 +0.088745355606079102 0.88728421926498413 0.87136483192443848 +-0.020488321781158447 0.79656487703323364 0.90461170673370361 +-0.03995746374130249 0.68837964534759521 0.80653870105743408 +-0.052913904190063477 0.6867641806602478 0.86399948596954346 +0.00542449951171875 0.79979574680328369 0.78969007730484009 +0.021008431911468506 0.80907291173934937 0.94453394412994385 +0.14321151375770569 0.75586938858032227 0.97706723213195801 +0.14093723893165588 0.8159218430519104 0.92644762992858887 +0.092324823141098022 0.73054242134094238 1.0037275552749634 +0.1042904257774353 1.0368578433990479 0.74311280250549316 +0.15290287137031555 1.1222372055053711 0.66583287715911865 +0.12372505664825439 1.0392810106277466 0.65692156553268433 +0.20509475469589233 1.0508749485015869 0.72091573476791382 +0.20151528716087341 1.2076168060302734 0.58855301141738892 +0.25012770295143127 1.2929961681365967 0.5112730860710144 +0.22905200719833374 1.2242698669433594 0.48948180675506592 +0.29129713773727417 1.2430319786071777 0.54936522245407104 +0.173961341381073 1.13808274269104 0.59549212455749512 +0.16676256060600281 1.0559782981872559 0.48581221699714661 +0.14153581857681274 1.0282819271087646 0.55487996339797974 +0.19014823436737061 1.113661527633667 0.47760006785392761 +0.21545812487602234 1.1505906581878662 0.63541436195373535 +0.35743182897567749 1.1146435737609863 0.65130949020385742 +0.33538693189620972 1.1574397087097168 0.61732804775238037 +0.2595478892326355 1.0649983882904053 0.70337718725204468 +0.076736509799957275 0.96732378005981445 0.75005191564559937 +0.061201214790344238 0.86151754856109619 0.63782590627670288 +0.045934826135635376 0.8709452748298645 0.72529017925262451 +0.10264933109283447 0.9705546498298645 0.63513028621673584 +0.057250142097473145 0.80625754594802856 0.55984681844711304 +0.050051361322402954 0.72415316104888916 0.4501669704914093 +0.024824619293212891 0.6964569091796875 0.51923471689224243 +0.073437035083770752 0.78183639049530029 0.44195479154586792 +0.044293731451034546 0.80464208126068115 0.61730766296386719 +-0.0096443891525268555 0.70537889003753662 0.69515454769134521 +0.0086549520492553711 0.77375912666320801 0.72925877571105957 +-0.0010882019996643066 0.69322597980499268 0.63415628671646118 +0.076701998710632324 0.86156171560287476 0.56578773260116577 +0.13179263472557068 0.94774889945983887 0.45977744460105896 +0.1123407781124115 0.89244472980499268 0.45383656024932861 +0.11560574173927307 0.97217011451721191 0.57766950130462646 +0.11823326349258423 0.97983181476593018 0.7899741530418396 +0.26377344131469727 0.93268120288848877 0.81499099731445312 +0.21903753280639648 0.99384891986846924 0.76777714490890503 +0.16232305765151978 0.89423954486846924 0.85793697834014893 +0.34772750735282898 0.89381396770477295 0.83930283784866333 +0.46993061900138855 0.84061038494110107 0.87183618545532227 +0.46765631437301636 0.90066289901733398 0.82121652364730835 +0.4190438985824585 0.81528341770172119 0.89849638938903809 +0.32568261027336121 0.93661010265350342 0.80532145500183105 +0.38712102174758911 1.0270488262176514 0.72244328260421753 +0.30881941318511963 1.0292640924453735 0.72858935594558716 +0.42356652021408081 0.98625516891479492 0.75325369834899902 +0.29327434301376343 0.87969040870666504 0.8568413257598877 +0.25568434596061707 0.77291291952133179 0.95111191272735596 +0.310137540102005 0.78703641891479492 0.93357342481613159 +0.18436795473098755 0.85144340991973877 0.89191842079162598 +0.74987232685089111 -0.29299616813659668 0.48872688412666321 +0.7984846830368042 -0.20761674642562866 0.41144698858261108 +0.77094799280166626 -0.22426986694335938 0.51051819324493408 +0.70870286226272583 -0.24303191900253296 0.45063474774360657 +0.84709715843200684 -0.12223726511001587 0.33416709303855896 +0.8957095742225647 -0.036857843399047852 0.25688719749450684 +0.87789881229400635 -0.025858819484710693 0.3589288592338562 +0.81402981281280518 -0.058043122291564941 0.28319498896598816 +0.826038658618927 -0.13808268308639526 0.40450787544250488 +0.82930362224578857 -0.05835723876953125 0.52834081649780273 +0.80985176563262939 -0.11366146802902222 0.52239996194839478 +0.86494237184524536 -0.027474284172058105 0.41638964414596558 +0.78454184532165527 -0.15059071779251099 0.36458560824394226 +0.65539419651031494 -0.10958421230316162 0.34309226274490356 +0.71322548389434814 -0.072060227394104004 0.30539202690124512 +0.66461306810379028 -0.1574397087097168 0.38267195224761963 +0.94432199001312256 0.048521637916564941 0.1796073317527771 +0.99293440580368042 0.13390105962753296 0.10232743620872498 +0.97349977493286133 0.13147789239883423 0.18851864337921143 +0.89213013648986816 0.1198839545249939 0.12452447414398193 +1.0415468215942383 0.21928051114082336 0.025047510862350464 +1.0901592969894409 0.30465996265411377 -0.052232325077056885 +1.0788266658782959 0.31646668910980225 0.021078914403915405 +1.0165815353393555 0.29770463705062866 -0.038804531097412109 +1.0204882621765137 0.20343512296676636 0.095388323068618774 +1.0346317291259766 0.29773658514022827 0.19402822852134705 +1.0043014287948608 0.2278563380241394 0.21328037977218628 +1.0529139041900635 0.3132358193397522 0.13600048422813416 +0.97899156808853149 0.19092708826065063 0.055466055870056152 +0.85322201251983643 0.25533407926559448 0.013810992240905762 +0.90767514705657959 0.26945757865905762 -0.0037275552749633789 +0.87008523941040039 0.16268008947372437 0.090543091297149658 +0.92326349020004272 0.032676219940185547 0.24994808435440063 +0.93185412883758545 0.1262853741645813 0.37321406602859497 +0.90545272827148438 0.043675243854522705 0.35198974609375 +0.96216726303100586 0.14328461885452271 0.26182985305786133 +0.94715011119842529 0.20751079916954041 0.44369053840637207 +0.94601482152938843 0.27346783876419067 0.56398606300354004 +0.92656296491622925 0.21816363930702209 0.55804520845413208 +0.97355151176452637 0.29012089967727661 0.46491488814353943 +0.92329800128936768 0.13843828439712524 0.43421226739883423 +0.87075173854827881 0.050679802894592285 0.52564519643783569 +0.87791603803634644 0.027022182941436768 0.45106092095375061 +0.88765919208526611 0.10755527019500732 0.54616343975067139 +0.95570623874664307 0.19535791873931885 0.38269233703613281 +1.0140446424484253 0.30838942527770996 0.30838289856910706 +1.0010881423950195 0.30677399039268494 0.36584371328353882 +0.98161911964416504 0.1985887885093689 0.26777070760726929 +0.88176673650741577 0.020168185234069824 0.2100258469581604 +0.74317121505737305 0.07951587438583374 0.17396903038024902 +0.82957488298416138 0.091530561447143555 0.15494298934936523 +0.77286040782928467 -0.0080788135528564453 0.24510288238525391 +0.63787186145782471 0.1041836142539978 0.16386815905570984 +0.52650290727615356 0.1705930233001709 0.11904212832450867 +0.5809561014175415 0.18471655249595642 0.10150361061096191 +0.55146819353103638 0.092168927192687988 0.18289420008659363 +0.70672565698623657 0.12030956149101257 0.14315864443778992 +0.75177162885665894 0.21689245104789734 0.056757032871246338 +0.80460953712463379 0.16995462775230408 0.091090917587280273 +0.68986248970031738 0.21296355128288269 0.066426575183868408 +0.67431735992431641 0.06338992714881897 0.19467857480049133 +0.59847837686538696 -0.029051303863525391 0.28072771430015564 +0.57643347978591919 0.013744831085205078 0.24674630165100098 +0.71840721368789673 -0.02220231294631958 0.26264137029647827 +1.1193370819091797 0.38761621713638306 -0.043321013450622559 +1.1290802955627441 0.46814936399459839 0.051781505346298218 +1.0982785224914551 0.37177085876464844 0.027019709348678589 +1.065211296081543 0.43596506118774414 -0.023952364921569824 +1.138823390007019 0.54868245124816895 0.14688399434089661 +1.1485666036605835 0.6292155385017395 0.24198654294013977 +1.1112866401672363 0.53202939033508301 0.2459551990032196 +1.0863214731216431 0.61045348644256592 0.18210309743881226 +1.1177476644515991 0.47995609045028687 0.12509271502494812 +1.0594093799591064 0.36692452430725098 0.19940215349197388 +1.0723657608032227 0.36853998899459839 0.1419413685798645 +1.0918347835540771 0.47672516107559204 0.24001431465148926 +1.0957027673721313 0.52275216579437256 0.091111302375793457 +0.96933144330978394 0.56410485506057739 0.057304948568344116 +1.0049517154693604 0.59885954856872559 0.11810892820358276 +0.99520862102508545 0.51832640171051025 0.023006439208984375 +1.1583096981048584 0.70974862575531006 0.33708903193473816 +1.1680529117584229 0.79028177261352539 0.43219158053398132 +1.1388751268386841 0.70732545852661133 0.42328023910522461 +1.0866832733154297 0.77868783473968506 0.36819741129875183 +1.1777961254119873 0.87081485986709595 0.5272940993309021 +1.1875393390655518 0.9513479471206665 0.62239658832550049 +1.1599853038787842 0.88181388378143311 0.62933570146560669 +1.1269180774688721 0.94600802659988403 0.57836359739303589 +1.1567203998565674 0.80208849906921387 0.50550282001495361 +1.1041741371154785 0.71433001756668091 0.5969356894493103 +1.1113383769989014 0.69067239761352539 0.52235144376754761 +1.1210815906524658 0.77120548486709595 0.61745399236679077 +1.1346755027770996 0.84488457441329956 0.47152137756347656 +1.0024276971817017 0.90848392248153687 0.45859676599502563 +1.0439244508743286 0.92099189758300781 0.49851903319358826 +1.0516819953918457 0.81986850500106812 0.39167684316635132 +1.1372339725494385 0.64102226495742798 0.31529775261878967 +1.0763512849807739 0.52956199645996094 0.40418457984924316 +1.0999541282653809 0.54383611679077148 0.31926640868186951 +1.1113212108612061 0.63779139518737793 0.4302193820476532 +1.0400092601776123 0.47026336193084717 0.46985754370689392 +0.98746299743652344 0.3825049102306366 0.561290442943573 +0.99462723731994629 0.35884729027748108 0.4867061972618103 +1.0043704509735107 0.43938037753105164 0.58180868625640869 +1.0529656410217285 0.47187882661819458 0.41239672899246216 +1.0388221740722656 0.37757736444473267 0.3137567937374115 +1.0691524744033813 0.44745764136314392 0.29450467228889465 +1.0205399990081787 0.36207818984985352 0.37178456783294678 +1.0594611167907715 0.52556753158569336 0.47579842805862427 +1.0627260208129883 0.6052929162979126 0.59963130950927734 +1.0432741641998291 0.54998874664306641 0.59369045495986938 +1.0983648300170898 0.63617593050003052 0.48768016695976257 +1.1151890754699707 0.68381839990615845 0.28131633996963501 +0.97381722927093506 0.74281990528106689 0.25757259130477905 +1.043562650680542 0.75275754928588867 0.31242471933364868 +1.0321955680847168 0.65880227088928223 0.20147180557250977 +0.88569486141204834 0.76983624696731567 0.23198768496513367 +0.75932353734970093 0.81118893623352051 0.19818130135536194 +0.79494386911392212 0.84594357013702393 0.25898531079292297 +0.78520071506500244 0.76541048288345337 0.16388282179832458 +0.92719167470932007 0.78234434127807617 0.27190995216369629 +0.92966651916503906 0.87361931800842285 0.37430810928344727 +0.99268454313278198 0.82795077562332153 0.36349421739578247 +0.8779374361038208 0.87095969915390015 0.33882990479469299 +0.9206961989402771 0.72865557670593262 0.20850828289985657 +0.89020466804504395 0.6418684720993042 0.093444615602493286 +0.85520333051681519 0.68304914236068726 0.11692401766777039 +0.99069881439208984 0.6462942361831665 0.16154950857162476 +1.1681046485900879 0.94892477989196777 0.70858776569366455 +1.1194922924041748 0.86354535818099976 0.78586769104003906 +1.147028923034668 0.88019847869873047 0.68679648637771606 +1.094527006149292 0.94196945428848267 0.7220156192779541 +1.0708798170089722 0.77816587686538696 0.86314761638641357 +1.0222673416137695 0.69278645515441895 0.94042748212814331 +1.0400781631469727 0.68178743124008179 0.83838582038879395 +0.98920005559921265 0.75698059797286987 0.88945531845092773 +1.0919382572174072 0.79401123523712158 0.79280686378479004 +1.0886733531951904 0.71428585052490234 0.66897392272949219 +1.1081252098083496 0.76959002017974854 0.67491471767425537 +1.0530345439910889 0.6834028959274292 0.78092503547668457 +1.0569369792938232 0.83519190549850464 0.81628620624542236 +0.93473386764526367 0.88839542865753174 0.7837529182434082 +0.93700820207595825 0.82834291458129883 0.83437252044677734 +0.98562061786651611 0.91372239589691162 0.75709265470504761 +0.97365498542785645 0.60740697383880615 1.017707347869873 +0.92504256963729858 0.52202749252319336 1.0949872732162476 +0.94447720050811768 0.52445071935653687 1.0087959766387939 +0.87285065650939941 0.59338986873626709 1.0399043560028076 +0.87643015384674072 0.43664807081222534 1.1722671985626221 +0.82781767845153809 0.35126864910125732 1.249547004699707 +0.83915024995803833 0.33946186304092407 1.1762357950210571 +0.78664827346801758 0.40123289823532104 1.2114548683166504 +0.89748859405517578 0.45249342918395996 1.101926326751709 +0.88334524631500244 0.35819196701049805 1.0032864809036255 +0.91367554664611816 0.42807221412658691 0.98403429985046387 +0.86506307125091553 0.3426927924156189 1.0613142251968384 +0.8624873161315918 0.49367409944534302 1.1254057884216309 +0.72051358222961426 0.52962130308151245 1.1095106601715088 +0.74255847930908203 0.48682516813278198 1.1434921026229858 +0.81839752197265625 0.57926636934280396 1.0574429035186768 +0.99471348524093628 0.62325233221054077 0.94736659526824951 +0.98612284660339355 0.52964323759078979 0.82410061359405518 +1.0125242471694946 0.61225330829620361 0.84532499313354492 +0.95580971240997314 0.51264393329620361 0.93548482656478882 +0.97082686424255371 0.4484177827835083 0.75362414121627808 +0.97196215391159058 0.38246074318885803 0.63332861661911011 +0.99141401052474976 0.43776494264602661 0.63926947116851807 +0.94442546367645264 0.36580765247344971 0.73239982128143311 +0.99467897415161133 0.51749032735824585 0.76310241222381592 +1.0472252368927002 0.60524880886077881 0.67166948318481445 +1.0400609970092773 0.62890642881393433 0.74625378847122192 +1.0303177833557129 0.54837328195571899 0.65115129947662354 +0.96227073669433594 0.46057069301605225 0.81462234258651733 +0.90393233299255371 0.34753912687301636 0.8889317512512207 +0.9168887734413147 0.34915459156036377 0.83147096633911133 +0.93635785579681396 0.45733976364135742 0.92954397201538086 +0.95971214771270752 0.66443300247192383 0.97084599733352661 +0.81417202949523926 0.71158361434936523 0.94582915306091309 +0.85890787839889526 0.65041589736938477 0.99304300546646118 +0.91562235355377197 0.75002527236938477 0.90288317203521729 +0.73021793365478516 0.75045084953308105 0.92151731252670288 +0.60801482200622559 0.80365443229675293 0.88898396492004395 +0.61028909683227539 0.74360191822052002 0.93960362672805786 +0.65890151262283325 0.82898139953613281 0.86232376098632812 +0.75226283073425293 0.70765471458435059 0.95549869537353516 +0.69082438945770264 0.61721599102020264 1.0383768081665039 +0.76912605762481689 0.61500072479248047 1.0322308540344238 +0.65437889099121094 0.65800964832305908 1.0075664520263672 +0.78467106819152832 0.76457440853118896 0.90397882461547852 +0.82226109504699707 0.87135183811187744 0.80970823764801025 +0.76780790090560913 0.85722839832305908 0.82724672555923462 +0.8935774564743042 0.79282140731811523 0.86890172958374023 +0.79863989353179932 0.26831233501434326 1.2406357526779175 +0.78889673948287964 0.18777924776077271 1.1455332040786743 +0.81969839334487915 0.28415769338607788 1.1702950000762939 +0.73801863193511963 0.26297241449356079 1.1966027021408081 +0.77915358543395996 0.10724616050720215 1.0504307746887207 +0.76941037178039551 0.026713013648986816 0.95532810688018799 +0.8066902756690979 0.12389922142028809 0.95135951042175293 +0.71690845489501953 0.088484048843383789 0.99054723978042603 +0.80022931098937988 0.17597252130508423 1.0722219944000244 +0.85856765508651733 0.28900405764579773 0.99791252613067627 +0.84561121463775635 0.28738859295845032 1.0553733110427856 +0.82614213228225708 0.17920339107513428 0.95730036497116089 +0.74577611684799194 0.16184899210929871 1.0897605419158936 +0.62079662084579468 0.21470636129379272 1.06954026222229 +0.64528191089630127 0.1574232280254364 1.0216555595397949 +0.65502512454986572 0.23795631527900696 1.1167581081390381 +0.75966721773147583 -0.05382007360458374 0.86022567749023438 +0.74992406368255615 -0.1343531608581543 0.76512312889099121 +0.77910184860229492 -0.051396846771240234 0.77403444051742554 +0.67829751968383789 -0.065413951873779297 0.79623150825500488 +0.7401808500289917 -0.21488624811172485 0.67002058029174805 +0.73043763637542725 -0.29541933536529541 0.57491809129714966 +0.75799161195755005 -0.22588527202606201 0.56797897815704346 +0.67631185054779053 -0.24707049131393433 0.59428673982620239 +0.76125657558441162 -0.14615988731384277 0.69181191921234131 +0.81380283832550049 -0.058401405811309814 0.60037899017333984 +0.80663853883743286 -0.034743785858154297 0.67496323585510254 +0.79689538478851318 -0.11527687311172485 0.57986074686050415 +0.70680338144302368 -0.16028338670730591 0.70935040712356567 +0.57130789756774902 -0.12352854013442993 0.66472494602203369 +0.60630917549133301 -0.16470921039581299 0.64124554395675659 +0.63680076599121094 -0.077922046184539795 0.75630921125411987 +0.78074294328689575 0.01490628719329834 0.88201689720153809 +0.84162569046020508 0.12636655569076538 0.79313015937805176 +0.81802278757095337 0.11209249496459961 0.87804830074310303 +0.80665576457977295 0.018137216567993164 0.76709532737731934 +0.87796777486801147 0.18566519021987915 0.72745716571807861 +0.93051397800445557 0.27342367172241211 0.63602423667907715 +0.92334973812103271 0.29708129167556763 0.71060848236083984 +0.91360652446746826 0.21654820442199707 0.61550599336624146 +0.86501133441925049 0.18404975533485413 0.78491795063018799 +0.87915480136871338 0.27835118770599365 0.88355791568756104 +0.84882450103759766 0.20847094058990479 0.90280997753143311 +0.89743685722351074 0.29385039210319519 0.82553011178970337 +0.85851591825485229 0.13036102056503296 0.72151625156402588 +0.85525095462799072 0.050635635852813721 0.5976833701133728 +0.8747028112411499 0.10593980550765991 0.60362422466278076 +0.81961214542388916 0.019752681255340576 0.70963454246520996 +0.72628974914550781 0.00078278779983520508 0.89955544471740723 +0.58352595567703247 0.04827958345413208 0.86222559213638306 +0.64492011070251465 -0.010811150074005127 0.83556133508682251 +0.65628713369369507 0.083144128322601318 0.94651424884796143 +0.48656314611434937 0.096649110317230225 0.85467088222503662 +0.36129999160766602 0.12355554103851318 0.80560129880905151 +0.39630132913589478 0.082374870777130127 0.78212189674377441 +0.42516902089118958 0.15573981404304504 0.88133513927459717 +0.53179681301116943 0.045619964599609375 0.82674741744995117 +0.51292949914932251 -0.039510846138000488 0.72082573175430298 +0.5810510516166687 -0.0429953932762146 0.75982743501663208 +0.46630394458770752 1.3530254364013672e-05 0.73516309261322021 +0.5382922887802124 0.09930872917175293 0.89014911651611328 +0.53053480386734009 0.20043215155601501 0.99699127674102783 +0.48903805017471313 0.1879240870475769 0.9570690393447876 +0.62128579616546631 0.12432479858398438 0.96999365091323853 +1.1350373029708862 1.0131189823150635 0.65761566162109375 +1.0202901363372803 1.0561279058456421 0.63295137882232666 +1.0724821090698242 0.98476552963256836 0.68803417682647705 +1.0919166803359985 0.98718869686126709 0.60184299945831299 +0.90554308891296387 1.0991368293762207 0.60828703641891479 +0.79079592227935791 1.1421457529067993 0.58362269401550293 +0.8157612681388855 1.0637216567993164 0.64747476577758789 +0.84329795837402344 1.0803747177124023 0.54840356111526489 +0.94671249389648438 1.0491725206375122 0.64637917280197144 +0.9091225266456604 0.94239503145217896 0.7406497597694397 +0.96357572078704834 0.95651853084564209 0.72311127185821533 +0.83780616521835327 1.0209255218505859 0.68145620822906494 +0.95966893434524536 1.0507880449295044 0.58891838788986206 +0.95719403028488159 0.95951300859451294 0.4865202009677887 +0.89417606592178345 1.0051815509796143 0.49733409285545349 +1.0089231729507446 0.96217262744903564 0.52199840545654297 +0.6760488748550415 1.1851546764373779 0.55895835161209106 +0.56130170822143555 1.2281635999679565 0.5342940092086792 +0.59436905384063721 1.1639693975448608 0.58526611328125 +0.61217981576919556 1.1529704332351685 0.48322448134422302 +0.44655460119247437 1.2711725234985352 0.50962966680526733 +0.3318074643611908 1.3141814470291138 0.48496535420417786 +0.34575030207633972 1.2571554183959961 0.53182673454284668 +0.36518493294715881 1.2595785856246948 0.44563549757003784 +0.48772403597831726 1.2212082147598267 0.54772180318832397 +0.42628562450408936 1.1307694911956787 0.6305999755859375 +0.50458717346191406 1.1285542249679565 0.62445390224456787 +0.38984009623527527 1.1715631484985352 0.59978955984115601 +0.50068044662475586 1.2228237390518188 0.4902610182762146 +0.47018885612487793 1.1360366344451904 0.37519735097885132 +0.43518757820129395 1.1772172451019287 0.39867675304412842 +0.5706830620765686 1.1404623985290527 0.4433022141456604 +0.71721827983856201 1.1351903676986694 0.59705048799514771 +0.66522765159606934 1.0264103412628174 0.69449210166931152 +0.74218356609344482 1.0567662715911865 0.66090261936187744 +0.60831189155578613 1.1069433689117432 0.63212752342224121 +0.60716742277145386 0.95937216281890869 0.75720852613449097 +0.58240342140197754 0.85765397548675537 0.84588086605072021 +0.63685661554336548 0.87177747488021851 0.82834231853485107 +0.53021156787872314 0.9290163516998291 0.79079800844192505 +0.67444658279418945 0.97855496406555176 0.73407173156738281 +0.79664969444274902 0.92535150051116943 0.76660501956939697 +0.79437541961669922 0.98540401458740234 0.71598541736602783 +0.74576300382614136 0.90002453327178955 0.79326534271240234 +0.59794855117797852 1.0072276592254639 0.7176288366317749 +0.45597481727600098 1.0431747436523438 0.70173376798629761 +0.47801971435546875 1.0003786087036133 0.73571515083312988 +0.55385869741439819 1.0928199291229248 0.64966601133346558 +0.73017466068267822 1.1368058919906616 0.53958970308303833 +0.70991545915603638 1.0401701927185059 0.4200819730758667 +0.66630566120147705 1.1046216487884521 0.46385583281517029 +0.80017733573913574 1.0544445514678955 0.49263089895248413 +0.71795660257339478 0.96499776840209961 0.34208899736404419 +0.68019676208496094 0.88895249366760254 0.23432096838951111 +0.64519548416137695 0.93013322353363037 0.25780037045478821 +0.7615664005279541 0.90054643154144287 0.2983151376247406 +0.67568701505661011 1.0169203281402588 0.37286403775215149 +0.54931563138961792 1.0582729578018188 0.33905768394470215 +0.58493602275848389 1.0930275917053223 0.39986169338226318 +0.57519280910491943 1.0124945640563965 0.30475917458534241 +0.75218510627746582 0.98824763298034668 0.3893069326877594 +0.88443291187286377 0.9246484637260437 0.40223157405853271 +0.84293609857559204 0.9121403694152832 0.36230927705764771 +0.83517861366271973 1.0132638216018677 0.46915152668952942 +-0.057091951370239258 0.63114583492279053 1.1032044887542725 +0.057655215263366699 0.58813691139221191 1.1278688907623291 +0.005463331937789917 0.65949928760528564 1.0727859735488892 +-0.023714423179626465 0.57654297351837158 1.0638747215270996 +0.17240232229232788 0.5451279878616333 1.1525331735610962 +0.28714945912361145 0.50211906433105469 1.1771974563598633 +0.26218417286872864 0.5805431604385376 1.1133453845977783 +0.22490429878234863 0.48335698246955872 1.1173141002655029 +0.13123291730880737 0.5950922966003418 1.11444091796875 +0.16882288455963135 0.70186978578567505 1.0201704502105713 +0.1143697202205658 0.68774628639221191 1.0377089977264404 +0.24013927578926086 0.62333929538726807 1.0793639421463013 +0.11178106069564819 0.53978812694549561 1.1085001230239868 +0.09291374683380127 0.45465722680091858 1.0025784969329834 +0.16103529930114746 0.45117270946502686 1.0415802001953125 +0.046288192272186279 0.49418163299560547 1.0169157981872559 +0.40189656615257263 0.45911014080047607 1.2018618583679199 +0.5166437029838562 0.41610121726989746 1.226526141166687 +0.48357635736465454 0.48029541969299316 1.1755540370941162 +0.45277470350265503 0.3839169442653656 1.1507923603057861 +0.63139081001281738 0.37309229373931885 1.2511904239654541 +0.74613797664642334 0.33008337020874023 1.2758548259735107 +0.73219513893127441 0.38710939884185791 1.2289934158325195 +0.70301735401153564 0.30415311455726624 1.2200820446014404 +0.59022140502929688 0.42305657267570496 1.2130982875823975 +0.65165984630584717 0.51349532604217529 1.1302201747894287 +0.57335823774337769 0.51571059226989746 1.1363662481307983 +0.68810534477233887 0.47270163893699646 1.1610305309295654 +0.5707695484161377 0.36775240302085876 1.2071574926376343 +0.57852703332901001 0.2666289210319519 1.1003152132034302 +0.62002378702163696 0.27913698554039001 1.14023756980896 +0.4877760112285614 0.34273624420166016 1.1273128986358643 +0.36072716116905212 0.50907444953918457 1.1637697219848633 +0.41271775960922241 0.61785435676574707 1.0663280487060547 +0.33576187491416931 0.58749854564666748 1.0999176502227783 +0.46963351964950562 0.53732144832611084 1.128692626953125 +0.47077798843383789 0.68489265441894531 1.0036115646362305 +0.49554198980331421 0.78661084175109863 0.914939284324646 +0.44108879566192627 0.7724873423576355 0.93247783184051514 +0.5477338433265686 0.7152484655380249 0.97002214193344116 +0.40349882841110229 0.66570979356765747 1.0267484188079834 +0.28129571676254272 0.71891331672668457 0.99421513080596924 +0.28357002139091492 0.65886086225509644 1.0448348522186279 +0.33218243718147278 0.74424028396606445 0.96755480766296387 +0.47999691963195801 0.63703721761703491 1.0431913137435913 +0.62197065353393555 0.60109001398086548 1.0590863227844238 +0.599925696849823 0.64388614892959595 1.0251049995422363 +0.52408671379089355 0.55144494771957397 1.1111540794372559 +0.34127527475357056 0.45377025008201599 1.1578288078308105 +0.33740854263305664 0.35099053382873535 1.0418446063995361 +0.39215341210365295 0.37857705354690552 1.1067593097686768 +0.25828176736831665 0.42875412106513977 1.0779842138290405 +0.32178893685340881 0.29270404577255249 0.96762371063232422 +0.30292162299156189 0.20757317543029785 0.8617020845413208 +0.37104317545890808 0.20408865809440613 0.9007037878036499 +0.2562960684299469 0.24709758162498474 0.87603950500488281 +0.36328572034835815 0.30521208047866821 1.0075459480285645 +0.48826521635055542 0.25235471129417419 1.027766227722168 +0.46377989649772644 0.30963784456253052 1.0756509304046631 +0.45403671264648438 0.22910478711128235 0.98054838180541992 +0.28678762912750244 0.33388471603393555 0.99110317230224609 +0.1512921154499054 0.3706396222114563 0.94647765159606934 +0.18629342317581177 0.32945895195007324 0.92299830913543701 +0.2167850136756897 0.41624605655670166 1.0380618572235107 +0.66819250583648682 -0.31418144702911377 0.51503467559814453 +0.55344539880752563 -0.27117252349853516 0.49037033319473267 +0.65424966812133789 -0.25715541839599609 0.46817326545715332 +0.63481509685516357 -0.25957858562469482 0.55436450242996216 +0.43869829177856445 -0.22816359996795654 0.4657059907913208 +0.32395115494728088 -0.18515467643737793 0.44104164838790894 +0.41373300552368164 -0.14973950386047363 0.40185388922691345 +0.3861963152885437 -0.16639256477355957 0.50092506408691406 +0.51227593421936035 -0.22120821475982666 0.45227819681167603 +0.58811497688293457 -0.12876707315444946 0.36622905731201172 +0.61015987396240234 -0.17156314849853516 0.40021044015884399 +0.46818619966506958 -0.1356160044670105 0.3843153715133667 +0.49931955337524414 -0.22282373905181885 0.5097389817237854 +0.51818686723709106 -0.13769286870956421 0.61566060781478882 +0.45006531476974487 -0.1342083215713501 0.57665890455245972 +0.56481242179870605 -0.17721724510192871 0.60132324695587158 +0.2092040479183197 -0.14214575290679932 0.41637730598449707 +0.094456911087036133 -0.099136829376220703 0.39171296358108521 +0.17613667249679565 -0.077951550483703613 0.36540520191192627 +0.1583259105682373 -0.06695258617401123 0.46744683384895325 +-0.020290195941925049 -0.05612790584564209 0.36704862117767334 +-0.13503730297088623 -0.013118982315063477 0.34238430857658386 +-0.072482109069824219 0.015234470367431641 0.31196582317352295 +-0.091916680335998535 0.01281130313873291 0.39815700054168701 +0.053287476301193237 -0.049172520637512207 0.35362082719802856 +0.098333477973937988 0.047410368919372559 0.26721921563148499 +0.15117141604423523 0.00047254562377929688 0.30155310034751892 +0.036424309015274048 0.04348146915435791 0.27688875794410706 +0.040331065654754639 -0.050788044929504395 0.41108161211013794 +0.032573580741882324 0.050335466861724854 0.51792383193969727 +-0.0089231729507446289 0.037827372550964355 0.47800159454345703 +0.12332460284233093 -0.025771915912628174 0.49092620611190796 +0.28278172016143799 -0.13519036769866943 0.40294951200485229 +0.35116475820541382 -0.032554566860198975 0.30903139710426331 +0.37256357073783875 -0.099775254726409912 0.36376175284385681 +0.23869192600250244 -0.049598157405853271 0.33498668670654297 +0.3800065815448761 0.035568505525588989 0.24838972091674805 +0.42505252361297607 0.13215139508247375 0.16198813915252686 +0.4778904914855957 0.085213601589202881 0.1963219940662384 +0.36314338445663452 0.12822252511978149 0.17165765166282654 +0.40205147862434387 -0.0072275996208190918 0.2823711633682251 +0.53119921684265137 -0.048234105110168457 0.30386447906494141 +0.47336786985397339 -0.08575814962387085 0.34156471490859985 +0.52198028564453125 -0.00037866830825805664 0.26428481936454773 +0.32555338740348816 0.021445006132125854 0.26592826843261719 +0.1997838020324707 0.085851967334747314 0.2242732048034668 +0.25423699617385864 0.099975496530532837 0.20673468708992004 +0.21664702892303467 -0.0068020224571228027 0.30100530385971069 +0.26982533931732178 -0.13680589199066162 0.46041029691696167 +0.27369207143783569 -0.034026086330413818 0.57639455795288086 +0.21894720196723938 -0.06161266565322876 0.51147985458374023 +0.35281884670257568 -0.1117897629737854 0.54025489091873169 +0.28931167721748352 0.024260342121124268 0.65061533451080322 +0.30817899107933044 0.10939121246337891 0.75653696060180664 +0.24005743861198425 0.11287572979927063 0.71753525733947754 +0.35480454564094543 0.069866806268692017 0.74219965934753418 +0.24781492352485657 0.011752337217330933 0.61069309711456299 +0.12283539772033691 0.064609676599502563 0.59047281742095947 +0.14732071757316589 0.0073265135288238525 0.54258817434310913 +0.15706390142440796 0.087859600782394409 0.63769072294235229 +0.32431298494338989 -0.016920268535614014 0.6271359920501709 +0.45980849862098694 -0.053675234317779541 0.67176139354705811 +0.42480719089508057 -0.012494564056396484 0.69524085521697998 +0.39431560039520264 -0.099281668663024902 0.58017712831497192 +0.25386205315589905 0.66991662979125977 -0.27585482597351074 +0.36860918998718262 0.62690770626068115 -0.25119048357009888 +0.26780489087104797 0.61289060115814209 -0.22899341583251953 +0.29698267579078674 0.69584691524505615 -0.22008210420608521 +0.4833562970161438 0.58389878273010254 -0.22652614116668701 +0.59810340404510498 0.54088985919952393 -0.20186179876327515 +0.50832158327102661 0.50547468662261963 -0.16267400979995728 +0.54560142755508423 0.6026608943939209 -0.16664272546768188 +0.40977859497070312 0.57694345712661743 -0.21309834718704224 +0.33393958210945129 0.48450222611427307 -0.12704920768737793 +0.31189468502998352 0.52729833126068115 -0.16103059053421021 +0.45386838912963867 0.49135118722915649 -0.14513552188873291 +0.4292304515838623 0.63224756717681885 -0.20715749263763428 +0.43170535564422607 0.7235226035118103 -0.10475927591323853 +0.49472332000732422 0.67785406112670898 -0.11557316780090332 +0.37997621297836304 0.7208629846572876 -0.14023751020431519 +0.71285057067871094 0.49788093566894531 -0.17719751596450806 +0.82759767770767212 0.4548720121383667 -0.15253317356109619 +0.7459179162979126 0.43368673324584961 -0.12622535228729248 +0.77671957015991211 0.53006517887115479 -0.10146361589431763 +0.9423447847366333 0.41186308860778809 -0.12786883115768433 +1.0570919513702393 0.36885416507720947 -0.10320448875427246 +0.9945366382598877 0.34050071239471436 -0.07278597354888916 +1.0237144231796265 0.42345699667930603 -0.063874661922454834 +0.86876708269119263 0.40490773320198059 -0.11444097757339478 +0.82372111082077026 0.30832481384277344 -0.028039395809173584 +0.77088320255279541 0.3552626371383667 -0.06237328052520752 +0.88563024997711182 0.31225371360778809 -0.037708938121795654 +0.88821893930435181 0.46021190285682678 -0.10850012302398682 +0.91871052980422974 0.54699903726577759 0.0065635740756988525 +0.95371180772781372 0.50581836700439453 -0.016915857791900635 +0.81821632385253906 0.54257327318191528 -0.061541318893432617 +0.63927280902862549 0.49092558026313782 -0.16376966238021851 +0.57088983058929443 0.38828974962234497 -0.069851577281951904 +0.54949098825454712 0.45551040768623352 -0.12458187341690063 +0.68336266279220581 0.40533334016799927 -0.09580683708190918 +0.54204797744750977 0.32016667723655701 -0.0092098712921142578 +0.49700203537940979 0.22358378767967224 0.077191710472106934 +0.44416406750679016 0.27052158117294312 0.042857855558395386 +0.55891120433807373 0.2275126576423645 0.067522197961807251 +0.52000308036804199 0.36296278238296509 -0.043191313743591309 +0.3908553421497345 0.40396928787231445 -0.064684629440307617 +0.44868668913841248 0.44149330258369446 -0.10238486528396606 +0.40007427334785461 0.35611385107040405 -0.025104939937591553 +0.59650117158889771 0.33429020643234253 -0.026748418807983398 +0.72227072715759277 0.26988318562507629 0.01490667462348938 +0.66781759262084961 0.25575968623161316 0.032445162534713745 +0.70540750026702881 0.3625372052192688 -0.061825454235076904 +0.65872472524642944 0.54622972011566162 -0.15782880783081055 +0.67898392677307129 0.64286535978317261 -0.038321077823638916 +0.72259372472763062 0.57841402292251587 -0.082094967365264893 +0.58872205018997192 0.62859112024307251 -0.11087000370025635 +0.67094278335571289 0.71803784370422363 0.039671897888183594 +0.70870262384414673 0.7940831184387207 0.14743992686271667 +0.74370396137237549 0.75290238857269287 0.12396052479743958 +0.62733292579650879 0.78248918056488037 0.083445757627487183 +0.71321237087249756 0.66611528396606445 0.0088968575000762939 +0.83958375453948975 0.62476265430450439 0.042703241109848022 +0.80396342277526855 0.5900079607963562 -0.0181007981300354 +0.81370657682418823 0.67054104804992676 0.077001720666885376 +0.63671427965164185 0.69478791952133179 -0.0075460076332092285 +0.50446653366088867 0.75838720798492432 -0.020470678806304932 +0.54596328735351562 0.77089524269104004 0.01945158839225769 +0.55372077226638794 0.66977179050445557 -0.087390601634979248 +3 428 867 874 +3 444 995 1002 +3 492 1123 1130 +3 508 1251 1258 +3 556 1011 1018 +3 572 1203 1210 +3 620 1443 1450 +3 636 1507 1514 +3 684 819 826 +3 700 1139 1146 +3 748 1459 1466 +3 764 1395 1402 +3 412 803 810 +3 400 931 938 +3 476 1059 1066 +3 464 1187 1194 +3 540 1315 1322 +3 528 1379 1386 +3 604 1075 1082 +3 592 883 890 +3 668 1523 1530 +3 656 1331 1338 +3 732 947 954 +3 720 1267 1274 +3 432 787 794 +3 652 774 782 +3 396 851 858 +3 640 838 846 +3 448 915 922 +3 752 902 910 +3 416 979 986 +3 524 966 974 +3 496 1043 1050 +3 624 1030 1038 +3 460 1107 1114 +3 672 1094 1102 +3 512 1171 1178 +3 544 1158 1166 +3 480 1235 1242 +3 768 1222 1230 +3 560 1299 1306 +3 704 1286 1294 +3 576 1363 1370 +3 736 1350 1358 +3 588 1427 1434 +3 716 1414 1422 +3 608 1491 1498 +3 688 1478 1486 +3 392 870 878 +3 389 899 906 +3 408 771 778 +3 405 998 1006 +3 424 835 842 +3 421 806 814 +3 440 963 970 +3 437 934 942 +3 456 1126 1134 +3 453 1155 1162 +3 472 1027 1034 +3 469 1254 1262 +3 488 1091 1098 +3 485 1062 1070 +3 504 1219 1226 +3 501 1190 1198 +3 520 1014 1022 +3 517 1347 1354 +3 536 1283 1290 +3 533 1206 1214 +3 552 982 990 +3 549 1318 1326 +3 568 1174 1182 +3 565 1382 1390 +3 584 1446 1454 +3 581 854 862 +3 600 1046 1054 +3 597 1510 1518 +3 616 1411 1418 +3 613 1078 1086 +3 632 1475 1482 +3 629 886 894 +3 648 822 830 +3 645 1302 1310 +3 664 1494 1502 +3 661 1142 1150 +3 680 790 798 +3 677 1526 1534 +3 696 1110 1118 +3 693 1334 1342 +3 712 1462 1470 +3 709 1238 1246 +3 728 918 926 +3 725 1398 1406 +3 744 1430 1438 +3 741 950 958 +3 760 1366 1374 +3 757 1270 1278 +3 413 196 778 +3 644 197 782 +3 425 200 794 +3 685 201 798 +3 404 204 810 +3 804 776 411 +3 676 208 826 +3 820 789 683 +3 429 212 842 +3 633 213 846 +3 388 216 858 +3 593 217 862 +3 420 220 874 +3 868 840 427 +3 585 224 890 +3 884 853 591 +3 401 228 906 +3 745 229 910 +3 441 232 922 +3 733 233 926 +3 393 236 938 +3 932 904 399 +3 724 240 954 +3 948 917 731 +3 445 244 970 +3 516 245 974 +3 409 248 986 +3 557 249 990 +3 436 252 1002 +3 996 968 443 +3 548 256 1018 +3 1012 981 555 +3 477 260 1034 +3 617 261 1038 +3 489 264 1050 +3 605 265 1054 +3 468 268 1066 +3 1060 1032 475 +3 596 272 1082 +3 1076 1045 603 +3 493 276 1098 +3 665 277 1102 +3 452 280 1114 +3 701 281 1118 +3 484 284 1130 +3 1124 1096 491 +3 692 288 1146 +3 1140 1109 699 +3 465 292 1162 +3 537 293 1166 +3 505 296 1178 +3 573 297 1182 +3 457 300 1194 +3 1188 1160 463 +3 564 304 1210 +3 1204 1173 571 +3 509 308 1226 +3 761 309 1230 +3 473 312 1242 +3 721 313 1246 +3 500 316 1258 +3 1252 1224 507 +3 713 320 1274 +3 1268 1237 719 +3 541 324 1290 +3 697 325 1294 +3 553 328 1306 +3 657 329 1310 +3 532 332 1322 +3 1316 1288 539 +3 649 336 1338 +3 1332 1301 655 +3 529 340 1354 +3 729 341 1358 +3 569 344 1370 +3 765 345 1374 +3 521 348 1386 +3 1380 1352 527 +3 756 352 1402 +3 1396 1365 763 +3 621 356 1418 +3 708 357 1422 +3 580 360 1434 +3 749 361 1438 +3 612 364 1450 +3 1444 1416 619 +3 740 368 1466 +3 1460 1429 747 +3 637 372 1482 +3 681 373 1486 +3 601 376 1498 +3 669 377 1502 +3 628 380 1514 +3 1508 1480 635 +3 660 384 1530 +3 1524 1493 667 +3 860 100 396 +3 389 98 900 +3 872 106 420 +3 940 101 400 +3 395 218 866 +3 880 99 392 +3 399 903 930 +3 908 98 389 +3 812 104 412 +3 1000 110 436 +3 408 103 772 +3 988 105 416 +3 411 775 802 +3 780 103 408 +3 415 250 994 +3 1008 102 405 +3 876 108 428 +3 808 102 404 +3 424 107 836 +3 796 109 432 +3 427 839 866 +3 844 107 424 +3 431 202 802 +3 816 106 421 +3 1004 112 444 +3 936 99 393 +3 440 111 964 +3 924 113 448 +3 443 967 994 +3 972 111 440 +3 447 234 930 +3 944 110 437 +3 1116 116 460 +3 453 114 1156 +3 1128 122 484 +3 1196 117 464 +3 459 282 1122 +3 1136 115 456 +3 463 1159 1186 +3 1164 114 453 +3 1068 120 476 +3 1256 126 500 +3 472 119 1028 +3 1244 121 480 +3 475 1031 1058 +3 1036 119 472 +3 479 314 1250 +3 1264 118 469 +3 1132 124 492 +3 1064 118 468 +3 488 123 1092 +3 1052 125 496 +3 491 1095 1122 +3 1100 123 488 +3 495 266 1058 +3 1072 122 485 +3 1260 128 508 +3 1192 115 457 +3 504 127 1220 +3 1180 129 512 +3 507 1223 1250 +3 1228 127 504 +3 511 298 1186 +3 1200 126 501 +3 976 132 524 +3 517 130 1348 +3 1016 138 548 +3 1388 133 528 +3 523 254 1010 +3 1024 131 520 +3 527 1351 1378 +3 1356 130 517 +3 1324 136 540 +3 1208 142 564 +3 536 135 1284 +3 1168 137 544 +3 539 1287 1314 +3 1292 135 536 +3 543 302 1202 +3 1216 134 533 +3 1020 140 556 +3 1320 134 532 +3 552 139 985 +3 1308 141 560 +3 555 978 1010 +3 992 139 552 +3 559 330 1314 +3 1328 138 549 +3 1212 144 572 +3 1384 131 521 +3 568 143 1177 +3 1372 145 576 +3 571 1170 1202 +3 1184 143 568 +3 575 346 1378 +3 1392 142 565 +3 1436 148 588 +3 581 146 857 +3 1448 154 612 +3 892 149 592 +3 587 362 1442 +3 1456 147 584 +3 591 850 882 +3 864 146 581 +3 1084 152 604 +3 1512 158 628 +3 600 151 1049 +3 1500 153 608 +3 603 1042 1074 +3 1056 151 600 +3 607 378 1506 +3 1520 150 597 +3 1452 156 620 +3 1080 150 596 +3 616 155 1412 +3 1040 157 624 +3 619 1415 1442 +3 1420 155 616 +3 623 270 1074 +3 1088 154 613 +3 1516 160 636 +3 888 147 585 +3 632 159 1476 +3 848 161 640 +3 635 1479 1506 +3 1484 159 632 +3 639 222 882 +3 896 158 629 +3 784 164 652 +3 645 162 1305 +3 824 170 676 +3 1340 165 656 +3 651 206 818 +3 832 163 648 +3 655 1298 1330 +3 1312 162 645 +3 1532 168 668 +3 1144 174 692 +3 664 167 1497 +3 1104 169 672 +3 667 1490 1522 +3 1504 167 664 +3 671 286 1138 +3 1152 166 661 +3 828 172 684 +3 1528 166 660 +3 680 171 793 +3 1488 173 688 +3 683 786 818 +3 800 171 680 +3 687 382 1522 +3 1536 170 677 +3 1148 176 700 +3 1336 163 649 +3 696 175 1113 +3 1296 177 704 +3 699 1106 1138 +3 1120 175 696 +3 703 334 1330 +3 1344 174 693 +3 1424 180 716 +3 709 178 1241 +3 1464 186 740 +3 1276 181 720 +3 715 366 1458 +3 1472 179 712 +3 719 1234 1266 +3 1248 178 709 +3 956 184 732 +3 1400 190 756 +3 728 183 921 +3 1360 185 736 +3 731 914 946 +3 928 183 728 +3 735 350 1394 +3 1408 182 725 +3 1468 188 748 +3 952 182 724 +3 744 187 1433 +3 912 189 752 +3 747 1426 1458 +3 1440 187 744 +3 751 238 946 +3 960 186 741 +3 1404 192 764 +3 1272 179 713 +3 760 191 1369 +3 1232 193 768 +3 763 1362 1394 +3 1376 191 760 +3 767 318 1266 +3 1280 190 757 +3 772 770 194 +3 773 162 644 +3 781 196 413 +3 821 206 651 +3 410 27 779 +3 196 779 780 +3 644 162 785 +3 197 783 784 +3 805 202 431 +3 801 201 685 +3 792 107 425 +3 793 791 199 +3 425 107 797 +3 200 795 796 +3 682 44 799 +3 201 799 800 +3 433 205 814 +3 202 803 804 +3 418 8 807 +3 203 807 808 +3 404 102 813 +3 204 811 812 +3 430 28 815 +3 205 815 816 +3 653 209 830 +3 206 819 820 +3 648 163 825 +3 207 823 824 +3 676 170 829 +3 208 827 828 +3 650 42 831 +3 209 831 832 +3 836 834 210 +3 837 159 633 +3 845 212 429 +3 885 222 639 +3 426 28 843 +3 212 843 844 +3 633 159 849 +3 213 847 848 +3 869 218 395 +3 865 217 593 +3 856 98 388 +3 857 855 215 +3 388 98 861 +3 216 859 860 +3 590 38 863 +3 217 863 864 +3 397 221 878 +3 218 867 868 +3 392 99 873 +3 219 871 872 +3 420 106 877 +3 220 875 876 +3 394 26 879 +3 221 879 880 +3 641 225 894 +3 222 883 884 +3 626 11 887 +3 223 887 888 +3 585 147 893 +3 224 891 892 +3 638 41 895 +3 225 895 896 +3 900 898 226 +3 901 187 745 +3 909 228 401 +3 949 238 751 +3 398 26 907 +3 228 907 908 +3 745 187 913 +3 229 911 912 +3 933 234 447 +3 929 233 733 +3 920 111 441 +3 921 919 231 +3 441 111 925 +3 232 923 924 +3 730 47 927 +3 233 927 928 +3 449 237 942 +3 234 931 932 +3 434 8 935 +3 235 935 936 +3 393 99 941 +3 236 939 940 +3 446 29 943 +3 237 943 944 +3 753 241 958 +3 238 947 948 +3 738 13 951 +3 239 951 952 +3 724 182 957 +3 240 955 956 +3 750 48 959 +3 241 959 960 +3 964 962 242 +3 965 130 516 +3 973 244 445 +3 1013 254 523 +3 442 29 971 +3 244 971 972 +3 516 130 977 +3 245 975 976 +3 997 250 415 +3 993 249 557 +3 984 103 409 +3 985 983 247 +3 409 103 989 +3 248 987 988 +3 554 36 991 +3 249 991 992 +3 417 253 1006 +3 250 995 996 +3 405 102 1001 +3 251 999 1000 +3 436 110 1005 +3 252 1003 1004 +3 414 27 1007 +3 253 1007 1008 +3 525 257 1022 +3 254 1011 1012 +3 520 131 1017 +3 255 1015 1016 +3 548 138 1021 +3 256 1019 1020 +3 522 34 1023 +3 257 1023 1024 +3 1028 1026 258 +3 1029 155 617 +3 1037 260 477 +3 1077 270 623 +3 474 31 1035 +3 260 1035 1036 +3 617 155 1041 +3 261 1039 1040 +3 1061 266 495 +3 1057 265 605 +3 1048 123 489 +3 1049 1047 263 +3 489 123 1053 +3 264 1051 1052 +3 602 39 1055 +3 265 1055 1056 +3 497 269 1070 +3 266 1059 1060 +3 482 9 1063 +3 267 1063 1064 +3 468 118 1069 +3 268 1067 1068 +3 494 32 1071 +3 269 1071 1072 +3 625 273 1086 +3 270 1075 1076 +3 610 11 1079 +3 271 1079 1080 +3 596 150 1085 +3 272 1083 1084 +3 622 40 1087 +3 273 1087 1088 +3 1092 1090 274 +3 1093 167 665 +3 1101 276 493 +3 1141 286 671 +3 490 32 1099 +3 276 1099 1100 +3 665 167 1105 +3 277 1103 1104 +3 1125 282 459 +3 1121 281 701 +3 1112 114 452 +3 1113 1111 279 +3 452 114 1117 +3 280 1115 1116 +3 698 45 1119 +3 281 1119 1120 +3 461 285 1134 +3 282 1123 1124 +3 456 115 1129 +3 283 1127 1128 +3 484 122 1133 +3 284 1131 1132 +3 458 30 1135 +3 285 1135 1136 +3 673 289 1150 +3 286 1139 1140 +3 661 166 1145 +3 287 1143 1144 +3 692 174 1149 +3 288 1147 1148 +3 670 43 1151 +3 289 1151 1152 +3 1156 1154 290 +3 1157 135 537 +3 1165 292 465 +3 1205 302 543 +3 462 30 1163 +3 292 1163 1164 +3 537 135 1169 +3 293 1167 1168 +3 1189 298 511 +3 1185 297 573 +3 1176 127 505 +3 1177 1175 295 +3 505 127 1181 +3 296 1179 1180 +3 570 37 1183 +3 297 1183 1184 +3 513 301 1198 +3 298 1187 1188 +3 498 9 1191 +3 299 1191 1192 +3 457 115 1197 +3 300 1195 1196 +3 510 33 1199 +3 301 1199 1200 +3 545 305 1214 +3 302 1203 1204 +3 533 134 1209 +3 303 1207 1208 +3 564 142 1213 +3 304 1211 1212 +3 542 35 1215 +3 305 1215 1216 +3 1220 1218 306 +3 1221 191 761 +3 1229 308 509 +3 1269 318 767 +3 506 33 1227 +3 308 1227 1228 +3 761 191 1233 +3 309 1231 1232 +3 1253 314 479 +3 1249 313 721 +3 1240 119 473 +3 1241 1239 311 +3 473 119 1245 +3 312 1243 1244 +3 718 46 1247 +3 313 1247 1248 +3 481 317 1262 +3 314 1251 1252 +3 469 118 1257 +3 315 1255 1256 +3 500 126 1261 +3 316 1259 1260 +3 478 31 1263 +3 317 1263 1264 +3 769 321 1278 +3 318 1267 1268 +3 754 13 1271 +3 319 1271 1272 +3 713 179 1277 +3 320 1275 1276 +3 766 49 1279 +3 321 1279 1280 +3 1284 1282 322 +3 1285 175 697 +3 1293 324 541 +3 1333 334 703 +3 538 35 1291 +3 324 1291 1292 +3 697 175 1297 +3 325 1295 1296 +3 1317 330 559 +3 1313 329 657 +3 1304 139 553 +3 1305 1303 327 +3 553 139 1309 +3 328 1307 1308 +3 654 42 1311 +3 329 1311 1312 +3 561 333 1326 +3 330 1315 1316 +3 546 10 1319 +3 331 1319 1320 +3 532 134 1325 +3 332 1323 1324 +3 558 36 1327 +3 333 1327 1328 +3 705 337 1342 +3 334 1331 1332 +3 690 12 1335 +3 335 1335 1336 +3 649 163 1341 +3 336 1339 1340 +3 702 45 1343 +3 337 1343 1344 +3 1348 1346 338 +3 1349 183 729 +3 1357 340 529 +3 1397 350 735 +3 526 34 1355 +3 340 1355 1356 +3 729 183 1361 +3 341 1359 1360 +3 1381 346 575 +3 1377 345 765 +3 1368 143 569 +3 1369 1367 343 +3 569 143 1373 +3 344 1371 1372 +3 762 49 1375 +3 345 1375 1376 +3 577 349 1390 +3 346 1379 1380 +3 562 10 1383 +3 347 1383 1384 +3 521 131 1389 +3 348 1387 1388 +3 574 37 1391 +3 349 1391 1392 +3 737 353 1406 +3 350 1395 1396 +3 725 182 1401 +3 351 1399 1400 +3 756 190 1405 +3 352 1403 1404 +3 734 47 1407 +3 353 1407 1408 +3 1412 1410 354 +3 1413 178 708 +3 1421 356 621 +3 1461 366 715 +3 618 40 1419 +3 356 1419 1420 +3 708 178 1425 +3 357 1423 1424 +3 1445 362 587 +3 1441 361 749 +3 1432 146 580 +3 1433 1431 359 +3 580 146 1437 +3 360 1435 1436 +3 746 48 1439 +3 361 1439 1440 +3 589 365 1454 +3 362 1443 1444 +3 584 147 1449 +3 363 1447 1448 +3 612 154 1453 +3 364 1451 1452 +3 586 38 1455 +3 365 1455 1456 +3 717 369 1470 +3 366 1459 1460 +3 712 179 1465 +3 367 1463 1464 +3 740 186 1469 +3 368 1467 1468 +3 714 46 1471 +3 369 1471 1472 +3 1476 1474 370 +3 1477 171 681 +3 1485 372 637 +3 1525 382 687 +3 634 41 1483 +3 372 1483 1484 +3 681 171 1489 +3 373 1487 1488 +3 1509 378 607 +3 1505 377 669 +3 1496 151 601 +3 1497 1495 375 +3 601 151 1501 +3 376 1499 1500 +3 666 43 1503 +3 377 1503 1504 +3 609 381 1518 +3 378 1507 1508 +3 597 150 1513 +3 379 1511 1512 +3 628 158 1517 +3 380 1515 1516 +3 606 39 1519 +3 381 1519 1520 +3 689 385 1534 +3 382 1523 1524 +3 674 12 1527 +3 383 1527 1528 +3 660 166 1533 +3 384 1531 1532 +3 686 44 1535 +3 385 1535 1536 +3 861 216 388 +3 900 856 386 +3 879 221 394 +3 900 226 389 +3 858 55 854 +3 387 859 861 +3 899 58 906 +3 98 856 900 +3 873 219 392 +3 907 228 398 +3 807 203 418 +3 941 236 393 +3 874 867 56 +3 391 871 873 +3 60 931 942 +3 99 880 941 +3 852 851 396 +3 390 939 941 +3 866 15 850 +3 397 218 869 +3 851 55 858 +3 395 214 852 +3 428 108 868 +3 100 860 881 +3 904 101 909 +3 26 859 907 +3 903 16 930 +3 401 227 904 +3 60 934 938 +3 904 227 399 +3 906 58 902 +3 932 931 400 +3 813 204 404 +3 935 235 434 +3 779 196 410 +3 1001 251 405 +3 52 803 814 +3 403 811 813 +3 1002 995 64 +3 102 808 1001 +3 772 194 408 +3 1007 253 414 +3 984 983 407 +3 989 248 409 +3 771 50 778 +3 407 770 772 +3 986 63 982 +3 103 780 989 +3 776 104 781 +3 406 987 989 +3 775 14 802 +3 413 195 776 +3 52 806 810 +3 776 195 411 +3 778 50 774 +3 804 803 412 +3 980 979 416 +3 27 811 1007 +3 994 17 978 +3 417 250 997 +3 979 63 986 +3 415 246 980 +3 444 112 996 +3 105 988 1009 +3 421 205 816 +3 402 999 1001 +3 430 205 817 +3 809 806 421 +3 56 867 878 +3 816 815 419 +3 810 803 52 +3 877 220 420 +3 425 199 792 +3 815 205 430 +3 836 792 423 +3 797 200 425 +3 835 54 842 +3 792 791 423 +3 794 51 790 +3 836 210 424 +3 840 108 845 +3 844 843 422 +3 839 15 866 +3 429 211 840 +3 56 870 874 +3 840 211 427 +3 842 54 838 +3 868 867 428 +3 788 787 432 +3 843 212 426 +3 802 14 786 +3 433 202 805 +3 787 51 794 +3 431 198 788 +3 412 104 804 +3 109 796 817 +3 437 237 944 +3 8 871 935 +3 446 237 945 +3 937 934 437 +3 64 995 1006 +3 944 943 435 +3 938 931 60 +3 1005 252 436 +3 441 231 920 +3 943 237 446 +3 964 920 439 +3 925 232 441 +3 963 62 970 +3 920 919 439 +3 922 59 918 +3 964 242 440 +3 968 112 973 +3 972 971 438 +3 967 17 994 +3 445 243 968 +3 64 998 1002 +3 968 243 443 +3 970 62 966 +3 996 995 444 +3 916 915 448 +3 971 244 442 +3 930 16 914 +3 449 234 933 +3 915 59 922 +3 447 230 916 +3 400 101 932 +3 113 924 945 +3 1117 280 452 +3 1156 1112 450 +3 1135 285 458 +3 1156 290 453 +3 1114 71 1110 +3 451 1115 1117 +3 1155 74 1162 +3 114 1112 1156 +3 1129 283 456 +3 1163 292 462 +3 1063 267 482 +3 1197 300 457 +3 1130 1123 72 +3 455 1127 1129 +3 76 1187 1198 +3 115 1136 1197 +3 1108 1107 460 +3 454 1195 1197 +3 1122 19 1106 +3 461 282 1125 +3 1107 71 1114 +3 459 278 1108 +3 492 124 1124 +3 116 1116 1137 +3 1160 117 1165 +3 30 1115 1163 +3 1159 20 1186 +3 465 291 1160 +3 76 1190 1194 +3 1160 291 463 +3 1162 74 1158 +3 1188 1187 464 +3 1069 268 468 +3 1191 299 498 +3 1035 260 474 +3 1257 315 469 +3 68 1059 1070 +3 467 1067 1069 +3 1258 1251 80 +3 118 1064 1257 +3 1028 258 472 +3 1263 317 478 +3 1240 1239 471 +3 1245 312 473 +3 1027 66 1034 +3 471 1026 1028 +3 1242 79 1238 +3 119 1036 1245 +3 1032 120 1037 +3 470 1243 1245 +3 1031 18 1058 +3 477 259 1032 +3 68 1062 1066 +3 1032 259 475 +3 1034 66 1030 +3 1060 1059 476 +3 1236 1235 480 +3 31 1067 1263 +3 1250 21 1234 +3 481 314 1253 +3 1235 79 1242 +3 479 310 1236 +3 508 128 1252 +3 121 1244 1265 +3 485 269 1072 +3 466 1255 1257 +3 494 269 1073 +3 1065 1062 485 +3 72 1123 1134 +3 1072 1071 483 +3 1066 1059 68 +3 1133 284 484 +3 489 263 1048 +3 1071 269 494 +3 1092 1048 487 +3 1053 264 489 +3 1091 70 1098 +3 1048 1047 487 +3 1050 67 1046 +3 1092 274 488 +3 1096 124 1101 +3 1100 1099 486 +3 1095 19 1122 +3 493 275 1096 +3 72 1126 1130 +3 1096 275 491 +3 1098 70 1094 +3 1124 1123 492 +3 1044 1043 496 +3 1099 276 490 +3 1058 18 1042 +3 497 266 1061 +3 1043 67 1050 +3 495 262 1044 +3 476 120 1060 +3 125 1052 1073 +3 501 301 1200 +3 9 1127 1191 +3 510 301 1201 +3 1193 1190 501 +3 80 1251 1262 +3 1200 1199 499 +3 1194 1187 76 +3 1261 316 500 +3 505 295 1176 +3 1199 301 510 +3 1220 1176 503 +3 1181 296 505 +3 1219 78 1226 +3 1176 1175 503 +3 1178 75 1174 +3 1220 306 504 +3 1224 128 1229 +3 1228 1227 502 +3 1223 21 1250 +3 509 307 1224 +3 80 1254 1258 +3 1224 307 507 +3 1226 78 1222 +3 1252 1251 508 +3 1172 1171 512 +3 1227 308 506 +3 1186 20 1170 +3 513 298 1189 +3 1171 75 1178 +3 511 294 1172 +3 464 117 1188 +3 129 1180 1201 +3 977 245 516 +3 1348 965 514 +3 1023 257 522 +3 1348 338 517 +3 974 62 963 +3 515 975 977 +3 1347 86 1354 +3 130 965 1348 +3 1017 255 520 +3 1355 340 526 +3 1319 331 546 +3 1389 348 521 +3 1018 1011 65 +3 519 1015 1017 +3 88 1379 1390 +3 131 1024 1389 +3 969 966 524 +3 518 1387 1389 +3 1010 17 967 +3 525 254 1013 +3 966 62 974 +3 523 243 969 +3 556 140 1012 +3 132 976 1025 +3 1352 133 1357 +3 34 975 1355 +3 1351 23 1378 +3 529 339 1352 +3 88 1382 1386 +3 1352 339 527 +3 1354 86 1350 +3 1380 1379 528 +3 533 305 1216 +3 1383 347 562 +3 542 305 1217 +3 1209 303 533 +3 84 1315 1326 +3 1216 1215 531 +3 1210 1203 77 +3 1325 332 532 +3 537 290 1157 +3 1215 305 542 +3 1284 1157 535 +3 1169 293 537 +3 1283 82 1290 +3 1157 1154 535 +3 1166 74 1155 +3 1284 322 536 +3 1288 136 1293 +3 1292 1291 534 +3 1287 22 1314 +3 541 323 1288 +3 84 1318 1322 +3 1288 323 539 +3 1290 82 1286 +3 1316 1315 540 +3 1161 1158 544 +3 1291 324 538 +3 1202 20 1159 +3 545 302 1205 +3 1158 74 1166 +3 543 291 1161 +3 572 144 1204 +3 137 1168 1217 +3 1021 256 548 +3 1320 1319 530 +3 991 249 554 +3 1321 1318 549 +3 65 1011 1022 +3 547 1019 1021 +3 1322 1315 84 +3 138 1016 1321 +3 985 247 552 +3 1327 333 558 +3 1304 1303 551 +3 1309 328 553 +3 982 63 990 +3 551 983 985 +3 1306 83 1302 +3 139 992 1309 +3 981 140 993 +3 550 1307 1309 +3 978 17 1010 +3 557 246 981 +3 65 1014 1018 +3 981 246 555 +3 990 63 979 +3 1012 1011 556 +3 1300 1299 560 +3 36 1019 1327 +3 1314 22 1298 +3 561 330 1317 +3 1299 83 1306 +3 559 326 1300 +3 540 136 1316 +3 141 1308 1329 +3 1213 304 564 +3 10 1015 1383 +3 1183 297 570 +3 1385 1382 565 +3 77 1203 1214 +3 563 1211 1213 +3 1386 1379 88 +3 142 1208 1385 +3 1177 295 568 +3 1391 349 574 +3 1368 1367 567 +3 1373 344 569 +3 1174 75 1182 +3 567 1175 1177 +3 1370 87 1366 +3 143 1184 1373 +3 1173 144 1185 +3 566 1371 1373 +3 1170 20 1202 +3 573 294 1173 +3 77 1206 1210 +3 1173 294 571 +3 1182 75 1171 +3 1204 1203 572 +3 1364 1363 576 +3 37 1211 1391 +3 1378 23 1362 +3 577 346 1381 +3 1363 87 1370 +3 575 342 1364 +3 528 133 1380 +3 145 1372 1393 +3 581 217 864 +3 1432 1431 578 +3 590 865 892 +3 857 215 581 +3 1434 91 1430 +3 864 863 579 +3 854 55 862 +3 1437 360 580 +3 585 223 888 +3 863 217 590 +3 626 889 1512 +3 893 224 585 +3 1450 1443 92 +3 888 887 583 +3 57 883 894 +3 1449 363 584 +3 1428 1427 588 +3 1456 1455 582 +3 1442 24 1426 +3 589 362 1445 +3 1427 91 1434 +3 587 358 1428 +3 620 156 1444 +3 148 1436 1457 +3 853 149 865 +3 1455 365 586 +3 850 15 882 +3 593 214 853 +3 57 886 890 +3 853 214 591 +3 862 55 851 +3 884 883 592 +3 1085 272 596 +3 887 223 626 +3 1055 265 602 +3 1513 379 597 +3 69 1075 1086 +3 595 1083 1085 +3 1514 1507 96 +3 150 1080 1513 +3 1049 263 600 +3 1519 381 606 +3 1496 1495 599 +3 1501 376 601 +3 1046 67 1054 +3 599 1047 1049 +3 1498 95 1494 +3 151 1056 1501 +3 1045 152 1057 +3 598 1499 1501 +3 1042 18 1074 +3 605 262 1045 +3 69 1078 1082 +3 1045 262 603 +3 1054 67 1043 +3 1076 1075 604 +3 1492 1491 608 +3 39 1083 1519 +3 1506 25 1490 +3 609 378 1509 +3 1491 95 1498 +3 607 374 1492 +3 636 160 1508 +3 153 1500 1521 +3 613 273 1088 +3 594 1511 1513 +3 622 273 1089 +3 1081 1078 613 +3 92 1443 1454 +3 1088 1087 611 +3 1082 1075 69 +3 1453 364 612 +3 617 258 1029 +3 1087 273 622 +3 1412 1029 615 +3 1041 261 617 +3 1411 90 1418 +3 1029 1026 615 +3 1038 66 1027 +3 1412 354 616 +3 1416 156 1421 +3 1420 1419 614 +3 1415 24 1442 +3 621 355 1416 +3 92 1446 1450 +3 1416 355 619 +3 1418 90 1414 +3 1444 1443 620 +3 1033 1030 624 +3 1419 356 618 +3 1074 18 1031 +3 625 270 1077 +3 1030 66 1038 +3 623 259 1033 +3 604 152 1076 +3 157 1040 1089 +3 629 225 896 +3 1079 271 610 +3 638 225 897 +3 889 886 629 +3 96 1507 1518 +3 896 895 627 +3 890 883 57 +3 1517 380 628 +3 633 210 837 +3 895 225 638 +3 1476 837 631 +3 849 213 633 +3 1475 94 1482 +3 837 834 631 +3 846 54 835 +3 1476 370 632 +3 1480 160 1485 +3 1484 1483 630 +3 1479 25 1506 +3 637 371 1480 +3 96 1510 1514 +3 1480 371 635 +3 1482 94 1478 +3 1508 1507 636 +3 841 838 640 +3 1483 372 634 +3 882 15 839 +3 641 222 885 +3 838 54 846 +3 639 211 841 +3 592 149 884 +3 161 848 897 +3 785 197 644 +3 1305 773 642 +3 831 209 650 +3 1305 327 645 +3 782 50 771 +3 643 783 785 +3 1302 83 1310 +3 162 773 1305 +3 825 207 648 +3 1311 329 654 +3 1527 383 674 +3 1341 336 649 +3 826 819 53 +3 647 823 825 +3 85 1331 1342 +3 163 832 1341 +3 777 774 652 +3 646 1339 1341 +3 818 14 775 +3 653 206 821 +3 774 50 782 +3 651 195 777 +3 684 172 820 +3 164 784 833 +3 1301 165 1313 +3 42 783 1311 +3 1298 22 1330 +3 657 326 1301 +3 85 1334 1338 +3 1301 326 655 +3 1310 83 1299 +3 1332 1331 656 +3 661 289 1152 +3 1335 335 690 +3 670 289 1153 +3 1145 287 661 +3 97 1523 1534 +3 1152 1151 659 +3 1146 1139 73 +3 1533 384 660 +3 665 274 1093 +3 1151 289 670 +3 1497 1093 663 +3 1105 277 665 +3 1494 95 1502 +3 1093 1090 663 +3 1102 70 1091 +3 1497 375 664 +3 1493 168 1505 +3 1504 1503 662 +3 1490 25 1522 +3 669 374 1493 +3 97 1526 1530 +3 1493 374 667 +3 1502 95 1491 +3 1524 1523 668 +3 1097 1094 672 +3 1503 377 666 +3 1138 19 1095 +3 673 286 1141 +3 1094 70 1102 +3 671 275 1097 +3 700 176 1140 +3 169 1104 1153 +3 829 208 676 +3 1528 1527 658 +3 799 201 682 +3 1529 1526 677 +3 53 819 830 +3 675 827 829 +3 1530 1523 97 +3 170 824 1529 +3 793 199 680 +3 1535 385 686 +3 1477 1474 679 +3 1489 373 681 +3 790 51 798 +3 679 791 793 +3 1486 94 1475 +3 171 800 1489 +3 789 172 801 +3 678 1487 1489 +3 786 14 818 +3 685 198 789 +3 53 822 826 +3 789 198 683 +3 798 51 787 +3 820 819 684 +3 1481 1478 688 +3 44 827 1535 +3 1522 25 1479 +3 689 382 1525 +3 1478 94 1486 +3 687 371 1481 +3 668 168 1524 +3 173 1488 1537 +3 1149 288 692 +3 12 823 1335 +3 1119 281 698 +3 1337 1334 693 +3 73 1139 1150 +3 691 1147 1149 +3 1338 1331 85 +3 174 1144 1337 +3 1113 279 696 +3 1343 337 702 +3 1285 1282 695 +3 1297 325 697 +3 1110 71 1118 +3 695 1111 1113 +3 1294 82 1283 +3 175 1120 1297 +3 1109 176 1121 +3 694 1295 1297 +3 1106 19 1138 +3 701 278 1109 +3 73 1142 1146 +3 1109 278 699 +3 1118 71 1107 +3 1140 1139 700 +3 1289 1286 704 +3 45 1147 1343 +3 1330 22 1287 +3 705 334 1333 +3 1286 82 1294 +3 703 323 1289 +3 656 165 1332 +3 177 1296 1345 +3 709 313 1248 +3 1413 1410 706 +3 718 1249 1276 +3 1241 311 709 +3 1422 90 1411 +3 1248 1247 707 +3 1238 79 1246 +3 1425 357 708 +3 713 319 1272 +3 1247 313 718 +3 754 1273 1400 +3 1277 320 713 +3 1466 1459 93 +3 1272 1271 711 +3 81 1267 1278 +3 1465 367 712 +3 1417 1414 716 +3 1472 1471 710 +3 1458 24 1415 +3 717 366 1461 +3 1414 90 1422 +3 715 355 1417 +3 748 188 1460 +3 180 1424 1473 +3 1237 181 1249 +3 1471 369 714 +3 1234 21 1266 +3 721 310 1237 +3 81 1270 1274 +3 1237 310 719 +3 1246 79 1235 +3 1268 1267 720 +3 957 240 724 +3 1271 319 754 +3 927 233 730 +3 1401 351 725 +3 61 947 958 +3 723 955 957 +3 1402 1395 89 +3 182 952 1401 +3 921 231 728 +3 1407 353 734 +3 1349 1346 727 +3 1361 341 729 +3 918 59 926 +3 727 919 921 +3 1358 86 1347 +3 183 928 1361 +3 917 184 929 +3 726 1359 1361 +3 914 16 946 +3 733 230 917 +3 61 950 954 +3 917 230 731 +3 926 59 915 +3 948 947 732 +3 1353 1350 736 +3 47 955 1407 +3 1394 23 1351 +3 737 350 1397 +3 1350 86 1358 +3 735 339 1353 +3 764 192 1396 +3 185 1360 1409 +3 741 241 960 +3 722 1399 1401 +3 750 241 961 +3 953 950 741 +3 93 1459 1470 +3 960 959 739 +3 954 947 61 +3 1469 368 740 +3 745 226 901 +3 959 241 750 +3 1433 901 743 +3 913 229 745 +3 1430 91 1438 +3 901 898 743 +3 910 58 899 +3 1433 359 744 +3 1429 188 1441 +3 1440 1439 742 +3 1426 24 1458 +3 749 358 1429 +3 93 1462 1466 +3 1429 358 747 +3 1438 91 1427 +3 1460 1459 748 +3 905 902 752 +3 1439 361 746 +3 946 16 903 +3 753 238 949 +3 902 58 910 +3 751 227 905 +3 732 184 948 +3 189 912 961 +3 757 321 1280 +3 951 239 738 +3 766 321 1281 +3 1273 1270 757 +3 89 1395 1406 +3 1280 1279 755 +3 1274 1267 81 +3 1405 352 756 +3 761 306 1221 +3 1279 321 766 +3 1369 1221 759 +3 1233 309 761 +3 1366 87 1374 +3 1221 1218 759 +3 1230 78 1219 +3 1369 343 760 +3 1365 192 1377 +3 1376 1375 758 +3 1362 23 1394 +3 765 342 1365 +3 89 1398 1402 +3 1365 342 763 +3 1374 87 1363 +3 1396 1395 764 +3 1225 1222 768 +3 1375 345 762 +3 1266 21 1223 +3 769 318 1269 +3 1222 78 1230 +3 767 307 1225 +3 720 181 1268 +3 193 1232 1281 +3 407 3 770 +3 642 1303 1305 +3 408 194 771 +3 194 770 773 +3 408 196 780 +3 778 196 408 +3 645 329 1312 +3 770 3 642 +3 411 202 804 +3 652 164 777 +3 411 195 775 +3 195 774 777 +3 804 104 776 +3 802 202 411 +3 652 197 784 +3 782 197 652 +3 812 811 410 +3 774 195 413 +3 410 781 812 +3 413 776 781 +3 409 247 984 +3 989 780 406 +3 410 196 781 +3 778 774 413 +3 785 783 197 +3 771 194 644 +3 654 1313 1340 +3 643 785 1312 +3 821 164 833 +3 783 42 650 +3 644 194 773 +3 782 771 644 +3 198 787 788 +3 683 198 786 +3 432 109 788 +3 683 206 820 +3 432 200 796 +3 794 200 432 +3 820 172 789 +3 818 206 683 +3 199 791 792 +3 680 199 790 +3 423 834 836 +3 679 1 791 +3 836 107 792 +3 791 1 423 +3 680 201 800 +3 798 201 680 +3 797 795 200 +3 790 199 425 +3 843 28 795 +3 422 797 844 +3 805 109 817 +3 795 28 430 +3 422 795 797 +3 794 790 425 +3 828 827 682 +3 787 198 685 +3 682 801 828 +3 685 789 801 +3 681 370 1477 +3 1489 800 678 +3 682 201 801 +3 798 787 685 +3 817 205 433 +3 786 198 431 +3 814 806 52 +3 431 788 805 +3 412 204 812 +3 810 204 412 +3 788 109 805 +3 802 786 431 +3 872 871 418 +3 421 106 809 +3 418 809 872 +3 203 806 809 +3 405 253 1008 +3 1001 808 402 +3 418 203 809 +3 814 205 421 +3 813 811 204 +3 806 203 404 +3 414 253 1009 +3 403 813 1008 +3 812 781 104 +3 811 27 410 +3 404 203 808 +3 810 806 404 +3 817 796 430 +3 803 202 433 +3 419 875 877 +3 433 805 817 +3 877 106 816 +3 877 816 419 +3 796 795 430 +3 814 803 433 +3 833 209 653 +3 775 195 651 +3 830 822 53 +3 651 777 821 +3 684 208 828 +3 826 208 684 +3 777 164 821 +3 818 775 651 +3 825 823 207 +3 648 207 822 +3 690 335 1337 +3 647 825 1336 +3 677 385 1536 +3 823 12 674 +3 648 209 832 +3 830 209 648 +3 829 827 208 +3 822 207 676 +3 686 385 1537 +3 675 829 1536 +3 828 801 172 +3 827 44 682 +3 676 207 824 +3 826 822 676 +3 833 784 650 +3 819 206 653 +3 650 209 833 +3 653 821 833 +3 649 335 1336 +3 1341 832 646 +3 784 783 650 +3 830 819 653 +3 423 1 834 +3 631 1474 1476 +3 424 210 835 +3 210 834 837 +3 424 212 844 +3 842 212 424 +3 1476 159 837 +3 834 1 631 +3 427 218 868 +3 640 161 841 +3 427 211 839 +3 211 838 841 +3 868 108 840 +3 866 218 427 +3 640 213 848 +3 846 213 640 +3 876 875 426 +3 838 211 429 +3 426 845 876 +3 429 840 845 +3 844 797 107 +3 843 795 422 +3 426 212 845 +3 842 838 429 +3 849 847 213 +3 835 210 633 +3 1483 41 847 +3 630 849 1484 +3 885 161 897 +3 847 41 638 +3 630 847 849 +3 846 835 633 +3 214 851 852 +3 591 214 850 +3 396 100 852 +3 591 222 884 +3 396 216 860 +3 858 216 396 +3 884 149 853 +3 882 222 591 +3 215 855 856 +3 581 215 854 +3 386 898 900 +3 578 0 855 +3 389 228 908 +3 855 0 386 +3 578 855 857 +3 862 217 581 +3 861 859 216 +3 854 215 388 +3 398 909 940 +3 387 861 908 +3 869 100 881 +3 859 26 394 +3 388 215 856 +3 858 854 388 +3 892 891 590 +3 851 214 593 +3 579 1435 1437 +3 593 853 865 +3 1437 146 864 +3 1437 864 579 +3 590 217 865 +3 862 851 593 +3 881 221 397 +3 850 214 395 +3 878 870 56 +3 395 852 869 +3 428 220 876 +3 874 220 428 +3 852 100 869 +3 866 850 395 +3 873 871 219 +3 392 219 870 +3 434 937 1000 +3 391 873 936 +3 872 809 106 +3 871 8 418 +3 392 221 880 +3 878 221 392 +3 877 875 220 +3 870 219 420 +3 875 815 28 +3 419 815 875 +3 876 845 108 +3 875 28 426 +3 420 219 872 +3 874 870 420 +3 881 860 394 +3 867 218 397 +3 394 221 881 +3 397 869 881 +3 393 235 936 +3 941 880 390 +3 860 859 394 +3 878 867 397 +3 897 225 641 +3 839 211 639 +3 894 886 57 +3 639 841 885 +3 592 224 892 +3 890 224 592 +3 841 161 885 +3 882 839 639 +3 1512 1511 626 +3 629 158 889 +3 583 1447 1449 +3 223 886 889 +3 1449 147 888 +3 1449 888 583 +3 626 223 889 +3 894 225 629 +3 893 891 224 +3 886 223 585 +3 1455 38 891 +3 582 893 1456 +3 892 865 149 +3 891 38 590 +3 582 891 893 +3 890 886 585 +3 897 848 638 +3 883 222 641 +3 627 1515 1517 +3 641 885 897 +3 1517 158 896 +3 1517 896 627 +3 848 847 638 +3 894 883 641 +3 386 0 898 +3 743 1431 1433 +3 389 226 899 +3 226 898 901 +3 856 855 386 +3 906 228 389 +3 1433 187 901 +3 898 0 743 +3 399 234 932 +3 752 189 905 +3 399 227 903 +3 227 902 905 +3 932 101 904 +3 930 234 399 +3 752 229 912 +3 910 229 752 +3 940 939 398 +3 902 227 401 +3 908 907 387 +3 401 904 909 +3 861 98 908 +3 907 859 387 +3 398 228 909 +3 906 902 401 +3 913 911 229 +3 899 226 745 +3 1439 48 911 +3 742 913 1440 +3 949 189 961 +3 911 48 750 +3 742 911 913 +3 910 899 745 +3 230 915 916 +3 731 230 914 +3 448 113 916 +3 731 238 948 +3 448 232 924 +3 922 232 448 +3 948 184 917 +3 946 238 731 +3 231 919 920 +3 728 231 918 +3 439 962 964 +3 727 2 919 +3 964 111 920 +3 919 2 439 +3 728 233 928 +3 926 233 728 +3 925 923 232 +3 918 231 441 +3 971 29 923 +3 438 925 972 +3 933 113 945 +3 923 29 446 +3 438 923 925 +3 922 918 441 +3 956 955 730 +3 915 230 733 +3 730 929 956 +3 733 917 929 +3 729 338 1349 +3 1361 928 726 +3 730 233 929 +3 926 915 733 +3 945 237 449 +3 914 230 447 +3 942 934 60 +3 447 916 933 +3 400 236 940 +3 938 236 400 +3 916 113 933 +3 930 914 447 +3 1000 999 434 +3 437 110 937 +3 936 935 391 +3 235 934 937 +3 873 99 936 +3 935 871 391 +3 434 235 937 +3 942 237 437 +3 941 939 236 +3 934 235 393 +3 879 26 939 +3 390 879 939 +3 940 909 101 +3 939 26 398 +3 880 879 390 +3 938 934 393 +3 945 924 446 +3 931 234 449 +3 435 1003 1005 +3 449 933 945 +3 1005 110 944 +3 1005 944 435 +3 924 923 446 +3 942 931 449 +3 961 241 753 +3 903 227 751 +3 958 950 61 +3 751 905 949 +3 732 240 956 +3 954 240 732 +3 905 189 949 +3 946 903 751 +3 1464 1463 738 +3 741 186 953 +3 738 953 1464 +3 239 950 953 +3 725 353 1408 +3 1401 952 722 +3 738 239 953 +3 958 241 741 +3 957 955 240 +3 950 239 724 +3 734 353 1409 +3 723 957 1408 +3 956 929 184 +3 955 47 730 +3 724 239 952 +3 954 950 724 +3 961 912 750 +3 947 238 753 +3 739 1467 1469 +3 753 949 961 +3 1469 186 960 +3 1469 960 739 +3 912 911 750 +3 958 947 753 +3 439 2 962 +3 514 1346 1348 +3 440 242 963 +3 242 962 965 +3 440 244 972 +3 970 244 440 +3 517 340 1356 +3 962 2 514 +3 443 250 996 +3 524 132 969 +3 443 243 967 +3 243 966 969 +3 996 112 968 +3 994 250 443 +3 524 245 976 +3 974 245 524 +3 1004 1003 442 +3 966 243 445 +3 442 973 1004 +3 445 968 973 +3 972 925 111 +3 971 923 438 +3 442 244 973 +3 970 966 445 +3 977 975 245 +3 963 242 516 +3 526 1357 1388 +3 515 977 1356 +3 1013 132 1025 +3 975 34 522 +3 516 242 965 +3 974 963 516 +3 246 979 980 +3 555 246 978 +3 416 105 980 +3 555 254 1012 +3 416 248 988 +3 986 248 416 +3 1012 140 981 +3 1010 254 555 +3 247 983 984 +3 552 247 982 +3 407 772 984 +3 551 3 983 +3 772 103 984 +3 983 3 407 +3 552 249 992 +3 990 249 552 +3 989 987 248 +3 982 247 409 +3 779 27 987 +3 406 779 987 +3 997 105 1009 +3 987 27 414 +3 780 779 406 +3 986 982 409 +3 1020 1019 554 +3 979 246 557 +3 554 993 1020 +3 557 981 993 +3 553 327 1304 +3 1309 992 550 +3 554 249 993 +3 990 979 557 +3 1009 253 417 +3 978 246 415 +3 1006 998 64 +3 415 980 997 +3 444 252 1004 +3 1002 252 444 +3 980 105 997 +3 994 978 415 +3 1001 999 251 +3 405 251 998 +3 807 8 999 +3 402 807 999 +3 1000 937 110 +3 999 8 434 +3 808 807 402 +3 1006 253 405 +3 1005 1003 252 +3 998 251 436 +3 1003 943 29 +3 435 943 1003 +3 1004 973 112 +3 1003 29 442 +3 436 251 1000 +3 1002 998 436 +3 1009 988 414 +3 995 250 417 +3 1008 1007 403 +3 417 997 1009 +3 813 102 1008 +3 1007 811 403 +3 988 987 414 +3 1006 995 417 +3 1025 257 525 +3 967 243 523 +3 1022 1014 65 +3 523 969 1013 +3 556 256 1020 +3 1018 256 556 +3 969 132 1013 +3 1010 967 523 +3 1017 1015 255 +3 520 255 1014 +3 562 347 1385 +3 519 1017 1384 +3 549 333 1328 +3 1015 10 546 +3 520 257 1024 +3 1022 257 520 +3 1021 1019 256 +3 1014 255 548 +3 558 333 1329 +3 547 1021 1328 +3 1020 993 140 +3 1019 36 554 +3 548 255 1016 +3 1018 1014 548 +3 1025 976 522 +3 1011 254 525 +3 522 257 1025 +3 525 1013 1025 +3 521 347 1384 +3 1389 1024 518 +3 976 975 522 +3 1022 1011 525 +3 471 4 1026 +3 615 1410 1412 +3 472 258 1027 +3 258 1026 1029 +3 472 260 1036 +3 1034 260 472 +3 1412 155 1029 +3 1026 4 615 +3 475 266 1060 +3 624 157 1033 +3 475 259 1031 +3 259 1030 1033 +3 1060 120 1032 +3 1058 266 475 +3 624 261 1040 +3 1038 261 624 +3 1068 1067 474 +3 1030 259 477 +3 474 1037 1068 +3 477 1032 1037 +3 473 311 1240 +3 1245 1036 470 +3 474 260 1037 +3 1034 1030 477 +3 1041 1039 261 +3 1027 258 617 +3 1419 40 1039 +3 614 1041 1420 +3 1077 157 1089 +3 1039 40 622 +3 614 1039 1041 +3 1038 1027 617 +3 262 1043 1044 +3 603 262 1042 +3 496 125 1044 +3 603 270 1076 +3 496 264 1052 +3 1050 264 496 +3 1076 152 1045 +3 1074 270 603 +3 263 1047 1048 +3 600 263 1046 +3 487 1090 1092 +3 599 5 1047 +3 1092 123 1048 +3 1047 5 487 +3 600 265 1056 +3 1054 265 600 +3 1053 1051 264 +3 1046 263 489 +3 1099 32 1051 +3 486 1053 1100 +3 1061 125 1073 +3 1051 32 494 +3 486 1051 1053 +3 1050 1046 489 +3 1084 1083 602 +3 1043 262 605 +3 602 1057 1084 +3 605 1045 1057 +3 601 375 1496 +3 1501 1056 598 +3 602 265 1057 +3 1054 1043 605 +3 1073 269 497 +3 1042 262 495 +3 1070 1062 68 +3 495 1044 1061 +3 476 268 1068 +3 1066 268 476 +3 1044 125 1061 +3 1058 1042 495 +3 1128 1127 482 +3 485 122 1065 +3 482 1065 1128 +3 267 1062 1065 +3 469 317 1264 +3 1257 1064 466 +3 482 267 1065 +3 1070 269 485 +3 1069 1067 268 +3 1062 267 468 +3 478 317 1265 +3 467 1069 1264 +3 1068 1037 120 +3 1067 31 474 +3 468 267 1064 +3 1066 1062 468 +3 1073 1052 494 +3 1059 266 497 +3 483 1131 1133 +3 497 1061 1073 +3 1133 122 1072 +3 1133 1072 483 +3 1052 1051 494 +3 1070 1059 497 +3 1089 273 625 +3 1031 259 623 +3 1086 1078 69 +3 623 1033 1077 +3 604 272 1084 +3 1082 272 604 +3 1033 157 1077 +3 1074 1031 623 +3 1448 1447 610 +3 613 154 1081 +3 610 1081 1448 +3 271 1078 1081 +3 597 381 1520 +3 1513 1080 594 +3 610 271 1081 +3 1086 273 613 +3 1085 1083 272 +3 1078 271 596 +3 606 381 1521 +3 595 1085 1520 +3 1084 1057 152 +3 1083 39 602 +3 596 271 1080 +3 1082 1078 596 +3 1089 1040 622 +3 1075 270 625 +3 611 1451 1453 +3 625 1077 1089 +3 1453 154 1088 +3 1453 1088 611 +3 1040 1039 622 +3 1086 1075 625 +3 487 5 1090 +3 663 1495 1497 +3 488 274 1091 +3 274 1090 1093 +3 488 276 1100 +3 1098 276 488 +3 1497 167 1093 +3 1090 5 663 +3 491 282 1124 +3 672 169 1097 +3 491 275 1095 +3 275 1094 1097 +3 1124 124 1096 +3 1122 282 491 +3 672 277 1104 +3 1102 277 672 +3 1132 1131 490 +3 1094 275 493 +3 490 1101 1132 +3 493 1096 1101 +3 1100 1053 123 +3 1099 1051 486 +3 490 276 1101 +3 1098 1094 493 +3 1105 1103 277 +3 1091 274 665 +3 1503 43 1103 +3 662 1105 1504 +3 1141 169 1153 +3 1103 43 670 +3 662 1103 1105 +3 1102 1091 665 +3 278 1107 1108 +3 699 278 1106 +3 460 116 1108 +3 699 286 1140 +3 460 280 1116 +3 1114 280 460 +3 1140 176 1109 +3 1138 286 699 +3 279 1111 1112 +3 696 279 1110 +3 450 1154 1156 +3 695 7 1111 +3 453 292 1164 +3 1111 7 450 +3 696 281 1120 +3 1118 281 696 +3 1117 1115 280 +3 1110 279 452 +3 462 1165 1196 +3 451 1117 1164 +3 1125 116 1137 +3 1115 30 458 +3 452 279 1112 +3 1114 1110 452 +3 1148 1147 698 +3 1107 278 701 +3 698 1121 1148 +3 701 1109 1121 +3 697 322 1285 +3 1297 1120 694 +3 698 281 1121 +3 1118 1107 701 +3 1137 285 461 +3 1106 278 459 +3 1134 1126 72 +3 459 1108 1125 +3 492 284 1132 +3 1130 284 492 +3 1108 116 1125 +3 1122 1106 459 +3 1129 1127 283 +3 456 283 1126 +3 498 1193 1256 +3 455 1129 1192 +3 1128 1065 122 +3 1127 9 482 +3 456 285 1136 +3 1134 285 456 +3 1133 1131 284 +3 1126 283 484 +3 1131 1071 32 +3 483 1071 1131 +3 1132 1101 124 +3 1131 32 490 +3 484 283 1128 +3 1130 1126 484 +3 1137 1116 458 +3 1123 282 461 +3 458 285 1137 +3 461 1125 1137 +3 457 299 1192 +3 1197 1136 454 +3 1116 1115 458 +3 1134 1123 461 +3 1153 289 673 +3 1095 275 671 +3 1150 1142 73 +3 671 1097 1141 +3 700 288 1148 +3 1146 288 700 +3 1097 169 1141 +3 1138 1095 671 +3 1145 1143 287 +3 661 287 1142 +3 1527 12 1143 +3 658 1145 1528 +3 693 337 1344 +3 1143 12 690 +3 658 1143 1145 +3 1150 289 661 +3 1149 1147 288 +3 1142 287 692 +3 702 337 1345 +3 691 1149 1344 +3 1148 1121 176 +3 1147 45 698 +3 692 287 1144 +3 1146 1142 692 +3 1153 1104 670 +3 1139 286 673 +3 659 1531 1533 +3 673 1141 1153 +3 1533 166 1152 +3 1533 1152 659 +3 1104 1103 670 +3 1150 1139 673 +3 450 7 1154 +3 535 1282 1284 +3 453 290 1155 +3 290 1154 1157 +3 1112 1111 450 +3 1162 292 453 +3 1284 135 1157 +3 1154 7 535 +3 463 298 1188 +3 544 137 1161 +3 463 291 1159 +3 291 1158 1161 +3 1188 117 1160 +3 1186 298 463 +3 544 293 1168 +3 1166 293 544 +3 1196 1195 462 +3 1158 291 465 +3 1164 1163 451 +3 465 1160 1165 +3 1117 114 1164 +3 1163 1115 451 +3 462 292 1165 +3 1162 1158 465 +3 1169 1167 293 +3 1155 290 537 +3 1291 35 1167 +3 534 1169 1292 +3 1205 137 1217 +3 1167 35 542 +3 534 1167 1169 +3 1166 1155 537 +3 294 1171 1172 +3 571 294 1170 +3 512 129 1172 +3 571 302 1204 +3 512 296 1180 +3 1178 296 512 +3 1204 144 1173 +3 1202 302 571 +3 295 1175 1176 +3 568 295 1174 +3 503 1218 1220 +3 567 6 1175 +3 1220 127 1176 +3 1175 6 503 +3 568 297 1184 +3 1182 297 568 +3 1181 1179 296 +3 1174 295 505 +3 1227 33 1179 +3 502 1181 1228 +3 1189 129 1201 +3 1179 33 510 +3 502 1179 1181 +3 1178 1174 505 +3 1212 1211 570 +3 1171 294 573 +3 570 1185 1212 +3 573 1173 1185 +3 569 343 1368 +3 1373 1184 566 +3 570 297 1185 +3 1182 1171 573 +3 1201 301 513 +3 1170 294 511 +3 1198 1190 76 +3 511 1172 1189 +3 464 300 1196 +3 1194 300 464 +3 1172 129 1189 +3 1186 1170 511 +3 1256 1255 498 +3 501 126 1193 +3 1192 1191 455 +3 299 1190 1193 +3 1129 115 1192 +3 1191 1127 455 +3 498 299 1193 +3 1198 301 501 +3 1197 1195 300 +3 1190 299 457 +3 1135 30 1195 +3 454 1135 1195 +3 1196 1165 117 +3 1195 30 462 +3 1136 1135 454 +3 1194 1190 457 +3 1201 1180 510 +3 1187 298 513 +3 499 1259 1261 +3 513 1189 1201 +3 1261 126 1200 +3 1261 1200 499 +3 1180 1179 510 +3 1198 1187 513 +3 1217 305 545 +3 1159 291 543 +3 1214 1206 77 +3 543 1161 1205 +3 572 304 1212 +3 1210 304 572 +3 1161 137 1205 +3 1202 1159 543 +3 1209 1207 303 +3 533 303 1206 +3 1319 10 1207 +3 530 1209 1320 +3 565 349 1392 +3 1207 10 562 +3 530 1207 1209 +3 1214 305 533 +3 1213 1211 304 +3 1206 303 564 +3 574 349 1393 +3 563 1213 1392 +3 1212 1185 144 +3 1211 37 570 +3 564 303 1208 +3 1210 1206 564 +3 1217 1168 542 +3 1203 302 545 +3 531 1323 1325 +3 545 1205 1217 +3 1325 134 1216 +3 1325 1216 531 +3 1168 1167 542 +3 1214 1203 545 +3 503 6 1218 +3 759 1367 1369 +3 504 306 1219 +3 306 1218 1221 +3 504 308 1228 +3 1226 308 504 +3 1369 191 1221 +3 1218 6 759 +3 507 314 1252 +3 768 193 1225 +3 507 307 1223 +3 307 1222 1225 +3 1252 128 1224 +3 1250 314 507 +3 768 309 1232 +3 1230 309 768 +3 1260 1259 506 +3 1222 307 509 +3 506 1229 1260 +3 509 1224 1229 +3 1228 1181 127 +3 1227 1179 502 +3 506 308 1229 +3 1226 1222 509 +3 1233 1231 309 +3 1219 306 761 +3 1375 49 1231 +3 758 1233 1376 +3 1269 193 1281 +3 1231 49 766 +3 758 1231 1233 +3 1230 1219 761 +3 310 1235 1236 +3 719 310 1234 +3 480 121 1236 +3 719 318 1268 +3 480 312 1244 +3 1242 312 480 +3 1268 181 1237 +3 1266 318 719 +3 311 1239 1240 +3 709 311 1238 +3 471 1028 1240 +3 706 4 1239 +3 1028 119 1240 +3 1239 4 471 +3 706 1239 1241 +3 1246 313 709 +3 1245 1243 312 +3 1238 311 473 +3 1035 31 1243 +3 470 1035 1243 +3 1253 121 1265 +3 1243 31 478 +3 1036 1035 470 +3 1242 1238 473 +3 1276 1275 718 +3 1235 310 721 +3 707 1423 1425 +3 721 1237 1249 +3 1425 178 1248 +3 1425 1248 707 +3 718 313 1249 +3 1246 1235 721 +3 1265 317 481 +3 1234 310 479 +3 1262 1254 80 +3 479 1236 1253 +3 508 316 1260 +3 1258 316 508 +3 1236 121 1253 +3 1250 1234 479 +3 1257 1255 315 +3 469 315 1254 +3 1063 9 1255 +3 466 1063 1255 +3 1256 1193 126 +3 1255 9 498 +3 1064 1063 466 +3 1262 317 469 +3 1261 1259 316 +3 1254 315 500 +3 1259 1199 33 +3 499 1199 1259 +3 1260 1229 128 +3 1259 33 506 +3 500 315 1256 +3 1258 1254 500 +3 1265 1244 478 +3 1251 314 481 +3 1264 1263 467 +3 481 1253 1265 +3 1069 118 1264 +3 1263 1067 467 +3 1244 1243 478 +3 1262 1251 481 +3 1281 321 769 +3 1223 307 767 +3 1278 1270 81 +3 767 1225 1269 +3 720 320 1276 +3 1274 320 720 +3 1225 193 1269 +3 1266 1223 767 +3 1400 1399 754 +3 757 190 1273 +3 711 1463 1465 +3 319 1270 1273 +3 1465 179 1272 +3 1465 1272 711 +3 754 319 1273 +3 1278 321 757 +3 1277 1275 320 +3 1270 319 713 +3 1471 46 1275 +3 710 1277 1472 +3 1276 1249 181 +3 1275 46 718 +3 710 1275 1277 +3 1274 1270 713 +3 1281 1232 766 +3 1267 318 769 +3 755 1403 1405 +3 769 1269 1281 +3 1405 190 1280 +3 1405 1280 755 +3 1232 1231 766 +3 1278 1267 769 +3 535 7 1282 +3 695 1113 1285 +3 536 322 1283 +3 322 1282 1285 +3 536 324 1292 +3 1290 324 536 +3 1113 175 1285 +3 1282 7 695 +3 539 330 1316 +3 704 177 1289 +3 539 323 1287 +3 323 1286 1289 +3 1316 136 1288 +3 1314 330 539 +3 704 325 1296 +3 1294 325 704 +3 1324 1323 538 +3 1286 323 541 +3 538 1293 1324 +3 541 1288 1293 +3 1292 1169 135 +3 1291 1167 534 +3 538 324 1293 +3 1290 1286 541 +3 1297 1295 325 +3 1283 322 697 +3 1119 45 1295 +3 694 1119 1295 +3 1333 177 1345 +3 1295 45 702 +3 1120 1119 694 +3 1294 1283 697 +3 326 1299 1300 +3 655 326 1298 +3 560 141 1300 +3 655 334 1332 +3 560 328 1308 +3 1306 328 560 +3 1332 165 1301 +3 1330 334 655 +3 327 1303 1304 +3 645 327 1302 +3 551 985 1304 +3 642 3 1303 +3 985 139 1304 +3 1303 3 551 +3 773 770 642 +3 1310 329 645 +3 1309 1307 328 +3 1302 327 553 +3 991 36 1307 +3 550 991 1307 +3 1317 141 1329 +3 1307 36 558 +3 992 991 550 +3 1306 1302 553 +3 1340 1339 654 +3 1299 326 657 +3 1312 1311 643 +3 657 1301 1313 +3 785 162 1312 +3 1311 783 643 +3 654 329 1313 +3 1310 1299 657 +3 1329 333 561 +3 1298 326 559 +3 1326 1318 84 +3 559 1300 1317 +3 540 332 1324 +3 1322 332 540 +3 1300 141 1317 +3 1314 1298 559 +3 1321 1016 546 +3 549 138 1321 +3 546 331 1321 +3 331 1318 1321 +3 1320 1209 134 +3 1319 1207 530 +3 1016 1015 546 +3 1326 333 549 +3 1325 1323 332 +3 1318 331 532 +3 1323 1215 35 +3 531 1215 1323 +3 1324 1293 136 +3 1323 35 538 +3 532 331 1320 +3 1322 1318 532 +3 1329 1308 558 +3 1315 330 561 +3 1328 1327 547 +3 561 1317 1329 +3 1021 138 1328 +3 1327 1019 547 +3 1308 1307 558 +3 1326 1315 561 +3 1345 337 705 +3 1287 323 703 +3 1342 1334 85 +3 703 1289 1333 +3 656 336 1340 +3 1338 336 656 +3 1289 177 1333 +3 1330 1287 703 +3 1337 1144 690 +3 693 174 1337 +3 1336 1335 647 +3 335 1334 1337 +3 825 163 1336 +3 1335 823 647 +3 1144 1143 690 +3 1342 337 693 +3 1341 1339 336 +3 1334 335 649 +3 831 42 1339 +3 646 831 1339 +3 1340 1313 165 +3 1339 42 654 +3 832 831 646 +3 1338 1334 649 +3 1345 1296 702 +3 1331 334 705 +3 1344 1343 691 +3 705 1333 1345 +3 1149 174 1344 +3 1343 1147 691 +3 1296 1295 702 +3 1342 1331 705 +3 514 2 1346 +3 727 921 1349 +3 517 338 1347 +3 338 1346 1349 +3 965 962 514 +3 1354 340 517 +3 921 183 1349 +3 1346 2 727 +3 527 346 1380 +3 736 185 1353 +3 527 339 1351 +3 339 1350 1353 +3 1380 133 1352 +3 1378 346 527 +3 736 341 1360 +3 1358 341 736 +3 1388 1387 526 +3 1350 339 529 +3 1356 1355 515 +3 529 1352 1357 +3 977 130 1356 +3 1355 975 515 +3 526 340 1357 +3 1354 1350 529 +3 1361 1359 341 +3 1347 338 729 +3 927 47 1359 +3 726 927 1359 +3 1397 185 1409 +3 1359 47 734 +3 928 927 726 +3 1358 1347 729 +3 342 1363 1364 +3 763 342 1362 +3 576 145 1364 +3 763 350 1396 +3 576 344 1372 +3 1370 344 576 +3 1396 192 1365 +3 1394 350 763 +3 343 1367 1368 +3 760 343 1366 +3 567 1177 1368 +3 759 6 1367 +3 1177 143 1368 +3 1367 6 567 +3 760 345 1376 +3 1374 345 760 +3 1373 1371 344 +3 1366 343 569 +3 1183 37 1371 +3 566 1183 1371 +3 1381 145 1393 +3 1371 37 574 +3 1184 1183 566 +3 1370 1366 569 +3 1404 1403 762 +3 1363 342 765 +3 762 1377 1404 +3 765 1365 1377 +3 1376 1233 191 +3 1375 1231 758 +3 762 345 1377 +3 1374 1363 765 +3 1393 349 577 +3 1362 342 575 +3 1390 1382 88 +3 575 1364 1381 +3 528 348 1388 +3 1386 348 528 +3 1364 145 1381 +3 1378 1362 575 +3 1385 1208 562 +3 565 142 1385 +3 1384 1383 519 +3 347 1382 1385 +3 1017 131 1384 +3 1383 1015 519 +3 1208 1207 562 +3 1390 349 565 +3 1389 1387 348 +3 1382 347 521 +3 1023 34 1387 +3 518 1023 1387 +3 1388 1357 133 +3 1387 34 526 +3 1024 1023 518 +3 1386 1382 521 +3 1393 1372 574 +3 1379 346 577 +3 1392 1391 563 +3 577 1381 1393 +3 1213 142 1392 +3 1391 1211 563 +3 1372 1371 574 +3 1390 1379 577 +3 1409 353 737 +3 1351 339 735 +3 1406 1398 89 +3 735 1353 1397 +3 764 352 1404 +3 1402 352 764 +3 1353 185 1397 +3 1394 1351 735 +3 1401 1399 351 +3 725 351 1398 +3 951 13 1399 +3 722 951 1399 +3 1400 1273 190 +3 1399 13 754 +3 952 951 722 +3 1406 353 725 +3 1405 1403 352 +3 1398 351 756 +3 1403 1279 49 +3 755 1279 1403 +3 1404 1377 192 +3 1403 49 762 +3 756 351 1400 +3 1402 1398 756 +3 1409 1360 734 +3 1395 350 737 +3 1408 1407 723 +3 737 1397 1409 +3 957 182 1408 +3 1407 955 723 +3 1360 1359 734 +3 1406 1395 737 +3 615 4 1410 +3 706 1241 1413 +3 616 354 1411 +3 354 1410 1413 +3 616 356 1420 +3 1418 356 616 +3 1413 1241 178 +3 1410 4 706 +3 619 362 1444 +3 716 180 1417 +3 619 355 1415 +3 355 1414 1417 +3 1444 156 1416 +3 1442 362 619 +3 716 357 1424 +3 1422 357 716 +3 1452 1451 618 +3 1414 355 621 +3 618 1421 1452 +3 621 1416 1421 +3 1420 1041 155 +3 1419 1039 614 +3 618 356 1421 +3 1418 1414 621 +3 1425 1423 357 +3 1411 354 708 +3 1423 1247 46 +3 707 1247 1423 +3 1461 180 1473 +3 1423 46 714 +3 708 354 1413 +3 1422 1411 708 +3 358 1427 1428 +3 747 358 1426 +3 588 148 1428 +3 747 366 1460 +3 588 360 1436 +3 1434 360 588 +3 1460 188 1429 +3 1458 366 747 +3 359 1431 1432 +3 744 359 1430 +3 578 857 1432 +3 743 0 1431 +3 1432 857 146 +3 1431 0 578 +3 744 361 1440 +3 1438 361 744 +3 1437 1435 360 +3 1430 359 580 +3 1435 863 38 +3 579 863 1435 +3 1445 148 1457 +3 1435 38 586 +3 580 359 1432 +3 1434 1430 580 +3 1468 1467 746 +3 1427 358 749 +3 746 1441 1468 +3 749 1429 1441 +3 1440 913 187 +3 1439 911 742 +3 746 361 1441 +3 1438 1427 749 +3 1457 365 589 +3 1426 358 587 +3 1454 1446 92 +3 587 1428 1445 +3 620 364 1452 +3 1450 364 620 +3 1428 148 1445 +3 1442 1426 587 +3 1449 1447 363 +3 584 363 1446 +3 1447 887 11 +3 583 887 1447 +3 1448 1081 154 +3 1447 11 610 +3 584 365 1456 +3 1454 365 584 +3 1453 1451 364 +3 1446 363 612 +3 1451 1087 40 +3 611 1087 1451 +3 1452 1421 156 +3 1451 40 618 +3 612 363 1448 +3 1450 1446 612 +3 1457 1436 586 +3 1443 362 589 +3 586 365 1457 +3 589 1445 1457 +3 1456 893 147 +3 1455 891 582 +3 1436 1435 586 +3 1454 1443 589 +3 1473 369 717 +3 1415 355 715 +3 1470 1462 93 +3 715 1417 1461 +3 748 368 1468 +3 1466 368 748 +3 1417 180 1461 +3 1458 1415 715 +3 1465 1463 367 +3 712 367 1462 +3 1463 1271 13 +3 711 1271 1463 +3 1464 953 186 +3 1463 13 738 +3 712 369 1472 +3 1470 369 712 +3 1469 1467 368 +3 1462 367 740 +3 1467 959 48 +3 739 959 1467 +3 1468 1441 188 +3 1467 48 746 +3 740 367 1464 +3 1466 1462 740 +3 1473 1424 714 +3 1459 366 717 +3 714 369 1473 +3 717 1461 1473 +3 1472 1277 179 +3 1471 1275 710 +3 1424 1423 714 +3 1470 1459 717 +3 631 1 1474 +3 679 793 1477 +3 632 370 1475 +3 370 1474 1477 +3 632 372 1484 +3 1482 372 632 +3 793 171 1477 +3 1474 1 679 +3 635 378 1508 +3 688 173 1481 +3 635 371 1479 +3 371 1478 1481 +3 1508 160 1480 +3 1506 378 635 +3 688 373 1488 +3 1486 373 688 +3 1516 1515 634 +3 1478 371 637 +3 634 1485 1516 +3 637 1480 1485 +3 1484 849 159 +3 1483 847 630 +3 634 372 1485 +3 1482 1478 637 +3 1489 1487 373 +3 1475 370 681 +3 799 44 1487 +3 678 799 1487 +3 1525 173 1537 +3 1487 44 686 +3 800 799 678 +3 1486 1475 681 +3 374 1491 1492 +3 667 374 1490 +3 608 153 1492 +3 667 382 1524 +3 608 376 1500 +3 1498 376 608 +3 1524 168 1493 +3 1522 382 667 +3 375 1495 1496 +3 664 375 1494 +3 599 1049 1496 +3 663 5 1495 +3 1049 151 1496 +3 1495 5 599 +3 664 377 1504 +3 1502 377 664 +3 1501 1499 376 +3 1494 375 601 +3 1055 39 1499 +3 598 1055 1499 +3 1509 153 1521 +3 1499 39 606 +3 1056 1055 598 +3 1498 1494 601 +3 1532 1531 666 +3 1491 374 669 +3 666 1505 1532 +3 669 1493 1505 +3 1504 1105 167 +3 1503 1103 662 +3 666 377 1505 +3 1502 1491 669 +3 1521 381 609 +3 1490 374 607 +3 1518 1510 96 +3 607 1492 1509 +3 636 380 1516 +3 1514 380 636 +3 1492 153 1509 +3 1506 1490 607 +3 1513 1511 379 +3 597 379 1510 +3 1079 11 1511 +3 594 1079 1511 +3 1512 889 158 +3 1511 11 626 +3 1080 1079 594 +3 1518 381 597 +3 1517 1515 380 +3 1510 379 628 +3 1515 895 41 +3 627 895 1515 +3 1516 1485 160 +3 1515 41 634 +3 628 379 1512 +3 1514 1510 628 +3 1521 1500 606 +3 1507 378 609 +3 1520 1519 595 +3 609 1509 1521 +3 1085 150 1520 +3 1519 1083 595 +3 1500 1499 606 +3 1518 1507 609 +3 1537 385 689 +3 1479 371 687 +3 1534 1526 97 +3 687 1481 1525 +3 668 384 1532 +3 1530 384 668 +3 1481 173 1525 +3 1522 1479 687 +3 1529 824 674 +3 677 170 1529 +3 674 383 1529 +3 383 1526 1529 +3 1528 1145 166 +3 1527 1143 658 +3 824 823 674 +3 1534 385 677 +3 1533 1531 384 +3 1526 383 660 +3 1531 1151 43 +3 659 1151 1531 +3 1532 1505 168 +3 1531 43 666 +3 660 383 1528 +3 1530 1526 660 +3 1537 1488 686 +3 1523 382 689 +3 1536 1535 675 +3 689 1525 1537 +3 829 170 1536 +3 1535 827 675 +3 1488 1487 686 +3 1534 1523 689 + diff --git a/Polygon_mesh_processing/test/Polygon_mesh_processing/data/decimation/am2.off b/Polygon_mesh_processing/test/Polygon_mesh_processing/data/decimation/am2.off new file mode 100644 index 00000000000..876a1b694c5 --- /dev/null +++ b/Polygon_mesh_processing/test/Polygon_mesh_processing/data/decimation/am2.off @@ -0,0 +1,10986 @@ +OFF +3662 7320 0 + +-0.26157850027084351 -0.66797298192977905 -0.69669848680496216 +-0.21234190464019775 -0.65114235877990723 -0.73132127523422241 +-0.22672553360462189 -0.71133261919021606 -0.66821229457855225 +0.23078745603561401 -0.49966663122177124 -1.0429263114929199 +0.28002405166625977 -0.48283600807189941 -1.0775490999221802 +0.18155086040496826 -0.51649725437164307 -1.0083035230636597 +0.32926064729690552 -0.46600538492202759 -1.1121718883514404 +0.37849724292755127 -0.44917473196983337 -1.1467946767807007 +0.42773383855819702 -0.43234410881996155 -1.1814174652099609 +0.47697043418884277 -0.41551345586776733 -1.2160402536392212 +0.083077669143676758 -0.55015856027603149 -0.93905794620513916 +0.033841073513031006 -0.56698918342590332 -0.90443515777587891 +0.13231426477432251 -0.53332793712615967 -0.97368073463439941 +-0.015395522117614746 -0.58381980657577515 -0.86981242895126343 +-0.11386871337890625 -0.6174810528755188 -0.80056685209274292 +-0.163105309009552 -0.6343117356300354 -0.76594406366348267 +-0.064632117748260498 -0.60065042972564697 -0.83518964052200317 +-0.19187256693840027 -0.75469225645065308 -0.63972610235214233 +-0.15701961517333984 -0.79805189371109009 -0.61123991012573242 +0.2612159252166748 -1.318367600440979 -0.26940575242042542 +0.29606890678405762 -1.361727237701416 -0.2409195601940155 +0.22636297345161438 -1.275007963180542 -0.29789191484451294 +0.31241756677627563 -1.3199789524078369 -0.19737592339515686 +0.52620702981948853 -0.39868283271789551 -1.2506630420684814 +0.54255568981170654 -0.35693454742431641 -1.2071194648742676 +-0.052460730075836182 -0.9281308650970459 -0.52578139305114746 +-0.087313681840896606 -0.88477116823196411 -0.55426758527755737 +-0.017607763409614563 -0.97149050235748291 -0.49729520082473755 +-0.12216664850711823 -0.8414115309715271 -0.58275377750396729 +0.086951136589050293 -1.1015694141387939 -0.4118366539478302 +0.05209815502166748 -1.0582097768783569 -0.44032284617424011 +0.12180408835411072 -1.144929051399231 -0.38335046172142029 +0.017245203256607056 -1.0148501396179199 -0.46880900859832764 +0.19151002168655396 -1.231648325920105 -0.32637810707092285 +0.15665704011917114 -1.188288688659668 -0.35486429929733276 +0.54129874706268311 -0.73550254106521606 0.41223526000976562 +0.55764740705490112 -0.69375425577163696 0.45577892661094666 +0.52495008707046509 -0.77725088596343994 0.36869162321090698 +0.60688400268554688 -0.67692363262176514 0.4211561381816864 +0.50860142707824707 -0.81899917125701904 0.32514795660972595 +0.49225276708602905 -0.86074751615524292 0.28160429000854492 +0.44320681691169739 -0.985992431640625 0.15097334980964661 +0.45955547690391541 -0.9442441463470459 0.19451698660850525 +0.42685815691947937 -1.0277407169342041 0.10742968320846558 +0.47590410709381104 -0.90249580144882202 0.23806065320968628 +0.37781220674514771 -1.152985692024231 -0.023201286792755127 +0.39416083693504333 -1.1112374067306519 0.020342379808425903 +0.36146354675292969 -1.1947339773178101 -0.066744953393936157 +0.41050949692726135 -1.0694890022277832 0.063886016607284546 +0.32876622676849365 -1.2782306671142578 -0.15383222699165344 +0.34511488676071167 -1.2364823818206787 -0.1102885901927948 +0.65612059831619263 -0.66009300947189331 0.38653334975242615 +0.70535719394683838 -0.64326232671737671 0.35191059112548828 +1.2961963415145874 -0.44129472970962524 -0.063562840223312378 +1.3454329967498779 -0.42446410655975342 -0.098185628652572632 +1.2469596862792969 -0.45812538266181946 -0.028940051794052124 +1.3105800151824951 -0.38110446929931641 -0.12667182087898254 +1.1977231502532959 -0.47495600581169128 0.0056827366352081299 +1.1484866142272949 -0.4917866587638855 0.040305525064468384 +1.0007767677307129 -0.54227852821350098 0.14417386054992676 +1.0500133037567139 -0.52544790506362915 0.1095510721206665 +0.95154017210006714 -0.55910921096801758 0.17879664897918701 +1.0992499589920044 -0.50861728191375732 0.07492828369140625 +0.80383038520812988 -0.60960108041763306 0.28266501426696777 +0.85306698083877563 -0.59277045726776123 0.24804222583770752 +0.75459378957748413 -0.62643170356750488 0.31728780269622803 +0.90230357646942139 -0.5759398341178894 0.21341943740844727 +0.82263851165771484 0.22593051195144653 -0.52547836303710938 +0.78778553009033203 0.26929014921188354 -0.55396455526351929 +0.85749143362045288 0.18257087469100952 -0.49699220061302185 +0.77143687009811401 0.22754183411598206 -0.59750819206237793 +1.2757270336151123 -0.33774483203887939 -0.15515798330307007 +1.2408740520477295 -0.29438519477844238 -0.18364417552947998 +0.89234441518783569 0.13921122252941132 -0.46850600838661194 +0.92719739675521851 0.095851585268974304 -0.44001981616020203 +1.0317562818527222 -0.034227341413497925 -0.35456126928329468 +0.99690330028533936 0.0091322958469390869 -0.38304746150970459 +1.066609263420105 -0.077586978673934937 -0.32607507705688477 +0.96205031871795654 0.052491948008537292 -0.4115336537361145 +1.1363151073455811 -0.16430625319480896 -0.26910272240638733 +1.1711680889129639 -0.20766589045524597 -0.24061653017997742 +1.1014621257781982 -0.12094661593437195 -0.29758891463279724 +1.2060210704803467 -0.25102555751800537 -0.21213036775588989 +0.755088210105896 0.18579351902008057 -0.64105188846588135 +0.73873955011367798 0.14404521882534027 -0.68459552526473999 +0.68969357013702393 0.018800288438796997 -0.81522649526596069 +0.70604223012924194 0.060548588633537292 -0.77168285846710205 +0.67334496974945068 -0.022948026657104492 -0.85877013206481934 +0.72239089012145996 0.10229690372943878 -0.72813916206359863 +0.62429893016815186 -0.14819297194480896 -0.98940110206604004 +0.64064764976501465 -0.10644465684890747 -0.9458574652671814 +0.60795032978057861 -0.18994128704071045 -1.0329447984695435 +0.65699625015258789 -0.064696341753005981 -0.90231382846832275 +0.55890434980392456 -0.31518620252609253 -1.1635756492614746 +0.57525300979614258 -0.27343791723251343 -1.1200320720672607 +0.5916016697883606 -0.23168957233428955 -1.0764884948730469 +0.49171668291091919 1.6310174465179443 -0.31304499506950378 +-1.0838544368743896 1.0924370288848877 0.7948840856552124 +0.031440377235412598 -0.29507142305374146 1.7064419984817505 +-1.6070115566253662 -0.24350887537002563 -0.59851288795471191 +1.6070115566253662 0.24350887537002563 0.59851288795471191 +-0.031440377235412598 0.29507142305374146 -1.7064419984817505 +-0.49171668291091919 -1.6310174465179443 0.31304499506950378 +0.34015974402427673 -0.43817317485809326 -1.0831427574157715 +-0.053733021020889282 -0.57281821966171265 -0.80616050958633423 +0.23053331673145294 -0.35511422157287598 -0.82258802652359009 +0.2142481803894043 -0.43300062417984009 -0.92121624946594238 +-0.16335947811603546 -0.48975929617881775 -0.54560571908950806 +-0.17294856905937195 -0.52988612651824951 -0.50353306531906128 +-0.032570227980613708 -0.15577282011508942 -0.19725647568702698 +-0.042159315198659897 -0.19589966535568237 -0.15518383681774139 +0.055258020758628845 -0.29449617862701416 -0.51586949825286865 +-0.048664718866348267 -0.34207352995872498 -0.46113848686218262 +0.019521705806255341 -0.47959285974502563 -0.20537540316581726 +-0.044734664261341095 -0.37895745038986206 -0.24783320724964142 +0.18604728579521179 0.03949032723903656 -0.16752023994922638 +0.22018168866634369 0.038416109979152679 -0.11950035393238068 +0.57994002103805542 0.17413540184497833 -0.44450250267982483 +0.6140744686126709 0.17306119203567505 -0.39648261666297913 +0.29567372798919678 -0.04356858879327774 -0.42807507514953613 +0.31195884943008423 0.034317813813686371 -0.32944679260253906 +0.56612902879714966 -0.027573063969612122 -0.18611940741539001 +0.51283526420593262 0.064756430685520172 -0.25463271141052246 +0.68956649303436279 0.091076478362083435 -0.70505732297897339 +0.55877727270126343 -0.2429099977016449 -1.0534065961837769 +0.47094899415969849 -0.10418666899204254 -0.73479354381561279 +0.57487177848815918 -0.056609302759170532 -0.78952455520629883 +0.46901744604110718 -0.83184105157852173 0.26261353492736816 +0.33822822570800781 -1.1658275127410889 -0.085735738277435303 +0.27654719352722168 -0.88213443756103516 -0.03554418683052063 +0.34080356359481812 -0.98276978731155396 0.0069136619567871094 +1.125251293182373 -0.46288019418716431 0.021314740180969238 +0.73135846853256226 -0.59752523899078369 0.29829698801040649 +0.7793039083480835 -0.39689105749130249 0.087933748960494995 +0.83259761333465576 -0.48922055959701538 0.15644708275794983 +0.89437299966812134 0.084631159901618958 -0.41693797707557678 +1.1731966733932495 -0.26224598288536072 -0.18904852867126465 +0.89289820194244385 -0.17381595075130463 -0.1685931384563446 +1.0029890537261963 -0.15460789203643799 -0.22834333777427673 +0.40733644366264343 -0.54814791679382324 0.31280508637428284 +0.45105993747711182 -0.50909531116485596 0.31875231862068176 +0.12851274013519287 -0.20127077400684357 0.084915623068809509 +0.17223624885082245 -0.16221813857555389 0.090862870216369629 +0.23666439950466156 -0.54277682304382324 0.072705641388893127 +0.28097933530807495 -0.47373339533805847 0.16928833723068237 +0.45253479480743408 -0.2506481409072876 0.07040753960609436 +0.34244394302368164 -0.26985621452331543 0.1301577091217041 +-0.11126755177974701 -0.81357932090759277 -0.55372464656829834 +0.16755613684654236 -1.1604564189910889 -0.32583516836166382 +0.059404537081718445 -0.81895041465759277 -0.31362521648406982 +0.015089556574821472 -0.88799381256103516 -0.41020786762237549 +0.22996141016483307 -0.029871337115764618 -0.32682675123214722 +-0.097964853048324585 -0.32276606559753418 -0.37143111228942871 +0.10956291854381561 -0.046920817345380783 -0.20547020435333252 +0.29624563455581665 -0.36881151795387268 -0.92383629083633423 +0.46043115854263306 -0.34884747862815857 -1.0943300724029541 +0.62417185306549072 -0.075916767120361328 -0.87923192977905273 +0.37266644835472107 -0.24626222252845764 -0.83080172538757324 +-0.021226316690444946 -0.38090729713439941 -0.55381941795349121 +-0.097647152841091156 -0.50345659255981445 -0.64685404300689697 +0.14321336150169373 -0.50549566745758057 -0.94465160369873047 +0.54743337631225586 -0.017775505781173706 -0.69684356451034546 +0.24111467599868774 -0.14659152925014496 -0.51813602447509766 +0.62385416030883789 0.10477374494075775 -0.60380899906158447 +0.3829936683177948 0.10681286454200745 -0.3060113787651062 +0.037008613348007202 -0.170215904712677 -0.030114945024251938 +0.011916503310203552 -0.36665266752243042 -0.16128882765769958 +0.26792460680007935 -0.37470933794975281 0.19886036217212677 +0.11575683951377869 -0.45444619655609131 -0.056296572089195251 +0.28415241837501526 -0.99507451057434082 -0.07963070273399353 +0.25906029343605042 -1.1915113925933838 -0.21080458164215088 +0.028144299983978271 -0.98701786994934082 -0.43977987766265869 +0.18031205236911774 -0.90728104114532471 -0.18462300300598145 +0.3111012876033783 -0.57329452037811279 0.16372624039649963 +0.41494166851043701 -0.66108804941177368 0.26871851086616516 +0.4036228358745575 -0.99883425235748291 0.088438898324966431 +-0.015032410621643066 -0.78843271732330322 -0.40464580059051514 +-0.11887276172637939 -0.70063918828964233 -0.50963807106018066 +-0.10755394399166107 -0.36289292573928833 -0.32935845851898193 +0.58641469478607178 -0.57337373495101929 0.32956099510192871 +0.73209589719772339 -0.46830174326896667 0.17412459850311279 +0.31164810061454773 -0.33565670251846313 0.20480760931968689 +0.6063302755355835 -0.36389642953872681 0.12124328315258026 +0.61333703994750977 0.043837621808052063 -0.27231022715568542 +0.75901824235916138 0.14890959858894348 -0.42774662375450134 +1.0337848663330078 -0.088807404041290283 -0.30299323797225952 +0.73910266160964966 -0.060567647218704224 -0.21942894160747528 +0.34520989656448364 -0.195212721824646 0.057553350925445557 +0.21944427490234375 -0.090807452797889709 0.0046720504760742188 +0.41712808609008789 0.10573864728212357 -0.2579914927482605 +1.0002230405807495 -0.22925135493278503 -0.15573897957801819 +1.1259887218475342 -0.3336566686630249 -0.10285767912864685 +0.92830485105514526 -0.53020274639129639 0.15980586409568787 +0.3454822301864624 -0.35198086500167847 -0.95845907926559448 +0.39471882581710815 -0.33515024185180664 -0.99308180809020996 +-0.16316884756088257 -0.59817361831665039 -0.71085947751998901 +-0.13040798902511597 -0.55081510543823242 -0.67885673046112061 +-0.037384346127510071 -0.53106987476348877 -0.76261687278747559 +0.16488449275493622 -0.37755507230758667 -0.77642428874969482 +0.10393396019935608 -0.40355563163757324 -0.74142718315124512 +0.15564225614070892 -0.45819967985153198 -0.88786792755126953 +0.21393045783042908 -0.25231015682220459 -0.64579331874847412 +0.26316702365875244 -0.23547951877117157 -0.68041610717773438 +0.32887938618659973 -0.24917677044868469 -0.78166437149047852 +0.2797698974609375 -0.33828359842300415 -0.85721081495285034 +-0.19947776198387146 -0.64175206422805786 -0.59563952684402466 +-0.037574976682662964 -0.4226556122303009 -0.59736311435699463 +-0.15917524695396423 -0.6711956262588501 -0.55263876914978027 +-0.13809560239315033 -0.57324576377868652 -0.47504690289497375 +0.065775878727436066 -0.049835354089736938 -0.15633288025856018 +0.016666367650032043 -0.1389421820640564 -0.23187926411628723 +0.028265155851840973 -0.32490438222885132 -0.11774517595767975 +0.077056236565113068 -0.23883174359798431 -0.45781129598617554 +-0.037014342844486237 -0.29676556587219238 -0.40642818808555603 +0.19732764363288879 -0.14950606226921082 -0.46899864077568054 +0.16469386219978333 -0.26914077997207642 -0.61117053031921387 +0.038909360766410828 -0.33624446392059326 -0.55941313505172729 +0.13161531090736389 -0.13580881059169769 -0.36775034666061401 +-0.0022765100002288818 -0.53525727987289429 -0.26343363523483276 +-0.026718184351921082 -0.57876336574554443 -0.31934076547622681 +-0.068397857248783112 -0.42047560214996338 -0.30166688561439514 +0.10228237509727478 -0.66533619165420532 -0.17797508835792542 +0.11102583259344101 -0.51064771413803101 -0.090344846248626709 +0.035870358347892761 -0.43784451484680176 -0.16183176636695862 +0.065712332725524902 -0.013697255402803421 -0.10124829411506653 +0.11691395938396454 -0.01530858501791954 -0.029218455776572227 +0.18072479963302612 -0.046701975166797638 -0.29220396280288696 +0.16817912459373474 -0.053058013319969177 -0.012273203581571579 +0.25503465533256531 -0.0049435272812843323 -0.091014169156551361 +0.68937587738037109 0.19949077069759369 -0.53980356454849243 +0.65661501884460449 0.15213224291801453 -0.57180631160736084 +0.5635913610458374 0.13238710165023804 -0.48804616928100586 +0.66257363557815552 0.060668259859085083 -0.30693301558494568 +0.71181023120880127 0.077498897910118103 -0.34155577421188354 +0.36132258176803589 -0.021127745509147644 -0.47423875331878662 +0.42227303981781006 0.0048727542161941528 -0.50923579931259155 +0.3705647885799408 0.059516876935958862 -0.36279517412185669 +0.31227660179138184 -0.14637267589569092 -0.60486972332000732 +0.24643714725971222 -0.06039922684431076 -0.39345225691795349 +0.50048023462295532 -0.050013907253742218 -0.13995569944381714 +0.43688622117042542 -0.063856147229671478 -0.10280753672122955 +0.45158588886260986 0.051715649664402008 -0.21913325786590576 +0.60503911972045898 -0.18009284138679504 -0.05449715256690979 +0.65427565574645996 -0.16326220333576202 -0.089119911193847656 +0.70148372650146484 -0.091851502656936646 -0.17531076073646545 +0.61536562442779541 -0.010742425918579102 -0.22074219584465027 +0.56378203630447388 0.023972809314727783 -0.65329992771148682 +0.50421822071075439 -0.34593290090560913 -1.1434674263000488 +0.50954067707061768 -0.25974065065383911 -1.0187838077545166 +0.44859015941619873 -0.28574120998382568 -0.98378670215606689 +0.44915080070495605 -0.15985108911991119 -0.79285180568695068 +0.43672192096710205 -0.20714706182479858 -0.84963560104370117 +0.56322139501571655 -0.10191729664802551 -0.84423494338989258 +0.36151319742202759 -0.1295420378446579 -0.63949251174926758 +0.4872976541519165 -0.062438353896141052 -0.69124990701675415 +0.49554666876792908 -0.71997511386871338 0.35471996665000916 +0.45524415373802185 -0.69053161144256592 0.31171926856040955 +0.43416452407836914 -0.78848141431808472 0.23412732779979706 +0.26780375838279724 -1.0368227958679199 -0.12317436933517456 +0.25145509839057922 -1.0785712003707886 -0.1667180061340332 +0.29834538698196411 -0.8264700174331665 0.022514045238494873 +0.32278710603713989 -0.78296387195587158 0.078421205282211304 +0.36446675658226013 -0.94125163555145264 0.060747295618057251 +0.19378650188446045 -0.69639104604721069 -0.062944501638412476 +0.17743785679340363 -0.73813939094543457 -0.10648813843727112 +0.18504306674003601 -0.85107952356338501 -0.15057471394538879 +0.26019853353500366 -0.92388272285461426 -0.079087823629379272 +1.2285189628601074 -0.40915554761886597 -0.068967163562774658 +1.1772538423538208 -0.37140610814094543 -0.085912406444549561 +1.0903983116149902 -0.41952055692672729 -0.0071714520454406738 +0.68285930156707764 -0.48513239622116089 0.20874738693237305 +0.84495270252227783 -0.3744502067565918 0.041770040988922119 +0.90854668617248535 -0.36060798168182373 0.0046219527721405029 +0.89384710788726807 -0.47617977857589722 0.12094762921333313 +0.74039387702941895 -0.24437126517295837 -0.043688505887985229 +0.64394921064376831 -0.33261260390281677 0.077125132083892822 +0.73006731271743774 -0.41372168064117432 0.12255655229091644 +0.79663717746734619 0.1801934540271759 -0.47186478972434998 +0.84513640403747559 0.067800521850585938 -0.38231515884399414 +0.78154242038726807 0.053958296775817871 -0.34516704082489014 +1.0350760221481323 -0.27261099219322205 -0.12725278735160828 +0.8464275598526001 -0.11600308120250702 -0.20657472312450409 +0.81196975708007812 -0.061980098485946655 -0.24543298780918121 +0.97019088268280029 -0.10264962911605835 -0.26584511995315552 +0.78963041305541992 -0.22754062712192535 -0.078311294317245483 +0.92775112390518188 -0.21717558801174164 -0.14010694622993469 +0.34595426917076111 -0.6166541576385498 0.19221243262290955 +0.50029653310775757 -0.49226465821266174 0.2841295599937439 +0.56389057636260986 -0.47842240333557129 0.2469814121723175 +0.11216409504413605 -0.24301907420158386 0.041371971368789673 +0.087722405791282654 -0.28652521967887878 -0.014535173773765564 +0.31035694479942322 -0.15185308456420898 0.029067158699035645 +0.1901937872171402 -0.48496395349502563 0.034724056720733643 +0.24348293244838715 -0.41821545362472534 0.14295323193073273 +0.21013516187667847 -0.65464270114898682 -0.019400864839553833 +0.27151733636856079 -0.58613646030426025 0.10119183361530304 +0.49900540709495544 -0.30846101045608521 0.10838912427425385 +0.37524211406707764 -0.32181450724601746 0.1676594614982605 +0.55580252408981323 -0.19692346453666687 -0.019874349236488342 +0.41768181324005127 -0.20728851854801178 0.041921362280845642 +-0.049885377287864685 -0.74507308006286621 -0.43313199281692505 +0.25432929396629333 -1.2477128505706787 -0.24485290050506592 +0.18390481173992157 -1.1187081336975098 -0.28229153156280518 +0.20834650099277496 -1.0752019882202148 -0.22638437151908875 +0.10587514936923981 -0.87676328420639038 -0.27564361691474915 +0.14503121376037598 -0.93434596061706543 -0.24795204401016235 +0.052586004137992859 -0.94351178407669067 -0.38387280702590942 +0.085933715105056763 -0.7070845365524292 -0.22151872515678406 +0.024551555514335632 -0.77559077739715576 -0.34211137890815735 +0.02198883518576622 -0.052749883383512497 -0.10719554126262665 +0.089485131204128265 -0.19153574109077454 -0.40102750062942505 +-0.049045968800783157 -0.12524493038654327 -0.1306309700012207 +0.098663821816444397 -0.074753031134605408 -0.23449932038784027 +0.17361839115619659 -0.0078056603670120239 -0.22430403530597687 +0.19726409018039703 -0.1133679673075676 -0.41391405463218689 +0.23021557927131653 -0.17442373931407928 -0.54716503620147705 +0.33547747135162354 0.001031726598739624 -0.40888765454292297 +-0.11444059014320374 -0.29223817586898804 -0.30480557680130005 +-0.010517850518226624 -0.24466079473495483 -0.35953661799430847 +0.26929983496665955 0.012503638863563538 -0.31045728921890259 +0.077616885304450989 -0.1129416823387146 -0.26687633991241455 +0.27362138032913208 0.045319389551877975 -0.26579490303993225 +0.32849812507629395 -0.032348170876502991 -0.45115691423416138 +0.32151883840560913 -0.065728068351745605 -0.49342614412307739 +0.24618297815322876 0.084153175354003906 -0.17311392724514008 +0.19694638252258301 0.067322537302970886 -0.13849113881587982 +0.35258859395980835 -0.39087715744972229 -1.0263590812683105 +0.32881587743759155 -0.21303866803646088 -0.72657984495162964 +0.19072958827018738 -0.39971452951431274 -0.84177541732788086 +0.36176735162734985 -0.27409446239471436 -0.85983085632324219 +0.46036761999130249 -0.31270939111709595 -1.03924560546875 +0.25690716505050659 -0.41118645668029785 -0.94020569324493408 +0.25258564949035645 -0.44400221109390259 -0.98486816883087158 +0.19770888984203339 -0.36633464694023132 -0.79950618743896484 +0.20468822121620178 -0.3329547643661499 -0.75723695755004883 +0.34072038531303406 -0.31228309869766235 -0.8922078013420105 +0.53672486543655396 -0.15402200818061829 -0.89112639427185059 +0.14840875566005707 -0.34702721238136292 -0.70979875326156616 +0.0216187983751297 -0.28705427050590515 -0.46338427066802979 +0.055448651313781738 -0.40291047096252441 -0.68112325668334961 +0.077246874570846558 -0.34724602103233337 -0.62306499481201172 +-0.18509413301944733 -0.58156180381774902 -0.65874850749969482 +-0.051896326243877411 -0.37210607528686523 -0.50289797782897949 +-0.053923636674880981 -0.46440395712852478 -0.64090675115585327 +-0.097837775945663452 -0.39504227042198181 -0.48160025477409363 +0.066157132387161255 -0.26666396856307983 -0.48684036731719971 +0.098981514573097229 -0.25544354319572449 -0.50992226600646973 +-0.17983521521091461 -0.45923143625259399 -0.47898021340370178 +-0.19618387520313263 -0.5009797215461731 -0.52252388000488281 +-0.10240895301103592 -0.46375879645347595 -0.58060276508331299 +0.099362790584564209 -0.472272127866745 -0.84042972326278687 +0.37779825925827026 -0.05165565013885498 -0.54086422920227051 +0.20916864275932312 -0.21261239051818848 -0.57954210042953491 +0.50458818674087524 -0.11162859201431274 -0.78727877140045166 +0.47075837850570679 0.0042276233434677124 -0.56953984498977661 +0.44896018505096436 -0.051436781883239746 -0.62759804725646973 +0.71130114793777466 0.1828790009021759 -0.59191453456878662 +0.73854893445968628 0.25245952606201172 -0.51934176683425903 +0.64007574319839478 0.21879824995994568 -0.45009618997573853 +0.57810342311859131 -0.026576757431030273 -0.74776506423950195 +0.58013069629669189 0.065721109509468079 -0.6097562313079834 +0.62404477596282959 -0.0036405473947525024 -0.76906281709671021 +0.46004989743232727 -0.13201887905597687 -0.76382267475128174 +0.4272255003452301 -0.14323930442333221 -0.74074077606201172 +0.62861603498458862 0.065075978636741638 -0.67006027698516846 +0.44312936067581177 0.15147571265697479 -0.3116050660610199 +0.42684420943260193 0.07358928769826889 -0.41023328900337219 +-0.006878487765789032 -0.16883477568626404 -0.09185481071472168 +0.03485296294093132 -0.04335964098572731 0.028486182913184166 +-0.017486907541751862 -0.30937695503234863 -0.17526046931743622 +0.10455888509750366 -0.13007892668247223 0.085458546876907349 +0.044613812118768692 -0.28315606713294983 -0.074201524257659912 +-0.065394625067710876 -0.16699324548244476 -0.17417462170124054 +0.066412016749382019 -0.22749164700508118 -0.0161433145403862 +-0.0030032172799110413 -0.25348234176635742 -0.12749223411083221 +0.061979860067367554 -0.63589262962341309 -0.22097581624984741 +0.1186310350894928 -0.62358784675598145 -0.134431391954422 +-0.018915846943855286 -0.46429562568664551 -0.25260072946548462 +0.14042924344539642 -0.56792342662811279 -0.07637321949005127 +0.10342063754796982 -0.39770755171775818 -0.046258270740509033 +0.24397073686122894 -0.30351749062538147 0.19940328598022461 +0.27882370352745056 -0.34687712788581848 0.22788946330547333 +0.19965577125549316 -0.37256088852882385 0.10282056778669357 +-0.024685144424438477 -0.35423073172569275 -0.20730105042457581 +0.15103766322135925 -0.42738127708435059 0.0070324540138244629 +-0.13078925013542175 -0.33398649096488953 -0.34834924340248108 +-0.051621317863464355 -0.30830270051956177 -0.22328037023544312 +0.0086226016283035278 -0.50742506980895996 -0.23440450429916382 +0.036161035299301147 -0.55055451393127441 -0.2162083238363266 +-0.081743285059928894 -0.20874156057834625 -0.21771827340126038 +0.29907214641571045 -1.1082448959350586 -0.11342728137969971 +0.15563963353633881 -0.79380381107330322 -0.16454637050628662 +0.31498473882675171 -0.89743167161941528 0.011681109666824341 +0.20354737341403961 -0.9361875057220459 -0.16563218832015991 +0.2296568751335144 -1.1342356204986572 -0.22477626800537109 +0.32075405120849609 -1.0074964761734009 -0.033618509769439697 +0.34769025444984436 -1.0534244775772095 -0.017639189958572388 +0.2874462902545929 -0.85430216789245605 -0.0065150558948516846 +0.25990787148475647 -0.8111727237701416 -0.024711251258850098 +0.23575685918331146 -0.96738874912261963 -0.13499492406845093 +0.096413135528564453 -0.98916631937026978 -0.34374013543128967 +0.2743915319442749 -0.75527811050415039 0.023056983947753906 +0.23242121934890747 -0.48428034782409668 0.095107436180114746 +0.3248746395111084 -0.71460402011871338 0.11462053656578064 +0.27840399742126465 -0.65679115056991577 0.076638936996459961 +0.48321047425270081 -0.66323643922805786 0.36475828289985657 +0.30559200048446655 -0.51677078008651733 0.18336856365203857 +0.38080722093582153 -0.66001379489898682 0.22069862484931946 +0.32673144340515137 -0.48926082253456116 0.22680363059043884 +0.21342907845973969 -0.51387035846710205 0.053714841604232788 +0.20252996683120728 -0.54170256853103638 0.02468574047088623 +0.38338258862495422 -0.47695603966712952 0.31334802508354187 +0.41823554039001465 -0.52031570672988892 0.34183418750762939 +0.38289475440979004 -0.59165400266647339 0.25689795613288879 +0.37895041704177856 -0.88535702228546143 0.10851553082466125 +0.021677359938621521 -0.60644906759262085 -0.26397651433944702 +0.063647717237472534 -0.87744688987731934 -0.33602696657180786 +-0.028805702924728394 -0.64712321758270264 -0.35554009675979614 +0.017664909362792969 -0.70493602752685547 -0.31755852699279785 +-0.18714156746864319 -0.69849073886871338 -0.60567790269851685 +-0.24522984027862549 -0.62622469663619995 -0.65315485000610352 +-0.21253253519535065 -0.54272806644439697 -0.56606751680374146 +-0.0095230937004089355 -0.84495645761489868 -0.42428809404373169 +-0.08473832905292511 -0.7017134428024292 -0.46161818504333496 +-0.030662521719932556 -0.87246644496917725 -0.46772319078445435 +0.082639828324317932 -0.84785687923431396 -0.29463440179824829 +0.093538939952850342 -0.82002460956573486 -0.26560527086257935 +-0.086825862526893616 -0.77007317543029785 -0.49781754612922668 +-0.14713791012763977 -0.37573480606079102 -0.39189291000366211 +-0.082881532609462738 -0.47637015581130981 -0.34943509101867676 +0.65849137306213379 -0.59611284732818604 0.32430103421211243 +0.52279442548751831 -0.65039461851119995 0.42729273438453674 +0.75053668022155762 -0.51727157831192017 0.21415171027183533 +0.45308852195739746 -0.56367534399032593 0.37032037973403931 +0.63362270593643188 -0.50196301937103271 0.24337016046047211 +0.56797391176223755 -0.52440387010574341 0.28953388333320618 +0.69690066576004028 -0.5435023307800293 0.25943875312805176 +0.79165899753570557 -0.28212070465087891 -0.026743233203887939 +0.69115722179412842 -0.26120191812515259 -0.0090657174587249756 +0.8349684476852417 -0.42524039745330811 0.094214737415313721 +0.62550842761993408 -0.28364273905754089 0.037098005414009094 +0.5967411994934082 -0.40402328968048096 0.16331595182418823 +0.31367665529251099 -0.39023676514625549 0.25637564063072205 +0.42376750707626343 -0.37102869153022766 0.19662544131278992 +0.78623777627944946 -0.49401313066482544 0.17844806611537933 +0.5334632396697998 -0.36248400807380676 0.14724732935428619 +0.80659639835357666 -0.53495758771896362 0.21006065607070923 +0.81212830543518066 -0.38567063212394714 0.064851909875869751 +0.78928816318511963 -0.34610086679458618 0.035489082336425781 +0.64853227138519287 0.11903818696737289 -0.35762438178062439 +0.71992450952529907 -0.14082135260105133 -0.13528364896774292 +0.51046448945999146 0.0007762908935546875 -0.19240039587020874 +0.71586740016937256 -0.031661227345466614 -0.23841972649097443 +0.77745902538299561 0.099939748644828796 -0.38771951198577881 +0.59083914756774902 0.20196761190891266 -0.41547340154647827 +0.55919516086578369 0.069549009203910828 -0.27663367986679077 +0.39389276504516602 0.13464507460594177 -0.27698227763175964 +0.53883659839630127 0.1104934960603714 -0.30824628472328186 +0.53330463171005249 -0.038793489336967468 -0.16303753852844238 +0.55614477396011353 -0.078363269567489624 -0.13367469608783722 +0.54160255193710327 0.18513697385787964 -0.38085064291954041 +0.67895960807800293 0.0030997991561889648 -0.25789031386375427 +0.92166543006896973 -0.053435385227203369 -0.29481109976768494 +0.50250875949859619 -0.10459397733211517 -0.088387638330459595 +0.42858830094337463 -0.28778660297393799 0.11500555276870728 +0.39721250534057617 -0.10373860597610474 -0.049673795700073242 +0.44368308782577515 -0.16155144572257996 -0.011692225933074951 +0.10732486844062805 -0.055435430258512497 0.012854184955358505 +0.13941185176372528 -0.17343856394290924 0.11394473165273666 +0.049236595630645752 0.016830634325742722 -0.034622784703969955 +0.14770978689193726 0.050491902977228165 -0.10386835038661957 +0.3244088888168335 -0.23180237412452698 0.10044419765472412 +0.27550399303436279 -0.10849344730377197 0.00058098882436752319 +0.27476656436920166 -0.23771700263023376 0.12475337833166122 +0.47577008605003357 -0.27955460548400879 0.089398324489593506 +0.50859445333480835 -0.26833418011665344 0.066316470503807068 +0.1742648184299469 -0.21679820120334625 0.14243091642856598 +0.23583024740219116 -0.14837589859962463 0.053714729845523834 +0.34465616941452026 0.11781443655490875 -0.24235948920249939 +0.39794990420341492 0.025484941899776459 -0.17384618520736694 +0.84292411804199219 -0.31987011432647705 -0.0097979605197906494 +0.91684460639953613 -0.13667753338813782 -0.21319115161895752 +0.94822049140930176 -0.32072550058364868 -0.04851183295249939 +0.90174984931945801 -0.26291263103485107 -0.086493432521820068 +1.2381080389022827 -0.36902862787246704 -0.11103981733322144 +1.0210241079330444 -0.19266173243522644 -0.19862982630729675 +1.0699288845062256 -0.31597062945365906 -0.098766595125198364 +1.0706663131713867 -0.18674708902835846 -0.22293904423713684 +0.86966288089752197 -0.14490951597690582 -0.18758393824100494 +0.8368384838104248 -0.15612994134426117 -0.1645020991563797 +1.109602689743042 -0.27608814835548401 -0.15190038084983826 +0.94748300313949585 -0.44994908571243286 0.075660586357116699 +0.49989664554595947 -0.37874871492385864 -1.1881299018859863 +0.4042152464389801 -0.39905798435211182 -1.1019766330718994 +0.19789952039718628 -0.47474896907806396 -0.9647599458694458 +0.29637271165847778 -0.44108772277832031 -1.0340055227279663 +0.29630917310714722 -0.40494957566261292 -0.97892087697982788 +0.41664409637451172 -0.35176202654838562 -1.0451928377151489 +0.053421348333358765 -0.49520832300186157 -0.81913203001022339 +0.0064026862382888794 -0.52815538644790649 -0.81175422668457031 +-0.20911028981208801 -0.62110984325408936 -0.68956178426742554 +-0.10221832990646362 -0.57217305898666382 -0.74585652351379395 +-0.024955466389656067 -0.48377394676208496 -0.7058330774307251 +-0.075721859931945801 -0.52006834745407104 -0.69896501302719116 +0.077437490224838257 -0.45566034317016602 -0.78831875324249268 +0.039099991321563721 -0.44465875625610352 -0.72466695308685303 +-0.064822748303413391 -0.49223616719245911 -0.66993588209152222 +0.099426329135894775 -0.50841027498245239 -0.89551436901092529 +0.050189733505249023 -0.52524089813232422 -0.86089158058166504 +0.24700899422168732 -0.38564217090606689 -0.88921350240707397 +0.13193300366401672 -0.31649932265281677 -0.6431732177734375 +0.18116959929466248 -0.29966866970062256 -0.67779600620269775 +0.38509529829025269 -0.19896627962589264 -0.77401793003082275 +0.28509235382080078 -0.25209128856658936 -0.73252707719802856 +0.27266347408294678 -0.29938727617263794 -0.78931081295013428 +0.23040619492530823 -0.28283804655075073 -0.71241879463195801 +0.32894295454025269 -0.2853148877620697 -0.83674895763397217 +0.022751331329345703 -0.48640710115432739 -0.76821058988571167 +0.13212363421916962 -0.42491364479064941 -0.80842697620391846 +0.066347762942314148 -0.37507826089859009 -0.65209412574768066 +0.099172160029411316 -0.36385783553123474 -0.67517602443695068 +-0.22061720490455627 -0.66926205158233643 -0.63907462358474731 +-0.22888118028640747 -0.58447635173797607 -0.6096111536026001 +-0.15859764814376831 -0.52945709228515625 -0.61185693740844727 +-0.097901314496994019 -0.35890418291091919 -0.42651569843292236 +-0.10402095317840576 -0.50388014316558838 -0.39287012815475464 +-0.16348657011985779 -0.4174831211566925 -0.43543654680252075 +-0.13336458802223206 -0.5170443058013916 -0.44099864363670349 +0.026480481028556824 -0.38354045152664185 -0.61619693040847778 +-0.13059861958026886 -0.44240081310272217 -0.51360297203063965 +-0.0759124755859375 -0.41165405511856079 -0.53371125459671021 +-0.17503610253334045 -0.59824597835540771 -0.53973239660263062 +-0.098939515650272369 -0.63082849979400635 -0.44735530018806458 +-0.13120895624160767 -0.64390057325363159 -0.49959975481033325 +-0.07054533064365387 -0.53310883045196533 -0.35947340726852417 +-0.063658677041530609 -0.60376358032226562 -0.38402628898620605 +-0.10797365009784698 -0.67280697822570801 -0.48060896992683411 +-0.098091937601566315 -0.25048986077308655 -0.26126194000244141 +-0.006196342408657074 -0.21184507012367249 -0.31487423181533813 +-0.079587623476982117 -0.33559781312942505 -0.27631938457489014 +-0.016094490885734558 -0.18630070984363556 -0.26388198137283325 +-0.016348656266927719 -0.041748311370611191 -0.043543655425310135 +0.014803445897996426 -0.06808636337518692 -0.012045977637171745 +0.12199181318283081 0.00037516653537750244 -0.14868642389774323 +0.026310354471206665 -0.019934143871068954 -0.062533155083656311 +0.0095599517226219177 -0.10004587471485138 -0.16397935152053833 +-0.032697312533855438 -0.083496622741222382 -0.08708731085062027 +0.22989785671234131 0.006266765296459198 -0.27174216508865356 +0.065839409828186035 -0.085973456501960754 -0.21141746640205383 +0.033205650746822357 -0.20560815930366516 -0.35358935594558716 +0.082378700375556946 -0.15263944864273071 -0.33312755823135376 +-0.046890322118997574 -0.25210121273994446 -0.18923209607601166 +0.055512916296720505 -0.2553238570690155 -0.045172423124313354 +0.032277610152959824 -0.2264174222946167 -0.064163215458393097 +-0.065203994512557983 -0.27540755271911621 -0.3394283652305603 +-0.048855341970920563 -0.23365922272205353 -0.29588472843170166 +-0.0048776715993881226 -0.33915898203849792 -0.51027578115463257 +0.34503743052482605 -0.099014148116111755 -0.57286703586578369 +0.19739118218421936 -0.18564414978027344 -0.52408319711685181 +0.14111170172691345 -0.19971659779548645 -0.47664511203765869 +0.10374334454536438 -0.29514133930206299 -0.57617348432540894 +0.14821812510490417 -0.23861289024353027 -0.54454505443572998 +0.00076250731945037842 -0.43365716934204102 -0.66101503372192383 +0.033142097294330597 -0.16947008669376373 -0.29850476980209351 +0.033269196748733521 -0.24174627661705017 -0.40867394208908081 +0.15354059636592865 -0.15242058038711548 -0.4198613166809082 +-0.11228494346141815 -0.41909444332122803 -0.3634067177772522 +-0.12863360345363617 -0.46084275841712952 -0.40695035457611084 +-0.0044321566820144653 -0.4084010124206543 -0.20483249425888062 +0.13432928919792175 -0.73477029800415039 -0.16615450382232666 +0.045631200075149536 -0.67764097452163696 -0.26451945304870605 +0.12953014671802521 -0.59575569629669189 -0.10540229082107544 +0.078328520059585571 -0.59414434432983398 -0.17743214964866638 +0.10629484057426453 -0.5668492317199707 -0.12439307570457458 +0.067138731479644775 -0.50926655530929565 -0.15208469331264496 +0.060312047600746155 -0.39433839917182922 -0.10592460632324219 +0.08162243664264679 -0.45337194204330444 -0.10431645810604095 +0.092521533370018005 -0.4255397617816925 -0.075287356972694397 +-0.098511636257171631 -0.56040394306182861 -0.41251245141029358 +-0.042579025030136108 -0.50581371784210205 -0.30643436312675476 +-0.0055703967809677124 -0.67602962255477905 -0.33654928207397461 +0.0053287148475646973 -0.64819741249084473 -0.30752015113830566 +0.067271649837493896 -0.021223206073045731 -0.0049092806875705719 +0.098473191261291504 0.033661268651485443 -0.069245569407939911 +0.32830750942230225 0.076066121459007263 -0.28590315580368042 +0.34830760955810547 0.019570335745811462 -0.14953702688217163 +0.29541957378387451 0.10098380595445633 -0.20773670077323914 +0.29265359044075012 0.026340320706367493 -0.13513234257698059 +0.18548662960529327 -0.086399741470813751 -0.35845518112182617 +0.22983431816101074 0.042404863983392715 -0.21665757894515991 +0.13148821890354156 -0.063532605767250061 -0.25758117437362671 +0.18050795793533325 -0.0014663524925708771 -0.066366605460643768 +0.28949248790740967 -0.058966532349586487 -0.052155926823616028 +0.22903336584568024 -0.050680588930845261 -0.037400595843791962 +0.38836079835891724 -0.014641903340816498 -0.13177354633808136 +0.36235952377319336 -0.060378953814506531 -0.078159987926483154 +0.25226867198944092 -0.079587027430534363 -0.018409803509712219 +0.49236595630645752 0.16830635070800781 -0.34622785449028015 +0.47278565168380737 0.096525505185127258 -0.43153098225593567 +0.47798231244087219 0.10811607539653778 -0.28311887383460999 +0.51980435848236084 0.12947255373001099 -0.43890884518623352 +0.68931233882904053 0.2356288731098175 -0.48471897840499878 +0.73531728982925415 0.22242698073387146 -0.56110125780105591 +0.77627861499786377 0.22113792598247528 -0.50347739458084106 +0.68694150447845459 0.17164874076843262 -0.42248669266700745 +0.62842535972595215 0.17349027097225189 -0.5048065185546875 +0.55116254091262817 0.085091099143028259 -0.54482996463775635 +0.60192888975143433 0.12138552963733673 -0.55169802904129028 +0.44876953959465027 0.056977517902851105 -0.46234428882598877 +0.4871070384979248 0.045975938439369202 -0.52599614858627319 +0.59102976322174072 0.093553319573402405 -0.58072715997695923 +0.57645553350448608 0.14177733659744263 -0.35236445069313049 +0.59489625692367554 0.092807494103908539 -0.31233736872673035 +0.72139930725097656 0.11762575805187225 -0.38362842798233032 +0.42678070068359375 0.1097273975610733 -0.35514873266220093 +0.4760172963142395 0.12655803561210632 -0.38977152109146118 +0.27919799089431763 -0.013040706515312195 -0.36144953966140747 +0.31703841686248779 -0.18607047200202942 -0.67112100124359131 +0.3942740261554718 -0.082183510065078735 -0.60748982429504395 +0.2630399763584137 -0.16320331394672394 -0.57024693489074707 +0.2958008348941803 -0.11584478616714478 -0.53824424743652344 +0.25354355573654175 -0.099295534193515778 -0.46135216951370239 +0.13155175745487213 -0.099670708179473877 -0.31266576051712036 +0.16443969309329987 -0.12458838522434235 -0.39083218574523926 +0.50345569849014282 0.087724253535270691 -0.48245251178741455 +0.39408338069915771 0.026230782270431519 -0.4422360360622406 +0.45985925197601318 -0.023604586720466614 -0.59856891632080078 +0.42703485488891602 -0.03482501208782196 -0.57548701763153076 +0.37950912117958069 0.074454799294471741 -0.21387331187725067 +0.33027252554893494 0.057624164968729019 -0.17925052344799042 +0.56410038471221924 0.027006983757019043 -0.23768743872642517 +0.6214250922203064 -0.23766133189201355 -0.0054544508457183838 +0.50453734397888184 -0.15917405486106873 -0.036819607019424438 +0.55377393960952759 -0.14234341681003571 -0.071442395448684692 +0.77356046438217163 -0.11459065973758698 -0.18057067692279816 +0.66386479139328003 -0.12313534319400787 -0.13119256496429443 +0.62940698862075806 -0.069112345576286316 -0.17005081474781036 +0.60301053524017334 -0.12551277875900269 -0.10606518387794495 +0.68304300308227539 -0.04288165271282196 -0.21533785760402679 +0.32750654220581055 -0.017019316554069519 -0.10664617270231247 +0.44921505451202393 -0.012264490127563477 -0.15690094232559204 +0.42044779658317566 -0.13264502584934235 -0.030683010816574097 +0.45327219367027283 -0.1214246079325676 -0.053764864802360535 +0.68480467796325684 0.13077424466609955 -0.63880610466003418 +0.62410831451416016 -0.039778649806976318 -0.82414734363555908 +0.49972653388977051 -0.015142366290092468 -0.63446605205535889 +0.65680563449859619 0.043717965483665466 -0.7370600700378418 +0.60211950540542603 0.012971207499504089 -0.71695184707641602 +0.53240334987640381 -0.18683777749538422 -0.93578881025314331 +0.54230153560638428 -0.21238212287425995 -0.98678112030029297 +0.46049469709396362 -0.38498562574386597 -1.1494147777557373 +0.51664704084396362 -0.29863697290420532 -1.0866837501525879 +0.39465528726577759 -0.29901212453842163 -0.93799728155136108 +0.42754322290420532 -0.32392981648445129 -1.01616370677948 +0.49300137162208557 -0.19307467341423035 -0.89707362651824951 +0.44382834434509277 -0.24604339897632599 -0.91753548383712769 +0.59141099452972412 -0.1232752799987793 -0.91123467683792114 +0.57506239414215088 -0.16502359509468079 -0.95477831363677979 +0.53108471632003784 -0.059523820877075195 -0.7403872013092041 +0.26310351490974426 -0.19934141635894775 -0.62533152103424072 +0.295991450548172 -0.22425909340381622 -0.70349800586700439 +0.42246365547180176 -0.1035415381193161 -0.67448955774307251 +0.37798890471458435 -0.16006994247436523 -0.70611798763275146 +0.52544450759887695 0.034974366426467896 -0.58964800834655762 +0.49306493997573853 -0.22921276092529297 -0.95215827226638794 +0.492937833070755 -0.15693655610084534 -0.84198909997940063 +0.39459174871444702 -0.26287403702735901 -0.88291275501251221 +0.5166860818862915 -0.69246518611907959 0.39815506339073181 +0.40008985996246338 -0.85784715414047241 0.15195056796073914 +0.42943352460861206 -0.84468293190002441 0.20007908344268799 +0.47110497951507568 -0.7634812593460083 0.29881283640861511 +0.39500844478607178 -0.73089879751205444 0.20643575489521027 +0.42727786302566528 -0.71782666444778442 0.25868019461631775 +0.36661422252655029 -0.82861840724945068 0.11855381727218628 +0.35972756147384644 -0.75796365737915039 0.14310672879219055 +0.40404254198074341 -0.68892025947570801 0.2396894097328186 +0.37565651535987854 -1.0261294841766357 0.035399824380874634 +0.28126543760299683 -1.2936408519744873 -0.22887358069419861 +0.30294734239578247 -1.1928925514221191 -0.14906474947929382 +0.34295922517776489 -1.1096260547637939 -0.051687479019165039 +0.31355580687522888 -1.0523502826690674 -0.065659105777740479 +0.26379132270812988 -1.1353098154067993 -0.176756352186203 +0.40835383534431458 -0.94263279438018799 0.12248715758323669 +0.42470249533653259 -0.90088450908660889 0.16603079438209534 +0.30050104856491089 -0.95332622528076172 -0.036087065935134888 +0.16173964738845825 -0.62695705890655518 -0.074765041470527649 +0.25043770670890808 -0.68408626317977905 0.023599892854690552 +0.23408904671669006 -0.72583460807800293 -0.019943743944168091 +0.14115597307682037 -0.84969842433929443 -0.21231454610824585 +0.18977406620979309 -0.79487800598144531 -0.11652645468711853 +0.22893014550209045 -0.85246068239212036 -0.088834881782531738 +0.21774038672447205 -0.76758289337158203 -0.063487410545349121 +0.21444648504257202 -0.9083552360534668 -0.13660305738449097 +0.39458054304122925 -0.8013232946395874 0.17159289121627808 +0.33864793181419373 -0.85591351985931396 0.065514802932739258 +0.30163931846618652 -0.68569761514663696 0.095629751682281494 +0.29074019193649292 -0.71352982521057129 0.066600650548934937 +1.2781612873077393 -0.40324091911315918 -0.093276351690292358 +0.99712526798248291 -0.44403445720672607 0.051351398229598999 +1.0527794361114502 -0.45080441236495972 0.036946713924407959 +1.1649249792098999 -0.42299777269363403 -0.031819045543670654 +1.0559405088424683 -0.36549758911132812 -0.04602968692779541 +1.1163995265960693 -0.37378349900245667 -0.060785025358200073 +0.95707213878631592 -0.40982216596603394 0.033587902784347534 +0.98307341337203979 -0.36408513784408569 -0.020025640726089478 +1.0931642055511475 -0.34487709403038025 -0.079775810241699219 +0.86745059490203857 -0.53258019685745239 0.18493324518203735 +0.56915426254272461 -0.64560204744338989 0.40529176592826843 +0.76897740364074707 -0.56624144315719604 0.25417882204055786 +0.60079830884933472 -0.51318341493606567 0.26645201444625854 +0.62403362989425659 -0.54208981990814209 0.28544282913208008 +0.96592378616333008 -0.49891889095306396 0.11568766832351685 +1.0151603221893311 -0.48208826780319214 0.081064879894256592 +0.78133249282836914 -0.45147112011909485 0.13950182497501373 +0.72400790452957153 -0.18680280447006226 -0.092731162905693054 +0.84089559316635132 -0.26529005169868469 -0.061366021633148193 +0.65833282470703125 -0.27242231369018555 0.014016151428222656 +0.74242240190505981 -0.29895132780075073 0.0078795552253723145 +0.68156814575195312 -0.30132877826690674 0.033006966114044189 +0.7160259485244751 -0.35535174608230591 0.071865171194076538 +0.66647332906723022 -0.42756387591362 0.15970470011234283 +0.66238999366760254 -0.38158243894577026 0.11715224385261536 +0.62956559658050537 -0.39280286431312561 0.14023409783840179 +1.0179264545440674 -0.40744477510452271 0.0084605216979980469 +0.89621788263320923 -0.41219961643218994 0.058715313673019409 +0.92498517036437988 -0.29181906580924988 -0.067502617835998535 +0.89216077327728271 -0.30303949117660522 -0.044420748949050903 +0.74057751893997192 0.19787944853305817 -0.46777370572090149 +0.90130680799484253 -0.012490913271903992 -0.32642367482185364 +0.89640152454376221 0.030051112174987793 -0.36536997556686401 +0.83109498023986816 0.12617044150829315 -0.43300655484199524 +0.7302510142326355 0.028529047966003418 -0.30152866244316101 +0.74463462829589844 0.08871932327747345 -0.36463764309883118 +0.86560571193695068 -0.0357494056224823 -0.29072001576423645 +0.7979283332824707 -0.0036101639270782471 -0.29612433910369873 +1.0522255897521973 -0.13777723908424377 -0.26296612620353699 +1.1895825862884521 -0.31981444358825684 -0.14000579714775085 +0.96220886707305908 -0.271198570728302 -0.10124874114990234 +1.1219315528869629 -0.2244965136051178 -0.20599374175071716 +1.061077356338501 -0.2268739640712738 -0.18086636066436768 +0.98251968622207642 -0.051057964563369751 -0.31993848085403442 +0.9476667046546936 -0.0076983273029327393 -0.34842467308044434 +0.9653700590133667 -0.18589171767234802 -0.1842251718044281 +0.6871001124382019 -0.15204177796840668 -0.11220178008079529 +0.85322439670562744 -0.21369843184947968 -0.1154593825340271 +0.78760182857513428 -0.17296057939529419 -0.12987931072711945 +1.0090746879577637 -0.31834810972213745 -0.073639214038848877 +0.84716498851776123 0.013220474123954773 -0.33074712753295898 +0.88404649496078491 -0.084719240665435791 -0.25069290399551392 +0.74869179725646973 -0.020440801978111267 -0.26150161027908325 +0.60485541820526123 -0.62234354019165039 0.36958810687065125 +0.54879570007324219 -0.60465753078460693 0.37367916107177734 +0.43938335776329041 -0.61758196353912354 0.32462567090988159 +0.29732799530029297 -0.43198508024215698 0.21283198893070221 +0.44412609934806824 -0.41197320818901062 0.22823804616928101 +0.3485296368598938 -0.4335964024066925 0.28486183285713196 +0.44903138279914856 -0.45451518893241882 0.26718431711196899 +0.31067341566085815 -0.64371907711029053 0.12888340651988983 +0.36703392863273621 -0.51870435476303101 0.26980435848236084 +0.33906763792037964 -0.54599946737289429 0.21676531434059143 +0.51433795690536499 -0.55063456296920776 0.334820955991745 +0.48794147372245789 -0.60703498125076294 0.39880657196044922 +0.61518192291259766 -0.45299315452575684 0.20334304869174957 +0.47982722520828247 -0.38871470093727112 0.19253440201282501 +0.54750454425811768 -0.42085391283035278 0.19793874025344849 +0.20911777019500732 -0.26015785336494446 0.1709170937538147 +0.17271959781646729 -0.32663285732269287 0.086841292679309845 +0.29320734739303589 -0.28668686747550964 0.16478049755096436 +0.15246661007404327 -0.27246260643005371 0.084372706711292267 +0.041739612817764282 -0.11401437222957611 0.0039333142340183258 +0.0076052024960517883 -0.11294016242027283 -0.044086575508117676 +0 0 0 +0.15585029125213623 -0.10464967787265778 0.041820202022790909 +0.080895714461803436 -0.17159704864025116 0.031624920666217804 +0.06970592588186264 -0.08671928197145462 0.056972365826368332 +0.074017226696014404 -0.340431809425354 -0.060229890048503876 +0.16552135348320007 -0.37148669362068176 0.054800674319267273 +0.11976929754018784 -0.35595923662185669 -0.0027146041393280029 +0.38322398066520691 -0.15326552093029022 0.0030631124973297119 +0.22350141406059265 -0.19996756315231323 0.10780812799930573 +0.28435567021369934 -0.19759014248847961 0.082680739462375641 +0.22762207686901093 -0.34526580572128296 0.15585963428020477 +0.19276911020278931 -0.30190616846084595 0.12737344205379486 +0.27624833583831787 -0.52993488311767578 0.13524004817008972 +0.15491294860839844 -0.51202887296676636 -0.028604969382286072 +0.23457686603069305 -0.61113661527633667 0.036506325006484985 +0.18618132174015045 -0.58345091342926025 -0.018857911229133606 +0.35284090042114258 -0.68730896711349487 0.16765956580638885 +0.13611795008182526 -0.3142109215259552 0.04082905501127243 +0.19492477178573608 -0.42876243591308594 0.068772315979003906 +0.36291325092315674 -0.37340614199638367 0.22175285220146179 +0.39776623249053955 -0.41676577925682068 0.2502390444278717 +0.38006287813186646 -0.23857235908508301 0.086039528250694275 +0.67271649837493896 -0.21223205327987671 -0.049092814326286316 +0.57187247276306152 -0.30987349152565002 0.082385078072547913 +0.49220854043960571 -0.21076571941375732 0.017273783683776855 +0.5578310489654541 -0.25150352716445923 0.031693682074546814 +0.33635824918746948 -0.10611602663993835 -0.024546407163143158 +0.49826797842979431 -0.437684565782547 0.23256152868270874 +0.46138644218444824 -0.33974486589431763 0.15250729024410248 +-0.1433144211769104 -0.74414527416229248 -0.56554520130157471 +-0.0012591034173965454 -0.92974221706390381 -0.45375156402587891 +-0.014604538679122925 -0.71800810098648071 -0.36980295181274414 +-0.070965021848678589 -0.84302288293838501 -0.51072394847869873 +-0.042998701333999634 -0.81572777032852173 -0.45768484473228455 +0.12334930896759033 -1.0350943803787231 -0.32776081562042236 +0.14360229671001434 -1.0892646312713623 -0.32529225945472717 +0.28846371173858643 -1.2487870454788208 -0.19683298468589783 +0.21517321467399597 -1.1901302337646484 -0.27254441380500793 +0.22205166518688202 -1.021295428276062 -0.18068969249725342 +0.24055598676204681 -1.1064033508300781 -0.19574713706970215 +0.13054755330085754 -0.99024057388305664 -0.29572024941444397 +0.17629960179328918 -1.0057679414749146 -0.23820498585700989 +0.068446815013885498 -1.0164614915847778 -0.39677920937538147 +0.10329979658126831 -1.0598211288452148 -0.36829301714897156 +0.019820541143417358 -0.83179235458374023 -0.37615963816642761 +0.14803445339202881 -0.68086361885070801 -0.12045978009700775 +0.16653874516487122 -0.76597154140472412 -0.13551726937294006 +0.061492055654525757 -0.75059062242507935 -0.27742582559585571 +0.10988759994506836 -0.77827632427215576 -0.22206161916255951 +-0.056772023439407349 -0.67441827058792114 -0.40857914090156555 +0.15995094180107117 -1.0475163459777832 -0.28174862265586853 +0.10114412009716034 -0.93296480178833008 -0.30969187617301941 +0.1926482617855072 -0.96401965618133545 -0.19466128945350647 +-0.55764740705490112 0.69375425577163696 -0.45577892661094666 +0.26157850027084351 0.66797298192977905 0.69669848680496216 +-0.78778553009033203 -0.26929014921188354 0.55396455526351929 +-1.3454329967498779 0.42446410655975342 0.098185628652572632 +-0.29606890678405762 1.361727237701416 0.2409195601940155 +-0.81922590732574463 0.02578127384185791 -1.1524773836135864 +0.23013812303543091 0.96304440498352051 -1.0097434520721436 +-0.52620702981948853 0.39868283271789551 1.2506630420684814 +1.0493640899658203 0.9372631311416626 0.14273393154144287 +0.81922590732574463 -0.02578127384185791 1.1524773836135864 +-0.23013812303543091 -0.96304440498352051 1.0097434520721436 +-1.0493640899658203 -0.9372631311416626 -0.14273393154144287 +-0.9342949390411377 -0.45574089884757996 -0.64760565757751465 +-0.39923164248466492 -1.1474270820617676 -0.18533025681972504 +0.36945003271102905 0.30402693152427673 -1.1319878101348877 +1.1966761350631714 0.27799388766288757 0.031744256615638733 +0.63975107669830322 0.95015370845794678 -0.43350476026535034 +1.0790599584579468 -0.21418702602386475 0.54779154062271118 +0.29454389214515686 -0.49441283941268921 1.0811104774475098 +0.019448280334472656 -1.1606030464172363 0.4036637544631958 +-0.16684606671333313 -0.17497801780700684 -1.2049345970153809 +-0.032965362071990967 1.1623858213424683 -0.38441196084022522 +-1.0823295116424561 0.22512269020080566 -0.5271458625793457 +-0.82075095176696777 0.89309567213058472 0.16955259442329407 +-0.29454389214515686 0.49441283941268921 -1.0811104774475098 +0.14650943875312805 0.18645080924034119 1.2015701532363892 +0.37664756178855896 1.1494951248168945 0.19182674586772919 +-0.41113796830177307 0.88020503520965576 0.74579125642776489 +0.9342949390411377 0.45574089884757996 0.64760565757751465 +-1.1973985433578491 -0.2563994824886322 -0.02227415144443512 +-0.37817254662513733 -0.2821807861328125 1.1302032470703125 +-0.93581998348236084 0.41157346963882446 0.67442435026168823 +-0.63975107669830322 -0.95015370845794678 0.43350476026535034 +0.36377191543579102 0.15716627240180969 -1.2114535570144653 +1.2667337656021118 0.12874984741210938 0.058822602033615112 +1.1847770214080811 -0.21420937776565552 0.41841226816177368 +0.028153836727142334 -1.2472734451293945 0.261089026927948 +-0.0099273920059204102 -0.17661169171333313 -1.2622839212417603 +-0.26358875632286072 -1.2380921840667725 -0.14933103322982788 +0.32797184586524963 0.10986673831939697 -1.2853572368621826 +1.3237366676330566 0.078529775142669678 0.11547297239303589 +1.2630558013916016 -0.17539793252944946 0.38171392679214478 +-0.012440741062164307 -1.3146364688873291 0.20822158455848694 +0.051284104585647583 -0.13726317882537842 -1.322992205619812 +-0.22844758629798889 -1.3078386783599854 -0.095654278993606567 +0.30562540888786316 0.09692266583442688 -1.3234282732009888 +1.3520585298538208 0.063991069793701172 0.14868158102035522 +1.3008167743682861 -0.15043675899505615 0.3735072910785675 +-0.039581775665283203 -1.3476438522338867 0.19118696451187134 +0.071977943181991577 -0.1117648184299469 -1.3552087545394897 +-0.22198754549026489 -1.3419035673141479 -0.065419316291809082 +0.29711046814918518 0.075178772211074829 -1.3461071252822876 +1.370211124420166 0.041407942771911621 0.16351813077926636 +1.3264608383178711 -0.14167076349258423 0.35547459125518799 +-0.048096716403961182 -1.3693878650665283 0.16850799322128296 +0.097622007131576538 -0.10299888253211975 -1.3732415437698364 +-0.20383495092391968 -1.3644866943359375 -0.050582766532897949 +0.31455564498901367 0.031486451625823975 -1.3425381183624268 +1.3984318971633911 0.041777610778808594 0.20383024215698242 +1.3329997062683105 -0.16354215145111084 0.31418323516845703 +-0.02106243371963501 -1.3729532957077026 0.13000446557998657 +0.10437589883804321 -0.069105356931686401 -1.408273458480835 +-0.15866678953170776 -1.3686227798461914 -0.06357574462890625 +0.28178361058235168 0.036039739847183228 -1.3869293928146362 +1.3905344009399414 -0.025267243385314941 0.16000792384147644 +1.3726201057434082 -0.12589210271835327 0.32301574945449829 +-0.063423573970794678 -1.4085268974304199 0.12768584489822388 +0.16496509313583374 -0.11682787537574768 -1.3852670192718506 +-0.17116031050682068 -1.4051363468170166 -0.023876965045928955 +0.27156570553779602 0.0099470317363739014 -1.4141441583633423 +1.4246687889099121 -0.026341497898101807 0.20802778005599976 +1.403393030166626 -0.11537295579910278 0.30137652158737183 +-0.073641479015350342 -1.434619665145874 0.10047107934951782 +0.17455419898033142 -0.07670101523399353 -1.4273395538330078 +-0.14937722682952881 -1.4322361946105957 -0.0060731172561645508 +0.26066663861274719 -0.017885178327560425 -1.4431732892990112 +1.447904109954834 -0.055247962474822998 0.22701859474182129 +1.4362175464630127 -0.10415250062942505 0.27829462289810181 +-0.08454054594039917 -1.462451696395874 0.071441948413848877 +0.20737859606742859 -0.065480589866638184 -1.4504214525222778 +-0.12614190578460693 -1.4611425399780273 0.012917697429656982 +0.24738332629203796 -0.051805704832077026 -1.4785524606704712 +1.4762222766876221 -0.090477645397186279 0.25016361474990845 +-0.097823858261108398 -1.4963722229003906 0.036062717437744141 +-1.4762222766876221 0.090477645397186279 -0.25016361474990845 +-1.2146437168121338 0.75845062732696533 0.4465349018573761 +-0.95154017210006714 0.55910921096801758 -0.17879664897918701 +-1.066609263420105 0.077586978673934937 0.32607507705688477 +-0.68996167182922363 1.2270822525024414 0.51790177822113037 +0.097823858261108398 1.4963722229003906 -0.036062717437744141 +-0.42685815691947937 1.0277407169342041 -0.10742968320846558 +-0.017245203256607056 1.0148501396179199 0.46880900859832764 +-0.42533314228057861 0.16042631864547729 -1.4294596910476685 +-1.2131186723709106 -0.10886377096176147 -0.87549513578414917 +-0.68843662738800049 0.35976776480674744 -0.80412817001342773 +-0.54040217399597168 -0.32109585404396057 -0.92458796501159668 +0.36092740297317505 1.2970309257507324 -0.66139423847198486 +0.099348843097686768 0.62905788421630859 -1.3580927848815918 +-0.16375464200973511 0.82839930057525635 -0.7327612042427063 +0.50896179676055908 0.61616730690002441 -0.78185403347015381 +-0.8050307035446167 0.7455599308013916 1.0227736234664917 +-0.24738332629203796 0.051805704832077026 1.4785524606704712 +-0.13231426477432251 0.53332793712615967 0.97368073463439941 +-0.65699625015258789 0.064696341753005981 0.90231382846832275 +1.3281878232955933 0.5903860330581665 0.37062340974807739 +0.77054035663604736 1.2841402292251587 -0.085155531764030457 +0.65547126531600952 0.80261802673339844 0.41971620917320251 +0.91857481002807617 0.60327661037445068 -0.20561531186103821 +0.42533314228057861 -0.16042631864547729 1.4294596910476685 +1.2131186723709106 0.10886377096176147 0.87549513578414917 +0.54040217399597168 0.32109585404396057 0.92458796501159668 +0.68843662738800049 -0.35976776480674744 0.80412817001342773 +-0.36092740297317505 -1.2970309257507324 0.66139423847198486 +-0.099348843097686768 -0.62905788421630859 1.3580927848815918 +-0.50896179676055908 -0.61616730690002441 0.78185403347015381 +0.16375464200973511 -0.82839930057525635 0.7327612042427063 +-0.77054035663604736 -1.2841402292251587 0.085155531764030457 +-1.3281878232955933 -0.5903860330581665 -0.37062340974807739 +-0.65547126531600952 -0.80261802673339844 -0.41971620917320251 +-0.91857481002807617 -0.60327661037445068 0.20561531186103821 +-1.270653247833252 -0.3496248722076416 -0.62305927276611328 +-0.59793674945831299 -0.56185698509216309 -0.67215204238891602 +-0.991829514503479 -0.69650202989578247 -0.39516982436180115 +-0.87676042318344116 -0.21497982740402222 -0.90004152059555054 +-0.33414790034294128 -0.94208598136901855 -0.40664094686508179 +-0.42677584290504456 -1.3994700908660889 0.066662400960922241 +-0.71300578117370605 -1.0433791875839233 -0.16728034615516663 +0.16989201307296753 0.279754638671875 -1.4275757074356079 +0.5623355507850647 0.26714015007019043 -0.87561905384063721 +0.30415534973144531 0.6226125955581665 -1.069973349571228 +1.4096112251281738 0.24074029922485352 0.31644681096076965 +1.0172833204269409 0.25282275676727295 -0.23560389876365662 +1.1233812570571899 0.59683132171630859 0.082504056394100189 +0.71376830339431763 0.60972195863723755 -0.4937346875667572 +0.56573385000228882 1.2905855178833008 -0.37327486276626587 +0.84455752372741699 0.94370841979980469 -0.14538541436195374 +0.43494462966918945 0.95659911632537842 -0.72162413597106934 +1.3551331758499146 0.012769579887390137 0.55547207593917847 +0.85262072086334229 -0.43623045086860657 0.48686230182647705 +0.95077764987945557 -0.12545198202133179 0.83981168270111084 +0.42609566450119019 -0.59408354759216309 0.76844465732574463 +0.16299211978912354 -0.39474213123321533 1.3937761783599854 +0.03220289945602417 -0.72872865200042725 1.0454269647598267 +0.55688488483428955 -0.26009708642959595 1.1167939901351929 +0.26986837387084961 -0.95672881603240967 0.4075966477394104 +-0.23284971714019775 -1.4055731296539307 0.33947542309761047 +-0.098586380481719971 -1.0627150535583496 0.69707769155502319 +-0.18847891688346863 -0.40346676111221313 -0.977744460105896 +-0.078512132167816162 0.057886838912963867 -1.4613634347915649 +-0.48286765813827515 -0.080334722995758057 -1.1770238876342773 +0.22937560081481934 1.3967015743255615 -0.34872844815254211 +-0.29530638456344604 0.928070068359375 -0.42009544372558594 +-0.16451716423034668 1.2620565891265869 -0.071746200323104858 +0.098586380481719971 1.0627150535583496 -0.69707769155502319 +-0.8199884295463562 0.45943847298622131 -0.49146240949630737 +-1.3446704149246216 -0.0091930627822875977 -0.56282937526702881 +-1.213881254196167 0.32479339838027954 -0.21448014676570892 +-0.95077764987945557 0.12545198202133179 -0.83981168270111084 +-0.68919914960861206 0.79342496395111084 -0.14311316609382629 +-0.95230269432067871 0.99276638031005859 0.48221835494041443 +-0.5584099292755127 1.1274113655090332 0.20523610711097717 +-1.0830919742584229 0.65877985954284668 0.13386908173561096 +-0.42609566450119019 0.59408354759216309 -0.76844465732574463 +-0.16299211978912354 0.39474213123321533 -1.3937761783599854 +-0.55688488483428955 0.26009708642959595 -1.1167939901351929 +-0.03220289945602417 0.72872865200042725 -1.0454269647598267 +0.088974893093109131 -0.054310321807861328 1.4540060758590698 +0.20404396951198578 0.42721188068389893 0.94913434982299805 +-0.18984879553318024 0.29256683588027954 1.2261166572570801 +0.48286765813827515 0.080334722995758057 1.1770238876342773 +0.31911301612854004 0.90873408317565918 0.44426259398460388 +0.43418210744857788 1.3902562856674194 -0.060609102249145508 +0.040289342403411865 1.2556111812591553 0.21637314558029175 +0.71300578117370605 1.0433791875839233 0.16728034615516663 +-0.074779734015464783 0.77408897876739502 0.7212449312210083 +-0.74749618768692017 0.9863210916519165 0.77033770084381104 +-0.46867251396179199 0.63944393396377563 0.99822717905044556 +-0.35360342264175415 1.1209661960601807 0.49335545301437378 +0.59793674945831299 0.56185698509216309 0.67215204238891602 +1.270653247833252 0.3496248722076416 0.62305927276611328 +0.991829514503479 0.69650202989578247 0.39516982436180115 +0.87676042318344116 0.21497982740402222 0.90004152059555054 +-1.4022049903869629 -0.24995416402816772 -0.31039351224899292 +-0.99259203672409058 -0.26284486055374146 0.26584520936012268 +-1.2714157104492188 0.084032297134399414 0.037955760955810547 +-1.1233812570571899 -0.59683132171630859 -0.082504056394100189 +-0.58297902345657349 -0.27573546767234802 0.84208387136459351 +-0.17336612939834595 -0.28862613439559937 1.4183226823806763 +-0.45218980312347412 0.05825100839138031 1.1904332637786865 +-0.30415534973144531 -0.6226125955581665 1.069973349571228 +-0.86180275678634644 0.071141660213470459 0.61419445276260376 +-1.0098371505737305 0.75200527906417847 0.73465430736541748 +-1.1406264305114746 0.41801881790161133 0.38630497455596924 +-0.73101353645324707 0.4051281213760376 0.962543785572052 +-0.71376830339431763 -0.60972195863723755 0.4937346875667572 +-0.56573385000228882 -1.2905855178833008 0.37327486276626587 +-0.43494462966918945 -0.95659911632537842 0.72162413597106934 +-0.84455752372741699 -0.94370841979980469 0.14538541436195374 +0.55477762222290039 0.20371963083744049 -0.91719669103622437 +1.0644762516021729 0.17341557145118713 -0.20709246397018433 +0.90492153167724609 -0.43040561676025391 0.43173810839653015 +0.26158729195594788 -1.0141758918762207 0.33028668165206909 +-0.24396133422851562 -1.0022282600402832 -0.38283926248550415 +-0.10249347984790802 -0.39249873161315918 -1.0205438137054443 +0.16027182340621948 0.23312801122665405 -1.4639222621917725 +1.4419572353363037 0.1901516318321228 0.33785375952720642 +1.3988754749298096 0.021695435047149658 0.51553952693939209 +-0.2276882529258728 -1.439064621925354 0.2821820080280304 +-0.0231589674949646 0.067596018314361572 -1.4914548397064209 +-0.38567721843719482 -1.4375858306884766 0.08777579665184021 +0.54046046733856201 0.10097850859165192 -0.98750090599060059 +1.0975064039230347 0.090932160615921021 -0.20021708309650421 +0.99234825372695923 -0.41860032081604004 0.34274035692214966 +0.27380555868148804 -1.0555758476257324 0.25232166051864624 +-0.017199568450450897 -0.40019148588180542 -1.0451921224594116 +-0.16670054197311401 -1.0593041181564331 -0.35712465643882751 +0.54392248392105103 0.043638691306114197 -1.0104513168334961 +1.1305954456329346 0.046810448169708252 -0.17460983991622925 +1.0262302160263062 -0.42509829998016357 0.2913949191570282 +0.26026374101638794 -1.0953421592712402 0.2083604633808136 +0.032304584980010986 -0.38590151071548462 -1.0774794816970825 +-0.11231201887130737 -1.0879251956939697 -0.35010409355163574 +0.50297611951828003 0.027317732572555542 -1.0766144990921021 +0.17362979054450989 0.1789986789226532 -1.4712390899658203 +1.1933634281158447 0.033766239881515503 -0.091689318418502808 +1.4473916292190552 0.1213034987449646 0.31211397051811218 +1.0904688835144043 -0.37903290987014771 0.28291597962379456 +1.4177234172821045 0.0040317773818969727 0.46559247374534607 +0.18961507081985474 -1.1761856079101562 0.17174530029296875 +-0.23110044002532959 -1.4664468765258789 0.24467754364013672 +0.042466849088668823 0.034755527973175049 -1.4846079349517822 +0.077635005116462708 -0.31987035274505615 -1.1578075885772705 +-0.10737901926040649 -1.1461185216903687 -0.29616221785545349 +-0.33179587125778198 -1.4525618553161621 0.081904381513595581 +0.45332556962966919 -0.017533347010612488 -1.1690245866775513 +1.2524365186691284 -0.042681574821472168 -0.044844627380371094 +1.1851416826248169 -0.32428610324859619 0.25041520595550537 +0.16154330968856812 -1.2385361194610596 0.11118593811988831 +0.1464802622795105 -0.29159915447235107 -1.210761547088623 +-0.078007161617279053 -1.2309973239898682 -0.22581082582473755 +0.13574886322021484 0.17050552368164062 -1.5292377471923828 +0.43843662738800049 -0.055554136633872986 -1.2086803913116455 +1.2841775417327881 -0.082169830799102783 -0.018901854753494263 +1.492058277130127 0.12782210111618042 0.37880265712738037 +1.4727303981781006 0.046941399574279785 0.46360531449317932 +1.2299821376800537 -0.30895823240280151 0.21888376772403717 +-0.26459556818008423 -1.5047904253005981 0.2272951602935791 +0.14665433764457703 -1.2765568494796753 0.071530133485794067 +0.19132071733474731 -0.27627122402191162 -1.2422930002212524 +0.047618627548217773 0.091790080070495605 -1.5412251949310303 +-0.33339780569076538 -1.5026252269744873 0.13050505518913269 +-0.046266078948974609 -1.2704856395721436 -0.19986805319786072 +0.42500734329223633 -0.089847370982170105 -1.2444484233856201 +1.3128068447113037 -0.117786705493927 0.004497528076171875 +1.2704265117645264 -0.29513305425643921 0.19044360518455505 +0.13322508335113525 -1.3108501434326172 0.035762101411819458 +0.23176509141921997 -0.26244604587554932 -1.270733118057251 +-0.01763683557510376 -1.3061025142669678 -0.17646867036819458 +0.42221724987030029 -0.13478957116603851 -1.2702631950378418 +0.11818939447402954 0.14772558212280273 -1.5652824640274048 +1.5198336839675903 0.103615403175354 0.40653437376022339 +1.3353128433227539 -0.16352492570877075 0.0142689049243927 +1.3041481971740723 -0.29393723607063293 0.15100505948066711 +1.5108439922332764 0.065996468067169189 0.44597747921943665 +-0.28455233573913574 -1.5376021862030029 0.20176860690116882 +0.13454461097717285 -1.3385951519012451 -0.0080837905406951904 +0.28011584281921387 -0.26171064376831055 -1.2895917892456055 +0.077198624610900879 0.11111372709274292 -1.5708580017089844 +0.023607760667800903 -1.3351038694381714 -0.1641484797000885 +-0.31655335426330566 -1.5365951061248779 0.15674996376037598 +0.40995579957962036 -0.16610078513622284 -1.302920937538147 +1.361452579498291 -0.1960446834564209 0.03563353419303894 +1.3410756587982178 -0.28131425380706787 0.12503793835639954 +0.12228313088417053 -1.3699063062667847 -0.040741533041000366 +0.31704330444335938 -0.24908767640590668 -1.315558910369873 +0.049747467041015625 -1.3676235675811768 -0.14278385043144226 +0.39939725399017334 -0.19306330382823944 -1.331043004989624 +1.3839616775512695 -0.22404778003692627 0.054030895233154297 +1.37287437915802 -0.27044445276260376 0.10267737507820129 +0.1117246150970459 -1.3968688249588013 -0.068863540887832642 +0.072256684303283691 -1.3956267833709717 -0.1243864893913269 +0.34884196519851685 -0.23821787536144257 -1.3379194736480713 +0.38679516315460205 -0.22524426877498627 -1.3646078109741211 +0.10797148942947388 0.12163287401199341 -1.5924972295761108 +1.41082763671875 -0.25747084617614746 0.075988978147506714 +1.5416167974472046 0.076515614986419678 0.42433825135231018 +0.099122524261474609 -1.4290497303009033 -0.10242840647697449 +-0.29477024078369141 -1.5636948347091675 0.17455384135246277 +-1.5416167974472046 -0.076515614986419678 -0.42433825135231018 +-1.41082763671875 0.25747084617614746 -0.075988978147506714 +-1.2792758941650391 0.15780013799667358 -0.38865476846694946 +-1.3368103504180908 -0.082960903644561768 -0.13621887564659119 +-1.2800383567810059 0.59145736694335938 0.27236023545265198 +-1.1492490768432617 0.92544382810592651 0.62070953845977783 +-1.0176973342895508 0.82577311992645264 0.30804374814033508 +-1.0752317905426025 0.58501207828521729 0.56047964096069336 +-1.1484866142272949 0.4917866587638855 -0.040305525064468384 +-0.75459378957748413 0.62643170356750488 -0.31728780269622803 +-1.0366294384002686 0.38538369536399841 -0.33912217617034912 +-0.86645090579986572 0.73283469676971436 -0.01847115159034729 +-1.2060210704803467 0.25102555751800537 0.21213036775588989 +-0.92719739675521851 -0.095851585268974304 0.44001981616020203 +-1.0151557922363281 0.26192408800125122 0.48885524272918701 +-1.1180627346038818 -0.10675013065338135 0.1632949560880661 +-0.88690805435180664 1.1597596406936646 0.65639293193817139 +-0.49301528930664062 1.2944047451019287 0.37941071391105652 +-0.7553563117980957 1.0600888729095459 0.34372726082801819 +-0.55054980516433716 1.0536437034606934 0.63184654712677002 +-0.099122524261474609 1.4290497303009033 0.10242840647697449 +0.29477024078369141 1.5636948347091675 -0.17455384135246277 +0.032429218292236328 1.3293790817260742 -0.21023732423782349 +0.23723572492599487 1.3229336738586426 0.07788202166557312 +-0.36146354675292969 1.1947339773178101 0.066744953393936157 +-0.49225276708602905 0.86074751615524292 -0.28160429000854492 +-0.61726510524749756 0.97711753845214844 0.048478871583938599 +-0.23645123839378357 1.0783638954162598 -0.26333826780319214 +-0.15665704011917114 1.188288688659668 0.35486429929733276 +0.12216664850711823 0.8414115309715271 0.58275377750396729 +0.16576001048088074 1.0995165109634399 0.31892341375350952 +-0.20025038719177246 0.93018370866775513 0.61869466304779053 +-0.22838675975799561 0.22774887084960938 -1.5679508447647095 +-0.62227952480316162 0.09310382604598999 -1.2909685373306274 +-0.35993850231170654 0.32741960883140564 -1.2552851438522339 +-0.30561593174934387 -0.019744455814361572 -1.3016657829284668 +-1.0161722898483276 -0.04154127836227417 -1.0139862298965454 +-1.4100650548934937 -0.17618632316589355 -0.73700404167175293 +-1.1477240324020386 0.058129489421844482 -0.70132052898406982 +-1.0737068653106689 -0.28230232000350952 -0.7615504264831543 +-0.75383126735687256 0.19277453422546387 -0.97830283641815186 +-0.62304204702377319 0.52676099538803101 -0.62995356321334839 +-0.49802970886230469 0.41039097309112549 -0.9600367546081543 +-0.87884354591369629 0.30914455652236938 -0.64821958541870117 +-0.67981404066085815 -0.14765727519989014 -1.0385327339172363 +-0.40099036693572998 -0.49453443288803101 -0.81064319610595703 +-0.7512897253036499 -0.37107455730438232 -0.79749125242233276 +-0.34345582127571106 -0.25377330183982849 -1.0630791187286377 +0.42632198333740234 1.4640240669250488 -0.48721960186958313 +0.29553276300430298 1.1300376653671265 -0.83556890487670898 +0.16398102045059204 1.2297084331512451 -0.52290308475494385 +0.50033926963806152 1.1235923767089844 -0.54744946956634521 +0.16474348306655884 0.79605114459991455 -1.1839181184768677 +0.033954262733459473 0.46206468343734741 -1.5322674512863159 +-0.097597509622573853 0.56173539161682129 -1.2196016311645508 +0.24530017375946045 0.47231867909431458 -1.2267305850982666 +0.0331917405128479 0.89572185277938843 -0.87125229835510254 +-0.36070102453231812 0.76107680797576904 -0.59427005052566528 +-0.078665375709533691 1.0021247863769531 -0.57243567705154419 +-0.24884390830993652 0.65467381477355957 -0.89308667182922363 +0.36954998970031738 0.78960585594177246 -0.89579874277114868 +0.64837366342544556 0.44272869825363159 -0.66790926456451416 +0.42962601780891418 0.4665178656578064 -0.96742308139801025 +0.58829766511917114 0.76581668853759766 -0.59628492593765259 +-0.94444257020950317 0.91899853944778442 0.90882885456085205 +-0.665618896484375 0.57212138175964355 1.1367182731628418 +-0.60808432102203369 0.81288254261016846 0.88428241014480591 +-0.87042534351348877 0.57856667041778564 0.84859901666641235 +-0.38679516315460205 0.22524426877498627 1.3646078109741211 +-0.10797148942947388 -0.12163287401199341 1.5924972295761108 +-0.050436943769454956 0.11912825703620911 1.3400613069534302 +-0.31277796626091003 -0.11518755555152893 1.3043779134750366 +-0.32926064729690552 0.46600538492202759 1.1121718883514404 +0.064632117748260498 0.60065042972564697 0.83518964052200317 +-0.29142075777053833 0.70003420114517212 0.87358516454696655 +0.026792243123054504 0.36662161350250244 1.0737763643264771 +-0.5916016697883606 0.23168957233428955 1.0764884948730469 +-0.72239089012145996 -0.10229690372943878 0.72813916206359863 +-0.51104497909545898 -0.092042908072471619 1.0336760282516479 +-0.80294758081436157 0.22143559157848358 0.77095162868499756 +1.467599630355835 0.41694742441177368 0.48456811904907227 +1.188775897026062 0.76382458209991455 0.25667867064476013 +1.1312413215637207 0.52306342124938965 0.50911456346511841 +1.2488518953323364 0.44073659181594849 0.18505431711673737 +0.90995222330093384 1.1107016801834106 0.028789199888706207 +0.63112854957580566 1.4575788974761963 -0.19910025596618652 +0.57359397411346436 1.2168177366256714 0.053335621953010559 +0.70514571666717529 1.1171469688415527 -0.259330153465271 +0.85241764783859253 0.86994057893753052 0.28122508525848389 +0.45852488279342651 0.73529553413391113 0.55820733308792114 +0.81457775831222534 0.63591176271438599 0.51981180906295776 +0.4963647723197937 0.96932435035705566 0.31962057948112488 +0.98396939039230347 0.77026987075805664 -0.031440675258636475 +0.8531801700592041 0.4362834095954895 -0.37978994846343994 +0.78570234775543213 0.79341447353363037 -0.30214262008666992 +1.0579866170883179 0.42983806133270264 -0.091670580208301544 +0.22838675975799561 -0.22774887084960938 1.5679508447647095 +0.62227952480316162 -0.09310382604598999 1.2909685373306274 +0.28592127561569214 0.013012230396270752 1.3155149221420288 +0.35993850231170654 -0.32741960883140564 1.2552851438522339 +1.0161722898483276 0.04154127836227417 1.0139862298965454 +1.4100650548934937 0.17618632316589355 0.73700404167175293 +1.0737068653106689 0.28230232000350952 0.7615504264831543 +1.1280293464660645 -0.064861714839935303 0.71516966819763184 +0.67981404066085815 0.14765727519989014 1.0385327339172363 +0.40099036693572998 0.49453443288803101 0.81064319610595703 +0.35739699006080627 0.23642945289611816 1.0744736194610596 +0.72340738773345947 0.40576225519180298 0.77470231056213379 +0.75383126735687256 -0.19277453422546387 0.97830283641815186 +0.62304204702377319 -0.52676099538803101 0.62995356321334839 +0.8919224739074707 -0.2757459282875061 0.68305444717407227 +0.48495081067085266 -0.44378960132598877 0.9252018928527832 +-0.42632198333740234 -1.4640240669250488 0.48721960186958313 +-0.29553276300430298 -1.1300376653671265 0.83556890487670898 +-0.50033926963806152 -1.1235923767089844 0.54744946956634521 +-0.15744155645370483 -1.2130091190338135 0.54032051563262939 +-0.16474348306655884 -0.79605114459991455 1.1839181184768677 +-0.033954262733459473 -0.46206468343734741 1.5322674512863159 +-0.23876070976257324 -0.45561936497688293 1.2441480159759521 +0.097597509622573853 -0.56173539161682129 1.2196016311645508 +-0.36954998970031738 -0.78960585594177246 0.89579874277114868 +-0.64837366342544556 -0.44272869825363159 0.66790926456451416 +-0.56041526794433594 -0.80050438642501831 0.61907386779785156 +-0.457508385181427 -0.43183016777038574 0.94463413953781128 +-0.0331917405128479 -0.89572185277938843 0.87125229835510254 +0.36070102453231812 -0.76107680797576904 0.59427005052566528 +0.20945465564727783 -0.66813832521438599 0.92078495025634766 +0.098360002040863037 -0.9953925609588623 0.55858659744262695 +-0.63112854957580566 -1.4575788974761963 0.19910025596618652 +-0.90995222330093384 -1.1107016801834106 -0.028789199888706207 +-0.58753514289855957 -1.1994738578796387 -0.064730092883110046 +-0.70514571666717529 -1.1171469688415527 0.259330153465271 +-1.188775897026062 -0.76382458209991455 -0.25667867064476013 +-1.467599630355835 -0.41694742441177368 -0.48456811904907227 +-1.1312413215637207 -0.52306342124938965 -0.50911456346511841 +-1.2627930641174316 -0.42339274287223816 -0.19644878804683685 +-0.85241764783859253 -0.86994057893753052 -0.28122508525848389 +-0.45852488279342651 -0.73529553413391113 -0.55820733308792114 +-0.53575402498245239 -0.98278886079788208 -0.29192236065864563 +-0.77518850564956665 -0.62244725227355957 -0.54751002788543701 +-0.98396939039230347 -0.77026987075805664 0.031440675258636475 +-0.8531801700592041 -0.4362834095954895 0.37978994846343994 +-1.0645260810852051 -0.44653737545013428 0.074253149330615997 +-0.77262347936630249 -0.76001584529876709 0.3369775116443634 +-1.4108024835586548 -0.30540990829467773 -0.61283159255981445 +-1.1024740934371948 -0.40268293023109436 -0.63533246517181396 +-1.2853529453277588 -0.46519669890403748 -0.50673353672027588 +-1.2319279909133911 -0.24163281917572021 -0.7411382794380188 +-0.77607381343841553 -0.49641045928001404 -0.66801780462265015 +-0.40172776579856873 -0.62375801801681519 -0.68647080659866333 +-0.62190943956375122 -0.6621740460395813 -0.56697046756744385 +-0.58323705196380615 -0.44628515839576721 -0.78847777843475342 +-0.96306222677230835 -0.57612144947052002 -0.52138769626617432 +-1.0205967426300049 -0.81688261032104492 -0.26895186305046082 +-1.1459410190582275 -0.63863527774810791 -0.39278882741928101 +-0.83360838890075684 -0.73717159032821655 -0.41558191180229187 +-0.91959530115127563 -0.34016916155815125 -0.76393139362335205 +-0.84799313545227051 -0.094599246978759766 -1.0262594223022461 +-0.73661112785339355 -0.25919485092163086 -0.91026914119720459 +-1.0349816083908081 -0.17431026697158813 -0.87962943315505981 +-0.30503574013710022 -0.79238802194595337 -0.56109702587127686 +-0.36922866106033325 -1.013710618019104 -0.32479825615882874 +-0.49208670854568481 -0.87573951482772827 -0.4109531044960022 +-0.43802022933959961 -1.2683544158935547 -0.054825514554977417 +-0.4930134117603302 -1.5122771263122559 0.19968748092651367 +-0.58829361200332642 -1.3323894739151001 0.062990099191665649 +-0.57285654544830322 -1.0875941514968872 -0.17750801146030426 +-0.88118493556976318 -0.99032115936279297 -0.15500713884830475 +-0.68903309106826782 -0.94306200742721558 -0.27246195077896118 +-0.74177306890487671 -1.163759708404541 -0.041062414646148682 +0.056090891361236572 0.32005178928375244 -1.5698215961456299 +0.26208946108818054 0.31665059924125671 -1.2785272598266602 +0.14631542563438416 0.44645354151725769 -1.3800687789916992 +0.46553349494934082 0.30672627687454224 -0.99403655529022217 +0.67571622133255005 0.28564679622650146 -0.70538556575775146 +0.52890324592590332 0.44648849964141846 -0.83597886562347412 +0.33499589562416077 0.48076599836349487 -1.0950691699981689 +0.26714673638343811 0.79282850027084351 -1.0398584604263306 +0.38949140906333923 0.6199270486831665 -0.94992363452911377 +0.20175209641456604 0.62583529949188232 -1.2140331268310547 +1.5073367357254028 0.27438062429428101 0.47177404165267944 +1.2999889850616455 0.28398764133453369 0.18157756328582764 +1.360525369644165 0.40824201703071594 0.32806739211082458 +1.0980868339538574 0.28681963682174683 -0.10416793823242188 +0.88946264982223511 0.26697081327438354 -0.41049835085868835 +0.96175146102905273 0.40469139814376831 -0.24074941873550415 +1.154221773147583 0.45498469471931458 0.057408228516578674 +1.0863726139068604 0.7670472264289856 0.11261896789073944 +1.2257844209671021 0.59360861778259277 0.22656369209289551 +1.0209780931472778 0.60005402565002441 -0.061555642634630203 +0.75694507360458374 0.41113674640655518 -0.52886873483657837 +0.68143075704574585 0.79186594486236572 -0.45117866992950439 +0.80621355772018433 0.61888778209686279 -0.35781389474868774 +0.62843227386474609 0.61240744590759277 -0.61378437280654907 +0.60274249315261841 1.1203696727752686 -0.40338984131813049 +0.53489327430725098 1.4324321746826172 -0.34817907214164734 +0.66346603631973267 1.2754348516464233 -0.24165627360343933 +0.47328862547874451 1.2814197540283203 -0.50919568538665771 +0.73219633102416992 0.9593195915222168 -0.29758399724960327 +0.94696074724197388 0.94048577547073364 -0.0013257674872875214 +0.87539809942245483 0.80186182260513306 -0.17048123478889465 +0.80287790298461914 1.1019963026046753 -0.12771153450012207 +0.53734785318374634 0.9533764123916626 -0.57756447792053223 +0.33254137635231018 0.95982176065444946 -0.86568379402160645 +0.40789398550987244 1.1144266128540039 -0.68337023258209229 +0.4766242504119873 0.79831123352050781 -0.73929798603057861 +1.4763219356536865 0.14459532499313354 0.6078527569770813 +1.2103908061981201 -0.09094768762588501 0.57469391822814941 +1.2742235660552979 0.047100365161895752 0.70672118663787842 +0.95215290784835815 -0.32386088371276855 0.53612512350082397 +0.69260972738265991 -0.56496882438659668 0.48667997121810913 +0.77607429027557373 -0.39007681608200073 0.6507689356803894 +1.0055909156799316 -0.16698145866394043 0.70953422784805298 +0.8850017786026001 -0.075616657733917236 0.99614453315734863 +0.8414689302444458 -0.22308358550071716 0.82494354248046875 +1.0819481611251831 -0.0082941055297851562 0.85765337944030762 +0.50283420085906982 -0.65222477912902832 0.58605635166168213 +0.34625217318534851 -0.54905694723129272 0.93466979265213013 +0.29959619045257568 -0.69931334257125854 0.76304399967193604 +0.53540438413619995 -0.4964519739151001 0.78331279754638672 +0.22876802086830139 -0.44457748532295227 1.2374433279037476 +0.10817891359329224 -0.35321265459060669 1.524053692817688 +0.045889198780059814 -0.50709128379821777 1.3660422563552856 +0.28949159383773804 -0.28951233625411987 1.3991769552230835 +0.16804444789886475 -0.59964263439178467 1.0757098197937012 +-0.098967611789703369 -0.8458864688873291 1.0275852680206299 +0.087016105651855469 -0.77025806903839111 0.91514956951141357 +-0.01950538158416748 -0.67408454418182373 1.1918675899505615 +0.4257144033908844 -0.37725493311882019 1.0989521741867065 +0.68805539608001709 -0.14293915033340454 1.1346356868743896 +0.48643797636032104 -0.22218978404998779 1.2606858015060425 +0.6085931658744812 -0.31474116444587708 0.97035324573516846 +0.42681750655174255 -0.81004238128662109 0.43884435296058655 +0.14190179109573364 -1.0475549697875977 0.42591521143913269 +0.24049317836761475 -0.88654053211212158 0.55037283897399902 +-0.11907678842544556 -1.2783915996551514 0.39386039972305298 +-0.38260990381240845 -1.5157516002655029 0.35500183701515198 +-0.28108388185501099 -1.342057466506958 0.49516913294792175 +-0.043773114681243896 -1.104244589805603 0.56680035591125488 +-0.16436225175857544 -1.0128797292709351 0.85341060161590576 +-0.22975689172744751 -1.179872989654541 0.67923593521118164 +0.032584130764007568 -0.94555723667144775 0.71491944789886475 +-0.23383700847625732 -0.54794305562973022 -0.82219511270523071 +-0.19988352060317993 -0.28760597109794617 -1.0845462083816528 +-0.3441932201385498 -0.38299688696861267 -0.93890672922134399 +-0.14645203948020935 -0.048247426748275757 -1.3340969085693359 +-0.085327327251434326 0.19374090433120728 -1.5890572071075439 +-0.24719604849815369 0.09497988224029541 -1.4335939884185791 +-0.34271839261054993 -0.12454980611801147 -1.1872514486312866 +-0.6510467529296875 -0.027276754379272461 -1.1647505760192871 +-0.45410040020942688 0.040045797824859619 -1.3032417297363281 +-0.5116349458694458 -0.2007153332233429 -1.050805926322937 +0.33868438005447388 1.4943332672119141 -0.33386033773422241 +0.098205149173736572 1.2795436382293701 -0.36657023429870605 +0.15892869234085083 1.4346089363098145 -0.20483666658401489 +0.28108388185501099 1.342057466506958 -0.49516913294792175 +-0.15006831288337708 1.0500366687774658 -0.41214591264724731 +-0.44833865761756897 0.79138582944869995 -0.44091081619262695 +-0.35011965036392212 0.96959948539733887 -0.28981804847717285 +-0.22485947608947754 0.89016276597976685 -0.56398725509643555 +-0.098741263151168823 1.2122211456298828 -0.22807908058166504 +-0.23029303550720215 1.3118917942047119 0.084586650133132935 +-0.038017690181732178 1.3672863245010376 -0.066345512866973877 +-0.28162002563476562 1.1497074365615845 -0.099480181932449341 +0.037481546401977539 1.1244785785675049 -0.52830380201339722 +0.16436225175857544 1.0128797292709351 -0.85341060161590576 +-0.01072239875793457 0.9650835394859314 -0.71194583177566528 +0.21568930149078369 1.1750643253326416 -0.66934370994567871 +-0.66695618629455566 0.59612268209457397 -0.47064703702926636 +-0.96522653102874756 0.33747184276580811 -0.499411940574646 +-0.89043533802032471 0.49734574556350708 -0.34757059812545776 +-0.76517516374588013 0.41790902614593506 -0.62173980474472046 +-1.2135000228881836 0.10796481370925903 -0.54498761892318726 +-1.4539792537689209 -0.10682469606399536 -0.5776975154876709 +-1.396378755569458 0.045450985431671143 -0.41638872027397156 +-1.2742235660552979 -0.047100365161895752 -0.70672118663787842 +-1.1527763605117798 0.26302996277809143 -0.38325405120849609 +-1.2796571254730225 0.37462875247001648 -0.058147251605987549 +-1.1045724153518677 0.42242497205734253 -0.19961202144622803 +-1.3309841156005859 0.2124442458152771 -0.24221411347389221 +-1.016553521156311 0.17528730630874634 -0.68347877264022827 +-0.8850017786026001 0.075616657733917236 -0.99614453315734863 +-1.0772771835327148 0.020222187042236328 -0.84521234035491943 +-0.83367478847503662 0.23780110478401184 -0.81207764148712158 +-0.61246061325073242 0.73528373241424561 -0.32550153136253357 +-0.75030398368835449 0.85518836975097656 0.02566075325012207 +-0.57209628820419312 0.90577411651611328 -0.11537918448448181 +-0.7985079288482666 0.69579339027404785 -0.157981276512146 +-0.88652682304382324 0.94293105602264404 0.32588544487953186 +-1.0071158409118652 1.0342957973480225 0.6124957799911499 +-0.82580322027206421 1.0979962348937988 0.4876190721988678 +-1.0694055557250977 0.88041722774505615 0.45448437333106995 +-0.70364797115325928 1.0054447650909424 0.19728651642799377 +-0.42723941802978516 1.2445693016052246 0.22307780385017395 +-0.50359666347503662 1.0858819484710693 0.074958652257919312 +-0.6288568377494812 1.1653187274932861 0.34912791848182678 +-0.95192146301269531 0.77593779563903809 0.15171089768409729 +-1.2142624855041504 0.54162204265594482 0.11602738499641418 +-1.1348001956939697 0.7134239673614502 0.2803097665309906 +-1.0126450061798096 0.6208726167678833 -0.010022729635238647 +-0.50283420085906982 0.65222477912902832 -0.58605635166168213 +-0.36499083042144775 0.53232014179229736 -0.93721860647201538 +-0.54319852590560913 0.48173442482948303 -0.79617869853973389 +-0.31678688526153564 0.69171512126922607 -0.75357657670974731 +-0.22876802086830139 0.44457748532295227 -1.2374433279037476 +-0.10817891359329224 0.35321265459060669 -1.524053692817688 +-0.28949159383773804 0.28951233625411987 -1.3991769552230835 +-0.045889198780059814 0.50709128379821777 -1.3660422563552856 +-0.41164681315422058 0.38206368684768677 -1.1088443994522095 +-0.68805539608001709 0.14293915033340454 -1.1346356868743896 +-0.61169815063476562 0.3016265332698822 -0.98651647567749023 +-0.48643797636032104 0.22218978404998779 -1.2606858015060425 +-0.16337338089942932 0.61157071590423584 -1.063268780708313 +0.098967611789703369 0.8458864688873291 -1.0275852680206299 +0.01950538158416748 0.67408454418182373 -1.1918675899505615 +-0.10264980792999268 0.76663589477539062 -0.90153515338897705 +0.065002202987670898 -0.15462744235992432 1.5591877698898315 +0.11774218082427979 0.066070228815078735 1.3277881145477295 +-0.065136611461639404 0.0035564601421356201 1.4563870429992676 +0.24719604849815369 -0.09497988224029541 1.4335939884185791 +0.18523469567298889 0.29444286227226257 1.0834912061691284 +0.23760578036308289 0.56765586137771606 0.80188006162643433 +0.063894703984260559 0.47142690420150757 0.95936203002929688 +0.35815548896789551 0.36934509873390198 0.94675338268280029 +-0.021669685840606689 0.23950877785682678 1.2138433456420898 +-0.35802790522575378 0.34562483429908752 1.2383898496627808 +-0.20454847812652588 0.17699500918388367 1.3424422740936279 +-0.1511235386133194 0.40055888891220093 1.1080375909805298 +0.30062097311019897 0.12858399748802185 1.1991891860961914 +0.6510467529296875 0.027276754379272461 1.1647505760192871 +0.50684034824371338 0.18065190315246582 1.0718421936035156 +0.44414243102073669 -0.02765733003616333 1.2951028347015381 +0.28555122017860413 0.76829010248184204 0.59151691198348999 +0.33792230486869812 1.0415030717849731 0.3099057674407959 +0.1650015115737915 0.96660089492797852 0.44664359092712402 +0.45926231145858765 0.86451905965805054 0.43403494358062744 +0.40541481971740723 1.2698757648468018 0.065608799457550049 +0.45815479755401611 1.4905734062194824 -0.16579073667526245 +0.27596095204353333 1.4309258460998535 -0.040197014808654785 +0.58829361200332642 1.3323894739151001 -0.062990099191665649 +0.22253602743148804 1.2073619365692139 0.19420772790908813 +-0.12788978219032288 1.3086692094802856 0.22864633798599243 +0.016316622495651245 1.1552940607070923 0.3215547502040863 +0.079014569520950317 1.3636033535003662 0.09829413890838623 +0.5448266863822937 1.0964372158050537 0.17955353856086731 +0.88118493556976318 0.99032115936279297 0.15500713884830475 +0.72770547866821289 1.1589509248733521 0.050954639911651611 +0.67428052425384521 0.93538707494735718 0.28535935282707214 +0.12142923474311829 0.71218794584274292 0.70692616701126099 +-0.25702643394470215 0.82233822345733643 0.74341028928756714 +-0.11350499093532562 0.66609692573547363 0.83932387828826904 +-0.050807014107704163 0.87440609931945801 0.61606329679489136 +-0.57931709289550781 0.93326306343078613 0.75806450843811035 +-0.88764548301696777 1.0305360555648804 0.78056538105010986 +-0.762195885181427 0.87074923515319824 0.88666343688964844 +-0.7087709903717041 1.0943131446838379 0.65225863456726074 +-0.44986322522163391 0.77221298217773438 0.86387032270431519 +-0.49743977189064026 0.51906341314315796 1.1244450807571411 +-0.32852321863174438 0.59522891044616699 0.98799943923950195 +-0.62278401851654053 0.6973106861114502 1.0006082057952881 +-0.3823707103729248 1.0005855560302734 0.61957335472106934 +-0.32483616471290588 1.2413467168807983 0.36713749170303345 +-0.51182460784912109 1.1616356372833252 0.51376748085021973 +-0.19949193298816681 1.0630993843078613 0.49097445607185364 +0.40172776579856873 0.62375801801681519 0.68647080659866333 +0.78018343448638916 0.51360774040222168 0.6499866247177124 +0.63666200637817383 0.66984903812408447 0.55407309532165527 +0.57396399974822998 0.46153983473777771 0.77733367681503296 +1.1024740934371948 0.40268293023109436 0.63533246517181396 +1.4108024835586548 0.30540990829467773 0.61283159255981445 +1.2853529453277588 0.46519669890403748 0.50673353672027588 +1.2319279909133911 0.24163281917572021 0.7411382794380188 +0.97302019596099854 0.56373298168182373 0.52952665090560913 +1.0205967426300049 0.81688261032104492 0.26895186305046082 +0.8516802191734314 0.74071699380874634 0.40539747476577759 +1.1459410190582275 0.63863527774810791 0.39278882741928101 +0.90552771091461182 0.33536037802696228 0.77382361888885498 +0.84799313545227051 0.094599246978759766 1.0262594223022461 +1.0349816083908081 0.17431026697158813 0.87962943315505981 +0.72264891862869263 0.27284660935401917 0.90242254734039307 +-1.4875409603118896 -0.2472686767578125 -0.43044325709342957 +-1.2998018264770508 -0.25317689776420593 -0.16633382439613342 +-1.4292556047439575 -0.092126786708831787 -0.27213963866233826 +-1.360525369644165 -0.40824201703071594 -0.32806739211082458 +-1.0996663570404053 -0.27155026793479919 0.109344482421875 +-0.87312155961990356 -0.26660460233688354 0.43391481041908264 +-1.0234324932098389 -0.12099823355674744 0.29094099998474121 +-0.96554142236709595 -0.42067229747772217 0.22759133577346802 +-1.2344071865081787 -0.086183637380599976 0.0078407824039459229 +-1.3084243535995483 0.25424820184707642 0.068070679903030396 +-1.3638609647750854 0.07486647367477417 -0.097965031862258911 +-1.1736835241317749 0.06888154149055481 0.16957435011863708 +-1.1703479290008545 -0.41422697901725769 -0.060527995228767395 +-1.0863726139068604 -0.7670472264289856 -0.11261896789073944 +-1.0380452871322632 -0.59951680898666382 0.037545718252658844 +-1.2211134433746338 -0.5816805362701416 -0.21412265300750732 +-0.7024495005607605 -0.27197569608688354 0.67401427030563354 +-0.47590476274490356 -0.26703006029129028 0.99858462810516357 +-0.61002963781356812 -0.1179080456495285 0.88033777475357056 +-0.5521385669708252 -0.41758203506469727 0.81698811054229736 +-0.27576929330825806 -0.28540343046188354 1.2742629051208496 +-0.088030040264129639 -0.29131162166595459 1.5383723974227905 +-0.2150457501411438 -0.13033828139305115 1.4359965324401855 +-0.14631542563438416 -0.44645354151725769 1.3800687789916992 +-0.40522316098213196 -0.12435334920883179 1.1684571504592896 +-0.48919841647148132 0.22846692800521851 1.2205480337142944 +-0.53752583265304565 0.06093655526638031 1.0703834295272827 +-0.35445761680603027 0.043100267648696899 1.3220517635345459 +-0.34116393327713013 -0.4523966908454895 1.100088357925415 +-0.26714673638343811 -0.79282850027084351 1.0398584604263306 +-0.21171006560325623 -0.61344683170318604 1.2058941125869751 +-0.40188753604888916 -0.60746181011199951 0.9383547306060791 +-0.81862598657608032 -0.12744355201721191 0.57906037569046021 +-0.90876936912536621 0.25374603271484375 0.63617050647735596 +-0.95953494310379028 0.086292415857315063 0.48257583379745483 +-0.7764667272567749 0.068456098437309265 0.73424416780471802 +-0.97282856702804565 0.58178937435150146 0.70453929901123047 +-1.0406777858734131 0.8938518762588501 0.75975000858306885 +-1.1022824048995972 0.74283945560455322 0.59873342514038086 +-0.9121050238609314 0.73685455322265625 0.86627292633056641 +-1.0335521697998047 0.42672419548034668 0.54280567169189453 +-1.2430297136306763 0.42124146223068237 0.24224531650543213 +-1.1097859144210815 0.27617216110229492 0.36120918393135071 +-1.1676770448684692 0.57584619522094727 0.4245588481426239 +-0.83341670036315918 0.40835082530975342 0.81848400831222534 +-0.62861025333404541 0.40190547704696655 1.1066032648086548 +-0.77269315719604492 0.5634160041809082 0.98021763563156128 +-0.70396286249160767 0.24730072915554047 0.92428982257843018 +-0.75694507360458374 -0.41113674640655518 0.52886873483657837 +-0.66680169105529785 -0.79232633113861084 0.47175860404968262 +-0.61603611707687378 -0.62487268447875977 0.62535327672958374 +-0.79910433292388916 -0.60703641176223755 0.37368494272232056 +-0.60274249315261841 -1.1203696727752686 0.40338984131813049 +-0.53489327430725098 -1.4324321746826172 0.34817907214164734 +-0.47328862547874451 -1.2814197540283203 0.50919568538665771 +-0.66346603631973267 -1.2754348516464233 0.24165627360343933 +-0.54201889038085938 -0.96530449390411377 0.56512343883514404 +-0.33254137635231018 -0.95982176065444946 0.86568379402160645 +-0.46578511595726013 -0.81475245952606201 0.74671989679336548 +-0.40789398550987244 -1.1144266128540039 0.68337023258209229 +-0.74215435981750488 -0.94693112373352051 0.28944510221481323 +-0.94696074724197388 -0.94048577547073364 0.0013257674872875214 +-0.80287790298461914 -1.1019963026046753 0.12771153450012207 +-0.8716081976890564 -0.78588104248046875 0.1836392879486084 +0.26282662153244019 0.25235268473625183 -1.3087350130081177 +0.66941159963607788 0.18760931491851807 -0.76200872659683228 +0.95335650444030762 0.16974297165870667 -0.36689960956573486 +1.3273937702178955 0.21885049343109131 0.1888853907585144 +1.2524788379669189 -0.094640552997589111 0.5175778865814209 +0.76645511388778687 -0.5621107816696167 0.40068015456199646 +-0.11114782094955444 -1.3125944137573242 0.33209815621376038 +0.40872299671173096 -0.8873634934425354 0.34329035878181458 +-0.078763186931610107 -0.052745968103408813 -1.3551979064941406 +-0.12701772153377533 -0.52722126245498657 -0.8821682333946228 +-0.21511919796466827 -0.85591274499893188 -0.5339510440826416 +-0.3778228759765625 -1.3042020797729492 -0.043057233095169067 +0.47980320453643799 0.22404079139232635 -1.0139384269714355 +1.1352901458740234 0.1887965202331543 -0.098911970853805542 +0.98893237113952637 -0.34383231401443481 0.46072617173194885 +0.16911676526069641 -1.0760691165924072 0.3492152988910675 +-0.1170225590467453 -0.30902761220932007 -1.0951182842254639 +-0.29681801795959473 -1.061406135559082 -0.30625623464584351 +0.63228654861450195 0.092805854976177216 -0.86088913679122925 +0.26128232479095459 0.22193688154220581 -1.3257167339324951 +1.0208873748779297 0.10346885025501251 -0.3030816912651062 +1.3422764539718628 0.18791770935058594 0.19501322507858276 +0.87826323509216309 -0.52389121055603027 0.3220575749874115 +1.2748532295227051 -0.094224274158477783 0.490836501121521 +0.36516943573951721 -0.96746832132339478 0.27464848756790161 +-0.10981541872024536 -1.3309721946716309 0.30249461531639099 +-0.046148538589477539 -0.052651941776275635 -1.3675334453582764 +-0.048173986375331879 -0.48447757959365845 -0.95275187492370605 +-0.34982296824455261 -1.3234190940856934 -0.03514525294303894 +-0.13597391545772552 -0.95437526702880859 -0.46926367282867432 +0.26562613248825073 0.17126083374023438 -1.344173789024353 +0.59663814306259155 0.067953705787658691 -0.92366522550582886 +1.3600608110427856 0.13681864738464355 0.19546401500701904 +1.069719672203064 0.053065687417984009 -0.25813958048820496 +1.3031256198883057 -0.10143446922302246 0.44527032971382141 +0.94131582975387573 -0.48425790667533875 0.3052394688129425 +-0.098759233951568604 -1.3535594940185547 0.25458672642707825 +0.33533543348312378 -1.0255029201507568 0.22281433641910553 +0.0060178637504577637 -0.060614109039306641 -1.3794856071472168 +0.011153079569339752 -0.45498540997505188 -1.0033025741577148 +-0.30143222212791443 -1.3471813201904297 -0.030531376600265503 +-0.12174569070339203 -1.0111184120178223 -0.42020207643508911 +0.43156719207763672 0.10968825221061707 -1.13812255859375 +1.1984665393829346 0.13976582884788513 -0.032904207706451416 +1.1282950639724731 -0.29378309845924377 0.36639678478240967 +0.13136357069015503 -1.1833665370941162 0.2320859283208847 +0.014990761876106262 -0.26942861080169678 -1.1826496124267578 +-0.20222169160842896 -1.1842963695526123 -0.22394934296607971 +0.56740033626556396 0.050648003816604614 -0.97365635633468628 +1.1069374084472656 0.033668607473373413 -0.21464197337627411 +0.99096941947937012 -0.45161548256874084 0.29417407512664795 +0.29986479878425598 -1.0688910484313965 0.20017039775848389 +0.038619264960289001 -0.42164477705955505 -1.0455808639526367 +-0.11294826865196228 -1.0558997392654419 -0.3805701732635498 +0.57247442007064819 -0.015811465680599213 -0.99874758720397949 +0.4189268946647644 0.042113363742828369 -1.188947319984436 +0.22364193201065063 0.17119854688644409 -1.4039092063903809 +0.068941682577133179 0.26021528244018555 -1.5806341171264648 +1.1308920383453369 -0.033385008573532104 -0.21317219734191895 +1.2611935138702393 0.015606999397277832 -0.0040564835071563721 +1.3819172382354736 0.11376678943634033 0.21533992886543274 +1.5205075740814209 0.21453404426574707 0.46141186356544495 +1.0288581848144531 -0.46035978198051453 0.23450705409049988 +1.1899945735931396 -0.28233486413955688 0.30833292007446289 +1.357830286026001 -0.053462386131286621 0.45135855674743652 +1.499651312828064 0.12725818157196045 0.55291986465454102 +0.31356900930404663 -1.0992364883422852 0.13721382617950439 +0.11111712455749512 -1.2459585666656494 0.16158458590507507 +-0.13410627841949463 -1.3893721103668213 0.24332258105278015 +-0.35969060659408569 -1.5334548950195312 0.30001318454742432 +-0.02615693211555481 0.17527580261230469 -1.593569278717041 +0.033031165599822998 -0.04769521951675415 -1.4020140171051025 +0.094279900193214417 -0.2478523850440979 -1.2331056594848633 +0.10722900182008743 -0.43135583400726318 -1.0620300769805908 +-0.049642503261566162 -1.0878059864044189 -0.37374785542488098 +-0.14233091473579407 -1.2379825115203857 -0.19496312737464905 +-0.31193521618843079 -1.3973262310028076 0.021489411592483521 +-0.43393296003341675 -1.531118631362915 0.19556993246078491 +0.40044498443603516 0.10080632567405701 -1.1866986751556396 +1.2454782724380493 0.062062382698059082 -0.0038222968578338623 +1.174762487411499 -0.25861382484436035 0.36307591199874878 +0.10047602653503418 -1.2259414196014404 0.20507261157035828 +0.046967968344688416 -0.24007326364517212 -1.222800612449646 +-0.20176061987876892 -1.2265151739120483 -0.18364447355270386 +0.24008136987686157 0.10602909326553345 -1.4122107028961182 +1.4103529453277588 0.12599098682403564 0.26172024011611938 +1.3800578117370605 -0.07513660192489624 0.39117223024368286 +-0.14164978265762329 -1.4215996265411377 0.20349764823913574 +0.028774678707122803 -0.006773829460144043 -1.4396501779556274 +-0.24697446823120117 -1.4149307012557983 0.013978302478790283 +0.59430998563766479 -0.0041719749569892883 -0.96203738451004028 +1.1036593914031982 -0.020201355218887329 -0.24549058079719543 +0.99263572692871094 -0.48479503393173218 0.24163174629211426 +0.34019911289215088 -1.0675334930419922 0.15288767218589783 +0.088073790073394775 -0.45632818341255188 -1.030895471572876 +-0.055013388395309448 -1.0550961494445801 -0.4030926525592804 +0.38327890634536743 0.05697062611579895 -1.232419490814209 +1.2908275127410889 0.028409838676452637 0.044309347867965698 +1.2264609336853027 -0.24094170331954956 0.32672199606895447 +0.063962280750274658 -1.2792534828186035 0.16859957575798035 +0.089784905314445496 -0.2051701545715332 -1.2723402976989746 +-0.16516503691673279 -1.2720427513122559 -0.1537339985370636 +0.38282448053359985 0.029338032007217407 -1.2464983463287354 +0.54346710443496704 -0.073340125381946564 -1.0679640769958496 +1.303386926651001 0.00036764144897460938 0.048538118600845337 +1.19097900390625 -0.0977897047996521 -0.15903139114379883 +1.2455527782440186 -0.24164742231369019 0.30228874087333679 +1.1051414012908936 -0.42976382374763489 0.1877453625202179 +0.066384553909301758 -1.2948479652404785 0.14189893007278442 +0.29350554943084717 -1.1686210632324219 0.056149095296859741 +0.1191171407699585 -0.20619815587997437 -1.2823677062988281 +0.1824553906917572 -0.39642885327339172 -1.1237610578536987 +-0.13948860764503479 -1.2883691787719727 -0.1477210521697998 +-0.0032453238964080811 -1.1552881002426147 -0.32646819949150085 +0.07665744423866272 0.21814984083175659 -1.5901103019714355 +0.20628756284713745 0.1079731285572052 -1.4593234062194824 +0.36783820390701294 -0.0089312493801116943 -1.2864134311676025 +0.52836710214614868 -0.12844493985176086 -1.1162247657775879 +1.2249224185943604 -0.15036571025848389 -0.13631883263587952 +1.3353354930877686 -0.039378643035888672 0.074650436639785767 +1.443203330039978 0.054078996181488037 0.27347901463508606 +1.5311033725738525 0.17237800359725952 0.45598739385604858 +1.5177686214447021 0.11657661199569702 0.51449465751647949 +1.4227554798126221 -0.036434590816497803 0.39784079790115356 +1.2906863689422607 -0.22621935606002808 0.27055120468139648 +1.1616944074630737 -0.41495212912559509 0.14109766483306885 +-0.34526246786117554 -1.547431468963623 0.261086106300354 +-0.16768687963485718 -1.4569740295410156 0.18150967359542847 +0.051398277282714844 -1.3331172466278076 0.10198390483856201 +0.26946169137954712 -1.2118699550628662 0.019736677408218384 +0.24006524682044983 -0.38594821095466614 -1.1554394960403442 +0.16425067186355591 -0.19077005982398987 -1.3141052722930908 +0.1041567325592041 -0.0086426138877868652 -1.4661608934402466 +0.015854448080062866 0.16384229063987732 -1.5983805656433105 +-0.39273065328598022 -1.5459377765655518 0.19430848956108093 +-0.25728973746299744 -1.4541542530059814 0.055457472801208496 +-0.1075400710105896 -1.3281154632568359 -0.12160873413085938 +0.044387906789779663 -1.2047867774963379 -0.29689449071884155 +0.56174558401107788 -0.043208800256252289 -1.0273231267929077 +1.1631031036376953 -0.055718779563903809 -0.1782219409942627 +1.0611696243286133 -0.44931468367576599 0.21178585290908813 +0.2867685854434967 -1.1313742399215698 0.12108635902404785 +0.1361766904592514 -0.40566819906234741 -1.0975271463394165 +-0.026770234107971191 -1.1162607669830322 -0.35505378246307373 +0.36036834120750427 0.024937987327575684 -1.2805716991424561 +1.3280789852142334 -0.0055161714553833008 0.080792129039764404 +1.2777361869812012 -0.21618211269378662 0.3016735315322876 +0.038174986839294434 -1.3233242034912109 0.13306906819343567 +0.13081994652748108 -0.1800883412361145 -1.3117947578430176 +-0.14103066921234131 -1.3176846504211426 -0.11903539299964905 +0.51304024457931519 -0.16758400201797485 -1.157046914100647 +0.35591733455657959 -0.039372712373733521 -1.3181638717651367 +1.2575970888137817 -0.19101542234420776 -0.10961303114891052 +1.3550809621810913 -0.088778376579284668 0.078716278076171875 +1.2078537940979004 -0.39917340874671936 0.10863879323005676 +1.3265879154205322 -0.21394699811935425 0.24530541896820068 +0.25413483381271362 -1.2510089874267578 -0.021085530519485474 +0.039477407932281494 -1.3635587692260742 0.070233345031738281 +0.21532441675662994 -0.19542084634304047 -1.328822135925293 +0.28622457385063171 -0.37016949057579041 -1.1878982782363892 +0.07706257700920105 -1.245436429977417 -0.27018868923187256 +-0.082126468420028687 -1.359731912612915 -0.10083755850791931 +0.36255896091461182 -0.022412508726119995 -1.3004744052886963 +1.3585753440856934 -0.043455839157104492 0.10571753978729248 +1.3065855503082275 -0.22078442573547363 0.25937092304229736 +0.046119034290313721 -1.3465986251831055 0.087922930717468262 +0.1739020049571991 -0.16536152362823486 -1.3420897722244263 +-0.096285462379455566 -1.3421170711517334 -0.11241006851196289 +0.49873510003089905 -0.20411378145217896 -1.1951476335525513 +0.19606965780258179 0.081880420446395874 -1.4865381717681885 +0.04918333888053894 0.21417182683944702 -1.6311144828796387 +1.5606977939605713 0.16660404205322266 0.49526631832122803 +1.4697098731994629 0.041798651218414307 0.30520397424697876 +1.2880934476852417 -0.22895509004592896 -0.084687620401382446 +1.2509357929229736 -0.38444662094116211 0.078343868255615234 +1.4535284042358398 -0.025915443897247314 0.37620154023170471 +1.5562028884887695 0.14779460430145264 0.51498782634735107 +-0.3799283504486084 -1.5815047025680542 0.2516363263130188 +-0.17790478467941284 -1.4830667972564697 0.15429490804672241 +0.23982971906661987 -1.2875387668609619 -0.059186249971389771 +0.32930657267570496 -0.35544270277023315 -1.2181931734085083 +0.12228620052337646 0.015979111194610596 -1.4965741634368896 +0.028687924146652222 0.1958659291267395 -1.6339021921157837 +0.10755890607833862 -1.2833760976791382 -0.24526327848434448 +-0.23550665378570557 -1.481253981590271 0.073261350393295288 +-0.39592885971069336 -1.5810011625289917 0.22912701964378357 +0.46365359425544739 -0.29369866847991943 -1.2885850667953491 +1.362882137298584 -0.32199764251708984 -0.023561030626296997 +1.3565893173217773 -0.34833088517189026 0.0040491223335266113 +0.2047482430934906 -1.3771235942840576 -0.15262362360954285 +0.18234753608703613 -1.3764185905456543 -0.18413668870925903 +0.43496009707450867 -0.3193269670009613 -1.2924879789352417 +0.33616268634796143 -0.089818626642227173 -1.370779275894165 +0.47964301705360413 -0.23080763220787048 -1.2352744340896606 +1.4028630256652832 -0.12338793277740479 0.12984243035316467 +1.3191362619400024 -0.25722673535346985 -0.054285317659378052 +1.3860821723937988 -0.19361001253128052 0.20346954464912415 +1.2936651706695557 -0.36381366848945618 0.057470113039016724 +0.01972275972366333 -1.4140046834945679 0.017618060111999512 +0.21834033727645874 -1.3242642879486084 -0.088794976472854614 +0.36350247263908386 -0.33454117178916931 -1.2510719299316406 +0.25964653491973877 -0.15816071629524231 -1.3811869621276855 +0.12767082452774048 -1.3214108943939209 -0.21634781360626221 +-0.040012478828430176 -1.4121247529983521 -0.066416740417480469 +0.34706181287765503 -0.061986416578292847 -1.3417501449584961 +1.3796278238296509 -0.094481527805328369 0.11085164546966553 +1.3532578945159912 -0.20483040809631348 0.22655141353607178 +0.030621886253356934 -1.3861725330352783 0.046647191047668457 +0.22682219743728638 -0.16938114166259766 -1.358104944229126 +-0.063247740268707275 -1.3832182884216309 -0.085407525300979614 +0.46908453106880188 -0.25777009129524231 -1.2633963823318481 +0.3252636194229126 -0.1176508367061615 -1.3998081684112549 +0.18551117181777954 0.054917961359024048 -1.514660120010376 +1.4922192096710205 0.013795554637908936 0.32360127568244934 +1.4260983467102051 -0.15229439735412598 0.14883321523666382 +1.3416454792022705 -0.28522983193397522 -0.035887986421585083 +1.3254637718200684 -0.35294389724731445 0.035109579563140869 +1.4189066886901855 -0.18238955736160278 0.1803877055644989 +1.4853270053863525 -0.015045702457427979 0.35384103655815125 +-0.18846327066421509 -1.5100291967391968 0.12617295980453491 +0.008823692798614502 -1.4418368339538574 -0.011411011219024658 +0.20778185129165649 -1.351226806640625 -0.11691692471504211 +-0.2129974365234375 -1.5092570781707764 0.091658651828765869 +-0.016777157783508301 -1.4410312175750732 -0.047425955533981323 +0.15018001198768616 -1.3494139909744263 -0.19795048236846924 +0.15408486127853394 0.026848882436752319 -1.5189347267150879 +0.29247099161148071 -0.14694029092788696 -1.404268741607666 +0.39530107378959656 -0.32367140054702759 -1.2734323740005493 +0.45650109648704529 -0.31196355819702148 -1.3076354265213013 +0.3170892596244812 -0.13852497935295105 -1.4215800762176514 +0.17767739295959473 0.034913569688796997 -1.535524845123291 +0.03826555609703064 0.20835214853286743 -1.6494696140289307 +1.3781301975250244 -0.34096747636795044 -0.011098325252532959 +1.4435248374938965 -0.17397421598434448 0.16307631134986877 +1.5089194774627686 -0.0069809556007385254 0.33725091814994812 +1.5743141174316406 0.16001224517822266 0.51142549514770508 +0.19759571552276611 -1.3953884840011597 -0.171673983335495 +0.00064933300018310547 -1.4627110958099365 -0.033182859420776367 +-0.1962970495223999 -1.5300335884094238 0.10530829429626465 +-0.39324343204498291 -1.5973560810089111 0.24379941821098328 +-1.5743141174316406 -0.16001224517822266 -0.51142549514770508 +-1.5089194774627686 0.0069809556007385254 -0.33725091814994812 +-1.4431436061859131 -0.042854368686676025 -0.49358382821083069 +-1.471910834312439 -0.1632348895072937 -0.36736589670181274 +-1.4435248374938965 0.17397421598434448 -0.16307631134986877 +-1.3781301975250244 0.34096747636795044 0.011098325252532959 +-1.3123543262481689 0.29113215208053589 -0.14523455500602722 +-1.3411216735839844 0.17075157165527344 -0.019016623497009277 +-1.377748966217041 0.12413889169692993 -0.31940919160842896 +-1.180802583694458 0.19146138429641724 -0.45790031552314758 +-1.3119730949401855 0.074303507804870605 -0.47574207186698914 +-1.2465784549713135 0.24129676818847656 -0.30156746506690979 +-1.4065163135528564 0.0037583708763122559 -0.19319126009941101 +-1.2671043872833252 -0.16968020796775818 -0.07924652099609375 +-1.3041130304336548 0.00053566694259643555 -0.049131572246551514 +-1.3695076704025269 -0.16645759344100952 -0.22330617904663086 +-1.3127355575561523 0.5079607367515564 0.18527296185493469 +-1.2473409175872803 0.67495393753051758 0.35944756865501404 +-1.1815650463104248 0.62511861324310303 0.20311465859413147 +-1.2103323936462402 0.50473809242248535 0.32933259010314941 +-1.1819462776184082 0.84194719791412354 0.533622145652771 +-1.1165517568588257 1.0089404582977295 0.70779669284820557 +-1.0507758855819702 0.95910513401031494 0.55146396160125732 +-1.0795431137084961 0.83872455358505249 0.67768192291259766 +-1.1161704063415527 0.79211187362670898 0.37728932499885559 +-0.91922414302825928 0.85943436622619629 0.23879817128181458 +-1.0503946542739868 0.74227648973464966 0.22095641493797302 +-0.98500001430511475 0.90926975011825562 0.39513102173805237 +-1.1449377536773682 0.67173135280609131 0.50350725650787354 +-1.0055258274078369 0.49829274415969849 0.61745202541351318 +-1.0425344705581665 0.66850864887237549 0.64756691455841064 +-1.1079291105270386 0.50151538848876953 0.4733923077583313 +-1.2469596862792969 0.45812538266181946 0.028940051794052124 +-1.0500133037567139 0.52544790506362915 -0.1095510721206665 +-1.1593221426010132 0.42781633138656616 -0.12441918253898621 +-1.1048265695571899 0.56697738170623779 0.02072635293006897 +-0.85306698083877563 0.59277045726776123 -0.24804222583770752 +-0.65612059831619263 0.66009300947189331 -0.38653334975242615 +-0.79825377464294434 0.55124098062515259 -0.37831962108612061 +-0.74375826120376587 0.69040203094482422 -0.23317408561706543 +-0.96237576007843018 0.49513888359069824 -0.26291033625602722 +-1.0496320724487305 0.30861932039260864 -0.44005858898162842 +-1.0935462713241577 0.37798097729682922 -0.28075206279754639 +-0.91846162080764771 0.42577719688415527 -0.42221683263778687 +-0.9407045841217041 0.62307947874069214 -0.094682961702346802 +-0.85344827175140381 0.80959904193878174 0.082465320825576782 +-0.80953407287597656 0.74023735523223877 -0.076841205358505249 +-0.98461872339248657 0.69244116544723511 0.064623564481735229 +-1.2757270336151123 0.33774483203887939 0.15515798330307007 +-1.1363151073455811 0.16430625319480896 0.26910272240638733 +-1.1671556234359741 0.30615285038948059 0.29419851303100586 +-1.2216511964797974 0.16699180006980896 0.14905297756195068 +-0.99690330028533936 -0.0091322958469390869 0.38304746150970459 +-0.85749143362045288 -0.18257087469100952 0.49699220061302185 +-0.91156727075576782 -0.011817842721939087 0.50309717655181885 +-0.96606284379959106 -0.15097889304161072 0.35795164108276367 +-1.0277438163757324 0.13271427154541016 0.40814325213432312 +-0.96851730346679688 0.32807683944702148 0.58733701705932617 +-1.064752459526062 0.30293017625808716 0.43825814127922058 +-0.93150866031646729 0.15786094963550568 0.55722206830978394 +-1.1054747104644775 0.022459656000137329 0.2440069317817688 +-1.1647012233734131 -0.172902911901474 0.064813151955604553 +-1.0684659481048584 -0.14775621891021729 0.21389198303222656 +-1.2017097473144531 -0.0026870071887969971 0.094928115606307983 +-0.98538124561309814 1.1260983943939209 0.72563850879669189 +-0.78843486309051514 1.1934208869934082 0.58714735507965088 +-0.91960537433624268 1.0762629508972168 0.56930553913116455 +-0.81720209121704102 1.0730403661727905 0.71336531639099121 +-0.59148848056793213 1.2607433795928955 0.44865623116493225 +-0.39454209804534912 1.3280659914016724 0.31016513705253601 +-0.52571260929107666 1.210908055305481 0.29232338070869446 +-0.42330935597419739 1.2076854705810547 0.43638306856155396 +-0.72265899181365967 1.1435855627059937 0.43081453442573547 +-0.78805363178253174 0.9765923023223877 0.25663986802101135 +-0.85382950305938721 1.0264276266098022 0.4129728376865387 +-0.6568831205368042 1.0937502384185791 0.27448168396949768 +-0.62025570869445801 1.1403629779815674 0.5748741626739502 +-0.48084390163421631 0.96692430973052979 0.68881893157958984 +-0.45207661390304565 1.0873048305511475 0.56260097026824951 +-0.64902299642562866 1.0199823379516602 0.70109212398529053 +-0.19759571552276611 1.3953884840011597 0.171673983335495 +-0.00064933300018310547 1.4627110958099365 0.033182859420776367 +-0.13181984424591064 1.3455531597137451 0.015341073274612427 +-0.029416590929031372 1.3423304557800293 0.15940076112747192 +0.1962970495223999 1.5300335884094238 -0.10530829429626465 +0.39324343204498291 1.5973560810089111 -0.24379941821098328 +0.26207292079925537 1.4801981449127197 -0.26164117455482483 +0.36447617411613464 1.4769755601882935 -0.11758148670196533 +0.065126538276672363 1.4128756523132324 -0.1231500506401062 +-0.00026804208755493164 1.245882511138916 -0.29732465744018555 +-0.066043972969055176 1.295717716217041 -0.14099174737930298 +0.13090240955352783 1.3630403280258179 -0.27948290109634399 +0.16752979159355164 1.4096529483795166 0.020909637212753296 +0.30694162845611572 1.2362143993377686 0.13485437631607056 +0.33570891618728638 1.3565950393676758 0.0086364448070526123 +0.13876253366470337 1.2892725467681885 0.14712759852409363 +-0.32876622676849365 1.2782306671142578 0.15383222699165344 +-0.39416083693504333 1.1112374067306519 -0.020342379808425903 +-0.44897407293319702 1.1527668237686157 0.10993501543998718 +-0.28485208749771118 1.2088689804077148 -0.0054742395877838135 +-0.45955547690391541 0.9442441463470459 -0.19451698660850525 +-0.52495008707046509 0.77725088596343994 -0.36869162321090698 +-0.56886422634124756 0.84661257266998291 -0.20938509702682495 +-0.40474224090576172 0.90271466970443726 -0.32479438185691833 +-0.51436871290206909 0.98577356338500977 -0.064239621162414551 +-0.72227776050567627 0.92675697803497314 0.10030701756477356 +-0.58014458417892456 1.0356090068817139 0.092093318700790405 +-0.65650182962417603 0.87692159414291382 -0.056025832891464233 +-0.33934760093688965 1.0697078704833984 -0.15061977505683899 +-0.13143858313560486 1.1287245750427246 -0.31516638398170471 +-0.27357172966003418 1.0198725461959839 -0.30695265531539917 +-0.19721445441246033 1.1785598993301392 -0.15883353352546692 +-0.22636297345161438 1.275007963180542 0.29789191484451294 +-0.086951136589050293 1.1015694141387939 0.4118366539478302 +-0.062978416681289673 1.2018865346908569 0.30665504932403564 +-0.22710040211677551 1.1457843780517578 0.42206430435180664 +0.052460730075836182 0.9281308650970459 0.52578139305114746 +0.19187256693840027 0.75469225645065308 0.63972610235214233 +0.19260998070240021 0.88391584157943726 0.51555371284484863 +0.028487995266914368 0.82781368494033813 0.63096296787261963 +0.076433449983596802 1.0284479856491089 0.42059978842735291 +0.27817437052726746 1.1158338785171509 0.26107233762741089 +0.10520070791244507 1.1488285064697266 0.29438182711601257 +0.24940711259841919 0.9954533576965332 0.38729023933410645 +-0.11092382669448853 1.0012521743774414 0.51701825857162476 +-0.31266477704048157 0.91386628150939941 0.67654567956924438 +-0.13969111442565918 0.88087171316146851 0.64323616027832031 +-0.2838975191116333 1.0342468023300171 0.55032777786254883 +-0.1299135684967041 0.26141014695167542 -1.63719642162323 +-0.32685995101928711 0.19408762454986572 -1.498705267906189 +-0.19568943977355957 0.31124550104141235 -1.4808634519577026 +-0.15406492352485657 0.14260748028755188 -1.5142242908477783 +-0.52380633354187012 0.12676507234573364 -1.3602141141891479 +-0.72075271606445312 0.059442520141601562 -1.2217229604721069 +-0.58958220481872559 0.17660045623779297 -1.2038812637329102 +-0.552573561668396 0.0063845515251159668 -1.2339961528778076 +-0.39263582229614258 0.24392297863960266 -1.3423724174499512 +-0.3272412121295929 0.41091620922088623 -1.1681977510452271 +-0.26146531105041504 0.36108088493347168 -1.3245307207107544 +-0.45841169357299805 0.2937583327293396 -1.1860395669937134 +-0.35562720894813538 0.073707044124603271 -1.3724873065948486 +-0.18459534645080566 -0.10734724998474121 -1.2631126642227173 +-0.35636463761329651 -0.055516481399536133 -1.2483148574829102 +-0.18385788798332214 0.021876305341720581 -1.3872851133346558 +-0.91769909858703613 -0.0078799724578857422 -1.0832318067550659 +-1.1146454811096191 -0.075202524662017822 -0.94474071264266968 +-0.9834749698638916 0.041955351829528809 -0.92689895629882812 +-0.94646632671356201 -0.12826055288314819 -0.95701390504837036 +-1.3115918636322021 -0.1425250768661499 -0.80624955892562866 +-1.5085382461547852 -0.20984762907028198 -0.66775846481323242 +-1.3773677349090576 -0.092689692974090576 -0.64991664886474609 +-1.340359091758728 -0.26290559768676758 -0.68003165721893311 +-1.1804213523864746 -0.025367200374603271 -0.78840780258178711 +-1.1150267124176025 0.14162606000900269 -0.61423319578170776 +-1.0492508411407471 0.091790735721588135 -0.77056610584259033 +-1.2461972236633301 0.024468183517456055 -0.63207495212554932 +-1.143412709236145 -0.1955830454826355 -0.81852281093597412 +-1.0040009021759033 -0.36902162432670593 -0.70457804203033447 +-1.1721799373626709 -0.31596362590789795 -0.69230484962463379 +-0.97523361444473267 -0.24864107370376587 -0.8307960033416748 +-0.78652858734130859 0.10927790403366089 -1.0653901100158691 +-0.72113394737243652 0.27627113461494446 -0.89121544361114502 +-0.66632074117660522 0.23474165797233582 -1.0214928388595581 +-0.83044272661209106 0.17863953113555908 -0.90608358383178711 +-0.65573936700820923 0.44326439499855042 -0.71704089641571045 +-0.59034472703933716 0.61025762557983398 -0.54286623001098633 +-0.54643058776855469 0.54089593887329102 -0.70217275619506836 +-0.71055257320404053 0.48479384183883667 -0.58676350116729736 +-0.60092610120773315 0.40173491835594177 -0.84731823205947876 +-0.39301708340644836 0.46075156331062317 -1.0118649005889893 +-0.53515022993087769 0.35189956426620483 -1.0036511421203613 +-0.45879295468330383 0.51058691740036011 -0.85553205013275146 +-0.7759472131729126 0.3178006112575531 -0.76093804836273193 +-0.983856201171875 0.2587839663028717 -0.59639143943786621 +-0.84172308444976807 0.36763596534729004 -0.60460519790649414 +-0.91808032989501953 0.20894861221313477 -0.752724289894104 +-0.749519944190979 -0.060938000679016113 -1.0955049991607666 +-0.6101081371307373 -0.23437657952308655 -0.9815603494644165 +-0.75025737285614014 -0.19016158580780029 -0.97133266925811768 +-0.5861353874206543 -0.13405942916870117 -1.0867419242858887 +-0.47069627046585083 -0.40781512856483459 -0.86761558055877686 +-0.33128443360328674 -0.58125370740890503 -0.75367087125778198 +-0.49466902017593384 -0.50813227891921997 -0.76243400573730469 +-0.32849550247192383 -0.45132887363433838 -0.87928587198257446 +-0.61084556579589844 -0.36360016465187073 -0.85738790035247803 +-0.83582174777984619 -0.4220796525478363 -0.71685123443603516 +-0.77902466058731079 -0.31054210662841797 -0.84511470794677734 +-0.66764265298843384 -0.47513768076896667 -0.72912442684173584 +-0.4699588418006897 -0.2785915732383728 -0.99178797006607056 +-0.21131107211112976 -0.2270265519618988 -1.1383373737335205 +-0.27028793096542358 -0.33930918574333191 -1.0085411071777344 +-0.38513189554214478 -0.17589700222015381 -1.1220970153808594 +0.4590192437171936 1.5475207567214966 -0.40013232827186584 +0.39362472295761108 1.3805274963378906 -0.57430696487426758 +0.32784879207611084 1.4303629398345947 -0.41797402501106262 +0.49602791666984558 1.3773047924041748 -0.43024724721908569 +0.32823008298873901 1.2135343551635742 -0.74848151206970215 +0.26283544301986694 1.0465409755706787 -0.92265617847442627 +0.19705957174301147 1.0963764190673828 -0.76632332801818848 +0.36523869633674622 1.0433183908462524 -0.77859652042388916 +0.26245421171188354 1.2633695602416992 -0.59214866161346436 +0.065507829189300537 1.1960470676422119 -0.45365753769874573 +0.19667834043502808 1.3132050037384033 -0.43581578135490417 +0.13128370046615601 1.1462117433547974 -0.60999035835266113 +0.43063333630561829 1.2103116512298584 -0.60442185401916504 +0.57004517316818237 1.0368729829788208 -0.49047714471817017 +0.46764194965362549 1.0400958061218262 -0.63453680276870728 +0.53303658962249756 1.2070889472961426 -0.46036219596862793 +0.19744080305099487 0.87954777479171753 -1.0968308448791504 +0.1320461630821228 0.71255457401275635 -1.271005392074585 +0.066270291805267334 0.7623898983001709 -1.1146725416183472 +0.23444941639900208 0.70933187007904053 -1.1269457340240479 +0.066651523113250732 0.54556131362915039 -1.4451800584793091 +0.0012569427490234375 0.37856805324554443 -1.6193546056747437 +-0.064518928527832031 0.42840340733528137 -1.4630218744277954 +0.10212746262550354 0.37143146991729736 -1.479377269744873 +0.00087565183639526367 0.59539663791656494 -1.2888472080230713 +-0.19607070088386536 0.52807414531707764 -1.1503560543060303 +-0.064900189638137817 0.64523202180862427 -1.1325142383575439 +-0.13029482960700989 0.47823876142501831 -1.3066889047622681 +0.16905477643013 0.54233860969543457 -1.301120400428772 +0.3134426474571228 0.33748659491539001 -1.1953698396682739 +0.20487129688262939 0.36907857656478882 -1.3344104290008545 +0.27762612700462341 0.51074665784835815 -1.1620798110961914 +0.1316649317741394 0.92938315868377686 -0.94049787521362305 +-0.065281450748443604 0.86206060647964478 -0.80200678110122681 +0.044027328491210938 0.95969218015670776 -0.78713870048522949 +-0.010468244552612305 0.82053112983703613 -0.93228423595428467 +-0.26222783327102661 0.7947380542755127 -0.66351562738418579 +-0.45917421579360962 0.72741550207138062 -0.52502447366714478 +-0.31704103946685791 0.83626753091812134 -0.53323823213577271 +-0.37153655290603638 0.69710648059844971 -0.67838376760482788 +-0.15291908383369446 0.89236962795257568 -0.64864754676818848 +-0.06566271185874939 1.0788891315460205 -0.47149926424026489 +-0.021748542785644531 1.0095275640487671 -0.63080579042434692 +-0.19683319330215454 0.96173131465911865 -0.48934102058410645 +-0.17459022998809814 0.76442903280258179 -0.81687486171722412 +-0.26184657216072083 0.57790946960449219 -0.99402320384979248 +-0.3057607114315033 0.64727115631103516 -0.83471667766571045 +-0.13067609071731567 0.69506734609603882 -0.97618138790130615 +0.29984405636787415 0.87632513046264648 -0.95277112722396851 +0.43925589323043823 0.70288658142089844 -0.83882641792297363 +0.35391983389854431 0.70557212829589844 -0.95887613296508789 +0.40841540694236755 0.84473311901092529 -0.81373059749603271 +0.57866775989532471 0.52944803237915039 -0.72488164901733398 +0.71807962656021118 0.35600942373275757 -0.61093693971633911 +0.63206237554550171 0.35695546865463257 -0.73280096054077148 +0.66400378942489624 0.52676248550415039 -0.60483193397521973 +0.49333170056343079 0.53213351964950562 -0.84493136405944824 +0.41516473889350891 0.33252441883087158 -1.0531244277954102 +0.38381925225257874 0.52350485324859619 -1.0048620700836182 +0.52191740274429321 0.34671151638031006 -0.89441639184951782 +0.52459198236465454 0.70020103454589844 -0.7187766432762146 +0.60705375671386719 0.86665713787078857 -0.5205920934677124 +0.62699514627456665 0.69697833061218262 -0.57471698522567749 +0.5046505331993103 0.86987984180450439 -0.66465175151824951 +-1.014148473739624 1.0057177543640137 0.85185647010803223 +-0.87473666667938232 0.83227920532226562 0.96580123901367188 +-0.84596937894821167 0.95265984535217285 0.83958327770233154 +-0.97713989019393921 0.83550190925598145 0.82174146175384521 +-0.73532480001449585 0.65884065628051758 1.0797460079193115 +-0.59591293334960938 0.48540210723876953 1.1936906576156616 +-0.5671457052230835 0.60578268766403198 1.0674726963043213 +-0.69831621646881104 0.48862475156784058 1.049630880355835 +-0.7065575122833252 0.77922123670578003 0.95352798700332642 +-0.50961112976074219 0.84654378890991211 0.8150368332862854 +-0.67779028415679932 0.89960181713104248 0.82731008529663086 +-0.53837841749191284 0.72616326808929443 0.94125479459762573 +-0.83772802352905273 0.6620633602142334 0.93568617105484009 +-0.9031226634979248 0.49507009983062744 0.76151162385940552 +-0.80071943998336792 0.49184742569923401 0.90557140111923218 +-0.94013130664825439 0.66528594493865967 0.7916266918182373 +-0.45650109648704529 0.31196355819702148 1.3076354265213013 +-0.3170892596244812 0.13852497935295105 1.4215800762176514 +-0.28832197189331055 0.25890552997589111 1.2953622341156006 +-0.41949248313903809 0.14174763858318329 1.2775204181671143 +-0.17767739295959473 -0.034913569688796997 1.535524845123291 +-0.03826555609703064 -0.20835214853286743 1.6494696140289307 +-0.009498298168182373 -0.087971597909927368 1.5232516527175903 +-0.14066880941390991 -0.20512950420379639 1.505409836769104 +-0.14891013503074646 0.085466980934143066 1.4093068838119507 +0.048036247491836548 0.15278950333595276 1.2708157300949097 +-0.12014287710189819 0.20584753155708313 1.2830889225006104 +0.019268989562988281 0.032408982515335083 1.39703369140625 +-0.280080646276474 -0.031690925359725952 1.3914650678634644 +-0.34547522664070129 -0.19868415594100952 1.2172905206680298 +-0.2430720329284668 -0.20190683007240295 1.3613502979278564 +-0.38248389959335327 -0.028468281030654907 1.2474055290222168 +-0.42773383855819702 0.43234410881996155 1.1814174652099609 +-0.23078745603561401 0.49966663122177124 1.0429263114929199 +-0.37093672156333923 0.54388165473937988 1.0531539916992188 +-0.25476017594337463 0.39934951066970825 1.1481080055236816 +-0.033841073513031006 0.56698918342590332 0.90443515777587891 +0.163105309009552 0.6343117356300354 0.76594406366348267 +-0.0098683647811412811 0.66730624437332153 0.79925364255905151 +0.10630817711353302 0.52277415990829468 0.89420753717422485 +-0.17399033904075623 0.61120414733886719 0.91466289758682251 +-0.34143203496932983 0.79348576068878174 0.80276364088058472 +-0.34216949343681335 0.66426217555999756 0.92693608999252319 +-0.17325292527675629 0.74042773246765137 0.79049044847488403 +-0.090638160705566406 0.45545163750648499 1.0326986312866211 +0.076803505420684814 0.27317008376121521 1.1445977687835693 +0.077540934085845947 0.40239360928535461 1.0204254388809204 +-0.091375604271888733 0.32622808218002319 1.1568710803985596 +-0.55890434980392456 0.31518620252609253 1.1635756492614746 +-0.62429893016815186 0.14819297194480896 0.98940110206604004 +-0.5389629602432251 0.14550742506980896 1.1094508171081543 +-0.65513944625854492 0.29003956913948059 1.0144968032836914 +-0.68969357013702393 -0.018800288438796997 0.81522649526596069 +-0.755088210105896 -0.18579351902008057 0.64105188846588135 +-0.65885311365127563 -0.16064685583114624 0.79013067483901978 +-0.77502959966659546 -0.0161147341132164 0.69517678022384644 +-0.60435760021209717 -0.0214858278632164 0.93527621030807495 +-0.44787847995758057 -0.19546151161193848 1.0732309818267822 +-0.50195431709289551 -0.024708479642868042 1.0793359279632568 +-0.55028170347213745 -0.19223885238170624 0.92917120456695557 +-0.70963495969772339 0.15087851881980896 0.86935138702392578 +-0.86611402034759521 0.32485419511795044 0.73139673471450806 +-0.81203824281692505 0.15410116314888 0.72529172897338867 +-0.76371079683303833 0.32163155078887939 0.87545639276504517 +1.5373055934906006 0.33022814989089966 0.54154050350189209 +1.3978936672210693 0.50366675853729248 0.42759576439857483 +1.3691263198852539 0.38328617811203003 0.55381369590759277 +1.4381697177886963 0.32938581705093384 0.40015137195587158 +1.2584818601608276 0.67710530757904053 0.31365102529525757 +1.1190700531005859 0.85054385662078857 0.1997063010931015 +1.0903027057647705 0.7301633358001709 0.32592424750328064 +1.1560784578323364 0.68032795190811157 0.16959133744239807 +1.2297145128250122 0.55672478675842285 0.4398689866065979 +1.0327681303024292 0.48940220475196838 0.57836008071899414 +1.2009472846984863 0.43634417653083801 0.56608688831329346 +1.0615353584289551 0.60978269577026367 0.45214217901229858 +1.2954903841018677 0.50688934326171875 0.28353607654571533 +1.2388052940368652 0.30836519598960876 0.10641942918300629 +1.1992552280426025 0.4817427396774292 0.13445726037025452 +1.3350403308868408 0.33351179957389832 0.25549829006195068 +0.97965818643569946 1.0239824056625366 0.085761561989784241 +0.84024631977081299 1.1974209547042847 -0.028183162212371826 +0.81147897243499756 1.077040433883667 0.098034776747226715 +0.87725478410720825 1.0272051095962524 -0.058298133313655853 +0.70083445310592651 1.3708595037460327 -0.14212790131568909 +0.56142258644104004 1.5442981719970703 -0.25607264041900635 +0.53265529870986938 1.4239175319671631 -0.12985467910766602 +0.59843111038208008 1.3740822076797485 -0.28618758916854858 +0.67206716537475586 1.250478982925415 -0.015909954905509949 +0.47512075304985046 1.1831564903259277 0.12258116900920868 +0.64329987764358521 1.1300984621047974 0.11030799150466919 +0.50388801097869873 1.3035370111465454 -0.0036367475986480713 +0.73784291744232178 1.2006436586380005 -0.17224286496639252 +0.67244839668273926 1.0336503982543945 -0.34641748666763306 +0.63543975353240967 1.2038662433624268 -0.31630250811576843 +0.77485162019729614 1.0304276943206787 -0.20235776901245117 +0.95089083909988403 0.90360188484191895 0.21197950839996338 +0.75394445657730103 0.83627933263778687 0.35047063231468201 +0.89409369230270386 0.792064368724823 0.34024295210838318 +0.77791720628738403 0.93659645318984985 0.24528899788856506 +0.55699807405471802 0.76895678043365479 0.48896178603172302 +0.36005169153213501 0.70163422822952271 0.62745290994644165 +0.53302532434463501 0.66863971948623657 0.5941433310508728 +0.4168488085269928 0.81317180395126343 0.49918940663337708 +0.69714730978012085 0.72474181652069092 0.47873410582542419 +0.86458903551101685 0.54246020317077637 0.59063327312469482 +0.86532646417617798 0.67168378829956055 0.46646088361740112 +0.69640994071960449 0.59551823139190674 0.60290652513504028 +0.61379522085189819 0.88049429655075073 0.36069831252098083 +0.4463534951210022 1.0627758502960205 0.24879911541938782 +0.44561606645584106 0.93355238437652588 0.37297153472900391 +0.61453258991241455 1.0097179412841797 0.23652589321136475 +1.0166666507720947 0.85376650094985962 0.055646598339080811 +0.95127213001251221 0.68677330017089844 -0.11852800846099854 +0.92043161392211914 0.82861983776092529 -0.093432210385799408 +1.036608099937439 0.68408775329589844 0.0015217289328575134 +0.88587749004364014 0.51978003978729248 -0.29270261526107788 +0.82048285007476807 0.35278677940368652 -0.46687725186347961 +0.8005414605140686 0.52246552705764771 -0.41275236010551453 +0.91817021369934082 0.37612676620483398 -0.31661149859428406 +0.85503697395324707 0.66162657737731934 -0.26760685443878174 +0.70945703983306885 0.86343443393707275 -0.37653240561485291 +0.81802833080291748 0.83184254169464111 -0.23749187588691711 +0.74646562337875366 0.69321858882904053 -0.40664735436439514 +0.9821125864982605 0.54492670297622681 -0.14362379908561707 +1.1378542184829712 0.30978119373321533 -0.036453351378440857 +1.0277400016784668 0.34329277276992798 -0.17675495147705078 +1.0968520641326904 0.48496538400650024 -0.0096024125814437866 +0.1299135684967041 -0.26141014695167542 1.63719642162323 +0.32685995101928711 -0.19408762454986572 1.498705267906189 +0.15868082642555237 -0.14102959632873535 1.5109784603118896 +0.19568943977355957 -0.31124550104141235 1.4808634519577026 +0.52380633354187012 -0.12676507234573364 1.3602141141891479 +0.72075271606445312 -0.059442520141601562 1.2217229604721069 +0.552573561668396 -0.0063845515251159668 1.2339961528778076 +0.58958220481872559 -0.17660045623779297 1.2038812637329102 +0.35562720894813538 -0.073707044124603271 1.3724873065948486 +0.21621537208557129 0.099731534719467163 1.258542537689209 +0.18744808435440063 -0.020649075508117676 1.3847604990005493 +0.38439446687698364 0.046673476696014404 1.2462693452835083 +0.39263582229614258 -0.24392297863960266 1.3423724174499512 +0.3272412121295929 -0.41091620922088623 1.1681977510452271 +0.45841169357299805 -0.2937583327293396 1.1860395669937134 +0.26146531105041504 -0.36108088493347168 1.3245307207107544 +0.91769909858703613 0.0078799724578857422 1.0832318067550659 +1.1146454811096191 0.075202524662017822 0.94474071264266968 +0.94646632671356201 0.12826055288314819 0.95701390504837036 +0.9834749698638916 -0.041955351829528809 0.92689895629882812 +1.3115918636322021 0.1425250768661499 0.80624955892562866 +1.5085382461547852 0.20984762907028198 0.66775846481323242 +1.340359091758728 0.26290559768676758 0.68003165721893311 +1.3819836378097534 0.094267547130584717 0.64667081832885742 +1.143412709236145 0.1955830454826355 0.81852281093597412 +1.0040009021759033 0.36902162432670593 0.70457804203033447 +0.97523361444473267 0.24864107370376587 0.8307960033416748 +1.1721799373626709 0.31596362590789795 0.69230484962463379 +1.1804213523864746 0.025367200374603271 0.78840780258178711 +1.1295795440673828 -0.14870470762252808 0.58565318584442139 +1.249787449836731 -0.023240983486175537 0.62955033779144287 +1.060213565826416 -0.10009658336639404 0.74451065063476562 +0.749519944190979 0.060938000679016113 1.0955049991607666 +0.6101081371307373 0.23437657952308655 0.9815603494644165 +0.5861353874206543 0.13405942916870117 1.0867419242858887 +0.75025737285614014 0.19016158580780029 0.97133266925811768 +0.47069627046585083 0.40781512856483459 0.86761558055877686 +0.33128443360328674 0.58125370740890503 0.75367087125778198 +0.330547034740448 0.45203012228012085 0.87784326076507568 +0.49466902017593384 0.50813227891921997 0.76243400573730469 +0.44672355055809021 0.30749800801277161 0.97279715538024902 +0.24498263001441956 0.22011205554008484 1.1323245763778687 +0.41795629262924194 0.18711745738983154 1.0990151166915894 +0.27374988794326782 0.34049257636070251 1.0061067342758179 +0.63408082723617554 0.33469372987747192 0.87637871503829956 +0.83582174777984619 0.4220796525478363 0.71685123443603516 +0.66284811496734619 0.4550742506980896 0.750160813331604 +0.80705451965332031 0.30169913172721863 0.84306919574737549 +0.78652858734130859 -0.10927790403366089 1.0653901100158691 +0.72113394737243652 -0.27627113461494446 0.89121544361114502 +0.83044272661209106 -0.17863953113555908 0.90608358383178711 +0.66632074117660522 -0.23474165797233582 1.0214928388595581 +0.65573936700820923 -0.44326439499855042 0.71704089641571045 +0.59034472703933716 -0.61025762557983398 0.54286623001098633 +0.70170497894287109 -0.51192474365234375 0.55629175901412964 +0.54643058776855469 -0.54089593887329102 0.70217275619506836 +0.76504808664321899 -0.34563282132148743 0.73190897703170776 +1.0004606246948242 -0.26516133546829224 0.56636875867843628 +0.91340929269790649 -0.22087669372558594 0.74028325080871582 +0.85197120904922485 -0.38651746511459351 0.56332647800445557 +0.61182522773742676 -0.37390270829200745 0.87634730339050293 +0.39301708340644836 -0.46075156331062317 1.0118649005889893 +0.48065471649169922 -0.49106061458587646 0.85850560665130615 +0.52418756484985352 -0.34359365701675415 1.029706597328186 +-0.4590192437171936 -1.5475207567214966 0.40013232827186584 +-0.39362472295761108 -1.3805274963378906 0.57430696487426758 +-0.49602791666984558 -1.3773047924041748 0.43024724721908569 +-0.32938152551651001 -1.434276819229126 0.41389182209968567 +-0.32823008298873901 -1.2135343551635742 0.74848151206970215 +-0.26283544301986694 -1.0465409755706787 0.92265617847442627 +-0.36523869633674622 -1.0433183908462524 0.77859652042388916 +-0.19705957174301147 -1.0963764190673828 0.76632332801818848 +-0.43063333630561829 -1.2103116512298584 0.60442185401916504 +-0.57004517316818237 -1.0368729829788208 0.49047714471817017 +-0.53303658962249756 -1.2070889472961426 0.46036219596862793 +-0.46764194965362549 -1.0400958061218262 0.63453680276870728 +-0.26245421171188354 -1.2633695602416992 0.59214866161346436 +-0.05573725700378418 -1.2073972225189209 0.42442700266838074 +-0.12032103538513184 -1.154517650604248 0.58393490314483643 +-0.19787043333053589 -1.3162491321563721 0.43264070153236389 +-0.19744080305099487 -0.87954777479171753 1.0968308448791504 +-0.1320461630821228 -0.71255457401275635 1.271005392074585 +-0.23444941639900208 -0.70933187007904053 1.1269457340240479 +-0.066270291805267334 -0.7623898983001709 1.1146725416183472 +-0.066651523113250732 -0.54556131362915039 1.4451800584793091 +-0.0012569427490234375 -0.37856805324554443 1.6193546056747437 +-0.10366019606590271 -0.37534540891647339 1.4752950668334961 +0.064518928527832031 -0.42840340733528137 1.4630218744277954 +-0.16905477643013 -0.54233860969543457 1.301120400428772 +-0.30846661329269409 -0.36890006065368652 1.1871756315231323 +-0.27145802974700928 -0.5391160249710083 1.1570606231689453 +-0.20606338977813721 -0.37212273478507996 1.3312352895736694 +-0.00087565183639526367 -0.59539663791656494 1.2888472080230713 +0.19607070088386536 -0.52807414531707764 1.1503560543060303 +0.13029482960700989 -0.47823876142501831 1.3066889047622681 +0.064900189638137817 -0.64523202180862427 1.1325142383575439 +-0.29984405636787415 -0.87632513046264648 0.95277112722396851 +-0.43925589323043823 -0.70288658142089844 0.83882641792297363 +-0.40841540694236755 -0.84473311901092529 0.81373059749603271 +-0.35391983389854431 -0.70557212829589844 0.95887613296508789 +-0.57866775989532471 -0.52944803237915039 0.72488164901733398 +-0.71807962656021118 -0.35600942373275757 0.61093693971633911 +-0.66400378942489624 -0.52676248550415039 0.60483193397521973 +-0.609508216381073 -0.38760140538215637 0.7499774694442749 +-0.54782724380493164 -0.67129456996917725 0.69978582859039307 +-0.60705375671386719 -0.86665713787078857 0.5205920934677124 +-0.51081860065460205 -0.84151047468185425 0.66967093944549561 +-0.64406239986419678 -0.69644129276275635 0.55070704221725464 +-0.4700964093208313 -0.56103992462158203 0.86392217874526978 +-0.41086986660957336 -0.36567741632461548 1.0431159734725952 +-0.50710505247116089 -0.3908240795135498 0.89403712749481201 +-0.37386125326156616 -0.53589332103729248 1.0130009651184082 +-0.1316649317741394 -0.92938315868377686 0.94049787521362305 +0.065281450748443604 -0.86206060647964478 0.80200678110122681 +0.010468244552612305 -0.82053112983703613 0.93228423595428467 +-0.044027328491210938 -0.95969218015670776 0.78713870048522949 +0.26222783327102661 -0.7947380542755127 0.66351562738418579 +0.45917421579360962 -0.72741550207138062 0.52502447366714478 +0.37153655290603638 -0.69710648059844971 0.67838376760482788 +0.31635984778404236 -0.83800703287124634 0.53142392635345459 +0.20741459727287292 -0.75320857763290405 0.79379308223724365 +0.26184657216072083 -0.57790946960449219 0.99402320384979248 +0.14163869619369507 -0.7033732533454895 0.95012593269348145 +0.32762247323989868 -0.62774479389190674 0.83769023418426514 +0.12009471654891968 -0.90359008312225342 0.67172932624816895 +0.074752062559127808 -1.0919787883758545 0.44045442342758179 +0.19568368792533875 -0.96466672420501709 0.48627933859825134 +0.010849416255950928 -1.0373597145080566 0.60177665948867798 +-0.56142258644104004 -1.5442981719970703 0.25607264041900635 +-0.70083445310592651 -1.3708595037460327 0.14212790131568909 +-0.52938783168792725 -1.4279825687408447 0.13252526521682739 +-0.59843111038208008 -1.3740822076797485 0.28618758916854858 +-0.84024631977081299 -1.1974209547042847 0.028183162212371826 +-0.97965818643569946 -1.0239824056625366 -0.085761561989784241 +-0.81147897243499756 -1.077040433883667 -0.098034776747226715 +-0.87725478410720825 -1.0272051095962524 0.058298133313655853 +-0.67206716537475586 -1.250478982925415 0.015909954905509949 +-0.44454953074455261 -1.1951611042022705 -0.12254957854747772 +-0.5013466477394104 -1.3066986799240112 0.0057138800621032715 +-0.61527001857757568 -1.1389415264129639 -0.11235347390174866 +-0.73784291744232178 -1.2006436586380005 0.17224286496639252 +-0.67244839668273926 -1.0336503982543945 0.34641748666763306 +-0.77485162019729614 -1.0304276943206787 0.20235776901245117 +-0.63543975353240967 -1.2038662433624268 0.31630250811576843 +-1.1190700531005859 -0.85054385662078857 -0.1997063010931015 +-1.2584818601608276 -0.67710530757904053 -0.31365102529525757 +-1.0903027057647705 -0.7301633358001709 -0.32592424750328064 +-1.1560784578323364 -0.68032795190811157 -0.16959133744239807 +-1.3978936672210693 -0.50366675853729248 -0.42759576439857483 +-1.5373055934906006 -0.33022814989089966 -0.54154050350189209 +-1.3691263198852539 -0.38328617811203003 -0.55381369590759277 +-1.4349021911621094 -0.3334507942199707 -0.39748078584671021 +-1.2297145128250122 -0.55672478675842285 -0.4398689866065979 +-1.0327681303024292 -0.48940220475196838 -0.57836008071899414 +-1.0615353584289551 -0.60978269577026367 -0.45214217901229858 +-1.2009472846984863 -0.43634417653083801 -0.56608688831329346 +-1.2954903841018677 -0.50688934326171875 -0.28353607654571533 +-1.2300958633422852 -0.33989617228507996 -0.10936145484447479 +-1.3324990272521973 -0.33667346835136414 -0.25342115759849548 +-1.193087100982666 -0.51011204719543457 -0.13947641849517822 +-0.95089083909988403 -0.90360188484191895 -0.21197950839996338 +-0.75394445657730103 -0.83627933263778687 -0.35047063231468201 +-0.77791720628738403 -0.93659645318984985 -0.24528899788856506 +-0.89409369230270386 -0.792064368724823 -0.34024295210838318 +-0.55699807405471802 -0.76895678043365479 -0.48896178603172302 +-0.36005169153213501 -0.70163422822952271 -0.62745290994644165 +-0.38257220387458801 -0.80375802516937256 -0.52108436822891235 +-0.53302532434463501 -0.66863971948623657 -0.5941433310508728 +-0.58097082376480103 -0.86927390098571777 -0.38378015160560608 +-0.41433006525039673 -1.0765872001647949 -0.24758060276508331 +-0.60046499967575073 -1.0049091577529907 -0.24641811847686768 +-0.41518896818161011 -0.93236362934112549 -0.38553518056869507 +-0.72997170686721802 -0.73596221208572388 -0.45565226674079895 +-0.86458903551101685 -0.54246020317077637 -0.59063327312469482 +-0.70120447874069214 -0.61558163166046143 -0.58187019824981689 +-0.8933563232421875 -0.66284078359603882 -0.46441537141799927 +-1.0166666507720947 -0.85376650094985962 -0.055646598339080811 +-0.95127213001251221 -0.68677330017089844 0.11852800846099854 +-1.036608099937439 -0.68408775329589844 -0.0015217289328575134 +-0.92043161392211914 -0.82861983776092529 0.093432210385799408 +-0.88587749004364014 -0.51978003978729248 0.29270261526107788 +-0.82048285007476807 -0.35278677940368652 0.46687725186347961 +-0.91671794652938843 -0.37793341279029846 0.31779840588569641 +-0.8005414605140686 -0.52246552705764771 0.41275236010551453 +-0.97121345996856689 -0.51709449291229248 0.17265290021896362 +-1.1276925802230835 -0.34311875700950623 0.034698218107223511 +-1.0736167430877686 -0.51387178897857666 0.028593204915523529 +-1.0252892971038818 -0.34634149074554443 0.17875787615776062 +-0.86593610048294067 -0.68945878744125366 0.23857775330543518 +-0.70945703983306885 -0.86343443393707275 0.37653240561485291 +-0.76353281736373901 -0.69268143177032471 0.3826373815536499 +-0.81186026334762573 -0.86021184921264648 0.2324727475643158 +-1.4948921203613281 -0.27888089418411255 -0.60669493675231934 +-1.3267128467559814 -0.33193892240524292 -0.61896824836730957 +-1.4532159566879272 -0.35675716400146484 -0.54767709970474243 +-1.4244487285614014 -0.23637658357620239 -0.67389500141143799 +-1.2145935297012329 -0.36731094121932983 -0.62715029716491699 +-0.99035477638244629 -0.43805491924285889 -0.64351463317871094 +-1.1216522455215454 -0.48293662071228027 -0.55118715763092041 +-1.0832959413528442 -0.32242923974990845 -0.71947777271270752 +-1.2802423238754272 -0.38975179195404053 -0.5809866189956665 +-1.3138041496276855 -0.53019571304321289 -0.43373236060142517 +-1.3835099935531616 -0.44347646832466125 -0.490704745054245 +-1.1873010396957397 -0.50537747144699097 -0.50502347946166992 +-1.2610640525817871 -0.30949807167053223 -0.66513192653656006 +-1.2275023460388184 -0.16905409097671509 -0.812386155128479 +-1.129766583442688 -0.26461637020111084 -0.75745934247970581 +-1.3259754180908203 -0.20271533727645874 -0.7431405782699585 +-0.87823528051376343 -0.4734269380569458 -0.65169674158096313 +-0.67206829786300659 -0.54771637916564941 -0.65787655115127563 +-0.78049945831298828 -0.56898921728134155 -0.59676992893218994 +-0.74693769216537476 -0.42854523658752441 -0.74402415752410889 +-0.51384717226028442 -0.58838599920272827 -0.67828869819641113 +-0.30259585380554199 -0.65040916204452515 -0.69813799858093262 +-0.44414123892784119 -0.67510527372360229 -0.62131631374359131 +-0.41537398099899292 -0.55472469329833984 -0.74753427505493164 +-0.60752582550048828 -0.60198378562927246 -0.63007944822311401 +-0.62702006101608276 -0.73761904239654541 -0.49271738529205322 +-0.71558809280395508 -0.67577195167541504 -0.51876121759414673 +-0.54740899801254272 -0.72882997989654541 -0.53103440999984741 +-0.5883476734161377 -0.52173006534576416 -0.71422475576400757 +-0.52675598859786987 -0.39012911915779114 -0.86352455615997314 +-0.48028537631034851 -0.44794195890426636 -0.82554292678833008 +-0.68128889799118042 -0.40610438585281372 -0.79018789529800415 +-0.94388413429260254 -0.49586778879165649 -0.60553300380706787 +-0.98224043846130371 -0.65637516975402832 -0.43724244832992554 +-1.0751817226409912 -0.54074949026107788 -0.51320558786392212 +-0.85094285011291504 -0.61149346828460693 -0.52956986427307129 +-0.99214553833007812 -0.75188356637954712 -0.34195303916931152 +-1.0349804162979126 -0.87707287073135376 -0.20584289729595184 +-1.1046862602233887 -0.79035359621047974 -0.26281526684761047 +-0.93650722503662109 -0.84341156482696533 -0.27508848905563354 +-1.047889232635498 -0.67881608009338379 -0.39107871055603027 +-1.2440981864929199 -0.61691498756408691 -0.37676000595092773 +-1.1408305168151855 -0.56319034099578857 -0.46704190969467163 +-1.1743922233581543 -0.70363432168960571 -0.31978762149810791 +-0.93576979637145996 -0.71418803930282593 -0.39926087856292725 +-0.74435532093048096 -0.79615247249603271 -0.39254328608512878 +-0.81000417470932007 -0.81859332323074341 -0.34637954831123352 +-0.80447226762771606 -0.66930633783340454 -0.491588294506073 +-0.9247058629989624 -0.41561406850814819 -0.68967831134796143 +-0.87707650661468506 -0.27036139369010925 -0.8468247652053833 +-0.82143813371658325 -0.36188939213752747 -0.77996015548706055 +-1.0176471471786499 -0.29998838901519775 -0.76564145088195801 +-0.85241878032684326 -0.16717803478240967 -0.95501160621643066 +-0.83360952138900757 -0.034408986568450928 -1.089368462562561 +-0.76390361785888672 -0.12112826108932495 -1.0323960781097412 +-0.93208271265029907 -0.068070292472839355 -1.0201228857040405 +-0.82070076465606689 -0.23266583681106567 -0.90413260459899902 +-0.63444972038269043 -0.2821783721446991 -0.92659026384353638 +-0.69493508338928223 -0.33707112073898315 -0.85125136375427246 +-0.66616785526275635 -0.2166905403137207 -0.97746926546096802 +-0.93282014131546021 -0.19729381799697876 -0.89595049619674683 +-1.1290290355682373 -0.13539278507232666 -0.88163173198699951 +-1.0305559635162354 -0.10173153877258301 -0.95087730884552002 +-1.0641176700592041 -0.24217551946640015 -0.80362308025360107 +-0.28249704837799072 -0.72003328800201416 -0.63893067836761475 +-0.38837650418281555 -0.7444806694984436 -0.57573843002319336 +-0.45999971032142639 -0.99374258518218994 -0.30986255407333374 +-0.39695584774017334 -0.8639482855796814 -0.45797541737556458 +-0.56658715009689331 -0.80908364057540894 -0.44688913226127625 +-0.48697611689567566 -0.80029451847076416 -0.48520618677139282 +-0.50647032260894775 -0.93592977523803711 -0.34784412384033203 +-0.51753425598144531 -1.2345037460327148 -0.057426661252975464 +-0.56098008155822754 -1.466763973236084 0.18156918883323669 +-0.48443296551704407 -1.3797968626022339 0.069447875022888184 +-0.6864507794380188 -1.3106693029403687 0.079018920660018921 +-0.58318305015563965 -1.2569446563720703 -0.011262953281402588 +-0.61674487590789795 -1.3973885774612427 0.13599130511283875 +-0.48876690864562988 -1.1141231060028076 -0.1836446225643158 +-0.65694606304168701 -1.0610651969909668 -0.17137141525745392 +-0.50241327285766602 -1.0450899600982666 -0.24470803141593933 +-0.53118044137954712 -1.1654703617095947 -0.11849008500576019 +-0.7830277681350708 -1.012041449546814 -0.17103594541549683 +-0.96527445316314697 -0.96379214525222778 -0.14887054264545441 +-0.86680126190185547 -0.93013083934783936 -0.21811611950397491 +-0.89556854963302612 -1.0505114793777466 -0.091898173093795776 +-0.70341670513153076 -1.0032522678375244 -0.20935298502445221 +-0.68392246961593628 -0.86761707067489624 -0.34671500325202942 +-0.59535449743270874 -0.92946422100067139 -0.3206712007522583 +-0.76353353261947632 -0.87640613317489624 -0.30839797854423523 +-0.71332180500030518 -1.098760724067688 -0.1140635758638382 +-0.75615668296813965 -1.2239500284194946 0.022046566009521484 +-0.82586264610290527 -1.1372307538986206 -0.034925803542137146 +-0.65768349170684814 -1.1902886629104614 -0.047199010848999023 +0.058998048305511475 0.39365601539611816 -1.5299073457717896 +0.2510969340801239 0.39888069033622742 -1.2541863918304443 +0.15830510854721069 0.33840668201446533 -1.4155416488647461 +0.11785322427749634 0.54394996166229248 -1.3731502294540405 +0.20462632179260254 0.45669355988502502 -1.2921679019927979 +0.085155904293060303 0.4604533314704895 -1.4602375030517578 +0.45590341091156006 0.39243540167808533 -0.96606695652008057 +0.73964923620223999 0.27872928977012634 -0.61782997846603394 +0.67341744899749756 0.37432008981704712 -0.66554927825927734 +0.58086073398590088 0.35856679081916809 -0.80483078956604004 +0.54453331232070923 0.53052222728729248 -0.77290153503417969 +0.58721405267715454 0.45672851800918579 -0.74807798862457275 +0.47770160436630249 0.44809979200363159 -0.90800875425338745 +0.35350018739700317 0.39565804600715637 -1.1101266145706177 +0.31649157404899597 0.56587398052215576 -1.0800117254257202 +0.39853367209434509 0.42241603136062622 -1.0330777168273926 +0.29613041877746582 0.42563870549201965 -1.1771373748779297 +0.29560902714729309 0.6953321099281311 -1.0467770099639893 +0.2486424446105957 0.87793648242950439 -1.0248008966445923 +0.31834834814071655 0.79121720790863037 -0.96782857179641724 +0.21594512462615967 0.79443985223770142 -1.1118882894515991 +0.3382897675037384 0.62153834104537964 -1.0219534635543823 +0.44780221581459045 0.63016706705093384 -0.8620227575302124 +0.44213011860847473 0.53374487161636353 -0.9169611930847168 +0.40512144565582275 0.70396077632904053 -0.88684630393981934 +0.26291170716285706 0.61183547973632812 -1.1338644027709961 +0.15055054426193237 0.62744659185409546 -1.2860628366470337 +0.18324780464172363 0.71094322204589844 -1.1989755630493164 +0.22025644779205322 0.54072731733322144 -1.2290904521942139 +1.4721627235412598 0.34918338060379028 0.45811620354652405 +1.2751293182373047 0.36665409803390503 0.18641045689582825 +1.3956775665283203 0.29946622252464294 0.32517954707145691 +1.3466920852661133 0.50527811050415039 0.35556593537330627 +1.4163979291915894 0.41855880618095398 0.4125383198261261 +1.2969275712966919 0.42231851816177368 0.24446871876716614 +1.0830304622650146 0.36142945289611816 -0.089310571551322937 +0.83245223760604858 0.27580875158309937 -0.48727589845657349 +0.87313669919967651 0.34936878085136414 -0.39366048574447632 +0.96929091215133667 0.32908546924591064 -0.26678088307380676 +0.93240809440612793 0.5062406063079834 -0.2331138402223587 +1.0006169080734253 0.45981875061988831 -0.15868125855922699 +0.89821368455886841 0.46304139494895935 -0.30274093151092529 +1.172726035118103 0.36987677216529846 0.04235076904296875 +1.1357173919677734 0.54009270668029785 0.072465702891349792 +1.2177596092224121 0.39663475751876831 0.11939980089664459 +1.1153563261032104 0.39985746145248413 -0.024659872055053711 +1.1002058982849121 0.67001122236251831 0.085120469331741333 +1.0678683519363403 0.85215520858764648 0.12767647206783295 +1.1375741958618164 0.76543593406677246 0.18464884161949158 +1.0351710319519043 0.76865857839584351 0.040589146316051483 +1.1699118614196777 0.58329194784164429 0.14209283888339996 +1.2769861221313477 0.59199738502502441 0.29859358072280884 +1.2442888021469116 0.50850069522857666 0.21150624752044678 +1.207280158996582 0.67871665954589844 0.24162121117115021 +1.0821375846862793 0.58605420589447021 0.018613122403621674 +0.96360832452774048 0.63003462553024292 -0.12856632471084595 +0.98540651798248291 0.68569904565811157 -0.070508092641830444 +1.0394823551177979 0.51494604349136353 -0.076613098382949829 +0.77544933557510376 0.32602879405021667 -0.54392623901367188 +0.73227262496948242 0.52461397647857666 -0.50879216194152832 +0.80197852849960327 0.43789470195770264 -0.4518197774887085 +0.69957530498504639 0.44111740589141846 -0.59587943553924561 +0.69059300422668457 0.68290179967880249 -0.49111825227737427 +0.65208727121353149 0.89341515302658081 -0.44354307651519775 +0.74502849578857422 0.77778947353363037 -0.36757993698120117 +0.62555807828903198 0.78154921531677246 -0.53564953804016113 +0.74790269136428833 0.60864770412445068 -0.44571477174758911 +0.87354123592376709 0.57651859521865845 -0.28266429901123047 +0.85174304246902466 0.52085423469543457 -0.34072250127792358 +0.79149913787841797 0.71997660398483276 -0.32959836721420288 +0.67963385581970215 0.61079621315002441 -0.54175454378128052 +0.5701214075088501 0.60216748714447021 -0.70168530941009521 +0.57579350471496582 0.69858968257904053 -0.64674681425094604 +0.61280214786529541 0.52837377786636353 -0.67686176300048828 +0.62741482257843018 1.0068924427032471 -0.42346644401550293 +0.57807004451751709 1.23384690284729 -0.38331320881843567 +0.67101120948791504 1.1182212829589844 -0.30735006928443909 +0.53447365760803223 1.1225180625915527 -0.49942958354949951 +0.55339765548706055 1.3473241329193115 -0.36323654651641846 +0.51638901233673096 1.5175400972366333 -0.33312162756919861 +0.57992684841156006 1.4591901302337646 -0.27113008499145508 +0.47752362489700317 1.4624128341674805 -0.41518977284431458 +0.5998682975769043 1.2895113229751587 -0.32525494694709778 +0.71933871507644653 1.2857515811920166 -0.15718534588813782 +0.69280946254730225 1.1738855838775635 -0.2492918074131012 +0.64963281154632568 1.3724708557128906 -0.21415773034095764 +0.53159940242767334 1.2916598320007324 -0.42129480838775635 +0.4121289849281311 1.2954195737838745 -0.58936440944671631 +0.44482630491256714 1.3789162635803223 -0.50227707624435425 +0.48800301551818848 1.1803309917449951 -0.53741121292114258 +0.67388546466827393 0.94907957315444946 -0.38548487424850464 +0.80331391096115112 0.93293130397796631 -0.20927634835243225 +0.7606586217880249 0.86182314157485962 -0.30450254678726196 +0.71748185157775879 1.060408353805542 -0.26936846971511841 +0.89108812808990479 0.93016904592514038 -0.085796624422073364 +0.99816238880157471 0.93887448310852051 0.070704109966754913 +0.96546506881713867 0.85537785291671753 -0.016383221372961998 +0.92845648527145386 1.0255937576293945 0.01373174786567688 +0.85689371824264526 0.88696980476379395 -0.15542374551296234 +0.90474152565002441 0.70031267404556274 -0.17811678349971771 +0.83653265237808228 0.746734619140625 -0.25254935026168823 +0.93893587589263916 0.7435118556022644 -0.10848966240882874 +0.8322213888168335 1.0004470348358154 -0.13534705340862274 +0.78904461860656738 1.1990323066711426 -0.10021299123764038 +0.85875058174133301 1.1123130321502686 -0.04324062168598175 +0.739280104637146 1.1160727739334106 -0.21131022274494171 +0.60561668872833252 0.95122802257537842 -0.48152467608451843 +0.46907898783683777 0.95552480220794678 -0.67360424995422363 +0.51267540454864502 1.0668537616729736 -0.5574878454208374 +0.56202018260955811 0.83989918231964111 -0.59764111042022705 +0.3937009871006012 0.94582194089889526 -0.78551506996154785 +0.28133976459503174 0.9614330530166626 -0.937713623046875 +0.31403708457946777 1.0449297428131104 -0.85062634944915771 +0.35104566812515259 0.87471377849578857 -0.88074129819869995 +0.42260837554931641 1.0133377313613892 -0.71158581972122192 +0.37943166494369507 1.2119228839874268 -0.67645168304443359 +0.46620482206344604 1.1246665716171265 -0.59546941518783569 +0.34673440456390381 1.1284263134002686 -0.76353901624679565 +0.44728079438209534 0.8998604416847229 -0.73166239261627197 +0.47339034080505371 0.70181232690811157 -0.79080641269683838 +0.42691969871520996 0.75962519645690918 -0.82878804206848145 +0.54022204875946045 0.78423476219177246 -0.65569925308227539 +1.4232583045959473 0.14453643560409546 0.67268669605255127 +1.1696493625640869 -0.074741244316101074 0.64920949935913086 +1.3309512138366699 0.028609991073608398 0.60916990041732788 +1.2460066080093384 0.083946168422698975 0.79732871055603027 +1.1914474964141846 -0.019076824188232422 0.70726776123046875 +1.3444797992706299 0.11760741472244263 0.72808313369750977 +0.90730834007263184 -0.30905702710151672 0.6135261058807373 +0.61400079727172852 -0.63833105564117432 0.47119158506393433 +0.63623535633087158 -0.55841094255447388 0.56563621759414673 +0.76729023456573486 -0.45334583520889282 0.56521260738372803 +0.69946283102035522 -0.40421175956726074 0.72298812866210938 +0.69329833984375 -0.45625397562980652 0.65131545066833496 +0.8416595458984375 -0.33149784803390503 0.65968978404998779 +1.0384788513183594 -0.19189912080764771 0.63136780261993408 +0.97270292043685913 -0.14206379652023315 0.78770065307617188 +0.96193093061447144 -0.24217218160629272 0.64850246906280518 +1.0931015014648438 -0.12501424551010132 0.66634416580200195 +0.91321867704391479 -0.11246234178543091 0.90553700923919678 +0.85211384296417236 -0.050698935985565186 1.0743110179901123 +0.81941652297973633 -0.13419556617736816 0.98722362518310547 +0.95058703422546387 -0.017037630081176758 1.0050654411315918 +0.90705418586730957 -0.16450464725494385 0.83386439085006714 +0.75869297981262207 -0.28926074504852295 0.82549011707305908 +0.83063334226608276 -0.28705385327339172 0.74082982540130615 +0.76485747098922729 -0.23721849918365479 0.89716273546218872 +1.0116918087005615 -0.078801095485687256 0.83629143238067627 +1.1475334167480469 0.050284862518310547 0.86657428741455078 +1.0490602254867554 0.016623616218566895 0.93581986427307129 +1.1148360967636108 -0.033211767673492432 0.77948695421218872 +0.53572213649749756 -0.67714250087738037 0.50788986682891846 +0.45898360013961792 -0.61900120973587036 0.69027823209762573 +0.42628628015518188 -0.70249783992767334 0.60319089889526367 +0.55745679140090942 -0.58533996343612671 0.62103271484375 +0.40727531909942627 -0.56435710191726685 0.83671891689300537 +0.31646919250488281 -0.5110245943069458 1.0289995670318604 +0.27287277579307556 -0.62235349416732788 0.91288304328918457 +0.4259050190448761 -0.48566925525665283 0.93369841575622559 +0.3823721706867218 -0.63313615322113037 0.7624974250793457 +0.24030253291130066 -0.77812623977661133 0.71562659740447998 +0.305951327085495 -0.75568544864654541 0.66946291923522949 +0.25107455253601074 -0.67801785469055176 0.85482490062713623 +0.46981915831565857 -0.5550309419631958 0.77439188957214355 +0.61818039417266846 -0.43027478456497192 0.78276622295379639 +0.54623997211456299 -0.43248167634010315 0.86742651462554932 +0.61201584339141846 -0.48231703042984009 0.71109366416931152 +0.27261859178543091 -0.47780105471611023 1.1332215070724487 +0.18491742014884949 -0.4113539457321167 1.3416652679443359 +0.14132100343704224 -0.52268272638320923 1.2255488634109497 +0.31621497869491577 -0.36647224426269531 1.2493377923965454 +0.14106684923171997 -0.37813037633895874 1.4458872079849243 +0.075290977954864502 -0.32829499244689941 1.6022201776504517 +0.031630992889404297 -0.40348571538925171 1.5411882400512695 +0.16280150413513184 -0.28632780909538269 1.5590299367904663 +0.11926862597465515 -0.43379479646682739 1.3878289461135864 +-0.033763587474822998 -0.57047897577285767 1.3670135736465454 +0.0756722092628479 -0.54512357711791992 1.2717125415802002 +-0.0010663270950317383 -0.48698234558105469 1.4541009664535522 +0.20671564340591431 -0.35568952560424805 1.3997235298156738 +0.35974788665771484 -0.219005286693573 1.4205389022827148 +0.26127469539642334 -0.25266653299331665 1.4897844791412354 +0.33801320195198059 -0.31080782413482666 1.3073960542678833 +0.25082036852836609 -0.53346550464630127 1.0751632452011108 +0.093117088079452515 -0.68207776546478271 1.0419068336486816 +0.19626134634017944 -0.63648843765258789 0.98510229587554932 +0.1195228099822998 -0.57834714651107788 1.1674906015396118 +-0.019314765930175781 -0.78249883651733398 1.0266139507293701 +-0.16455286741256714 -0.9044654369354248 1.0186643600463867 +-0.066079676151275635 -0.87080419063568115 0.94941878318786621 +-0.1318555474281311 -0.8209688663482666 1.105751633644104 +0.054128170013427734 -0.74534040689468384 0.99331605434417725 +0.11679911613464355 -0.80829042196273804 0.82081985473632812 +0.1745266318321228 -0.72829091548919678 0.87195944786071777 +0.043356180191040039 -0.84544885158538818 0.854117751121521 +0.01027756929397583 -0.71211683750152588 1.0975378751754761 +-0.066460907459259033 -0.65397560596466064 1.2799263000488281 +-0.099158227443695068 -0.73747223615646362 1.1928390264511108 +0.053874015808105469 -0.60078799724578857 1.2136543989181519 +0.33826738595962524 -0.45536020398139954 1.0870577096939087 +0.51316142082214355 -0.29914969205856323 1.1108466386795044 +0.3818638026714325 -0.34403139352798462 1.2031741142272949 +0.4695650041103363 -0.41047850251197815 0.99473035335540771 +0.61779910326004028 -0.21344617009162903 1.1132737398147583 +0.75364065170288086 -0.084360182285308838 1.1435565948486328 +0.65516746044158936 -0.11802148818969727 1.2128021717071533 +0.72094333171844482 -0.16785681247711182 1.056469202041626 +0.53495961427688599 -0.24348527193069458 1.1689049005508423 +0.45822107791900635 -0.18534398078918457 1.3512933254241943 +0.40366202592849731 -0.28836697340011597 1.2612323760986328 +0.55669426918029785 -0.15168273448944092 1.2820477485656738 +0.57881021499633789 -0.27670884132385254 1.0646829605102539 +0.67741048336029053 -0.31532379984855652 0.88526821136474609 +0.69920867681503296 -0.25965934991836548 0.94332647323608398 +0.53521376848220825 -0.38803768157958984 0.94856655597686768 +0.49512752890586853 -0.74450540542602539 0.45502248406410217 +0.3929077684879303 -0.78773397207260132 0.51428931951522827 +0.11155331134796143 -1.0270425081253052 0.49426925182342529 +0.28129565715789795 -0.89850747585296631 0.48223558068275452 +0.21071016788482666 -0.84850823879241943 0.64470255374908447 +0.15298262238502502 -0.92850774526596069 0.59356296062469482 +0.28415313363075256 -0.81134986877441406 0.6114046573638916 +-0.1420556902885437 -1.2463201284408569 0.47079211473464966 +-0.3868945837020874 -1.4722425937652588 0.42647060751914978 +-0.25402569770812988 -1.3870478868484497 0.39358216524124146 +-0.32803946733474731 -1.3219485282897949 0.58322775363922119 +-0.36073672771453857 -1.4054452180862427 0.49614048004150391 +-0.20770448446273804 -1.2687609195709229 0.51695585250854492 +-0.010885179042816162 -1.1291623115539551 0.48863387107849121 +-0.076661050319671631 -1.079326868057251 0.64496678113937378 +-0.087433099746704102 -1.1794352531433105 0.5057685375213623 +0.043737351894378662 -1.0622774362564087 0.52361023426055908 +-0.11740672588348389 -1.0329886674880981 0.76535195112228394 +-0.19725018739700317 -0.98796212673187256 0.93157702684402466 +-0.22994750738143921 -1.0714586973190308 0.8444896936416626 +-0.09877699613571167 -0.95430082082748413 0.86233144998550415 +-0.15010404586791992 -1.1164853572845459 0.67826461791992188 +-0.29534214735031128 -1.2384519577026367 0.67031514644622803 +-0.19686895608901978 -1.2047905921936035 0.60106956958770752 +-0.26264482736587524 -1.1549553871154785 0.75740242004394531 +-0.037672162055969238 -1.0160642862319946 0.69355756044387817 +0.087206780910491943 -0.87867236137390137 0.74989581108093262 +0.021557927131652832 -0.90111327171325684 0.79605954885482788 +0.065472066402435303 -0.97047489881515503 0.63675302267074585 +-0.24001453816890717 -0.6053282618522644 -0.76485663652420044 +-0.31484925746917725 -0.52036213874816895 -0.81822240352630615 +-0.2733074426651001 -0.26295846700668335 -1.0806101560592651 +-0.27173051238059998 -0.4171852171421051 -0.93333441019058228 +-0.44635465741157532 -0.36001333594322205 -0.92258566617965698 +-0.38586932420730591 -0.30512058734893799 -0.9979245662689209 +-0.41463658213615417 -0.42550116777420044 -0.87170660495758057 +-0.2298615574836731 -0.030698239803314209 -1.3196060657501221 +-0.16399180889129639 0.19448763132095337 -1.560238242149353 +-0.13682848215103149 0.074801445007324219 -1.4556856155395508 +-0.34124356508255005 0.13389736413955688 -1.435596227645874 +-0.24277037382125854 0.16755861043930054 -1.5048418045043945 +-0.27633216977119446 0.027114629745483398 -1.3575875759124756 +-0.25862884521484375 -0.15107876062393188 -1.1933881044387817 +-0.42680799961090088 -0.098020792007446289 -1.1811149120330811 +-0.27227509021759033 -0.082045495510101318 -1.2544515132904053 +-0.3010423481464386 -0.20242601633071899 -1.1282336711883545 +-0.55699920654296875 -0.06619417667388916 -1.1627483367919922 +-0.73513633012771606 -0.00074774026870727539 -1.1586140394210815 +-0.63666313886642456 0.032913565635681152 -1.2278596162796021 +-0.66543042659759521 -0.087467014789581299 -1.1016416549682617 +-0.45852604508399963 -0.032532930374145508 -1.2319939136505127 +-0.43971675634384155 0.10023605823516846 -1.3663506507873535 +-0.3700108528137207 0.013516783714294434 -1.3093783855438232 +-0.53818994760513306 0.066574811935424805 -1.2971051931381226 +-0.48318368196487427 -0.13571628928184509 -1.1238070726394653 +-0.55404841899871826 -0.25206261873245239 -0.98565137386322021 +-0.60051906108856201 -0.19424974918365479 -1.0236330032348633 +-0.42754536867141724 -0.22724428772926331 -1.0569424629211426 +0.40426963567733765 1.5529121160507202 -0.32493951916694641 +0.27309912443161011 1.4357542991638184 -0.3427811861038208 +0.32765817642211914 1.5387771129608154 -0.25272026658058167 +0.39343404769897461 1.4889419078826904 -0.40905317664146423 +0.18565207719802856 1.3576489686965942 -0.35467574000358582 +0.010758161544799805 1.2014384269714355 -0.37846469879150391 +0.054354548454284668 1.3127672672271729 -0.26234832406044006 +0.1420556902885437 1.2463201284408569 -0.47079211473464966 +0.20745033025741577 1.4133133888244629 -0.29661747813224792 +0.13071179389953613 1.4714546203613281 -0.11422914266586304 +0.22918498516082764 1.5051159858703613 -0.18347471952438354 +0.0761527419090271 1.3684316873550415 -0.20429006218910217 +0.2513008713722229 1.3800897598266602 -0.40083944797515869 +0.32803946733474731 1.3219485282897949 -0.58322775363922119 +0.20770448446273804 1.2687609195709229 -0.51695585250854492 +0.36073672771453857 1.4054452180862427 -0.49614048004150391 +-0.076688885688781738 1.123333215713501 -0.39035922288894653 +-0.24378871917724609 0.98184025287628174 -0.40128237009048462 +-0.19702383875846863 1.0701456069946289 -0.32408726215362549 +-0.12028530240058899 1.0120043754577637 -0.50647562742233276 +-0.36089164018630981 0.8694911003112793 -0.42901629209518433 +-0.51392388343811035 0.73280686140060425 -0.44983166456222534 +-0.45936483144760132 0.83582985401153564 -0.35977074503898621 +-0.39358896017074585 0.78599447011947632 -0.51610362529754639 +-0.317231684923172 0.94468182325363159 -0.36798447370529175 +-0.39864125847816467 0.99089497327804565 -0.19803717732429504 +-0.30645966529846191 1.0447902679443359 -0.22878621518611908 +-0.43763017654418945 0.92763233184814453 -0.24662794172763824 +-0.27338111400604248 0.91145825386047363 -0.47220641374588013 +-0.21850433945655823 0.83379065990447998 -0.65756839513778687 +-0.28415313363075256 0.81134986877441406 -0.6114046573638916 +-0.14208352565765381 0.95633995532989502 -0.56453382968902588 +-0.054890692234039307 1.1789976358413696 -0.33230099081993103 +-0.14259189367294312 1.2454447746276855 -0.12385717034339905 +-0.011294305324554443 1.2903263568878174 -0.21618461608886719 +-0.18618828058242798 1.1341159343719482 -0.23997354507446289 +-0.20207613706588745 1.2750461101531982 -0.0060208141803741455 +-0.26318097114562988 1.3368096351623535 0.16275313496589661 +-0.16470777988433838 1.3704708814620972 0.093507558107376099 +-0.29587829113006592 1.2533129453659058 0.075665801763534546 +-0.12079364061355591 1.3011090755462646 -0.065798908472061157 +0.032238602638244629 1.4377933740615845 -0.044983565807342529 +0.010503947734832764 1.3459908962249756 -0.1581263542175293 +-0.066234588623046875 1.4041321277618408 0.024261981248855591 +-0.20824065804481506 1.2230038642883301 -0.077693462371826172 +-0.37223553657531738 1.0946255922317505 -0.072453349828720093 +-0.35043734312057495 1.1502900123596191 -0.01439511775970459 +-0.25183707475662231 1.1116750240325928 -0.19380983710289001 +-0.011040091514587402 1.1457740068435669 -0.43652293086051941 +0.061027407646179199 1.0757046937942505 -0.63135230541229248 +-0.032774746417999268 1.053971529006958 -0.54966568946838379 +0.12025749683380127 1.1906557083129883 -0.52885031700134277 +0.11740672588348389 1.0329886674880981 -0.76535195112228394 +0.19725018739700317 0.98796212673187256 -0.93157702684402466 +0.09877699613571167 0.95430082082748413 -0.86233144998550415 +0.22994750738143921 1.0714586973190308 -0.8444896936416626 +0.054862856864929199 1.0236624479293823 -0.70302498340606689 +-0.08410179615020752 0.89178705215454102 -0.73373258113861084 +-0.087333798408508301 0.95094859600067139 -0.63972663879394531 +-0.021557927131652832 0.90111327171325684 -0.79605954885482788 +0.14230984449386597 1.1017677783966064 -0.69113045930862427 +0.29534214735031128 1.2384519577026367 -0.67031514644622803 +0.26264482736587524 1.1549553871154785 -0.75740242004394531 +0.18590629100799561 1.2130966186523438 -0.57501405477523804 +-0.60137093067169189 0.65470165014266968 -0.46172618865966797 +-0.75440317392349243 0.51801741123199463 -0.48254156112670898 +-0.7217058539390564 0.60151404142379761 -0.39545422792434692 +-0.65592998266220093 0.55167865753173828 -0.55178713798522949 +-0.87150609493255615 0.40566825866699219 -0.51027548313140869 +-1.0386059284210205 0.26417532563209534 -0.52119863033294678 +-0.99500954151153564 0.37550416588783264 -0.40508222579956055 +-0.91827094554901123 0.31736290454864502 -0.58747059106826782 +-0.84191370010375977 0.47605025768280029 -0.43935143947601318 +-0.89679050445556641 0.55371785163879395 -0.25398945808410645 +-0.83114171028137207 0.57615864276885986 -0.30015316605567932 +-0.97321128845214844 0.43116855621337891 -0.34702402353286743 +-0.79806315898895264 0.44282668828964233 -0.54357337951660156 +-0.71665358543395996 0.39661353826522827 -0.71352064609527588 +-0.80883514881134033 0.34271827340126038 -0.68277162313461304 +-0.67766463756561279 0.45987617969512939 -0.66492992639541626 +-1.1260529756546021 0.1860700249671936 -0.5330931544303894 +-1.3009469509124756 0.029859542846679688 -0.55688214302062988 +-1.2573504447937012 0.14118838310241699 -0.44076573848724365 +-1.1696493625640869 0.074741244316101074 -0.64920949935913086 +-1.3883938789367676 -0.048245728015899658 -0.56877666711807251 +-1.5195643901824951 -0.16540360450744629 -0.58661830425262451 +-1.5087288618087769 -0.10143333673477173 -0.50250470638275146 +-1.4429529905319214 -0.15126866102218628 -0.65883755683898926 +-1.3665957450866699 0.0074186921119689941 -0.51071840524673462 +-1.4433343410491943 0.065559923648834229 -0.32833006978034973 +-1.3229992389678955 0.1187475323677063 -0.39460203051567078 +-1.4760315418243408 -0.01793670654296875 -0.4154173731803894 +-1.3227450847625732 -0.025804877281188965 -0.61494040489196777 +-1.2460066080093384 -0.083946168422698975 -0.79732871055603027 +-1.3444797992706299 -0.11760741472244263 -0.72808313369750977 +-1.1914474964141846 0.019076824188232422 -0.70726776123046875 +-1.1042547225952148 0.24173447489738464 -0.4750349223613739 +-1.1763222217559814 0.31180381774902344 -0.28020551800727844 +-1.0825200080871582 0.33353698253631592 -0.36189213395118713 +-1.2355523109436035 0.19685280323028564 -0.38270750641822815 +-1.2327015399932861 0.35451984405517578 -0.14620590209960938 +-1.3125450611114502 0.39954641461372375 0.020019173622131348 +-1.2140717506408691 0.43320769071578979 -0.04922640323638916 +-1.3452422618865967 0.31604981422424316 -0.067068129777908325 +-1.1701576709747314 0.36384603381156921 -0.20853288471698761 +-1.0311930179595947 0.49572145938873291 -0.17782530188560486 +-1.0279610157012939 0.43655991554260254 -0.271831214427948 +-1.0937368869781494 0.48639526963233948 -0.11549830436706543 +-1.2576045989990234 0.28574079275131226 -0.22042737901210785 +-1.4106369018554688 0.14905655384063721 -0.24124273657798767 +-1.3779397010803223 0.23255318403244019 -0.154155433177948 +-1.3012011051177979 0.17441195249557495 -0.33654379844665527 +-1.0604040622711182 0.20851090550422668 -0.57925689220428467 +-0.97270292043685913 0.14206379652023315 -0.78770065307617188 +-1.1040005683898926 0.097182095050811768 -0.69537323713302612 +-0.92910653352737427 0.25339260697364807 -0.67158430814743042 +-0.91321867704391479 0.11246234178543091 -0.90553700923919678 +-0.85211384296417236 0.050698935985565186 -1.0743110179901123 +-0.95058703422546387 0.017037630081176758 -1.0050654411315918 +-0.81941652297973633 0.13419556617736816 -0.98722362518310547 +-0.99450117349624634 0.086399376392364502 -0.84575891494750977 +-1.1475334167480469 -0.050284862518310547 -0.86657428741455078 +-1.1257987022399902 0.041517674922943115 -0.75343149900436401 +-1.0490602254867554 -0.016623616218566895 -0.93581986427307129 +-0.90705418586730957 0.16450464725494385 -0.83386439085006714 +-0.74305927753448486 0.29288294911384583 -0.83910453319549561 +-0.76485747098922729 0.23721849918365479 -0.89716273546218872 +-0.86345773935317993 0.27583342790603638 -0.71774804592132568 +-0.57957267761230469 0.71036601066589355 -0.40366795659065247 +-0.65631121397018433 0.76850730180740356 -0.22127960622310638 +-0.55783802270889282 0.80216854810714722 -0.2905251681804657 +-0.68900853395462036 0.68501067161560059 -0.30836692452430725 +-0.72675812244415283 0.80641454458236694 -0.077387779951095581 +-0.79882562160491943 0.87648391723632812 0.11744168400764465 +-0.66752803325653076 0.92136561870574951 0.025114208459854126 +-0.8205602765083313 0.78468137979507446 0.0042988359928131104 +-0.64547568559646606 0.83247756958007812 -0.13716593384742737 +-0.48148077726364136 0.96085590124130249 -0.14240601658821106 +-0.50327897071838379 0.90519148111343384 -0.20046421885490417 +-0.60187923908233643 0.94380640983581543 -0.02104949951171875 +-0.73292267322540283 0.75437235832214355 -0.14906039834022522 +-0.87188732624053955 0.6224968433380127 -0.17976799607276917 +-0.87511932849884033 0.68165844678878784 -0.085762053728103638 +-0.80934345722198486 0.63182306289672852 -0.24209496378898621 +-0.84267622232437134 0.90970742702484131 0.22166362404823303 +-0.93037736415863037 0.97615456581115723 0.43010738492012024 +-0.79907983541488647 1.0210362672805786 0.33777996897697449 +-0.97397381067276001 0.8648257851600647 0.31399098038673401 +-0.97422796487808228 1.00937819480896 0.53432929515838623 +-1.040003776550293 1.0592135190963745 0.69066226482391357 +-0.95249330997467041 1.1011806726455688 0.64747202396392822 +-1.0836638212203979 0.98402279615402222 0.62963032722473145 +-0.90857917070388794 1.0318189859390259 0.48816564679145813 +-0.7555469274520874 1.1685032844543457 0.50898098945617676 +-0.77728164196014404 1.0767006874084473 0.39583823084831238 +-0.85402011871337891 1.1348419189453125 0.57822656631469727 +-0.99602615833282471 0.95371371507644653 0.47627106308937073 +-1.1490583419799805 0.81702953577041626 0.45545575022697449 +-1.116361141204834 0.90052616596221924 0.54254305362701416 +-1.0396225452423096 0.842384934425354 0.36015471816062927 +-0.777027428150177 0.93214833736419678 0.17549988627433777 +-0.60992759466171265 1.073641300201416 0.18642297387123108 +-0.6566925048828125 0.98533588647842407 0.10922792553901672 +-0.73343098163604736 1.0434770584106445 0.29161623120307922 +-0.49749571084976196 1.1740623712539673 0.20171591639518738 +-0.36165416240692139 1.3031482696533203 0.23199871182441711 +-0.39435148239135742 1.2196516990661621 0.14491137862205505 +-0.46012735366821289 1.2694870233535767 0.30124428868293762 +-0.53648459911346436 1.1107996702194214 0.15312507748603821 +-0.45507505536079407 1.0645865201950073 -0.016822189092636108 +-0.54725664854049683 1.0106912851333618 0.013926893472671509 +-0.41608613729476929 1.1278491020202637 0.031768620014190674 +-0.58033519983291626 1.1440231800079346 0.25734707713127136 +-0.6570737361907959 1.2021645307540894 0.43973544239997864 +-0.55860054492950439 1.235825777053833 0.37048986554145813 +-0.71163278818130493 1.0991415977478027 0.34967449307441711 +-0.86447441577911377 0.85404300689697266 0.16360536217689514 +-1.0393683910369873 0.69783252477645874 0.13981637358665466 +-0.99577200412750244 0.80916136503219604 0.25593277812004089 +-0.90807086229324341 0.74271416664123535 0.047488957643508911 +-1.134609580039978 0.60500967502593994 0.11505606770515442 +-1.2798476219177246 0.48304304480552673 0.10710647702217102 +-1.2471504211425781 0.56653964519500732 0.19419381022453308 +-1.1813745498657227 0.51670432090759277 0.0378609299659729 +-1.1050171852111816 0.67539167404174805 0.18598005175590515 +-1.1817557811737061 0.73353290557861328 0.36836841702461243 +-1.0614207983016968 0.78672051429748535 0.30209651589393616 +-1.2144529819488525 0.6500362753868103 0.28128114342689514 +-1.0611666440963745 0.64216810464859009 0.081758171319961548 +-1.0062898397445679 0.56450057029724121 -0.10360383987426758 +-1.0719386339187622 0.54205965995788574 -0.057440102100372314 +-0.92986905574798584 0.68704980611801147 -0.010569244623184204 +-0.53572213649749756 0.67714250087738037 -0.50788986682891846 +-0.45898360013961792 0.61900120973587036 -0.69027823209762573 +-0.55745679140090942 0.58533996343612671 -0.62103271484375 +-0.42628628015518188 0.70249783992767334 -0.60319089889526367 +-0.38853666186332703 0.58109396696090698 -0.83417010307312012 +-0.31646919250488281 0.5110245943069458 -1.0289995670318604 +-0.44776678085327148 0.4661429226398468 -0.93667209148406982 +-0.29473453760147095 0.60282713174819946 -0.91585671901702881 +-0.46981915831565857 0.5550309419631958 -0.77439188957214355 +-0.63381403684616089 0.42665261030197144 -0.76915180683135986 +-0.61201584339141846 0.48231703042984009 -0.71109366416931152 +-0.51341557502746582 0.4437021017074585 -0.89050835371017456 +-0.3823721706867218 0.63313615322113037 -0.7624974250793457 +-0.2434074878692627 0.76501166820526123 -0.73178982734680176 +-0.24017545580863953 0.70585006475448608 -0.82579576969146729 +-0.305951327085495 0.75568544864654541 -0.66946291923522949 +-0.27261859178543091 0.47780105471611023 -1.1332215070724487 +-0.18491742014884949 0.4113539457321167 -1.3416652679443359 +-0.31621497869491577 0.36647224426269531 -1.2493377923965454 +-0.14132100343704224 0.52268272638320923 -1.2255488634109497 +-0.14106684923171997 0.37813037633895874 -1.4458872079849243 +-0.075290977954864502 0.32829499244689941 -1.6022201776504517 +-0.16280150413513184 0.28632780909538269 -1.5590299367904663 +-0.031630992889404297 0.40348571538925171 -1.5411882400512695 +-0.20671564340591431 0.35568952560424805 -1.3997235298156738 +-0.35974788665771484 0.219005286693573 -1.4205389022827148 +-0.33801320195198059 0.31080782413482666 -1.3073960542678833 +-0.26127469539642334 0.25266653299331665 -1.4897844791412354 +-0.11926862597465515 0.43379479646682739 -1.3878289461135864 +0.033763587474822998 0.57047897577285767 -1.3670135736465454 +0.0010663270950317383 0.48698234558105469 -1.4541009664535522 +-0.0756722092628479 0.54512357711791992 -1.2717125415802002 +-0.33826738595962524 0.45536020398139954 -1.0870577096939087 +-0.5053672194480896 0.3138672411441803 -1.0979808568954468 +-0.45860233902931213 0.40217262506484985 -1.0207858085632324 +-0.3818638026714325 0.34403139352798462 -1.2031741142272949 +-0.61779910326004028 0.21344617009162903 -1.1132737398147583 +-0.75364065170288086 0.084360182285308838 -1.1435565948486328 +-0.72094333171844482 0.16785681247711182 -1.056469202041626 +-0.65516746044158936 0.11802148818969727 -1.2128021717071533 +-0.57881021499633789 0.27670884132385254 -1.0646829605102539 +-0.66021978855133057 0.3229219913482666 -0.89473569393157959 +-0.56803816556930542 0.3768172562122345 -0.92548477649688721 +-0.69920867681503296 0.25965934991836548 -0.94332647323608398 +-0.53495961427688599 0.24348527193069458 -1.1689049005508423 +-0.45822107791900635 0.18534398078918457 -1.3512933254241943 +-0.55669426918029785 0.15168273448944092 -1.2820477485656738 +-0.40366202592849731 0.28836697340011597 -1.2612323760986328 +-0.25082036852836609 0.53346550464630127 -1.0751632452011108 +-0.075926393270492554 0.68967598676681519 -1.0513741970062256 +-0.1195228099822998 0.57834714651107788 -1.1674906015396118 +-0.20722395181655884 0.64479434490203857 -0.95904684066772461 +0.019314765930175781 0.78249883651733398 -1.0266139507293701 +0.16455286741256714 0.9044654369354248 -1.0186643600463867 +0.1318555474281311 0.8209688663482666 -1.105751633644104 +0.066079676151275635 0.87080419063568115 -0.94941878318786621 +-0.01027756929397583 0.71211683750152588 -1.0975378751754761 +0.066460907459259033 0.65397560596466064 -1.2799263000488281 +-0.053874015808105469 0.60078799724578857 -1.2136543989181519 +0.099158227443695068 0.73747223615646362 -1.1928390264511108 +-0.054128170013427734 0.74534040689468384 -0.99331605434417725 +-0.10900497436523438 0.82300794124603271 -0.80795401334762573 +-0.043356180191040039 0.84544885158538818 -0.854117751121521 +-0.18542572855949402 0.70045870542526245 -0.90098857879638672 +0.050618588924407959 -0.21481770277023315 1.6222966909408569 +0.079385817050933838 -0.094437181949615479 1.4960787296295166 +-0.023881912231445312 -0.14816188812255859 1.5863606929779053 +0.14429718255996704 -0.20121988654136658 1.574087381362915 +0.098563998937606812 -0.014183461666107178 1.4119335412979126 +0.13692033290863037 0.14632391929626465 1.2436429262161255 +0.0056227743625640869 0.10144221782684326 1.335970401763916 +0.2298615574836731 0.030698239803314209 1.3196060657501221 +0.032915204763412476 -0.036624312400817871 1.4580972194671631 +-0.16329377889633179 0.025276690721511841 1.4724159240722656 +-0.09358784556388855 -0.061442583799362183 1.5293883085250854 +-0.060026019811630249 0.079001367092132568 1.3821340799331665 +0.14503461122512817 -0.071996331214904785 1.4499151706695557 +0.34124356508255005 -0.13389736413955688 1.435596227645874 +0.27633216977119446 -0.027114629745483398 1.3575875759124756 +0.24277037382125854 -0.16755861043930054 1.5048418045043945 +0.15609854459762573 0.22657763957977295 1.1594976186752319 +0.17970235645771027 0.37941005825996399 1.0041043758392334 +0.091187149286270142 0.33336037397384644 1.0814888477325439 +0.2873961329460144 0.27145934104919434 1.0671701431274414 +0.21842759847640991 0.48740214109420776 0.88602542877197266 +0.25198942422866821 0.62784618139266968 0.73877114057540894 +0.14872168004512787 0.57412141561508179 0.82905304431915283 +0.31690078973770142 0.52106344699859619 0.81677985191345215 +0.14798426628112793 0.44489789009094238 0.95322543382644653 +-0.034157115966081619 0.51160764694213867 0.95765197277069092 +-0.0065486282110214233 0.4289226233959198 1.0265620946884155 +0.022218633443117142 0.54930317401885986 0.90034419298171997 +0.26010367274284363 0.40952590107917786 0.94504326581954956 +0.46110719442367554 0.36768832802772522 0.90968823432922363 +0.41463658213615417 0.42550116777420044 0.87170660495758057 +0.35304492712020874 0.29390019178390503 1.0210064649581909 +0.090449720621109009 0.20413678884506226 1.2056612968444824 +-0.13378909230232239 0.2748807966709137 1.2220256328582764 +-0.040847837924957275 0.15925508737564087 1.2979887723922729 +-0.0024915337562561035 0.31976249814033508 1.1296981573104858 +-0.25987076759338379 0.32390457391738892 1.2223609685897827 +-0.44211748242378235 0.37215381860733032 1.2445263862609863 +-0.37241154909133911 0.2854345440864563 1.3014987707138062 +-0.34364429116249084 0.40581509470939636 1.1752808094024658 +-0.19943788647651672 0.252439945936203 1.2681893110275269 +-0.23299969732761383 0.11199596524238586 1.4154435396194458 +-0.10649663209915161 0.13681423664093018 1.3441524505615234 +-0.30270561575889587 0.19871525466442108 1.358471155166626 +-0.18025970458984375 0.33269363641738892 1.1840440034866333 +-0.17472772300243378 0.48198065161705017 1.0388352870941162 +-0.2403765469789505 0.45953977108001709 1.0849989652633667 +-0.048962153494358063 0.3775753378868103 1.0917165279388428 +0.20256915688514709 0.16876477003097534 1.197479248046875 +0.41284570097923279 0.11167249083518982 1.17326819896698 +0.32907217741012573 0.19358304142951965 1.1261880397796631 +0.29551038146018982 0.053139090538024902 1.2734423875808716 +0.55699920654296875 0.06619417667388916 1.1627483367919922 +0.73513633012771606 0.00074774026870727539 1.1586140394210815 +0.66543042659759521 0.087467014789581299 1.1016416549682617 +0.63666313886642456 -0.032913565635681152 1.2278596162796021 +0.49245676398277283 0.12046164274215698 1.134951114654541 +0.53597652912139893 0.24851712584495544 0.99583584070205688 +0.43233993649482727 0.24730771780014038 1.035906195640564 +0.60051906108856201 0.19424974918365479 1.0236330032348633 +0.47327858209609985 0.040207922458648682 1.2190964221954346 +0.43971675634384155 -0.10023605823516846 1.3663506507873535 +0.53818994760513306 -0.066574811935424805 1.2971051931381226 +0.34198099374771118 -0.0046737790107727051 1.3114240169525146 +0.2711675763130188 0.70809978246688843 0.65462583303451538 +0.3047294020652771 0.84854382276535034 0.50737154483795166 +0.2062562108039856 0.81488251686096191 0.57661712169647217 +0.37443533539772034 0.76182454824447632 0.56434392929077148 +0.34345465898513794 0.9565359354019165 0.38929253816604614 +0.36705845594406128 1.1093683242797852 0.23389936983585358 +0.23576086759567261 1.0644866228103638 0.32622683048248291 +0.43196985125541687 1.0025856494903564 0.3119080662727356 +0.26305332779884338 0.92642009258270264 0.44835370779037476 +0.062049821019172668 0.96825766563415527 0.48370876908302307 +0.10852041840553284 0.91044479608535767 0.52169036865234375 +0.17011207342147827 1.0420458316802979 0.37239056825637817 +0.37517273426055908 0.89104807376861572 0.44017153978347778 +0.55731409788131714 0.82433831691741943 0.4357450008392334 +0.52970564365386963 0.90702331066131592 0.36683487892150879 +0.50093835592269897 0.78664278984069824 0.49305281043052673 +0.38623669743537903 1.1896220445632935 0.14975407719612122 +0.4245930016040802 1.3501293659210205 -0.018536478281021118 +0.2932954728603363 1.3052477836608887 0.073790937662124634 +0.51753425598144531 1.2345037460327148 0.057426661252975464 +0.44377118349075317 1.4303832054138184 -0.10268178582191467 +0.47253841161727905 1.5507636070251465 -0.228899747133255 +0.37885981798171997 1.5371658802032471 -0.18069043755531311 +0.54703891277313232 1.4841078519821167 -0.19296365976333618 +0.37812238931655884 1.4079422950744629 -0.056518077850341797 +0.18191343545913696 1.4698433876037598 -0.042199313640594482 +0.24682486057281494 1.3630605936050415 0.035809338092803955 +0.28038662672042847 1.5035045146942139 -0.11144489049911499 +0.49024179577827454 1.372570276260376 -0.064700186252593994 +0.6864507794380188 1.3106693029403687 -0.079018920660018921 +0.61674487590789795 1.3973885774612427 -0.13599130511283875 +0.58318305015563965 1.2569446563720703 0.011262953281402588 +0.32058784365653992 1.1671812534332275 0.19591778516769409 +0.11031129956245422 1.2242734432220459 0.22012874484062195 +0.19408482313156128 1.1423629522323608 0.26720890402793884 +0.22764661908149719 1.2828068733215332 0.11995464563369751 +-0.033842235803604126 1.2697517871856689 0.23064863681793213 +-0.21197932958602905 1.3351981639862061 0.23478296399116516 +-0.1422734260559082 1.248478889465332 0.2917553186416626 +-0.11350613832473755 1.3688595294952393 0.16553738713264465 +0.030700236558914185 1.2154843807220459 0.25844582915306091 +-0.012819558382034302 1.0874288082122803 0.39756113290786743 +0.090817064046859741 1.0886383056640625 0.35749080777168274 +-0.077362060546875 1.1416962146759033 0.36976402997970581 +0.049878418445587158 1.2957379817962646 0.17430049180984497 +0.083440244197845459 1.4361820220947266 0.027046263217926025 +-0.015032947063446045 1.4025207757949829 0.096291810274124146 +0.18117600679397583 1.3406198024749756 0.081973046064376831 +0.43270730972290039 1.1318092346191406 0.1877356618642807 +0.65694606304168701 1.0610651969909668 0.17137141525745392 +0.56400483846664429 1.1766908168792725 0.095408245921134949 +0.52564859390258789 1.0161834955215454 0.26369881629943848 +0.7830277681350708 1.012041449546814 0.17103594541549683 +0.96527445316314697 0.96379214525222778 0.14887054264545441 +0.89556854963302612 1.0505114793777466 0.091898173093795776 +0.86680126190185547 0.93013083934783936 0.21811611950397491 +0.72259485721588135 1.0835059881210327 0.12520770728588104 +0.75615668296813965 1.2239500284194946 -0.022046566009521484 +0.62965363264083862 1.1991317272186279 0.049244537949562073 +0.82586264610290527 1.1372307538986206 0.034925803542137146 +0.70341670513153076 1.0032522678375244 0.20935298502445221 +0.69788467884063721 0.85396528244018555 0.35456171631813049 +0.76353353261947632 0.87640613317489624 0.30839797854423523 +0.57211917638778687 0.9583706259727478 0.30168038606643677 +0.20551879703998566 0.68565899133682251 0.70078951120376587 +0.0093098282814025879 0.74755996465682983 0.71510827541351318 +0.079015746712684631 0.66084069013595581 0.77208065986633301 +0.10778301954269409 0.78122127056121826 0.64586269855499268 +-0.14480170607566833 0.80542671680450439 0.71748930215835571 +-0.35507827997207642 0.8625190258026123 0.74170029163360596 +-0.2621370255947113 0.74689328670501709 0.81766343116760254 +-0.2285752147436142 0.887337327003479 0.67040914297103882 +-0.084368802607059479 0.73396217823028564 0.7633175253868103 +-0.089900776743888855 0.584675133228302 0.90852624177932739 +-0.024251986294984818 0.6071159839630127 0.8623625636100769 +-0.21566641330718994 0.68908047676086426 0.85564500093460083 +-0.065190643072128296 0.81421589851379395 0.67917221784591675 +-0.02167084813117981 0.94227135181427002 0.54005688428878784 +-0.12530750036239624 0.94106197357177734 0.58012723922729492 +0.042871624231338501 0.88800400495529175 0.56785404682159424 +-0.4671977162361145 0.89789104461669922 0.74988234043121338 +-0.6914365291595459 0.96863502264022827 0.76624667644500732 +-0.5984952449798584 0.85300934314727783 0.84220981597900391 +-0.56013894081115723 1.0135166645050049 0.6739192008972168 +-0.80355590581893921 1.00400710105896 0.77442878484725952 +-0.97173506021499634 1.0570650100708008 0.78670203685760498 +-0.93005895614624023 0.97918879985809326 0.84571987390518188 +-0.90129166841506958 1.0995693206787109 0.71950197219848633 +-0.75708532333374023 0.94619417190551758 0.81241035461425781 +-0.79064708948135376 0.80575025081634521 0.95966458320617676 +-0.66414403915405273 0.83056849241256714 0.88837349414825439 +-0.86035299301147461 0.89246952533721924 0.90269219875335693 +-0.73790711164474487 1.0264478921890259 0.72826510667800903 +-0.70434528589248657 1.1668918132781982 0.58101081848144531 +-0.80281847715377808 1.1332306861877441 0.65025639533996582 +-0.60660958290100098 1.0713295936584473 0.63593763113021851 +-0.42072710394859314 0.84007817506790161 0.78786396980285645 +-0.44433087110519409 0.68724572658538818 0.94325709342956543 +-0.35581567883491516 0.73329544067382812 0.86587262153625488 +-0.55202466249465942 0.79519647359848022 0.88019144535064697 +-0.46898853778839111 0.58406239748001099 1.0514439344406128 +-0.51182341575622559 0.45887309312820435 1.1875541210174561 +-0.41335019469261169 0.49253436923027039 1.1183085441589355 +-0.58152931928634644 0.54559236764907837 1.1305817365646362 +-0.41261279582977295 0.62175792455673218 0.99413615465164185 +-0.2304714173078537 0.55504816770553589 0.98970955610275269 +-0.25807994604110718 0.63773322105407715 0.92079949378967285 +-0.28684717416763306 0.5173526406288147 1.0470174551010132 +-0.52473223209381104 0.65712988376617432 1.002318263053894 +-0.72094118595123291 0.71903097629547119 1.0166369676589966 +-0.65123522281646729 0.63231164216995239 1.0736093521118164 +-0.61767345666885376 0.77275562286376953 0.92635512351989746 +-0.40154889225959778 0.92033189535140991 0.70371866226196289 +-0.36319249868392944 1.0808392763137817 0.53542804718017578 +-0.4944901168346405 1.0359575748443604 0.62775552272796631 +-0.27025127410888672 0.9652135968208313 0.61139118671417236 +-0.32926180958747864 1.1687679290771484 0.43838536739349365 +-0.31045252084732056 1.301537036895752 0.30402854084968567 +-0.40892571210861206 1.2678756713867188 0.37327411770820618 +-0.24074661731719971 1.2148177623748779 0.36100089550018311 +-0.40966314077377319 1.1386520862579346 0.49744647741317749 +-0.60587209463119507 1.2005531787872314 0.5117652416229248 +-0.54096072912216187 1.0937705039978027 0.58977395296096802 +-0.50739890336990356 1.2342144250869751 0.44251969456672668 +-0.2975437343120575 1.1032800674438477 0.48926433920860291 +-0.096540212631225586 1.0614426136016846 0.45390930771827698 +-0.14301085472106934 1.1192554235458374 0.4159277081489563 +-0.20460250973701477 0.98765444755554199 0.56522750854492188 +0.31763821840286255 0.6502869725227356 0.69260746240615845 +0.51384717226028442 0.58838599920272827 0.67828869819641113 +0.44414123892784119 0.67510527372360229 0.62131631374359131 +0.41537398099899292 0.55472469329833984 0.74753427505493164 +0.66795873641967773 0.53051924705505371 0.6759076714515686 +0.87823528051376343 0.4734269380569458 0.65169674158096313 +0.7852940559387207 0.58905267715454102 0.57573354244232178 +0.7517322301864624 0.44860866665840149 0.7229878306388855 +0.60752582550048828 0.60198378562927246 0.63007944822311401 +0.61305779218673706 0.7512708306312561 0.48487070202827454 +0.54740899801254272 0.72882997989654541 0.53103440999984741 +0.73882341384887695 0.64686548709869385 0.53775197267532349 +0.5883476734161377 0.52173006534576416 0.71422475576400757 +0.54482781887054443 0.3936745822429657 0.85334008932113647 +0.64846450090408325 0.39488399028778076 0.81326973438262939 +0.48028537631034851 0.44794195890426636 0.82554292678833008 +0.99035477638244629 0.43805491924285889 0.64351463317871094 +1.2145935297012329 0.36731094121932983 0.62715029716491699 +1.1216522455215454 0.48293662071228027 0.55118715763092041 +1.0832959413528442 0.32242923974990845 0.71947777271270752 +1.3267128467559814 0.33193892240524292 0.61896824836730957 +1.4948921203613281 0.27888089418411255 0.60669493675231934 +1.4532159566879272 0.35675716400146484 0.54767709970474243 +1.4244487285614014 0.23637658357620239 0.67389500141143799 +1.2802423238754272 0.38975179195404053 0.5809866189956665 +1.3138041496276855 0.53019571304321289 0.43373236060142517 +1.1873010396957397 0.50537747144699097 0.50502347946166992 +1.3835099935531616 0.44347646832466125 0.490704745054245 +1.2610640525817871 0.30949807167053223 0.66513192653656006 +1.2275023460388184 0.16905409097671509 0.812386155128479 +1.3259754180908203 0.20271533727645874 0.7431405782699585 +1.129766583442688 0.26461637020111084 0.75745934247970581 +0.94388413429260254 0.49586778879165649 0.60553300380706787 +0.9674878716468811 0.64870023727416992 0.4501398503780365 +0.87897264957427979 0.60265052318572998 0.52752435207366943 +1.0751817226409912 0.54074949026107788 0.51320558786392212 +0.99214553833007812 0.75188356637954712 0.34195303916931152 +1.0349804162979126 0.87707287073135376 0.20584289729595184 +0.93650722503662109 0.84341156482696533 0.27508848905563354 +1.1046862602233887 0.79035359621047974 0.26281526684761047 +0.93576979637145996 0.71418803930282593 0.39926087856292725 +0.7536284327507019 0.78089779615402222 0.40368738770484924 +0.78123694658279419 0.69821274280548096 0.47259747982025146 +0.81000417470932007 0.81859332323074341 0.34637954831123352 +1.047889232635498 0.67881608009338379 0.39107871055603027 +1.2440981864929199 0.61691498756408691 0.37676000595092773 +1.1743922233581543 0.70363432168960571 0.31978762149810791 +1.1408305168151855 0.56319034099578857 0.46704190969467163 +0.9247058629989624 0.41561406850814819 0.68967831134796143 +0.88634955883026123 0.25510668754577637 0.85796892642974854 +1.0176471471786499 0.29998838901519775 0.76564145088195801 +0.79340827465057373 0.37073236703872681 0.78200578689575195 +0.85241878032684326 0.16717803478240967 0.95501160621643066 +0.83360952138900757 0.034408986568450928 1.089368462562561 +0.93208271265029907 0.068070292472839355 1.0201228857040405 +0.76390361785888672 0.12112826108932495 1.0323960781097412 +0.93282014131546021 0.19729381799697876 0.89595049619674683 +1.1290290355682373 0.13539278507232666 0.88163173198699951 +1.0641176700592041 0.24217551946640015 0.80362308025360107 +1.0305559635162354 0.10173153877258301 0.95087730884552002 +0.82070076465606689 0.23266583681106567 0.90413260459899902 +0.6196972131729126 0.27450340986251831 0.93948769569396973 +0.66616785526275635 0.2166905403137207 0.97746926546096802 +0.72775948047637939 0.34829151630401611 0.82816946506500244 +-1.5387426614761353 -0.24565732479095459 -0.50247311592102051 +-1.4363393783569336 -0.24887996912002563 -0.3584134578704834 +-1.5231125354766846 -0.16162359714508057 -0.43939569592475891 +-1.486103892326355 -0.33183950185775757 -0.46951067447662354 +-1.3680704832077026 -0.25102841854095459 -0.26237359642982483 +-1.2315329313278198 -0.2553253173828125 -0.070294082164764404 +-1.3244740962982178 -0.13969963788986206 -0.14625722169876099 +-1.2751293182373047 -0.36665409803390503 -0.18641045689582825 +-1.4145411252975464 -0.19321554899215698 -0.30035519599914551 +-1.4577178955078125 0.0053696632385253906 -0.26522108912467957 +-1.490415096282959 -0.078126966953277588 -0.35230839252471924 +-1.3709447383880615 -0.081886768341064453 -0.18423882126808167 +-1.3898687362670898 -0.30669283866882324 -0.32043185830116272 +-1.3466920852661133 -0.50527811050415039 -0.35556593537330627 +-1.2969275712966919 -0.42231851816177368 -0.24446871876716614 +-1.4163979291915894 -0.41855880618095398 -0.4125383198261261 +-1.1632640361785889 -0.25747376680374146 0.025745734572410583 +-1.0391225814819336 -0.24930541217327118 0.20625640451908112 +-1.1134995222091675 -0.17451420426368713 0.1368429958820343 +-1.0703228712081909 -0.37309947609901428 0.10170890390872955 +-0.94139039516448975 -0.26445615291595459 0.33787503838539124 +-0.82191997766494751 -0.26821592450141907 0.50594460964202881 +-0.90869307518005371 -0.18095953762531281 0.4249623715877533 +-0.8716844916343689 -0.35117542743682861 0.39484739303588867 +-1.0049282312393188 -0.20610621571540833 0.27588349580764771 +-1.03814697265625 -0.019909441471099854 0.31915652751922607 +-1.086970329284668 -0.062648296356201172 0.22894947230815887 +-0.98456716537475586 -0.065870940685272217 0.37300911545753479 +-0.98025578260421753 -0.3195834755897522 0.25580686330795288 +-0.92001187801361084 -0.51870578527450562 0.24468272924423218 +-0.89821368455886841 -0.46304139494895935 0.30274093151092529 +-1.0238522291183472 -0.4309123158454895 0.13969047367572784 +-1.2097346782684326 -0.19966089725494385 -0.012235850095748901 +-1.2590794563293457 0.027293652296066284 0.027917414903640747 +-1.3026759624481201 -0.084035217761993408 -0.088198989629745483 +-1.1661382913589478 -0.088332027196884155 0.10388055443763733 +-1.2799620628356934 0.15675181150436401 0.061152100563049316 +-1.3269286155700684 0.33935615420341492 0.083128184080123901 +-1.3596259355545044 0.25585955381393433 -0.0039591491222381592 +-1.2572226524353027 0.25263687968254089 0.14010053873062134 +-1.3055500984191895 0.085106521844863892 -0.010064184665679932 +-1.4250204563140869 0.088866293430328369 -0.1781337559223175 +-1.3491466045379639 -0.026222348213195801 -0.12618058919906616 +-1.3923232555389404 0.17236292362213135 -0.091046452522277832 +-1.237281322479248 0.082958042621612549 0.085975617170333862 +-1.1239789724349976 0.10756760835647583 0.25906440615653992 +-1.1704496145248413 0.16538047790527344 0.22108280658721924 +-1.1443400382995605 -0.032667636871337891 0.16193875670433044 +-1.1850622892379761 -0.31313818693161011 -0.032312497496604919 +-1.1319276094436646 -0.52411186695098877 -0.059307664632797241 +-1.1091881990432739 -0.4282267689704895 0.019640728831291199 +-1.2286586761474609 -0.42446696758270264 -0.14842887222766876 +-1.1002058982849121 -0.67001122236251831 -0.085120469331741333 +-1.0678683519363403 -0.85215520858764648 -0.12767647206783295 +-1.0351710319519043 -0.76865857839584351 -0.040589146316051483 +-1.1375741958618164 -0.76543593406677246 -0.18464884161949158 +-1.0892467498779297 -0.59790551662445068 -0.034484133124351501 +-0.97444748878479004 -0.61359339952468872 0.12114442139863968 +-1.0224151611328125 -0.51548314094543457 0.10062302649021149 +-0.98540651798248291 -0.68569904565811157 0.070508092641830444 +-1.1575156450271606 -0.5957571268081665 -0.13052396476268768 +-1.2769861221313477 -0.59199738502502441 -0.29859358072280884 +-1.207280158996582 -0.67871665954589844 -0.24162121117115021 +-1.2504569292068481 -0.48013138771057129 -0.20648713409900665 +-0.75365108251571655 -0.27036437392234802 0.60198450088500977 +-0.63418066501617432 -0.2741241455078125 0.77005410194396973 +-0.70388656854629517 -0.18740485608577728 0.7130817174911499 +-0.66687798500061035 -0.35762077569961548 0.68296670913696289 +-0.53644847869873047 -0.28927487134933472 0.90167272090911865 +-0.41230696439743042 -0.28110656142234802 1.0821833610534668 +-0.50524818897247314 -0.1654808521270752 1.0062202215194702 +-0.46207147836685181 -0.36406606435775757 0.97108614444732666 +-0.59531527757644653 -0.21899683773517609 0.85212224721908569 +-0.65555918216705322 -0.019874505698680878 0.8632463812828064 +-0.67735737562179565 -0.075538910925388336 0.80518823862075806 +-0.55171883106231689 -0.10766799747943878 0.96823865175247192 +-0.57064282894134521 -0.33247411251068115 0.83204561471939087 +-0.53742408752441406 -0.51867085695266724 0.7887725830078125 +-0.48860073089599609 -0.47593200206756592 0.87897962331771851 +-0.5910038948059082 -0.47270935773849487 0.73492002487182617 +-0.34403815865516663 -0.28325501084327698 1.1782232522964478 +-0.20750054717063904 -0.2875518798828125 1.3703027963638306 +-0.30044177174568176 -0.17192620038986206 1.294339656829834 +-0.2510969340801239 -0.39888069033622742 1.2541863918304443 +-0.13923168182373047 -0.28970032930374146 1.4663426876068115 +-0.036828398704528809 -0.2929229736328125 1.6104021072387695 +-0.089467167854309082 -0.20674079656600952 1.5774397850036621 +-0.052458584308624268 -0.37695670127868652 1.5473247766494751 +-0.18570229411125183 -0.23188745975494385 1.4283610582351685 +-0.22887903451919556 -0.033302217721939087 1.463495135307312 +-0.27864351868629456 -0.11626178026199341 1.3523979187011719 +-0.15917310118675232 -0.12002149224281311 1.5204675197601318 +-0.16102993488311768 -0.34536474943161011 1.4082844257354736 +-0.11785322427749634 -0.54394996166229248 1.3731502294540405 +-0.085155904293060303 -0.4604533314704895 1.4602375030517578 +-0.20462632179260254 -0.45669355988502502 1.2921679019927979 +-0.39050877094268799 -0.22544214129447937 1.1402416229248047 +-0.44364351034164429 -0.014468461275100708 1.1672368049621582 +-0.46638283133506775 -0.11035354435443878 1.088288426399231 +-0.34691238403320312 -0.11411333084106445 1.2563580274581909 +-0.47536516189575195 0.13143090903759003 1.1930495500564575 +-0.50770270824432373 0.31357491016387939 1.2356055974960327 +-0.54040002822875977 0.23007827997207642 1.1485182046890259 +-0.43799680471420288 0.22685562074184418 1.2925779819488525 +-0.4863242506980896 0.059325233101844788 1.1424132585525513 +-0.60112357139587402 0.075013101100921631 0.98678469657897949 +-0.55315595865249634 -0.02309715747833252 1.0073060989379883 +-0.59016454219818115 0.14711874723434448 1.0374209880828857 +-0.41805538535118103 0.057176798582077026 1.2384531497955322 +-0.29858493804931641 0.053417056798934937 1.4065227508544922 +-0.36829087138175964 0.14013634622097015 1.3495503664016724 +-0.32511413097381592 -0.058448910713195801 1.3144162893295288 +-0.36583635210990906 -0.33891943097114563 1.1201649904251099 +-0.31649157404899597 -0.56587398052215576 1.0800117254257202 +-0.27289512753486633 -0.45454511046409607 1.1961281299591064 +-0.4094327986240387 -0.45024827122688293 1.0040485858917236 +-0.29560902714729309 -0.6953321099281311 1.0467770099639893 +-0.2486424446105957 -0.87793648242950439 1.0248008966445923 +-0.21594512462615967 -0.79443985223770142 1.1118882894515991 +-0.31834834814071655 -0.79121720790863037 0.96782857179641724 +-0.27002096176147461 -0.62368679046630859 1.1179933547973633 +-0.15055054426193237 -0.62744659185409546 1.2860628366470337 +-0.22642451524734497 -0.51235795021057129 1.23410964012146 +-0.18324780464172363 -0.71094322204589844 1.1989755630493164 +-0.3382897675037384 -0.62153834104537964 1.0219534635543823 +-0.4515920877456665 -0.64614790678024292 0.84886467456817627 +-0.40512144565582275 -0.70396077632904053 0.88684630393981934 +-0.43123099207878113 -0.5059126615524292 0.94599032402038574 +-0.8001217246055603 -0.21255150437355042 0.5640028715133667 +-0.84329843521118164 -0.013966292142868042 0.59913694858551025 +-0.87599575519561768 -0.097462907433509827 0.51204967498779297 +-0.77359253168106079 -0.10068558156490326 0.65610933303833008 +-0.87034904956817627 0.14386115968227386 0.6373908519744873 +-0.92348378896713257 0.35483482480049133 0.66438603401184082 +-0.96708023548126221 0.24350598454475403 0.54826962947845459 +-0.8476097583770752 0.23974622786045074 0.71633923053741455 +-0.89593720436096191 0.072215870022773743 0.56617456674575806 +-1.0092394351959229 0.047606319189071655 0.39308580756187439 +-0.96276891231536865 -0.010206520557403564 0.43106737732887268 +-0.98887842893600464 0.18784157931804657 0.49021142721176147 +-0.82766836881637573 0.070067420601844788 0.66221433877944946 +-0.71286892890930176 0.05437958613038063 0.81784290075302124 +-0.76083660125732422 0.15248984098434448 0.79732155799865723 +-0.7238280177116394 -0.017726056277751923 0.76720660924911499 +-0.94815623760223389 0.46831211447715759 0.68446266651153564 +-0.99750101566314697 0.69526660442352295 0.72461593151092529 +-1.0410974025726318 0.58393776416778564 0.60849952697753906 +-0.90455985069274902 0.57964092493057251 0.80057907104492188 +-1.0221734046936035 0.80874389410018921 0.74469262361526489 +-1.0591820478439331 0.97895979881286621 0.77480745315551758 +-1.0980474948883057 0.92383253574371338 0.69273936748504639 +-0.995644211769104 0.92060989141464233 0.83679908514022827 +-1.0439716577529907 0.75307947397232056 0.686634361743927 +-1.1634421348571777 0.75683927536010742 0.51856470108032227 +-1.0875680446624756 0.64175069332122803 0.57051795721054077 +-1.1307446956634521 0.8403359055519104 0.6056520938873291 +-0.97570276260375977 0.7509310245513916 0.78267419338226318 +-0.85623234510421753 0.74717128276824951 0.95074379444122314 +-0.92593824863433838 0.83389055728912354 0.89377140998840332 +-0.88276159763336182 0.63530534505844116 0.85863733291625977 +-0.96995437145233154 0.41264769434928894 0.62640440464019775 +-1.0940958261489868 0.40447938442230225 0.445893794298172 +-1.0197188854217529 0.32968819141387939 0.51530718803405762 +-1.062895655632019 0.52827334403991699 0.55044126510620117 +-1.1818701028823853 0.40724164247512817 0.32241404056549072 +-1.2942312955856323 0.4228527843952179 0.17021545767784119 +-1.2245254516601562 0.33613350987434387 0.22718781232833862 +-1.2615339756011963 0.50634938478469849 0.25730279088020325 +-1.1282902956008911 0.36128014326095581 0.37626668810844421 +-1.09507155418396 0.17508339881896973 0.33299362659454346 +-1.046248197555542 0.21782225370407104 0.42320069670677185 +-1.1486513614654541 0.22104489803314209 0.27914106845855713 +-1.1529626846313477 0.47475740313529968 0.39634329080581665 +-1.1961393356323242 0.67334264516830444 0.43147739768028259 +-1.2288366556167603 0.58984601497650146 0.34439012408256531 +-1.1093661785125732 0.58608627319335938 0.51245969533920288 +-0.90168559551239014 0.41049924492835999 0.72244429588317871 +-0.76514792442321777 0.40620234608650208 0.91452383995056152 +-0.85808920860290527 0.5218280553817749 0.83856070041656494 +-0.80874431133270264 0.29487353563308716 0.79840743541717529 +-0.68448293209075928 0.39158874750137329 1.0221325159072876 +-0.57740867137908936 0.40029418468475342 1.1786333322525024 +-0.64711457490921021 0.48701345920562744 1.1216609477996826 +-0.61010599136352539 0.31679755449295044 1.0915459394454956 +-0.74334967136383057 0.46186676621437073 0.97258210182189941 +-0.78652644157409668 0.66045200824737549 1.007716178894043 +-0.83629095554351807 0.57749247550964355 0.89661896228790283 +-0.71682047843933105 0.57373273372650146 1.0646885633468628 +-0.7186773419380188 0.34838950634002686 0.95250540971755981 +-0.65843337774276733 0.14926716685295105 0.94138115644454956 +-0.6366351842880249 0.20493161678314209 0.99943941831588745 +-0.76227372884750366 0.23706068098545074 0.83638900518417358 +-0.77544933557510376 -0.32602879405021667 0.54392623901367188 +-0.73227262496948242 -0.52461397647857666 0.50879216194152832 +-0.69957530498504639 -0.44111740589141846 0.59587943553924561 +-0.80197852849960327 -0.43789470195770264 0.4518197774887085 +-0.70522201061248779 -0.68244147300720215 0.47053828835487366 +-0.65208727121353149 -0.89341515302658081 0.44354307651519775 +-0.60849082469940186 -0.78208625316619873 0.55965948104858398 +-0.72796130180358887 -0.77832651138305664 0.39158987998962402 +-0.67963385581970215 -0.61079621315002441 0.54175454378128052 +-0.56633156538009644 -0.58618664741516113 0.7148432731628418 +-0.61280214786529541 -0.52837377786636353 0.67686176300048828 +-0.58669263124465942 -0.72642189264297485 0.6177176833152771 +-0.74790269136428833 -0.60864770412445068 0.44571477174758911 +-0.8627021312713623 -0.59295988082885742 0.29008620977401733 +-0.81473445892333984 -0.69107019901275635 0.31060755252838135 +-0.85174304246902466 -0.52085423469543457 0.34072250127792358 +-0.62741482257843018 -1.0068924427032471 0.42346644401550293 +-0.57807004451751709 -1.23384690284729 0.38331320881843567 +-0.53447365760803223 -1.1225180625915527 0.49942958354949951 +-0.67101120948791504 -1.1182212829589844 0.30735006928443909 +-0.55339765548706055 -1.3473241329193115 0.36323654651641846 +-0.51638901233673096 -1.5175400972366333 0.33312162756919861 +-0.47752362489700317 -1.4624128341674805 0.41518977284431458 +-0.57992684841156006 -1.4591901302337646 0.27113008499145508 +-0.53159940242767334 -1.2916598320007324 0.42129480838775635 +-0.4121289849281311 -1.2954195737838745 0.58936440944671631 +-0.48800301551818848 -1.1803309917449951 0.53741121292114258 +-0.44482630491256714 -1.3789162635803223 0.50227707624435425 +-0.5998682975769043 -1.2895113229751587 0.32525494694709778 +-0.71933871507644653 -1.2857515811920166 0.15718534588813782 +-0.64963281154632568 -1.3724708557128906 0.21415773034095764 +-0.69280946254730225 -1.1738855838775635 0.2492918074131012 +-0.60561668872833252 -0.95122802257537842 0.48152467608451843 +-0.48147520422935486 -0.94305968284606934 0.66203534603118896 +-0.55585217475891113 -0.86826848983764648 0.59262192249298096 +-0.51267540454864502 -1.0668537616729736 0.5574878454208374 +-0.3937009871006012 -0.94582194089889526 0.78551506996154785 +-0.28133976459503174 -0.9614330530166626 0.937713623046875 +-0.35104566812515259 -0.87471377849578857 0.88074129819869995 +-0.31403708457946777 -1.0449297428131104 0.85062634944915771 +-0.44728079438209534 -0.8998604416847229 0.73166239261627197 +-0.48049953579902649 -0.71366369724273682 0.77493548393249512 +-0.52932286262512207 -0.75640255212783813 0.68472838401794434 +-0.42691969871520996 -0.75962519645690918 0.82878804206848145 +-0.42260837554931641 -1.0133377313613892 0.71158581972122192 +-0.37943166494369507 -1.2119228839874268 0.67645168304443359 +-0.34673440456390381 -1.1284263134002686 0.76353901624679565 +-0.46620482206344604 -1.1246665716171265 0.59546941518783569 +-0.67388546466827393 -0.94907957315444946 0.38548487424850464 +-0.81042313575744629 -0.94478261470794678 0.19340531527996063 +-0.71748185157775879 -1.060408353805542 0.26936846971511841 +-0.76682674884796143 -0.83345389366149902 0.30952167510986328 +-0.89108812808990479 -0.93016904592514038 0.085796624422073364 +-0.99816238880157471 -0.93887448310852051 -0.070704109966754913 +-0.92845648527145386 -1.0255937576293945 -0.01373174786567688 +-0.96546506881713867 -0.85537785291671753 0.016383221372961998 +-0.8322213888168335 -1.0004470348358154 0.13534705340862274 +-0.78904461860656738 -1.1990323066711426 0.10021299123764038 +-0.739280104637146 -1.1160727739334106 0.21131022274494171 +-0.85875058174133301 -1.1123130321502686 0.04324062168598175 +-0.85689371824264526 -0.88696980476379395 0.15542374551296234 +-0.91713768243789673 -0.68784743547439575 0.16654789447784424 +-0.93893587589263916 -0.7435118556022644 0.10848966240882874 +-0.8132973313331604 -0.77564102411270142 0.27154010534286499 +0.32186204195022583 0.27074575424194336 -1.2158404588699341 +1.2594916820526123 0.2412382960319519 0.10320591926574707 +1.1633011102676392 -0.16128414869308472 0.52524715662002563 +-0.037728846073150635 -1.234011173248291 0.36188369989395142 +-0.11673936247825623 -0.12100091576576233 -1.2754988670349121 +-0.38013964891433716 -1.2232353687286377 -0.11981585621833801 +0.72377055883407593 0.20036357641220093 -0.67850559949874878 +0.88286131620407104 0.19535696506500244 -0.4546985924243927 +0.68714118003845215 -0.62366074323654175 0.40403416752815247 +0.48335841298103333 -0.80567389726638794 0.37631574273109436 +-0.16137658059597015 -0.58765953779220581 -0.81132179498672485 +-0.21334934234619141 -0.7837483286857605 -0.60380458831787109 +0.51489925384521484 0.25630629062652588 -0.94834411144256592 +0.21346095204353333 0.30277261137962341 -1.3544274568557739 +1.0701167583465576 0.23883345723152161 -0.16727058589458466 +1.3553637266159058 0.26683661341667175 0.25198802351951599 +0.92163574695587158 -0.38250574469566345 0.48419803380966187 +1.2829961776733398 -0.035995721817016602 0.56950497627258301 +0.21044564247131348 -1.0177211761474609 0.38746234774589539 +-0.17969167232513428 -1.3424282073974609 0.37055101990699768 +-0.11651483178138733 0.0080472826957702637 -1.3993105888366699 +-0.16213186085224152 -0.34839925169944763 -1.0404335260391235 +-0.2862250804901123 -1.0017054080963135 -0.36747244000434875 +-0.43729981780052185 -1.3343212604522705 0.0081509053707122803 +0.43554228544235229 0.25220012664794922 -1.06319260597229 +1.1612615585327148 0.22892135381698608 -0.042473137378692627 +1.0277068614959717 -0.29200753569602966 0.49216952919960022 +0.10951328277587891 -1.1121127605438232 0.36727732419967651 +-0.13286320865154266 -0.25548407435417175 -1.1405068635940552 +-0.33423405885696411 -1.0981478691101074 -0.2569812536239624 +0.11645561456680298 0.29456794261932373 -1.4963657855987549 +0.31183308362960815 0.22307547926902771 -1.2532756328582764 +1.2905306816101074 0.19227558374404907 0.1235446035861969 +1.4572980403900146 0.25237125158309937 0.38991555571556091 +1.4147891998291016 0.074487447738647461 0.57642507553100586 +1.208274245262146 -0.15193754434585571 0.48444902896881104 +-0.30272454023361206 -1.4595487117767334 0.34280985593795776 +-0.045360445976257324 -1.2716495990753174 0.31393030285835266 +-0.45404362678527832 -1.4547865390777588 0.12993592023849487 +-0.33816969394683838 -1.2624349594116211 -0.097990334033966064 +-0.063232600688934326 -0.11192286014556885 -1.3042919635772705 +-0.077372252941131592 0.12144619226455688 -1.5227302312850952 +-0.30952394008636475 -0.86860722303390503 -0.48633527755737305 +0.61711347103118896 0.27466124296188354 -0.79406404495239258 +0.94606143236160278 0.27638423442840576 -0.32543399930000305 +0.77626490592956543 -0.49849110841751099 0.48551517724990845 +0.346824049949646 -0.87429982423782349 0.43890854716300964 +-0.22838559746742249 -0.47501367330551147 -0.8941643238067627 +0.61290103197097778 0.18196657299995422 -0.84511458873748779 +1.0089180469512939 0.18044683337211609 -0.28268307447433472 +0.84380918741226196 -0.4977869987487793 0.40394625067710876 +0.3292161226272583 -0.95037841796875 0.34465047717094421 +-0.12303169071674347 -0.45479279756546021 -0.95310699939727783 +-0.23529575765132904 -0.93492436408996582 -0.45062175393104553 +0.66215270757675171 0.13377659022808075 -0.79850035905838013 +0.98075699806213379 0.080958902835845947 -0.3710930347442627 +0.8119475245475769 -0.55620265007019043 0.35401296615600586 +0.43248945474624634 -0.92260962724685669 0.26056283712387085 +-0.037259325385093689 -0.54523229598999023 -0.89860010147094727 +-0.1667008101940155 -0.89532619714736938 -0.51434159278869629 +0.21832302212715149 0.23325073719024658 -1.3813087940216064 +0.51752841472625732 0.17477960884571075 -0.98423653841018677 +1.1153110265731812 0.1515648365020752 -0.14542290568351746 +1.3854436874389648 0.18543654680252075 0.25519448518753052 +1.3232111930847168 -0.044633567333221436 0.50715380907058716 +0.97279524803161621 -0.38912433385848999 0.41152980923652649 +-0.16592544317245483 -1.3746895790100098 0.30460226535797119 +0.21003007888793945 -1.073232889175415 0.30347472429275513 +-0.37118908762931824 -1.3682297468185425 0.01583978533744812 +-0.24135075509548187 -1.0445183515548706 -0.34327304363250732 +-0.069311857223510742 -0.34430715441703796 -1.0792065858840942 +-0.032974213361740112 -0.0025478899478912354 -1.4205179214477539 +0.38144800066947937 0.21491003036499023 -1.158246636390686 +1.2342463731765747 0.20021021366119385 0.04736056923866272 +1.123103141784668 -0.23184770345687866 0.46702271699905396 +0.044459998607635498 -1.1952621936798096 0.32030627131462097 +-0.31303697824478149 -1.184011697769165 -0.18261632323265076 +-0.076477587223052979 -0.19409653544425964 -1.2205334901809692 +0.3016338050365448 0.17497032880783081 -1.2911646366119385 +1.3219327926635742 0.14286124706268311 0.14418011903762817 +1.2537603378295898 -0.14241558313369751 0.44329029321670532 +-0.053162455558776855 -1.3097231388092041 0.26552334427833557 +-0.0092129409313201904 -0.10266947746276855 -1.3334457874298096 +-0.29583683609962463 -1.3020861148834229 -0.075868040323257446 +0.565513014793396 0.14289312064647675 -0.93149870634078979 +1.0598905086517334 0.11703336238861084 -0.24102200567722321 +0.93166792392730713 -0.4453694224357605 0.37623697519302368 +0.30530622601509094 -1.0114353895187378 0.28096789121627808 +-0.051023155450820923 -0.43017798662185669 -1.0037428140640259 +-0.19951927661895752 -1.0054610967636108 -0.39642578363418579 +0.65434837341308594 0.038842838257551193 -0.85574746131896973 +1.0252326726913452 0.035975754261016846 -0.3297116756439209 +0.88566744327545166 -0.55149340629577637 0.27098441123962402 +0.40469902753829956 -0.97542572021484375 0.2141716480255127 +0.015913177281618118 -0.51784402132034302 -0.94482296705245972 +-0.080058306455612183 -0.95886784791946411 -0.48594999313354492 +0.47295522689819336 0.14184382557868958 -1.063633918762207 +1.1603294610977173 0.095558643341064453 -0.10862825810909271 +1.052879810333252 -0.3396511971950531 0.38885045051574707 +0.15607050061225891 -1.1280530691146851 0.28605115413665771 +-0.046336814761161804 -0.29434043169021606 -1.1357392072677612 +-0.22182273864746094 -1.1165310144424438 -0.28156149387359619 +0.10702657699584961 0.22952079772949219 -1.5413950681686401 +0.62280583381652832 0.002415291965007782 -0.91831165552139282 +1.0718866586685181 -0.011717438697814941 -0.28654995560646057 +1.4953371286392212 0.18583029508590698 0.41166397929191589 +1.4706152677536011 0.082378208637237549 0.52013254165649414 +0.95112407207489014 -0.51706492900848389 0.24330244958400726 +-0.3077014684677124 -1.5059654712677002 0.27824681997299194 +0.37588679790496826 -1.0308511257171631 0.16505894064903259 +0.07216297835111618 -0.48940381407737732 -0.99320977926254272 +-0.005698084831237793 0.12883821129798889 -1.5567278861999512 +-0.3957042396068573 -1.5031960010528564 0.15444552898406982 +-0.053993463516235352 -1.0173226594924927 -0.43969157338142395 +0.61141449213027954 -0.048734035342931747 -0.95937550067901611 +0.45381805300712585 0.03414762020111084 -1.1432013511657715 +0.35765981674194336 0.11949816346168518 -1.2384564876556396 +0.031378865242004395 0.27900683879852295 -1.6249167919158936 +1.105830192565918 -0.064293414354324341 -0.26383739709854126 +1.2191362380981445 -0.018992811441421509 -0.080685019493103027 +1.2894226312637329 0.09017530083656311 0.072336494922637939 +1.5503602027893066 0.23120409250259399 0.51196849346160889 +1.0002003908157349 -0.50631576776504517 0.1996191143989563 +1.1498996019363403 -0.32255780696868896 0.29616469144821167 +1.2179539203643799 -0.20889508724212646 0.38590919971466064 +1.5359766483306885 0.17101383209228516 0.57507741451263428 +0.36689275503158569 -1.071968674659729 0.11347696185112 +0.21262302994728088 -1.1858841180801392 0.12883266806602478 +0.024439036846160889 -1.2749098539352417 0.22356791794300079 +-0.40971916913986206 -1.5668282508850098 0.31042495369911194 +-0.034206390380859375 0.22042793035507202 -1.6338375806808472 +0.031783118844032288 -0.17156597971916199 -1.2827820777893066 +0.11599387228488922 -0.31781274080276489 -1.1741825342178345 +0.12977282702922821 -0.47892320156097412 -1.0248881578445435 +-0.0091191232204437256 -1.0601354837417603 -0.41549217700958252 +-0.12611925601959229 -1.2008888721466064 -0.23661401867866516 +-0.22996905446052551 -1.2669035196304321 -0.13433033227920532 +-0.46092081069946289 -1.5652168989181519 0.23839512467384338 +0.52112579345703125 0.038368880748748779 -1.0454319715499878 +1.1592259407043457 0.01828765869140625 -0.14776009321212769 +1.0594394207000732 -0.39928236603736877 0.29005837440490723 +0.21989595890045166 -1.1387901306152344 0.19161733984947205 +0.053589507937431335 -0.34835678339004517 -1.1214677095413208 +-0.1131279468536377 -1.1181439161300659 -0.3208250105381012 +0.59302222728729248 -0.095700889825820923 -1.0083620548248291 +1.1502654552459717 -0.13199156522750854 -0.23355567455291748 +1.0555915832519531 -0.48738127946853638 0.16066849231719971 +0.31660842895507812 -1.1350352764129639 0.079004615545272827 +0.20413598418235779 -0.4645581841468811 -1.0665808916091919 +0.030090451240539551 -1.1089150905609131 -0.38344523310661316 +0.51434433460235596 -0.29661464691162109 -1.2179158926010132 +1.3127696514129639 -0.32174131274223328 -0.09470069408416748 +1.2925426959991455 -0.40638387203216553 -0.005953669548034668 +0.26982259750366211 -1.3198492527008057 -0.14506348967552185 +0.42211511731147766 -0.37899127602577209 -1.2304608821868896 +0.19782030582427979 -1.3175833225250244 -0.24635547399520874 +3 1902 2899 2906 +3 1966 2963 2970 +3 2094 3155 3162 +3 2158 3219 3226 +3 1982 2421 2428 +3 1854 3411 3418 +3 2286 3475 3482 +3 2046 2479 2486 +3 2350 2450 2457 +3 1768 1786 1107 +3 3622 1634 1611 +3 3602 3644 1046 +3 2169 1296 2501 +3 2501 1296 3513 +3 2174 2556 2563 +3 71 1751 3657 +3 3513 73 69 +3 1576 1589 3597 +3 3550 955 3555 +3 1708 1077 1729 +3 71 72 1729 +3 72 82 1708 +3 81 77 3624 +3 3513 1558 74 +3 1558 1576 3561 +3 75 3597 3610 +3 1647 1614 3624 +3 1661 1059 1674 +3 1674 1066 1708 +3 1774 1790 1109 +3 2238 2601 2608 +3 3630 1636 1619 +3 3604 3646 1050 +3 2302 2649 2656 +3 36 2616 2680 +3 3515 1563 40 +3 3515 39 37 +3 2680 1344 3515 +3 3599 3563 1580 +3 1580 1593 3599 +3 3593 1593 1580 +3 46 3653 1665 +3 1665 3633 1061 +3 49 1755 3659 +3 49 50 1735 +3 50 47 1712 +3 48 43 3632 +3 1563 1580 3563 +3 1649 1622 3632 +3 1685 1071 1712 +3 1686 1072 1715 +3 8 1756 3660 +3 3639 12 1650 +3 6 4 1686 +3 1667 1062 1686 +3 1715 1080 1736 +3 3564 16 1565 +3 3600 11 3564 +3 3516 14 15 +3 2709 1354 3516 +3 2709 15 1 +3 3516 15 2709 +3 1608 1038 1044 +3 1778 1794 1111 +3 1736 1090 1756 +3 3642 1639 1631 +3 10 3600 3616 +3 3607 3649 1056 +3 3516 1565 16 +3 111 338 556 +3 125 353 658 +3 143 402 783 +3 149 416 815 +3 145 464 792 +3 137 481 742 +3 105 328 509 +3 119 316 616 +3 129 392 684 +3 113 377 568 +3 121 451 630 +3 133 439 713 +3 104 13 499 +3 109 389 540 +3 108 347 527 +3 117 460 600 +3 116 324 587 +3 124 91 649 +3 127 44 669 +3 131 62 699 +3 135 78 729 +3 141 476 768 +3 140 411 756 +3 148 31 806 +3 212 346 559 +3 115 470 543 +3 103 7 493 +3 250 363 512 +3 107 421 523 +3 198 334 337 +3 123 84 643 +3 234 323 351 +3 292 410 784 +3 110 311 367 +3 128 50 678 +3 304 426 688 +3 139 433 752 +3 260 398 401 +3 147 18 800 +3 218 388 415 +3 296 475 794 +3 132 52 430 +3 118 358 604 +3 281 489 634 +3 142 370 772 +3 239 459 463 +3 136 72 736 +3 271 448 480 +3 103 326 495 +3 104 197 501 +3 105 204 514 +3 494 332 106 +3 107 349 529 +3 108 208 531 +3 109 210 545 +3 110 374 551 +3 111 216 560 +3 524 344 112 +3 113 223 574 +3 539 386 114 +3 115 313 589 +3 116 228 591 +3 117 231 605 +3 118 449 611 +3 119 238 621 +3 584 321 120 +3 121 245 636 +3 599 457 122 +3 123 364 646 +3 124 248 651 +3 125 254 661 +3 644 361 126 +3 127 257 670 +3 128 390 679 +3 129 266 690 +3 676 396 130 +3 131 269 700 +3 132 436 708 +3 133 276 719 +3 706 446 134 +3 135 278 730 +3 136 490 738 +3 137 285 744 +3 735 487 138 +3 139 413 758 +3 140 287 760 +3 141 289 773 +3 142 477 779 +3 143 295 785 +3 753 408 144 +3 145 299 795 +3 767 473 146 +3 147 427 803 +3 148 302 808 +3 149 308 818 +3 801 424 150 +3 540 538 563 +3 224 209 543 +3 560 510 215 +3 616 319 151 +3 152 213 554 +3 559 214 565 +3 164 478 584 +3 543 209 153 +3 509 331 154 +3 661 618 253 +3 650 155 493 +3 649 648 664 +3 160 5 494 +3 493 155 497 +3 156 252 656 +3 512 203 157 +3 556 342 158 +3 514 203 513 +3 341 196 523 +3 499 498 517 +3 152 428 524 +3 523 196 159 +3 160 200 507 +3 337 510 520 +3 658 359 161 +3 621 214 162 +3 356 230 643 +3 600 598 624 +3 156 87 644 +3 643 230 163 +3 164 236 614 +3 351 618 627 +3 768 766 788 +3 770 165 367 +3 785 686 294 +3 568 383 166 +3 167 293 781 +3 784 222 168 +3 178 317 539 +3 367 165 553 +3 684 395 169 +3 818 570 307 +3 807 170 678 +3 806 805 821 +3 175 48 676 +3 678 170 681 +3 171 306 813 +3 688 265 172 +3 783 406 173 +3 690 265 689 +3 405 256 752 +3 669 668 693 +3 167 442 753 +3 752 256 174 +3 175 262 682 +3 401 686 696 +3 815 422 176 +3 574 222 573 +3 419 207 800 +3 527 525 578 +3 171 27 801 +3 800 207 177 +3 178 220 566 +3 415 570 581 +3 756 754 798 +3 750 179 430 +3 795 632 298 +3 713 444 180 +3 181 297 790 +3 794 275 182 +3 192 66 706 +3 430 179 710 +3 630 455 183 +3 744 715 284 +3 727 184 604 +3 729 728 747 +3 189 365 599 +3 604 184 613 +3 185 283 740 +3 634 244 186 +3 792 471 187 +3 636 244 635 +3 467 227 772 +3 587 585 639 +3 181 380 767 +3 772 227 188 +3 189 241 628 +3 463 632 642 +3 742 485 190 +3 719 275 718 +3 484 268 736 +3 699 698 723 +3 185 81 735 +3 736 268 191 +3 192 273 711 +3 480 715 726 +3 8 9 650 +3 495 326 496 +3 194 652 193 +3 497 194 326 +3 507 200 350 +3 501 196 195 +3 503 196 501 +3 517 502 197 +3 198 199 518 +3 106 328 200 +3 202 659 201 +3 513 202 515 +3 516 203 514 +3 154 335 204 +3 339 562 505 +3 520 339 199 +3 522 420 341 +3 531 207 205 +3 529 349 530 +3 566 220 429 +3 343 562 206 +3 159 343 349 +3 533 207 531 +3 578 532 208 +3 554 213 318 +3 551 374 369 +3 545 209 309 +3 546 541 770 +3 548 209 545 +3 563 320 210 +3 371 775 211 +3 553 371 374 +3 212 310 564 +3 112 338 213 +3 558 214 559 +3 215 352 561 +3 340 510 560 +3 158 528 216 +3 217 622 550 +3 565 217 310 +3 218 219 579 +3 114 377 220 +3 376 816 221 +3 573 376 572 +3 576 222 574 +3 166 575 223 +3 417 820 535 +3 581 417 219 +3 583 469 224 +3 591 227 225 +3 589 313 547 +3 628 241 479 +3 590 622 226 +3 153 590 313 +3 593 227 591 +3 639 592 228 +3 614 236 366 +3 611 449 612 +3 605 230 229 +3 601 357 727 +3 607 230 605 +3 624 606 231 +3 233 731 232 +3 613 233 449 +3 234 235 625 +3 120 316 236 +3 619 659 237 +3 162 619 620 +3 314 214 621 +3 151 588 238 +3 354 663 609 +3 627 354 235 +3 239 240 640 +3 122 451 241 +3 243 793 242 +3 635 243 637 +3 638 244 636 +3 183 461 245 +3 465 797 595 +3 642 465 240 +3 83 70 356 +3 646 364 647 +3 360 663 246 +3 163 360 364 +3 656 252 336 +3 651 155 247 +3 330 155 651 +3 664 249 248 +3 250 251 665 +3 126 353 252 +3 327 203 512 +3 253 617 662 +3 355 618 661 +3 161 645 254 +3 666 652 655 +3 157 666 251 +3 670 256 255 +3 682 262 414 +3 672 256 670 +3 693 671 257 +3 679 390 680 +3 49 22 807 +3 259 809 258 +3 681 259 390 +3 260 261 694 +3 130 392 262 +3 264 816 263 +3 689 264 691 +3 692 265 690 +3 169 399 266 +3 403 787 674 +3 696 403 261 +3 700 268 267 +3 711 273 491 +3 702 268 700 +3 723 701 269 +3 708 436 432 +3 51 38 750 +3 434 762 270 +3 710 434 436 +3 271 272 724 +3 134 439 273 +3 438 793 274 +3 718 438 717 +3 721 275 719 +3 180 720 276 +3 482 746 704 +3 726 482 272 +3 730 184 277 +3 740 283 462 +3 453 184 730 +3 747 279 278 +3 738 490 739 +3 71 56 484 +3 486 746 280 +3 191 486 490 +3 281 282 748 +3 138 481 283 +3 450 244 634 +3 284 714 745 +3 483 715 744 +3 190 737 285 +3 749 731 734 +3 186 749 282 +3 761 431 405 +3 760 179 751 +3 758 413 759 +3 790 297 443 +3 407 787 286 +3 174 407 413 +3 435 179 760 +3 798 288 287 +3 781 293 382 +3 779 477 780 +3 773 165 769 +3 774 368 467 +3 373 165 773 +3 788 290 289 +3 472 797 291 +3 188 472 477 +3 292 384 789 +3 144 402 293 +3 378 222 784 +3 294 685 786 +3 404 686 785 +3 173 757 295 +3 379 775 777 +3 168 379 384 +3 296 445 799 +3 146 464 297 +3 440 275 794 +3 298 631 796 +3 466 632 795 +3 187 778 299 +3 441 762 764 +3 182 441 445 +3 17 2 419 +3 803 427 804 +3 423 820 300 +3 177 423 427 +3 813 306 400 +3 808 170 301 +3 394 170 808 +3 821 303 302 +3 304 305 822 +3 150 416 306 +3 391 265 688 +3 307 569 819 +3 418 570 818 +3 176 802 308 +3 823 809 812 +3 172 823 305 +3 545 210 548 +3 544 309 224 +3 550 310 217 +3 543 583 224 +3 311 372 109 +3 548 320 312 +3 115 325 470 +3 224 309 209 +3 559 561 558 +3 226 313 590 +3 201 515 202 +3 621 238 314 +3 345 338 111 +3 558 352 315 +3 234 316 322 +3 314 565 214 +3 540 389 555 +3 314 588 623 +3 317 385 152 +3 318 213 564 +3 109 372 389 +3 555 537 554 +3 112 342 556 +3 549 563 538 +3 547 319 321 +3 590 320 622 +3 164 456 478 +3 321 586 589 +3 119 323 322 +3 584 586 321 +3 324 325 115 +3 616 316 120 +3 514 204 516 +3 237 620 619 +3 193 326 194 +3 512 662 327 +3 198 328 333 +3 516 335 329 +3 362 353 125 +3 327 513 203 +3 493 8 650 +3 655 251 666 +3 492 24 247 +3 651 248 330 +3 103 6 7 +3 650 9 492 +3 94 95 124 +3 330 497 155 +3 496 331 332 +3 330 249 653 +3 160 12 5 +3 332 3 495 +3 105 334 333 +3 494 3 332 +3 4 6 103 +3 509 328 106 +3 649 91 657 +3 666 335 652 +3 90 92 156 +3 336 252 665 +3 124 95 91 +3 657 89 656 +3 126 359 658 +3 654 664 648 +3 520 199 337 +3 327 617 660 +3 504 199 505 +3 337 334 511 +3 212 338 345 +3 519 339 520 +3 333 328 105 +3 560 216 340 +3 195 15 501 +3 505 199 339 +3 500 195 341 +3 501 197 503 +3 107 348 421 +3 500 1 195 +3 14 16 104 +3 523 522 341 +3 530 342 344 +3 506 343 159 +3 152 385 428 +3 344 526 529 +3 111 346 345 +3 524 526 344 +3 347 348 107 +3 556 338 112 +3 499 13 508 +3 206 349 343 +3 10 12 160 +3 350 200 518 +3 104 16 13 +3 508 11 507 +3 106 331 509 +3 504 517 498 +3 627 235 351 +3 619 352 659 +3 608 235 609 +3 351 323 557 +3 250 353 362 +3 626 354 627 +3 322 316 119 +3 661 254 355 +3 229 601 605 +3 609 235 354 +3 602 229 356 +3 605 231 607 +3 123 88 84 +3 602 357 229 +3 358 454 117 +3 643 83 356 +3 647 359 361 +3 610 360 163 +3 156 92 87 +3 361 85 646 +3 125 363 362 +3 644 85 361 +3 86 88 123 +3 658 353 126 +3 600 460 615 +3 246 364 360 +3 365 456 164 +3 366 236 625 +3 117 454 460 +3 615 597 614 +3 120 319 616 +3 608 624 598 +3 553 374 367 +3 542 368 769 +3 166 369 211 +3 367 546 770 +3 370 468 141 +3 552 371 553 +3 110 372 311 +3 773 289 373 +3 573 572 574 +3 211 374 371 +3 307 375 221 +3 574 223 576 +3 409 402 143 +3 571 376 573 +3 218 377 387 +3 784 786 378 +3 768 476 782 +3 577 379 168 +3 380 381 167 +3 382 293 789 +3 141 468 476 +3 782 765 781 +3 144 406 783 +3 776 788 766 +3 369 383 386 +3 777 384 379 +3 178 385 317 +3 386 537 551 +3 113 388 387 +3 539 537 386 +3 389 372 110 +3 568 377 114 +3 690 266 692 +3 221 572 376 +3 258 390 259 +3 688 819 391 +3 260 392 397 +3 692 399 393 +3 425 416 149 +3 391 689 265 +3 678 49 807 +3 812 305 823 +3 677 19 301 +3 808 302 394 +3 128 47 50 +3 807 22 677 +3 33 34 148 +3 394 681 170 +3 680 395 396 +3 394 303 810 +3 175 43 48 +3 396 46 679 +3 129 398 397 +3 676 46 396 +3 45 47 128 +3 684 392 130 +3 806 31 814 +3 823 399 809 +3 30 32 171 +3 400 306 822 +3 148 34 31 +3 814 29 813 +3 150 422 815 +3 811 821 805 +3 696 261 401 +3 391 569 817 +3 673 261 674 +3 401 398 687 +3 292 402 409 +3 695 403 696 +3 397 392 129 +3 785 295 404 +3 255 37 670 +3 674 261 403 +3 667 255 405 +3 670 257 672 +3 139 412 433 +3 667 35 255 +3 39 40 127 +3 752 761 405 +3 759 406 408 +3 675 407 174 +3 167 381 442 +3 408 755 758 +3 143 410 409 +3 753 755 408 +3 411 412 139 +3 783 402 144 +3 669 44 683 +3 286 413 407 +3 41 43 175 +3 414 262 694 +3 127 40 44 +3 683 42 682 +3 130 395 684 +3 673 693 668 +3 581 219 415 +3 263 691 264 +3 534 219 535 +3 415 388 375 +3 304 416 425 +3 580 417 581 +3 387 377 113 +3 818 308 418 +3 205 522 531 +3 535 219 417 +3 521 205 419 +3 531 208 533 +3 147 28 18 +3 521 420 205 +3 421 348 108 +3 800 17 419 +3 804 422 424 +3 536 423 177 +3 171 32 27 +3 424 25 803 +3 149 426 425 +3 801 25 424 +3 26 28 147 +3 815 416 150 +3 527 347 567 +3 300 427 423 +3 428 385 178 +3 429 220 579 +3 108 348 347 +3 567 526 566 +3 114 383 568 +3 534 578 525 +3 710 436 430 +3 707 431 751 +3 180 432 270 +3 430 51 750 +3 433 412 140 +3 709 434 710 +3 132 65 52 +3 760 287 435 +3 718 717 719 +3 270 436 434 +3 284 437 274 +3 719 276 721 +3 474 464 145 +3 716 438 718 +3 271 439 447 +3 794 796 440 +3 756 411 791 +3 722 441 182 +3 442 381 181 +3 443 297 799 +3 140 412 411 +3 791 755 790 +3 146 471 792 +3 763 798 754 +3 432 444 446 +3 764 445 441 +3 192 61 66 +3 446 64 708 +3 133 448 447 +3 706 64 446 +3 63 65 132 +3 713 439 134 +3 636 245 638 +3 274 717 438 +3 232 449 233 +3 634 745 450 +3 239 451 458 +3 638 461 452 +3 488 481 137 +3 450 635 244 +3 604 601 727 +3 734 282 749 +3 603 67 277 +3 730 278 453 +3 118 454 358 +3 727 357 603 +3 73 74 135 +3 453 613 184 +3 612 455 457 +3 453 279 732 +3 189 456 365 +3 457 597 611 +3 121 459 458 +3 599 597 457 +3 460 454 118 +3 630 451 122 +3 729 78 741 +3 749 461 731 +3 75 77 185 +3 462 283 748 +3 135 74 78 +3 741 76 740 +3 138 485 742 +3 733 747 728 +3 642 240 463 +3 450 714 743 +3 594 240 595 +3 463 459 633 +3 296 464 474 +3 641 465 642 +3 458 451 121 +3 795 299 466 +3 225 583 591 +3 595 240 465 +3 582 225 467 +3 591 228 593 +3 142 468 370 +3 582 469 225 +3 470 325 116 +3 772 774 467 +3 780 471 473 +3 596 472 188 +3 181 381 380 +3 473 765 779 +3 145 475 474 +3 767 765 473 +3 476 468 142 +3 792 464 146 +3 587 324 629 +3 291 477 472 +3 478 456 189 +3 479 241 640 +3 116 325 324 +3 629 586 628 +3 122 455 630 +3 594 639 585 +3 726 272 480 +3 242 637 243 +3 703 272 704 +3 480 448 437 +3 281 481 488 +3 725 482 726 +3 447 439 133 +3 744 285 483 +3 267 55 700 +3 704 272 482 +3 697 267 484 +3 700 269 702 +3 136 82 72 +3 697 53 267 +3 57 58 131 +3 736 71 484 +3 739 485 487 +3 705 486 191 +3 185 77 81 +3 487 79 738 +3 137 489 488 +3 735 79 487 +3 80 82 136 +3 742 481 138 +3 699 62 712 +3 280 490 486 +3 59 61 192 +3 491 273 724 +3 131 58 62 +3 712 60 711 +3 134 444 713 +3 703 723 698 +3 9 23 492 +3 7 8 493 +3 497 326 493 +3 493 326 103 +3 106 200 494 +3 5 3 494 +3 332 331 106 +3 494 200 160 +3 193 335 154 +3 495 3 4 +3 154 496 193 +3 496 332 495 +3 247 93 651 +3 653 497 330 +3 496 326 193 +3 495 4 103 +3 508 13 11 +3 508 498 499 +3 517 197 499 +3 499 197 104 +3 195 1 15 +3 341 420 500 +3 195 196 341 +3 500 0 1 +3 197 502 503 +3 501 15 14 +3 502 562 343 +3 159 503 506 +3 504 498 350 +3 505 562 502 +3 503 502 506 +3 501 14 104 +3 518 199 504 +3 507 11 10 +3 333 334 198 +3 350 508 507 +3 154 204 509 +3 509 204 105 +3 350 498 508 +3 507 10 160 +3 201 352 215 +3 511 510 337 +3 215 511 201 +3 511 334 515 +3 157 251 512 +3 660 513 327 +3 511 515 201 +3 337 199 198 +3 204 335 516 +3 514 515 334 +3 654 251 655 +3 157 516 329 +3 331 496 154 +3 193 652 335 +3 513 515 514 +3 514 334 105 +3 505 517 504 +3 518 200 328 +3 340 528 519 +3 504 350 518 +3 520 510 340 +3 519 520 340 +3 505 502 517 +3 518 328 198 +3 420 0 500 +3 419 2 521 +3 421 522 523 +3 205 420 522 +3 159 349 523 +3 523 349 107 +3 205 207 419 +3 521 0 420 +3 112 213 524 +3 567 525 527 +3 428 526 524 +3 567 347 526 +3 344 342 112 +3 524 213 152 +3 578 208 527 +3 527 208 108 +3 206 528 158 +3 529 526 347 +3 158 530 206 +3 530 344 529 +3 196 503 159 +3 506 502 343 +3 530 349 206 +3 529 347 107 +3 208 532 533 +3 531 522 421 +3 532 820 423 +3 177 533 536 +3 534 525 429 +3 535 820 532 +3 533 532 536 +3 531 421 108 +3 555 389 537 +3 317 537 539 +3 555 538 540 +3 114 220 539 +3 563 210 540 +3 540 210 109 +3 386 383 114 +3 539 220 178 +3 309 541 546 +3 311 546 367 +3 224 469 544 +3 541 771 542 +3 153 313 543 +3 544 771 541 +3 770 541 542 +3 367 374 110 +3 210 320 548 +3 545 546 311 +3 151 547 226 +3 153 548 312 +3 549 538 318 +3 550 622 320 +3 309 546 545 +3 545 311 109 +3 211 575 166 +3 551 537 389 +3 373 290 552 +3 369 386 551 +3 553 165 373 +3 552 553 373 +3 369 374 211 +3 551 389 110 +3 564 310 549 +3 554 537 317 +3 345 346 212 +3 318 555 554 +3 158 216 556 +3 556 216 111 +3 318 538 555 +3 554 317 152 +3 561 352 558 +3 346 561 559 +3 253 557 237 +3 162 558 315 +3 510 511 215 +3 201 659 352 +3 565 310 559 +3 559 310 212 +3 216 528 340 +3 560 561 346 +3 562 339 528 +3 528 339 519 +3 342 530 158 +3 206 562 528 +3 215 561 560 +3 560 346 111 +3 550 563 549 +3 564 213 338 +3 549 310 550 +3 549 318 564 +3 162 620 621 +3 623 565 314 +3 550 320 563 +3 564 338 212 +3 579 219 534 +3 566 526 428 +3 387 388 218 +3 429 567 566 +3 166 223 568 +3 568 223 113 +3 429 525 567 +3 566 428 178 +3 221 569 307 +3 375 570 415 +3 378 685 571 +3 375 388 572 +3 573 222 378 +3 571 573 378 +3 375 572 221 +3 415 219 218 +3 223 575 576 +3 574 572 388 +3 575 775 379 +3 168 576 577 +3 383 369 166 +3 211 775 575 +3 576 575 577 +3 574 388 113 +3 535 578 534 +3 579 220 377 +3 418 802 580 +3 534 429 579 +3 581 570 418 +3 580 581 418 +3 535 532 578 +3 579 377 218 +3 469 771 544 +3 467 368 582 +3 470 583 543 +3 225 469 583 +3 544 541 309 +3 543 313 115 +3 225 227 467 +3 582 771 469 +3 120 236 584 +3 629 585 587 +3 478 586 584 +3 629 324 586 +3 321 319 120 +3 584 236 164 +3 639 228 587 +3 587 228 116 +3 226 588 151 +3 589 586 324 +3 312 590 153 +3 547 321 589 +3 153 209 548 +3 312 320 590 +3 547 313 226 +3 589 324 115 +3 228 592 593 +3 591 583 470 +3 592 797 472 +3 188 593 596 +3 594 585 479 +3 595 797 592 +3 593 592 596 +3 591 470 116 +3 615 460 597 +3 365 597 599 +3 615 598 600 +3 122 241 599 +3 624 231 600 +3 600 231 117 +3 457 455 122 +3 599 241 189 +3 229 357 601 +3 358 601 604 +3 356 70 602 +3 357 68 603 +3 229 230 356 +3 602 68 357 +3 613 449 604 +3 604 449 118 +3 231 606 607 +3 605 601 358 +3 606 663 360 +3 163 607 610 +3 608 598 366 +3 609 663 606 +3 607 606 610 +3 605 358 117 +3 232 461 183 +3 611 597 460 +3 183 612 232 +3 612 457 611 +3 277 69 730 +3 732 613 453 +3 612 449 232 +3 611 460 118 +3 625 235 608 +3 614 597 365 +3 322 323 234 +3 366 615 614 +3 151 238 616 +3 616 238 119 +3 366 598 615 +3 614 365 164 +3 237 617 253 +3 557 618 351 +3 315 619 162 +3 557 323 620 +3 162 214 558 +3 315 352 619 +3 557 620 237 +3 351 235 234 +3 238 588 314 +3 621 620 323 +3 588 622 217 +3 588 217 623 +3 319 547 151 +3 226 622 588 +3 623 217 565 +3 621 323 119 +3 609 624 608 +3 625 236 316 +3 355 645 626 +3 608 366 625 +3 627 618 355 +3 626 627 355 +3 609 606 624 +3 625 316 234 +3 640 240 594 +3 628 586 478 +3 458 459 239 +3 479 629 628 +3 183 245 630 +3 630 245 121 +3 479 585 629 +3 628 478 189 +3 242 631 298 +3 633 632 463 +3 298 633 242 +3 633 459 637 +3 186 282 634 +3 743 635 450 +3 633 637 242 +3 463 240 239 +3 245 461 638 +3 636 637 459 +3 733 282 734 +3 186 638 452 +3 455 612 183 +3 232 731 461 +3 635 637 636 +3 636 459 121 +3 595 639 594 +3 640 241 451 +3 466 778 641 +3 594 479 640 +3 642 632 466 +3 641 642 466 +3 595 592 639 +3 640 451 239 +3 70 68 602 +3 84 83 643 +3 163 364 643 +3 643 364 123 +3 126 252 644 +3 87 85 644 +3 361 359 126 +3 644 252 156 +3 246 645 161 +3 646 85 86 +3 161 647 246 +3 647 361 646 +3 230 607 163 +3 610 606 360 +3 647 364 246 +3 646 86 123 +3 657 91 89 +3 657 648 649 +3 664 248 649 +3 649 248 124 +3 247 24 93 +3 247 650 492 +3 247 155 650 +3 492 23 24 +3 248 249 330 +3 651 93 94 +3 249 652 194 +3 249 194 653 +3 654 648 336 +3 655 652 249 +3 653 194 497 +3 651 94 124 +3 665 251 654 +3 656 89 90 +3 362 363 250 +3 336 657 656 +3 161 254 658 +3 658 254 125 +3 336 648 657 +3 656 90 156 +3 662 617 327 +3 363 662 512 +3 617 659 202 +3 617 202 660 +3 618 557 253 +3 237 659 617 +3 660 202 513 +3 512 251 250 +3 254 645 355 +3 661 662 363 +3 663 354 645 +3 645 354 626 +3 359 647 161 +3 246 663 645 +3 253 662 661 +3 661 363 125 +3 655 664 654 +3 665 252 353 +3 329 666 157 +3 654 336 665 +3 157 203 516 +3 329 335 666 +3 655 249 664 +3 665 353 250 +3 405 431 667 +3 255 35 37 +3 255 256 405 +3 667 36 35 +3 683 668 669 +3 683 44 42 +3 693 257 669 +3 669 257 127 +3 257 671 672 +3 670 37 39 +3 671 787 407 +3 174 672 675 +3 673 668 414 +3 674 787 671 +3 672 671 675 +3 670 39 127 +3 48 46 676 +3 130 262 676 +3 396 395 130 +3 676 262 175 +3 50 49 678 +3 22 20 677 +3 681 390 678 +3 678 390 128 +3 258 399 169 +3 679 46 45 +3 169 680 258 +3 680 396 679 +3 301 21 808 +3 810 681 394 +3 680 390 258 +3 679 45 128 +3 694 261 673 +3 682 42 41 +3 397 398 260 +3 414 683 682 +3 169 266 684 +3 684 266 129 +3 414 668 683 +3 682 41 175 +3 263 685 294 +3 687 686 401 +3 294 687 263 +3 687 398 691 +3 172 305 688 +3 817 689 391 +3 687 691 263 +3 401 261 260 +3 266 399 692 +3 690 691 398 +3 811 305 812 +3 172 692 393 +3 395 680 169 +3 258 809 399 +3 689 691 690 +3 690 398 129 +3 674 693 673 +3 694 262 392 +3 404 757 695 +3 673 414 694 +3 696 686 404 +3 695 696 404 +3 674 671 693 +3 694 392 260 +3 484 56 697 +3 267 53 55 +3 267 268 484 +3 697 54 53 +3 712 698 699 +3 712 62 60 +3 723 269 699 +3 699 269 131 +3 269 701 702 +3 700 55 57 +3 701 746 486 +3 191 702 705 +3 703 698 491 +3 704 746 701 +3 702 701 705 +3 700 57 131 +3 66 64 706 +3 134 273 706 +3 446 444 134 +3 706 273 192 +3 52 51 430 +3 38 36 707 +3 750 38 707 +3 430 436 132 +3 270 720 180 +3 708 64 63 +3 435 288 709 +3 432 446 708 +3 710 179 435 +3 709 710 435 +3 432 436 270 +3 708 63 132 +3 724 272 703 +3 711 60 59 +3 447 448 271 +3 491 712 711 +3 180 276 713 +3 713 276 133 +3 491 698 712 +3 711 59 192 +3 274 714 284 +3 437 715 480 +3 440 631 716 +3 437 448 717 +3 718 275 440 +3 716 718 440 +3 437 717 274 +3 480 272 271 +3 276 720 721 +3 719 717 448 +3 720 762 441 +3 182 721 722 +3 444 432 180 +3 270 762 720 +3 721 720 722 +3 719 448 133 +3 704 723 703 +3 724 273 439 +3 483 737 725 +3 703 491 724 +3 726 715 483 +3 725 726 483 +3 704 701 723 +3 724 439 271 +3 277 727 603 +3 277 67 69 +3 277 184 727 +3 603 68 67 +3 741 728 729 +3 741 78 76 +3 747 278 729 +3 729 278 135 +3 278 279 453 +3 730 69 73 +3 279 731 233 +3 279 233 732 +3 733 728 462 +3 734 731 279 +3 732 233 613 +3 730 73 135 +3 81 79 735 +3 138 283 735 +3 487 485 138 +3 735 283 185 +3 72 71 736 +3 56 54 697 +3 191 490 736 +3 736 490 136 +3 280 737 190 +3 738 79 80 +3 190 739 280 +3 739 487 738 +3 268 702 191 +3 705 701 486 +3 739 490 280 +3 738 80 136 +3 748 282 733 +3 740 76 75 +3 488 489 281 +3 462 741 740 +3 190 285 742 +3 742 285 137 +3 462 728 741 +3 740 75 185 +3 745 714 450 +3 489 745 634 +3 714 793 243 +3 714 243 743 +3 715 437 284 +3 274 793 714 +3 743 243 635 +3 634 282 281 +3 285 737 483 +3 744 745 489 +3 746 482 737 +3 737 482 725 +3 485 739 190 +3 280 746 737 +3 284 745 744 +3 744 489 137 +3 734 747 733 +3 748 283 481 +3 452 749 186 +3 733 462 748 +3 186 244 638 +3 452 461 749 +3 734 279 747 +3 748 481 281 +3 431 36 667 +3 751 750 707 +3 433 761 752 +3 751 431 761 +3 174 413 752 +3 752 413 139 +3 179 750 751 +3 707 36 431 +3 144 293 753 +3 791 754 756 +3 442 755 753 +3 791 411 755 +3 408 406 144 +3 753 293 167 +3 798 287 756 +3 756 287 140 +3 286 757 173 +3 758 755 411 +3 173 759 286 +3 759 408 758 +3 256 672 174 +3 675 671 407 +3 759 413 286 +3 758 411 139 +3 287 288 435 +3 760 761 433 +3 762 434 288 +3 288 434 709 +3 763 754 443 +3 764 762 288 +3 751 761 760 +3 760 433 140 +3 782 476 765 +3 380 765 767 +3 782 766 768 +3 146 297 767 +3 788 289 768 +3 768 289 141 +3 473 471 146 +3 767 297 181 +3 769 368 774 +3 370 774 772 +3 769 770 542 +3 368 771 582 +3 165 770 769 +3 542 771 368 +3 188 477 772 +3 772 477 142 +3 289 290 373 +3 773 774 370 +3 775 371 290 +3 290 371 552 +3 776 766 382 +3 777 775 290 +3 769 774 773 +3 773 370 141 +3 291 778 187 +3 779 765 476 +3 187 780 291 +3 780 473 779 +3 227 593 188 +3 596 592 472 +3 780 477 291 +3 779 476 142 +3 789 384 776 +3 781 765 380 +3 409 410 292 +3 382 782 781 +3 173 295 783 +3 783 295 143 +3 382 766 782 +3 781 380 167 +3 786 685 378 +3 410 786 784 +3 816 376 685 +3 685 376 571 +3 686 687 294 +3 263 816 685 +3 168 384 784 +3 784 384 292 +3 295 757 404 +3 785 786 410 +3 787 403 757 +3 757 403 695 +3 406 759 173 +3 286 787 757 +3 294 786 785 +3 785 410 143 +3 777 788 776 +3 789 293 402 +3 776 384 777 +3 776 382 789 +3 222 576 168 +3 577 575 379 +3 777 290 788 +3 789 402 292 +3 799 445 763 +3 790 755 442 +3 474 475 296 +3 443 791 790 +3 187 299 792 +3 792 299 145 +3 443 754 791 +3 790 442 181 +3 796 631 440 +3 475 796 794 +3 793 438 631 +3 631 438 716 +3 632 633 298 +3 242 793 631 +3 182 445 794 +3 794 445 296 +3 299 778 466 +3 795 796 475 +3 797 465 778 +3 778 465 641 +3 471 780 187 +3 291 797 778 +3 298 796 795 +3 795 475 145 +3 764 798 763 +3 799 297 464 +3 763 445 764 +3 763 443 799 +3 275 721 182 +3 722 720 441 +3 764 288 798 +3 799 464 296 +3 2 0 521 +3 18 17 800 +3 177 427 800 +3 800 427 147 +3 150 306 801 +3 27 25 801 +3 424 422 150 +3 801 306 171 +3 300 802 176 +3 803 25 26 +3 176 804 300 +3 804 424 803 +3 207 533 177 +3 536 532 423 +3 804 427 300 +3 803 26 147 +3 814 31 29 +3 814 805 806 +3 821 302 806 +3 806 302 148 +3 301 19 21 +3 301 807 677 +3 301 170 807 +3 677 20 19 +3 302 303 394 +3 808 21 33 +3 303 809 259 +3 303 259 810 +3 811 805 400 +3 812 809 303 +3 810 259 681 +3 808 33 148 +3 822 305 811 +3 813 29 30 +3 425 426 304 +3 400 814 813 +3 176 308 815 +3 815 308 149 +3 400 805 814 +3 813 30 171 +3 819 569 391 +3 426 819 688 +3 569 816 264 +3 569 264 817 +3 570 375 307 +3 221 816 569 +3 817 264 689 +3 688 305 304 +3 308 802 418 +3 818 819 426 +3 820 417 802 +3 802 417 580 +3 422 804 176 +3 300 820 802 +3 307 819 818 +3 818 426 149 +3 812 821 811 +3 822 306 416 +3 393 823 172 +3 811 400 822 +3 172 265 692 +3 393 399 823 +3 812 303 821 +3 822 416 304 +3 1838 2835 2842 +3 2030 2787 2794 +3 1918 3091 3098 +3 2222 3043 3050 +3 2110 3347 3354 +3 2366 3299 3306 +3 1822 2915 2922 +3 1810 3283 3290 +3 1886 2771 2778 +3 1874 3171 3178 +3 1950 2851 2858 +3 1936 2721 2732 +3 2014 2979 2986 +3 2002 2572 2579 +3 2078 3027 3034 +3 2066 3427 3434 +3 2142 3107 3114 +3 2128 2499 2517 +3 2206 3235 3242 +3 2194 2665 2672 +3 2270 3363 3370 +3 2256 2692 2703 +3 2334 2405 2412 +3 2322 3491 3498 +3 2354 2389 2396 +3 1954 2376 2384 +3 2318 3529 2445 +3 2018 3519 2467 +3 2178 955 2503 +3 2146 2540 2547 +3 2050 2527 2535 +3 2210 3523 2589 +3 2274 2633 2640 +3 2242 2620 2628 +3 2306 968 2683 +3 1986 971 2712 +3 1906 2755 2762 +3 1998 2742 2750 +3 1806 2819 2826 +3 1970 2806 2814 +3 1870 2883 2890 +3 1842 2870 2878 +3 1934 2947 2954 +3 2034 2934 2942 +3 2098 3011 3018 +3 2190 2998 3006 +3 1890 3075 3082 +3 2162 3062 3070 +3 2062 3139 3146 +3 1922 3126 3134 +3 2126 3203 3210 +3 2226 3190 3198 +3 1858 3267 3274 +3 2338 3254 3262 +3 2082 3331 3338 +3 2290 3318 3326 +3 1826 3395 3402 +3 2114 3382 3390 +3 2254 3459 3466 +3 2370 3446 3454 +3 2177 2500 2510 +3 2257 1347 3509 +3 1937 1357 3510 +3 3585 1588 864 +3 860 1601 3581 +3 861 1602 3583 +3 3609 1646 1604 +3 1635 3625 1048 +3 3613 1648 1606 +3 1637 3633 1052 +3 3546 1582 3588 +3 3619 1651 1609 +3 1587 3596 3609 +3 1591 3598 3613 +3 1597 3601 3619 +3 1610 1694 3644 +3 1618 1696 3646 +3 1630 1699 3649 +3 1659 1058 3621 +3 1663 1060 3629 +3 1669 1063 3641 +3 1660 864 870 +3 1684 1071 1703 +3 1666 867 873 +3 869 1700 875 +3 3569 1029 1641 +3 871 1702 877 +3 1713 1079 1721 +3 3577 1032 1644 +3 874 1705 880 +3 1719 1077 1675 +3 882 888 1719 +3 878 1624 1643 +3 1643 1053 1683 +3 1764 1090 1714 +3 885 891 1722 +3 894 900 1750 +3 888 894 1761 +3 896 902 1754 +3 890 896 1763 +3 885 1054 1688 +3 891 897 1764 +3 1748 893 1760 +3 888 882 1676 +3 894 888 1676 +3 1752 895 1762 +3 890 1643 1683 +3 896 890 1683 +3 1757 1098 1764 +3 897 903 1757 +3 1110 1793 1779 +3 1106 1785 1767 +3 1109 1790 1769 +3 1108 1789 1773 +3 1111 1794 1775 +3 905 1785 1782 +3 1759 898 1765 +3 900 894 1728 +3 902 896 1734 +3 1782 1105 1757 +3 1726 1670 1083 +3 1783 1098 1105 +3 1732 1678 1087 +3 1771 1095 1101 +3 1741 1690 1093 +3 1777 1097 1103 +3 1802 2838 2846 +3 1799 3251 3258 +3 1818 2886 2894 +3 1815 3414 3422 +3 1834 2803 2810 +3 1831 2918 2926 +3 1850 3379 3386 +3 1847 3286 3294 +3 1866 2902 2910 +3 1863 3142 3150 +3 1882 2739 2746 +3 1879 3094 3102 +3 1898 2867 2874 +3 1895 2774 2782 +3 1914 3059 3066 +3 1911 3174 3182 +3 1930 2966 2974 +3 1927 3547 2718 +3 1946 2822 2830 +3 1943 2424 2432 +3 1962 2931 2938 +3 1959 2854 2862 +3 1978 2392 2400 +3 1975 2726 2734 +3 1994 2790 2798 +3 1991 2543 2551 +3 2010 2950 2958 +3 2007 2482 2490 +3 2026 2758 2766 +3 2023 2982 2990 +3 1287 2475 2476 +3 2039 2575 2583 +3 2058 3158 3166 +3 2055 3398 3406 +3 2074 2995 3002 +3 2071 3350 3358 +3 2090 3123 3130 +3 2087 3030 3038 +3 2106 3315 3322 +3 2103 3430 3438 +3 2122 3222 3230 +3 2119 3539 2496 +3 2138 3078 3086 +3 2135 2559 2567 +3 2154 3187 3194 +3 2151 3110 3118 +3 2170 2524 2531 +3 2167 2511 2519 +3 2186 3046 3054 +3 2183 2636 2644 +3 2202 3206 3214 +3 2199 2604 2612 +3 2218 3014 3022 +3 2215 3238 3246 +3 1323 2597 2598 +3 2231 2668 2676 +3 2250 3478 3486 +3 2247 3542 2689 +3 2266 3334 3342 +3 2263 2652 2660 +3 2282 3443 3450 +3 2279 3366 3374 +3 2298 2617 2624 +3 2295 2697 2705 +3 2314 2453 2461 +3 2311 3462 3470 +3 2330 2373 2380 +3 2327 3302 3310 +3 1274 2440 2441 +3 2343 2408 2416 +3 2362 3270 3278 +3 2359 3494 3502 +3 2335 1258 2380 +3 2380 1258 2330 +3 2345 1272 2437 +3 2407 1264 2353 +3 2326 1266 2412 +3 2412 1266 2334 +3 1972 1361 2729 +3 2422 2391 1981 +3 3528 1573 1273 +3 2310 1277 2445 +3 2340 2411 2455 +3 2457 1280 2350 +3 2011 1284 2467 +3 2047 952 3518 +3 2036 1315 2578 +3 2486 1290 2046 +3 2131 1294 2496 +3 2169 1302 2525 +3 955 3550 2503 +3 2123 1300 2515 +3 2517 1195 2130 +3 2175 1304 2531 +3 2525 2502 2169 +3 2139 1308 2547 +3 2547 1308 2146 +3 2164 2514 2561 +3 2557 2529 2173 +3 1995 1316 2579 +3 2579 1316 2002 +3 2203 1320 2589 +3 2239 962 3522 +3 2228 1341 2671 +3 2608 1326 2238 +3 2303 1330 2624 +3 2681 1344 2297 +3 2267 1334 2640 +3 2640 1334 2274 +3 2292 1351 2700 +3 2650 2622 2301 +3 2187 1342 2672 +3 2672 1342 2194 +3 3557 1563 3552 +3 3552 968 3557 +3 3525 969 3572 +3 2251 1352 2701 +3 2703 1227 2258 +3 3558 1565 3553 +3 3553 1565 1354 +3 3526 1564 1357 +3 1931 1362 2730 +3 2732 1147 1938 +3 1887 1366 2746 +3 2746 1366 1882 +3 1897 1396 2868 +3 2773 1372 1905 +3 1878 1374 2778 +3 2778 1374 1886 +3 2020 1425 2985 +3 2788 2757 2029 +3 1839 1382 2810 +3 2869 1396 1833 +3 1798 1386 2826 +3 2826 1386 1806 +3 1828 1409 2921 +3 2836 2808 1837 +3 1942 1394 2858 +3 2858 1394 1950 +3 1903 1398 2874 +3 2868 2760 1897 +3 1862 1402 2890 +3 2890 1402 1870 +3 1892 2777 2904 +3 2900 2872 1901 +3 1814 1410 2922 +3 2922 1410 1822 +3 1967 1414 2938 +3 2932 2805 1961 +3 1926 1418 2954 +3 2954 1418 1934 +3 1956 2857 2968 +3 2964 2936 1965 +3 2006 1426 2986 +3 2986 1426 2014 +3 2079 1430 3002 +3 3002 1430 2074 +3 2089 1460 3124 +3 3029 1436 2097 +3 2070 1438 3034 +3 3034 1438 2078 +3 2212 1489 3241 +3 3044 3013 2221 +3 1919 1446 3066 +3 3125 1460 1913 +3 1883 1450 3082 +3 3082 1450 1890 +3 1908 1473 3177 +3 3092 3064 1917 +3 2134 1458 3114 +3 3114 1458 2142 +3 2095 1462 3130 +3 3124 3016 2089 +3 2054 1466 3146 +3 3146 1466 2062 +3 2084 3033 3160 +3 3156 3128 2093 +3 1867 1474 3178 +3 3178 1474 1874 +3 2159 1478 3194 +3 3188 3061 2153 +3 2118 1482 3210 +3 3210 1482 2126 +3 2148 3113 3224 +3 3220 3192 2157 +3 2198 1490 3242 +3 3242 1490 2206 +3 1811 1494 3258 +3 3258 1494 1799 +3 1849 1524 3380 +3 3285 1500 1857 +3 1803 1502 3290 +3 3290 1502 1810 +3 2356 1553 3497 +3 3300 3269 2365 +3 2111 1510 3322 +3 3381 1524 2105 +3 2075 1514 3338 +3 3338 1514 2082 +3 2100 1537 3433 +3 3348 3320 2109 +3 2262 1522 3370 +3 3370 1522 2270 +3 1855 1526 3386 +3 3380 3272 1849 +3 1819 1530 3402 +3 3402 1530 1826 +3 1844 3289 3416 +3 3412 3384 1853 +3 2059 1538 3434 +3 3434 1538 2066 +3 2287 1542 3450 +3 3444 3317 2281 +3 2246 1546 3466 +3 3466 1546 2254 +3 2276 3369 3480 +3 3476 3448 2285 +3 2315 1554 3498 +3 3498 1554 2322 +3 3520 1569 3568 +3 2119 1292 3539 +3 2306 1345 3524 +3 3614 1053 1031 +3 1738 1787 1107 +3 1986 1355 3527 +3 1023 1035 3591 +3 2683 1346 2306 +3 2712 1356 1986 +3 1677 1067 3611 +3 969 3525 2689 +3 972 3526 2718 +3 1574 3554 3560 +3 1023 955 3520 +3 1578 3556 3562 +3 1025 968 3524 +3 1585 3559 3565 +3 1027 971 3527 +3 1041 1647 1605 +3 1037 1043 1607 +3 3576 1044 1038 +3 87 3609 3596 +3 1677 3627 1727 +3 3645 1614 1041 +3 66 3613 3598 +3 1683 1070 1734 +3 3647 1622 1043 +3 1689 1073 3617 +3 3648 1629 1044 +3 27 3619 3601 +3 92 1646 3609 +3 1641 1616 3569 +3 61 1648 3613 +3 3572 1562 3525 +3 1032 3617 1054 +3 32 1651 3619 +3 875 1612 869 +3 3620 1610 1646 +3 3584 1575 3537 +3 877 1620 871 +3 3628 1618 1648 +3 3586 1579 3541 +3 880 1632 874 +3 3640 1630 1651 +3 3589 1584 3545 +3 3650 1659 1694 +3 3652 1663 1696 +3 3655 1669 1699 +3 1048 3625 1695 +3 1052 3633 1697 +3 1698 1629 3648 +3 863 1586 3584 +3 1067 1728 1676 +3 865 1590 3586 +3 1053 1070 1683 +3 1073 1737 1688 +3 868 1596 3589 +3 1046 1598 3602 +3 1048 3645 3603 +3 1050 1600 3604 +3 3647 3605 1601 +3 3648 3606 1602 +3 1056 1603 3607 +3 1706 1065 1673 +3 1065 1700 1658 +3 1049 3611 1067 +3 1674 80 1661 +3 1710 1069 1681 +3 1069 1702 1662 +3 1071 1079 1712 +3 1070 1088 1734 +3 1054 3617 1073 +3 1686 4 1667 +3 1716 1075 1693 +3 1075 1705 1668 +3 1724 1076 1706 +3 1658 1058 1065 +3 1708 82 1674 +3 1730 1078 1710 +3 1662 1060 1069 +3 872 878 1703 +3 1080 1090 1736 +3 1739 1081 1716 +3 1668 1063 1075 +3 1066 1077 1708 +3 1061 1655 1664 +3 1072 1080 1715 +3 1700 1065 1672 +3 1749 1082 1724 +3 905 1786 1768 +3 1095 1771 1751 +3 1769 900 1728 +3 1702 1069 1680 +3 1753 1086 1730 +3 906 1790 1774 +3 1097 1777 1755 +3 1625 1348 3635 +3 1737 897 1688 +3 1080 1072 1687 +3 1705 1075 1692 +3 1758 1092 1739 +3 907 1794 1778 +3 1672 1065 1076 +3 1077 1085 1729 +3 1680 1069 1078 +3 1079 1089 1735 +3 1704 879 1687 +3 1692 1075 1081 +3 3656 24 1766 +3 1670 1064 1083 +3 1725 893 899 +3 3611 1617 1677 +3 1085 1077 1709 +3 3658 53 1772 +3 1678 1068 1087 +3 1731 895 901 +3 1682 1625 3635 +3 1089 1079 1713 +3 1782 1785 1106 +3 1781 903 1737 +3 3661 19 1780 +3 1690 1074 1093 +3 1740 898 904 +3 1707 1076 1082 +3 1719 888 1709 +3 1711 1078 1086 +3 1721 884 1713 +3 1098 1783 1756 +3 1717 1081 1092 +3 1766 1094 1749 +3 1707 1082 1760 +3 1751 71 1729 +3 1772 1096 1753 +3 1711 1086 1762 +3 1755 49 1735 +3 3660 9 8 +3 1717 1092 1765 +3 1780 1099 1758 +3 1742 1100 1766 +3 1767 899 1748 +3 1084 1067 1677 +3 1744 1102 1772 +3 1773 901 1752 +3 1088 1070 1682 +3 1104 1099 1780 +3 1779 904 1759 +3 1781 1737 1091 +3 1748 1094 1100 +3 1752 1096 1102 +3 1759 1099 1104 +3 1767 1100 1106 +3 1747 1105 1106 +3 1726 1083 1107 +3 1781 1091 1107 +3 1773 1102 1108 +3 1743 1101 1108 +3 1732 1087 1109 +3 1769 1084 1109 +3 1779 1104 1110 +3 1745 1103 1110 +3 1741 1093 1111 +3 1775 1088 1111 +3 2847 1391 1804 +3 1799 1494 3260 +3 2919 1409 1828 +3 3291 3259 1808 +3 1805 1388 2834 +3 2848 2841 1802 +3 1809 3255 3282 +3 3260 3252 1799 +3 2923 2895 1820 +3 3415 3287 1844 +3 2893 1402 1862 +3 3423 1535 1824 +3 1821 2882 2914 +3 2896 2889 1818 +3 1825 1532 3410 +3 3424 3417 1815 +3 2844 1122 1838 +3 2925 1410 1814 +3 1833 1396 2866 +3 2880 1123 1842 +3 1837 2807 2834 +3 2812 1121 1834 +3 2898 1404 1901 +3 2928 1120 1831 +3 3420 1126 1854 +3 3293 1502 1803 +3 1849 3271 3378 +3 3276 1127 1858 +3 1853 3383 3410 +3 3388 1125 1850 +3 1857 1500 3282 +3 3296 1124 1847 +3 2911 1407 1868 +3 3149 1466 2054 +3 2903 2775 1892 +3 3179 3151 1872 +3 1869 1404 2898 +3 2912 2905 1866 +3 1873 3138 3170 +3 3152 3145 1863 +3 2779 2747 1884 +3 3175 1473 1908 +3 1882 1366 2748 +3 3103 1455 1888 +3 1885 2743 2770 +3 2748 2740 1882 +3 1889 1452 3090 +3 3104 3097 1879 +3 2908 1138 1902 +3 2781 1374 1878 +3 1897 2759 2866 +3 2764 1139 1906 +3 1901 2871 2898 +3 2876 1137 1898 +3 1905 1372 2770 +3 2784 1136 1895 +3 3100 1142 1918 +3 3181 1474 1867 +3 1913 1460 3122 +3 3136 1143 1922 +3 1917 3063 3090 +3 3068 1141 1914 +3 3154 1468 2093 +3 3184 1140 1911 +3 2975 1423 1932 +3 3636 1626 1358 +3 2967 2855 1956 +3 2731 2719 1936 +3 1933 1420 2962 +3 2976 2969 1930 +3 1938 1147 2724 +3 2720 2717 1927 +3 2859 2831 1948 +3 2727 1361 1972 +3 2829 1386 1798 +3 2433 1271 1952 +3 1949 2818 2850 +3 2832 2825 1946 +3 2404 1264 2333 +3 2434 2427 1943 +3 2972 1154 1966 +3 2861 1394 1942 +3 1961 2802 2930 +3 2816 1155 1970 +3 1965 2935 2962 +3 2940 1153 1962 +3 2834 1388 1837 +3 2864 1152 1959 +3 2430 1158 1982 +3 2733 1362 1931 +3 2436 1272 2345 +3 2714 1159 1986 +3 1981 2388 2420 +3 2402 1157 1978 +3 3534 1572 1355 +3 2736 1156 1975 +3 2799 1379 1996 +3 2550 1308 2139 +3 2983 1425 2020 +3 2580 2552 2000 +3 2770 1372 1885 +3 2800 2793 1994 +3 2001 2539 2571 +3 2553 2546 1991 +3 2987 2959 2012 +3 2576 1315 2036 +3 2957 1418 1926 +3 2491 1291 2016 +3 2013 2946 2978 +3 2960 2953 2010 +3 2017 838 3506 +3 2492 2485 2007 +3 2796 1170 2030 +3 2989 1426 2006 +3 2866 1396 1897 +3 2944 1171 2034 +3 2029 2754 2786 +3 2768 1169 2026 +3 2962 1420 1965 +3 2992 1168 2023 +3 2488 1174 2046 +3 2582 1316 1995 +3 3512 88 1557 +3 2537 1175 2050 +3 2046 1174 2480 +3 2476 2474 1287 +3 2555 1310 2173 +3 2585 1172 2039 +3 3167 1471 2060 +3 3405 1530 1819 +3 3159 3031 2084 +3 3435 3407 2064 +3 2061 1468 3154 +3 3168 3161 2058 +3 2065 3394 3426 +3 3408 3401 2055 +3 3035 3003 2076 +3 3431 1537 2100 +3 2074 1430 3004 +3 3359 1519 2080 +3 2077 2999 3026 +3 3004 2996 2074 +3 2081 1516 3346 +3 3360 3353 2071 +3 3164 1186 2094 +3 3037 1438 2070 +3 2089 3015 3122 +3 3020 1187 2098 +3 2093 3127 3154 +3 3132 1185 2090 +3 2097 1436 3026 +3 3040 1184 2087 +3 3356 1190 2110 +3 3437 1538 2059 +3 2105 1524 3378 +3 3392 1191 2114 +3 2109 3319 3346 +3 3324 1189 2106 +3 3410 1532 1853 +3 3440 1188 2103 +3 3231 1487 2124 +3 2116 100 3627 +3 3223 3111 2148 +3 2516 2497 2128 +3 2125 1484 3218 +3 3232 3225 2122 +3 2130 1195 2509 +3 2498 2494 2119 +3 3115 3087 2140 +3 2560 2512 2164 +3 3085 1450 1883 +3 2568 1313 2144 +3 2141 3074 3106 +3 3088 3081 2138 +3 2145 1310 2555 +3 2569 2562 2135 +3 3228 1202 2158 +3 3117 1458 2134 +3 2153 3058 3186 +3 3072 1203 2162 +3 2157 3191 3218 +3 3196 1201 2154 +3 3090 1452 1917 +3 3120 1200 2151 +3 2565 1206 2174 +3 2518 1300 2123 +3 2169 2501 2523 +3 2505 1207 2178 +3 2173 2528 2555 +3 2533 1205 2170 +3 2177 839 3531 +3 2521 1204 2167 +3 3055 1443 2188 +3 2643 1334 2267 +3 3239 1489 2212 +3 2673 2645 2192 +3 3026 1436 2077 +3 3056 3049 2186 +3 2193 2632 2664 +3 2646 2639 2183 +3 3243 3215 2204 +3 2669 1341 2228 +3 3213 1482 2118 +3 2613 1327 2208 +3 2205 3202 3234 +3 3216 3209 2202 +3 2209 841 3508 +3 2614 2607 2199 +3 3052 1218 2222 +3 3245 1490 2198 +3 3122 1460 2089 +3 3200 1219 2226 +3 2221 3010 3042 +3 3024 1217 2218 +3 3218 1484 2157 +3 3248 1216 2215 +3 2610 1222 2238 +3 2675 1342 2187 +3 3514 65 1561 +3 2630 1223 2242 +3 2238 1222 2602 +3 2598 2596 1323 +3 2648 1336 2301 +3 2678 1220 2231 +3 3487 1551 2252 +3 3635 1733 1682 +3 3479 3367 2276 +3 2702 2690 2256 +3 2253 1548 3474 +3 3488 3481 2250 +3 2258 1227 2695 +3 2691 2688 2247 +3 3371 3343 2268 +3 2698 1351 2292 +3 3341 1514 2075 +3 2661 1339 2272 +3 2269 3330 3362 +3 3344 3337 2266 +3 2273 1336 2648 +3 2662 2655 2263 +3 3484 1234 2286 +3 3373 1522 2262 +3 2281 3314 3442 +3 3328 1235 2290 +3 2285 3447 3474 +3 3452 1233 2282 +3 3346 1516 2109 +3 3376 1232 2279 +3 2658 1238 2302 +3 2704 1352 2251 +3 2297 1344 2680 +3 2685 1239 2306 +3 2301 2621 2648 +3 2626 1237 2298 +3 3533 1571 1345 +3 2707 1236 2295 +3 2462 1281 2316 +3 3469 1546 2246 +3 2454 2409 2340 +3 3499 3471 2320 +3 3535 3607 3582 +3 2463 2456 2314 +3 2321 3458 3490 +3 3472 3465 2311 +3 2413 2381 2332 +3 3495 1553 2356 +3 2330 1258 2382 +3 3311 1507 2336 +3 2333 2377 2404 +3 2382 2374 2330 +3 3282 1500 1809 +3 3312 3305 2327 +3 2459 1250 2350 +3 2415 1266 2326 +3 2345 2393 2436 +3 2398 1251 2354 +3 2350 1250 2451 +3 2441 2439 1274 +3 2353 1264 2404 +3 2418 1248 2343 +3 3308 1254 2366 +3 3501 1554 2315 +3 3378 1524 1849 +3 3456 1255 2370 +3 2365 3266 3298 +3 3280 1253 2362 +3 3474 1548 2285 +3 3504 1252 2359 +3 2374 2372 1256 +3 2329 99 2372 +3 2383 1258 2335 +3 2333 1264 2406 +3 2332 1266 2413 +3 1258 2381 2382 +3 2386 2379 1954 +3 1952 1271 2435 +3 1983 1263 2400 +3 1260 2389 2390 +3 2394 2392 1261 +3 2347 1262 2396 +3 2347 1249 2399 +3 1262 2397 2398 +3 1980 919 2401 +3 1263 2401 2402 +3 2406 2378 2333 +3 2334 1266 2414 +3 2340 1279 2454 +3 1265 2409 2410 +3 2414 2406 2334 +3 2332 2383 2414 +3 2352 942 2417 +3 1267 2417 2418 +3 1955 1271 2432 +3 1268 2421 2422 +3 2426 2424 1269 +3 1974 1270 2428 +3 1974 1156 2431 +3 1270 2429 2430 +3 1952 2385 2433 +3 1271 2433 2434 +3 2437 2394 2345 +3 2 17 3517 +3 2442 1274 2351 +3 2348 942 2440 +3 2346 3548 2439 +3 2452 2449 2317 +3 2448 1277 2310 +3 2447 2443 2318 +3 2316 1281 2464 +3 2451 2449 1278 +3 2349 837 2449 +3 2455 2453 1279 +3 2342 1280 2457 +3 2342 1248 2460 +3 1280 2458 2459 +3 2316 2446 2462 +3 1281 2462 2463 +3 2470 1284 2011 +3 3537 1575 1556 +3 2469 2466 2018 +3 2016 1291 2493 +3 3644 3602 1040 +3 70 83 3512 +3 2472 70 3512 +3 2044 923 2475 +3 2042 3549 2474 +3 2480 2478 1288 +3 2045 838 2478 +3 2484 2482 1289 +3 2038 1290 2486 +3 2038 1172 2489 +3 1290 2487 2488 +3 2016 2468 2491 +3 1291 2491 2492 +3 2494 1192 2116 +3 2499 1294 2131 +3 2129 2507 2509 +3 2128 1300 2516 +3 1294 2497 2498 +3 2510 2507 2177 +3 2178 1207 2500 +3 2502 3550 1296 +3 2171 1297 2503 +3 2171 1205 2506 +3 1297 2504 2505 +3 2509 2507 1298 +3 2129 839 2507 +3 2164 1311 2560 +3 1299 2512 2513 +3 2517 2515 1300 +3 2130 2508 2515 +3 2176 931 2520 +3 1301 2520 2521 +3 2041 2473 2526 +3 1302 2524 2525 +3 2534 1304 2175 +3 2173 1310 2557 +3 2172 931 2532 +3 1304 2532 2533 +3 2043 1173 2538 +3 1305 2536 2537 +3 2558 1310 2145 +3 2146 1308 2549 +3 1991 1309 2553 +3 1307 2544 2545 +3 2549 2541 2146 +3 2144 1313 2570 +3 2000 1316 2580 +3 1309 2552 2553 +3 2147 1313 2567 +3 1310 2556 2557 +3 2561 2559 1311 +3 2166 1312 2563 +3 2166 1204 2566 +3 1312 2564 2565 +3 2144 2548 2568 +3 1313 2568 2569 +3 2573 2542 2001 +3 2002 1316 2581 +3 2036 2483 2576 +3 1315 2576 2577 +3 2581 2573 2002 +3 2000 2554 2581 +3 2048 923 2584 +3 1317 2584 2585 +3 2592 1320 2203 +3 3541 1579 1560 +3 2591 2588 2210 +3 2208 1327 2615 +3 3646 3604 1042 +3 38 51 3514 +3 2594 38 3514 +3 2236 935 2597 +3 2234 3551 2596 +3 2602 2600 1324 +3 2237 841 2600 +3 2606 2604 1325 +3 2230 1326 2608 +3 2230 1220 2611 +3 1326 2609 2610 +3 2208 2590 2613 +3 1327 2613 2614 +3 2233 2595 2619 +3 1328 2617 2618 +3 2627 1330 2303 +3 2301 1336 2650 +3 2300 939 2625 +3 1330 2625 2626 +3 2235 1221 2631 +3 1331 2629 2630 +3 2651 1336 2273 +3 2274 1334 2642 +3 2183 1335 2646 +3 1333 2637 2638 +3 2642 2634 2274 +3 2272 1339 2663 +3 2192 1342 2673 +3 1335 2645 2646 +3 2275 1339 2660 +3 1336 2649 2650 +3 2654 2652 1337 +3 2294 1338 2656 +3 2294 1236 2659 +3 1338 2657 2658 +3 2272 2641 2661 +3 1339 2661 2662 +3 2666 2635 2193 +3 2194 1342 2674 +3 2228 2605 2669 +3 1341 2669 2670 +3 2674 2666 2194 +3 2192 2647 2674 +3 2240 935 2677 +3 1343 2677 2678 +3 3515 35 2680 +3 1344 1563 3515 +3 3573 1025 3524 +3 3605 1043 3573 +3 2299 1237 2686 +3 1346 2684 2685 +3 1562 3509 1347 +3 3587 860 3543 +3 2244 102 3635 +3 2256 1352 2702 +3 1349 2690 2691 +3 2695 2693 1350 +3 2257 843 2693 +3 2292 2653 2698 +3 1351 2698 2699 +3 2703 2701 1352 +3 2258 2694 2701 +3 2304 939 2706 +3 1353 2706 2707 +3 1583 1595 3600 +3 1354 1565 3516 +3 3576 1027 3527 +3 1985 844 3534 +3 1979 1157 2715 +3 1356 2713 2714 +3 3546 3583 3510 +3 1939 1359 2718 +3 1738 1091 1689 +3 1936 1362 2731 +3 1359 2719 2720 +3 2724 2722 1360 +3 1937 844 2722 +3 1972 2425 2727 +3 1361 2727 2728 +3 2732 2730 1362 +3 1938 2723 2730 +3 1984 919 2735 +3 1363 2735 2736 +3 2740 2738 1364 +3 1881 96 2738 +3 2749 1366 1887 +3 1885 1372 2772 +3 1884 1374 2779 +3 1366 2747 2748 +3 2752 2745 1998 +3 1996 1379 2801 +3 2031 1371 2766 +3 1368 2755 2756 +3 2760 2758 1369 +3 1899 1370 2762 +3 1899 1137 2765 +3 1370 2763 2764 +3 2028 922 2767 +3 1371 2767 2768 +3 2772 2744 1885 +3 1886 1374 2780 +3 1892 1405 2903 +3 1373 2775 2776 +3 2780 2772 1886 +3 1884 2749 2780 +3 1904 914 2783 +3 1375 2783 2784 +3 1999 1379 2798 +3 1376 2787 2788 +3 2792 2790 1377 +3 2022 1378 2794 +3 2022 1168 2797 +3 1378 2795 2796 +3 1996 2751 2799 +3 1379 2799 2800 +3 1961 1412 2932 +3 1380 2803 2804 +3 2813 1382 1839 +3 1837 1388 2836 +3 1836 910 2811 +3 1382 2811 2812 +3 1963 1153 2817 +3 1383 2815 2816 +3 2837 1388 1805 +3 1806 1386 2828 +3 1946 1387 2832 +3 1385 2823 2824 +3 2828 2820 1806 +3 1804 1391 2849 +3 1948 1394 2859 +3 1387 2831 2832 +3 1807 1391 2846 +3 1388 2835 2836 +3 2840 2838 1389 +3 1830 1390 2842 +3 1830 1120 2845 +3 1390 2843 2844 +3 1804 2827 2847 +3 1391 2847 2848 +3 2852 2821 1949 +3 1950 1394 2860 +3 1956 1421 2967 +3 1393 2855 2856 +3 2860 2852 1950 +3 1948 2833 2860 +3 1968 918 2863 +3 1395 2863 2864 +3 1833 2804 2869 +3 1396 2867 2868 +3 2877 1398 1903 +3 1901 1404 2900 +3 1900 914 2875 +3 1398 2875 2876 +3 1835 1121 2881 +3 1399 2879 2880 +3 2901 1404 1869 +3 1870 1402 2892 +3 1818 1403 2896 +3 1401 2887 2888 +3 2892 2884 1870 +3 1868 1407 2913 +3 1820 1410 2923 +3 1403 2895 2896 +3 1871 1407 2910 +3 1404 2899 2900 +3 2904 2902 1405 +3 1894 1406 2906 +3 1894 1136 2909 +3 1406 2907 2908 +3 1868 2891 2911 +3 1407 2911 2912 +3 2916 2885 1821 +3 1822 1410 2924 +3 1828 2839 2919 +3 1409 2919 2920 +3 2924 2916 1822 +3 1820 2897 2924 +3 1840 910 2927 +3 1411 2927 2928 +3 2025 2761 2933 +3 1412 2931 2932 +3 2941 1414 1967 +3 1965 1420 2964 +3 1964 918 2939 +3 1414 2939 2940 +3 2027 1169 2945 +3 1415 2943 2944 +3 2965 1420 1933 +3 1934 1418 2956 +3 2010 1419 2960 +3 1417 2951 2952 +3 2956 2948 1934 +3 1932 1423 2977 +3 2012 1426 2987 +3 1419 2959 2960 +3 1935 1423 2974 +3 1420 2963 2964 +3 2968 2966 1421 +3 1958 1422 2970 +3 1958 1152 2973 +3 1422 2971 2972 +3 1932 2955 2975 +3 1423 2975 2976 +3 2980 2949 2013 +3 2014 1426 2988 +3 2020 2791 2983 +3 1425 2983 2984 +3 2988 2980 2014 +3 2012 2961 2988 +3 2032 922 2991 +3 1427 2991 2992 +3 2996 2994 1428 +3 2073 98 2994 +3 3005 1430 2079 +3 2077 1436 3028 +3 2076 1438 3035 +3 1430 3003 3004 +3 3008 3001 2190 +3 2188 1443 3057 +3 2223 1435 3022 +3 1432 3011 3012 +3 3016 3014 1433 +3 2091 1434 3018 +3 2091 1185 3021 +3 1434 3019 3020 +3 2220 934 3023 +3 1435 3023 3024 +3 3028 3000 2077 +3 2078 1438 3036 +3 2084 1469 3159 +3 1437 3031 3032 +3 3036 3028 2078 +3 2076 3005 3036 +3 2096 926 3039 +3 1439 3039 3040 +3 2191 1443 3054 +3 1440 3043 3044 +3 3048 3046 1441 +3 2214 1442 3050 +3 2214 1216 3053 +3 1442 3051 3052 +3 2188 3007 3055 +3 1443 3055 3056 +3 2153 1476 3188 +3 1444 3059 3060 +3 3069 1446 1919 +3 1917 1452 3092 +3 1916 915 3067 +3 1446 3067 3068 +3 2155 1201 3073 +3 1447 3071 3072 +3 3093 1452 1889 +3 1890 1450 3084 +3 2138 1451 3088 +3 1449 3079 3080 +3 3084 3076 1890 +3 1888 1455 3105 +3 2140 1458 3115 +3 1451 3087 3088 +3 1891 1455 3102 +3 1452 3091 3092 +3 3096 3094 1453 +3 1910 1454 3098 +3 1910 1140 3101 +3 1454 3099 3100 +3 1888 3083 3103 +3 1455 3103 3104 +3 3108 3077 2141 +3 2142 1458 3116 +3 2148 1485 3223 +3 1457 3111 3112 +3 3116 3108 2142 +3 2140 3089 3116 +3 2160 930 3119 +3 1459 3119 3120 +3 1913 3060 3125 +3 1460 3123 3124 +3 3133 1462 2095 +3 2093 1468 3156 +3 2092 926 3131 +3 1462 3131 3132 +3 1915 1141 3137 +3 1463 3135 3136 +3 3157 1468 2061 +3 2062 1466 3148 +3 1863 1467 3152 +3 1465 3143 3144 +3 3148 3140 2062 +3 2060 1471 3169 +3 1872 1474 3179 +3 1467 3151 3152 +3 2063 1471 3166 +3 1468 3155 3156 +3 3160 3158 1469 +3 2086 1470 3162 +3 2086 1184 3165 +3 1470 3163 3164 +3 2060 3147 3167 +3 1471 3167 3168 +3 3172 3141 1873 +3 1874 1474 3180 +3 1908 3095 3175 +3 1473 3175 3176 +3 3180 3172 1874 +3 1872 3153 3180 +3 1920 915 3183 +3 1475 3183 3184 +3 2217 3017 3189 +3 1476 3187 3188 +3 3197 1478 2159 +3 2157 1484 3220 +3 2156 930 3195 +3 1478 3195 3196 +3 2219 1217 3201 +3 1479 3199 3200 +3 3221 1484 2125 +3 2126 1482 3212 +3 2202 1483 3216 +3 1481 3207 3208 +3 3212 3204 2126 +3 2124 1487 3233 +3 2204 1490 3243 +3 1483 3215 3216 +3 2127 1487 3230 +3 1484 3219 3220 +3 3224 3222 1485 +3 2150 1486 3226 +3 2150 1200 3229 +3 1486 3227 3228 +3 2124 3211 3231 +3 1487 3231 3232 +3 3236 3205 2205 +3 2206 1490 3244 +3 2212 3047 3239 +3 1489 3239 3240 +3 3244 3236 2206 +3 2204 3217 3244 +3 2224 934 3247 +3 1491 3247 3248 +3 3252 3250 1492 +3 1796 99 3250 +3 3261 1494 1811 +3 1809 1500 3284 +3 1808 1502 3291 +3 1494 3259 3260 +3 3264 3257 2338 +3 2336 1507 3313 +3 2367 1499 3278 +3 1496 3267 3268 +3 3272 3270 1497 +3 1851 1498 3274 +3 1851 1125 3277 +3 1498 3275 3276 +3 2364 943 3279 +3 1499 3279 3280 +3 3284 3256 1809 +3 1810 1502 3292 +3 1844 1533 3415 +3 1501 3287 3288 +3 3292 3284 1810 +3 1808 3261 3292 +3 1856 911 3295 +3 1503 3295 3296 +3 2339 1507 3310 +3 1504 3299 3300 +3 3304 3302 1505 +3 2358 1506 3306 +3 2358 1252 3309 +3 1506 3307 3308 +3 2336 3263 3311 +3 1507 3311 3312 +3 2281 1540 3444 +3 1508 3315 3316 +3 3325 1510 2111 +3 2109 1516 3348 +3 2108 927 3323 +3 1510 3323 3324 +3 2283 1233 3329 +3 1511 3327 3328 +3 3349 1516 2081 +3 2082 1514 3340 +3 2266 1515 3344 +3 1513 3335 3336 +3 3340 3332 2082 +3 2080 1519 3361 +3 2268 1522 3371 +3 1515 3343 3344 +3 2083 1519 3358 +3 1516 3347 3348 +3 3352 3350 1517 +3 2102 1518 3354 +3 2102 1188 3357 +3 1518 3355 3356 +3 2080 3339 3359 +3 1519 3359 3360 +3 3364 3333 2269 +3 2270 1522 3372 +3 2276 1549 3479 +3 1521 3367 3368 +3 3372 3364 2270 +3 2268 3345 3372 +3 2288 938 3375 +3 1523 3375 3376 +3 2105 3316 3381 +3 1524 3379 3380 +3 3389 1526 1855 +3 1853 1532 3412 +3 1852 911 3387 +3 1526 3387 3388 +3 2107 1189 3393 +3 1527 3391 3392 +3 3413 1532 1825 +3 1826 1530 3404 +3 2055 1531 3408 +3 1529 3399 3400 +3 3404 3396 1826 +3 1824 1535 3425 +3 2064 1538 3435 +3 1531 3407 3408 +3 1827 1535 3422 +3 1532 3411 3412 +3 3416 3414 1533 +3 1846 1534 3418 +3 1846 1124 3421 +3 1534 3419 3420 +3 1824 3403 3423 +3 1535 3423 3424 +3 3428 3397 2065 +3 2066 1538 3436 +3 2100 3351 3431 +3 1537 3431 3432 +3 3436 3428 2066 +3 2064 3409 3436 +3 2112 927 3439 +3 1539 3439 3440 +3 2361 3273 3445 +3 1540 3443 3444 +3 3453 1542 2287 +3 2285 1548 3476 +3 2284 938 3451 +3 1542 3451 3452 +3 2363 1253 3457 +3 1543 3455 3456 +3 3477 1548 2253 +3 2254 1546 3468 +3 2311 1547 3472 +3 1545 3463 3464 +3 3468 3460 2254 +3 2252 1551 3489 +3 2320 1554 3499 +3 1547 3471 3472 +3 2255 1551 3486 +3 1548 3475 3476 +3 3480 3478 1549 +3 2278 1550 3482 +3 2278 1232 3485 +3 1550 3483 3484 +3 2252 3467 3487 +3 1551 3487 3488 +3 3492 3461 2321 +3 2322 1554 3500 +3 2356 3303 3495 +3 1553 3495 3496 +3 3500 3492 2322 +3 2320 3473 3500 +3 2368 943 3503 +3 1555 3503 3504 +3 3518 952 1022 +3 3622 1611 1652 +3 2119 1294 2498 +3 3522 962 1024 +3 3630 1619 1654 +3 3614 1031 3542 +3 3617 1032 3547 +3 3595 3575 1026 +3 3642 1631 1657 +3 1577 1559 3569 +3 2692 1349 2259 +3 2721 1359 1939 +3 3603 1041 3568 +3 2696 2693 2305 +3 2725 2722 1985 +3 951 2467 3519 +3 838 2045 3530 +3 1599 3603 1569 +3 1577 3538 1559 +3 3611 1029 3539 +3 961 2589 3523 +3 841 2237 3532 +3 2688 1224 2244 +3 1562 1347 3525 +3 3533 843 3581 +3 2717 1144 1924 +3 3526 972 3577 +3 3534 844 3583 +3 837 2349 3535 +3 949 2445 3529 +3 3536 951 1028 +3 1634 3622 857 +3 3590 1587 1034 +3 3560 3554 1557 +3 3561 74 1558 +3 3540 961 1030 +3 1636 3630 859 +3 3592 1591 1036 +3 3562 3556 1561 +3 1563 1344 3552 +3 3544 949 1033 +3 1639 3642 862 +3 3595 1597 1039 +3 3565 3559 1566 +3 3553 971 3558 +3 3561 78 74 +3 3563 44 40 +3 1977 2395 2710 +3 3520 955 2178 +3 3538 3579 3507 +3 1562 3572 1581 +3 1571 3524 1345 +3 1594 1627 873 +3 3606 1044 3576 +3 3596 1587 1574 +3 1028 951 3566 +3 876 870 1616 +3 3598 1591 1578 +3 1030 961 3570 +3 878 872 1624 +3 3588 861 3546 +3 1033 949 3574 +3 3601 1597 1585 +3 952 2474 3549 +3 962 2596 3551 +3 948 2439 3548 +3 1034 1604 1040 +3 3584 857 3622 +3 3591 1035 1589 +3 3586 859 3630 +3 1036 1606 1042 +3 3593 1037 1593 +3 1583 1565 3558 +3 1039 1609 1045 +3 3589 862 3642 +3 1599 1635 1048 +3 3585 858 3538 +3 3605 1571 3533 +3 3543 1562 1581 +3 1582 1564 3577 +3 3606 1572 3534 +3 1574 86 3596 +3 1599 858 1635 +3 1589 1605 3610 +3 1578 63 3598 +3 1601 860 1637 +3 1593 1607 3615 +3 1602 861 1638 +3 1595 1608 3616 +3 1585 26 3601 +3 3560 86 1574 +3 3597 76 3561 +3 3562 63 1578 +3 3599 42 3563 +3 3565 26 1585 +3 3558 1027 3594 +3 1646 1610 1040 +3 3624 77 1647 +3 870 864 1588 +3 1648 1618 1042 +3 872 866 1592 +3 1607 1649 3615 +3 5 12 3639 +3 1627 1644 879 +3 1651 1630 1045 +3 3531 839 3579 +3 1601 3605 3581 +3 3583 3546 861 +3 1694 1046 3644 +3 1695 81 1614 +3 1695 1614 3645 +3 1696 1050 3646 +3 1697 48 1622 +3 1697 1622 3647 +3 1602 1055 3648 +3 1650 3616 1608 +3 1699 1056 3649 +3 3555 1023 3591 +3 3557 1025 3593 +3 1583 3594 1595 +3 1616 1641 876 +3 1643 890 884 +3 1594 3577 1627 +3 3620 92 90 +3 1041 3603 3645 +3 3628 61 59 +3 1043 3605 3647 +3 1650 1044 1629 +3 3640 32 30 +3 91 1673 1659 +3 881 887 1640 +3 1727 1084 1677 +3 1615 1635 3626 +3 883 889 1642 +3 62 1681 1663 +3 3614 3542 1625 +3 1623 1637 3634 +3 1924 101 3636 +3 3637 867 1656 +3 31 1693 1669 +3 886 892 1645 +3 77 75 3610 +3 1593 1037 1607 +3 12 10 3616 +3 1615 3625 1635 +3 1637 860 3634 +3 1062 3638 1628 +3 1059 3625 1615 +3 1695 3625 1661 +3 1061 3633 1623 +3 46 48 3653 +3 1628 3638 1638 +3 1698 3638 1667 +3 3623 1613 1670 +3 1725 1064 1671 +3 1672 875 1700 +3 1617 1292 3627 +3 1661 3625 1059 +3 3631 1621 1678 +3 1731 1068 1679 +3 1680 877 1702 +3 1061 1071 1685 +3 1070 1053 3614 +3 1626 3636 1689 +3 1667 3638 1062 +3 3643 1633 1690 +3 1740 1074 1691 +3 1692 880 1705 +3 90 1610 3620 +3 3624 1614 81 +3 3645 1048 1695 +3 59 1618 3628 +3 3632 1622 48 +3 3647 1052 1697 +3 1650 1629 3639 +3 1044 3606 3648 +3 30 1630 3640 +3 1658 869 863 +3 1653 1615 3626 +3 1662 871 865 +3 1655 1623 3634 +3 1656 1628 3637 +3 1668 874 868 +3 3537 857 3584 +3 3541 859 3586 +3 3545 862 3589 +3 101 2009 3623 +3 1718 1076 1707 +3 1700 869 1658 +3 1640 1047 1612 +3 1673 1065 1058 +3 1059 1653 1660 +3 1641 1049 882 +3 1660 870 1701 +3 100 2201 3631 +3 1720 1078 1711 +3 1702 871 1662 +3 1642 1051 1620 +3 1681 1069 1060 +3 1712 47 1685 +3 1703 1664 872 +3 1685 45 1665 +3 1062 1656 1666 +3 1644 1054 885 +3 1666 873 1704 +3 1741 1795 102 +3 1723 1081 1717 +3 1705 874 1668 +3 1645 1057 1632 +3 1693 1075 1063 +3 89 1659 3650 +3 3650 90 89 +3 1695 1661 3651 +3 1661 80 3651 +3 1696 59 3652 +3 3652 60 1663 +3 1697 3633 3653 +3 3653 48 1697 +3 1698 1667 3654 +3 1667 4 3654 +3 29 1669 3655 +3 3655 30 29 +3 1675 1066 1701 +3 1664 866 872 +3 1687 1072 1704 +3 1672 881 875 +3 1611 3621 1058 +3 1680 883 877 +3 1619 3629 1060 +3 1692 886 880 +3 1631 3641 1063 +3 1673 91 95 +3 1760 893 887 +3 1749 1094 1082 +3 1748 899 893 +3 1671 893 1725 +3 1701 876 1675 +3 882 1049 1676 +3 1077 1066 1675 +3 1067 1084 1728 +3 100 1791 1727 +3 1681 62 58 +3 1762 895 889 +3 1753 1096 1086 +3 1752 901 895 +3 1679 895 1731 +3 1684 884 1721 +3 884 878 1643 +3 1079 1071 1684 +3 3614 1682 1070 +3 102 1795 1733 +3 101 1787 1738 +3 1073 1091 1737 +3 1736 7 1715 +3 1722 1080 1687 +3 1715 6 1686 +3 1693 31 34 +3 1765 898 892 +3 1758 1099 1092 +3 1759 904 898 +3 1691 898 1740 +3 1652 863 3622 +3 1663 60 62 +3 1657 868 3642 +3 1724 1082 1076 +3 876 882 1675 +3 1730 1086 1078 +3 878 884 1684 +3 879 885 1687 +3 1739 1092 1081 +3 1707 887 881 +3 1707 881 1718 +3 1709 888 1761 +3 1711 889 883 +3 1711 883 1720 +3 1713 890 1763 +3 1722 891 1714 +3 1717 892 886 +3 1717 886 1723 +3 1706 95 94 +3 1671 1047 1640 +3 1766 24 1742 +3 1725 899 1768 +3 1767 905 899 +3 1726 1787 101 +3 1769 1728 1084 +3 1728 894 1676 +3 1729 72 1708 +3 1710 58 57 +3 1679 1051 1642 +3 1772 53 1744 +3 1731 901 1774 +3 1773 906 901 +3 1732 1791 100 +3 1775 1734 1088 +3 1734 896 1683 +3 1735 50 1712 +3 1764 1098 1090 +3 3617 1626 1689 +3 1091 1073 1689 +3 1716 34 33 +3 1691 1057 1645 +3 1780 1746 1104 +3 1740 904 1778 +3 1765 1099 1759 +3 1111 1795 1741 +3 1742 1784 1106 +3 1771 1101 1743 +3 1744 1788 1108 +3 1777 1103 1745 +3 1746 1792 1110 +3 1783 1105 1747 +3 3651 81 1695 +3 1712 1079 1735 +3 3654 5 1698 +3 1082 1094 1760 +3 1064 1047 1671 +3 1709 1077 1719 +3 906 1789 1770 +3 1086 1096 1762 +3 1068 1051 1679 +3 884 890 1713 +3 907 1793 1776 +3 897 891 1688 +3 1714 1080 1722 +3 1092 1099 1765 +3 1074 1057 1691 +3 1640 875 881 +3 1718 881 1672 +3 1761 894 1750 +3 1642 877 883 +3 1720 883 1680 +3 1763 896 1754 +3 1090 1080 1714 +3 1645 880 886 +3 1723 886 1692 +3 1760 887 1707 +3 1671 887 893 +3 1766 1749 3656 +3 1724 93 1749 +3 3657 56 71 +3 1750 1095 1761 +3 1743 56 1771 +3 1743 54 56 +3 1770 1789 1108 +3 1762 889 1711 +3 1679 889 895 +3 1772 1753 3658 +3 1730 55 1753 +3 3659 22 49 +3 1754 1097 1763 +3 1745 22 1777 +3 1745 20 22 +3 1776 1793 1110 +3 1747 9 1783 +3 1688 1054 1073 +3 1756 8 1736 +3 1747 23 9 +3 1764 897 1757 +3 1780 1758 3661 +3 1779 907 904 +3 21 19 3661 +3 1739 21 1758 +3 1058 1659 1673 +3 82 80 1674 +3 1060 1663 1681 +3 47 45 1685 +3 1783 9 3660 +3 1063 1669 1693 +3 1706 94 1724 +3 3608 1047 1064 +3 1770 1101 1750 +3 1771 56 3657 +3 1085 1761 1095 +3 1710 57 1730 +3 3612 1051 1068 +3 1776 1103 1754 +3 1777 22 3659 +3 1089 1763 1097 +3 8 7 1736 +3 1714 891 1764 +3 903 897 1737 +3 1716 33 1739 +3 3618 1057 1074 +3 3656 1749 93 +3 1767 1785 905 +3 1083 1725 1768 +3 1768 899 905 +3 1742 23 1784 +3 1100 1094 1766 +3 3627 1292 2116 +3 1727 1791 1109 +3 1108 1788 1743 +3 1769 1790 906 +3 1750 900 1770 +3 1770 900 906 +3 3658 1753 55 +3 1773 1789 906 +3 1087 1731 1774 +3 1774 901 906 +3 1744 54 1788 +3 1102 1096 1772 +3 1733 3635 102 +3 1733 1795 1111 +3 1110 1792 1745 +3 1775 1794 907 +3 1754 902 1776 +3 1776 902 907 +3 1093 1740 1778 +3 1779 1793 907 +3 1778 904 907 +3 3661 1758 21 +3 1746 20 1792 +3 1780 19 1746 +3 3636 1358 1924 +3 1689 3636 1738 +3 1106 1784 1747 +3 1781 1786 905 +3 1757 903 1782 +3 1782 903 905 +3 1673 95 1706 +3 1729 1085 1751 +3 1681 58 1710 +3 1735 1089 1755 +3 7 6 1715 +3 1693 34 1716 +3 93 24 3656 +3 1761 1085 1709 +3 55 53 3658 +3 1763 1089 1713 +3 1781 905 903 +3 1765 892 1717 +3 1760 1094 1748 +3 1101 1095 1750 +3 1762 1096 1752 +3 1103 1097 1754 +3 1105 1098 1757 +3 1691 892 898 +3 1106 1100 1742 +3 1784 23 1747 +3 1748 1100 1767 +3 1106 1105 1782 +3 1107 1083 1768 +3 1107 1786 1781 +3 1107 1787 1726 +3 1107 1091 1738 +3 1108 1102 1744 +3 1788 54 1743 +3 1752 1102 1773 +3 1108 1101 1770 +3 1109 1087 1774 +3 906 900 1769 +3 1109 1791 1732 +3 1109 1084 1727 +3 1110 1104 1746 +3 1792 20 1745 +3 1759 1104 1779 +3 1110 1103 1776 +3 1111 1093 1778 +3 907 902 1775 +3 102 2308 3643 +3 1111 1088 1733 +3 1798 1385 2824 +3 3252 1112 1796 +3 1804 1386 2827 +3 3252 1492 1799 +3 979 2819 2830 +3 1797 2827 2829 +3 1006 3254 3258 +3 1796 3250 3252 +3 2841 1389 1802 +3 3259 1494 1808 +3 1828 1389 2839 +3 1803 1501 3288 +3 2842 2835 980 +3 1801 2839 2841 +3 1008 3283 3294 +3 1800 3291 3293 +3 2820 1384 1806 +3 1800 1113 2848 +3 846 2807 2850 +3 1807 1388 2837 +3 979 2822 2826 +3 1805 1384 2820 +3 1838 1122 2836 +3 1114 2828 2849 +3 3256 1115 3261 +3 1797 1112 3260 +3 853 3266 3282 +3 1811 1493 3256 +3 1008 3286 3290 +3 3256 1493 1809 +3 1006 3251 3262 +3 3284 1500 1810 +3 1814 1409 2920 +3 3287 1501 1844 +3 2895 1403 1820 +3 3417 1533 1815 +3 985 2915 2926 +3 1813 2923 2925 +3 3418 3411 1016 +3 1812 3415 3417 +3 2889 1401 1818 +3 1824 1530 3403 +3 2889 1117 1817 +3 1819 1529 3400 +3 2890 2883 983 +3 1817 2887 2889 +3 1015 3395 3406 +3 1816 3403 3405 +3 2885 1118 2897 +3 1816 1117 2896 +3 2898 2871 847 +3 1823 1400 2885 +3 985 2918 2922 +3 2885 1400 1821 +3 1870 1400 2883 +3 2916 1408 1822 +3 3396 1528 1826 +3 1813 1116 3424 +3 855 3383 3426 +3 1827 1532 3413 +3 1015 3398 3402 +3 1825 1528 3396 +3 1854 1126 3412 +3 1119 3404 3425 +3 2845 1390 1830 +3 1812 1116 2920 +3 2811 1382 1836 +3 2921 2918 1831 +3 980 2835 2846 +3 1829 2843 2845 +3 2922 2915 985 +3 1120 2840 2921 +3 2804 2803 1834 +3 2927 1411 1840 +3 824 2759 2930 +3 2881 1399 1835 +3 978 2806 2810 +3 1833 1380 2804 +3 1898 1137 2868 +3 1121 2812 2881 +3 2808 1122 2813 +3 1832 2879 2881 +3 846 2818 2834 +3 1839 1381 2808 +3 980 2838 2842 +3 2808 1381 1837 +3 978 2803 2814 +3 2836 2835 1838 +3 2873 2870 1842 +3 910 2843 2927 +3 1901 1397 2871 +3 1843 1408 2917 +3 2874 2867 982 +3 1841 1397 2873 +3 1822 1408 2915 +3 1123 2880 2929 +3 1847 1503 3296 +3 1801 1113 3288 +3 1856 1503 3297 +3 3289 3286 1847 +3 1016 3411 3422 +3 3296 3295 1845 +3 3290 3283 1008 +3 3421 1534 1846 +3 1851 3270 3272 +3 3295 1503 1856 +3 826 3314 3378 +3 3277 1498 1851 +3 1014 3382 3386 +3 3272 1497 1849 +3 1007 3267 3278 +3 3380 3379 1850 +3 3384 1126 3389 +3 3388 3387 1848 +3 855 3394 3410 +3 1855 1525 3384 +3 1016 3414 3418 +3 3384 1525 1853 +3 1014 3379 3390 +3 3412 3411 1854 +3 3268 3267 1858 +3 3387 1526 1852 +3 853 3255 3298 +3 1859 1500 3285 +3 1007 3270 3274 +3 1857 1496 3268 +3 1810 1500 3283 +3 1127 3276 3297 +3 1862 1401 2888 +3 3145 1128 1860 +3 1868 1402 2891 +3 3145 1465 1863 +3 983 2883 2894 +3 1861 2891 2893 +3 3146 3139 999 +3 1860 3143 3145 +3 2905 1405 1866 +3 3151 1467 1872 +3 2775 1373 1892 +3 1867 1473 3176 +3 2906 2899 984 +3 1865 2903 2905 +3 1001 3171 3182 +3 1864 3179 3181 +3 2884 1400 1870 +3 1864 1129 2912 +3 847 2871 2914 +3 1871 1404 2901 +3 983 2886 2890 +3 1869 1400 2884 +3 1902 1138 2900 +3 1130 2892 2913 +3 3141 1131 3153 +3 1861 1128 3152 +3 3154 3127 851 +3 1875 1464 3141 +3 1001 3174 3178 +3 3141 1464 1873 +3 2062 1464 3139 +3 3172 1472 1874 +3 1878 1373 2776 +3 1908 1453 3095 +3 2747 1366 1884 +3 3097 1453 1879 +3 976 2771 2782 +3 1877 2779 2781 +3 3098 3091 996 +3 1876 3095 3097 +3 2740 1364 1882 +3 1888 1450 3083 +3 2740 1133 1881 +3 1883 1449 3080 +3 974 2742 2746 +3 1881 2738 2740 +3 995 3075 3086 +3 1880 3083 3085 +3 2744 1134 2749 +3 1880 1133 2748 +3 845 2754 2770 +3 1887 1365 2744 +3 976 2774 2778 +3 2744 1365 1885 +3 974 2739 2750 +3 2772 1372 1886 +3 3076 1448 1890 +3 1877 1132 3104 +3 850 3063 3106 +3 1891 1452 3093 +3 995 3078 3082 +3 1889 1448 3076 +3 1918 1142 3092 +3 1135 3084 3105 +3 1895 1375 2784 +3 1876 1132 2776 +3 1904 1375 2785 +3 2777 2774 1895 +3 984 2899 2910 +3 2784 2783 1893 +3 2778 2771 976 +3 2909 1406 1894 +3 1899 2758 2760 +3 2783 1375 1904 +3 824 2802 2866 +3 2765 1370 1899 +3 982 2870 2874 +3 2760 1369 1897 +3 975 2755 2766 +3 2868 2867 1898 +3 2872 1138 2877 +3 2876 2875 1896 +3 847 2882 2898 +3 1903 1397 2872 +3 984 2902 2906 +3 2872 1397 1901 +3 982 2867 2878 +3 2900 2899 1902 +3 2756 2755 1906 +3 2875 1398 1900 +3 845 2743 2786 +3 1907 1372 2773 +3 975 2758 2762 +3 1905 1368 2756 +3 1886 1372 2771 +3 1139 2764 2785 +3 3101 1454 1910 +3 1865 1129 3176 +3 3067 1446 1916 +3 3177 3174 1911 +3 996 3091 3102 +3 1909 3099 3101 +3 3178 3171 1001 +3 1140 3096 3177 +3 3060 3059 1914 +3 3183 1475 1920 +3 825 3015 3186 +3 3137 1463 1915 +3 994 3062 3066 +3 1913 1444 3060 +3 2090 1185 3124 +3 1141 3068 3137 +3 3064 1142 3069 +3 1912 3135 3137 +3 850 3074 3090 +3 1919 1445 3064 +3 996 3094 3098 +3 3064 1445 1917 +3 994 3059 3070 +3 3092 3091 1918 +3 3129 3126 1922 +3 915 3099 3183 +3 2093 1461 3127 +3 1923 1472 3173 +3 3130 3123 998 +3 1921 1461 3129 +3 1874 1472 3171 +3 1143 3136 3185 +3 1926 1417 2952 +3 101 1738 3636 +3 1932 1418 2955 +3 2717 1358 1927 +3 987 2947 2958 +3 1925 2955 2957 +3 3547 1032 972 +3 1924 1358 2717 +3 2969 1421 1930 +3 2719 1359 1936 +3 2855 1393 1956 +3 1931 1361 2728 +3 2970 2963 988 +3 1929 2967 2969 +3 973 2723 2734 +3 1928 2731 2733 +3 2948 1416 1934 +3 1928 1145 2976 +3 848 2935 2978 +3 1935 1420 2965 +3 987 2950 2954 +3 1933 1416 2948 +3 1966 1154 2964 +3 1146 2956 2977 +3 2716 1147 2721 +3 1925 1144 2720 +3 3583 3606 3534 +3 1939 1357 2716 +3 973 2726 2730 +3 2716 1357 1937 +3 972 1032 3577 +3 2724 1360 1938 +3 1942 1393 2856 +3 1972 1269 2425 +3 2831 1387 1948 +3 2427 1269 1943 +3 981 2851 2862 +3 1941 2859 2861 +3 2428 2421 947 +3 1940 2425 2427 +3 2825 1385 1946 +3 1952 1259 2385 +3 2825 1149 1945 +3 1947 1256 2375 +3 2826 2819 979 +3 1945 2823 2825 +3 2330 1256 2373 +3 1944 2385 2387 +3 2821 1150 2833 +3 1944 1149 2832 +3 2834 2807 846 +3 1951 1384 2821 +3 981 2854 2858 +3 2821 1384 1949 +3 1806 1384 2819 +3 2852 1392 1950 +3 2379 1257 1954 +3 1941 1148 2434 +3 2333 1257 2377 +3 1955 1268 2423 +3 2380 2373 944 +3 1953 1257 2379 +3 1982 1158 2422 +3 1151 2386 2435 +3 1959 1395 2864 +3 1940 1148 2856 +3 1968 1395 2865 +3 2857 2854 1959 +3 988 2963 2974 +3 2864 2863 1957 +3 2858 2851 981 +3 2973 1422 1958 +3 1963 2803 2805 +3 2863 1395 1968 +3 2866 2759 824 +3 2817 1383 1963 +3 986 2934 2938 +3 2805 1380 1961 +3 1834 1121 2804 +3 2932 2931 1962 +3 2936 1154 2941 +3 2940 2939 1960 +3 848 2946 2962 +3 1967 1413 2936 +3 988 2966 2970 +3 2936 1413 1965 +3 986 2931 2942 +3 2964 2963 1966 +3 2809 2806 1970 +3 2939 1414 1964 +3 1837 1381 2807 +3 1971 1392 2853 +3 2810 2803 978 +3 1969 1381 2809 +3 1950 1392 2851 +3 1155 2816 2865 +3 2431 1270 1974 +3 1929 1145 2728 +3 2401 1263 1980 +3 2729 2726 1975 +3 947 2421 2432 +3 1973 2429 2431 +3 2730 2723 973 +3 1156 2426 2729 +3 2395 2392 1978 +3 2735 1363 1984 +3 2345 1261 2393 +3 2715 1356 1979 +3 2396 2389 945 +3 1977 1261 2395 +3 1027 1038 3594 +3 1157 2402 2715 +3 2391 1158 2403 +3 1976 2713 2715 +3 2404 2377 836 +3 1983 1260 2391 +3 947 2424 2428 +3 2391 1260 1981 +3 2354 1251 2390 +3 2422 2421 1982 +3 2711 1355 1986 +3 919 2429 2735 +3 844 3510 3583 +3 2737 2734 1987 +3 3527 1572 3576 +3 1985 1355 2711 +3 1938 1360 2723 +3 1159 2714 2737 +3 1990 1364 2741 +3 2546 1160 1988 +3 1996 1367 2751 +3 2546 1307 1991 +3 1882 1364 2739 +3 1989 2751 2753 +3 2547 2540 958 +3 1988 2544 2546 +3 2793 1377 1994 +3 2552 1309 2000 +3 2020 1377 2791 +3 1995 1315 2577 +3 2794 2787 977 +3 1993 2791 2793 +3 960 2572 2583 +3 1992 2580 2582 +3 2745 1365 1998 +3 1992 1161 2800 +3 1885 1365 2743 +3 1999 1376 2789 +3 2746 2739 974 +3 1997 1365 2745 +3 2030 1170 2788 +3 1162 2752 2801 +3 2542 1163 2554 +3 1989 1160 2553 +3 2555 2528 840 +3 2003 1306 2542 +3 960 2575 2579 +3 2542 1306 2001 +3 2146 1306 2540 +3 2573 1314 2002 +3 2006 1425 2984 +3 2036 1289 2483 +3 2959 1419 2012 +3 2485 1289 2007 +3 989 2979 2990 +3 2005 2987 2989 +3 2486 2479 953 +3 2004 2483 2485 +3 2953 1417 2010 +3 2016 1284 2468 +3 2953 1165 2009 +3 2011 1282 2465 +3 2954 2947 987 +3 2009 2951 2953 +3 1670 1613 3608 +3 2008 2468 2470 +3 2949 1166 2961 +3 2008 1165 2960 +3 2962 2935 848 +3 2015 1416 2949 +3 989 2982 2986 +3 2949 1416 2013 +3 1934 1416 2947 +3 2980 1424 2014 +3 2466 1283 2018 +3 2005 1164 2492 +3 2480 2471 2045 +3 2493 2490 2019 +3 951 3536 2467 +3 2017 1283 2466 +3 2046 1288 2479 +3 1167 2469 2493 +3 2797 1378 2022 +3 2004 1164 2984 +3 2767 1371 2028 +3 2985 2982 2023 +3 977 2787 2798 +3 2021 2795 2797 +3 2986 2979 989 +3 1168 2792 2985 +3 2761 2758 2026 +3 2991 1427 2032 +3 1897 1369 2759 +3 2945 1415 2027 +3 2762 2755 975 +3 2025 1369 2761 +3 1962 1153 2932 +3 1169 2768 2945 +3 2757 1170 2769 +3 2024 2943 2945 +3 2770 2743 845 +3 2031 1368 2757 +3 977 2790 2794 +3 2757 1368 2029 +3 1906 1139 2756 +3 2788 2787 2030 +3 2937 2934 2034 +3 922 2795 2991 +3 1965 1413 2935 +3 2035 1424 2981 +3 2938 2931 986 +3 2033 1413 2937 +3 2014 1424 2979 +3 1171 2944 2993 +3 2489 1290 2038 +3 1993 1161 2577 +3 2475 1287 2044 +3 2578 2575 2039 +3 953 2479 2490 +3 2037 2487 2489 +3 2579 2572 960 +3 1172 2484 2578 +3 2473 1286 2042 +3 2584 1317 2048 +3 3512 1286 2472 +3 2538 1305 2043 +3 2047 1287 2474 +3 2041 1286 2473 +3 2170 1205 2525 +3 1173 2476 2538 +3 2471 1174 2477 +3 2040 2536 2538 +3 2045 1285 3530 +3 2047 1285 2471 +3 953 2482 2486 +3 2471 1285 2045 +3 3549 1286 1557 +3 2480 1288 2046 +3 2530 2527 2050 +3 923 2487 2584 +3 2173 1303 2528 +3 2051 1314 2574 +3 2531 2524 957 +3 2049 1303 2530 +3 2002 1314 2572 +3 1175 2537 2586 +3 2054 1465 3144 +3 3401 1176 2052 +3 2060 1466 3147 +3 3401 1529 2055 +3 999 3139 3150 +3 2053 3147 3149 +3 3402 3395 1015 +3 2052 3399 3401 +3 3161 1469 2058 +3 3407 1531 2064 +3 3031 1437 2084 +3 2059 1537 3432 +3 3162 3155 1000 +3 2057 3159 3161 +3 1017 3427 3438 +3 2056 3435 3437 +3 3140 1464 2062 +3 2056 1177 3168 +3 851 3127 3170 +3 2063 1468 3157 +3 999 3142 3146 +3 2061 1464 3140 +3 2094 1186 3156 +3 1178 3148 3169 +3 3397 1179 3409 +3 2053 1176 3408 +3 3410 3383 855 +3 2067 1528 3397 +3 1017 3430 3434 +3 3397 1528 2065 +3 1826 1528 3395 +3 3428 1536 2066 +3 2070 1437 3032 +3 2100 1517 3351 +3 3003 1430 2076 +3 3353 1517 2071 +3 992 3027 3038 +3 2069 3035 3037 +3 3354 3347 1012 +3 2068 3351 3353 +3 2996 1428 2074 +3 2080 1514 3339 +3 2996 1181 2073 +3 2075 1513 3336 +3 990 2998 3002 +3 2073 2994 2996 +3 1011 3331 3342 +3 2072 3339 3341 +3 3000 1182 3005 +3 2072 1181 3004 +3 849 3010 3026 +3 2079 1429 3000 +3 992 3030 3034 +3 3000 1429 2077 +3 990 2995 3006 +3 3028 1436 2078 +3 3332 1512 2082 +3 2069 1180 3360 +3 854 3319 3362 +3 2083 1516 3349 +3 1011 3334 3338 +3 2081 1512 3332 +3 2110 1190 3348 +3 1183 3340 3361 +3 2087 1439 3040 +3 2068 1180 3032 +3 2096 1439 3041 +3 3033 3030 2087 +3 1000 3155 3166 +3 3040 3039 2085 +3 3034 3027 992 +3 3165 1470 2086 +3 2091 3014 3016 +3 3039 1439 2096 +3 825 3058 3122 +3 3021 1434 2091 +3 998 3126 3130 +3 3016 1433 2089 +3 991 3011 3022 +3 3124 3123 2090 +3 3128 1186 3133 +3 3132 3131 2088 +3 851 3138 3154 +3 2095 1461 3128 +3 1000 3158 3162 +3 3128 1461 2093 +3 998 3123 3134 +3 3156 3155 2094 +3 3012 3011 2098 +3 3131 1462 2092 +3 849 2999 3042 +3 2099 1436 3029 +3 991 3014 3018 +3 2097 1432 3012 +3 2078 1436 3027 +3 1187 3020 3041 +3 3357 1518 2102 +3 2057 1177 3432 +3 3323 1510 2108 +3 3433 3430 2103 +3 1012 3347 3358 +3 2101 3355 3357 +3 3434 3427 1017 +3 1188 3352 3433 +3 3316 3315 2106 +3 3439 1539 2112 +3 826 3271 3442 +3 3393 1527 2107 +3 1010 3318 3322 +3 2105 1508 3316 +3 1850 1125 3380 +3 1189 3324 3393 +3 3320 1190 3325 +3 2104 3391 3393 +3 854 3330 3346 +3 2111 1509 3320 +3 1012 3350 3354 +3 3320 1509 2109 +3 1010 3315 3326 +3 3348 3347 2110 +3 3385 3382 2114 +3 927 3355 3439 +3 1853 1525 3383 +3 2115 1536 3429 +3 3386 3379 1014 +3 2113 1525 3385 +3 2066 1536 3427 +3 1191 3392 3441 +3 2118 1481 3208 +3 100 1727 3627 +3 2124 1482 3211 +3 2494 1292 2119 +3 1003 3203 3214 +3 2117 3211 3213 +3 954 3521 2496 +3 2116 1292 2494 +3 3225 1485 2122 +3 2497 1294 2128 +3 3111 1457 2148 +3 2123 1299 2513 +3 3226 3219 1004 +3 2121 3223 3225 +3 956 2508 2519 +3 2120 2516 2518 +3 3204 1480 2126 +3 2120 1193 3232 +3 852 3191 3234 +3 2127 1484 3221 +3 1003 3206 3210 +3 2125 1480 3204 +3 2158 1202 3220 +3 1194 3212 3233 +3 2495 1195 2499 +3 2117 1192 2498 +3 2129 1293 3507 +3 2131 1293 2495 +3 956 2511 2515 +3 2495 1293 2129 +3 954 1029 3569 +3 2509 1298 2130 +3 2134 1457 3112 +3 2512 1299 2164 +3 3087 1451 2140 +3 2562 1311 2135 +3 997 3107 3118 +3 2133 3115 3117 +3 2563 2556 959 +3 2132 2560 2562 +3 3081 1449 2138 +3 2144 1308 2548 +3 3081 1197 2137 +3 2139 1307 2545 +3 3082 3075 995 +3 2137 3079 3081 +3 958 2540 2551 +3 2136 2548 2550 +3 3077 1198 3089 +3 2136 1197 3088 +3 3090 3063 850 +3 2143 1448 3077 +3 997 3110 3114 +3 3077 1448 2141 +3 1890 1448 3075 +3 3108 1456 2142 +3 2541 1306 2146 +3 2133 1196 2569 +3 840 2528 2571 +3 2147 1310 2558 +3 958 2543 2547 +3 2145 1306 2541 +3 2174 1206 2557 +3 1199 2549 2570 +3 2151 1459 3120 +3 2132 1196 3112 +3 2160 1459 3121 +3 3113 3110 2151 +3 1004 3219 3230 +3 3120 3119 2149 +3 3114 3107 997 +3 3229 1486 2150 +3 2155 3059 3061 +3 3119 1459 2160 +3 3122 3015 825 +3 3073 1447 2155 +3 1002 3190 3194 +3 3061 1444 2153 +3 1914 1141 3060 +3 3188 3187 2154 +3 3192 1202 3197 +3 3196 3195 2152 +3 852 3202 3218 +3 2159 1477 3192 +3 1004 3222 3226 +3 3192 1477 2157 +3 1002 3187 3198 +3 3220 3219 2158 +3 3065 3062 2162 +3 3195 1478 2156 +3 1917 1445 3063 +3 2163 1456 3109 +3 3066 3059 994 +3 2161 1445 3065 +3 2142 1456 3107 +3 1203 3072 3121 +3 2167 1301 2521 +3 2121 1193 2513 +3 2176 1301 2522 +3 2514 2511 2167 +3 959 2556 2567 +3 2521 2520 2165 +3 2515 2508 956 +3 2566 1312 2166 +3 2171 3550 2502 +3 2520 1301 2176 +3 68 2472 2523 +3 2506 1297 2171 +3 957 2527 2531 +3 2502 1296 2169 +3 3555 1558 3550 +3 2525 2524 2170 +3 2529 1206 2534 +3 2533 2532 2168 +3 840 2539 2555 +3 2175 1303 2529 +3 959 2559 2563 +3 2529 1303 2173 +3 957 2524 2535 +3 2557 2556 2174 +3 2500 1295 2178 +3 2532 1304 2172 +3 2509 2495 2129 +3 2522 2519 2179 +3 2178 1295 3520 +3 2177 1295 2500 +3 2130 1298 2508 +3 1207 2505 2522 +3 2182 1428 2997 +3 2639 1208 2180 +3 2188 1431 3007 +3 2639 1333 2183 +3 2074 1428 2995 +3 2181 3007 3009 +3 2640 2633 965 +3 2180 2637 2639 +3 3049 1441 2186 +3 2645 1335 2192 +3 2212 1441 3047 +3 2187 1341 2670 +3 3050 3043 993 +3 2185 3047 3049 +3 967 2665 2676 +3 2184 2673 2675 +3 3001 1429 2190 +3 2184 1209 3056 +3 2077 1429 2999 +3 2191 1440 3045 +3 3002 2995 990 +3 2189 1429 3001 +3 2222 1218 3044 +3 1210 3008 3057 +3 2635 1211 2647 +3 2181 1208 2646 +3 2648 2621 842 +3 2195 1332 2635 +3 967 2668 2672 +3 2635 1332 2193 +3 2274 1332 2633 +3 2666 1340 2194 +3 2198 1489 3240 +3 2228 1325 2605 +3 3215 1483 2204 +3 2607 1325 2199 +3 1005 3235 3246 +3 2197 3243 3245 +3 2608 2601 963 +3 2196 2605 2607 +3 3209 1481 2202 +3 2208 1320 2590 +3 3209 1213 2201 +3 2203 1318 2587 +3 3210 3203 1003 +3 2201 3207 3209 +3 1678 1621 3612 +3 2200 2590 2592 +3 3205 1214 3217 +3 2200 1213 3216 +3 3218 3191 852 +3 2207 1480 3205 +3 1005 3238 3242 +3 3205 1480 2205 +3 2126 1480 3203 +3 3236 1488 2206 +3 2588 1319 2210 +3 2197 1212 2614 +3 2602 2593 2237 +3 2615 2612 2211 +3 961 3540 2589 +3 2209 1319 2588 +3 2238 1324 2601 +3 1215 2591 2615 +3 3053 1442 2214 +3 2196 1212 3240 +3 3023 1435 2220 +3 3241 3238 2215 +3 993 3043 3054 +3 2213 3051 3053 +3 3242 3235 1005 +3 1216 3048 3241 +3 3017 3014 2218 +3 3247 1491 2224 +3 2089 1433 3015 +3 3201 1479 2219 +3 3018 3011 991 +3 2217 1433 3017 +3 2154 1201 3188 +3 1217 3024 3201 +3 3013 1218 3025 +3 2216 3199 3201 +3 3026 2999 849 +3 2223 1432 3013 +3 993 3046 3050 +3 3013 1432 2221 +3 2098 1187 3012 +3 3044 3043 2222 +3 3193 3190 2226 +3 934 3051 3247 +3 2157 1477 3191 +3 2227 1488 3237 +3 3194 3187 1002 +3 2225 1477 3193 +3 2206 1488 3235 +3 1219 3200 3249 +3 2611 1326 2230 +3 2185 1209 2670 +3 2597 1323 2236 +3 2671 2668 2231 +3 963 2601 2612 +3 2229 2609 2611 +3 2672 2665 967 +3 1220 2606 2671 +3 2595 1322 2234 +3 2677 1343 2240 +3 3514 1322 2594 +3 2631 1331 2235 +3 2239 1323 2596 +3 2233 1322 2595 +3 2298 1237 2618 +3 1221 2598 2631 +3 2593 1222 2599 +3 2232 2629 2631 +3 2237 1321 3532 +3 2239 1321 2593 +3 963 2604 2608 +3 2593 1321 2237 +3 3551 1322 1561 +3 2602 1324 2238 +3 2623 2620 2242 +3 935 2609 2677 +3 2301 1329 2621 +3 2243 1340 2667 +3 2624 2617 964 +3 2241 1329 2623 +3 2194 1340 2665 +3 1223 2630 2679 +3 2246 1545 3464 +3 1733 1088 1682 +3 2252 1546 3467 +3 2688 1348 2247 +3 1019 3459 3470 +3 2245 3467 3469 +3 3542 1031 969 +3 2244 1348 2688 +3 3481 1549 2250 +3 2690 1349 2256 +3 3367 1521 2276 +3 2251 1351 2699 +3 3482 3475 1020 +3 2249 3479 3481 +3 970 2694 2705 +3 2248 2702 2704 +3 3460 1544 2254 +3 2248 1225 3488 +3 856 3447 3490 +3 2255 1548 3477 +3 1019 3462 3466 +3 2253 1544 3460 +3 2286 1234 3476 +3 1226 3468 3489 +3 2687 1227 2692 +3 2245 1224 2691 +3 3581 3605 3533 +3 2259 1347 2687 +3 970 2697 2701 +3 2687 1347 2257 +3 969 1031 3572 +3 2695 1350 2258 +3 2262 1521 3368 +3 2292 1337 2653 +3 3343 1515 2268 +3 2655 1337 2263 +3 1013 3363 3374 +3 2261 3371 3373 +3 2656 2649 966 +3 2260 2653 2655 +3 3337 1513 2266 +3 2272 1334 2641 +3 3337 1229 2265 +3 2267 1333 2638 +3 3338 3331 1011 +3 2265 3335 3337 +3 965 2633 2644 +3 2264 2641 2643 +3 3333 1230 3345 +3 2264 1229 3344 +3 3346 3319 854 +3 2271 1512 3333 +3 1013 3366 3370 +3 3333 1512 2269 +3 2082 1512 3331 +3 3364 1520 2270 +3 2634 1332 2274 +3 2261 1228 2662 +3 842 2621 2664 +3 2275 1336 2651 +3 965 2636 2640 +3 2273 1332 2634 +3 2302 1238 2650 +3 1231 2642 2663 +3 2279 1523 3376 +3 2260 1228 3368 +3 2288 1523 3377 +3 3369 3366 2279 +3 1020 3475 3486 +3 3376 3375 2277 +3 3370 3363 1013 +3 3485 1550 2278 +3 2283 3315 3317 +3 3375 1523 2288 +3 3378 3271 826 +3 3329 1511 2283 +3 1018 3446 3450 +3 3317 1508 2281 +3 2106 1189 3316 +3 3444 3443 2282 +3 3448 1234 3453 +3 3452 3451 2280 +3 856 3458 3474 +3 2287 1541 3448 +3 1020 3478 3482 +3 3448 1541 2285 +3 1018 3443 3454 +3 3476 3475 2286 +3 3321 3318 2290 +3 3451 1542 2284 +3 2109 1509 3319 +3 2291 1520 3365 +3 3322 3315 1010 +3 2289 1509 3321 +3 2270 1520 3363 +3 1235 3328 3377 +3 2659 1338 2294 +3 2249 1225 2699 +3 2625 1330 2300 +3 2700 2697 2295 +3 966 2649 2660 +3 2293 2657 2659 +3 2701 2694 970 +3 1236 2654 2700 +3 2618 2617 2298 +3 2706 1353 2304 +3 36 2594 2616 +3 2686 1346 2299 +3 964 2620 2624 +3 2297 1328 2618 +3 1025 1037 3593 +3 1237 2626 2686 +3 2622 1238 2627 +3 2296 2684 2686 +3 842 2632 2648 +3 2303 1329 2622 +3 966 2652 2656 +3 2622 1329 2301 +3 964 2617 2628 +3 2650 2649 2302 +3 2682 1345 2306 +3 939 2657 2706 +3 843 3509 3581 +3 2708 2705 2307 +3 3524 1571 3573 +3 2305 1345 2682 +3 2258 1350 2694 +3 1239 2685 2708 +3 2310 1276 2444 +3 3465 1240 2308 +3 2316 1277 2446 +3 3465 1545 2311 +3 1690 1633 3618 +3 2309 2446 2448 +3 3466 3459 1019 +3 2308 3463 3465 +3 2456 1279 2314 +3 3471 1547 2320 +3 2409 1265 2340 +3 2315 1553 3496 +3 2457 2450 950 +3 2313 2454 2456 +3 1021 3491 3502 +3 2312 3499 3501 +3 2443 1275 2318 +3 2312 1241 2463 +3 2451 2438 2349 +3 2464 2461 2319 +3 949 3544 2445 +3 2317 1275 2443 +3 2350 1278 2450 +3 1242 2447 2464 +3 3461 1243 3473 +3 2309 1240 3472 +3 3474 3447 856 +3 2323 1544 3461 +3 1021 3494 3498 +3 3461 1544 2321 +3 2254 1544 3459 +3 3492 1552 2322 +3 2326 1265 2410 +3 2356 1505 3303 +3 2381 1258 2332 +3 3305 1505 2327 +3 946 2405 2416 +3 2325 2413 2415 +3 3306 3299 1009 +3 2324 3303 3305 +3 2374 1256 2330 +3 2336 1495 3263 +3 2374 1245 2329 +3 2331 1492 3253 +3 944 2376 2380 +3 2329 2372 2374 +3 1799 1492 3251 +3 2328 3263 3265 +3 2378 1246 2383 +3 2328 1245 2382 +3 836 2388 2404 +3 2335 1257 2378 +3 946 2408 2412 +3 2378 1257 2333 +3 944 2373 2384 +3 2406 1264 2334 +3 3257 1493 2338 +3 2325 1244 3312 +3 1809 1493 3255 +3 2339 1504 3301 +3 3258 3251 1006 +3 2337 1493 3257 +3 2366 1254 3300 +3 1247 3264 3313 +3 2343 1267 2418 +3 2324 1244 2410 +3 2352 1267 2419 +3 2411 2408 2343 +3 950 2450 2461 +3 2418 2417 2341 +3 2412 2405 946 +3 2460 1280 2342 +3 2347 2392 2394 +3 2417 1267 2352 +3 3517 1272 2436 +3 2399 1262 2347 +3 2351 1274 2439 +3 2394 1261 2345 +3 945 2389 2400 +3 2437 1272 2346 +3 2438 1250 2442 +3 2441 2440 2344 +3 2349 1273 3535 +3 2351 1273 2438 +3 950 2453 2457 +3 2438 1273 2349 +3 3548 3559 948 +3 2451 1278 2350 +3 2390 2389 2354 +3 2440 1274 2348 +3 836 2377 2420 +3 2355 1264 2407 +3 945 2392 2396 +3 2353 1260 2390 +3 2334 1264 2405 +3 1251 2398 2419 +3 3309 1506 2358 +3 2313 1241 3496 +3 3279 1499 2364 +3 3497 3494 2359 +3 1009 3299 3310 +3 2357 3307 3309 +3 3498 3491 1021 +3 1252 3304 3497 +3 3273 3270 2362 +3 3503 1555 2368 +3 1849 1497 3271 +3 3457 1543 2363 +3 3274 3267 1007 +3 2361 1497 3273 +3 2282 1233 3444 +3 1253 3280 3457 +3 3269 1254 3281 +3 2360 3455 3457 +3 3282 3255 853 +3 2367 1496 3269 +3 1009 3302 3306 +3 3269 1496 2365 +3 1858 1127 3268 +3 3300 3299 2366 +3 3449 3446 2370 +3 943 3307 3503 +3 2285 1541 3447 +3 2371 1552 3493 +3 3450 3443 1018 +3 2369 1541 3449 +3 2322 1552 3491 +3 1255 3456 3505 +3 2387 1259 1947 +3 1945 1149 2375 +3 2384 2376 944 +3 1256 2372 2375 +3 2382 1245 2374 +3 1947 1259 2384 +3 2375 2372 1945 +3 2372 99 1945 +3 2423 1268 1953 +3 1954 1257 2376 +3 2420 2388 836 +3 1954 1259 2386 +3 2406 1246 2378 +3 1953 1268 2420 +3 2386 1151 2379 +3 2384 1259 1954 +3 2414 1266 2332 +3 2376 1257 2335 +3 2413 941 2381 +3 2335 2378 2383 +3 2382 2381 2328 +3 2381 941 2328 +3 2332 1258 2383 +3 2380 2376 2335 +3 2387 2385 1259 +3 2373 1256 1947 +3 2387 1149 1944 +3 1944 917 2385 +3 2423 1151 2435 +3 1947 2375 2387 +3 2375 1149 2387 +3 2384 2373 1947 +3 2403 1263 1983 +3 1981 1260 2388 +3 2400 2392 945 +3 1981 1268 2422 +3 2354 1262 2398 +3 2396 1262 2354 +3 2422 1158 2391 +3 2420 1268 1981 +3 2710 1354 1977 +3 1978 1157 2395 +3 1 0 2393 +3 1261 2392 2395 +3 2437 1249 2394 +3 1977 1354 2709 +3 1978 1263 2402 +3 2400 1263 1978 +3 2399 2397 1262 +3 2394 1249 2347 +3 2440 942 2397 +3 2344 2399 2441 +3 2407 1251 2419 +3 2397 942 2352 +3 2344 2397 2399 +3 2396 2392 2347 +3 2430 2429 1980 +3 2389 1260 1983 +3 1980 2403 2430 +3 1983 2391 2403 +3 1979 3553 2710 +3 2715 2402 1976 +3 1980 1263 2403 +3 2400 2389 1983 +3 2419 1267 2355 +3 2388 1260 2353 +3 2416 2408 946 +3 2353 2390 2407 +3 2414 1246 2406 +3 2355 1267 2416 +3 2390 1251 2407 +3 2404 2388 2353 +3 2455 1279 2340 +3 2343 1248 2411 +3 2454 835 2409 +3 1265 2408 2411 +3 2410 2409 2324 +3 2409 835 2324 +3 2340 1265 2411 +3 2416 1267 2343 +3 2415 2413 1266 +3 2408 1265 2326 +3 2415 1244 2325 +3 2325 941 2413 +3 2414 2383 1246 +3 2326 2410 2415 +3 2410 1244 2415 +3 2412 2408 2326 +3 2419 2398 2352 +3 2405 1264 2355 +3 2341 2458 2460 +3 2355 2407 2419 +3 2460 1248 2418 +3 2460 2418 2341 +3 2398 2397 2352 +3 2416 2405 2355 +3 2435 1271 1955 +3 2377 1257 1953 +3 2432 2424 947 +3 1953 2379 2423 +3 1982 1270 2430 +3 2428 1270 1982 +3 2379 1151 2423 +3 2420 2377 1953 +3 2427 2425 1269 +3 1943 1269 2424 +3 2427 1148 1940 +3 1940 829 2425 +3 1975 1363 2736 +3 1943 1271 2434 +3 2434 1148 2427 +3 2432 1271 1943 +3 2431 2429 1270 +3 2426 1156 1974 +3 1984 1363 2737 +3 1973 2431 2736 +3 2430 2403 1158 +3 2429 919 1980 +3 1974 2424 2426 +3 2428 2424 1974 +3 2435 2386 1952 +3 2421 1268 1955 +3 2385 917 2433 +3 1955 2423 2435 +3 2434 2433 1941 +3 2433 917 1941 +3 2386 1259 1952 +3 2432 2421 1955 +3 3517 28 1566 +3 2436 2393 0 +3 2346 1272 3548 +3 2436 2 3517 +3 2346 2439 2441 +3 1566 28 3565 +3 2349 2449 2451 +3 3548 1272 1566 +3 2317 2443 2452 +3 3649 3607 1045 +3 2451 1250 2438 +3 1056 1669 3641 +3 2459 2458 2348 +3 3559 1585 3595 +3 2348 2442 2459 +3 2351 2438 2442 +3 2441 2399 1249 +3 2440 2397 2344 +3 2348 1274 2442 +3 2439 948 2351 +3 2318 1277 2447 +3 2318 1275 3529 +3 3545 1584 1567 +3 2447 1242 2443 +3 1584 1596 3574 +3 2308 1240 2444 +3 1690 1741 3643 +3 2444 1276 2308 +3 3643 1741 102 +3 2448 2446 1277 +3 3544 1033 3618 +3 2448 1240 2309 +3 2309 940 2446 +3 2319 1278 2452 +3 2310 2444 2448 +3 2444 1240 2448 +3 2445 3544 2310 +3 2452 1242 2319 +3 3511 1567 1275 +3 2461 2453 950 +3 1278 2449 2452 +3 2350 1280 2459 +3 2319 1242 2464 +3 2443 1242 2452 +3 2449 837 2317 +3 2456 2454 1279 +3 2314 1279 2453 +3 2456 1241 2313 +3 2313 835 2454 +3 2455 2411 1248 +3 2314 1281 2463 +3 2463 1241 2456 +3 2461 1281 2314 +3 2460 2458 1280 +3 2455 1248 2342 +3 2458 2417 942 +3 2341 2417 2458 +3 2459 2442 1250 +3 2458 942 2348 +3 2342 2453 2455 +3 2457 2453 2342 +3 2464 2447 2316 +3 2450 1278 2319 +3 2446 940 2462 +3 1281 2461 2464 +3 2463 2462 2312 +3 2462 940 2312 +3 2447 1277 2316 +3 2461 2450 2319 +3 2009 1282 3623 +3 2009 1165 2465 +3 2465 1282 2009 +3 1670 1726 3623 +3 2481 2478 2017 +3 2018 1283 3519 +3 2018 1284 2469 +3 2469 1167 2466 +3 2467 1284 2018 +3 2470 2468 1284 +3 3536 1028 3608 +3 2470 1165 2008 +3 2008 921 2468 +3 2019 1288 2481 +3 2011 2465 2470 +3 2465 1165 2470 +3 2467 3536 2011 +3 2477 1287 2047 +3 2017 2466 2481 +3 3549 3554 952 +3 2045 2478 2480 +3 2480 1174 2471 +3 3578 3506 838 +3 2526 1302 2041 +3 2042 1286 3549 +3 2523 2501 68 +3 2042 1173 2473 +3 2042 2474 2476 +3 2476 1173 2042 +3 2488 2487 2044 +3 3518 1568 1285 +3 2044 2477 2488 +3 2047 2471 2477 +3 2043 2524 2526 +3 2538 2476 2040 +3 2044 1287 2477 +3 2474 952 2047 +3 2481 1167 2019 +3 3530 3602 3578 +3 2490 2482 953 +3 1288 2478 2481 +3 2046 1290 2488 +3 2019 1167 2493 +3 2466 1167 2481 +3 2478 838 2017 +3 2485 2483 1289 +3 2007 1289 2482 +3 2485 1164 2004 +3 2004 830 2483 +3 2039 1317 2585 +3 2007 1291 2492 +3 2492 1164 2485 +3 2490 1291 2007 +3 2489 2487 1290 +3 2484 1172 2038 +3 2048 1317 2586 +3 2037 2489 2585 +3 2488 2477 1174 +3 2487 923 2044 +3 2038 2482 2484 +3 2486 2482 2038 +3 2493 2469 2016 +3 2479 1288 2019 +3 2468 921 2491 +3 1291 2490 2493 +3 2492 2491 2005 +3 2491 921 2005 +3 2469 1284 2016 +3 2490 2479 2019 +3 2496 1294 2119 +3 3569 1559 3521 +3 2498 1192 2494 +3 1292 1617 3539 +3 3507 839 2129 +3 3579 1599 3531 +3 2509 1195 2495 +3 1293 1559 3507 +3 2517 1300 2128 +3 3521 1293 2131 +3 2516 928 2497 +3 2131 2495 2499 +3 2498 2497 2117 +3 2497 928 2117 +3 2128 1294 2499 +3 2496 3521 2131 +3 3568 1023 3520 +3 2503 1297 2178 +3 2178 1297 2505 +3 1295 1569 3520 +3 3513 67 2501 +3 3513 69 67 +3 2523 1302 2169 +3 2525 1205 2502 +3 1296 1558 3513 +3 2506 2504 1297 +3 2502 1205 2171 +3 2532 931 2504 +3 2168 2506 2533 +3 2179 1298 2510 +3 2504 931 2176 +3 2168 2504 2506 +3 2503 3550 2171 +3 2510 1207 2179 +3 839 3507 3579 +3 2519 2511 956 +3 1298 2507 2510 +3 2130 2515 2517 +3 2179 1207 2522 +3 2500 1207 2510 +3 2507 839 2177 +3 2561 1311 2164 +3 2167 1204 2514 +3 2560 832 2512 +3 1299 2511 2514 +3 2513 2512 2121 +3 2512 832 2121 +3 2164 1299 2514 +3 2519 1301 2167 +3 2518 2516 1300 +3 2511 1299 2123 +3 2518 1193 2120 +3 2120 928 2516 +3 2517 2499 1195 +3 2123 2513 2518 +3 2513 1193 2518 +3 2515 2511 2123 +3 2522 2505 2176 +3 2508 1298 2179 +3 2165 2564 2566 +3 1301 2519 2522 +3 2566 1204 2521 +3 2566 2521 2165 +3 2505 2504 2176 +3 2519 2508 2179 +3 2526 2524 1302 +3 2472 1286 2041 +3 2535 2527 957 +3 2043 1305 2535 +3 2170 1304 2533 +3 2531 1304 2170 +3 2473 1173 2526 +3 2523 2472 2041 +3 2574 1314 2049 +3 2050 1175 2530 +3 2571 2539 840 +3 1303 2527 2530 +3 2557 1206 2529 +3 2049 1314 2571 +3 2050 1305 2537 +3 2535 1305 2050 +3 2565 2564 2172 +3 2527 1303 2175 +3 2172 2534 2565 +3 2175 2529 2534 +3 2533 2506 1205 +3 2532 2504 2168 +3 2172 1304 2534 +3 2531 2527 2175 +3 2538 2536 1305 +3 2526 1173 2043 +3 2475 923 2536 +3 2040 2475 2536 +3 2574 1175 2586 +3 2536 923 2048 +3 2476 2475 2040 +3 2535 2524 2043 +3 2554 1309 2003 +3 2001 1306 2539 +3 2551 2543 958 +3 2001 1314 2573 +3 2549 1199 2541 +3 2003 1309 2551 +3 2573 1163 2542 +3 2571 1314 2001 +3 2546 2544 1307 +3 1991 1307 2543 +3 2137 1197 2545 +3 1988 96 2544 +3 2545 2544 2137 +3 2544 96 2137 +3 2553 1160 2546 +3 2551 1309 1991 +3 2550 2548 1308 +3 2543 1307 2139 +3 2550 1197 2136 +3 2136 929 2548 +3 2558 1199 2570 +3 2139 2545 2550 +3 2545 1197 2550 +3 2547 2543 2139 +3 2581 1316 2000 +3 2540 1306 2003 +3 2580 920 2552 +3 2003 2542 2554 +3 2553 2552 1989 +3 2552 920 1989 +3 2000 1309 2554 +3 2551 2540 2003 +3 2570 1313 2147 +3 2539 1306 2145 +3 2567 2559 959 +3 2145 2541 2558 +3 2174 1312 2565 +3 2563 1312 2174 +3 2541 1199 2558 +3 2555 2539 2145 +3 2562 2560 1311 +3 2135 1311 2559 +3 2562 1196 2132 +3 2132 832 2560 +3 2561 2514 1204 +3 2135 1313 2569 +3 2569 1196 2562 +3 2567 1313 2135 +3 2566 2564 1312 +3 2561 1204 2166 +3 2564 2520 931 +3 2165 2520 2564 +3 2565 2534 1206 +3 2564 931 2172 +3 2166 2559 2561 +3 2563 2559 2166 +3 2570 2549 2144 +3 2556 1310 2147 +3 2548 929 2568 +3 2147 2558 2570 +3 2569 2568 2133 +3 2568 929 2133 +3 2549 1308 2144 +3 2567 2556 2147 +3 2586 1317 2051 +3 2528 1303 2049 +3 2583 2575 960 +3 2049 2530 2574 +3 2581 1163 2573 +3 2051 1317 2583 +3 2530 1175 2574 +3 2571 2528 2049 +3 2578 2484 2036 +3 2039 1172 2578 +3 2483 830 2576 +3 1315 2575 2578 +3 2577 2576 1993 +3 2576 830 1993 +3 2484 1289 2036 +3 2583 1317 2039 +3 2582 2580 1316 +3 2575 1315 1995 +3 2582 1161 1992 +3 1992 920 2580 +3 2581 2554 1163 +3 1995 2577 2582 +3 2577 1161 2582 +3 2579 2575 1995 +3 2586 2537 2048 +3 2572 1314 2051 +3 2585 2584 2037 +3 2051 2574 2586 +3 2489 1172 2585 +3 2584 2487 2037 +3 2537 2536 2048 +3 2583 2572 2051 +3 2201 1318 3631 +3 2201 1213 2587 +3 2587 1318 2201 +3 1678 1732 3631 +3 2603 2600 2209 +3 2210 1319 3523 +3 2210 1320 2591 +3 2591 1215 2588 +3 2589 1320 2210 +3 2592 2590 1320 +3 3540 1030 3612 +3 2592 1213 2200 +3 2200 933 2590 +3 2211 1324 2603 +3 2203 2587 2592 +3 2587 1213 2592 +3 2589 3540 2203 +3 2599 1323 2239 +3 2209 2588 2603 +3 3551 3556 962 +3 2237 2600 2602 +3 2602 1222 2593 +3 3580 3508 841 +3 2619 1328 2233 +3 2234 1322 3551 +3 3515 37 35 +3 2234 1221 2595 +3 2234 2596 2598 +3 2598 1221 2234 +3 2610 2609 2236 +3 3522 1570 1321 +3 2236 2599 2610 +3 2239 2593 2599 +3 2235 2617 2619 +3 2631 2598 2232 +3 2236 1323 2599 +3 2596 962 2239 +3 2603 1215 2211 +3 3532 3604 3580 +3 2612 2604 963 +3 1324 2600 2603 +3 2238 1326 2610 +3 2211 1215 2615 +3 2588 1215 2603 +3 2600 841 2209 +3 2607 2605 1325 +3 2199 1325 2604 +3 2607 1212 2196 +3 2196 833 2605 +3 2231 1343 2678 +3 2199 1327 2614 +3 2614 1212 2607 +3 2612 1327 2199 +3 2611 2609 1326 +3 2606 1220 2230 +3 2240 1343 2679 +3 2229 2611 2678 +3 2610 2599 1222 +3 2609 935 2236 +3 2230 2604 2606 +3 2608 2604 2230 +3 2615 2591 2208 +3 2601 1324 2211 +3 2590 933 2613 +3 1327 2612 2615 +3 2614 2613 2197 +3 2613 933 2197 +3 2591 1320 2208 +3 2612 2601 2211 +3 2619 2617 1328 +3 2594 1322 2233 +3 2628 2620 964 +3 2235 1331 2628 +3 2298 1330 2626 +3 2624 1330 2298 +3 2595 1221 2619 +3 2616 2594 2233 +3 2667 1340 2241 +3 2242 1223 2623 +3 2664 2632 842 +3 1329 2620 2623 +3 2650 1238 2622 +3 2241 1340 2664 +3 2242 1331 2630 +3 2628 1331 2242 +3 2658 2657 2300 +3 2620 1329 2303 +3 2300 2627 2658 +3 2303 2622 2627 +3 2299 3552 2681 +3 2686 2626 2296 +3 2300 1330 2627 +3 2624 2620 2303 +3 2631 2629 1331 +3 2619 1221 2235 +3 2597 935 2629 +3 2232 2597 2629 +3 2667 1223 2679 +3 2629 935 2240 +3 2598 2597 2232 +3 2628 2617 2235 +3 2647 1335 2195 +3 2193 1332 2632 +3 2644 2636 965 +3 2193 1340 2666 +3 2642 1231 2634 +3 2195 1335 2644 +3 2666 1211 2635 +3 2664 1340 2193 +3 2639 2637 1333 +3 2183 1333 2636 +3 2265 1229 2638 +3 2180 98 2637 +3 2638 2637 2265 +3 2637 98 2265 +3 2646 1208 2639 +3 2644 1335 2183 +3 2643 2641 1334 +3 2636 1333 2267 +3 2643 1229 2264 +3 2264 937 2641 +3 2651 1231 2663 +3 2267 2638 2643 +3 2638 1229 2643 +3 2640 2636 2267 +3 2674 1342 2192 +3 2633 1332 2195 +3 2673 932 2645 +3 2195 2635 2647 +3 2646 2645 2181 +3 2645 932 2181 +3 2192 1335 2647 +3 2644 2633 2195 +3 2663 1339 2275 +3 2632 1332 2273 +3 2660 2652 966 +3 2273 2634 2651 +3 2302 1338 2658 +3 2656 1338 2302 +3 2634 1231 2651 +3 2648 2632 2273 +3 2655 2653 1337 +3 2263 1337 2652 +3 2655 1228 2260 +3 2260 834 2653 +3 2295 1353 2707 +3 2263 1339 2662 +3 2662 1228 2655 +3 2660 1339 2263 +3 2659 2657 1338 +3 2654 1236 2294 +3 2304 1353 2708 +3 2293 2659 2707 +3 2658 2627 1238 +3 2657 939 2300 +3 2294 2652 2654 +3 2656 2652 2294 +3 2663 2642 2272 +3 2649 1336 2275 +3 2641 937 2661 +3 2275 2651 2663 +3 2662 2661 2261 +3 2661 937 2261 +3 2642 1334 2272 +3 2660 2649 2275 +3 2679 1343 2243 +3 2621 1329 2241 +3 2676 2668 967 +3 2241 2623 2667 +3 2674 1211 2666 +3 2243 1343 2676 +3 2623 1223 2667 +3 2664 2621 2241 +3 2671 2606 2228 +3 2231 1220 2671 +3 2605 833 2669 +3 1341 2668 2671 +3 2670 2669 2185 +3 2669 833 2185 +3 2606 1325 2228 +3 2676 1343 2231 +3 2675 2673 1342 +3 2668 1341 2187 +3 2675 1209 2184 +3 2184 932 2673 +3 2674 2647 1211 +3 2187 2670 2675 +3 2670 1209 2675 +3 2672 2668 2187 +3 2679 2630 2240 +3 2665 1340 2243 +3 2678 2677 2229 +3 2243 2667 2679 +3 2611 1220 2678 +3 2677 2609 2229 +3 2630 2629 2240 +3 2676 2665 2243 +3 2681 3552 1344 +3 2616 1328 2297 +3 2299 1346 2683 +3 2618 1237 2681 +3 2680 2616 2297 +3 968 3552 2683 +3 2306 1239 2682 +3 2306 1346 2685 +3 3524 968 2306 +3 2686 2684 1346 +3 2681 1237 2299 +3 2625 939 2684 +3 2296 2625 2684 +3 2307 1350 2696 +3 2684 939 2304 +3 2626 2625 2296 +3 2683 3552 2299 +3 2305 2682 2696 +3 2257 2693 2695 +3 2695 1227 2687 +3 3509 843 2257 +3 2247 1348 3542 +3 2247 1349 2691 +3 2691 1224 2688 +3 2689 1349 2247 +3 2703 1352 2256 +3 3525 1347 2259 +3 2702 936 2690 +3 2259 2687 2692 +3 2691 2690 2245 +3 2690 936 2245 +3 2256 1349 2692 +3 2689 3525 2259 +3 2696 1239 2307 +3 3533 1345 2305 +3 2705 2697 970 +3 1350 2693 2696 +3 2258 2701 2703 +3 2307 1239 2708 +3 2682 1239 2696 +3 2693 843 2305 +3 2700 2654 2292 +3 2295 1236 2700 +3 2653 834 2698 +3 1351 2697 2700 +3 2699 2698 2249 +3 2698 834 2249 +3 2654 1337 2292 +3 2705 1353 2295 +3 2704 2702 1352 +3 2697 1351 2251 +3 2704 1225 2248 +3 2248 936 2702 +3 2703 2692 1227 +3 2251 2699 2704 +3 2699 1225 2704 +3 2701 2697 2251 +3 2708 2685 2304 +3 2694 1350 2307 +3 2707 2706 2293 +3 1353 2705 2708 +3 2659 1236 2707 +3 2706 2657 2293 +3 2685 2684 2304 +3 2705 2694 2307 +3 2710 3553 1354 +3 2393 1261 1977 +3 1979 1356 2712 +3 2395 1157 2710 +3 2709 2393 1977 +3 971 3553 2712 +3 1986 1159 2711 +3 1986 1356 2714 +3 3527 971 1986 +3 2715 2713 1356 +3 2710 1157 1979 +3 2401 919 2713 +3 1976 2401 2713 +3 1987 1360 2725 +3 2713 919 1984 +3 2402 2401 1976 +3 2712 3553 1979 +3 1985 2711 2725 +3 1937 2722 2724 +3 2724 1147 2716 +3 3510 844 1937 +3 1927 1358 3547 +3 1927 1359 2720 +3 2720 1144 2717 +3 2718 1359 1927 +3 2732 1362 1936 +3 3526 1357 1939 +3 2731 916 2719 +3 1939 2716 2721 +3 2720 2719 1925 +3 2719 916 1925 +3 1936 1359 2721 +3 2718 3526 1939 +3 2725 1159 1987 +3 3534 1355 1985 +3 2734 2726 973 +3 1360 2722 2725 +3 1938 2730 2732 +3 1987 1159 2737 +3 2711 1159 2725 +3 2722 844 1985 +3 2729 2426 1972 +3 1975 1156 2729 +3 2425 829 2727 +3 1361 2726 2729 +3 2728 2727 1929 +3 2727 829 1929 +3 2426 1269 1972 +3 2734 1363 1975 +3 2733 2731 1362 +3 2726 1361 1931 +3 2733 1145 1928 +3 1928 916 2731 +3 2732 2721 1147 +3 1931 2728 2733 +3 2728 1145 2733 +3 2730 2726 1931 +3 2737 2714 1984 +3 2723 1360 1987 +3 2736 2735 1973 +3 1363 2734 2737 +3 2431 1156 2736 +3 2735 2429 1973 +3 2714 2713 1984 +3 2734 2723 1987 +3 2753 1367 1990 +3 1988 1160 2741 +3 2750 2742 974 +3 1364 2738 2741 +3 2748 1133 2740 +3 1990 1367 2750 +3 2741 2738 1988 +3 2738 96 1988 +3 2789 1376 1997 +3 1998 1365 2742 +3 2786 2754 845 +3 1998 1367 2752 +3 2772 1134 2744 +3 1997 1376 2786 +3 2752 1162 2745 +3 2750 1367 1998 +3 2780 1374 1884 +3 2742 1365 1887 +3 2779 913 2747 +3 1887 2744 2749 +3 2748 2747 1880 +3 2747 913 1880 +3 1884 1366 2749 +3 2746 2742 1887 +3 2753 2751 1367 +3 2739 1364 1990 +3 2753 1160 1989 +3 1989 920 2751 +3 2789 1162 2801 +3 1990 2741 2753 +3 2741 1160 2753 +3 2750 2739 1990 +3 2769 1371 2031 +3 2029 1368 2754 +3 2766 2758 975 +3 2029 1376 2788 +3 1906 1370 2764 +3 2762 1370 1906 +3 2788 1170 2757 +3 2786 1376 2029 +3 2933 1412 2025 +3 2026 1169 2761 +3 2930 2802 824 +3 1369 2758 2761 +3 2868 1137 2760 +3 2025 1412 2930 +3 2026 1371 2768 +3 2766 1371 2026 +3 2765 2763 1370 +3 2760 1137 1899 +3 2875 914 2763 +3 1896 2765 2876 +3 2773 1139 2785 +3 2763 914 1904 +3 1896 2763 2765 +3 2762 2758 1899 +3 2796 2795 2028 +3 2755 1368 2031 +3 2028 2769 2796 +3 2031 2757 2769 +3 2027 2931 2933 +3 2945 2768 2024 +3 2028 1371 2769 +3 2766 2755 2031 +3 2785 1375 1907 +3 2754 1368 1905 +3 2782 2774 976 +3 1905 2756 2773 +3 2780 1134 2772 +3 1907 1375 2782 +3 2756 1139 2773 +3 2770 2754 1905 +3 2904 1405 1892 +3 1895 1136 2777 +3 2903 828 2775 +3 1373 2774 2777 +3 2776 2775 1876 +3 2775 828 1876 +3 1892 1373 2777 +3 2782 1375 1895 +3 2781 2779 1374 +3 2774 1373 1878 +3 2781 1132 1877 +3 1877 913 2779 +3 2780 2749 1134 +3 1878 2776 2781 +3 2776 1132 2781 +3 2778 2774 1878 +3 2785 2764 1904 +3 2771 1372 1907 +3 1893 2907 2909 +3 1907 2773 2785 +3 2909 1136 2784 +3 2909 2784 1893 +3 2764 2763 1904 +3 2782 2771 1907 +3 2801 1379 1999 +3 2743 1365 1997 +3 2798 2790 977 +3 1997 2745 2789 +3 2030 1378 2796 +3 2794 1378 2030 +3 2745 1162 2789 +3 2786 2743 1997 +3 2793 2791 1377 +3 1994 1377 2790 +3 2793 1161 1993 +3 1993 830 2791 +3 2023 1427 2992 +3 1994 1379 2800 +3 2800 1161 2793 +3 2798 1379 1994 +3 2797 2795 1378 +3 2792 1168 2022 +3 2032 1427 2993 +3 2021 2797 2992 +3 2796 2769 1170 +3 2795 922 2028 +3 2022 2790 2792 +3 2794 2790 2022 +3 2801 2752 1996 +3 2787 1376 1999 +3 2751 920 2799 +3 1999 2789 2801 +3 2800 2799 1992 +3 2799 920 1992 +3 2752 1367 1996 +3 2798 2787 1999 +3 2805 2803 1380 +3 1961 1380 2802 +3 2814 2806 978 +3 1963 1383 2814 +3 1834 1382 2812 +3 2810 1382 1834 +3 2932 1153 2805 +3 2930 1412 1961 +3 2853 1392 1969 +3 1970 1155 2809 +3 2850 2818 846 +3 1381 2806 2809 +3 2836 1122 2808 +3 1969 1392 2850 +3 1970 1383 2816 +3 2814 1383 1970 +3 2844 2843 1836 +3 2806 1381 1839 +3 1836 2813 2844 +3 1839 2808 2813 +3 1835 2867 2869 +3 2881 2812 1832 +3 1836 1382 2813 +3 2810 2806 1839 +3 2817 2815 1383 +3 2805 1153 1963 +3 2939 918 2815 +3 1960 2817 2940 +3 2853 1155 2865 +3 2815 918 1968 +3 1960 2815 2817 +3 2814 2803 1963 +3 2833 1387 1951 +3 1949 1384 2818 +3 2830 2822 979 +3 1949 1392 2852 +3 2828 1114 2820 +3 1951 1387 2830 +3 2852 1150 2821 +3 2850 1392 1949 +3 2825 2823 1385 +3 1946 1385 2822 +3 1796 1112 2824 +3 1945 99 2823 +3 2824 2823 1796 +3 2823 99 1796 +3 2832 1149 2825 +3 2830 1387 1946 +3 2829 2827 1386 +3 2822 1385 1798 +3 2829 1112 1797 +3 1797 908 2827 +3 2837 1114 2849 +3 1798 2824 2829 +3 2824 1112 2829 +3 2826 2822 1798 +3 2860 1394 1948 +3 2819 1384 1951 +3 2859 917 2831 +3 1951 2821 2833 +3 2832 2831 1944 +3 2831 917 1944 +3 1948 1387 2833 +3 2830 2819 1951 +3 2849 1391 1807 +3 2818 1384 1805 +3 2846 2838 980 +3 1805 2820 2837 +3 1838 1390 2844 +3 2842 1390 1838 +3 2820 1114 2837 +3 2834 2818 1805 +3 2841 2839 1389 +3 1802 1389 2838 +3 2841 1113 1801 +3 1801 827 2839 +3 1831 1411 2928 +3 1802 1391 2848 +3 2848 1113 2841 +3 2846 1391 1802 +3 2845 2843 1390 +3 2840 1120 1830 +3 1840 1411 2929 +3 1829 2845 2928 +3 2844 2813 1122 +3 2843 910 1836 +3 1830 2838 2840 +3 2842 2838 1830 +3 2849 2828 1804 +3 2835 1388 1807 +3 2827 908 2847 +3 1807 2837 2849 +3 2848 2847 1800 +3 2847 908 1800 +3 2828 1386 1804 +3 2846 2835 1807 +3 2865 1395 1971 +3 2807 1381 1969 +3 2862 2854 981 +3 1969 2809 2853 +3 2860 1150 2852 +3 1971 1395 2862 +3 2809 1155 2853 +3 2850 2807 1969 +3 2968 1421 1956 +3 1959 1152 2857 +3 2967 829 2855 +3 1393 2854 2857 +3 2856 2855 1940 +3 2855 829 1940 +3 1956 1393 2857 +3 2862 1395 1959 +3 2861 2859 1394 +3 2854 1393 1942 +3 2861 1148 1941 +3 1941 917 2859 +3 2860 2833 1150 +3 1942 2856 2861 +3 2856 1148 2861 +3 2858 2854 1942 +3 2865 2816 1968 +3 2851 1392 1971 +3 1957 2971 2973 +3 1971 2853 2865 +3 2973 1152 2864 +3 2973 2864 1957 +3 2816 2815 1968 +3 2862 2851 1971 +3 2869 2867 1396 +3 2802 1380 1833 +3 2878 2870 982 +3 1835 1399 2878 +3 1898 1398 2876 +3 2874 1398 1898 +3 2804 1121 2869 +3 2866 2802 1833 +3 2917 1408 1841 +3 1842 1123 2873 +3 2914 2882 847 +3 1397 2870 2873 +3 2900 1138 2872 +3 1841 1408 2914 +3 1842 1399 2880 +3 2878 1399 1842 +3 2908 2907 1900 +3 2870 1397 1903 +3 1900 2877 2908 +3 1903 2872 2877 +3 2876 2765 1137 +3 2875 2763 1896 +3 1900 1398 2877 +3 2874 2870 1903 +3 2881 2879 1399 +3 2869 1121 1835 +3 2811 910 2879 +3 1832 2811 2879 +3 2917 1123 2929 +3 2879 910 1840 +3 2812 2811 1832 +3 2878 2867 1835 +3 2897 1403 1823 +3 1821 1400 2882 +3 2894 2886 983 +3 1821 1408 2916 +3 2892 1130 2884 +3 1823 1403 2894 +3 2916 1118 2885 +3 2914 1408 1821 +3 2889 2887 1401 +3 1818 1401 2886 +3 1860 1128 2888 +3 1817 97 2887 +3 2888 2887 1860 +3 2887 97 1860 +3 2896 1117 2889 +3 2894 1403 1818 +3 2893 2891 1402 +3 2886 1401 1862 +3 2893 1128 1861 +3 1861 912 2891 +3 2901 1130 2913 +3 1862 2888 2893 +3 2888 1128 2893 +3 2890 2886 1862 +3 2924 1410 1820 +3 2883 1400 1823 +3 2923 909 2895 +3 1823 2885 2897 +3 2896 2895 1816 +3 2895 909 1816 +3 1820 1403 2897 +3 2894 2883 1823 +3 2913 1407 1871 +3 2882 1400 1869 +3 2910 2902 984 +3 1869 2884 2901 +3 1902 1406 2908 +3 2906 1406 1902 +3 2884 1130 2901 +3 2898 2882 1869 +3 2905 2903 1405 +3 1866 1405 2902 +3 2905 1129 1865 +3 1865 828 2903 +3 2904 2777 1136 +3 1866 1407 2912 +3 2912 1129 2905 +3 2910 1407 1866 +3 2909 2907 1406 +3 2904 1136 1894 +3 2907 2783 914 +3 1893 2783 2907 +3 2908 2877 1138 +3 2907 914 1900 +3 1894 2902 2904 +3 2906 2902 1894 +3 2913 2892 1868 +3 2899 1404 1871 +3 2891 912 2911 +3 1871 2901 2913 +3 2912 2911 1864 +3 2911 912 1864 +3 2892 1402 1868 +3 2910 2899 1871 +3 2929 1411 1843 +3 2871 1397 1841 +3 2926 2918 985 +3 1841 2873 2917 +3 2924 1118 2916 +3 1843 1411 2926 +3 2873 1123 2917 +3 2914 2871 1841 +3 2921 2840 1828 +3 1831 1120 2921 +3 2839 827 2919 +3 1409 2918 2921 +3 2920 2919 1812 +3 2919 827 1812 +3 2840 1389 1828 +3 2926 1411 1831 +3 2925 2923 1410 +3 2918 1409 1814 +3 2925 1116 1813 +3 1813 909 2923 +3 2924 2897 1118 +3 1814 2920 2925 +3 2920 1116 2925 +3 2922 2918 1814 +3 2929 2880 1840 +3 2915 1408 1843 +3 2928 2927 1829 +3 1843 2917 2929 +3 2845 1120 2928 +3 2927 2843 1829 +3 2880 2879 1840 +3 2926 2915 1843 +3 2933 2931 1412 +3 2759 1369 2025 +3 2942 2934 986 +3 2027 1415 2942 +3 1962 1414 2940 +3 2938 1414 1962 +3 2761 1169 2933 +3 2930 2759 2025 +3 2981 1424 2033 +3 2034 1171 2937 +3 2978 2946 848 +3 1413 2934 2937 +3 2964 1154 2936 +3 2033 1424 2978 +3 2034 1415 2944 +3 2942 1415 2034 +3 2972 2971 1964 +3 2934 1413 1967 +3 1964 2941 2972 +3 1967 2936 2941 +3 2940 2817 1153 +3 2939 2815 1960 +3 1964 1414 2941 +3 2938 2934 1967 +3 2945 2943 1415 +3 2933 1169 2027 +3 2767 922 2943 +3 2024 2767 2943 +3 2981 1171 2993 +3 2943 922 2032 +3 2768 2767 2024 +3 2942 2931 2027 +3 2961 1419 2015 +3 2013 1416 2946 +3 2958 2950 987 +3 2013 1424 2980 +3 2956 1146 2948 +3 2015 1419 2958 +3 2980 1166 2949 +3 2978 1424 2013 +3 2953 2951 1417 +3 2010 1417 2950 +3 1924 1144 2952 +3 2009 101 2951 +3 2952 2951 1924 +3 2951 101 1924 +3 2960 1165 2953 +3 2958 1419 2010 +3 2957 2955 1418 +3 2950 1417 1926 +3 2957 1144 1925 +3 1925 916 2955 +3 2965 1146 2977 +3 1926 2952 2957 +3 2952 1144 2957 +3 2954 2950 1926 +3 2988 1426 2012 +3 2947 1416 2015 +3 2987 921 2959 +3 2015 2949 2961 +3 2960 2959 2008 +3 2959 921 2008 +3 2012 1419 2961 +3 2958 2947 2015 +3 2977 1423 1935 +3 2946 1416 1933 +3 2974 2966 988 +3 1933 2948 2965 +3 1966 1422 2972 +3 2970 1422 1966 +3 2948 1146 2965 +3 2962 2946 1933 +3 2969 2967 1421 +3 1930 1421 2966 +3 2969 1145 1929 +3 1929 829 2967 +3 2968 2857 1152 +3 1930 1423 2976 +3 2976 1145 2969 +3 2974 1423 1930 +3 2973 2971 1422 +3 2968 1152 1958 +3 2971 2863 918 +3 1957 2863 2971 +3 2972 2941 1154 +3 2971 918 1964 +3 1958 2966 2968 +3 2970 2966 1958 +3 2977 2956 1932 +3 2963 1420 1935 +3 2955 916 2975 +3 1935 2965 2977 +3 2976 2975 1928 +3 2975 916 1928 +3 2956 1418 1932 +3 2974 2963 1935 +3 2993 1427 2035 +3 2935 1413 2033 +3 2990 2982 989 +3 2033 2937 2981 +3 2988 1166 2980 +3 2035 1427 2990 +3 2937 1171 2981 +3 2978 2935 2033 +3 2985 2792 2020 +3 2023 1168 2985 +3 2791 830 2983 +3 1425 2982 2985 +3 2984 2983 2004 +3 2983 830 2004 +3 2792 1377 2020 +3 2990 1427 2023 +3 2989 2987 1426 +3 2982 1425 2006 +3 2989 1164 2005 +3 2005 921 2987 +3 2988 2961 1166 +3 2006 2984 2989 +3 2984 1164 2989 +3 2986 2982 2006 +3 2993 2944 2032 +3 2979 1424 2035 +3 2992 2991 2021 +3 2035 2981 2993 +3 2797 1168 2992 +3 2991 2795 2021 +3 2944 2943 2032 +3 2990 2979 2035 +3 3009 1431 2182 +3 2180 1208 2997 +3 3006 2998 990 +3 1428 2994 2997 +3 3004 1181 2996 +3 2182 1431 3006 +3 2997 2994 2180 +3 2994 98 2180 +3 3045 1440 2189 +3 2190 1429 2998 +3 3042 3010 849 +3 2190 1431 3008 +3 3028 1182 3000 +3 2189 1440 3042 +3 3008 1210 3001 +3 3006 1431 2190 +3 3036 1438 2076 +3 2998 1429 2079 +3 3035 925 3003 +3 2079 3000 3005 +3 3004 3003 2072 +3 3003 925 2072 +3 2076 1430 3005 +3 3002 2998 2079 +3 3009 3007 1431 +3 2995 1428 2182 +3 3009 1208 2181 +3 2181 932 3007 +3 3045 1210 3057 +3 2182 2997 3009 +3 2997 1208 3009 +3 3006 2995 2182 +3 3025 1435 2223 +3 2221 1432 3010 +3 3022 3014 991 +3 2221 1440 3044 +3 2098 1434 3020 +3 3018 1434 2098 +3 3044 1218 3013 +3 3042 1440 2221 +3 3189 1476 2217 +3 2218 1217 3017 +3 3186 3058 825 +3 1433 3014 3017 +3 3124 1185 3016 +3 2217 1476 3186 +3 2218 1435 3024 +3 3022 1435 2218 +3 3021 3019 1434 +3 3016 1185 2091 +3 3131 926 3019 +3 2088 3021 3132 +3 3029 1187 3041 +3 3019 926 2096 +3 2088 3019 3021 +3 3018 3014 2091 +3 3052 3051 2220 +3 3011 1432 2223 +3 2220 3025 3052 +3 2223 3013 3025 +3 2219 3187 3189 +3 3201 3024 2216 +3 2220 1435 3025 +3 3022 3011 2223 +3 3041 1439 2099 +3 3010 1432 2097 +3 3038 3030 992 +3 2097 3012 3029 +3 3036 1182 3028 +3 2099 1439 3038 +3 3012 1187 3029 +3 3026 3010 2097 +3 3160 1469 2084 +3 2087 1184 3033 +3 3159 831 3031 +3 1437 3030 3033 +3 3032 3031 2068 +3 3031 831 2068 +3 2084 1437 3033 +3 3038 1439 2087 +3 3037 3035 1438 +3 3030 1437 2070 +3 3037 1180 2069 +3 2069 925 3035 +3 3036 3005 1182 +3 2070 3032 3037 +3 3032 1180 3037 +3 3034 3030 2070 +3 3041 3020 2096 +3 3027 1436 2099 +3 2085 3163 3165 +3 2099 3029 3041 +3 3165 1184 3040 +3 3165 3040 2085 +3 3020 3019 2096 +3 3038 3027 2099 +3 3057 1443 2191 +3 2999 1429 2189 +3 3054 3046 993 +3 2189 3001 3045 +3 2222 1442 3052 +3 3050 1442 2222 +3 3001 1210 3045 +3 3042 2999 2189 +3 3049 3047 1441 +3 2186 1441 3046 +3 3049 1209 2185 +3 2185 833 3047 +3 2215 1491 3248 +3 2186 1443 3056 +3 3056 1209 3049 +3 3054 1443 2186 +3 3053 3051 1442 +3 3048 1216 2214 +3 2224 1491 3249 +3 2213 3053 3248 +3 3052 3025 1218 +3 3051 934 2220 +3 2214 3046 3048 +3 3050 3046 2214 +3 3057 3008 2188 +3 3043 1440 2191 +3 3007 932 3055 +3 2191 3045 3057 +3 3056 3055 2184 +3 3055 932 2184 +3 3008 1431 2188 +3 3054 3043 2191 +3 3061 3059 1444 +3 2153 1444 3058 +3 3070 3062 994 +3 2155 1447 3070 +3 1914 1446 3068 +3 3066 1446 1914 +3 3188 1201 3061 +3 3186 1476 2153 +3 3109 1456 2161 +3 2162 1203 3065 +3 3106 3074 850 +3 1445 3062 3065 +3 3092 1142 3064 +3 2161 1456 3106 +3 2162 1447 3072 +3 3070 1447 2162 +3 3100 3099 1916 +3 3062 1445 1919 +3 1916 3069 3100 +3 1919 3064 3069 +3 1915 3123 3125 +3 3137 3068 1912 +3 1916 1446 3069 +3 3066 3062 1919 +3 3073 3071 1447 +3 3061 1201 2155 +3 3195 930 3071 +3 2152 3073 3196 +3 3109 1203 3121 +3 3071 930 2160 +3 2152 3071 3073 +3 3070 3059 2155 +3 3089 1451 2143 +3 2141 1448 3074 +3 3086 3078 995 +3 2141 1456 3108 +3 3084 1135 3076 +3 2143 1451 3086 +3 3108 1198 3077 +3 3106 1456 2141 +3 3081 3079 1449 +3 2138 1449 3078 +3 1881 1133 3080 +3 2137 96 3079 +3 3080 3079 1881 +3 3079 96 1881 +3 3088 1197 3081 +3 3086 1451 2138 +3 3085 3083 1450 +3 3078 1449 1883 +3 3085 1133 1880 +3 1880 913 3083 +3 3093 1135 3105 +3 1883 3080 3085 +3 3080 1133 3085 +3 3082 3078 1883 +3 3116 1458 2140 +3 3075 1448 2143 +3 3115 929 3087 +3 2143 3077 3089 +3 3088 3087 2136 +3 3087 929 2136 +3 2140 1451 3089 +3 3086 3075 2143 +3 3105 1455 1891 +3 3074 1448 1889 +3 3102 3094 996 +3 1889 3076 3093 +3 1918 1454 3100 +3 3098 1454 1918 +3 3076 1135 3093 +3 3090 3074 1889 +3 3097 3095 1453 +3 1879 1453 3094 +3 3097 1132 1876 +3 1876 828 3095 +3 1911 1475 3184 +3 1879 1455 3104 +3 3104 1132 3097 +3 3102 1455 1879 +3 3101 3099 1454 +3 3096 1140 1910 +3 1920 1475 3185 +3 1909 3101 3184 +3 3100 3069 1142 +3 3099 915 1916 +3 1910 3094 3096 +3 3098 3094 1910 +3 3105 3084 1888 +3 3091 1452 1891 +3 3083 913 3103 +3 1891 3093 3105 +3 3104 3103 1877 +3 3103 913 1877 +3 3084 1450 1888 +3 3102 3091 1891 +3 3121 1459 2163 +3 3063 1445 2161 +3 3118 3110 997 +3 2161 3065 3109 +3 3116 1198 3108 +3 2163 1459 3118 +3 3065 1203 3109 +3 3106 3063 2161 +3 3224 1485 2148 +3 2151 1200 3113 +3 3223 832 3111 +3 1457 3110 3113 +3 3112 3111 2132 +3 3111 832 2132 +3 2148 1457 3113 +3 3118 1459 2151 +3 3117 3115 1458 +3 3110 1457 2134 +3 3117 1196 2133 +3 2133 929 3115 +3 3116 3089 1198 +3 2134 3112 3117 +3 3112 1196 3117 +3 3114 3110 2134 +3 3121 3072 2160 +3 3107 1456 2163 +3 2149 3227 3229 +3 2163 3109 3121 +3 3229 1200 3120 +3 3229 3120 2149 +3 3072 3071 2160 +3 3118 3107 2163 +3 3125 3123 1460 +3 3058 1444 1913 +3 3134 3126 998 +3 1915 1463 3134 +3 2090 1462 3132 +3 3130 1462 2090 +3 3060 1141 3125 +3 3122 3058 1913 +3 3173 1472 1921 +3 1922 1143 3129 +3 3170 3138 851 +3 1461 3126 3129 +3 3156 1186 3128 +3 1921 1472 3170 +3 1922 1463 3136 +3 3134 1463 1922 +3 3164 3163 2092 +3 3126 1461 2095 +3 2092 3133 3164 +3 2095 3128 3133 +3 3132 3021 1185 +3 3131 3019 2088 +3 2092 1462 3133 +3 3130 3126 2095 +3 3137 3135 1463 +3 3125 1141 1915 +3 3067 915 3135 +3 1912 3067 3135 +3 3173 1143 3185 +3 3135 915 1920 +3 3068 3067 1912 +3 3134 3123 1915 +3 3153 1467 1875 +3 1873 1464 3138 +3 3150 3142 999 +3 1873 1472 3172 +3 3148 1178 3140 +3 1875 1467 3150 +3 3172 1131 3141 +3 3170 1472 1873 +3 3145 3143 1465 +3 1863 1465 3142 +3 2052 1176 3144 +3 1860 97 3143 +3 3144 3143 2052 +3 3143 97 2052 +3 3152 1128 3145 +3 3150 1467 1863 +3 3149 3147 1466 +3 3142 1465 2054 +3 3149 1176 2053 +3 2053 924 3147 +3 3157 1178 3169 +3 2054 3144 3149 +3 3144 1176 3149 +3 3146 3142 2054 +3 3180 1474 1872 +3 3139 1464 1875 +3 3179 912 3151 +3 1875 3141 3153 +3 3152 3151 1861 +3 3151 912 1861 +3 1872 1467 3153 +3 3150 3139 1875 +3 3169 1471 2063 +3 3138 1464 2061 +3 3166 3158 1000 +3 2061 3140 3157 +3 2094 1470 3164 +3 3162 1470 2094 +3 3140 1178 3157 +3 3154 3138 2061 +3 3161 3159 1469 +3 2058 1469 3158 +3 3161 1177 2057 +3 2057 831 3159 +3 3160 3033 1184 +3 2058 1471 3168 +3 3168 1177 3161 +3 3166 1471 2058 +3 3165 3163 1470 +3 3160 1184 2086 +3 3163 3039 926 +3 2085 3039 3163 +3 3164 3133 1186 +3 3163 926 2092 +3 2086 3158 3160 +3 3162 3158 2086 +3 3169 3148 2060 +3 3155 1468 2063 +3 3147 924 3167 +3 2063 3157 3169 +3 3168 3167 2056 +3 3167 924 2056 +3 3148 1466 2060 +3 3166 3155 2063 +3 3185 1475 1923 +3 3127 1461 1921 +3 3182 3174 1001 +3 1921 3129 3173 +3 3180 1131 3172 +3 1923 1475 3182 +3 3129 1143 3173 +3 3170 3127 1921 +3 3177 3096 1908 +3 1911 1140 3177 +3 3095 828 3175 +3 1473 3174 3177 +3 3176 3175 1865 +3 3175 828 1865 +3 3096 1453 1908 +3 3182 1475 1911 +3 3181 3179 1474 +3 3174 1473 1867 +3 3181 1129 1864 +3 1864 912 3179 +3 3180 3153 1131 +3 1867 3176 3181 +3 3176 1129 3181 +3 3178 3174 1867 +3 3185 3136 1920 +3 3171 1472 1923 +3 3184 3183 1909 +3 1923 3173 3185 +3 3101 1140 3184 +3 3183 3099 1909 +3 3136 3135 1920 +3 3182 3171 1923 +3 3189 3187 1476 +3 3015 1433 2217 +3 3198 3190 1002 +3 2219 1479 3198 +3 2154 1478 3196 +3 3194 1478 2154 +3 3017 1217 3189 +3 3186 3015 2217 +3 3237 1488 2225 +3 2226 1219 3193 +3 3234 3202 852 +3 1477 3190 3193 +3 3220 1202 3192 +3 2225 1488 3234 +3 2226 1479 3200 +3 3198 1479 2226 +3 3228 3227 2156 +3 3190 1477 2159 +3 2156 3197 3228 +3 2159 3192 3197 +3 3196 3073 1201 +3 3195 3071 2152 +3 2156 1478 3197 +3 3194 3190 2159 +3 3201 3199 1479 +3 3189 1217 2219 +3 3023 934 3199 +3 2216 3023 3199 +3 3237 1219 3249 +3 3199 934 2224 +3 3024 3023 2216 +3 3198 3187 2219 +3 3217 1483 2207 +3 2205 1480 3202 +3 3214 3206 1003 +3 2205 1488 3236 +3 3212 1194 3204 +3 2207 1483 3214 +3 3236 1214 3205 +3 3234 1488 2205 +3 3209 3207 1481 +3 2202 1481 3206 +3 2116 1192 3208 +3 2201 100 3207 +3 3208 3207 2116 +3 3207 100 2116 +3 3216 1213 3209 +3 3214 1483 2202 +3 3213 3211 1482 +3 3206 1481 2118 +3 3213 1192 2117 +3 2117 928 3211 +3 3221 1194 3233 +3 2118 3208 3213 +3 3208 1192 3213 +3 3210 3206 2118 +3 3244 1490 2204 +3 3203 1480 2207 +3 3243 933 3215 +3 2207 3205 3217 +3 3216 3215 2200 +3 3215 933 2200 +3 2204 1483 3217 +3 3214 3203 2207 +3 3233 1487 2127 +3 3202 1480 2125 +3 3230 3222 1004 +3 2125 3204 3221 +3 2158 1486 3228 +3 3226 1486 2158 +3 3204 1194 3221 +3 3218 3202 2125 +3 3225 3223 1485 +3 2122 1485 3222 +3 3225 1193 2121 +3 2121 832 3223 +3 3224 3113 1200 +3 2122 1487 3232 +3 3232 1193 3225 +3 3230 1487 2122 +3 3229 3227 1486 +3 3224 1200 2150 +3 3227 3119 930 +3 2149 3119 3227 +3 3228 3197 1202 +3 3227 930 2156 +3 2150 3222 3224 +3 3226 3222 2150 +3 3233 3212 2124 +3 3219 1484 2127 +3 3211 928 3231 +3 2127 3221 3233 +3 3232 3231 2120 +3 3231 928 2120 +3 3212 1482 2124 +3 3230 3219 2127 +3 3249 1491 2227 +3 3191 1477 2225 +3 3246 3238 1005 +3 2225 3193 3237 +3 3244 1214 3236 +3 2227 1491 3246 +3 3193 1219 3237 +3 3234 3191 2225 +3 3241 3048 2212 +3 2215 1216 3241 +3 3047 833 3239 +3 1489 3238 3241 +3 3240 3239 2196 +3 3239 833 2196 +3 3048 1441 2212 +3 3246 1491 2215 +3 3245 3243 1490 +3 3238 1489 2198 +3 3245 1212 2197 +3 2197 933 3243 +3 3244 3217 1214 +3 2198 3240 3245 +3 3240 1212 3245 +3 3242 3238 2198 +3 3249 3200 2224 +3 3235 1488 2227 +3 3248 3247 2213 +3 2227 3237 3249 +3 3053 1216 3248 +3 3247 3051 2213 +3 3200 3199 2224 +3 3246 3235 2227 +3 3265 1495 2331 +3 2329 1245 3253 +3 3262 3254 1006 +3 1492 3250 3253 +3 3260 1112 3252 +3 2331 1495 3262 +3 3253 3250 2329 +3 3250 99 2329 +3 3301 1504 2337 +3 2338 1493 3254 +3 3298 3266 853 +3 2338 1495 3264 +3 3284 1115 3256 +3 2337 1504 3298 +3 3264 1247 3257 +3 3262 1495 2338 +3 3292 1502 1808 +3 3254 1493 1811 +3 3291 908 3259 +3 1811 3256 3261 +3 3260 3259 1797 +3 3259 908 1797 +3 1808 1494 3261 +3 3258 3254 1811 +3 3265 3263 1495 +3 3251 1492 2331 +3 3265 1245 2328 +3 2328 941 3263 +3 3301 1247 3313 +3 2331 3253 3265 +3 3253 1245 3265 +3 3262 3251 2331 +3 3281 1499 2367 +3 2365 1496 3266 +3 3278 3270 1007 +3 2365 1504 3300 +3 1858 1498 3276 +3 3274 1498 1858 +3 3300 1254 3269 +3 3298 1504 2365 +3 3445 1540 2361 +3 2362 1253 3273 +3 3442 3314 826 +3 1497 3270 3273 +3 3380 1125 3272 +3 2361 1540 3442 +3 2362 1499 3280 +3 3278 1499 2362 +3 3277 3275 1498 +3 3272 1125 1851 +3 3387 911 3275 +3 1848 3277 3388 +3 3285 1127 3297 +3 3275 911 1856 +3 1848 3275 3277 +3 3274 3270 1851 +3 3308 3307 2364 +3 3267 1496 2367 +3 2364 3281 3308 +3 2367 3269 3281 +3 2363 3443 3445 +3 3457 3280 2360 +3 2364 1499 3281 +3 3278 3267 2367 +3 3297 1503 1859 +3 3266 1496 1857 +3 3294 3286 1008 +3 1857 3268 3285 +3 3292 1115 3284 +3 1859 1503 3294 +3 3268 1127 3285 +3 3282 3266 1857 +3 3416 1533 1844 +3 1847 1124 3289 +3 3415 827 3287 +3 1501 3286 3289 +3 3288 3287 1801 +3 3287 827 1801 +3 1844 1501 3289 +3 3294 1503 1847 +3 3293 3291 1502 +3 3286 1501 1803 +3 3293 1113 1800 +3 1800 908 3291 +3 3292 3261 1115 +3 1803 3288 3293 +3 3288 1113 3293 +3 3290 3286 1803 +3 3297 3276 1856 +3 3283 1500 1859 +3 1845 3419 3421 +3 1859 3285 3297 +3 3421 1124 3296 +3 3421 3296 1845 +3 3276 3275 1856 +3 3294 3283 1859 +3 3313 1507 2339 +3 3255 1493 2337 +3 3310 3302 1009 +3 2337 3257 3301 +3 2366 1506 3308 +3 3306 1506 2366 +3 3257 1247 3301 +3 3298 3255 2337 +3 3305 3303 1505 +3 2327 1505 3302 +3 3305 1244 2324 +3 2324 835 3303 +3 2359 1555 3504 +3 2327 1507 3312 +3 3312 1244 3305 +3 3310 1507 2327 +3 3309 3307 1506 +3 3304 1252 2358 +3 2368 1555 3505 +3 2357 3309 3504 +3 3308 3281 1254 +3 3307 943 2364 +3 2358 3302 3304 +3 3306 3302 2358 +3 3313 3264 2336 +3 3299 1504 2339 +3 3263 941 3311 +3 2339 3301 3313 +3 3312 3311 2325 +3 3311 941 2325 +3 3264 1495 2336 +3 3310 3299 2339 +3 3317 3315 1508 +3 2281 1508 3314 +3 3326 3318 1010 +3 2283 1511 3326 +3 2106 1510 3324 +3 3322 1510 2106 +3 3444 1233 3317 +3 3442 1540 2281 +3 3365 1520 2289 +3 2290 1235 3321 +3 3362 3330 854 +3 1509 3318 3321 +3 3348 1190 3320 +3 2289 1520 3362 +3 2290 1511 3328 +3 3326 1511 2290 +3 3356 3355 2108 +3 3318 1509 2111 +3 2108 3325 3356 +3 2111 3320 3325 +3 2107 3379 3381 +3 3393 3324 2104 +3 2108 1510 3325 +3 3322 3318 2111 +3 3329 3327 1511 +3 3317 1233 2283 +3 3451 938 3327 +3 2280 3329 3452 +3 3365 1235 3377 +3 3327 938 2288 +3 2280 3327 3329 +3 3326 3315 2283 +3 3345 1515 2271 +3 2269 1512 3330 +3 3342 3334 1011 +3 2269 1520 3364 +3 3340 1183 3332 +3 2271 1515 3342 +3 3364 1230 3333 +3 3362 1520 2269 +3 3337 3335 1513 +3 2266 1513 3334 +3 2073 1181 3336 +3 2265 98 3335 +3 3336 3335 2073 +3 3335 98 2073 +3 3344 1229 3337 +3 3342 1515 2266 +3 3341 3339 1514 +3 3334 1513 2075 +3 3341 1181 2072 +3 2072 925 3339 +3 3349 1183 3361 +3 2075 3336 3341 +3 3336 1181 3341 +3 3338 3334 2075 +3 3372 1522 2268 +3 3331 1512 2271 +3 3371 937 3343 +3 2271 3333 3345 +3 3344 3343 2264 +3 3343 937 2264 +3 2268 1515 3345 +3 3342 3331 2271 +3 3361 1519 2083 +3 3330 1512 2081 +3 3358 3350 1012 +3 2081 3332 3349 +3 2110 1518 3356 +3 3354 1518 2110 +3 3332 1183 3349 +3 3346 3330 2081 +3 3353 3351 1517 +3 2071 1517 3350 +3 3353 1180 2068 +3 2068 831 3351 +3 2103 1539 3440 +3 2071 1519 3360 +3 3360 1180 3353 +3 3358 1519 2071 +3 3357 3355 1518 +3 3352 1188 2102 +3 2112 1539 3441 +3 2101 3357 3440 +3 3356 3325 1190 +3 3355 927 2108 +3 2102 3350 3352 +3 3354 3350 2102 +3 3361 3340 2080 +3 3347 1516 2083 +3 3339 925 3359 +3 2083 3349 3361 +3 3360 3359 2069 +3 3359 925 2069 +3 3340 1514 2080 +3 3358 3347 2083 +3 3377 1523 2291 +3 3319 1509 2289 +3 3374 3366 1013 +3 2289 3321 3365 +3 3372 1230 3364 +3 2291 1523 3374 +3 3321 1235 3365 +3 3362 3319 2289 +3 3480 1549 2276 +3 2279 1232 3369 +3 3479 834 3367 +3 1521 3366 3369 +3 3368 3367 2260 +3 3367 834 2260 +3 2276 1521 3369 +3 3374 1523 2279 +3 3373 3371 1522 +3 3366 1521 2262 +3 3373 1228 2261 +3 2261 937 3371 +3 3372 3345 1230 +3 2262 3368 3373 +3 3368 1228 3373 +3 3370 3366 2262 +3 3377 3328 2288 +3 3363 1520 2291 +3 2277 3483 3485 +3 2291 3365 3377 +3 3485 1232 3376 +3 3485 3376 2277 +3 3328 3327 2288 +3 3374 3363 2291 +3 3381 3379 1524 +3 3314 1508 2105 +3 3390 3382 1014 +3 2107 1527 3390 +3 1850 1526 3388 +3 3386 1526 1850 +3 3316 1189 3381 +3 3378 3314 2105 +3 3429 1536 2113 +3 2114 1191 3385 +3 3426 3394 855 +3 1525 3382 3385 +3 3412 1126 3384 +3 2113 1536 3426 +3 2114 1527 3392 +3 3390 1527 2114 +3 3420 3419 1852 +3 3382 1525 1855 +3 1852 3389 3420 +3 1855 3384 3389 +3 3388 3277 1125 +3 3387 3275 1848 +3 1852 1526 3389 +3 3386 3382 1855 +3 3393 3391 1527 +3 3381 1189 2107 +3 3323 927 3391 +3 2104 3323 3391 +3 3429 1191 3441 +3 3391 927 2112 +3 3324 3323 2104 +3 3390 3379 2107 +3 3409 1531 2067 +3 2065 1528 3394 +3 3406 3398 1015 +3 2065 1536 3428 +3 3404 1119 3396 +3 2067 1531 3406 +3 3428 1179 3397 +3 3426 1536 2065 +3 3401 3399 1529 +3 2055 1529 3398 +3 1817 1117 3400 +3 2052 97 3399 +3 3400 3399 1817 +3 3399 97 1817 +3 3408 1176 3401 +3 3406 1531 2055 +3 3405 3403 1530 +3 3398 1529 1819 +3 3405 1117 1816 +3 1816 909 3403 +3 3413 1119 3425 +3 1819 3400 3405 +3 3400 1117 3405 +3 3402 3398 1819 +3 3436 1538 2064 +3 3395 1528 2067 +3 3435 924 3407 +3 2067 3397 3409 +3 3408 3407 2053 +3 3407 924 2053 +3 2064 1531 3409 +3 3406 3395 2067 +3 3425 1535 1827 +3 3394 1528 1825 +3 3422 3414 1016 +3 1825 3396 3413 +3 1854 1534 3420 +3 3418 1534 1854 +3 3396 1119 3413 +3 3410 3394 1825 +3 3417 3415 1533 +3 1815 1533 3414 +3 3417 1116 1812 +3 1812 827 3415 +3 3416 3289 1124 +3 1815 1535 3424 +3 3424 1116 3417 +3 3422 1535 1815 +3 3421 3419 1534 +3 3416 1124 1846 +3 3419 3295 911 +3 1845 3295 3419 +3 3420 3389 1126 +3 3419 911 1852 +3 1846 3414 3416 +3 3418 3414 1846 +3 3425 3404 1824 +3 3411 1532 1827 +3 3403 909 3423 +3 1827 3413 3425 +3 3424 3423 1813 +3 3423 909 1813 +3 3404 1530 1824 +3 3422 3411 1827 +3 3441 1539 2115 +3 3383 1525 2113 +3 3438 3430 1017 +3 2113 3385 3429 +3 3436 1179 3428 +3 2115 1539 3438 +3 3385 1191 3429 +3 3426 3383 2113 +3 3433 3352 2100 +3 2103 1188 3433 +3 3351 831 3431 +3 1537 3430 3433 +3 3432 3431 2057 +3 3431 831 2057 +3 3352 1517 2100 +3 3438 1539 2103 +3 3437 3435 1538 +3 3430 1537 2059 +3 3437 1177 2056 +3 2056 924 3435 +3 3436 3409 1179 +3 2059 3432 3437 +3 3432 1177 3437 +3 3434 3430 2059 +3 3441 3392 2112 +3 3427 1536 2115 +3 3440 3439 2101 +3 2115 3429 3441 +3 3357 1188 3440 +3 3439 3355 2101 +3 3392 3391 2112 +3 3438 3427 2115 +3 3445 3443 1540 +3 3271 1497 2361 +3 3454 3446 1018 +3 2363 1543 3454 +3 2282 1542 3452 +3 3450 1542 2282 +3 3273 1253 3445 +3 3442 3271 2361 +3 3493 1552 2369 +3 2370 1255 3449 +3 3490 3458 856 +3 1541 3446 3449 +3 3476 1234 3448 +3 2369 1552 3490 +3 2370 1543 3456 +3 3454 1543 2370 +3 3484 3483 2284 +3 3446 1541 2287 +3 2284 3453 3484 +3 2287 3448 3453 +3 3452 3329 1233 +3 3451 3327 2280 +3 2284 1542 3453 +3 3450 3446 2287 +3 3457 3455 1543 +3 3445 1253 2363 +3 3279 943 3455 +3 2360 3279 3455 +3 3493 1255 3505 +3 3455 943 2368 +3 3280 3279 2360 +3 3454 3443 2363 +3 3473 1547 2323 +3 2321 1544 3458 +3 3470 3462 1019 +3 2321 1552 3492 +3 3468 1226 3460 +3 2323 1547 3470 +3 3492 1243 3461 +3 3490 1552 2321 +3 3465 3463 1545 +3 2311 1545 3462 +3 2244 1224 3464 +3 2308 102 3463 +3 3464 3463 2244 +3 3463 102 2244 +3 3472 1240 3465 +3 3470 1547 2311 +3 3469 3467 1546 +3 3462 1545 2246 +3 3469 1224 2245 +3 2245 936 3467 +3 3477 1226 3489 +3 2246 3464 3469 +3 3464 1224 3469 +3 3466 3462 2246 +3 3500 1554 2320 +3 3459 1544 2323 +3 3499 940 3471 +3 2323 3461 3473 +3 3472 3471 2309 +3 3471 940 2309 +3 2320 1547 3473 +3 3470 3459 2323 +3 3489 1551 2255 +3 3458 1544 2253 +3 3486 3478 1020 +3 2253 3460 3477 +3 2286 1550 3484 +3 3482 1550 2286 +3 3460 1226 3477 +3 3474 3458 2253 +3 3481 3479 1549 +3 2250 1549 3478 +3 3481 1225 2249 +3 2249 834 3479 +3 3480 3369 1232 +3 2250 1551 3488 +3 3488 1225 3481 +3 3486 1551 2250 +3 3485 3483 1550 +3 3480 1232 2278 +3 3483 3375 938 +3 2277 3375 3483 +3 3484 3453 1234 +3 3483 938 2284 +3 2278 3478 3480 +3 3482 3478 2278 +3 3489 3468 2252 +3 3475 1548 2255 +3 3467 936 3487 +3 2255 3477 3489 +3 3488 3487 2248 +3 3487 936 2248 +3 3468 1546 2252 +3 3486 3475 2255 +3 3505 1555 2371 +3 3447 1541 2369 +3 3502 3494 1021 +3 2369 3449 3493 +3 3500 1243 3492 +3 2371 1555 3502 +3 3449 1255 3493 +3 3490 3447 2369 +3 3497 3304 2356 +3 2359 1252 3497 +3 3303 835 3495 +3 1553 3494 3497 +3 3496 3495 2313 +3 3495 835 2313 +3 3304 1505 2356 +3 3502 1555 2359 +3 3501 3499 1554 +3 3494 1553 2315 +3 3501 1241 2312 +3 2312 940 3499 +3 3500 3473 1243 +3 2315 3496 3501 +3 3496 1241 3501 +3 3498 3494 2315 +3 3505 3456 2368 +3 3491 1552 2371 +3 3504 3503 2357 +3 2371 3493 3505 +3 3309 1252 3504 +3 3503 3307 2357 +3 3456 3455 2368 +3 3502 3491 2371 +3 2472 68 70 +3 3590 3567 1022 +3 3537 1556 3506 +3 3519 1556 3566 +3 1282 2011 3536 +3 1295 3531 1569 +3 3569 1616 1588 +3 2594 36 38 +3 3592 3571 1024 +3 3541 1560 3508 +3 3523 1560 3570 +3 1318 2203 3540 +3 2305 843 3533 +3 2259 1349 2689 +3 3510 1357 1564 +3 3527 1355 1572 +3 2436 0 2 +3 3528 948 3559 +3 3545 1567 3511 +3 3529 1567 3574 +3 1276 2310 3544 +3 2445 1277 2318 +3 3566 951 3519 +3 3570 961 3523 +3 3582 3511 837 +3 1273 2351 948 +3 1046 1659 3621 +3 3554 1574 3590 +3 1050 1663 3629 +3 3556 1578 3592 +3 3623 1726 101 +3 3519 1283 1556 +3 1047 1028 1612 +3 3506 1556 1283 +3 3530 1285 1568 +3 3512 83 84 +3 1569 3531 1599 +3 1559 1293 3521 +3 3631 1732 100 +3 3523 1319 1560 +3 1051 1030 1620 +3 3508 1560 1319 +3 3532 1321 1570 +3 3514 51 52 +3 1592 1624 872 +3 1601 1637 1052 +3 1564 1582 3546 +3 3637 1628 1638 +3 3517 17 18 +3 3535 1273 1573 +3 3511 2317 837 +3 1057 1033 1632 +3 3589 1596 1584 +3 3643 2308 1276 +3 3602 1568 3567 +3 1034 3567 3590 +3 1557 1286 3512 +3 3591 1589 1576 +3 3555 955 1023 +3 3521 954 3569 +3 3627 1677 1617 +3 3604 1570 3571 +3 1036 3571 3592 +3 1561 1322 3514 +3 3542 1348 1625 +3 3572 1624 1592 +3 3557 968 1025 +3 2297 2618 2681 +3 3607 1573 3575 +3 1039 3575 3595 +3 1566 1272 3517 +3 1565 1583 3564 +3 3558 971 1027 +3 3577 1594 1582 +3 3547 1358 1626 +3 3584 1586 1575 +3 2496 3539 954 +3 3586 1590 1579 +3 2689 3542 969 +3 2718 3547 972 +3 3529 1275 1567 +3 2441 1249 2346 +3 1557 88 3560 +3 1561 65 3562 +3 1028 3566 1612 +3 3518 1022 3567 +3 1030 3570 1620 +3 3522 1024 3571 +3 3528 1026 3575 +3 3574 949 3529 +3 3512 84 88 +3 3584 3622 863 +3 76 78 3561 +3 1588 1616 870 +3 3514 52 65 +3 3586 3630 865 +3 42 44 3563 +3 3543 3581 3509 +3 879 873 1627 +3 11 13 3564 +3 1596 868 874 +3 3517 18 28 +3 1285 2047 3518 +3 1283 2017 3506 +3 3591 1576 3555 +3 3507 1559 3538 +3 1321 2239 3522 +3 1319 2209 3508 +3 3593 1580 3557 +3 3587 1592 866 +3 1638 3638 1055 +3 1038 1595 3594 +3 1273 948 3528 +3 1275 2317 3511 +3 1613 1282 3536 +3 1029 954 3539 +3 1621 1318 3540 +3 1624 3572 1031 +3 1633 1276 3544 +3 1032 1054 1644 +3 1558 1296 3550 +3 3563 40 1563 +3 16 14 3516 +3 3567 1568 3518 +3 3571 1570 3522 +3 3575 1573 3528 +3 3560 88 86 +3 3609 1604 1587 +3 3602 3567 1034 +3 1634 1598 3621 +3 1725 1083 1064 +3 3585 1577 1588 +3 3626 864 1653 +3 3579 3538 858 +3 1731 1087 1068 +3 1636 1600 3629 +3 3604 3571 1036 +3 3613 1606 1591 +3 3562 65 63 +3 3587 1581 1592 +3 1623 3633 1637 +3 3581 3543 860 +3 3588 1582 1594 +3 1602 1638 1055 +3 3606 3583 1602 +3 3565 28 26 +3 3619 1609 1597 +3 3607 3575 1039 +3 1639 1603 3641 +3 1740 1093 1074 +3 3530 1568 3602 +3 3531 1295 2177 +3 3532 1570 3604 +3 2695 2687 2257 +3 2724 2716 1937 +3 3535 1573 3607 +3 3566 1586 1612 +3 3611 1049 1029 +3 3570 1590 1620 +3 1625 1682 3614 +3 3577 1564 3526 +3 3574 1596 1632 +3 3578 838 3530 +3 3566 1556 1575 +3 3580 841 3532 +3 3570 1560 1579 +3 3574 1567 1584 +3 3582 837 3535 +3 3608 1064 1670 +3 3578 3602 1598 +3 3590 1574 1587 +3 86 85 3596 +3 75 76 3597 +3 3612 1068 1678 +3 3580 3604 1600 +3 3592 1578 1591 +3 63 64 3598 +3 41 42 3599 +3 10 11 3600 +3 3618 1074 1690 +3 3582 3607 1603 +3 3595 1585 1597 +3 26 25 3601 +3 3506 3578 3537 +3 3610 3597 1589 +3 858 1599 3579 +3 3508 3580 3541 +3 3509 1562 3543 +3 3632 43 1649 +3 3511 3582 3545 +3 3616 3600 1595 +3 3510 1564 3546 +3 1022 952 3554 +3 3554 3549 1557 +3 1576 1558 3555 +3 74 73 3513 +3 1024 962 3556 +3 3556 3551 1561 +3 1580 1563 3557 +3 40 39 3515 +3 1026 3528 3559 +3 3559 3548 1566 +3 3594 1583 3558 +3 3564 13 16 +3 1586 863 869 +3 1034 1587 1604 +3 3596 85 87 +3 1589 1035 1605 +3 1590 865 871 +3 1036 1591 1606 +3 3598 64 66 +3 43 41 3615 +3 1595 1038 1608 +3 3589 3642 868 +3 1039 1597 1609 +3 3601 25 27 +3 2346 1249 2437 +3 2041 1302 2523 +3 67 68 2501 +3 2233 1328 2616 +3 35 36 2680 +3 1 2393 2709 +3 3621 1611 1634 +3 3629 1619 1636 +3 3641 1631 1639 +3 3609 87 92 +3 1610 90 1694 +3 1058 1652 1611 +3 1647 1041 1614 +3 3603 1599 1048 +3 3613 66 61 +3 1618 59 1696 +3 3629 1600 1050 +3 1649 1043 1622 +3 1601 1052 3647 +3 1055 3638 1698 +3 3648 1055 1698 +3 3619 27 32 +3 1630 30 1699 +3 1063 1657 1631 +3 857 3537 3578 +3 1598 857 3578 +3 869 1612 1586 +3 1066 1059 1660 +3 3568 1569 3603 +3 871 1620 1590 +3 1600 859 3580 +3 859 3541 3580 +3 1071 1061 1664 +3 3573 1571 3605 +3 1072 1062 1666 +3 3576 1572 3606 +3 862 3545 3582 +3 1603 862 3582 +3 874 1632 1596 +3 3590 1022 3554 +3 3568 1041 1035 +3 3610 1647 77 +3 3592 1024 3556 +3 3573 1043 1037 +3 3599 3615 41 +3 1044 1650 1608 +3 3616 1650 12 +3 3595 1026 3559 +3 875 1640 1612 +3 3538 1577 3585 +3 1660 1701 1066 +3 877 1642 1620 +3 1664 1703 1071 +3 3543 1581 3587 +3 3588 1594 867 +3 1666 1704 1072 +3 880 1645 1632 +3 1040 1610 3644 +3 1040 1604 1646 +3 1647 3610 1605 +3 1605 1035 1041 +3 1042 1618 3646 +3 1042 1606 1648 +3 3615 3599 1593 +3 1607 1043 1649 +3 1698 5 1629 +3 3639 1629 5 +3 1045 1630 3649 +3 1045 1609 1651 +3 1646 92 3620 +3 1658 863 1652 +3 3566 1575 1586 +3 1640 887 1671 +3 1613 3536 3608 +3 1641 1029 1049 +3 1701 870 876 +3 864 3626 3585 +3 1615 1653 1059 +3 80 79 3651 +3 1621 3540 3612 +3 1642 889 1679 +3 3570 1579 1590 +3 1662 865 1654 +3 1648 61 3628 +3 1643 1031 1053 +3 1031 1643 1624 +3 866 3634 3587 +3 1623 1655 1061 +3 3653 3633 1665 +3 1644 1627 3577 +3 1704 873 879 +3 867 3637 3588 +3 1628 1656 1062 +3 4 3 3654 +3 1651 32 3640 +3 1668 868 1657 +3 1033 3574 1632 +3 1645 892 1691 +3 1633 3544 3618 +3 1040 3602 1034 +3 1035 1023 3568 +3 3597 3561 1576 +3 1042 3604 1036 +3 1037 1025 3573 +3 3615 1649 43 +3 1038 1027 3576 +3 3600 3564 1583 +3 1045 3607 1039 +3 857 1598 1634 +3 1059 1066 1674 +3 859 1600 1636 +3 1061 1685 1665 +3 1062 1072 1686 +3 862 1603 1639 +3 1058 1658 1652 +3 1659 89 91 +3 1659 1046 1694 +3 3626 858 3585 +3 1653 864 1660 +3 1635 858 3626 +3 3651 79 81 +3 1060 1662 1654 +3 1654 865 3630 +3 1663 1050 1696 +3 3634 860 3587 +3 1655 866 1664 +3 3634 866 1655 +3 1665 45 46 +3 3637 861 3588 +3 1656 867 1666 +3 1638 861 3637 +3 3654 3 5 +3 1063 1668 1657 +3 1669 29 31 +3 1669 1056 1699 +3 3623 1282 1613 +3 3608 1028 1047 +3 1672 1076 1718 +3 1706 1076 1065 +3 3621 1598 1046 +3 1694 90 3650 +3 3611 3539 1617 +3 882 876 1641 +3 1676 1049 1067 +3 1588 1577 3569 +3 1675 882 1719 +3 3631 1318 1621 +3 3612 1030 1051 +3 1680 1078 1720 +3 1710 1078 1069 +3 1060 1654 1619 +3 3652 59 60 +3 1703 878 1684 +3 1592 1581 3572 +3 1721 1079 1684 +3 1775 902 1734 +3 3635 1348 2244 +3 3617 3547 1626 +3 885 879 1644 +3 1688 891 885 +3 873 867 1594 +3 1687 885 1722 +3 3643 1276 1633 +3 3618 1033 1057 +3 1692 1081 1723 +3 1716 1081 1075 +3 3641 1603 1056 +3 1699 30 3655 +3 24 23 1742 +3 1724 94 93 +3 3657 1751 1771 +3 1751 1085 1095 +3 53 54 1744 +3 1730 57 55 +3 3659 1755 1777 +3 1755 1089 1097 +3 3660 1756 1783 +3 1756 1090 1098 +3 19 20 1746 +3 1739 33 21 + diff --git a/Polygon_mesh_processing/test/Polygon_mesh_processing/data/decimation/am3.off b/Polygon_mesh_processing/test/Polygon_mesh_processing/data/decimation/am3.off new file mode 100644 index 00000000000..4fb859a900e --- /dev/null +++ b/Polygon_mesh_processing/test/Polygon_mesh_processing/data/decimation/am3.off @@ -0,0 +1,3799 @@ +OFF +1303 2492 0 + +0.190895676612854 0.69433581829071045 -0.28529489040374756 +1.026505708694458 0.17509829998016357 -0.1059955358505249 +0.45510530471801758 1.3603968620300293 0.41224071383476257 +1.2907153367996216 0.84115934371948242 0.59154009819030762 +-0.29071533679962158 0.15884065628051758 0.40845987200737 +0.54489469528198242 -0.3603968620300293 0.58775925636291504 +-0.026505768299102783 0.82490170001983643 1.1059955358505249 +0.809104323387146 0.30566418170928955 1.2852948904037476 +0.74080550670623779 0.76774758100509644 0.15312260389328003 +0.25919449329376221 0.23225241899490356 0.84687739610671997 +0.3678952157497406 0.16696947813034058 0.15123218297958374 +0.917805016040802 0.24038124084472656 0.58964967727661133 +0.082194983959197998 0.75961875915527344 0.41035029292106628 +1.1586105823516846 0.508128821849823 0.24277231097221375 +0.60870075225830078 0.43471705913543701 -0.19564521312713623 +0.32300049066543579 1.0273663997650146 0.063472896814346313 +0.87291032075881958 1.1007781028747559 0.50189042091369629 +0.12708967924118042 -0.10077810287475586 0.49810957908630371 +0.67699950933456421 -0.027366340160369873 0.93652713298797607 +0.39129924774169922 0.56528294086456299 1.1956452131271362 +-0.15861052274703979 0.491871178150177 0.75722765922546387 +1.0499098300933838 0.57341176271438599 0.93841755390167236 +0.2142997682094574 1.0926492214202881 0.75911808013916016 +-0.049909830093383789 0.42658823728561401 0.061582475900650024 +0.78570020198822021 -0.092649281024932861 0.24088189005851746 +0.4658505916595459 0.73104166984558105 -0.066086173057556152 +1.0157604217529297 0.80445349216461182 0.37233138084411621 +0.88365566730499268 0.47142294049263 0.023563563823699951 +0.59795540571212769 1.0640722513198853 0.28268164396286011 +0.5341494083404541 0.26895830035209656 1.0660861730575562 +-0.015760421752929688 0.19554653763771057 0.62766861915588379 +0.40204459428787231 -0.064072251319885254 0.71731835603713989 +0.11634436249732971 0.52857708930969238 0.97643643617630005 +0.2793954610824585 0.43065264821052551 -0.067031383514404297 +0.45639497041702271 -0.096713662147521973 0.36949571967124939 +0.038589954376220703 0.16290506720542908 0.27984604239463806 +0.6972004771232605 0.17103388905525208 0.022618323564529419 +1.1042602062225342 0.54077029228210449 0.59059488773345947 +0.7313498854637146 -0.060007810592651367 0.58870446681976318 +0.97215539216995239 0.20773977041244507 0.2418271005153656 +0.86345463991165161 0.27302271127700806 0.93747234344482422 +-0.1042601466178894 0.45922970771789551 0.40940508246421814 +0.2686501145362854 1.0600078105926514 0.41129550337791443 +0.13654536008834839 0.72697728872299194 0.062527686357498169 +0.027844607830047607 0.79226022958755493 0.75817286968231201 +1.2246628999710083 0.6746441125869751 0.41715621948242188 +1.0925581455230713 0.34161356091499329 0.068388402462005615 +0.94970804452896118 0.63793820142745972 0.19794744253158569 +1.0382077693939209 0.37425503134727478 0.41621100902557373 +0.81760323047637939 0.30490767955780029 -0.15082037448883057 +0.39979821443557739 0.56452643871307373 -0.24047005176544189 +0.67475312948226929 0.60123229026794434 -0.021261334419250488 +0.4882979691028595 0.30084326863288879 -0.022206544876098633 +0.25694811344146729 0.86085104942321777 -0.11091101169586182 +0.3890528678894043 1.193881630897522 0.23785680532455444 +0.53190302848815918 0.89755696058273315 0.10829776525497437 +0.20259773731231689 0.89349257946014404 0.2369115948677063 +0.66400778293609619 1.2305874824523926 0.45706558227539062 +1.081812858581543 0.97096872329711914 0.54671525955200195 +0.80685794353485107 0.93426287174224854 0.32750651240348816 +-0.081812798976898193 0.029031276702880859 0.45328474044799805 +0.33599221706390381 -0.23058748245239258 0.54293441772460938 +0.19314208626747131 0.065737158060073853 0.67249345779418945 +0.2474924623966217 0.033095687627792358 0.32467088103294373 +0.6109471321105957 -0.19388163089752197 0.76214319467544556 +0.74305188655853271 0.13914892077445984 1.1109110116958618 +0.46809697151184082 0.10244303941726685 0.89170223474502563 +0.79740226268768311 0.10650745034217834 0.7630884051322937 +0.60020178556442261 0.43547356128692627 1.2404700517654419 +0.18239676952362061 0.69509232044219971 1.1508203744888306 +0.32524687051773071 0.39876767992973328 1.0212613344192505 +-0.092558145523071289 0.6583864688873291 0.93161159753799438 +-0.2246628999710083 0.32535591721534729 0.58284378051757812 +0.050291955471038818 0.36206179857254028 0.80205255746841431 +-0.038207769393920898 0.62574493885040283 0.58378899097442627 +0.92950707674026489 0.43953797221183777 1.11185622215271 +1.1703126430511475 0.70728552341461182 0.76497882604598999 +0.98385739326477051 0.40689650177955627 0.76403361558914185 +0.33470252156257629 1.2265230417251587 0.58567941188812256 +0.093897014856338501 0.95877552032470703 0.93255680799484253 +0.1482473611831665 0.92613399028778076 0.58473420143127441 +-0.17031258344650269 0.2927144467830658 0.23502117395401001 +0.070492923259735107 0.56046199798583984 -0.11185622215270996 +0.1589927077293396 0.29677885770797729 0.10640734434127808 +0.016142606735229492 0.59310352802276611 0.23596638441085815 +0.90610301494598389 0.041224509477615356 0.067443192005157471 +0.66529750823974609 -0.22652304172515869 0.41432058811187744 +0.5767977237701416 0.037160098552703857 0.1960570216178894 +0.8517526388168335 0.073865979909896851 0.41526579856872559 +0.32837313413619995 0.71268874406814575 -0.17569053173065186 +0.60332804918289185 0.74939465522766113 0.043518215417861938 +0.52352792024612427 0.58104407787322998 -0.14182615280151367 +0.40817326307296753 0.8810393214225769 0.0096538066864013672 +0.87828296422958374 0.78610050678253174 0.26272699236869812 +1.1532378196716309 0.82280641794204712 0.4819357693195343 +1.0734376907348633 0.65445584058761597 0.29659140110015869 +0.95808309316635132 0.95445108413696289 0.44807133078575134 +0.81223058700561523 0.61958527565002441 0.08834308385848999 +0.95508068799972534 0.3232606053352356 -0.041216015815734863 +0.73903566598892212 0.46788620948791504 -0.079562902450561523 +1.0282754898071289 0.47495964169502258 0.12668997049331665 +0.66938042640686035 0.91590988636016846 0.21790212392807007 +0.52653032541275024 1.2122344970703125 0.34746119379997253 +0.74257534742355347 1.0676089525222778 0.38580811023712158 +0.4533354640007019 1.0605355501174927 0.17955523729324341 +0.67162686586380005 0.28731125593185425 1.1756905317306519 +0.39667195081710815 0.25060534477233887 0.95648181438446045 +0.61932218074798584 0.12263128161430359 1.0122671127319336 +0.44897657632827759 0.41528534889221191 1.1199052333831787 +0.12171703577041626 0.21389949321746826 0.73727297782897949 +-0.15323787927627563 0.17719358205795288 0.51806426048278809 +0.069412380456924438 0.049219489097595215 0.57384955883026123 +-0.10093319416046143 0.34187355637550354 0.68148773908615112 +0.33061954379081726 0.084090113639831543 0.78209787607192993 +0.47346967458724976 -0.21223455667495728 0.65253877639770508 +0.53237956762313843 -0.030903041362762451 0.8334006667137146 +0.27170965075492859 -0.097241401672363281 0.60123598575592041 +0.18776941299438477 0.38041472434997559 0.91165691614151001 +0.044919312000274658 0.6767393946647644 1.0412160158157349 +-0.013990581035614014 0.49540787935256958 0.86035412549972534 +0.24667930603027344 0.56174623966217041 1.0925188064575195 +0.23514556884765625 0.56249421834945679 -0.1761631965637207 +0.32364535331726074 0.29881107807159424 0.042100429534912109 +0.1103178858757019 0.44180458784103394 -0.01363760232925415 +0.44847309589385986 0.41950070858001709 -0.12042510509490967 +0.41214507818222046 0.035127878189086914 0.26036393642425537 +0.50064486265182495 -0.22855526208877563 0.4786275327205658 +0.28731733560562134 -0.085561752319335938 0.42288950085639954 +0.6254725456237793 -0.10786563158035278 0.31610196828842163 +0.20324257016181946 0.16493725776672363 0.21553909778594971 +-0.12606269121170044 0.16087287664413452 0.34415295720100403 +0.010805308818817139 0.29494988918304443 0.16428357362747192 +0.066374540328979492 0.030860275030136108 0.39540848135948181 +0.53254783153533936 0.16900169849395752 0.086925268173217773 +0.86185312271118164 0.17306607961654663 -0.04168856143951416 +0.72498512268066406 0.038989067077636719 0.13818079233169556 +0.66941583156585693 0.30307868123054504 -0.092944145202636719 +1.1974878311157227 0.69096481800079346 0.59106755256652832 +1.0110325813293457 0.39057576656341553 0.59012234210968018 +1.1407580375671387 0.53946900367736816 0.41673088073730469 +1.0677621364593506 0.54207158088684082 0.76445895433425903 +0.8245774507522583 0.090186715126037598 0.58917713165283203 +0.63812226057052612 -0.21020233631134033 0.58823192119598389 +0.76784777641296387 -0.061309099197387695 0.4148404598236084 +0.69485193490982056 -0.058706521987915039 0.76256853342056274 +0.9449802041053772 0.2240605354309082 0.41573840379714966 +0.99933058023452759 0.19141900539398193 0.067915767431259155 +1.0626654624938965 0.35956639051437378 0.25969082117080688 +0.8816453218460083 0.055913209915161133 0.22396337985992432 +0.89062982797622681 0.25670197606086731 0.76356101036071777 +0.83627945184707642 0.2893434464931488 1.1113836765289307 +0.77294456958770752 0.12119609117507935 0.91960859298706055 +0.9539647102355957 0.42484927177429199 0.95533603429794312 +-0.19748777151107788 0.30903518199920654 0.40893247723579407 +-0.011032581329345703 0.60942423343658447 0.40987768769264221 +-0.086407780647277832 0.42788952589035034 0.2354465126991272 +-0.12211263179779053 0.49056988954544067 0.58336365222930908 +0.1754225492477417 0.9098132848739624 0.41082289814949036 +0.36187773942947388 1.2102023363113403 0.4117681086063385 +0.28650259971618652 1.028667688369751 0.23733693361282349 +0.25079768896102905 1.0913479328155518 0.58525407314300537 +0.10937017202377319 0.74329805374145508 0.23643898963928223 +0.16372054815292358 0.71065652370452881 -0.11138367652893066 +0.04060027003288269 0.57841479778289795 0.079446196556091309 +0.2324904203414917 0.87553972005844116 0.045609176158905029 +0.055019795894622803 0.7759394645690918 0.58426159620285034 +0.00066941976547241211 0.80858099460601807 0.93208420276641846 +0.12378969788551331 0.94082272052764893 0.74125438928604126 +-0.068100452423095703 0.64369779825210571 0.77509140968322754 +1.2576891183853149 0.75790172815322876 0.50434815883636475 +1.1916368007659912 0.59138643741607666 0.329964280128479 +1.1253135204315186 0.72896575927734375 0.39011669158935547 +1.1744951009750366 0.61886334419250488 0.48942235112190247 +1.1255843639373779 0.42487120628356934 0.15558034181594849 +1.0595319271087646 0.25835591554641724 -0.018803596496582031 +1.005515456199646 0.39570081233978271 0.049711376428604126 +1.0390158891677856 0.28540483117103577 0.15514150261878967 +1.0592610836029053 0.56245046854019165 0.21573275327682495 +0.84525680541992188 0.70284289121627808 0.17553502321243286 +0.97722983360290527 0.70731955766677856 0.27060741186141968 +0.92650163173675537 0.555991530418396 0.11858439445495605 +1.1050682067871094 0.45192009210586548 0.3295254111289978 +0.98803997039794922 0.31847429275512695 0.48847714066505432 +1.010685920715332 0.30487367510795593 0.34355103969573975 +1.0731750726699829 0.45634686946868896 0.49098074436187744 +0.92205452919006348 0.24000298976898193 -0.12840795516967773 +0.71315199136734009 0.36981236934661865 -0.1732327938079834 +0.84080964326858521 0.3868543803691864 -0.071457266807556152 +0.76743543148040771 0.24912694096565247 -0.078554272651672363 +0.5042494535446167 0.49962174892425537 -0.21805763244628906 +0.29534697532653809 0.62943112850189209 -0.26288247108459473 +0.42732006311416626 0.63390779495239258 -0.16781008243560791 +0.35135775804519653 0.49773469567298889 -0.1583440899848938 +0.63190710544586182 0.51666378974914551 -0.11628210544586182 +0.70227497816085815 0.67061364650726318 0.051398664712905884 +0.76179587841033936 0.54714506864547729 -0.0025842785835266113 +0.57540369033813477 0.65555399656295776 -0.048300862312316895 +0.56026023626327515 0.36792531609535217 -0.11351919174194336 +0.42809659242630005 0.23390638828277588 0.064512848854064941 +0.40125524997711182 0.35493052005767822 -0.040883541107177734 +0.58958852291107178 0.24535584449768066 -0.0075892210006713867 +0.22392189502716064 0.77759343385696411 -0.19810295104980469 +0.28997433185577393 0.94410872459411621 -0.023719072341918945 +0.35629761219024658 0.80652940273284912 -0.08387148380279541 +0.20678031444549561 0.80507034063339233 -0.038644909858703613 +0.35602670907974243 1.1106239557266235 0.15066486597061157 +0.42207908630371094 1.2771391868591309 0.3250487744808197 +0.47609555721282959 1.1397943496704102 0.25653383135795593 +0.33079260587692261 1.1257789134979248 0.31215390563011169 +0.42234998941421509 0.97304469347000122 0.090512454509735107 +0.63635426759719849 0.83265227079391479 0.1307101845741272 +0.50438117980957031 0.82817560434341431 0.035637795925140381 +0.55510938167572021 0.97950363159179688 0.187660813331604 +0.2647402286529541 0.95926368236541748 0.13776999711990356 +0.14239636063575745 0.82655566930770874 0.3236309289932251 +0.23011955618858337 0.96287393569946289 0.30957156419754028 +0.17623066902160645 0.82096308469772339 0.1497533917427063 +0.55955654382705688 1.2954921722412109 0.43465313315391541 +0.76845908164978027 1.1656827926635742 0.47947800159454346 +0.64080142974853516 1.1486407518386841 0.37770247459411621 +0.97736155986785889 1.0358734130859375 0.52430284023284912 +1.1862640380859375 0.90606403350830078 0.56912767887115479 +1.0542910099029541 0.90158736705780029 0.47405529022216797 +0.84970390796661377 1.0188313722610474 0.42252734303474426 +0.77933609485626221 0.86488151550292969 0.25484654307365417 +0.71981519460678101 0.98835009336471558 0.30882948637008667 +0.9062073826789856 0.87994116544723511 0.35454607009887695 +-0.18626409769058228 0.093935966491699219 0.43087229132652283 +0.022638440132141113 -0.0358734130859375 0.47569715976715088 +-0.043684840202331543 0.1017058789730072 0.53584957122802734 +-0.031644999980926514 0.084812015295028687 0.38101860880851746 +0.23154094815254211 -0.16568279266357422 0.52052199840545654 +0.44044345617294312 -0.29549217224121094 0.56534683704376221 +0.36351403594017029 -0.16120612621307373 0.61559438705444336 +0.38443267345428467 -0.16379570960998535 0.46080845594406128 +0.16521769762039185 -0.028103470802307129 0.58067440986633301 +0.22616827487945557 0.1489948034286499 0.7596854567527771 +0.10609936714172363 0.11982440948486328 0.65381646156311035 +0.28777351975440979 -0.00047844648361206055 0.68707704544067383 +0.17553019523620605 -0.033986330032348633 0.41598358750343323 +0.30769383907318115 0.10003256797790527 0.23795151710510254 +0.33453518152236938 -0.02099156379699707 0.34334790706634521 +0.14620190858840942 0.088583111763000488 0.31005358695983887 +0.57792091369628906 -0.27713924646377563 0.67495119571685791 +0.64397329092025757 -0.11062395572662354 0.84933513402938843 +0.51631563901901245 -0.12766599655151367 0.74755966663360596 +0.66111493110656738 -0.13810086250305176 0.68987703323364258 +0.71002566814422607 0.055891275405883789 1.0237190723419189 +0.77607810497283936 0.22240656614303589 1.1981029510498047 +0.65600919723510742 0.19323617219924927 1.0922340154647827 +0.79659414291381836 0.19535765051841736 1.0241578817367554 +0.58236801624298096 0.038849294185638428 0.9219435453414917 +0.38105428218841553 0.15653029084205627 0.87302523851394653 +0.44057515263557434 0.033061683177947998 0.81904232501983643 +0.50622498989105225 0.17511764168739319 0.97426712512969971 +0.73054176568984985 0.028842389583587646 0.84977400302886963 +0.84757006168365479 0.16228818893432617 0.69082224369049072 +0.82492411136627197 0.17588880658149719 0.83574837446212769 +0.76243495941162109 0.02441561222076416 0.68831866979598999 +0.70465302467346191 0.37056887149810791 1.2628824710845947 +0.49575051665306091 0.50037825107574463 1.2180576324462891 +0.56207376718521118 0.36279895901679993 1.1579052209854126 +0.28684800863265991 0.63018763065338135 1.1732327938079834 +0.077945470809936523 0.75999701023101807 1.1284079551696777 +0.15487492084503174 0.62571096420288086 1.0781604051589966 +0.35317128896713257 0.49260833859443665 1.1130803823471069 +0.29222068190574646 0.31551003456115723 0.93406933546066284 +0.41228955984115601 0.34468042850494385 1.0399383306503296 +0.23061543703079224 0.46498328447341919 1.0066777467727661 +-0.059531927108764648 0.74164408445358276 1.018803596496582 +-0.12558436393737793 0.57512879371643066 0.84441965818405151 +0.0020732879638671875 0.5921708345413208 0.94619512557983398 +-0.042390346527099609 0.71416717767715454 0.85934543609619141 +-0.19163674116134644 0.40861356258392334 0.670035719871521 +-0.25768911838531494 0.24209827184677124 0.49565181136131287 +-0.13762021064758301 0.27126866579055786 0.60152077674865723 +-0.16640263795852661 0.39345857501029968 0.50854671001434326 +-0.063979089260101318 0.4256555438041687 0.77181124687194824 +0.13733470439910889 0.30797454714775085 0.82072955369949341 +0.077813804149627686 0.43144315481185913 0.87471246719360352 +0.012163996696472168 0.28938719630241394 0.71948766708374023 +-0.10035026073455811 0.55997383594512939 0.682930588722229 +0.02199360728263855 0.69268184900283813 0.49706965684890747 +-0.065729618072509766 0.55636358261108398 0.51112902164459229 +-0.011840701103210449 0.69827443361282349 0.67094719409942627 +0.86930567026138306 0.37260109186172485 1.1985756158828735 +0.98970842361450195 0.50647485256195068 1.0251369476318359 +0.90198522806167603 0.37015661597251892 1.039196252822876 +1.1101112365722656 0.64034867286682129 0.85169816017150879 +1.2305140495300293 0.77422243356704712 0.67825949192047119 +1.1353453397750854 0.62519371509552002 0.69020909070968628 +1.0149425268173218 0.49131989479064941 0.86364781856536865 +0.95083117485046387 0.32363885641098022 0.67684167623519897 +1.0340251922607422 0.4626772403717041 0.69176745414733887 +0.93031513690948486 0.35068777203559875 0.85078668594360352 +0.39490389823913574 1.2934598922729492 0.49896004796028137 +0.27450114488601685 1.1595861911773682 0.67239874601364136 +0.30718070268630981 1.1571416854858398 0.51301944255828857 +0.15409839153289795 1.0257123708724976 0.84583747386932373 +0.033695638179779053 0.89183861017227173 1.0192761421203613 +0.067529916763305664 0.88624608516693115 0.84539860486984253 +0.18793267011642456 1.0201199054718018 0.67195987701416016 +0.12072554230690002 0.85675263404846191 0.51207423210144043 +0.098079532384872437 0.87035328149795532 0.65700030326843262 +0.20650768280029297 0.99423670768737793 0.51043707132339478 +-0.23051398992538452 0.22577756643295288 0.3217405378818512 +-0.11011123657226562 0.35965132713317871 0.14830183982849121 +-0.069021999835968018 0.23722702264785767 0.24963846802711487 +-0.14279073476791382 0.36209580302238464 0.30768114328384399 +0.010291546583175659 0.49352514743804932 -0.025136888027191162 +0.13069432973861694 0.62739890813827515 -0.19857561588287354 +0.15753564238548279 0.5063747763633728 -0.093179225921630859 +0.096860021352767944 0.6329914927482605 -0.024698019027709961 +0.051380753517150879 0.3711007833480835 0.076199769973754883 +0.24603542685508728 0.24269160628318787 0.12508434057235718 +0.10882487893104553 0.24099811911582947 0.17867347598075867 +0.20743319392204285 0.36357060074806213 0.024281352758407593 +-0.02354276180267334 0.49911767244338989 0.14874067902565002 +0.043664425611495972 0.66248488426208496 0.30862635374069214 +0.06631043553352356 0.64888423681259155 0.16370025277137756 +-0.042117714881896973 0.52500087022781372 0.31026348471641541 +0.96630436182022095 0.10816138982772827 -0.019276142120361328 +0.84590160846710205 -0.025712370872497559 0.15416252613067627 +0.80481243133544922 0.096711933612823486 0.052825897932052612 +0.93362480401992798 0.1106058657169342 0.14010316133499146 +0.72549885511398315 -0.15958619117736816 0.32760125398635864 +0.60509610176086426 -0.29345995187759399 0.50103998184204102 +0.57825475931167603 -0.17243587970733643 0.39564356207847595 +0.70026475191116333 -0.14443123340606689 0.48909032344818115 +0.68440967798233032 -0.037161827087402344 0.2262645959854126 +0.48975500464439392 0.091247349977493286 0.1773800253868103 +0.62696552276611328 0.092940837144851685 0.12379088997840881 +0.52835726737976074 -0.029631614685058594 0.27818301320075989 +0.82066750526428223 -0.010557472705841064 0.31565162539482117 +0.88477885723114014 0.1571236252784729 0.50245773792266846 +0.80158483982086182 0.018085241317749023 0.48753193020820618 +0.90529489517211914 0.13007470965385437 0.32851269841194153 +0.24588668346405029 0.70167696475982666 -0.24145317077636719 +0.39711189270019531 0.72186523675918579 -0.120888352394104 +0.35898393392562866 0.64919060468673706 -0.2034531831741333 +0.29776239395141602 0.77618688344955444 -0.14792788028717041 +0.53458935022354126 0.74021816253662109 -0.011283993721008301 +0.67206680774688721 0.75857114791870117 0.098320424556732178 +0.63393878936767578 0.68589651584625244 0.015755563974380493 +0.57271730899810791 0.81289279460906982 0.071280866861343384 +0.50706750154495239 0.67083680629730225 -0.083943963050842285 +0.57298821210861206 0.50879824161529541 -0.16325545310974121 +0.47404128313064575 0.58757919073104858 -0.17113590240478516 +0.6060144305229187 0.59205585718154907 -0.07606351375579834 +0.42463374137878418 0.79124659299850464 -0.04822838306427002 +0.35871303081512451 0.95328521728515625 0.031083136796951294 +0.45765990018844604 0.8745042085647583 0.038963556289672852 +0.32568681240081787 0.87002754211425781 -0.056108832359313965 +0.80954426527023315 0.7769240140914917 0.20792478322982788 +0.9470217227935791 0.79527699947357178 0.31752920150756836 +0.90889370441436768 0.72260236740112305 0.23496434092521667 +0.8476722240447998 0.84959864616394043 0.29048964381217957 +1.0844991207122803 0.81362992525100708 0.42713356018066406 +1.2357243299484253 0.83381819725036621 0.54769837856292725 +1.1838486194610596 0.75930827856063843 0.45417308807373047 +1.1226271390914917 0.88630455732345581 0.50969839096069336 +1.0569772720336914 0.74424856901168823 0.35447359085083008 +1.1228981018066406 0.58220994472503662 0.27516207098960876 +1.0239510536193848 0.66099095344543457 0.26728165149688721 +1.1559242010116577 0.66546761989593506 0.36235404014587402 +0.97454351186752319 0.86465835571289062 0.39018914103507996 +0.9086228609085083 1.0266969203948975 0.46950066089630127 +1.0075697898864746 0.94791597127914429 0.47738108038902283 +0.87559664249420166 0.9434393048286438 0.38230869174003601 +0.78202241659164429 0.70754265785217285 0.13526484370231628 +0.84794312715530396 0.54550409317016602 0.055953323841094971 +0.7533116340637207 0.61171972751617432 0.041369765996932983 +0.87546491622924805 0.61488544940948486 0.12861326336860657 +0.91936814785003662 0.39734178781509399 -0.0088261961936950684 +0.89616179466247559 0.3153950572013855 -0.088189303874969482 +0.83232545852661133 0.45142903923988342 -0.027503252029418945 +0.67743945121765137 0.44389352202415466 -0.14084303379058838 +0.72787421941757202 0.51633369922637939 -0.049915671348571777 +0.78189074993133545 0.3789888322353363 -0.11843061447143555 +0.93498581647872925 0.49141687154769897 0.074630320072174072 +1.089871883392334 0.49895235896110535 0.18797013163566589 +1.0394370555877686 0.42651218175888062 0.097042739391326904 +0.9854205846786499 0.56385707855224609 0.16555768251419067 +0.69958865642547607 0.82795250415802002 0.17098036408424377 +0.63366794586181641 0.98999106884002686 0.25029188394546509 +0.72829937934875488 0.92377543449401855 0.26487544178962708 +0.60614609718322754 0.92060971260070801 0.17763194441795349 +0.56224286556243896 1.1381533145904541 0.31507140398025513 +0.48367530107498169 1.3011319637298584 0.38632887601852417 +0.58544927835464478 1.2201001644134521 0.39443451166152954 +0.46761143207550049 1.204369068145752 0.30048787593841553 +0.64928555488586426 1.0840661525726318 0.33374843001365662 +0.80417156219482422 1.0916016101837158 0.44708824157714844 +0.75373685359954834 1.0191614627838135 0.35616087913513184 +0.69972032308578491 1.1565062999725342 0.42467582225799561 +0.54662525653839111 1.0440783500671387 0.23161488771438599 +0.39173924922943115 1.0365427732467651 0.11827507615089417 +0.44217395782470703 1.108983039855957 0.20920246839523315 +0.49619048833847046 0.97163808345794678 0.14068752527236938 +0.75411331653594971 0.29832300543785095 1.2414531707763672 +0.60288810729980469 0.27813476324081421 1.120888352394104 +0.70223760604858398 0.22381311655044556 1.1479278802871704 +0.64101606607437134 0.35080939531326294 1.2034531831741333 +0.46541064977645874 0.25978183746337891 1.0112839937210083 +0.32793319225311279 0.24142888188362122 0.90167957544326782 +0.42728269100189209 0.18710723519325256 0.928719162940979 +0.36606121063232422 0.31410348415374756 0.98424446582794189 +0.55245333909988403 0.20569458603858948 1.0299609899520874 +0.64128696918487549 0.046714812517166138 0.96891689300537109 +0.65690463781356812 0.14078989624977112 1.0523734092712402 +0.53683573007583618 0.1116195023059845 0.94650447368621826 +0.51584541797637939 0.33222201466560364 1.1022113561630249 +0.42701178789138794 0.49120178818702698 1.1632554531097412 +0.41139411926269531 0.39712667465209961 1.0797989368438721 +0.53146308660507202 0.42629709839820862 1.185667872428894 +0.19045573472976685 0.22307595610618591 0.79207521677017212 +0.052978277206420898 0.20472300052642822 0.68247079849243164 +0.1523277759552002 0.15040135383605957 0.70951032638549805 +0.091106295585632324 0.27739763259887695 0.76503562927246094 +-0.084499120712280273 0.18637007474899292 0.57286643981933594 +-0.1226271390914917 0.11369544267654419 0.49030160903930664 +-0.18384861946105957 0.24069172143936157 0.54582691192626953 +0.0025435686111450195 0.13228282332420349 0.59154343605041504 +0.091377139091491699 -0.026696920394897461 0.53049933910369873 +0.10699480772018433 0.06737816333770752 0.61395591497421265 +-0.013074100017547607 0.038207739591598511 0.5080869197845459 +-0.034064412117004395 0.25881025195121765 0.66379380226135254 +-0.12289804220199585 0.41779002547264099 0.72483789920806885 +-0.1385156512260437 0.32371494174003601 0.64138138294219971 +-0.018446743488311768 0.35288533568382263 0.74725031852722168 +0.27749848365783691 0.16898870468139648 0.81075221300125122 +0.36633205413818359 0.010008931159973145 0.74970811605453491 +0.3895384669303894 0.091955661773681641 0.82907116413116455 +0.2792893648147583 0.064096182584762573 0.73103106021881104 +0.43775713443756104 -0.13815337419509888 0.68492859601974487 +0.51632469892501831 -0.30113190412521362 0.61367112398147583 +0.53238856792449951 -0.20436900854110718 0.69951212406158447 +0.41455072164535522 -0.22010010480880737 0.60556548833847046 +0.46527892351150513 -0.068772017955780029 0.75758850574493408 +0.60826075077056885 -0.036542773246765137 0.88172495365142822 +0.49830514192581177 0.014485597610473633 0.84478050470352173 +0.57523459196090698 -0.11980044841766357 0.79453295469284058 +0.33881023526191711 -0.059372425079345703 0.67704814672470093 +0.19582840800285339 -0.09160161018371582 0.55291175842285156 +0.30578404664993286 -0.14263004064559937 0.58985614776611328 +0.22885462641716003 -0.0083439946174621582 0.64010369777679443 +0.2408905029296875 0.29551613330841064 0.88300257921218872 +0.15205687284469604 0.45449590682983398 0.94404667615890503 +0.12885051965713501 0.37254917621612549 0.86468362808227539 +0.23909959197044373 0.40040865540504456 0.96272373199462891 +0.080631852149963379 0.60265821218490601 1.0088262557983398 +0.0020642876625061035 0.76563674211502075 1.0800836086273193 +-0.013999581336975098 0.66887384653091431 0.99424266815185547 +0.10383820533752441 0.6846049427986145 1.0881893634796143 +0.053110003471374512 0.53327685594558716 0.93616628646850586 +-0.089871823787689209 0.50104761123657227 0.81202983856201172 +0.020083814859390259 0.4500192403793335 0.84897428750991821 +-0.056845605373382568 0.5843052864074707 0.89922183752059937 +0.17957872152328491 0.52387726306915283 1.0167067050933838 +0.32256054878234863 0.55610644817352295 1.1408430337905884 +0.21260491013526917 0.60713487863540649 1.1038986444473267 +0.28953433036804199 0.47284883260726929 1.0536510944366455 +0.20859566330909729 0.64159917831420898 -0.24164217710494995 +0.25727054476737976 0.49657344818115234 -0.1215972900390625 +0.16458016633987427 0.56162327527999878 -0.14860302209854126 +0.30571103096008301 0.56336516141891479 -0.20372331142425537 +0.30152040719985962 0.36473184823989868 -0.012465476989746094 +0.34577029943466187 0.23289027810096741 0.096666306257247925 +0.25307992100715637 0.29794013500213623 0.069660484790802002 +0.39421075582504272 0.29968202114105225 0.014540284872055054 +0.21447771787643433 0.41881909966468811 -0.031142473220825195 +0.03241652250289917 0.42760434746742249 0.029429018497467041 +0.11002644896507263 0.48372378945350647 -0.053554952144622803 +0.13686779141426086 0.36269965767860413 0.051841437816619873 +0.34431326389312744 0.44248619675636292 -0.10292023420333862 +0.5263744592666626 0.43370094895362854 -0.16349172592163086 +0.44876450300216675 0.37758150696754456 -0.080507814884185791 +0.42192316055297852 0.4986056387424469 -0.18590414524078369 +0.39002016186714172 0.10104867815971375 0.20579805970191956 +0.43427002429962158 -0.030792891979217529 0.31492984294891357 +0.34157967567443848 0.034256935119628906 0.28792408108711243 +0.48271051049232483 0.035998821258544922 0.23280388116836548 +0.47851988673210144 -0.16263449192047119 0.42406162619590759 +0.52719473838806152 -0.30766022205352783 0.54410654306411743 +0.43007940053939819 -0.22942620515823364 0.50618767738342285 +0.57121026515960693 -0.22768431901931763 0.45106738805770874 +0.39147716760635376 -0.10854721069335938 0.4053846001625061 +0.20941600203514099 -0.099761962890625 0.46595612168312073 +0.28702592849731445 -0.043642520904541016 0.38297218084335327 +0.31386727094650269 -0.16466665267944336 0.48836854100227356 +0.52131271362304688 -0.08488011360168457 0.33360686898231506 +0.70337390899658203 -0.093665361404418945 0.27303534746170044 +0.62576401233673096 -0.14978480339050293 0.35601931810379028 +0.59892266988754272 -0.028760671615600586 0.25062292814254761 +0.30297744274139404 0.15513592958450317 0.18712103366851807 +0.12091624736785889 0.16392117738723755 0.24769258499145508 +0.18427833914756775 0.22144079208374023 0.16876834630966187 +0.20795896649360657 0.10983392596244812 0.26636958122253418 +-0.04373633861541748 0.16188895702362061 0.31199946999549866 +-0.2248542308807373 0.15965354442596436 0.38273710012435913 +-0.14502692222595215 0.21737641096115112 0.2973821759223938 +-0.10709846019744873 0.10436934232711792 0.39092370867729187 +0.0064314603805541992 0.21766972541809082 0.23973333835601807 +-0.027784883975982666 0.36066743731498718 0.11614835262298584 +0.066632837057113647 0.28460660576820374 0.15301400423049927 +-0.087986230850219727 0.29373055696487427 0.20286771655082703 +0.070748448371887207 0.10814040899276733 0.31995868682861328 +0.10496476292610168 -0.034857273101806641 0.4435437023639679 +0.010547041893005371 0.041203528642654419 0.40667805075645447 +0.16516613960266113 0.032079577445983887 0.35682433843612671 +0.43281298875808716 0.17880302667617798 0.11534333229064941 +0.61487418413162231 0.1700177788734436 0.054771780967712402 +0.55151212215423584 0.11249816417694092 0.13369601964950562 +0.52783143520355225 0.22410503029823303 0.036094784736633301 +0.77952682971954346 0.17204999923706055 -0.0095350742340087891 +0.88081735372543335 0.11656254529953003 0.0050821900367736816 +0.84288889169692993 0.22956961393356323 -0.088459372520446777 +0.729358971118927 0.11626923084259033 0.062731027603149414 +0.76357531547546387 -0.026728510856628418 0.18631601333618164 +0.66915762424468994 0.049332350492477417 0.14945036172866821 +0.8237767219543457 0.040208399295806885 0.099596649408340454 +0.66504198312759399 0.22579854726791382 -0.017494320869445801 +0.63082563877105713 0.36879625916481018 -0.14107930660247803 +0.72524338960647583 0.29273542761802673 -0.10421371459960938 +0.57062429189682007 0.30185937881469727 -0.054359972476959229 +1.2534242868423462 0.78108155727386475 0.59135109186172485 +1.1508738994598389 0.61586755514144897 0.5908312201499939 +1.2091343402862549 0.68397021293640137 0.51653409004211426 +1.1858412027359009 0.69795942306518555 0.66560095548629761 +1.0576463937759399 0.46567302942276001 0.59035861492156982 +0.96441882848739624 0.31547850370407104 0.58988600969314575 +1.0226790904998779 0.38358116149902344 0.51558887958526611 +0.99938607215881348 0.39757037162780762 0.66465574502944946 +1.1078141927719116 0.52145379781723022 0.51809251308441162 +1.145022988319397 0.51628917455673218 0.32972794771194458 +1.1680155992507935 0.58839070796966553 0.43137314915657043 +1.0848215818405151 0.44935229420661926 0.41644731163978577 +1.1007061004638672 0.56008678674697876 0.6630973219871521 +1.0634974241256714 0.56525141000747681 0.85146188735961914 +1.0405046939849854 0.49314990639686584 0.7498166561126709 +1.1236987113952637 0.63218832015991211 0.76474249362945557 +0.87119120359420776 0.16528397798538208 0.58941340446472168 +0.77796363830566406 0.015089452266693115 0.58894079923629761 +0.83622395992279053 0.083192110061645508 0.51464366912841797 +0.81293094158172607 0.0971812903881073 0.66371053457260132 +0.68473607301712036 -0.13510507345199585 0.58846819400787354 +0.58218574523925781 -0.30031901597976685 0.58794832229614258 +0.64976882934570312 -0.21719694137573242 0.51369845867156982 +0.6264757513999939 -0.20320773124694824 0.66276532411575317 +0.73490393161773682 -0.079324305057525635 0.51620209217071533 +0.77211260795593262 -0.084488928318023682 0.32783752679824829 +0.79510527849197388 -0.012387394905090332 0.42948272824287415 +0.71191120147705078 -0.15142583847045898 0.41455689072608948 +0.72779583930969238 -0.0406913161277771 0.66120690107345581 +0.69058704376220703 -0.035526692867279053 0.84957146644592285 +0.66759443283081055 -0.1076282262802124 0.74792623519897461 +0.75078845024108887 0.031410187482833862 0.76285207271575928 +0.92135906219482422 0.22106474637985229 0.51714730262756348 +0.95856779813766479 0.21590012311935425 0.32878273725509644 +0.98493486642837524 0.28842958807945251 0.41594094038009644 +0.90839993953704834 0.16011938452720642 0.40104886889457703 +0.98574298620223999 0.19957941770553589 0.15487146377563477 +1.0156357288360596 0.18162661790847778 -0.036430954933166504 +1.0392851829528809 0.25578808784484863 0.06811833381652832 +0.95937585830688477 0.12704992294311523 0.067713260650634766 +1.0132647752761841 0.26896077394485474 0.22753143310546875 +1.1119967699050903 0.43303155899047852 0.24253600835800171 +1.0462909936904907 0.3522183895111084 0.31472337245941162 +1.0789705514907837 0.34977391362190247 0.15534403920173645 +0.9310460090637207 0.1465187668800354 0.25612276792526245 +0.83231401443481445 -0.017552077770233154 0.24111819267272949 +0.89801979064941406 0.063261151313781738 0.16893082857131958 +0.86534023284912109 0.065705627202987671 0.32831016182899475 +0.91425096988677979 0.25969773530960083 0.66215211153030396 +0.87704223394393921 0.26486235857009888 0.850516676902771 +0.85067516565322876 0.19233289361000061 0.763358473777771 +0.92721009254455566 0.3206430971622467 0.77825057506561279 +0.84986704587936401 0.28118306398391724 1.0244278907775879 +0.81997430324554443 0.29913589358329773 1.2157304286956787 +0.79632478952407837 0.2249743640422821 1.1111810207366943 +0.87623417377471924 0.35371255874633789 1.1115860939025879 +0.82234525680541992 0.21180170774459839 0.95176798105239868 +0.72361326217651367 0.047730922698974609 0.93676340579986572 +0.78931903839111328 0.12854409217834473 0.86457604169845581 +0.75663948059082031 0.13098856806755066 1.0239553451538086 +0.9045640230178833 0.33424368500709534 0.92317664623260498 +1.0032960176467896 0.4983144998550415 0.93818122148513794 +0.93759024143218994 0.41750133037567139 1.0103685855865479 +0.97026979923248291 0.41505685448646545 0.85098922252655029 +-0.25342428684234619 0.21891847252845764 0.40864890813827515 +-0.15087395906448364 0.38413244485855103 0.4091687798500061 +-0.18584120273590088 0.30204057693481445 0.33439904451370239 +-0.20913428068161011 0.31602978706359863 0.48346590995788574 +-0.057646393775939941 0.53432697057723999 0.40964138507843018 +0.03558117151260376 0.68452149629592896 0.41011399030685425 +0.00061389803886413574 0.60242962837219238 0.33534425497055054 +-0.02267909049987793 0.61641883850097656 0.48441112041473389 +-0.085168182849884033 0.46494561433792114 0.33698141574859619 +-0.063497424125671387 0.43474858999252319 0.14853811264038086 +-0.11819440126419067 0.38168799877166748 0.24978947639465332 +-0.030471205711364746 0.51800626516342163 0.23573008179664612 +-0.12335216999053955 0.45351380109786987 0.48182874917984009 +-0.14502298831939697 0.48371082544326782 0.67027205228805542 +-0.09032595157623291 0.53677141666412354 0.56902068853378296 +-0.17804914712905884 0.40045318007469177 0.58308005332946777 +0.12880879640579224 0.83471602201461792 0.41058659553527832 +0.22203636169433594 0.98491054773330688 0.41105920076370239 +0.18706905841827393 0.90281867980957031 0.33628946542739868 +0.16377606987953186 0.91680788993835449 0.48535633087158203 +0.31526392698287964 1.1351051330566406 0.41153180599212646 +0.41781425476074219 1.3003189563751221 0.41205167770385742 +0.3735242486000061 1.2032077312469482 0.33723467588424683 +0.35023120045661926 1.2171969413757324 0.48630154132843018 +0.28774210810661316 1.0657236576080322 0.33887183666229248 +0.30941292643547058 1.0355267524719238 0.15042853355407715 +0.25471591949462891 0.98246610164642334 0.25167989730834961 +0.34243911504745483 1.1187843084335327 0.23762050271034241 +0.24955818057060242 1.0542919635772705 0.48371917009353638 +0.22788739204406738 1.0844888687133789 0.67216247320175171 +0.28258439898490906 1.1375495195388794 0.57091110944747925 +0.19486117362976074 1.0012311935424805 0.58497047424316406 +0.10128694772720337 0.76533466577529907 0.33792662620544434 +0.12295776605606079 0.73513764142990112 0.149483323097229 +0.069415479898452759 0.67892897129058838 0.23623645305633545 +0.15047958493232727 0.80451899766921997 0.22214329242706299 +0.15013295412063599 0.71881693601608276 -0.024427950382232666 +0.18002566695213318 0.70086407661437988 -0.21573036909103394 +0.12376585602760315 0.64628744125366211 -0.11158615350723267 +0.20367521047592163 0.77502560615539551 -0.11118108034133911 +0.099965125322341919 0.66303616762161255 0.047838151454925537 +-0.0032960176467895508 0.5016855001449585 0.061818778514862061 +0.039763748645782471 0.59609925746917725 0.13455751538276672 +0.056905359029769897 0.5686224102973938 -0.024900555610656738 +0.17312556505203247 0.79091840982437134 0.077217221260070801 +0.27638670802116394 0.95226907730102539 0.063236594200134277 +0.23332697153091431 0.85785531997680664 -0.0095021724700927734 +0.21618533134460449 0.88533222675323486 0.14995595812797546 +0.063103020191192627 0.7539028525352478 0.48277395963668823 +0.041432201862335205 0.78409987688064575 0.67121726274490356 +0.094974488019943237 0.8403085470199585 0.58446413278579712 +0.013910382986068726 0.7147185206413269 0.59855729341506958 +0.01425701379776001 0.80042058229446411 0.84512853622436523 +-0.015635669231414795 0.81837338209152222 1.0364309549331665 +0.040624111890792847 0.87295007705688477 0.93228673934936523 +-0.039285242557525635 0.74421191215515137 0.93188166618347168 +0.064424842596054077 0.85620135068893433 0.77286243438720703 +0.16768598556518555 1.0175521373748779 0.75888180732727051 +0.12462621927261353 0.92313826084136963 0.68614304065704346 +0.1074846088886261 0.95061516761779785 0.84560120105743408 +-0.0087355971336364746 0.72831910848617554 0.74348336458206177 +-0.11199676990509033 0.56696844100952148 0.75746399164199829 +-0.068937003612518311 0.66138219833374023 0.83020269870758057 +-0.051795363426208496 0.63390529155731201 0.67074465751647949 +1.2742022275924683 0.7995305061340332 0.54794418811798096 +1.2411760091781616 0.71627289056777954 0.46075218915939331 +1.2109678983688354 0.80423033237457275 0.50767397880554199 +1.2330927848815918 0.73830950260162354 0.56223982572555542 +1.2081499099731445 0.63301527500152588 0.37356024980545044 +1.1751236915588379 0.54975759983062744 0.28636828064918518 +1.1220026016235352 0.63465625047683716 0.31502264738082886 +1.1615359783172607 0.5579180121421814 0.37332391738891602 +1.1898458003997803 0.69627898931503296 0.4096854031085968 +1.0734903812408447 0.78587740659713745 0.39806956052780151 +1.1193162202835083 0.79199504852294922 0.43460434675216675 +1.0981942415237427 0.68404370546340942 0.33661583065986633 +1.2045958042144775 0.65233176946640015 0.44606265425682068 +1.1410199403762817 0.58496689796447754 0.54726898670196533 +1.1379148960113525 0.55492222309112549 0.47473281621932983 +1.1709411144256592 0.63817983865737915 0.56192475557327271 +1.1420974731445312 0.46650001406669617 0.19917634129524231 +1.1090712547302246 0.38324236869812012 0.11198437213897705 +1.0733587741851807 0.45732355117797852 0.14437413215637207 +1.0854501724243164 0.3802466094493866 0.21339327096939087 +1.076045036315918 0.29998475313186646 0.02479243278503418 +1.0430188179016113 0.21672707796096802 -0.062399506568908691 +1.023926854133606 0.21101120114326477 0.010024130344390869 +1.0577410459518433 0.36324846744537354 0.060917586088180542 +0.94098305702209473 0.42838758230209351 0.030142664909362793 +0.98721140623092651 0.45896452665328979 0.085836529731750488 +0.95418524742126465 0.37570691108703613 -0.0013554096221923828 +1.0724910497665405 0.31930124759674072 0.097294837236404419 +0.99675172567367554 0.22733193635940552 0.18393543362617493 +1.005810022354126 0.22189170122146606 0.12596499919891357 +1.0543742179870605 0.33018171787261963 0.21323570609092712 +1.1237934827804565 0.52976369857788086 0.23530149459838867 +0.99683183431625366 0.61606889963150024 0.21378079056739807 +1.0706723928451538 0.6146622896194458 0.26395586133003235 +1.0321418046951294 0.51752841472625732 0.1622319221496582 +0.90258419513702393 0.65980756282806396 0.1821141242980957 +0.79853552579879761 0.74917149543762207 0.17886081337928772 +0.84436130523681641 0.75528919696807861 0.21539559960365295 +0.82874369621276855 0.66121411323547363 0.13193905353546143 +0.96071678400039673 0.66569077968597412 0.22701144218444824 +0.98942750692367554 0.76151371002197266 0.32090651988983154 +1.0404641628265381 0.70261979103088379 0.31087762117385864 +0.93601298332214355 0.76752448081970215 0.28846520185470581 +0.93869930505752563 0.61018562316894531 0.16888347268104553 +0.88276016712188721 0.52386921644210815 0.063424110412597656 +0.8589518666267395 0.57325661182403564 0.085017293691635132 +0.9863160252571106 0.51141077280044556 0.12569713592529297 +1.1385433673858643 0.48581653833389282 0.27167874574661255 +1.0616493225097656 0.39699530601501465 0.37281757593154907 +1.0818960666656494 0.39956313371658325 0.28589567542076111 +1.1204266548156738 0.49669700860977173 0.38761961460113525 +1.0181406736373901 0.35194271802902222 0.44511747360229492 +0.95456480979919434 0.28457784652709961 0.54632377624511719 +0.95145976543426514 0.25453317165374756 0.47378760576248169 +0.98448598384857178 0.33779078722000122 0.56097954511642456 +1.0271990299224854 0.34650248289108276 0.38714700937271118 +0.98672735691070557 0.25053435564041138 0.29784530401229858 +1.0297778844833374 0.31058958172798157 0.27112740278244019 +0.96957653760910034 0.24365267157554626 0.35784673690795898 +1.0492165088653564 0.4020075798034668 0.44527500867843628 +1.0777134895324707 0.48798534274101257 0.56145215034484863 +1.0466376543045044 0.43792048096656799 0.56129461526870728 +1.1113681793212891 0.50213724374771118 0.44559007883071899 +0.86982887983322144 0.27245533466339111 -0.13961410522460938 +0.95597612857818604 0.27081435918807983 -0.081076562404632568 +0.76537764072418213 0.33736002445220947 -0.16202658414840698 +0.66092634201049805 0.40226471424102783 -0.18443900346755981 +0.73516947031021118 0.42531746625900269 -0.1151047945022583 +0.68305128812789917 0.336343914270401 -0.12987315654754639 +0.82861196994781494 0.33266022801399231 -0.12175637483596802 +0.88455110788345337 0.41897666454315186 -0.016296982765197754 +0.90835940837860107 0.36958923935890198 -0.037890195846557617 +0.78099524974822998 0.43143510818481445 -0.078570008277893066 +0.79753613471984863 0.28259539604187012 -0.12191390991210938 +0.73906207084655762 0.2046474814414978 -0.025334715843200684 +0.69514268636703491 0.25926697254180908 -0.060854017734527588 +0.79959392547607422 0.19436228275299072 -0.03844153881072998 +0.55647510290145874 0.46716940402984619 -0.20685142278671265 +0.45202386379241943 0.53207409381866455 -0.22926384210586548 +0.52076256275177002 0.54125058650970459 -0.17446166276931763 +0.46411523222923279 0.45499715209007263 -0.16024470329284668 +0.34757262468338013 0.59697878360748291 -0.25167632102966309 +0.24312132596969604 0.66188347339630127 -0.27408874034881592 +0.29445147514343262 0.68187737464904785 -0.22302192449569702 +0.24783772230148315 0.60678011178970337 -0.22325825691223145 +0.41080695390701294 0.59227895736694336 -0.21140611171722412 +0.43951767683029175 0.68810194730758667 -0.11751103401184082 +0.49055439233779907 0.62920796871185303 -0.12753987312316895 +0.38610315322875977 0.69411265850067139 -0.14995229244232178 +0.37973111867904663 0.54221415519714355 -0.2115635871887207 +0.2920876145362854 0.47493857145309448 -0.11412644386291504 +0.27733767032623291 0.51888573169708252 -0.15050369501113892 +0.40923100709915161 0.45431977510452271 -0.13880908489227295 +0.61970949172973633 0.46246960759162903 -0.16658127307891846 +0.6680598258972168 0.56091439723968506 -0.057028412818908691 +0.69395256042480469 0.48552232980728149 -0.097247064113616943 +0.57209277153015137 0.56124448776245117 -0.12339490652084351 +0.68576186895370483 0.62898486852645874 0.0078026652336120605 +0.71447259187698364 0.72480785846710205 0.10169774293899536 +0.76550930738449097 0.66591387987136841 0.091668844223022461 +0.66105806827545166 0.73081856966018677 0.069256424903869629 +0.70957022905349731 0.57959741353988647 -0.013790488243103027 +0.82632821798324585 0.5144582986831665 0.016984462738037109 +0.78009980916976929 0.4838813841342926 -0.038709461688995361 +0.81312602758407593 0.56713902950286865 0.04848247766494751 +0.63993602991104126 0.62286722660064697 -0.028732120990753174 +0.52358061075210571 0.71246564388275146 -0.040347933769226074 +0.56940644979476929 0.71858328580856323 -0.0038131475448608398 +0.54828441143035889 0.61063194274902344 -0.10180169343948364 +0.58863359689712524 0.41240477561950684 -0.16673874855041504 +0.50663775205612183 0.33416655659675598 -0.060972809791564941 +0.49627375602722168 0.40023249387741089 -0.12013208866119385 +0.618133544921875 0.32451039552688599 -0.093984246253967285 +0.46995818614959717 0.26751998066902161 0.016559809446334839 +0.38058733940124512 0.21125537157058716 0.104137122631073 +0.36583739519119263 0.25520256161689758 0.067759841680526733 +0.4803222119808197 0.2014540433883667 0.075719058513641357 +0.45348089933395386 0.32247817516326904 -0.029677331447601318 +0.33478179574012756 0.3887830376625061 -0.04803001880645752 +0.39653888344764709 0.41003385186195374 -0.091714024543762207 +0.33633750677108765 0.34309694170951843 -0.0049946904182434082 +0.52311503887176514 0.27920836210250854 -0.014735698699951172 +0.63494133949279785 0.19233009219169617 0.025865316390991211 +0.58005708456039429 0.19165268540382385 0.047300994396209717 +0.63288348913192749 0.28056317567825317 -0.057606995105743408 +0.20740878582000732 0.73596465587615967 -0.2416989803314209 +0.24043500423431396 0.81922227144241333 -0.15450698137283325 +0.27064317464828491 0.73126482963562012 -0.20142877101898193 +0.18831685185432434 0.73024868965148926 -0.16927528381347656 +0.27346122264862061 0.90247988700866699 -0.067315042018890381 +0.30648738145828247 0.98573756217956543 0.019876927137374878 +0.35960847139358521 0.90083891153335571 -0.0087774395942687988 +0.25987362861633301 0.91064023971557617 0.019640624523162842 +0.29176515340805054 0.83921617269515991 -0.10344016551971436 +0.40812063217163086 0.74961775541305542 -0.091824352741241455 +0.36229485273361206 0.74350011348724365 -0.12835913896560669 +0.38341683149337769 0.85145145654678345 -0.030370593070983887 +0.23688101768493652 0.8385387659072876 -0.082004547119140625 +0.16858711838722229 0.75927996635437012 0.006745755672454834 +0.20322626829147339 0.8243868350982666 0.033857524394989014 +0.17020004987716675 0.74112921953201294 -0.053334414958953857 +0.33951359987258911 1.0689951181411743 0.10706886649131775 +0.37253981828689575 1.1522527933120728 0.19426083564758301 +0.4082522988319397 1.0781716108322144 0.16187107563018799 +0.31589245796203613 1.0659993886947632 0.20847773551940918 +0.40556597709655762 1.2355103492736816 0.28145277500152588 +0.43859219551086426 1.3187680244445801 0.36864474415779114 +0.47980910539627075 1.2585631608963013 0.350786954164505 +0.39748278260231018 1.2575470209121704 0.38294041156768799 +0.42386996746063232 1.1722466945648193 0.24532762169837952 +0.54062801599502563 1.1071076393127441 0.27610254287719727 +0.49439960718154907 1.0765306949615479 0.22040867805480957 +0.52742582559585571 1.1597882509231567 0.30760061740875244 +0.36898577213287354 1.1715693473815918 0.26676324009895325 +0.30425518751144409 1.1073524951934814 0.3824678361415863 +0.3353310227394104 1.1574172973632812 0.38262534141540527 +0.30683404207229614 1.0714396238327026 0.26644816994667053 +0.35781759023666382 1.005731463432312 0.070943713188171387 +0.48477917909622192 0.91942626237869263 0.092464417219161987 +0.41093862056732178 0.92083287239074707 0.04228934645652771 +0.44946920871734619 1.0179667472839355 0.14401328563690186 +0.57902687788009644 0.87568759918212891 0.12413108348846436 +0.68307554721832275 0.7863236665725708 0.12738439440727234 +0.63724970817565918 0.78020596504211426 0.090849608182907104 +0.65286737680435181 0.87428104877471924 0.17430615425109863 +0.52089428901672363 0.86980438232421875 0.079233765602111816 +0.49218353629112244 0.77398145198822021 -0.014661312103271484 +0.4411468505859375 0.83287537097930908 -0.004632413387298584 +0.54559808969497681 0.76797068119049072 0.017780005931854248 +0.54291176795959473 0.92530953884124756 0.13736173510551453 +0.59885084629058838 1.0116260051727295 0.2428210973739624 +0.62265920639038086 0.96223855018615723 0.22122791409492493 +0.49529504776000977 1.0240843296051025 0.18054807186126709 +0.30293339490890503 1.0050539970397949 0.092379331588745117 +0.23075735569000244 0.9281267523765564 0.20597416162490845 +0.27931225299835205 1.0020582675933838 0.19378820061683655 +0.24078166484832764 0.90492433309555054 0.092064261436462402 +0.17443814873695374 0.85885834693908691 0.26784902811050415 +0.11780005693435669 0.80696344375610352 0.38152259588241577 +0.14887592196464539 0.8570283055305481 0.38168013095855713 +0.12588325142860413 0.78492683172225952 0.28003495931625366 +0.21360647678375244 0.92124509811401367 0.26597559452056885 +0.24547794461250305 1.0076508522033691 0.36766576766967773 +0.27122899889945984 1.0240949392318726 0.29527586698532104 +0.21102762222290039 0.95715796947479248 0.38199520111083984 +0.19158899784088135 0.86574000120162964 0.20784759521484375 +0.14302489161491394 0.75744998455047607 0.12057685852050781 +0.13396650552749634 0.76289021968841553 0.17854732275009155 +0.20970582962036133 0.85485953092575073 0.091906726360321045 +0.50733089447021484 1.3279445171356201 0.42344692349433899 +0.61178219318389893 1.2630398273468018 0.44585934281349182 +0.52563488483428955 1.2646808624267578 0.38732177019119263 +0.71623343229293823 1.1981351375579834 0.46827179193496704 +0.82068467140197754 1.133230447769165 0.49068421125411987 +0.74644160270690918 1.110177755355835 0.42135003209114075 +0.65299904346466064 1.2028349637985229 0.42800158262252808 +0.59705996513366699 1.116518497467041 0.3225422203540802 +0.57325160503387451 1.1659059524536133 0.34413540363311768 +0.70061576366424561 1.1040600538253784 0.38481524586677551 +0.92513591051101685 1.0683257579803467 0.51309663057327271 +1.0295872688293457 1.0034210681915283 0.53550904989242554 +0.96084845066070557 0.99424457550048828 0.48070687055587769 +1.1340384483337402 0.93851637840270996 0.55792152881622314 +1.2384896278381348 0.8736116886138916 0.58033394813537598 +1.187159538269043 0.85361778736114502 0.52926713228225708 +1.0708041191101074 0.94321620464324951 0.51765131950378418 +1.0420932769775391 0.8473932147026062 0.42375621199607849 +0.99105662107467651 0.90628719329833984 0.43378511071205139 +1.0955078601837158 0.84138250350952148 0.45619753003120422 +0.86190158128738403 1.0730255842208862 0.47282645106315613 +0.81355118751525879 0.97458076477050781 0.36327362060546875 +0.7876584529876709 1.0499727725982666 0.403492271900177 +0.90951830148696899 0.9742506742477417 0.42964011430740356 +0.79584920406341553 0.90651029348373413 0.298442542552948 +0.76713848114013672 0.81068730354309082 0.2045474648475647 +0.71610170602798462 0.86958128213882446 0.2145763635635376 +0.82055294513702393 0.8046765923500061 0.23698878288269043 +0.77204084396362305 0.9558977484703064 0.32003569602966309 +0.65528285503387451 1.0210368633270264 0.28926074504852295 +0.7015112042427063 1.0516138076782227 0.34495466947555542 +0.66848504543304443 0.96835613250732422 0.25776273012161255 +0.84167498350143433 0.9126279354095459 0.33497732877731323 +0.95803046226501465 0.82302951812744141 0.34659317135810852 +0.91220462322235107 0.81691187620162964 0.3100583553314209 +0.9333266019821167 0.92486321926116943 0.4080469012260437 +-0.23848968744277954 0.1263883113861084 0.41966608166694641 +-0.13403844833374023 0.061483621597290039 0.44207850098609924 +-0.17357194423675537 0.1382218599319458 0.38377723097801208 +-0.029587209224700928 -0.0034210681915283203 0.46449095010757446 +0.074864089488983154 -0.06832575798034668 0.48690336942672729 +0.044655919075012207 0.019631683826446533 0.53382515907287598 +0.052739143371582031 -0.0024049282073974609 0.43233749270439148 +-0.070804059505462646 0.056783825159072876 0.48234868049621582 +-0.049682080745697021 0.16473519802093506 0.5803372859954834 +-0.09550786018371582 0.1586175262928009 0.54380249977111816 +0.020847558975219727 0.069019109010696411 0.55541825294494629 +-0.061745703220367432 0.051343560218811035 0.42437830567359924 +-0.003271639347076416 0.12929147481918335 0.32779908180236816 +0.040647745132446289 0.07467198371887207 0.36331838369369507 +-0.063803493976593018 0.13957667350769043 0.34090590476989746 +0.17931532859802246 -0.13323044776916504 0.50931578874588013 +0.28376656770706177 -0.1981351375579834 0.53172820806503296 +0.24805402755737305 -0.124053955078125 0.56411796808242798 +0.27167519927024841 -0.12105822563171387 0.46270909905433655 +0.38821780681610107 -0.26303982734680176 0.55414068698883057 +0.49266910552978516 -0.32794451713562012 0.5765531063079834 +0.47436511516571045 -0.26468080282211304 0.61267822980880737 +0.48795270919799805 -0.27284121513366699 0.52572262287139893 +0.34700092673301697 -0.20283496379852295 0.57199841737747192 +0.39063328504562378 -0.1162840723991394 0.66909527778625488 +0.32229715585708618 -0.10100126266479492 0.63345217704772949 +0.42674839496612549 -0.16590595245361328 0.65586459636688232 +0.35605931282043457 -0.2082751989364624 0.51402795314788818 +0.4437028169631958 -0.14099961519241333 0.41659080982208252 +0.45845276117324829 -0.18494677543640137 0.4529680609703064 +0.32655942440032959 -0.12038081884384155 0.44127348065376282 +0.13809841871261597 -0.07302558422088623 0.52717351913452148 +0.1715272068977356 0.034691363573074341 0.63352459669113159 +0.10789024829864502 0.014931857585906982 0.57409530878067017 +0.22975006699562073 -0.060790300369262695 0.60024315118789673 +0.21475696563720703 0.096782952547073364 0.71146237850189209 +0.22527283430099487 0.20144104957580566 0.7995460033416748 +0.17944702506065369 0.1953234076499939 0.76301121711730957 +0.27839392423629761 0.11654245853424072 0.77089166641235352 +0.15832501649856567 0.087372064590454102 0.66502267122268677 +0.046285033226013184 0.16440510749816895 0.64670372009277344 +0.054769217967987061 0.099830478429794312 0.60274970531463623 +0.087795376777648926 0.18308812379837036 0.6899416446685791 +0.22795915603637695 0.044102251529693604 0.67996430397033691 +0.35532334446907043 -0.017743587493896484 0.72064411640167236 +0.33151495456695557 0.031643837690353394 0.74223726987838745 +0.27557587623596191 -0.054672598838806152 0.63677793741226196 +0.14715683460235596 -0.078465819358825684 0.46920314431190491 +0.22915267944335938 -0.00022757053375244141 0.36343720555305481 +0.23951670527458191 -0.066293537616729736 0.42259645462036133 +0.1176568865776062 0.009428560733795166 0.39644861221313477 +0.26583224534988403 0.066418975591659546 0.28590455651283264 +0.3552030622959137 0.12268358469009399 0.19832724332809448 +0.36995303630828857 0.078736394643783569 0.23470452427864075 +0.2554682195186615 0.13248491287231445 0.22674530744552612 +0.28230953216552734 0.011460781097412109 0.3321416974067688 +0.40100863575935364 -0.054844081401824951 0.35049441456794739 +0.33925154805183411 -0.076094865798950195 0.39417839050292969 +0.39945292472839355 -0.009158015251159668 0.30745905637741089 +0.21267536282539368 0.054730594158172607 0.31720006465911865 +0.10084912180900574 0.14160886406898499 0.27659904956817627 +0.15573334693908691 0.1422862708568573 0.25516337156295776 +0.10290694236755371 0.053375780582427979 0.36007136106491089 +0.56140780448913574 -0.31876808404922485 0.63135528564453125 +0.59443402290344238 -0.23551040887832642 0.71854722499847412 +0.52019089460372925 -0.25856316089630127 0.64921307563781738 +0.60251724720001221 -0.25754702091217041 0.61705958843231201 +0.62746018171310425 -0.15225279331207275 0.80573916435241699 +0.66048640012741089 -0.068995118141174316 0.89293110370635986 +0.57433915138244629 -0.067354202270507812 0.83439350128173828 +0.67407399415969849 -0.077155470848083496 0.80597549676895142 +0.57613003253936768 -0.17224669456481934 0.75467240810394287 +0.44876584410667419 -0.11040085554122925 0.71399253606796265 +0.47257417440414429 -0.15978825092315674 0.69239938259124756 +0.52851331233978271 -0.07347184419631958 0.79785871505737305 +0.63101422786712646 -0.17156928777694702 0.73323678970336914 +0.69459009170532227 -0.10420441627502441 0.6320304274559021 +0.69769513607025146 -0.074159741401672363 0.7045665979385376 +0.6646689772605896 -0.15741735696792603 0.61737465858459473 +0.69351261854171753 0.014262467622756958 0.98012304306030273 +0.72653877735137939 0.097520112991333008 1.0673151016235352 +0.65780007839202881 0.088343620300292969 1.0125129222869873 +0.75015991926193237 0.10051590204238892 0.96590614318847656 +0.75956499576568604 0.18077772855758667 1.1545069217681885 +0.79259121417999268 0.26403537392616272 1.2416989803314209 +0.72935682535171509 0.26873517036437988 1.2014287710189819 +0.81168317794799805 0.26975128054618835 1.1692752838134766 +0.70823484659194946 0.16078382730484009 1.1034401655197144 +0.5961948037147522 0.23781687021255493 1.0851212739944458 +0.60467898845672607 0.1732422411441803 1.0411672592163086 +0.63770514726638794 0.25649988651275635 1.1283590793609619 +0.76311898231506348 0.1614612340927124 1.0820045471191406 +0.83885830640792847 0.25343054533004761 0.99536395072937012 +0.82979995012283325 0.25887078046798706 1.0533344745635986 +0.78123581409454346 0.15058073401451111 0.9660637378692627 +0.64218240976333618 -0.0057314634323120117 0.92905628681182861 +0.51050281524658203 0.068679749965667725 0.89507961273193359 +0.55603516101837158 -0.004090428352355957 0.87051868438720703 +0.594565749168396 0.09304344654083252 0.97224265336990356 +0.43327990174293518 0.12407794594764709 0.88423144817352295 +0.32123991847038269 0.20111098885536194 0.86591249704360962 +0.32972407341003418 0.1365363597869873 0.82195842266082764 +0.36275029182434082 0.21979400515556335 0.90915036201477051 +0.45708823204040527 0.074690490961074829 0.86263823509216309 +0.41345590353012085 -0.011860370635986328 0.7655414342880249 +0.48179203271865845 -0.027143239974975586 0.80118453502655029 +0.37734079360961914 0.037761479616165161 0.77877211570739746 +0.47910571098327637 0.13019558787345886 0.92076623439788818 +0.50022774934768677 0.23814693093299866 1.0187547206878662 +0.45440191030502319 0.23202928900718689 0.98221999406814575 +0.57075732946395874 0.1424308717250824 0.99383580684661865 +0.69706660509109497 -0.0050540566444396973 0.90762066841125488 +0.7739606499671936 0.083767175674438477 0.80648183822631836 +0.75371396541595459 0.081199347972869873 0.89340376853942871 +0.71518337726593018 -0.015934526920318604 0.79167979955673218 +0.81746935844421387 0.12881976366043091 0.73418194055557251 +0.88104522228240967 0.19618463516235352 0.63297563791275024 +0.88415026664733887 0.22622931003570557 0.70551180839538574 +0.85112404823303223 0.1429716944694519 0.61831986904144287 +0.80841100215911865 0.13425999879837036 0.79215240478515625 +0.84888267517089844 0.23022812604904175 0.88145411014556885 +0.8058321475982666 0.17017289996147156 0.90817201137542725 +0.86603349447250366 0.23710981011390686 0.82145267724990845 +0.78639352321624756 0.078754901885986328 0.73402440547943115 +0.7578965425491333 -0.0072228312492370605 0.6178472638130188 +0.78897237777709961 0.042842000722885132 0.61800479888916016 +0.72424179315567017 -0.021374762058258057 0.73370933532714844 +0.75687867403030396 0.33811652660369873 1.2740887403488159 +0.65242737531661987 0.40302121639251709 1.2516763210296631 +0.70554852485656738 0.31812262535095215 1.2230219841003418 +0.54797613620758057 0.46792590618133545 1.2292637825012207 +0.44352489709854126 0.53283059597015381 1.2068514823913574 +0.47373306751251221 0.4448731541633606 1.159929633140564 +0.58919304609298706 0.40772101283073425 1.2114061117172241 +0.56807100772857666 0.29976963996887207 1.1134175062179565 +0.61389684677124023 0.30588731169700623 1.1499522924423218 +0.49754142761230469 0.39548572897911072 1.1383365392684937 +0.33907362818717957 0.59773528575897217 1.184438943862915 +0.23462235927581787 0.66263997554779053 1.1620266437530518 +0.27033489942550659 0.58855879306793213 1.1296367645263672 +0.13017112016677856 0.72754466533660889 1.1396141052246094 +0.025719881057739258 0.79244935512542725 1.1172016859054565 +0.044023841619491577 0.72918564081192017 1.0810766220092773 +0.17138803005218506 0.66733980178833008 1.1217563152313232 +0.12775567173957825 0.58078891038894653 1.0246595144271851 +0.19609180092811584 0.56550610065460205 1.0603026151657104 +0.091640591621398926 0.63041079044342041 1.0378901958465576 +0.38029053807258606 0.53753042221069336 1.1665812730789185 +0.34686174988746643 0.42981347441673279 1.0602302551269531 +0.41049867868423462 0.44957298040390015 1.119659423828125 +0.2886388897895813 0.52529513835906982 1.0935115814208984 +0.303631991147995 0.36772188544273376 0.98229241371154785 +0.29311612248420715 0.26306378841400146 0.89420878887176514 +0.33894193172454834 0.26918143033981323 0.93074357509613037 +0.23999506235122681 0.34796237945556641 0.92286312580108643 +0.36006397008895874 0.37713277339935303 1.0287320613861084 +0.47210395336151123 0.30009973049163818 1.0470510721206665 +0.46361976861953735 0.36467435956001282 1.0910050868988037 +0.43059355020523071 0.28141671419143677 1.0038131475448608 +0.29042977094650269 0.42040258646011353 1.013790488243103 +0.16306561231613159 0.48224842548370361 0.97311067581176758 +0.18687397241592407 0.43286100029945374 0.95151752233505249 +0.24281308054924011 0.51917743682861328 1.0569767951965332 +-0.043018817901611328 0.78327292203903198 1.0623995065689087 +-0.076045036315917969 0.70001524686813354 0.97520756721496582 +-0.0018019676208496094 0.7230679988861084 1.0445417165756226 +-0.023926854133605957 0.78898882865905762 0.98997586965560913 +-0.10907125473022461 0.61675763130187988 0.88801562786102295 +-0.14209741353988647 0.53349995613098145 0.80082368850708008 +-0.055950164794921875 0.53185904026031494 0.85936129093170166 +-0.095483660697937012 0.6085972785949707 0.80105996131896973 +-0.057741045951843262 0.63675153255462646 0.93908238410949707 +0.069623112678527832 0.57490569353103638 0.97976225614547729 +0.045814752578735352 0.62429308891296387 1.0013554096221924 +-0.010124385356903076 0.53797668218612671 0.89589607715606689 +-0.072491049766540527 0.68069875240325928 0.90270519256591797 +-0.0041971206665039062 0.75995755195617676 0.81395483016967773 +-0.038836300373077393 0.69485068321228027 0.78684306144714355 +-0.005810081958770752 0.77810829877853394 0.87403500080108643 +-0.17512363195419312 0.45024237036705017 0.71363174915313721 +-0.20814985036849976 0.36698472499847412 0.62643975019454956 +-0.13941109180450439 0.37616121768951416 0.68124192953109741 +-0.15150249004364014 0.45323812961578369 0.61222285032272339 +-0.24117600917816162 0.28372710943222046 0.53924781084060669 +-0.27420222759246826 0.20046946406364441 0.45205584168434143 +-0.2330927848815918 0.26169046759605408 0.43776017427444458 +-0.18984586000442505 0.30372101068496704 0.59031462669372559 +-0.077805876731872559 0.2266879677772522 0.60863351821899414 +-0.08629000186920166 0.29126259684562683 0.65258759260177612 +-0.1193162202835083 0.20800495147705078 0.56539565324783325 +-0.20459580421447754 0.34766823053359985 0.55393731594085693 +-0.1398652195930481 0.41188496351242065 0.43823274970054626 +-0.1709410548210144 0.36182016134262085 0.43807524442672729 +-0.14244407415390015 0.44779789447784424 0.55425238609313965 +-0.12379348278045654 0.47023630142211914 0.76469850540161133 +0.0078861713409423828 0.3958250880241394 0.79867517948150635 +-0.037646174430847168 0.46859529614448547 0.82323610782623291 +-0.076176762580871582 0.37146139144897461 0.72151213884353638 +0.085109055042266846 0.34042689204216003 0.80952334403991699 +0.19714903831481934 0.2633938193321228 0.82784229516983032 +0.18866485357284546 0.32796847820281982 0.8717963695526123 +0.15563866496086121 0.24471083283424377 0.78460443019866943 +0.061300694942474365 0.3898143470287323 0.83111655712127686 +0.10493305325508118 0.47636520862579346 0.92821335792541504 +0.036596894264221191 0.49164804816246033 0.89257025718688965 +0.1410481333732605 0.42674335837364197 0.91498267650604248 +0.039283215999603271 0.33430925011634827 0.77298855781555176 +0.018161207437515259 0.22635790705680847 0.67500001192092896 +0.063987016677856445 0.23247554898262024 0.71153479814529419 +-0.052368402481079102 0.32207396626472473 0.69991898536682129 +-0.13854342699050903 0.51418346166610718 0.72832125425338745 +-0.066367387771606445 0.59111076593399048 0.61472642421722412 +-0.11492228507995605 0.51717925071716309 0.62691235542297363 +-0.076391696929931641 0.61431318521499634 0.72863632440567017 +-0.010048151016235352 0.66037917137145996 0.55285155773162842 +0.046589910984039307 0.71227407455444336 0.4391779899597168 +0.01551404595375061 0.66220921277999878 0.43902045488357544 +0.03850671648979187 0.73431068658828735 0.54066562652587891 +-0.049216508865356445 0.5979924201965332 0.55472499132156372 +-0.081087946891784668 0.51158666610717773 0.45303481817245483 +-0.10683906078338623 0.4951426088809967 0.52542471885681152 +-0.046637654304504395 0.56207948923110962 0.43870538473129272 +-0.027199029922485352 0.65349751710891724 0.61285299062728882 +0.021365076303482056 0.7617875337600708 0.70012372732162476 +0.030423462390899658 0.75634729862213135 0.64215326309204102 +-0.045315861701965332 0.66437798738479614 0.72879385948181152 +0.83920502662658691 0.3391326367855072 1.2419352531433105 +0.89940637350082397 0.40606951713562012 1.155215859413147 +0.84275901317596436 0.31981611251831055 1.1694328784942627 +0.95960772037506104 0.47300642728805542 1.0684965848922729 +1.0198091268539429 0.53994333744049072 0.98177719116210938 +0.97319531440734863 0.46484607458114624 0.98154091835021973 +0.91849833726882935 0.41178542375564575 1.0827922821044922 +0.87802666425704956 0.31581729650497437 0.99349051713943481 +0.92107713222503662 0.37587252259254456 0.96677261590957642 +0.86087578535079956 0.30893561244010925 1.0534919500350952 +1.0800105333328247 0.60688018798828125 0.89505785703659058 +1.140211820602417 0.67381709814071655 0.80833852291107178 +1.0880937576293945 0.58484357595443726 0.79357022047042847 +1.2004132270812988 0.74075400829315186 0.7216191291809082 +1.2606146335601807 0.80769085884094238 0.6348997950553894 +1.2240344285964966 0.74374979734420776 0.62021028995513916 +1.1593039035797119 0.67953300476074219 0.73591482639312744 +1.1308068037033081 0.5935552716255188 0.61973762512207031 +1.1618826389312744 0.64362013339996338 0.61989521980285645 +1.0971521139144897 0.5794033408164978 0.73559975624084473 +1.0389010906219482 0.54565918445587158 0.90935355424880981 +1.0023115873336792 0.44735956192016602 0.79520738124847412 +1.0469843149185181 0.52362257242202759 0.80786591768264771 +0.97674936056137085 0.4455295205116272 0.9090384840965271 +0.96540319919586182 0.36643344163894653 0.73285984992980957 +0.9443516731262207 0.29316619038581848 0.61879247426986694 +0.97542750835418701 0.34323105216026306 0.6189500093460083 +0.92073047161102295 0.29017043113708496 0.72020137310028076 +1.0039246082305908 0.42920881509780884 0.73512715101242065 +1.0675003528594971 0.49657368659973145 0.63392078876495361 +1.0706055164337158 0.5266183614730835 0.70645701885223389 +1.0375792980194092 0.44336074590682983 0.61926507949829102 +0.96379029750823975 0.38458418846130371 0.79294008016586304 +0.88805097341537476 0.29261487722396851 0.87958067655563354 +0.89710938930511475 0.28717464208602905 0.8216102123260498 +0.94567346572875977 0.39546471834182739 0.90888094902038574 +0.42500460147857666 1.3269283771514893 0.45560038089752197 +0.36480322480201721 1.2599915266036987 0.54231977462768555 +0.38842439651489258 1.2629873752593994 0.44091087579727173 +0.30460184812545776 1.1930546760559082 0.62903904914855957 +0.24440047144889832 1.1261177062988281 0.71575844287872314 +0.25798806548118591 1.1179573535919189 0.62880277633666992 +0.32369378209114075 1.1987705230712891 0.55661547183990479 +0.29182237386703491 1.1123647689819336 0.45492523908615112 +0.26607128977775574 1.0959208011627197 0.52731513977050781 +0.32627266645431519 1.1628576517105103 0.44059580564498901 +0.18419906497001648 1.0591808557510376 0.80247777700424194 +0.12399768829345703 0.99224394559860229 0.88919711112976074 +0.13208094239234924 0.97020727396011353 0.78770947456359863 +0.063796311616897583 0.92530703544616699 0.97591650485992432 +0.0035949349403381348 0.85837018489837646 1.0626358985900879 +0.0071489810943603516 0.83905363082885742 0.99013340473175049 +0.082888275384902954 0.93102288246154785 0.90349280834197998 +0.034324139356613159 0.82273286581039429 0.81622207164764404 +0.025265753269195557 0.82817316055297852 0.87419253587722778 +0.10100507736206055 0.92014247179031372 0.78755199909210205 +0.20329102873802185 1.0648967027664185 0.73005414009094238 +0.15810137987136841 0.9570346474647522 0.62829643487930298 +0.15117287635803223 0.97592318058013916 0.71528583765029907 +0.22140783071517944 1.0540162324905396 0.61411327123641968 +0.13723865151405334 0.89838147163391113 0.55567020177841187 +0.10536718368530273 0.81197577714920044 0.45398002862930298 +0.07961609959602356 0.79553163051605225 0.52636992931365967 +0.1398175060749054 0.86246860027313232 0.43965059518814087 +0.12818023562431335 0.90382170677185059 0.61364066600799561 +0.059886395931243896 0.82456290721893311 0.70239102840423584 +0.094525516033172607 0.88966977596282959 0.72950273752212524 +0.061499357223510742 0.80641216039657593 0.64231079816818237 +0.16831448674201965 0.94844633340835571 0.55582773685455322 +0.23304510116577148 1.0126631259918213 0.44012320041656494 +0.2019692063331604 0.96259826421737671 0.43996566534042358 +0.23046621680259705 1.0485759973526001 0.55614280700683594 +-0.26061463356018066 0.19230911135673523 0.3651002049446106 +-0.2004132866859436 0.25924599170684814 0.27838084101676941 +-0.18832188844680786 0.18216904997825623 0.34739995002746582 +-0.22403442859649658 0.25625020265579224 0.37978971004486084 +-0.14021188020706177 0.32618290185928345 0.19166150689125061 +-0.080010533332824707 0.39311978220939636 0.10494214296340942 +-0.04047703742980957 0.3163815438747406 0.16324341297149658 +-0.093598127365112305 0.40128016471862793 0.19189780950546265 +-0.13549548387527466 0.27107954025268555 0.24249199032783508 +-0.023669242858886719 0.18420124053955078 0.28309303522109985 +-0.078553438186645508 0.18352383375167847 0.30452868342399597 +-0.02572709321975708 0.27243435382843018 0.19962069392204285 +-0.15930384397506714 0.32046699523925781 0.26408514380455017 +-0.12743240594863892 0.40687271952629089 0.36577534675598145 +-0.10168129205703735 0.42331680655479431 0.29338544607162476 +-0.16188269853591919 0.35637989640235901 0.38010478019714355 +-0.019809126853942871 0.46005669236183167 0.018222808837890625 +0.040392249822616577 0.52699357271194458 -0.068496584892272949 +0.0625171959400177 0.46107280254364014 -0.013930678367614746 +0.032309025526046753 0.54903024435043335 0.032991111278533936 +0.10059362649917603 0.59393048286437988 -0.15521585941314697 +0.16079500317573547 0.66086733341217041 -0.24193525314331055 +0.19295352697372437 0.60610270500183105 -0.20182257890701294 +0.15724098682403564 0.68018388748168945 -0.16943281888961792 +0.10531002283096313 0.53882712125778198 -0.1043853759765625 +0.22400915622711182 0.47252225875854492 -0.086032748222351074 +0.16225209832191467 0.45127144455909729 -0.042348742485046387 +0.22245347499847412 0.51820832490921021 -0.12906801700592041 +0.081501662731170654 0.58821457624435425 -0.082792282104492188 +0.13006582856178284 0.69650465250015259 0.0044784843921661377 +0.13912421464920044 0.69106435775756836 -0.053491950035095215 +0.063384890556335449 0.59909504652023315 0.033148616552352905 +-0.015092730522155762 0.40495336055755615 0.069053292274475098 +0.10992780327796936 0.31981396675109863 0.10299623012542725 +0.024440735578536987 0.328215092420578 0.12735456228256226 +0.094675689935684204 0.40630814433097839 0.026181995868682861 +0.19380980730056763 0.27514395117759705 0.11387813091278076 +0.31250888109207153 0.20883908867835999 0.13223084807395935 +0.250751793384552 0.18758827447891235 0.17591482400894165 +0.31095319986343384 0.25452518463134766 0.089195489883422852 +0.13892558217048645 0.27446657419204712 0.13531380891799927 +0.080451548099517822 0.1965186595916748 0.23189300298690796 +0.036532163619995117 0.25113815069198608 0.19637367129325867 +0.14098340272903442 0.18623346090316772 0.21878612041473389 +0.17905983328819275 0.31909114122390747 0.077500879764556885 +0.26670333743095398 0.38636675477027893 -0.019936323165893555 +0.28145325183868408 0.34241956472396851 0.016440987586975098 +0.14955991506576538 0.40698555111885071 0.0047463774681091309 +-0.038901090621948242 0.45434078574180603 0.090646445751190186 +0.0062885880470275879 0.56220287084579468 0.19240415096282959 +0.01321709156036377 0.54331433773040771 0.1054147481918335 +-0.057017862796783447 0.46522128582000732 0.20658731460571289 +0.027151316404342651 0.62085604667663574 0.2650303840637207 +0.059022784233093262 0.70726180076599121 0.36672055721282959 +0.084773868322372437 0.72370588779449463 0.2943306565284729 +0.024572461843490601 0.65676891803741455 0.3810499906539917 +0.036209732294082642 0.61541581153869629 0.20705991983413696 +0.1045035719871521 0.69467461109161377 0.11830958724021912 +0.069864451885223389 0.62956774234771729 0.091197848320007324 +0.10289061069488525 0.71282535791397095 0.1783897876739502 +-0.0039245486259460449 0.57079118490219116 0.26487284898757935 +-0.068655133247375488 0.50657445192337036 0.38057738542556763 +-0.037579238414764404 0.55663925409317017 0.38073492050170898 +-0.066076278686523438 0.47066152095794678 0.26455777883529663 +0.99640506505966187 0.14162984490394592 -0.062635838985443115 +0.9362037181854248 0.074692964553833008 0.024083524942398071 +0.99285101890563965 0.16094633936882019 0.0098665952682495117 +0.87600231170654297 0.0077560544013977051 0.11080285906791687 +0.81580090522766113 -0.059180855751037598 0.19752222299575806 +0.776267409324646 0.017557442188262939 0.1392209529876709 +0.86241471767425537 0.015916407108306885 0.19775849580764771 +0.87128591537475586 0.062859386205673218 0.059972375631332397 +0.75945967435836792 0.14973771572113037 0.019371330738067627 +0.81434386968612671 0.15041512250900269 -0.0020643472671508789 +0.76151752471923828 0.061504602432250977 0.10284367203712463 +0.91711175441741943 0.068977087736129761 0.096507161855697632 +0.95758336782455444 0.16494518518447876 0.18580889701843262 +0.91453289985656738 0.10488995909690857 0.21252679824829102 +0.97473424673080444 0.17182686924934387 0.12580746412277222 +0.7555994987487793 -0.12611770629882812 0.28424155712127686 +0.69539815187454224 -0.19305461645126343 0.37096092104911804 +0.67327320575714111 -0.12713384628295898 0.31639504432678223 +0.74751627445220947 -0.10408109426498413 0.38572919368743896 +0.63519680500030518 -0.25999152660369873 0.45768025517463684 +0.57499539852142334 -0.32692837715148926 0.54439961910247803 +0.54283690452575684 -0.2721637487411499 0.50428694486618042 +0.61157560348510742 -0.26298737525939941 0.55908912420272827 +0.63048040866851807 -0.20488822460174561 0.40684977173805237 +0.51178127527236938 -0.13858330249786377 0.38849708437919617 +0.57353836297988892 -0.11733245849609375 0.34481307864189148 +0.51333695650100708 -0.18426936864852905 0.43153241276741028 +0.67630624771118164 -0.19877052307128906 0.4433845579624176 +0.7048032283782959 -0.11279278993606567 0.55956172943115234 +0.67372733354568481 -0.16285765171051025 0.55940419435501099 +0.73845791816711426 -0.098640859127044678 0.44369962811470032 +0.75088316202163696 -0.071014404296875 0.23341107368469238 +0.62586265802383423 0.014125019311904907 0.19946813583374023 +0.71134966611862183 0.0057238638401031494 0.17510980367660522 +0.64111471176147461 -0.072369217872619629 0.27628237009048462 +0.54198062419891357 0.058795005083084106 0.18858623504638672 +0.42328155040740967 0.12509986758232117 0.17023351788520813 +0.48503860831260681 0.1463506817817688 0.12654954195022583 +0.42483723163604736 0.079413771629333496 0.21326887607574463 +0.59686481952667236 0.059472382068634033 0.16715055704116821 +0.65533888339996338 0.13742029666900635 0.070571362972259521 +0.69925826787948608 0.082800805568695068 0.10609069466590881 +0.59480702877044678 0.14770549535751343 0.083678245544433594 +0.55673062801361084 0.014847815036773682 0.2249634861946106 +0.46908712387084961 -0.052427828311920166 0.32240065932273865 +0.45433717966079712 -0.0084806084632873535 0.28602337837219238 +0.58623051643371582 -0.073046624660491943 0.29771798849105835 +0.79670894145965576 -0.064896702766418457 0.26994585990905762 +0.8332984447479248 0.033402919769287109 0.3840920627117157 +0.78862571716308594 -0.042860090732574463 0.37143349647521973 +0.85886067152023315 0.03523293137550354 0.27026093006134033 +0.87020683288574219 0.11432904005050659 0.44643953442573547 +0.8912583589553833 0.18759629130363464 0.56050693988800049 +0.86018252372741699 0.13753142952919006 0.56034940481185913 +0.91487956047058105 0.19059208035469055 0.45909807085990906 +0.83168554306030273 0.051553666591644287 0.44417226314544678 +0.76810967922210693 -0.01581120491027832 0.54537856578826904 +0.76500457525253296 -0.045855879783630371 0.47284239530563354 +0.7980307936668396 0.037401735782623291 0.56003433465957642 +0.87181973457336426 0.096178293228149414 0.38635933399200439 +0.94755905866622925 0.18814760446548462 0.29971873760223389 +0.93850064277648926 0.19358783960342407 0.35768920183181763 +0.88993656635284424 0.085297763347625732 0.27041846513748169 +3 377 747 754 +3 393 863 870 +3 440 974 981 +3 456 1073 1080 +3 504 1209 1216 +3 519 1272 1279 +3 567 701 708 +3 583 990 997 +3 631 1225 1232 +3 647 1161 1168 +3 363 685 692 +3 351 811 818 +3 424 910 917 +3 413 1026 1033 +3 488 926 933 +3 476 763 770 +3 551 1288 1295 +3 539 1125 1132 +3 615 827 834 +3 603 1089 1096 +3 381 670 676 +3 535 657 665 +3 347 731 738 +3 523 718 726 +3 397 795 802 +3 635 782 790 +3 367 853 858 +3 444 894 901 +3 508 881 889 +3 409 958 965 +3 555 945 953 +3 460 1016 1021 +3 428 1058 1064 +3 651 1045 1053 +3 587 1107 1110 +3 619 1143 1146 +3 472 1193 1200 +3 599 1180 1188 +3 492 1256 1263 +3 571 1243 1251 +3 343 750 758 +3 340 779 786 +3 359 654 661 +3 356 866 874 +3 374 716 722 +3 372 688 696 +3 389 843 848 +3 386 814 822 +3 405 977 985 +3 402 1006 1011 +3 418 1076 1084 +3 433 913 921 +3 452 1042 1049 +3 449 1029 1037 +3 468 1212 1220 +3 465 734 742 +3 484 897 905 +3 481 1275 1283 +3 500 1177 1184 +3 497 929 937 +3 515 1241 1247 +3 513 766 774 +3 531 704 712 +3 528 1117 1120 +3 547 1259 1267 +3 544 993 1001 +3 563 673 680 +3 560 1291 1299 +3 579 961 969 +3 576 1128 1136 +3 595 1228 1236 +3 592 1061 1068 +3 611 798 806 +3 608 1164 1172 +3 627 1196 1204 +3 624 830 838 +3 643 1153 1156 +3 640 1092 1100 +3 364 171 661 +3 527 172 665 +3 568 176 680 +3 355 179 692 +3 686 659 362 +3 559 183 708 +3 702 672 566 +3 378 187 722 +3 516 188 726 +3 339 191 738 +3 477 192 742 +3 371 195 754 +3 748 720 376 +3 469 199 770 +3 764 733 475 +3 352 203 786 +3 628 204 790 +3 390 207 802 +3 616 208 806 +3 344 211 818 +3 812 784 350 +3 607 215 834 +3 828 797 614 +3 394 219 848 +3 360 222 858 +3 385 225 870 +3 864 847 392 +3 425 229 885 +3 501 230 889 +3 437 233 901 +3 489 234 905 +3 417 237 917 +3 911 883 423 +3 480 241 933 +3 927 896 487 +3 441 245 949 +3 548 246 953 +3 401 249 965 +3 584 250 969 +3 432 253 981 +3 975 947 439 +3 575 257 997 +3 991 960 582 +3 414 261 1011 +3 453 264 1021 +3 406 267 1033 +3 1027 1010 412 +3 457 271 1049 +3 644 272 1053 +3 421 275 1064 +3 604 276 1068 +3 448 279 1080 +3 1074 1047 455 +3 596 283 1096 +3 1090 1060 602 +3 580 287 1110 +3 540 290 1120 +3 532 293 1132 +3 1126 1116 538 +3 612 297 1146 +3 648 300 1156 +3 639 303 1168 +3 1162 1152 646 +3 505 307 1184 +3 591 308 1188 +3 464 311 1200 +3 632 312 1204 +3 496 315 1216 +3 1210 1182 503 +3 623 319 1232 +3 1226 1195 630 +3 520 323 1247 +3 564 324 1251 +3 485 327 1263 +3 552 328 1267 +3 512 331 1279 +3 1273 1245 518 +3 543 335 1295 +3 1289 1258 550 +3 740 91 347 +3 340 89 780 +3 752 97 371 +3 820 92 351 +3 346 193 746 +3 760 90 343 +3 350 783 810 +3 788 89 340 +3 694 95 363 +3 868 101 385 +3 359 94 655 +3 860 96 367 +3 362 658 684 +3 663 94 359 +3 366 223 862 +3 876 93 356 +3 756 99 377 +3 690 93 355 +3 374 98 717 +3 678 100 381 +3 376 719 746 +3 724 98 374 +3 380 177 684 +3 698 97 372 +3 872 103 393 +3 816 90 344 +3 389 102 844 +3 804 104 397 +3 392 846 862 +3 850 102 389 +3 396 209 810 +3 824 101 386 +3 967 107 409 +3 402 105 1007 +3 979 113 432 +3 1035 108 413 +3 987 106 405 +3 412 1009 1025 +3 1013 105 402 +3 919 111 424 +3 1078 117 448 +3 1066 112 428 +3 423 882 909 +3 887 110 420 +3 427 277 1072 +3 1086 109 418 +3 983 115 440 +3 915 109 417 +3 436 114 943 +3 903 116 444 +3 951 114 436 +3 443 235 909 +3 923 113 433 +3 1082 119 456 +3 1031 106 406 +3 452 118 1043 +3 1023 120 460 +3 455 1046 1072 +3 1051 118 452 +3 459 265 1025 +3 1039 117 449 +3 1202 123 472 +3 465 121 737 +3 1214 129 496 +3 772 124 476 +3 471 313 1208 +3 1222 122 468 +3 475 730 762 +3 744 121 465 +3 935 127 488 +3 1277 133 512 +3 484 126 900 +3 1265 128 492 +3 487 893 925 +3 907 126 484 +3 491 329 1271 +3 1285 125 481 +3 1218 131 504 +3 931 125 480 +3 500 130 1178 +3 891 132 508 +3 503 1181 1208 +3 1186 130 500 +3 507 239 925 +3 939 129 497 +3 1281 135 519 +3 768 122 469 +3 728 136 523 +3 518 1244 1271 +3 1249 134 515 +3 522 197 762 +3 776 133 513 +3 667 139 535 +3 528 137 1119 +3 706 145 559 +3 1134 140 539 +3 534 181 700 +3 714 138 531 +3 538 1114 1124 +3 1122 137 528 +3 1297 143 551 +3 995 149 575 +3 547 142 1262 +3 955 144 555 +3 550 1255 1287 +3 1269 142 547 +3 554 255 989 +3 1003 141 544 +3 710 147 567 +3 1293 141 543 +3 563 146 675 +3 1253 148 571 +3 566 669 700 +3 682 146 563 +3 570 333 1287 +3 1301 145 560 +3 999 151 583 +3 1130 138 532 +3 579 150 964 +3 1112 152 587 +3 582 957 989 +3 971 150 579 +3 586 291 1124 +3 1138 149 576 +3 1190 155 599 +3 592 153 1063 +3 1230 161 623 +3 1098 156 603 +3 598 317 1224 +3 1238 154 595 +3 602 1057 1088 +3 1070 153 592 +3 836 159 615 +3 1166 165 639 +3 611 158 801 +3 1148 160 619 +3 614 794 826 +3 808 158 611 +3 618 301 1160 +3 1174 157 608 +3 1234 163 631 +3 832 157 607 +3 627 162 1199 +3 792 164 635 +3 630 1192 1224 +3 1206 162 627 +3 634 213 826 +3 840 161 624 +3 1170 167 647 +3 1094 154 596 +3 643 166 1155 +3 1055 168 651 +3 646 1150 1160 +3 1158 166 643 +3 650 281 1088 +3 1102 165 640 +3 655 653 169 +3 656 137 527 +3 664 171 364 +3 703 181 534 +3 361 26 662 +3 171 662 663 +3 527 137 668 +3 172 666 667 +3 687 177 380 +3 683 176 568 +3 675 674 174 +3 175 677 678 +3 565 39 681 +3 176 681 682 +3 382 180 696 +3 177 685 686 +3 369 8 689 +3 178 689 690 +3 355 93 695 +3 179 693 694 +3 379 27 697 +3 180 697 698 +3 536 184 712 +3 181 701 702 +3 531 138 707 +3 182 705 706 +3 559 145 711 +3 183 709 710 +3 533 37 713 +3 184 713 714 +3 725 187 378 +3 765 197 522 +3 375 27 723 +3 187 723 724 +3 516 134 729 +3 188 727 728 +3 749 193 346 +3 745 192 477 +3 736 89 339 +3 737 735 190 +3 339 89 741 +3 191 739 740 +3 474 33 743 +3 192 743 744 +3 348 196 758 +3 193 747 748 +3 343 90 753 +3 194 751 752 +3 371 97 757 +3 195 755 756 +3 345 25 759 +3 196 759 760 +3 524 200 774 +3 197 763 764 +3 510 10 767 +3 198 767 768 +3 469 122 773 +3 199 771 772 +3 521 36 775 +3 200 775 776 +3 780 778 201 +3 781 162 628 +3 789 203 352 +3 829 213 634 +3 349 25 787 +3 203 787 788 +3 628 162 793 +3 204 791 792 +3 813 209 396 +3 809 208 616 +3 800 102 390 +3 801 799 206 +3 390 102 805 +3 207 803 804 +3 613 42 807 +3 208 807 808 +3 398 212 822 +3 209 811 812 +3 383 8 815 +3 210 815 816 +3 344 90 821 +3 211 819 820 +3 395 28 823 +3 212 823 824 +3 636 216 838 +3 213 827 828 +3 621 12 831 +3 214 831 832 +3 607 157 837 +3 215 835 836 +3 633 43 839 +3 216 839 840 +3 844 842 217 +3 851 219 394 +3 391 28 849 +3 219 849 850 +3 865 223 366 +3 857 94 360 +3 360 94 861 +3 222 859 860 +3 368 226 874 +3 223 863 864 +3 356 93 869 +3 224 867 868 +3 385 101 873 +3 225 871 872 +3 365 26 875 +3 226 875 876 +3 880 130 501 +3 888 229 425 +3 928 239 507 +3 422 30 886 +3 229 886 887 +3 501 130 892 +3 230 890 891 +3 912 235 443 +3 908 234 489 +3 900 898 232 +3 233 902 903 +3 486 34 906 +3 234 906 907 +3 445 238 921 +3 235 910 911 +3 430 9 914 +3 236 914 915 +3 417 109 920 +3 237 918 919 +3 442 31 922 +3 238 922 923 +3 509 242 937 +3 239 926 927 +3 494 10 930 +3 240 930 931 +3 480 125 936 +3 241 934 935 +3 506 35 938 +3 242 938 939 +3 944 142 548 +3 952 245 441 +3 992 255 554 +3 438 31 950 +3 548 142 956 +3 246 954 955 +3 976 251 408 +3 972 250 584 +3 963 105 401 +3 964 962 248 +3 401 105 968 +3 249 966 967 +3 581 40 970 +3 250 970 971 +3 410 254 985 +3 251 974 975 +3 405 106 980 +3 252 978 979 +3 432 113 984 +3 253 982 983 +3 407 29 986 +3 254 986 987 +3 556 258 1001 +3 255 990 991 +3 544 141 996 +3 256 994 995 +3 575 149 1000 +3 257 998 999 +3 553 38 1002 +3 258 1002 1003 +3 1007 1005 259 +3 1014 261 414 +3 411 29 1012 +3 261 1012 1013 +3 1028 265 459 +3 1020 118 453 +3 453 118 1024 +3 264 1022 1023 +3 461 268 1037 +3 265 1026 1027 +3 446 9 1030 +3 266 1030 1031 +3 406 106 1036 +3 267 1034 1035 +3 458 32 1038 +3 268 1038 1039 +3 1043 1041 269 +3 1044 166 644 +3 1052 271 457 +3 1091 281 650 +3 454 32 1050 +3 271 1050 1051 +3 644 166 1056 +3 272 1054 1055 +3 1075 277 427 +3 1071 276 604 +3 1063 1062 274 +3 421 110 1067 +3 275 1065 1066 +3 601 41 1069 +3 276 1069 1070 +3 429 280 1084 +3 277 1073 1074 +3 418 109 1079 +3 278 1077 1078 +3 448 117 1083 +3 279 1081 1082 +3 426 30 1085 +3 280 1085 1086 +3 652 284 1100 +3 281 1089 1090 +3 637 12 1093 +3 282 1093 1094 +3 596 154 1099 +3 283 1097 1098 +3 649 44 1101 +3 284 1101 1102 +3 1106 150 580 +3 1127 291 586 +3 580 150 1113 +3 287 1111 1112 +3 1123 290 540 +3 1119 1118 289 +3 537 37 1121 +3 290 1121 1122 +3 588 294 1136 +3 291 1125 1126 +3 573 11 1129 +3 292 1129 1130 +3 532 138 1135 +3 293 1133 1134 +3 585 40 1137 +3 294 1137 1138 +3 1142 158 612 +3 1163 301 618 +3 612 158 1149 +3 297 1147 1148 +3 1159 300 648 +3 1155 1154 299 +3 645 44 1157 +3 300 1157 1158 +3 620 304 1172 +3 301 1161 1162 +3 608 157 1167 +3 302 1165 1166 +3 639 165 1171 +3 303 1169 1170 +3 617 42 1173 +3 304 1173 1174 +3 1178 1176 305 +3 1179 153 591 +3 1187 307 505 +3 1227 317 598 +3 502 35 1185 +3 307 1185 1186 +3 591 153 1191 +3 308 1189 1190 +3 1211 313 471 +3 1207 312 632 +3 1198 121 464 +3 1199 1197 310 +3 464 121 1203 +3 311 1201 1202 +3 629 43 1205 +3 312 1205 1206 +3 473 316 1220 +3 313 1209 1210 +3 468 122 1215 +3 314 1213 1214 +3 496 129 1219 +3 315 1217 1218 +3 470 33 1221 +3 316 1221 1222 +3 600 320 1236 +3 317 1225 1226 +3 595 154 1231 +3 318 1229 1230 +3 623 161 1235 +3 319 1233 1234 +3 597 41 1237 +3 320 1237 1238 +3 1242 146 564 +3 1250 323 520 +3 1290 333 570 +3 517 36 1248 +3 323 1248 1249 +3 564 146 1254 +3 324 1252 1253 +3 1274 329 491 +3 1270 328 552 +3 1261 126 485 +3 1262 1260 326 +3 485 126 1266 +3 327 1264 1265 +3 549 38 1268 +3 328 1268 1269 +3 493 332 1283 +3 329 1272 1273 +3 481 125 1278 +3 330 1276 1277 +3 512 133 1282 +3 331 1280 1281 +3 490 34 1284 +3 332 1284 1285 +3 572 336 1299 +3 333 1288 1289 +3 557 11 1292 +3 334 1292 1293 +3 543 141 1298 +3 335 1296 1297 +3 569 39 1300 +3 336 1300 1301 +3 741 191 339 +3 780 736 337 +3 759 196 345 +3 780 201 340 +3 738 50 734 +3 338 739 741 +3 779 53 786 +3 89 736 780 +3 753 194 343 +3 787 203 349 +3 689 178 369 +3 821 211 344 +3 754 747 51 +3 342 751 753 +3 55 811 822 +3 90 760 821 +3 732 731 347 +3 341 819 821 +3 746 14 730 +3 348 193 749 +3 731 50 738 +3 346 189 732 +3 377 99 748 +3 91 740 761 +3 784 92 789 +3 25 739 787 +3 783 15 810 +3 352 202 784 +3 55 814 818 +3 784 202 350 +3 786 53 782 +3 812 811 351 +3 695 179 355 +3 815 210 383 +3 662 171 361 +3 869 224 356 +3 47 685 696 +3 354 693 695 +3 870 863 59 +3 93 690 869 +3 655 169 359 +3 875 226 365 +3 857 856 358 +3 861 222 360 +3 654 45 661 +3 358 653 655 +3 858 58 855 +3 94 663 861 +3 659 95 664 +3 357 859 861 +3 658 13 684 +3 364 170 659 +3 47 688 692 +3 659 170 362 +3 661 45 657 +3 686 685 363 +3 854 853 367 +3 26 693 875 +3 862 16 852 +3 368 223 865 +3 853 58 858 +3 366 220 854 +3 393 103 864 +3 96 860 877 +3 372 180 698 +3 353 867 869 +3 379 180 699 +3 691 688 372 +3 51 747 758 +3 698 697 370 +3 692 685 47 +3 757 195 371 +3 697 180 379 +3 716 49 722 +3 676 46 673 +3 717 185 374 +3 720 99 725 +3 724 723 373 +3 719 14 746 +3 378 186 720 +3 51 750 754 +3 720 186 376 +3 722 49 718 +3 748 747 377 +3 671 670 381 +3 723 187 375 +3 684 13 669 +3 382 177 687 +3 670 46 676 +3 380 173 671 +3 363 95 686 +3 100 678 699 +3 386 212 824 +3 8 751 815 +3 395 212 825 +3 817 814 386 +3 59 863 874 +3 824 823 384 +3 818 811 55 +3 873 225 385 +3 390 206 800 +3 823 212 395 +3 844 800 388 +3 805 207 390 +3 843 57 848 +3 800 799 388 +3 802 54 798 +3 844 217 389 +3 847 103 851 +3 850 849 387 +3 846 16 862 +3 394 218 847 +3 59 866 870 +3 847 218 392 +3 848 57 845 +3 864 863 393 +3 796 795 397 +3 849 219 391 +3 810 15 794 +3 398 209 813 +3 795 54 802 +3 396 205 796 +3 351 92 812 +3 104 804 825 +3 968 249 401 +3 1007 963 399 +3 986 254 407 +3 1007 259 402 +3 965 65 961 +3 400 966 968 +3 1006 68 1011 +3 105 963 1007 +3 980 252 405 +3 1012 261 411 +3 914 236 430 +3 1036 267 406 +3 981 974 66 +3 404 978 980 +3 70 1026 1037 +3 106 987 1036 +3 959 958 409 +3 403 1034 1036 +3 973 18 957 +3 410 251 976 +3 958 65 965 +3 408 247 959 +3 440 115 975 +3 107 967 988 +3 1010 108 1014 +3 29 966 1012 +3 1009 19 1025 +3 414 260 1010 +3 70 1029 1033 +3 1010 260 412 +3 1011 68 1008 +3 1027 1026 413 +3 920 237 417 +3 1030 266 446 +3 886 229 422 +3 1079 278 418 +3 62 910 921 +3 416 918 920 +3 1080 1073 73 +3 109 915 1079 +3 1085 280 426 +3 1067 275 421 +3 110 887 1067 +3 883 111 888 +3 419 1065 1067 +3 882 17 909 +3 425 228 883 +3 62 913 917 +3 883 228 423 +3 911 910 424 +3 1059 1058 428 +3 30 918 1085 +3 1072 20 1057 +3 429 277 1075 +3 1058 72 1064 +3 427 273 1059 +3 456 119 1074 +3 112 1066 1087 +3 433 238 923 +3 415 1077 1079 +3 442 238 924 +3 916 913 433 +3 66 974 985 +3 923 922 431 +3 917 910 62 +3 984 253 432 +3 437 232 899 +3 922 238 442 +3 899 898 435 +3 901 61 897 +3 943 243 436 +3 947 115 952 +3 441 244 947 +3 66 977 981 +3 947 244 439 +3 949 64 945 +3 975 974 440 +3 895 894 444 +3 950 245 438 +3 909 17 893 +3 445 235 912 +3 894 61 901 +3 443 231 895 +3 424 111 911 +3 116 903 924 +3 449 268 1039 +3 9 978 1030 +3 458 268 1040 +3 1032 1029 449 +3 73 1073 1084 +3 1039 1038 447 +3 1033 1026 70 +3 1083 279 448 +3 453 263 1020 +3 1038 268 458 +3 1043 1020 451 +3 1024 264 453 +3 1042 71 1049 +3 1020 1019 451 +3 1021 69 1018 +3 1043 269 452 +3 1047 119 1052 +3 1051 1050 450 +3 1046 20 1072 +3 457 270 1047 +3 73 1076 1080 +3 1047 270 455 +3 1049 71 1045 +3 1074 1073 456 +3 1017 1016 460 +3 1050 271 454 +3 1025 19 1015 +3 461 265 1028 +3 1016 69 1021 +3 459 262 1017 +3 413 108 1027 +3 120 1023 1040 +3 465 192 744 +3 1198 1197 462 +3 474 745 772 +3 737 190 465 +3 1200 82 1196 +3 744 743 463 +3 734 50 742 +3 1203 311 464 +3 469 198 768 +3 743 192 474 +3 510 769 1277 +3 773 199 469 +3 1216 1209 83 +3 768 767 467 +3 52 763 774 +3 1215 314 468 +3 1194 1193 472 +3 1222 1221 466 +3 1208 23 1192 +3 473 313 1211 +3 1193 82 1200 +3 471 309 1194 +3 504 131 1210 +3 123 1202 1223 +3 733 124 745 +3 1221 316 470 +3 730 14 762 +3 477 189 733 +3 52 766 770 +3 733 189 475 +3 742 50 731 +3 764 763 476 +3 936 241 480 +3 767 198 510 +3 906 234 486 +3 1278 330 481 +3 63 926 937 +3 479 934 936 +3 1279 1272 87 +3 125 931 1278 +3 900 232 484 +3 1284 332 490 +3 1261 1260 483 +3 1266 327 485 +3 897 61 905 +3 483 898 900 +3 1263 86 1259 +3 126 907 1266 +3 896 127 908 +3 482 1264 1266 +3 893 17 925 +3 489 231 896 +3 63 929 933 +3 896 231 487 +3 905 61 894 +3 927 926 488 +3 1257 1256 492 +3 34 934 1284 +3 1271 24 1255 +3 493 329 1274 +3 1256 86 1263 +3 491 325 1257 +3 519 135 1273 +3 128 1265 1286 +3 497 242 939 +3 478 1276 1278 +3 506 242 940 +3 932 929 497 +3 83 1209 1220 +3 939 938 495 +3 933 926 63 +3 1219 315 496 +3 501 227 880 +3 938 242 506 +3 1178 880 499 +3 892 230 501 +3 1177 81 1184 +3 880 878 499 +3 889 60 879 +3 1178 305 500 +3 1182 131 1187 +3 1186 1185 498 +3 1181 23 1208 +3 505 306 1182 +3 83 1212 1216 +3 1182 306 503 +3 1184 81 1180 +3 1210 1209 504 +3 884 881 508 +3 1185 307 502 +3 925 17 882 +3 509 239 928 +3 881 60 889 +3 507 228 884 +3 488 127 927 +3 132 891 940 +3 513 200 776 +3 930 240 494 +3 521 200 777 +3 769 766 513 +3 87 1272 1283 +3 776 775 511 +3 770 763 52 +3 1282 331 512 +3 775 200 521 +3 729 188 516 +3 1241 85 1247 +3 726 49 716 +3 1245 135 1250 +3 1249 1248 514 +3 1244 24 1271 +3 520 322 1245 +3 87 1275 1279 +3 1245 322 518 +3 1247 85 1243 +3 1273 1272 519 +3 721 718 523 +3 1248 323 517 +3 762 14 719 +3 524 197 765 +3 718 49 726 +3 522 186 721 +3 476 124 764 +3 136 728 777 +3 668 172 527 +3 1119 656 525 +3 713 184 533 +3 1119 289 528 +3 665 45 654 +3 526 666 668 +3 1117 76 1120 +3 137 656 1119 +3 707 182 531 +3 1121 290 537 +3 1292 334 557 +3 1135 293 532 +3 708 701 48 +3 530 705 707 +3 77 1125 1136 +3 138 714 1135 +3 660 657 535 +3 529 1133 1135 +3 700 13 658 +3 536 181 703 +3 657 45 665 +3 534 170 660 +3 567 147 702 +3 139 667 715 +3 1116 140 1123 +3 37 666 1121 +3 1114 21 1124 +3 540 288 1116 +3 77 1128 1132 +3 1116 288 538 +3 1120 76 1115 +3 1126 1125 539 +3 544 258 1003 +3 1129 292 573 +3 553 258 1004 +3 996 256 544 +3 88 1288 1299 +3 1003 1002 542 +3 997 990 67 +3 1298 335 543 +3 548 243 944 +3 1002 258 553 +3 1262 944 546 +3 956 246 548 +3 1259 86 1267 +3 944 941 546 +3 953 64 942 +3 1262 326 547 +3 1258 143 1270 +3 1269 1268 545 +3 1255 24 1287 +3 552 325 1258 +3 88 1291 1295 +3 1258 325 550 +3 1267 86 1256 +3 1289 1288 551 +3 948 945 555 +3 1268 328 549 +3 989 18 946 +3 556 255 992 +3 945 64 953 +3 554 244 948 +3 583 151 991 +3 144 955 1004 +3 711 183 559 +3 1293 1292 541 +3 681 176 565 +3 1294 1291 560 +3 48 701 712 +3 558 709 711 +3 1295 1288 88 +3 145 706 1294 +3 675 174 563 +3 1300 336 569 +3 1242 1240 562 +3 1254 324 564 +3 673 46 680 +3 562 674 675 +3 1251 85 1241 +3 146 682 1254 +3 672 147 683 +3 561 1252 1254 +3 669 13 700 +3 568 173 672 +3 48 704 708 +3 672 173 566 +3 680 46 670 +3 702 701 567 +3 1246 1243 571 +3 39 709 1300 +3 1287 24 1244 +3 572 333 1290 +3 1243 85 1251 +3 570 322 1246 +3 551 143 1289 +3 148 1253 1302 +3 1000 257 575 +3 11 705 1129 +3 970 250 581 +3 1131 1128 576 +3 67 990 1001 +3 574 998 1000 +3 1132 1125 77 +3 149 995 1131 +3 964 248 579 +3 1137 294 585 +3 1106 1104 578 +3 1113 287 580 +3 961 65 969 +3 578 962 964 +3 1110 75 1105 +3 150 971 1113 +3 960 151 972 +3 577 1111 1113 +3 957 18 989 +3 584 247 960 +3 67 993 997 +3 960 247 582 +3 969 65 958 +3 991 990 583 +3 1109 1107 587 +3 40 998 1137 +3 1124 21 1108 +3 588 291 1127 +3 1107 75 1110 +3 586 286 1109 +3 539 140 1126 +3 152 1112 1139 +3 592 276 1070 +3 1179 1176 589 +3 601 1071 1098 +3 1063 274 592 +3 1188 81 1177 +3 1070 1069 590 +3 1061 72 1068 +3 1191 308 591 +3 596 282 1094 +3 1069 276 601 +3 637 1095 1166 +3 1099 283 596 +3 1232 1225 84 +3 1094 1093 594 +3 74 1089 1100 +3 1231 318 595 +3 1183 1180 599 +3 1238 1237 593 +3 1224 23 1181 +3 600 317 1227 +3 1180 81 1188 +3 598 306 1183 +3 631 163 1226 +3 155 1190 1239 +3 1060 156 1071 +3 1237 320 597 +3 1057 20 1088 +3 604 273 1060 +3 74 1092 1096 +3 1060 273 602 +3 1068 72 1058 +3 1090 1089 603 +3 837 215 607 +3 1093 282 637 +3 807 208 613 +3 1167 302 608 +3 56 827 838 +3 606 835 837 +3 1168 1161 80 +3 157 832 1167 +3 801 206 611 +3 1173 304 617 +3 1142 1140 610 +3 1149 297 612 +3 798 54 806 +3 610 799 801 +3 1146 78 1141 +3 158 808 1149 +3 797 159 809 +3 609 1147 1149 +3 794 15 826 +3 616 205 797 +3 56 830 834 +3 797 205 614 +3 806 54 795 +3 828 827 615 +3 1145 1143 619 +3 42 835 1173 +3 1160 22 1144 +3 620 301 1163 +3 1143 78 1146 +3 618 296 1145 +3 647 167 1162 +3 160 1148 1175 +3 624 216 840 +3 605 1165 1167 +3 633 216 841 +3 833 830 624 +3 84 1225 1236 +3 840 839 622 +3 834 827 56 +3 1235 319 623 +3 628 201 781 +3 839 216 633 +3 1199 781 626 +3 793 204 628 +3 1196 82 1204 +3 781 778 626 +3 790 53 779 +3 1199 310 627 +3 1195 163 1207 +3 1206 1205 625 +3 1192 23 1224 +3 632 309 1195 +3 84 1228 1232 +3 1195 309 630 +3 1204 82 1193 +3 1226 1225 631 +3 785 782 635 +3 1205 312 629 +3 826 15 783 +3 636 213 829 +3 782 53 790 +3 634 202 785 +3 615 159 828 +3 164 792 841 +3 640 284 1102 +3 831 214 621 +3 649 284 1103 +3 1095 1092 640 +3 80 1161 1172 +3 1102 1101 638 +3 1096 1089 74 +3 1171 303 639 +3 644 269 1044 +3 1101 284 649 +3 1155 1044 642 +3 1056 272 644 +3 1153 79 1156 +3 1044 1041 642 +3 1053 71 1042 +3 1155 299 643 +3 1152 167 1159 +3 1158 1157 641 +3 1150 22 1160 +3 648 298 1152 +3 80 1164 1168 +3 1152 298 646 +3 1156 79 1151 +3 1162 1161 647 +3 1048 1045 651 +3 1157 300 645 +3 1088 20 1046 +3 652 281 1091 +3 1045 71 1053 +3 650 270 1048 +3 603 156 1090 +3 168 1055 1103 +3 358 3 653 +3 525 1118 1119 +3 359 169 654 +3 169 653 656 +3 359 171 663 +3 661 171 359 +3 528 290 1122 +3 653 3 525 +3 362 177 686 +3 535 139 660 +3 362 170 658 +3 170 657 660 +3 686 95 659 +3 684 177 362 +3 535 172 667 +3 665 172 535 +3 694 693 361 +3 657 170 364 +3 361 664 694 +3 364 659 664 +3 360 221 857 +3 861 663 357 +3 361 171 664 +3 661 657 364 +3 668 666 172 +3 654 169 527 +3 537 1123 1134 +3 526 668 1122 +3 703 139 715 +3 666 37 533 +3 527 169 656 +3 665 654 527 +3 173 670 671 +3 566 173 669 +3 381 100 671 +3 566 181 702 +3 381 175 678 +3 676 175 381 +3 702 147 672 +3 700 181 566 +3 563 174 673 +3 562 1 674 +3 563 176 682 +3 680 176 563 +3 679 677 175 +3 723 27 677 +3 373 679 724 +3 687 100 699 +3 677 27 379 +3 373 677 679 +3 710 709 565 +3 670 173 568 +3 565 683 710 +3 568 672 683 +3 564 321 1242 +3 1254 682 561 +3 565 176 683 +3 680 670 568 +3 699 180 382 +3 669 173 380 +3 696 688 47 +3 380 671 687 +3 363 179 694 +3 692 179 363 +3 671 100 687 +3 684 669 380 +3 752 751 369 +3 372 97 691 +3 369 691 752 +3 178 688 691 +3 356 226 876 +3 869 690 353 +3 369 178 691 +3 696 180 372 +3 695 693 179 +3 688 178 355 +3 365 226 877 +3 354 695 876 +3 694 664 95 +3 693 26 361 +3 355 178 690 +3 692 688 355 +3 699 678 379 +3 685 177 382 +3 370 755 757 +3 382 687 699 +3 757 97 698 +3 757 698 370 +3 678 677 379 +3 696 685 382 +3 715 184 536 +3 658 170 534 +3 712 704 48 +3 534 660 703 +3 567 183 710 +3 708 183 567 +3 660 139 703 +3 700 658 534 +3 707 705 182 +3 531 182 704 +3 573 292 1131 +3 530 707 1130 +3 560 336 1301 +3 705 11 557 +3 531 184 714 +3 712 184 531 +3 711 709 183 +3 704 182 559 +3 569 336 1302 +3 558 711 1301 +3 710 683 147 +3 709 39 565 +3 559 182 706 +3 708 704 559 +3 715 667 533 +3 701 181 536 +3 533 184 715 +3 536 703 715 +3 532 292 1130 +3 1135 714 529 +3 667 666 533 +3 712 701 536 +3 374 185 716 +3 374 187 724 +3 722 187 374 +3 376 193 748 +3 523 136 721 +3 376 186 719 +3 186 718 721 +3 748 99 720 +3 746 193 376 +3 523 188 728 +3 726 188 523 +3 756 755 375 +3 718 186 378 +3 375 725 756 +3 378 720 725 +3 724 679 98 +3 723 677 373 +3 375 187 725 +3 722 718 378 +3 729 727 188 +3 716 185 516 +3 1248 36 727 +3 514 729 1249 +3 765 136 777 +3 727 36 521 +3 514 727 729 +3 726 716 516 +3 189 731 732 +3 475 189 730 +3 347 91 732 +3 475 197 764 +3 347 191 740 +3 738 191 347 +3 764 124 733 +3 762 197 475 +3 190 735 736 +3 465 190 734 +3 337 778 780 +3 462 0 735 +3 340 203 788 +3 735 0 337 +3 462 735 737 +3 742 192 465 +3 741 739 191 +3 734 190 339 +3 349 789 820 +3 338 741 788 +3 749 91 761 +3 739 25 345 +3 339 190 736 +3 738 734 339 +3 772 771 474 +3 731 189 477 +3 463 1201 1203 +3 477 733 745 +3 1203 121 744 +3 1203 744 463 +3 474 192 745 +3 742 731 477 +3 761 196 348 +3 730 189 346 +3 758 750 51 +3 346 732 749 +3 377 195 756 +3 754 195 377 +3 732 91 749 +3 746 730 346 +3 753 751 194 +3 343 194 750 +3 383 817 868 +3 342 753 816 +3 752 691 97 +3 751 8 369 +3 343 196 760 +3 758 196 343 +3 757 755 195 +3 750 194 371 +3 755 697 27 +3 370 697 755 +3 756 725 99 +3 755 27 375 +3 371 194 752 +3 754 750 371 +3 761 740 345 +3 747 193 348 +3 345 196 761 +3 348 749 761 +3 344 210 816 +3 821 760 341 +3 740 739 345 +3 758 747 348 +3 777 200 524 +3 719 186 522 +3 774 766 52 +3 522 721 765 +3 476 199 772 +3 770 199 476 +3 721 136 765 +3 762 719 522 +3 1277 1276 510 +3 513 133 769 +3 467 1213 1215 +3 198 766 769 +3 1215 122 768 +3 1215 768 467 +3 510 198 769 +3 774 200 513 +3 773 771 199 +3 766 198 469 +3 1221 33 771 +3 466 773 1222 +3 772 745 124 +3 771 33 474 +3 466 771 773 +3 770 766 469 +3 777 728 521 +3 763 197 524 +3 511 1280 1282 +3 524 765 777 +3 1282 133 776 +3 1282 776 511 +3 728 727 521 +3 774 763 524 +3 337 0 778 +3 626 1197 1199 +3 340 201 779 +3 201 778 781 +3 736 735 337 +3 786 203 340 +3 1199 162 781 +3 778 0 626 +3 350 209 812 +3 635 164 785 +3 350 202 783 +3 202 782 785 +3 812 92 784 +3 810 209 350 +3 635 204 792 +3 790 204 635 +3 820 819 349 +3 782 202 352 +3 788 787 338 +3 352 784 789 +3 741 89 788 +3 787 739 338 +3 349 203 789 +3 786 782 352 +3 793 791 204 +3 779 201 628 +3 1205 43 791 +3 625 793 1206 +3 829 164 841 +3 791 43 633 +3 625 791 793 +3 790 779 628 +3 205 795 796 +3 614 205 794 +3 397 104 796 +3 614 213 828 +3 397 207 804 +3 802 207 397 +3 828 159 797 +3 826 213 614 +3 206 799 800 +3 611 206 798 +3 388 842 844 +3 610 2 799 +3 844 102 800 +3 799 2 388 +3 611 208 808 +3 806 208 611 +3 805 803 207 +3 798 206 390 +3 849 28 803 +3 387 805 850 +3 813 104 825 +3 803 28 395 +3 387 803 805 +3 802 798 390 +3 836 835 613 +3 795 205 616 +3 613 809 836 +3 616 797 809 +3 612 295 1142 +3 1149 808 609 +3 613 208 809 +3 806 795 616 +3 825 212 398 +3 794 205 396 +3 822 814 55 +3 396 796 813 +3 351 211 820 +3 818 211 351 +3 796 104 813 +3 810 794 396 +3 868 867 383 +3 386 101 817 +3 816 815 342 +3 210 814 817 +3 753 90 816 +3 815 751 342 +3 383 210 817 +3 822 212 386 +3 821 819 211 +3 814 210 344 +3 759 25 819 +3 341 759 819 +3 820 789 92 +3 819 25 349 +3 760 759 341 +3 818 814 344 +3 825 804 395 +3 811 209 398 +3 384 871 873 +3 398 813 825 +3 873 101 824 +3 873 824 384 +3 804 803 395 +3 822 811 398 +3 841 216 636 +3 783 202 634 +3 838 830 56 +3 634 785 829 +3 615 215 836 +3 834 215 615 +3 785 164 829 +3 826 783 634 +3 1230 1229 621 +3 624 161 833 +3 621 833 1230 +3 214 830 833 +3 608 304 1174 +3 1167 832 605 +3 621 214 833 +3 838 216 624 +3 837 835 215 +3 830 214 607 +3 617 304 1175 +3 606 837 1174 +3 836 809 159 +3 835 42 613 +3 607 214 832 +3 834 830 607 +3 841 792 633 +3 827 213 636 +3 622 1233 1235 +3 636 829 841 +3 1235 161 840 +3 1235 840 622 +3 792 791 633 +3 838 827 636 +3 388 2 842 +3 389 217 843 +3 389 219 850 +3 848 219 389 +3 392 223 864 +3 392 218 846 +3 864 103 847 +3 862 223 392 +3 872 871 391 +3 845 218 394 +3 391 851 872 +3 394 847 851 +3 850 805 102 +3 849 803 387 +3 391 219 851 +3 848 845 394 +3 220 853 854 +3 367 96 854 +3 367 222 860 +3 858 222 367 +3 221 856 857 +3 358 655 857 +3 655 94 857 +3 856 3 358 +3 861 859 222 +3 855 221 360 +3 662 26 859 +3 357 662 859 +3 865 96 877 +3 859 26 365 +3 663 662 357 +3 858 855 360 +3 877 226 368 +3 852 220 366 +3 874 866 59 +3 366 854 865 +3 393 225 872 +3 870 225 393 +3 854 96 865 +3 862 852 366 +3 869 867 224 +3 356 224 866 +3 689 8 867 +3 353 689 867 +3 868 817 101 +3 867 8 383 +3 690 689 353 +3 874 226 356 +3 873 871 225 +3 866 224 385 +3 871 823 28 +3 384 823 871 +3 872 851 103 +3 871 28 391 +3 385 224 868 +3 870 866 385 +3 877 860 365 +3 863 223 368 +3 876 875 354 +3 368 865 877 +3 695 93 876 +3 875 693 354 +3 860 859 365 +3 874 863 368 +3 499 1176 1178 +3 227 878 880 +3 420 229 887 +3 885 229 420 +3 1178 130 880 +3 878 4 499 +3 423 235 911 +3 508 132 884 +3 423 228 882 +3 228 881 884 +3 911 111 883 +3 909 235 423 +3 508 230 891 +3 889 230 508 +3 919 918 422 +3 881 228 425 +3 422 888 919 +3 425 883 888 +3 1067 887 419 +3 422 229 888 +3 885 881 425 +3 892 890 230 +3 879 227 501 +3 1185 35 890 +3 498 892 1186 +3 928 132 940 +3 890 35 506 +3 498 890 892 +3 889 879 501 +3 231 894 895 +3 487 231 893 +3 444 116 895 +3 487 239 927 +3 444 233 903 +3 901 233 444 +3 927 127 896 +3 925 239 487 +3 232 898 899 +3 484 232 897 +3 483 5 898 +3 898 5 435 +3 484 234 907 +3 905 234 484 +3 897 232 437 +3 950 31 902 +3 434 904 951 +3 912 116 924 +3 902 31 442 +3 901 897 437 +3 935 934 486 +3 894 231 489 +3 486 908 935 +3 489 896 908 +3 485 326 1261 +3 1266 907 482 +3 486 234 908 +3 905 894 489 +3 924 238 445 +3 893 231 443 +3 921 913 62 +3 443 895 912 +3 424 237 919 +3 917 237 424 +3 895 116 912 +3 909 893 443 +3 979 978 430 +3 433 113 916 +3 430 916 979 +3 236 913 916 +3 418 280 1086 +3 1079 915 415 +3 430 236 916 +3 921 238 433 +3 920 918 237 +3 913 236 417 +3 426 280 1087 +3 416 920 1086 +3 919 888 111 +3 918 30 422 +3 417 236 915 +3 917 913 417 +3 924 903 442 +3 910 235 445 +3 431 982 984 +3 445 912 924 +3 984 113 923 +3 984 923 431 +3 903 902 442 +3 921 910 445 +3 940 242 509 +3 882 228 507 +3 937 929 63 +3 507 884 928 +3 488 241 935 +3 933 241 488 +3 884 132 928 +3 925 882 507 +3 1214 1213 494 +3 497 129 932 +3 494 932 1214 +3 240 929 932 +3 481 332 1285 +3 1278 931 478 +3 494 240 932 +3 937 242 497 +3 936 934 241 +3 929 240 480 +3 490 332 1286 +3 479 936 1285 +3 935 908 127 +3 934 34 486 +3 480 240 931 +3 933 929 480 +3 940 891 506 +3 926 239 509 +3 495 1217 1219 +3 509 928 940 +3 1219 129 939 +3 1219 939 495 +3 891 890 506 +3 937 926 509 +3 435 5 941 +3 546 1260 1262 +3 436 243 942 +3 243 941 944 +3 1262 142 944 +3 941 5 546 +3 439 251 975 +3 555 144 948 +3 439 244 946 +3 244 945 948 +3 975 115 947 +3 555 246 955 +3 953 246 555 +3 983 982 438 +3 945 244 441 +3 438 952 983 +3 441 947 952 +3 951 904 114 +3 438 245 952 +3 949 945 441 +3 956 954 246 +3 942 243 548 +3 1268 38 954 +3 545 956 1269 +3 992 144 1004 +3 954 38 553 +3 545 954 956 +3 953 942 548 +3 247 958 959 +3 582 247 957 +3 409 107 959 +3 582 255 991 +3 409 249 967 +3 965 249 409 +3 991 151 960 +3 989 255 582 +3 248 962 963 +3 579 248 961 +3 399 1005 1007 +3 578 7 962 +3 402 261 1013 +3 962 7 399 +3 579 250 971 +3 969 250 579 +3 968 966 249 +3 961 248 401 +3 411 1014 1035 +3 400 968 1013 +3 976 107 988 +3 966 29 407 +3 401 248 963 +3 965 961 401 +3 999 998 581 +3 958 247 584 +3 581 972 999 +3 584 960 972 +3 580 285 1106 +3 1113 971 577 +3 581 250 972 +3 969 958 584 +3 988 254 410 +3 985 977 66 +3 408 959 976 +3 440 253 983 +3 981 253 440 +3 959 107 976 +3 980 978 252 +3 405 252 977 +3 446 1032 1078 +3 404 980 1031 +3 979 916 113 +3 978 9 430 +3 405 254 987 +3 985 254 405 +3 984 982 253 +3 977 252 432 +3 982 922 31 +3 431 922 982 +3 983 952 115 +3 982 31 438 +3 432 252 979 +3 981 977 432 +3 988 967 407 +3 974 251 410 +3 407 254 988 +3 410 976 988 +3 406 266 1031 +3 1036 987 403 +3 967 966 407 +3 985 974 410 +3 1004 258 556 +3 946 244 554 +3 1001 993 67 +3 554 948 992 +3 583 257 999 +3 997 257 583 +3 948 144 992 +3 989 946 554 +3 996 994 256 +3 544 256 993 +3 1292 11 994 +3 541 996 1293 +3 576 294 1138 +3 994 11 573 +3 541 994 996 +3 1001 258 544 +3 1000 998 257 +3 993 256 575 +3 585 294 1139 +3 574 1000 1138 +3 999 972 151 +3 998 40 581 +3 575 256 995 +3 997 993 575 +3 1004 955 553 +3 990 255 556 +3 542 1296 1298 +3 556 992 1004 +3 1298 141 1003 +3 1298 1003 542 +3 955 954 553 +3 1001 990 556 +3 399 7 1005 +3 402 259 1006 +3 963 962 399 +3 1011 261 402 +3 412 265 1027 +3 412 260 1009 +3 1027 108 1010 +3 1025 265 412 +3 1035 1034 411 +3 1008 260 414 +3 1013 1012 400 +3 414 1010 1014 +3 968 105 1013 +3 1012 966 400 +3 411 261 1014 +3 1011 1008 414 +3 262 1016 1017 +3 460 120 1017 +3 460 264 1023 +3 1021 264 460 +3 263 1019 1020 +3 451 1041 1043 +3 1043 118 1020 +3 1019 6 451 +3 1024 1022 264 +3 1018 263 453 +3 1050 32 1022 +3 450 1024 1051 +3 1028 120 1040 +3 1022 32 458 +3 450 1022 1024 +3 1021 1018 453 +3 1040 268 461 +3 1015 262 459 +3 1037 1029 70 +3 459 1017 1028 +3 413 267 1035 +3 1033 267 413 +3 1017 120 1028 +3 1025 1015 459 +3 1078 1077 446 +3 449 117 1032 +3 1031 1030 404 +3 266 1029 1032 +3 980 106 1031 +3 1030 978 404 +3 446 266 1032 +3 1037 268 449 +3 1036 1034 267 +3 1029 266 406 +3 986 29 1034 +3 403 986 1034 +3 1035 1014 108 +3 1034 29 411 +3 987 986 403 +3 1033 1029 406 +3 1040 1023 458 +3 1026 265 461 +3 447 1081 1083 +3 461 1028 1040 +3 1083 117 1039 +3 1083 1039 447 +3 1023 1022 458 +3 1037 1026 461 +3 451 6 1041 +3 642 1154 1155 +3 452 269 1042 +3 269 1041 1044 +3 452 271 1051 +3 1049 271 452 +3 1155 166 1044 +3 1041 6 642 +3 455 277 1074 +3 651 168 1048 +3 455 270 1046 +3 270 1045 1048 +3 1074 119 1047 +3 1072 277 455 +3 651 272 1055 +3 1053 272 651 +3 1082 1081 454 +3 1045 270 457 +3 454 1052 1082 +3 457 1047 1052 +3 1051 1024 118 +3 1050 1022 450 +3 454 271 1052 +3 1049 1045 457 +3 1056 1054 272 +3 1042 269 644 +3 1157 44 1054 +3 641 1056 1158 +3 1091 168 1103 +3 1054 44 649 +3 641 1054 1056 +3 1053 1042 644 +3 273 1058 1059 +3 602 273 1057 +3 428 112 1059 +3 602 281 1090 +3 428 275 1066 +3 1064 275 428 +3 1090 156 1060 +3 1088 281 602 +3 592 274 1061 +3 589 4 1062 +3 589 1062 1063 +3 1068 276 592 +3 1067 1065 275 +3 886 30 1065 +3 419 886 1065 +3 1075 112 1087 +3 1065 30 426 +3 887 886 419 +3 1098 1097 601 +3 1058 273 604 +3 590 1189 1191 +3 604 1060 1071 +3 1191 153 1070 +3 1191 1070 590 +3 601 276 1071 +3 1068 1058 604 +3 1087 280 429 +3 1057 273 427 +3 1084 1076 73 +3 427 1059 1075 +3 456 279 1082 +3 1080 279 456 +3 1059 112 1075 +3 1072 1057 427 +3 1079 1077 278 +3 418 278 1076 +3 914 9 1077 +3 415 914 1077 +3 1078 1032 117 +3 1077 9 446 +3 915 914 415 +3 1084 280 418 +3 1083 1081 279 +3 1076 278 448 +3 1081 1038 32 +3 447 1038 1081 +3 1082 1052 119 +3 1081 32 454 +3 448 278 1078 +3 1080 1076 448 +3 1087 1066 426 +3 1073 277 429 +3 1086 1085 416 +3 429 1075 1087 +3 920 109 1086 +3 1085 918 416 +3 1066 1065 426 +3 1084 1073 429 +3 1103 284 652 +3 1046 270 650 +3 1100 1092 74 +3 650 1048 1091 +3 603 283 1098 +3 1096 283 603 +3 1048 168 1091 +3 1088 1046 650 +3 1166 1165 637 +3 640 165 1095 +3 594 1229 1231 +3 282 1092 1095 +3 1231 154 1094 +3 1231 1094 594 +3 637 282 1095 +3 1100 284 640 +3 1099 1097 283 +3 1092 282 596 +3 1237 41 1097 +3 593 1099 1238 +3 1098 1071 156 +3 1097 41 601 +3 593 1097 1099 +3 1096 1092 596 +3 1103 1055 649 +3 1089 281 652 +3 638 1169 1171 +3 652 1091 1103 +3 1171 165 1102 +3 1171 1102 638 +3 1055 1054 649 +3 1100 1089 652 +3 578 964 1106 +3 285 1104 1106 +3 964 150 1106 +3 1104 7 578 +3 587 152 1109 +3 286 1107 1109 +3 587 287 1112 +3 1110 287 587 +3 1113 1111 287 +3 1105 285 580 +3 970 40 1111 +3 577 970 1111 +3 1127 152 1139 +3 1111 40 585 +3 971 970 577 +3 1110 1105 580 +3 538 288 1114 +3 538 291 1126 +3 1126 140 1116 +3 1124 291 538 +3 528 289 1117 +3 525 3 1118 +3 656 653 525 +3 1120 290 528 +3 1134 1133 537 +3 1115 288 540 +3 1122 1121 526 +3 540 1116 1123 +3 668 137 1122 +3 1121 666 526 +3 537 290 1123 +3 1120 1115 540 +3 1139 294 588 +3 1108 286 586 +3 1136 1128 77 +3 586 1109 1127 +3 539 293 1134 +3 1132 293 539 +3 1109 152 1127 +3 1124 1108 586 +3 1131 995 573 +3 576 149 1131 +3 1130 1129 530 +3 292 1128 1131 +3 707 138 1130 +3 1129 705 530 +3 995 994 573 +3 1136 294 576 +3 1135 1133 293 +3 1128 292 532 +3 713 37 1133 +3 529 713 1133 +3 1134 1123 140 +3 1133 37 537 +3 714 713 529 +3 1132 1128 532 +3 1139 1112 585 +3 1125 291 588 +3 1138 1137 574 +3 588 1127 1139 +3 1000 149 1138 +3 1137 998 574 +3 1112 1111 585 +3 1136 1125 588 +3 610 801 1142 +3 295 1140 1142 +3 801 158 1142 +3 1140 2 610 +3 619 160 1145 +3 296 1143 1145 +3 619 297 1148 +3 1146 297 619 +3 1149 1147 297 +3 1141 295 612 +3 807 42 1147 +3 609 807 1147 +3 1163 160 1175 +3 1147 42 617 +3 808 807 609 +3 1146 1141 612 +3 646 298 1150 +3 646 301 1162 +3 1162 167 1152 +3 1160 301 646 +3 643 299 1153 +3 642 6 1154 +3 643 300 1158 +3 1156 300 643 +3 1170 1169 645 +3 1151 298 648 +3 645 1159 1170 +3 648 1152 1159 +3 1158 1056 166 +3 1157 1054 641 +3 645 300 1159 +3 1156 1151 648 +3 1175 304 620 +3 1144 296 618 +3 1172 1164 80 +3 618 1145 1163 +3 647 303 1170 +3 1168 303 647 +3 1145 160 1163 +3 1160 1144 618 +3 1167 1165 302 +3 608 302 1164 +3 831 12 1165 +3 605 831 1165 +3 1166 1095 165 +3 1165 12 637 +3 832 831 605 +3 1172 304 608 +3 1171 1169 303 +3 1164 302 639 +3 1169 1101 44 +3 638 1101 1169 +3 1170 1159 167 +3 1169 44 645 +3 639 302 1166 +3 1168 1164 639 +3 1175 1148 617 +3 1161 301 620 +3 1174 1173 606 +3 620 1163 1175 +3 837 157 1174 +3 1173 835 606 +3 1148 1147 617 +3 1172 1161 620 +3 499 4 1176 +3 589 1063 1179 +3 500 305 1177 +3 305 1176 1179 +3 500 307 1186 +3 1184 307 500 +3 1179 1063 153 +3 1176 4 589 +3 503 313 1210 +3 599 155 1183 +3 503 306 1181 +3 306 1180 1183 +3 1210 131 1182 +3 1208 313 503 +3 599 308 1190 +3 1188 308 599 +3 1218 1217 502 +3 1180 306 505 +3 502 1187 1218 +3 505 1182 1187 +3 1186 892 130 +3 1185 890 498 +3 502 307 1187 +3 1184 1180 505 +3 1191 1189 308 +3 1177 305 591 +3 1189 1069 41 +3 590 1069 1189 +3 1227 155 1239 +3 1189 41 597 +3 591 305 1179 +3 1188 1177 591 +3 309 1193 1194 +3 630 309 1192 +3 472 123 1194 +3 630 317 1226 +3 472 311 1202 +3 1200 311 472 +3 1226 163 1195 +3 1224 317 630 +3 310 1197 1198 +3 627 310 1196 +3 462 737 1198 +3 626 0 1197 +3 1198 737 121 +3 1197 0 462 +3 627 312 1206 +3 1204 312 627 +3 1203 1201 311 +3 1196 310 464 +3 1201 743 33 +3 463 743 1201 +3 1211 123 1223 +3 1201 33 470 +3 464 310 1198 +3 1200 1196 464 +3 1234 1233 629 +3 1193 309 632 +3 629 1207 1234 +3 632 1195 1207 +3 1206 793 162 +3 1205 791 625 +3 629 312 1207 +3 1204 1193 632 +3 1223 316 473 +3 1192 309 471 +3 1220 1212 83 +3 471 1194 1211 +3 504 315 1218 +3 1216 315 504 +3 1194 123 1211 +3 1208 1192 471 +3 1215 1213 314 +3 468 314 1212 +3 1213 767 10 +3 467 767 1213 +3 1214 932 129 +3 1213 10 494 +3 468 316 1222 +3 1220 316 468 +3 1219 1217 315 +3 1212 314 496 +3 1217 938 35 +3 495 938 1217 +3 1218 1187 131 +3 1217 35 502 +3 496 314 1214 +3 1216 1212 496 +3 1223 1202 470 +3 1209 313 473 +3 470 316 1223 +3 473 1211 1223 +3 1222 773 122 +3 1221 771 466 +3 1202 1201 470 +3 1220 1209 473 +3 1239 320 600 +3 1181 306 598 +3 1236 1228 84 +3 598 1183 1227 +3 631 319 1234 +3 1232 319 631 +3 1183 155 1227 +3 1224 1181 598 +3 1231 1229 318 +3 595 318 1228 +3 1229 1093 12 +3 594 1093 1229 +3 1230 833 161 +3 1229 12 621 +3 595 320 1238 +3 1236 320 595 +3 1235 1233 319 +3 1228 318 623 +3 1233 839 43 +3 622 839 1233 +3 1234 1207 163 +3 1233 43 629 +3 623 318 1230 +3 1232 1228 623 +3 1239 1190 597 +3 1225 317 600 +3 597 320 1239 +3 600 1227 1239 +3 1238 1099 154 +3 1237 1097 593 +3 1190 1189 597 +3 1236 1225 600 +3 562 675 1242 +3 515 321 1241 +3 321 1240 1242 +3 515 323 1249 +3 1247 323 515 +3 675 146 1242 +3 1240 1 562 +3 518 329 1273 +3 571 148 1246 +3 518 322 1244 +3 322 1243 1246 +3 1273 135 1245 +3 1271 329 518 +3 571 324 1253 +3 1251 324 571 +3 1281 1280 517 +3 1243 322 520 +3 517 1250 1281 +3 520 1245 1250 +3 1249 729 134 +3 1248 727 514 +3 517 323 1250 +3 1247 1243 520 +3 1254 1252 324 +3 1241 321 564 +3 681 39 1252 +3 561 681 1252 +3 1290 148 1302 +3 1252 39 569 +3 682 681 561 +3 1251 1241 564 +3 325 1256 1257 +3 550 325 1255 +3 492 128 1257 +3 550 333 1289 +3 492 327 1265 +3 1263 327 492 +3 1289 143 1258 +3 1287 333 550 +3 326 1260 1261 +3 547 326 1259 +3 483 900 1261 +3 546 5 1260 +3 900 126 1261 +3 1260 5 483 +3 547 328 1269 +3 1267 328 547 +3 1266 1264 327 +3 1259 326 485 +3 906 34 1264 +3 482 906 1264 +3 1274 128 1286 +3 1264 34 490 +3 907 906 482 +3 1263 1259 485 +3 1297 1296 549 +3 1256 325 552 +3 549 1270 1297 +3 552 1258 1270 +3 1269 956 142 +3 1268 954 545 +3 549 328 1270 +3 1267 1256 552 +3 1286 332 493 +3 1255 325 491 +3 1283 1275 87 +3 491 1257 1274 +3 519 331 1281 +3 1279 331 519 +3 1257 128 1274 +3 1271 1255 491 +3 1278 1276 330 +3 481 330 1275 +3 930 10 1276 +3 478 930 1276 +3 1277 769 133 +3 1276 10 510 +3 931 930 478 +3 1283 332 481 +3 1282 1280 331 +3 1275 330 512 +3 1280 775 36 +3 511 775 1280 +3 1281 1250 135 +3 1280 36 517 +3 512 330 1277 +3 1279 1275 512 +3 1286 1265 490 +3 1272 329 493 +3 1285 1284 479 +3 493 1274 1286 +3 936 125 1285 +3 1284 934 479 +3 1265 1264 490 +3 1283 1272 493 +3 1302 336 572 +3 1244 322 570 +3 1299 1291 88 +3 570 1246 1290 +3 551 335 1297 +3 1295 335 551 +3 1246 148 1290 +3 1287 1244 570 +3 1294 706 557 +3 560 145 1294 +3 557 334 1294 +3 334 1291 1294 +3 1293 996 141 +3 1292 994 541 +3 706 705 557 +3 1299 336 560 +3 1298 1296 335 +3 1291 334 543 +3 1296 1002 38 +3 542 1002 1296 +3 1297 1270 143 +3 1296 38 549 +3 543 334 1293 +3 1295 1291 543 +3 1302 1253 569 +3 1288 333 572 +3 1301 1300 558 +3 572 1290 1302 +3 711 145 1301 +3 1300 709 558 +3 1253 1252 569 +3 1299 1288 572 + diff --git a/Polygon_mesh_processing/test/Polygon_mesh_processing/data/decimation/am4.off b/Polygon_mesh_processing/test/Polygon_mesh_processing/data/decimation/am4.off new file mode 100644 index 00000000000..f3700f1f4b6 --- /dev/null +++ b/Polygon_mesh_processing/test/Polygon_mesh_processing/data/decimation/am4.off @@ -0,0 +1,4614 @@ +OFF +1538 3072 0 + +-0.11907508969306946 -0.22226905822753906 0.64093995094299316 +0.68750178813934326 -0.3063158392906189 0.055816173553466797 +-0.39209267497062683 0.60270869731903076 0.14609357714653015 +0.41448429226875305 0.5186619758605957 -0.4390302300453186 +0.40522933006286621 0.33661168813705444 1.2834018468856812 +1.2118062973022461 0.25256490707397461 0.69827806949615479 +0.13221174478530884 1.161589503288269 0.78855544328689575 +0.9387887716293335 1.077542781829834 0.203431636095047 +0.14770457148551941 0.14819645881652832 0.10095489025115967 +0.7614293098449707 0.80016005039215088 0.84926372766494751 +0.27334803342819214 0.84012573957443237 0.17476263642311096 +0.54636555910110474 0.015147924423217773 0.66960901021957397 +0.81314527988433838 0.38561344146728516 0.12962391972541809 +-0.15504243969917297 0.48496076464653015 0.83332610130310059 +0.55099308490753174 0.1061730682849884 -0.19160705804824829 +0.2842133641242981 -0.26429247856140137 0.34837809205055237 +-0.25558391213417053 0.19021983444690704 0.39351677894592285 +0.01119580864906311 0.56068539619445801 -0.14646834135055542 +0.80851781368255615 0.29458832740783691 0.99083995819091797 +1.075297474861145 0.6650538444519043 0.4508548378944397 +0.53550022840499878 1.1195662021636963 0.49599355459213257 +0.26872053742408752 0.74910056591033936 1.0359786748886108 +0.67663651704788208 0.79810237884521484 -0.11779928207397461 +-0.12994042038917542 0.8821491003036499 0.46732452511787415 +0.14307710528373718 0.05717131495475769 0.96217095851898193 +0.94965410232543945 -0.026875466108322144 0.37704712152481079 +0.014314740896224976 -0.037036299705505371 0.37094742059707642 +0.28109443187713623 0.33342921733856201 -0.16903764009475708 +0.41760319471359253 -0.079059690237045288 0.078385531902313232 +-0.1221940815448761 0.37545260787010193 0.1235242486000061 +0.80539882183074951 0.89230996370315552 0.47342422604560852 +0.53861916065216064 0.52184444665908813 1.0134092569351196 +0.94190764427185059 0.47982108592987061 0.72084736824035645 +0.40211036801338196 0.93433338403701782 0.76598608493804932 +-0.059372305870056152 0.72141730785369873 0.16042810678482056 +0.60606837272644043 0.95883423089981079 0.18909716606140137 +0.34391617774963379 0.67939388751983643 -0.13213378190994263 +0.20277988910675049 1.0008575916290283 0.48165902495384216 +0.25408348441123962 -0.23146247863769531 0.73353588581085205 +0.92576944828033447 -0.020826160907745361 0.78040480613708496 +0.52256190776824951 0.013772189617156982 1.079359769821167 +0.61693370342254639 -0.14558398723602295 0.36271262168884277 +0.6138148307800293 0.45213773846626282 -0.15470319986343384 +1.012475848197937 0.31908917427062988 0.41395094990730286 +0.7503235936164856 0.039648830890655518 0.09272003173828125 +0.87596702575683594 0.73157811164855957 0.16652774810791016 +0.20589882135391235 0.40313595533370972 0.99907475709915161 +-0.19276216626167297 0.53618454933166504 0.4304206371307373 +-0.056253373622894287 0.12369558215141296 0.67784380912780762 +0.069390058517456055 0.8156248927116394 0.7516515851020813 +0.4827386736869812 0.31241753697395325 -0.31531864404678345 +0.6192474365234375 -0.10007137060165405 -0.067895472049713135 +0.34934881329536438 0.12718474864959717 -0.045326054096221924 +0.68206918239593506 0.24589326977729797 -0.030991554260253906 +0.48585757613182068 -0.28530418872833252 0.20209714770317078 +0.082569122314453125 -0.24328076839447021 0.49465903639793396 +0.21595895290374756 -0.058048009872436523 0.22466647624969482 +0.41528946161270142 -0.1245722770690918 0.50899356603622437 +-0.18732950091362 -0.016024619340896606 0.51722836494445801 +-0.32383826375007629 0.39646431803703308 0.2698051929473877 +-0.053939670324325562 0.16920813918113708 0.24723583459854126 +-0.12450775504112244 0.32994002103805542 0.55413222312927246 +-0.19044843316078186 0.58169710636138916 -0.00018733739852905273 +0.21284003555774689 0.53967368602752686 -0.29274922609329224 +0.07945019006729126 0.35444092750549316 -0.022756695747375488 +0.14227190613746643 0.70040559768676758 0.014147162437438965 +0.60687351226806641 0.31559997797012329 1.1371209621429443 +1.0101619958877563 0.27357661724090576 0.84455901384353638 +0.74026334285736084 0.50083279609680176 0.86712837219238281 +0.67744171619415283 0.15486812591552734 0.83022451400756836 +1.1435519456863403 0.45880937576293945 0.57456642389297485 +1.0070431232452393 0.87129831314086914 0.32714322209358215 +0.87365323305130005 0.68606555461883545 0.59713578224182129 +0.9442213773727417 0.52533364295959473 0.2902393639087677 +0.73714447021484375 1.0985543727874756 0.34971264004707336 +0.33385598659515381 1.1405777931213379 0.64227449893951416 +0.60375463962554932 0.91332167387008667 0.61970514059066772 +0.40442413091659546 0.97984594106674194 0.33537808060646057 +0.20046615600585938 0.95534509420394897 0.91226702928543091 +0.33697491884231567 0.54285615682601929 1.1596901416778564 +0.47036474943161011 0.72808891534805298 0.88969767093658447 +0.1376444399356842 0.60938036441802979 0.87536317110061646 +0.8077126145362854 0.93782252073287964 0.042816162109375 +0.54556041955947876 0.65838217735290527 -0.27841478586196899 +0.47499227523803711 0.81911402940750122 0.028481721878051758 +0.74489092826843262 0.59185791015625 0.0059123039245605469 +-0.26101651787757874 0.74242889881134033 0.30670905113220215 +0.0011356472969055176 1.0218693017959595 0.62793999910354614 +0.071703791618347168 0.86113744974136353 0.32104358077049255 +-0.061686038970947266 0.67590469121932983 0.59103614091873169 +0.27415323257446289 0.19689151644706726 1.1227864027023315 +0.012001007795333862 -0.082548856735229492 0.80155545473098755 +0.34472134709358215 0.036159604787826538 0.81588995456695557 +0.074822723865509033 0.26341575384140015 0.838459312915802 +0.81857794523239136 -0.16659563779830933 0.21643164753913879 +1.0807301998138428 0.11284473538398743 0.5376625657081604 +0.74800980091094971 -0.0058637857437133789 0.52332806587219238 +0.88139969110488892 0.1793690025806427 0.25333550572395325 +-0.052380174398422241 -0.12965267896652222 0.50594371557235718 +0.081009656190872192 0.055580079555511475 0.23595115542411804 +0.14259454607963562 -0.15992599725723267 0.37316238880157471 +-0.11396506428718567 0.085853397846221924 0.36873248219490051 +0.21439950168132782 0.24081283807754517 -0.034041404724121094 +0.34778931736946106 0.42604559659957886 -0.30403393507003784 +0.40937423706054688 0.21053950488567352 -0.16682273149490356 +0.15281461179256439 0.45631891489028931 -0.17125260829925537 +0.28265386819839478 0.034568369388580322 0.08967021107673645 +0.55255246162414551 -0.1926877498626709 0.067100882530212402 +0.33741334080696106 -0.16031324863433838 0.21451029181480408 +0.497793048620224 0.0021938681602478027 -0.057739198207855225 +0.012755274772644043 0.26182454824447632 0.1122395396232605 +-0.25714334845542908 0.48908066749572754 0.13480889797210693 +-0.042004197835922241 0.45670619606971741 -0.012600481510162354 +-0.20238390564918518 0.29419901967048645 0.25964894890785217 +0.87209373712539673 0.98492634296417236 0.33842793107032776 +0.73870396614074707 0.79969358444213867 0.60842049121856689 +0.94701766967773438 0.78794354200363159 0.44863992929458618 +0.66378003358840942 0.99667644500732422 0.49820849299430847 +0.60531407594680786 0.61446082592010498 0.87841302156448364 +0.47192424535751343 0.42922806739807129 1.1484055519104004 +0.68023794889450073 0.41747799515724182 0.98862498998641968 +0.39700037240982056 0.62621086835861206 1.0381935834884644 +0.80695831775665283 0.59344911575317383 0.73213207721710205 +1.0768569707870483 0.36619299650192261 0.70956271886825562 +0.99510765075683594 0.58380025625228882 0.58697956800460815 +0.88870763778686523 0.37584191560745239 0.85471522808074951 +0.53705966472625732 0.82070529460906982 0.75470143556594849 +0.26716107130050659 1.0479614734649658 0.77727079391479492 +0.34891039133071899 0.83035415410995483 0.89985394477844238 +0.45531037449836731 1.038312554359436 0.63211828470230103 +-0.2257324755191803 0.66206300258636475 0.15326085686683655 +0.10698786377906799 0.78077149391174316 0.16759538650512695 +-0.040724247694015503 0.6351158618927002 0.0062631964683532715 +-0.078020364046096802 0.80771863460540771 0.31459304690361023 +0.4397081732749939 0.89947998523712158 0.18192988634109497 +0.77242851257324219 1.0181884765625 0.19626438617706299 +0.62471640110015869 0.87253284454345703 0.034932196140289307 +0.58742028474807739 1.0451356172561646 0.34326207637786865 +0.30863207578659058 0.75975978374481201 0.021314442157745361 +0.37920022010803223 0.59902793169021606 -0.28558200597763062 +0.17402757704257965 0.62807619571685791 -0.12395620346069336 +0.51380473375320435 0.73071151971817017 -0.14031130075454712 +0.23806396126747131 0.92049169540405273 0.32821083068847656 +0.16749584674835205 1.0812234878540039 0.63510721921920776 +0.37266844511032104 1.0521752834320068 0.47348147630691528 +0.032891303300857544 0.94953995943069458 0.48983657360076904 +0.047285109758377075 -0.16291481256484985 0.64810729026794434 +0.38000541925430298 -0.044206321239471436 0.66244179010391235 +0.16172516345977783 -0.029130041599273682 0.80800598859786987 +0.30600357055664062 -0.30589300394058228 0.58080446720123291 +0.71272575855255127 0.074502170085906982 0.67677628993988037 +1.0454460382461548 0.19321067631244659 0.69111078977584839 +0.82716584205627441 0.20828694105148315 0.83667504787445068 +0.97768950462341309 -0.095256626605987549 0.62767332792282104 +0.5110815167427063 0.095513880252838135 0.82305723428726196 +0.44051337242126465 0.25624573230743408 1.1299536228179932 +0.31296569108963013 0.10848894715309143 0.95399338006973267 +0.63862919807434082 0.2432706356048584 0.99901747703552246 +0.58164966106414795 -0.065218031406402588 0.51616084575653076 +0.65221774578094482 -0.22594988346099854 0.20926442742347717 +0.77976548671722412 -0.078193128108978271 0.38522469997406006 +0.45410194993019104 -0.21297478675842285 0.34020054340362549 +0.51414954662322998 0.48539984226226807 -0.29686671495437622 +0.71347999572753906 0.41887557506561279 -0.01253962516784668 +0.57243740558624268 0.2824816107749939 -0.18737143278121948 +0.65519213676452637 0.62179386615753174 -0.12203484773635864 +0.9128105640411377 0.35235130786895752 0.27178743481636047 +1.1121410131454468 0.28582704067230225 0.55611449480056763 +0.97109842300415039 0.14943304657936096 0.38128268718719482 +1.0538531541824341 0.48874527215957642 0.44661927223205566 +0.78173446655273438 0.21263113617897034 0.11117196083068848 +0.71891272068023682 -0.13333350419998169 0.074268102645874023 +0.65379941463470459 0.09020918607711792 -0.047598302364349365 +0.8468477725982666 -0.010911554098129272 0.23303836584091187 +0.84455609321594238 0.55859577655792236 0.14807581901550293 +0.90737783908843994 0.904560387134552 0.18497967720031738 +0.97249114513397217 0.68101775646209717 0.30684608221054077 +0.77944278717041016 0.78213846683502197 0.026209414005279541 +0.30556407570838928 0.36987382173538208 1.1412382125854492 +0.10623359680175781 0.43639808893203735 0.85691124200820923 +0.18445450067520142 0.22682742774486542 0.99483919143676758 +0.22734317183494568 0.57944446802139282 1.0033103227615356 +-0.093096911907196045 0.50292235612869263 0.57258415222167969 +-0.29242739081382751 0.5694466233253479 0.28825712203979492 +-0.21420648694038391 0.35987594723701477 0.42618507146835327 +-0.17131778597831726 0.71249306201934814 0.43465623259544373 +-0.024842500686645508 0.29667788743972778 0.69629579782485962 +-0.087664216756820679 -0.049286723136901855 0.65939188003540039 +0.046552956104278564 0.10773167014122009 0.82185256481170654 +-0.15905967354774475 0.13965949416160583 0.53383517265319824 +-0.12363168597221375 0.65794306993484497 0.85177803039550781 +0.10080090165138245 0.98860716819763184 0.77010351419448853 +-0.033416271209716797 0.8315887451171875 0.60764282941818237 +0.17219635844230652 0.79966092109680176 0.89566028118133545 +0.44861146807670593 0.41553974151611328 -0.37717443704605103 +0.51686584949493408 0.20929530262947083 -0.25346285104751587 +0.39155575633049011 0.31480708718299866 -0.24298417568206787 +0.5373537540435791 0.3706342875957489 -0.24839550256729126 +0.58512026071548462 0.0030508339405059814 -0.12975126504898071 +0.65337467193603516 -0.20319360494613647 -0.0060396194458007812 +0.53522896766662598 -0.091316521167755127 -0.0069450139999389648 +0.67766660451889038 -0.027835428714752197 0.0022577643394470215 +0.45981013774871826 0.10856261849403381 -0.11927258968353271 +0.24852669239044189 0.13769060373306274 0.02781444787979126 +0.32090950012207031 0.21311995387077332 -0.096872568130493164 +0.38823989033699036 0.030677974224090576 0.0068871378898620605 +0.60941219329833984 0.17840902507305145 -0.12145382165908813 +0.73668420314788818 0.30410999059677124 0.035931527614593506 +0.71050852537155151 0.15995807945728302 0.020554959774017334 +0.64569836854934692 0.33665961027145386 -0.094165384769439697 +0.58667969703674316 -0.29580998420715332 0.12895667552947998 +0.38503548502922058 -0.27479827404022217 0.27523761987686157 +0.44696646928787231 -0.18879735469818115 0.1498839259147644 +0.54047262668609619 -0.22708737850189209 0.26902025938034058 +0.18339124321937561 -0.25378656387329102 0.42151856422424316 +-0.01825299859046936 -0.23277491331100464 0.56779950857162476 +0.054129809141159058 -0.15734559297561646 0.44311255216598511 +0.19106572866439819 -0.30706298351287842 0.64226758480072021 +0.24532222747802734 -0.16778570413589478 0.296164870262146 +0.18751963973045349 0.027887195348739624 0.17311999201774597 +0.29997739195823669 -0.066802859306335449 0.16371607780456543 +0.12477609515190125 -0.055658459663391113 0.29700091481208801 +0.35227173566818237 -0.2001727819442749 0.41772526502609253 +0.48082751035690308 -0.054712176322937012 0.58930128812789917 +0.37170928716659546 -0.24371933937072754 0.64820539951324463 +0.50422871112823486 -0.13931769132614136 0.43534114956855774 +-0.15320232510566711 -0.11914682388305664 0.57908415794372559 +-0.22145667672157288 0.087097615003585815 0.45537257194519043 +-0.096146613359451294 -0.018414169549942017 0.44489395618438721 +-0.13271442055702209 0.042192131280899048 0.5841515064239502 +-0.28971108794212341 0.29334205389022827 0.33166098594665527 +-0.35796549916267395 0.49958652257919312 0.20794937014579773 +-0.23981985449790955 0.38770943880081177 0.2088547945022583 +-0.26054385304450989 0.45396852493286133 0.34879493713378906 +-0.16440096497535706 0.18783026933670044 0.32118234038352966 +0.046882450580596924 0.1587022989988327 0.17409536242485046 +-0.025500327348709106 0.083272963762283325 0.29878231883049011 +-0.092830747365951538 0.26571491360664368 0.19502261281013489 +-0.19228944182395935 0.24772405624389648 0.47250652313232422 +-0.058969706296920776 0.39980012178421021 0.63444000482559204 +-0.15294709801673889 0.41587522625923157 0.502585768699646 +-0.09749951958656311 0.22919367253780365 0.60583353042602539 +-0.29127052426338196 0.59220290184020996 0.072953104972839355 +-0.089626312255859375 0.57119119167327881 -0.073327839374542236 +-0.15155735611915588 0.48519027233123779 0.052025854587554932 +-0.13583341240882874 0.63991379737854004 0.066735744476318359 +0.11201789975166321 0.55017948150634766 -0.21960878372192383 +0.31366211175918579 0.52916783094406128 -0.36588972806930542 +0.24127936363220215 0.45373848080635071 -0.24120277166366577 +0.2664952278137207 0.60529416799545288 -0.21295344829559326 +0.050086915493011475 0.46417859196662903 -0.09425508975982666 +0.10788950324058533 0.26850572228431702 0.028789818286895752 +-0.004568248987197876 0.36319580674171448 0.038193702697753906 +0.17063306272029877 0.35205134749412537 -0.095091164112091064 +0.06485101580619812 0.62630587816238403 -0.06667250394821167 +0.19688695669174194 0.75862228870391846 0.081070244312286377 +0.22629036009311676 0.69165068864822388 -0.04680323600769043 +0.043970078229904175 0.70517098903656006 0.076327025890350342 +0.50605142116546631 0.32610583305358887 1.210261344909668 +0.70769566297531128 0.30509418249130249 1.0639804601669312 +0.58238554000854492 0.41060593724250793 1.0744590759277344 +0.55225849151611328 0.25738322734832764 1.0701978206634521 +0.90933990478515625 0.28408247232437134 0.91769945621490479 +1.1109840869903564 0.26307076215744019 0.77141857147216797 +0.98172271251678467 0.35951179265975952 0.79301249980926514 +0.94210374355316162 0.20945693552494049 0.7752118706703186 +0.78402984142303467 0.38959425687789917 0.92817807197570801 +0.70613622665405273 0.6039549708366394 0.80527257919311523 +0.65624499320983887 0.50958764553070068 0.92807877063751221 +0.83632159233093262 0.48371148109436035 0.80363047122955322 +0.74045944213867188 0.23046864569187164 0.9214928150177002 +0.6119036078453064 0.085008025169372559 0.74991679191589355 +0.76146012544631958 0.14611324667930603 0.76927411556243896 +0.58850240707397461 0.1696135550737381 0.9038769006729126 +1.1776790618896484 0.35568714141845703 0.63642221689224243 +1.1094247102737427 0.56193161010742188 0.51271063089370728 +1.0474936962127686 0.47593069076538086 0.63806438446044922 +1.0889368057250977 0.4005926251411438 0.50764334201812744 +1.0411702394485474 0.76817607879638672 0.38899901509284973 +0.9729158878326416 0.97442048788070679 0.26528742909431458 +0.92302465438842773 0.88005316257476807 0.38809368014335632 +0.94862401485443115 0.79906231164932251 0.25699001550674438 +0.97923922538757324 0.6821751594543457 0.51435273885726929 +0.87905514240264893 0.78790324926376343 0.76393318176269531 +0.9020925760269165 0.60013031959533691 0.64868229627609253 +0.84916520118713379 0.78107142448425293 0.5344739556312561 +1.0168783664703369 0.59281790256500244 0.38070160150527954 +0.88960635662078857 0.46711689233779907 0.2233162522315979 +0.91578209400177002 0.61126881837844849 0.23869284987449646 +0.98059225082397461 0.43456727266311646 0.35341313481330872 +0.83796656131744385 1.0880485773086548 0.27657213807106018 +0.63632231950759888 1.1090602874755859 0.42285308241844177 +0.76163244247436523 1.0035485029220581 0.41237446665763855 +0.68252944946289062 1.0403376817703247 0.28278952836990356 +0.43467810750007629 1.1300719976425171 0.56913399696350098 +0.23303389549255371 1.1510837078094482 0.71541500091552734 +0.36229532957077026 1.0546426773071289 0.69382095336914062 +0.28020080924034119 1.0749573707580566 0.56247872114181519 +0.55998814105987549 1.0245602130889893 0.55865538120269775 +0.6378818154335022 0.81019943952560425 0.6815609335899353 +0.68777304887771606 0.90456682443618774 0.55875480175018311 +0.50769639015197754 0.93044298887252808 0.68320304155349731 +0.48184502124786377 1.0539455413818359 0.41619777679443359 +0.34980908036231995 0.92162919044494629 0.26845496892929077 +0.32040569186210632 0.98860079050064087 0.39632847905158997 +0.50272595882415771 0.97508049011230469 0.27319818735122681 +0.16633895039558411 1.0584672689437866 0.85041123628616333 +0.23459333181381226 0.85222280025482178 0.97412282228469849 +0.29652434587478638 0.93822377920150757 0.84876918792724609 +0.14585110545158386 0.89712834358215332 0.8453439474105835 +0.30284774303436279 0.64597839117050171 1.0978343486785889 +0.37110212445259094 0.43973392248153687 1.221545934677124 +0.42099335789680481 0.53410124778747559 1.0987398624420166 +0.27368050813674927 0.48535192012786865 1.0807005167007446 +0.36477872729301453 0.73197931051254272 0.97248077392578125 +0.55438315868377686 0.71933400630950928 0.82874727249145508 +0.44192543625831604 0.81402409076690674 0.83815121650695801 +0.49485272169113159 0.63308298587799072 0.95235955715179443 +0.20542612671852112 0.6915963888168335 0.9569888710975647 +-0.089504420757293701 0.55482083559036255 0.91363382339477539 +0.16608378291130066 0.5234452486038208 0.9269096851348877 +0.11063617467880249 0.71012675762176514 0.8236619234085083 +0.87325066328048706 1.0076825618743896 0.1231238842010498 +0.74217456579208374 0.86796247959136963 -0.037491559982299805 +0.70941078662872314 0.94258797168731689 0.10499605536460876 +0.83615195751190186 0.85188734531402588 0.094362616539001465 +0.61109846830368042 0.72824227809906006 -0.19810700416564941 +0.4800223708152771 0.58852207660675049 -0.3587225079536438 +0.46154195070266724 0.6671370267868042 -0.2174643874168396 +0.58193123340606689 0.567615807056427 -0.2152409553527832 +0.57833462953567505 0.80286777019500732 -0.055619418621063232 +0.37417012453079224 0.8296198844909668 0.10162216424942017 +0.52960729598999023 0.87733078002929688 0.095404833555221558 +0.4213370680809021 0.7534935474395752 -0.051314115524291992 +0.71300733089447021 0.70733600854873657 -0.054625511169433594 +0.77901804447174072 0.48873567581176758 0.067768096923828125 +0.69027584791183472 0.53364115953445435 -0.061010837554931641 +0.80330997705459595 0.66409385204315186 0.076065480709075928 +-0.3265545666217804 0.67256879806518555 0.22640132904052734 +-0.19547846913337708 0.81228899955749512 0.38701677322387695 +-0.16271474957466125 0.73766350746154785 0.24452918767929077 +-0.23257723450660706 0.65649378299713135 0.358255535364151 +-0.064402401447296143 0.95200920104980469 0.54763221740722656 +0.066673696041107178 1.0917294025421143 0.70824772119522095 +0.085154086351394653 1.0131144523620605 0.56698960065841675 +0.028143912553787231 0.9211229681968689 0.6796412467956543 +-0.031638622283935547 0.87738370895385742 0.40514463186264038 +0.17252591252326965 0.85063159465789795 0.24790310859680176 +0.017088741064071655 0.80292069911956787 0.25412046909332275 +0.12535899877548218 0.92675799131393433 0.40083935856819153 +-0.10293218493461609 0.78140276670455933 0.51902580261230469 +-0.19485750794410706 0.60527002811431885 0.76116102933883667 +-0.0070709884166717529 0.73412144184112549 0.6579592227935791 +-0.12498047947883606 0.6184004545211792 0.51204639673233032 +0.33969128131866455 0.26675158739089966 1.2030941247940063 +0.20861516892910004 0.12703141570091248 1.0424786806106567 +0.36309248208999634 0.18214607238769531 1.0491340160369873 +0.24571388959884644 0.28282666206359863 1.0712399482727051 +0.077539056539535522 -0.012688755989074707 0.88186317682266235 +-0.053537040948867798 -0.15240895748138428 0.72124773263931274 +0.096019446849822998 -0.091303735971450806 0.74060511589050293 +-0.015007227659225464 0.018197476863861084 0.74985420703887939 +0.23201636970043182 0.042425870895385742 0.88851851224899292 +0.42873978614807129 0.027404725551605225 0.75493955612182617 +0.39933639764785767 0.094376355409622192 0.88281309604644775 +0.27666300535202026 -0.027960062026977539 0.74654281139373779 +0.11606886982917786 0.15791766345500946 0.910469651222229 +0.046383410692214966 0.34935095906257629 0.78691279888153076 +0.020207673311233521 0.20519901812076569 0.77153623104095459 +0.13811713457107544 0.32091999053955078 0.91744905710220337 +0.7530398964881897 -0.23645573854446411 0.13612392544746399 +0.88411599397659302 -0.096735537052154541 0.29673939943313599 +0.72963869571685791 -0.15185022354125977 0.2900841236114502 +0.7901386022567749 -0.080660462379455566 0.16488516330718994 +1.0151920318603516 0.042984634637832642 0.4573548436164856 +1.1462682485580444 0.18270482122898102 0.61797028779983521 +1.0433952808380127 -0.033082962036132812 0.69507426023483276 +1.0443593263626099 0.20361107587814331 0.474488765001297 +0.86071479320526123 -0.012130022048950195 0.4506995677947998 +0.66399139165878296 0.0028910934925079346 0.58427846431732178 +0.69339478015899658 -0.064080536365509033 0.45640498399734497 +0.86275172233581543 -0.096426695585250854 0.68913650512695312 +0.91328322887420654 0.06389087438583374 0.313873291015625 +0.84727251529693604 0.28249120712280273 0.19147971272468567 +0.93601477146148682 0.23758573830127716 0.32025861740112305 +0.82298058271408081 0.10713303089141846 0.18318229913711548 +-0.092397123575210571 -0.18522250652313232 0.58694148063659668 +-0.019032746553421021 -0.083344519138336182 0.4384455680847168 +0.0054552257061004639 -0.17835044860839844 0.50110739469528198 +-0.11021557450294495 -0.080954939126968384 0.5107799768447876 +0.047662198543548584 0.0092718899250030518 0.30344927310943604 +0.1143571138381958 0.1018882691860199 0.16845303773880005 +0.1388450562953949 0.0068823099136352539 0.23111486434936523 +0.023174256086349487 0.10427781939506531 0.24078744649887085 +0.076101511716842651 -0.076663315296173096 0.35499578714370728 +0.21673870086669922 -0.20747840404510498 0.35402041673660278 +0.11022871732711792 -0.17978554964065552 0.41685158014297485 +0.18261149525642395 -0.10435616970062256 0.29216462373733521 +-0.047472059726715088 0.0025906860828399658 0.38689905405044556 +-0.18810924887657166 0.13340580463409424 0.38787442445755005 +-0.081599265336990356 0.10571292042732239 0.32504326105117798 +-0.15398207306861877 0.030283570289611816 0.44973021745681763 +0.18105202913284302 0.19450464844703674 0.033456742763519287 +0.24774694442749023 0.28712102770805359 -0.10153955221176147 +0.27223491668701172 0.19211508333683014 -0.038877665996551514 +0.15656405687332153 0.289510577917099 -0.029205083847045898 +0.31444185972213745 0.37973740696907043 -0.23653578758239746 +0.38780629634857178 0.48161542415618896 -0.38503175973892212 +0.40562474727630615 0.37734785676002502 -0.30887019634246826 +0.28995391726493835 0.47474333643913269 -0.29919761419296265 +0.34288120269775391 0.29380220174789429 -0.18498927354812622 +0.48351839184761047 0.1629871129989624 -0.18596464395523071 +0.37700840830802917 0.19067998230457306 -0.12313348054885864 +0.44939118623733521 0.26610934734344482 -0.24782049655914307 +0.21930763125419617 0.37305620312690735 -0.15308600664138794 +0.078670471906661987 0.50387132167816162 -0.15211063623428345 +0.1851804107427597 0.47617843747138977 -0.21494185924530029 +0.11279764771461487 0.4007490873336792 -0.090254843235015869 +0.20949137210845947 0.1085694432258606 0.085003256797790527 +0.35012853145599365 -0.022245645523071289 0.084027886390686035 +0.25407034158706665 -0.0051243603229522705 0.14752575755119324 +0.3216891884803772 0.063689529895782471 0.032481372356414795 +0.48507782816886902 -0.13587373495101929 0.072743237018585205 +0.6335221529006958 -0.26086461544036865 0.060330033302307129 +0.52396893501281738 -0.23238050937652588 0.12495642900466919 +0.58113604784011841 -0.15299499034881592 0.0092453360557556152 +0.40105941891670227 -0.12711882591247559 0.13369357585906982 +0.3175608217716217 -0.21798425912857056 0.28087994456291199 +0.30023729801177979 -0.11661303043365479 0.20683407783508301 +0.4183829128742218 -0.22849011421203613 0.20773947238922119 +0.43414697051048279 -0.031000524759292603 0.023077487945556641 +0.51764559745788574 0.05986487865447998 -0.12410885095596313 +0.53496909141540527 -0.041506350040435791 -0.050062954425811768 +0.41682344675064087 0.070370733737945557 -0.050968408584594727 +0.085917770862579346 0.18782345950603485 0.11690652370452881 +-0.054719388484954834 0.31863856315612793 0.1178818941116333 +0.041338801383972168 0.30151724815368652 0.054383993148803711 +-0.026280075311660767 0.23270337283611298 0.16942840814590454 +-0.1896686851978302 0.43226662278175354 0.12916654348373413 +-0.33811292052268982 0.55725753307342529 0.14157968759536743 +-0.22855982184410095 0.52877342700958252 0.076953351497650146 +-0.28572693467140198 0.44938793778419495 0.19266444444656372 +-0.10565027594566345 0.42351174354553223 0.068216145038604736 +-0.022151648998260498 0.5143771767616272 -0.078970193862915039 +-0.0048281550407409668 0.41300591826438904 -0.0049242973327636719 +-0.12297376990318298 0.52488303184509277 -0.0058296918869018555 +-0.13873782753944397 0.32739344239234924 0.1788322925567627 +-0.22223642468452454 0.23652803897857666 0.32601863145828247 +-0.23955991864204407 0.33789926767349243 0.2519727349281311 +-0.12141433358192444 0.22602218389511108 0.25287815928459167 +0.91211068630218506 1.0404961109161377 0.25743010640144348 +0.83874630928039551 0.93861818313598633 0.40592607855796814 +0.92992913722991943 0.93622863292694092 0.33359166979789734 +0.81425833702087402 1.0336241722106934 0.34326425194740295 +0.77205133438110352 0.84600180387496948 0.54092234373092651 +0.70535647869110107 0.75338542461395264 0.6759185791015625 +0.796539306640625 0.75099587440490723 0.6035841703414917 +0.68086850643157959 0.84839135408401489 0.61325675249099731 +0.85606980323791504 0.83724689483642578 0.47997197508811951 +1.0078228712081909 0.72186785936355591 0.4564971923828125 +0.95689189434051514 0.82674109935760498 0.40683147311210632 +0.90700066089630127 0.73237371444702148 0.52963769435882568 +0.75472784042358398 0.94737303256988525 0.46687644720077515 +0.60297489166259766 1.0627520084381104 0.49035122990608215 +0.65390574932098389 0.95787888765335083 0.54001688957214355 +0.70379698276519775 1.0522462129592896 0.41721072793006897 +0.72808194160461426 0.75385189056396484 0.91676187515258789 +0.57196664810180664 0.56815266609191895 0.94591116905212402 +0.66314947605133057 0.56576311588287354 0.87357676029205322 +0.54747867584228516 0.66315853595733643 0.88324928283691406 +0.50527167320251465 0.47553625702857971 1.0809074640274048 +0.4319072961807251 0.37365823984146118 1.2294032573699951 +0.52975964546203613 0.38053029775619507 1.1435692310333252 +0.41408881545066833 0.47792583703994751 1.1532418727874756 +0.58929014205932617 0.4667813777923584 1.0199570655822754 +0.7410430908203125 0.35140234231948853 0.996482253074646 +0.69011223316192627 0.45627552270889282 0.94681656360626221 +0.6402209997177124 0.3619081974029541 1.0696227550506592 +0.48794817924499512 0.57690751552581787 1.0068615674972534 +0.33619517087936401 0.69228655099868774 1.0303363800048828 +0.38712608814239502 0.58741337060928345 1.0800020694732666 +0.43701732158660889 0.68178069591522217 0.95719581842422485 +0.81210029125213623 0.74509704113006592 0.8558114767074585 +0.87443292140960693 0.53663510084152222 0.72648972272872925 +0.83554184436798096 0.63314187526702881 0.67427653074264526 +0.79041457176208496 0.54539000988006592 0.78744012117385864 +1.0093822479248047 0.42300701141357422 0.71520507335662842 +1.1578265428543091 0.29801613092422485 0.70279192924499512 +1.1054404973983765 0.40588575601577759 0.65170717239379883 +1.0482734441757202 0.32650023698806763 0.7674182653427124 +0.98094296455383301 0.50894224643707275 0.66365855932235718 +1.041949987411499 0.61874562501907349 0.51835298538208008 +0.94681572914123535 0.61206448078155518 0.6018027663230896 +1.0760772228240967 0.51562345027923584 0.58020877838134766 +0.90287232398986816 0.45069992542266846 0.77803623676300049 +0.84186524152755737 0.34089648723602295 0.92334181070327759 +0.93699944019317627 0.34757769107818604 0.83989202976226807 +0.80773806571960449 0.44401872158050537 0.86148601770401001 +0.71075838804244995 0.85522317886352539 0.84271597862243652 +0.46958503127098083 0.87751930952072144 0.76034379005432129 +0.5084761381149292 0.78101253509521484 0.81255698204040527 +0.55360347032546997 0.86876446008682251 0.69939339160919189 +0.33463573455810547 0.99114739894866943 0.77162843942642212 +0.18619149923324585 1.116138219833374 0.78404152393341064 +0.23857751488685608 1.0082687139511108 0.83512628078460693 +0.29574459791183472 1.0876541137695312 0.71941524744033813 +0.36307504773139954 0.90521222352981567 0.82317495346069336 +0.30206799507141113 0.79540878534317017 0.96848046779632568 +0.3972022533416748 0.80208998918533325 0.88503074645996094 +0.26794078946113586 0.89853101968765259 0.90662467479705811 +0.44114571809768677 0.9634544849395752 0.70879727602005005 +0.50215274095535278 1.0732579231262207 0.56349170207977295 +0.40701848268508911 1.0665767192840576 0.6469414234161377 +0.53627991676330566 0.97013568878173828 0.62534749507904053 +-0.32554855942726135 0.62645041942596436 0.14896047115325928 +-0.14255240559577942 0.69174015522003174 0.15684449672698975 +-0.21061071753501892 0.62762045860290527 0.087497353553771973 +-0.2408541738986969 0.69650554656982422 0.21902436017990112 +0.023807793855667114 0.75109434127807617 0.16401174664497375 +0.19016793370246887 0.81044864654541016 0.17117899656295776 +0.12210959196090698 0.74632894992828369 0.10183185338973999 +0.091866105794906616 0.81521403789520264 0.23335886001586914 +-0.030807256698608398 0.69287765026092529 0.097088634967803955 +-0.0064462423324584961 0.6008683443069458 -0.069744229316711426 +-0.096345335245132446 0.62301754951477051 0.01678091287612915 +0.059091836214065552 0.67072844505310059 0.010563552379608154 +-0.087937325239181519 0.74995684623718262 0.22376757860183716 +-0.1122983992099762 0.84196615219116211 0.39060041308403015 +-0.022399276494979858 0.8198169469833374 0.30407530069351196 +-0.17783644795417786 0.77210605144500732 0.31029269099235535 +0.35652810335159302 0.86980283260345459 0.17834627628326416 +0.52288824319839478 0.9291570782661438 0.18551349639892578 +0.45482993125915527 0.86503744125366211 0.1161663830280304 +0.42458641529083252 0.93392252922058105 0.24769338965415955 +0.68924844264984131 0.98851138353347778 0.19268077611923218 +0.87224459648132324 1.0538010597229004 0.20056474208831787 +0.78755027055740356 0.98374593257904053 0.1305009126663208 +0.75730681419372559 1.0526310205459595 0.26202791929244995 +0.63463342189788818 0.93029463291168213 0.12575769424438477 +0.65899443626403809 0.83828532695770264 -0.041075170040130615 +0.56909531354904175 0.86043453216552734 0.045449972152709961 +0.72453248500823975 0.90814542770385742 0.039232552051544189 +0.57750332355499268 0.98737382888793945 0.25243660807609558 +0.553142249584198 1.0793831348419189 0.41926944255828857 +0.64304137229919434 1.0572339296340942 0.33274433016777039 +0.48760420083999634 1.0095230340957642 0.33896172046661377 +0.3019130527973175 0.81158614158630371 0.11142316460609436 +0.32627409696578979 0.71957683563232422 -0.055409669876098633 +0.23733486235141754 0.73432224988937378 0.018242716789245605 +0.38088914752006531 0.7777935266494751 0.011513411998748779 +0.36155819892883301 0.63921093940734863 -0.20885783433914185 +0.40037065744400024 0.55080831050872803 -0.3776509165763855 +0.307902991771698 0.57359039783477783 -0.2886536717414856 +0.45049744844436646 0.6244654655456543 -0.28251028060913086 +0.27753975987434387 0.64796578884124756 -0.14790749549865723 +0.094375878572463989 0.59036248922348022 -0.14288467168807983 +0.17671763896942139 0.65847158432006836 -0.074767053127288818 +0.19519798457622528 0.57985663414001465 -0.21602517366409302 +0.41029256582260132 0.71082198619842529 -0.11636006832122803 +0.59345638751983643 0.76842522621154785 -0.12138289213180542 +0.51111465692520142 0.70031613111495972 -0.18950051069259644 +0.49263429641723633 0.77893108129501343 -0.048242390155792236 +0.24478296935558319 0.86866533756256104 0.23810207843780518 +0.2204219251871109 0.96067464351654053 0.40493494272232056 +0.30936115980148315 0.94592916965484619 0.33128252625465393 +0.16580687463283539 0.90245789289474487 0.33801180124282837 +0.18513786792755127 1.0410406589508057 0.55838310718536377 +0.14632537961006165 1.1294431686401367 0.72717612981796265 +0.23879304528236389 1.1066610813140869 0.63817894458770752 +0.096198618412017822 1.0557860136032104 0.63203555345535278 +0.26915627717971802 1.0322856903076172 0.49743276834487915 +0.45232012867927551 1.0898890495300293 0.49240988492965698 +0.3699783980846405 1.0217798948287964 0.42429226636886597 +0.35149800777435303 1.1003948450088501 0.56555038690567017 +0.13640350103378296 0.96942955255508423 0.46588534116744995 +-0.046760380268096924 0.91182625293731689 0.47090813517570496 +0.035581409931182861 0.97993534803390503 0.53902578353881836 +0.054061770439147949 0.90132039785385132 0.39776766300201416 +-0.052531033754348755 -0.19852739572525024 0.64380687475204468 +0.13046517968177795 -0.13323771953582764 0.65169084072113037 +0.032163351774215698 -0.12847226858139038 0.71387076377868652 +0.062406837940216064 -0.19735735654830933 0.58234375715255737 +0.33726358413696289 -0.2017853856086731 0.73711955547332764 +0.46318548917770386 -0.014529168605804443 0.66602540016174316 +0.3648836612701416 -0.0097637772560119629 0.72820532321929932 +0.43556541204452515 -0.20655077695846558 0.67493969202041626 +0.21280689537525177 -0.065128564834594727 0.71980857849121094 +0.1607191413640976 0.01698833703994751 0.88544684648513794 +0.11198481917381287 -0.05462270975112915 0.79294902086257935 +0.26154124736785889 0.0064824819564819336 0.81230634450912476 +0.25492185354232788 -0.26989448070526123 0.66900193691253662 +0.26657131314277649 -0.2241094708442688 0.42510217428207397 +0.35574394464492798 -0.28040033578872681 0.59586143493652344 +0.20618745684623718 -0.34150552749633789 0.57650405168533325 +0.62954568862915039 0.044825047254562378 0.67319267988204956 +0.84258937835693359 -0.050503253936767578 0.77682119607925415 +0.69760394096374512 0.10894471406936646 0.74253982305526733 +0.77453106641769409 -0.11462295055389404 0.70747405290603638 +1.0089495182037354 0.0088509917259216309 0.78398847579956055 +1.1452621221542358 0.2288232147693634 0.69541114568710327 +1.0303243398666382 0.22765322029590607 0.75687432289123535 +1.0605678558349609 0.15876813232898712 0.6253473162651062 +0.92493116855621338 0.017605841159820557 0.84493887424468994 +0.82615983486175537 0.25440531969070435 0.91411584615707397 +0.77742540836334229 0.18279425799846649 0.82161808013916016 +0.92698192596435547 0.24389947950839996 0.84097540378570557 +0.92660784721374512 -0.059258162975311279 0.71587079763412476 +0.93201196193695068 0.013307511806488037 0.45377123355865479 +1.0274299383163452 -0.069764018058776855 0.64273035526275635 +0.87787342071533203 -0.13086920976638794 0.62337303161621094 +0.54552721977233887 0.053579926490783691 0.73414307832717896 +0.54020392894744873 -0.026410788297653198 1.0026357173919678 +0.43978428840637207 0.070076316595077515 0.81998556852340698 +0.57745790481567383 0.126941978931427 0.83883094787597656 +0.45815539360046387 0.2160627692937851 1.0532295703887939 +0.41934293508529663 0.30446529388427734 1.222022533416748 +0.36921614408493042 0.23080821335315704 1.1268819570541382 +0.51181060075759888 0.28168326616287231 1.1330254077911377 +0.45030483603477478 -0.0042615830898284912 1.0891607999801636 +0.22625719010829926 0.086848437786102295 0.96575456857681274 +0.33800232410430908 0.08798593282699585 0.90599870681762695 +0.29179525375366211 0.15670853853225708 1.0460622310638428 +0.59481894969940186 0.031805932521820068 1.06955885887146 +0.7253376841545105 0.26491117477416992 0.98725628852844238 +0.61359256505966187 0.26377367973327637 1.0470120906829834 +0.65979963541030884 0.19505108892917633 0.90694856643676758 +0.54720389842987061 -0.023284077644348145 0.60507500171661377 +0.59929168224334717 -0.10540097951889038 0.43943673372268677 +0.6529468297958374 -0.039780467748641968 0.51923251152038574 +0.51527321338653564 -0.096646130084991455 0.50038713216781616 +0.63457572460174561 -0.18576693534851074 0.28598850965499878 +0.67338818311691284 -0.2741694450378418 0.11719545722007751 +0.72351497411727905 -0.2005123496055603 0.21233612298965454 +0.58092057704925537 -0.25138741731643677 0.2061927318572998 +0.68919074535369873 -0.12755018472671509 0.35291165113449097 +0.8664739727973938 -0.056552588939666748 0.37346351146697998 +0.75472879409790039 -0.057690083980560303 0.43321937322616577 +0.80093592405319214 -0.12641268968582153 0.29315578937530518 +0.54467666149139404 -0.16361773014068604 0.37251362204551697 +0.36739343404769897 -0.23461532592773438 0.35196173191070557 +0.47913858294487 -0.23347783088684082 0.29220587015151978 +0.43293151259422302 -0.16475522518157959 0.43226945400238037 +0.45435038208961487 0.50535714626312256 -0.38216483592987061 +0.56398218870162964 0.46876877546310425 -0.22578495740890503 +0.50068771839141846 0.411264568567276 -0.30477464199066162 +0.5276113748550415 0.55953514575958252 -0.28895872831344604 +0.66364741325378418 0.43550664186477661 -0.083621382713317871 +0.7633126974105835 0.40224450826644897 0.058542132377624512 +0.70001822710037231 0.34474030137062073 -0.020447611808776855 +0.72694182395935059 0.49301087856292725 -0.0046316385269165039 +0.60903239250183105 0.37728989124298096 -0.15054452419281006 +0.56669849157333374 0.19266423583030701 -0.18238109350204468 +0.54349434375762939 0.30742979049682617 -0.23085224628448486 +0.63223659992218018 0.26252433657646179 -0.1020733118057251 +0.61859720945358276 0.5269855260848999 -0.15886181592941284 +0.66093111038208008 0.71161121129989624 -0.12702524662017822 +0.6841353178024292 0.59684562683105469 -0.078554093837738037 +0.59539306163787842 0.64175111055374146 -0.20733296871185303 +0.86297786235809326 0.36898237466812134 0.20070567727088928 +0.96264314651489258 0.3357202410697937 0.34286919236183167 +0.89934873580932617 0.27821603417396545 0.26387947797775269 +0.92627227306365967 0.42648658156394958 0.27969542145729065 +1.0623084306716919 0.30245810747146606 0.48503273725509644 +1.1719402074813843 0.26586976647377014 0.64141261577606201 +1.0986791849136353 0.21169175207614899 0.54820650815963745 +1.1256028413772583 0.3599623441696167 0.5640224814414978 +1.0076932907104492 0.24424135684967041 0.41810962557792664 +0.96535944938659668 0.05961570143699646 0.3862730860710144 +0.94215524196624756 0.17438127100467682 0.33780187368392944 +1.0308976173400879 0.12947580218315125 0.46658080816268921 +1.0172581672668457 0.39393699169158936 0.40979230403900146 +1.0595920085906982 0.57856267690658569 0.44162887334823608 +1.0827962160110474 0.46379709243774414 0.49010002613067627 +0.99405395984649658 0.50870257616043091 0.36132115125656128 +0.80836284160614014 0.31076562404632568 0.13378256559371948 +0.7660290002822876 0.12613996863365173 0.10194599628448486 +0.73902076482772827 0.2268863320350647 0.050244748592376709 +0.82064402103424072 0.18435671925544739 0.16886910796165466 +0.73461812734603882 -0.046842336654663086 0.083494067192077637 +0.7000662088394165 -0.23712289333343506 0.063196957111358643 +0.67619901895523071 -0.11907827854156494 0.013340890407562256 +0.76162636280059814 -0.14758872985839844 0.13519534468650818 +0.70617884397506714 0.039092838764190674 0.031947553157806396 +0.60082566738128662 0.089542001485824585 -0.1205253005027771 +0.67205160856246948 0.1422150731086731 -0.029908239841461182 +0.63495290279388428 -0.013580203056335449 -0.058669507503509521 +0.79446834325790405 0.040204763412475586 0.1534925103187561 +0.89982151985168457 -0.010244369506835938 0.30596533417701721 +0.82859551906585693 -0.062917470932006836 0.21534830331802368 +0.86569422483444214 0.092877835035324097 0.24410954117774963 +0.81792771816253662 0.46046125888824463 0.12546524405479431 +0.86026155948638916 0.64508694410324097 0.15730178356170654 +0.88726979494094849 0.54434055089950562 0.20900306105613708 +0.80564653873443604 0.58687019348144531 0.090378671884536743 +0.89167243242263794 0.8180692195892334 0.17575371265411377 +0.92622435092926025 1.0083497762680054 0.19605082273483276 +0.95009148120880127 0.89030522108078003 0.24590694904327393 +0.86466419696807861 0.91881561279296875 0.12405246496200562 +0.92011177539825439 0.73213404417037964 0.22730022668838501 +1.0254648923873901 0.68168491125106812 0.37977308034896851 +0.95423901081085205 0.62901180982589722 0.28915601968765259 +0.99133765697479248 0.78480708599090576 0.31791722774505615 +0.83182227611541748 0.73102211952209473 0.10575532913208008 +0.72646915912628174 0.78147125244140625 -0.046717524528503418 +0.79769504070281982 0.83414435386657715 0.043899476528167725 +0.76059633493423462 0.67834901809692383 0.01513826847076416 +0.36536321043968201 0.34991654753684998 1.2265363931655884 +0.25573146343231201 0.3865048885345459 1.0701565742492676 +0.29210227727890015 0.29573851823806763 1.1333303451538086 +0.31902587413787842 0.44400909543037415 1.1491463184356689 +0.15606620907783508 0.41976702213287354 0.92799299955368042 +-0.10520991683006287 0.46832966804504395 0.90440785884857178 +0.092771798372268677 0.36226281523704529 0.84900331497192383 +-0.041915446519851685 0.52583390474319458 0.98339760303497314 +0.18450552225112915 0.33383184671401978 0.97953951358795166 +0.15878254175186157 0.14366248250007629 0.97139686346054077 +0.21863272786140442 0.23070959746837616 1.0413953065872192 +0.12465536594390869 0.24678468704223633 0.90954107046127319 +0.22729212045669556 0.47244006395339966 1.0186100006103516 +0.25301510095596313 0.66260945796966553 1.0267527103424072 +0.19316491484642029 0.57556229829788208 0.95675420761108398 +0.2871423065662384 0.55948722362518311 1.0886085033416748 +-0.20487514138221741 0.50159180164337158 0.76224434375762939 +-0.14292952418327332 0.51955342292785645 0.5015023946762085 +-0.10655871033668518 0.42878705263137817 0.56467622518539429 +-0.079635113477706909 0.57705765962600708 0.58049213886260986 +-0.24259474873542786 0.55281555652618408 0.35933887958526611 +-0.35222652554512024 0.58940386772155762 0.20295897126197815 +-0.30588915944099426 0.49531134963035583 0.28034913539886475 +-0.27896562218666077 0.64358186721801758 0.2961651086807251 +-0.21415546536445618 0.46688038110733032 0.41088539361953735 +-0.23987844586372375 0.27671098709106445 0.40274274349212646 +-0.18002822995185852 0.3637581467628479 0.47274118661880493 +-0.27400568127632141 0.37983322143554688 0.34088695049285889 +-0.17136886715888977 0.60548859834671021 0.44995594024658203 +-0.14564588665962219 0.79565799236297607 0.45809853076934814 +-0.20549610257148743 0.70861083269119263 0.38810008764266968 +-0.11151865124702454 0.69253575801849365 0.51995432376861572 +-0.17643579840660095 0.41565662622451782 0.81379085779190063 +-0.040547937154769897 0.21018673479557037 0.68706983327865601 +0.017871171236038208 0.28242272138595581 0.75722301006317139 +-0.068987280130386353 0.29612192511558533 0.63552331924438477 +-0.071958780288696289 0.03720441460609436 0.668617844581604 +-0.10651078820228577 -0.153076171875 0.64832073450088501 +-0.044950544834136963 -0.063541948795318604 0.72031915187835693 +-0.13037791848182678 -0.035031557083129883 0.5984647274017334 +-0.017343729734420776 0.095421135425567627 0.73554098606109619 +0.093244493007659912 0.073802381753921509 0.89108914136886597 +0.048194319009780884 0.16528123617172241 0.815848708152771 +0.027706444263458252 0.0039422810077667236 0.81078141927719116 +-0.095162957906723022 0.15196999907493591 0.62014669179916382 +-0.20575127005577087 0.17358878254890442 0.46459853649139404 +-0.16070106625556946 0.082109898328781128 0.53983896970748901 +-0.14021316170692444 0.2434488832950592 0.54490625858306885 +-0.13364920020103455 0.55426490306854248 0.85286140441894531 +0.053684622049331665 0.7291337251663208 0.74242562055587769 +-0.16634532809257507 0.67219829559326172 0.79085081815719604 +-0.0794869065284729 0.65849900245666504 0.91255050897598267 +0.085095465183258057 0.90211600065231323 0.76087754964828491 +0.11964741349220276 1.09239661693573 0.78117465972900391 +0.05808722972869873 1.0028624534606934 0.70917630195617676 +0.14351457357406616 0.97435200214385986 0.83103072643280029 +0.030480414628982544 0.84389925003051758 0.69395440816879272 +-0.080107808113098145 0.86551809310913086 0.53840625286102295 +-0.035057634115219116 0.77403914928436279 0.61364668607711792 +-0.014569759368896484 0.93537813425064087 0.61871397495269775 +0.10829964280128479 0.78735041618347168 0.8093487024307251 +0.21888792514801025 0.76573169231414795 0.96489685773849487 +0.17383770644664764 0.85721051692962646 0.8896564245223999 +0.15334987640380859 0.69587159156799316 0.88458913564682007 +0.43154788017272949 0.46710085868835449 -0.40810233354568481 +0.46567508578300476 0.36397862434387207 -0.34624654054641724 +0.39251253008842468 0.43797972798347473 -0.35091346502304077 +0.47569262981414795 0.46765685081481934 -0.34732991456985474 +0.49980226159095764 0.26085638999938965 -0.28439074754714966 +0.53392946720123291 0.15773418545722961 -0.22253495454788208 +0.44965106248855591 0.21629920601844788 -0.20470249652862549 +0.54963487386703491 0.24422535300254822 -0.21330899000167847 +0.44913128018379211 0.31591948866844177 -0.29093843698501587 +0.32581758499145508 0.34536334872245789 -0.21591717004776001 +0.34804925322532654 0.37623545527458191 -0.26091593503952026 +0.40466797351837158 0.25417521595954895 -0.20094090700149536 +0.5045846700668335 0.33570423722267151 -0.28854936361312866 +0.57392680644989014 0.4195835292339325 -0.20501154661178589 +0.57626336812973022 0.34235984086990356 -0.19069832563400269 +0.54213619232177734 0.44548207521438599 -0.25255411863327026 +0.56805664300918579 0.054611951112747192 -0.1606791615486145 +0.60218381881713867 -0.048510253429412842 -0.098823368549346924 +0.53470921516418457 0.0083037614822387695 -0.093180954456329346 +0.62881231307983398 0.049624234437942505 -0.076212704181671143 +0.63631105422973633 -0.15163248777389526 -0.03696751594543457 +0.67043828964233398 -0.25475472211837769 0.024888277053833008 +0.60865139961242676 -0.21512770652770996 0.040839910507202148 +0.69183146953582764 -0.18545061349868774 0.044423520565032959 +0.5856400728225708 -0.096569418907165527 -0.043515264987945557 +0.47765347361564636 -0.092428892850875854 0.041009247303009033 +0.48455801606178284 -0.036253452301025391 -0.013492763042449951 +0.51868522167205811 -0.13937568664550781 0.048363029956817627 +0.64109349250793457 -0.076784670352935791 -0.04112619161605835 +0.72324240207672119 -0.012468278408050537 0.062875449657440186 +0.71277213096618652 -0.070129036903381348 0.056724846363067627 +0.66203403472900391 0.03853684663772583 -0.028824865818023682 +0.51738566160202026 0.10967501997947693 -0.16722685098648071 +0.39012062549591064 0.13004812598228455 -0.081090271472930908 +0.43310731649398804 0.16824004054069519 -0.1493944525718689 +0.47292235493659973 0.047930777072906494 -0.077229321002960205 +0.30857697129249573 0.12432140111923218 -0.0095618367195129395 +0.19242776930332184 0.16013056039810181 0.054075360298156738 +0.21465940773487091 0.19100269675254822 0.0090765953063964844 +0.26559031009674072 0.086129486560821533 0.058742344379425049 +0.33797308802604675 0.1615588366985321 -0.065944671630859375 +0.29339408874511719 0.27525264024734497 -0.1284671425819397 +0.35994479060173035 0.24224109947681427 -0.15406137704849243 +0.25912266969680786 0.25274693965911865 -0.080920934677124023 +0.36072453856468201 0.092810690402984619 -0.024707496166229248 +0.38373589515686035 -0.025747597217559814 0.059647738933563232 +0.33875280618667603 0.01212841272354126 0.063409268856048584 +0.45069074630737305 0.017058640718460083 -0.032230556011199951 +0.57283908128738403 0.12945976853370667 -0.16483777761459351 +0.65641909837722778 0.20858734846115112 -0.060990869998931885 +0.63359475135803223 0.12447205185890198 -0.080371379852294922 +0.59377968311309814 0.24478131532669067 -0.15253645181655884 +0.70391523838043213 0.26917994022369385 -0.0042223334312438965 +0.77325731515884399 0.35305926203727722 0.079315483570098877 +0.77559381723403931 0.27583557367324829 0.09362870454788208 +0.74146664142608643 0.37895780801773071 0.031772911548614502 +0.69344490766525269 0.21151919662952423 -0.010372936725616455 +0.73550361394882202 0.10356581211090088 0.063110172748565674 +0.68911522626876831 0.090653955936431885 0.0010196566581726074 +0.75465327501296997 0.16051404178142548 0.081327438354492188 +0.67069345712661743 0.28026735782623291 -0.051610171794891357 +0.64180141687393188 0.41221994161605835 -0.11039060354232788 +0.67502313852310181 0.40113258361816406 -0.06300276517868042 +0.60424995422363281 0.30244210362434387 -0.14638584852218628 +0.63709080219268799 -0.3010629415512085 0.092386424541473389 +0.53626859188079834 -0.29055702686309814 0.16552692651748657 +0.58641982078552246 -0.24599981307983398 0.085838675498962402 +0.63625240325927734 -0.26263093948364258 0.15692046284675598 +0.43544653058052063 -0.28005123138427734 0.23866736888885498 +0.33462440967559814 -0.26954537630081177 0.31180787086486816 +0.36228400468826294 -0.20605015754699707 0.23400041460990906 +0.41780450940132141 -0.23986828327178955 0.31539148092269897 +0.47448185086250305 -0.2509300708770752 0.18147855997085571 +0.45147046446800232 -0.13237178325653076 0.09712335467338562 +0.49645358324050903 -0.17024779319763184 0.093361794948577881 +0.38451564311981201 -0.17517805099487305 0.18900167942047119 +0.50770360231399536 -0.26201748847961426 0.22886639833450317 +0.5866849422454834 -0.18625438213348389 0.31159818172454834 +0.51190763711929321 -0.19854778051376343 0.33235979080200195 +0.61272972822189331 -0.209053635597229 0.25921928882598877 +0.23380228877067566 -0.25903952121734619 0.38494831323623657 +0.13298019766807556 -0.24853372573852539 0.45808881521224976 +0.16632764041423798 -0.2022254467010498 0.39059066772460938 +0.26752153038978577 -0.33511513471603394 0.55331850051879883 +0.032158046960830688 -0.23802781105041504 0.53122925758361816 +-0.068664044141769409 -0.22752201557159424 0.60436975955963135 +-0.05212026834487915 -0.17946279048919678 0.54906165599822998 +-0.0022876560688018799 -0.19609391689300537 0.62014347314834595 +0.071193397045135498 -0.20890671014785767 0.4740404486656189 +0.02661442756652832 -0.095212876796722412 0.4115179181098938 +0.093165129423141479 -0.12822437286376953 0.38592368364334106 +-0.0076569914817810059 -0.11771857738494873 0.45906415581703186 +0.10441514849662781 -0.21999406814575195 0.52142828702926636 +0.20451079308986664 -0.26464152336120605 0.70557212829589844 +0.10861915349960327 -0.1565244197845459 0.62492167949676514 +0.25576019287109375 -0.30832648277282715 0.60446786880493164 +0.27283763885498047 -0.22991836071014404 0.3277595043182373 +0.23778648674488068 -0.1029936671257019 0.24595180153846741 +0.30049720406532288 -0.16642314195632935 0.2499520480632782 +0.18287140130996704 -0.15416634082794189 0.3352825939655304 +0.20458322763442993 -0.023673921823501587 0.20404788851737976 +0.16000425815582275 0.090019881725311279 0.14152538776397705 +0.22655496001243591 0.057008326053619385 0.11593115329742432 +0.12573283910751343 0.067514181137084961 0.18907162547111511 +0.24956634640693665 -0.061549961566925049 0.20028632879257202 +0.3575529158115387 -0.065690487623214722 0.11576181650161743 +0.35064837336540222 -0.12186592817306519 0.17026382684707642 +0.31652116775512695 -0.018743693828582764 0.10840803384780884 +0.18235158920288086 -0.054546058177947998 0.24904665350914001 +0.059037923812866211 -0.025102198123931885 0.32406789064407349 +0.081269562244415283 0.0057699382305145264 0.27906912565231323 +0.13788831233978271 -0.11629033088684082 0.33904415369033813 +0.30605936050415039 -0.24100577831268311 0.37514734268188477 +0.42043840885162354 -0.28166383504867554 0.55806171894073486 +0.3397786021232605 -0.31708133220672607 0.54351747035980225 +0.41696617007255554 -0.20143628120422363 0.37992554903030396 +0.45057880878448486 -0.095382630825042725 0.53818684816360474 +0.49679285287857056 -0.018031120300292969 0.64164525270462036 +0.44133946299552917 -0.037815868854522705 0.63925617933273315 +0.53123855590820312 -0.059965074062347412 0.55273103713989258 +0.42212033271789551 -0.24897223711013794 0.61163514852523804 +0.31637740135192871 -0.23247581720352173 0.69747763872146606 +0.30533289909362793 -0.27514743804931641 0.63243162631988525 +0.37087094783782959 -0.20528733730316162 0.71273940801620483 +0.4488968551158905 -0.12807416915893555 0.48461341857910156 +0.57744568586349487 -0.12868767976760864 0.41266751289367676 +0.56568431854248047 -0.10189902782440186 0.46381688117980957 +0.47241955995559692 -0.18165147304534912 0.38231462240219116 +-0.13613870739936829 -0.17070794105529785 0.61001205444335938 +-0.17026588320732117 -0.067585736513137817 0.5481562614440918 +-0.097103387117385864 -0.1415867805480957 0.55282324552536011 +-0.11474540829658508 -0.10140383243560791 0.6295473575592041 +-0.20439305901527405 0.035536497831344604 0.48630046844482422 +-0.2385202944278717 0.13865873217582703 0.42444467544555664 +-0.15424194931983948 0.080093711614608765 0.40661224722862244 +-0.18868765234947205 0.12202766537666321 0.49552643299102783 +-0.1537221372127533 -0.019526571035385132 0.49284821748733521 +-0.030408471822738647 -0.048970401287078857 0.41782695055007935 +-0.05264011025428772 -0.079842567443847656 0.4628257155418396 +-0.10925880074501038 0.042217671871185303 0.4028506875038147 +-0.1654835045337677 0.0072620809078216553 0.54399764537811279 +-0.091266036033630371 0.076409637928009033 0.63637197017669678 +-0.12793198227882385 0.11703994870185852 0.57999289035797119 +-0.093804806470870972 0.013917714357376099 0.64184868335723877 +-0.27264747023582458 0.24178095161914825 0.36258888244628906 +-0.30677464604377747 0.34490317106246948 0.30073308944702148 +-0.23930004239082336 0.28808915615081787 0.29509073495864868 +-0.24601903557777405 0.33991545438766479 0.38519948720932007 +-0.34090188145637512 0.4480254054069519 0.23887726664543152 +-0.375029057264328 0.55114763975143433 0.17702147364616394 +-0.31324228644371033 0.5115206241607666 0.16106981039047241 +-0.33088430762290955 0.55170363187789917 0.23779392242431641 +-0.29023090004920959 0.39296236634254456 0.24542504549026489 +-0.18224433064460754 0.3888218104839325 0.1609005331993103 +-0.18914887309074402 0.33264634013175964 0.2154025137424469 +-0.2232760488986969 0.43576857447624207 0.15354669094085693 +-0.30199220776557922 0.41975101828575134 0.29657441377639771 +-0.231219083070755 0.51844149827957153 0.37995749711990356 +-0.26444080471992493 0.52952885627746582 0.3325696587562561 +-0.23554876446723938 0.39757624268531799 0.3913501501083374 +-0.22197654843330383 0.18671789765357971 0.36913663148880005 +-0.094711482524871826 0.1663447767496109 0.28300002217292786 +-0.13769814372062683 0.12815287709236145 0.35130420327186584 +-0.17751321196556091 0.24846214056015015 0.27913910150527954 +-0.013167828321456909 0.17207151651382446 0.21147164702415466 +0.10298138856887817 0.13626232743263245 0.1478344202041626 +0.080749750137329102 0.10539022088050842 0.19283318519592285 +0.029818862676620483 0.21026341617107391 0.14316746592521667 +-0.042563945055007935 0.13483405113220215 0.26785442233085632 +0.0020150542259216309 0.021140247583389282 0.33037692308425903 +-0.064535647630691528 0.054151803255081177 0.35597115755081177 +0.036286473274230957 0.043645948171615601 0.28283068537712097 +-0.065315395593643188 0.20358222723007202 0.22661721706390381 +-0.088326781988143921 0.32214051485061646 0.1422620415687561 +-0.043343663215637207 0.28426450490951538 0.13850051164627075 +-0.15528157353401184 0.27933427691459656 0.23414033651351929 +-0.23373785614967346 0.21350653469562531 0.42028602957725525 +-0.15503314137458801 0.30736583471298218 0.5152963399887085 +-0.20710936188697815 0.31164103746414185 0.44289663434028625 +-0.16729435324668884 0.19133178889751434 0.51506173610687256 +-0.09398236870765686 0.35251420736312866 0.59296810626983643 +-0.193499356508255 0.46721774339675903 0.78286296129226685 +-0.065110296010971069 0.46300458908081055 0.61689668893814087 +-0.041906118392944336 0.34823900461196899 0.66536790132522583 +-0.13588348031044006 0.36431413888931274 0.53351366519927979 +-0.16857960820198059 0.48224753141403198 0.47150307893753052 +-0.19709184765815735 0.41531926393508911 0.44181329011917114 +-0.13155379891395569 0.48517933487892151 0.52212101221084595 +-0.11313202977180481 0.29556596279144287 0.57475084066390991 +-0.062393933534622192 0.18690004944801331 0.660300612449646 +-0.051923662424087524 0.24456080794334412 0.66645121574401855 +-0.13407257199287415 0.18024441599845886 0.56244957447052002 +-0.34168162941932678 0.59745585918426514 0.10952335596084595 +-0.24085947871208191 0.58694994449615479 0.036382853984832764 +-0.29101064801216125 0.54239273071289062 0.11607110500335693 +-0.27530518174171448 0.628883957862854 0.12529706954956055 +-0.14003738760948181 0.57644414901733398 -0.036757588386535645 +-0.039215266704559326 0.56593829393386841 -0.10989809036254883 +-0.066874861717224121 0.50244307518005371 -0.032090663909912109 +-0.056857287883758545 0.60612130165100098 -0.033173978328704834 +-0.17907270789146423 0.54732298851013184 0.020431220531463623 +-0.1560613214969635 0.42876467108726501 0.10478639602661133 +-0.2010444700717926 0.46664071083068848 0.10854798555374146 +-0.089106500148773193 0.47157090902328491 0.012908101081848145 +-0.16860237717628479 0.60498380661010742 0.026581883430480957 +-0.10402420163154602 0.68224763870239258 0.11976230144500732 +-0.063576281070709229 0.65794754028320312 0.056934773921966553 +-0.16439840197563171 0.66845345497131348 0.13007527589797974 +0.061606854200363159 0.55543243885040283 -0.18303853273391724 +0.16242896020412445 0.54492658376693726 -0.25617903470993042 +0.12908151745796204 0.49861839413642883 -0.18868088722229004 +0.15570996701717377 0.59675288200378418 -0.16607028245925903 +0.26325106620788574 0.53442072868347168 -0.32931947708129883 +0.36407318711280823 0.52391493320465088 -0.40245997905731201 +0.34752944111824036 0.47585573792457581 -0.34715193510055542 +0.36323487758636475 0.5623469352722168 -0.33792597055435181 +0.22421577572822571 0.50529956817626953 -0.27213066816329956 +0.2687947154045105 0.39160579442977905 -0.20960813760757446 +0.20224401354789734 0.42461732029914856 -0.18401390314102173 +0.30306613445281982 0.41411149501800537 -0.25715440511703491 +0.23468606173992157 0.56296038627624512 -0.26597994565963745 +0.32795083522796631 0.64271283149719238 -0.18447774648666382 +0.33971217274665833 0.61592423915863037 -0.23562711477279663 +0.21116335690021515 0.61653769016265869 -0.16368120908737183 +0.022571533918380737 0.52631127834320068 -0.12584966421127319 +0.057622671127319336 0.39938658475875854 -0.044042050838470459 +-0.0050880610942840576 0.46281605958938599 -0.04804229736328125 +0.11253771185874939 0.45055922865867615 -0.13337284326553345 +0.090825915336608887 0.32006683945655823 -0.0021381378173828125 +0.13540491461753845 0.20637302100658417 0.060384392738342285 +0.068854182958602905 0.23938456177711487 0.08597862720489502 +0.16967630386352539 0.22887872159481049 0.012838184833526611 +0.045842796564102173 0.35794287919998169 0.0016234517097473145 +-0.06214374303817749 0.36208340525627136 0.086147964000701904 +-0.055239200592041016 0.41825881600379944 0.03164595365524292 +-0.021112024784088135 0.3151366114616394 0.093501746654510498 +0.11305755376815796 0.35093897581100464 -0.047136843204498291 +0.23637121915817261 0.32149511575698853 -0.12215811014175415 +0.21413958072662354 0.29062294960021973 -0.077159345149993896 +0.1575208306312561 0.41268321871757507 -0.1371343731880188 +0.033041805028915405 0.58397209644317627 -0.11969906091690063 +0.12138578295707703 0.66971510648727417 -0.025494754314422607 +0.12714493274688721 0.62529253959655762 -0.10273081064224243 +0.0095191299915313721 0.63754940032958984 -0.017400205135345459 +0.16411793231964111 0.72369223833084106 0.040916383266448975 +0.22869613766670227 0.800956130027771 0.13409680128097534 +0.26914402842521667 0.77665609121322632 0.07126927375793457 +0.16832190752029419 0.78716194629669189 0.14440974593162537 +0.17587929964065552 0.69690358638763428 -0.010232985019683838 +0.29098480939865112 0.69038718938827515 -0.084602952003479004 +0.22712869942188263 0.65321868658065796 -0.11133724451065063 +0.2926667332649231 0.72307878732681274 -0.03102952241897583 +0.10866454243659973 0.70390748977661133 0.038527309894561768 +0.0019617676734924316 0.72780764102935791 0.13724249601364136 +0.057415157556533813 0.74759238958358765 0.13963156938552856 +-0.0022422373294830322 0.66433799266815186 0.033749163150787354 +0.45564037561416626 0.33135879039764404 1.2468316555023193 +0.55646246671676636 0.32085293531417847 1.1736910343170166 +0.47218415141105652 0.37941795587539673 1.191523551940918 +0.45647871494293213 0.29292678833007812 1.1822975873947144 +0.65728461742401123 0.31034708023071289 1.100550651550293 +0.75810670852661133 0.29984122514724731 1.0274102687835693 +0.68494415283203125 0.37384229898452759 1.0227432250976562 +0.67492663860321045 0.2701641321182251 1.0238265991210938 +0.59549784660339355 0.34997403621673584 1.1165022850036621 +0.53887903690338135 0.47203430533409119 1.0565272569656372 +0.51664739847183228 0.44116219878196716 1.1015260219573975 +0.6399611234664917 0.41171833872795105 1.0265047550201416 +0.58502751588821411 0.29231327772140503 1.1103515625 +0.5528106689453125 0.054442644119262695 1.130474328994751 +0.62758803367614746 0.066735982894897461 1.1097126007080078 +0.48000141978263855 0.23934946954250336 1.0799987316131592 +0.85892879962921143 0.28933537006378174 0.95426970720291138 +0.95975100994110107 0.27882951498031616 0.88112926483154297 +0.89227628707885742 0.33564358949661255 0.886771559715271 +0.86564791202545166 0.23750905692577362 0.86416101455688477 +1.0605731010437012 0.26832371950149536 0.80798876285552979 +1.1613951921463013 0.25781786441802979 0.7348482608795166 +1.1107242107391357 0.31288093328475952 0.72830057144165039 +1.0950188636779785 0.22638975083827972 0.71907460689544678 +0.9987863302230835 0.30795067548751831 0.82394039630889893 +0.96861040592193604 0.42014366388320923 0.7509692907333374 +0.91993594169616699 0.39913880825042725 0.80896413326263428 +1.0207580327987671 0.38863295316696167 0.73582363128662109 +0.98831593990325928 0.2502899169921875 0.81778979301452637 +0.97534215450286865 0.012352943420410156 0.80836862325668335 +0.98411202430725098 0.18682025372982025 0.71429640054702759 +0.87740921974182129 0.21072040498256683 0.81301158666610718 +0.79714202880859375 0.32896238565444946 0.97022134065628052 +0.7476876974105835 0.45738792419433594 0.89886230230331421 +0.72397947311401367 0.40296345949172974 0.96555435657501221 +0.84160530567169189 0.39070665836334229 0.88022387027740479 +0.73283898830413818 0.54427754878997803 0.83539438247680664 +0.76168930530548096 0.75034993886947632 0.89238166809082031 +0.65003728866577148 0.62639492750167847 0.83153349161148071 +0.75654721260070801 0.598702073097229 0.76870232820510864 +0.70665597915649414 0.50433468818664551 0.89150851964950562 +0.59379410743713379 0.52320694923400879 0.96719646453857422 +0.63970118761062622 0.461528480052948 0.9833868145942688 +0.60557401180267334 0.56465071439743042 0.92153096199035645 +0.77387076616287231 0.49733081459999084 0.84274816513061523 +0.88580870628356934 0.50226104259490967 0.7471083402633667 +0.84082555770874023 0.54013705253601074 0.75086987018585205 +0.86383700370788574 0.42157876491546631 0.83522510528564453 +0.78667175769805908 0.27130162715911865 0.96407067775726318 +0.7127310037612915 0.18405774235725403 0.85941779613494873 +0.79339075088500977 0.21947528421878815 0.87396198511123657 +0.67576497793197632 0.23173211514949799 0.95929253101348877 +0.64215236902236938 0.12567850947380066 0.80103123188018799 +0.59593832492828369 0.048326998949050903 0.69757282733917236 +0.65139168500900269 0.06811174750328064 0.69996190071105957 +0.56149256229400635 0.090260952711105347 0.78648698329925537 +0.71104907989501953 0.15136617422103882 0.80584430694580078 +0.86347556114196777 -0.019812792539596558 0.81646311283111572 +0.82783651351928711 0.1775413304567337 0.78504782915115356 +0.76229846477508545 0.10768124461174011 0.70474004745483398 +0.64383429288864136 0.15837007761001587 0.85460466146469116 +0.5620499849319458 -0.0031240880489349365 1.0294049978256226 +0.52704685926437378 0.1321948766708374 0.87540113925933838 +0.62031161785125732 0.21194736659526825 0.95690345764160156 +1.1947426795959473 0.30412602424621582 0.66735011339187622 +1.1606154441833496 0.40724825859069824 0.60549432039260864 +1.1329559087753296 0.34375303983688354 0.68330180644989014 +1.1505979299545288 0.30357003211975098 0.60657763481140137 +1.1264883279800415 0.51037049293518066 0.54363852739334106 +1.0923610925674438 0.61349272727966309 0.48178273439407349 +1.0422098636627197 0.56893551349639893 0.56147098541259766 +1.0766556262969971 0.52700155973434448 0.47255676984786987 +1.1099444627761841 0.46231132745742798 0.59894657135009766 +0.99800658226013184 0.45738112926483154 0.69458645582199097 +1.0429896116256714 0.41950505971908569 0.69082492589950562 +1.0199782848358154 0.5380634069442749 0.60646975040435791 +1.1217058897018433 0.43552267551422119 0.54779720306396484 +1.0523637533187866 0.35164338350296021 0.46425938606262207 +1.0500272512435913 0.42886704206466675 0.44994616508483887 +1.0841543674468994 0.32574480772018433 0.51180195808410645 +1.0582338571548462 0.71661496162414551 0.41992694139480591 +1.0241067409515381 0.81973719596862793 0.35807111859321594 +0.99075925350189209 0.77342897653579712 0.42556926608085632 +0.99747824668884277 0.7216026782989502 0.33546051383018494 +0.98997950553894043 0.92285937070846558 0.29621532559394836 +0.95585227012634277 1.0259816646575928 0.23435953259468079 +0.91681694984436035 0.99686050415039062 0.29154840111732483 +0.93445897102355957 0.95667749643325806 0.21482419967651367 +0.97343575954437256 0.87480026483535767 0.35152342915534973 +0.86057376861572266 0.89367252588272095 0.42721137404441833 +0.90648090839385986 0.83199399709701538 0.44340172410011292 +0.87235367298126221 0.9351162314414978 0.38154590129852295 +0.98519706726074219 0.84801161289215088 0.30037397146224976 +0.90304815769195557 0.78369516134262085 0.19637233018875122 +0.91351842880249023 0.84135591983795166 0.20252296328544617 +0.96425652503967285 0.73269003629684448 0.28807270526885986 +1.0416901111602783 0.66855573654174805 0.47523501515388489 +0.91930031776428223 0.67419713735580444 0.57020819187164307 +0.9915388822555542 0.62399858236312866 0.55492323637008667 +0.95172393321990967 0.74430781602859497 0.48275813460350037 +0.84004580974578857 0.6895674467086792 0.62151598930358887 +0.8166043758392334 0.80152261257171631 0.80305087566375732 +0.86251139640808105 0.73984408378601074 0.8192412257194519 +0.8283841609954834 0.84296631813049316 0.75738543272018433 +0.88502895832061768 0.65169143676757812 0.61775439977645874 +0.91520476341247559 0.53949844837188721 0.69072556495666504 +0.96387934684753418 0.56050336360931396 0.63273066282272339 +0.86305725574493408 0.57100915908813477 0.70587116479873657 +0.86227750778198242 0.720439612865448 0.57651722431182861 +0.80565869808197021 0.84249985218048096 0.51654219627380371 +0.78342711925506592 0.81162774562835693 0.56154096126556396 +0.90674078464508057 0.78218388557434082 0.48651966452598572 +1.0534514188766479 0.64176714420318604 0.4240855872631073 +0.96987152099609375 0.56263953447341919 0.32023870944976807 +0.99269580841064453 0.64675486087799072 0.3396192193031311 +1.0325108766555786 0.52644556760787964 0.41178429126739502 +0.92237532138824463 0.50204694271087646 0.2634701132774353 +0.85303324460983276 0.41816762089729309 0.17993229627609253 +0.85069674253463745 0.49539130926132202 0.1656191349029541 +0.88482391834259033 0.3922690749168396 0.22747492790222168 +0.93284571170806885 0.55970770120620728 0.26962074637413025 +0.89078694581985474 0.66766107082366943 0.19613766670227051 +0.93717539310455322 0.68057292699813843 0.2582281231880188 +0.87163728475570679 0.61071288585662842 0.17792040109634399 +0.9555971622467041 0.49095955491065979 0.31085795164108276 +0.98448920249938965 0.35900694131851196 0.36963844299316406 +0.95126748085021973 0.37009432911872864 0.3222506046295166 +1.0220406055450439 0.46878480911254883 0.40563362836837769 +0.8883776068687439 1.0827956199645996 0.24000188708305359 +0.78755545616149902 1.09330153465271 0.31314238905906677 +0.87183386087417603 1.0347365140914917 0.29530993103981018 +0.82200121879577637 1.0513675212860107 0.2242281436920166 +0.68673336505889893 1.1038073301315308 0.38628283143043518 +0.58591127395629883 1.1143131256103516 0.45942333340644836 +0.65907382965087891 1.0403120517730713 0.4640902578830719 +0.60355329513549805 1.0741302967071533 0.38269919157028198 +0.74852019548416138 1.0641803741455078 0.37033122777938843 +0.80513894557952881 0.94212007522583008 0.43030622601509094 +0.82737052440643311 0.97299224138259888 0.38530746102333069 +0.70405685901641846 1.0024361610412598 0.46032872796058655 +0.71529841423034668 1.0752677917480469 0.32294338941574097 +0.65072023868560791 0.99800390005111694 0.2297629714012146 +0.61027228832244873 1.0223038196563721 0.29259046912193298 +0.7110944390296936 1.0117981433868408 0.21945002675056458 +0.48508915305137634 1.1248190402984619 0.53256380558013916 +0.38426703214645386 1.1353249549865723 0.60570424795150757 +0.45174169540405273 1.0785108804702759 0.60006189346313477 +0.39098608493804932 1.0834985971450806 0.51559555530548096 +0.28344494104385376 1.1458307504653931 0.67884474992752075 +0.18262279033660889 1.1563365459442139 0.75198519229888916 +0.23329377174377441 1.1012735366821289 0.75853294134140015 +0.18346115946769714 1.1179046630859375 0.68745118379592896 +0.34523171186447144 1.1062037944793701 0.66289311647415161 +0.37540754675865173 0.99401074647903442 0.73586422204971313 +0.42408210039138794 1.0150156021118164 0.67786937952041626 +0.32325997948646545 1.0255215167999268 0.75100982189178467 +0.31200999021530151 1.1172912120819092 0.61550521850585938 +0.21874523162841797 1.0375386476516724 0.53400295972824097 +0.20698387920856476 1.0643272399902344 0.58515238761901855 +0.33553266525268555 1.0637137889862061 0.51320642232894897 +0.54687595367431641 1.0851919651031494 0.51661217212677002 +0.59633022546768188 0.95676648616790771 0.58797121047973633 +0.62003844976425171 1.0111908912658691 0.52127909660339355 +0.50241267681121826 1.0234477519989014 0.60660964250564575 +0.61117899417877197 0.86987686157226562 0.65143907070159912 +0.76116943359375 0.84997022151947021 0.80614572763442993 +0.69398069381713867 0.78775948286056519 0.65530002117156982 +0.58747076988220215 0.81545233726501465 0.71813118457794189 +0.63736200332641602 0.90981972217559814 0.59532499313354492 +0.75022387504577637 0.89094746112823486 0.51963698863983154 +0.70431685447692871 0.95262593030929565 0.50344669818878174 +0.73844397068023682 0.84950375556945801 0.56530249118804932 +0.57014721632003784 0.9168236255645752 0.64408528804779053 +0.45820930600166321 0.91189336776733398 0.73972517251968384 +0.50319242477416992 0.87401735782623291 0.73596358299255371 +0.48018103837966919 0.99257570505142212 0.65160840749740601 +0.51365423202514648 1.0962793827056885 0.46922430396080017 +0.42531028389930725 1.0105364322662354 0.37502002716064453 +0.41955110430717468 1.0549589395523071 0.45225602388381958 +0.53717690706253052 1.0427021980285645 0.36692547798156738 +0.38257810473442078 0.95655924081802368 0.30860882997512817 +0.31799989938735962 0.87929534912109375 0.21542844176292419 +0.27755200862884521 0.9035954475402832 0.27825596928596497 +0.3783741295337677 0.89308953285217285 0.20511552691459656 +0.37081673741340637 0.98334789276123047 0.35975822806358337 +0.25571125745773315 0.98986423015594482 0.43412819504737854 +0.31956735253334045 1.0270328521728516 0.46086251735687256 +0.25402930378913879 0.957172691822052 0.38055476546287537 +0.43803149461746216 0.97634398937225342 0.31099790334701538 +0.54473423957824707 0.95244377851486206 0.21228274703025818 +0.48928087949752808 0.93265902996063232 0.20989367365837097 +0.54893827438354492 1.0159134864807129 0.31577610969543457 +0.14927536249160767 1.1100283861160278 0.81948333978652954 +0.18340253829956055 1.0069061517715454 0.88133913278579712 +0.21106213331222534 1.0704014301300049 0.8035317063331604 +0.12788206338882446 1.0407242774963379 0.79994803667068481 +0.21752974390983582 0.90378391742706299 0.9431949257850647 +0.25165694952011108 0.80066168308258057 1.0050507783889771 +0.30180808901786804 0.8452189564704895 0.92536252737045288 +0.20182430744171143 0.81729280948638916 0.93396896123886108 +0.23407351970672607 0.95184314250946045 0.88788688182830811 +0.3460114598274231 0.95677334070205688 0.79224705696105957 +0.30102837085723877 0.99464935064315796 0.79600858688354492 +0.32403972744941711 0.87609106302261353 0.88036376237869263 +0.17862014472484589 0.93205839395523071 0.8854978084564209 +0.10440272092819214 0.86291080713272095 0.79312342405319214 +0.14106866717338562 0.82228046655654907 0.8495025634765625 +0.10694149136543274 0.92540270090103149 0.78764677047729492 +0.28578412532806396 0.69753944873809814 1.0669065713882446 +0.31991133093833923 0.5944172739982605 1.1287622451782227 +0.35325878858566284 0.64072543382644653 1.0612642765045166 +0.25915569067001343 0.59940499067306519 1.0442959070205688 +0.3540385365486145 0.49129503965377808 1.1906180381774902 +0.38816571235656738 0.38817280530929565 1.2524738311767578 +0.4272010326385498 0.4172939658164978 1.1952850818634033 +0.34402096271514893 0.38761681318283081 1.1917014122009277 +0.37058228254318237 0.53935420513153076 1.135310173034668 +0.48344418406486511 0.52048194408416748 1.059622049331665 +0.43753713369369507 0.58216047286987305 1.0434317588806152 +0.47166430950164795 0.47903820872306824 1.1052875518798828 +0.31512892246246338 0.51956945657730103 1.1329209804534912 +0.244355708360672 0.42087894678115845 1.0495378971099854 +0.27757745981216431 0.40979158878326416 1.0969257354736328 +0.24868541955947876 0.5417441725730896 1.0381453037261963 +0.30232790112495422 0.74559867382049561 1.0115984678268433 +0.42471763491630554 0.73995727300643921 0.91662538051605225 +0.35247907042503357 0.79015588760375977 0.93191027641296387 +0.39229410886764526 0.66984659433364868 1.004075288772583 +0.50397211313247681 0.72458696365356445 0.86531752347946167 +0.70625436305999756 0.79879754781723022 0.8954765796661377 +0.6603473424911499 0.86047607660293579 0.87928622961044312 +0.69447451829910278 0.75735384225845337 0.94114202260971069 +0.45898902416229248 0.76246297359466553 0.8690791130065918 +0.42881321907043457 0.87465596199035645 0.7961079478263855 +0.38013863563537598 0.85365110635757446 0.85410284996032715 +0.48096075654029846 0.84314525127410889 0.78096234798431396 +0.48174047470092773 0.69371485710144043 0.91031628847122192 +0.53835922479629517 0.5716545581817627 0.97029131650924683 +0.56059086322784424 0.60252672433853149 0.92529255151748657 +0.43727719783782959 0.63197058439254761 1.0003137588500977 +0.24687452614307404 0.72581386566162109 1.0092093944549561 +0.16816982626914978 0.63195455074310303 0.91419905424118042 +0.2202460765838623 0.62767934799194336 0.98659878969192505 +0.18043103814125061 0.74798864126205444 0.91443371772766113 +-0.054491817951202393 0.60210680961608887 0.95510566234588623 +-0.11658564209938049 0.50270378589630127 0.8837893009185791 +-0.083363860845565796 0.49161636829376221 0.93117713928222656 +-0.10656806826591492 0.60638195276260376 0.8827059268951416 +0.14902016520500183 0.57500636577606201 0.89598178863525391 +0.18171629309654236 0.45707294344902039 0.9579923152923584 +0.21022853255271912 0.52400118112564087 0.98768216371536255 +0.14469048380851746 0.45414108037948608 0.90737438201904297 +0.12626871466636658 0.64375448226928711 0.854744553565979 +0.07553061842918396 0.75242042541503906 0.7691948413848877 +0.065060347318649292 0.69475960731506348 0.76304423809051514 +0.14720925688743591 0.75907599925994873 0.86704587936401367 +0.90601968765258789 1.0426126718521118 0.16327774524688721 +0.84048163890838623 0.97275257110595703 0.082970023155212402 +0.833762526512146 1.0245789289474487 0.17307877540588379 +0.90123724937438965 0.96776485443115234 0.16743642091751099 +0.77494359016418457 0.90289247035980225 0.0026623010635375977 +0.70940554141998291 0.83303236961364746 -0.077645421028137207 +0.67495977878570557 0.87496638298034668 0.011268794536590576 +0.75923812389373779 0.81640136241912842 -0.0065636634826660156 +0.77410519123077393 0.94132447242736816 0.067196369171142578 +0.66740238666534424 0.96522468328475952 0.16591155529022217 +0.72285580635070801 0.98500943183898926 0.16830062866210938 +0.66319841146469116 0.90175497531890869 0.062418162822723389 +0.81908833980560303 0.90344846248626709 0.063434779644012451 +0.86114704608917236 0.79549509286880493 0.13691785931587219 +0.81475865840911865 0.78258323669433594 0.074827432632446289 +0.88029670715332031 0.85244333744049072 0.15513515472412109 +0.64386749267578125 0.76317232847213745 -0.15795314311981201 +0.57832944393157959 0.69331222772598267 -0.23826086521148682 +0.5606873631477356 0.73349517583847046 -0.16153675317764282 +0.63384991884231567 0.65949410200119019 -0.15686982870101929 +0.51279139518737793 0.62345212697982788 -0.3185686469078064 +0.44725331664085388 0.5535920262336731 -0.3988763689994812 +0.41868823766708374 0.58213162422180176 -0.3355368971824646 +0.486162930727005 0.52531760931015015 -0.34117919206619263 +0.51195299625396729 0.6618841290473938 -0.25403457880020142 +0.39684748649597168 0.66840052604675293 -0.17966461181640625 +0.46070361137390137 0.70556902885437012 -0.15293025970458984 +0.39516556262969971 0.63570892810821533 -0.23323804140090942 +0.55693614482879639 0.62400805950164795 -0.25779610872268677 +0.58582818508148193 0.49205547571182251 -0.19901567697525024 +0.55260646343231201 0.5031428337097168 -0.24640351533889771 +0.62337964773178101 0.60183334350585938 -0.16302043199539185 +0.64302909374237061 0.80160427093505859 -0.093419075012207031 +0.52288299798965454 0.81960153579711914 0.0028719902038574219 +0.60858339071273804 0.84353828430175781 -0.0045049190521240234 +0.53212231397628784 0.76203477382659912 -0.098197281360626221 +0.42710146307945251 0.8186265230178833 0.054091334342956543 +0.33468207716941833 0.84651613235473633 0.15157702565193176 +0.39013546705245972 0.86630094051361084 0.15396609902381897 +0.34140110015869141 0.7946898341178894 0.061468303203582764 +0.4968382716178894 0.84240072965621948 0.055250942707061768 +0.56141644716262817 0.91966462135314941 0.14843133091926575 +0.60186433792114258 0.89536458253860474 0.085603803396224976 +0.50104224681854248 0.90587043762207031 0.15874424576759338 +0.45314624905586243 0.79582732915878296 0.001712501049041748 +0.35988146066665649 0.71607488393783569 -0.079789817333221436 +0.34812012314796448 0.74286353588104248 -0.028640449047088623 +0.47666895389556885 0.74225008487701416 -0.10058635473251343 +0.68801224231719971 0.76372826099395752 -0.097180664539337158 +0.72558367252349854 0.63106316328048706 -0.026333630084991455 +0.67799466848373413 0.66005009412765503 -0.096097350120544434 +0.75445568561553955 0.74155354499816895 -0.0024049878120422363 +0.76419812440872192 0.55265265703201294 0.038158178329467773 +0.78515869379043579 0.42553120851516724 0.085311383008956909 +0.75193691253662109 0.43661859631538391 0.037923514842987061 +0.81178712844848633 0.52366572618484497 0.10792195796966553 +0.72304487228393555 0.56857120990753174 -0.020856916904449463 +0.65370273590087891 0.48469191789627075 -0.10439479351043701 +0.65136623382568359 0.56191557645797729 -0.11870795488357544 +0.68549346923828125 0.45879334211349487 -0.056852161884307861 +0.76673692464828491 0.61514461040496826 0.032681524753570557 +0.84888583421707153 0.67946100234985352 0.13668322563171387 +0.83841550350189209 0.62180024385452271 0.13053253293037415 +0.78767746686935425 0.73046612739562988 0.044982850551605225 +-0.359323650598526 0.63763880729675293 0.18624743819236755 +-0.29378560185432434 0.70749890804290771 0.26655519008636475 +-0.28706660866737366 0.65567255020141602 0.17644643783569336 +-0.3204139769077301 0.60936439037322998 0.24394458532333374 +-0.22824755311012268 0.77735894918441772 0.34686291217803955 +-0.16270950436592102 0.84721904993057251 0.42717063426971436 +-0.12826374173164368 0.80528509616851807 0.33825647830963135 +-0.17841485142707825 0.76072794198989868 0.41794466972351074 +-0.22740915417671204 0.73892700672149658 0.28232890367507935 +-0.12070634961128235 0.71502679586410522 0.18361371755599976 +-0.17615976929664612 0.69524204730987549 0.18122464418411255 +-0.11650237441062927 0.77849650382995605 0.28710708022117615 +-0.24964079260826111 0.70805490016937256 0.3273276686668396 +-0.21694472432136536 0.59012150764465332 0.38933819532394409 +-0.1884324848651886 0.65704971551895142 0.41902804374694824 +-0.25397053360939026 0.58718967437744141 0.33872029185295105 +-0.097171425819396973 0.91707915067672729 0.50747835636138916 +-0.031633377075195312 0.98693925142288208 0.58778607845306396 +-0.013991355895996094 0.94675630331039429 0.51106202602386475 +-0.041650950908660889 0.88326108455657959 0.58886939287185669 +0.033904671669006348 1.0567994117736816 0.66809386014938354 +0.099442720413208008 1.1266593933105469 0.74840158224105835 +0.12800773978233337 1.098119854927063 0.68506211042404175 +0.094660311937332153 1.051811695098877 0.75256025791168213 +0.034743010997772217 1.0183672904968262 0.60355985164642334 +0.14984855055809021 1.0118509531021118 0.5291898250579834 +0.08599245548248291 0.97468245029449463 0.50245553255081177 +0.15153050422668457 1.0445425510406494 0.58276331424713135 +0.012511402368545532 0.98749524354934692 0.64855861663818359 +0.063249439001083374 0.87882936000823975 0.73410826921463013 +0.07371973991394043 0.93649011850357056 0.74025893211364746 +-0.0084291696548461914 0.87217366695404053 0.63625729084014893 +-0.096333086490631104 0.87864714860916138 0.44294437766075134 +0.023813009262084961 0.86064994335174561 0.34665322303771973 +-0.06188732385635376 0.83671319484710693 0.35403019189834595 +0.014573723077774048 0.91821664571762085 0.44772252440452576 +0.11959457397460938 0.86162495613098145 0.29543390870094299 +0.21201394498348236 0.83373534679412842 0.19794821739196777 +0.15656057000160217 0.81395059823989868 0.19555914402008057 +0.20529493689537048 0.88556164503097534 0.28805696964263916 +0.049857765436172485 0.83785074949264526 0.29427433013916016 +-0.014720410108566284 0.76058691740036011 0.20109391212463379 +-0.055168300867080688 0.78488689661026001 0.26392143964767456 +0.045653790235519409 0.77438104152679443 0.19078099727630615 +0.093549817800521851 0.88442414999008179 0.34781283140182495 +0.18681454658508301 0.96417659521102905 0.42931509017944336 +0.19857591390609741 0.93738794326782227 0.37816569209098816 +0.07002711296081543 0.93800145387649536 0.45011162757873535 +-0.11856469511985779 0.84777504205703735 0.4879431426525116 +-0.071630716323852539 0.7250899076461792 0.57026273012161255 +-0.063044220209121704 0.81395697593688965 0.56933414936065674 +-0.1395052969455719 0.73245346546173096 0.47564181685447693 +-0.050310313701629639 0.64153063297271729 0.61165469884872437 +-0.17922505736351013 0.53889775276184082 0.79224365949630737 +-0.15071281790733337 0.60582596063613892 0.82193350791931152 +-0.21625080704689026 0.53596591949462891 0.74162578582763672 +-0.039840012788772583 0.6991913914680481 0.6178053617477417 +0.034377396106719971 0.76833891868591309 0.71017968654632568 +-0.0022886097431182861 0.80896925926208496 0.65380054712295532 +0.031838595867156982 0.70584702491760254 0.71565639972686768 +-0.083532065153121948 0.65261799097061157 0.5642668604850769 +-0.15430524945259094 0.55392748117446899 0.48088383674621582 +-0.12108352780342102 0.54284012317657471 0.52827167510986328 +-0.14997556805610657 0.67479276657104492 0.46949118375778198 +0.37246030569076538 0.30168163776397705 1.2432479858398438 +0.30692225694656372 0.23182155191898346 1.1629402637481689 +0.40102532505989075 0.27314203977584839 1.1799085140228271 +0.33355069160461426 0.3299560546875 1.1855508089065552 +0.24138419330120087 0.16196146607398987 1.0826325416564941 +0.17584614455699921 0.092101365327835083 1.0023248195648193 +0.27582991123199463 0.12002751231193542 0.99371832609176636 +0.1915515661239624 0.17859251797199249 1.0115506649017334 +0.30776059627532959 0.19338956475257874 1.0984063148498535 +0.48307386040687561 0.030668467283248901 1.129314661026001 +0.42454802989959717 0.21956472098827362 1.077609658241272 +0.33128330111503601 0.13981226086616516 0.99610745906829834 +0.26277750730514526 0.23126557469367981 1.1021678447723389 +0.23008137941360474 0.34919896721839905 1.0401571989059448 +0.20156913995742798 0.28227072954177856 1.0104674100875854 +0.26710718870162964 0.35213083028793335 1.0907751321792603 +0.11030808091163635 0.022241294384002686 0.92201703786849976 +0.044770032167434692 -0.0476188063621521 0.84170931577682495 +0.12795010209083557 -0.017941713333129883 0.84529298543930054 +0.054787606000900269 0.056059360504150391 0.84062600135803223 +-0.020768016576766968 -0.11747890710830688 0.76140159368515015 +-0.086306065320968628 -0.18733900785446167 0.68109381198883057 +-0.014049023389816284 -0.16930520534515381 0.67129290103912354 +-0.081523656845092773 -0.1124911904335022 0.67693519592285156 +0.045608371496200562 -0.086050808429718018 0.77717530727386475 +0.15135133266448975 -0.10254722833633423 0.69133281707763672 +0.16239584982395172 -0.059875667095184326 0.75637876987457275 +0.096857815980911255 -0.12973570823669434 0.67607104778289795 +0.00062528252601623535 -0.048174798488616943 0.7809368371963501 +-0.050112754106521606 0.060491085052490234 0.69538712501525879 +-0.060583055019378662 0.0028303563594818115 0.68923652172088623 +0.021565884351730347 0.067146778106689453 0.79323816299438477 +0.17668448388576508 0.053669363260269165 0.93779075145721436 +0.30619317293167114 0.045652121305465698 0.85297214984893799 +0.2766682505607605 0.081595510244369507 0.92918431758880615 +0.20020720362663269 9.205937385559082e-05 0.83549195528030396 +0.37832871079444885 0.032657653093338013 0.79150986671447754 +0.48407164216041565 0.016161233186721802 0.70566731691360474 +0.49511617422103882 0.058832854032516479 0.77071332931518555 +0.42957812547683716 -0.011027216911315918 0.69040554761886597 +0.36656737327575684 0.0594463050365448 0.84265923500061035 +0.49231314659118652 -0.026898294687271118 1.0282453298568726 +0.41753581166267395 -0.039191633462905884 1.0490069389343262 +0.4715934693813324 0.11241012811660767 0.87301206588745117 +0.32287532091140747 0.012872904539108276 0.78912073373794556 +0.3036561906337738 -0.19828343391418457 0.76149970293045044 +0.31867134571075439 -0.050596773624420166 0.68562740087509155 +0.2119685560464859 -0.026696562767028809 0.78434258699417114 +0.13170138001441956 0.091545373201370239 0.94155234098434448 +0.084767371416091919 0.21423050761222839 0.85923266410827637 +0.076180905103683472 0.12536349892616272 0.86016124486923218 +0.15264195203781128 0.20686693489551544 0.95385360717773438 +0.063446998596191406 0.29778984189033508 0.81784069538116455 +-0.13085994124412537 0.43102377653121948 0.87440860271453857 +0.0022386610507965088 0.34879499673843384 0.72614037990570068 +0.067776709794998169 0.41865506768226624 0.80644810199737549 +0.052976697683334351 0.24012905359268188 0.81169009208679199 +-0.021240711212158203 0.17098149657249451 0.71931570768356323 +0.015425294637680054 0.13035118579864502 0.77569484710693359 +-0.018701940774917603 0.23347343504428864 0.71383905410766602 +0.096668750047683716 0.28670245409011841 0.86522853374481201 +0.16744193434715271 0.3853929340839386 0.94861161708831787 +0.1342201828956604 0.39648032188415527 0.90122377872467041 +0.16311222314834595 0.26452770829200745 0.96000421047210693 +0.72027087211608887 -0.2713857889175415 0.095970034599304199 +0.78580892086029053 -0.20152568817138672 0.17627778649330139 +0.69170582294464111 -0.24284613132476807 0.15930953621864319 +0.72505331039428711 -0.19653797149658203 0.09181135892868042 +0.85134696960449219 -0.13166558742523193 0.25658553838729858 +0.91688501834869385 -0.061805486679077148 0.33689326047897339 +0.81690120697021484 -0.08973163366317749 0.34549975395202637 +0.86705243587493896 -0.04517441987991333 0.26581147313117981 +0.78497058153152466 -0.1630936861038208 0.24081182479858398 +0.65642178058624268 -0.16248023509979248 0.31275776028633118 +0.6681830883026123 -0.18926882743835449 0.26160836219787598 +0.76144778728485107 -0.10951638221740723 0.34311065077781677 +0.80720221996307373 -0.13222157955169678 0.19581305980682373 +0.76514351367950439 -0.024268180131912231 0.1223299503326416 +0.81153190135955811 -0.011356353759765625 0.18442040681838989 +0.74599385261535645 -0.081216424703598022 0.10411268472671509 +0.98242306709289551 0.008054584264755249 0.41720098257064819 +1.0479611158370972 0.077914685010910034 0.497508704662323 +0.96478104591369629 0.04823756217956543 0.49392509460449219 +0.99244058132171631 0.11173278093338013 0.41611763834953308 +1.1134991645812988 0.14777475595474243 0.5778164267539978 +1.1790372133255005 0.21763487160205841 0.65812414884567261 +1.1067801713943481 0.19960109889507294 0.66792517900466919 +1.1401276588439941 0.24590928852558136 0.60042703151702881 +1.0471228361129761 0.11634668707847595 0.56204277276992798 +0.98806345462799072 -0.021839499473571777 0.74434655904769897 +0.97701895236968994 -0.06451106071472168 0.67930054664611816 +1.0425570011138916 0.0053490400314331055 0.75960832834243774 +1.0693544149398804 0.14721879363059998 0.51704394817352295 +1.0404623746871948 0.2791714072227478 0.45826348662376404 +1.0736840963363647 0.26808404922485352 0.50565135478973389 +1.0029109716415405 0.16939356923103333 0.42226827144622803 +0.91604673862457275 -0.023373514413833618 0.40142729878425598 +0.78653800487518311 -0.015356302261352539 0.48624590039253235 +0.81606286764144897 -0.051299631595611572 0.41003376245498657 +0.93920743465423584 -0.12447881698608398 0.60018742084503174 +0.71440243721008301 -0.0023618340492248535 0.54770821332931519 +0.60865950584411621 0.014134585857391357 0.63355076313018799 +0.59761500358581543 -0.028536975383758545 0.56850475072860718 +0.66315305233001709 0.041323095560073853 0.64881247282028198 +0.72616374492645264 -0.029150485992431641 0.49655884504318237 +0.64718246459960938 -0.10491347312927246 0.41382706165313721 +0.72195982933044434 -0.092620134353637695 0.39306551218032837 +0.62113767862319946 -0.082114279270172119 0.46620595455169678 +0.81653940677642822 -0.13725966215133667 0.64655864238739014 +0.87619674205780029 -0.054005205631256104 0.75244104862213135 +0.82074332237243652 -0.07378995418548584 0.75005197525024414 +0.92744612693786621 -0.097690165042877197 0.65133678913116455 +0.93827831745147705 0.0074985921382904053 0.35642850399017334 +0.90070688724517822 0.14016374945640564 0.28558140993118286 +0.94829583168029785 0.11117681860923767 0.35534518957138062 +0.87183487415313721 0.029673367738723755 0.26165282726287842 +0.86209243535995483 0.21857422590255737 0.22108960151672363 +0.84113186597824097 0.34569567441940308 0.17393642663955688 +0.87435364723205566 0.33460831642150879 0.22132426500320435 +0.81450343132019043 0.24756118655204773 0.15132582187652588 +0.90324568748474121 0.20265568792819977 0.28010472655296326 +0.97258782386779785 0.28653499484062195 0.36364257335662842 +0.97492432594299316 0.20931132137775421 0.37795576453208923 +0.94079709053039551 0.31243354082107544 0.31609994173049927 +0.85955369472503662 0.15608230233192444 0.22656625509262085 +0.77740472555160522 0.091765880584716797 0.12256461381912231 +0.78787505626678467 0.14942666888237 0.12871524691581726 +0.83861309289932251 0.04076075553894043 0.21426498889923096 +3 428 867 874 +3 444 995 1002 +3 492 1123 1130 +3 508 1251 1258 +3 556 1011 1018 +3 572 1203 1210 +3 620 1443 1450 +3 636 1507 1514 +3 684 819 826 +3 700 1139 1146 +3 748 1459 1466 +3 764 1395 1402 +3 412 803 810 +3 400 931 938 +3 476 1059 1066 +3 464 1187 1194 +3 540 1315 1322 +3 528 1379 1386 +3 604 1075 1082 +3 592 883 890 +3 668 1523 1530 +3 656 1331 1338 +3 732 947 954 +3 720 1267 1274 +3 432 787 794 +3 652 774 782 +3 396 851 858 +3 640 838 846 +3 448 915 922 +3 752 902 910 +3 416 979 986 +3 524 966 974 +3 496 1043 1050 +3 624 1030 1038 +3 460 1107 1114 +3 672 1094 1102 +3 512 1171 1178 +3 544 1158 1166 +3 480 1235 1242 +3 768 1222 1230 +3 560 1299 1306 +3 704 1286 1294 +3 576 1363 1370 +3 736 1350 1358 +3 588 1427 1434 +3 716 1414 1422 +3 608 1491 1498 +3 688 1478 1486 +3 392 870 878 +3 389 899 906 +3 408 771 778 +3 405 998 1006 +3 424 835 842 +3 421 806 814 +3 440 963 970 +3 437 934 942 +3 456 1126 1134 +3 453 1155 1162 +3 472 1027 1034 +3 469 1254 1262 +3 488 1091 1098 +3 485 1062 1070 +3 504 1219 1226 +3 501 1190 1198 +3 520 1014 1022 +3 517 1347 1354 +3 536 1283 1290 +3 533 1206 1214 +3 552 982 990 +3 549 1318 1326 +3 568 1174 1182 +3 565 1382 1390 +3 584 1446 1454 +3 581 854 862 +3 600 1046 1054 +3 597 1510 1518 +3 616 1411 1418 +3 613 1078 1086 +3 632 1475 1482 +3 629 886 894 +3 648 822 830 +3 645 1302 1310 +3 664 1494 1502 +3 661 1142 1150 +3 680 790 798 +3 677 1526 1534 +3 696 1110 1118 +3 693 1334 1342 +3 712 1462 1470 +3 709 1238 1246 +3 728 918 926 +3 725 1398 1406 +3 744 1430 1438 +3 741 950 958 +3 760 1366 1374 +3 757 1270 1278 +3 413 196 778 +3 644 197 782 +3 425 200 794 +3 685 201 798 +3 404 204 810 +3 804 776 411 +3 676 208 826 +3 820 789 683 +3 429 212 842 +3 633 213 846 +3 388 216 858 +3 593 217 862 +3 420 220 874 +3 868 840 427 +3 585 224 890 +3 884 853 591 +3 401 228 906 +3 745 229 910 +3 441 232 922 +3 733 233 926 +3 393 236 938 +3 932 904 399 +3 724 240 954 +3 948 917 731 +3 445 244 970 +3 516 245 974 +3 409 248 986 +3 557 249 990 +3 436 252 1002 +3 996 968 443 +3 548 256 1018 +3 1012 981 555 +3 477 260 1034 +3 617 261 1038 +3 489 264 1050 +3 605 265 1054 +3 468 268 1066 +3 1060 1032 475 +3 596 272 1082 +3 1076 1045 603 +3 493 276 1098 +3 665 277 1102 +3 452 280 1114 +3 701 281 1118 +3 484 284 1130 +3 1124 1096 491 +3 692 288 1146 +3 1140 1109 699 +3 465 292 1162 +3 537 293 1166 +3 505 296 1178 +3 573 297 1182 +3 457 300 1194 +3 1188 1160 463 +3 564 304 1210 +3 1204 1173 571 +3 509 308 1226 +3 761 309 1230 +3 473 312 1242 +3 721 313 1246 +3 500 316 1258 +3 1252 1224 507 +3 713 320 1274 +3 1268 1237 719 +3 541 324 1290 +3 697 325 1294 +3 553 328 1306 +3 657 329 1310 +3 532 332 1322 +3 1316 1288 539 +3 649 336 1338 +3 1332 1301 655 +3 529 340 1354 +3 729 341 1358 +3 569 344 1370 +3 765 345 1374 +3 521 348 1386 +3 1380 1352 527 +3 756 352 1402 +3 1396 1365 763 +3 621 356 1418 +3 708 357 1422 +3 580 360 1434 +3 749 361 1438 +3 612 364 1450 +3 1444 1416 619 +3 740 368 1466 +3 1460 1429 747 +3 637 372 1482 +3 681 373 1486 +3 601 376 1498 +3 669 377 1502 +3 628 380 1514 +3 1508 1480 635 +3 660 384 1530 +3 1524 1493 667 +3 860 100 396 +3 389 98 900 +3 872 106 420 +3 940 101 400 +3 395 218 866 +3 880 99 392 +3 399 903 930 +3 908 98 389 +3 812 104 412 +3 1000 110 436 +3 408 103 772 +3 988 105 416 +3 411 775 802 +3 780 103 408 +3 415 250 994 +3 1008 102 405 +3 876 108 428 +3 808 102 404 +3 424 107 836 +3 796 109 432 +3 427 839 866 +3 844 107 424 +3 431 202 802 +3 816 106 421 +3 1004 112 444 +3 936 99 393 +3 440 111 964 +3 924 113 448 +3 443 967 994 +3 972 111 440 +3 447 234 930 +3 944 110 437 +3 1116 116 460 +3 453 114 1156 +3 1128 122 484 +3 1196 117 464 +3 459 282 1122 +3 1136 115 456 +3 463 1159 1186 +3 1164 114 453 +3 1068 120 476 +3 1256 126 500 +3 472 119 1028 +3 1244 121 480 +3 475 1031 1058 +3 1036 119 472 +3 479 314 1250 +3 1264 118 469 +3 1132 124 492 +3 1064 118 468 +3 488 123 1092 +3 1052 125 496 +3 491 1095 1122 +3 1100 123 488 +3 495 266 1058 +3 1072 122 485 +3 1260 128 508 +3 1192 115 457 +3 504 127 1220 +3 1180 129 512 +3 507 1223 1250 +3 1228 127 504 +3 511 298 1186 +3 1200 126 501 +3 976 132 524 +3 517 130 1348 +3 1016 138 548 +3 1388 133 528 +3 523 254 1010 +3 1024 131 520 +3 527 1351 1378 +3 1356 130 517 +3 1324 136 540 +3 1208 142 564 +3 536 135 1284 +3 1168 137 544 +3 539 1287 1314 +3 1292 135 536 +3 543 302 1202 +3 1216 134 533 +3 1020 140 556 +3 1320 134 532 +3 552 139 985 +3 1308 141 560 +3 555 978 1010 +3 992 139 552 +3 559 330 1314 +3 1328 138 549 +3 1212 144 572 +3 1384 131 521 +3 568 143 1177 +3 1372 145 576 +3 571 1170 1202 +3 1184 143 568 +3 575 346 1378 +3 1392 142 565 +3 1436 148 588 +3 581 146 857 +3 1448 154 612 +3 892 149 592 +3 587 362 1442 +3 1456 147 584 +3 591 850 882 +3 864 146 581 +3 1084 152 604 +3 1512 158 628 +3 600 151 1049 +3 1500 153 608 +3 603 1042 1074 +3 1056 151 600 +3 607 378 1506 +3 1520 150 597 +3 1452 156 620 +3 1080 150 596 +3 616 155 1412 +3 1040 157 624 +3 619 1415 1442 +3 1420 155 616 +3 623 270 1074 +3 1088 154 613 +3 1516 160 636 +3 888 147 585 +3 632 159 1476 +3 848 161 640 +3 635 1479 1506 +3 1484 159 632 +3 639 222 882 +3 896 158 629 +3 784 164 652 +3 645 162 1305 +3 824 170 676 +3 1340 165 656 +3 651 206 818 +3 832 163 648 +3 655 1298 1330 +3 1312 162 645 +3 1532 168 668 +3 1144 174 692 +3 664 167 1497 +3 1104 169 672 +3 667 1490 1522 +3 1504 167 664 +3 671 286 1138 +3 1152 166 661 +3 828 172 684 +3 1528 166 660 +3 680 171 793 +3 1488 173 688 +3 683 786 818 +3 800 171 680 +3 687 382 1522 +3 1536 170 677 +3 1148 176 700 +3 1336 163 649 +3 696 175 1113 +3 1296 177 704 +3 699 1106 1138 +3 1120 175 696 +3 703 334 1330 +3 1344 174 693 +3 1424 180 716 +3 709 178 1241 +3 1464 186 740 +3 1276 181 720 +3 715 366 1458 +3 1472 179 712 +3 719 1234 1266 +3 1248 178 709 +3 956 184 732 +3 1400 190 756 +3 728 183 921 +3 1360 185 736 +3 731 914 946 +3 928 183 728 +3 735 350 1394 +3 1408 182 725 +3 1468 188 748 +3 952 182 724 +3 744 187 1433 +3 912 189 752 +3 747 1426 1458 +3 1440 187 744 +3 751 238 946 +3 960 186 741 +3 1404 192 764 +3 1272 179 713 +3 760 191 1369 +3 1232 193 768 +3 763 1362 1394 +3 1376 191 760 +3 767 318 1266 +3 1280 190 757 +3 772 770 194 +3 773 162 644 +3 781 196 413 +3 821 206 651 +3 410 27 779 +3 196 779 780 +3 644 162 785 +3 197 783 784 +3 805 202 431 +3 801 201 685 +3 792 107 425 +3 793 791 199 +3 425 107 797 +3 200 795 796 +3 682 44 799 +3 201 799 800 +3 433 205 814 +3 202 803 804 +3 418 8 807 +3 203 807 808 +3 404 102 813 +3 204 811 812 +3 430 28 815 +3 205 815 816 +3 653 209 830 +3 206 819 820 +3 648 163 825 +3 207 823 824 +3 676 170 829 +3 208 827 828 +3 650 42 831 +3 209 831 832 +3 836 834 210 +3 837 159 633 +3 845 212 429 +3 885 222 639 +3 426 28 843 +3 212 843 844 +3 633 159 849 +3 213 847 848 +3 869 218 395 +3 865 217 593 +3 856 98 388 +3 857 855 215 +3 388 98 861 +3 216 859 860 +3 590 38 863 +3 217 863 864 +3 397 221 878 +3 218 867 868 +3 392 99 873 +3 219 871 872 +3 420 106 877 +3 220 875 876 +3 394 26 879 +3 221 879 880 +3 641 225 894 +3 222 883 884 +3 626 11 887 +3 223 887 888 +3 585 147 893 +3 224 891 892 +3 638 41 895 +3 225 895 896 +3 900 898 226 +3 901 187 745 +3 909 228 401 +3 949 238 751 +3 398 26 907 +3 228 907 908 +3 745 187 913 +3 229 911 912 +3 933 234 447 +3 929 233 733 +3 920 111 441 +3 921 919 231 +3 441 111 925 +3 232 923 924 +3 730 47 927 +3 233 927 928 +3 449 237 942 +3 234 931 932 +3 434 8 935 +3 235 935 936 +3 393 99 941 +3 236 939 940 +3 446 29 943 +3 237 943 944 +3 753 241 958 +3 238 947 948 +3 738 13 951 +3 239 951 952 +3 724 182 957 +3 240 955 956 +3 750 48 959 +3 241 959 960 +3 964 962 242 +3 965 130 516 +3 973 244 445 +3 1013 254 523 +3 442 29 971 +3 244 971 972 +3 516 130 977 +3 245 975 976 +3 997 250 415 +3 993 249 557 +3 984 103 409 +3 985 983 247 +3 409 103 989 +3 248 987 988 +3 554 36 991 +3 249 991 992 +3 417 253 1006 +3 250 995 996 +3 405 102 1001 +3 251 999 1000 +3 436 110 1005 +3 252 1003 1004 +3 414 27 1007 +3 253 1007 1008 +3 525 257 1022 +3 254 1011 1012 +3 520 131 1017 +3 255 1015 1016 +3 548 138 1021 +3 256 1019 1020 +3 522 34 1023 +3 257 1023 1024 +3 1028 1026 258 +3 1029 155 617 +3 1037 260 477 +3 1077 270 623 +3 474 31 1035 +3 260 1035 1036 +3 617 155 1041 +3 261 1039 1040 +3 1061 266 495 +3 1057 265 605 +3 1048 123 489 +3 1049 1047 263 +3 489 123 1053 +3 264 1051 1052 +3 602 39 1055 +3 265 1055 1056 +3 497 269 1070 +3 266 1059 1060 +3 482 9 1063 +3 267 1063 1064 +3 468 118 1069 +3 268 1067 1068 +3 494 32 1071 +3 269 1071 1072 +3 625 273 1086 +3 270 1075 1076 +3 610 11 1079 +3 271 1079 1080 +3 596 150 1085 +3 272 1083 1084 +3 622 40 1087 +3 273 1087 1088 +3 1092 1090 274 +3 1093 167 665 +3 1101 276 493 +3 1141 286 671 +3 490 32 1099 +3 276 1099 1100 +3 665 167 1105 +3 277 1103 1104 +3 1125 282 459 +3 1121 281 701 +3 1112 114 452 +3 1113 1111 279 +3 452 114 1117 +3 280 1115 1116 +3 698 45 1119 +3 281 1119 1120 +3 461 285 1134 +3 282 1123 1124 +3 456 115 1129 +3 283 1127 1128 +3 484 122 1133 +3 284 1131 1132 +3 458 30 1135 +3 285 1135 1136 +3 673 289 1150 +3 286 1139 1140 +3 661 166 1145 +3 287 1143 1144 +3 692 174 1149 +3 288 1147 1148 +3 670 43 1151 +3 289 1151 1152 +3 1156 1154 290 +3 1157 135 537 +3 1165 292 465 +3 1205 302 543 +3 462 30 1163 +3 292 1163 1164 +3 537 135 1169 +3 293 1167 1168 +3 1189 298 511 +3 1185 297 573 +3 1176 127 505 +3 1177 1175 295 +3 505 127 1181 +3 296 1179 1180 +3 570 37 1183 +3 297 1183 1184 +3 513 301 1198 +3 298 1187 1188 +3 498 9 1191 +3 299 1191 1192 +3 457 115 1197 +3 300 1195 1196 +3 510 33 1199 +3 301 1199 1200 +3 545 305 1214 +3 302 1203 1204 +3 533 134 1209 +3 303 1207 1208 +3 564 142 1213 +3 304 1211 1212 +3 542 35 1215 +3 305 1215 1216 +3 1220 1218 306 +3 1221 191 761 +3 1229 308 509 +3 1269 318 767 +3 506 33 1227 +3 308 1227 1228 +3 761 191 1233 +3 309 1231 1232 +3 1253 314 479 +3 1249 313 721 +3 1240 119 473 +3 1241 1239 311 +3 473 119 1245 +3 312 1243 1244 +3 718 46 1247 +3 313 1247 1248 +3 481 317 1262 +3 314 1251 1252 +3 469 118 1257 +3 315 1255 1256 +3 500 126 1261 +3 316 1259 1260 +3 478 31 1263 +3 317 1263 1264 +3 769 321 1278 +3 318 1267 1268 +3 754 13 1271 +3 319 1271 1272 +3 713 179 1277 +3 320 1275 1276 +3 766 49 1279 +3 321 1279 1280 +3 1284 1282 322 +3 1285 175 697 +3 1293 324 541 +3 1333 334 703 +3 538 35 1291 +3 324 1291 1292 +3 697 175 1297 +3 325 1295 1296 +3 1317 330 559 +3 1313 329 657 +3 1304 139 553 +3 1305 1303 327 +3 553 139 1309 +3 328 1307 1308 +3 654 42 1311 +3 329 1311 1312 +3 561 333 1326 +3 330 1315 1316 +3 546 10 1319 +3 331 1319 1320 +3 532 134 1325 +3 332 1323 1324 +3 558 36 1327 +3 333 1327 1328 +3 705 337 1342 +3 334 1331 1332 +3 690 12 1335 +3 335 1335 1336 +3 649 163 1341 +3 336 1339 1340 +3 702 45 1343 +3 337 1343 1344 +3 1348 1346 338 +3 1349 183 729 +3 1357 340 529 +3 1397 350 735 +3 526 34 1355 +3 340 1355 1356 +3 729 183 1361 +3 341 1359 1360 +3 1381 346 575 +3 1377 345 765 +3 1368 143 569 +3 1369 1367 343 +3 569 143 1373 +3 344 1371 1372 +3 762 49 1375 +3 345 1375 1376 +3 577 349 1390 +3 346 1379 1380 +3 562 10 1383 +3 347 1383 1384 +3 521 131 1389 +3 348 1387 1388 +3 574 37 1391 +3 349 1391 1392 +3 737 353 1406 +3 350 1395 1396 +3 725 182 1401 +3 351 1399 1400 +3 756 190 1405 +3 352 1403 1404 +3 734 47 1407 +3 353 1407 1408 +3 1412 1410 354 +3 1413 178 708 +3 1421 356 621 +3 1461 366 715 +3 618 40 1419 +3 356 1419 1420 +3 708 178 1425 +3 357 1423 1424 +3 1445 362 587 +3 1441 361 749 +3 1432 146 580 +3 1433 1431 359 +3 580 146 1437 +3 360 1435 1436 +3 746 48 1439 +3 361 1439 1440 +3 589 365 1454 +3 362 1443 1444 +3 584 147 1449 +3 363 1447 1448 +3 612 154 1453 +3 364 1451 1452 +3 586 38 1455 +3 365 1455 1456 +3 717 369 1470 +3 366 1459 1460 +3 712 179 1465 +3 367 1463 1464 +3 740 186 1469 +3 368 1467 1468 +3 714 46 1471 +3 369 1471 1472 +3 1476 1474 370 +3 1477 171 681 +3 1485 372 637 +3 1525 382 687 +3 634 41 1483 +3 372 1483 1484 +3 681 171 1489 +3 373 1487 1488 +3 1509 378 607 +3 1505 377 669 +3 1496 151 601 +3 1497 1495 375 +3 601 151 1501 +3 376 1499 1500 +3 666 43 1503 +3 377 1503 1504 +3 609 381 1518 +3 378 1507 1508 +3 597 150 1513 +3 379 1511 1512 +3 628 158 1517 +3 380 1515 1516 +3 606 39 1519 +3 381 1519 1520 +3 689 385 1534 +3 382 1523 1524 +3 674 12 1527 +3 383 1527 1528 +3 660 166 1533 +3 384 1531 1532 +3 686 44 1535 +3 385 1535 1536 +3 861 216 388 +3 900 856 386 +3 879 221 394 +3 900 226 389 +3 858 55 854 +3 387 859 861 +3 899 58 906 +3 98 856 900 +3 873 219 392 +3 907 228 398 +3 807 203 418 +3 941 236 393 +3 874 867 56 +3 391 871 873 +3 60 931 942 +3 99 880 941 +3 852 851 396 +3 390 939 941 +3 866 15 850 +3 397 218 869 +3 851 55 858 +3 395 214 852 +3 428 108 868 +3 100 860 881 +3 904 101 909 +3 26 859 907 +3 903 16 930 +3 401 227 904 +3 60 934 938 +3 904 227 399 +3 906 58 902 +3 932 931 400 +3 813 204 404 +3 935 235 434 +3 779 196 410 +3 1001 251 405 +3 52 803 814 +3 403 811 813 +3 1002 995 64 +3 102 808 1001 +3 772 194 408 +3 1007 253 414 +3 984 983 407 +3 989 248 409 +3 771 50 778 +3 407 770 772 +3 986 63 982 +3 103 780 989 +3 776 104 781 +3 406 987 989 +3 775 14 802 +3 413 195 776 +3 52 806 810 +3 776 195 411 +3 778 50 774 +3 804 803 412 +3 980 979 416 +3 27 811 1007 +3 994 17 978 +3 417 250 997 +3 979 63 986 +3 415 246 980 +3 444 112 996 +3 105 988 1009 +3 421 205 816 +3 402 999 1001 +3 430 205 817 +3 809 806 421 +3 56 867 878 +3 816 815 419 +3 810 803 52 +3 877 220 420 +3 425 199 792 +3 815 205 430 +3 836 792 423 +3 797 200 425 +3 835 54 842 +3 792 791 423 +3 794 51 790 +3 836 210 424 +3 840 108 845 +3 844 843 422 +3 839 15 866 +3 429 211 840 +3 56 870 874 +3 840 211 427 +3 842 54 838 +3 868 867 428 +3 788 787 432 +3 843 212 426 +3 802 14 786 +3 433 202 805 +3 787 51 794 +3 431 198 788 +3 412 104 804 +3 109 796 817 +3 437 237 944 +3 8 871 935 +3 446 237 945 +3 937 934 437 +3 64 995 1006 +3 944 943 435 +3 938 931 60 +3 1005 252 436 +3 441 231 920 +3 943 237 446 +3 964 920 439 +3 925 232 441 +3 963 62 970 +3 920 919 439 +3 922 59 918 +3 964 242 440 +3 968 112 973 +3 972 971 438 +3 967 17 994 +3 445 243 968 +3 64 998 1002 +3 968 243 443 +3 970 62 966 +3 996 995 444 +3 916 915 448 +3 971 244 442 +3 930 16 914 +3 449 234 933 +3 915 59 922 +3 447 230 916 +3 400 101 932 +3 113 924 945 +3 1117 280 452 +3 1156 1112 450 +3 1135 285 458 +3 1156 290 453 +3 1114 71 1110 +3 451 1115 1117 +3 1155 74 1162 +3 114 1112 1156 +3 1129 283 456 +3 1163 292 462 +3 1063 267 482 +3 1197 300 457 +3 1130 1123 72 +3 455 1127 1129 +3 76 1187 1198 +3 115 1136 1197 +3 1108 1107 460 +3 454 1195 1197 +3 1122 19 1106 +3 461 282 1125 +3 1107 71 1114 +3 459 278 1108 +3 492 124 1124 +3 116 1116 1137 +3 1160 117 1165 +3 30 1115 1163 +3 1159 20 1186 +3 465 291 1160 +3 76 1190 1194 +3 1160 291 463 +3 1162 74 1158 +3 1188 1187 464 +3 1069 268 468 +3 1191 299 498 +3 1035 260 474 +3 1257 315 469 +3 68 1059 1070 +3 467 1067 1069 +3 1258 1251 80 +3 118 1064 1257 +3 1028 258 472 +3 1263 317 478 +3 1240 1239 471 +3 1245 312 473 +3 1027 66 1034 +3 471 1026 1028 +3 1242 79 1238 +3 119 1036 1245 +3 1032 120 1037 +3 470 1243 1245 +3 1031 18 1058 +3 477 259 1032 +3 68 1062 1066 +3 1032 259 475 +3 1034 66 1030 +3 1060 1059 476 +3 1236 1235 480 +3 31 1067 1263 +3 1250 21 1234 +3 481 314 1253 +3 1235 79 1242 +3 479 310 1236 +3 508 128 1252 +3 121 1244 1265 +3 485 269 1072 +3 466 1255 1257 +3 494 269 1073 +3 1065 1062 485 +3 72 1123 1134 +3 1072 1071 483 +3 1066 1059 68 +3 1133 284 484 +3 489 263 1048 +3 1071 269 494 +3 1092 1048 487 +3 1053 264 489 +3 1091 70 1098 +3 1048 1047 487 +3 1050 67 1046 +3 1092 274 488 +3 1096 124 1101 +3 1100 1099 486 +3 1095 19 1122 +3 493 275 1096 +3 72 1126 1130 +3 1096 275 491 +3 1098 70 1094 +3 1124 1123 492 +3 1044 1043 496 +3 1099 276 490 +3 1058 18 1042 +3 497 266 1061 +3 1043 67 1050 +3 495 262 1044 +3 476 120 1060 +3 125 1052 1073 +3 501 301 1200 +3 9 1127 1191 +3 510 301 1201 +3 1193 1190 501 +3 80 1251 1262 +3 1200 1199 499 +3 1194 1187 76 +3 1261 316 500 +3 505 295 1176 +3 1199 301 510 +3 1220 1176 503 +3 1181 296 505 +3 1219 78 1226 +3 1176 1175 503 +3 1178 75 1174 +3 1220 306 504 +3 1224 128 1229 +3 1228 1227 502 +3 1223 21 1250 +3 509 307 1224 +3 80 1254 1258 +3 1224 307 507 +3 1226 78 1222 +3 1252 1251 508 +3 1172 1171 512 +3 1227 308 506 +3 1186 20 1170 +3 513 298 1189 +3 1171 75 1178 +3 511 294 1172 +3 464 117 1188 +3 129 1180 1201 +3 977 245 516 +3 1348 965 514 +3 1023 257 522 +3 1348 338 517 +3 974 62 963 +3 515 975 977 +3 1347 86 1354 +3 130 965 1348 +3 1017 255 520 +3 1355 340 526 +3 1319 331 546 +3 1389 348 521 +3 1018 1011 65 +3 519 1015 1017 +3 88 1379 1390 +3 131 1024 1389 +3 969 966 524 +3 518 1387 1389 +3 1010 17 967 +3 525 254 1013 +3 966 62 974 +3 523 243 969 +3 556 140 1012 +3 132 976 1025 +3 1352 133 1357 +3 34 975 1355 +3 1351 23 1378 +3 529 339 1352 +3 88 1382 1386 +3 1352 339 527 +3 1354 86 1350 +3 1380 1379 528 +3 533 305 1216 +3 1383 347 562 +3 542 305 1217 +3 1209 303 533 +3 84 1315 1326 +3 1216 1215 531 +3 1210 1203 77 +3 1325 332 532 +3 537 290 1157 +3 1215 305 542 +3 1284 1157 535 +3 1169 293 537 +3 1283 82 1290 +3 1157 1154 535 +3 1166 74 1155 +3 1284 322 536 +3 1288 136 1293 +3 1292 1291 534 +3 1287 22 1314 +3 541 323 1288 +3 84 1318 1322 +3 1288 323 539 +3 1290 82 1286 +3 1316 1315 540 +3 1161 1158 544 +3 1291 324 538 +3 1202 20 1159 +3 545 302 1205 +3 1158 74 1166 +3 543 291 1161 +3 572 144 1204 +3 137 1168 1217 +3 1021 256 548 +3 1320 1319 530 +3 991 249 554 +3 1321 1318 549 +3 65 1011 1022 +3 547 1019 1021 +3 1322 1315 84 +3 138 1016 1321 +3 985 247 552 +3 1327 333 558 +3 1304 1303 551 +3 1309 328 553 +3 982 63 990 +3 551 983 985 +3 1306 83 1302 +3 139 992 1309 +3 981 140 993 +3 550 1307 1309 +3 978 17 1010 +3 557 246 981 +3 65 1014 1018 +3 981 246 555 +3 990 63 979 +3 1012 1011 556 +3 1300 1299 560 +3 36 1019 1327 +3 1314 22 1298 +3 561 330 1317 +3 1299 83 1306 +3 559 326 1300 +3 540 136 1316 +3 141 1308 1329 +3 1213 304 564 +3 10 1015 1383 +3 1183 297 570 +3 1385 1382 565 +3 77 1203 1214 +3 563 1211 1213 +3 1386 1379 88 +3 142 1208 1385 +3 1177 295 568 +3 1391 349 574 +3 1368 1367 567 +3 1373 344 569 +3 1174 75 1182 +3 567 1175 1177 +3 1370 87 1366 +3 143 1184 1373 +3 1173 144 1185 +3 566 1371 1373 +3 1170 20 1202 +3 573 294 1173 +3 77 1206 1210 +3 1173 294 571 +3 1182 75 1171 +3 1204 1203 572 +3 1364 1363 576 +3 37 1211 1391 +3 1378 23 1362 +3 577 346 1381 +3 1363 87 1370 +3 575 342 1364 +3 528 133 1380 +3 145 1372 1393 +3 581 217 864 +3 1432 1431 578 +3 590 865 892 +3 857 215 581 +3 1434 91 1430 +3 864 863 579 +3 854 55 862 +3 1437 360 580 +3 585 223 888 +3 863 217 590 +3 626 889 1512 +3 893 224 585 +3 1450 1443 92 +3 888 887 583 +3 57 883 894 +3 1449 363 584 +3 1428 1427 588 +3 1456 1455 582 +3 1442 24 1426 +3 589 362 1445 +3 1427 91 1434 +3 587 358 1428 +3 620 156 1444 +3 148 1436 1457 +3 853 149 865 +3 1455 365 586 +3 850 15 882 +3 593 214 853 +3 57 886 890 +3 853 214 591 +3 862 55 851 +3 884 883 592 +3 1085 272 596 +3 887 223 626 +3 1055 265 602 +3 1513 379 597 +3 69 1075 1086 +3 595 1083 1085 +3 1514 1507 96 +3 150 1080 1513 +3 1049 263 600 +3 1519 381 606 +3 1496 1495 599 +3 1501 376 601 +3 1046 67 1054 +3 599 1047 1049 +3 1498 95 1494 +3 151 1056 1501 +3 1045 152 1057 +3 598 1499 1501 +3 1042 18 1074 +3 605 262 1045 +3 69 1078 1082 +3 1045 262 603 +3 1054 67 1043 +3 1076 1075 604 +3 1492 1491 608 +3 39 1083 1519 +3 1506 25 1490 +3 609 378 1509 +3 1491 95 1498 +3 607 374 1492 +3 636 160 1508 +3 153 1500 1521 +3 613 273 1088 +3 594 1511 1513 +3 622 273 1089 +3 1081 1078 613 +3 92 1443 1454 +3 1088 1087 611 +3 1082 1075 69 +3 1453 364 612 +3 617 258 1029 +3 1087 273 622 +3 1412 1029 615 +3 1041 261 617 +3 1411 90 1418 +3 1029 1026 615 +3 1038 66 1027 +3 1412 354 616 +3 1416 156 1421 +3 1420 1419 614 +3 1415 24 1442 +3 621 355 1416 +3 92 1446 1450 +3 1416 355 619 +3 1418 90 1414 +3 1444 1443 620 +3 1033 1030 624 +3 1419 356 618 +3 1074 18 1031 +3 625 270 1077 +3 1030 66 1038 +3 623 259 1033 +3 604 152 1076 +3 157 1040 1089 +3 629 225 896 +3 1079 271 610 +3 638 225 897 +3 889 886 629 +3 96 1507 1518 +3 896 895 627 +3 890 883 57 +3 1517 380 628 +3 633 210 837 +3 895 225 638 +3 1476 837 631 +3 849 213 633 +3 1475 94 1482 +3 837 834 631 +3 846 54 835 +3 1476 370 632 +3 1480 160 1485 +3 1484 1483 630 +3 1479 25 1506 +3 637 371 1480 +3 96 1510 1514 +3 1480 371 635 +3 1482 94 1478 +3 1508 1507 636 +3 841 838 640 +3 1483 372 634 +3 882 15 839 +3 641 222 885 +3 838 54 846 +3 639 211 841 +3 592 149 884 +3 161 848 897 +3 785 197 644 +3 1305 773 642 +3 831 209 650 +3 1305 327 645 +3 782 50 771 +3 643 783 785 +3 1302 83 1310 +3 162 773 1305 +3 825 207 648 +3 1311 329 654 +3 1527 383 674 +3 1341 336 649 +3 826 819 53 +3 647 823 825 +3 85 1331 1342 +3 163 832 1341 +3 777 774 652 +3 646 1339 1341 +3 818 14 775 +3 653 206 821 +3 774 50 782 +3 651 195 777 +3 684 172 820 +3 164 784 833 +3 1301 165 1313 +3 42 783 1311 +3 1298 22 1330 +3 657 326 1301 +3 85 1334 1338 +3 1301 326 655 +3 1310 83 1299 +3 1332 1331 656 +3 661 289 1152 +3 1335 335 690 +3 670 289 1153 +3 1145 287 661 +3 97 1523 1534 +3 1152 1151 659 +3 1146 1139 73 +3 1533 384 660 +3 665 274 1093 +3 1151 289 670 +3 1497 1093 663 +3 1105 277 665 +3 1494 95 1502 +3 1093 1090 663 +3 1102 70 1091 +3 1497 375 664 +3 1493 168 1505 +3 1504 1503 662 +3 1490 25 1522 +3 669 374 1493 +3 97 1526 1530 +3 1493 374 667 +3 1502 95 1491 +3 1524 1523 668 +3 1097 1094 672 +3 1503 377 666 +3 1138 19 1095 +3 673 286 1141 +3 1094 70 1102 +3 671 275 1097 +3 700 176 1140 +3 169 1104 1153 +3 829 208 676 +3 1528 1527 658 +3 799 201 682 +3 1529 1526 677 +3 53 819 830 +3 675 827 829 +3 1530 1523 97 +3 170 824 1529 +3 793 199 680 +3 1535 385 686 +3 1477 1474 679 +3 1489 373 681 +3 790 51 798 +3 679 791 793 +3 1486 94 1475 +3 171 800 1489 +3 789 172 801 +3 678 1487 1489 +3 786 14 818 +3 685 198 789 +3 53 822 826 +3 789 198 683 +3 798 51 787 +3 820 819 684 +3 1481 1478 688 +3 44 827 1535 +3 1522 25 1479 +3 689 382 1525 +3 1478 94 1486 +3 687 371 1481 +3 668 168 1524 +3 173 1488 1537 +3 1149 288 692 +3 12 823 1335 +3 1119 281 698 +3 1337 1334 693 +3 73 1139 1150 +3 691 1147 1149 +3 1338 1331 85 +3 174 1144 1337 +3 1113 279 696 +3 1343 337 702 +3 1285 1282 695 +3 1297 325 697 +3 1110 71 1118 +3 695 1111 1113 +3 1294 82 1283 +3 175 1120 1297 +3 1109 176 1121 +3 694 1295 1297 +3 1106 19 1138 +3 701 278 1109 +3 73 1142 1146 +3 1109 278 699 +3 1118 71 1107 +3 1140 1139 700 +3 1289 1286 704 +3 45 1147 1343 +3 1330 22 1287 +3 705 334 1333 +3 1286 82 1294 +3 703 323 1289 +3 656 165 1332 +3 177 1296 1345 +3 709 313 1248 +3 1413 1410 706 +3 718 1249 1276 +3 1241 311 709 +3 1422 90 1411 +3 1248 1247 707 +3 1238 79 1246 +3 1425 357 708 +3 713 319 1272 +3 1247 313 718 +3 754 1273 1400 +3 1277 320 713 +3 1466 1459 93 +3 1272 1271 711 +3 81 1267 1278 +3 1465 367 712 +3 1417 1414 716 +3 1472 1471 710 +3 1458 24 1415 +3 717 366 1461 +3 1414 90 1422 +3 715 355 1417 +3 748 188 1460 +3 180 1424 1473 +3 1237 181 1249 +3 1471 369 714 +3 1234 21 1266 +3 721 310 1237 +3 81 1270 1274 +3 1237 310 719 +3 1246 79 1235 +3 1268 1267 720 +3 957 240 724 +3 1271 319 754 +3 927 233 730 +3 1401 351 725 +3 61 947 958 +3 723 955 957 +3 1402 1395 89 +3 182 952 1401 +3 921 231 728 +3 1407 353 734 +3 1349 1346 727 +3 1361 341 729 +3 918 59 926 +3 727 919 921 +3 1358 86 1347 +3 183 928 1361 +3 917 184 929 +3 726 1359 1361 +3 914 16 946 +3 733 230 917 +3 61 950 954 +3 917 230 731 +3 926 59 915 +3 948 947 732 +3 1353 1350 736 +3 47 955 1407 +3 1394 23 1351 +3 737 350 1397 +3 1350 86 1358 +3 735 339 1353 +3 764 192 1396 +3 185 1360 1409 +3 741 241 960 +3 722 1399 1401 +3 750 241 961 +3 953 950 741 +3 93 1459 1470 +3 960 959 739 +3 954 947 61 +3 1469 368 740 +3 745 226 901 +3 959 241 750 +3 1433 901 743 +3 913 229 745 +3 1430 91 1438 +3 901 898 743 +3 910 58 899 +3 1433 359 744 +3 1429 188 1441 +3 1440 1439 742 +3 1426 24 1458 +3 749 358 1429 +3 93 1462 1466 +3 1429 358 747 +3 1438 91 1427 +3 1460 1459 748 +3 905 902 752 +3 1439 361 746 +3 946 16 903 +3 753 238 949 +3 902 58 910 +3 751 227 905 +3 732 184 948 +3 189 912 961 +3 757 321 1280 +3 951 239 738 +3 766 321 1281 +3 1273 1270 757 +3 89 1395 1406 +3 1280 1279 755 +3 1274 1267 81 +3 1405 352 756 +3 761 306 1221 +3 1279 321 766 +3 1369 1221 759 +3 1233 309 761 +3 1366 87 1374 +3 1221 1218 759 +3 1230 78 1219 +3 1369 343 760 +3 1365 192 1377 +3 1376 1375 758 +3 1362 23 1394 +3 765 342 1365 +3 89 1398 1402 +3 1365 342 763 +3 1374 87 1363 +3 1396 1395 764 +3 1225 1222 768 +3 1375 345 762 +3 1266 21 1223 +3 769 318 1269 +3 1222 78 1230 +3 767 307 1225 +3 720 181 1268 +3 193 1232 1281 +3 407 3 770 +3 642 1303 1305 +3 408 194 771 +3 194 770 773 +3 408 196 780 +3 778 196 408 +3 645 329 1312 +3 770 3 642 +3 411 202 804 +3 652 164 777 +3 411 195 775 +3 195 774 777 +3 804 104 776 +3 802 202 411 +3 652 197 784 +3 782 197 652 +3 812 811 410 +3 774 195 413 +3 410 781 812 +3 413 776 781 +3 409 247 984 +3 989 780 406 +3 410 196 781 +3 778 774 413 +3 785 783 197 +3 771 194 644 +3 654 1313 1340 +3 643 785 1312 +3 821 164 833 +3 783 42 650 +3 644 194 773 +3 782 771 644 +3 198 787 788 +3 683 198 786 +3 432 109 788 +3 683 206 820 +3 432 200 796 +3 794 200 432 +3 820 172 789 +3 818 206 683 +3 199 791 792 +3 680 199 790 +3 423 834 836 +3 679 1 791 +3 836 107 792 +3 791 1 423 +3 680 201 800 +3 798 201 680 +3 797 795 200 +3 790 199 425 +3 843 28 795 +3 422 797 844 +3 805 109 817 +3 795 28 430 +3 422 795 797 +3 794 790 425 +3 828 827 682 +3 787 198 685 +3 682 801 828 +3 685 789 801 +3 681 370 1477 +3 1489 800 678 +3 682 201 801 +3 798 787 685 +3 817 205 433 +3 786 198 431 +3 814 806 52 +3 431 788 805 +3 412 204 812 +3 810 204 412 +3 788 109 805 +3 802 786 431 +3 872 871 418 +3 421 106 809 +3 418 809 872 +3 203 806 809 +3 405 253 1008 +3 1001 808 402 +3 418 203 809 +3 814 205 421 +3 813 811 204 +3 806 203 404 +3 414 253 1009 +3 403 813 1008 +3 812 781 104 +3 811 27 410 +3 404 203 808 +3 810 806 404 +3 817 796 430 +3 803 202 433 +3 419 875 877 +3 433 805 817 +3 877 106 816 +3 877 816 419 +3 796 795 430 +3 814 803 433 +3 833 209 653 +3 775 195 651 +3 830 822 53 +3 651 777 821 +3 684 208 828 +3 826 208 684 +3 777 164 821 +3 818 775 651 +3 825 823 207 +3 648 207 822 +3 690 335 1337 +3 647 825 1336 +3 677 385 1536 +3 823 12 674 +3 648 209 832 +3 830 209 648 +3 829 827 208 +3 822 207 676 +3 686 385 1537 +3 675 829 1536 +3 828 801 172 +3 827 44 682 +3 676 207 824 +3 826 822 676 +3 833 784 650 +3 819 206 653 +3 650 209 833 +3 653 821 833 +3 649 335 1336 +3 1341 832 646 +3 784 783 650 +3 830 819 653 +3 423 1 834 +3 631 1474 1476 +3 424 210 835 +3 210 834 837 +3 424 212 844 +3 842 212 424 +3 1476 159 837 +3 834 1 631 +3 427 218 868 +3 640 161 841 +3 427 211 839 +3 211 838 841 +3 868 108 840 +3 866 218 427 +3 640 213 848 +3 846 213 640 +3 876 875 426 +3 838 211 429 +3 426 845 876 +3 429 840 845 +3 844 797 107 +3 843 795 422 +3 426 212 845 +3 842 838 429 +3 849 847 213 +3 835 210 633 +3 1483 41 847 +3 630 849 1484 +3 885 161 897 +3 847 41 638 +3 630 847 849 +3 846 835 633 +3 214 851 852 +3 591 214 850 +3 396 100 852 +3 591 222 884 +3 396 216 860 +3 858 216 396 +3 884 149 853 +3 882 222 591 +3 215 855 856 +3 581 215 854 +3 386 898 900 +3 578 0 855 +3 389 228 908 +3 855 0 386 +3 578 855 857 +3 862 217 581 +3 861 859 216 +3 854 215 388 +3 398 909 940 +3 387 861 908 +3 869 100 881 +3 859 26 394 +3 388 215 856 +3 858 854 388 +3 892 891 590 +3 851 214 593 +3 579 1435 1437 +3 593 853 865 +3 1437 146 864 +3 1437 864 579 +3 590 217 865 +3 862 851 593 +3 881 221 397 +3 850 214 395 +3 878 870 56 +3 395 852 869 +3 428 220 876 +3 874 220 428 +3 852 100 869 +3 866 850 395 +3 873 871 219 +3 392 219 870 +3 434 937 1000 +3 391 873 936 +3 872 809 106 +3 871 8 418 +3 392 221 880 +3 878 221 392 +3 877 875 220 +3 870 219 420 +3 875 815 28 +3 419 815 875 +3 876 845 108 +3 875 28 426 +3 420 219 872 +3 874 870 420 +3 881 860 394 +3 867 218 397 +3 394 221 881 +3 397 869 881 +3 393 235 936 +3 941 880 390 +3 860 859 394 +3 878 867 397 +3 897 225 641 +3 839 211 639 +3 894 886 57 +3 639 841 885 +3 592 224 892 +3 890 224 592 +3 841 161 885 +3 882 839 639 +3 1512 1511 626 +3 629 158 889 +3 583 1447 1449 +3 223 886 889 +3 1449 147 888 +3 1449 888 583 +3 626 223 889 +3 894 225 629 +3 893 891 224 +3 886 223 585 +3 1455 38 891 +3 582 893 1456 +3 892 865 149 +3 891 38 590 +3 582 891 893 +3 890 886 585 +3 897 848 638 +3 883 222 641 +3 627 1515 1517 +3 641 885 897 +3 1517 158 896 +3 1517 896 627 +3 848 847 638 +3 894 883 641 +3 386 0 898 +3 743 1431 1433 +3 389 226 899 +3 226 898 901 +3 856 855 386 +3 906 228 389 +3 1433 187 901 +3 898 0 743 +3 399 234 932 +3 752 189 905 +3 399 227 903 +3 227 902 905 +3 932 101 904 +3 930 234 399 +3 752 229 912 +3 910 229 752 +3 940 939 398 +3 902 227 401 +3 908 907 387 +3 401 904 909 +3 861 98 908 +3 907 859 387 +3 398 228 909 +3 906 902 401 +3 913 911 229 +3 899 226 745 +3 1439 48 911 +3 742 913 1440 +3 949 189 961 +3 911 48 750 +3 742 911 913 +3 910 899 745 +3 230 915 916 +3 731 230 914 +3 448 113 916 +3 731 238 948 +3 448 232 924 +3 922 232 448 +3 948 184 917 +3 946 238 731 +3 231 919 920 +3 728 231 918 +3 439 962 964 +3 727 2 919 +3 964 111 920 +3 919 2 439 +3 728 233 928 +3 926 233 728 +3 925 923 232 +3 918 231 441 +3 971 29 923 +3 438 925 972 +3 933 113 945 +3 923 29 446 +3 438 923 925 +3 922 918 441 +3 956 955 730 +3 915 230 733 +3 730 929 956 +3 733 917 929 +3 729 338 1349 +3 1361 928 726 +3 730 233 929 +3 926 915 733 +3 945 237 449 +3 914 230 447 +3 942 934 60 +3 447 916 933 +3 400 236 940 +3 938 236 400 +3 916 113 933 +3 930 914 447 +3 1000 999 434 +3 437 110 937 +3 936 935 391 +3 235 934 937 +3 873 99 936 +3 935 871 391 +3 434 235 937 +3 942 237 437 +3 941 939 236 +3 934 235 393 +3 879 26 939 +3 390 879 939 +3 940 909 101 +3 939 26 398 +3 880 879 390 +3 938 934 393 +3 945 924 446 +3 931 234 449 +3 435 1003 1005 +3 449 933 945 +3 1005 110 944 +3 1005 944 435 +3 924 923 446 +3 942 931 449 +3 961 241 753 +3 903 227 751 +3 958 950 61 +3 751 905 949 +3 732 240 956 +3 954 240 732 +3 905 189 949 +3 946 903 751 +3 1464 1463 738 +3 741 186 953 +3 738 953 1464 +3 239 950 953 +3 725 353 1408 +3 1401 952 722 +3 738 239 953 +3 958 241 741 +3 957 955 240 +3 950 239 724 +3 734 353 1409 +3 723 957 1408 +3 956 929 184 +3 955 47 730 +3 724 239 952 +3 954 950 724 +3 961 912 750 +3 947 238 753 +3 739 1467 1469 +3 753 949 961 +3 1469 186 960 +3 1469 960 739 +3 912 911 750 +3 958 947 753 +3 439 2 962 +3 514 1346 1348 +3 440 242 963 +3 242 962 965 +3 440 244 972 +3 970 244 440 +3 517 340 1356 +3 962 2 514 +3 443 250 996 +3 524 132 969 +3 443 243 967 +3 243 966 969 +3 996 112 968 +3 994 250 443 +3 524 245 976 +3 974 245 524 +3 1004 1003 442 +3 966 243 445 +3 442 973 1004 +3 445 968 973 +3 972 925 111 +3 971 923 438 +3 442 244 973 +3 970 966 445 +3 977 975 245 +3 963 242 516 +3 526 1357 1388 +3 515 977 1356 +3 1013 132 1025 +3 975 34 522 +3 516 242 965 +3 974 963 516 +3 246 979 980 +3 555 246 978 +3 416 105 980 +3 555 254 1012 +3 416 248 988 +3 986 248 416 +3 1012 140 981 +3 1010 254 555 +3 247 983 984 +3 552 247 982 +3 407 772 984 +3 551 3 983 +3 772 103 984 +3 983 3 407 +3 552 249 992 +3 990 249 552 +3 989 987 248 +3 982 247 409 +3 779 27 987 +3 406 779 987 +3 997 105 1009 +3 987 27 414 +3 780 779 406 +3 986 982 409 +3 1020 1019 554 +3 979 246 557 +3 554 993 1020 +3 557 981 993 +3 553 327 1304 +3 1309 992 550 +3 554 249 993 +3 990 979 557 +3 1009 253 417 +3 978 246 415 +3 1006 998 64 +3 415 980 997 +3 444 252 1004 +3 1002 252 444 +3 980 105 997 +3 994 978 415 +3 1001 999 251 +3 405 251 998 +3 807 8 999 +3 402 807 999 +3 1000 937 110 +3 999 8 434 +3 808 807 402 +3 1006 253 405 +3 1005 1003 252 +3 998 251 436 +3 1003 943 29 +3 435 943 1003 +3 1004 973 112 +3 1003 29 442 +3 436 251 1000 +3 1002 998 436 +3 1009 988 414 +3 995 250 417 +3 1008 1007 403 +3 417 997 1009 +3 813 102 1008 +3 1007 811 403 +3 988 987 414 +3 1006 995 417 +3 1025 257 525 +3 967 243 523 +3 1022 1014 65 +3 523 969 1013 +3 556 256 1020 +3 1018 256 556 +3 969 132 1013 +3 1010 967 523 +3 1017 1015 255 +3 520 255 1014 +3 562 347 1385 +3 519 1017 1384 +3 549 333 1328 +3 1015 10 546 +3 520 257 1024 +3 1022 257 520 +3 1021 1019 256 +3 1014 255 548 +3 558 333 1329 +3 547 1021 1328 +3 1020 993 140 +3 1019 36 554 +3 548 255 1016 +3 1018 1014 548 +3 1025 976 522 +3 1011 254 525 +3 522 257 1025 +3 525 1013 1025 +3 521 347 1384 +3 1389 1024 518 +3 976 975 522 +3 1022 1011 525 +3 471 4 1026 +3 615 1410 1412 +3 472 258 1027 +3 258 1026 1029 +3 472 260 1036 +3 1034 260 472 +3 1412 155 1029 +3 1026 4 615 +3 475 266 1060 +3 624 157 1033 +3 475 259 1031 +3 259 1030 1033 +3 1060 120 1032 +3 1058 266 475 +3 624 261 1040 +3 1038 261 624 +3 1068 1067 474 +3 1030 259 477 +3 474 1037 1068 +3 477 1032 1037 +3 473 311 1240 +3 1245 1036 470 +3 474 260 1037 +3 1034 1030 477 +3 1041 1039 261 +3 1027 258 617 +3 1419 40 1039 +3 614 1041 1420 +3 1077 157 1089 +3 1039 40 622 +3 614 1039 1041 +3 1038 1027 617 +3 262 1043 1044 +3 603 262 1042 +3 496 125 1044 +3 603 270 1076 +3 496 264 1052 +3 1050 264 496 +3 1076 152 1045 +3 1074 270 603 +3 263 1047 1048 +3 600 263 1046 +3 487 1090 1092 +3 599 5 1047 +3 1092 123 1048 +3 1047 5 487 +3 600 265 1056 +3 1054 265 600 +3 1053 1051 264 +3 1046 263 489 +3 1099 32 1051 +3 486 1053 1100 +3 1061 125 1073 +3 1051 32 494 +3 486 1051 1053 +3 1050 1046 489 +3 1084 1083 602 +3 1043 262 605 +3 602 1057 1084 +3 605 1045 1057 +3 601 375 1496 +3 1501 1056 598 +3 602 265 1057 +3 1054 1043 605 +3 1073 269 497 +3 1042 262 495 +3 1070 1062 68 +3 495 1044 1061 +3 476 268 1068 +3 1066 268 476 +3 1044 125 1061 +3 1058 1042 495 +3 1128 1127 482 +3 485 122 1065 +3 482 1065 1128 +3 267 1062 1065 +3 469 317 1264 +3 1257 1064 466 +3 482 267 1065 +3 1070 269 485 +3 1069 1067 268 +3 1062 267 468 +3 478 317 1265 +3 467 1069 1264 +3 1068 1037 120 +3 1067 31 474 +3 468 267 1064 +3 1066 1062 468 +3 1073 1052 494 +3 1059 266 497 +3 483 1131 1133 +3 497 1061 1073 +3 1133 122 1072 +3 1133 1072 483 +3 1052 1051 494 +3 1070 1059 497 +3 1089 273 625 +3 1031 259 623 +3 1086 1078 69 +3 623 1033 1077 +3 604 272 1084 +3 1082 272 604 +3 1033 157 1077 +3 1074 1031 623 +3 1448 1447 610 +3 613 154 1081 +3 610 1081 1448 +3 271 1078 1081 +3 597 381 1520 +3 1513 1080 594 +3 610 271 1081 +3 1086 273 613 +3 1085 1083 272 +3 1078 271 596 +3 606 381 1521 +3 595 1085 1520 +3 1084 1057 152 +3 1083 39 602 +3 596 271 1080 +3 1082 1078 596 +3 1089 1040 622 +3 1075 270 625 +3 611 1451 1453 +3 625 1077 1089 +3 1453 154 1088 +3 1453 1088 611 +3 1040 1039 622 +3 1086 1075 625 +3 487 5 1090 +3 663 1495 1497 +3 488 274 1091 +3 274 1090 1093 +3 488 276 1100 +3 1098 276 488 +3 1497 167 1093 +3 1090 5 663 +3 491 282 1124 +3 672 169 1097 +3 491 275 1095 +3 275 1094 1097 +3 1124 124 1096 +3 1122 282 491 +3 672 277 1104 +3 1102 277 672 +3 1132 1131 490 +3 1094 275 493 +3 490 1101 1132 +3 493 1096 1101 +3 1100 1053 123 +3 1099 1051 486 +3 490 276 1101 +3 1098 1094 493 +3 1105 1103 277 +3 1091 274 665 +3 1503 43 1103 +3 662 1105 1504 +3 1141 169 1153 +3 1103 43 670 +3 662 1103 1105 +3 1102 1091 665 +3 278 1107 1108 +3 699 278 1106 +3 460 116 1108 +3 699 286 1140 +3 460 280 1116 +3 1114 280 460 +3 1140 176 1109 +3 1138 286 699 +3 279 1111 1112 +3 696 279 1110 +3 450 1154 1156 +3 695 7 1111 +3 453 292 1164 +3 1111 7 450 +3 696 281 1120 +3 1118 281 696 +3 1117 1115 280 +3 1110 279 452 +3 462 1165 1196 +3 451 1117 1164 +3 1125 116 1137 +3 1115 30 458 +3 452 279 1112 +3 1114 1110 452 +3 1148 1147 698 +3 1107 278 701 +3 698 1121 1148 +3 701 1109 1121 +3 697 322 1285 +3 1297 1120 694 +3 698 281 1121 +3 1118 1107 701 +3 1137 285 461 +3 1106 278 459 +3 1134 1126 72 +3 459 1108 1125 +3 492 284 1132 +3 1130 284 492 +3 1108 116 1125 +3 1122 1106 459 +3 1129 1127 283 +3 456 283 1126 +3 498 1193 1256 +3 455 1129 1192 +3 1128 1065 122 +3 1127 9 482 +3 456 285 1136 +3 1134 285 456 +3 1133 1131 284 +3 1126 283 484 +3 1131 1071 32 +3 483 1071 1131 +3 1132 1101 124 +3 1131 32 490 +3 484 283 1128 +3 1130 1126 484 +3 1137 1116 458 +3 1123 282 461 +3 458 285 1137 +3 461 1125 1137 +3 457 299 1192 +3 1197 1136 454 +3 1116 1115 458 +3 1134 1123 461 +3 1153 289 673 +3 1095 275 671 +3 1150 1142 73 +3 671 1097 1141 +3 700 288 1148 +3 1146 288 700 +3 1097 169 1141 +3 1138 1095 671 +3 1145 1143 287 +3 661 287 1142 +3 1527 12 1143 +3 658 1145 1528 +3 693 337 1344 +3 1143 12 690 +3 658 1143 1145 +3 1150 289 661 +3 1149 1147 288 +3 1142 287 692 +3 702 337 1345 +3 691 1149 1344 +3 1148 1121 176 +3 1147 45 698 +3 692 287 1144 +3 1146 1142 692 +3 1153 1104 670 +3 1139 286 673 +3 659 1531 1533 +3 673 1141 1153 +3 1533 166 1152 +3 1533 1152 659 +3 1104 1103 670 +3 1150 1139 673 +3 450 7 1154 +3 535 1282 1284 +3 453 290 1155 +3 290 1154 1157 +3 1112 1111 450 +3 1162 292 453 +3 1284 135 1157 +3 1154 7 535 +3 463 298 1188 +3 544 137 1161 +3 463 291 1159 +3 291 1158 1161 +3 1188 117 1160 +3 1186 298 463 +3 544 293 1168 +3 1166 293 544 +3 1196 1195 462 +3 1158 291 465 +3 1164 1163 451 +3 465 1160 1165 +3 1117 114 1164 +3 1163 1115 451 +3 462 292 1165 +3 1162 1158 465 +3 1169 1167 293 +3 1155 290 537 +3 1291 35 1167 +3 534 1169 1292 +3 1205 137 1217 +3 1167 35 542 +3 534 1167 1169 +3 1166 1155 537 +3 294 1171 1172 +3 571 294 1170 +3 512 129 1172 +3 571 302 1204 +3 512 296 1180 +3 1178 296 512 +3 1204 144 1173 +3 1202 302 571 +3 295 1175 1176 +3 568 295 1174 +3 503 1218 1220 +3 567 6 1175 +3 1220 127 1176 +3 1175 6 503 +3 568 297 1184 +3 1182 297 568 +3 1181 1179 296 +3 1174 295 505 +3 1227 33 1179 +3 502 1181 1228 +3 1189 129 1201 +3 1179 33 510 +3 502 1179 1181 +3 1178 1174 505 +3 1212 1211 570 +3 1171 294 573 +3 570 1185 1212 +3 573 1173 1185 +3 569 343 1368 +3 1373 1184 566 +3 570 297 1185 +3 1182 1171 573 +3 1201 301 513 +3 1170 294 511 +3 1198 1190 76 +3 511 1172 1189 +3 464 300 1196 +3 1194 300 464 +3 1172 129 1189 +3 1186 1170 511 +3 1256 1255 498 +3 501 126 1193 +3 1192 1191 455 +3 299 1190 1193 +3 1129 115 1192 +3 1191 1127 455 +3 498 299 1193 +3 1198 301 501 +3 1197 1195 300 +3 1190 299 457 +3 1135 30 1195 +3 454 1135 1195 +3 1196 1165 117 +3 1195 30 462 +3 1136 1135 454 +3 1194 1190 457 +3 1201 1180 510 +3 1187 298 513 +3 499 1259 1261 +3 513 1189 1201 +3 1261 126 1200 +3 1261 1200 499 +3 1180 1179 510 +3 1198 1187 513 +3 1217 305 545 +3 1159 291 543 +3 1214 1206 77 +3 543 1161 1205 +3 572 304 1212 +3 1210 304 572 +3 1161 137 1205 +3 1202 1159 543 +3 1209 1207 303 +3 533 303 1206 +3 1319 10 1207 +3 530 1209 1320 +3 565 349 1392 +3 1207 10 562 +3 530 1207 1209 +3 1214 305 533 +3 1213 1211 304 +3 1206 303 564 +3 574 349 1393 +3 563 1213 1392 +3 1212 1185 144 +3 1211 37 570 +3 564 303 1208 +3 1210 1206 564 +3 1217 1168 542 +3 1203 302 545 +3 531 1323 1325 +3 545 1205 1217 +3 1325 134 1216 +3 1325 1216 531 +3 1168 1167 542 +3 1214 1203 545 +3 503 6 1218 +3 759 1367 1369 +3 504 306 1219 +3 306 1218 1221 +3 504 308 1228 +3 1226 308 504 +3 1369 191 1221 +3 1218 6 759 +3 507 314 1252 +3 768 193 1225 +3 507 307 1223 +3 307 1222 1225 +3 1252 128 1224 +3 1250 314 507 +3 768 309 1232 +3 1230 309 768 +3 1260 1259 506 +3 1222 307 509 +3 506 1229 1260 +3 509 1224 1229 +3 1228 1181 127 +3 1227 1179 502 +3 506 308 1229 +3 1226 1222 509 +3 1233 1231 309 +3 1219 306 761 +3 1375 49 1231 +3 758 1233 1376 +3 1269 193 1281 +3 1231 49 766 +3 758 1231 1233 +3 1230 1219 761 +3 310 1235 1236 +3 719 310 1234 +3 480 121 1236 +3 719 318 1268 +3 480 312 1244 +3 1242 312 480 +3 1268 181 1237 +3 1266 318 719 +3 311 1239 1240 +3 709 311 1238 +3 471 1028 1240 +3 706 4 1239 +3 1028 119 1240 +3 1239 4 471 +3 706 1239 1241 +3 1246 313 709 +3 1245 1243 312 +3 1238 311 473 +3 1035 31 1243 +3 470 1035 1243 +3 1253 121 1265 +3 1243 31 478 +3 1036 1035 470 +3 1242 1238 473 +3 1276 1275 718 +3 1235 310 721 +3 707 1423 1425 +3 721 1237 1249 +3 1425 178 1248 +3 1425 1248 707 +3 718 313 1249 +3 1246 1235 721 +3 1265 317 481 +3 1234 310 479 +3 1262 1254 80 +3 479 1236 1253 +3 508 316 1260 +3 1258 316 508 +3 1236 121 1253 +3 1250 1234 479 +3 1257 1255 315 +3 469 315 1254 +3 1063 9 1255 +3 466 1063 1255 +3 1256 1193 126 +3 1255 9 498 +3 1064 1063 466 +3 1262 317 469 +3 1261 1259 316 +3 1254 315 500 +3 1259 1199 33 +3 499 1199 1259 +3 1260 1229 128 +3 1259 33 506 +3 500 315 1256 +3 1258 1254 500 +3 1265 1244 478 +3 1251 314 481 +3 1264 1263 467 +3 481 1253 1265 +3 1069 118 1264 +3 1263 1067 467 +3 1244 1243 478 +3 1262 1251 481 +3 1281 321 769 +3 1223 307 767 +3 1278 1270 81 +3 767 1225 1269 +3 720 320 1276 +3 1274 320 720 +3 1225 193 1269 +3 1266 1223 767 +3 1400 1399 754 +3 757 190 1273 +3 711 1463 1465 +3 319 1270 1273 +3 1465 179 1272 +3 1465 1272 711 +3 754 319 1273 +3 1278 321 757 +3 1277 1275 320 +3 1270 319 713 +3 1471 46 1275 +3 710 1277 1472 +3 1276 1249 181 +3 1275 46 718 +3 710 1275 1277 +3 1274 1270 713 +3 1281 1232 766 +3 1267 318 769 +3 755 1403 1405 +3 769 1269 1281 +3 1405 190 1280 +3 1405 1280 755 +3 1232 1231 766 +3 1278 1267 769 +3 535 7 1282 +3 695 1113 1285 +3 536 322 1283 +3 322 1282 1285 +3 536 324 1292 +3 1290 324 536 +3 1113 175 1285 +3 1282 7 695 +3 539 330 1316 +3 704 177 1289 +3 539 323 1287 +3 323 1286 1289 +3 1316 136 1288 +3 1314 330 539 +3 704 325 1296 +3 1294 325 704 +3 1324 1323 538 +3 1286 323 541 +3 538 1293 1324 +3 541 1288 1293 +3 1292 1169 135 +3 1291 1167 534 +3 538 324 1293 +3 1290 1286 541 +3 1297 1295 325 +3 1283 322 697 +3 1119 45 1295 +3 694 1119 1295 +3 1333 177 1345 +3 1295 45 702 +3 1120 1119 694 +3 1294 1283 697 +3 326 1299 1300 +3 655 326 1298 +3 560 141 1300 +3 655 334 1332 +3 560 328 1308 +3 1306 328 560 +3 1332 165 1301 +3 1330 334 655 +3 327 1303 1304 +3 645 327 1302 +3 551 985 1304 +3 642 3 1303 +3 985 139 1304 +3 1303 3 551 +3 773 770 642 +3 1310 329 645 +3 1309 1307 328 +3 1302 327 553 +3 991 36 1307 +3 550 991 1307 +3 1317 141 1329 +3 1307 36 558 +3 992 991 550 +3 1306 1302 553 +3 1340 1339 654 +3 1299 326 657 +3 1312 1311 643 +3 657 1301 1313 +3 785 162 1312 +3 1311 783 643 +3 654 329 1313 +3 1310 1299 657 +3 1329 333 561 +3 1298 326 559 +3 1326 1318 84 +3 559 1300 1317 +3 540 332 1324 +3 1322 332 540 +3 1300 141 1317 +3 1314 1298 559 +3 1321 1016 546 +3 549 138 1321 +3 546 331 1321 +3 331 1318 1321 +3 1320 1209 134 +3 1319 1207 530 +3 1016 1015 546 +3 1326 333 549 +3 1325 1323 332 +3 1318 331 532 +3 1323 1215 35 +3 531 1215 1323 +3 1324 1293 136 +3 1323 35 538 +3 532 331 1320 +3 1322 1318 532 +3 1329 1308 558 +3 1315 330 561 +3 1328 1327 547 +3 561 1317 1329 +3 1021 138 1328 +3 1327 1019 547 +3 1308 1307 558 +3 1326 1315 561 +3 1345 337 705 +3 1287 323 703 +3 1342 1334 85 +3 703 1289 1333 +3 656 336 1340 +3 1338 336 656 +3 1289 177 1333 +3 1330 1287 703 +3 1337 1144 690 +3 693 174 1337 +3 1336 1335 647 +3 335 1334 1337 +3 825 163 1336 +3 1335 823 647 +3 1144 1143 690 +3 1342 337 693 +3 1341 1339 336 +3 1334 335 649 +3 831 42 1339 +3 646 831 1339 +3 1340 1313 165 +3 1339 42 654 +3 832 831 646 +3 1338 1334 649 +3 1345 1296 702 +3 1331 334 705 +3 1344 1343 691 +3 705 1333 1345 +3 1149 174 1344 +3 1343 1147 691 +3 1296 1295 702 +3 1342 1331 705 +3 514 2 1346 +3 727 921 1349 +3 517 338 1347 +3 338 1346 1349 +3 965 962 514 +3 1354 340 517 +3 921 183 1349 +3 1346 2 727 +3 527 346 1380 +3 736 185 1353 +3 527 339 1351 +3 339 1350 1353 +3 1380 133 1352 +3 1378 346 527 +3 736 341 1360 +3 1358 341 736 +3 1388 1387 526 +3 1350 339 529 +3 1356 1355 515 +3 529 1352 1357 +3 977 130 1356 +3 1355 975 515 +3 526 340 1357 +3 1354 1350 529 +3 1361 1359 341 +3 1347 338 729 +3 927 47 1359 +3 726 927 1359 +3 1397 185 1409 +3 1359 47 734 +3 928 927 726 +3 1358 1347 729 +3 342 1363 1364 +3 763 342 1362 +3 576 145 1364 +3 763 350 1396 +3 576 344 1372 +3 1370 344 576 +3 1396 192 1365 +3 1394 350 763 +3 343 1367 1368 +3 760 343 1366 +3 567 1177 1368 +3 759 6 1367 +3 1177 143 1368 +3 1367 6 567 +3 760 345 1376 +3 1374 345 760 +3 1373 1371 344 +3 1366 343 569 +3 1183 37 1371 +3 566 1183 1371 +3 1381 145 1393 +3 1371 37 574 +3 1184 1183 566 +3 1370 1366 569 +3 1404 1403 762 +3 1363 342 765 +3 762 1377 1404 +3 765 1365 1377 +3 1376 1233 191 +3 1375 1231 758 +3 762 345 1377 +3 1374 1363 765 +3 1393 349 577 +3 1362 342 575 +3 1390 1382 88 +3 575 1364 1381 +3 528 348 1388 +3 1386 348 528 +3 1364 145 1381 +3 1378 1362 575 +3 1385 1208 562 +3 565 142 1385 +3 1384 1383 519 +3 347 1382 1385 +3 1017 131 1384 +3 1383 1015 519 +3 1208 1207 562 +3 1390 349 565 +3 1389 1387 348 +3 1382 347 521 +3 1023 34 1387 +3 518 1023 1387 +3 1388 1357 133 +3 1387 34 526 +3 1024 1023 518 +3 1386 1382 521 +3 1393 1372 574 +3 1379 346 577 +3 1392 1391 563 +3 577 1381 1393 +3 1213 142 1392 +3 1391 1211 563 +3 1372 1371 574 +3 1390 1379 577 +3 1409 353 737 +3 1351 339 735 +3 1406 1398 89 +3 735 1353 1397 +3 764 352 1404 +3 1402 352 764 +3 1353 185 1397 +3 1394 1351 735 +3 1401 1399 351 +3 725 351 1398 +3 951 13 1399 +3 722 951 1399 +3 1400 1273 190 +3 1399 13 754 +3 952 951 722 +3 1406 353 725 +3 1405 1403 352 +3 1398 351 756 +3 1403 1279 49 +3 755 1279 1403 +3 1404 1377 192 +3 1403 49 762 +3 756 351 1400 +3 1402 1398 756 +3 1409 1360 734 +3 1395 350 737 +3 1408 1407 723 +3 737 1397 1409 +3 957 182 1408 +3 1407 955 723 +3 1360 1359 734 +3 1406 1395 737 +3 615 4 1410 +3 706 1241 1413 +3 616 354 1411 +3 354 1410 1413 +3 616 356 1420 +3 1418 356 616 +3 1413 1241 178 +3 1410 4 706 +3 619 362 1444 +3 716 180 1417 +3 619 355 1415 +3 355 1414 1417 +3 1444 156 1416 +3 1442 362 619 +3 716 357 1424 +3 1422 357 716 +3 1452 1451 618 +3 1414 355 621 +3 618 1421 1452 +3 621 1416 1421 +3 1420 1041 155 +3 1419 1039 614 +3 618 356 1421 +3 1418 1414 621 +3 1425 1423 357 +3 1411 354 708 +3 1423 1247 46 +3 707 1247 1423 +3 1461 180 1473 +3 1423 46 714 +3 708 354 1413 +3 1422 1411 708 +3 358 1427 1428 +3 747 358 1426 +3 588 148 1428 +3 747 366 1460 +3 588 360 1436 +3 1434 360 588 +3 1460 188 1429 +3 1458 366 747 +3 359 1431 1432 +3 744 359 1430 +3 578 857 1432 +3 743 0 1431 +3 1432 857 146 +3 1431 0 578 +3 744 361 1440 +3 1438 361 744 +3 1437 1435 360 +3 1430 359 580 +3 1435 863 38 +3 579 863 1435 +3 1445 148 1457 +3 1435 38 586 +3 580 359 1432 +3 1434 1430 580 +3 1468 1467 746 +3 1427 358 749 +3 746 1441 1468 +3 749 1429 1441 +3 1440 913 187 +3 1439 911 742 +3 746 361 1441 +3 1438 1427 749 +3 1457 365 589 +3 1426 358 587 +3 1454 1446 92 +3 587 1428 1445 +3 620 364 1452 +3 1450 364 620 +3 1428 148 1445 +3 1442 1426 587 +3 1449 1447 363 +3 584 363 1446 +3 1447 887 11 +3 583 887 1447 +3 1448 1081 154 +3 1447 11 610 +3 584 365 1456 +3 1454 365 584 +3 1453 1451 364 +3 1446 363 612 +3 1451 1087 40 +3 611 1087 1451 +3 1452 1421 156 +3 1451 40 618 +3 612 363 1448 +3 1450 1446 612 +3 1457 1436 586 +3 1443 362 589 +3 586 365 1457 +3 589 1445 1457 +3 1456 893 147 +3 1455 891 582 +3 1436 1435 586 +3 1454 1443 589 +3 1473 369 717 +3 1415 355 715 +3 1470 1462 93 +3 715 1417 1461 +3 748 368 1468 +3 1466 368 748 +3 1417 180 1461 +3 1458 1415 715 +3 1465 1463 367 +3 712 367 1462 +3 1463 1271 13 +3 711 1271 1463 +3 1464 953 186 +3 1463 13 738 +3 712 369 1472 +3 1470 369 712 +3 1469 1467 368 +3 1462 367 740 +3 1467 959 48 +3 739 959 1467 +3 1468 1441 188 +3 1467 48 746 +3 740 367 1464 +3 1466 1462 740 +3 1473 1424 714 +3 1459 366 717 +3 714 369 1473 +3 717 1461 1473 +3 1472 1277 179 +3 1471 1275 710 +3 1424 1423 714 +3 1470 1459 717 +3 631 1 1474 +3 679 793 1477 +3 632 370 1475 +3 370 1474 1477 +3 632 372 1484 +3 1482 372 632 +3 793 171 1477 +3 1474 1 679 +3 635 378 1508 +3 688 173 1481 +3 635 371 1479 +3 371 1478 1481 +3 1508 160 1480 +3 1506 378 635 +3 688 373 1488 +3 1486 373 688 +3 1516 1515 634 +3 1478 371 637 +3 634 1485 1516 +3 637 1480 1485 +3 1484 849 159 +3 1483 847 630 +3 634 372 1485 +3 1482 1478 637 +3 1489 1487 373 +3 1475 370 681 +3 799 44 1487 +3 678 799 1487 +3 1525 173 1537 +3 1487 44 686 +3 800 799 678 +3 1486 1475 681 +3 374 1491 1492 +3 667 374 1490 +3 608 153 1492 +3 667 382 1524 +3 608 376 1500 +3 1498 376 608 +3 1524 168 1493 +3 1522 382 667 +3 375 1495 1496 +3 664 375 1494 +3 599 1049 1496 +3 663 5 1495 +3 1049 151 1496 +3 1495 5 599 +3 664 377 1504 +3 1502 377 664 +3 1501 1499 376 +3 1494 375 601 +3 1055 39 1499 +3 598 1055 1499 +3 1509 153 1521 +3 1499 39 606 +3 1056 1055 598 +3 1498 1494 601 +3 1532 1531 666 +3 1491 374 669 +3 666 1505 1532 +3 669 1493 1505 +3 1504 1105 167 +3 1503 1103 662 +3 666 377 1505 +3 1502 1491 669 +3 1521 381 609 +3 1490 374 607 +3 1518 1510 96 +3 607 1492 1509 +3 636 380 1516 +3 1514 380 636 +3 1492 153 1509 +3 1506 1490 607 +3 1513 1511 379 +3 597 379 1510 +3 1079 11 1511 +3 594 1079 1511 +3 1512 889 158 +3 1511 11 626 +3 1080 1079 594 +3 1518 381 597 +3 1517 1515 380 +3 1510 379 628 +3 1515 895 41 +3 627 895 1515 +3 1516 1485 160 +3 1515 41 634 +3 628 379 1512 +3 1514 1510 628 +3 1521 1500 606 +3 1507 378 609 +3 1520 1519 595 +3 609 1509 1521 +3 1085 150 1520 +3 1519 1083 595 +3 1500 1499 606 +3 1518 1507 609 +3 1537 385 689 +3 1479 371 687 +3 1534 1526 97 +3 687 1481 1525 +3 668 384 1532 +3 1530 384 668 +3 1481 173 1525 +3 1522 1479 687 +3 1529 824 674 +3 677 170 1529 +3 674 383 1529 +3 383 1526 1529 +3 1528 1145 166 +3 1527 1143 658 +3 824 823 674 +3 1534 385 677 +3 1533 1531 384 +3 1526 383 660 +3 1531 1151 43 +3 659 1151 1531 +3 1532 1505 168 +3 1531 43 666 +3 660 383 1528 +3 1530 1526 660 +3 1537 1488 686 +3 1523 382 689 +3 1536 1535 675 +3 689 1525 1537 +3 829 170 1536 +3 1535 827 675 +3 1488 1487 686 +3 1534 1523 689 + diff --git a/Polygon_mesh_processing/test/Polygon_mesh_processing/data/decimation/m1.off b/Polygon_mesh_processing/test/Polygon_mesh_processing/data/decimation/m1.off new file mode 100644 index 00000000000..4252b106121 --- /dev/null +++ b/Polygon_mesh_processing/test/Polygon_mesh_processing/data/decimation/m1.off @@ -0,0 +1,4614 @@ +OFF +1538 3072 0 + +0 0 0 +1 0 0 +0 1 0 +1 1 0 +0 0 1 +1 0 1 +0 1 1 +1 1 1 +0.5 0.5 0 +0.5 0.5 1 +0.5 1 0.5 +0.5 0 0.5 +1 0.5 0.5 +0 0.5 0.5 +1 0.5 0 +0.5 0 0 +0 0.5 0 +0.5 1 0 +0.5 0 1 +1 0.5 1 +0.5 1 1 +0 0.5 1 +1 1 0.5 +0 1 0.5 +0 0 0.5 +1 0 0.5 +0.25 0.25 0 +0.75 0.75 0 +0.75 0.25 0 +0.25 0.75 0 +0.75 0.75 1 +0.25 0.25 1 +0.75 0.25 1 +0.25 0.75 1 +0.25 1 0.25 +0.75 1 0.75 +0.75 1 0.25 +0.25 1 0.75 +0.25 0 0.25 +0.75 0 0.75 +0.25 0 0.75 +0.75 0 0.25 +1 0.75 0.25 +1 0.25 0.75 +1 0.25 0.25 +1 0.75 0.75 +0 0.25 0.75 +0 0.75 0.25 +0 0.25 0.25 +0 0.75 0.75 +1 0.75 0 +1 0.25 0 +0.75 0.5 0 +1 0.5 0.25 +0.75 0 0 +0.25 0 0 +0.5 0.25 0 +0.5 0 0.25 +0 0.25 0 +0 0.75 0 +0.25 0.5 0 +0 0.5 0.25 +0.25 1 0 +0.75 1 0 +0.5 0.75 0 +0.5 1 0.25 +0.25 0 1 +0.75 0 1 +0.5 0.25 1 +0.5 0 0.75 +1 0.25 1 +1 0.75 1 +0.75 0.5 1 +1 0.5 0.75 +0.75 1 1 +0.25 1 1 +0.5 0.75 1 +0.5 1 0.75 +0 0.75 1 +0 0.25 1 +0.25 0.5 1 +0 0.5 0.75 +1 1 0.75 +1 1 0.25 +0.75 1 0.5 +1 0.75 0.5 +0 1 0.25 +0 1 0.75 +0.25 1 0.5 +0 0.75 0.5 +0 0 0.75 +0 0 0.25 +0.25 0 0.5 +0 0.25 0.5 +1 0 0.25 +1 0 0.75 +0.75 0 0.5 +1 0.25 0.5 +0.125 0.125 0 +0.375 0.375 0 +0.36249999999999999 0.1125 0 +0.13750000000000001 0.38750000000000001 0 +0.625 0.625 0 +0.875 0.875 0 +0.86250000000000004 0.61250000000000004 0 +0.63749999999999996 0.88749999999999996 0 +0.625 0.375 0 +0.875 0.125 0 +0.61250000000000004 0.13750000000000001 0 +0.88749999999999996 0.36249999999999999 0 +0.375 0.625 0 +0.125 0.875 0 +0.38750000000000001 0.86250000000000004 0 +0.1125 0.63749999999999996 0 +0.875 0.875 1 +0.625 0.625 1 +0.88749999999999996 0.63749999999999996 1 +0.61250000000000004 0.86250000000000004 1 +0.375 0.375 1 +0.125 0.125 1 +0.38750000000000001 0.13750000000000001 1 +0.1125 0.36249999999999999 1 +0.625 0.375 1 +0.875 0.125 1 +0.86250000000000004 0.38750000000000001 1 +0.63749999999999996 0.1125 1 +0.375 0.625 1 +0.125 0.875 1 +0.13750000000000001 0.61250000000000004 1 +0.36249999999999999 0.88749999999999996 1 +0.125 1 0.125 +0.375 1 0.375 +0.36249999999999999 1 0.1125 +0.13750000000000001 1 0.38750000000000001 +0.625 1 0.625 +0.875 1 0.875 +0.86250000000000004 1 0.61250000000000004 +0.63749999999999996 1 0.88749999999999996 +0.625 1 0.375 +0.875 1 0.125 +0.61250000000000004 1 0.13750000000000001 +0.88749999999999996 1 0.36249999999999999 +0.375 1 0.625 +0.125 1 0.875 +0.38750000000000001 1 0.86250000000000004 +0.1125 1 0.63749999999999996 +0.125 0 0.125 +0.375 0 0.375 +0.1125 0 0.36249999999999999 +0.38750000000000001 0 0.13750000000000001 +0.625 0 0.625 +0.875 0 0.875 +0.61250000000000004 0 0.86250000000000004 +0.88749999999999996 0 0.63749999999999996 +0.375 0 0.625 +0.125 0 0.875 +0.13750000000000001 0 0.61250000000000004 +0.36249999999999999 0 0.88749999999999996 +0.625 0 0.375 +0.875 0 0.125 +0.86250000000000004 0 0.38750000000000001 +0.63749999999999996 0 0.1125 +1 0.875 0.125 +1 0.625 0.375 +1 0.63749999999999996 0.1125 +1 0.86250000000000004 0.38750000000000001 +1 0.375 0.625 +1 0.125 0.875 +1 0.13750000000000001 0.61250000000000004 +1 0.36249999999999999 0.88749999999999996 +1 0.375 0.375 +1 0.125 0.125 +1 0.38750000000000001 0.13750000000000001 +1 0.1125 0.36249999999999999 +1 0.625 0.625 +1 0.875 0.875 +1 0.61250000000000004 0.86250000000000004 +1 0.88749999999999996 0.63749999999999996 +0 0.125 0.875 +0 0.375 0.625 +0 0.1125 0.63749999999999996 +0 0.38750000000000001 0.86250000000000004 +0 0.625 0.375 +0 0.875 0.125 +0 0.61250000000000004 0.13750000000000001 +0 0.88749999999999996 0.36249999999999999 +0 0.375 0.375 +0 0.125 0.125 +0 0.13750000000000001 0.38750000000000001 +0 0.36249999999999999 0.1125 +0 0.625 0.625 +0 0.875 0.875 +0 0.86250000000000004 0.61250000000000004 +0 0.63749999999999996 0.88749999999999996 +1 0.875 0 +1 0.625 0 +0.8839285714285714 0.7410714285714286 0 +1 0.75 0.10416666666666667 +1 0.375 0 +1 0.125 0 +0.89583333333333337 0.25 0 +1 0.25892857142857145 0.11607142857142858 +0.8839285714285714 0.49107142857142855 0 +0.625 0.5 0 +0.75 0.60416666666666663 0 +0.7589285714285714 0.38392857142857145 0 +1 0.5089285714285714 0.11607142857142858 +1 0.5 0.35416666666666669 +1 0.39583333333333331 0.25 +1 0.6160714285714286 0.24107142857142858 +0.875 0 0 +0.625 0 0 +0.7410714285714286 0.11607142857142858 0 +0.75 0 0.10416666666666667 +0.375 0 0 +0.125 0 0 +0.25 0.10416666666666667 0 +0.25892857142857145 0 0.11607142857142858 +0.49107142857142855 0.11607142857142858 0 +0.5 0.35416666666666669 0 +0.60416666666666663 0.25 0 +0.38392857142857145 0.24107142857142858 0 +0.5089285714285714 0 0.11607142857142858 +0.5 0 0.375 +0.39583333333333331 0 0.25 +0.6160714285714286 0 0.24107142857142858 +0 0.125 0 +0 0.375 0 +0.11607142857142858 0.25892857142857145 0 +0 0.25 0.10416666666666667 +0 0.625 0 +0 0.875 0 +0.10416666666666667 0.75 0 +0 0.7410714285714286 0.11607142857142858 +0.11607142857142858 0.5089285714285714 0 +0.375 0.5 0 +0.25 0.39583333333333331 0 +0.24107142857142858 0.6160714285714286 0 +0 0.49107142857142855 0.11607142857142858 +0 0.5 0.375 +0 0.60416666666666663 0.25 +0 0.38392857142857145 0.24107142857142858 +0.125 1 0 +0.375 1 0 +0.25892857142857145 0.8839285714285714 0 +0.25 1 0.10416666666666667 +0.625 1 0 +0.875 1 0 +0.75 0.89583333333333337 0 +0.7410714285714286 1 0.11607142857142858 +0.5089285714285714 0.8839285714285714 0 +0.5 0.64583333333333337 0 +0.39583333333333331 0.75 0 +0.6160714285714286 0.7589285714285714 0 +0.49107142857142855 1 0.11607142857142858 +0.5 1 0.35416666666666669 +0.60416666666666663 1 0.25 +0.38392857142857145 1 0.24107142857142858 +0.125 0 1 +0.375 0 1 +0.25892857142857145 0.11607142857142858 1 +0.25 0 0.89583333333333337 +0.625 0 1 +0.875 0 1 +0.75 0.10416666666666667 1 +0.7410714285714286 0 0.8839285714285714 +0.5089285714285714 0.11607142857142858 1 +0.5 0.375 1 +0.39583333333333331 0.25 1 +0.6160714285714286 0.24107142857142858 1 +0.49107142857142855 0 0.8839285714285714 +0.5 0 0.625 +0.60416666666666663 0 0.75 +0.38392857142857145 0 0.7589285714285714 +1 0.125 1 +1 0.375 1 +0.8839285714285714 0.25892857142857145 1 +1 0.25 0.89583333333333337 +1 0.625 1 +1 0.875 1 +0.89583333333333337 0.75 1 +1 0.7410714285714286 0.8839285714285714 +0.8839285714285714 0.5089285714285714 1 +0.64583333333333337 0.5 1 +0.75 0.39583333333333331 1 +0.7589285714285714 0.6160714285714286 1 +1 0.49107142857142855 0.8839285714285714 +1 0.5 0.64583333333333337 +1 0.60416666666666663 0.75 +1 0.38392857142857145 0.7589285714285714 +0.875 1 1 +0.625 1 1 +0.7410714285714286 0.8839285714285714 1 +0.75 1 0.89583333333333337 +0.375 1 1 +0.125 1 1 +0.25 0.89583333333333337 1 +0.25892857142857145 1 0.8839285714285714 +0.49107142857142855 0.8839285714285714 1 +0.5 0.625 1 +0.60416666666666663 0.75 1 +0.38392857142857145 0.7589285714285714 1 +0.5089285714285714 1 0.8839285714285714 +0.5 1 0.64583333333333337 +0.39583333333333331 1 0.75 +0.6160714285714286 1 0.7589285714285714 +0 0.875 1 +0 0.625 1 +0.11607142857142858 0.7410714285714286 1 +0 0.75 0.89583333333333337 +0 0.375 1 +0 0.125 1 +0.10416666666666667 0.25 1 +0 0.25892857142857145 0.8839285714285714 +0.11607142857142858 0.49107142857142855 1 +0.35416666666666669 0.5 1 +0.25 0.60416666666666663 1 +0.24107142857142858 0.38392857142857145 1 +0 0.5089285714285714 0.8839285714285714 +0 0.5 0.625 +0 0.39583333333333331 0.75 +0 0.6160714285714286 0.7589285714285714 +1 1 0.875 +1 1 0.625 +0.8839285714285714 1 0.7410714285714286 +1 0.89583333333333337 0.75 +1 1 0.375 +1 1 0.125 +0.89583333333333337 1 0.25 +1 0.8839285714285714 0.25892857142857145 +0.8839285714285714 1 0.49107142857142855 +0.625 1 0.5 +0.75 1 0.60416666666666663 +0.7589285714285714 1 0.38392857142857145 +1 0.8839285714285714 0.5089285714285714 +1 0.625 0.5 +1 0.75 0.39583333333333331 +1 0.7589285714285714 0.6160714285714286 +0 1 0.125 +0 1 0.375 +0.11607142857142858 1 0.25892857142857145 +0 0.89583333333333337 0.25 +0 1 0.625 +0 1 0.875 +0.10416666666666667 1 0.75 +0 0.8839285714285714 0.7410714285714286 +0.11607142857142858 1 0.5089285714285714 +0.375 1 0.5 +0.25 1 0.39583333333333331 +0.24107142857142858 1 0.6160714285714286 +0 0.8839285714285714 0.49107142857142855 +0 0.64583333333333337 0.5 +0 0.75 0.60416666666666663 +0 0.7589285714285714 0.38392857142857145 +0 0 0.875 +0 0 0.625 +0.11607142857142858 0 0.7410714285714286 +0 0.10416666666666667 0.75 +0 0 0.375 +0 0 0.125 +0.10416666666666667 0 0.25 +0 0.11607142857142858 0.25892857142857145 +0.11607142857142858 0 0.49107142857142855 +0.35416666666666669 0 0.5 +0.25 0 0.60416666666666663 +0.24107142857142858 0 0.38392857142857145 +0 0.11607142857142858 0.5089285714285714 +0 0.35416666666666669 0.5 +0 0.25 0.39583333333333331 +0 0.24107142857142858 0.6160714285714286 +1 0 0.125 +1 0 0.375 +0.8839285714285714 0 0.25892857142857145 +1 0.10416666666666667 0.25 +1 0 0.625 +1 0 0.875 +0.89583333333333337 0 0.75 +1 0.11607142857142858 0.7410714285714286 +0.8839285714285714 0 0.5089285714285714 +0.64583333333333337 0 0.5 +0.75 0 0.39583333333333331 +0.7589285714285714 0 0.6160714285714286 +1 0.11607142857142858 0.49107142857142855 +1 0.375 0.5 +1 0.25 0.60416666666666663 +1 0.24107142857142858 0.38392857142857145 +0.050000000000000003 0.050000000000000003 0 +0.1875 0.1875 0 +0.17857142857142858 0.071428571428571425 0 +0.071428571428571425 0.17857142857142858 0 +0.3125 0.3125 0 +0.4375 0.4375 0 +0.42857142857142855 0.32142857142857145 0 +0.32142857142857145 0.42857142857142855 0 +0.3125 0.20833333333333334 0 +0.4375 0.0625 0 +0.3125 0.083333333333333329 0 +0.4375 0.1875 0 +0.1875 0.29166666666666669 0 +0.0625 0.4375 0 +0.1875 0.41666666666666669 0 +0.0625 0.3125 0 +0.5625 0.5625 0 +0.6875 0.6875 0 +0.6785714285714286 0.5714285714285714 0 +0.5714285714285714 0.6785714285714286 0 +0.8125 0.8125 0 +0.94999999999999996 0.94999999999999996 0 +0.9285714285714286 0.8214285714285714 0 +0.8214285714285714 0.9285714285714286 0 +0.8125 0.70833333333333337 0 +0.9375 0.5625 0 +0.8125 0.58333333333333337 0 +0.9375 0.6875 0 +0.6875 0.79166666666666663 0 +0.5625 0.9375 0 +0.6875 0.91666666666666663 0 +0.5625 0.8125 0 +0.5625 0.45833333333333331 0 +0.6875 0.3125 0 +0.5714285714285714 0.32142857142857145 0 +0.6875 0.41666666666666669 0 +0.8125 0.1875 0 +0.94999999999999996 0.050000000000000003 0 +0.8214285714285714 0.071428571428571425 0 +0.9285714285714286 0.17857142857142858 0 +0.70833333333333337 0.1875 0 +0.5625 0.0625 0 +0.58333333333333337 0.1875 0 +0.6875 0.0625 0 +0.79166666666666663 0.3125 0 +0.9375 0.4375 0 +0.91666666666666663 0.3125 0 +0.8125 0.4375 0 +0.4375 0.54166666666666663 0 +0.3125 0.6875 0 +0.42857142857142855 0.6785714285714286 0 +0.3125 0.58333333333333337 0 +0.1875 0.8125 0 +0.050000000000000003 0.94999999999999996 0 +0.17857142857142858 0.9285714285714286 0 +0.071428571428571425 0.8214285714285714 0 +0.29166666666666669 0.8125 0 +0.4375 0.9375 0 +0.41666666666666669 0.8125 0 +0.3125 0.9375 0 +0.20833333333333334 0.6875 0 +0.0625 0.5625 0 +0.083333333333333329 0.6875 0 +0.1875 0.5625 0 +0.94999999999999996 0.94999999999999996 1 +0.8125 0.8125 1 +0.9285714285714286 0.8214285714285714 1 +0.8214285714285714 0.9285714285714286 1 +0.6875 0.6875 1 +0.5625 0.5625 1 +0.6785714285714286 0.5714285714285714 1 +0.5714285714285714 0.6785714285714286 1 +0.79166666666666663 0.6875 1 +0.9375 0.5625 1 +0.91666666666666663 0.6875 1 +0.8125 0.5625 1 +0.70833333333333337 0.8125 1 +0.5625 0.9375 1 +0.58333333333333337 0.8125 1 +0.6875 0.9375 1 +0.4375 0.4375 1 +0.3125 0.3125 1 +0.42857142857142855 0.32142857142857145 1 +0.32142857142857145 0.42857142857142855 1 +0.1875 0.1875 1 +0.050000000000000003 0.050000000000000003 1 +0.17857142857142858 0.071428571428571425 1 +0.071428571428571425 0.17857142857142858 1 +0.29166666666666669 0.1875 1 +0.4375 0.0625 1 +0.41666666666666669 0.1875 1 +0.3125 0.0625 1 +0.20833333333333334 0.3125 1 +0.0625 0.4375 1 +0.083333333333333329 0.3125 1 +0.1875 0.4375 1 +0.54166666666666663 0.4375 1 +0.6875 0.3125 1 +0.6785714285714286 0.42857142857142855 1 +0.58333333333333337 0.3125 1 +0.8125 0.1875 1 +0.94999999999999996 0.050000000000000003 1 +0.9285714285714286 0.17857142857142858 1 +0.8214285714285714 0.071428571428571425 1 +0.8125 0.29166666666666669 1 +0.9375 0.4375 1 +0.8125 0.41666666666666669 1 +0.9375 0.3125 1 +0.6875 0.20833333333333334 1 +0.5625 0.0625 1 +0.6875 0.083333333333333329 1 +0.5625 0.1875 1 +0.45833333333333331 0.5625 1 +0.3125 0.6875 1 +0.32142857142857145 0.5714285714285714 1 +0.41666666666666669 0.6875 1 +0.1875 0.8125 1 +0.050000000000000003 0.94999999999999996 1 +0.071428571428571425 0.8214285714285714 1 +0.17857142857142858 0.9285714285714286 1 +0.1875 0.70833333333333337 1 +0.0625 0.5625 1 +0.1875 0.58333333333333337 1 +0.0625 0.6875 1 +0.3125 0.79166666666666663 1 +0.4375 0.9375 1 +0.3125 0.91666666666666663 1 +0.4375 0.8125 1 +0.050000000000000003 1 0.050000000000000003 +0.1875 1 0.1875 +0.17857142857142858 1 0.071428571428571425 +0.071428571428571425 1 0.17857142857142858 +0.3125 1 0.3125 +0.4375 1 0.4375 +0.42857142857142855 1 0.32142857142857145 +0.32142857142857145 1 0.42857142857142855 +0.3125 1 0.20833333333333334 +0.4375 1 0.0625 +0.3125 1 0.083333333333333329 +0.4375 1 0.1875 +0.1875 1 0.29166666666666669 +0.0625 1 0.4375 +0.1875 1 0.41666666666666669 +0.0625 1 0.3125 +0.5625 1 0.5625 +0.6875 1 0.6875 +0.6785714285714286 1 0.5714285714285714 +0.5714285714285714 1 0.6785714285714286 +0.8125 1 0.8125 +0.94999999999999996 1 0.94999999999999996 +0.9285714285714286 1 0.8214285714285714 +0.8214285714285714 1 0.9285714285714286 +0.8125 1 0.70833333333333337 +0.9375 1 0.5625 +0.8125 1 0.58333333333333337 +0.9375 1 0.6875 +0.6875 1 0.79166666666666663 +0.5625 1 0.9375 +0.6875 1 0.91666666666666663 +0.5625 1 0.8125 +0.5625 1 0.45833333333333331 +0.6875 1 0.3125 +0.5714285714285714 1 0.32142857142857145 +0.6875 1 0.41666666666666669 +0.8125 1 0.1875 +0.94999999999999996 1 0.050000000000000003 +0.8214285714285714 1 0.071428571428571425 +0.9285714285714286 1 0.17857142857142858 +0.70833333333333337 1 0.1875 +0.5625 1 0.0625 +0.58333333333333337 1 0.1875 +0.6875 1 0.0625 +0.79166666666666663 1 0.3125 +0.9375 1 0.4375 +0.91666666666666663 1 0.3125 +0.8125 1 0.4375 +0.4375 1 0.54166666666666663 +0.3125 1 0.6875 +0.42857142857142855 1 0.6785714285714286 +0.3125 1 0.58333333333333337 +0.1875 1 0.8125 +0.050000000000000003 1 0.94999999999999996 +0.17857142857142858 1 0.9285714285714286 +0.071428571428571425 1 0.8214285714285714 +0.29166666666666669 1 0.8125 +0.4375 1 0.9375 +0.41666666666666669 1 0.8125 +0.3125 1 0.9375 +0.20833333333333334 1 0.6875 +0.0625 1 0.5625 +0.083333333333333329 1 0.6875 +0.1875 1 0.5625 +0.050000000000000003 0 0.050000000000000003 +0.1875 0 0.1875 +0.071428571428571425 0 0.17857142857142858 +0.17857142857142858 0 0.071428571428571425 +0.3125 0 0.3125 +0.4375 0 0.4375 +0.32142857142857145 0 0.42857142857142855 +0.42857142857142855 0 0.32142857142857145 +0.20833333333333334 0 0.3125 +0.0625 0 0.4375 +0.083333333333333329 0 0.3125 +0.1875 0 0.4375 +0.29166666666666669 0 0.1875 +0.4375 0 0.0625 +0.41666666666666669 0 0.1875 +0.3125 0 0.0625 +0.5625 0 0.5625 +0.6875 0 0.6875 +0.5714285714285714 0 0.6785714285714286 +0.6785714285714286 0 0.5714285714285714 +0.8125 0 0.8125 +0.94999999999999996 0 0.94999999999999996 +0.8214285714285714 0 0.9285714285714286 +0.9285714285714286 0 0.8214285714285714 +0.70833333333333337 0 0.8125 +0.5625 0 0.9375 +0.58333333333333337 0 0.8125 +0.6875 0 0.9375 +0.79166666666666663 0 0.6875 +0.9375 0 0.5625 +0.91666666666666663 0 0.6875 +0.8125 0 0.5625 +0.45833333333333331 0 0.5625 +0.3125 0 0.6875 +0.32142857142857145 0 0.5714285714285714 +0.41666666666666669 0 0.6875 +0.1875 0 0.8125 +0.050000000000000003 0 0.94999999999999996 +0.071428571428571425 0 0.8214285714285714 +0.17857142857142858 0 0.9285714285714286 +0.1875 0 0.70833333333333337 +0.0625 0 0.5625 +0.1875 0 0.58333333333333337 +0.0625 0 0.6875 +0.3125 0 0.79166666666666663 +0.4375 0 0.9375 +0.3125 0 0.91666666666666663 +0.4375 0 0.8125 +0.54166666666666663 0 0.4375 +0.6875 0 0.3125 +0.6785714285714286 0 0.42857142857142855 +0.58333333333333337 0 0.3125 +0.8125 0 0.1875 +0.94999999999999996 0 0.050000000000000003 +0.9285714285714286 0 0.17857142857142858 +0.8214285714285714 0 0.071428571428571425 +0.8125 0 0.29166666666666669 +0.9375 0 0.4375 +0.8125 0 0.41666666666666669 +0.9375 0 0.3125 +0.6875 0 0.20833333333333334 +0.5625 0 0.0625 +0.6875 0 0.083333333333333329 +0.5625 0 0.1875 +1 0.94999999999999996 0.050000000000000003 +1 0.8125 0.1875 +1 0.8214285714285714 0.071428571428571425 +1 0.9285714285714286 0.17857142857142858 +1 0.6875 0.3125 +1 0.5625 0.4375 +1 0.5714285714285714 0.32142857142857145 +1 0.6785714285714286 0.42857142857142855 +1 0.6875 0.20833333333333334 +1 0.5625 0.0625 +1 0.6875 0.083333333333333329 +1 0.5625 0.1875 +1 0.8125 0.29166666666666669 +1 0.9375 0.4375 +1 0.8125 0.41666666666666669 +1 0.9375 0.3125 +1 0.4375 0.5625 +1 0.3125 0.6875 +1 0.32142857142857145 0.5714285714285714 +1 0.42857142857142855 0.6785714285714286 +1 0.1875 0.8125 +1 0.050000000000000003 0.94999999999999996 +1 0.071428571428571425 0.8214285714285714 +1 0.17857142857142858 0.9285714285714286 +1 0.1875 0.70833333333333337 +1 0.0625 0.5625 +1 0.1875 0.58333333333333337 +1 0.0625 0.6875 +1 0.3125 0.79166666666666663 +1 0.4375 0.9375 +1 0.3125 0.91666666666666663 +1 0.4375 0.8125 +1 0.4375 0.45833333333333331 +1 0.3125 0.3125 +1 0.42857142857142855 0.32142857142857145 +1 0.3125 0.41666666666666669 +1 0.1875 0.1875 +1 0.050000000000000003 0.050000000000000003 +1 0.17857142857142858 0.071428571428571425 +1 0.071428571428571425 0.17857142857142858 +1 0.29166666666666669 0.1875 +1 0.4375 0.0625 +1 0.41666666666666669 0.1875 +1 0.3125 0.0625 +1 0.20833333333333334 0.3125 +1 0.0625 0.4375 +1 0.083333333333333329 0.3125 +1 0.1875 0.4375 +1 0.5625 0.54166666666666663 +1 0.6875 0.6875 +1 0.5714285714285714 0.6785714285714286 +1 0.6875 0.58333333333333337 +1 0.8125 0.8125 +1 0.94999999999999996 0.94999999999999996 +1 0.8214285714285714 0.9285714285714286 +1 0.9285714285714286 0.8214285714285714 +1 0.70833333333333337 0.8125 +1 0.5625 0.9375 +1 0.58333333333333337 0.8125 +1 0.6875 0.9375 +1 0.79166666666666663 0.6875 +1 0.9375 0.5625 +1 0.91666666666666663 0.6875 +1 0.8125 0.5625 +0 0.050000000000000003 0.94999999999999996 +0 0.1875 0.8125 +0 0.071428571428571425 0.8214285714285714 +0 0.17857142857142858 0.9285714285714286 +0 0.3125 0.6875 +0 0.4375 0.5625 +0 0.32142857142857145 0.5714285714285714 +0 0.42857142857142855 0.6785714285714286 +0 0.20833333333333334 0.6875 +0 0.0625 0.5625 +0 0.083333333333333329 0.6875 +0 0.1875 0.5625 +0 0.29166666666666669 0.8125 +0 0.4375 0.9375 +0 0.41666666666666669 0.8125 +0 0.3125 0.9375 +0 0.5625 0.4375 +0 0.6875 0.3125 +0 0.5714285714285714 0.32142857142857145 +0 0.6785714285714286 0.42857142857142855 +0 0.8125 0.1875 +0 0.94999999999999996 0.050000000000000003 +0 0.8214285714285714 0.071428571428571425 +0 0.9285714285714286 0.17857142857142858 +0 0.70833333333333337 0.1875 +0 0.5625 0.0625 +0 0.58333333333333337 0.1875 +0 0.6875 0.0625 +0 0.79166666666666663 0.3125 +0 0.9375 0.4375 +0 0.91666666666666663 0.3125 +0 0.8125 0.4375 +0 0.45833333333333331 0.4375 +0 0.3125 0.3125 +0 0.32142857142857145 0.42857142857142855 +0 0.41666666666666669 0.3125 +0 0.1875 0.1875 +0 0.050000000000000003 0.050000000000000003 +0 0.071428571428571425 0.17857142857142858 +0 0.17857142857142858 0.071428571428571425 +0 0.1875 0.29166666666666669 +0 0.0625 0.4375 +0 0.1875 0.41666666666666669 +0 0.0625 0.3125 +0 0.3125 0.20833333333333334 +0 0.4375 0.0625 +0 0.3125 0.083333333333333329 +0 0.4375 0.1875 +0 0.54166666666666663 0.5625 +0 0.6875 0.6875 +0 0.6785714285714286 0.5714285714285714 +0 0.58333333333333337 0.6875 +0 0.8125 0.8125 +0 0.94999999999999996 0.94999999999999996 +0 0.9285714285714286 0.8214285714285714 +0 0.8214285714285714 0.9285714285714286 +0 0.8125 0.70833333333333337 +0 0.9375 0.5625 +0 0.8125 0.58333333333333337 +0 0.9375 0.6875 +0 0.6875 0.79166666666666663 +0 0.5625 0.9375 +0 0.6875 0.91666666666666663 +0 0.5625 0.8125 +1 0.9375 0 +1 0.8125 0 +0.9375 0.89583333333333337 0 +1 0.89583333333333337 0.0625 +1 0.6875 0 +1 0.5625 0 +0.91666666666666663 0.625 0 +1 0.625 0.0625 +0.95833333333333337 0.75 0 +0.8125 0.77083333333333337 0 +0.85416666666666663 0.8125 0 +0.875 0.66666666666666663 0 +1 0.75 0.041666666666666671 +1 0.7589285714285714 0.17857142857142858 +1 0.6875 0.14583333333333334 +1 0.8125 0.14583333333333334 +1 0.4375 0 +1 0.3125 0 +0.9375 0.375 0 +1 0.375 0.083333333333333329 +1 0.1875 0 +1 0.0625 0 +0.9375 0.10416666666666667 0 +1 0.10416666666666667 0.0625 +0.95833333333333337 0.25 0 +0.8214285714285714 0.24107142857142858 0 +0.85416666666666663 0.3125 0 +0.85416666666666663 0.1875 0 +1 0.25 0.041666666666666671 +1 0.22916666666666666 0.1875 +1 0.1875 0.14583333333333334 +1 0.33333333333333331 0.125 +0.95833333333333337 0.5 0 +0.8035714285714286 0.5089285714285714 0 +0.875 0.5625 0 +0.875 0.41666666666666669 0 +0.6964285714285714 0.49107142857142855 0 +0.5625 0.52083333333333337 0 +0.60416666666666663 0.5625 0 +0.625 0.4375 0 +0.75 0.54166666666666663 0 +0.7410714285714286 0.6785714285714286 0 +0.8125 0.64583333333333337 0 +0.6875 0.64583333333333337 0 +0.75 0.45833333333333331 0 +0.72916666666666663 0.3125 0 +0.6875 0.35416666666666669 0 +0.83333333333333337 0.375 0 +1 0.5 0.041666666666666671 +1 0.49107142857142855 0.19642857142857142 +1 0.4375 0.125 +1 0.58333333333333337 0.125 +1 0.5 0.29166666666666669 +1 0.5089285714285714 0.42857142857142855 +1 0.4375 0.39583333333333331 +1 0.5625 0.39583333333333331 +1 0.45833333333333331 0.25 +1 0.32142857142857145 0.25892857142857145 +1 0.35416666666666669 0.1875 +1 0.35416666666666669 0.3125 +1 0.54166666666666663 0.25 +1 0.6875 0.27083333333333331 +1 0.64583333333333337 0.3125 +1 0.625 0.16666666666666666 +0.9375 0 0 +0.8125 0 0 +0.89583333333333337 0.0625 0 +0.89583333333333337 0 0.0625 +0.6875 0 0 +0.5625 0 0 +0.625 0.083333333333333329 0 +0.625 0 0.0625 +0.75 0.041666666666666671 0 +0.77083333333333337 0.1875 0 +0.8125 0.14583333333333334 0 +0.66666666666666663 0.125 0 +0.75 0 0.041666666666666671 +0.7589285714285714 0 0.17857142857142858 +0.6875 0 0.14583333333333334 +0.8125 0 0.14583333333333334 +0.4375 0 0 +0.3125 0 0 +0.375 0.0625 0 +0.375 0 0.083333333333333329 +0.1875 0 0 +0.0625 0 0 +0.10416666666666667 0.0625 0 +0.10416666666666667 0 0.0625 +0.25 0.041666666666666671 0 +0.24107142857142858 0.17857142857142858 0 +0.3125 0.14583333333333334 0 +0.1875 0.14583333333333334 0 +0.25 0 0.041666666666666671 +0.22916666666666666 0 0.1875 +0.1875 0 0.14583333333333334 +0.33333333333333331 0 0.125 +0.5 0.041666666666666671 0 +0.5089285714285714 0.19642857142857142 0 +0.5625 0.125 0 +0.41666666666666669 0.125 0 +0.5 0.29166666666666669 0 +0.49107142857142855 0.42857142857142855 0 +0.5625 0.39583333333333331 0 +0.4375 0.39583333333333331 0 +0.54166666666666663 0.25 0 +0.6785714285714286 0.25892857142857145 0 +0.64583333333333337 0.1875 0 +0.64583333333333337 0.3125 0 +0.45833333333333331 0.25 0 +0.3125 0.27083333333333331 0 +0.35416666666666669 0.3125 0 +0.375 0.16666666666666666 0 +0.5 0 0.041666666666666671 +0.49107142857142855 0 0.19642857142857142 +0.4375 0 0.125 +0.58333333333333337 0 0.125 +0.5089285714285714 0 0.30357142857142855 +0.47916666666666669 0 0.4375 +0.4375 0 0.39583333333333331 +0.5625 0 0.375 +0.45833333333333331 0 0.25 +0.32142857142857145 0 0.25892857142857145 +0.35416666666666669 0 0.1875 +0.35416666666666669 0 0.3125 +0.54166666666666663 0 0.25 +0.6875 0 0.27083333333333331 +0.64583333333333337 0 0.3125 +0.625 0 0.16666666666666666 +0 0.0625 0 +0 0.1875 0 +0.0625 0.10416666666666667 0 +0 0.10416666666666667 0.0625 +0 0.3125 0 +0 0.4375 0 +0.083333333333333329 0.375 0 +0 0.375 0.0625 +0.041666666666666671 0.25 0 +0.1875 0.22916666666666666 0 +0.14583333333333334 0.1875 0 +0.125 0.33333333333333331 0 +0 0.25 0.041666666666666671 +0 0.24107142857142858 0.17857142857142858 +0 0.3125 0.14583333333333334 +0 0.1875 0.14583333333333334 +0 0.5625 0 +0 0.6875 0 +0.0625 0.625 0 +0 0.625 0.083333333333333329 +0 0.8125 0 +0 0.9375 0 +0.0625 0.89583333333333337 0 +0 0.89583333333333337 0.0625 +0.041666666666666671 0.75 0 +0.17857142857142858 0.7589285714285714 0 +0.14583333333333334 0.6875 0 +0.14583333333333334 0.8125 0 +0 0.75 0.041666666666666671 +0 0.77083333333333337 0.1875 +0 0.8125 0.14583333333333334 +0 0.66666666666666663 0.125 +0.041666666666666671 0.5 0 +0.19642857142857142 0.49107142857142855 0 +0.125 0.4375 0 +0.125 0.58333333333333337 0 +0.30357142857142855 0.5089285714285714 0 +0.4375 0.47916666666666669 0 +0.39583333333333331 0.4375 0 +0.375 0.5625 0 +0.25 0.45833333333333331 0 +0.25892857142857145 0.32142857142857145 0 +0.1875 0.35416666666666669 0 +0.3125 0.35416666666666669 0 +0.25 0.54166666666666663 0 +0.27083333333333331 0.6875 0 +0.3125 0.64583333333333337 0 +0.16666666666666666 0.625 0 +0 0.5 0.041666666666666671 +0 0.5089285714285714 0.19642857142857142 +0 0.5625 0.125 +0 0.41666666666666669 0.125 +0 0.49107142857142855 0.30357142857142855 +0 0.52083333333333337 0.4375 +0 0.5625 0.39583333333333331 +0 0.4375 0.375 +0 0.54166666666666663 0.25 +0 0.6785714285714286 0.25892857142857145 +0 0.64583333333333337 0.1875 +0 0.64583333333333337 0.3125 +0 0.45833333333333331 0.25 +0 0.3125 0.27083333333333331 +0 0.35416666666666669 0.3125 +0 0.375 0.16666666666666666 +0.0625 1 0 +0.1875 1 0 +0.10416666666666667 0.9375 0 +0.10416666666666667 1 0.0625 +0.3125 1 0 +0.4375 1 0 +0.375 0.91666666666666663 0 +0.375 1 0.0625 +0.25 0.95833333333333337 0 +0.22916666666666666 0.8125 0 +0.1875 0.85416666666666663 0 +0.33333333333333331 0.875 0 +0.25 1 0.041666666666666671 +0.24107142857142858 1 0.17857142857142858 +0.3125 1 0.14583333333333334 +0.1875 1 0.14583333333333334 +0.5625 1 0 +0.6875 1 0 +0.625 0.9375 0 +0.625 1 0.083333333333333329 +0.8125 1 0 +0.9375 1 0 +0.89583333333333337 0.9375 0 +0.89583333333333337 1 0.0625 +0.75 0.95833333333333337 0 +0.7589285714285714 0.8214285714285714 0 +0.6875 0.85416666666666663 0 +0.8125 0.85416666666666663 0 +0.75 1 0.041666666666666671 +0.77083333333333337 1 0.1875 +0.8125 1 0.14583333333333334 +0.66666666666666663 1 0.125 +0.5 0.95833333333333337 0 +0.49107142857142855 0.8035714285714286 0 +0.4375 0.875 0 +0.58333333333333337 0.875 0 +0.5 0.70833333333333337 0 +0.5089285714285714 0.5714285714285714 0 +0.4375 0.60416666666666663 0 +0.5625 0.60416666666666663 0 +0.45833333333333331 0.75 0 +0.32142857142857145 0.7410714285714286 0 +0.35416666666666669 0.8125 0 +0.35416666666666669 0.6875 0 +0.54166666666666663 0.75 0 +0.6875 0.72916666666666663 0 +0.64583333333333337 0.6875 0 +0.625 0.83333333333333337 0 +0.5 1 0.041666666666666671 +0.5089285714285714 1 0.19642857142857142 +0.5625 1 0.125 +0.41666666666666669 1 0.125 +0.5 1 0.29166666666666669 +0.49107142857142855 1 0.42857142857142855 +0.5625 1 0.39583333333333331 +0.4375 1 0.39583333333333331 +0.54166666666666663 1 0.25 +0.6785714285714286 1 0.25892857142857145 +0.64583333333333337 1 0.1875 +0.64583333333333337 1 0.3125 +0.45833333333333331 1 0.25 +0.3125 1 0.27083333333333331 +0.35416666666666669 1 0.3125 +0.375 1 0.16666666666666666 +0.0625 0 1 +0.1875 0 1 +0.10416666666666667 0.0625 1 +0.10416666666666667 0 0.9375 +0.3125 0 1 +0.4375 0 1 +0.375 0.083333333333333329 1 +0.375 0 0.9375 +0.25 0.041666666666666671 1 +0.22916666666666666 0.1875 1 +0.1875 0.14583333333333334 1 +0.33333333333333331 0.125 1 +0.25 0 0.95833333333333337 +0.24107142857142858 0 0.8214285714285714 +0.3125 0 0.85416666666666663 +0.1875 0 0.85416666666666663 +0.5625 0 1 +0.6875 0 1 +0.625 0.0625 1 +0.625 0 0.91666666666666663 +0.8125 0 1 +0.9375 0 1 +0.89583333333333337 0.0625 1 +0.89583333333333337 0 0.9375 +0.75 0.041666666666666671 1 +0.7589285714285714 0.17857142857142858 1 +0.6875 0.14583333333333334 1 +0.8125 0.14583333333333334 1 +0.75 0 0.95833333333333337 +0.77083333333333337 0 0.8125 +0.8125 0 0.85416666666666663 +0.66666666666666663 0 0.875 +0.5 0.041666666666666671 1 +0.49107142857142855 0.19642857142857142 1 +0.4375 0.125 1 +0.58333333333333337 0.125 1 +0.5089285714285714 0.30357142857142855 1 +0.47916666666666669 0.4375 1 +0.4375 0.39583333333333331 1 +0.5625 0.375 1 +0.45833333333333331 0.25 1 +0.32142857142857145 0.25892857142857145 1 +0.35416666666666669 0.1875 1 +0.35416666666666669 0.3125 1 +0.54166666666666663 0.25 1 +0.6875 0.27083333333333331 1 +0.64583333333333337 0.3125 1 +0.625 0.16666666666666666 1 +0.5 0 0.95833333333333337 +0.5089285714285714 0 0.8035714285714286 +0.5625 0 0.875 +0.41666666666666669 0 0.875 +0.49107142857142855 0 0.6964285714285714 +0.52083333333333337 0 0.5625 +0.5625 0 0.60416666666666663 +0.4375 0 0.625 +0.54166666666666663 0 0.75 +0.6785714285714286 0 0.7410714285714286 +0.64583333333333337 0 0.8125 +0.64583333333333337 0 0.6875 +0.45833333333333331 0 0.75 +0.3125 0 0.72916666666666663 +0.35416666666666669 0 0.6875 +0.375 0 0.83333333333333337 +1 0.0625 1 +1 0.1875 1 +0.9375 0.10416666666666667 1 +1 0.10416666666666667 0.9375 +1 0.3125 1 +1 0.4375 1 +0.91666666666666663 0.375 1 +1 0.375 0.9375 +0.95833333333333337 0.25 1 +0.8125 0.22916666666666666 1 +0.85416666666666663 0.1875 1 +0.875 0.33333333333333331 1 +1 0.25 0.95833333333333337 +1 0.24107142857142858 0.8214285714285714 +1 0.3125 0.85416666666666663 +1 0.1875 0.85416666666666663 +1 0.5625 1 +1 0.6875 1 +0.9375 0.625 1 +1 0.625 0.91666666666666663 +1 0.8125 1 +1 0.9375 1 +0.9375 0.89583333333333337 1 +1 0.89583333333333337 0.9375 +0.95833333333333337 0.75 1 +0.8214285714285714 0.7589285714285714 1 +0.85416666666666663 0.6875 1 +0.85416666666666663 0.8125 1 +1 0.75 0.95833333333333337 +1 0.77083333333333337 0.8125 +1 0.8125 0.85416666666666663 +1 0.66666666666666663 0.875 +0.95833333333333337 0.5 1 +0.8035714285714286 0.49107142857142855 1 +0.875 0.4375 1 +0.875 0.58333333333333337 1 +0.70833333333333337 0.5 1 +0.5714285714285714 0.5089285714285714 1 +0.60416666666666663 0.4375 1 +0.60416666666666663 0.5625 1 +0.75 0.45833333333333331 1 +0.7410714285714286 0.32142857142857145 1 +0.8125 0.35416666666666669 1 +0.6875 0.35416666666666669 1 +0.75 0.54166666666666663 1 +0.72916666666666663 0.6875 1 +0.6875 0.64583333333333337 1 +0.83333333333333337 0.625 1 +1 0.5 0.95833333333333337 +1 0.5089285714285714 0.8035714285714286 +1 0.5625 0.875 +1 0.41666666666666669 0.875 +1 0.5 0.70833333333333337 +1 0.49107142857142855 0.5714285714285714 +1 0.5625 0.60416666666666663 +1 0.4375 0.60416666666666663 +1 0.54166666666666663 0.75 +1 0.6785714285714286 0.7410714285714286 +1 0.64583333333333337 0.8125 +1 0.64583333333333337 0.6875 +1 0.45833333333333331 0.75 +1 0.3125 0.72916666666666663 +1 0.35416666666666669 0.6875 +1 0.375 0.83333333333333337 +0.9375 1 1 +0.8125 1 1 +0.89583333333333337 0.9375 1 +0.89583333333333337 1 0.9375 +0.6875 1 1 +0.5625 1 1 +0.625 0.91666666666666663 1 +0.625 1 0.9375 +0.75 0.95833333333333337 1 +0.77083333333333337 0.8125 1 +0.8125 0.85416666666666663 1 +0.66666666666666663 0.875 1 +0.75 1 0.95833333333333337 +0.7589285714285714 1 0.8214285714285714 +0.6875 1 0.85416666666666663 +0.8125 1 0.85416666666666663 +0.4375 1 1 +0.3125 1 1 +0.375 0.9375 1 +0.375 1 0.91666666666666663 +0.1875 1 1 +0.0625 1 1 +0.10416666666666667 0.9375 1 +0.10416666666666667 1 0.9375 +0.25 0.95833333333333337 1 +0.24107142857142858 0.8214285714285714 1 +0.3125 0.85416666666666663 1 +0.1875 0.85416666666666663 1 +0.25 1 0.95833333333333337 +0.22916666666666666 1 0.8125 +0.1875 1 0.85416666666666663 +0.33333333333333331 1 0.875 +0.5 0.95833333333333337 1 +0.5089285714285714 0.8035714285714286 1 +0.5625 0.875 1 +0.41666666666666669 0.875 1 +0.49107142857142855 0.6964285714285714 1 +0.52083333333333337 0.5625 1 +0.5625 0.60416666666666663 1 +0.4375 0.625 1 +0.54166666666666663 0.75 1 +0.6785714285714286 0.7410714285714286 1 +0.64583333333333337 0.8125 1 +0.64583333333333337 0.6875 1 +0.45833333333333331 0.75 1 +0.3125 0.72916666666666663 1 +0.35416666666666669 0.6875 1 +0.375 0.83333333333333337 1 +0.5 1 0.95833333333333337 +0.49107142857142855 1 0.8035714285714286 +0.4375 1 0.875 +0.58333333333333337 1 0.875 +0.5 1 0.70833333333333337 +0.5089285714285714 1 0.5714285714285714 +0.4375 1 0.60416666666666663 +0.5625 1 0.60416666666666663 +0.45833333333333331 1 0.75 +0.32142857142857145 1 0.7410714285714286 +0.35416666666666669 1 0.8125 +0.35416666666666669 1 0.6875 +0.54166666666666663 1 0.75 +0.6875 1 0.72916666666666663 +0.64583333333333337 1 0.6875 +0.625 1 0.83333333333333337 +0 0.9375 1 +0 0.8125 1 +0.0625 0.89583333333333337 1 +0 0.89583333333333337 0.9375 +0 0.6875 1 +0 0.5625 1 +0.083333333333333329 0.625 1 +0 0.625 0.9375 +0.041666666666666671 0.75 1 +0.1875 0.77083333333333337 1 +0.14583333333333334 0.8125 1 +0.125 0.66666666666666663 1 +0 0.75 0.95833333333333337 +0 0.7589285714285714 0.8214285714285714 +0 0.6875 0.85416666666666663 +0 0.8125 0.85416666666666663 +0 0.4375 1 +0 0.3125 1 +0.0625 0.375 1 +0 0.375 0.91666666666666663 +0 0.1875 1 +0 0.0625 1 +0.0625 0.10416666666666667 1 +0 0.10416666666666667 0.9375 +0.041666666666666671 0.25 1 +0.17857142857142858 0.24107142857142858 1 +0.14583333333333334 0.3125 1 +0.14583333333333334 0.1875 1 +0 0.25 0.95833333333333337 +0 0.22916666666666666 0.8125 +0 0.1875 0.85416666666666663 +0 0.33333333333333331 0.875 +0.041666666666666671 0.5 1 +0.19642857142857142 0.5089285714285714 1 +0.125 0.5625 1 +0.125 0.41666666666666669 1 +0.29166666666666669 0.5 1 +0.42857142857142855 0.49107142857142855 1 +0.39583333333333331 0.5625 1 +0.39583333333333331 0.4375 1 +0.25 0.54166666666666663 1 +0.25892857142857145 0.6785714285714286 1 +0.1875 0.64583333333333337 1 +0.3125 0.64583333333333337 1 +0.25 0.45833333333333331 1 +0.27083333333333331 0.3125 1 +0.3125 0.35416666666666669 1 +0.16666666666666666 0.375 1 +0 0.5 0.95833333333333337 +0 0.49107142857142855 0.8035714285714286 +0 0.4375 0.875 +0 0.58333333333333337 0.875 +0 0.5089285714285714 0.6964285714285714 +0 0.47916666666666669 0.5625 +0 0.4375 0.60416666666666663 +0 0.5625 0.625 +0 0.45833333333333331 0.75 +0 0.32142857142857145 0.7410714285714286 +0 0.35416666666666669 0.8125 +0 0.35416666666666669 0.6875 +0 0.54166666666666663 0.75 +0 0.6875 0.72916666666666663 +0 0.64583333333333337 0.6875 +0 0.625 0.83333333333333337 +1 1 0.9375 +1 1 0.8125 +0.9375 1 0.89583333333333337 +1 0.9375 0.89583333333333337 +1 1 0.6875 +1 1 0.5625 +0.91666666666666663 1 0.625 +1 0.9375 0.625 +0.95833333333333337 1 0.75 +0.8125 1 0.77083333333333337 +0.85416666666666663 1 0.8125 +0.875 1 0.66666666666666663 +1 0.95833333333333337 0.75 +1 0.8214285714285714 0.7589285714285714 +1 0.85416666666666663 0.6875 +1 0.85416666666666663 0.8125 +1 1 0.4375 +1 1 0.3125 +0.9375 1 0.375 +1 0.91666666666666663 0.375 +1 1 0.1875 +1 1 0.0625 +0.9375 1 0.10416666666666667 +1 0.9375 0.10416666666666667 +0.95833333333333337 1 0.25 +0.8214285714285714 1 0.24107142857142858 +0.85416666666666663 1 0.3125 +0.85416666666666663 1 0.1875 +1 0.95833333333333337 0.25 +1 0.8125 0.22916666666666666 +1 0.85416666666666663 0.1875 +1 0.875 0.33333333333333331 +0.95833333333333337 1 0.5 +0.8035714285714286 1 0.5089285714285714 +0.875 1 0.5625 +0.875 1 0.41666666666666669 +0.6964285714285714 1 0.49107142857142855 +0.5625 1 0.52083333333333337 +0.60416666666666663 1 0.5625 +0.625 1 0.4375 +0.75 1 0.54166666666666663 +0.7410714285714286 1 0.6785714285714286 +0.8125 1 0.64583333333333337 +0.6875 1 0.64583333333333337 +0.75 1 0.45833333333333331 +0.72916666666666663 1 0.3125 +0.6875 1 0.35416666666666669 +0.83333333333333337 1 0.375 +1 0.95833333333333337 0.5 +1 0.8035714285714286 0.49107142857142855 +1 0.875 0.4375 +1 0.875 0.58333333333333337 +1 0.6964285714285714 0.5089285714285714 +1 0.5625 0.47916666666666669 +1 0.60416666666666663 0.4375 +1 0.625 0.5625 +1 0.75 0.45833333333333331 +1 0.7410714285714286 0.32142857142857145 +1 0.8125 0.35416666666666669 +1 0.6875 0.35416666666666669 +1 0.75 0.54166666666666663 +1 0.72916666666666663 0.6875 +1 0.6875 0.64583333333333337 +1 0.83333333333333337 0.625 +0 1 0.0625 +0 1 0.1875 +0.0625 1 0.10416666666666667 +0 0.9375 0.10416666666666667 +0 1 0.3125 +0 1 0.4375 +0.083333333333333329 1 0.375 +0 0.9375 0.375 +0.041666666666666671 1 0.25 +0.1875 1 0.22916666666666666 +0.14583333333333334 1 0.1875 +0.125 1 0.33333333333333331 +0 0.95833333333333337 0.25 +0 0.8214285714285714 0.24107142857142858 +0 0.85416666666666663 0.3125 +0 0.85416666666666663 0.1875 +0 1 0.5625 +0 1 0.6875 +0.0625 1 0.625 +0 0.91666666666666663 0.625 +0 1 0.8125 +0 1 0.9375 +0.0625 1 0.89583333333333337 +0 0.9375 0.89583333333333337 +0.041666666666666671 1 0.75 +0.17857142857142858 1 0.7589285714285714 +0.14583333333333334 1 0.6875 +0.14583333333333334 1 0.8125 +0 0.95833333333333337 0.75 +0 0.8125 0.77083333333333337 +0 0.85416666666666663 0.8125 +0 0.875 0.66666666666666663 +0.041666666666666671 1 0.5 +0.19642857142857142 1 0.49107142857142855 +0.125 1 0.4375 +0.125 1 0.58333333333333337 +0.30357142857142855 1 0.5089285714285714 +0.4375 1 0.47916666666666669 +0.39583333333333331 1 0.4375 +0.375 1 0.5625 +0.25 1 0.45833333333333331 +0.25892857142857145 1 0.32142857142857145 +0.1875 1 0.35416666666666669 +0.3125 1 0.35416666666666669 +0.25 1 0.54166666666666663 +0.27083333333333331 1 0.6875 +0.3125 1 0.64583333333333337 +0.16666666666666666 1 0.625 +0 0.95833333333333337 0.5 +0 0.8035714285714286 0.5089285714285714 +0 0.875 0.5625 +0 0.875 0.41666666666666669 +0 0.70833333333333337 0.5 +0 0.5714285714285714 0.49107142857142855 +0 0.60416666666666663 0.5625 +0 0.60416666666666663 0.4375 +0 0.75 0.54166666666666663 +0 0.7410714285714286 0.6785714285714286 +0 0.8125 0.64583333333333337 +0 0.6875 0.64583333333333337 +0 0.75 0.45833333333333331 +0 0.72916666666666663 0.3125 +0 0.6875 0.35416666666666669 +0 0.83333333333333337 0.375 +0 0 0.9375 +0 0 0.8125 +0.0625 0 0.89583333333333337 +0 0.0625 0.89583333333333337 +0 0 0.6875 +0 0 0.5625 +0.083333333333333329 0 0.625 +0 0.0625 0.625 +0.041666666666666671 0 0.75 +0.1875 0 0.77083333333333337 +0.14583333333333334 0 0.8125 +0.125 0 0.66666666666666663 +0 0.041666666666666671 0.75 +0 0.17857142857142858 0.7589285714285714 +0 0.14583333333333334 0.6875 +0 0.14583333333333334 0.8125 +0 0 0.4375 +0 0 0.3125 +0.0625 0 0.375 +0 0.083333333333333329 0.375 +0 0 0.1875 +0 0 0.0625 +0.0625 0 0.10416666666666667 +0 0.0625 0.10416666666666667 +0.041666666666666671 0 0.25 +0.17857142857142858 0 0.24107142857142858 +0.14583333333333334 0 0.3125 +0.14583333333333334 0 0.1875 +0 0.041666666666666671 0.25 +0 0.1875 0.22916666666666666 +0 0.14583333333333334 0.1875 +0 0.125 0.33333333333333331 +0.041666666666666671 0 0.5 +0.19642857142857142 0 0.5089285714285714 +0.125 0 0.5625 +0.125 0 0.41666666666666669 +0.29166666666666669 0 0.5 +0.42857142857142855 0 0.49107142857142855 +0.39583333333333331 0 0.5625 +0.39583333333333331 0 0.4375 +0.25 0 0.54166666666666663 +0.25892857142857145 0 0.6785714285714286 +0.1875 0 0.64583333333333337 +0.3125 0 0.64583333333333337 +0.25 0 0.45833333333333331 +0.27083333333333331 0 0.3125 +0.3125 0 0.35416666666666669 +0.16666666666666666 0 0.375 +0 0.041666666666666671 0.5 +0 0.19642857142857142 0.49107142857142855 +0 0.125 0.4375 +0 0.125 0.58333333333333337 +0 0.29166666666666669 0.5 +0 0.42857142857142855 0.5089285714285714 +0 0.39583333333333331 0.4375 +0 0.39583333333333331 0.5625 +0 0.25 0.45833333333333331 +0 0.25892857142857145 0.32142857142857145 +0 0.1875 0.35416666666666669 +0 0.3125 0.35416666666666669 +0 0.25 0.54166666666666663 +0 0.27083333333333331 0.6875 +0 0.3125 0.64583333333333337 +0 0.16666666666666666 0.625 +1 0 0.0625 +1 0 0.1875 +0.9375 0 0.10416666666666667 +1 0.0625 0.10416666666666667 +1 0 0.3125 +1 0 0.4375 +0.91666666666666663 0 0.375 +1 0.0625 0.375 +0.95833333333333337 0 0.25 +0.8125 0 0.22916666666666666 +0.85416666666666663 0 0.1875 +0.875 0 0.33333333333333331 +1 0.041666666666666671 0.25 +1 0.17857142857142858 0.24107142857142858 +1 0.14583333333333334 0.3125 +1 0.14583333333333334 0.1875 +1 0 0.5625 +1 0 0.6875 +0.9375 0 0.625 +1 0.083333333333333329 0.625 +1 0 0.8125 +1 0 0.9375 +0.9375 0 0.89583333333333337 +1 0.0625 0.89583333333333337 +0.95833333333333337 0 0.75 +0.8214285714285714 0 0.7589285714285714 +0.85416666666666663 0 0.6875 +0.85416666666666663 0 0.8125 +1 0.041666666666666671 0.75 +1 0.1875 0.77083333333333337 +1 0.14583333333333334 0.8125 +1 0.125 0.66666666666666663 +0.95833333333333337 0 0.5 +0.8035714285714286 0 0.49107142857142855 +0.875 0 0.4375 +0.875 0 0.58333333333333337 +0.70833333333333337 0 0.5 +0.5714285714285714 0 0.5089285714285714 +0.60416666666666663 0 0.4375 +0.60416666666666663 0 0.5625 +0.75 0 0.45833333333333331 +0.7410714285714286 0 0.32142857142857145 +0.8125 0 0.35416666666666669 +0.6875 0 0.35416666666666669 +0.75 0 0.54166666666666663 +0.72916666666666663 0 0.6875 +0.6875 0 0.64583333333333337 +0.83333333333333337 0 0.625 +1 0.041666666666666671 0.5 +1 0.19642857142857142 0.5089285714285714 +1 0.125 0.5625 +1 0.125 0.41666666666666669 +1 0.30357142857142855 0.49107142857142855 +1 0.4375 0.52083333333333337 +1 0.39583333333333331 0.5625 +1 0.375 0.4375 +1 0.25 0.54166666666666663 +1 0.25892857142857145 0.6785714285714286 +1 0.1875 0.64583333333333337 +1 0.3125 0.64583333333333337 +1 0.25 0.45833333333333331 +1 0.27083333333333331 0.3125 +1 0.3125 0.35416666666666669 +1 0.16666666666666666 0.375 +3 428 867 874 +3 444 995 1002 +3 492 1123 1130 +3 508 1251 1258 +3 556 1011 1018 +3 572 1203 1210 +3 620 1443 1450 +3 636 1507 1514 +3 684 819 826 +3 700 1139 1146 +3 748 1459 1466 +3 764 1395 1402 +3 412 803 810 +3 400 931 938 +3 476 1059 1066 +3 464 1187 1194 +3 540 1315 1322 +3 528 1379 1386 +3 604 1075 1082 +3 592 883 890 +3 668 1523 1530 +3 656 1331 1338 +3 732 947 954 +3 720 1267 1274 +3 432 787 794 +3 652 774 782 +3 396 851 858 +3 640 838 846 +3 448 915 922 +3 752 902 910 +3 416 979 986 +3 524 966 974 +3 496 1043 1050 +3 624 1030 1038 +3 460 1107 1114 +3 672 1094 1102 +3 512 1171 1178 +3 544 1158 1166 +3 480 1235 1242 +3 768 1222 1230 +3 560 1299 1306 +3 704 1286 1294 +3 576 1363 1370 +3 736 1350 1358 +3 588 1427 1434 +3 716 1414 1422 +3 608 1491 1498 +3 688 1478 1486 +3 392 870 878 +3 389 899 906 +3 408 771 778 +3 405 998 1006 +3 424 835 842 +3 421 806 814 +3 440 963 970 +3 437 934 942 +3 456 1126 1134 +3 453 1155 1162 +3 472 1027 1034 +3 469 1254 1262 +3 488 1091 1098 +3 485 1062 1070 +3 504 1219 1226 +3 501 1190 1198 +3 520 1014 1022 +3 517 1347 1354 +3 536 1283 1290 +3 533 1206 1214 +3 552 982 990 +3 549 1318 1326 +3 568 1174 1182 +3 565 1382 1390 +3 584 1446 1454 +3 581 854 862 +3 600 1046 1054 +3 597 1510 1518 +3 616 1411 1418 +3 613 1078 1086 +3 632 1475 1482 +3 629 886 894 +3 648 822 830 +3 645 1302 1310 +3 664 1494 1502 +3 661 1142 1150 +3 680 790 798 +3 677 1526 1534 +3 696 1110 1118 +3 693 1334 1342 +3 712 1462 1470 +3 709 1238 1246 +3 728 918 926 +3 725 1398 1406 +3 744 1430 1438 +3 741 950 958 +3 760 1366 1374 +3 757 1270 1278 +3 413 196 778 +3 644 197 782 +3 425 200 794 +3 685 201 798 +3 404 204 810 +3 804 776 411 +3 676 208 826 +3 820 789 683 +3 429 212 842 +3 633 213 846 +3 388 216 858 +3 593 217 862 +3 420 220 874 +3 868 840 427 +3 585 224 890 +3 884 853 591 +3 401 228 906 +3 745 229 910 +3 441 232 922 +3 733 233 926 +3 393 236 938 +3 932 904 399 +3 724 240 954 +3 948 917 731 +3 445 244 970 +3 516 245 974 +3 409 248 986 +3 557 249 990 +3 436 252 1002 +3 996 968 443 +3 548 256 1018 +3 1012 981 555 +3 477 260 1034 +3 617 261 1038 +3 489 264 1050 +3 605 265 1054 +3 468 268 1066 +3 1060 1032 475 +3 596 272 1082 +3 1076 1045 603 +3 493 276 1098 +3 665 277 1102 +3 452 280 1114 +3 701 281 1118 +3 484 284 1130 +3 1124 1096 491 +3 692 288 1146 +3 1140 1109 699 +3 465 292 1162 +3 537 293 1166 +3 505 296 1178 +3 573 297 1182 +3 457 300 1194 +3 1188 1160 463 +3 564 304 1210 +3 1204 1173 571 +3 509 308 1226 +3 761 309 1230 +3 473 312 1242 +3 721 313 1246 +3 500 316 1258 +3 1252 1224 507 +3 713 320 1274 +3 1268 1237 719 +3 541 324 1290 +3 697 325 1294 +3 553 328 1306 +3 657 329 1310 +3 532 332 1322 +3 1316 1288 539 +3 649 336 1338 +3 1332 1301 655 +3 529 340 1354 +3 729 341 1358 +3 569 344 1370 +3 765 345 1374 +3 521 348 1386 +3 1380 1352 527 +3 756 352 1402 +3 1396 1365 763 +3 621 356 1418 +3 708 357 1422 +3 580 360 1434 +3 749 361 1438 +3 612 364 1450 +3 1444 1416 619 +3 740 368 1466 +3 1460 1429 747 +3 637 372 1482 +3 681 373 1486 +3 601 376 1498 +3 669 377 1502 +3 628 380 1514 +3 1508 1480 635 +3 660 384 1530 +3 1524 1493 667 +3 860 100 396 +3 389 98 900 +3 872 106 420 +3 940 101 400 +3 395 218 866 +3 880 99 392 +3 399 903 930 +3 908 98 389 +3 812 104 412 +3 1000 110 436 +3 408 103 772 +3 988 105 416 +3 411 775 802 +3 780 103 408 +3 415 250 994 +3 1008 102 405 +3 876 108 428 +3 808 102 404 +3 424 107 836 +3 796 109 432 +3 427 839 866 +3 844 107 424 +3 431 202 802 +3 816 106 421 +3 1004 112 444 +3 936 99 393 +3 440 111 964 +3 924 113 448 +3 443 967 994 +3 972 111 440 +3 447 234 930 +3 944 110 437 +3 1116 116 460 +3 453 114 1156 +3 1128 122 484 +3 1196 117 464 +3 459 282 1122 +3 1136 115 456 +3 463 1159 1186 +3 1164 114 453 +3 1068 120 476 +3 1256 126 500 +3 472 119 1028 +3 1244 121 480 +3 475 1031 1058 +3 1036 119 472 +3 479 314 1250 +3 1264 118 469 +3 1132 124 492 +3 1064 118 468 +3 488 123 1092 +3 1052 125 496 +3 491 1095 1122 +3 1100 123 488 +3 495 266 1058 +3 1072 122 485 +3 1260 128 508 +3 1192 115 457 +3 504 127 1220 +3 1180 129 512 +3 507 1223 1250 +3 1228 127 504 +3 511 298 1186 +3 1200 126 501 +3 976 132 524 +3 517 130 1348 +3 1016 138 548 +3 1388 133 528 +3 523 254 1010 +3 1024 131 520 +3 527 1351 1378 +3 1356 130 517 +3 1324 136 540 +3 1208 142 564 +3 536 135 1284 +3 1168 137 544 +3 539 1287 1314 +3 1292 135 536 +3 543 302 1202 +3 1216 134 533 +3 1020 140 556 +3 1320 134 532 +3 552 139 985 +3 1308 141 560 +3 555 978 1010 +3 992 139 552 +3 559 330 1314 +3 1328 138 549 +3 1212 144 572 +3 1384 131 521 +3 568 143 1177 +3 1372 145 576 +3 571 1170 1202 +3 1184 143 568 +3 575 346 1378 +3 1392 142 565 +3 1436 148 588 +3 581 146 857 +3 1448 154 612 +3 892 149 592 +3 587 362 1442 +3 1456 147 584 +3 591 850 882 +3 864 146 581 +3 1084 152 604 +3 1512 158 628 +3 600 151 1049 +3 1500 153 608 +3 603 1042 1074 +3 1056 151 600 +3 607 378 1506 +3 1520 150 597 +3 1452 156 620 +3 1080 150 596 +3 616 155 1412 +3 1040 157 624 +3 619 1415 1442 +3 1420 155 616 +3 623 270 1074 +3 1088 154 613 +3 1516 160 636 +3 888 147 585 +3 632 159 1476 +3 848 161 640 +3 635 1479 1506 +3 1484 159 632 +3 639 222 882 +3 896 158 629 +3 784 164 652 +3 645 162 1305 +3 824 170 676 +3 1340 165 656 +3 651 206 818 +3 832 163 648 +3 655 1298 1330 +3 1312 162 645 +3 1532 168 668 +3 1144 174 692 +3 664 167 1497 +3 1104 169 672 +3 667 1490 1522 +3 1504 167 664 +3 671 286 1138 +3 1152 166 661 +3 828 172 684 +3 1528 166 660 +3 680 171 793 +3 1488 173 688 +3 683 786 818 +3 800 171 680 +3 687 382 1522 +3 1536 170 677 +3 1148 176 700 +3 1336 163 649 +3 696 175 1113 +3 1296 177 704 +3 699 1106 1138 +3 1120 175 696 +3 703 334 1330 +3 1344 174 693 +3 1424 180 716 +3 709 178 1241 +3 1464 186 740 +3 1276 181 720 +3 715 366 1458 +3 1472 179 712 +3 719 1234 1266 +3 1248 178 709 +3 956 184 732 +3 1400 190 756 +3 728 183 921 +3 1360 185 736 +3 731 914 946 +3 928 183 728 +3 735 350 1394 +3 1408 182 725 +3 1468 188 748 +3 952 182 724 +3 744 187 1433 +3 912 189 752 +3 747 1426 1458 +3 1440 187 744 +3 751 238 946 +3 960 186 741 +3 1404 192 764 +3 1272 179 713 +3 760 191 1369 +3 1232 193 768 +3 763 1362 1394 +3 1376 191 760 +3 767 318 1266 +3 1280 190 757 +3 772 770 194 +3 773 162 644 +3 781 196 413 +3 821 206 651 +3 410 27 779 +3 196 779 780 +3 644 162 785 +3 197 783 784 +3 805 202 431 +3 801 201 685 +3 792 107 425 +3 793 791 199 +3 425 107 797 +3 200 795 796 +3 682 44 799 +3 201 799 800 +3 433 205 814 +3 202 803 804 +3 418 8 807 +3 203 807 808 +3 404 102 813 +3 204 811 812 +3 430 28 815 +3 205 815 816 +3 653 209 830 +3 206 819 820 +3 648 163 825 +3 207 823 824 +3 676 170 829 +3 208 827 828 +3 650 42 831 +3 209 831 832 +3 836 834 210 +3 837 159 633 +3 845 212 429 +3 885 222 639 +3 426 28 843 +3 212 843 844 +3 633 159 849 +3 213 847 848 +3 869 218 395 +3 865 217 593 +3 856 98 388 +3 857 855 215 +3 388 98 861 +3 216 859 860 +3 590 38 863 +3 217 863 864 +3 397 221 878 +3 218 867 868 +3 392 99 873 +3 219 871 872 +3 420 106 877 +3 220 875 876 +3 394 26 879 +3 221 879 880 +3 641 225 894 +3 222 883 884 +3 626 11 887 +3 223 887 888 +3 585 147 893 +3 224 891 892 +3 638 41 895 +3 225 895 896 +3 900 898 226 +3 901 187 745 +3 909 228 401 +3 949 238 751 +3 398 26 907 +3 228 907 908 +3 745 187 913 +3 229 911 912 +3 933 234 447 +3 929 233 733 +3 920 111 441 +3 921 919 231 +3 441 111 925 +3 232 923 924 +3 730 47 927 +3 233 927 928 +3 449 237 942 +3 234 931 932 +3 434 8 935 +3 235 935 936 +3 393 99 941 +3 236 939 940 +3 446 29 943 +3 237 943 944 +3 753 241 958 +3 238 947 948 +3 738 13 951 +3 239 951 952 +3 724 182 957 +3 240 955 956 +3 750 48 959 +3 241 959 960 +3 964 962 242 +3 965 130 516 +3 973 244 445 +3 1013 254 523 +3 442 29 971 +3 244 971 972 +3 516 130 977 +3 245 975 976 +3 997 250 415 +3 993 249 557 +3 984 103 409 +3 985 983 247 +3 409 103 989 +3 248 987 988 +3 554 36 991 +3 249 991 992 +3 417 253 1006 +3 250 995 996 +3 405 102 1001 +3 251 999 1000 +3 436 110 1005 +3 252 1003 1004 +3 414 27 1007 +3 253 1007 1008 +3 525 257 1022 +3 254 1011 1012 +3 520 131 1017 +3 255 1015 1016 +3 548 138 1021 +3 256 1019 1020 +3 522 34 1023 +3 257 1023 1024 +3 1028 1026 258 +3 1029 155 617 +3 1037 260 477 +3 1077 270 623 +3 474 31 1035 +3 260 1035 1036 +3 617 155 1041 +3 261 1039 1040 +3 1061 266 495 +3 1057 265 605 +3 1048 123 489 +3 1049 1047 263 +3 489 123 1053 +3 264 1051 1052 +3 602 39 1055 +3 265 1055 1056 +3 497 269 1070 +3 266 1059 1060 +3 482 9 1063 +3 267 1063 1064 +3 468 118 1069 +3 268 1067 1068 +3 494 32 1071 +3 269 1071 1072 +3 625 273 1086 +3 270 1075 1076 +3 610 11 1079 +3 271 1079 1080 +3 596 150 1085 +3 272 1083 1084 +3 622 40 1087 +3 273 1087 1088 +3 1092 1090 274 +3 1093 167 665 +3 1101 276 493 +3 1141 286 671 +3 490 32 1099 +3 276 1099 1100 +3 665 167 1105 +3 277 1103 1104 +3 1125 282 459 +3 1121 281 701 +3 1112 114 452 +3 1113 1111 279 +3 452 114 1117 +3 280 1115 1116 +3 698 45 1119 +3 281 1119 1120 +3 461 285 1134 +3 282 1123 1124 +3 456 115 1129 +3 283 1127 1128 +3 484 122 1133 +3 284 1131 1132 +3 458 30 1135 +3 285 1135 1136 +3 673 289 1150 +3 286 1139 1140 +3 661 166 1145 +3 287 1143 1144 +3 692 174 1149 +3 288 1147 1148 +3 670 43 1151 +3 289 1151 1152 +3 1156 1154 290 +3 1157 135 537 +3 1165 292 465 +3 1205 302 543 +3 462 30 1163 +3 292 1163 1164 +3 537 135 1169 +3 293 1167 1168 +3 1189 298 511 +3 1185 297 573 +3 1176 127 505 +3 1177 1175 295 +3 505 127 1181 +3 296 1179 1180 +3 570 37 1183 +3 297 1183 1184 +3 513 301 1198 +3 298 1187 1188 +3 498 9 1191 +3 299 1191 1192 +3 457 115 1197 +3 300 1195 1196 +3 510 33 1199 +3 301 1199 1200 +3 545 305 1214 +3 302 1203 1204 +3 533 134 1209 +3 303 1207 1208 +3 564 142 1213 +3 304 1211 1212 +3 542 35 1215 +3 305 1215 1216 +3 1220 1218 306 +3 1221 191 761 +3 1229 308 509 +3 1269 318 767 +3 506 33 1227 +3 308 1227 1228 +3 761 191 1233 +3 309 1231 1232 +3 1253 314 479 +3 1249 313 721 +3 1240 119 473 +3 1241 1239 311 +3 473 119 1245 +3 312 1243 1244 +3 718 46 1247 +3 313 1247 1248 +3 481 317 1262 +3 314 1251 1252 +3 469 118 1257 +3 315 1255 1256 +3 500 126 1261 +3 316 1259 1260 +3 478 31 1263 +3 317 1263 1264 +3 769 321 1278 +3 318 1267 1268 +3 754 13 1271 +3 319 1271 1272 +3 713 179 1277 +3 320 1275 1276 +3 766 49 1279 +3 321 1279 1280 +3 1284 1282 322 +3 1285 175 697 +3 1293 324 541 +3 1333 334 703 +3 538 35 1291 +3 324 1291 1292 +3 697 175 1297 +3 325 1295 1296 +3 1317 330 559 +3 1313 329 657 +3 1304 139 553 +3 1305 1303 327 +3 553 139 1309 +3 328 1307 1308 +3 654 42 1311 +3 329 1311 1312 +3 561 333 1326 +3 330 1315 1316 +3 546 10 1319 +3 331 1319 1320 +3 532 134 1325 +3 332 1323 1324 +3 558 36 1327 +3 333 1327 1328 +3 705 337 1342 +3 334 1331 1332 +3 690 12 1335 +3 335 1335 1336 +3 649 163 1341 +3 336 1339 1340 +3 702 45 1343 +3 337 1343 1344 +3 1348 1346 338 +3 1349 183 729 +3 1357 340 529 +3 1397 350 735 +3 526 34 1355 +3 340 1355 1356 +3 729 183 1361 +3 341 1359 1360 +3 1381 346 575 +3 1377 345 765 +3 1368 143 569 +3 1369 1367 343 +3 569 143 1373 +3 344 1371 1372 +3 762 49 1375 +3 345 1375 1376 +3 577 349 1390 +3 346 1379 1380 +3 562 10 1383 +3 347 1383 1384 +3 521 131 1389 +3 348 1387 1388 +3 574 37 1391 +3 349 1391 1392 +3 737 353 1406 +3 350 1395 1396 +3 725 182 1401 +3 351 1399 1400 +3 756 190 1405 +3 352 1403 1404 +3 734 47 1407 +3 353 1407 1408 +3 1412 1410 354 +3 1413 178 708 +3 1421 356 621 +3 1461 366 715 +3 618 40 1419 +3 356 1419 1420 +3 708 178 1425 +3 357 1423 1424 +3 1445 362 587 +3 1441 361 749 +3 1432 146 580 +3 1433 1431 359 +3 580 146 1437 +3 360 1435 1436 +3 746 48 1439 +3 361 1439 1440 +3 589 365 1454 +3 362 1443 1444 +3 584 147 1449 +3 363 1447 1448 +3 612 154 1453 +3 364 1451 1452 +3 586 38 1455 +3 365 1455 1456 +3 717 369 1470 +3 366 1459 1460 +3 712 179 1465 +3 367 1463 1464 +3 740 186 1469 +3 368 1467 1468 +3 714 46 1471 +3 369 1471 1472 +3 1476 1474 370 +3 1477 171 681 +3 1485 372 637 +3 1525 382 687 +3 634 41 1483 +3 372 1483 1484 +3 681 171 1489 +3 373 1487 1488 +3 1509 378 607 +3 1505 377 669 +3 1496 151 601 +3 1497 1495 375 +3 601 151 1501 +3 376 1499 1500 +3 666 43 1503 +3 377 1503 1504 +3 609 381 1518 +3 378 1507 1508 +3 597 150 1513 +3 379 1511 1512 +3 628 158 1517 +3 380 1515 1516 +3 606 39 1519 +3 381 1519 1520 +3 689 385 1534 +3 382 1523 1524 +3 674 12 1527 +3 383 1527 1528 +3 660 166 1533 +3 384 1531 1532 +3 686 44 1535 +3 385 1535 1536 +3 861 216 388 +3 900 856 386 +3 879 221 394 +3 900 226 389 +3 858 55 854 +3 387 859 861 +3 899 58 906 +3 98 856 900 +3 873 219 392 +3 907 228 398 +3 807 203 418 +3 941 236 393 +3 874 867 56 +3 391 871 873 +3 60 931 942 +3 99 880 941 +3 852 851 396 +3 390 939 941 +3 866 15 850 +3 397 218 869 +3 851 55 858 +3 395 214 852 +3 428 108 868 +3 100 860 881 +3 904 101 909 +3 26 859 907 +3 903 16 930 +3 401 227 904 +3 60 934 938 +3 904 227 399 +3 906 58 902 +3 932 931 400 +3 813 204 404 +3 935 235 434 +3 779 196 410 +3 1001 251 405 +3 52 803 814 +3 403 811 813 +3 1002 995 64 +3 102 808 1001 +3 772 194 408 +3 1007 253 414 +3 984 983 407 +3 989 248 409 +3 771 50 778 +3 407 770 772 +3 986 63 982 +3 103 780 989 +3 776 104 781 +3 406 987 989 +3 775 14 802 +3 413 195 776 +3 52 806 810 +3 776 195 411 +3 778 50 774 +3 804 803 412 +3 980 979 416 +3 27 811 1007 +3 994 17 978 +3 417 250 997 +3 979 63 986 +3 415 246 980 +3 444 112 996 +3 105 988 1009 +3 421 205 816 +3 402 999 1001 +3 430 205 817 +3 809 806 421 +3 56 867 878 +3 816 815 419 +3 810 803 52 +3 877 220 420 +3 425 199 792 +3 815 205 430 +3 836 792 423 +3 797 200 425 +3 835 54 842 +3 792 791 423 +3 794 51 790 +3 836 210 424 +3 840 108 845 +3 844 843 422 +3 839 15 866 +3 429 211 840 +3 56 870 874 +3 840 211 427 +3 842 54 838 +3 868 867 428 +3 788 787 432 +3 843 212 426 +3 802 14 786 +3 433 202 805 +3 787 51 794 +3 431 198 788 +3 412 104 804 +3 109 796 817 +3 437 237 944 +3 8 871 935 +3 446 237 945 +3 937 934 437 +3 64 995 1006 +3 944 943 435 +3 938 931 60 +3 1005 252 436 +3 441 231 920 +3 943 237 446 +3 964 920 439 +3 925 232 441 +3 963 62 970 +3 920 919 439 +3 922 59 918 +3 964 242 440 +3 968 112 973 +3 972 971 438 +3 967 17 994 +3 445 243 968 +3 64 998 1002 +3 968 243 443 +3 970 62 966 +3 996 995 444 +3 916 915 448 +3 971 244 442 +3 930 16 914 +3 449 234 933 +3 915 59 922 +3 447 230 916 +3 400 101 932 +3 113 924 945 +3 1117 280 452 +3 1156 1112 450 +3 1135 285 458 +3 1156 290 453 +3 1114 71 1110 +3 451 1115 1117 +3 1155 74 1162 +3 114 1112 1156 +3 1129 283 456 +3 1163 292 462 +3 1063 267 482 +3 1197 300 457 +3 1130 1123 72 +3 455 1127 1129 +3 76 1187 1198 +3 115 1136 1197 +3 1108 1107 460 +3 454 1195 1197 +3 1122 19 1106 +3 461 282 1125 +3 1107 71 1114 +3 459 278 1108 +3 492 124 1124 +3 116 1116 1137 +3 1160 117 1165 +3 30 1115 1163 +3 1159 20 1186 +3 465 291 1160 +3 76 1190 1194 +3 1160 291 463 +3 1162 74 1158 +3 1188 1187 464 +3 1069 268 468 +3 1191 299 498 +3 1035 260 474 +3 1257 315 469 +3 68 1059 1070 +3 467 1067 1069 +3 1258 1251 80 +3 118 1064 1257 +3 1028 258 472 +3 1263 317 478 +3 1240 1239 471 +3 1245 312 473 +3 1027 66 1034 +3 471 1026 1028 +3 1242 79 1238 +3 119 1036 1245 +3 1032 120 1037 +3 470 1243 1245 +3 1031 18 1058 +3 477 259 1032 +3 68 1062 1066 +3 1032 259 475 +3 1034 66 1030 +3 1060 1059 476 +3 1236 1235 480 +3 31 1067 1263 +3 1250 21 1234 +3 481 314 1253 +3 1235 79 1242 +3 479 310 1236 +3 508 128 1252 +3 121 1244 1265 +3 485 269 1072 +3 466 1255 1257 +3 494 269 1073 +3 1065 1062 485 +3 72 1123 1134 +3 1072 1071 483 +3 1066 1059 68 +3 1133 284 484 +3 489 263 1048 +3 1071 269 494 +3 1092 1048 487 +3 1053 264 489 +3 1091 70 1098 +3 1048 1047 487 +3 1050 67 1046 +3 1092 274 488 +3 1096 124 1101 +3 1100 1099 486 +3 1095 19 1122 +3 493 275 1096 +3 72 1126 1130 +3 1096 275 491 +3 1098 70 1094 +3 1124 1123 492 +3 1044 1043 496 +3 1099 276 490 +3 1058 18 1042 +3 497 266 1061 +3 1043 67 1050 +3 495 262 1044 +3 476 120 1060 +3 125 1052 1073 +3 501 301 1200 +3 9 1127 1191 +3 510 301 1201 +3 1193 1190 501 +3 80 1251 1262 +3 1200 1199 499 +3 1194 1187 76 +3 1261 316 500 +3 505 295 1176 +3 1199 301 510 +3 1220 1176 503 +3 1181 296 505 +3 1219 78 1226 +3 1176 1175 503 +3 1178 75 1174 +3 1220 306 504 +3 1224 128 1229 +3 1228 1227 502 +3 1223 21 1250 +3 509 307 1224 +3 80 1254 1258 +3 1224 307 507 +3 1226 78 1222 +3 1252 1251 508 +3 1172 1171 512 +3 1227 308 506 +3 1186 20 1170 +3 513 298 1189 +3 1171 75 1178 +3 511 294 1172 +3 464 117 1188 +3 129 1180 1201 +3 977 245 516 +3 1348 965 514 +3 1023 257 522 +3 1348 338 517 +3 974 62 963 +3 515 975 977 +3 1347 86 1354 +3 130 965 1348 +3 1017 255 520 +3 1355 340 526 +3 1319 331 546 +3 1389 348 521 +3 1018 1011 65 +3 519 1015 1017 +3 88 1379 1390 +3 131 1024 1389 +3 969 966 524 +3 518 1387 1389 +3 1010 17 967 +3 525 254 1013 +3 966 62 974 +3 523 243 969 +3 556 140 1012 +3 132 976 1025 +3 1352 133 1357 +3 34 975 1355 +3 1351 23 1378 +3 529 339 1352 +3 88 1382 1386 +3 1352 339 527 +3 1354 86 1350 +3 1380 1379 528 +3 533 305 1216 +3 1383 347 562 +3 542 305 1217 +3 1209 303 533 +3 84 1315 1326 +3 1216 1215 531 +3 1210 1203 77 +3 1325 332 532 +3 537 290 1157 +3 1215 305 542 +3 1284 1157 535 +3 1169 293 537 +3 1283 82 1290 +3 1157 1154 535 +3 1166 74 1155 +3 1284 322 536 +3 1288 136 1293 +3 1292 1291 534 +3 1287 22 1314 +3 541 323 1288 +3 84 1318 1322 +3 1288 323 539 +3 1290 82 1286 +3 1316 1315 540 +3 1161 1158 544 +3 1291 324 538 +3 1202 20 1159 +3 545 302 1205 +3 1158 74 1166 +3 543 291 1161 +3 572 144 1204 +3 137 1168 1217 +3 1021 256 548 +3 1320 1319 530 +3 991 249 554 +3 1321 1318 549 +3 65 1011 1022 +3 547 1019 1021 +3 1322 1315 84 +3 138 1016 1321 +3 985 247 552 +3 1327 333 558 +3 1304 1303 551 +3 1309 328 553 +3 982 63 990 +3 551 983 985 +3 1306 83 1302 +3 139 992 1309 +3 981 140 993 +3 550 1307 1309 +3 978 17 1010 +3 557 246 981 +3 65 1014 1018 +3 981 246 555 +3 990 63 979 +3 1012 1011 556 +3 1300 1299 560 +3 36 1019 1327 +3 1314 22 1298 +3 561 330 1317 +3 1299 83 1306 +3 559 326 1300 +3 540 136 1316 +3 141 1308 1329 +3 1213 304 564 +3 10 1015 1383 +3 1183 297 570 +3 1385 1382 565 +3 77 1203 1214 +3 563 1211 1213 +3 1386 1379 88 +3 142 1208 1385 +3 1177 295 568 +3 1391 349 574 +3 1368 1367 567 +3 1373 344 569 +3 1174 75 1182 +3 567 1175 1177 +3 1370 87 1366 +3 143 1184 1373 +3 1173 144 1185 +3 566 1371 1373 +3 1170 20 1202 +3 573 294 1173 +3 77 1206 1210 +3 1173 294 571 +3 1182 75 1171 +3 1204 1203 572 +3 1364 1363 576 +3 37 1211 1391 +3 1378 23 1362 +3 577 346 1381 +3 1363 87 1370 +3 575 342 1364 +3 528 133 1380 +3 145 1372 1393 +3 581 217 864 +3 1432 1431 578 +3 590 865 892 +3 857 215 581 +3 1434 91 1430 +3 864 863 579 +3 854 55 862 +3 1437 360 580 +3 585 223 888 +3 863 217 590 +3 626 889 1512 +3 893 224 585 +3 1450 1443 92 +3 888 887 583 +3 57 883 894 +3 1449 363 584 +3 1428 1427 588 +3 1456 1455 582 +3 1442 24 1426 +3 589 362 1445 +3 1427 91 1434 +3 587 358 1428 +3 620 156 1444 +3 148 1436 1457 +3 853 149 865 +3 1455 365 586 +3 850 15 882 +3 593 214 853 +3 57 886 890 +3 853 214 591 +3 862 55 851 +3 884 883 592 +3 1085 272 596 +3 887 223 626 +3 1055 265 602 +3 1513 379 597 +3 69 1075 1086 +3 595 1083 1085 +3 1514 1507 96 +3 150 1080 1513 +3 1049 263 600 +3 1519 381 606 +3 1496 1495 599 +3 1501 376 601 +3 1046 67 1054 +3 599 1047 1049 +3 1498 95 1494 +3 151 1056 1501 +3 1045 152 1057 +3 598 1499 1501 +3 1042 18 1074 +3 605 262 1045 +3 69 1078 1082 +3 1045 262 603 +3 1054 67 1043 +3 1076 1075 604 +3 1492 1491 608 +3 39 1083 1519 +3 1506 25 1490 +3 609 378 1509 +3 1491 95 1498 +3 607 374 1492 +3 636 160 1508 +3 153 1500 1521 +3 613 273 1088 +3 594 1511 1513 +3 622 273 1089 +3 1081 1078 613 +3 92 1443 1454 +3 1088 1087 611 +3 1082 1075 69 +3 1453 364 612 +3 617 258 1029 +3 1087 273 622 +3 1412 1029 615 +3 1041 261 617 +3 1411 90 1418 +3 1029 1026 615 +3 1038 66 1027 +3 1412 354 616 +3 1416 156 1421 +3 1420 1419 614 +3 1415 24 1442 +3 621 355 1416 +3 92 1446 1450 +3 1416 355 619 +3 1418 90 1414 +3 1444 1443 620 +3 1033 1030 624 +3 1419 356 618 +3 1074 18 1031 +3 625 270 1077 +3 1030 66 1038 +3 623 259 1033 +3 604 152 1076 +3 157 1040 1089 +3 629 225 896 +3 1079 271 610 +3 638 225 897 +3 889 886 629 +3 96 1507 1518 +3 896 895 627 +3 890 883 57 +3 1517 380 628 +3 633 210 837 +3 895 225 638 +3 1476 837 631 +3 849 213 633 +3 1475 94 1482 +3 837 834 631 +3 846 54 835 +3 1476 370 632 +3 1480 160 1485 +3 1484 1483 630 +3 1479 25 1506 +3 637 371 1480 +3 96 1510 1514 +3 1480 371 635 +3 1482 94 1478 +3 1508 1507 636 +3 841 838 640 +3 1483 372 634 +3 882 15 839 +3 641 222 885 +3 838 54 846 +3 639 211 841 +3 592 149 884 +3 161 848 897 +3 785 197 644 +3 1305 773 642 +3 831 209 650 +3 1305 327 645 +3 782 50 771 +3 643 783 785 +3 1302 83 1310 +3 162 773 1305 +3 825 207 648 +3 1311 329 654 +3 1527 383 674 +3 1341 336 649 +3 826 819 53 +3 647 823 825 +3 85 1331 1342 +3 163 832 1341 +3 777 774 652 +3 646 1339 1341 +3 818 14 775 +3 653 206 821 +3 774 50 782 +3 651 195 777 +3 684 172 820 +3 164 784 833 +3 1301 165 1313 +3 42 783 1311 +3 1298 22 1330 +3 657 326 1301 +3 85 1334 1338 +3 1301 326 655 +3 1310 83 1299 +3 1332 1331 656 +3 661 289 1152 +3 1335 335 690 +3 670 289 1153 +3 1145 287 661 +3 97 1523 1534 +3 1152 1151 659 +3 1146 1139 73 +3 1533 384 660 +3 665 274 1093 +3 1151 289 670 +3 1497 1093 663 +3 1105 277 665 +3 1494 95 1502 +3 1093 1090 663 +3 1102 70 1091 +3 1497 375 664 +3 1493 168 1505 +3 1504 1503 662 +3 1490 25 1522 +3 669 374 1493 +3 97 1526 1530 +3 1493 374 667 +3 1502 95 1491 +3 1524 1523 668 +3 1097 1094 672 +3 1503 377 666 +3 1138 19 1095 +3 673 286 1141 +3 1094 70 1102 +3 671 275 1097 +3 700 176 1140 +3 169 1104 1153 +3 829 208 676 +3 1528 1527 658 +3 799 201 682 +3 1529 1526 677 +3 53 819 830 +3 675 827 829 +3 1530 1523 97 +3 170 824 1529 +3 793 199 680 +3 1535 385 686 +3 1477 1474 679 +3 1489 373 681 +3 790 51 798 +3 679 791 793 +3 1486 94 1475 +3 171 800 1489 +3 789 172 801 +3 678 1487 1489 +3 786 14 818 +3 685 198 789 +3 53 822 826 +3 789 198 683 +3 798 51 787 +3 820 819 684 +3 1481 1478 688 +3 44 827 1535 +3 1522 25 1479 +3 689 382 1525 +3 1478 94 1486 +3 687 371 1481 +3 668 168 1524 +3 173 1488 1537 +3 1149 288 692 +3 12 823 1335 +3 1119 281 698 +3 1337 1334 693 +3 73 1139 1150 +3 691 1147 1149 +3 1338 1331 85 +3 174 1144 1337 +3 1113 279 696 +3 1343 337 702 +3 1285 1282 695 +3 1297 325 697 +3 1110 71 1118 +3 695 1111 1113 +3 1294 82 1283 +3 175 1120 1297 +3 1109 176 1121 +3 694 1295 1297 +3 1106 19 1138 +3 701 278 1109 +3 73 1142 1146 +3 1109 278 699 +3 1118 71 1107 +3 1140 1139 700 +3 1289 1286 704 +3 45 1147 1343 +3 1330 22 1287 +3 705 334 1333 +3 1286 82 1294 +3 703 323 1289 +3 656 165 1332 +3 177 1296 1345 +3 709 313 1248 +3 1413 1410 706 +3 718 1249 1276 +3 1241 311 709 +3 1422 90 1411 +3 1248 1247 707 +3 1238 79 1246 +3 1425 357 708 +3 713 319 1272 +3 1247 313 718 +3 754 1273 1400 +3 1277 320 713 +3 1466 1459 93 +3 1272 1271 711 +3 81 1267 1278 +3 1465 367 712 +3 1417 1414 716 +3 1472 1471 710 +3 1458 24 1415 +3 717 366 1461 +3 1414 90 1422 +3 715 355 1417 +3 748 188 1460 +3 180 1424 1473 +3 1237 181 1249 +3 1471 369 714 +3 1234 21 1266 +3 721 310 1237 +3 81 1270 1274 +3 1237 310 719 +3 1246 79 1235 +3 1268 1267 720 +3 957 240 724 +3 1271 319 754 +3 927 233 730 +3 1401 351 725 +3 61 947 958 +3 723 955 957 +3 1402 1395 89 +3 182 952 1401 +3 921 231 728 +3 1407 353 734 +3 1349 1346 727 +3 1361 341 729 +3 918 59 926 +3 727 919 921 +3 1358 86 1347 +3 183 928 1361 +3 917 184 929 +3 726 1359 1361 +3 914 16 946 +3 733 230 917 +3 61 950 954 +3 917 230 731 +3 926 59 915 +3 948 947 732 +3 1353 1350 736 +3 47 955 1407 +3 1394 23 1351 +3 737 350 1397 +3 1350 86 1358 +3 735 339 1353 +3 764 192 1396 +3 185 1360 1409 +3 741 241 960 +3 722 1399 1401 +3 750 241 961 +3 953 950 741 +3 93 1459 1470 +3 960 959 739 +3 954 947 61 +3 1469 368 740 +3 745 226 901 +3 959 241 750 +3 1433 901 743 +3 913 229 745 +3 1430 91 1438 +3 901 898 743 +3 910 58 899 +3 1433 359 744 +3 1429 188 1441 +3 1440 1439 742 +3 1426 24 1458 +3 749 358 1429 +3 93 1462 1466 +3 1429 358 747 +3 1438 91 1427 +3 1460 1459 748 +3 905 902 752 +3 1439 361 746 +3 946 16 903 +3 753 238 949 +3 902 58 910 +3 751 227 905 +3 732 184 948 +3 189 912 961 +3 757 321 1280 +3 951 239 738 +3 766 321 1281 +3 1273 1270 757 +3 89 1395 1406 +3 1280 1279 755 +3 1274 1267 81 +3 1405 352 756 +3 761 306 1221 +3 1279 321 766 +3 1369 1221 759 +3 1233 309 761 +3 1366 87 1374 +3 1221 1218 759 +3 1230 78 1219 +3 1369 343 760 +3 1365 192 1377 +3 1376 1375 758 +3 1362 23 1394 +3 765 342 1365 +3 89 1398 1402 +3 1365 342 763 +3 1374 87 1363 +3 1396 1395 764 +3 1225 1222 768 +3 1375 345 762 +3 1266 21 1223 +3 769 318 1269 +3 1222 78 1230 +3 767 307 1225 +3 720 181 1268 +3 193 1232 1281 +3 407 3 770 +3 642 1303 1305 +3 408 194 771 +3 194 770 773 +3 408 196 780 +3 778 196 408 +3 645 329 1312 +3 770 3 642 +3 411 202 804 +3 652 164 777 +3 411 195 775 +3 195 774 777 +3 804 104 776 +3 802 202 411 +3 652 197 784 +3 782 197 652 +3 812 811 410 +3 774 195 413 +3 410 781 812 +3 413 776 781 +3 409 247 984 +3 989 780 406 +3 410 196 781 +3 778 774 413 +3 785 783 197 +3 771 194 644 +3 654 1313 1340 +3 643 785 1312 +3 821 164 833 +3 783 42 650 +3 644 194 773 +3 782 771 644 +3 198 787 788 +3 683 198 786 +3 432 109 788 +3 683 206 820 +3 432 200 796 +3 794 200 432 +3 820 172 789 +3 818 206 683 +3 199 791 792 +3 680 199 790 +3 423 834 836 +3 679 1 791 +3 836 107 792 +3 791 1 423 +3 680 201 800 +3 798 201 680 +3 797 795 200 +3 790 199 425 +3 843 28 795 +3 422 797 844 +3 805 109 817 +3 795 28 430 +3 422 795 797 +3 794 790 425 +3 828 827 682 +3 787 198 685 +3 682 801 828 +3 685 789 801 +3 681 370 1477 +3 1489 800 678 +3 682 201 801 +3 798 787 685 +3 817 205 433 +3 786 198 431 +3 814 806 52 +3 431 788 805 +3 412 204 812 +3 810 204 412 +3 788 109 805 +3 802 786 431 +3 872 871 418 +3 421 106 809 +3 418 809 872 +3 203 806 809 +3 405 253 1008 +3 1001 808 402 +3 418 203 809 +3 814 205 421 +3 813 811 204 +3 806 203 404 +3 414 253 1009 +3 403 813 1008 +3 812 781 104 +3 811 27 410 +3 404 203 808 +3 810 806 404 +3 817 796 430 +3 803 202 433 +3 419 875 877 +3 433 805 817 +3 877 106 816 +3 877 816 419 +3 796 795 430 +3 814 803 433 +3 833 209 653 +3 775 195 651 +3 830 822 53 +3 651 777 821 +3 684 208 828 +3 826 208 684 +3 777 164 821 +3 818 775 651 +3 825 823 207 +3 648 207 822 +3 690 335 1337 +3 647 825 1336 +3 677 385 1536 +3 823 12 674 +3 648 209 832 +3 830 209 648 +3 829 827 208 +3 822 207 676 +3 686 385 1537 +3 675 829 1536 +3 828 801 172 +3 827 44 682 +3 676 207 824 +3 826 822 676 +3 833 784 650 +3 819 206 653 +3 650 209 833 +3 653 821 833 +3 649 335 1336 +3 1341 832 646 +3 784 783 650 +3 830 819 653 +3 423 1 834 +3 631 1474 1476 +3 424 210 835 +3 210 834 837 +3 424 212 844 +3 842 212 424 +3 1476 159 837 +3 834 1 631 +3 427 218 868 +3 640 161 841 +3 427 211 839 +3 211 838 841 +3 868 108 840 +3 866 218 427 +3 640 213 848 +3 846 213 640 +3 876 875 426 +3 838 211 429 +3 426 845 876 +3 429 840 845 +3 844 797 107 +3 843 795 422 +3 426 212 845 +3 842 838 429 +3 849 847 213 +3 835 210 633 +3 1483 41 847 +3 630 849 1484 +3 885 161 897 +3 847 41 638 +3 630 847 849 +3 846 835 633 +3 214 851 852 +3 591 214 850 +3 396 100 852 +3 591 222 884 +3 396 216 860 +3 858 216 396 +3 884 149 853 +3 882 222 591 +3 215 855 856 +3 581 215 854 +3 386 898 900 +3 578 0 855 +3 389 228 908 +3 855 0 386 +3 578 855 857 +3 862 217 581 +3 861 859 216 +3 854 215 388 +3 398 909 940 +3 387 861 908 +3 869 100 881 +3 859 26 394 +3 388 215 856 +3 858 854 388 +3 892 891 590 +3 851 214 593 +3 579 1435 1437 +3 593 853 865 +3 1437 146 864 +3 1437 864 579 +3 590 217 865 +3 862 851 593 +3 881 221 397 +3 850 214 395 +3 878 870 56 +3 395 852 869 +3 428 220 876 +3 874 220 428 +3 852 100 869 +3 866 850 395 +3 873 871 219 +3 392 219 870 +3 434 937 1000 +3 391 873 936 +3 872 809 106 +3 871 8 418 +3 392 221 880 +3 878 221 392 +3 877 875 220 +3 870 219 420 +3 875 815 28 +3 419 815 875 +3 876 845 108 +3 875 28 426 +3 420 219 872 +3 874 870 420 +3 881 860 394 +3 867 218 397 +3 394 221 881 +3 397 869 881 +3 393 235 936 +3 941 880 390 +3 860 859 394 +3 878 867 397 +3 897 225 641 +3 839 211 639 +3 894 886 57 +3 639 841 885 +3 592 224 892 +3 890 224 592 +3 841 161 885 +3 882 839 639 +3 1512 1511 626 +3 629 158 889 +3 583 1447 1449 +3 223 886 889 +3 1449 147 888 +3 1449 888 583 +3 626 223 889 +3 894 225 629 +3 893 891 224 +3 886 223 585 +3 1455 38 891 +3 582 893 1456 +3 892 865 149 +3 891 38 590 +3 582 891 893 +3 890 886 585 +3 897 848 638 +3 883 222 641 +3 627 1515 1517 +3 641 885 897 +3 1517 158 896 +3 1517 896 627 +3 848 847 638 +3 894 883 641 +3 386 0 898 +3 743 1431 1433 +3 389 226 899 +3 226 898 901 +3 856 855 386 +3 906 228 389 +3 1433 187 901 +3 898 0 743 +3 399 234 932 +3 752 189 905 +3 399 227 903 +3 227 902 905 +3 932 101 904 +3 930 234 399 +3 752 229 912 +3 910 229 752 +3 940 939 398 +3 902 227 401 +3 908 907 387 +3 401 904 909 +3 861 98 908 +3 907 859 387 +3 398 228 909 +3 906 902 401 +3 913 911 229 +3 899 226 745 +3 1439 48 911 +3 742 913 1440 +3 949 189 961 +3 911 48 750 +3 742 911 913 +3 910 899 745 +3 230 915 916 +3 731 230 914 +3 448 113 916 +3 731 238 948 +3 448 232 924 +3 922 232 448 +3 948 184 917 +3 946 238 731 +3 231 919 920 +3 728 231 918 +3 439 962 964 +3 727 2 919 +3 964 111 920 +3 919 2 439 +3 728 233 928 +3 926 233 728 +3 925 923 232 +3 918 231 441 +3 971 29 923 +3 438 925 972 +3 933 113 945 +3 923 29 446 +3 438 923 925 +3 922 918 441 +3 956 955 730 +3 915 230 733 +3 730 929 956 +3 733 917 929 +3 729 338 1349 +3 1361 928 726 +3 730 233 929 +3 926 915 733 +3 945 237 449 +3 914 230 447 +3 942 934 60 +3 447 916 933 +3 400 236 940 +3 938 236 400 +3 916 113 933 +3 930 914 447 +3 1000 999 434 +3 437 110 937 +3 936 935 391 +3 235 934 937 +3 873 99 936 +3 935 871 391 +3 434 235 937 +3 942 237 437 +3 941 939 236 +3 934 235 393 +3 879 26 939 +3 390 879 939 +3 940 909 101 +3 939 26 398 +3 880 879 390 +3 938 934 393 +3 945 924 446 +3 931 234 449 +3 435 1003 1005 +3 449 933 945 +3 1005 110 944 +3 1005 944 435 +3 924 923 446 +3 942 931 449 +3 961 241 753 +3 903 227 751 +3 958 950 61 +3 751 905 949 +3 732 240 956 +3 954 240 732 +3 905 189 949 +3 946 903 751 +3 1464 1463 738 +3 741 186 953 +3 738 953 1464 +3 239 950 953 +3 725 353 1408 +3 1401 952 722 +3 738 239 953 +3 958 241 741 +3 957 955 240 +3 950 239 724 +3 734 353 1409 +3 723 957 1408 +3 956 929 184 +3 955 47 730 +3 724 239 952 +3 954 950 724 +3 961 912 750 +3 947 238 753 +3 739 1467 1469 +3 753 949 961 +3 1469 186 960 +3 1469 960 739 +3 912 911 750 +3 958 947 753 +3 439 2 962 +3 514 1346 1348 +3 440 242 963 +3 242 962 965 +3 440 244 972 +3 970 244 440 +3 517 340 1356 +3 962 2 514 +3 443 250 996 +3 524 132 969 +3 443 243 967 +3 243 966 969 +3 996 112 968 +3 994 250 443 +3 524 245 976 +3 974 245 524 +3 1004 1003 442 +3 966 243 445 +3 442 973 1004 +3 445 968 973 +3 972 925 111 +3 971 923 438 +3 442 244 973 +3 970 966 445 +3 977 975 245 +3 963 242 516 +3 526 1357 1388 +3 515 977 1356 +3 1013 132 1025 +3 975 34 522 +3 516 242 965 +3 974 963 516 +3 246 979 980 +3 555 246 978 +3 416 105 980 +3 555 254 1012 +3 416 248 988 +3 986 248 416 +3 1012 140 981 +3 1010 254 555 +3 247 983 984 +3 552 247 982 +3 407 772 984 +3 551 3 983 +3 772 103 984 +3 983 3 407 +3 552 249 992 +3 990 249 552 +3 989 987 248 +3 982 247 409 +3 779 27 987 +3 406 779 987 +3 997 105 1009 +3 987 27 414 +3 780 779 406 +3 986 982 409 +3 1020 1019 554 +3 979 246 557 +3 554 993 1020 +3 557 981 993 +3 553 327 1304 +3 1309 992 550 +3 554 249 993 +3 990 979 557 +3 1009 253 417 +3 978 246 415 +3 1006 998 64 +3 415 980 997 +3 444 252 1004 +3 1002 252 444 +3 980 105 997 +3 994 978 415 +3 1001 999 251 +3 405 251 998 +3 807 8 999 +3 402 807 999 +3 1000 937 110 +3 999 8 434 +3 808 807 402 +3 1006 253 405 +3 1005 1003 252 +3 998 251 436 +3 1003 943 29 +3 435 943 1003 +3 1004 973 112 +3 1003 29 442 +3 436 251 1000 +3 1002 998 436 +3 1009 988 414 +3 995 250 417 +3 1008 1007 403 +3 417 997 1009 +3 813 102 1008 +3 1007 811 403 +3 988 987 414 +3 1006 995 417 +3 1025 257 525 +3 967 243 523 +3 1022 1014 65 +3 523 969 1013 +3 556 256 1020 +3 1018 256 556 +3 969 132 1013 +3 1010 967 523 +3 1017 1015 255 +3 520 255 1014 +3 562 347 1385 +3 519 1017 1384 +3 549 333 1328 +3 1015 10 546 +3 520 257 1024 +3 1022 257 520 +3 1021 1019 256 +3 1014 255 548 +3 558 333 1329 +3 547 1021 1328 +3 1020 993 140 +3 1019 36 554 +3 548 255 1016 +3 1018 1014 548 +3 1025 976 522 +3 1011 254 525 +3 522 257 1025 +3 525 1013 1025 +3 521 347 1384 +3 1389 1024 518 +3 976 975 522 +3 1022 1011 525 +3 471 4 1026 +3 615 1410 1412 +3 472 258 1027 +3 258 1026 1029 +3 472 260 1036 +3 1034 260 472 +3 1412 155 1029 +3 1026 4 615 +3 475 266 1060 +3 624 157 1033 +3 475 259 1031 +3 259 1030 1033 +3 1060 120 1032 +3 1058 266 475 +3 624 261 1040 +3 1038 261 624 +3 1068 1067 474 +3 1030 259 477 +3 474 1037 1068 +3 477 1032 1037 +3 473 311 1240 +3 1245 1036 470 +3 474 260 1037 +3 1034 1030 477 +3 1041 1039 261 +3 1027 258 617 +3 1419 40 1039 +3 614 1041 1420 +3 1077 157 1089 +3 1039 40 622 +3 614 1039 1041 +3 1038 1027 617 +3 262 1043 1044 +3 603 262 1042 +3 496 125 1044 +3 603 270 1076 +3 496 264 1052 +3 1050 264 496 +3 1076 152 1045 +3 1074 270 603 +3 263 1047 1048 +3 600 263 1046 +3 487 1090 1092 +3 599 5 1047 +3 1092 123 1048 +3 1047 5 487 +3 600 265 1056 +3 1054 265 600 +3 1053 1051 264 +3 1046 263 489 +3 1099 32 1051 +3 486 1053 1100 +3 1061 125 1073 +3 1051 32 494 +3 486 1051 1053 +3 1050 1046 489 +3 1084 1083 602 +3 1043 262 605 +3 602 1057 1084 +3 605 1045 1057 +3 601 375 1496 +3 1501 1056 598 +3 602 265 1057 +3 1054 1043 605 +3 1073 269 497 +3 1042 262 495 +3 1070 1062 68 +3 495 1044 1061 +3 476 268 1068 +3 1066 268 476 +3 1044 125 1061 +3 1058 1042 495 +3 1128 1127 482 +3 485 122 1065 +3 482 1065 1128 +3 267 1062 1065 +3 469 317 1264 +3 1257 1064 466 +3 482 267 1065 +3 1070 269 485 +3 1069 1067 268 +3 1062 267 468 +3 478 317 1265 +3 467 1069 1264 +3 1068 1037 120 +3 1067 31 474 +3 468 267 1064 +3 1066 1062 468 +3 1073 1052 494 +3 1059 266 497 +3 483 1131 1133 +3 497 1061 1073 +3 1133 122 1072 +3 1133 1072 483 +3 1052 1051 494 +3 1070 1059 497 +3 1089 273 625 +3 1031 259 623 +3 1086 1078 69 +3 623 1033 1077 +3 604 272 1084 +3 1082 272 604 +3 1033 157 1077 +3 1074 1031 623 +3 1448 1447 610 +3 613 154 1081 +3 610 1081 1448 +3 271 1078 1081 +3 597 381 1520 +3 1513 1080 594 +3 610 271 1081 +3 1086 273 613 +3 1085 1083 272 +3 1078 271 596 +3 606 381 1521 +3 595 1085 1520 +3 1084 1057 152 +3 1083 39 602 +3 596 271 1080 +3 1082 1078 596 +3 1089 1040 622 +3 1075 270 625 +3 611 1451 1453 +3 625 1077 1089 +3 1453 154 1088 +3 1453 1088 611 +3 1040 1039 622 +3 1086 1075 625 +3 487 5 1090 +3 663 1495 1497 +3 488 274 1091 +3 274 1090 1093 +3 488 276 1100 +3 1098 276 488 +3 1497 167 1093 +3 1090 5 663 +3 491 282 1124 +3 672 169 1097 +3 491 275 1095 +3 275 1094 1097 +3 1124 124 1096 +3 1122 282 491 +3 672 277 1104 +3 1102 277 672 +3 1132 1131 490 +3 1094 275 493 +3 490 1101 1132 +3 493 1096 1101 +3 1100 1053 123 +3 1099 1051 486 +3 490 276 1101 +3 1098 1094 493 +3 1105 1103 277 +3 1091 274 665 +3 1503 43 1103 +3 662 1105 1504 +3 1141 169 1153 +3 1103 43 670 +3 662 1103 1105 +3 1102 1091 665 +3 278 1107 1108 +3 699 278 1106 +3 460 116 1108 +3 699 286 1140 +3 460 280 1116 +3 1114 280 460 +3 1140 176 1109 +3 1138 286 699 +3 279 1111 1112 +3 696 279 1110 +3 450 1154 1156 +3 695 7 1111 +3 453 292 1164 +3 1111 7 450 +3 696 281 1120 +3 1118 281 696 +3 1117 1115 280 +3 1110 279 452 +3 462 1165 1196 +3 451 1117 1164 +3 1125 116 1137 +3 1115 30 458 +3 452 279 1112 +3 1114 1110 452 +3 1148 1147 698 +3 1107 278 701 +3 698 1121 1148 +3 701 1109 1121 +3 697 322 1285 +3 1297 1120 694 +3 698 281 1121 +3 1118 1107 701 +3 1137 285 461 +3 1106 278 459 +3 1134 1126 72 +3 459 1108 1125 +3 492 284 1132 +3 1130 284 492 +3 1108 116 1125 +3 1122 1106 459 +3 1129 1127 283 +3 456 283 1126 +3 498 1193 1256 +3 455 1129 1192 +3 1128 1065 122 +3 1127 9 482 +3 456 285 1136 +3 1134 285 456 +3 1133 1131 284 +3 1126 283 484 +3 1131 1071 32 +3 483 1071 1131 +3 1132 1101 124 +3 1131 32 490 +3 484 283 1128 +3 1130 1126 484 +3 1137 1116 458 +3 1123 282 461 +3 458 285 1137 +3 461 1125 1137 +3 457 299 1192 +3 1197 1136 454 +3 1116 1115 458 +3 1134 1123 461 +3 1153 289 673 +3 1095 275 671 +3 1150 1142 73 +3 671 1097 1141 +3 700 288 1148 +3 1146 288 700 +3 1097 169 1141 +3 1138 1095 671 +3 1145 1143 287 +3 661 287 1142 +3 1527 12 1143 +3 658 1145 1528 +3 693 337 1344 +3 1143 12 690 +3 658 1143 1145 +3 1150 289 661 +3 1149 1147 288 +3 1142 287 692 +3 702 337 1345 +3 691 1149 1344 +3 1148 1121 176 +3 1147 45 698 +3 692 287 1144 +3 1146 1142 692 +3 1153 1104 670 +3 1139 286 673 +3 659 1531 1533 +3 673 1141 1153 +3 1533 166 1152 +3 1533 1152 659 +3 1104 1103 670 +3 1150 1139 673 +3 450 7 1154 +3 535 1282 1284 +3 453 290 1155 +3 290 1154 1157 +3 1112 1111 450 +3 1162 292 453 +3 1284 135 1157 +3 1154 7 535 +3 463 298 1188 +3 544 137 1161 +3 463 291 1159 +3 291 1158 1161 +3 1188 117 1160 +3 1186 298 463 +3 544 293 1168 +3 1166 293 544 +3 1196 1195 462 +3 1158 291 465 +3 1164 1163 451 +3 465 1160 1165 +3 1117 114 1164 +3 1163 1115 451 +3 462 292 1165 +3 1162 1158 465 +3 1169 1167 293 +3 1155 290 537 +3 1291 35 1167 +3 534 1169 1292 +3 1205 137 1217 +3 1167 35 542 +3 534 1167 1169 +3 1166 1155 537 +3 294 1171 1172 +3 571 294 1170 +3 512 129 1172 +3 571 302 1204 +3 512 296 1180 +3 1178 296 512 +3 1204 144 1173 +3 1202 302 571 +3 295 1175 1176 +3 568 295 1174 +3 503 1218 1220 +3 567 6 1175 +3 1220 127 1176 +3 1175 6 503 +3 568 297 1184 +3 1182 297 568 +3 1181 1179 296 +3 1174 295 505 +3 1227 33 1179 +3 502 1181 1228 +3 1189 129 1201 +3 1179 33 510 +3 502 1179 1181 +3 1178 1174 505 +3 1212 1211 570 +3 1171 294 573 +3 570 1185 1212 +3 573 1173 1185 +3 569 343 1368 +3 1373 1184 566 +3 570 297 1185 +3 1182 1171 573 +3 1201 301 513 +3 1170 294 511 +3 1198 1190 76 +3 511 1172 1189 +3 464 300 1196 +3 1194 300 464 +3 1172 129 1189 +3 1186 1170 511 +3 1256 1255 498 +3 501 126 1193 +3 1192 1191 455 +3 299 1190 1193 +3 1129 115 1192 +3 1191 1127 455 +3 498 299 1193 +3 1198 301 501 +3 1197 1195 300 +3 1190 299 457 +3 1135 30 1195 +3 454 1135 1195 +3 1196 1165 117 +3 1195 30 462 +3 1136 1135 454 +3 1194 1190 457 +3 1201 1180 510 +3 1187 298 513 +3 499 1259 1261 +3 513 1189 1201 +3 1261 126 1200 +3 1261 1200 499 +3 1180 1179 510 +3 1198 1187 513 +3 1217 305 545 +3 1159 291 543 +3 1214 1206 77 +3 543 1161 1205 +3 572 304 1212 +3 1210 304 572 +3 1161 137 1205 +3 1202 1159 543 +3 1209 1207 303 +3 533 303 1206 +3 1319 10 1207 +3 530 1209 1320 +3 565 349 1392 +3 1207 10 562 +3 530 1207 1209 +3 1214 305 533 +3 1213 1211 304 +3 1206 303 564 +3 574 349 1393 +3 563 1213 1392 +3 1212 1185 144 +3 1211 37 570 +3 564 303 1208 +3 1210 1206 564 +3 1217 1168 542 +3 1203 302 545 +3 531 1323 1325 +3 545 1205 1217 +3 1325 134 1216 +3 1325 1216 531 +3 1168 1167 542 +3 1214 1203 545 +3 503 6 1218 +3 759 1367 1369 +3 504 306 1219 +3 306 1218 1221 +3 504 308 1228 +3 1226 308 504 +3 1369 191 1221 +3 1218 6 759 +3 507 314 1252 +3 768 193 1225 +3 507 307 1223 +3 307 1222 1225 +3 1252 128 1224 +3 1250 314 507 +3 768 309 1232 +3 1230 309 768 +3 1260 1259 506 +3 1222 307 509 +3 506 1229 1260 +3 509 1224 1229 +3 1228 1181 127 +3 1227 1179 502 +3 506 308 1229 +3 1226 1222 509 +3 1233 1231 309 +3 1219 306 761 +3 1375 49 1231 +3 758 1233 1376 +3 1269 193 1281 +3 1231 49 766 +3 758 1231 1233 +3 1230 1219 761 +3 310 1235 1236 +3 719 310 1234 +3 480 121 1236 +3 719 318 1268 +3 480 312 1244 +3 1242 312 480 +3 1268 181 1237 +3 1266 318 719 +3 311 1239 1240 +3 709 311 1238 +3 471 1028 1240 +3 706 4 1239 +3 1028 119 1240 +3 1239 4 471 +3 706 1239 1241 +3 1246 313 709 +3 1245 1243 312 +3 1238 311 473 +3 1035 31 1243 +3 470 1035 1243 +3 1253 121 1265 +3 1243 31 478 +3 1036 1035 470 +3 1242 1238 473 +3 1276 1275 718 +3 1235 310 721 +3 707 1423 1425 +3 721 1237 1249 +3 1425 178 1248 +3 1425 1248 707 +3 718 313 1249 +3 1246 1235 721 +3 1265 317 481 +3 1234 310 479 +3 1262 1254 80 +3 479 1236 1253 +3 508 316 1260 +3 1258 316 508 +3 1236 121 1253 +3 1250 1234 479 +3 1257 1255 315 +3 469 315 1254 +3 1063 9 1255 +3 466 1063 1255 +3 1256 1193 126 +3 1255 9 498 +3 1064 1063 466 +3 1262 317 469 +3 1261 1259 316 +3 1254 315 500 +3 1259 1199 33 +3 499 1199 1259 +3 1260 1229 128 +3 1259 33 506 +3 500 315 1256 +3 1258 1254 500 +3 1265 1244 478 +3 1251 314 481 +3 1264 1263 467 +3 481 1253 1265 +3 1069 118 1264 +3 1263 1067 467 +3 1244 1243 478 +3 1262 1251 481 +3 1281 321 769 +3 1223 307 767 +3 1278 1270 81 +3 767 1225 1269 +3 720 320 1276 +3 1274 320 720 +3 1225 193 1269 +3 1266 1223 767 +3 1400 1399 754 +3 757 190 1273 +3 711 1463 1465 +3 319 1270 1273 +3 1465 179 1272 +3 1465 1272 711 +3 754 319 1273 +3 1278 321 757 +3 1277 1275 320 +3 1270 319 713 +3 1471 46 1275 +3 710 1277 1472 +3 1276 1249 181 +3 1275 46 718 +3 710 1275 1277 +3 1274 1270 713 +3 1281 1232 766 +3 1267 318 769 +3 755 1403 1405 +3 769 1269 1281 +3 1405 190 1280 +3 1405 1280 755 +3 1232 1231 766 +3 1278 1267 769 +3 535 7 1282 +3 695 1113 1285 +3 536 322 1283 +3 322 1282 1285 +3 536 324 1292 +3 1290 324 536 +3 1113 175 1285 +3 1282 7 695 +3 539 330 1316 +3 704 177 1289 +3 539 323 1287 +3 323 1286 1289 +3 1316 136 1288 +3 1314 330 539 +3 704 325 1296 +3 1294 325 704 +3 1324 1323 538 +3 1286 323 541 +3 538 1293 1324 +3 541 1288 1293 +3 1292 1169 135 +3 1291 1167 534 +3 538 324 1293 +3 1290 1286 541 +3 1297 1295 325 +3 1283 322 697 +3 1119 45 1295 +3 694 1119 1295 +3 1333 177 1345 +3 1295 45 702 +3 1120 1119 694 +3 1294 1283 697 +3 326 1299 1300 +3 655 326 1298 +3 560 141 1300 +3 655 334 1332 +3 560 328 1308 +3 1306 328 560 +3 1332 165 1301 +3 1330 334 655 +3 327 1303 1304 +3 645 327 1302 +3 551 985 1304 +3 642 3 1303 +3 985 139 1304 +3 1303 3 551 +3 773 770 642 +3 1310 329 645 +3 1309 1307 328 +3 1302 327 553 +3 991 36 1307 +3 550 991 1307 +3 1317 141 1329 +3 1307 36 558 +3 992 991 550 +3 1306 1302 553 +3 1340 1339 654 +3 1299 326 657 +3 1312 1311 643 +3 657 1301 1313 +3 785 162 1312 +3 1311 783 643 +3 654 329 1313 +3 1310 1299 657 +3 1329 333 561 +3 1298 326 559 +3 1326 1318 84 +3 559 1300 1317 +3 540 332 1324 +3 1322 332 540 +3 1300 141 1317 +3 1314 1298 559 +3 1321 1016 546 +3 549 138 1321 +3 546 331 1321 +3 331 1318 1321 +3 1320 1209 134 +3 1319 1207 530 +3 1016 1015 546 +3 1326 333 549 +3 1325 1323 332 +3 1318 331 532 +3 1323 1215 35 +3 531 1215 1323 +3 1324 1293 136 +3 1323 35 538 +3 532 331 1320 +3 1322 1318 532 +3 1329 1308 558 +3 1315 330 561 +3 1328 1327 547 +3 561 1317 1329 +3 1021 138 1328 +3 1327 1019 547 +3 1308 1307 558 +3 1326 1315 561 +3 1345 337 705 +3 1287 323 703 +3 1342 1334 85 +3 703 1289 1333 +3 656 336 1340 +3 1338 336 656 +3 1289 177 1333 +3 1330 1287 703 +3 1337 1144 690 +3 693 174 1337 +3 1336 1335 647 +3 335 1334 1337 +3 825 163 1336 +3 1335 823 647 +3 1144 1143 690 +3 1342 337 693 +3 1341 1339 336 +3 1334 335 649 +3 831 42 1339 +3 646 831 1339 +3 1340 1313 165 +3 1339 42 654 +3 832 831 646 +3 1338 1334 649 +3 1345 1296 702 +3 1331 334 705 +3 1344 1343 691 +3 705 1333 1345 +3 1149 174 1344 +3 1343 1147 691 +3 1296 1295 702 +3 1342 1331 705 +3 514 2 1346 +3 727 921 1349 +3 517 338 1347 +3 338 1346 1349 +3 965 962 514 +3 1354 340 517 +3 921 183 1349 +3 1346 2 727 +3 527 346 1380 +3 736 185 1353 +3 527 339 1351 +3 339 1350 1353 +3 1380 133 1352 +3 1378 346 527 +3 736 341 1360 +3 1358 341 736 +3 1388 1387 526 +3 1350 339 529 +3 1356 1355 515 +3 529 1352 1357 +3 977 130 1356 +3 1355 975 515 +3 526 340 1357 +3 1354 1350 529 +3 1361 1359 341 +3 1347 338 729 +3 927 47 1359 +3 726 927 1359 +3 1397 185 1409 +3 1359 47 734 +3 928 927 726 +3 1358 1347 729 +3 342 1363 1364 +3 763 342 1362 +3 576 145 1364 +3 763 350 1396 +3 576 344 1372 +3 1370 344 576 +3 1396 192 1365 +3 1394 350 763 +3 343 1367 1368 +3 760 343 1366 +3 567 1177 1368 +3 759 6 1367 +3 1177 143 1368 +3 1367 6 567 +3 760 345 1376 +3 1374 345 760 +3 1373 1371 344 +3 1366 343 569 +3 1183 37 1371 +3 566 1183 1371 +3 1381 145 1393 +3 1371 37 574 +3 1184 1183 566 +3 1370 1366 569 +3 1404 1403 762 +3 1363 342 765 +3 762 1377 1404 +3 765 1365 1377 +3 1376 1233 191 +3 1375 1231 758 +3 762 345 1377 +3 1374 1363 765 +3 1393 349 577 +3 1362 342 575 +3 1390 1382 88 +3 575 1364 1381 +3 528 348 1388 +3 1386 348 528 +3 1364 145 1381 +3 1378 1362 575 +3 1385 1208 562 +3 565 142 1385 +3 1384 1383 519 +3 347 1382 1385 +3 1017 131 1384 +3 1383 1015 519 +3 1208 1207 562 +3 1390 349 565 +3 1389 1387 348 +3 1382 347 521 +3 1023 34 1387 +3 518 1023 1387 +3 1388 1357 133 +3 1387 34 526 +3 1024 1023 518 +3 1386 1382 521 +3 1393 1372 574 +3 1379 346 577 +3 1392 1391 563 +3 577 1381 1393 +3 1213 142 1392 +3 1391 1211 563 +3 1372 1371 574 +3 1390 1379 577 +3 1409 353 737 +3 1351 339 735 +3 1406 1398 89 +3 735 1353 1397 +3 764 352 1404 +3 1402 352 764 +3 1353 185 1397 +3 1394 1351 735 +3 1401 1399 351 +3 725 351 1398 +3 951 13 1399 +3 722 951 1399 +3 1400 1273 190 +3 1399 13 754 +3 952 951 722 +3 1406 353 725 +3 1405 1403 352 +3 1398 351 756 +3 1403 1279 49 +3 755 1279 1403 +3 1404 1377 192 +3 1403 49 762 +3 756 351 1400 +3 1402 1398 756 +3 1409 1360 734 +3 1395 350 737 +3 1408 1407 723 +3 737 1397 1409 +3 957 182 1408 +3 1407 955 723 +3 1360 1359 734 +3 1406 1395 737 +3 615 4 1410 +3 706 1241 1413 +3 616 354 1411 +3 354 1410 1413 +3 616 356 1420 +3 1418 356 616 +3 1413 1241 178 +3 1410 4 706 +3 619 362 1444 +3 716 180 1417 +3 619 355 1415 +3 355 1414 1417 +3 1444 156 1416 +3 1442 362 619 +3 716 357 1424 +3 1422 357 716 +3 1452 1451 618 +3 1414 355 621 +3 618 1421 1452 +3 621 1416 1421 +3 1420 1041 155 +3 1419 1039 614 +3 618 356 1421 +3 1418 1414 621 +3 1425 1423 357 +3 1411 354 708 +3 1423 1247 46 +3 707 1247 1423 +3 1461 180 1473 +3 1423 46 714 +3 708 354 1413 +3 1422 1411 708 +3 358 1427 1428 +3 747 358 1426 +3 588 148 1428 +3 747 366 1460 +3 588 360 1436 +3 1434 360 588 +3 1460 188 1429 +3 1458 366 747 +3 359 1431 1432 +3 744 359 1430 +3 578 857 1432 +3 743 0 1431 +3 1432 857 146 +3 1431 0 578 +3 744 361 1440 +3 1438 361 744 +3 1437 1435 360 +3 1430 359 580 +3 1435 863 38 +3 579 863 1435 +3 1445 148 1457 +3 1435 38 586 +3 580 359 1432 +3 1434 1430 580 +3 1468 1467 746 +3 1427 358 749 +3 746 1441 1468 +3 749 1429 1441 +3 1440 913 187 +3 1439 911 742 +3 746 361 1441 +3 1438 1427 749 +3 1457 365 589 +3 1426 358 587 +3 1454 1446 92 +3 587 1428 1445 +3 620 364 1452 +3 1450 364 620 +3 1428 148 1445 +3 1442 1426 587 +3 1449 1447 363 +3 584 363 1446 +3 1447 887 11 +3 583 887 1447 +3 1448 1081 154 +3 1447 11 610 +3 584 365 1456 +3 1454 365 584 +3 1453 1451 364 +3 1446 363 612 +3 1451 1087 40 +3 611 1087 1451 +3 1452 1421 156 +3 1451 40 618 +3 612 363 1448 +3 1450 1446 612 +3 1457 1436 586 +3 1443 362 589 +3 586 365 1457 +3 589 1445 1457 +3 1456 893 147 +3 1455 891 582 +3 1436 1435 586 +3 1454 1443 589 +3 1473 369 717 +3 1415 355 715 +3 1470 1462 93 +3 715 1417 1461 +3 748 368 1468 +3 1466 368 748 +3 1417 180 1461 +3 1458 1415 715 +3 1465 1463 367 +3 712 367 1462 +3 1463 1271 13 +3 711 1271 1463 +3 1464 953 186 +3 1463 13 738 +3 712 369 1472 +3 1470 369 712 +3 1469 1467 368 +3 1462 367 740 +3 1467 959 48 +3 739 959 1467 +3 1468 1441 188 +3 1467 48 746 +3 740 367 1464 +3 1466 1462 740 +3 1473 1424 714 +3 1459 366 717 +3 714 369 1473 +3 717 1461 1473 +3 1472 1277 179 +3 1471 1275 710 +3 1424 1423 714 +3 1470 1459 717 +3 631 1 1474 +3 679 793 1477 +3 632 370 1475 +3 370 1474 1477 +3 632 372 1484 +3 1482 372 632 +3 793 171 1477 +3 1474 1 679 +3 635 378 1508 +3 688 173 1481 +3 635 371 1479 +3 371 1478 1481 +3 1508 160 1480 +3 1506 378 635 +3 688 373 1488 +3 1486 373 688 +3 1516 1515 634 +3 1478 371 637 +3 634 1485 1516 +3 637 1480 1485 +3 1484 849 159 +3 1483 847 630 +3 634 372 1485 +3 1482 1478 637 +3 1489 1487 373 +3 1475 370 681 +3 799 44 1487 +3 678 799 1487 +3 1525 173 1537 +3 1487 44 686 +3 800 799 678 +3 1486 1475 681 +3 374 1491 1492 +3 667 374 1490 +3 608 153 1492 +3 667 382 1524 +3 608 376 1500 +3 1498 376 608 +3 1524 168 1493 +3 1522 382 667 +3 375 1495 1496 +3 664 375 1494 +3 599 1049 1496 +3 663 5 1495 +3 1049 151 1496 +3 1495 5 599 +3 664 377 1504 +3 1502 377 664 +3 1501 1499 376 +3 1494 375 601 +3 1055 39 1499 +3 598 1055 1499 +3 1509 153 1521 +3 1499 39 606 +3 1056 1055 598 +3 1498 1494 601 +3 1532 1531 666 +3 1491 374 669 +3 666 1505 1532 +3 669 1493 1505 +3 1504 1105 167 +3 1503 1103 662 +3 666 377 1505 +3 1502 1491 669 +3 1521 381 609 +3 1490 374 607 +3 1518 1510 96 +3 607 1492 1509 +3 636 380 1516 +3 1514 380 636 +3 1492 153 1509 +3 1506 1490 607 +3 1513 1511 379 +3 597 379 1510 +3 1079 11 1511 +3 594 1079 1511 +3 1512 889 158 +3 1511 11 626 +3 1080 1079 594 +3 1518 381 597 +3 1517 1515 380 +3 1510 379 628 +3 1515 895 41 +3 627 895 1515 +3 1516 1485 160 +3 1515 41 634 +3 628 379 1512 +3 1514 1510 628 +3 1521 1500 606 +3 1507 378 609 +3 1520 1519 595 +3 609 1509 1521 +3 1085 150 1520 +3 1519 1083 595 +3 1500 1499 606 +3 1518 1507 609 +3 1537 385 689 +3 1479 371 687 +3 1534 1526 97 +3 687 1481 1525 +3 668 384 1532 +3 1530 384 668 +3 1481 173 1525 +3 1522 1479 687 +3 1529 824 674 +3 677 170 1529 +3 674 383 1529 +3 383 1526 1529 +3 1528 1145 166 +3 1527 1143 658 +3 824 823 674 +3 1534 385 677 +3 1533 1531 384 +3 1526 383 660 +3 1531 1151 43 +3 659 1151 1531 +3 1532 1505 168 +3 1531 43 666 +3 660 383 1528 +3 1530 1526 660 +3 1537 1488 686 +3 1523 382 689 +3 1536 1535 675 +3 689 1525 1537 +3 829 170 1536 +3 1535 827 675 +3 1488 1487 686 +3 1534 1523 689 + diff --git a/Polygon_mesh_processing/test/Polygon_mesh_processing/data/decimation/m2.off b/Polygon_mesh_processing/test/Polygon_mesh_processing/data/decimation/m2.off new file mode 100644 index 00000000000..06f4d02316c --- /dev/null +++ b/Polygon_mesh_processing/test/Polygon_mesh_processing/data/decimation/m2.off @@ -0,0 +1,10986 @@ +OFF +3662 7320 0 + +1 0 0 +1 0.0625 0 +1 0 0.0625 +1 0.625 0 +1 0.6875 0 +1 0.5625 0 +1 0.75 0 +1 0.8125 0 +1 0.875 0 +1 0.9375 0 +1 0.4375 0 +1 0.375 0 +1 0.5 0 +1 0.3125 0 +1 0.1875 0 +1 0.125 0 +1 0.25 0 +1 0 0.125 +1 0 0.1875 +1 0 0.9375 +1 0 1 +1 0 0.875 +0.9375 0 1 +1 1 0 +0.9375 1 0 +1 0 0.375 +1 0 0.3125 +1 0 0.4375 +1 0 0.25 +1 0 0.625 +1 0 0.5625 +1 0 0.6875 +1 0 0.5 +1 0 0.8125 +1 0 0.75 +0.0625 0 1 +0 0 1 +0.125 0 1 +0 0.0625 1 +0.1875 0 1 +0.25 0 1 +0.4375 0 1 +0.375 0 1 +0.5 0 1 +0.3125 0 1 +0.6875 0 1 +0.625 0 1 +0.75 0 1 +0.5625 0 1 +0.875 0 1 +0.8125 0 1 +0 0.125 1 +0 0.1875 1 +0 0.9375 1 +0 1 1 +0 0.875 1 +0 1 0.9375 +0 0.8125 1 +0 0.75 1 +0 0.5625 1 +0 0.625 1 +0 0.5 1 +0 0.6875 1 +0 0.3125 1 +0 0.375 1 +0 0.25 1 +0 0.4375 1 +0 1 0.0625 +0 1 0 +0 1 0.125 +0.0625 1 0 +0 1 0.875 +0 1 0.8125 +0 1 0.1875 +0 1 0.25 +0 1 0.4375 +0 1 0.375 +0 1 0.5 +0 1 0.3125 +0 1 0.625 +0 1 0.6875 +0 1 0.5625 +0 1 0.75 +0.125 1 0 +0.1875 1 0 +0.375 1 0 +0.3125 1 0 +0.4375 1 0 +0.25 1 0 +0.625 1 0 +0.5625 1 0 +0.6875 1 0 +0.5 1 0 +0.875 1 0 +0.8125 1 0 +0.75 1 0 +-1 1 -1 +-1 -1 -1 +-1 -1 1 +1 -1 -1 +-1 1 1 +1 1 -1 +1 -1 1 +0.95833333333333337 0.75 0 +0.95833333333333337 0.25 0 +0.75 0.54166666666666663 0 +0.875 0.5625 0 +0.75 0.041666666666666671 0 +0.75 0 0.041666666666666671 +0.25 0.041666666666666671 0 +0.25 0 0.041666666666666671 +0.54166666666666663 0.25 0 +0.5625 0.125 0 +0.45833333333333331 0 0.25 +0.4375 0 0.125 +0.041666666666666671 0.25 0 +0 0.25 0.041666666666666671 +0.041666666666666671 0.75 0 +0 0.75 0.041666666666666671 +0.25 0.45833333333333331 0 +0.125 0.4375 0 +0 0.54166666666666663 0.25 +0 0.5625 0.125 +0.25 0.95833333333333337 0 +0.75 0.95833333333333337 0 +0.45833333333333331 0.75 0 +0.4375 0.875 0 +0.25 0 0.95833333333333337 +0.75 0 0.95833333333333337 +0.54166666666666663 0 0.75 +0.5625 0 0.875 +0 0.75 0.95833333333333337 +0 0.25 0.95833333333333337 +0 0.45833333333333331 0.75 +0 0.4375 0.875 +0 0.95833333333333337 0.25 +0 0.95833333333333337 0.75 +0 0.75 0.54166666666666663 +0 0.875 0.5625 +0.041666666666666671 0 0.75 +0 0.041666666666666671 0.75 +0.041666666666666671 0 0.25 +0 0.041666666666666671 0.25 +0.25 0 0.54166666666666663 +0.125 0 0.5625 +0 0.25 0.45833333333333331 +0 0.125 0.4375 +0.95833333333333337 0 0.25 +0.95833333333333337 0 0.75 +0.75 0 0.45833333333333331 +0.875 0 0.4375 +0.1875 0.35416666666666669 0 +0.5 0.041666666666666671 0 +0.14583333333333334 0.1875 0 +0.8125 0.64583333333333337 0 +0.875 0.875 0 +0.5 0.95833333333333337 0 +0.64583333333333337 0.6875 0 +0.64583333333333337 0.1875 0 +0.8125 0.14583333333333334 0 +0.95833333333333337 0.5 0 +0.35416666666666669 0.8125 0 +0.39583333333333331 0.4375 0 +0.1875 0.85416666666666663 0 +0.041666666666666671 0.5 0 +0.125 0 0.125 +0.35416666666666669 0 0.1875 +0.041666666666666671 0 0.5 +0.3125 0 0.35416666666666669 +0.64583333333333337 0 0.8125 +0.875 0 0.875 +0.95833333333333337 0 0.5 +0.6875 0 0.64583333333333337 +0.1875 0 0.64583333333333337 +0.14583333333333334 0 0.8125 +0.5 0 0.95833333333333337 +0.8125 0 0.35416666666666669 +0.85416666666666663 0 0.1875 +0.5 0 0.041666666666666671 +0 0.125 0.875 +0 0.35416666666666669 0.8125 +0 0.041666666666666671 0.5 +0 0.3125 0.64583333333333337 +0 0.64583333333333337 0.1875 +0 0.875 0.125 +0 0.95833333333333337 0.5 +0 0.6875 0.35416666666666669 +0 0.1875 0.35416666666666669 +0 0.14583333333333334 0.1875 +0 0.5 0.041666666666666671 +0 0.8125 0.64583333333333337 +0 0.85416666666666663 0.8125 +0 0.5 0.95833333333333337 +0.8125 0.70833333333333337 0 +0.8125 0.77083333333333337 0 +0.9375 0.10416666666666667 0 +0.875 0.125 0 +0.89583333333333337 0.25 0 +0.75 0.45833333333333331 0 +0.7589285714285714 0.38392857142857145 0 +0.8839285714285714 0.49107142857142855 0 +0.5625 0.45833333333333331 0 +0.5625 0.52083333333333337 0 +0.625 0.625 0 +0.75 0.60416666666666663 0 +0.89583333333333337 0 0.0625 +0.70833333333333337 0.1875 0 +0.875 0 0.125 +0.75 0 0.10416666666666667 +0.125 0.125 0 +0.25 0.10416666666666667 0 +0.29166666666666669 0 0.1875 +0.45833333333333331 0.25 0 +0.49107142857142855 0.11607142857142858 0 +0.375 0.375 0 +0.5625 0.39583333333333331 0 +0.60416666666666663 0.25 0 +0.3125 0.27083333333333331 0 +0.54166666666666663 0 0.25 +0.6160714285714286 0 0.24107142857142858 +0.5089285714285714 0 0.11607142857142858 +0.54166666666666663 0 0.4375 +0.375 0 0.375 +0.39583333333333331 0 0.25 +0.0625 0.10416666666666667 0 +0 0.10416666666666667 0.0625 +0.1875 0.29166666666666669 0 +0 0.125 0.125 +0 0.25 0.10416666666666667 +0.0625 0.89583333333333337 0 +0.125 0.875 0 +0.10416666666666667 0.75 0 +0 0.70833333333333337 0.1875 +0 0.77083333333333337 0.1875 +0.25 0.54166666666666663 0 +0.24107142857142858 0.6160714285714286 0 +0.11607142857142858 0.5089285714285714 0 +0.4375 0.54166666666666663 0 +0.25 0.39583333333333331 0 +0 0.45833333333333331 0.25 +0 0.38392857142857145 0.24107142857142858 +0 0.49107142857142855 0.11607142857142858 +0 0.45833333333333331 0.4375 +0 0.52083333333333337 0.4375 +0 0.625 0.375 +0 0.60416666666666663 0.25 +0.29166666666666669 0.8125 0 +0.89583333333333337 0.9375 0 +0.75 0.89583333333333337 0 +0.7589285714285714 0.8214285714285714 0 +0.54166666666666663 0.75 0 +0.6160714285714286 0.7589285714285714 0 +0.5089285714285714 0.8839285714285714 0 +0.4375 0.60416666666666663 0 +0.39583333333333331 0.75 0 +0.10416666666666667 0 0.9375 +0.125 0 0.875 +0.25 0 0.89583333333333337 +0.70833333333333337 0 0.8125 +0.77083333333333337 0 0.8125 +0.45833333333333331 0 0.75 +0.38392857142857145 0 0.7589285714285714 +0.49107142857142855 0 0.8839285714285714 +0.45833333333333331 0 0.5625 +0.52083333333333337 0 0.5625 +0.625 0 0.625 +0.60416666666666663 0 0.75 +0 0.89583333333333337 0.9375 +0 0.875 0.875 +0 0.75 0.89583333333333337 +0 0.29166666666666669 0.8125 +0 0.54166666666666663 0.75 +0 0.6160714285714286 0.7589285714285714 +0 0.5089285714285714 0.8839285714285714 +0 0.54166666666666663 0.5625 +0 0.375 0.625 +0 0.39583333333333331 0.75 +0 0.9375 0.10416666666666667 +0 0.89583333333333337 0.25 +0 0.8214285714285714 0.24107142857142858 +0 0.8125 0.70833333333333337 +0 0.75 0.45833333333333331 +0 0.7589285714285714 0.38392857142857145 +0 0.8839285714285714 0.49107142857142855 +0 0.60416666666666663 0.5625 +0 0.75 0.60416666666666663 +0.1875 0 0.70833333333333337 +0 0.10416666666666667 0.75 +0 0.17857142857142858 0.7589285714285714 +0.10416666666666667 0 0.25 +0.17857142857142858 0 0.24107142857142858 +0 0.1875 0.29166666666666669 +0.25 0 0.45833333333333331 +0.11607142857142858 0 0.49107142857142855 +0.39583333333333331 0 0.5625 +0.25 0 0.60416666666666663 +0 0.25 0.54166666666666663 +0 0.11607142857142858 0.5089285714285714 +0 0.39583333333333331 0.4375 +0 0.25 0.39583333333333331 +0.8125 0 0.29166666666666669 +0.9375 0 0.89583333333333337 +0.89583333333333337 0 0.75 +0.8214285714285714 0 0.7589285714285714 +0.75 0 0.54166666666666663 +0.7589285714285714 0 0.6160714285714286 +0.8839285714285714 0 0.5089285714285714 +0.60416666666666663 0 0.4375 +0.75 0 0.39583333333333331 +0.10416666666666667 0.0625 0 +0.38392857142857145 0.24107142857142858 0 +0.1875 0 0 +0.1875 0.1875 0 +0.11607142857142858 0.25892857142857145 0 +0.3125 0.35416666666666669 0 +0.4375 0.4375 0 +0.19642857142857142 0.49107142857142855 0 +0.4375 0 0 +0.41666666666666669 0.125 0 +0.13750000000000001 0.38750000000000001 0 +0.24107142857142858 0.17857142857142858 0 +0.083333333333333329 0.375 0 +0.25 0.5 0 +0.30357142857142855 0.5089285714285714 0 +0 0.3125 0 +0 0.25 0 +0.8839285714285714 0.7410714285714286 0 +0.5625 0.60416666666666663 0 +0.8035714285714286 0.5089285714285714 0 +0.6875 0.6875 0 +0.8125 0.85416666666666663 0 +0.86250000000000004 0.61250000000000004 0 +0.91666666666666663 0.625 0 +0.75 0.5 0 +0.6964285714285714 0.49107142857142855 0 +0.7410714285714286 0.6785714285714286 0 +0.58333333333333337 0.875 0 +0.6875 0.41666666666666669 0 +0.5089285714285714 0.19642857142857142 0 +0.72916666666666663 0.3125 0 +0.64583333333333337 0.3125 0 +0.89583333333333337 0.0625 0 +0.61250000000000004 0.13750000000000001 0 +0.77083333333333337 0.1875 0 +0.625 0.083333333333333329 0 +0.5 0.25 0 +0.5 0.29166666666666669 0 +0.6875 0 0 +0.75 0 0 +0.7410714285714286 0.11607142857142858 0 +0.875 0.41666666666666669 0 +0.3125 0.58333333333333337 0 +0.49107142857142855 0.42857142857142855 0 +0.49107142857142855 0.8035714285714286 0 +0.27083333333333331 0.6875 0 +0.35416666666666669 0.6875 0 +0.10416666666666667 0.9375 0 +0 0.9375 0 +0 0.8125 0 +0.38750000000000001 0.86250000000000004 0 +0.22916666666666666 0.8125 0 +0.375 0.91666666666666663 0 +0.5 0.75 0 +0.5 0.70833333333333337 0 +0.25892857142857145 0.8839285714285714 0 +0 0.5625 0 +0.125 0.58333333333333337 0 +0.17857142857142858 0 0.071428571428571425 +0 0 0.0625 +0.33333333333333331 0 0.125 +0 0 0.1875 +0.22916666666666666 0 0.1875 +0.25 0 0 +0.14583333333333334 0 0.1875 +0.25892857142857145 0 0.11607142857142858 +0.5625 0 0.375 +0.47916666666666669 0 0.4375 +0.49107142857142855 0 0.19642857142857142 +0.39583333333333331 0 0.4375 +0.27083333333333331 0 0.3125 +0 0 0.4375 +0 0 0.5 +0.125 0 0.41666666666666669 +0.38750000000000001 0 0.13750000000000001 +0.24107142857142858 0 0.38392857142857145 +0.5 0 0 +0.375 0 0.083333333333333329 +0.5 0 0.25 +0.5089285714285714 0 0.30357142857142855 +0.3125 0 0 +0.7410714285714286 0 0.8839285714285714 +0.60416666666666663 0 0.5625 +0.5089285714285714 0 0.8035714285714286 +0.6875 0 0.6875 +0.85416666666666663 0 0.8125 +0.61250000000000004 0 0.86250000000000004 +0.625 0 0.91666666666666663 +0.5 0 0.75 +0.49107142857142855 0 0.6964285714285714 +0.6785714285714286 0 0.7410714285714286 +0.875 0 0.58333333333333337 +0.41666666666666669 0 0.6875 +0.19642857142857142 0 0.5089285714285714 +0.3125 0 0.72916666666666663 +0.3125 0 0.64583333333333337 +0.0625 0 0.89583333333333337 +0.13750000000000001 0 0.61250000000000004 +0.1875 0 0.77083333333333337 +0.083333333333333329 0 0.625 +0.25 0 0.5 +0.29166666666666669 0 0.5 +0 0 0.6875 +0 0 0.75 +0.11607142857142858 0 0.7410714285714286 +0.41666666666666669 0 0.875 +0.58333333333333337 0 0.3125 +0.8035714285714286 0 0.49107142857142855 +0.6875 0 0.27083333333333331 +0.6875 0 0.35416666666666669 +0.9375 0 0.10416666666666667 +0.9375 0 0 +0.8125 0 0 +0.86250000000000004 0 0.38750000000000001 +0.8125 0 0.22916666666666666 +0.91666666666666663 0 0.375 +0.75 0 0.5 +0.70833333333333337 0 0.5 +0.8839285714285714 0 0.25892857142857145 +0.5625 0 0 +0.58333333333333337 0 0.125 +0 0.17857142857142858 0.9285714285714286 +0 0 0.9375 +0 0.33333333333333331 0.875 +0 0 0.8125 +0 0.22916666666666666 0.8125 +0 0.14583333333333334 0.8125 +0 0.25892857142857145 0.8839285714285714 +0 0.5625 0.625 +0 0.47916666666666669 0.5625 +0 0.49107142857142855 0.8035714285714286 +0 0.39583333333333331 0.5625 +0 0.27083333333333331 0.6875 +0 0 0.5625 +0 0.125 0.58333333333333337 +0 0.38750000000000001 0.86250000000000004 +0 0.24107142857142858 0.6160714285714286 +0 0.375 0.91666666666666663 +0 0.5 0.75 +0 0.5089285714285714 0.6964285714285714 +0 0.7410714285714286 0.11607142857142858 +0 0.60416666666666663 0.4375 +0 0.5089285714285714 0.19642857142857142 +0 0.6875 0.3125 +0 0.85416666666666663 0.1875 +0 0.75 0 +0 0.61250000000000004 0.13750000000000001 +0 0.5 0 +0 0.625 0.083333333333333329 +0 0.5 0.25 +0 0.49107142857142855 0.30357142857142855 +0 0.6875 0 +0 0.6785714285714286 0.25892857142857145 +0 0.875 0.41666666666666669 +0 0.41666666666666669 0.3125 +0 0.19642857142857142 0.49107142857142855 +0 0.3125 0.27083333333333331 +0 0.3125 0.35416666666666669 +0 0.0625 0.10416666666666667 +0 0 0.25 +0 0.0625 0 +0 0.1875 0 +0 0.13750000000000001 0.38750000000000001 +0 0.1875 0.22916666666666666 +0 0.083333333333333329 0.375 +0 0.25 0.5 +0 0.29166666666666669 0.5 +0 0 0.3125 +0 0.11607142857142858 0.25892857142857145 +0 0.4375 0 +0 0.41666666666666669 0.125 +0 0.58333333333333337 0.6875 +0 0.8035714285714286 0.5089285714285714 +0 0.6875 0.72916666666666663 +0 0.6875 0.64583333333333337 +0 0.9375 0.89583333333333337 +0 0.86250000000000004 0.61250000000000004 +0 0.8125 0.77083333333333337 +0 0.91666666666666663 0.625 +0 0.75 0.5 +0 0.70833333333333337 0.5 +0 0.8839285714285714 0.7410714285714286 +0 0.58333333333333337 0.875 +0.94999999999999996 0.94999999999999996 0 +0.9285714285714286 0.8214285714285714 0 +0.9375 0.5625 0 +0.9375 0.6875 0 +0.875 0.66666666666666663 0 +0.85416666666666663 0.8125 0 +0.88749999999999996 0.36249999999999999 0 +0.91666666666666663 0.3125 0 +0.94999999999999996 0.050000000000000003 0 +0.9285714285714286 0.17857142857142858 0 +0.8214285714285714 0.24107142857142858 0 +0.85416666666666663 0.1875 0 +0.83333333333333337 0.375 0 +0.79166666666666663 0.3125 0 +0.8125 0.1875 0 +0.9375 0.4375 0 +0.9375 0.375 0 +0.8125 0.58333333333333337 0 +0.625 0.375 0 +0.625 0.4375 0 +0.5714285714285714 0.6785714285714286 0 +0.60416666666666663 0.5625 0 +0.6785714285714286 0.5714285714285714 0 +0.625 0.5 0 +0.6875 0.64583333333333337 0 +0.85416666666666663 0.3125 0 +0.8125 0.4375 0 +0.6875 0.3125 0 +0.6875 0.35416666666666669 0 +0.94999999999999996 0 0.050000000000000003 +0.875 0 0 +0.8214285714285714 0.071428571428571425 0 +0.5625 0.0625 0 +0.63749999999999996 0 0.1125 +0.625 0 0 +0.6875 0 0.083333333333333329 +0.6785714285714286 0.25892857142857145 0 +0.6875 0.0625 0 +0.66666666666666663 0.125 0 +0.8214285714285714 0 0.071428571428571425 +0.7589285714285714 0 0.17857142857142858 +0.8125 0 0.14583333333333334 +0.625 0 0.16666666666666666 +0.6875 0 0.20833333333333334 +0.8125 0 0.1875 +0.375 0 0 +0.36249999999999999 0.1125 0 +0.4375 0 0.0625 +0.3125 0.083333333333333329 0 +0.0625 0 0 +0.050000000000000003 0 0.050000000000000003 +0.071428571428571425 0.17857142857142858 0 +0.050000000000000003 0.050000000000000003 0 +0.17857142857142858 0.071428571428571425 0 +0.125 0 0 +0.125 0.33333333333333331 0 +0.1875 0.14583333333333334 0 +0.375 0.16666666666666666 0 +0.3125 0.20833333333333334 0 +0.3125 0 0.0625 +0.1875 0 0.1875 +0.1875 0 0.14583333333333334 +0.4375 0.0625 0 +0.375 0.0625 0 +0.58333333333333337 0.1875 0 +0.375 0.5625 0 +0.4375 0.39583333333333331 0 +0.42857142857142855 0.32142857142857145 0 +0.5714285714285714 0.32142857142857145 0 +0.5 0.35416666666666669 0 +0.75 0.25 0 +0.3125 0.14583333333333334 0 +0.4375 0.1875 0 +0.35416666666666669 0.3125 0 +0.5625 0 0.0625 +0.625 0 0.0625 +0.41666666666666669 0 0.1875 +0.5714285714285714 0 0.5089285714285714 +0.625 0 0.375 +0.4375 0 0.4375 +0.5 0 0.375 +0.4375 0 0.39583333333333331 +0.42857142857142855 0 0.32142857142857145 +0.32142857142857145 0 0.25892857142857145 +0.35416666666666669 0 0.3125 +0.3125 0 0.3125 +0.6875 0 0.14583333333333334 +0.5625 0 0.1875 +0.6875 0 0.3125 +0.64583333333333337 0 0.3125 +0 0.050000000000000003 0.050000000000000003 +0 0.125 0 +0.0625 0.4375 0 +0 0.36249999999999999 0.1125 +0 0.375 0 +0 0.3125 0.083333333333333329 +0.25892857142857145 0.32142857142857145 0 +0.0625 0.3125 0 +0.1875 0.22916666666666666 0 +0 0.17857142857142858 0.071428571428571425 +0 0.24107142857142858 0.17857142857142858 +0 0.1875 0.14583333333333334 +0 0.375 0.16666666666666666 +0 0.3125 0.20833333333333334 +0 0.1875 0.1875 +0 0.625 0 +0.1125 0.63749999999999996 0 +0 0.5625 0.0625 +0.083333333333333329 0.6875 0 +0 0.875 0 +0.050000000000000003 0.94999999999999996 0 +0 0.94999999999999996 0.050000000000000003 +0 0.8214285714285714 0.071428571428571425 +0.071428571428571425 0.8214285714285714 0 +0.17857142857142858 0.7589285714285714 0 +0.14583333333333334 0.8125 0 +0.16666666666666666 0.625 0 +0.20833333333333334 0.6875 0 +0.1875 0.8125 0 +0 0.6875 0.0625 +0 0.66666666666666663 0.125 +0 0.8125 0.14583333333333334 +0.0625 0.5625 0 +0.0625 0.625 0 +0.1875 0.41666666666666669 0 +0.5089285714285714 0.5714285714285714 0 +0.375 0.625 0 +0.4375 0.47916666666666669 0 +0.375 0.5 0 +0.32142857142857145 0.42857142857142855 0 +0.25 0.25 0 +0.3125 0.3125 0 +0.14583333333333334 0.6875 0 +0.1875 0.5625 0 +0.3125 0.6875 0 +0.3125 0.64583333333333337 0 +0 0.4375 0.0625 +0 0.375 0.0625 +0 0.58333333333333337 0.1875 +0 0.42857142857142855 0.5089285714285714 +0 0.375 0.375 +0 0.4375 0.375 +0 0.6785714285714286 0.42857142857142855 +0 0.5625 0.39583333333333331 +0 0.5714285714285714 0.32142857142857145 +0 0.5 0.375 +0 0.64583333333333337 0.3125 +0 0.3125 0.14583333333333334 +0 0.4375 0.1875 +0 0.3125 0.3125 +0 0.35416666666666669 0.3125 +0.17857142857142858 0.9285714285714286 0 +0.4375 0.9375 0 +0.32142857142857145 0.7410714285714286 0 +0.3125 0.9375 0 +0.33333333333333331 0.875 0 +0.63749999999999996 0.88749999999999996 0 +0.6875 0.91666666666666663 0 +0.9375 0.89583333333333337 0 +0.8214285714285714 0.9285714285714286 0 +0.75 0.75 0 +0.8125 0.8125 0 +0.625 0.83333333333333337 0 +0.6875 0.79166666666666663 0 +0.5625 0.9375 0 +0.625 0.9375 0 +0.41666666666666669 0.8125 0 +0.5 0.5 0 +0.5625 0.5625 0 +0.42857142857142855 0.6785714285714286 0 +0.5 0.64583333333333337 0 +0.25 0.75 0 +0.6875 0.85416666666666663 0 +0.5625 0.8125 0 +0.6875 0.72916666666666663 0 +0.050000000000000003 0 0.94999999999999996 +0.36249999999999999 0 0.88749999999999996 +0.3125 0 0.91666666666666663 +0.17857142857142858 0 0.9285714285714286 +0.24107142857142858 0 0.8214285714285714 +0.1875 0 0.85416666666666663 +0.375 0 0.83333333333333337 +0.3125 0 0.79166666666666663 +0.1875 0 0.8125 +0.5625 0 0.9375 +0.94999999999999996 0 0.94999999999999996 +0.8214285714285714 0 0.9285714285714286 +0.6875 0 0.9375 +0.66666666666666663 0 0.875 +0.8125 0 0.85416666666666663 +0.4375 0 0.9375 +0.375 0 0.9375 +0.58333333333333337 0 0.8125 +0.42857142857142855 0 0.49107142857142855 +0.375 0 0.625 +0.4375 0 0.625 +0.6785714285714286 0 0.5714285714285714 +0.5625 0 0.60416666666666663 +0.5714285714285714 0 0.6785714285714286 +0.5 0 0.625 +0.64583333333333337 0 0.6875 +0.3125 0 0.85416666666666663 +0.4375 0 0.8125 +0.3125 0 0.6875 +0.35416666666666669 0 0.6875 +0 0.94999999999999996 0.94999999999999996 +0 0.63749999999999996 0.88749999999999996 +0 0.6875 0.91666666666666663 +0 0.8214285714285714 0.9285714285714286 +0 0.7589285714285714 0.8214285714285714 +0 0.8125 0.85416666666666663 +0 0.625 0.83333333333333337 +0 0.6875 0.79166666666666663 +0 0.8125 0.8125 +0 0.4375 0.9375 +0 0.050000000000000003 0.94999999999999996 +0 0.3125 0.9375 +0 0.1875 0.8125 +0 0.1875 0.85416666666666663 +0 0.5625 0.9375 +0 0.625 0.9375 +0 0.41666666666666669 0.8125 +0 0.5714285714285714 0.49107142857142855 +0 0.625 0.625 +0 0.4375 0.5625 +0 0.5 0.625 +0 0.4375 0.60416666666666663 +0 0.42857142857142855 0.6785714285714286 +0 0.32142857142857145 0.7410714285714286 +0 0.35416666666666669 0.6875 +0 0.3125 0.6875 +0 0.6875 0.85416666666666663 +0 0.5625 0.8125 +0 0.6875 0.6875 +0 0.64583333333333337 0.6875 +0 0.89583333333333337 0.0625 +0 0.88749999999999996 0.36249999999999999 +0 0.91666666666666663 0.3125 +0 0.9285714285714286 0.17857142857142858 +0 0.75 0.25 +0 0.8125 0.1875 +0 0.83333333333333337 0.375 +0 0.79166666666666663 0.3125 +0 0.9375 0.5625 +0 0.9285714285714286 0.8214285714285714 +0 0.7410714285714286 0.6785714285714286 +0 0.9375 0.6875 +0 0.875 0.66666666666666663 +0 0.9375 0.4375 +0 0.9375 0.375 +0 0.8125 0.58333333333333337 +0 0.5625 0.4375 +0 0.6785714285714286 0.5714285714285714 +0 0.64583333333333337 0.5 +0 0.75 0.75 +0 0.85416666666666663 0.3125 +0 0.8125 0.4375 +0 0.72916666666666663 0.3125 +0 0.10416666666666667 0.9375 +0 0.0625 0.89583333333333337 +0.071428571428571425 0 0.8214285714285714 +0.0625 0 0.5625 +0 0.1125 0.63749999999999996 +0 0 0.625 +0 0.083333333333333329 0.6875 +0.25892857142857145 0 0.6785714285714286 +0.0625 0 0.6875 +0.125 0 0.66666666666666663 +0 0.071428571428571425 0.8214285714285714 +0 0 0.875 +0 0.25 0.75 +0 0.16666666666666666 0.625 +0 0.20833333333333334 0.6875 +0 0 0.375 +0.1125 0 0.36249999999999999 +0 0.0625 0.4375 +0.083333333333333329 0 0.3125 +0.0625 0 0.10416666666666667 +0.10416666666666667 0 0.0625 +0 0 0 +0 0.071428571428571425 0.17857142857142858 +0.071428571428571425 0 0.17857142857142858 +0 0 0.125 +0.25 0 0.25 +0.16666666666666666 0 0.375 +0.20833333333333334 0 0.3125 +0 0.25892857142857145 0.32142857142857145 +0 0.0625 0.3125 +0 0.125 0.33333333333333331 +0.0625 0 0.4375 +0.0625 0 0.375 +0.1875 0 0.58333333333333337 +0.32142857142857145 0 0.42857142857142855 +0.32142857142857145 0 0.5714285714285714 +0.35416666666666669 0 0.5 +0.25 0 0.75 +0.14583333333333334 0 0.3125 +0.1875 0 0.4375 +0 0.0625 0.5625 +0 0.0625 0.625 +0 0.1875 0.41666666666666669 +0 0.5 0.5 +0 0.32142857142857145 0.5714285714285714 +0 0.32142857142857145 0.42857142857142855 +0 0.35416666666666669 0.5 +0 0.25 0.25 +0 0.14583333333333334 0.6875 +0 0.1875 0.5625 +0.9285714285714286 0 0.17857142857142858 +0.9375 0 0.4375 +0.7410714285714286 0 0.32142857142857145 +0.9375 0 0.3125 +0.875 0 0.33333333333333331 +0.88749999999999996 0 0.63749999999999996 +0.91666666666666663 0 0.6875 +0.89583333333333337 0 0.9375 +0.9285714285714286 0 0.8214285714285714 +0.75 0 0.75 +0.8125 0 0.8125 +0.83333333333333337 0 0.625 +0.79166666666666663 0 0.6875 +0.9375 0 0.5625 +0.9375 0 0.625 +0.8125 0 0.41666666666666669 +0.5 0 0.5 +0.5625 0 0.5625 +0.6785714285714286 0 0.42857142857142855 +0.64583333333333337 0 0.5 +0.75 0 0.25 +0.85416666666666663 0 0.6875 +0.8125 0 0.5625 +0.72916666666666663 0 0.6875 +0 0 -1 +-1 0 0 +0 -1 0 +0 -1 -1 +-1 0 -1 +1 0 -1 +0 1 -1 +-1 -1 0 +-1 1 0 +-1 0 1 +0 -1 1 +1 -1 0 +1 -0.5 -0.5 +1 -0.52083333333333337 0.48893229166666669 +0.48893229166666669 1 -0.52083333333333337 +-0.52083333333333337 1 0.48893229166666669 +-0.5 1 -0.5 +-0.52083333333333337 0.48893229166666669 1 +-0.5 -0.5 1 +0.48893229166666669 -0.52083333333333337 1 +1 0.48893229166666669 -0.52083333333333337 +-0.5 0.5 -1 +0.5 -0.5 -1 +-0.5 -0.5 -1 +0.5 0.5 -1 +-1 -0.5 0.5 +-1 0.5 -0.5 +-1 -0.5 -0.5 +-1 0.5 0.5 +0.5 -1 -0.5 +-0.5 -1 0.5 +-0.5 -1 -0.5 +0.5 -1 0.5 +0.64388020833333337 1 -0.45833333333333331 +-0.45833333333333331 1 0.64388020833333337 +-0.45833333333333331 0.64388020833333337 1 +0.64388020833333337 -0.45833333333333331 1 +1 0.64388020833333337 -0.45833333333333331 +1 -0.45833333333333331 0.64388020833333337 +0.736328125 1 -0.47916666666666669 +-0.47916666666666669 1 0.736328125 +-0.47916666666666669 0.736328125 1 +0.736328125 -0.47916666666666669 1 +1 0.736328125 -0.47916666666666669 +1 -0.47916666666666669 0.736328125 +0.77734375 1 -0.5 +-0.5 1 0.77734375 +-0.5 0.77734375 1 +0.77734375 -0.5 1 +1 0.77734375 -0.5 +1 -0.5 0.77734375 +0.80989583333333337 1 -0.5 +-0.5 1 0.80989583333333337 +-0.5 0.80989583333333337 1 +0.80989583333333337 -0.5 1 +1 0.80989583333333337 -0.5 +1 -0.5 0.80989583333333337 +0.83203125 1 -0.45833333333333331 +-0.5357142857142857 1 0.84375 +-0.45833333333333331 0.83203125 1 +0.83203125 -0.45833333333333331 1 +1 0.84375 -0.5357142857142857 +1 -0.45833333333333331 0.83203125 +0.86848958333333337 1 -0.5 +-0.45833333333333331 1 0.86588541666666663 +-0.5 0.86848958333333337 1 +0.86848958333333337 -0.5 1 +1 0.86588541666666663 -0.45833333333333331 +1 -0.5 0.86848958333333337 +0.90755208333333337 1 -0.5 +-0.5 1 0.90755208333333337 +-0.5 0.90755208333333337 1 +0.90755208333333337 -0.5 1 +1 0.90755208333333337 -0.5 +1 -0.5 0.90755208333333337 +0.94921875 1 -0.5 +-0.5 1 0.94921875 +-0.5 0.94921875 1 +0.94921875 -0.5 1 +1 0.94921875 -0.5 +1 -0.5 0.94921875 +1 1 -0.5 +-0.5 1 1 +1 -0.5 1 +0.5 -1 -1 +-0.5 -1 -1 +0 -0.5 -1 +0 -1 -0.5 +-1 -0.5 -1 +-1 0.5 -1 +-0.5 0 -1 +-1 0 -0.5 +1 0.5 -1 +1 -0.5 -1 +0.5 0 -1 +1 0 -0.5 +-0.5 1 -1 +0.5 1 -1 +0 0.5 -1 +0 1 -0.5 +-1 -1 -0.5 +-1 -1 0.5 +-1 -0.5 0 +-0.5 -1 0 +-1 1 0.5 +-1 1 -0.5 +-1 0.5 0 +-0.5 1 0 +-1 -0.5 1 +-1 0.5 1 +-1 0 0.5 +-0.5 0 1 +0.5 -1 1 +-0.5 -1 1 +0 -1 0.5 +0 -0.5 1 +1 -1 0.5 +1 -1 -0.5 +1 -0.5 0 +0.5 -1 0 +1 -0.75 -0.75 +1 -0.25 -0.25 +1 -0.75 -0.25 +1 -0.25 -0.75 +1 -0.29166666666666669 0.28190104166666669 +1 -0.75 0.76328125000000002 +1 -0.75 0.25 +0.76328125000000002 1 -0.75 +0.28450520833333331 1 -0.27083333333333331 +0.25 1 -0.75 +-0.75 1 0.76328125000000002 +-0.27083333333333331 1 0.28450520833333331 +-0.75 1 0.25 +-0.25 1 -0.25 +-0.75 1 -0.75 +-0.75 1 -0.25 +-0.25 1 -0.75 +-0.75 0.76328125000000002 1 +-0.27083333333333331 0.28450520833333331 1 +-0.75 0.25 1 +-0.25 -0.25 1 +-0.75 -0.75 1 +-0.25 -0.75 1 +-0.75 -0.25 1 +0.28450520833333331 -0.27083333333333331 1 +0.76328125000000002 -0.75 1 +0.25 -0.75 1 +1 0.28450520833333331 -0.27083333333333331 +1 0.76328125000000002 -0.75 +1 0.25 -0.75 +-0.75 0.75 -1 +-0.25 0.25 -1 +-0.75 0.25 -1 +-0.25 0.75 -1 +0.25 -0.25 -1 +0.75 -0.75 -1 +0.25 -0.75 -1 +0.75 -0.25 -1 +-0.25 -0.25 -1 +-0.75 -0.75 -1 +-0.75 -0.25 -1 +-0.25 -0.75 -1 +0.25 0.25 -1 +0.75 0.75 -1 +0.75 0.25 -1 +0.25 0.75 -1 +-1 -0.75 0.75 +-1 -0.25 0.25 +-1 -0.75 0.25 +-1 -0.25 0.75 +-1 0.25 -0.25 +-1 0.75 -0.75 +-1 0.25 -0.75 +-1 0.75 -0.25 +-1 -0.25 -0.25 +-1 -0.75 -0.75 +-1 -0.75 -0.25 +-1 -0.25 -0.75 +-1 0.25 0.25 +-1 0.75 0.75 +-1 0.75 0.25 +-1 0.25 0.75 +0.75 -1 -0.75 +0.25 -1 -0.25 +0.25 -1 -0.75 +0.75 -1 -0.25 +-0.25 -1 0.25 +-0.75 -1 0.75 +-0.75 -1 0.25 +-0.25 -1 0.75 +-0.25 -1 -0.25 +-0.75 -1 -0.75 +-0.25 -1 -0.75 +-0.75 -1 -0.25 +0.25 -1 0.25 +0.75 -1 0.75 +0.25 -1 0.75 +0.75 -1 0.25 +0.35781249999999998 1 -0.25 +-0.25 1 0.37890625 +-0.25 0.35781249999999998 1 +0.37890625 -0.25 1 +1 -0.25 0.384765625 +1 0.37890625 -0.25 +0.822265625 1 -0.73958333333333337 +-0.73958333333333337 1 0.826171875 +-0.73958333333333337 0.822265625 1 +0.82421875 -0.7232142857142857 1 +1 0.826171875 -0.73958333333333337 +1 -0.73958333333333337 0.822265625 +0.47916666666666669 1 -0.21875 +-0.20833333333333334 1 0.45768229166666669 +-0.21875 0.47916666666666669 1 +0.45768229166666669 -0.20833333333333334 1 +1 0.45768229166666669 -0.20833333333333334 +1 -0.21875 0.47916666666666669 +0.53255208333333337 1 -0.1875 +-0.20535714285714285 1 0.5184151785714286 +-0.1875 0.53255208333333337 1 +0.5184151785714286 -0.20535714285714285 1 +1 0.5184151785714286 -0.20535714285714285 +1 -0.1875 0.53255208333333337 +0.60026041666666663 1 -0.22916666666666666 +0.86002604166666663 1 -0.69791666666666663 +-0.27083333333333331 1 0.60026041666666663 +-0.67708333333333337 1 0.865234375 +-0.22916666666666666 0.60026041666666663 1 +-0.69791666666666663 0.86002604166666663 1 +0.61640625000000004 -0.26250000000000001 1 +0.86953124999999998 -0.71250000000000002 1 +1 0.865234375 -0.67708333333333337 +1 0.61640625000000004 -0.26250000000000001 +1 -0.22916666666666666 0.60026041666666663 +1 -0.69791666666666663 0.86002604166666663 +0.7075892857142857 1 -0.26785714285714285 +-0.26785714285714285 1 0.7075892857142857 +-0.26785714285714285 0.7075892857142857 1 +0.7075892857142857 -0.26785714285714285 1 +1 0.7075892857142857 -0.26785714285714285 +1 -0.26785714285714285 0.7075892857142857 +0.916015625 1 -0.73958333333333337 +0.7645089285714286 1 -0.26785714285714285 +-0.26785714285714285 1 0.7645089285714286 +-0.73958333333333337 1 0.916015625 +-0.73958333333333337 0.916015625 1 +-0.26785714285714285 0.7645089285714286 1 +0.916015625 -0.73958333333333337 1 +0.7645089285714286 -0.26785714285714285 1 +1 0.7645089285714286 -0.26785714285714285 +1 0.916015625 -0.73958333333333337 +1 -0.73958333333333337 0.916015625 +1 -0.26785714285714285 0.7645089285714286 +0.8158482142857143 1 -0.26785714285714285 +-0.26785714285714285 1 0.8158482142857143 +-0.26785714285714285 0.8158482142857143 1 +0.8158482142857143 -0.26785714285714285 1 +1 0.8158482142857143 -0.26785714285714285 +1 -0.26785714285714285 0.8158482142857143 +0.86458333333333337 1 -0.25 +0.9609375 1 -0.75 +-0.75 1 0.9609375 +-0.25 1 0.86458333333333337 +-0.25 0.86458333333333337 1 +-0.75 0.9609375 1 +0.9609375 -0.75 1 +0.86458333333333337 -0.25 1 +1 0.86458333333333337 -0.25 +1 0.9609375 -0.75 +1 -0.25 0.86458333333333337 +1 -0.75 0.9609375 +0.91145833333333337 1 -0.25 +-0.25 1 0.91145833333333337 +-0.25 0.91145833333333337 1 +0.91145833333333337 -0.25 1 +1 0.91145833333333337 -0.25 +1 -0.25 0.91145833333333337 +0.95182291666666663 1 -0.25 +-0.25 1 0.95182291666666663 +-0.25 0.95182291666666663 1 +0.95182291666666663 -0.25 1 +1 -0.25 0.95182291666666663 +1 0.95182291666666663 -0.25 +1 1 -0.25 +1 1 -0.75 +-0.25 1 1 +-0.75 1 1 +1 -0.25 1 +1 -0.75 1 +0.75 -1 -1 +0.25 -1 -1 +0.5 -0.75 -1 +0.5 -1 -0.75 +-0.25 -1 -1 +-0.75 -1 -1 +-0.5 -0.75 -1 +-0.5 -1 -0.75 +0 -0.75 -1 +0 -0.25 -1 +0.25 -0.52500000000000002 -1 +-0.25 -0.47499999999999998 -1 +0 -1 -0.75 +0 -1 -0.25 +-0.25 -1 -0.52500000000000002 +0.25 -1 -0.47499999999999998 +-1 -0.75 -1 +-1 -0.25 -1 +-0.75 -0.5 -1 +-1 -0.5 -0.75 +-1 0.25 -1 +-1 0.75 -1 +-0.75 0.5 -1 +-1 0.5 -0.75 +-0.75 0 -1 +-0.25 0 -1 +-0.52500000000000002 -0.25 -1 +-0.47499999999999998 0.25 -1 +-1 0 -0.75 +-1 0 -0.25 +-1 0.25 -0.52500000000000002 +-1 -0.25 -0.47499999999999998 +1 0.75 -1 +1 0.25 -1 +0.75 0.5 -1 +1 0.47499999999999998 -0.75 +1 -0.25 -1 +1 -0.75 -1 +0.75 -0.5 -1 +1 -0.5 -0.75 +0.75 0 -1 +0.25 0 -1 +0.52500000000000002 0.25 -1 +0.47499999999999998 -0.25 -1 +1 0 -0.75 +1 0 -0.25 +1 -0.25 -0.52500000000000002 +1 0.25 -0.5 +-0.75 1 -1 +-0.25 1 -1 +-0.5 0.75 -1 +-0.5 1 -0.75 +0.25 1 -1 +0.75 1 -1 +0.5 0.75 -1 +0.47499999999999998 1 -0.75 +0 0.75 -1 +0 0.25 -1 +-0.25 0.52500000000000002 -1 +0.25 0.47499999999999998 -1 +0 1 -0.75 +0 1 -0.25 +0.25 1 -0.52500000000000002 +-0.25 1 -0.47499999999999998 +-1 -1 -0.75 +-1 -1 -0.25 +-1 -0.75 -0.5 +-0.75 -1 -0.5 +-1 -1 0.25 +-1 -1 0.75 +-1 -0.75 0.5 +-0.75 -1 0.5 +-1 -0.75 0 +-1 -0.25 0 +-1 -0.52500000000000002 -0.25 +-1 -0.47499999999999998 0.25 +-0.75 -1 0 +-0.25 -1 0 +-0.52500000000000002 -1 0.25 +-0.47499999999999998 -1 -0.25 +-1 1 0.75 +-1 1 0.25 +-1 0.75 0.5 +-0.75 1 0.47499999999999998 +-1 1 -0.25 +-1 1 -0.75 +-1 0.75 -0.5 +-0.75 1 -0.5 +-1 0.75 0 +-1 0.25 0 +-1 0.52500000000000002 0.25 +-1 0.47499999999999998 -0.25 +-0.75 1 0 +-0.25 1 0 +-0.52500000000000002 1 -0.25 +-0.5 1 0.25 +-1 -0.75 1 +-1 -0.25 1 +-1 -0.5 0.75 +-0.75 -0.5 1 +-1 0.25 1 +-1 0.75 1 +-1 0.5 0.75 +-0.75 0.47499999999999998 1 +-1 0 0.75 +-1 0 0.25 +-1 -0.25 0.52500000000000002 +-1 0.25 0.47499999999999998 +-0.75 0 1 +-0.25 0 1 +-0.52500000000000002 0.25 1 +-0.47499999999999998 -0.25 1 +0.75 -1 1 +0.25 -1 1 +0.5 -1 0.75 +0.47499999999999998 -0.75 1 +-0.25 -1 1 +-0.75 -1 1 +-0.5 -1 0.75 +-0.5 -0.75 1 +0 -1 0.75 +0 -1 0.25 +0.25 -1 0.52500000000000002 +-0.25 -1 0.47499999999999998 +0 -0.75 1 +0 -0.25 1 +-0.25 -0.52500000000000002 1 +0.25 -0.5 1 +1 -1 0.75 +1 -1 0.25 +1 -0.75 0.47499999999999998 +0.75 -1 0.5 +1 -1 -0.25 +1 -1 -0.75 +1 -0.75 -0.5 +0.75 -1 -0.5 +1 -0.75 0 +1 -0.25 0 +1 -0.52500000000000002 0.25 +1 -0.47499999999999998 -0.25 +0.75 -1 0 +0.25 -1 0 +0.52500000000000002 -1 -0.25 +0.47499999999999998 -1 0.25 +1 -0.85416666666666663 -0.85416666666666663 +1 -0.625 -0.625 +1 -0.8571428571428571 -0.625 +1 -0.625 -0.8571428571428571 +1 -0.375 -0.39285714285714285 +1 -0.10416666666666667 -0.10416666666666667 +1 -0.35416666666666669 -0.14583333333333334 +1 -0.14285714285714285 -0.375 +1 -0.625 -0.375 +1 -0.875 -0.125 +1 -0.8571428571428571 -0.375 +1 -0.625 -0.14285714285714285 +1 -0.39285714285714285 -0.625 +1 -0.125 -0.875 +1 -0.14583333333333334 -0.64583333333333337 +1 -0.375 -0.8571428571428571 +1 -0.14285714285714285 0.12388392857142858 +1 -0.38392857142857145 0.34933035714285715 +1 -0.39583333333333331 0.14583333333333334 +1 -0.65625 0.61067708333333337 +1 -0.90625 0.865234375 +1 -0.8571428571428571 0.625 +1 -0.64583333333333337 0.35416666666666669 +1 -0.875 0.125 +1 -0.64583333333333337 0.14583333333333334 +1 -0.875 0.375 +0.865234375 1 -0.90625 +0.61067708333333337 1 -0.65625 +0.625 1 -0.8571428571428571 +0.36588541666666669 1 -0.40625 +0.12388392857142858 1 -0.14285714285714285 +0.14583333333333334 1 -0.39583333333333331 +0.35416666666666669 1 -0.64583333333333337 +0.125 1 -0.875 +0.14583333333333334 1 -0.64583333333333337 +0.375 1 -0.875 +-0.90625 1 0.865234375 +-0.65625 1 0.61067708333333337 +-0.8571428571428571 1 0.625 +-0.40625 1 0.36588541666666669 +-0.125 1 0.12369791666666667 +-0.35416666666666669 1 0.14583333333333334 +-0.64583333333333337 1 0.35416666666666669 +-0.875 1 0.125 +-0.875 1 0.375 +-0.625 1 0.125 +-0.10416666666666667 1 -0.10416666666666667 +-0.39285714285714285 1 -0.375 +-0.375 1 -0.14285714285714285 +-0.14583333333333334 1 -0.35416666666666669 +-0.625 1 -0.625 +-0.85416666666666663 1 -0.85416666666666663 +-0.8571428571428571 1 -0.625 +-0.625 1 -0.8571428571428571 +-0.625 1 -0.39285714285714285 +-0.875 1 -0.125 +-0.64583333333333337 1 -0.14583333333333334 +-0.8571428571428571 1 -0.375 +-0.375 1 -0.625 +-0.125 1 -0.875 +-0.375 1 -0.8571428571428571 +-0.14285714285714285 1 -0.625 +-0.90625 0.865234375 1 +-0.65625 0.61067708333333337 1 +-0.8571428571428571 0.625 1 +-0.40625 0.36588541666666669 1 +-0.14285714285714285 0.12388392857142858 1 +-0.39583333333333331 0.14583333333333334 1 +-0.64583333333333337 0.35416666666666669 1 +-0.875 0.125 1 +-0.64583333333333337 0.14583333333333334 1 +-0.875 0.375 1 +-0.10416666666666667 -0.10416666666666667 1 +-0.375 -0.39285714285714285 1 +-0.14285714285714285 -0.375 1 +-0.35416666666666669 -0.14583333333333334 1 +-0.625 -0.625 1 +-0.85416666666666663 -0.85416666666666663 1 +-0.625 -0.8571428571428571 1 +-0.8571428571428571 -0.625 1 +-0.39285714285714285 -0.625 1 +-0.125 -0.875 1 +-0.14583333333333334 -0.64583333333333337 1 +-0.375 -0.8571428571428571 1 +-0.625 -0.375 1 +-0.875 -0.125 1 +-0.8571428571428571 -0.375 1 +-0.625 -0.14285714285714285 1 +0.12369791666666667 -0.125 1 +0.36588541666666669 -0.40625 1 +0.14583333333333334 -0.35416666666666669 1 +0.61067708333333337 -0.65625 1 +0.865234375 -0.90625 1 +0.625 -0.8571428571428571 1 +0.35416666666666669 -0.64583333333333337 1 +0.125 -0.875 1 +0.375 -0.875 1 +0.125 -0.625 1 +1 0.12369791666666667 -0.125 +1 0.36588541666666669 -0.40625 +1 0.14583333333333334 -0.35416666666666669 +1 0.61067708333333337 -0.65625 +1 0.865234375 -0.90625 +1 0.625 -0.8571428571428571 +1 0.35416666666666669 -0.64583333333333337 +1 0.125 -0.875 +1 0.375 -0.875 +1 0.125 -0.625 +-0.85416666666666663 0.85416666666666663 -1 +-0.625 0.625 -1 +-0.8571428571428571 0.625 -1 +-0.625 0.8571428571428571 -1 +-0.375 0.39285714285714285 -1 +-0.10416666666666667 0.10416666666666667 -1 +-0.35416666666666669 0.14583333333333334 -1 +-0.14285714285714285 0.375 -1 +-0.625 0.375 -1 +-0.875 0.125 -1 +-0.8571428571428571 0.375 -1 +-0.625 0.14285714285714285 -1 +-0.39285714285714285 0.625 -1 +-0.125 0.875 -1 +-0.14583333333333334 0.64583333333333337 -1 +-0.375 0.8571428571428571 -1 +0.10416666666666667 -0.10416666666666667 -1 +0.375 -0.39285714285714285 -1 +0.14285714285714285 -0.375 -1 +0.35416666666666669 -0.14583333333333334 -1 +0.625 -0.625 -1 +0.85416666666666663 -0.85416666666666663 -1 +0.625 -0.8571428571428571 -1 +0.8571428571428571 -0.625 -1 +0.39285714285714285 -0.625 -1 +0.125 -0.875 -1 +0.14583333333333334 -0.64583333333333337 -1 +0.375 -0.8571428571428571 -1 +0.625 -0.375 -1 +0.875 -0.125 -1 +0.8571428571428571 -0.375 -1 +0.625 -0.14285714285714285 -1 +-0.10416666666666667 -0.10416666666666667 -1 +-0.39285714285714285 -0.375 -1 +-0.375 -0.14285714285714285 -1 +-0.14583333333333334 -0.35416666666666669 -1 +-0.625 -0.625 -1 +-0.85416666666666663 -0.85416666666666663 -1 +-0.8571428571428571 -0.625 -1 +-0.625 -0.8571428571428571 -1 +-0.625 -0.39285714285714285 -1 +-0.875 -0.125 -1 +-0.64583333333333337 -0.14583333333333334 -1 +-0.8571428571428571 -0.375 -1 +-0.375 -0.625 -1 +-0.125 -0.875 -1 +-0.375 -0.8571428571428571 -1 +-0.14285714285714285 -0.625 -1 +0.10416666666666667 0.10416666666666667 -1 +0.39285714285714285 0.375 -1 +0.375 0.14285714285714285 -1 +0.14583333333333334 0.35416666666666669 -1 +0.625 0.625 -1 +0.85416666666666663 0.85416666666666663 -1 +0.8571428571428571 0.625 -1 +0.625 0.8571428571428571 -1 +0.625 0.39285714285714285 -1 +0.875 0.125 -1 +0.64583333333333337 0.14583333333333334 -1 +0.8571428571428571 0.375 -1 +0.375 0.625 -1 +0.125 0.875 -1 +0.375 0.8571428571428571 -1 +0.14285714285714285 0.625 -1 +-1 -0.85416666666666663 0.85416666666666663 +-1 -0.625 0.625 +-1 -0.8571428571428571 0.625 +-1 -0.625 0.8571428571428571 +-1 -0.375 0.39285714285714285 +-1 -0.10416666666666667 0.10416666666666667 +-1 -0.35416666666666669 0.14583333333333334 +-1 -0.14285714285714285 0.375 +-1 -0.625 0.375 +-1 -0.875 0.125 +-1 -0.8571428571428571 0.375 +-1 -0.625 0.14285714285714285 +-1 -0.39285714285714285 0.625 +-1 -0.125 0.875 +-1 -0.14583333333333334 0.64583333333333337 +-1 -0.375 0.8571428571428571 +-1 0.10416666666666667 -0.10416666666666667 +-1 0.375 -0.39285714285714285 +-1 0.14285714285714285 -0.375 +-1 0.35416666666666669 -0.14583333333333334 +-1 0.625 -0.625 +-1 0.85416666666666663 -0.85416666666666663 +-1 0.625 -0.8571428571428571 +-1 0.8571428571428571 -0.625 +-1 0.39285714285714285 -0.625 +-1 0.125 -0.875 +-1 0.14583333333333334 -0.64583333333333337 +-1 0.375 -0.8571428571428571 +-1 0.625 -0.375 +-1 0.875 -0.125 +-1 0.8571428571428571 -0.375 +-1 0.625 -0.14285714285714285 +-1 -0.10416666666666667 -0.10416666666666667 +-1 -0.39285714285714285 -0.375 +-1 -0.375 -0.14285714285714285 +-1 -0.14583333333333334 -0.35416666666666669 +-1 -0.625 -0.625 +-1 -0.85416666666666663 -0.85416666666666663 +-1 -0.8571428571428571 -0.625 +-1 -0.625 -0.8571428571428571 +-1 -0.625 -0.39285714285714285 +-1 -0.875 -0.125 +-1 -0.64583333333333337 -0.14583333333333334 +-1 -0.8571428571428571 -0.375 +-1 -0.375 -0.625 +-1 -0.125 -0.875 +-1 -0.375 -0.8571428571428571 +-1 -0.14285714285714285 -0.625 +-1 0.10416666666666667 0.10416666666666667 +-1 0.39285714285714285 0.375 +-1 0.375 0.14285714285714285 +-1 0.14583333333333334 0.35416666666666669 +-1 0.625 0.625 +-1 0.85416666666666663 0.85416666666666663 +-1 0.8571428571428571 0.625 +-1 0.625 0.8571428571428571 +-1 0.625 0.39285714285714285 +-1 0.875 0.125 +-1 0.64583333333333337 0.14583333333333334 +-1 0.8571428571428571 0.375 +-1 0.375 0.625 +-1 0.125 0.875 +-1 0.375 0.8571428571428571 +-1 0.14285714285714285 0.625 +0.85416666666666663 -1 -0.85416666666666663 +0.625 -1 -0.625 +0.625 -1 -0.8571428571428571 +0.8571428571428571 -1 -0.625 +0.39285714285714285 -1 -0.375 +0.10416666666666667 -1 -0.10416666666666667 +0.14583333333333334 -1 -0.35416666666666669 +0.375 -1 -0.14285714285714285 +0.375 -1 -0.625 +0.125 -1 -0.875 +0.375 -1 -0.8571428571428571 +0.14285714285714285 -1 -0.625 +0.625 -1 -0.39285714285714285 +0.875 -1 -0.125 +0.64583333333333337 -1 -0.14583333333333334 +0.8571428571428571 -1 -0.375 +-0.10416666666666667 -1 0.10416666666666667 +-0.39285714285714285 -1 0.375 +-0.375 -1 0.14285714285714285 +-0.14583333333333334 -1 0.35416666666666669 +-0.625 -1 0.625 +-0.85416666666666663 -1 0.85416666666666663 +-0.8571428571428571 -1 0.625 +-0.625 -1 0.8571428571428571 +-0.625 -1 0.39285714285714285 +-0.875 -1 0.125 +-0.64583333333333337 -1 0.14583333333333334 +-0.8571428571428571 -1 0.375 +-0.375 -1 0.625 +-0.125 -1 0.875 +-0.375 -1 0.8571428571428571 +-0.14285714285714285 -1 0.625 +-0.10416666666666667 -1 -0.10416666666666667 +-0.375 -1 -0.39285714285714285 +-0.14285714285714285 -1 -0.375 +-0.35416666666666669 -1 -0.14583333333333334 +-0.625 -1 -0.625 +-0.85416666666666663 -1 -0.85416666666666663 +-0.625 -1 -0.8571428571428571 +-0.8571428571428571 -1 -0.625 +-0.39285714285714285 -1 -0.625 +-0.125 -1 -0.875 +-0.14583333333333334 -1 -0.64583333333333337 +-0.375 -1 -0.8571428571428571 +-0.625 -1 -0.375 +-0.875 -1 -0.125 +-0.8571428571428571 -1 -0.375 +-0.625 -1 -0.14285714285714285 +0.10416666666666667 -1 0.10416666666666667 +0.375 -1 0.39285714285714285 +0.14285714285714285 -1 0.375 +0.35416666666666669 -1 0.14583333333333334 +0.625 -1 0.625 +0.85416666666666663 -1 0.85416666666666663 +0.625 -1 0.8571428571428571 +0.8571428571428571 -1 0.625 +0.39285714285714285 -1 0.625 +0.125 -1 0.875 +0.14583333333333334 -1 0.64583333333333337 +0.375 -1 0.8571428571428571 +0.625 -1 0.375 +0.875 -1 0.125 +0.8571428571428571 -1 0.375 +0.625 -1 0.14285714285714285 +0.67447916666666663 1 -0.625 +0.23046875 1 -0.10416666666666667 +-0.10714285714285715 1 0.24665178571428573 +-0.625 1 0.67447916666666663 +-0.625 0.67447916666666663 1 +-0.10416666666666667 0.23046875 1 +0.67447916666666663 -0.625 1 +0.24665178571428573 -0.10714285714285715 1 +1 0.67447916666666663 -0.625 +1 0.24665178571428573 -0.10714285714285715 +1 -0.10416666666666667 0.23046875 +1 -0.625 0.67447916666666663 +0.43125000000000002 1 -0.34999999999999998 +-0.35416666666666669 1 0.45703125 +-0.34999999999999998 0.43125000000000002 1 +0.43125000000000002 -0.34999999999999998 1 +1 0.43125000000000002 -0.34999999999999998 +1 -0.34999999999999998 0.43125000000000002 +0.37239583333333331 1 -0.10416666666666667 +0.70703125 1 -0.61250000000000004 +-0.125 1 0.359375 +-0.61250000000000004 1 0.70703125 +-0.10416666666666667 0.37239583333333331 1 +-0.61250000000000004 0.70703125 1 +0.359375 -0.125 1 +0.70703125 -0.61250000000000004 1 +1 0.70703125 -0.61250000000000004 +1 0.359375 -0.125 +1 -0.61250000000000004 0.70703125 +1 -0.10416666666666667 0.37239583333333331 +0.75260416666666663 1 -0.58333333333333337 +0.44205729166666669 1 -0.13541666666666666 +-0.58333333333333337 1 0.75260416666666663 +-0.13541666666666666 1 0.44205729166666669 +-0.58333333333333337 0.75260416666666663 1 +-0.13541666666666666 0.44205729166666669 1 +0.75260416666666663 -0.58333333333333337 1 +0.44205729166666669 -0.13541666666666666 1 +1 0.75260416666666663 -0.58333333333333337 +1 0.44205729166666669 -0.13541666666666666 +1 -0.58333333333333337 0.75260416666666663 +1 -0.13541666666666666 0.44205729166666669 +0.60677083333333337 1 -0.35416666666666669 +-0.38392857142857145 1 0.5563616071428571 +-0.35416666666666669 0.60677083333333337 1 +0.59440104166666663 -0.34375 1 +1 0.59440104166666663 -0.34375 +1 -0.35416666666666669 0.60677083333333337 +0.49609375 1 -0.16250000000000001 +-0.16250000000000001 1 0.49609375 +-0.16250000000000001 0.49609375 1 +0.49609375 -0.16250000000000001 1 +1 0.49609375 -0.16250000000000001 +1 -0.16250000000000001 0.49609375 +0.556640625 1 -0.125 +0.69062500000000004 1 -0.33750000000000002 +0.8052455357142857 1 -0.6339285714285714 +0.90937500000000004 1 -0.86250000000000004 +-0.125 1 0.556640625 +-0.33750000000000002 1 0.69062500000000004 +-0.58750000000000002 1 0.78984374999999996 +-0.86250000000000004 1 0.90937500000000004 +-0.125 0.556640625 1 +-0.33750000000000002 0.69062500000000004 1 +-0.6339285714285714 0.8052455357142857 1 +-0.86250000000000004 0.90937500000000004 1 +0.556640625 -0.125 1 +0.69062500000000004 -0.33750000000000002 1 +0.79361979166666663 -0.61458333333333337 1 +0.90937500000000004 -0.86250000000000004 1 +1 0.90937500000000004 -0.86250000000000004 +1 0.78984374999999996 -0.58750000000000002 +1 0.69062500000000004 -0.33750000000000002 +1 0.556640625 -0.125 +1 -0.125 0.556640625 +1 -0.33750000000000002 0.69062500000000004 +1 -0.6339285714285714 0.8052455357142857 +1 -0.86250000000000004 0.90937500000000004 +0.65468749999999998 1 -0.38750000000000001 +-0.36458333333333331 1 0.64973958333333337 +-0.38750000000000001 0.65468749999999998 1 +0.64973958333333337 -0.36458333333333331 1 +1 0.64973958333333337 -0.36458333333333331 +1 -0.38750000000000001 0.65468749999999998 +0.85026041666666663 1 -0.58333333333333337 +-0.63541666666666663 1 0.818359375 +-0.58333333333333337 0.85026041666666663 1 +0.8448660714285714 -0.6071428571428571 1 +1 0.818359375 -0.63541666666666663 +1 -0.58333333333333337 0.85026041666666663 +0.517578125 1 -0.10416666666666667 +-0.10416666666666667 1 0.517578125 +-0.10416666666666667 0.517578125 1 +0.517578125 -0.10416666666666667 1 +1 0.517578125 -0.10416666666666667 +1 -0.10416666666666667 0.517578125 +0.72031250000000002 1 -0.38750000000000001 +-0.38750000000000001 1 0.72031250000000002 +-0.38750000000000001 0.72031250000000002 1 +0.72031250000000002 -0.38750000000000001 1 +1 0.72031250000000002 -0.38750000000000001 +1 -0.38750000000000001 0.72031250000000002 +0.74869791666666663 1 -0.375 +0.65087890625 1 -0.1328125 +-0.375 1 0.74869791666666663 +-0.13541666666666666 1 0.65950520833333337 +-0.375 0.74869791666666663 1 +-0.1328125 0.65087890625 1 +0.74869791666666663 -0.375 1 +0.66471354166666663 -0.11458333333333333 1 +1 0.74869791666666663 -0.375 +1 0.65950520833333337 -0.13541666666666666 +1 -0.375 0.74869791666666663 +1 -0.1328125 0.65087890625 +0.94205729166666663 1 -0.83333333333333337 +0.890625 1 -0.625 +0.80598958333333337 1 -0.375 +0.72526041666666663 1 -0.125 +-0.125 1 0.72526041666666663 +-0.375 1 0.80598958333333337 +-0.60416666666666663 1 0.89192708333333337 +-0.83333333333333337 1 0.94205729166666663 +-0.83333333333333337 0.94205729166666663 1 +-0.625 0.890625 1 +-0.375 0.80598958333333337 1 +-0.125 0.72526041666666663 1 +0.94205729166666663 -0.83333333333333337 1 +0.890625 -0.625 1 +0.80598958333333337 -0.375 1 +0.72526041666666663 -0.125 1 +1 0.72526041666666663 -0.125 +1 0.80598958333333337 -0.375 +1 0.89192708333333337 -0.60416666666666663 +1 0.94205729166666663 -0.83333333333333337 +1 -0.83333333333333337 0.94205729166666663 +1 -0.625 0.890625 +1 -0.375 0.80598958333333337 +1 -0.125 0.72526041666666663 +0.59765625 1 -0.125 +-0.14285714285714285 1 0.6060267857142857 +-0.125 0.59765625 1 +0.59635416666666663 -0.14583333333333334 1 +1 0.6060267857142857 -0.14285714285714285 +1 -0.125 0.59765625 +0.78125 1 -0.40000000000000002 +-0.40000000000000002 1 0.78125 +-0.40000000000000002 0.78125 1 +0.78125 -0.40000000000000002 1 +1 0.78125 -0.40000000000000002 +1 -0.40000000000000002 0.78125 +0.78385416666666663 1 -0.125 +0.8515625 1 -0.375 +-0.125 1 0.78385416666666663 +-0.34999999999999998 1 0.85312500000000002 +-0.125 0.78385416666666663 1 +-0.375 0.8515625 1 +0.78385416666666663 -0.125 1 +0.8515625 -0.375 1 +1 0.85312500000000002 -0.34999999999999998 +1 0.78385416666666663 -0.125 +1 -0.125 0.78385416666666663 +1 -0.375 0.8515625 +0.826171875 1 -0.375 +-0.40000000000000002 1 0.8359375 +-0.375 0.826171875 1 +0.826171875 -0.375 1 +1 0.8359375 -0.40000000000000002 +1 -0.375 0.826171875 +0.83854166666666663 1 -0.125 +0.9296875 1 -0.625 +0.98046875 1 -0.86458333333333337 +-0.86458333333333337 1 0.98046875 +-0.625 1 0.9296875 +-0.125 1 0.83854166666666663 +-0.125 0.83854166666666663 1 +-0.625 0.9296875 1 +-0.86458333333333337 0.98046875 1 +0.98046875 -0.86458333333333337 1 +0.9296875 -0.625 1 +0.83854166666666663 -0.125 1 +1 0.83854166666666663 -0.125 +1 0.9296875 -0.625 +1 0.98046875 -0.86458333333333337 +1 -0.125 0.83854166666666663 +1 -0.625 0.9296875 +1 -0.86458333333333337 0.98046875 +0.97265625 1 -0.125 +-0.125 1 0.97265625 +-0.125 0.97265625 1 +0.97265625 -0.125 1 +1 -0.125 0.97265625 +1 0.97265625 -0.125 +0.92708333333333337 1 -0.375 +0.88932291666666663 1 -0.13541666666666666 +-0.375 1 0.92708333333333337 +-0.13541666666666666 1 0.88932291666666663 +-0.375 0.92708333333333337 1 +-0.13541666666666666 0.88932291666666663 1 +0.92708333333333337 -0.375 1 +0.88932291666666663 -0.13541666666666666 1 +1 0.88932291666666663 -0.13541666666666666 +1 0.92708333333333337 -0.375 +1 -0.13541666666666666 0.88932291666666663 +1 -0.375 0.92708333333333337 +0.88541666666666663 1 -0.375 +-0.375 1 0.88541666666666663 +-0.375 0.88541666666666663 1 +0.88541666666666663 -0.375 1 +1 0.88541666666666663 -0.375 +1 -0.375 0.88541666666666663 +0.9296875 1 -0.13541666666666666 +0.96875 1 -0.375 +0.97005208333333337 1 -0.625 +-0.625 1 0.97005208333333337 +-0.375 1 0.96875 +-0.13541666666666666 1 0.9296875 +-0.13541666666666666 0.9296875 1 +-0.375 0.96875 1 +-0.625 0.97005208333333337 1 +0.97005208333333337 -0.625 1 +0.96875 -0.375 1 +0.9296875 -0.13541666666666666 1 +1 -0.625 0.97005208333333337 +1 -0.375 0.96875 +1 -0.13541666666666666 0.9296875 +1 0.97005208333333337 -0.625 +1 0.96875 -0.375 +1 0.9296875 -0.13541666666666666 +1 1 -0.125 +1 1 -0.375 +1 1 -0.625 +1 1 -0.875 +-0.125 1 1 +-0.375 1 1 +-0.625 1 1 +-0.875 1 1 +1 -0.125 1 +1 -0.375 1 +1 -0.625 1 +1 -0.875 1 +0.875 -1 -1 +0.625 -1 -1 +0.75 -0.875 -1 +0.75 -1 -0.875 +0.375 -1 -1 +0.125 -1 -1 +0.25 -0.875 -1 +0.25 -1 -0.875 +0.5 -0.875 -1 +0.5 -0.625 -1 +0.625 -0.75 -1 +0.375 -0.75 -1 +0.5 -1 -0.875 +0.5 -1 -0.625 +0.375 -1 -0.75 +0.625 -1 -0.75 +-0.125 -1 -1 +-0.375 -1 -1 +-0.25 -0.875 -1 +-0.25 -1 -0.875 +-0.625 -1 -1 +-0.875 -1 -1 +-0.75 -0.875 -1 +-0.75 -1 -0.875 +-0.5 -0.875 -1 +-0.5 -0.625 -1 +-0.375 -0.75 -1 +-0.625 -0.75 -1 +-0.5 -1 -0.875 +-0.5 -1 -0.625 +-0.625 -1 -0.75 +-0.375 -1 -0.75 +0 -0.875 -1 +0 -0.625 -1 +0.10416666666666667 -0.72916666666666663 -1 +-0.10416666666666667 -0.72916666666666663 -1 +0 -0.375 -1 +0 -0.125 -1 +0.10416666666666667 -0.27083333333333331 -1 +-0.10416666666666667 -0.27083333333333331 -1 +0.10416666666666667 -0.47916666666666669 -1 +0.375 -0.5 -1 +0.22916666666666666 -0.60416666666666663 -1 +0.25 -0.375 -1 +-0.10416666666666667 -0.52083333333333337 -1 +-0.375 -0.5 -1 +-0.22916666666666666 -0.39583333333333331 -1 +-0.25 -0.625 -1 +0 -1 -0.875 +0 -1 -0.625 +-0.10416666666666667 -1 -0.72916666666666663 +0.10416666666666667 -1 -0.72916666666666663 +0 -1 -0.375 +0 -1 -0.125 +-0.10416666666666667 -1 -0.27083333333333331 +0.10416666666666667 -1 -0.27083333333333331 +-0.10416666666666667 -1 -0.47916666666666669 +-0.375 -1 -0.5 +-0.22916666666666666 -1 -0.60416666666666663 +-0.25 -1 -0.375 +0.10416666666666667 -1 -0.52083333333333337 +0.375 -1 -0.5 +0.22916666666666666 -1 -0.39583333333333331 +0.25 -1 -0.625 +-1 -0.875 -1 +-1 -0.625 -1 +-0.875 -0.75 -1 +-1 -0.75 -0.875 +-1 -0.375 -1 +-1 -0.125 -1 +-0.875 -0.25 -1 +-1 -0.25 -0.875 +-0.875 -0.5 -1 +-0.625 -0.5 -1 +-0.75 -0.625 -1 +-0.75 -0.375 -1 +-1 -0.5 -0.875 +-1 -0.5 -0.625 +-1 -0.375 -0.75 +-1 -0.625 -0.75 +-1 0.125 -1 +-1 0.375 -1 +-0.875 0.25 -1 +-1 0.25 -0.875 +-1 0.625 -1 +-1 0.875 -1 +-0.875 0.75 -1 +-1 0.75 -0.875 +-0.875 0.5 -1 +-0.625 0.5 -1 +-0.75 0.375 -1 +-0.75 0.625 -1 +-1 0.5 -0.875 +-1 0.5 -0.625 +-1 0.625 -0.75 +-1 0.375 -0.75 +-0.875 0 -1 +-0.625 0 -1 +-0.72916666666666663 -0.10416666666666667 -1 +-0.72916666666666663 0.10416666666666667 -1 +-0.375 0 -1 +-0.125 0 -1 +-0.27083333333333331 -0.10416666666666667 -1 +-0.27083333333333331 0.10416666666666667 -1 +-0.47916666666666669 -0.10416666666666667 -1 +-0.5 -0.375 -1 +-0.60416666666666663 -0.22916666666666666 -1 +-0.375 -0.25 -1 +-0.52083333333333337 0.10416666666666667 -1 +-0.5 0.375 -1 +-0.39583333333333331 0.22916666666666666 -1 +-0.625 0.25 -1 +-1 0 -0.875 +-1 0 -0.625 +-1 0.10416666666666667 -0.72916666666666663 +-1 -0.10416666666666667 -0.72916666666666663 +-1 0 -0.375 +-1 0 -0.125 +-1 0.10416666666666667 -0.27083333333333331 +-1 -0.10416666666666667 -0.27083333333333331 +-1 0.10416666666666667 -0.47916666666666669 +-1 0.375 -0.5 +-1 0.22916666666666666 -0.60416666666666663 +-1 0.25 -0.375 +-1 -0.10416666666666667 -0.52083333333333337 +-1 -0.375 -0.5 +-1 -0.22916666666666666 -0.39583333333333331 +-1 -0.25 -0.625 +1 0.875 -1 +1 0.625 -1 +0.875 0.75 -1 +1 0.755859375 -0.875 +1 0.375 -1 +1 0.125 -1 +0.875 0.25 -1 +1 0.25 -0.875 +0.875 0.5 -1 +0.625 0.5 -1 +0.75 0.625 -1 +0.75 0.375 -1 +1 0.5 -0.875 +1 0.525390625 -0.60416666666666663 +1 0.39583333333333331 -0.72916666666666663 +1 0.62955729166666663 -0.75 +1 -0.125 -1 +1 -0.375 -1 +0.875 -0.25 -1 +1 -0.25 -0.875 +1 -0.625 -1 +1 -0.875 -1 +0.875 -0.75 -1 +1 -0.75 -0.875 +0.875 -0.5 -1 +0.625 -0.5 -1 +0.75 -0.375 -1 +0.75 -0.625 -1 +1 -0.5 -0.875 +1 -0.5 -0.625 +1 -0.625 -0.75 +1 -0.375 -0.75 +0.875 0 -1 +0.625 0 -1 +0.72916666666666663 0.10416666666666667 -1 +0.72916666666666663 -0.10416666666666667 -1 +0.375 0 -1 +0.125 0 -1 +0.27083333333333331 0.10416666666666667 -1 +0.27083333333333331 -0.10416666666666667 -1 +0.47916666666666669 0.10416666666666667 -1 +0.5 0.375 -1 +0.60416666666666663 0.22916666666666666 -1 +0.375 0.25 -1 +0.52083333333333337 -0.10416666666666667 -1 +0.5 -0.375 -1 +0.39583333333333331 -0.22916666666666666 -1 +0.625 -0.25 -1 +1 0 -0.875 +1 0 -0.625 +1 -0.10416666666666667 -0.72916666666666663 +1 0.10416666666666667 -0.72916666666666663 +1 0 -0.375 +1 0 -0.125 +1 -0.10416666666666667 -0.27083333333333331 +1 0.10677083333333334 -0.27083333333333331 +1 -0.10416666666666667 -0.47916666666666669 +1 -0.375 -0.5 +1 -0.22916666666666666 -0.60416666666666663 +1 -0.25 -0.375 +1 0.10416666666666667 -0.52083333333333337 +1 0.40299479166666669 -0.47916666666666669 +1 0.25439453125 -0.375 +1 0.27083333333333331 -0.60416666666666663 +-0.875 1 -1 +-0.625 1 -1 +-0.75 0.875 -1 +-0.75 1 -0.875 +-0.375 1 -1 +-0.125 1 -1 +-0.25 0.875 -1 +-0.25 1 -0.875 +-0.5 0.875 -1 +-0.5 0.625 -1 +-0.625 0.75 -1 +-0.375 0.75 -1 +-0.5 1 -0.875 +-0.5 1 -0.625 +-0.375 1 -0.75 +-0.625 1 -0.75 +0.125 1 -1 +0.375 1 -1 +0.25 0.875 -1 +0.25 1 -0.875 +0.625 1 -1 +0.875 1 -1 +0.75 0.875 -1 +0.755859375 1 -0.875 +0.5 0.875 -1 +0.5 0.625 -1 +0.375 0.75 -1 +0.625 0.75 -1 +0.5 1 -0.875 +0.525390625 1 -0.60416666666666663 +0.62955729166666663 1 -0.75 +0.39583333333333331 1 -0.72916666666666663 +0 0.875 -1 +0 0.625 -1 +-0.10416666666666667 0.72916666666666663 -1 +0.10416666666666667 0.72916666666666663 -1 +0 0.375 -1 +0 0.125 -1 +-0.10416666666666667 0.27083333333333331 -1 +0.10416666666666667 0.27083333333333331 -1 +-0.10416666666666667 0.47916666666666669 -1 +-0.375 0.5 -1 +-0.22916666666666666 0.60416666666666663 -1 +-0.25 0.375 -1 +0.10416666666666667 0.52083333333333337 -1 +0.375 0.5 -1 +0.22916666666666666 0.39583333333333331 -1 +0.25 0.625 -1 +0 1 -0.875 +0 1 -0.625 +0.10416666666666667 1 -0.72916666666666663 +-0.10416666666666667 1 -0.72916666666666663 +0 1 -0.375 +0 1 -0.125 +0.10677083333333334 1 -0.22916666666666666 +-0.10416666666666667 1 -0.27083333333333331 +0.10416666666666667 1 -0.47916666666666669 +0.40299479166666669 1 -0.47916666666666669 +0.25 1 -0.6071428571428571 +0.25502232142857145 1 -0.35714285714285715 +-0.10416666666666667 1 -0.52083333333333337 +-0.375 1 -0.5 +-0.22916666666666666 1 -0.39583333333333331 +-0.25 1 -0.625 +-1 -1 -0.875 +-1 -1 -0.625 +-1 -0.875 -0.75 +-0.875 -1 -0.75 +-1 -1 -0.375 +-1 -1 -0.125 +-1 -0.875 -0.25 +-0.875 -1 -0.25 +-1 -0.875 -0.5 +-1 -0.625 -0.5 +-1 -0.75 -0.625 +-1 -0.75 -0.375 +-0.875 -1 -0.5 +-0.625 -1 -0.5 +-0.75 -1 -0.375 +-0.75 -1 -0.625 +-1 -1 0.125 +-1 -1 0.375 +-1 -0.875 0.25 +-0.875 -1 0.25 +-1 -1 0.625 +-1 -1 0.875 +-1 -0.875 0.75 +-0.875 -1 0.75 +-1 -0.875 0.5 +-1 -0.625 0.5 +-1 -0.75 0.375 +-1 -0.75 0.625 +-0.875 -1 0.5 +-0.625 -1 0.5 +-0.75 -1 0.625 +-0.75 -1 0.375 +-1 -0.875 0 +-1 -0.625 0 +-1 -0.72916666666666663 -0.10416666666666667 +-1 -0.72916666666666663 0.10416666666666667 +-1 -0.375 0 +-1 -0.125 0 +-1 -0.27083333333333331 -0.10416666666666667 +-1 -0.27083333333333331 0.10416666666666667 +-1 -0.47916666666666669 -0.10416666666666667 +-1 -0.5 -0.375 +-1 -0.60416666666666663 -0.22916666666666666 +-1 -0.375 -0.25 +-1 -0.52083333333333337 0.10416666666666667 +-1 -0.5 0.375 +-1 -0.39583333333333331 0.22916666666666666 +-1 -0.625 0.25 +-0.875 -1 0 +-0.625 -1 0 +-0.72916666666666663 -1 0.10416666666666667 +-0.72916666666666663 -1 -0.10416666666666667 +-0.375 -1 0 +-0.125 -1 0 +-0.27083333333333331 -1 0.10416666666666667 +-0.27083333333333331 -1 -0.10416666666666667 +-0.47916666666666669 -1 0.10416666666666667 +-0.5 -1 0.375 +-0.60416666666666663 -1 0.22916666666666666 +-0.375 -1 0.25 +-0.52083333333333337 -1 -0.10416666666666667 +-0.5 -1 -0.375 +-0.39583333333333331 -1 -0.22916666666666666 +-0.625 -1 -0.25 +-1 1 0.875 +-1 1 0.625 +-1 0.875 0.75 +-0.875 1 0.755859375 +-1 1 0.375 +-1 1 0.125 +-1 0.875 0.25 +-0.875 1 0.25 +-1 0.875 0.5 +-1 0.625 0.5 +-1 0.75 0.625 +-1 0.75 0.375 +-0.875 1 0.5 +-0.60416666666666663 1 0.525390625 +-0.72916666666666663 1 0.39583333333333331 +-0.75 1 0.62955729166666663 +-1 1 -0.125 +-1 1 -0.375 +-1 0.875 -0.25 +-0.875 1 -0.25 +-1 1 -0.625 +-1 1 -0.875 +-1 0.875 -0.75 +-0.875 1 -0.75 +-1 0.875 -0.5 +-1 0.625 -0.5 +-1 0.75 -0.375 +-1 0.75 -0.625 +-0.875 1 -0.5 +-0.625 1 -0.5 +-0.75 1 -0.625 +-0.75 1 -0.375 +-1 0.875 0 +-1 0.625 0 +-1 0.72916666666666663 0.10416666666666667 +-1 0.72916666666666663 -0.10416666666666667 +-1 0.375 0 +-1 0.125 0 +-1 0.27083333333333331 0.10416666666666667 +-1 0.27083333333333331 -0.10416666666666667 +-1 0.47916666666666669 0.10416666666666667 +-1 0.5 0.375 +-1 0.60416666666666663 0.22916666666666666 +-1 0.375 0.25 +-1 0.52083333333333337 -0.10416666666666667 +-1 0.5 -0.375 +-1 0.39583333333333331 -0.22916666666666666 +-1 0.625 -0.25 +-0.875 1 0 +-0.625 1 0 +-0.72916666666666663 1 -0.10416666666666667 +-0.72916666666666663 1 0.10416666666666667 +-0.375 1 0 +-0.125 1 0 +-0.27083333333333331 1 -0.10416666666666667 +-0.27083333333333331 1 0.10677083333333334 +-0.47916666666666669 1 -0.10416666666666667 +-0.5 1 -0.375 +-0.60416666666666663 1 -0.22916666666666666 +-0.375 1 -0.25 +-0.52083333333333337 1 0.10416666666666667 +-0.47916666666666669 1 0.40299479166666669 +-0.375 1 0.25439453125 +-0.60416666666666663 1 0.27083333333333331 +-1 -0.875 1 +-1 -0.625 1 +-1 -0.75 0.875 +-0.875 -0.75 1 +-1 -0.375 1 +-1 -0.125 1 +-1 -0.25 0.875 +-0.875 -0.25 1 +-1 -0.5 0.875 +-1 -0.5 0.625 +-1 -0.625 0.75 +-1 -0.375 0.75 +-0.875 -0.5 1 +-0.625 -0.5 1 +-0.75 -0.375 1 +-0.75 -0.625 1 +-1 0.125 1 +-1 0.375 1 +-1 0.25 0.875 +-0.875 0.25 1 +-1 0.625 1 +-1 0.875 1 +-1 0.75 0.875 +-0.875 0.755859375 1 +-1 0.5 0.875 +-1 0.5 0.625 +-1 0.375 0.75 +-1 0.625 0.75 +-0.875 0.5 1 +-0.60416666666666663 0.525390625 1 +-0.75 0.62955729166666663 1 +-0.72916666666666663 0.39583333333333331 1 +-1 0 0.875 +-1 0 0.625 +-1 -0.10416666666666667 0.72916666666666663 +-1 0.10416666666666667 0.72916666666666663 +-1 0 0.375 +-1 0 0.125 +-1 -0.10416666666666667 0.27083333333333331 +-1 0.10416666666666667 0.27083333333333331 +-1 -0.10416666666666667 0.47916666666666669 +-1 -0.375 0.5 +-1 -0.22916666666666666 0.60416666666666663 +-1 -0.25 0.375 +-1 0.10416666666666667 0.52083333333333337 +-1 0.375 0.5 +-1 0.22916666666666666 0.39583333333333331 +-1 0.25 0.625 +-0.875 0 1 +-0.625 0 1 +-0.72916666666666663 0.10416666666666667 1 +-0.72916666666666663 -0.10416666666666667 1 +-0.375 0 1 +-0.125 0 1 +-0.22916666666666666 0.10677083333333334 1 +-0.27083333333333331 -0.10416666666666667 1 +-0.47916666666666669 0.10416666666666667 1 +-0.47916666666666669 0.40299479166666669 1 +-0.6071428571428571 0.25 1 +-0.35714285714285715 0.25502232142857145 1 +-0.52083333333333337 -0.10416666666666667 1 +-0.5 -0.375 1 +-0.39583333333333331 -0.22916666666666666 1 +-0.625 -0.25 1 +0.875 -1 1 +0.625 -1 1 +0.75 -1 0.875 +0.755859375 -0.875 1 +0.375 -1 1 +0.125 -1 1 +0.25 -1 0.875 +0.25 -0.875 1 +0.5 -1 0.875 +0.5 -1 0.625 +0.625 -1 0.75 +0.375 -1 0.75 +0.5 -0.875 1 +0.525390625 -0.60416666666666663 1 +0.39583333333333331 -0.72916666666666663 1 +0.62955729166666663 -0.75 1 +-0.125 -1 1 +-0.375 -1 1 +-0.25 -1 0.875 +-0.25 -0.875 1 +-0.625 -1 1 +-0.875 -1 1 +-0.75 -1 0.875 +-0.75 -0.875 1 +-0.5 -1 0.875 +-0.5 -1 0.625 +-0.375 -1 0.75 +-0.625 -1 0.75 +-0.5 -0.875 1 +-0.5 -0.625 1 +-0.625 -0.75 1 +-0.375 -0.75 1 +0 -1 0.875 +0 -1 0.625 +0.10416666666666667 -1 0.72916666666666663 +-0.10416666666666667 -1 0.72916666666666663 +0 -1 0.375 +0 -1 0.125 +0.10416666666666667 -1 0.27083333333333331 +-0.10416666666666667 -1 0.27083333333333331 +0.10416666666666667 -1 0.47916666666666669 +0.375 -1 0.5 +0.22916666666666666 -1 0.60416666666666663 +0.25 -1 0.375 +-0.10416666666666667 -1 0.52083333333333337 +-0.375 -1 0.5 +-0.22916666666666666 -1 0.39583333333333331 +-0.25 -1 0.625 +0 -0.875 1 +0 -0.625 1 +-0.10416666666666667 -0.72916666666666663 1 +0.10416666666666667 -0.72916666666666663 1 +0 -0.375 1 +0 -0.125 1 +-0.10416666666666667 -0.27083333333333331 1 +0.10677083333333334 -0.27083333333333331 1 +-0.10416666666666667 -0.47916666666666669 1 +-0.375 -0.5 1 +-0.22916666666666666 -0.60416666666666663 1 +-0.25 -0.375 1 +0.10416666666666667 -0.52083333333333337 1 +0.40299479166666669 -0.47916666666666669 1 +0.25439453125 -0.375 1 +0.27083333333333331 -0.60416666666666663 1 +1 -1 0.875 +1 -1 0.625 +1 -0.875 0.755859375 +0.875 -1 0.75 +1 -1 0.375 +1 -1 0.125 +1 -0.875 0.25 +0.875 -1 0.25 +1 -0.875 0.5 +1 -0.60416666666666663 0.525390625 +1 -0.75 0.62955729166666663 +1 -0.72916666666666663 0.39583333333333331 +0.875 -1 0.5 +0.625 -1 0.5 +0.75 -1 0.375 +0.75 -1 0.625 +1 -1 -0.125 +1 -1 -0.375 +1 -0.875 -0.25 +0.875 -1 -0.25 +1 -1 -0.625 +1 -1 -0.875 +1 -0.875 -0.75 +0.875 -1 -0.75 +1 -0.875 -0.5 +1 -0.625 -0.5 +1 -0.75 -0.375 +1 -0.75 -0.625 +0.875 -1 -0.5 +0.625 -1 -0.5 +0.75 -1 -0.625 +0.75 -1 -0.375 +1 -0.875 0 +1 -0.625 0 +1 -0.72916666666666663 0.10416666666666667 +1 -0.72916666666666663 -0.10416666666666667 +1 -0.375 0 +1 -0.125 0 +1 -0.22916666666666666 0.10677083333333334 +1 -0.27083333333333331 -0.10416666666666667 +1 -0.47916666666666669 0.10416666666666667 +1 -0.47916666666666669 0.40299479166666669 +1 -0.6071428571428571 0.25 +1 -0.36458333333333331 0.23958333333333334 +1 -0.52083333333333337 -0.10416666666666667 +1 -0.5 -0.375 +1 -0.39583333333333331 -0.22916666666666666 +1 -0.625 -0.25 +0.875 -1 0 +0.625 -1 0 +0.72916666666666663 -1 -0.10416666666666667 +0.72916666666666663 -1 0.10416666666666667 +0.375 -1 0 +0.125 -1 0 +0.27083333333333331 -1 -0.10416666666666667 +0.27083333333333331 -1 0.10416666666666667 +0.47916666666666669 -1 -0.10416666666666667 +0.5 -1 -0.375 +0.60416666666666663 -1 -0.22916666666666666 +0.375 -1 -0.25 +0.52083333333333337 -1 0.10416666666666667 +0.5 -1 0.375 +0.39583333333333331 -1 0.22916666666666666 +0.625 -1 0.25 +1 -0.91666666666666663 -0.91666666666666663 +1 -0.79166666666666663 -0.79166666666666663 +1 -0.9375 -0.8125 +1 -0.8125 -0.9375 +1 -0.70833333333333337 -0.70833333333333337 +1 -0.54166666666666663 -0.54166666666666663 +1 -0.70833333333333337 -0.54166666666666663 +1 -0.54166666666666663 -0.70833333333333337 +1 -0.79166666666666663 -0.70833333333333337 +1 -0.9375 -0.5625 +1 -0.9375 -0.6875 +1 -0.79166666666666663 -0.54166666666666663 +1 -0.70833333333333337 -0.79166666666666663 +1 -0.5625 -0.9375 +1 -0.54166666666666663 -0.79166666666666663 +1 -0.6875 -0.9375 +1 -0.45833333333333331 -0.45833333333333331 +1 -0.3125 -0.29464285714285715 +1 -0.4375 -0.3125 +1 -0.29166666666666669 -0.45833333333333331 +1 -0.1875 -0.1875 +1 -0.026785714285714288 -0.035714285714285712 +1 -0.1875 -0.0625 +1 -0.0625 -0.1875 +1 -0.29166666666666669 -0.20833333333333334 +1 -0.41964285714285715 -0.0625 +1 -0.45833333333333331 -0.16666666666666666 +1 -0.33333333333333331 -0.041666666666666671 +1 -0.20833333333333334 -0.29166666666666669 +1 -0.041666666666666671 -0.41666666666666669 +1 -0.041666666666666671 -0.33333333333333331 +1 -0.20833333333333334 -0.45833333333333331 +1 -0.54166666666666663 -0.45833333333333331 +1 -0.70833333333333337 -0.29166666666666669 +1 -0.70833333333333337 -0.45833333333333331 +1 -0.54166666666666663 -0.29166666666666669 +1 -0.7946428571428571 -0.1875 +1 -0.9375 -0.0625 +1 -0.9375 -0.1875 +1 -0.8125 -0.0625 +1 -0.79166666666666663 -0.29166666666666669 +1 -0.9375 -0.4375 +1 -0.79166666666666663 -0.45833333333333331 +1 -0.9375 -0.3125 +1 -0.70833333333333337 -0.20833333333333334 +1 -0.58333333333333337 -0.041666666666666671 +1 -0.66666666666666663 -0.041666666666666671 +1 -0.54166666666666663 -0.20833333333333334 +1 -0.45833333333333331 -0.54166666666666663 +1 -0.29464285714285715 -0.6875 +1 -0.3125 -0.5625 +1 -0.45833333333333331 -0.70833333333333337 +1 -0.1875 -0.7946428571428571 +1 -0.0625 -0.9375 +1 -0.0625 -0.8125 +1 -0.1875 -0.9375 +1 -0.20833333333333334 -0.70833333333333337 +1 -0.0625 -0.5803571428571429 +1 -0.16666666666666666 -0.54166666666666663 +1 -0.041666666666666671 -0.66666666666666663 +1 -0.29166666666666669 -0.79166666666666663 +1 -0.4375 -0.9375 +1 -0.3125 -0.9375 +1 -0.45833333333333331 -0.79166666666666663 +1 -0.0625 0.05078125 +1 -0.1875 0.037499999999999999 +1 -0.45833333333333331 0.29166666666666669 +1 -0.29166666666666669 0.16927083333333334 +1 -0.41666666666666669 0.041666666666666671 +1 -0.33035714285714285 0.0625 +1 -0.45833333333333331 0.20833333333333334 +1 -0.70833333333333337 0.54166666666666663 +1 -0.9375 0.78749999999999998 +1 -0.79166666666666663 0.71875 +1 -0.9375 0.5625 +1 -0.79166666666666663 0.54166666666666663 +1 -0.9375 0.6875 +1 -0.58333333333333337 0.41666666666666669 +1 -0.70833333333333337 0.29166666666666669 +1 -0.54166666666666663 0.33333333333333331 +1 -0.66666666666666663 0.45833333333333331 +1 -0.7946428571428571 0.1875 +1 -0.9375 0.0625 +1 -0.8125 0.0625 +1 -0.9375 0.1875 +1 -0.70833333333333337 0.20833333333333334 +1 -0.5803571428571429 0.0625 +1 -0.54166666666666663 0.16666666666666666 +1 -0.66666666666666663 0.041666666666666671 +1 -0.7946428571428571 0.3125 +1 -0.9375 0.4375 +1 -0.9375 0.3125 +1 -0.8125 0.4375 +0.78749999999999998 1 -0.9375 +0.54166666666666663 1 -0.70833333333333337 +0.71875 1 -0.79166666666666663 +0.5625 1 -0.9375 +0.54166666666666663 1 -0.79166666666666663 +0.6875 1 -0.9375 +0.29166666666666669 1 -0.45833333333333331 +0.05078125 1 -0.0625 +0.037499999999999999 1 -0.1875 +0.16927083333333334 1 -0.29166666666666669 +0.041666666666666671 1 -0.41666666666666669 +0.0625 1 -0.33035714285714285 +0.20833333333333334 1 -0.45833333333333331 +0.41666666666666669 1 -0.58333333333333337 +0.29166666666666669 1 -0.70833333333333337 +0.33333333333333331 1 -0.54166666666666663 +0.45833333333333331 1 -0.66666666666666663 +0.1875 1 -0.7946428571428571 +0.0625 1 -0.9375 +0.0625 1 -0.8125 +0.1875 1 -0.9375 +0.20833333333333334 1 -0.70833333333333337 +0.0625 1 -0.5803571428571429 +0.16666666666666666 1 -0.54166666666666663 +0.041666666666666671 1 -0.66666666666666663 +0.3125 1 -0.7946428571428571 +0.4375 1 -0.9375 +0.3125 1 -0.9375 +0.4375 1 -0.8125 +-0.9375 1 0.78749999999999998 +-0.70833333333333337 1 0.54166666666666663 +-0.79166666666666663 1 0.71875 +-0.9375 1 0.5625 +-0.9375 1 0.6875 +-0.79166666666666663 1 0.54166666666666663 +-0.46250000000000002 1 0.3125 +-0.0625 1 0.05078125 +-0.1875 1 0.065104166666666671 +-0.28749999999999998 1 0.19062499999999999 +-0.41964285714285715 1 0.0625 +-0.45833333333333331 1 0.16666666666666666 +-0.33333333333333331 1 0.041666666666666671 +-0.58333333333333337 1 0.41666666666666669 +-0.70833333333333337 1 0.29166666666666669 +-0.66666666666666663 1 0.45833333333333331 +-0.54166666666666663 1 0.33333333333333331 +-0.7946428571428571 1 0.1875 +-0.9375 1 0.0625 +-0.9375 1 0.1875 +-0.8125 1 0.0625 +-0.7946428571428571 1 0.3125 +-0.9375 1 0.4375 +-0.8125 1 0.4375 +-0.9375 1 0.3125 +-0.6875 1 0.20535714285714285 +-0.58333333333333337 1 0.041666666666666671 +-0.66666666666666663 1 0.041666666666666671 +-0.5625 1 0.1875 +-0.041666666666666671 1 -0.041666666666666671 +-0.1875 1 -0.1875 +-0.1875 1 -0.0625 +-0.0625 1 -0.1875 +-0.29464285714285715 1 -0.3125 +-0.45833333333333331 1 -0.45833333333333331 +-0.45833333333333331 1 -0.29166666666666669 +-0.3125 1 -0.4375 +-0.29166666666666669 1 -0.20833333333333334 +-0.41666666666666669 1 -0.041666666666666671 +-0.33333333333333331 1 -0.041666666666666671 +-0.45833333333333331 1 -0.20833333333333334 +-0.20833333333333334 1 -0.29166666666666669 +-0.0625 1 -0.41964285714285715 +-0.16666666666666666 1 -0.45833333333333331 +-0.041666666666666671 1 -0.33333333333333331 +-0.54166666666666663 1 -0.54166666666666663 +-0.70833333333333337 1 -0.70833333333333337 +-0.70833333333333337 1 -0.54166666666666663 +-0.54166666666666663 1 -0.70833333333333337 +-0.79166666666666663 1 -0.79166666666666663 +-0.91666666666666663 1 -0.91666666666666663 +-0.9375 1 -0.8125 +-0.8125 1 -0.9375 +-0.79166666666666663 1 -0.70833333333333337 +-0.9375 1 -0.5625 +-0.79166666666666663 1 -0.54166666666666663 +-0.9375 1 -0.6875 +-0.70833333333333337 1 -0.79166666666666663 +-0.5625 1 -0.9375 +-0.6875 1 -0.9375 +-0.54166666666666663 1 -0.79166666666666663 +-0.54166666666666663 1 -0.45833333333333331 +-0.6875 1 -0.29464285714285715 +-0.5625 1 -0.3125 +-0.70833333333333337 1 -0.45833333333333331 +-0.7946428571428571 1 -0.1875 +-0.9375 1 -0.0625 +-0.8125 1 -0.0625 +-0.9375 1 -0.1875 +-0.70833333333333337 1 -0.20833333333333334 +-0.5803571428571429 1 -0.0625 +-0.54166666666666663 1 -0.16666666666666666 +-0.66666666666666663 1 -0.041666666666666671 +-0.79166666666666663 1 -0.29166666666666669 +-0.9375 1 -0.4375 +-0.9375 1 -0.3125 +-0.79166666666666663 1 -0.45833333333333331 +-0.45833333333333331 1 -0.54166666666666663 +-0.29166666666666669 1 -0.70833333333333337 +-0.45833333333333331 1 -0.70833333333333337 +-0.29166666666666669 1 -0.54166666666666663 +-0.1875 1 -0.7946428571428571 +-0.0625 1 -0.9375 +-0.1875 1 -0.9375 +-0.0625 1 -0.8125 +-0.29166666666666669 1 -0.79166666666666663 +-0.4375 1 -0.9375 +-0.45833333333333331 1 -0.79166666666666663 +-0.3125 1 -0.9375 +-0.20833333333333334 1 -0.70833333333333337 +-0.041666666666666671 1 -0.58333333333333337 +-0.041666666666666671 1 -0.66666666666666663 +-0.20833333333333334 1 -0.54166666666666663 +-0.9375 0.78749999999999998 1 +-0.70833333333333337 0.54166666666666663 1 +-0.79166666666666663 0.71875 1 +-0.9375 0.5625 1 +-0.79166666666666663 0.54166666666666663 1 +-0.9375 0.6875 1 +-0.45833333333333331 0.29166666666666669 1 +-0.0625 0.05078125 1 +-0.1875 0.037499999999999999 1 +-0.29166666666666669 0.16927083333333334 1 +-0.41666666666666669 0.041666666666666671 1 +-0.33035714285714285 0.0625 1 +-0.45833333333333331 0.20833333333333334 1 +-0.58333333333333337 0.41666666666666669 1 +-0.70833333333333337 0.29166666666666669 1 +-0.54166666666666663 0.33333333333333331 1 +-0.66666666666666663 0.45833333333333331 1 +-0.7946428571428571 0.1875 1 +-0.9375 0.0625 1 +-0.8125 0.0625 1 +-0.9375 0.1875 1 +-0.70833333333333337 0.20833333333333334 1 +-0.5803571428571429 0.0625 1 +-0.54166666666666663 0.16666666666666666 1 +-0.66666666666666663 0.041666666666666671 1 +-0.7946428571428571 0.3125 1 +-0.9375 0.4375 1 +-0.9375 0.3125 1 +-0.8125 0.4375 1 +-0.041666666666666671 -0.041666666666666671 1 +-0.1875 -0.1875 1 +-0.0625 -0.1875 1 +-0.1875 -0.0625 1 +-0.3125 -0.29464285714285715 1 +-0.45833333333333331 -0.45833333333333331 1 +-0.29166666666666669 -0.45833333333333331 1 +-0.4375 -0.3125 1 +-0.20833333333333334 -0.29166666666666669 1 +-0.041666666666666671 -0.41666666666666669 1 +-0.041666666666666671 -0.33333333333333331 1 +-0.20833333333333334 -0.45833333333333331 1 +-0.29166666666666669 -0.20833333333333334 1 +-0.41964285714285715 -0.0625 1 +-0.45833333333333331 -0.16666666666666666 1 +-0.33333333333333331 -0.041666666666666671 1 +-0.54166666666666663 -0.54166666666666663 1 +-0.70833333333333337 -0.70833333333333337 1 +-0.54166666666666663 -0.70833333333333337 1 +-0.70833333333333337 -0.54166666666666663 1 +-0.79166666666666663 -0.79166666666666663 1 +-0.91666666666666663 -0.91666666666666663 1 +-0.8125 -0.9375 1 +-0.9375 -0.8125 1 +-0.70833333333333337 -0.79166666666666663 1 +-0.5625 -0.9375 1 +-0.54166666666666663 -0.79166666666666663 1 +-0.6875 -0.9375 1 +-0.79166666666666663 -0.70833333333333337 1 +-0.9375 -0.5625 1 +-0.9375 -0.6875 1 +-0.79166666666666663 -0.54166666666666663 1 +-0.45833333333333331 -0.54166666666666663 1 +-0.29464285714285715 -0.6875 1 +-0.3125 -0.5625 1 +-0.45833333333333331 -0.70833333333333337 1 +-0.1875 -0.7946428571428571 1 +-0.0625 -0.9375 1 +-0.0625 -0.8125 1 +-0.1875 -0.9375 1 +-0.20833333333333334 -0.70833333333333337 1 +-0.0625 -0.5803571428571429 1 +-0.16666666666666666 -0.54166666666666663 1 +-0.041666666666666671 -0.66666666666666663 1 +-0.29166666666666669 -0.79166666666666663 1 +-0.4375 -0.9375 1 +-0.3125 -0.9375 1 +-0.45833333333333331 -0.79166666666666663 1 +-0.54166666666666663 -0.45833333333333331 1 +-0.70833333333333337 -0.29166666666666669 1 +-0.70833333333333337 -0.45833333333333331 1 +-0.54166666666666663 -0.29166666666666669 1 +-0.7946428571428571 -0.1875 1 +-0.9375 -0.0625 1 +-0.9375 -0.1875 1 +-0.8125 -0.0625 1 +-0.79166666666666663 -0.29166666666666669 1 +-0.9375 -0.4375 1 +-0.79166666666666663 -0.45833333333333331 1 +-0.9375 -0.3125 1 +-0.70833333333333337 -0.20833333333333334 1 +-0.58333333333333337 -0.041666666666666671 1 +-0.66666666666666663 -0.041666666666666671 1 +-0.54166666666666663 -0.20833333333333334 1 +0.05078125 -0.0625 1 +0.065104166666666671 -0.1875 1 +0.3125 -0.46250000000000002 1 +0.19062499999999999 -0.28749999999999998 1 +0.0625 -0.41964285714285715 1 +0.16666666666666666 -0.45833333333333331 1 +0.041666666666666671 -0.33333333333333331 1 +0.54166666666666663 -0.70833333333333337 1 +0.78749999999999998 -0.9375 1 +0.71875 -0.79166666666666663 1 +0.5625 -0.9375 1 +0.6875 -0.9375 1 +0.54166666666666663 -0.79166666666666663 1 +0.41666666666666669 -0.58333333333333337 1 +0.29166666666666669 -0.70833333333333337 1 +0.45833333333333331 -0.66666666666666663 1 +0.33333333333333331 -0.54166666666666663 1 +0.1875 -0.7946428571428571 1 +0.0625 -0.9375 1 +0.1875 -0.9375 1 +0.0625 -0.8125 1 +0.3125 -0.7946428571428571 1 +0.4375 -0.9375 1 +0.4375 -0.8125 1 +0.3125 -0.9375 1 +0.20535714285714285 -0.6875 1 +0.041666666666666671 -0.58333333333333337 1 +0.041666666666666671 -0.66666666666666663 1 +0.1875 -0.5625 1 +1 0.071614583333333329 -0.0625 +1 0.065104166666666671 -0.1875 +1 0.3125 -0.46250000000000002 +1 0.19062499999999999 -0.28749999999999998 +1 0.0625 -0.41964285714285715 +1 0.16666666666666666 -0.45833333333333331 +1 0.041666666666666671 -0.33333333333333331 +1 0.54166666666666663 -0.70833333333333337 +1 0.78749999999999998 -0.9375 +1 0.71875 -0.79166666666666663 +1 0.5625 -0.9375 +1 0.6875 -0.9375 +1 0.54166666666666663 -0.79166666666666663 +1 0.41666666666666669 -0.58333333333333337 +1 0.29166666666666669 -0.70833333333333337 +1 0.45833333333333331 -0.66666666666666663 +1 0.33333333333333331 -0.54166666666666663 +1 0.1875 -0.7946428571428571 +1 0.0625 -0.9375 +1 0.1875 -0.9375 +1 0.0625 -0.8125 +1 0.3125 -0.7946428571428571 +1 0.4375 -0.9375 +1 0.4375 -0.8125 +1 0.3125 -0.9375 +1 0.20535714285714285 -0.6875 +1 0.041666666666666671 -0.58333333333333337 +1 0.041666666666666671 -0.66666666666666663 +1 0.1875 -0.5625 +-0.91666666666666663 0.91666666666666663 -1 +-0.79166666666666663 0.79166666666666663 -1 +-0.9375 0.8125 -1 +-0.8125 0.9375 -1 +-0.70833333333333337 0.70833333333333337 -1 +-0.54166666666666663 0.54166666666666663 -1 +-0.70833333333333337 0.54166666666666663 -1 +-0.54166666666666663 0.70833333333333337 -1 +-0.79166666666666663 0.70833333333333337 -1 +-0.9375 0.5625 -1 +-0.9375 0.6875 -1 +-0.79166666666666663 0.54166666666666663 -1 +-0.70833333333333337 0.79166666666666663 -1 +-0.5625 0.9375 -1 +-0.54166666666666663 0.79166666666666663 -1 +-0.6875 0.9375 -1 +-0.45833333333333331 0.45833333333333331 -1 +-0.3125 0.29464285714285715 -1 +-0.4375 0.3125 -1 +-0.29166666666666669 0.45833333333333331 -1 +-0.1875 0.1875 -1 +-0.041666666666666671 0.041666666666666671 -1 +-0.1875 0.0625 -1 +-0.0625 0.1875 -1 +-0.29166666666666669 0.20833333333333334 -1 +-0.41964285714285715 0.0625 -1 +-0.45833333333333331 0.16666666666666666 -1 +-0.33333333333333331 0.041666666666666671 -1 +-0.20833333333333334 0.29166666666666669 -1 +-0.041666666666666671 0.41666666666666669 -1 +-0.041666666666666671 0.33333333333333331 -1 +-0.20833333333333334 0.45833333333333331 -1 +-0.54166666666666663 0.45833333333333331 -1 +-0.70833333333333337 0.29166666666666669 -1 +-0.70833333333333337 0.45833333333333331 -1 +-0.54166666666666663 0.29166666666666669 -1 +-0.7946428571428571 0.1875 -1 +-0.9375 0.0625 -1 +-0.9375 0.1875 -1 +-0.8125 0.0625 -1 +-0.79166666666666663 0.29166666666666669 -1 +-0.9375 0.4375 -1 +-0.79166666666666663 0.45833333333333331 -1 +-0.9375 0.3125 -1 +-0.70833333333333337 0.20833333333333334 -1 +-0.58333333333333337 0.041666666666666671 -1 +-0.66666666666666663 0.041666666666666671 -1 +-0.54166666666666663 0.20833333333333334 -1 +-0.45833333333333331 0.54166666666666663 -1 +-0.29464285714285715 0.6875 -1 +-0.3125 0.5625 -1 +-0.45833333333333331 0.70833333333333337 -1 +-0.1875 0.7946428571428571 -1 +-0.0625 0.9375 -1 +-0.0625 0.8125 -1 +-0.1875 0.9375 -1 +-0.20833333333333334 0.70833333333333337 -1 +-0.0625 0.5803571428571429 -1 +-0.16666666666666666 0.54166666666666663 -1 +-0.041666666666666671 0.66666666666666663 -1 +-0.29166666666666669 0.79166666666666663 -1 +-0.4375 0.9375 -1 +-0.3125 0.9375 -1 +-0.45833333333333331 0.79166666666666663 -1 +0.041666666666666671 -0.041666666666666671 -1 +0.1875 -0.1875 -1 +0.0625 -0.1875 -1 +0.1875 -0.0625 -1 +0.3125 -0.29464285714285715 -1 +0.45833333333333331 -0.45833333333333331 -1 +0.29166666666666669 -0.45833333333333331 -1 +0.4375 -0.3125 -1 +0.20833333333333334 -0.29166666666666669 -1 +0.041666666666666671 -0.41666666666666669 -1 +0.041666666666666671 -0.33333333333333331 -1 +0.20833333333333334 -0.45833333333333331 -1 +0.29166666666666669 -0.20833333333333334 -1 +0.41964285714285715 -0.0625 -1 +0.45833333333333331 -0.16666666666666666 -1 +0.33333333333333331 -0.041666666666666671 -1 +0.54166666666666663 -0.54166666666666663 -1 +0.70833333333333337 -0.70833333333333337 -1 +0.54166666666666663 -0.70833333333333337 -1 +0.70833333333333337 -0.54166666666666663 -1 +0.79166666666666663 -0.79166666666666663 -1 +0.91666666666666663 -0.91666666666666663 -1 +0.8125 -0.9375 -1 +0.9375 -0.8125 -1 +0.70833333333333337 -0.79166666666666663 -1 +0.5625 -0.9375 -1 +0.54166666666666663 -0.79166666666666663 -1 +0.6875 -0.9375 -1 +0.79166666666666663 -0.70833333333333337 -1 +0.9375 -0.5625 -1 +0.9375 -0.6875 -1 +0.79166666666666663 -0.54166666666666663 -1 +0.45833333333333331 -0.54166666666666663 -1 +0.29464285714285715 -0.6875 -1 +0.3125 -0.5625 -1 +0.45833333333333331 -0.70833333333333337 -1 +0.1875 -0.7946428571428571 -1 +0.0625 -0.9375 -1 +0.0625 -0.8125 -1 +0.1875 -0.9375 -1 +0.20833333333333334 -0.70833333333333337 -1 +0.0625 -0.5803571428571429 -1 +0.16666666666666666 -0.54166666666666663 -1 +0.041666666666666671 -0.66666666666666663 -1 +0.29166666666666669 -0.79166666666666663 -1 +0.4375 -0.9375 -1 +0.3125 -0.9375 -1 +0.45833333333333331 -0.79166666666666663 -1 +0.54166666666666663 -0.45833333333333331 -1 +0.70833333333333337 -0.29166666666666669 -1 +0.70833333333333337 -0.45833333333333331 -1 +0.54166666666666663 -0.29166666666666669 -1 +0.7946428571428571 -0.1875 -1 +0.9375 -0.0625 -1 +0.9375 -0.1875 -1 +0.8125 -0.0625 -1 +0.79166666666666663 -0.29166666666666669 -1 +0.9375 -0.4375 -1 +0.79166666666666663 -0.45833333333333331 -1 +0.9375 -0.3125 -1 +0.70833333333333337 -0.20833333333333334 -1 +0.58333333333333337 -0.041666666666666671 -1 +0.66666666666666663 -0.041666666666666671 -1 +0.54166666666666663 -0.20833333333333334 -1 +-0.041666666666666671 -0.041666666666666671 -1 +-0.1875 -0.1875 -1 +-0.1875 -0.0625 -1 +-0.0625 -0.1875 -1 +-0.29464285714285715 -0.3125 -1 +-0.45833333333333331 -0.45833333333333331 -1 +-0.45833333333333331 -0.29166666666666669 -1 +-0.3125 -0.4375 -1 +-0.29166666666666669 -0.20833333333333334 -1 +-0.41666666666666669 -0.041666666666666671 -1 +-0.33333333333333331 -0.041666666666666671 -1 +-0.45833333333333331 -0.20833333333333334 -1 +-0.20833333333333334 -0.29166666666666669 -1 +-0.0625 -0.41964285714285715 -1 +-0.16666666666666666 -0.45833333333333331 -1 +-0.041666666666666671 -0.33333333333333331 -1 +-0.54166666666666663 -0.54166666666666663 -1 +-0.70833333333333337 -0.70833333333333337 -1 +-0.70833333333333337 -0.54166666666666663 -1 +-0.54166666666666663 -0.70833333333333337 -1 +-0.79166666666666663 -0.79166666666666663 -1 +-0.91666666666666663 -0.91666666666666663 -1 +-0.9375 -0.8125 -1 +-0.8125 -0.9375 -1 +-0.79166666666666663 -0.70833333333333337 -1 +-0.9375 -0.5625 -1 +-0.79166666666666663 -0.54166666666666663 -1 +-0.9375 -0.6875 -1 +-0.70833333333333337 -0.79166666666666663 -1 +-0.5625 -0.9375 -1 +-0.6875 -0.9375 -1 +-0.54166666666666663 -0.79166666666666663 -1 +-0.54166666666666663 -0.45833333333333331 -1 +-0.6875 -0.29464285714285715 -1 +-0.5625 -0.3125 -1 +-0.70833333333333337 -0.45833333333333331 -1 +-0.7946428571428571 -0.1875 -1 +-0.9375 -0.0625 -1 +-0.8125 -0.0625 -1 +-0.9375 -0.1875 -1 +-0.70833333333333337 -0.20833333333333334 -1 +-0.5803571428571429 -0.0625 -1 +-0.54166666666666663 -0.16666666666666666 -1 +-0.66666666666666663 -0.041666666666666671 -1 +-0.79166666666666663 -0.29166666666666669 -1 +-0.9375 -0.4375 -1 +-0.9375 -0.3125 -1 +-0.79166666666666663 -0.45833333333333331 -1 +-0.45833333333333331 -0.54166666666666663 -1 +-0.29166666666666669 -0.70833333333333337 -1 +-0.45833333333333331 -0.70833333333333337 -1 +-0.29166666666666669 -0.54166666666666663 -1 +-0.1875 -0.7946428571428571 -1 +-0.0625 -0.9375 -1 +-0.1875 -0.9375 -1 +-0.0625 -0.8125 -1 +-0.29166666666666669 -0.79166666666666663 -1 +-0.4375 -0.9375 -1 +-0.45833333333333331 -0.79166666666666663 -1 +-0.3125 -0.9375 -1 +-0.20833333333333334 -0.70833333333333337 -1 +-0.041666666666666671 -0.58333333333333337 -1 +-0.041666666666666671 -0.66666666666666663 -1 +-0.20833333333333334 -0.54166666666666663 -1 +0.041666666666666671 0.041666666666666671 -1 +0.1875 0.1875 -1 +0.1875 0.0625 -1 +0.0625 0.1875 -1 +0.29464285714285715 0.3125 -1 +0.45833333333333331 0.45833333333333331 -1 +0.45833333333333331 0.29166666666666669 -1 +0.3125 0.4375 -1 +0.29166666666666669 0.20833333333333334 -1 +0.41666666666666669 0.041666666666666671 -1 +0.33333333333333331 0.041666666666666671 -1 +0.45833333333333331 0.20833333333333334 -1 +0.20833333333333334 0.29166666666666669 -1 +0.0625 0.41964285714285715 -1 +0.16666666666666666 0.45833333333333331 -1 +0.041666666666666671 0.33333333333333331 -1 +0.54166666666666663 0.54166666666666663 -1 +0.70833333333333337 0.70833333333333337 -1 +0.70833333333333337 0.54166666666666663 -1 +0.54166666666666663 0.70833333333333337 -1 +0.79166666666666663 0.79166666666666663 -1 +0.91666666666666663 0.91666666666666663 -1 +0.9375 0.8125 -1 +0.8125 0.9375 -1 +0.79166666666666663 0.70833333333333337 -1 +0.9375 0.5625 -1 +0.79166666666666663 0.54166666666666663 -1 +0.9375 0.6875 -1 +0.70833333333333337 0.79166666666666663 -1 +0.5625 0.9375 -1 +0.6875 0.9375 -1 +0.54166666666666663 0.79166666666666663 -1 +0.54166666666666663 0.45833333333333331 -1 +0.6875 0.29464285714285715 -1 +0.5625 0.3125 -1 +0.70833333333333337 0.45833333333333331 -1 +0.7946428571428571 0.1875 -1 +0.9375 0.0625 -1 +0.8125 0.0625 -1 +0.9375 0.1875 -1 +0.70833333333333337 0.20833333333333334 -1 +0.5803571428571429 0.0625 -1 +0.54166666666666663 0.16666666666666666 -1 +0.66666666666666663 0.041666666666666671 -1 +0.79166666666666663 0.29166666666666669 -1 +0.9375 0.4375 -1 +0.9375 0.3125 -1 +0.79166666666666663 0.45833333333333331 -1 +0.45833333333333331 0.54166666666666663 -1 +0.29166666666666669 0.70833333333333337 -1 +0.45833333333333331 0.70833333333333337 -1 +0.29166666666666669 0.54166666666666663 -1 +0.1875 0.7946428571428571 -1 +0.0625 0.9375 -1 +0.1875 0.9375 -1 +0.0625 0.8125 -1 +0.29166666666666669 0.79166666666666663 -1 +0.4375 0.9375 -1 +0.45833333333333331 0.79166666666666663 -1 +0.3125 0.9375 -1 +0.20833333333333334 0.70833333333333337 -1 +0.041666666666666671 0.58333333333333337 -1 +0.041666666666666671 0.66666666666666663 -1 +0.20833333333333334 0.54166666666666663 -1 +-1 -0.91666666666666663 0.91666666666666663 +-1 -0.79166666666666663 0.79166666666666663 +-1 -0.9375 0.8125 +-1 -0.8125 0.9375 +-1 -0.70833333333333337 0.70833333333333337 +-1 -0.54166666666666663 0.54166666666666663 +-1 -0.70833333333333337 0.54166666666666663 +-1 -0.54166666666666663 0.70833333333333337 +-1 -0.79166666666666663 0.70833333333333337 +-1 -0.9375 0.5625 +-1 -0.9375 0.6875 +-1 -0.79166666666666663 0.54166666666666663 +-1 -0.70833333333333337 0.79166666666666663 +-1 -0.5625 0.9375 +-1 -0.54166666666666663 0.79166666666666663 +-1 -0.6875 0.9375 +-1 -0.45833333333333331 0.45833333333333331 +-1 -0.3125 0.29464285714285715 +-1 -0.4375 0.3125 +-1 -0.29166666666666669 0.45833333333333331 +-1 -0.1875 0.1875 +-1 -0.041666666666666671 0.041666666666666671 +-1 -0.1875 0.0625 +-1 -0.0625 0.1875 +-1 -0.29166666666666669 0.20833333333333334 +-1 -0.41964285714285715 0.0625 +-1 -0.45833333333333331 0.16666666666666666 +-1 -0.33333333333333331 0.041666666666666671 +-1 -0.20833333333333334 0.29166666666666669 +-1 -0.041666666666666671 0.41666666666666669 +-1 -0.041666666666666671 0.33333333333333331 +-1 -0.20833333333333334 0.45833333333333331 +-1 -0.54166666666666663 0.45833333333333331 +-1 -0.70833333333333337 0.29166666666666669 +-1 -0.70833333333333337 0.45833333333333331 +-1 -0.54166666666666663 0.29166666666666669 +-1 -0.7946428571428571 0.1875 +-1 -0.9375 0.0625 +-1 -0.9375 0.1875 +-1 -0.8125 0.0625 +-1 -0.79166666666666663 0.29166666666666669 +-1 -0.9375 0.4375 +-1 -0.79166666666666663 0.45833333333333331 +-1 -0.9375 0.3125 +-1 -0.70833333333333337 0.20833333333333334 +-1 -0.58333333333333337 0.041666666666666671 +-1 -0.66666666666666663 0.041666666666666671 +-1 -0.54166666666666663 0.20833333333333334 +-1 -0.45833333333333331 0.54166666666666663 +-1 -0.29464285714285715 0.6875 +-1 -0.3125 0.5625 +-1 -0.45833333333333331 0.70833333333333337 +-1 -0.1875 0.7946428571428571 +-1 -0.0625 0.9375 +-1 -0.0625 0.8125 +-1 -0.1875 0.9375 +-1 -0.20833333333333334 0.70833333333333337 +-1 -0.0625 0.5803571428571429 +-1 -0.16666666666666666 0.54166666666666663 +-1 -0.041666666666666671 0.66666666666666663 +-1 -0.29166666666666669 0.79166666666666663 +-1 -0.4375 0.9375 +-1 -0.3125 0.9375 +-1 -0.45833333333333331 0.79166666666666663 +-1 0.041666666666666671 -0.041666666666666671 +-1 0.1875 -0.1875 +-1 0.0625 -0.1875 +-1 0.1875 -0.0625 +-1 0.3125 -0.29464285714285715 +-1 0.45833333333333331 -0.45833333333333331 +-1 0.29166666666666669 -0.45833333333333331 +-1 0.4375 -0.3125 +-1 0.20833333333333334 -0.29166666666666669 +-1 0.041666666666666671 -0.41666666666666669 +-1 0.041666666666666671 -0.33333333333333331 +-1 0.20833333333333334 -0.45833333333333331 +-1 0.29166666666666669 -0.20833333333333334 +-1 0.41964285714285715 -0.0625 +-1 0.45833333333333331 -0.16666666666666666 +-1 0.33333333333333331 -0.041666666666666671 +-1 0.54166666666666663 -0.54166666666666663 +-1 0.70833333333333337 -0.70833333333333337 +-1 0.54166666666666663 -0.70833333333333337 +-1 0.70833333333333337 -0.54166666666666663 +-1 0.79166666666666663 -0.79166666666666663 +-1 0.91666666666666663 -0.91666666666666663 +-1 0.8125 -0.9375 +-1 0.9375 -0.8125 +-1 0.70833333333333337 -0.79166666666666663 +-1 0.5625 -0.9375 +-1 0.54166666666666663 -0.79166666666666663 +-1 0.6875 -0.9375 +-1 0.79166666666666663 -0.70833333333333337 +-1 0.9375 -0.5625 +-1 0.9375 -0.6875 +-1 0.79166666666666663 -0.54166666666666663 +-1 0.45833333333333331 -0.54166666666666663 +-1 0.29464285714285715 -0.6875 +-1 0.3125 -0.5625 +-1 0.45833333333333331 -0.70833333333333337 +-1 0.1875 -0.7946428571428571 +-1 0.0625 -0.9375 +-1 0.0625 -0.8125 +-1 0.1875 -0.9375 +-1 0.20833333333333334 -0.70833333333333337 +-1 0.0625 -0.5803571428571429 +-1 0.16666666666666666 -0.54166666666666663 +-1 0.041666666666666671 -0.66666666666666663 +-1 0.29166666666666669 -0.79166666666666663 +-1 0.4375 -0.9375 +-1 0.3125 -0.9375 +-1 0.45833333333333331 -0.79166666666666663 +-1 0.54166666666666663 -0.45833333333333331 +-1 0.70833333333333337 -0.29166666666666669 +-1 0.70833333333333337 -0.45833333333333331 +-1 0.54166666666666663 -0.29166666666666669 +-1 0.7946428571428571 -0.1875 +-1 0.9375 -0.0625 +-1 0.9375 -0.1875 +-1 0.8125 -0.0625 +-1 0.79166666666666663 -0.29166666666666669 +-1 0.9375 -0.4375 +-1 0.79166666666666663 -0.45833333333333331 +-1 0.9375 -0.3125 +-1 0.70833333333333337 -0.20833333333333334 +-1 0.58333333333333337 -0.041666666666666671 +-1 0.66666666666666663 -0.041666666666666671 +-1 0.54166666666666663 -0.20833333333333334 +-1 -0.041666666666666671 -0.041666666666666671 +-1 -0.1875 -0.1875 +-1 -0.1875 -0.0625 +-1 -0.0625 -0.1875 +-1 -0.29464285714285715 -0.3125 +-1 -0.45833333333333331 -0.45833333333333331 +-1 -0.45833333333333331 -0.29166666666666669 +-1 -0.3125 -0.4375 +-1 -0.29166666666666669 -0.20833333333333334 +-1 -0.41666666666666669 -0.041666666666666671 +-1 -0.33333333333333331 -0.041666666666666671 +-1 -0.45833333333333331 -0.20833333333333334 +-1 -0.20833333333333334 -0.29166666666666669 +-1 -0.0625 -0.41964285714285715 +-1 -0.16666666666666666 -0.45833333333333331 +-1 -0.041666666666666671 -0.33333333333333331 +-1 -0.54166666666666663 -0.54166666666666663 +-1 -0.70833333333333337 -0.70833333333333337 +-1 -0.70833333333333337 -0.54166666666666663 +-1 -0.54166666666666663 -0.70833333333333337 +-1 -0.79166666666666663 -0.79166666666666663 +-1 -0.91666666666666663 -0.91666666666666663 +-1 -0.9375 -0.8125 +-1 -0.8125 -0.9375 +-1 -0.79166666666666663 -0.70833333333333337 +-1 -0.9375 -0.5625 +-1 -0.79166666666666663 -0.54166666666666663 +-1 -0.9375 -0.6875 +-1 -0.70833333333333337 -0.79166666666666663 +-1 -0.5625 -0.9375 +-1 -0.6875 -0.9375 +-1 -0.54166666666666663 -0.79166666666666663 +-1 -0.54166666666666663 -0.45833333333333331 +-1 -0.6875 -0.29464285714285715 +-1 -0.5625 -0.3125 +-1 -0.70833333333333337 -0.45833333333333331 +-1 -0.7946428571428571 -0.1875 +-1 -0.9375 -0.0625 +-1 -0.8125 -0.0625 +-1 -0.9375 -0.1875 +-1 -0.70833333333333337 -0.20833333333333334 +-1 -0.5803571428571429 -0.0625 +-1 -0.54166666666666663 -0.16666666666666666 +-1 -0.66666666666666663 -0.041666666666666671 +-1 -0.79166666666666663 -0.29166666666666669 +-1 -0.9375 -0.4375 +-1 -0.9375 -0.3125 +-1 -0.79166666666666663 -0.45833333333333331 +-1 -0.45833333333333331 -0.54166666666666663 +-1 -0.29166666666666669 -0.70833333333333337 +-1 -0.45833333333333331 -0.70833333333333337 +-1 -0.29166666666666669 -0.54166666666666663 +-1 -0.1875 -0.7946428571428571 +-1 -0.0625 -0.9375 +-1 -0.1875 -0.9375 +-1 -0.0625 -0.8125 +-1 -0.29166666666666669 -0.79166666666666663 +-1 -0.4375 -0.9375 +-1 -0.45833333333333331 -0.79166666666666663 +-1 -0.3125 -0.9375 +-1 -0.20833333333333334 -0.70833333333333337 +-1 -0.041666666666666671 -0.58333333333333337 +-1 -0.041666666666666671 -0.66666666666666663 +-1 -0.20833333333333334 -0.54166666666666663 +-1 0.041666666666666671 0.041666666666666671 +-1 0.1875 0.1875 +-1 0.1875 0.0625 +-1 0.0625 0.1875 +-1 0.29464285714285715 0.3125 +-1 0.45833333333333331 0.45833333333333331 +-1 0.45833333333333331 0.29166666666666669 +-1 0.3125 0.4375 +-1 0.29166666666666669 0.20833333333333334 +-1 0.41666666666666669 0.041666666666666671 +-1 0.33333333333333331 0.041666666666666671 +-1 0.45833333333333331 0.20833333333333334 +-1 0.20833333333333334 0.29166666666666669 +-1 0.0625 0.41964285714285715 +-1 0.16666666666666666 0.45833333333333331 +-1 0.041666666666666671 0.33333333333333331 +-1 0.54166666666666663 0.54166666666666663 +-1 0.70833333333333337 0.70833333333333337 +-1 0.70833333333333337 0.54166666666666663 +-1 0.54166666666666663 0.70833333333333337 +-1 0.79166666666666663 0.79166666666666663 +-1 0.91666666666666663 0.91666666666666663 +-1 0.9375 0.8125 +-1 0.8125 0.9375 +-1 0.79166666666666663 0.70833333333333337 +-1 0.9375 0.5625 +-1 0.79166666666666663 0.54166666666666663 +-1 0.9375 0.6875 +-1 0.70833333333333337 0.79166666666666663 +-1 0.5625 0.9375 +-1 0.6875 0.9375 +-1 0.54166666666666663 0.79166666666666663 +-1 0.54166666666666663 0.45833333333333331 +-1 0.6875 0.29464285714285715 +-1 0.5625 0.3125 +-1 0.70833333333333337 0.45833333333333331 +-1 0.7946428571428571 0.1875 +-1 0.9375 0.0625 +-1 0.8125 0.0625 +-1 0.9375 0.1875 +-1 0.70833333333333337 0.20833333333333334 +-1 0.5803571428571429 0.0625 +-1 0.54166666666666663 0.16666666666666666 +-1 0.66666666666666663 0.041666666666666671 +-1 0.79166666666666663 0.29166666666666669 +-1 0.9375 0.4375 +-1 0.9375 0.3125 +-1 0.79166666666666663 0.45833333333333331 +-1 0.45833333333333331 0.54166666666666663 +-1 0.29166666666666669 0.70833333333333337 +-1 0.45833333333333331 0.70833333333333337 +-1 0.29166666666666669 0.54166666666666663 +-1 0.1875 0.7946428571428571 +-1 0.0625 0.9375 +-1 0.1875 0.9375 +-1 0.0625 0.8125 +-1 0.29166666666666669 0.79166666666666663 +-1 0.4375 0.9375 +-1 0.45833333333333331 0.79166666666666663 +-1 0.3125 0.9375 +-1 0.20833333333333334 0.70833333333333337 +-1 0.041666666666666671 0.58333333333333337 +-1 0.041666666666666671 0.66666666666666663 +-1 0.20833333333333334 0.54166666666666663 +0.91666666666666663 -1 -0.91666666666666663 +0.79166666666666663 -1 -0.79166666666666663 +0.8125 -1 -0.9375 +0.9375 -1 -0.8125 +0.70833333333333337 -1 -0.70833333333333337 +0.54166666666666663 -1 -0.54166666666666663 +0.54166666666666663 -1 -0.70833333333333337 +0.70833333333333337 -1 -0.54166666666666663 +0.70833333333333337 -1 -0.79166666666666663 +0.5625 -1 -0.9375 +0.6875 -1 -0.9375 +0.54166666666666663 -1 -0.79166666666666663 +0.79166666666666663 -1 -0.70833333333333337 +0.9375 -1 -0.5625 +0.79166666666666663 -1 -0.54166666666666663 +0.9375 -1 -0.6875 +0.45833333333333331 -1 -0.45833333333333331 +0.29464285714285715 -1 -0.3125 +0.3125 -1 -0.4375 +0.45833333333333331 -1 -0.29166666666666669 +0.1875 -1 -0.1875 +0.041666666666666671 -1 -0.041666666666666671 +0.0625 -1 -0.1875 +0.1875 -1 -0.0625 +0.20833333333333334 -1 -0.29166666666666669 +0.0625 -1 -0.41964285714285715 +0.16666666666666666 -1 -0.45833333333333331 +0.041666666666666671 -1 -0.33333333333333331 +0.29166666666666669 -1 -0.20833333333333334 +0.41666666666666669 -1 -0.041666666666666671 +0.33333333333333331 -1 -0.041666666666666671 +0.45833333333333331 -1 -0.20833333333333334 +0.45833333333333331 -1 -0.54166666666666663 +0.29166666666666669 -1 -0.70833333333333337 +0.45833333333333331 -1 -0.70833333333333337 +0.29166666666666669 -1 -0.54166666666666663 +0.1875 -1 -0.7946428571428571 +0.0625 -1 -0.9375 +0.1875 -1 -0.9375 +0.0625 -1 -0.8125 +0.29166666666666669 -1 -0.79166666666666663 +0.4375 -1 -0.9375 +0.45833333333333331 -1 -0.79166666666666663 +0.3125 -1 -0.9375 +0.20833333333333334 -1 -0.70833333333333337 +0.041666666666666671 -1 -0.58333333333333337 +0.041666666666666671 -1 -0.66666666666666663 +0.20833333333333334 -1 -0.54166666666666663 +0.54166666666666663 -1 -0.45833333333333331 +0.6875 -1 -0.29464285714285715 +0.5625 -1 -0.3125 +0.70833333333333337 -1 -0.45833333333333331 +0.7946428571428571 -1 -0.1875 +0.9375 -1 -0.0625 +0.8125 -1 -0.0625 +0.9375 -1 -0.1875 +0.70833333333333337 -1 -0.20833333333333334 +0.5803571428571429 -1 -0.0625 +0.54166666666666663 -1 -0.16666666666666666 +0.66666666666666663 -1 -0.041666666666666671 +0.79166666666666663 -1 -0.29166666666666669 +0.9375 -1 -0.4375 +0.9375 -1 -0.3125 +0.79166666666666663 -1 -0.45833333333333331 +-0.041666666666666671 -1 0.041666666666666671 +-0.1875 -1 0.1875 +-0.1875 -1 0.0625 +-0.0625 -1 0.1875 +-0.29464285714285715 -1 0.3125 +-0.45833333333333331 -1 0.45833333333333331 +-0.45833333333333331 -1 0.29166666666666669 +-0.3125 -1 0.4375 +-0.29166666666666669 -1 0.20833333333333334 +-0.41666666666666669 -1 0.041666666666666671 +-0.33333333333333331 -1 0.041666666666666671 +-0.45833333333333331 -1 0.20833333333333334 +-0.20833333333333334 -1 0.29166666666666669 +-0.0625 -1 0.41964285714285715 +-0.16666666666666666 -1 0.45833333333333331 +-0.041666666666666671 -1 0.33333333333333331 +-0.54166666666666663 -1 0.54166666666666663 +-0.70833333333333337 -1 0.70833333333333337 +-0.70833333333333337 -1 0.54166666666666663 +-0.54166666666666663 -1 0.70833333333333337 +-0.79166666666666663 -1 0.79166666666666663 +-0.91666666666666663 -1 0.91666666666666663 +-0.9375 -1 0.8125 +-0.8125 -1 0.9375 +-0.79166666666666663 -1 0.70833333333333337 +-0.9375 -1 0.5625 +-0.79166666666666663 -1 0.54166666666666663 +-0.9375 -1 0.6875 +-0.70833333333333337 -1 0.79166666666666663 +-0.5625 -1 0.9375 +-0.6875 -1 0.9375 +-0.54166666666666663 -1 0.79166666666666663 +-0.54166666666666663 -1 0.45833333333333331 +-0.6875 -1 0.29464285714285715 +-0.5625 -1 0.3125 +-0.70833333333333337 -1 0.45833333333333331 +-0.7946428571428571 -1 0.1875 +-0.9375 -1 0.0625 +-0.8125 -1 0.0625 +-0.9375 -1 0.1875 +-0.70833333333333337 -1 0.20833333333333334 +-0.5803571428571429 -1 0.0625 +-0.54166666666666663 -1 0.16666666666666666 +-0.66666666666666663 -1 0.041666666666666671 +-0.79166666666666663 -1 0.29166666666666669 +-0.9375 -1 0.4375 +-0.9375 -1 0.3125 +-0.79166666666666663 -1 0.45833333333333331 +-0.45833333333333331 -1 0.54166666666666663 +-0.29166666666666669 -1 0.70833333333333337 +-0.45833333333333331 -1 0.70833333333333337 +-0.29166666666666669 -1 0.54166666666666663 +-0.1875 -1 0.7946428571428571 +-0.0625 -1 0.9375 +-0.1875 -1 0.9375 +-0.0625 -1 0.8125 +-0.29166666666666669 -1 0.79166666666666663 +-0.4375 -1 0.9375 +-0.45833333333333331 -1 0.79166666666666663 +-0.3125 -1 0.9375 +-0.20833333333333334 -1 0.70833333333333337 +-0.041666666666666671 -1 0.58333333333333337 +-0.041666666666666671 -1 0.66666666666666663 +-0.20833333333333334 -1 0.54166666666666663 +-0.041666666666666671 -1 -0.041666666666666671 +-0.1875 -1 -0.1875 +-0.0625 -1 -0.1875 +-0.1875 -1 -0.0625 +-0.3125 -1 -0.29464285714285715 +-0.45833333333333331 -1 -0.45833333333333331 +-0.29166666666666669 -1 -0.45833333333333331 +-0.4375 -1 -0.3125 +-0.20833333333333334 -1 -0.29166666666666669 +-0.041666666666666671 -1 -0.41666666666666669 +-0.041666666666666671 -1 -0.33333333333333331 +-0.20833333333333334 -1 -0.45833333333333331 +-0.29166666666666669 -1 -0.20833333333333334 +-0.41964285714285715 -1 -0.0625 +-0.45833333333333331 -1 -0.16666666666666666 +-0.33333333333333331 -1 -0.041666666666666671 +-0.54166666666666663 -1 -0.54166666666666663 +-0.70833333333333337 -1 -0.70833333333333337 +-0.54166666666666663 -1 -0.70833333333333337 +-0.70833333333333337 -1 -0.54166666666666663 +-0.79166666666666663 -1 -0.79166666666666663 +-0.91666666666666663 -1 -0.91666666666666663 +-0.8125 -1 -0.9375 +-0.9375 -1 -0.8125 +-0.70833333333333337 -1 -0.79166666666666663 +-0.5625 -1 -0.9375 +-0.54166666666666663 -1 -0.79166666666666663 +-0.6875 -1 -0.9375 +-0.79166666666666663 -1 -0.70833333333333337 +-0.9375 -1 -0.5625 +-0.9375 -1 -0.6875 +-0.79166666666666663 -1 -0.54166666666666663 +-0.45833333333333331 -1 -0.54166666666666663 +-0.29464285714285715 -1 -0.6875 +-0.3125 -1 -0.5625 +-0.45833333333333331 -1 -0.70833333333333337 +-0.1875 -1 -0.7946428571428571 +-0.0625 -1 -0.9375 +-0.0625 -1 -0.8125 +-0.1875 -1 -0.9375 +-0.20833333333333334 -1 -0.70833333333333337 +-0.0625 -1 -0.5803571428571429 +-0.16666666666666666 -1 -0.54166666666666663 +-0.041666666666666671 -1 -0.66666666666666663 +-0.29166666666666669 -1 -0.79166666666666663 +-0.4375 -1 -0.9375 +-0.3125 -1 -0.9375 +-0.45833333333333331 -1 -0.79166666666666663 +-0.54166666666666663 -1 -0.45833333333333331 +-0.70833333333333337 -1 -0.29166666666666669 +-0.70833333333333337 -1 -0.45833333333333331 +-0.54166666666666663 -1 -0.29166666666666669 +-0.7946428571428571 -1 -0.1875 +-0.9375 -1 -0.0625 +-0.9375 -1 -0.1875 +-0.8125 -1 -0.0625 +-0.79166666666666663 -1 -0.29166666666666669 +-0.9375 -1 -0.4375 +-0.79166666666666663 -1 -0.45833333333333331 +-0.9375 -1 -0.3125 +-0.70833333333333337 -1 -0.20833333333333334 +-0.58333333333333337 -1 -0.041666666666666671 +-0.66666666666666663 -1 -0.041666666666666671 +-0.54166666666666663 -1 -0.20833333333333334 +0.041666666666666671 -1 0.041666666666666671 +0.1875 -1 0.1875 +0.0625 -1 0.1875 +0.1875 -1 0.0625 +0.3125 -1 0.29464285714285715 +0.45833333333333331 -1 0.45833333333333331 +0.29166666666666669 -1 0.45833333333333331 +0.4375 -1 0.3125 +0.20833333333333334 -1 0.29166666666666669 +0.041666666666666671 -1 0.41666666666666669 +0.041666666666666671 -1 0.33333333333333331 +0.20833333333333334 -1 0.45833333333333331 +0.29166666666666669 -1 0.20833333333333334 +0.41964285714285715 -1 0.0625 +0.45833333333333331 -1 0.16666666666666666 +0.33333333333333331 -1 0.041666666666666671 +0.54166666666666663 -1 0.54166666666666663 +0.70833333333333337 -1 0.70833333333333337 +0.54166666666666663 -1 0.70833333333333337 +0.70833333333333337 -1 0.54166666666666663 +0.79166666666666663 -1 0.79166666666666663 +0.91666666666666663 -1 0.91666666666666663 +0.8125 -1 0.9375 +0.9375 -1 0.8125 +0.70833333333333337 -1 0.79166666666666663 +0.5625 -1 0.9375 +0.54166666666666663 -1 0.79166666666666663 +0.6875 -1 0.9375 +0.79166666666666663 -1 0.70833333333333337 +0.9375 -1 0.5625 +0.9375 -1 0.6875 +0.79166666666666663 -1 0.54166666666666663 +0.45833333333333331 -1 0.54166666666666663 +0.29464285714285715 -1 0.6875 +0.3125 -1 0.5625 +0.45833333333333331 -1 0.70833333333333337 +0.1875 -1 0.7946428571428571 +0.0625 -1 0.9375 +0.0625 -1 0.8125 +0.1875 -1 0.9375 +0.20833333333333334 -1 0.70833333333333337 +0.0625 -1 0.5803571428571429 +0.16666666666666666 -1 0.54166666666666663 +0.041666666666666671 -1 0.66666666666666663 +0.29166666666666669 -1 0.79166666666666663 +0.4375 -1 0.9375 +0.3125 -1 0.9375 +0.45833333333333331 -1 0.79166666666666663 +0.54166666666666663 -1 0.45833333333333331 +0.70833333333333337 -1 0.29166666666666669 +0.70833333333333337 -1 0.45833333333333331 +0.54166666666666663 -1 0.29166666666666669 +0.7946428571428571 -1 0.1875 +0.9375 -1 0.0625 +0.9375 -1 0.1875 +0.8125 -1 0.0625 +0.79166666666666663 -1 0.29166666666666669 +0.9375 -1 0.4375 +0.79166666666666663 -1 0.45833333333333331 +0.9375 -1 0.3125 +0.70833333333333337 -1 0.20833333333333334 +0.58333333333333337 -1 0.041666666666666671 +0.66666666666666663 -1 0.041666666666666671 +0.54166666666666663 -1 0.20833333333333334 +0.58203125 1 -0.5625 +-0.5625 1 0.58203125 +-0.5625 0.58203125 1 +0.58203125 -0.5625 1 +1 0.58203125 -0.5625 +1 -0.5625 0.58203125 +0.14955357142857142 1 -0.044642857142857144 +-0.044642857142857144 1 0.14955357142857142 +-0.044642857142857144 0.14955357142857142 1 +0.14955357142857142 -0.044642857142857144 1 +1 0.1640625 -0.052083333333333336 +1 -0.044642857142857144 0.14955357142857142 +0.35481770833333331 1 -0.32291666666666669 +0.685546875 1 -0.70833333333333337 +-0.32291666666666669 1 0.35481770833333331 +-0.70833333333333337 1 0.685546875 +-0.32291666666666669 0.35481770833333331 1 +-0.70833333333333337 0.685546875 1 +0.35481770833333331 -0.32291666666666669 1 +0.685546875 -0.70833333333333337 1 +1 0.685546875 -0.70833333333333337 +1 0.35481770833333331 -0.32291666666666669 +1 -0.29166666666666669 0.36783854166666669 +1 -0.70833333333333337 0.685546875 +0.45833333333333331 1 -0.41666666666666669 +-0.42708333333333331 1 0.46940104166666669 +-0.41666666666666669 0.45833333333333331 1 +0.45833333333333331 -0.41666666666666669 1 +1 0.45833333333333331 -0.41666666666666669 +1 -0.41666666666666669 0.45833333333333331 +0.8152901785714286 1 -0.8214285714285714 +0.642578125 1 -0.55208333333333337 +-0.55208333333333337 1 0.642578125 +-0.8214285714285714 1 0.8152901785714286 +-0.8214285714285714 0.8152901785714286 1 +-0.55208333333333337 0.642578125 1 +0.8152901785714286 -0.8214285714285714 1 +0.642578125 -0.55208333333333337 1 +1 -0.8214285714285714 0.8152901785714286 +1 -0.55208333333333337 0.642578125 +1 0.642578125 -0.55208333333333337 +1 0.8152901785714286 -0.8214285714285714 +1 -0.20833333333333334 0.20833333333333334 +0.20833333333333334 1 -0.20833333333333334 +-0.20535714285714285 1 0.1875 +-0.20833333333333334 0.20833333333333334 1 +0.1875 -0.20535714285714285 1 +1 0.1875 -0.20535714285714285 +0.30691964285714285 1 -0.16964285714285715 +-0.1875 1 0.30859375 +-0.16964285714285715 0.30691964285714285 1 +0.30859375 -0.1875 1 +1 0.30859375 -0.1875 +1 -0.1875 0.31201171875 +0.29375000000000001 1 -0.087499999999999994 +-0.052083333333333336 1 0.32161458333333331 +-0.087499999999999994 0.29375000000000001 1 +0.32161458333333331 -0.052083333333333336 1 +1 0.32161458333333331 -0.052083333333333336 +1 -0.087499999999999994 0.29375000000000001 +0.7494419642857143 1 -0.6696428571428571 +0.43359375 1 -0.28125 +-0.29166666666666669 1 0.45052083333333331 +-0.6640625 1 0.76025390625 +-0.6696428571428571 0.7494419642857143 1 +-0.28125 0.43359375 1 +0.7494419642857143 -0.6696428571428571 1 +0.45052083333333331 -0.29166666666666669 1 +1 -0.6696428571428571 0.7494419642857143 +1 -0.28125 0.43359375 +1 0.45052083333333331 -0.29166666666666669 +1 0.76025390625 -0.6640625 +0.5636160714285714 1 -0.4642857142857143 +-0.48958333333333331 1 0.57096354166666663 +-0.4642857142857143 0.5636160714285714 1 +0.5636160714285714 -0.4642857142857143 1 +1 -0.4642857142857143 0.5636160714285714 +1 0.5636160714285714 -0.4642857142857143 +0.70377604166666663 1 -0.54166666666666663 +-0.54166666666666663 1 0.70377604166666663 +-0.54166666666666663 0.70377604166666663 1 +0.70377604166666663 -0.54166666666666663 1 +1 0.70377604166666663 -0.54166666666666663 +1 -0.54166666666666663 0.70377604166666663 +0.40559895833333331 1 -0.20833333333333334 +-0.1875 1 0.40000000000000002 +-0.20833333333333334 0.40559895833333331 1 +0.40000000000000002 -0.1875 1 +1 0.40000000000000002 -0.1875 +1 -0.20833333333333334 0.40559895833333331 +0.39908854166666669 1 -0.052083333333333336 +-0.0625 1 0.396484375 +-0.052083333333333336 0.39908854166666669 1 +0.396484375 -0.0625 1 +1 0.396484375 -0.0625 +1 -0.052083333333333336 0.39908854166666669 +0.52256944444444442 1 -0.31944444444444442 +-0.29166666666666669 1 0.53125 +-0.31944444444444442 0.52256944444444442 1 +0.5133928571428571 -0.3392857142857143 1 +1 0.5133928571428571 -0.3392857142857143 +1 -0.31944444444444442 0.52256944444444442 +0.892578125 1 -0.80208333333333337 +0.47526041666666669 1 -0.072916666666666671 +-0.072916666666666671 1 0.47526041666666669 +-0.80208333333333337 1 0.892578125 +-0.80208333333333337 0.892578125 1 +-0.072916666666666671 0.47526041666666669 1 +0.892578125 -0.80208333333333337 1 +0.47526041666666669 -0.072916666666666671 1 +1 0.47526041666666669 -0.072916666666666671 +1 0.892578125 -0.80208333333333337 +1 -0.80208333333333337 0.892578125 +1 -0.072916666666666671 0.47526041666666669 +0.541015625 1 -0.0625 +0.65494791666666663 1 -0.29166666666666669 +0.689453125 1 -0.44791666666666669 +0.9375 1 -0.91666666666666663 +-0.0625 1 0.541015625 +-0.25 1 0.65625 +-0.44791666666666669 1 0.689453125 +-0.91666666666666663 1 0.9375 +-0.0625 0.541015625 1 +-0.29166666666666669 0.65494791666666663 1 +-0.44791666666666669 0.689453125 1 +-0.91666666666666663 0.9375 1 +0.541015625 -0.0625 1 +0.6467633928571429 -0.22321428571428573 1 +0.689453125 -0.44791666666666669 1 +0.9375 -0.91666666666666663 1 +1 0.9375 -0.91666666666666663 +1 0.689453125 -0.44791666666666669 +1 0.65625 -0.25 +1 0.541015625 -0.0625 +1 -0.0625 0.541015625 +1 -0.29166666666666669 0.65494791666666663 +1 -0.44791666666666669 0.689453125 +1 -0.91666666666666663 0.9375 +0.56640625 1 -0.21249999999999999 +-0.21249999999999999 1 0.56640625 +-0.21249999999999999 0.56640625 1 +0.56966145833333337 -0.23958333333333331 1 +1 0.56966145833333337 -0.23958333333333331 +1 -0.21249999999999999 0.56640625 +0.611328125 1 -0.0625 +-0.050000000000000003 1 0.62656250000000002 +-0.0625 0.611328125 1 +0.62031250000000004 -0.10000000000000001 1 +1 0.62656250000000002 -0.050000000000000003 +1 -0.0625 0.611328125 +0.912109375 1 -0.0625 +-0.0625 1 0.912109375 +-0.0625 0.912109375 1 +0.912109375 -0.0625 1 +1 0.912109375 -0.0625 +1 -0.0625 0.912109375 +3 1902 2899 2906 +3 1966 2963 2970 +3 2094 3155 3162 +3 2158 3219 3226 +3 1982 2421 2428 +3 1854 3411 3418 +3 2286 3475 3482 +3 2046 2479 2486 +3 2350 2450 2457 +3 1768 1786 1107 +3 3622 1634 1611 +3 3602 3644 1046 +3 2169 1296 2501 +3 2501 1296 3513 +3 2174 2556 2563 +3 71 1751 3657 +3 3513 73 69 +3 1576 1589 3597 +3 3550 955 3555 +3 1708 1077 1729 +3 71 72 1729 +3 72 82 1708 +3 81 77 3624 +3 3513 1558 74 +3 1558 1576 3561 +3 75 3597 3610 +3 1647 1614 3624 +3 1661 1059 1674 +3 1674 1066 1708 +3 1774 1790 1109 +3 2238 2601 2608 +3 3630 1636 1619 +3 3604 3646 1050 +3 2302 2649 2656 +3 36 2616 2680 +3 3515 1563 40 +3 3515 39 37 +3 2680 1344 3515 +3 3599 3563 1580 +3 1580 1593 3599 +3 3593 1593 1580 +3 46 3653 1665 +3 1665 3633 1061 +3 49 1755 3659 +3 49 50 1735 +3 50 47 1712 +3 48 43 3632 +3 1563 1580 3563 +3 1649 1622 3632 +3 1685 1071 1712 +3 1686 1072 1715 +3 8 1756 3660 +3 3639 12 1650 +3 6 4 1686 +3 1667 1062 1686 +3 1715 1080 1736 +3 3564 16 1565 +3 3600 11 3564 +3 3516 14 15 +3 2709 1354 3516 +3 2709 15 1 +3 3516 15 2709 +3 1608 1038 1044 +3 1778 1794 1111 +3 1736 1090 1756 +3 3642 1639 1631 +3 10 3600 3616 +3 3607 3649 1056 +3 3516 1565 16 +3 111 338 556 +3 125 353 658 +3 143 402 783 +3 149 416 815 +3 145 464 792 +3 137 481 742 +3 105 328 509 +3 119 316 616 +3 129 392 684 +3 113 377 568 +3 121 451 630 +3 133 439 713 +3 104 13 499 +3 109 389 540 +3 108 347 527 +3 117 460 600 +3 116 324 587 +3 124 91 649 +3 127 44 669 +3 131 62 699 +3 135 78 729 +3 141 476 768 +3 140 411 756 +3 148 31 806 +3 212 346 559 +3 115 470 543 +3 103 7 493 +3 250 363 512 +3 107 421 523 +3 198 334 337 +3 123 84 643 +3 234 323 351 +3 292 410 784 +3 110 311 367 +3 128 50 678 +3 304 426 688 +3 139 433 752 +3 260 398 401 +3 147 18 800 +3 218 388 415 +3 296 475 794 +3 132 52 430 +3 118 358 604 +3 281 489 634 +3 142 370 772 +3 239 459 463 +3 136 72 736 +3 271 448 480 +3 103 326 495 +3 104 197 501 +3 105 204 514 +3 494 332 106 +3 107 349 529 +3 108 208 531 +3 109 210 545 +3 110 374 551 +3 111 216 560 +3 524 344 112 +3 113 223 574 +3 539 386 114 +3 115 313 589 +3 116 228 591 +3 117 231 605 +3 118 449 611 +3 119 238 621 +3 584 321 120 +3 121 245 636 +3 599 457 122 +3 123 364 646 +3 124 248 651 +3 125 254 661 +3 644 361 126 +3 127 257 670 +3 128 390 679 +3 129 266 690 +3 676 396 130 +3 131 269 700 +3 132 436 708 +3 133 276 719 +3 706 446 134 +3 135 278 730 +3 136 490 738 +3 137 285 744 +3 735 487 138 +3 139 413 758 +3 140 287 760 +3 141 289 773 +3 142 477 779 +3 143 295 785 +3 753 408 144 +3 145 299 795 +3 767 473 146 +3 147 427 803 +3 148 302 808 +3 149 308 818 +3 801 424 150 +3 540 538 563 +3 224 209 543 +3 560 510 215 +3 616 319 151 +3 152 213 554 +3 559 214 565 +3 164 478 584 +3 543 209 153 +3 509 331 154 +3 661 618 253 +3 650 155 493 +3 649 648 664 +3 160 5 494 +3 493 155 497 +3 156 252 656 +3 512 203 157 +3 556 342 158 +3 514 203 513 +3 341 196 523 +3 499 498 517 +3 152 428 524 +3 523 196 159 +3 160 200 507 +3 337 510 520 +3 658 359 161 +3 621 214 162 +3 356 230 643 +3 600 598 624 +3 156 87 644 +3 643 230 163 +3 164 236 614 +3 351 618 627 +3 768 766 788 +3 770 165 367 +3 785 686 294 +3 568 383 166 +3 167 293 781 +3 784 222 168 +3 178 317 539 +3 367 165 553 +3 684 395 169 +3 818 570 307 +3 807 170 678 +3 806 805 821 +3 175 48 676 +3 678 170 681 +3 171 306 813 +3 688 265 172 +3 783 406 173 +3 690 265 689 +3 405 256 752 +3 669 668 693 +3 167 442 753 +3 752 256 174 +3 175 262 682 +3 401 686 696 +3 815 422 176 +3 574 222 573 +3 419 207 800 +3 527 525 578 +3 171 27 801 +3 800 207 177 +3 178 220 566 +3 415 570 581 +3 756 754 798 +3 750 179 430 +3 795 632 298 +3 713 444 180 +3 181 297 790 +3 794 275 182 +3 192 66 706 +3 430 179 710 +3 630 455 183 +3 744 715 284 +3 727 184 604 +3 729 728 747 +3 189 365 599 +3 604 184 613 +3 185 283 740 +3 634 244 186 +3 792 471 187 +3 636 244 635 +3 467 227 772 +3 587 585 639 +3 181 380 767 +3 772 227 188 +3 189 241 628 +3 463 632 642 +3 742 485 190 +3 719 275 718 +3 484 268 736 +3 699 698 723 +3 185 81 735 +3 736 268 191 +3 192 273 711 +3 480 715 726 +3 8 9 650 +3 495 326 496 +3 194 652 193 +3 497 194 326 +3 507 200 350 +3 501 196 195 +3 503 196 501 +3 517 502 197 +3 198 199 518 +3 106 328 200 +3 202 659 201 +3 513 202 515 +3 516 203 514 +3 154 335 204 +3 339 562 505 +3 520 339 199 +3 522 420 341 +3 531 207 205 +3 529 349 530 +3 566 220 429 +3 343 562 206 +3 159 343 349 +3 533 207 531 +3 578 532 208 +3 554 213 318 +3 551 374 369 +3 545 209 309 +3 546 541 770 +3 548 209 545 +3 563 320 210 +3 371 775 211 +3 553 371 374 +3 212 310 564 +3 112 338 213 +3 558 214 559 +3 215 352 561 +3 340 510 560 +3 158 528 216 +3 217 622 550 +3 565 217 310 +3 218 219 579 +3 114 377 220 +3 376 816 221 +3 573 376 572 +3 576 222 574 +3 166 575 223 +3 417 820 535 +3 581 417 219 +3 583 469 224 +3 591 227 225 +3 589 313 547 +3 628 241 479 +3 590 622 226 +3 153 590 313 +3 593 227 591 +3 639 592 228 +3 614 236 366 +3 611 449 612 +3 605 230 229 +3 601 357 727 +3 607 230 605 +3 624 606 231 +3 233 731 232 +3 613 233 449 +3 234 235 625 +3 120 316 236 +3 619 659 237 +3 162 619 620 +3 314 214 621 +3 151 588 238 +3 354 663 609 +3 627 354 235 +3 239 240 640 +3 122 451 241 +3 243 793 242 +3 635 243 637 +3 638 244 636 +3 183 461 245 +3 465 797 595 +3 642 465 240 +3 83 70 356 +3 646 364 647 +3 360 663 246 +3 163 360 364 +3 656 252 336 +3 651 155 247 +3 330 155 651 +3 664 249 248 +3 250 251 665 +3 126 353 252 +3 327 203 512 +3 253 617 662 +3 355 618 661 +3 161 645 254 +3 666 652 655 +3 157 666 251 +3 670 256 255 +3 682 262 414 +3 672 256 670 +3 693 671 257 +3 679 390 680 +3 49 22 807 +3 259 809 258 +3 681 259 390 +3 260 261 694 +3 130 392 262 +3 264 816 263 +3 689 264 691 +3 692 265 690 +3 169 399 266 +3 403 787 674 +3 696 403 261 +3 700 268 267 +3 711 273 491 +3 702 268 700 +3 723 701 269 +3 708 436 432 +3 51 38 750 +3 434 762 270 +3 710 434 436 +3 271 272 724 +3 134 439 273 +3 438 793 274 +3 718 438 717 +3 721 275 719 +3 180 720 276 +3 482 746 704 +3 726 482 272 +3 730 184 277 +3 740 283 462 +3 453 184 730 +3 747 279 278 +3 738 490 739 +3 71 56 484 +3 486 746 280 +3 191 486 490 +3 281 282 748 +3 138 481 283 +3 450 244 634 +3 284 714 745 +3 483 715 744 +3 190 737 285 +3 749 731 734 +3 186 749 282 +3 761 431 405 +3 760 179 751 +3 758 413 759 +3 790 297 443 +3 407 787 286 +3 174 407 413 +3 435 179 760 +3 798 288 287 +3 781 293 382 +3 779 477 780 +3 773 165 769 +3 774 368 467 +3 373 165 773 +3 788 290 289 +3 472 797 291 +3 188 472 477 +3 292 384 789 +3 144 402 293 +3 378 222 784 +3 294 685 786 +3 404 686 785 +3 173 757 295 +3 379 775 777 +3 168 379 384 +3 296 445 799 +3 146 464 297 +3 440 275 794 +3 298 631 796 +3 466 632 795 +3 187 778 299 +3 441 762 764 +3 182 441 445 +3 17 2 419 +3 803 427 804 +3 423 820 300 +3 177 423 427 +3 813 306 400 +3 808 170 301 +3 394 170 808 +3 821 303 302 +3 304 305 822 +3 150 416 306 +3 391 265 688 +3 307 569 819 +3 418 570 818 +3 176 802 308 +3 823 809 812 +3 172 823 305 +3 545 210 548 +3 544 309 224 +3 550 310 217 +3 543 583 224 +3 311 372 109 +3 548 320 312 +3 115 325 470 +3 224 309 209 +3 559 561 558 +3 226 313 590 +3 201 515 202 +3 621 238 314 +3 345 338 111 +3 558 352 315 +3 234 316 322 +3 314 565 214 +3 540 389 555 +3 314 588 623 +3 317 385 152 +3 318 213 564 +3 109 372 389 +3 555 537 554 +3 112 342 556 +3 549 563 538 +3 547 319 321 +3 590 320 622 +3 164 456 478 +3 321 586 589 +3 119 323 322 +3 584 586 321 +3 324 325 115 +3 616 316 120 +3 514 204 516 +3 237 620 619 +3 193 326 194 +3 512 662 327 +3 198 328 333 +3 516 335 329 +3 362 353 125 +3 327 513 203 +3 493 8 650 +3 655 251 666 +3 492 24 247 +3 651 248 330 +3 103 6 7 +3 650 9 492 +3 94 95 124 +3 330 497 155 +3 496 331 332 +3 330 249 653 +3 160 12 5 +3 332 3 495 +3 105 334 333 +3 494 3 332 +3 4 6 103 +3 509 328 106 +3 649 91 657 +3 666 335 652 +3 90 92 156 +3 336 252 665 +3 124 95 91 +3 657 89 656 +3 126 359 658 +3 654 664 648 +3 520 199 337 +3 327 617 660 +3 504 199 505 +3 337 334 511 +3 212 338 345 +3 519 339 520 +3 333 328 105 +3 560 216 340 +3 195 15 501 +3 505 199 339 +3 500 195 341 +3 501 197 503 +3 107 348 421 +3 500 1 195 +3 14 16 104 +3 523 522 341 +3 530 342 344 +3 506 343 159 +3 152 385 428 +3 344 526 529 +3 111 346 345 +3 524 526 344 +3 347 348 107 +3 556 338 112 +3 499 13 508 +3 206 349 343 +3 10 12 160 +3 350 200 518 +3 104 16 13 +3 508 11 507 +3 106 331 509 +3 504 517 498 +3 627 235 351 +3 619 352 659 +3 608 235 609 +3 351 323 557 +3 250 353 362 +3 626 354 627 +3 322 316 119 +3 661 254 355 +3 229 601 605 +3 609 235 354 +3 602 229 356 +3 605 231 607 +3 123 88 84 +3 602 357 229 +3 358 454 117 +3 643 83 356 +3 647 359 361 +3 610 360 163 +3 156 92 87 +3 361 85 646 +3 125 363 362 +3 644 85 361 +3 86 88 123 +3 658 353 126 +3 600 460 615 +3 246 364 360 +3 365 456 164 +3 366 236 625 +3 117 454 460 +3 615 597 614 +3 120 319 616 +3 608 624 598 +3 553 374 367 +3 542 368 769 +3 166 369 211 +3 367 546 770 +3 370 468 141 +3 552 371 553 +3 110 372 311 +3 773 289 373 +3 573 572 574 +3 211 374 371 +3 307 375 221 +3 574 223 576 +3 409 402 143 +3 571 376 573 +3 218 377 387 +3 784 786 378 +3 768 476 782 +3 577 379 168 +3 380 381 167 +3 382 293 789 +3 141 468 476 +3 782 765 781 +3 144 406 783 +3 776 788 766 +3 369 383 386 +3 777 384 379 +3 178 385 317 +3 386 537 551 +3 113 388 387 +3 539 537 386 +3 389 372 110 +3 568 377 114 +3 690 266 692 +3 221 572 376 +3 258 390 259 +3 688 819 391 +3 260 392 397 +3 692 399 393 +3 425 416 149 +3 391 689 265 +3 678 49 807 +3 812 305 823 +3 677 19 301 +3 808 302 394 +3 128 47 50 +3 807 22 677 +3 33 34 148 +3 394 681 170 +3 680 395 396 +3 394 303 810 +3 175 43 48 +3 396 46 679 +3 129 398 397 +3 676 46 396 +3 45 47 128 +3 684 392 130 +3 806 31 814 +3 823 399 809 +3 30 32 171 +3 400 306 822 +3 148 34 31 +3 814 29 813 +3 150 422 815 +3 811 821 805 +3 696 261 401 +3 391 569 817 +3 673 261 674 +3 401 398 687 +3 292 402 409 +3 695 403 696 +3 397 392 129 +3 785 295 404 +3 255 37 670 +3 674 261 403 +3 667 255 405 +3 670 257 672 +3 139 412 433 +3 667 35 255 +3 39 40 127 +3 752 761 405 +3 759 406 408 +3 675 407 174 +3 167 381 442 +3 408 755 758 +3 143 410 409 +3 753 755 408 +3 411 412 139 +3 783 402 144 +3 669 44 683 +3 286 413 407 +3 41 43 175 +3 414 262 694 +3 127 40 44 +3 683 42 682 +3 130 395 684 +3 673 693 668 +3 581 219 415 +3 263 691 264 +3 534 219 535 +3 415 388 375 +3 304 416 425 +3 580 417 581 +3 387 377 113 +3 818 308 418 +3 205 522 531 +3 535 219 417 +3 521 205 419 +3 531 208 533 +3 147 28 18 +3 521 420 205 +3 421 348 108 +3 800 17 419 +3 804 422 424 +3 536 423 177 +3 171 32 27 +3 424 25 803 +3 149 426 425 +3 801 25 424 +3 26 28 147 +3 815 416 150 +3 527 347 567 +3 300 427 423 +3 428 385 178 +3 429 220 579 +3 108 348 347 +3 567 526 566 +3 114 383 568 +3 534 578 525 +3 710 436 430 +3 707 431 751 +3 180 432 270 +3 430 51 750 +3 433 412 140 +3 709 434 710 +3 132 65 52 +3 760 287 435 +3 718 717 719 +3 270 436 434 +3 284 437 274 +3 719 276 721 +3 474 464 145 +3 716 438 718 +3 271 439 447 +3 794 796 440 +3 756 411 791 +3 722 441 182 +3 442 381 181 +3 443 297 799 +3 140 412 411 +3 791 755 790 +3 146 471 792 +3 763 798 754 +3 432 444 446 +3 764 445 441 +3 192 61 66 +3 446 64 708 +3 133 448 447 +3 706 64 446 +3 63 65 132 +3 713 439 134 +3 636 245 638 +3 274 717 438 +3 232 449 233 +3 634 745 450 +3 239 451 458 +3 638 461 452 +3 488 481 137 +3 450 635 244 +3 604 601 727 +3 734 282 749 +3 603 67 277 +3 730 278 453 +3 118 454 358 +3 727 357 603 +3 73 74 135 +3 453 613 184 +3 612 455 457 +3 453 279 732 +3 189 456 365 +3 457 597 611 +3 121 459 458 +3 599 597 457 +3 460 454 118 +3 630 451 122 +3 729 78 741 +3 749 461 731 +3 75 77 185 +3 462 283 748 +3 135 74 78 +3 741 76 740 +3 138 485 742 +3 733 747 728 +3 642 240 463 +3 450 714 743 +3 594 240 595 +3 463 459 633 +3 296 464 474 +3 641 465 642 +3 458 451 121 +3 795 299 466 +3 225 583 591 +3 595 240 465 +3 582 225 467 +3 591 228 593 +3 142 468 370 +3 582 469 225 +3 470 325 116 +3 772 774 467 +3 780 471 473 +3 596 472 188 +3 181 381 380 +3 473 765 779 +3 145 475 474 +3 767 765 473 +3 476 468 142 +3 792 464 146 +3 587 324 629 +3 291 477 472 +3 478 456 189 +3 479 241 640 +3 116 325 324 +3 629 586 628 +3 122 455 630 +3 594 639 585 +3 726 272 480 +3 242 637 243 +3 703 272 704 +3 480 448 437 +3 281 481 488 +3 725 482 726 +3 447 439 133 +3 744 285 483 +3 267 55 700 +3 704 272 482 +3 697 267 484 +3 700 269 702 +3 136 82 72 +3 697 53 267 +3 57 58 131 +3 736 71 484 +3 739 485 487 +3 705 486 191 +3 185 77 81 +3 487 79 738 +3 137 489 488 +3 735 79 487 +3 80 82 136 +3 742 481 138 +3 699 62 712 +3 280 490 486 +3 59 61 192 +3 491 273 724 +3 131 58 62 +3 712 60 711 +3 134 444 713 +3 703 723 698 +3 9 23 492 +3 7 8 493 +3 497 326 493 +3 493 326 103 +3 106 200 494 +3 5 3 494 +3 332 331 106 +3 494 200 160 +3 193 335 154 +3 495 3 4 +3 154 496 193 +3 496 332 495 +3 247 93 651 +3 653 497 330 +3 496 326 193 +3 495 4 103 +3 508 13 11 +3 508 498 499 +3 517 197 499 +3 499 197 104 +3 195 1 15 +3 341 420 500 +3 195 196 341 +3 500 0 1 +3 197 502 503 +3 501 15 14 +3 502 562 343 +3 159 503 506 +3 504 498 350 +3 505 562 502 +3 503 502 506 +3 501 14 104 +3 518 199 504 +3 507 11 10 +3 333 334 198 +3 350 508 507 +3 154 204 509 +3 509 204 105 +3 350 498 508 +3 507 10 160 +3 201 352 215 +3 511 510 337 +3 215 511 201 +3 511 334 515 +3 157 251 512 +3 660 513 327 +3 511 515 201 +3 337 199 198 +3 204 335 516 +3 514 515 334 +3 654 251 655 +3 157 516 329 +3 331 496 154 +3 193 652 335 +3 513 515 514 +3 514 334 105 +3 505 517 504 +3 518 200 328 +3 340 528 519 +3 504 350 518 +3 520 510 340 +3 519 520 340 +3 505 502 517 +3 518 328 198 +3 420 0 500 +3 419 2 521 +3 421 522 523 +3 205 420 522 +3 159 349 523 +3 523 349 107 +3 205 207 419 +3 521 0 420 +3 112 213 524 +3 567 525 527 +3 428 526 524 +3 567 347 526 +3 344 342 112 +3 524 213 152 +3 578 208 527 +3 527 208 108 +3 206 528 158 +3 529 526 347 +3 158 530 206 +3 530 344 529 +3 196 503 159 +3 506 502 343 +3 530 349 206 +3 529 347 107 +3 208 532 533 +3 531 522 421 +3 532 820 423 +3 177 533 536 +3 534 525 429 +3 535 820 532 +3 533 532 536 +3 531 421 108 +3 555 389 537 +3 317 537 539 +3 555 538 540 +3 114 220 539 +3 563 210 540 +3 540 210 109 +3 386 383 114 +3 539 220 178 +3 309 541 546 +3 311 546 367 +3 224 469 544 +3 541 771 542 +3 153 313 543 +3 544 771 541 +3 770 541 542 +3 367 374 110 +3 210 320 548 +3 545 546 311 +3 151 547 226 +3 153 548 312 +3 549 538 318 +3 550 622 320 +3 309 546 545 +3 545 311 109 +3 211 575 166 +3 551 537 389 +3 373 290 552 +3 369 386 551 +3 553 165 373 +3 552 553 373 +3 369 374 211 +3 551 389 110 +3 564 310 549 +3 554 537 317 +3 345 346 212 +3 318 555 554 +3 158 216 556 +3 556 216 111 +3 318 538 555 +3 554 317 152 +3 561 352 558 +3 346 561 559 +3 253 557 237 +3 162 558 315 +3 510 511 215 +3 201 659 352 +3 565 310 559 +3 559 310 212 +3 216 528 340 +3 560 561 346 +3 562 339 528 +3 528 339 519 +3 342 530 158 +3 206 562 528 +3 215 561 560 +3 560 346 111 +3 550 563 549 +3 564 213 338 +3 549 310 550 +3 549 318 564 +3 162 620 621 +3 623 565 314 +3 550 320 563 +3 564 338 212 +3 579 219 534 +3 566 526 428 +3 387 388 218 +3 429 567 566 +3 166 223 568 +3 568 223 113 +3 429 525 567 +3 566 428 178 +3 221 569 307 +3 375 570 415 +3 378 685 571 +3 375 388 572 +3 573 222 378 +3 571 573 378 +3 375 572 221 +3 415 219 218 +3 223 575 576 +3 574 572 388 +3 575 775 379 +3 168 576 577 +3 383 369 166 +3 211 775 575 +3 576 575 577 +3 574 388 113 +3 535 578 534 +3 579 220 377 +3 418 802 580 +3 534 429 579 +3 581 570 418 +3 580 581 418 +3 535 532 578 +3 579 377 218 +3 469 771 544 +3 467 368 582 +3 470 583 543 +3 225 469 583 +3 544 541 309 +3 543 313 115 +3 225 227 467 +3 582 771 469 +3 120 236 584 +3 629 585 587 +3 478 586 584 +3 629 324 586 +3 321 319 120 +3 584 236 164 +3 639 228 587 +3 587 228 116 +3 226 588 151 +3 589 586 324 +3 312 590 153 +3 547 321 589 +3 153 209 548 +3 312 320 590 +3 547 313 226 +3 589 324 115 +3 228 592 593 +3 591 583 470 +3 592 797 472 +3 188 593 596 +3 594 585 479 +3 595 797 592 +3 593 592 596 +3 591 470 116 +3 615 460 597 +3 365 597 599 +3 615 598 600 +3 122 241 599 +3 624 231 600 +3 600 231 117 +3 457 455 122 +3 599 241 189 +3 229 357 601 +3 358 601 604 +3 356 70 602 +3 357 68 603 +3 229 230 356 +3 602 68 357 +3 613 449 604 +3 604 449 118 +3 231 606 607 +3 605 601 358 +3 606 663 360 +3 163 607 610 +3 608 598 366 +3 609 663 606 +3 607 606 610 +3 605 358 117 +3 232 461 183 +3 611 597 460 +3 183 612 232 +3 612 457 611 +3 277 69 730 +3 732 613 453 +3 612 449 232 +3 611 460 118 +3 625 235 608 +3 614 597 365 +3 322 323 234 +3 366 615 614 +3 151 238 616 +3 616 238 119 +3 366 598 615 +3 614 365 164 +3 237 617 253 +3 557 618 351 +3 315 619 162 +3 557 323 620 +3 162 214 558 +3 315 352 619 +3 557 620 237 +3 351 235 234 +3 238 588 314 +3 621 620 323 +3 588 622 217 +3 588 217 623 +3 319 547 151 +3 226 622 588 +3 623 217 565 +3 621 323 119 +3 609 624 608 +3 625 236 316 +3 355 645 626 +3 608 366 625 +3 627 618 355 +3 626 627 355 +3 609 606 624 +3 625 316 234 +3 640 240 594 +3 628 586 478 +3 458 459 239 +3 479 629 628 +3 183 245 630 +3 630 245 121 +3 479 585 629 +3 628 478 189 +3 242 631 298 +3 633 632 463 +3 298 633 242 +3 633 459 637 +3 186 282 634 +3 743 635 450 +3 633 637 242 +3 463 240 239 +3 245 461 638 +3 636 637 459 +3 733 282 734 +3 186 638 452 +3 455 612 183 +3 232 731 461 +3 635 637 636 +3 636 459 121 +3 595 639 594 +3 640 241 451 +3 466 778 641 +3 594 479 640 +3 642 632 466 +3 641 642 466 +3 595 592 639 +3 640 451 239 +3 70 68 602 +3 84 83 643 +3 163 364 643 +3 643 364 123 +3 126 252 644 +3 87 85 644 +3 361 359 126 +3 644 252 156 +3 246 645 161 +3 646 85 86 +3 161 647 246 +3 647 361 646 +3 230 607 163 +3 610 606 360 +3 647 364 246 +3 646 86 123 +3 657 91 89 +3 657 648 649 +3 664 248 649 +3 649 248 124 +3 247 24 93 +3 247 650 492 +3 247 155 650 +3 492 23 24 +3 248 249 330 +3 651 93 94 +3 249 652 194 +3 249 194 653 +3 654 648 336 +3 655 652 249 +3 653 194 497 +3 651 94 124 +3 665 251 654 +3 656 89 90 +3 362 363 250 +3 336 657 656 +3 161 254 658 +3 658 254 125 +3 336 648 657 +3 656 90 156 +3 662 617 327 +3 363 662 512 +3 617 659 202 +3 617 202 660 +3 618 557 253 +3 237 659 617 +3 660 202 513 +3 512 251 250 +3 254 645 355 +3 661 662 363 +3 663 354 645 +3 645 354 626 +3 359 647 161 +3 246 663 645 +3 253 662 661 +3 661 363 125 +3 655 664 654 +3 665 252 353 +3 329 666 157 +3 654 336 665 +3 157 203 516 +3 329 335 666 +3 655 249 664 +3 665 353 250 +3 405 431 667 +3 255 35 37 +3 255 256 405 +3 667 36 35 +3 683 668 669 +3 683 44 42 +3 693 257 669 +3 669 257 127 +3 257 671 672 +3 670 37 39 +3 671 787 407 +3 174 672 675 +3 673 668 414 +3 674 787 671 +3 672 671 675 +3 670 39 127 +3 48 46 676 +3 130 262 676 +3 396 395 130 +3 676 262 175 +3 50 49 678 +3 22 20 677 +3 681 390 678 +3 678 390 128 +3 258 399 169 +3 679 46 45 +3 169 680 258 +3 680 396 679 +3 301 21 808 +3 810 681 394 +3 680 390 258 +3 679 45 128 +3 694 261 673 +3 682 42 41 +3 397 398 260 +3 414 683 682 +3 169 266 684 +3 684 266 129 +3 414 668 683 +3 682 41 175 +3 263 685 294 +3 687 686 401 +3 294 687 263 +3 687 398 691 +3 172 305 688 +3 817 689 391 +3 687 691 263 +3 401 261 260 +3 266 399 692 +3 690 691 398 +3 811 305 812 +3 172 692 393 +3 395 680 169 +3 258 809 399 +3 689 691 690 +3 690 398 129 +3 674 693 673 +3 694 262 392 +3 404 757 695 +3 673 414 694 +3 696 686 404 +3 695 696 404 +3 674 671 693 +3 694 392 260 +3 484 56 697 +3 267 53 55 +3 267 268 484 +3 697 54 53 +3 712 698 699 +3 712 62 60 +3 723 269 699 +3 699 269 131 +3 269 701 702 +3 700 55 57 +3 701 746 486 +3 191 702 705 +3 703 698 491 +3 704 746 701 +3 702 701 705 +3 700 57 131 +3 66 64 706 +3 134 273 706 +3 446 444 134 +3 706 273 192 +3 52 51 430 +3 38 36 707 +3 750 38 707 +3 430 436 132 +3 270 720 180 +3 708 64 63 +3 435 288 709 +3 432 446 708 +3 710 179 435 +3 709 710 435 +3 432 436 270 +3 708 63 132 +3 724 272 703 +3 711 60 59 +3 447 448 271 +3 491 712 711 +3 180 276 713 +3 713 276 133 +3 491 698 712 +3 711 59 192 +3 274 714 284 +3 437 715 480 +3 440 631 716 +3 437 448 717 +3 718 275 440 +3 716 718 440 +3 437 717 274 +3 480 272 271 +3 276 720 721 +3 719 717 448 +3 720 762 441 +3 182 721 722 +3 444 432 180 +3 270 762 720 +3 721 720 722 +3 719 448 133 +3 704 723 703 +3 724 273 439 +3 483 737 725 +3 703 491 724 +3 726 715 483 +3 725 726 483 +3 704 701 723 +3 724 439 271 +3 277 727 603 +3 277 67 69 +3 277 184 727 +3 603 68 67 +3 741 728 729 +3 741 78 76 +3 747 278 729 +3 729 278 135 +3 278 279 453 +3 730 69 73 +3 279 731 233 +3 279 233 732 +3 733 728 462 +3 734 731 279 +3 732 233 613 +3 730 73 135 +3 81 79 735 +3 138 283 735 +3 487 485 138 +3 735 283 185 +3 72 71 736 +3 56 54 697 +3 191 490 736 +3 736 490 136 +3 280 737 190 +3 738 79 80 +3 190 739 280 +3 739 487 738 +3 268 702 191 +3 705 701 486 +3 739 490 280 +3 738 80 136 +3 748 282 733 +3 740 76 75 +3 488 489 281 +3 462 741 740 +3 190 285 742 +3 742 285 137 +3 462 728 741 +3 740 75 185 +3 745 714 450 +3 489 745 634 +3 714 793 243 +3 714 243 743 +3 715 437 284 +3 274 793 714 +3 743 243 635 +3 634 282 281 +3 285 737 483 +3 744 745 489 +3 746 482 737 +3 737 482 725 +3 485 739 190 +3 280 746 737 +3 284 745 744 +3 744 489 137 +3 734 747 733 +3 748 283 481 +3 452 749 186 +3 733 462 748 +3 186 244 638 +3 452 461 749 +3 734 279 747 +3 748 481 281 +3 431 36 667 +3 751 750 707 +3 433 761 752 +3 751 431 761 +3 174 413 752 +3 752 413 139 +3 179 750 751 +3 707 36 431 +3 144 293 753 +3 791 754 756 +3 442 755 753 +3 791 411 755 +3 408 406 144 +3 753 293 167 +3 798 287 756 +3 756 287 140 +3 286 757 173 +3 758 755 411 +3 173 759 286 +3 759 408 758 +3 256 672 174 +3 675 671 407 +3 759 413 286 +3 758 411 139 +3 287 288 435 +3 760 761 433 +3 762 434 288 +3 288 434 709 +3 763 754 443 +3 764 762 288 +3 751 761 760 +3 760 433 140 +3 782 476 765 +3 380 765 767 +3 782 766 768 +3 146 297 767 +3 788 289 768 +3 768 289 141 +3 473 471 146 +3 767 297 181 +3 769 368 774 +3 370 774 772 +3 769 770 542 +3 368 771 582 +3 165 770 769 +3 542 771 368 +3 188 477 772 +3 772 477 142 +3 289 290 373 +3 773 774 370 +3 775 371 290 +3 290 371 552 +3 776 766 382 +3 777 775 290 +3 769 774 773 +3 773 370 141 +3 291 778 187 +3 779 765 476 +3 187 780 291 +3 780 473 779 +3 227 593 188 +3 596 592 472 +3 780 477 291 +3 779 476 142 +3 789 384 776 +3 781 765 380 +3 409 410 292 +3 382 782 781 +3 173 295 783 +3 783 295 143 +3 382 766 782 +3 781 380 167 +3 786 685 378 +3 410 786 784 +3 816 376 685 +3 685 376 571 +3 686 687 294 +3 263 816 685 +3 168 384 784 +3 784 384 292 +3 295 757 404 +3 785 786 410 +3 787 403 757 +3 757 403 695 +3 406 759 173 +3 286 787 757 +3 294 786 785 +3 785 410 143 +3 777 788 776 +3 789 293 402 +3 776 384 777 +3 776 382 789 +3 222 576 168 +3 577 575 379 +3 777 290 788 +3 789 402 292 +3 799 445 763 +3 790 755 442 +3 474 475 296 +3 443 791 790 +3 187 299 792 +3 792 299 145 +3 443 754 791 +3 790 442 181 +3 796 631 440 +3 475 796 794 +3 793 438 631 +3 631 438 716 +3 632 633 298 +3 242 793 631 +3 182 445 794 +3 794 445 296 +3 299 778 466 +3 795 796 475 +3 797 465 778 +3 778 465 641 +3 471 780 187 +3 291 797 778 +3 298 796 795 +3 795 475 145 +3 764 798 763 +3 799 297 464 +3 763 445 764 +3 763 443 799 +3 275 721 182 +3 722 720 441 +3 764 288 798 +3 799 464 296 +3 2 0 521 +3 18 17 800 +3 177 427 800 +3 800 427 147 +3 150 306 801 +3 27 25 801 +3 424 422 150 +3 801 306 171 +3 300 802 176 +3 803 25 26 +3 176 804 300 +3 804 424 803 +3 207 533 177 +3 536 532 423 +3 804 427 300 +3 803 26 147 +3 814 31 29 +3 814 805 806 +3 821 302 806 +3 806 302 148 +3 301 19 21 +3 301 807 677 +3 301 170 807 +3 677 20 19 +3 302 303 394 +3 808 21 33 +3 303 809 259 +3 303 259 810 +3 811 805 400 +3 812 809 303 +3 810 259 681 +3 808 33 148 +3 822 305 811 +3 813 29 30 +3 425 426 304 +3 400 814 813 +3 176 308 815 +3 815 308 149 +3 400 805 814 +3 813 30 171 +3 819 569 391 +3 426 819 688 +3 569 816 264 +3 569 264 817 +3 570 375 307 +3 221 816 569 +3 817 264 689 +3 688 305 304 +3 308 802 418 +3 818 819 426 +3 820 417 802 +3 802 417 580 +3 422 804 176 +3 300 820 802 +3 307 819 818 +3 818 426 149 +3 812 821 811 +3 822 306 416 +3 393 823 172 +3 811 400 822 +3 172 265 692 +3 393 399 823 +3 812 303 821 +3 822 416 304 +3 1838 2835 2842 +3 2030 2787 2794 +3 1918 3091 3098 +3 2222 3043 3050 +3 2110 3347 3354 +3 2366 3299 3306 +3 1822 2915 2922 +3 1810 3283 3290 +3 1886 2771 2778 +3 1874 3171 3178 +3 1950 2851 2858 +3 1936 2721 2732 +3 2014 2979 2986 +3 2002 2572 2579 +3 2078 3027 3034 +3 2066 3427 3434 +3 2142 3107 3114 +3 2128 2499 2517 +3 2206 3235 3242 +3 2194 2665 2672 +3 2270 3363 3370 +3 2256 2692 2703 +3 2334 2405 2412 +3 2322 3491 3498 +3 2354 2389 2396 +3 1954 2376 2384 +3 2318 3529 2445 +3 2018 3519 2467 +3 2178 955 2503 +3 2146 2540 2547 +3 2050 2527 2535 +3 2210 3523 2589 +3 2274 2633 2640 +3 2242 2620 2628 +3 2306 968 2683 +3 1986 971 2712 +3 1906 2755 2762 +3 1998 2742 2750 +3 1806 2819 2826 +3 1970 2806 2814 +3 1870 2883 2890 +3 1842 2870 2878 +3 1934 2947 2954 +3 2034 2934 2942 +3 2098 3011 3018 +3 2190 2998 3006 +3 1890 3075 3082 +3 2162 3062 3070 +3 2062 3139 3146 +3 1922 3126 3134 +3 2126 3203 3210 +3 2226 3190 3198 +3 1858 3267 3274 +3 2338 3254 3262 +3 2082 3331 3338 +3 2290 3318 3326 +3 1826 3395 3402 +3 2114 3382 3390 +3 2254 3459 3466 +3 2370 3446 3454 +3 2177 2500 2510 +3 2257 1347 3509 +3 1937 1357 3510 +3 3585 1588 864 +3 860 1601 3581 +3 861 1602 3583 +3 3609 1646 1604 +3 1635 3625 1048 +3 3613 1648 1606 +3 1637 3633 1052 +3 3546 1582 3588 +3 3619 1651 1609 +3 1587 3596 3609 +3 1591 3598 3613 +3 1597 3601 3619 +3 1610 1694 3644 +3 1618 1696 3646 +3 1630 1699 3649 +3 1659 1058 3621 +3 1663 1060 3629 +3 1669 1063 3641 +3 1660 864 870 +3 1684 1071 1703 +3 1666 867 873 +3 869 1700 875 +3 3569 1029 1641 +3 871 1702 877 +3 1713 1079 1721 +3 3577 1032 1644 +3 874 1705 880 +3 1719 1077 1675 +3 882 888 1719 +3 878 1624 1643 +3 1643 1053 1683 +3 1764 1090 1714 +3 885 891 1722 +3 894 900 1750 +3 888 894 1761 +3 896 902 1754 +3 890 896 1763 +3 885 1054 1688 +3 891 897 1764 +3 1748 893 1760 +3 888 882 1676 +3 894 888 1676 +3 1752 895 1762 +3 890 1643 1683 +3 896 890 1683 +3 1757 1098 1764 +3 897 903 1757 +3 1110 1793 1779 +3 1106 1785 1767 +3 1109 1790 1769 +3 1108 1789 1773 +3 1111 1794 1775 +3 905 1785 1782 +3 1759 898 1765 +3 900 894 1728 +3 902 896 1734 +3 1782 1105 1757 +3 1726 1670 1083 +3 1783 1098 1105 +3 1732 1678 1087 +3 1771 1095 1101 +3 1741 1690 1093 +3 1777 1097 1103 +3 1802 2838 2846 +3 1799 3251 3258 +3 1818 2886 2894 +3 1815 3414 3422 +3 1834 2803 2810 +3 1831 2918 2926 +3 1850 3379 3386 +3 1847 3286 3294 +3 1866 2902 2910 +3 1863 3142 3150 +3 1882 2739 2746 +3 1879 3094 3102 +3 1898 2867 2874 +3 1895 2774 2782 +3 1914 3059 3066 +3 1911 3174 3182 +3 1930 2966 2974 +3 1927 3547 2718 +3 1946 2822 2830 +3 1943 2424 2432 +3 1962 2931 2938 +3 1959 2854 2862 +3 1978 2392 2400 +3 1975 2726 2734 +3 1994 2790 2798 +3 1991 2543 2551 +3 2010 2950 2958 +3 2007 2482 2490 +3 2026 2758 2766 +3 2023 2982 2990 +3 1287 2475 2476 +3 2039 2575 2583 +3 2058 3158 3166 +3 2055 3398 3406 +3 2074 2995 3002 +3 2071 3350 3358 +3 2090 3123 3130 +3 2087 3030 3038 +3 2106 3315 3322 +3 2103 3430 3438 +3 2122 3222 3230 +3 2119 3539 2496 +3 2138 3078 3086 +3 2135 2559 2567 +3 2154 3187 3194 +3 2151 3110 3118 +3 2170 2524 2531 +3 2167 2511 2519 +3 2186 3046 3054 +3 2183 2636 2644 +3 2202 3206 3214 +3 2199 2604 2612 +3 2218 3014 3022 +3 2215 3238 3246 +3 1323 2597 2598 +3 2231 2668 2676 +3 2250 3478 3486 +3 2247 3542 2689 +3 2266 3334 3342 +3 2263 2652 2660 +3 2282 3443 3450 +3 2279 3366 3374 +3 2298 2617 2624 +3 2295 2697 2705 +3 2314 2453 2461 +3 2311 3462 3470 +3 2330 2373 2380 +3 2327 3302 3310 +3 1274 2440 2441 +3 2343 2408 2416 +3 2362 3270 3278 +3 2359 3494 3502 +3 2335 1258 2380 +3 2380 1258 2330 +3 2345 1272 2437 +3 2407 1264 2353 +3 2326 1266 2412 +3 2412 1266 2334 +3 1972 1361 2729 +3 2422 2391 1981 +3 3528 1573 1273 +3 2310 1277 2445 +3 2340 2411 2455 +3 2457 1280 2350 +3 2011 1284 2467 +3 2047 952 3518 +3 2036 1315 2578 +3 2486 1290 2046 +3 2131 1294 2496 +3 2169 1302 2525 +3 955 3550 2503 +3 2123 1300 2515 +3 2517 1195 2130 +3 2175 1304 2531 +3 2525 2502 2169 +3 2139 1308 2547 +3 2547 1308 2146 +3 2164 2514 2561 +3 2557 2529 2173 +3 1995 1316 2579 +3 2579 1316 2002 +3 2203 1320 2589 +3 2239 962 3522 +3 2228 1341 2671 +3 2608 1326 2238 +3 2303 1330 2624 +3 2681 1344 2297 +3 2267 1334 2640 +3 2640 1334 2274 +3 2292 1351 2700 +3 2650 2622 2301 +3 2187 1342 2672 +3 2672 1342 2194 +3 3557 1563 3552 +3 3552 968 3557 +3 3525 969 3572 +3 2251 1352 2701 +3 2703 1227 2258 +3 3558 1565 3553 +3 3553 1565 1354 +3 3526 1564 1357 +3 1931 1362 2730 +3 2732 1147 1938 +3 1887 1366 2746 +3 2746 1366 1882 +3 1897 1396 2868 +3 2773 1372 1905 +3 1878 1374 2778 +3 2778 1374 1886 +3 2020 1425 2985 +3 2788 2757 2029 +3 1839 1382 2810 +3 2869 1396 1833 +3 1798 1386 2826 +3 2826 1386 1806 +3 1828 1409 2921 +3 2836 2808 1837 +3 1942 1394 2858 +3 2858 1394 1950 +3 1903 1398 2874 +3 2868 2760 1897 +3 1862 1402 2890 +3 2890 1402 1870 +3 1892 2777 2904 +3 2900 2872 1901 +3 1814 1410 2922 +3 2922 1410 1822 +3 1967 1414 2938 +3 2932 2805 1961 +3 1926 1418 2954 +3 2954 1418 1934 +3 1956 2857 2968 +3 2964 2936 1965 +3 2006 1426 2986 +3 2986 1426 2014 +3 2079 1430 3002 +3 3002 1430 2074 +3 2089 1460 3124 +3 3029 1436 2097 +3 2070 1438 3034 +3 3034 1438 2078 +3 2212 1489 3241 +3 3044 3013 2221 +3 1919 1446 3066 +3 3125 1460 1913 +3 1883 1450 3082 +3 3082 1450 1890 +3 1908 1473 3177 +3 3092 3064 1917 +3 2134 1458 3114 +3 3114 1458 2142 +3 2095 1462 3130 +3 3124 3016 2089 +3 2054 1466 3146 +3 3146 1466 2062 +3 2084 3033 3160 +3 3156 3128 2093 +3 1867 1474 3178 +3 3178 1474 1874 +3 2159 1478 3194 +3 3188 3061 2153 +3 2118 1482 3210 +3 3210 1482 2126 +3 2148 3113 3224 +3 3220 3192 2157 +3 2198 1490 3242 +3 3242 1490 2206 +3 1811 1494 3258 +3 3258 1494 1799 +3 1849 1524 3380 +3 3285 1500 1857 +3 1803 1502 3290 +3 3290 1502 1810 +3 2356 1553 3497 +3 3300 3269 2365 +3 2111 1510 3322 +3 3381 1524 2105 +3 2075 1514 3338 +3 3338 1514 2082 +3 2100 1537 3433 +3 3348 3320 2109 +3 2262 1522 3370 +3 3370 1522 2270 +3 1855 1526 3386 +3 3380 3272 1849 +3 1819 1530 3402 +3 3402 1530 1826 +3 1844 3289 3416 +3 3412 3384 1853 +3 2059 1538 3434 +3 3434 1538 2066 +3 2287 1542 3450 +3 3444 3317 2281 +3 2246 1546 3466 +3 3466 1546 2254 +3 2276 3369 3480 +3 3476 3448 2285 +3 2315 1554 3498 +3 3498 1554 2322 +3 3520 1569 3568 +3 2119 1292 3539 +3 2306 1345 3524 +3 3614 1053 1031 +3 1738 1787 1107 +3 1986 1355 3527 +3 1023 1035 3591 +3 2683 1346 2306 +3 2712 1356 1986 +3 1677 1067 3611 +3 969 3525 2689 +3 972 3526 2718 +3 1574 3554 3560 +3 1023 955 3520 +3 1578 3556 3562 +3 1025 968 3524 +3 1585 3559 3565 +3 1027 971 3527 +3 1041 1647 1605 +3 1037 1043 1607 +3 3576 1044 1038 +3 87 3609 3596 +3 1677 3627 1727 +3 3645 1614 1041 +3 66 3613 3598 +3 1683 1070 1734 +3 3647 1622 1043 +3 1689 1073 3617 +3 3648 1629 1044 +3 27 3619 3601 +3 92 1646 3609 +3 1641 1616 3569 +3 61 1648 3613 +3 3572 1562 3525 +3 1032 3617 1054 +3 32 1651 3619 +3 875 1612 869 +3 3620 1610 1646 +3 3584 1575 3537 +3 877 1620 871 +3 3628 1618 1648 +3 3586 1579 3541 +3 880 1632 874 +3 3640 1630 1651 +3 3589 1584 3545 +3 3650 1659 1694 +3 3652 1663 1696 +3 3655 1669 1699 +3 1048 3625 1695 +3 1052 3633 1697 +3 1698 1629 3648 +3 863 1586 3584 +3 1067 1728 1676 +3 865 1590 3586 +3 1053 1070 1683 +3 1073 1737 1688 +3 868 1596 3589 +3 1046 1598 3602 +3 1048 3645 3603 +3 1050 1600 3604 +3 3647 3605 1601 +3 3648 3606 1602 +3 1056 1603 3607 +3 1706 1065 1673 +3 1065 1700 1658 +3 1049 3611 1067 +3 1674 80 1661 +3 1710 1069 1681 +3 1069 1702 1662 +3 1071 1079 1712 +3 1070 1088 1734 +3 1054 3617 1073 +3 1686 4 1667 +3 1716 1075 1693 +3 1075 1705 1668 +3 1724 1076 1706 +3 1658 1058 1065 +3 1708 82 1674 +3 1730 1078 1710 +3 1662 1060 1069 +3 872 878 1703 +3 1080 1090 1736 +3 1739 1081 1716 +3 1668 1063 1075 +3 1066 1077 1708 +3 1061 1655 1664 +3 1072 1080 1715 +3 1700 1065 1672 +3 1749 1082 1724 +3 905 1786 1768 +3 1095 1771 1751 +3 1769 900 1728 +3 1702 1069 1680 +3 1753 1086 1730 +3 906 1790 1774 +3 1097 1777 1755 +3 1625 1348 3635 +3 1737 897 1688 +3 1080 1072 1687 +3 1705 1075 1692 +3 1758 1092 1739 +3 907 1794 1778 +3 1672 1065 1076 +3 1077 1085 1729 +3 1680 1069 1078 +3 1079 1089 1735 +3 1704 879 1687 +3 1692 1075 1081 +3 3656 24 1766 +3 1670 1064 1083 +3 1725 893 899 +3 3611 1617 1677 +3 1085 1077 1709 +3 3658 53 1772 +3 1678 1068 1087 +3 1731 895 901 +3 1682 1625 3635 +3 1089 1079 1713 +3 1782 1785 1106 +3 1781 903 1737 +3 3661 19 1780 +3 1690 1074 1093 +3 1740 898 904 +3 1707 1076 1082 +3 1719 888 1709 +3 1711 1078 1086 +3 1721 884 1713 +3 1098 1783 1756 +3 1717 1081 1092 +3 1766 1094 1749 +3 1707 1082 1760 +3 1751 71 1729 +3 1772 1096 1753 +3 1711 1086 1762 +3 1755 49 1735 +3 3660 9 8 +3 1717 1092 1765 +3 1780 1099 1758 +3 1742 1100 1766 +3 1767 899 1748 +3 1084 1067 1677 +3 1744 1102 1772 +3 1773 901 1752 +3 1088 1070 1682 +3 1104 1099 1780 +3 1779 904 1759 +3 1781 1737 1091 +3 1748 1094 1100 +3 1752 1096 1102 +3 1759 1099 1104 +3 1767 1100 1106 +3 1747 1105 1106 +3 1726 1083 1107 +3 1781 1091 1107 +3 1773 1102 1108 +3 1743 1101 1108 +3 1732 1087 1109 +3 1769 1084 1109 +3 1779 1104 1110 +3 1745 1103 1110 +3 1741 1093 1111 +3 1775 1088 1111 +3 2847 1391 1804 +3 1799 1494 3260 +3 2919 1409 1828 +3 3291 3259 1808 +3 1805 1388 2834 +3 2848 2841 1802 +3 1809 3255 3282 +3 3260 3252 1799 +3 2923 2895 1820 +3 3415 3287 1844 +3 2893 1402 1862 +3 3423 1535 1824 +3 1821 2882 2914 +3 2896 2889 1818 +3 1825 1532 3410 +3 3424 3417 1815 +3 2844 1122 1838 +3 2925 1410 1814 +3 1833 1396 2866 +3 2880 1123 1842 +3 1837 2807 2834 +3 2812 1121 1834 +3 2898 1404 1901 +3 2928 1120 1831 +3 3420 1126 1854 +3 3293 1502 1803 +3 1849 3271 3378 +3 3276 1127 1858 +3 1853 3383 3410 +3 3388 1125 1850 +3 1857 1500 3282 +3 3296 1124 1847 +3 2911 1407 1868 +3 3149 1466 2054 +3 2903 2775 1892 +3 3179 3151 1872 +3 1869 1404 2898 +3 2912 2905 1866 +3 1873 3138 3170 +3 3152 3145 1863 +3 2779 2747 1884 +3 3175 1473 1908 +3 1882 1366 2748 +3 3103 1455 1888 +3 1885 2743 2770 +3 2748 2740 1882 +3 1889 1452 3090 +3 3104 3097 1879 +3 2908 1138 1902 +3 2781 1374 1878 +3 1897 2759 2866 +3 2764 1139 1906 +3 1901 2871 2898 +3 2876 1137 1898 +3 1905 1372 2770 +3 2784 1136 1895 +3 3100 1142 1918 +3 3181 1474 1867 +3 1913 1460 3122 +3 3136 1143 1922 +3 1917 3063 3090 +3 3068 1141 1914 +3 3154 1468 2093 +3 3184 1140 1911 +3 2975 1423 1932 +3 3636 1626 1358 +3 2967 2855 1956 +3 2731 2719 1936 +3 1933 1420 2962 +3 2976 2969 1930 +3 1938 1147 2724 +3 2720 2717 1927 +3 2859 2831 1948 +3 2727 1361 1972 +3 2829 1386 1798 +3 2433 1271 1952 +3 1949 2818 2850 +3 2832 2825 1946 +3 2404 1264 2333 +3 2434 2427 1943 +3 2972 1154 1966 +3 2861 1394 1942 +3 1961 2802 2930 +3 2816 1155 1970 +3 1965 2935 2962 +3 2940 1153 1962 +3 2834 1388 1837 +3 2864 1152 1959 +3 2430 1158 1982 +3 2733 1362 1931 +3 2436 1272 2345 +3 2714 1159 1986 +3 1981 2388 2420 +3 2402 1157 1978 +3 3534 1572 1355 +3 2736 1156 1975 +3 2799 1379 1996 +3 2550 1308 2139 +3 2983 1425 2020 +3 2580 2552 2000 +3 2770 1372 1885 +3 2800 2793 1994 +3 2001 2539 2571 +3 2553 2546 1991 +3 2987 2959 2012 +3 2576 1315 2036 +3 2957 1418 1926 +3 2491 1291 2016 +3 2013 2946 2978 +3 2960 2953 2010 +3 2017 838 3506 +3 2492 2485 2007 +3 2796 1170 2030 +3 2989 1426 2006 +3 2866 1396 1897 +3 2944 1171 2034 +3 2029 2754 2786 +3 2768 1169 2026 +3 2962 1420 1965 +3 2992 1168 2023 +3 2488 1174 2046 +3 2582 1316 1995 +3 3512 88 1557 +3 2537 1175 2050 +3 2046 1174 2480 +3 2476 2474 1287 +3 2555 1310 2173 +3 2585 1172 2039 +3 3167 1471 2060 +3 3405 1530 1819 +3 3159 3031 2084 +3 3435 3407 2064 +3 2061 1468 3154 +3 3168 3161 2058 +3 2065 3394 3426 +3 3408 3401 2055 +3 3035 3003 2076 +3 3431 1537 2100 +3 2074 1430 3004 +3 3359 1519 2080 +3 2077 2999 3026 +3 3004 2996 2074 +3 2081 1516 3346 +3 3360 3353 2071 +3 3164 1186 2094 +3 3037 1438 2070 +3 2089 3015 3122 +3 3020 1187 2098 +3 2093 3127 3154 +3 3132 1185 2090 +3 2097 1436 3026 +3 3040 1184 2087 +3 3356 1190 2110 +3 3437 1538 2059 +3 2105 1524 3378 +3 3392 1191 2114 +3 2109 3319 3346 +3 3324 1189 2106 +3 3410 1532 1853 +3 3440 1188 2103 +3 3231 1487 2124 +3 2116 100 3627 +3 3223 3111 2148 +3 2516 2497 2128 +3 2125 1484 3218 +3 3232 3225 2122 +3 2130 1195 2509 +3 2498 2494 2119 +3 3115 3087 2140 +3 2560 2512 2164 +3 3085 1450 1883 +3 2568 1313 2144 +3 2141 3074 3106 +3 3088 3081 2138 +3 2145 1310 2555 +3 2569 2562 2135 +3 3228 1202 2158 +3 3117 1458 2134 +3 2153 3058 3186 +3 3072 1203 2162 +3 2157 3191 3218 +3 3196 1201 2154 +3 3090 1452 1917 +3 3120 1200 2151 +3 2565 1206 2174 +3 2518 1300 2123 +3 2169 2501 2523 +3 2505 1207 2178 +3 2173 2528 2555 +3 2533 1205 2170 +3 2177 839 3531 +3 2521 1204 2167 +3 3055 1443 2188 +3 2643 1334 2267 +3 3239 1489 2212 +3 2673 2645 2192 +3 3026 1436 2077 +3 3056 3049 2186 +3 2193 2632 2664 +3 2646 2639 2183 +3 3243 3215 2204 +3 2669 1341 2228 +3 3213 1482 2118 +3 2613 1327 2208 +3 2205 3202 3234 +3 3216 3209 2202 +3 2209 841 3508 +3 2614 2607 2199 +3 3052 1218 2222 +3 3245 1490 2198 +3 3122 1460 2089 +3 3200 1219 2226 +3 2221 3010 3042 +3 3024 1217 2218 +3 3218 1484 2157 +3 3248 1216 2215 +3 2610 1222 2238 +3 2675 1342 2187 +3 3514 65 1561 +3 2630 1223 2242 +3 2238 1222 2602 +3 2598 2596 1323 +3 2648 1336 2301 +3 2678 1220 2231 +3 3487 1551 2252 +3 3635 1733 1682 +3 3479 3367 2276 +3 2702 2690 2256 +3 2253 1548 3474 +3 3488 3481 2250 +3 2258 1227 2695 +3 2691 2688 2247 +3 3371 3343 2268 +3 2698 1351 2292 +3 3341 1514 2075 +3 2661 1339 2272 +3 2269 3330 3362 +3 3344 3337 2266 +3 2273 1336 2648 +3 2662 2655 2263 +3 3484 1234 2286 +3 3373 1522 2262 +3 2281 3314 3442 +3 3328 1235 2290 +3 2285 3447 3474 +3 3452 1233 2282 +3 3346 1516 2109 +3 3376 1232 2279 +3 2658 1238 2302 +3 2704 1352 2251 +3 2297 1344 2680 +3 2685 1239 2306 +3 2301 2621 2648 +3 2626 1237 2298 +3 3533 1571 1345 +3 2707 1236 2295 +3 2462 1281 2316 +3 3469 1546 2246 +3 2454 2409 2340 +3 3499 3471 2320 +3 3535 3607 3582 +3 2463 2456 2314 +3 2321 3458 3490 +3 3472 3465 2311 +3 2413 2381 2332 +3 3495 1553 2356 +3 2330 1258 2382 +3 3311 1507 2336 +3 2333 2377 2404 +3 2382 2374 2330 +3 3282 1500 1809 +3 3312 3305 2327 +3 2459 1250 2350 +3 2415 1266 2326 +3 2345 2393 2436 +3 2398 1251 2354 +3 2350 1250 2451 +3 2441 2439 1274 +3 2353 1264 2404 +3 2418 1248 2343 +3 3308 1254 2366 +3 3501 1554 2315 +3 3378 1524 1849 +3 3456 1255 2370 +3 2365 3266 3298 +3 3280 1253 2362 +3 3474 1548 2285 +3 3504 1252 2359 +3 2374 2372 1256 +3 2329 99 2372 +3 2383 1258 2335 +3 2333 1264 2406 +3 2332 1266 2413 +3 1258 2381 2382 +3 2386 2379 1954 +3 1952 1271 2435 +3 1983 1263 2400 +3 1260 2389 2390 +3 2394 2392 1261 +3 2347 1262 2396 +3 2347 1249 2399 +3 1262 2397 2398 +3 1980 919 2401 +3 1263 2401 2402 +3 2406 2378 2333 +3 2334 1266 2414 +3 2340 1279 2454 +3 1265 2409 2410 +3 2414 2406 2334 +3 2332 2383 2414 +3 2352 942 2417 +3 1267 2417 2418 +3 1955 1271 2432 +3 1268 2421 2422 +3 2426 2424 1269 +3 1974 1270 2428 +3 1974 1156 2431 +3 1270 2429 2430 +3 1952 2385 2433 +3 1271 2433 2434 +3 2437 2394 2345 +3 2 17 3517 +3 2442 1274 2351 +3 2348 942 2440 +3 2346 3548 2439 +3 2452 2449 2317 +3 2448 1277 2310 +3 2447 2443 2318 +3 2316 1281 2464 +3 2451 2449 1278 +3 2349 837 2449 +3 2455 2453 1279 +3 2342 1280 2457 +3 2342 1248 2460 +3 1280 2458 2459 +3 2316 2446 2462 +3 1281 2462 2463 +3 2470 1284 2011 +3 3537 1575 1556 +3 2469 2466 2018 +3 2016 1291 2493 +3 3644 3602 1040 +3 70 83 3512 +3 2472 70 3512 +3 2044 923 2475 +3 2042 3549 2474 +3 2480 2478 1288 +3 2045 838 2478 +3 2484 2482 1289 +3 2038 1290 2486 +3 2038 1172 2489 +3 1290 2487 2488 +3 2016 2468 2491 +3 1291 2491 2492 +3 2494 1192 2116 +3 2499 1294 2131 +3 2129 2507 2509 +3 2128 1300 2516 +3 1294 2497 2498 +3 2510 2507 2177 +3 2178 1207 2500 +3 2502 3550 1296 +3 2171 1297 2503 +3 2171 1205 2506 +3 1297 2504 2505 +3 2509 2507 1298 +3 2129 839 2507 +3 2164 1311 2560 +3 1299 2512 2513 +3 2517 2515 1300 +3 2130 2508 2515 +3 2176 931 2520 +3 1301 2520 2521 +3 2041 2473 2526 +3 1302 2524 2525 +3 2534 1304 2175 +3 2173 1310 2557 +3 2172 931 2532 +3 1304 2532 2533 +3 2043 1173 2538 +3 1305 2536 2537 +3 2558 1310 2145 +3 2146 1308 2549 +3 1991 1309 2553 +3 1307 2544 2545 +3 2549 2541 2146 +3 2144 1313 2570 +3 2000 1316 2580 +3 1309 2552 2553 +3 2147 1313 2567 +3 1310 2556 2557 +3 2561 2559 1311 +3 2166 1312 2563 +3 2166 1204 2566 +3 1312 2564 2565 +3 2144 2548 2568 +3 1313 2568 2569 +3 2573 2542 2001 +3 2002 1316 2581 +3 2036 2483 2576 +3 1315 2576 2577 +3 2581 2573 2002 +3 2000 2554 2581 +3 2048 923 2584 +3 1317 2584 2585 +3 2592 1320 2203 +3 3541 1579 1560 +3 2591 2588 2210 +3 2208 1327 2615 +3 3646 3604 1042 +3 38 51 3514 +3 2594 38 3514 +3 2236 935 2597 +3 2234 3551 2596 +3 2602 2600 1324 +3 2237 841 2600 +3 2606 2604 1325 +3 2230 1326 2608 +3 2230 1220 2611 +3 1326 2609 2610 +3 2208 2590 2613 +3 1327 2613 2614 +3 2233 2595 2619 +3 1328 2617 2618 +3 2627 1330 2303 +3 2301 1336 2650 +3 2300 939 2625 +3 1330 2625 2626 +3 2235 1221 2631 +3 1331 2629 2630 +3 2651 1336 2273 +3 2274 1334 2642 +3 2183 1335 2646 +3 1333 2637 2638 +3 2642 2634 2274 +3 2272 1339 2663 +3 2192 1342 2673 +3 1335 2645 2646 +3 2275 1339 2660 +3 1336 2649 2650 +3 2654 2652 1337 +3 2294 1338 2656 +3 2294 1236 2659 +3 1338 2657 2658 +3 2272 2641 2661 +3 1339 2661 2662 +3 2666 2635 2193 +3 2194 1342 2674 +3 2228 2605 2669 +3 1341 2669 2670 +3 2674 2666 2194 +3 2192 2647 2674 +3 2240 935 2677 +3 1343 2677 2678 +3 3515 35 2680 +3 1344 1563 3515 +3 3573 1025 3524 +3 3605 1043 3573 +3 2299 1237 2686 +3 1346 2684 2685 +3 1562 3509 1347 +3 3587 860 3543 +3 2244 102 3635 +3 2256 1352 2702 +3 1349 2690 2691 +3 2695 2693 1350 +3 2257 843 2693 +3 2292 2653 2698 +3 1351 2698 2699 +3 2703 2701 1352 +3 2258 2694 2701 +3 2304 939 2706 +3 1353 2706 2707 +3 1583 1595 3600 +3 1354 1565 3516 +3 3576 1027 3527 +3 1985 844 3534 +3 1979 1157 2715 +3 1356 2713 2714 +3 3546 3583 3510 +3 1939 1359 2718 +3 1738 1091 1689 +3 1936 1362 2731 +3 1359 2719 2720 +3 2724 2722 1360 +3 1937 844 2722 +3 1972 2425 2727 +3 1361 2727 2728 +3 2732 2730 1362 +3 1938 2723 2730 +3 1984 919 2735 +3 1363 2735 2736 +3 2740 2738 1364 +3 1881 96 2738 +3 2749 1366 1887 +3 1885 1372 2772 +3 1884 1374 2779 +3 1366 2747 2748 +3 2752 2745 1998 +3 1996 1379 2801 +3 2031 1371 2766 +3 1368 2755 2756 +3 2760 2758 1369 +3 1899 1370 2762 +3 1899 1137 2765 +3 1370 2763 2764 +3 2028 922 2767 +3 1371 2767 2768 +3 2772 2744 1885 +3 1886 1374 2780 +3 1892 1405 2903 +3 1373 2775 2776 +3 2780 2772 1886 +3 1884 2749 2780 +3 1904 914 2783 +3 1375 2783 2784 +3 1999 1379 2798 +3 1376 2787 2788 +3 2792 2790 1377 +3 2022 1378 2794 +3 2022 1168 2797 +3 1378 2795 2796 +3 1996 2751 2799 +3 1379 2799 2800 +3 1961 1412 2932 +3 1380 2803 2804 +3 2813 1382 1839 +3 1837 1388 2836 +3 1836 910 2811 +3 1382 2811 2812 +3 1963 1153 2817 +3 1383 2815 2816 +3 2837 1388 1805 +3 1806 1386 2828 +3 1946 1387 2832 +3 1385 2823 2824 +3 2828 2820 1806 +3 1804 1391 2849 +3 1948 1394 2859 +3 1387 2831 2832 +3 1807 1391 2846 +3 1388 2835 2836 +3 2840 2838 1389 +3 1830 1390 2842 +3 1830 1120 2845 +3 1390 2843 2844 +3 1804 2827 2847 +3 1391 2847 2848 +3 2852 2821 1949 +3 1950 1394 2860 +3 1956 1421 2967 +3 1393 2855 2856 +3 2860 2852 1950 +3 1948 2833 2860 +3 1968 918 2863 +3 1395 2863 2864 +3 1833 2804 2869 +3 1396 2867 2868 +3 2877 1398 1903 +3 1901 1404 2900 +3 1900 914 2875 +3 1398 2875 2876 +3 1835 1121 2881 +3 1399 2879 2880 +3 2901 1404 1869 +3 1870 1402 2892 +3 1818 1403 2896 +3 1401 2887 2888 +3 2892 2884 1870 +3 1868 1407 2913 +3 1820 1410 2923 +3 1403 2895 2896 +3 1871 1407 2910 +3 1404 2899 2900 +3 2904 2902 1405 +3 1894 1406 2906 +3 1894 1136 2909 +3 1406 2907 2908 +3 1868 2891 2911 +3 1407 2911 2912 +3 2916 2885 1821 +3 1822 1410 2924 +3 1828 2839 2919 +3 1409 2919 2920 +3 2924 2916 1822 +3 1820 2897 2924 +3 1840 910 2927 +3 1411 2927 2928 +3 2025 2761 2933 +3 1412 2931 2932 +3 2941 1414 1967 +3 1965 1420 2964 +3 1964 918 2939 +3 1414 2939 2940 +3 2027 1169 2945 +3 1415 2943 2944 +3 2965 1420 1933 +3 1934 1418 2956 +3 2010 1419 2960 +3 1417 2951 2952 +3 2956 2948 1934 +3 1932 1423 2977 +3 2012 1426 2987 +3 1419 2959 2960 +3 1935 1423 2974 +3 1420 2963 2964 +3 2968 2966 1421 +3 1958 1422 2970 +3 1958 1152 2973 +3 1422 2971 2972 +3 1932 2955 2975 +3 1423 2975 2976 +3 2980 2949 2013 +3 2014 1426 2988 +3 2020 2791 2983 +3 1425 2983 2984 +3 2988 2980 2014 +3 2012 2961 2988 +3 2032 922 2991 +3 1427 2991 2992 +3 2996 2994 1428 +3 2073 98 2994 +3 3005 1430 2079 +3 2077 1436 3028 +3 2076 1438 3035 +3 1430 3003 3004 +3 3008 3001 2190 +3 2188 1443 3057 +3 2223 1435 3022 +3 1432 3011 3012 +3 3016 3014 1433 +3 2091 1434 3018 +3 2091 1185 3021 +3 1434 3019 3020 +3 2220 934 3023 +3 1435 3023 3024 +3 3028 3000 2077 +3 2078 1438 3036 +3 2084 1469 3159 +3 1437 3031 3032 +3 3036 3028 2078 +3 2076 3005 3036 +3 2096 926 3039 +3 1439 3039 3040 +3 2191 1443 3054 +3 1440 3043 3044 +3 3048 3046 1441 +3 2214 1442 3050 +3 2214 1216 3053 +3 1442 3051 3052 +3 2188 3007 3055 +3 1443 3055 3056 +3 2153 1476 3188 +3 1444 3059 3060 +3 3069 1446 1919 +3 1917 1452 3092 +3 1916 915 3067 +3 1446 3067 3068 +3 2155 1201 3073 +3 1447 3071 3072 +3 3093 1452 1889 +3 1890 1450 3084 +3 2138 1451 3088 +3 1449 3079 3080 +3 3084 3076 1890 +3 1888 1455 3105 +3 2140 1458 3115 +3 1451 3087 3088 +3 1891 1455 3102 +3 1452 3091 3092 +3 3096 3094 1453 +3 1910 1454 3098 +3 1910 1140 3101 +3 1454 3099 3100 +3 1888 3083 3103 +3 1455 3103 3104 +3 3108 3077 2141 +3 2142 1458 3116 +3 2148 1485 3223 +3 1457 3111 3112 +3 3116 3108 2142 +3 2140 3089 3116 +3 2160 930 3119 +3 1459 3119 3120 +3 1913 3060 3125 +3 1460 3123 3124 +3 3133 1462 2095 +3 2093 1468 3156 +3 2092 926 3131 +3 1462 3131 3132 +3 1915 1141 3137 +3 1463 3135 3136 +3 3157 1468 2061 +3 2062 1466 3148 +3 1863 1467 3152 +3 1465 3143 3144 +3 3148 3140 2062 +3 2060 1471 3169 +3 1872 1474 3179 +3 1467 3151 3152 +3 2063 1471 3166 +3 1468 3155 3156 +3 3160 3158 1469 +3 2086 1470 3162 +3 2086 1184 3165 +3 1470 3163 3164 +3 2060 3147 3167 +3 1471 3167 3168 +3 3172 3141 1873 +3 1874 1474 3180 +3 1908 3095 3175 +3 1473 3175 3176 +3 3180 3172 1874 +3 1872 3153 3180 +3 1920 915 3183 +3 1475 3183 3184 +3 2217 3017 3189 +3 1476 3187 3188 +3 3197 1478 2159 +3 2157 1484 3220 +3 2156 930 3195 +3 1478 3195 3196 +3 2219 1217 3201 +3 1479 3199 3200 +3 3221 1484 2125 +3 2126 1482 3212 +3 2202 1483 3216 +3 1481 3207 3208 +3 3212 3204 2126 +3 2124 1487 3233 +3 2204 1490 3243 +3 1483 3215 3216 +3 2127 1487 3230 +3 1484 3219 3220 +3 3224 3222 1485 +3 2150 1486 3226 +3 2150 1200 3229 +3 1486 3227 3228 +3 2124 3211 3231 +3 1487 3231 3232 +3 3236 3205 2205 +3 2206 1490 3244 +3 2212 3047 3239 +3 1489 3239 3240 +3 3244 3236 2206 +3 2204 3217 3244 +3 2224 934 3247 +3 1491 3247 3248 +3 3252 3250 1492 +3 1796 99 3250 +3 3261 1494 1811 +3 1809 1500 3284 +3 1808 1502 3291 +3 1494 3259 3260 +3 3264 3257 2338 +3 2336 1507 3313 +3 2367 1499 3278 +3 1496 3267 3268 +3 3272 3270 1497 +3 1851 1498 3274 +3 1851 1125 3277 +3 1498 3275 3276 +3 2364 943 3279 +3 1499 3279 3280 +3 3284 3256 1809 +3 1810 1502 3292 +3 1844 1533 3415 +3 1501 3287 3288 +3 3292 3284 1810 +3 1808 3261 3292 +3 1856 911 3295 +3 1503 3295 3296 +3 2339 1507 3310 +3 1504 3299 3300 +3 3304 3302 1505 +3 2358 1506 3306 +3 2358 1252 3309 +3 1506 3307 3308 +3 2336 3263 3311 +3 1507 3311 3312 +3 2281 1540 3444 +3 1508 3315 3316 +3 3325 1510 2111 +3 2109 1516 3348 +3 2108 927 3323 +3 1510 3323 3324 +3 2283 1233 3329 +3 1511 3327 3328 +3 3349 1516 2081 +3 2082 1514 3340 +3 2266 1515 3344 +3 1513 3335 3336 +3 3340 3332 2082 +3 2080 1519 3361 +3 2268 1522 3371 +3 1515 3343 3344 +3 2083 1519 3358 +3 1516 3347 3348 +3 3352 3350 1517 +3 2102 1518 3354 +3 2102 1188 3357 +3 1518 3355 3356 +3 2080 3339 3359 +3 1519 3359 3360 +3 3364 3333 2269 +3 2270 1522 3372 +3 2276 1549 3479 +3 1521 3367 3368 +3 3372 3364 2270 +3 2268 3345 3372 +3 2288 938 3375 +3 1523 3375 3376 +3 2105 3316 3381 +3 1524 3379 3380 +3 3389 1526 1855 +3 1853 1532 3412 +3 1852 911 3387 +3 1526 3387 3388 +3 2107 1189 3393 +3 1527 3391 3392 +3 3413 1532 1825 +3 1826 1530 3404 +3 2055 1531 3408 +3 1529 3399 3400 +3 3404 3396 1826 +3 1824 1535 3425 +3 2064 1538 3435 +3 1531 3407 3408 +3 1827 1535 3422 +3 1532 3411 3412 +3 3416 3414 1533 +3 1846 1534 3418 +3 1846 1124 3421 +3 1534 3419 3420 +3 1824 3403 3423 +3 1535 3423 3424 +3 3428 3397 2065 +3 2066 1538 3436 +3 2100 3351 3431 +3 1537 3431 3432 +3 3436 3428 2066 +3 2064 3409 3436 +3 2112 927 3439 +3 1539 3439 3440 +3 2361 3273 3445 +3 1540 3443 3444 +3 3453 1542 2287 +3 2285 1548 3476 +3 2284 938 3451 +3 1542 3451 3452 +3 2363 1253 3457 +3 1543 3455 3456 +3 3477 1548 2253 +3 2254 1546 3468 +3 2311 1547 3472 +3 1545 3463 3464 +3 3468 3460 2254 +3 2252 1551 3489 +3 2320 1554 3499 +3 1547 3471 3472 +3 2255 1551 3486 +3 1548 3475 3476 +3 3480 3478 1549 +3 2278 1550 3482 +3 2278 1232 3485 +3 1550 3483 3484 +3 2252 3467 3487 +3 1551 3487 3488 +3 3492 3461 2321 +3 2322 1554 3500 +3 2356 3303 3495 +3 1553 3495 3496 +3 3500 3492 2322 +3 2320 3473 3500 +3 2368 943 3503 +3 1555 3503 3504 +3 3518 952 1022 +3 3622 1611 1652 +3 2119 1294 2498 +3 3522 962 1024 +3 3630 1619 1654 +3 3614 1031 3542 +3 3617 1032 3547 +3 3595 3575 1026 +3 3642 1631 1657 +3 1577 1559 3569 +3 2692 1349 2259 +3 2721 1359 1939 +3 3603 1041 3568 +3 2696 2693 2305 +3 2725 2722 1985 +3 951 2467 3519 +3 838 2045 3530 +3 1599 3603 1569 +3 1577 3538 1559 +3 3611 1029 3539 +3 961 2589 3523 +3 841 2237 3532 +3 2688 1224 2244 +3 1562 1347 3525 +3 3533 843 3581 +3 2717 1144 1924 +3 3526 972 3577 +3 3534 844 3583 +3 837 2349 3535 +3 949 2445 3529 +3 3536 951 1028 +3 1634 3622 857 +3 3590 1587 1034 +3 3560 3554 1557 +3 3561 74 1558 +3 3540 961 1030 +3 1636 3630 859 +3 3592 1591 1036 +3 3562 3556 1561 +3 1563 1344 3552 +3 3544 949 1033 +3 1639 3642 862 +3 3595 1597 1039 +3 3565 3559 1566 +3 3553 971 3558 +3 3561 78 74 +3 3563 44 40 +3 1977 2395 2710 +3 3520 955 2178 +3 3538 3579 3507 +3 1562 3572 1581 +3 1571 3524 1345 +3 1594 1627 873 +3 3606 1044 3576 +3 3596 1587 1574 +3 1028 951 3566 +3 876 870 1616 +3 3598 1591 1578 +3 1030 961 3570 +3 878 872 1624 +3 3588 861 3546 +3 1033 949 3574 +3 3601 1597 1585 +3 952 2474 3549 +3 962 2596 3551 +3 948 2439 3548 +3 1034 1604 1040 +3 3584 857 3622 +3 3591 1035 1589 +3 3586 859 3630 +3 1036 1606 1042 +3 3593 1037 1593 +3 1583 1565 3558 +3 1039 1609 1045 +3 3589 862 3642 +3 1599 1635 1048 +3 3585 858 3538 +3 3605 1571 3533 +3 3543 1562 1581 +3 1582 1564 3577 +3 3606 1572 3534 +3 1574 86 3596 +3 1599 858 1635 +3 1589 1605 3610 +3 1578 63 3598 +3 1601 860 1637 +3 1593 1607 3615 +3 1602 861 1638 +3 1595 1608 3616 +3 1585 26 3601 +3 3560 86 1574 +3 3597 76 3561 +3 3562 63 1578 +3 3599 42 3563 +3 3565 26 1585 +3 3558 1027 3594 +3 1646 1610 1040 +3 3624 77 1647 +3 870 864 1588 +3 1648 1618 1042 +3 872 866 1592 +3 1607 1649 3615 +3 5 12 3639 +3 1627 1644 879 +3 1651 1630 1045 +3 3531 839 3579 +3 1601 3605 3581 +3 3583 3546 861 +3 1694 1046 3644 +3 1695 81 1614 +3 1695 1614 3645 +3 1696 1050 3646 +3 1697 48 1622 +3 1697 1622 3647 +3 1602 1055 3648 +3 1650 3616 1608 +3 1699 1056 3649 +3 3555 1023 3591 +3 3557 1025 3593 +3 1583 3594 1595 +3 1616 1641 876 +3 1643 890 884 +3 1594 3577 1627 +3 3620 92 90 +3 1041 3603 3645 +3 3628 61 59 +3 1043 3605 3647 +3 1650 1044 1629 +3 3640 32 30 +3 91 1673 1659 +3 881 887 1640 +3 1727 1084 1677 +3 1615 1635 3626 +3 883 889 1642 +3 62 1681 1663 +3 3614 3542 1625 +3 1623 1637 3634 +3 1924 101 3636 +3 3637 867 1656 +3 31 1693 1669 +3 886 892 1645 +3 77 75 3610 +3 1593 1037 1607 +3 12 10 3616 +3 1615 3625 1635 +3 1637 860 3634 +3 1062 3638 1628 +3 1059 3625 1615 +3 1695 3625 1661 +3 1061 3633 1623 +3 46 48 3653 +3 1628 3638 1638 +3 1698 3638 1667 +3 3623 1613 1670 +3 1725 1064 1671 +3 1672 875 1700 +3 1617 1292 3627 +3 1661 3625 1059 +3 3631 1621 1678 +3 1731 1068 1679 +3 1680 877 1702 +3 1061 1071 1685 +3 1070 1053 3614 +3 1626 3636 1689 +3 1667 3638 1062 +3 3643 1633 1690 +3 1740 1074 1691 +3 1692 880 1705 +3 90 1610 3620 +3 3624 1614 81 +3 3645 1048 1695 +3 59 1618 3628 +3 3632 1622 48 +3 3647 1052 1697 +3 1650 1629 3639 +3 1044 3606 3648 +3 30 1630 3640 +3 1658 869 863 +3 1653 1615 3626 +3 1662 871 865 +3 1655 1623 3634 +3 1656 1628 3637 +3 1668 874 868 +3 3537 857 3584 +3 3541 859 3586 +3 3545 862 3589 +3 101 2009 3623 +3 1718 1076 1707 +3 1700 869 1658 +3 1640 1047 1612 +3 1673 1065 1058 +3 1059 1653 1660 +3 1641 1049 882 +3 1660 870 1701 +3 100 2201 3631 +3 1720 1078 1711 +3 1702 871 1662 +3 1642 1051 1620 +3 1681 1069 1060 +3 1712 47 1685 +3 1703 1664 872 +3 1685 45 1665 +3 1062 1656 1666 +3 1644 1054 885 +3 1666 873 1704 +3 1741 1795 102 +3 1723 1081 1717 +3 1705 874 1668 +3 1645 1057 1632 +3 1693 1075 1063 +3 89 1659 3650 +3 3650 90 89 +3 1695 1661 3651 +3 1661 80 3651 +3 1696 59 3652 +3 3652 60 1663 +3 1697 3633 3653 +3 3653 48 1697 +3 1698 1667 3654 +3 1667 4 3654 +3 29 1669 3655 +3 3655 30 29 +3 1675 1066 1701 +3 1664 866 872 +3 1687 1072 1704 +3 1672 881 875 +3 1611 3621 1058 +3 1680 883 877 +3 1619 3629 1060 +3 1692 886 880 +3 1631 3641 1063 +3 1673 91 95 +3 1760 893 887 +3 1749 1094 1082 +3 1748 899 893 +3 1671 893 1725 +3 1701 876 1675 +3 882 1049 1676 +3 1077 1066 1675 +3 1067 1084 1728 +3 100 1791 1727 +3 1681 62 58 +3 1762 895 889 +3 1753 1096 1086 +3 1752 901 895 +3 1679 895 1731 +3 1684 884 1721 +3 884 878 1643 +3 1079 1071 1684 +3 3614 1682 1070 +3 102 1795 1733 +3 101 1787 1738 +3 1073 1091 1737 +3 1736 7 1715 +3 1722 1080 1687 +3 1715 6 1686 +3 1693 31 34 +3 1765 898 892 +3 1758 1099 1092 +3 1759 904 898 +3 1691 898 1740 +3 1652 863 3622 +3 1663 60 62 +3 1657 868 3642 +3 1724 1082 1076 +3 876 882 1675 +3 1730 1086 1078 +3 878 884 1684 +3 879 885 1687 +3 1739 1092 1081 +3 1707 887 881 +3 1707 881 1718 +3 1709 888 1761 +3 1711 889 883 +3 1711 883 1720 +3 1713 890 1763 +3 1722 891 1714 +3 1717 892 886 +3 1717 886 1723 +3 1706 95 94 +3 1671 1047 1640 +3 1766 24 1742 +3 1725 899 1768 +3 1767 905 899 +3 1726 1787 101 +3 1769 1728 1084 +3 1728 894 1676 +3 1729 72 1708 +3 1710 58 57 +3 1679 1051 1642 +3 1772 53 1744 +3 1731 901 1774 +3 1773 906 901 +3 1732 1791 100 +3 1775 1734 1088 +3 1734 896 1683 +3 1735 50 1712 +3 1764 1098 1090 +3 3617 1626 1689 +3 1091 1073 1689 +3 1716 34 33 +3 1691 1057 1645 +3 1780 1746 1104 +3 1740 904 1778 +3 1765 1099 1759 +3 1111 1795 1741 +3 1742 1784 1106 +3 1771 1101 1743 +3 1744 1788 1108 +3 1777 1103 1745 +3 1746 1792 1110 +3 1783 1105 1747 +3 3651 81 1695 +3 1712 1079 1735 +3 3654 5 1698 +3 1082 1094 1760 +3 1064 1047 1671 +3 1709 1077 1719 +3 906 1789 1770 +3 1086 1096 1762 +3 1068 1051 1679 +3 884 890 1713 +3 907 1793 1776 +3 897 891 1688 +3 1714 1080 1722 +3 1092 1099 1765 +3 1074 1057 1691 +3 1640 875 881 +3 1718 881 1672 +3 1761 894 1750 +3 1642 877 883 +3 1720 883 1680 +3 1763 896 1754 +3 1090 1080 1714 +3 1645 880 886 +3 1723 886 1692 +3 1760 887 1707 +3 1671 887 893 +3 1766 1749 3656 +3 1724 93 1749 +3 3657 56 71 +3 1750 1095 1761 +3 1743 56 1771 +3 1743 54 56 +3 1770 1789 1108 +3 1762 889 1711 +3 1679 889 895 +3 1772 1753 3658 +3 1730 55 1753 +3 3659 22 49 +3 1754 1097 1763 +3 1745 22 1777 +3 1745 20 22 +3 1776 1793 1110 +3 1747 9 1783 +3 1688 1054 1073 +3 1756 8 1736 +3 1747 23 9 +3 1764 897 1757 +3 1780 1758 3661 +3 1779 907 904 +3 21 19 3661 +3 1739 21 1758 +3 1058 1659 1673 +3 82 80 1674 +3 1060 1663 1681 +3 47 45 1685 +3 1783 9 3660 +3 1063 1669 1693 +3 1706 94 1724 +3 3608 1047 1064 +3 1770 1101 1750 +3 1771 56 3657 +3 1085 1761 1095 +3 1710 57 1730 +3 3612 1051 1068 +3 1776 1103 1754 +3 1777 22 3659 +3 1089 1763 1097 +3 8 7 1736 +3 1714 891 1764 +3 903 897 1737 +3 1716 33 1739 +3 3618 1057 1074 +3 3656 1749 93 +3 1767 1785 905 +3 1083 1725 1768 +3 1768 899 905 +3 1742 23 1784 +3 1100 1094 1766 +3 3627 1292 2116 +3 1727 1791 1109 +3 1108 1788 1743 +3 1769 1790 906 +3 1750 900 1770 +3 1770 900 906 +3 3658 1753 55 +3 1773 1789 906 +3 1087 1731 1774 +3 1774 901 906 +3 1744 54 1788 +3 1102 1096 1772 +3 1733 3635 102 +3 1733 1795 1111 +3 1110 1792 1745 +3 1775 1794 907 +3 1754 902 1776 +3 1776 902 907 +3 1093 1740 1778 +3 1779 1793 907 +3 1778 904 907 +3 3661 1758 21 +3 1746 20 1792 +3 1780 19 1746 +3 3636 1358 1924 +3 1689 3636 1738 +3 1106 1784 1747 +3 1781 1786 905 +3 1757 903 1782 +3 1782 903 905 +3 1673 95 1706 +3 1729 1085 1751 +3 1681 58 1710 +3 1735 1089 1755 +3 7 6 1715 +3 1693 34 1716 +3 93 24 3656 +3 1761 1085 1709 +3 55 53 3658 +3 1763 1089 1713 +3 1781 905 903 +3 1765 892 1717 +3 1760 1094 1748 +3 1101 1095 1750 +3 1762 1096 1752 +3 1103 1097 1754 +3 1105 1098 1757 +3 1691 892 898 +3 1106 1100 1742 +3 1784 23 1747 +3 1748 1100 1767 +3 1106 1105 1782 +3 1107 1083 1768 +3 1107 1786 1781 +3 1107 1787 1726 +3 1107 1091 1738 +3 1108 1102 1744 +3 1788 54 1743 +3 1752 1102 1773 +3 1108 1101 1770 +3 1109 1087 1774 +3 906 900 1769 +3 1109 1791 1732 +3 1109 1084 1727 +3 1110 1104 1746 +3 1792 20 1745 +3 1759 1104 1779 +3 1110 1103 1776 +3 1111 1093 1778 +3 907 902 1775 +3 102 2308 3643 +3 1111 1088 1733 +3 1798 1385 2824 +3 3252 1112 1796 +3 1804 1386 2827 +3 3252 1492 1799 +3 979 2819 2830 +3 1797 2827 2829 +3 1006 3254 3258 +3 1796 3250 3252 +3 2841 1389 1802 +3 3259 1494 1808 +3 1828 1389 2839 +3 1803 1501 3288 +3 2842 2835 980 +3 1801 2839 2841 +3 1008 3283 3294 +3 1800 3291 3293 +3 2820 1384 1806 +3 1800 1113 2848 +3 846 2807 2850 +3 1807 1388 2837 +3 979 2822 2826 +3 1805 1384 2820 +3 1838 1122 2836 +3 1114 2828 2849 +3 3256 1115 3261 +3 1797 1112 3260 +3 853 3266 3282 +3 1811 1493 3256 +3 1008 3286 3290 +3 3256 1493 1809 +3 1006 3251 3262 +3 3284 1500 1810 +3 1814 1409 2920 +3 3287 1501 1844 +3 2895 1403 1820 +3 3417 1533 1815 +3 985 2915 2926 +3 1813 2923 2925 +3 3418 3411 1016 +3 1812 3415 3417 +3 2889 1401 1818 +3 1824 1530 3403 +3 2889 1117 1817 +3 1819 1529 3400 +3 2890 2883 983 +3 1817 2887 2889 +3 1015 3395 3406 +3 1816 3403 3405 +3 2885 1118 2897 +3 1816 1117 2896 +3 2898 2871 847 +3 1823 1400 2885 +3 985 2918 2922 +3 2885 1400 1821 +3 1870 1400 2883 +3 2916 1408 1822 +3 3396 1528 1826 +3 1813 1116 3424 +3 855 3383 3426 +3 1827 1532 3413 +3 1015 3398 3402 +3 1825 1528 3396 +3 1854 1126 3412 +3 1119 3404 3425 +3 2845 1390 1830 +3 1812 1116 2920 +3 2811 1382 1836 +3 2921 2918 1831 +3 980 2835 2846 +3 1829 2843 2845 +3 2922 2915 985 +3 1120 2840 2921 +3 2804 2803 1834 +3 2927 1411 1840 +3 824 2759 2930 +3 2881 1399 1835 +3 978 2806 2810 +3 1833 1380 2804 +3 1898 1137 2868 +3 1121 2812 2881 +3 2808 1122 2813 +3 1832 2879 2881 +3 846 2818 2834 +3 1839 1381 2808 +3 980 2838 2842 +3 2808 1381 1837 +3 978 2803 2814 +3 2836 2835 1838 +3 2873 2870 1842 +3 910 2843 2927 +3 1901 1397 2871 +3 1843 1408 2917 +3 2874 2867 982 +3 1841 1397 2873 +3 1822 1408 2915 +3 1123 2880 2929 +3 1847 1503 3296 +3 1801 1113 3288 +3 1856 1503 3297 +3 3289 3286 1847 +3 1016 3411 3422 +3 3296 3295 1845 +3 3290 3283 1008 +3 3421 1534 1846 +3 1851 3270 3272 +3 3295 1503 1856 +3 826 3314 3378 +3 3277 1498 1851 +3 1014 3382 3386 +3 3272 1497 1849 +3 1007 3267 3278 +3 3380 3379 1850 +3 3384 1126 3389 +3 3388 3387 1848 +3 855 3394 3410 +3 1855 1525 3384 +3 1016 3414 3418 +3 3384 1525 1853 +3 1014 3379 3390 +3 3412 3411 1854 +3 3268 3267 1858 +3 3387 1526 1852 +3 853 3255 3298 +3 1859 1500 3285 +3 1007 3270 3274 +3 1857 1496 3268 +3 1810 1500 3283 +3 1127 3276 3297 +3 1862 1401 2888 +3 3145 1128 1860 +3 1868 1402 2891 +3 3145 1465 1863 +3 983 2883 2894 +3 1861 2891 2893 +3 3146 3139 999 +3 1860 3143 3145 +3 2905 1405 1866 +3 3151 1467 1872 +3 2775 1373 1892 +3 1867 1473 3176 +3 2906 2899 984 +3 1865 2903 2905 +3 1001 3171 3182 +3 1864 3179 3181 +3 2884 1400 1870 +3 1864 1129 2912 +3 847 2871 2914 +3 1871 1404 2901 +3 983 2886 2890 +3 1869 1400 2884 +3 1902 1138 2900 +3 1130 2892 2913 +3 3141 1131 3153 +3 1861 1128 3152 +3 3154 3127 851 +3 1875 1464 3141 +3 1001 3174 3178 +3 3141 1464 1873 +3 2062 1464 3139 +3 3172 1472 1874 +3 1878 1373 2776 +3 1908 1453 3095 +3 2747 1366 1884 +3 3097 1453 1879 +3 976 2771 2782 +3 1877 2779 2781 +3 3098 3091 996 +3 1876 3095 3097 +3 2740 1364 1882 +3 1888 1450 3083 +3 2740 1133 1881 +3 1883 1449 3080 +3 974 2742 2746 +3 1881 2738 2740 +3 995 3075 3086 +3 1880 3083 3085 +3 2744 1134 2749 +3 1880 1133 2748 +3 845 2754 2770 +3 1887 1365 2744 +3 976 2774 2778 +3 2744 1365 1885 +3 974 2739 2750 +3 2772 1372 1886 +3 3076 1448 1890 +3 1877 1132 3104 +3 850 3063 3106 +3 1891 1452 3093 +3 995 3078 3082 +3 1889 1448 3076 +3 1918 1142 3092 +3 1135 3084 3105 +3 1895 1375 2784 +3 1876 1132 2776 +3 1904 1375 2785 +3 2777 2774 1895 +3 984 2899 2910 +3 2784 2783 1893 +3 2778 2771 976 +3 2909 1406 1894 +3 1899 2758 2760 +3 2783 1375 1904 +3 824 2802 2866 +3 2765 1370 1899 +3 982 2870 2874 +3 2760 1369 1897 +3 975 2755 2766 +3 2868 2867 1898 +3 2872 1138 2877 +3 2876 2875 1896 +3 847 2882 2898 +3 1903 1397 2872 +3 984 2902 2906 +3 2872 1397 1901 +3 982 2867 2878 +3 2900 2899 1902 +3 2756 2755 1906 +3 2875 1398 1900 +3 845 2743 2786 +3 1907 1372 2773 +3 975 2758 2762 +3 1905 1368 2756 +3 1886 1372 2771 +3 1139 2764 2785 +3 3101 1454 1910 +3 1865 1129 3176 +3 3067 1446 1916 +3 3177 3174 1911 +3 996 3091 3102 +3 1909 3099 3101 +3 3178 3171 1001 +3 1140 3096 3177 +3 3060 3059 1914 +3 3183 1475 1920 +3 825 3015 3186 +3 3137 1463 1915 +3 994 3062 3066 +3 1913 1444 3060 +3 2090 1185 3124 +3 1141 3068 3137 +3 3064 1142 3069 +3 1912 3135 3137 +3 850 3074 3090 +3 1919 1445 3064 +3 996 3094 3098 +3 3064 1445 1917 +3 994 3059 3070 +3 3092 3091 1918 +3 3129 3126 1922 +3 915 3099 3183 +3 2093 1461 3127 +3 1923 1472 3173 +3 3130 3123 998 +3 1921 1461 3129 +3 1874 1472 3171 +3 1143 3136 3185 +3 1926 1417 2952 +3 101 1738 3636 +3 1932 1418 2955 +3 2717 1358 1927 +3 987 2947 2958 +3 1925 2955 2957 +3 3547 1032 972 +3 1924 1358 2717 +3 2969 1421 1930 +3 2719 1359 1936 +3 2855 1393 1956 +3 1931 1361 2728 +3 2970 2963 988 +3 1929 2967 2969 +3 973 2723 2734 +3 1928 2731 2733 +3 2948 1416 1934 +3 1928 1145 2976 +3 848 2935 2978 +3 1935 1420 2965 +3 987 2950 2954 +3 1933 1416 2948 +3 1966 1154 2964 +3 1146 2956 2977 +3 2716 1147 2721 +3 1925 1144 2720 +3 3583 3606 3534 +3 1939 1357 2716 +3 973 2726 2730 +3 2716 1357 1937 +3 972 1032 3577 +3 2724 1360 1938 +3 1942 1393 2856 +3 1972 1269 2425 +3 2831 1387 1948 +3 2427 1269 1943 +3 981 2851 2862 +3 1941 2859 2861 +3 2428 2421 947 +3 1940 2425 2427 +3 2825 1385 1946 +3 1952 1259 2385 +3 2825 1149 1945 +3 1947 1256 2375 +3 2826 2819 979 +3 1945 2823 2825 +3 2330 1256 2373 +3 1944 2385 2387 +3 2821 1150 2833 +3 1944 1149 2832 +3 2834 2807 846 +3 1951 1384 2821 +3 981 2854 2858 +3 2821 1384 1949 +3 1806 1384 2819 +3 2852 1392 1950 +3 2379 1257 1954 +3 1941 1148 2434 +3 2333 1257 2377 +3 1955 1268 2423 +3 2380 2373 944 +3 1953 1257 2379 +3 1982 1158 2422 +3 1151 2386 2435 +3 1959 1395 2864 +3 1940 1148 2856 +3 1968 1395 2865 +3 2857 2854 1959 +3 988 2963 2974 +3 2864 2863 1957 +3 2858 2851 981 +3 2973 1422 1958 +3 1963 2803 2805 +3 2863 1395 1968 +3 2866 2759 824 +3 2817 1383 1963 +3 986 2934 2938 +3 2805 1380 1961 +3 1834 1121 2804 +3 2932 2931 1962 +3 2936 1154 2941 +3 2940 2939 1960 +3 848 2946 2962 +3 1967 1413 2936 +3 988 2966 2970 +3 2936 1413 1965 +3 986 2931 2942 +3 2964 2963 1966 +3 2809 2806 1970 +3 2939 1414 1964 +3 1837 1381 2807 +3 1971 1392 2853 +3 2810 2803 978 +3 1969 1381 2809 +3 1950 1392 2851 +3 1155 2816 2865 +3 2431 1270 1974 +3 1929 1145 2728 +3 2401 1263 1980 +3 2729 2726 1975 +3 947 2421 2432 +3 1973 2429 2431 +3 2730 2723 973 +3 1156 2426 2729 +3 2395 2392 1978 +3 2735 1363 1984 +3 2345 1261 2393 +3 2715 1356 1979 +3 2396 2389 945 +3 1977 1261 2395 +3 1027 1038 3594 +3 1157 2402 2715 +3 2391 1158 2403 +3 1976 2713 2715 +3 2404 2377 836 +3 1983 1260 2391 +3 947 2424 2428 +3 2391 1260 1981 +3 2354 1251 2390 +3 2422 2421 1982 +3 2711 1355 1986 +3 919 2429 2735 +3 844 3510 3583 +3 2737 2734 1987 +3 3527 1572 3576 +3 1985 1355 2711 +3 1938 1360 2723 +3 1159 2714 2737 +3 1990 1364 2741 +3 2546 1160 1988 +3 1996 1367 2751 +3 2546 1307 1991 +3 1882 1364 2739 +3 1989 2751 2753 +3 2547 2540 958 +3 1988 2544 2546 +3 2793 1377 1994 +3 2552 1309 2000 +3 2020 1377 2791 +3 1995 1315 2577 +3 2794 2787 977 +3 1993 2791 2793 +3 960 2572 2583 +3 1992 2580 2582 +3 2745 1365 1998 +3 1992 1161 2800 +3 1885 1365 2743 +3 1999 1376 2789 +3 2746 2739 974 +3 1997 1365 2745 +3 2030 1170 2788 +3 1162 2752 2801 +3 2542 1163 2554 +3 1989 1160 2553 +3 2555 2528 840 +3 2003 1306 2542 +3 960 2575 2579 +3 2542 1306 2001 +3 2146 1306 2540 +3 2573 1314 2002 +3 2006 1425 2984 +3 2036 1289 2483 +3 2959 1419 2012 +3 2485 1289 2007 +3 989 2979 2990 +3 2005 2987 2989 +3 2486 2479 953 +3 2004 2483 2485 +3 2953 1417 2010 +3 2016 1284 2468 +3 2953 1165 2009 +3 2011 1282 2465 +3 2954 2947 987 +3 2009 2951 2953 +3 1670 1613 3608 +3 2008 2468 2470 +3 2949 1166 2961 +3 2008 1165 2960 +3 2962 2935 848 +3 2015 1416 2949 +3 989 2982 2986 +3 2949 1416 2013 +3 1934 1416 2947 +3 2980 1424 2014 +3 2466 1283 2018 +3 2005 1164 2492 +3 2480 2471 2045 +3 2493 2490 2019 +3 951 3536 2467 +3 2017 1283 2466 +3 2046 1288 2479 +3 1167 2469 2493 +3 2797 1378 2022 +3 2004 1164 2984 +3 2767 1371 2028 +3 2985 2982 2023 +3 977 2787 2798 +3 2021 2795 2797 +3 2986 2979 989 +3 1168 2792 2985 +3 2761 2758 2026 +3 2991 1427 2032 +3 1897 1369 2759 +3 2945 1415 2027 +3 2762 2755 975 +3 2025 1369 2761 +3 1962 1153 2932 +3 1169 2768 2945 +3 2757 1170 2769 +3 2024 2943 2945 +3 2770 2743 845 +3 2031 1368 2757 +3 977 2790 2794 +3 2757 1368 2029 +3 1906 1139 2756 +3 2788 2787 2030 +3 2937 2934 2034 +3 922 2795 2991 +3 1965 1413 2935 +3 2035 1424 2981 +3 2938 2931 986 +3 2033 1413 2937 +3 2014 1424 2979 +3 1171 2944 2993 +3 2489 1290 2038 +3 1993 1161 2577 +3 2475 1287 2044 +3 2578 2575 2039 +3 953 2479 2490 +3 2037 2487 2489 +3 2579 2572 960 +3 1172 2484 2578 +3 2473 1286 2042 +3 2584 1317 2048 +3 3512 1286 2472 +3 2538 1305 2043 +3 2047 1287 2474 +3 2041 1286 2473 +3 2170 1205 2525 +3 1173 2476 2538 +3 2471 1174 2477 +3 2040 2536 2538 +3 2045 1285 3530 +3 2047 1285 2471 +3 953 2482 2486 +3 2471 1285 2045 +3 3549 1286 1557 +3 2480 1288 2046 +3 2530 2527 2050 +3 923 2487 2584 +3 2173 1303 2528 +3 2051 1314 2574 +3 2531 2524 957 +3 2049 1303 2530 +3 2002 1314 2572 +3 1175 2537 2586 +3 2054 1465 3144 +3 3401 1176 2052 +3 2060 1466 3147 +3 3401 1529 2055 +3 999 3139 3150 +3 2053 3147 3149 +3 3402 3395 1015 +3 2052 3399 3401 +3 3161 1469 2058 +3 3407 1531 2064 +3 3031 1437 2084 +3 2059 1537 3432 +3 3162 3155 1000 +3 2057 3159 3161 +3 1017 3427 3438 +3 2056 3435 3437 +3 3140 1464 2062 +3 2056 1177 3168 +3 851 3127 3170 +3 2063 1468 3157 +3 999 3142 3146 +3 2061 1464 3140 +3 2094 1186 3156 +3 1178 3148 3169 +3 3397 1179 3409 +3 2053 1176 3408 +3 3410 3383 855 +3 2067 1528 3397 +3 1017 3430 3434 +3 3397 1528 2065 +3 1826 1528 3395 +3 3428 1536 2066 +3 2070 1437 3032 +3 2100 1517 3351 +3 3003 1430 2076 +3 3353 1517 2071 +3 992 3027 3038 +3 2069 3035 3037 +3 3354 3347 1012 +3 2068 3351 3353 +3 2996 1428 2074 +3 2080 1514 3339 +3 2996 1181 2073 +3 2075 1513 3336 +3 990 2998 3002 +3 2073 2994 2996 +3 1011 3331 3342 +3 2072 3339 3341 +3 3000 1182 3005 +3 2072 1181 3004 +3 849 3010 3026 +3 2079 1429 3000 +3 992 3030 3034 +3 3000 1429 2077 +3 990 2995 3006 +3 3028 1436 2078 +3 3332 1512 2082 +3 2069 1180 3360 +3 854 3319 3362 +3 2083 1516 3349 +3 1011 3334 3338 +3 2081 1512 3332 +3 2110 1190 3348 +3 1183 3340 3361 +3 2087 1439 3040 +3 2068 1180 3032 +3 2096 1439 3041 +3 3033 3030 2087 +3 1000 3155 3166 +3 3040 3039 2085 +3 3034 3027 992 +3 3165 1470 2086 +3 2091 3014 3016 +3 3039 1439 2096 +3 825 3058 3122 +3 3021 1434 2091 +3 998 3126 3130 +3 3016 1433 2089 +3 991 3011 3022 +3 3124 3123 2090 +3 3128 1186 3133 +3 3132 3131 2088 +3 851 3138 3154 +3 2095 1461 3128 +3 1000 3158 3162 +3 3128 1461 2093 +3 998 3123 3134 +3 3156 3155 2094 +3 3012 3011 2098 +3 3131 1462 2092 +3 849 2999 3042 +3 2099 1436 3029 +3 991 3014 3018 +3 2097 1432 3012 +3 2078 1436 3027 +3 1187 3020 3041 +3 3357 1518 2102 +3 2057 1177 3432 +3 3323 1510 2108 +3 3433 3430 2103 +3 1012 3347 3358 +3 2101 3355 3357 +3 3434 3427 1017 +3 1188 3352 3433 +3 3316 3315 2106 +3 3439 1539 2112 +3 826 3271 3442 +3 3393 1527 2107 +3 1010 3318 3322 +3 2105 1508 3316 +3 1850 1125 3380 +3 1189 3324 3393 +3 3320 1190 3325 +3 2104 3391 3393 +3 854 3330 3346 +3 2111 1509 3320 +3 1012 3350 3354 +3 3320 1509 2109 +3 1010 3315 3326 +3 3348 3347 2110 +3 3385 3382 2114 +3 927 3355 3439 +3 1853 1525 3383 +3 2115 1536 3429 +3 3386 3379 1014 +3 2113 1525 3385 +3 2066 1536 3427 +3 1191 3392 3441 +3 2118 1481 3208 +3 100 1727 3627 +3 2124 1482 3211 +3 2494 1292 2119 +3 1003 3203 3214 +3 2117 3211 3213 +3 954 3521 2496 +3 2116 1292 2494 +3 3225 1485 2122 +3 2497 1294 2128 +3 3111 1457 2148 +3 2123 1299 2513 +3 3226 3219 1004 +3 2121 3223 3225 +3 956 2508 2519 +3 2120 2516 2518 +3 3204 1480 2126 +3 2120 1193 3232 +3 852 3191 3234 +3 2127 1484 3221 +3 1003 3206 3210 +3 2125 1480 3204 +3 2158 1202 3220 +3 1194 3212 3233 +3 2495 1195 2499 +3 2117 1192 2498 +3 2129 1293 3507 +3 2131 1293 2495 +3 956 2511 2515 +3 2495 1293 2129 +3 954 1029 3569 +3 2509 1298 2130 +3 2134 1457 3112 +3 2512 1299 2164 +3 3087 1451 2140 +3 2562 1311 2135 +3 997 3107 3118 +3 2133 3115 3117 +3 2563 2556 959 +3 2132 2560 2562 +3 3081 1449 2138 +3 2144 1308 2548 +3 3081 1197 2137 +3 2139 1307 2545 +3 3082 3075 995 +3 2137 3079 3081 +3 958 2540 2551 +3 2136 2548 2550 +3 3077 1198 3089 +3 2136 1197 3088 +3 3090 3063 850 +3 2143 1448 3077 +3 997 3110 3114 +3 3077 1448 2141 +3 1890 1448 3075 +3 3108 1456 2142 +3 2541 1306 2146 +3 2133 1196 2569 +3 840 2528 2571 +3 2147 1310 2558 +3 958 2543 2547 +3 2145 1306 2541 +3 2174 1206 2557 +3 1199 2549 2570 +3 2151 1459 3120 +3 2132 1196 3112 +3 2160 1459 3121 +3 3113 3110 2151 +3 1004 3219 3230 +3 3120 3119 2149 +3 3114 3107 997 +3 3229 1486 2150 +3 2155 3059 3061 +3 3119 1459 2160 +3 3122 3015 825 +3 3073 1447 2155 +3 1002 3190 3194 +3 3061 1444 2153 +3 1914 1141 3060 +3 3188 3187 2154 +3 3192 1202 3197 +3 3196 3195 2152 +3 852 3202 3218 +3 2159 1477 3192 +3 1004 3222 3226 +3 3192 1477 2157 +3 1002 3187 3198 +3 3220 3219 2158 +3 3065 3062 2162 +3 3195 1478 2156 +3 1917 1445 3063 +3 2163 1456 3109 +3 3066 3059 994 +3 2161 1445 3065 +3 2142 1456 3107 +3 1203 3072 3121 +3 2167 1301 2521 +3 2121 1193 2513 +3 2176 1301 2522 +3 2514 2511 2167 +3 959 2556 2567 +3 2521 2520 2165 +3 2515 2508 956 +3 2566 1312 2166 +3 2171 3550 2502 +3 2520 1301 2176 +3 68 2472 2523 +3 2506 1297 2171 +3 957 2527 2531 +3 2502 1296 2169 +3 3555 1558 3550 +3 2525 2524 2170 +3 2529 1206 2534 +3 2533 2532 2168 +3 840 2539 2555 +3 2175 1303 2529 +3 959 2559 2563 +3 2529 1303 2173 +3 957 2524 2535 +3 2557 2556 2174 +3 2500 1295 2178 +3 2532 1304 2172 +3 2509 2495 2129 +3 2522 2519 2179 +3 2178 1295 3520 +3 2177 1295 2500 +3 2130 1298 2508 +3 1207 2505 2522 +3 2182 1428 2997 +3 2639 1208 2180 +3 2188 1431 3007 +3 2639 1333 2183 +3 2074 1428 2995 +3 2181 3007 3009 +3 2640 2633 965 +3 2180 2637 2639 +3 3049 1441 2186 +3 2645 1335 2192 +3 2212 1441 3047 +3 2187 1341 2670 +3 3050 3043 993 +3 2185 3047 3049 +3 967 2665 2676 +3 2184 2673 2675 +3 3001 1429 2190 +3 2184 1209 3056 +3 2077 1429 2999 +3 2191 1440 3045 +3 3002 2995 990 +3 2189 1429 3001 +3 2222 1218 3044 +3 1210 3008 3057 +3 2635 1211 2647 +3 2181 1208 2646 +3 2648 2621 842 +3 2195 1332 2635 +3 967 2668 2672 +3 2635 1332 2193 +3 2274 1332 2633 +3 2666 1340 2194 +3 2198 1489 3240 +3 2228 1325 2605 +3 3215 1483 2204 +3 2607 1325 2199 +3 1005 3235 3246 +3 2197 3243 3245 +3 2608 2601 963 +3 2196 2605 2607 +3 3209 1481 2202 +3 2208 1320 2590 +3 3209 1213 2201 +3 2203 1318 2587 +3 3210 3203 1003 +3 2201 3207 3209 +3 1678 1621 3612 +3 2200 2590 2592 +3 3205 1214 3217 +3 2200 1213 3216 +3 3218 3191 852 +3 2207 1480 3205 +3 1005 3238 3242 +3 3205 1480 2205 +3 2126 1480 3203 +3 3236 1488 2206 +3 2588 1319 2210 +3 2197 1212 2614 +3 2602 2593 2237 +3 2615 2612 2211 +3 961 3540 2589 +3 2209 1319 2588 +3 2238 1324 2601 +3 1215 2591 2615 +3 3053 1442 2214 +3 2196 1212 3240 +3 3023 1435 2220 +3 3241 3238 2215 +3 993 3043 3054 +3 2213 3051 3053 +3 3242 3235 1005 +3 1216 3048 3241 +3 3017 3014 2218 +3 3247 1491 2224 +3 2089 1433 3015 +3 3201 1479 2219 +3 3018 3011 991 +3 2217 1433 3017 +3 2154 1201 3188 +3 1217 3024 3201 +3 3013 1218 3025 +3 2216 3199 3201 +3 3026 2999 849 +3 2223 1432 3013 +3 993 3046 3050 +3 3013 1432 2221 +3 2098 1187 3012 +3 3044 3043 2222 +3 3193 3190 2226 +3 934 3051 3247 +3 2157 1477 3191 +3 2227 1488 3237 +3 3194 3187 1002 +3 2225 1477 3193 +3 2206 1488 3235 +3 1219 3200 3249 +3 2611 1326 2230 +3 2185 1209 2670 +3 2597 1323 2236 +3 2671 2668 2231 +3 963 2601 2612 +3 2229 2609 2611 +3 2672 2665 967 +3 1220 2606 2671 +3 2595 1322 2234 +3 2677 1343 2240 +3 3514 1322 2594 +3 2631 1331 2235 +3 2239 1323 2596 +3 2233 1322 2595 +3 2298 1237 2618 +3 1221 2598 2631 +3 2593 1222 2599 +3 2232 2629 2631 +3 2237 1321 3532 +3 2239 1321 2593 +3 963 2604 2608 +3 2593 1321 2237 +3 3551 1322 1561 +3 2602 1324 2238 +3 2623 2620 2242 +3 935 2609 2677 +3 2301 1329 2621 +3 2243 1340 2667 +3 2624 2617 964 +3 2241 1329 2623 +3 2194 1340 2665 +3 1223 2630 2679 +3 2246 1545 3464 +3 1733 1088 1682 +3 2252 1546 3467 +3 2688 1348 2247 +3 1019 3459 3470 +3 2245 3467 3469 +3 3542 1031 969 +3 2244 1348 2688 +3 3481 1549 2250 +3 2690 1349 2256 +3 3367 1521 2276 +3 2251 1351 2699 +3 3482 3475 1020 +3 2249 3479 3481 +3 970 2694 2705 +3 2248 2702 2704 +3 3460 1544 2254 +3 2248 1225 3488 +3 856 3447 3490 +3 2255 1548 3477 +3 1019 3462 3466 +3 2253 1544 3460 +3 2286 1234 3476 +3 1226 3468 3489 +3 2687 1227 2692 +3 2245 1224 2691 +3 3581 3605 3533 +3 2259 1347 2687 +3 970 2697 2701 +3 2687 1347 2257 +3 969 1031 3572 +3 2695 1350 2258 +3 2262 1521 3368 +3 2292 1337 2653 +3 3343 1515 2268 +3 2655 1337 2263 +3 1013 3363 3374 +3 2261 3371 3373 +3 2656 2649 966 +3 2260 2653 2655 +3 3337 1513 2266 +3 2272 1334 2641 +3 3337 1229 2265 +3 2267 1333 2638 +3 3338 3331 1011 +3 2265 3335 3337 +3 965 2633 2644 +3 2264 2641 2643 +3 3333 1230 3345 +3 2264 1229 3344 +3 3346 3319 854 +3 2271 1512 3333 +3 1013 3366 3370 +3 3333 1512 2269 +3 2082 1512 3331 +3 3364 1520 2270 +3 2634 1332 2274 +3 2261 1228 2662 +3 842 2621 2664 +3 2275 1336 2651 +3 965 2636 2640 +3 2273 1332 2634 +3 2302 1238 2650 +3 1231 2642 2663 +3 2279 1523 3376 +3 2260 1228 3368 +3 2288 1523 3377 +3 3369 3366 2279 +3 1020 3475 3486 +3 3376 3375 2277 +3 3370 3363 1013 +3 3485 1550 2278 +3 2283 3315 3317 +3 3375 1523 2288 +3 3378 3271 826 +3 3329 1511 2283 +3 1018 3446 3450 +3 3317 1508 2281 +3 2106 1189 3316 +3 3444 3443 2282 +3 3448 1234 3453 +3 3452 3451 2280 +3 856 3458 3474 +3 2287 1541 3448 +3 1020 3478 3482 +3 3448 1541 2285 +3 1018 3443 3454 +3 3476 3475 2286 +3 3321 3318 2290 +3 3451 1542 2284 +3 2109 1509 3319 +3 2291 1520 3365 +3 3322 3315 1010 +3 2289 1509 3321 +3 2270 1520 3363 +3 1235 3328 3377 +3 2659 1338 2294 +3 2249 1225 2699 +3 2625 1330 2300 +3 2700 2697 2295 +3 966 2649 2660 +3 2293 2657 2659 +3 2701 2694 970 +3 1236 2654 2700 +3 2618 2617 2298 +3 2706 1353 2304 +3 36 2594 2616 +3 2686 1346 2299 +3 964 2620 2624 +3 2297 1328 2618 +3 1025 1037 3593 +3 1237 2626 2686 +3 2622 1238 2627 +3 2296 2684 2686 +3 842 2632 2648 +3 2303 1329 2622 +3 966 2652 2656 +3 2622 1329 2301 +3 964 2617 2628 +3 2650 2649 2302 +3 2682 1345 2306 +3 939 2657 2706 +3 843 3509 3581 +3 2708 2705 2307 +3 3524 1571 3573 +3 2305 1345 2682 +3 2258 1350 2694 +3 1239 2685 2708 +3 2310 1276 2444 +3 3465 1240 2308 +3 2316 1277 2446 +3 3465 1545 2311 +3 1690 1633 3618 +3 2309 2446 2448 +3 3466 3459 1019 +3 2308 3463 3465 +3 2456 1279 2314 +3 3471 1547 2320 +3 2409 1265 2340 +3 2315 1553 3496 +3 2457 2450 950 +3 2313 2454 2456 +3 1021 3491 3502 +3 2312 3499 3501 +3 2443 1275 2318 +3 2312 1241 2463 +3 2451 2438 2349 +3 2464 2461 2319 +3 949 3544 2445 +3 2317 1275 2443 +3 2350 1278 2450 +3 1242 2447 2464 +3 3461 1243 3473 +3 2309 1240 3472 +3 3474 3447 856 +3 2323 1544 3461 +3 1021 3494 3498 +3 3461 1544 2321 +3 2254 1544 3459 +3 3492 1552 2322 +3 2326 1265 2410 +3 2356 1505 3303 +3 2381 1258 2332 +3 3305 1505 2327 +3 946 2405 2416 +3 2325 2413 2415 +3 3306 3299 1009 +3 2324 3303 3305 +3 2374 1256 2330 +3 2336 1495 3263 +3 2374 1245 2329 +3 2331 1492 3253 +3 944 2376 2380 +3 2329 2372 2374 +3 1799 1492 3251 +3 2328 3263 3265 +3 2378 1246 2383 +3 2328 1245 2382 +3 836 2388 2404 +3 2335 1257 2378 +3 946 2408 2412 +3 2378 1257 2333 +3 944 2373 2384 +3 2406 1264 2334 +3 3257 1493 2338 +3 2325 1244 3312 +3 1809 1493 3255 +3 2339 1504 3301 +3 3258 3251 1006 +3 2337 1493 3257 +3 2366 1254 3300 +3 1247 3264 3313 +3 2343 1267 2418 +3 2324 1244 2410 +3 2352 1267 2419 +3 2411 2408 2343 +3 950 2450 2461 +3 2418 2417 2341 +3 2412 2405 946 +3 2460 1280 2342 +3 2347 2392 2394 +3 2417 1267 2352 +3 3517 1272 2436 +3 2399 1262 2347 +3 2351 1274 2439 +3 2394 1261 2345 +3 945 2389 2400 +3 2437 1272 2346 +3 2438 1250 2442 +3 2441 2440 2344 +3 2349 1273 3535 +3 2351 1273 2438 +3 950 2453 2457 +3 2438 1273 2349 +3 3548 3559 948 +3 2451 1278 2350 +3 2390 2389 2354 +3 2440 1274 2348 +3 836 2377 2420 +3 2355 1264 2407 +3 945 2392 2396 +3 2353 1260 2390 +3 2334 1264 2405 +3 1251 2398 2419 +3 3309 1506 2358 +3 2313 1241 3496 +3 3279 1499 2364 +3 3497 3494 2359 +3 1009 3299 3310 +3 2357 3307 3309 +3 3498 3491 1021 +3 1252 3304 3497 +3 3273 3270 2362 +3 3503 1555 2368 +3 1849 1497 3271 +3 3457 1543 2363 +3 3274 3267 1007 +3 2361 1497 3273 +3 2282 1233 3444 +3 1253 3280 3457 +3 3269 1254 3281 +3 2360 3455 3457 +3 3282 3255 853 +3 2367 1496 3269 +3 1009 3302 3306 +3 3269 1496 2365 +3 1858 1127 3268 +3 3300 3299 2366 +3 3449 3446 2370 +3 943 3307 3503 +3 2285 1541 3447 +3 2371 1552 3493 +3 3450 3443 1018 +3 2369 1541 3449 +3 2322 1552 3491 +3 1255 3456 3505 +3 2387 1259 1947 +3 1945 1149 2375 +3 2384 2376 944 +3 1256 2372 2375 +3 2382 1245 2374 +3 1947 1259 2384 +3 2375 2372 1945 +3 2372 99 1945 +3 2423 1268 1953 +3 1954 1257 2376 +3 2420 2388 836 +3 1954 1259 2386 +3 2406 1246 2378 +3 1953 1268 2420 +3 2386 1151 2379 +3 2384 1259 1954 +3 2414 1266 2332 +3 2376 1257 2335 +3 2413 941 2381 +3 2335 2378 2383 +3 2382 2381 2328 +3 2381 941 2328 +3 2332 1258 2383 +3 2380 2376 2335 +3 2387 2385 1259 +3 2373 1256 1947 +3 2387 1149 1944 +3 1944 917 2385 +3 2423 1151 2435 +3 1947 2375 2387 +3 2375 1149 2387 +3 2384 2373 1947 +3 2403 1263 1983 +3 1981 1260 2388 +3 2400 2392 945 +3 1981 1268 2422 +3 2354 1262 2398 +3 2396 1262 2354 +3 2422 1158 2391 +3 2420 1268 1981 +3 2710 1354 1977 +3 1978 1157 2395 +3 1 0 2393 +3 1261 2392 2395 +3 2437 1249 2394 +3 1977 1354 2709 +3 1978 1263 2402 +3 2400 1263 1978 +3 2399 2397 1262 +3 2394 1249 2347 +3 2440 942 2397 +3 2344 2399 2441 +3 2407 1251 2419 +3 2397 942 2352 +3 2344 2397 2399 +3 2396 2392 2347 +3 2430 2429 1980 +3 2389 1260 1983 +3 1980 2403 2430 +3 1983 2391 2403 +3 1979 3553 2710 +3 2715 2402 1976 +3 1980 1263 2403 +3 2400 2389 1983 +3 2419 1267 2355 +3 2388 1260 2353 +3 2416 2408 946 +3 2353 2390 2407 +3 2414 1246 2406 +3 2355 1267 2416 +3 2390 1251 2407 +3 2404 2388 2353 +3 2455 1279 2340 +3 2343 1248 2411 +3 2454 835 2409 +3 1265 2408 2411 +3 2410 2409 2324 +3 2409 835 2324 +3 2340 1265 2411 +3 2416 1267 2343 +3 2415 2413 1266 +3 2408 1265 2326 +3 2415 1244 2325 +3 2325 941 2413 +3 2414 2383 1246 +3 2326 2410 2415 +3 2410 1244 2415 +3 2412 2408 2326 +3 2419 2398 2352 +3 2405 1264 2355 +3 2341 2458 2460 +3 2355 2407 2419 +3 2460 1248 2418 +3 2460 2418 2341 +3 2398 2397 2352 +3 2416 2405 2355 +3 2435 1271 1955 +3 2377 1257 1953 +3 2432 2424 947 +3 1953 2379 2423 +3 1982 1270 2430 +3 2428 1270 1982 +3 2379 1151 2423 +3 2420 2377 1953 +3 2427 2425 1269 +3 1943 1269 2424 +3 2427 1148 1940 +3 1940 829 2425 +3 1975 1363 2736 +3 1943 1271 2434 +3 2434 1148 2427 +3 2432 1271 1943 +3 2431 2429 1270 +3 2426 1156 1974 +3 1984 1363 2737 +3 1973 2431 2736 +3 2430 2403 1158 +3 2429 919 1980 +3 1974 2424 2426 +3 2428 2424 1974 +3 2435 2386 1952 +3 2421 1268 1955 +3 2385 917 2433 +3 1955 2423 2435 +3 2434 2433 1941 +3 2433 917 1941 +3 2386 1259 1952 +3 2432 2421 1955 +3 3517 28 1566 +3 2436 2393 0 +3 2346 1272 3548 +3 2436 2 3517 +3 2346 2439 2441 +3 1566 28 3565 +3 2349 2449 2451 +3 3548 1272 1566 +3 2317 2443 2452 +3 3649 3607 1045 +3 2451 1250 2438 +3 1056 1669 3641 +3 2459 2458 2348 +3 3559 1585 3595 +3 2348 2442 2459 +3 2351 2438 2442 +3 2441 2399 1249 +3 2440 2397 2344 +3 2348 1274 2442 +3 2439 948 2351 +3 2318 1277 2447 +3 2318 1275 3529 +3 3545 1584 1567 +3 2447 1242 2443 +3 1584 1596 3574 +3 2308 1240 2444 +3 1690 1741 3643 +3 2444 1276 2308 +3 3643 1741 102 +3 2448 2446 1277 +3 3544 1033 3618 +3 2448 1240 2309 +3 2309 940 2446 +3 2319 1278 2452 +3 2310 2444 2448 +3 2444 1240 2448 +3 2445 3544 2310 +3 2452 1242 2319 +3 3511 1567 1275 +3 2461 2453 950 +3 1278 2449 2452 +3 2350 1280 2459 +3 2319 1242 2464 +3 2443 1242 2452 +3 2449 837 2317 +3 2456 2454 1279 +3 2314 1279 2453 +3 2456 1241 2313 +3 2313 835 2454 +3 2455 2411 1248 +3 2314 1281 2463 +3 2463 1241 2456 +3 2461 1281 2314 +3 2460 2458 1280 +3 2455 1248 2342 +3 2458 2417 942 +3 2341 2417 2458 +3 2459 2442 1250 +3 2458 942 2348 +3 2342 2453 2455 +3 2457 2453 2342 +3 2464 2447 2316 +3 2450 1278 2319 +3 2446 940 2462 +3 1281 2461 2464 +3 2463 2462 2312 +3 2462 940 2312 +3 2447 1277 2316 +3 2461 2450 2319 +3 2009 1282 3623 +3 2009 1165 2465 +3 2465 1282 2009 +3 1670 1726 3623 +3 2481 2478 2017 +3 2018 1283 3519 +3 2018 1284 2469 +3 2469 1167 2466 +3 2467 1284 2018 +3 2470 2468 1284 +3 3536 1028 3608 +3 2470 1165 2008 +3 2008 921 2468 +3 2019 1288 2481 +3 2011 2465 2470 +3 2465 1165 2470 +3 2467 3536 2011 +3 2477 1287 2047 +3 2017 2466 2481 +3 3549 3554 952 +3 2045 2478 2480 +3 2480 1174 2471 +3 3578 3506 838 +3 2526 1302 2041 +3 2042 1286 3549 +3 2523 2501 68 +3 2042 1173 2473 +3 2042 2474 2476 +3 2476 1173 2042 +3 2488 2487 2044 +3 3518 1568 1285 +3 2044 2477 2488 +3 2047 2471 2477 +3 2043 2524 2526 +3 2538 2476 2040 +3 2044 1287 2477 +3 2474 952 2047 +3 2481 1167 2019 +3 3530 3602 3578 +3 2490 2482 953 +3 1288 2478 2481 +3 2046 1290 2488 +3 2019 1167 2493 +3 2466 1167 2481 +3 2478 838 2017 +3 2485 2483 1289 +3 2007 1289 2482 +3 2485 1164 2004 +3 2004 830 2483 +3 2039 1317 2585 +3 2007 1291 2492 +3 2492 1164 2485 +3 2490 1291 2007 +3 2489 2487 1290 +3 2484 1172 2038 +3 2048 1317 2586 +3 2037 2489 2585 +3 2488 2477 1174 +3 2487 923 2044 +3 2038 2482 2484 +3 2486 2482 2038 +3 2493 2469 2016 +3 2479 1288 2019 +3 2468 921 2491 +3 1291 2490 2493 +3 2492 2491 2005 +3 2491 921 2005 +3 2469 1284 2016 +3 2490 2479 2019 +3 2496 1294 2119 +3 3569 1559 3521 +3 2498 1192 2494 +3 1292 1617 3539 +3 3507 839 2129 +3 3579 1599 3531 +3 2509 1195 2495 +3 1293 1559 3507 +3 2517 1300 2128 +3 3521 1293 2131 +3 2516 928 2497 +3 2131 2495 2499 +3 2498 2497 2117 +3 2497 928 2117 +3 2128 1294 2499 +3 2496 3521 2131 +3 3568 1023 3520 +3 2503 1297 2178 +3 2178 1297 2505 +3 1295 1569 3520 +3 3513 67 2501 +3 3513 69 67 +3 2523 1302 2169 +3 2525 1205 2502 +3 1296 1558 3513 +3 2506 2504 1297 +3 2502 1205 2171 +3 2532 931 2504 +3 2168 2506 2533 +3 2179 1298 2510 +3 2504 931 2176 +3 2168 2504 2506 +3 2503 3550 2171 +3 2510 1207 2179 +3 839 3507 3579 +3 2519 2511 956 +3 1298 2507 2510 +3 2130 2515 2517 +3 2179 1207 2522 +3 2500 1207 2510 +3 2507 839 2177 +3 2561 1311 2164 +3 2167 1204 2514 +3 2560 832 2512 +3 1299 2511 2514 +3 2513 2512 2121 +3 2512 832 2121 +3 2164 1299 2514 +3 2519 1301 2167 +3 2518 2516 1300 +3 2511 1299 2123 +3 2518 1193 2120 +3 2120 928 2516 +3 2517 2499 1195 +3 2123 2513 2518 +3 2513 1193 2518 +3 2515 2511 2123 +3 2522 2505 2176 +3 2508 1298 2179 +3 2165 2564 2566 +3 1301 2519 2522 +3 2566 1204 2521 +3 2566 2521 2165 +3 2505 2504 2176 +3 2519 2508 2179 +3 2526 2524 1302 +3 2472 1286 2041 +3 2535 2527 957 +3 2043 1305 2535 +3 2170 1304 2533 +3 2531 1304 2170 +3 2473 1173 2526 +3 2523 2472 2041 +3 2574 1314 2049 +3 2050 1175 2530 +3 2571 2539 840 +3 1303 2527 2530 +3 2557 1206 2529 +3 2049 1314 2571 +3 2050 1305 2537 +3 2535 1305 2050 +3 2565 2564 2172 +3 2527 1303 2175 +3 2172 2534 2565 +3 2175 2529 2534 +3 2533 2506 1205 +3 2532 2504 2168 +3 2172 1304 2534 +3 2531 2527 2175 +3 2538 2536 1305 +3 2526 1173 2043 +3 2475 923 2536 +3 2040 2475 2536 +3 2574 1175 2586 +3 2536 923 2048 +3 2476 2475 2040 +3 2535 2524 2043 +3 2554 1309 2003 +3 2001 1306 2539 +3 2551 2543 958 +3 2001 1314 2573 +3 2549 1199 2541 +3 2003 1309 2551 +3 2573 1163 2542 +3 2571 1314 2001 +3 2546 2544 1307 +3 1991 1307 2543 +3 2137 1197 2545 +3 1988 96 2544 +3 2545 2544 2137 +3 2544 96 2137 +3 2553 1160 2546 +3 2551 1309 1991 +3 2550 2548 1308 +3 2543 1307 2139 +3 2550 1197 2136 +3 2136 929 2548 +3 2558 1199 2570 +3 2139 2545 2550 +3 2545 1197 2550 +3 2547 2543 2139 +3 2581 1316 2000 +3 2540 1306 2003 +3 2580 920 2552 +3 2003 2542 2554 +3 2553 2552 1989 +3 2552 920 1989 +3 2000 1309 2554 +3 2551 2540 2003 +3 2570 1313 2147 +3 2539 1306 2145 +3 2567 2559 959 +3 2145 2541 2558 +3 2174 1312 2565 +3 2563 1312 2174 +3 2541 1199 2558 +3 2555 2539 2145 +3 2562 2560 1311 +3 2135 1311 2559 +3 2562 1196 2132 +3 2132 832 2560 +3 2561 2514 1204 +3 2135 1313 2569 +3 2569 1196 2562 +3 2567 1313 2135 +3 2566 2564 1312 +3 2561 1204 2166 +3 2564 2520 931 +3 2165 2520 2564 +3 2565 2534 1206 +3 2564 931 2172 +3 2166 2559 2561 +3 2563 2559 2166 +3 2570 2549 2144 +3 2556 1310 2147 +3 2548 929 2568 +3 2147 2558 2570 +3 2569 2568 2133 +3 2568 929 2133 +3 2549 1308 2144 +3 2567 2556 2147 +3 2586 1317 2051 +3 2528 1303 2049 +3 2583 2575 960 +3 2049 2530 2574 +3 2581 1163 2573 +3 2051 1317 2583 +3 2530 1175 2574 +3 2571 2528 2049 +3 2578 2484 2036 +3 2039 1172 2578 +3 2483 830 2576 +3 1315 2575 2578 +3 2577 2576 1993 +3 2576 830 1993 +3 2484 1289 2036 +3 2583 1317 2039 +3 2582 2580 1316 +3 2575 1315 1995 +3 2582 1161 1992 +3 1992 920 2580 +3 2581 2554 1163 +3 1995 2577 2582 +3 2577 1161 2582 +3 2579 2575 1995 +3 2586 2537 2048 +3 2572 1314 2051 +3 2585 2584 2037 +3 2051 2574 2586 +3 2489 1172 2585 +3 2584 2487 2037 +3 2537 2536 2048 +3 2583 2572 2051 +3 2201 1318 3631 +3 2201 1213 2587 +3 2587 1318 2201 +3 1678 1732 3631 +3 2603 2600 2209 +3 2210 1319 3523 +3 2210 1320 2591 +3 2591 1215 2588 +3 2589 1320 2210 +3 2592 2590 1320 +3 3540 1030 3612 +3 2592 1213 2200 +3 2200 933 2590 +3 2211 1324 2603 +3 2203 2587 2592 +3 2587 1213 2592 +3 2589 3540 2203 +3 2599 1323 2239 +3 2209 2588 2603 +3 3551 3556 962 +3 2237 2600 2602 +3 2602 1222 2593 +3 3580 3508 841 +3 2619 1328 2233 +3 2234 1322 3551 +3 3515 37 35 +3 2234 1221 2595 +3 2234 2596 2598 +3 2598 1221 2234 +3 2610 2609 2236 +3 3522 1570 1321 +3 2236 2599 2610 +3 2239 2593 2599 +3 2235 2617 2619 +3 2631 2598 2232 +3 2236 1323 2599 +3 2596 962 2239 +3 2603 1215 2211 +3 3532 3604 3580 +3 2612 2604 963 +3 1324 2600 2603 +3 2238 1326 2610 +3 2211 1215 2615 +3 2588 1215 2603 +3 2600 841 2209 +3 2607 2605 1325 +3 2199 1325 2604 +3 2607 1212 2196 +3 2196 833 2605 +3 2231 1343 2678 +3 2199 1327 2614 +3 2614 1212 2607 +3 2612 1327 2199 +3 2611 2609 1326 +3 2606 1220 2230 +3 2240 1343 2679 +3 2229 2611 2678 +3 2610 2599 1222 +3 2609 935 2236 +3 2230 2604 2606 +3 2608 2604 2230 +3 2615 2591 2208 +3 2601 1324 2211 +3 2590 933 2613 +3 1327 2612 2615 +3 2614 2613 2197 +3 2613 933 2197 +3 2591 1320 2208 +3 2612 2601 2211 +3 2619 2617 1328 +3 2594 1322 2233 +3 2628 2620 964 +3 2235 1331 2628 +3 2298 1330 2626 +3 2624 1330 2298 +3 2595 1221 2619 +3 2616 2594 2233 +3 2667 1340 2241 +3 2242 1223 2623 +3 2664 2632 842 +3 1329 2620 2623 +3 2650 1238 2622 +3 2241 1340 2664 +3 2242 1331 2630 +3 2628 1331 2242 +3 2658 2657 2300 +3 2620 1329 2303 +3 2300 2627 2658 +3 2303 2622 2627 +3 2299 3552 2681 +3 2686 2626 2296 +3 2300 1330 2627 +3 2624 2620 2303 +3 2631 2629 1331 +3 2619 1221 2235 +3 2597 935 2629 +3 2232 2597 2629 +3 2667 1223 2679 +3 2629 935 2240 +3 2598 2597 2232 +3 2628 2617 2235 +3 2647 1335 2195 +3 2193 1332 2632 +3 2644 2636 965 +3 2193 1340 2666 +3 2642 1231 2634 +3 2195 1335 2644 +3 2666 1211 2635 +3 2664 1340 2193 +3 2639 2637 1333 +3 2183 1333 2636 +3 2265 1229 2638 +3 2180 98 2637 +3 2638 2637 2265 +3 2637 98 2265 +3 2646 1208 2639 +3 2644 1335 2183 +3 2643 2641 1334 +3 2636 1333 2267 +3 2643 1229 2264 +3 2264 937 2641 +3 2651 1231 2663 +3 2267 2638 2643 +3 2638 1229 2643 +3 2640 2636 2267 +3 2674 1342 2192 +3 2633 1332 2195 +3 2673 932 2645 +3 2195 2635 2647 +3 2646 2645 2181 +3 2645 932 2181 +3 2192 1335 2647 +3 2644 2633 2195 +3 2663 1339 2275 +3 2632 1332 2273 +3 2660 2652 966 +3 2273 2634 2651 +3 2302 1338 2658 +3 2656 1338 2302 +3 2634 1231 2651 +3 2648 2632 2273 +3 2655 2653 1337 +3 2263 1337 2652 +3 2655 1228 2260 +3 2260 834 2653 +3 2295 1353 2707 +3 2263 1339 2662 +3 2662 1228 2655 +3 2660 1339 2263 +3 2659 2657 1338 +3 2654 1236 2294 +3 2304 1353 2708 +3 2293 2659 2707 +3 2658 2627 1238 +3 2657 939 2300 +3 2294 2652 2654 +3 2656 2652 2294 +3 2663 2642 2272 +3 2649 1336 2275 +3 2641 937 2661 +3 2275 2651 2663 +3 2662 2661 2261 +3 2661 937 2261 +3 2642 1334 2272 +3 2660 2649 2275 +3 2679 1343 2243 +3 2621 1329 2241 +3 2676 2668 967 +3 2241 2623 2667 +3 2674 1211 2666 +3 2243 1343 2676 +3 2623 1223 2667 +3 2664 2621 2241 +3 2671 2606 2228 +3 2231 1220 2671 +3 2605 833 2669 +3 1341 2668 2671 +3 2670 2669 2185 +3 2669 833 2185 +3 2606 1325 2228 +3 2676 1343 2231 +3 2675 2673 1342 +3 2668 1341 2187 +3 2675 1209 2184 +3 2184 932 2673 +3 2674 2647 1211 +3 2187 2670 2675 +3 2670 1209 2675 +3 2672 2668 2187 +3 2679 2630 2240 +3 2665 1340 2243 +3 2678 2677 2229 +3 2243 2667 2679 +3 2611 1220 2678 +3 2677 2609 2229 +3 2630 2629 2240 +3 2676 2665 2243 +3 2681 3552 1344 +3 2616 1328 2297 +3 2299 1346 2683 +3 2618 1237 2681 +3 2680 2616 2297 +3 968 3552 2683 +3 2306 1239 2682 +3 2306 1346 2685 +3 3524 968 2306 +3 2686 2684 1346 +3 2681 1237 2299 +3 2625 939 2684 +3 2296 2625 2684 +3 2307 1350 2696 +3 2684 939 2304 +3 2626 2625 2296 +3 2683 3552 2299 +3 2305 2682 2696 +3 2257 2693 2695 +3 2695 1227 2687 +3 3509 843 2257 +3 2247 1348 3542 +3 2247 1349 2691 +3 2691 1224 2688 +3 2689 1349 2247 +3 2703 1352 2256 +3 3525 1347 2259 +3 2702 936 2690 +3 2259 2687 2692 +3 2691 2690 2245 +3 2690 936 2245 +3 2256 1349 2692 +3 2689 3525 2259 +3 2696 1239 2307 +3 3533 1345 2305 +3 2705 2697 970 +3 1350 2693 2696 +3 2258 2701 2703 +3 2307 1239 2708 +3 2682 1239 2696 +3 2693 843 2305 +3 2700 2654 2292 +3 2295 1236 2700 +3 2653 834 2698 +3 1351 2697 2700 +3 2699 2698 2249 +3 2698 834 2249 +3 2654 1337 2292 +3 2705 1353 2295 +3 2704 2702 1352 +3 2697 1351 2251 +3 2704 1225 2248 +3 2248 936 2702 +3 2703 2692 1227 +3 2251 2699 2704 +3 2699 1225 2704 +3 2701 2697 2251 +3 2708 2685 2304 +3 2694 1350 2307 +3 2707 2706 2293 +3 1353 2705 2708 +3 2659 1236 2707 +3 2706 2657 2293 +3 2685 2684 2304 +3 2705 2694 2307 +3 2710 3553 1354 +3 2393 1261 1977 +3 1979 1356 2712 +3 2395 1157 2710 +3 2709 2393 1977 +3 971 3553 2712 +3 1986 1159 2711 +3 1986 1356 2714 +3 3527 971 1986 +3 2715 2713 1356 +3 2710 1157 1979 +3 2401 919 2713 +3 1976 2401 2713 +3 1987 1360 2725 +3 2713 919 1984 +3 2402 2401 1976 +3 2712 3553 1979 +3 1985 2711 2725 +3 1937 2722 2724 +3 2724 1147 2716 +3 3510 844 1937 +3 1927 1358 3547 +3 1927 1359 2720 +3 2720 1144 2717 +3 2718 1359 1927 +3 2732 1362 1936 +3 3526 1357 1939 +3 2731 916 2719 +3 1939 2716 2721 +3 2720 2719 1925 +3 2719 916 1925 +3 1936 1359 2721 +3 2718 3526 1939 +3 2725 1159 1987 +3 3534 1355 1985 +3 2734 2726 973 +3 1360 2722 2725 +3 1938 2730 2732 +3 1987 1159 2737 +3 2711 1159 2725 +3 2722 844 1985 +3 2729 2426 1972 +3 1975 1156 2729 +3 2425 829 2727 +3 1361 2726 2729 +3 2728 2727 1929 +3 2727 829 1929 +3 2426 1269 1972 +3 2734 1363 1975 +3 2733 2731 1362 +3 2726 1361 1931 +3 2733 1145 1928 +3 1928 916 2731 +3 2732 2721 1147 +3 1931 2728 2733 +3 2728 1145 2733 +3 2730 2726 1931 +3 2737 2714 1984 +3 2723 1360 1987 +3 2736 2735 1973 +3 1363 2734 2737 +3 2431 1156 2736 +3 2735 2429 1973 +3 2714 2713 1984 +3 2734 2723 1987 +3 2753 1367 1990 +3 1988 1160 2741 +3 2750 2742 974 +3 1364 2738 2741 +3 2748 1133 2740 +3 1990 1367 2750 +3 2741 2738 1988 +3 2738 96 1988 +3 2789 1376 1997 +3 1998 1365 2742 +3 2786 2754 845 +3 1998 1367 2752 +3 2772 1134 2744 +3 1997 1376 2786 +3 2752 1162 2745 +3 2750 1367 1998 +3 2780 1374 1884 +3 2742 1365 1887 +3 2779 913 2747 +3 1887 2744 2749 +3 2748 2747 1880 +3 2747 913 1880 +3 1884 1366 2749 +3 2746 2742 1887 +3 2753 2751 1367 +3 2739 1364 1990 +3 2753 1160 1989 +3 1989 920 2751 +3 2789 1162 2801 +3 1990 2741 2753 +3 2741 1160 2753 +3 2750 2739 1990 +3 2769 1371 2031 +3 2029 1368 2754 +3 2766 2758 975 +3 2029 1376 2788 +3 1906 1370 2764 +3 2762 1370 1906 +3 2788 1170 2757 +3 2786 1376 2029 +3 2933 1412 2025 +3 2026 1169 2761 +3 2930 2802 824 +3 1369 2758 2761 +3 2868 1137 2760 +3 2025 1412 2930 +3 2026 1371 2768 +3 2766 1371 2026 +3 2765 2763 1370 +3 2760 1137 1899 +3 2875 914 2763 +3 1896 2765 2876 +3 2773 1139 2785 +3 2763 914 1904 +3 1896 2763 2765 +3 2762 2758 1899 +3 2796 2795 2028 +3 2755 1368 2031 +3 2028 2769 2796 +3 2031 2757 2769 +3 2027 2931 2933 +3 2945 2768 2024 +3 2028 1371 2769 +3 2766 2755 2031 +3 2785 1375 1907 +3 2754 1368 1905 +3 2782 2774 976 +3 1905 2756 2773 +3 2780 1134 2772 +3 1907 1375 2782 +3 2756 1139 2773 +3 2770 2754 1905 +3 2904 1405 1892 +3 1895 1136 2777 +3 2903 828 2775 +3 1373 2774 2777 +3 2776 2775 1876 +3 2775 828 1876 +3 1892 1373 2777 +3 2782 1375 1895 +3 2781 2779 1374 +3 2774 1373 1878 +3 2781 1132 1877 +3 1877 913 2779 +3 2780 2749 1134 +3 1878 2776 2781 +3 2776 1132 2781 +3 2778 2774 1878 +3 2785 2764 1904 +3 2771 1372 1907 +3 1893 2907 2909 +3 1907 2773 2785 +3 2909 1136 2784 +3 2909 2784 1893 +3 2764 2763 1904 +3 2782 2771 1907 +3 2801 1379 1999 +3 2743 1365 1997 +3 2798 2790 977 +3 1997 2745 2789 +3 2030 1378 2796 +3 2794 1378 2030 +3 2745 1162 2789 +3 2786 2743 1997 +3 2793 2791 1377 +3 1994 1377 2790 +3 2793 1161 1993 +3 1993 830 2791 +3 2023 1427 2992 +3 1994 1379 2800 +3 2800 1161 2793 +3 2798 1379 1994 +3 2797 2795 1378 +3 2792 1168 2022 +3 2032 1427 2993 +3 2021 2797 2992 +3 2796 2769 1170 +3 2795 922 2028 +3 2022 2790 2792 +3 2794 2790 2022 +3 2801 2752 1996 +3 2787 1376 1999 +3 2751 920 2799 +3 1999 2789 2801 +3 2800 2799 1992 +3 2799 920 1992 +3 2752 1367 1996 +3 2798 2787 1999 +3 2805 2803 1380 +3 1961 1380 2802 +3 2814 2806 978 +3 1963 1383 2814 +3 1834 1382 2812 +3 2810 1382 1834 +3 2932 1153 2805 +3 2930 1412 1961 +3 2853 1392 1969 +3 1970 1155 2809 +3 2850 2818 846 +3 1381 2806 2809 +3 2836 1122 2808 +3 1969 1392 2850 +3 1970 1383 2816 +3 2814 1383 1970 +3 2844 2843 1836 +3 2806 1381 1839 +3 1836 2813 2844 +3 1839 2808 2813 +3 1835 2867 2869 +3 2881 2812 1832 +3 1836 1382 2813 +3 2810 2806 1839 +3 2817 2815 1383 +3 2805 1153 1963 +3 2939 918 2815 +3 1960 2817 2940 +3 2853 1155 2865 +3 2815 918 1968 +3 1960 2815 2817 +3 2814 2803 1963 +3 2833 1387 1951 +3 1949 1384 2818 +3 2830 2822 979 +3 1949 1392 2852 +3 2828 1114 2820 +3 1951 1387 2830 +3 2852 1150 2821 +3 2850 1392 1949 +3 2825 2823 1385 +3 1946 1385 2822 +3 1796 1112 2824 +3 1945 99 2823 +3 2824 2823 1796 +3 2823 99 1796 +3 2832 1149 2825 +3 2830 1387 1946 +3 2829 2827 1386 +3 2822 1385 1798 +3 2829 1112 1797 +3 1797 908 2827 +3 2837 1114 2849 +3 1798 2824 2829 +3 2824 1112 2829 +3 2826 2822 1798 +3 2860 1394 1948 +3 2819 1384 1951 +3 2859 917 2831 +3 1951 2821 2833 +3 2832 2831 1944 +3 2831 917 1944 +3 1948 1387 2833 +3 2830 2819 1951 +3 2849 1391 1807 +3 2818 1384 1805 +3 2846 2838 980 +3 1805 2820 2837 +3 1838 1390 2844 +3 2842 1390 1838 +3 2820 1114 2837 +3 2834 2818 1805 +3 2841 2839 1389 +3 1802 1389 2838 +3 2841 1113 1801 +3 1801 827 2839 +3 1831 1411 2928 +3 1802 1391 2848 +3 2848 1113 2841 +3 2846 1391 1802 +3 2845 2843 1390 +3 2840 1120 1830 +3 1840 1411 2929 +3 1829 2845 2928 +3 2844 2813 1122 +3 2843 910 1836 +3 1830 2838 2840 +3 2842 2838 1830 +3 2849 2828 1804 +3 2835 1388 1807 +3 2827 908 2847 +3 1807 2837 2849 +3 2848 2847 1800 +3 2847 908 1800 +3 2828 1386 1804 +3 2846 2835 1807 +3 2865 1395 1971 +3 2807 1381 1969 +3 2862 2854 981 +3 1969 2809 2853 +3 2860 1150 2852 +3 1971 1395 2862 +3 2809 1155 2853 +3 2850 2807 1969 +3 2968 1421 1956 +3 1959 1152 2857 +3 2967 829 2855 +3 1393 2854 2857 +3 2856 2855 1940 +3 2855 829 1940 +3 1956 1393 2857 +3 2862 1395 1959 +3 2861 2859 1394 +3 2854 1393 1942 +3 2861 1148 1941 +3 1941 917 2859 +3 2860 2833 1150 +3 1942 2856 2861 +3 2856 1148 2861 +3 2858 2854 1942 +3 2865 2816 1968 +3 2851 1392 1971 +3 1957 2971 2973 +3 1971 2853 2865 +3 2973 1152 2864 +3 2973 2864 1957 +3 2816 2815 1968 +3 2862 2851 1971 +3 2869 2867 1396 +3 2802 1380 1833 +3 2878 2870 982 +3 1835 1399 2878 +3 1898 1398 2876 +3 2874 1398 1898 +3 2804 1121 2869 +3 2866 2802 1833 +3 2917 1408 1841 +3 1842 1123 2873 +3 2914 2882 847 +3 1397 2870 2873 +3 2900 1138 2872 +3 1841 1408 2914 +3 1842 1399 2880 +3 2878 1399 1842 +3 2908 2907 1900 +3 2870 1397 1903 +3 1900 2877 2908 +3 1903 2872 2877 +3 2876 2765 1137 +3 2875 2763 1896 +3 1900 1398 2877 +3 2874 2870 1903 +3 2881 2879 1399 +3 2869 1121 1835 +3 2811 910 2879 +3 1832 2811 2879 +3 2917 1123 2929 +3 2879 910 1840 +3 2812 2811 1832 +3 2878 2867 1835 +3 2897 1403 1823 +3 1821 1400 2882 +3 2894 2886 983 +3 1821 1408 2916 +3 2892 1130 2884 +3 1823 1403 2894 +3 2916 1118 2885 +3 2914 1408 1821 +3 2889 2887 1401 +3 1818 1401 2886 +3 1860 1128 2888 +3 1817 97 2887 +3 2888 2887 1860 +3 2887 97 1860 +3 2896 1117 2889 +3 2894 1403 1818 +3 2893 2891 1402 +3 2886 1401 1862 +3 2893 1128 1861 +3 1861 912 2891 +3 2901 1130 2913 +3 1862 2888 2893 +3 2888 1128 2893 +3 2890 2886 1862 +3 2924 1410 1820 +3 2883 1400 1823 +3 2923 909 2895 +3 1823 2885 2897 +3 2896 2895 1816 +3 2895 909 1816 +3 1820 1403 2897 +3 2894 2883 1823 +3 2913 1407 1871 +3 2882 1400 1869 +3 2910 2902 984 +3 1869 2884 2901 +3 1902 1406 2908 +3 2906 1406 1902 +3 2884 1130 2901 +3 2898 2882 1869 +3 2905 2903 1405 +3 1866 1405 2902 +3 2905 1129 1865 +3 1865 828 2903 +3 2904 2777 1136 +3 1866 1407 2912 +3 2912 1129 2905 +3 2910 1407 1866 +3 2909 2907 1406 +3 2904 1136 1894 +3 2907 2783 914 +3 1893 2783 2907 +3 2908 2877 1138 +3 2907 914 1900 +3 1894 2902 2904 +3 2906 2902 1894 +3 2913 2892 1868 +3 2899 1404 1871 +3 2891 912 2911 +3 1871 2901 2913 +3 2912 2911 1864 +3 2911 912 1864 +3 2892 1402 1868 +3 2910 2899 1871 +3 2929 1411 1843 +3 2871 1397 1841 +3 2926 2918 985 +3 1841 2873 2917 +3 2924 1118 2916 +3 1843 1411 2926 +3 2873 1123 2917 +3 2914 2871 1841 +3 2921 2840 1828 +3 1831 1120 2921 +3 2839 827 2919 +3 1409 2918 2921 +3 2920 2919 1812 +3 2919 827 1812 +3 2840 1389 1828 +3 2926 1411 1831 +3 2925 2923 1410 +3 2918 1409 1814 +3 2925 1116 1813 +3 1813 909 2923 +3 2924 2897 1118 +3 1814 2920 2925 +3 2920 1116 2925 +3 2922 2918 1814 +3 2929 2880 1840 +3 2915 1408 1843 +3 2928 2927 1829 +3 1843 2917 2929 +3 2845 1120 2928 +3 2927 2843 1829 +3 2880 2879 1840 +3 2926 2915 1843 +3 2933 2931 1412 +3 2759 1369 2025 +3 2942 2934 986 +3 2027 1415 2942 +3 1962 1414 2940 +3 2938 1414 1962 +3 2761 1169 2933 +3 2930 2759 2025 +3 2981 1424 2033 +3 2034 1171 2937 +3 2978 2946 848 +3 1413 2934 2937 +3 2964 1154 2936 +3 2033 1424 2978 +3 2034 1415 2944 +3 2942 1415 2034 +3 2972 2971 1964 +3 2934 1413 1967 +3 1964 2941 2972 +3 1967 2936 2941 +3 2940 2817 1153 +3 2939 2815 1960 +3 1964 1414 2941 +3 2938 2934 1967 +3 2945 2943 1415 +3 2933 1169 2027 +3 2767 922 2943 +3 2024 2767 2943 +3 2981 1171 2993 +3 2943 922 2032 +3 2768 2767 2024 +3 2942 2931 2027 +3 2961 1419 2015 +3 2013 1416 2946 +3 2958 2950 987 +3 2013 1424 2980 +3 2956 1146 2948 +3 2015 1419 2958 +3 2980 1166 2949 +3 2978 1424 2013 +3 2953 2951 1417 +3 2010 1417 2950 +3 1924 1144 2952 +3 2009 101 2951 +3 2952 2951 1924 +3 2951 101 1924 +3 2960 1165 2953 +3 2958 1419 2010 +3 2957 2955 1418 +3 2950 1417 1926 +3 2957 1144 1925 +3 1925 916 2955 +3 2965 1146 2977 +3 1926 2952 2957 +3 2952 1144 2957 +3 2954 2950 1926 +3 2988 1426 2012 +3 2947 1416 2015 +3 2987 921 2959 +3 2015 2949 2961 +3 2960 2959 2008 +3 2959 921 2008 +3 2012 1419 2961 +3 2958 2947 2015 +3 2977 1423 1935 +3 2946 1416 1933 +3 2974 2966 988 +3 1933 2948 2965 +3 1966 1422 2972 +3 2970 1422 1966 +3 2948 1146 2965 +3 2962 2946 1933 +3 2969 2967 1421 +3 1930 1421 2966 +3 2969 1145 1929 +3 1929 829 2967 +3 2968 2857 1152 +3 1930 1423 2976 +3 2976 1145 2969 +3 2974 1423 1930 +3 2973 2971 1422 +3 2968 1152 1958 +3 2971 2863 918 +3 1957 2863 2971 +3 2972 2941 1154 +3 2971 918 1964 +3 1958 2966 2968 +3 2970 2966 1958 +3 2977 2956 1932 +3 2963 1420 1935 +3 2955 916 2975 +3 1935 2965 2977 +3 2976 2975 1928 +3 2975 916 1928 +3 2956 1418 1932 +3 2974 2963 1935 +3 2993 1427 2035 +3 2935 1413 2033 +3 2990 2982 989 +3 2033 2937 2981 +3 2988 1166 2980 +3 2035 1427 2990 +3 2937 1171 2981 +3 2978 2935 2033 +3 2985 2792 2020 +3 2023 1168 2985 +3 2791 830 2983 +3 1425 2982 2985 +3 2984 2983 2004 +3 2983 830 2004 +3 2792 1377 2020 +3 2990 1427 2023 +3 2989 2987 1426 +3 2982 1425 2006 +3 2989 1164 2005 +3 2005 921 2987 +3 2988 2961 1166 +3 2006 2984 2989 +3 2984 1164 2989 +3 2986 2982 2006 +3 2993 2944 2032 +3 2979 1424 2035 +3 2992 2991 2021 +3 2035 2981 2993 +3 2797 1168 2992 +3 2991 2795 2021 +3 2944 2943 2032 +3 2990 2979 2035 +3 3009 1431 2182 +3 2180 1208 2997 +3 3006 2998 990 +3 1428 2994 2997 +3 3004 1181 2996 +3 2182 1431 3006 +3 2997 2994 2180 +3 2994 98 2180 +3 3045 1440 2189 +3 2190 1429 2998 +3 3042 3010 849 +3 2190 1431 3008 +3 3028 1182 3000 +3 2189 1440 3042 +3 3008 1210 3001 +3 3006 1431 2190 +3 3036 1438 2076 +3 2998 1429 2079 +3 3035 925 3003 +3 2079 3000 3005 +3 3004 3003 2072 +3 3003 925 2072 +3 2076 1430 3005 +3 3002 2998 2079 +3 3009 3007 1431 +3 2995 1428 2182 +3 3009 1208 2181 +3 2181 932 3007 +3 3045 1210 3057 +3 2182 2997 3009 +3 2997 1208 3009 +3 3006 2995 2182 +3 3025 1435 2223 +3 2221 1432 3010 +3 3022 3014 991 +3 2221 1440 3044 +3 2098 1434 3020 +3 3018 1434 2098 +3 3044 1218 3013 +3 3042 1440 2221 +3 3189 1476 2217 +3 2218 1217 3017 +3 3186 3058 825 +3 1433 3014 3017 +3 3124 1185 3016 +3 2217 1476 3186 +3 2218 1435 3024 +3 3022 1435 2218 +3 3021 3019 1434 +3 3016 1185 2091 +3 3131 926 3019 +3 2088 3021 3132 +3 3029 1187 3041 +3 3019 926 2096 +3 2088 3019 3021 +3 3018 3014 2091 +3 3052 3051 2220 +3 3011 1432 2223 +3 2220 3025 3052 +3 2223 3013 3025 +3 2219 3187 3189 +3 3201 3024 2216 +3 2220 1435 3025 +3 3022 3011 2223 +3 3041 1439 2099 +3 3010 1432 2097 +3 3038 3030 992 +3 2097 3012 3029 +3 3036 1182 3028 +3 2099 1439 3038 +3 3012 1187 3029 +3 3026 3010 2097 +3 3160 1469 2084 +3 2087 1184 3033 +3 3159 831 3031 +3 1437 3030 3033 +3 3032 3031 2068 +3 3031 831 2068 +3 2084 1437 3033 +3 3038 1439 2087 +3 3037 3035 1438 +3 3030 1437 2070 +3 3037 1180 2069 +3 2069 925 3035 +3 3036 3005 1182 +3 2070 3032 3037 +3 3032 1180 3037 +3 3034 3030 2070 +3 3041 3020 2096 +3 3027 1436 2099 +3 2085 3163 3165 +3 2099 3029 3041 +3 3165 1184 3040 +3 3165 3040 2085 +3 3020 3019 2096 +3 3038 3027 2099 +3 3057 1443 2191 +3 2999 1429 2189 +3 3054 3046 993 +3 2189 3001 3045 +3 2222 1442 3052 +3 3050 1442 2222 +3 3001 1210 3045 +3 3042 2999 2189 +3 3049 3047 1441 +3 2186 1441 3046 +3 3049 1209 2185 +3 2185 833 3047 +3 2215 1491 3248 +3 2186 1443 3056 +3 3056 1209 3049 +3 3054 1443 2186 +3 3053 3051 1442 +3 3048 1216 2214 +3 2224 1491 3249 +3 2213 3053 3248 +3 3052 3025 1218 +3 3051 934 2220 +3 2214 3046 3048 +3 3050 3046 2214 +3 3057 3008 2188 +3 3043 1440 2191 +3 3007 932 3055 +3 2191 3045 3057 +3 3056 3055 2184 +3 3055 932 2184 +3 3008 1431 2188 +3 3054 3043 2191 +3 3061 3059 1444 +3 2153 1444 3058 +3 3070 3062 994 +3 2155 1447 3070 +3 1914 1446 3068 +3 3066 1446 1914 +3 3188 1201 3061 +3 3186 1476 2153 +3 3109 1456 2161 +3 2162 1203 3065 +3 3106 3074 850 +3 1445 3062 3065 +3 3092 1142 3064 +3 2161 1456 3106 +3 2162 1447 3072 +3 3070 1447 2162 +3 3100 3099 1916 +3 3062 1445 1919 +3 1916 3069 3100 +3 1919 3064 3069 +3 1915 3123 3125 +3 3137 3068 1912 +3 1916 1446 3069 +3 3066 3062 1919 +3 3073 3071 1447 +3 3061 1201 2155 +3 3195 930 3071 +3 2152 3073 3196 +3 3109 1203 3121 +3 3071 930 2160 +3 2152 3071 3073 +3 3070 3059 2155 +3 3089 1451 2143 +3 2141 1448 3074 +3 3086 3078 995 +3 2141 1456 3108 +3 3084 1135 3076 +3 2143 1451 3086 +3 3108 1198 3077 +3 3106 1456 2141 +3 3081 3079 1449 +3 2138 1449 3078 +3 1881 1133 3080 +3 2137 96 3079 +3 3080 3079 1881 +3 3079 96 1881 +3 3088 1197 3081 +3 3086 1451 2138 +3 3085 3083 1450 +3 3078 1449 1883 +3 3085 1133 1880 +3 1880 913 3083 +3 3093 1135 3105 +3 1883 3080 3085 +3 3080 1133 3085 +3 3082 3078 1883 +3 3116 1458 2140 +3 3075 1448 2143 +3 3115 929 3087 +3 2143 3077 3089 +3 3088 3087 2136 +3 3087 929 2136 +3 2140 1451 3089 +3 3086 3075 2143 +3 3105 1455 1891 +3 3074 1448 1889 +3 3102 3094 996 +3 1889 3076 3093 +3 1918 1454 3100 +3 3098 1454 1918 +3 3076 1135 3093 +3 3090 3074 1889 +3 3097 3095 1453 +3 1879 1453 3094 +3 3097 1132 1876 +3 1876 828 3095 +3 1911 1475 3184 +3 1879 1455 3104 +3 3104 1132 3097 +3 3102 1455 1879 +3 3101 3099 1454 +3 3096 1140 1910 +3 1920 1475 3185 +3 1909 3101 3184 +3 3100 3069 1142 +3 3099 915 1916 +3 1910 3094 3096 +3 3098 3094 1910 +3 3105 3084 1888 +3 3091 1452 1891 +3 3083 913 3103 +3 1891 3093 3105 +3 3104 3103 1877 +3 3103 913 1877 +3 3084 1450 1888 +3 3102 3091 1891 +3 3121 1459 2163 +3 3063 1445 2161 +3 3118 3110 997 +3 2161 3065 3109 +3 3116 1198 3108 +3 2163 1459 3118 +3 3065 1203 3109 +3 3106 3063 2161 +3 3224 1485 2148 +3 2151 1200 3113 +3 3223 832 3111 +3 1457 3110 3113 +3 3112 3111 2132 +3 3111 832 2132 +3 2148 1457 3113 +3 3118 1459 2151 +3 3117 3115 1458 +3 3110 1457 2134 +3 3117 1196 2133 +3 2133 929 3115 +3 3116 3089 1198 +3 2134 3112 3117 +3 3112 1196 3117 +3 3114 3110 2134 +3 3121 3072 2160 +3 3107 1456 2163 +3 2149 3227 3229 +3 2163 3109 3121 +3 3229 1200 3120 +3 3229 3120 2149 +3 3072 3071 2160 +3 3118 3107 2163 +3 3125 3123 1460 +3 3058 1444 1913 +3 3134 3126 998 +3 1915 1463 3134 +3 2090 1462 3132 +3 3130 1462 2090 +3 3060 1141 3125 +3 3122 3058 1913 +3 3173 1472 1921 +3 1922 1143 3129 +3 3170 3138 851 +3 1461 3126 3129 +3 3156 1186 3128 +3 1921 1472 3170 +3 1922 1463 3136 +3 3134 1463 1922 +3 3164 3163 2092 +3 3126 1461 2095 +3 2092 3133 3164 +3 2095 3128 3133 +3 3132 3021 1185 +3 3131 3019 2088 +3 2092 1462 3133 +3 3130 3126 2095 +3 3137 3135 1463 +3 3125 1141 1915 +3 3067 915 3135 +3 1912 3067 3135 +3 3173 1143 3185 +3 3135 915 1920 +3 3068 3067 1912 +3 3134 3123 1915 +3 3153 1467 1875 +3 1873 1464 3138 +3 3150 3142 999 +3 1873 1472 3172 +3 3148 1178 3140 +3 1875 1467 3150 +3 3172 1131 3141 +3 3170 1472 1873 +3 3145 3143 1465 +3 1863 1465 3142 +3 2052 1176 3144 +3 1860 97 3143 +3 3144 3143 2052 +3 3143 97 2052 +3 3152 1128 3145 +3 3150 1467 1863 +3 3149 3147 1466 +3 3142 1465 2054 +3 3149 1176 2053 +3 2053 924 3147 +3 3157 1178 3169 +3 2054 3144 3149 +3 3144 1176 3149 +3 3146 3142 2054 +3 3180 1474 1872 +3 3139 1464 1875 +3 3179 912 3151 +3 1875 3141 3153 +3 3152 3151 1861 +3 3151 912 1861 +3 1872 1467 3153 +3 3150 3139 1875 +3 3169 1471 2063 +3 3138 1464 2061 +3 3166 3158 1000 +3 2061 3140 3157 +3 2094 1470 3164 +3 3162 1470 2094 +3 3140 1178 3157 +3 3154 3138 2061 +3 3161 3159 1469 +3 2058 1469 3158 +3 3161 1177 2057 +3 2057 831 3159 +3 3160 3033 1184 +3 2058 1471 3168 +3 3168 1177 3161 +3 3166 1471 2058 +3 3165 3163 1470 +3 3160 1184 2086 +3 3163 3039 926 +3 2085 3039 3163 +3 3164 3133 1186 +3 3163 926 2092 +3 2086 3158 3160 +3 3162 3158 2086 +3 3169 3148 2060 +3 3155 1468 2063 +3 3147 924 3167 +3 2063 3157 3169 +3 3168 3167 2056 +3 3167 924 2056 +3 3148 1466 2060 +3 3166 3155 2063 +3 3185 1475 1923 +3 3127 1461 1921 +3 3182 3174 1001 +3 1921 3129 3173 +3 3180 1131 3172 +3 1923 1475 3182 +3 3129 1143 3173 +3 3170 3127 1921 +3 3177 3096 1908 +3 1911 1140 3177 +3 3095 828 3175 +3 1473 3174 3177 +3 3176 3175 1865 +3 3175 828 1865 +3 3096 1453 1908 +3 3182 1475 1911 +3 3181 3179 1474 +3 3174 1473 1867 +3 3181 1129 1864 +3 1864 912 3179 +3 3180 3153 1131 +3 1867 3176 3181 +3 3176 1129 3181 +3 3178 3174 1867 +3 3185 3136 1920 +3 3171 1472 1923 +3 3184 3183 1909 +3 1923 3173 3185 +3 3101 1140 3184 +3 3183 3099 1909 +3 3136 3135 1920 +3 3182 3171 1923 +3 3189 3187 1476 +3 3015 1433 2217 +3 3198 3190 1002 +3 2219 1479 3198 +3 2154 1478 3196 +3 3194 1478 2154 +3 3017 1217 3189 +3 3186 3015 2217 +3 3237 1488 2225 +3 2226 1219 3193 +3 3234 3202 852 +3 1477 3190 3193 +3 3220 1202 3192 +3 2225 1488 3234 +3 2226 1479 3200 +3 3198 1479 2226 +3 3228 3227 2156 +3 3190 1477 2159 +3 2156 3197 3228 +3 2159 3192 3197 +3 3196 3073 1201 +3 3195 3071 2152 +3 2156 1478 3197 +3 3194 3190 2159 +3 3201 3199 1479 +3 3189 1217 2219 +3 3023 934 3199 +3 2216 3023 3199 +3 3237 1219 3249 +3 3199 934 2224 +3 3024 3023 2216 +3 3198 3187 2219 +3 3217 1483 2207 +3 2205 1480 3202 +3 3214 3206 1003 +3 2205 1488 3236 +3 3212 1194 3204 +3 2207 1483 3214 +3 3236 1214 3205 +3 3234 1488 2205 +3 3209 3207 1481 +3 2202 1481 3206 +3 2116 1192 3208 +3 2201 100 3207 +3 3208 3207 2116 +3 3207 100 2116 +3 3216 1213 3209 +3 3214 1483 2202 +3 3213 3211 1482 +3 3206 1481 2118 +3 3213 1192 2117 +3 2117 928 3211 +3 3221 1194 3233 +3 2118 3208 3213 +3 3208 1192 3213 +3 3210 3206 2118 +3 3244 1490 2204 +3 3203 1480 2207 +3 3243 933 3215 +3 2207 3205 3217 +3 3216 3215 2200 +3 3215 933 2200 +3 2204 1483 3217 +3 3214 3203 2207 +3 3233 1487 2127 +3 3202 1480 2125 +3 3230 3222 1004 +3 2125 3204 3221 +3 2158 1486 3228 +3 3226 1486 2158 +3 3204 1194 3221 +3 3218 3202 2125 +3 3225 3223 1485 +3 2122 1485 3222 +3 3225 1193 2121 +3 2121 832 3223 +3 3224 3113 1200 +3 2122 1487 3232 +3 3232 1193 3225 +3 3230 1487 2122 +3 3229 3227 1486 +3 3224 1200 2150 +3 3227 3119 930 +3 2149 3119 3227 +3 3228 3197 1202 +3 3227 930 2156 +3 2150 3222 3224 +3 3226 3222 2150 +3 3233 3212 2124 +3 3219 1484 2127 +3 3211 928 3231 +3 2127 3221 3233 +3 3232 3231 2120 +3 3231 928 2120 +3 3212 1482 2124 +3 3230 3219 2127 +3 3249 1491 2227 +3 3191 1477 2225 +3 3246 3238 1005 +3 2225 3193 3237 +3 3244 1214 3236 +3 2227 1491 3246 +3 3193 1219 3237 +3 3234 3191 2225 +3 3241 3048 2212 +3 2215 1216 3241 +3 3047 833 3239 +3 1489 3238 3241 +3 3240 3239 2196 +3 3239 833 2196 +3 3048 1441 2212 +3 3246 1491 2215 +3 3245 3243 1490 +3 3238 1489 2198 +3 3245 1212 2197 +3 2197 933 3243 +3 3244 3217 1214 +3 2198 3240 3245 +3 3240 1212 3245 +3 3242 3238 2198 +3 3249 3200 2224 +3 3235 1488 2227 +3 3248 3247 2213 +3 2227 3237 3249 +3 3053 1216 3248 +3 3247 3051 2213 +3 3200 3199 2224 +3 3246 3235 2227 +3 3265 1495 2331 +3 2329 1245 3253 +3 3262 3254 1006 +3 1492 3250 3253 +3 3260 1112 3252 +3 2331 1495 3262 +3 3253 3250 2329 +3 3250 99 2329 +3 3301 1504 2337 +3 2338 1493 3254 +3 3298 3266 853 +3 2338 1495 3264 +3 3284 1115 3256 +3 2337 1504 3298 +3 3264 1247 3257 +3 3262 1495 2338 +3 3292 1502 1808 +3 3254 1493 1811 +3 3291 908 3259 +3 1811 3256 3261 +3 3260 3259 1797 +3 3259 908 1797 +3 1808 1494 3261 +3 3258 3254 1811 +3 3265 3263 1495 +3 3251 1492 2331 +3 3265 1245 2328 +3 2328 941 3263 +3 3301 1247 3313 +3 2331 3253 3265 +3 3253 1245 3265 +3 3262 3251 2331 +3 3281 1499 2367 +3 2365 1496 3266 +3 3278 3270 1007 +3 2365 1504 3300 +3 1858 1498 3276 +3 3274 1498 1858 +3 3300 1254 3269 +3 3298 1504 2365 +3 3445 1540 2361 +3 2362 1253 3273 +3 3442 3314 826 +3 1497 3270 3273 +3 3380 1125 3272 +3 2361 1540 3442 +3 2362 1499 3280 +3 3278 1499 2362 +3 3277 3275 1498 +3 3272 1125 1851 +3 3387 911 3275 +3 1848 3277 3388 +3 3285 1127 3297 +3 3275 911 1856 +3 1848 3275 3277 +3 3274 3270 1851 +3 3308 3307 2364 +3 3267 1496 2367 +3 2364 3281 3308 +3 2367 3269 3281 +3 2363 3443 3445 +3 3457 3280 2360 +3 2364 1499 3281 +3 3278 3267 2367 +3 3297 1503 1859 +3 3266 1496 1857 +3 3294 3286 1008 +3 1857 3268 3285 +3 3292 1115 3284 +3 1859 1503 3294 +3 3268 1127 3285 +3 3282 3266 1857 +3 3416 1533 1844 +3 1847 1124 3289 +3 3415 827 3287 +3 1501 3286 3289 +3 3288 3287 1801 +3 3287 827 1801 +3 1844 1501 3289 +3 3294 1503 1847 +3 3293 3291 1502 +3 3286 1501 1803 +3 3293 1113 1800 +3 1800 908 3291 +3 3292 3261 1115 +3 1803 3288 3293 +3 3288 1113 3293 +3 3290 3286 1803 +3 3297 3276 1856 +3 3283 1500 1859 +3 1845 3419 3421 +3 1859 3285 3297 +3 3421 1124 3296 +3 3421 3296 1845 +3 3276 3275 1856 +3 3294 3283 1859 +3 3313 1507 2339 +3 3255 1493 2337 +3 3310 3302 1009 +3 2337 3257 3301 +3 2366 1506 3308 +3 3306 1506 2366 +3 3257 1247 3301 +3 3298 3255 2337 +3 3305 3303 1505 +3 2327 1505 3302 +3 3305 1244 2324 +3 2324 835 3303 +3 2359 1555 3504 +3 2327 1507 3312 +3 3312 1244 3305 +3 3310 1507 2327 +3 3309 3307 1506 +3 3304 1252 2358 +3 2368 1555 3505 +3 2357 3309 3504 +3 3308 3281 1254 +3 3307 943 2364 +3 2358 3302 3304 +3 3306 3302 2358 +3 3313 3264 2336 +3 3299 1504 2339 +3 3263 941 3311 +3 2339 3301 3313 +3 3312 3311 2325 +3 3311 941 2325 +3 3264 1495 2336 +3 3310 3299 2339 +3 3317 3315 1508 +3 2281 1508 3314 +3 3326 3318 1010 +3 2283 1511 3326 +3 2106 1510 3324 +3 3322 1510 2106 +3 3444 1233 3317 +3 3442 1540 2281 +3 3365 1520 2289 +3 2290 1235 3321 +3 3362 3330 854 +3 1509 3318 3321 +3 3348 1190 3320 +3 2289 1520 3362 +3 2290 1511 3328 +3 3326 1511 2290 +3 3356 3355 2108 +3 3318 1509 2111 +3 2108 3325 3356 +3 2111 3320 3325 +3 2107 3379 3381 +3 3393 3324 2104 +3 2108 1510 3325 +3 3322 3318 2111 +3 3329 3327 1511 +3 3317 1233 2283 +3 3451 938 3327 +3 2280 3329 3452 +3 3365 1235 3377 +3 3327 938 2288 +3 2280 3327 3329 +3 3326 3315 2283 +3 3345 1515 2271 +3 2269 1512 3330 +3 3342 3334 1011 +3 2269 1520 3364 +3 3340 1183 3332 +3 2271 1515 3342 +3 3364 1230 3333 +3 3362 1520 2269 +3 3337 3335 1513 +3 2266 1513 3334 +3 2073 1181 3336 +3 2265 98 3335 +3 3336 3335 2073 +3 3335 98 2073 +3 3344 1229 3337 +3 3342 1515 2266 +3 3341 3339 1514 +3 3334 1513 2075 +3 3341 1181 2072 +3 2072 925 3339 +3 3349 1183 3361 +3 2075 3336 3341 +3 3336 1181 3341 +3 3338 3334 2075 +3 3372 1522 2268 +3 3331 1512 2271 +3 3371 937 3343 +3 2271 3333 3345 +3 3344 3343 2264 +3 3343 937 2264 +3 2268 1515 3345 +3 3342 3331 2271 +3 3361 1519 2083 +3 3330 1512 2081 +3 3358 3350 1012 +3 2081 3332 3349 +3 2110 1518 3356 +3 3354 1518 2110 +3 3332 1183 3349 +3 3346 3330 2081 +3 3353 3351 1517 +3 2071 1517 3350 +3 3353 1180 2068 +3 2068 831 3351 +3 2103 1539 3440 +3 2071 1519 3360 +3 3360 1180 3353 +3 3358 1519 2071 +3 3357 3355 1518 +3 3352 1188 2102 +3 2112 1539 3441 +3 2101 3357 3440 +3 3356 3325 1190 +3 3355 927 2108 +3 2102 3350 3352 +3 3354 3350 2102 +3 3361 3340 2080 +3 3347 1516 2083 +3 3339 925 3359 +3 2083 3349 3361 +3 3360 3359 2069 +3 3359 925 2069 +3 3340 1514 2080 +3 3358 3347 2083 +3 3377 1523 2291 +3 3319 1509 2289 +3 3374 3366 1013 +3 2289 3321 3365 +3 3372 1230 3364 +3 2291 1523 3374 +3 3321 1235 3365 +3 3362 3319 2289 +3 3480 1549 2276 +3 2279 1232 3369 +3 3479 834 3367 +3 1521 3366 3369 +3 3368 3367 2260 +3 3367 834 2260 +3 2276 1521 3369 +3 3374 1523 2279 +3 3373 3371 1522 +3 3366 1521 2262 +3 3373 1228 2261 +3 2261 937 3371 +3 3372 3345 1230 +3 2262 3368 3373 +3 3368 1228 3373 +3 3370 3366 2262 +3 3377 3328 2288 +3 3363 1520 2291 +3 2277 3483 3485 +3 2291 3365 3377 +3 3485 1232 3376 +3 3485 3376 2277 +3 3328 3327 2288 +3 3374 3363 2291 +3 3381 3379 1524 +3 3314 1508 2105 +3 3390 3382 1014 +3 2107 1527 3390 +3 1850 1526 3388 +3 3386 1526 1850 +3 3316 1189 3381 +3 3378 3314 2105 +3 3429 1536 2113 +3 2114 1191 3385 +3 3426 3394 855 +3 1525 3382 3385 +3 3412 1126 3384 +3 2113 1536 3426 +3 2114 1527 3392 +3 3390 1527 2114 +3 3420 3419 1852 +3 3382 1525 1855 +3 1852 3389 3420 +3 1855 3384 3389 +3 3388 3277 1125 +3 3387 3275 1848 +3 1852 1526 3389 +3 3386 3382 1855 +3 3393 3391 1527 +3 3381 1189 2107 +3 3323 927 3391 +3 2104 3323 3391 +3 3429 1191 3441 +3 3391 927 2112 +3 3324 3323 2104 +3 3390 3379 2107 +3 3409 1531 2067 +3 2065 1528 3394 +3 3406 3398 1015 +3 2065 1536 3428 +3 3404 1119 3396 +3 2067 1531 3406 +3 3428 1179 3397 +3 3426 1536 2065 +3 3401 3399 1529 +3 2055 1529 3398 +3 1817 1117 3400 +3 2052 97 3399 +3 3400 3399 1817 +3 3399 97 1817 +3 3408 1176 3401 +3 3406 1531 2055 +3 3405 3403 1530 +3 3398 1529 1819 +3 3405 1117 1816 +3 1816 909 3403 +3 3413 1119 3425 +3 1819 3400 3405 +3 3400 1117 3405 +3 3402 3398 1819 +3 3436 1538 2064 +3 3395 1528 2067 +3 3435 924 3407 +3 2067 3397 3409 +3 3408 3407 2053 +3 3407 924 2053 +3 2064 1531 3409 +3 3406 3395 2067 +3 3425 1535 1827 +3 3394 1528 1825 +3 3422 3414 1016 +3 1825 3396 3413 +3 1854 1534 3420 +3 3418 1534 1854 +3 3396 1119 3413 +3 3410 3394 1825 +3 3417 3415 1533 +3 1815 1533 3414 +3 3417 1116 1812 +3 1812 827 3415 +3 3416 3289 1124 +3 1815 1535 3424 +3 3424 1116 3417 +3 3422 1535 1815 +3 3421 3419 1534 +3 3416 1124 1846 +3 3419 3295 911 +3 1845 3295 3419 +3 3420 3389 1126 +3 3419 911 1852 +3 1846 3414 3416 +3 3418 3414 1846 +3 3425 3404 1824 +3 3411 1532 1827 +3 3403 909 3423 +3 1827 3413 3425 +3 3424 3423 1813 +3 3423 909 1813 +3 3404 1530 1824 +3 3422 3411 1827 +3 3441 1539 2115 +3 3383 1525 2113 +3 3438 3430 1017 +3 2113 3385 3429 +3 3436 1179 3428 +3 2115 1539 3438 +3 3385 1191 3429 +3 3426 3383 2113 +3 3433 3352 2100 +3 2103 1188 3433 +3 3351 831 3431 +3 1537 3430 3433 +3 3432 3431 2057 +3 3431 831 2057 +3 3352 1517 2100 +3 3438 1539 2103 +3 3437 3435 1538 +3 3430 1537 2059 +3 3437 1177 2056 +3 2056 924 3435 +3 3436 3409 1179 +3 2059 3432 3437 +3 3432 1177 3437 +3 3434 3430 2059 +3 3441 3392 2112 +3 3427 1536 2115 +3 3440 3439 2101 +3 2115 3429 3441 +3 3357 1188 3440 +3 3439 3355 2101 +3 3392 3391 2112 +3 3438 3427 2115 +3 3445 3443 1540 +3 3271 1497 2361 +3 3454 3446 1018 +3 2363 1543 3454 +3 2282 1542 3452 +3 3450 1542 2282 +3 3273 1253 3445 +3 3442 3271 2361 +3 3493 1552 2369 +3 2370 1255 3449 +3 3490 3458 856 +3 1541 3446 3449 +3 3476 1234 3448 +3 2369 1552 3490 +3 2370 1543 3456 +3 3454 1543 2370 +3 3484 3483 2284 +3 3446 1541 2287 +3 2284 3453 3484 +3 2287 3448 3453 +3 3452 3329 1233 +3 3451 3327 2280 +3 2284 1542 3453 +3 3450 3446 2287 +3 3457 3455 1543 +3 3445 1253 2363 +3 3279 943 3455 +3 2360 3279 3455 +3 3493 1255 3505 +3 3455 943 2368 +3 3280 3279 2360 +3 3454 3443 2363 +3 3473 1547 2323 +3 2321 1544 3458 +3 3470 3462 1019 +3 2321 1552 3492 +3 3468 1226 3460 +3 2323 1547 3470 +3 3492 1243 3461 +3 3490 1552 2321 +3 3465 3463 1545 +3 2311 1545 3462 +3 2244 1224 3464 +3 2308 102 3463 +3 3464 3463 2244 +3 3463 102 2244 +3 3472 1240 3465 +3 3470 1547 2311 +3 3469 3467 1546 +3 3462 1545 2246 +3 3469 1224 2245 +3 2245 936 3467 +3 3477 1226 3489 +3 2246 3464 3469 +3 3464 1224 3469 +3 3466 3462 2246 +3 3500 1554 2320 +3 3459 1544 2323 +3 3499 940 3471 +3 2323 3461 3473 +3 3472 3471 2309 +3 3471 940 2309 +3 2320 1547 3473 +3 3470 3459 2323 +3 3489 1551 2255 +3 3458 1544 2253 +3 3486 3478 1020 +3 2253 3460 3477 +3 2286 1550 3484 +3 3482 1550 2286 +3 3460 1226 3477 +3 3474 3458 2253 +3 3481 3479 1549 +3 2250 1549 3478 +3 3481 1225 2249 +3 2249 834 3479 +3 3480 3369 1232 +3 2250 1551 3488 +3 3488 1225 3481 +3 3486 1551 2250 +3 3485 3483 1550 +3 3480 1232 2278 +3 3483 3375 938 +3 2277 3375 3483 +3 3484 3453 1234 +3 3483 938 2284 +3 2278 3478 3480 +3 3482 3478 2278 +3 3489 3468 2252 +3 3475 1548 2255 +3 3467 936 3487 +3 2255 3477 3489 +3 3488 3487 2248 +3 3487 936 2248 +3 3468 1546 2252 +3 3486 3475 2255 +3 3505 1555 2371 +3 3447 1541 2369 +3 3502 3494 1021 +3 2369 3449 3493 +3 3500 1243 3492 +3 2371 1555 3502 +3 3449 1255 3493 +3 3490 3447 2369 +3 3497 3304 2356 +3 2359 1252 3497 +3 3303 835 3495 +3 1553 3494 3497 +3 3496 3495 2313 +3 3495 835 2313 +3 3304 1505 2356 +3 3502 1555 2359 +3 3501 3499 1554 +3 3494 1553 2315 +3 3501 1241 2312 +3 2312 940 3499 +3 3500 3473 1243 +3 2315 3496 3501 +3 3496 1241 3501 +3 3498 3494 2315 +3 3505 3456 2368 +3 3491 1552 2371 +3 3504 3503 2357 +3 2371 3493 3505 +3 3309 1252 3504 +3 3503 3307 2357 +3 3456 3455 2368 +3 3502 3491 2371 +3 2472 68 70 +3 3590 3567 1022 +3 3537 1556 3506 +3 3519 1556 3566 +3 1282 2011 3536 +3 1295 3531 1569 +3 3569 1616 1588 +3 2594 36 38 +3 3592 3571 1024 +3 3541 1560 3508 +3 3523 1560 3570 +3 1318 2203 3540 +3 2305 843 3533 +3 2259 1349 2689 +3 3510 1357 1564 +3 3527 1355 1572 +3 2436 0 2 +3 3528 948 3559 +3 3545 1567 3511 +3 3529 1567 3574 +3 1276 2310 3544 +3 2445 1277 2318 +3 3566 951 3519 +3 3570 961 3523 +3 3582 3511 837 +3 1273 2351 948 +3 1046 1659 3621 +3 3554 1574 3590 +3 1050 1663 3629 +3 3556 1578 3592 +3 3623 1726 101 +3 3519 1283 1556 +3 1047 1028 1612 +3 3506 1556 1283 +3 3530 1285 1568 +3 3512 83 84 +3 1569 3531 1599 +3 1559 1293 3521 +3 3631 1732 100 +3 3523 1319 1560 +3 1051 1030 1620 +3 3508 1560 1319 +3 3532 1321 1570 +3 3514 51 52 +3 1592 1624 872 +3 1601 1637 1052 +3 1564 1582 3546 +3 3637 1628 1638 +3 3517 17 18 +3 3535 1273 1573 +3 3511 2317 837 +3 1057 1033 1632 +3 3589 1596 1584 +3 3643 2308 1276 +3 3602 1568 3567 +3 1034 3567 3590 +3 1557 1286 3512 +3 3591 1589 1576 +3 3555 955 1023 +3 3521 954 3569 +3 3627 1677 1617 +3 3604 1570 3571 +3 1036 3571 3592 +3 1561 1322 3514 +3 3542 1348 1625 +3 3572 1624 1592 +3 3557 968 1025 +3 2297 2618 2681 +3 3607 1573 3575 +3 1039 3575 3595 +3 1566 1272 3517 +3 1565 1583 3564 +3 3558 971 1027 +3 3577 1594 1582 +3 3547 1358 1626 +3 3584 1586 1575 +3 2496 3539 954 +3 3586 1590 1579 +3 2689 3542 969 +3 2718 3547 972 +3 3529 1275 1567 +3 2441 1249 2346 +3 1557 88 3560 +3 1561 65 3562 +3 1028 3566 1612 +3 3518 1022 3567 +3 1030 3570 1620 +3 3522 1024 3571 +3 3528 1026 3575 +3 3574 949 3529 +3 3512 84 88 +3 3584 3622 863 +3 76 78 3561 +3 1588 1616 870 +3 3514 52 65 +3 3586 3630 865 +3 42 44 3563 +3 3543 3581 3509 +3 879 873 1627 +3 11 13 3564 +3 1596 868 874 +3 3517 18 28 +3 1285 2047 3518 +3 1283 2017 3506 +3 3591 1576 3555 +3 3507 1559 3538 +3 1321 2239 3522 +3 1319 2209 3508 +3 3593 1580 3557 +3 3587 1592 866 +3 1638 3638 1055 +3 1038 1595 3594 +3 1273 948 3528 +3 1275 2317 3511 +3 1613 1282 3536 +3 1029 954 3539 +3 1621 1318 3540 +3 1624 3572 1031 +3 1633 1276 3544 +3 1032 1054 1644 +3 1558 1296 3550 +3 3563 40 1563 +3 16 14 3516 +3 3567 1568 3518 +3 3571 1570 3522 +3 3575 1573 3528 +3 3560 88 86 +3 3609 1604 1587 +3 3602 3567 1034 +3 1634 1598 3621 +3 1725 1083 1064 +3 3585 1577 1588 +3 3626 864 1653 +3 3579 3538 858 +3 1731 1087 1068 +3 1636 1600 3629 +3 3604 3571 1036 +3 3613 1606 1591 +3 3562 65 63 +3 3587 1581 1592 +3 1623 3633 1637 +3 3581 3543 860 +3 3588 1582 1594 +3 1602 1638 1055 +3 3606 3583 1602 +3 3565 28 26 +3 3619 1609 1597 +3 3607 3575 1039 +3 1639 1603 3641 +3 1740 1093 1074 +3 3530 1568 3602 +3 3531 1295 2177 +3 3532 1570 3604 +3 2695 2687 2257 +3 2724 2716 1937 +3 3535 1573 3607 +3 3566 1586 1612 +3 3611 1049 1029 +3 3570 1590 1620 +3 1625 1682 3614 +3 3577 1564 3526 +3 3574 1596 1632 +3 3578 838 3530 +3 3566 1556 1575 +3 3580 841 3532 +3 3570 1560 1579 +3 3574 1567 1584 +3 3582 837 3535 +3 3608 1064 1670 +3 3578 3602 1598 +3 3590 1574 1587 +3 86 85 3596 +3 75 76 3597 +3 3612 1068 1678 +3 3580 3604 1600 +3 3592 1578 1591 +3 63 64 3598 +3 41 42 3599 +3 10 11 3600 +3 3618 1074 1690 +3 3582 3607 1603 +3 3595 1585 1597 +3 26 25 3601 +3 3506 3578 3537 +3 3610 3597 1589 +3 858 1599 3579 +3 3508 3580 3541 +3 3509 1562 3543 +3 3632 43 1649 +3 3511 3582 3545 +3 3616 3600 1595 +3 3510 1564 3546 +3 1022 952 3554 +3 3554 3549 1557 +3 1576 1558 3555 +3 74 73 3513 +3 1024 962 3556 +3 3556 3551 1561 +3 1580 1563 3557 +3 40 39 3515 +3 1026 3528 3559 +3 3559 3548 1566 +3 3594 1583 3558 +3 3564 13 16 +3 1586 863 869 +3 1034 1587 1604 +3 3596 85 87 +3 1589 1035 1605 +3 1590 865 871 +3 1036 1591 1606 +3 3598 64 66 +3 43 41 3615 +3 1595 1038 1608 +3 3589 3642 868 +3 1039 1597 1609 +3 3601 25 27 +3 2346 1249 2437 +3 2041 1302 2523 +3 67 68 2501 +3 2233 1328 2616 +3 35 36 2680 +3 1 2393 2709 +3 3621 1611 1634 +3 3629 1619 1636 +3 3641 1631 1639 +3 3609 87 92 +3 1610 90 1694 +3 1058 1652 1611 +3 1647 1041 1614 +3 3603 1599 1048 +3 3613 66 61 +3 1618 59 1696 +3 3629 1600 1050 +3 1649 1043 1622 +3 1601 1052 3647 +3 1055 3638 1698 +3 3648 1055 1698 +3 3619 27 32 +3 1630 30 1699 +3 1063 1657 1631 +3 857 3537 3578 +3 1598 857 3578 +3 869 1612 1586 +3 1066 1059 1660 +3 3568 1569 3603 +3 871 1620 1590 +3 1600 859 3580 +3 859 3541 3580 +3 1071 1061 1664 +3 3573 1571 3605 +3 1072 1062 1666 +3 3576 1572 3606 +3 862 3545 3582 +3 1603 862 3582 +3 874 1632 1596 +3 3590 1022 3554 +3 3568 1041 1035 +3 3610 1647 77 +3 3592 1024 3556 +3 3573 1043 1037 +3 3599 3615 41 +3 1044 1650 1608 +3 3616 1650 12 +3 3595 1026 3559 +3 875 1640 1612 +3 3538 1577 3585 +3 1660 1701 1066 +3 877 1642 1620 +3 1664 1703 1071 +3 3543 1581 3587 +3 3588 1594 867 +3 1666 1704 1072 +3 880 1645 1632 +3 1040 1610 3644 +3 1040 1604 1646 +3 1647 3610 1605 +3 1605 1035 1041 +3 1042 1618 3646 +3 1042 1606 1648 +3 3615 3599 1593 +3 1607 1043 1649 +3 1698 5 1629 +3 3639 1629 5 +3 1045 1630 3649 +3 1045 1609 1651 +3 1646 92 3620 +3 1658 863 1652 +3 3566 1575 1586 +3 1640 887 1671 +3 1613 3536 3608 +3 1641 1029 1049 +3 1701 870 876 +3 864 3626 3585 +3 1615 1653 1059 +3 80 79 3651 +3 1621 3540 3612 +3 1642 889 1679 +3 3570 1579 1590 +3 1662 865 1654 +3 1648 61 3628 +3 1643 1031 1053 +3 1031 1643 1624 +3 866 3634 3587 +3 1623 1655 1061 +3 3653 3633 1665 +3 1644 1627 3577 +3 1704 873 879 +3 867 3637 3588 +3 1628 1656 1062 +3 4 3 3654 +3 1651 32 3640 +3 1668 868 1657 +3 1033 3574 1632 +3 1645 892 1691 +3 1633 3544 3618 +3 1040 3602 1034 +3 1035 1023 3568 +3 3597 3561 1576 +3 1042 3604 1036 +3 1037 1025 3573 +3 3615 1649 43 +3 1038 1027 3576 +3 3600 3564 1583 +3 1045 3607 1039 +3 857 1598 1634 +3 1059 1066 1674 +3 859 1600 1636 +3 1061 1685 1665 +3 1062 1072 1686 +3 862 1603 1639 +3 1058 1658 1652 +3 1659 89 91 +3 1659 1046 1694 +3 3626 858 3585 +3 1653 864 1660 +3 1635 858 3626 +3 3651 79 81 +3 1060 1662 1654 +3 1654 865 3630 +3 1663 1050 1696 +3 3634 860 3587 +3 1655 866 1664 +3 3634 866 1655 +3 1665 45 46 +3 3637 861 3588 +3 1656 867 1666 +3 1638 861 3637 +3 3654 3 5 +3 1063 1668 1657 +3 1669 29 31 +3 1669 1056 1699 +3 3623 1282 1613 +3 3608 1028 1047 +3 1672 1076 1718 +3 1706 1076 1065 +3 3621 1598 1046 +3 1694 90 3650 +3 3611 3539 1617 +3 882 876 1641 +3 1676 1049 1067 +3 1588 1577 3569 +3 1675 882 1719 +3 3631 1318 1621 +3 3612 1030 1051 +3 1680 1078 1720 +3 1710 1078 1069 +3 1060 1654 1619 +3 3652 59 60 +3 1703 878 1684 +3 1592 1581 3572 +3 1721 1079 1684 +3 1775 902 1734 +3 3635 1348 2244 +3 3617 3547 1626 +3 885 879 1644 +3 1688 891 885 +3 873 867 1594 +3 1687 885 1722 +3 3643 1276 1633 +3 3618 1033 1057 +3 1692 1081 1723 +3 1716 1081 1075 +3 3641 1603 1056 +3 1699 30 3655 +3 24 23 1742 +3 1724 94 93 +3 3657 1751 1771 +3 1751 1085 1095 +3 53 54 1744 +3 1730 57 55 +3 3659 1755 1777 +3 1755 1089 1097 +3 3660 1756 1783 +3 1756 1090 1098 +3 19 20 1746 +3 1739 33 21 + diff --git a/Polygon_mesh_processing/test/Polygon_mesh_processing/data/decimation/m3.off b/Polygon_mesh_processing/test/Polygon_mesh_processing/data/decimation/m3.off new file mode 100644 index 00000000000..e4839e0a00b --- /dev/null +++ b/Polygon_mesh_processing/test/Polygon_mesh_processing/data/decimation/m3.off @@ -0,0 +1,3799 @@ +OFF +1303 2492 0 + +0 0 0 +1 0 0 +0 1 0 +1 1 0 +0 0 1 +1 0 1 +0 1 1 +1 1 1 +0.5 0.5 0 +0.5 0.5 1 +0.5 0 0.5 +1 0.5 0.5 +0 0.5 0.5 +1 0.5 0 +0.5 0 0 +0 0.5 0 +0.5 1 0 +0.5 0 1 +1 0.5 1 +0.5 1 1 +0 0.5 1 +1 1 0.5 +0 1 0.5 +0 0 0.5 +1 0 0.5 +0.25 0.25 0 +0.75 0.75 0 +0.75 0.25 0 +0.25 0.75 0 +0.75 0.75 1 +0.25 0.25 1 +0.75 0.25 1 +0.25 0.75 1 +0.25 0 0.25 +0.75 0 0.75 +0.25 0 0.75 +0.75 0 0.25 +1 0.75 0.25 +1 0.25 0.75 +1 0.25 0.25 +1 0.75 0.75 +0 0.25 0.75 +0 0.75 0.25 +0 0.25 0.25 +0 0.75 0.75 +1 0.75 0 +1 0.25 0 +0.75 0.5 0 +1 0.5 0.25 +0.75 0 0 +0.25 0 0 +0.5 0.25 0 +0.5 0 0.25 +0 0.25 0 +0 0.75 0 +0.25 0.5 0 +0 0.5 0.25 +0.25 1 0 +0.75 1 0 +0.5 0.75 0 +0.25 0 1 +0.75 0 1 +0.5 0.25 1 +0.5 0 0.75 +1 0.25 1 +1 0.75 1 +0.75 0.5 1 +1 0.5 0.75 +0.75 1 1 +0.25 1 1 +0.5 0.75 1 +0 0.75 1 +0 0.25 1 +0.25 0.5 1 +0 0.5 0.75 +1 1 0.75 +1 1 0.25 +1 0.75 0.5 +0 1 0.25 +0 1 0.75 +0 0.75 0.5 +0 0 0.75 +0 0 0.25 +0.25 0 0.5 +0 0.25 0.5 +1 0 0.25 +1 0 0.75 +0.75 0 0.5 +1 0.25 0.5 +0.125 0.125 0 +0.375 0.375 0 +0.36249999999999999 0.1125 0 +0.13750000000000001 0.38750000000000001 0 +0.625 0.625 0 +0.875 0.875 0 +0.86250000000000004 0.61250000000000004 0 +0.63749999999999996 0.88749999999999996 0 +0.625 0.375 0 +0.875 0.125 0 +0.61250000000000004 0.13750000000000001 0 +0.88749999999999996 0.36249999999999999 0 +0.375 0.625 0 +0.125 0.875 0 +0.38750000000000001 0.86250000000000004 0 +0.1125 0.63749999999999996 0 +0.875 0.875 1 +0.625 0.625 1 +0.88749999999999996 0.63749999999999996 1 +0.61250000000000004 0.86250000000000004 1 +0.375 0.375 1 +0.125 0.125 1 +0.38750000000000001 0.13750000000000001 1 +0.1125 0.36249999999999999 1 +0.625 0.375 1 +0.875 0.125 1 +0.86250000000000004 0.38750000000000001 1 +0.63749999999999996 0.1125 1 +0.375 0.625 1 +0.125 0.875 1 +0.13750000000000001 0.61250000000000004 1 +0.36249999999999999 0.88749999999999996 1 +0.125 0 0.125 +0.375 0 0.375 +0.1125 0 0.36249999999999999 +0.38750000000000001 0 0.13750000000000001 +0.625 0 0.625 +0.875 0 0.875 +0.61250000000000004 0 0.86250000000000004 +0.88749999999999996 0 0.63749999999999996 +0.375 0 0.625 +0.125 0 0.875 +0.13750000000000001 0 0.61250000000000004 +0.36249999999999999 0 0.88749999999999996 +0.625 0 0.375 +0.875 0 0.125 +0.86250000000000004 0 0.38750000000000001 +0.63749999999999996 0 0.1125 +1 0.875 0.125 +1 0.625 0.375 +1 0.63749999999999996 0.1125 +1 0.86250000000000004 0.38750000000000001 +1 0.375 0.625 +1 0.125 0.875 +1 0.13750000000000001 0.61250000000000004 +1 0.36249999999999999 0.88749999999999996 +1 0.375 0.375 +1 0.125 0.125 +1 0.38750000000000001 0.13750000000000001 +1 0.1125 0.36249999999999999 +1 0.625 0.625 +1 0.875 0.875 +1 0.61250000000000004 0.86250000000000004 +1 0.88749999999999996 0.63749999999999996 +0 0.125 0.875 +0 0.375 0.625 +0 0.1125 0.63749999999999996 +0 0.38750000000000001 0.86250000000000004 +0 0.625 0.375 +0 0.875 0.125 +0 0.61250000000000004 0.13750000000000001 +0 0.88749999999999996 0.36249999999999999 +0 0.375 0.375 +0 0.125 0.125 +0 0.13750000000000001 0.38750000000000001 +0 0.36249999999999999 0.1125 +0 0.625 0.625 +0 0.875 0.875 +0 0.86250000000000004 0.61250000000000004 +0 0.63749999999999996 0.88749999999999996 +1 0.875 0 +1 0.625 0 +0.8839285714285714 0.7410714285714286 0 +1 0.75 0.10416666666666667 +1 0.375 0 +1 0.125 0 +0.89583333333333337 0.25 0 +1 0.25892857142857145 0.11607142857142858 +0.8839285714285714 0.49107142857142855 0 +0.625 0.5 0 +0.75 0.60416666666666663 0 +0.7589285714285714 0.38392857142857145 0 +1 0.5089285714285714 0.11607142857142858 +1 0.5 0.35416666666666669 +1 0.39583333333333331 0.25 +1 0.6160714285714286 0.24107142857142858 +0.875 0 0 +0.625 0 0 +0.7410714285714286 0.11607142857142858 0 +0.75 0 0.10416666666666667 +0.375 0 0 +0.125 0 0 +0.25 0.10416666666666667 0 +0.25892857142857145 0 0.11607142857142858 +0.49107142857142855 0.11607142857142858 0 +0.5 0.35416666666666669 0 +0.60416666666666663 0.25 0 +0.38392857142857145 0.24107142857142858 0 +0.5089285714285714 0 0.11607142857142858 +0.5 0 0.375 +0.39583333333333331 0 0.25 +0.6160714285714286 0 0.24107142857142858 +0 0.125 0 +0 0.375 0 +0.11607142857142858 0.25892857142857145 0 +0 0.25 0.10416666666666667 +0 0.625 0 +0 0.875 0 +0.10416666666666667 0.75 0 +0 0.7410714285714286 0.11607142857142858 +0.11607142857142858 0.5089285714285714 0 +0.375 0.5 0 +0.25 0.39583333333333331 0 +0.24107142857142858 0.6160714285714286 0 +0 0.49107142857142855 0.11607142857142858 +0 0.5 0.375 +0 0.60416666666666663 0.25 +0 0.38392857142857145 0.24107142857142858 +0.125 1 0 +0.375 1 0 +0.25892857142857145 0.8839285714285714 0 +0.625 1 0 +0.875 1 0 +0.75 0.89583333333333337 0 +0.5089285714285714 0.8839285714285714 0 +0.5 0.64583333333333337 0 +0.39583333333333331 0.75 0 +0.6160714285714286 0.7589285714285714 0 +0.125 0 1 +0.375 0 1 +0.25892857142857145 0.11607142857142858 1 +0.25 0 0.89583333333333337 +0.625 0 1 +0.875 0 1 +0.75 0.10416666666666667 1 +0.7410714285714286 0 0.8839285714285714 +0.5089285714285714 0.11607142857142858 1 +0.5 0.375 1 +0.39583333333333331 0.25 1 +0.6160714285714286 0.24107142857142858 1 +0.49107142857142855 0 0.8839285714285714 +0.5 0 0.625 +0.60416666666666663 0 0.75 +0.38392857142857145 0 0.7589285714285714 +1 0.125 1 +1 0.375 1 +0.8839285714285714 0.25892857142857145 1 +1 0.25 0.89583333333333337 +1 0.625 1 +1 0.875 1 +0.89583333333333337 0.75 1 +1 0.7410714285714286 0.8839285714285714 +0.8839285714285714 0.5089285714285714 1 +0.64583333333333337 0.5 1 +0.75 0.39583333333333331 1 +0.7589285714285714 0.6160714285714286 1 +1 0.49107142857142855 0.8839285714285714 +1 0.5 0.64583333333333337 +1 0.60416666666666663 0.75 +1 0.38392857142857145 0.7589285714285714 +0.875 1 1 +0.625 1 1 +0.7410714285714286 0.8839285714285714 1 +0.375 1 1 +0.125 1 1 +0.25 0.89583333333333337 1 +0.49107142857142855 0.8839285714285714 1 +0.5 0.625 1 +0.60416666666666663 0.75 1 +0.38392857142857145 0.7589285714285714 1 +0 0.875 1 +0 0.625 1 +0.11607142857142858 0.7410714285714286 1 +0 0.75 0.89583333333333337 +0 0.375 1 +0 0.125 1 +0.10416666666666667 0.25 1 +0 0.25892857142857145 0.8839285714285714 +0.11607142857142858 0.49107142857142855 1 +0.35416666666666669 0.5 1 +0.25 0.60416666666666663 1 +0.24107142857142858 0.38392857142857145 1 +0 0.5089285714285714 0.8839285714285714 +0 0.5 0.625 +0 0.39583333333333331 0.75 +0 0.6160714285714286 0.7589285714285714 +1 1 0.875 +1 1 0.625 +1 0.89583333333333337 0.75 +1 1 0.375 +1 1 0.125 +1 0.8839285714285714 0.25892857142857145 +1 0.8839285714285714 0.5089285714285714 +1 0.625 0.5 +1 0.75 0.39583333333333331 +1 0.7589285714285714 0.6160714285714286 +0 1 0.125 +0 1 0.375 +0 0.89583333333333337 0.25 +0 1 0.625 +0 1 0.875 +0 0.8839285714285714 0.7410714285714286 +0 0.8839285714285714 0.49107142857142855 +0 0.64583333333333337 0.5 +0 0.75 0.60416666666666663 +0 0.7589285714285714 0.38392857142857145 +0 0 0.875 +0 0 0.625 +0.11607142857142858 0 0.7410714285714286 +0 0.10416666666666667 0.75 +0 0 0.375 +0 0 0.125 +0.10416666666666667 0 0.25 +0 0.11607142857142858 0.25892857142857145 +0.11607142857142858 0 0.49107142857142855 +0.35416666666666669 0 0.5 +0.25 0 0.60416666666666663 +0.24107142857142858 0 0.38392857142857145 +0 0.11607142857142858 0.5089285714285714 +0 0.35416666666666669 0.5 +0 0.25 0.39583333333333331 +0 0.24107142857142858 0.6160714285714286 +1 0 0.125 +1 0 0.375 +0.8839285714285714 0 0.25892857142857145 +1 0.10416666666666667 0.25 +1 0 0.625 +1 0 0.875 +0.89583333333333337 0 0.75 +1 0.11607142857142858 0.7410714285714286 +0.8839285714285714 0 0.5089285714285714 +0.64583333333333337 0 0.5 +0.75 0 0.39583333333333331 +0.7589285714285714 0 0.6160714285714286 +1 0.11607142857142858 0.49107142857142855 +1 0.375 0.5 +1 0.25 0.60416666666666663 +1 0.24107142857142858 0.38392857142857145 +0.050000000000000003 0.050000000000000003 0 +0.1875 0.1875 0 +0.17857142857142858 0.071428571428571425 0 +0.071428571428571425 0.17857142857142858 0 +0.3125 0.3125 0 +0.4375 0.4375 0 +0.42857142857142855 0.32142857142857145 0 +0.32142857142857145 0.42857142857142855 0 +0.3125 0.20833333333333334 0 +0.4375 0.0625 0 +0.3125 0.083333333333333329 0 +0.4375 0.1875 0 +0.1875 0.29166666666666669 0 +0.0625 0.4375 0 +0.1875 0.41666666666666669 0 +0.0625 0.3125 0 +0.5625 0.5625 0 +0.6875 0.6875 0 +0.6785714285714286 0.5714285714285714 0 +0.5714285714285714 0.6785714285714286 0 +0.8125 0.8125 0 +0.94999999999999996 0.94999999999999996 0 +0.9285714285714286 0.8214285714285714 0 +0.8214285714285714 0.9285714285714286 0 +0.8125 0.70833333333333337 0 +0.9375 0.5625 0 +0.8125 0.58333333333333337 0 +0.9375 0.6875 0 +0.6875 0.79166666666666663 0 +0.5625 0.9375 0 +0.6875 0.91666666666666663 0 +0.5625 0.8125 0 +0.5625 0.45833333333333331 0 +0.6875 0.3125 0 +0.5714285714285714 0.32142857142857145 0 +0.6875 0.41666666666666669 0 +0.8125 0.1875 0 +0.8214285714285714 0.071428571428571425 0 +0.70833333333333337 0.1875 0 +0.5625 0.0625 0 +0.58333333333333337 0.1875 0 +0.6875 0.0625 0 +0.79166666666666663 0.3125 0 +0.9375 0.4375 0 +0.91666666666666663 0.3125 0 +0.8125 0.4375 0 +0.4375 0.54166666666666663 0 +0.3125 0.6875 0 +0.42857142857142855 0.6785714285714286 0 +0.3125 0.58333333333333337 0 +0.1875 0.8125 0 +0.050000000000000003 0.94999999999999996 0 +0.17857142857142858 0.9285714285714286 0 +0.071428571428571425 0.8214285714285714 0 +0.29166666666666669 0.8125 0 +0.4375 0.9375 0 +0.41666666666666669 0.8125 0 +0.3125 0.9375 0 +0.20833333333333334 0.6875 0 +0.0625 0.5625 0 +0.083333333333333329 0.6875 0 +0.1875 0.5625 0 +0.94999999999999996 0.94999999999999996 1 +0.8125 0.8125 1 +0.9285714285714286 0.8214285714285714 1 +0.8214285714285714 0.9285714285714286 1 +0.6875 0.6875 1 +0.5625 0.5625 1 +0.6785714285714286 0.5714285714285714 1 +0.5714285714285714 0.6785714285714286 1 +0.79166666666666663 0.6875 1 +0.9375 0.5625 1 +0.91666666666666663 0.6875 1 +0.8125 0.5625 1 +0.70833333333333337 0.8125 1 +0.5625 0.9375 1 +0.58333333333333337 0.8125 1 +0.6875 0.9375 1 +0.4375 0.4375 1 +0.3125 0.3125 1 +0.42857142857142855 0.32142857142857145 1 +0.32142857142857145 0.42857142857142855 1 +0.1875 0.1875 1 +0.17857142857142858 0.071428571428571425 1 +0.071428571428571425 0.17857142857142858 1 +0.29166666666666669 0.1875 1 +0.4375 0.0625 1 +0.41666666666666669 0.1875 1 +0.3125 0.0625 1 +0.20833333333333334 0.3125 1 +0.0625 0.4375 1 +0.083333333333333329 0.3125 1 +0.1875 0.4375 1 +0.54166666666666663 0.4375 1 +0.6875 0.3125 1 +0.6785714285714286 0.42857142857142855 1 +0.58333333333333337 0.3125 1 +0.8125 0.1875 1 +0.94999999999999996 0.050000000000000003 1 +0.9285714285714286 0.17857142857142858 1 +0.8214285714285714 0.071428571428571425 1 +0.8125 0.29166666666666669 1 +0.9375 0.4375 1 +0.8125 0.41666666666666669 1 +0.9375 0.3125 1 +0.6875 0.20833333333333334 1 +0.5625 0.0625 1 +0.6875 0.083333333333333329 1 +0.5625 0.1875 1 +0.45833333333333331 0.5625 1 +0.3125 0.6875 1 +0.32142857142857145 0.5714285714285714 1 +0.41666666666666669 0.6875 1 +0.1875 0.8125 1 +0.050000000000000003 0.94999999999999996 1 +0.071428571428571425 0.8214285714285714 1 +0.17857142857142858 0.9285714285714286 1 +0.1875 0.70833333333333337 1 +0.0625 0.5625 1 +0.1875 0.58333333333333337 1 +0.0625 0.6875 1 +0.3125 0.79166666666666663 1 +0.4375 0.9375 1 +0.3125 0.91666666666666663 1 +0.4375 0.8125 1 +0.050000000000000003 0 0.050000000000000003 +0.1875 0 0.1875 +0.071428571428571425 0 0.17857142857142858 +0.17857142857142858 0 0.071428571428571425 +0.3125 0 0.3125 +0.4375 0 0.4375 +0.32142857142857145 0 0.42857142857142855 +0.42857142857142855 0 0.32142857142857145 +0.20833333333333334 0 0.3125 +0.0625 0 0.4375 +0.083333333333333329 0 0.3125 +0.1875 0 0.4375 +0.29166666666666669 0 0.1875 +0.4375 0 0.0625 +0.41666666666666669 0 0.1875 +0.3125 0 0.0625 +0.5625 0 0.5625 +0.6875 0 0.6875 +0.5714285714285714 0 0.6785714285714286 +0.6785714285714286 0 0.5714285714285714 +0.8125 0 0.8125 +0.94999999999999996 0 0.94999999999999996 +0.8214285714285714 0 0.9285714285714286 +0.9285714285714286 0 0.8214285714285714 +0.70833333333333337 0 0.8125 +0.5625 0 0.9375 +0.58333333333333337 0 0.8125 +0.6875 0 0.9375 +0.79166666666666663 0 0.6875 +0.9375 0 0.5625 +0.91666666666666663 0 0.6875 +0.8125 0 0.5625 +0.45833333333333331 0 0.5625 +0.3125 0 0.6875 +0.32142857142857145 0 0.5714285714285714 +0.41666666666666669 0 0.6875 +0.1875 0 0.8125 +0.050000000000000003 0 0.94999999999999996 +0.071428571428571425 0 0.8214285714285714 +0.17857142857142858 0 0.9285714285714286 +0.1875 0 0.70833333333333337 +0.0625 0 0.5625 +0.1875 0 0.58333333333333337 +0.0625 0 0.6875 +0.3125 0 0.79166666666666663 +0.4375 0 0.9375 +0.3125 0 0.91666666666666663 +0.4375 0 0.8125 +0.54166666666666663 0 0.4375 +0.6875 0 0.3125 +0.6785714285714286 0 0.42857142857142855 +0.58333333333333337 0 0.3125 +0.8125 0 0.1875 +0.9285714285714286 0 0.17857142857142858 +0.8214285714285714 0 0.071428571428571425 +0.8125 0 0.29166666666666669 +0.9375 0 0.4375 +0.8125 0 0.41666666666666669 +0.9375 0 0.3125 +0.6875 0 0.20833333333333334 +0.5625 0 0.0625 +0.6875 0 0.083333333333333329 +0.5625 0 0.1875 +1 0.94999999999999996 0.050000000000000003 +1 0.8125 0.1875 +1 0.8214285714285714 0.071428571428571425 +1 0.9285714285714286 0.17857142857142858 +1 0.6875 0.3125 +1 0.5625 0.4375 +1 0.5714285714285714 0.32142857142857145 +1 0.6785714285714286 0.42857142857142855 +1 0.6875 0.20833333333333334 +1 0.5625 0.0625 +1 0.6875 0.083333333333333329 +1 0.5625 0.1875 +1 0.8125 0.29166666666666669 +1 0.9375 0.4375 +1 0.8125 0.41666666666666669 +1 0.9375 0.3125 +1 0.4375 0.5625 +1 0.3125 0.6875 +1 0.32142857142857145 0.5714285714285714 +1 0.42857142857142855 0.6785714285714286 +1 0.1875 0.8125 +1 0.050000000000000003 0.94999999999999996 +1 0.071428571428571425 0.8214285714285714 +1 0.17857142857142858 0.9285714285714286 +1 0.1875 0.70833333333333337 +1 0.0625 0.5625 +1 0.1875 0.58333333333333337 +1 0.0625 0.6875 +1 0.3125 0.79166666666666663 +1 0.4375 0.9375 +1 0.3125 0.91666666666666663 +1 0.4375 0.8125 +1 0.4375 0.45833333333333331 +1 0.3125 0.3125 +1 0.42857142857142855 0.32142857142857145 +1 0.3125 0.41666666666666669 +1 0.1875 0.1875 +1 0.050000000000000003 0.050000000000000003 +1 0.17857142857142858 0.071428571428571425 +1 0.071428571428571425 0.17857142857142858 +1 0.29166666666666669 0.1875 +1 0.4375 0.0625 +1 0.41666666666666669 0.1875 +1 0.3125 0.0625 +1 0.20833333333333334 0.3125 +1 0.0625 0.4375 +1 0.083333333333333329 0.3125 +1 0.1875 0.4375 +1 0.5625 0.54166666666666663 +1 0.6875 0.6875 +1 0.5714285714285714 0.6785714285714286 +1 0.6875 0.58333333333333337 +1 0.8125 0.8125 +1 0.94999999999999996 0.94999999999999996 +1 0.8214285714285714 0.9285714285714286 +1 0.9285714285714286 0.8214285714285714 +1 0.70833333333333337 0.8125 +1 0.5625 0.9375 +1 0.58333333333333337 0.8125 +1 0.6875 0.9375 +1 0.79166666666666663 0.6875 +1 0.9375 0.5625 +1 0.91666666666666663 0.6875 +1 0.8125 0.5625 +0 0.050000000000000003 0.94999999999999996 +0 0.1875 0.8125 +0 0.071428571428571425 0.8214285714285714 +0 0.17857142857142858 0.9285714285714286 +0 0.3125 0.6875 +0 0.4375 0.5625 +0 0.32142857142857145 0.5714285714285714 +0 0.42857142857142855 0.6785714285714286 +0 0.20833333333333334 0.6875 +0 0.0625 0.5625 +0 0.083333333333333329 0.6875 +0 0.1875 0.5625 +0 0.29166666666666669 0.8125 +0 0.4375 0.9375 +0 0.41666666666666669 0.8125 +0 0.3125 0.9375 +0 0.5625 0.4375 +0 0.6875 0.3125 +0 0.5714285714285714 0.32142857142857145 +0 0.6785714285714286 0.42857142857142855 +0 0.8125 0.1875 +0 0.94999999999999996 0.050000000000000003 +0 0.8214285714285714 0.071428571428571425 +0 0.9285714285714286 0.17857142857142858 +0 0.70833333333333337 0.1875 +0 0.5625 0.0625 +0 0.58333333333333337 0.1875 +0 0.6875 0.0625 +0 0.79166666666666663 0.3125 +0 0.9375 0.4375 +0 0.91666666666666663 0.3125 +0 0.8125 0.4375 +0 0.45833333333333331 0.4375 +0 0.3125 0.3125 +0 0.32142857142857145 0.42857142857142855 +0 0.41666666666666669 0.3125 +0 0.1875 0.1875 +0 0.050000000000000003 0.050000000000000003 +0 0.071428571428571425 0.17857142857142858 +0 0.17857142857142858 0.071428571428571425 +0 0.1875 0.29166666666666669 +0 0.0625 0.4375 +0 0.1875 0.41666666666666669 +0 0.0625 0.3125 +0 0.3125 0.20833333333333334 +0 0.4375 0.0625 +0 0.3125 0.083333333333333329 +0 0.4375 0.1875 +0 0.54166666666666663 0.5625 +0 0.6875 0.6875 +0 0.6785714285714286 0.5714285714285714 +0 0.58333333333333337 0.6875 +0 0.8125 0.8125 +0 0.94999999999999996 0.94999999999999996 +0 0.9285714285714286 0.8214285714285714 +0 0.8214285714285714 0.9285714285714286 +0 0.8125 0.70833333333333337 +0 0.9375 0.5625 +0 0.8125 0.58333333333333337 +0 0.9375 0.6875 +0 0.6875 0.79166666666666663 +0 0.5625 0.9375 +0 0.6875 0.91666666666666663 +0 0.5625 0.8125 +1 0.9375 0 +1 0.8125 0 +0.9375 0.89583333333333337 0 +1 0.89583333333333337 0.0625 +1 0.6875 0 +1 0.5625 0 +0.91666666666666663 0.625 0 +1 0.625 0.0625 +0.95833333333333337 0.75 0 +0.8125 0.77083333333333337 0 +0.85416666666666663 0.8125 0 +0.875 0.66666666666666663 0 +1 0.75 0.041666666666666671 +1 0.7589285714285714 0.17857142857142858 +1 0.6875 0.14583333333333334 +1 0.8125 0.14583333333333334 +1 0.4375 0 +1 0.3125 0 +0.9375 0.375 0 +1 0.375 0.083333333333333329 +1 0.1875 0 +1 0.0625 0 +1 0.10416666666666667 0.0625 +0.95833333333333337 0.25 0 +0.8214285714285714 0.24107142857142858 0 +0.85416666666666663 0.3125 0 +0.85416666666666663 0.1875 0 +1 0.25 0.041666666666666671 +1 0.22916666666666666 0.1875 +1 0.1875 0.14583333333333334 +1 0.33333333333333331 0.125 +0.95833333333333337 0.5 0 +0.8035714285714286 0.5089285714285714 0 +0.875 0.5625 0 +0.875 0.41666666666666669 0 +0.6964285714285714 0.49107142857142855 0 +0.5625 0.52083333333333337 0 +0.60416666666666663 0.5625 0 +0.625 0.4375 0 +0.75 0.54166666666666663 0 +0.7410714285714286 0.6785714285714286 0 +0.8125 0.64583333333333337 0 +0.6875 0.64583333333333337 0 +0.75 0.45833333333333331 0 +0.72916666666666663 0.3125 0 +0.6875 0.35416666666666669 0 +0.83333333333333337 0.375 0 +1 0.5 0.041666666666666671 +1 0.49107142857142855 0.19642857142857142 +1 0.4375 0.125 +1 0.58333333333333337 0.125 +1 0.5 0.29166666666666669 +1 0.5089285714285714 0.42857142857142855 +1 0.4375 0.39583333333333331 +1 0.5625 0.39583333333333331 +1 0.45833333333333331 0.25 +1 0.32142857142857145 0.25892857142857145 +1 0.35416666666666669 0.1875 +1 0.35416666666666669 0.3125 +1 0.54166666666666663 0.25 +1 0.6875 0.27083333333333331 +1 0.64583333333333337 0.3125 +1 0.625 0.16666666666666666 +0.8125 0 0 +0.89583333333333337 0.0625 0 +0.6875 0 0 +0.5625 0 0 +0.625 0.083333333333333329 0 +0.625 0 0.0625 +0.75 0.041666666666666671 0 +0.77083333333333337 0.1875 0 +0.8125 0.14583333333333334 0 +0.66666666666666663 0.125 0 +0.75 0 0.041666666666666671 +0.7589285714285714 0 0.17857142857142858 +0.6875 0 0.14583333333333334 +0.8125 0 0.14583333333333334 +0.4375 0 0 +0.3125 0 0 +0.375 0.0625 0 +0.375 0 0.083333333333333329 +0.1875 0 0 +0.0625 0 0 +0.10416666666666667 0.0625 0 +0.10416666666666667 0 0.0625 +0.25 0.041666666666666671 0 +0.24107142857142858 0.17857142857142858 0 +0.3125 0.14583333333333334 0 +0.1875 0.14583333333333334 0 +0.25 0 0.041666666666666671 +0.22916666666666666 0 0.1875 +0.1875 0 0.14583333333333334 +0.33333333333333331 0 0.125 +0.5 0.041666666666666671 0 +0.5089285714285714 0.19642857142857142 0 +0.5625 0.125 0 +0.41666666666666669 0.125 0 +0.5 0.29166666666666669 0 +0.49107142857142855 0.42857142857142855 0 +0.5625 0.39583333333333331 0 +0.4375 0.39583333333333331 0 +0.54166666666666663 0.25 0 +0.6785714285714286 0.25892857142857145 0 +0.64583333333333337 0.1875 0 +0.64583333333333337 0.3125 0 +0.45833333333333331 0.25 0 +0.3125 0.27083333333333331 0 +0.35416666666666669 0.3125 0 +0.375 0.16666666666666666 0 +0.5 0 0.041666666666666671 +0.49107142857142855 0 0.19642857142857142 +0.4375 0 0.125 +0.58333333333333337 0 0.125 +0.5089285714285714 0 0.30357142857142855 +0.47916666666666669 0 0.4375 +0.4375 0 0.39583333333333331 +0.5625 0 0.375 +0.45833333333333331 0 0.25 +0.32142857142857145 0 0.25892857142857145 +0.35416666666666669 0 0.1875 +0.35416666666666669 0 0.3125 +0.54166666666666663 0 0.25 +0.6875 0 0.27083333333333331 +0.64583333333333337 0 0.3125 +0.625 0 0.16666666666666666 +0 0.0625 0 +0 0.1875 0 +0.0625 0.10416666666666667 0 +0 0.10416666666666667 0.0625 +0 0.3125 0 +0 0.4375 0 +0.083333333333333329 0.375 0 +0 0.375 0.0625 +0.041666666666666671 0.25 0 +0.1875 0.22916666666666666 0 +0.14583333333333334 0.1875 0 +0.125 0.33333333333333331 0 +0 0.25 0.041666666666666671 +0 0.24107142857142858 0.17857142857142858 +0 0.3125 0.14583333333333334 +0 0.1875 0.14583333333333334 +0 0.5625 0 +0 0.6875 0 +0.0625 0.625 0 +0 0.625 0.083333333333333329 +0 0.8125 0 +0 0.9375 0 +0.0625 0.89583333333333337 0 +0 0.89583333333333337 0.0625 +0.041666666666666671 0.75 0 +0.17857142857142858 0.7589285714285714 0 +0.14583333333333334 0.6875 0 +0.14583333333333334 0.8125 0 +0 0.75 0.041666666666666671 +0 0.77083333333333337 0.1875 +0 0.8125 0.14583333333333334 +0 0.66666666666666663 0.125 +0.041666666666666671 0.5 0 +0.19642857142857142 0.49107142857142855 0 +0.125 0.4375 0 +0.125 0.58333333333333337 0 +0.30357142857142855 0.5089285714285714 0 +0.4375 0.47916666666666669 0 +0.39583333333333331 0.4375 0 +0.375 0.5625 0 +0.25 0.45833333333333331 0 +0.25892857142857145 0.32142857142857145 0 +0.1875 0.35416666666666669 0 +0.3125 0.35416666666666669 0 +0.25 0.54166666666666663 0 +0.27083333333333331 0.6875 0 +0.3125 0.64583333333333337 0 +0.16666666666666666 0.625 0 +0 0.5 0.041666666666666671 +0 0.5089285714285714 0.19642857142857142 +0 0.5625 0.125 +0 0.41666666666666669 0.125 +0 0.49107142857142855 0.30357142857142855 +0 0.52083333333333337 0.4375 +0 0.5625 0.39583333333333331 +0 0.4375 0.375 +0 0.54166666666666663 0.25 +0 0.6785714285714286 0.25892857142857145 +0 0.64583333333333337 0.1875 +0 0.64583333333333337 0.3125 +0 0.45833333333333331 0.25 +0 0.3125 0.27083333333333331 +0 0.35416666666666669 0.3125 +0 0.375 0.16666666666666666 +0.0625 1 0 +0.1875 1 0 +0.10416666666666667 0.9375 0 +0.3125 1 0 +0.4375 1 0 +0.375 0.91666666666666663 0 +0.25 0.95833333333333337 0 +0.22916666666666666 0.8125 0 +0.1875 0.85416666666666663 0 +0.33333333333333331 0.875 0 +0.5625 1 0 +0.6875 1 0 +0.625 0.9375 0 +0.8125 1 0 +0.9375 1 0 +0.89583333333333337 0.9375 0 +0.75 0.95833333333333337 0 +0.7589285714285714 0.8214285714285714 0 +0.6875 0.85416666666666663 0 +0.8125 0.85416666666666663 0 +0.5 0.95833333333333337 0 +0.49107142857142855 0.8035714285714286 0 +0.4375 0.875 0 +0.58333333333333337 0.875 0 +0.5 0.70833333333333337 0 +0.5089285714285714 0.5714285714285714 0 +0.4375 0.60416666666666663 0 +0.5625 0.60416666666666663 0 +0.45833333333333331 0.75 0 +0.32142857142857145 0.7410714285714286 0 +0.35416666666666669 0.8125 0 +0.35416666666666669 0.6875 0 +0.54166666666666663 0.75 0 +0.6875 0.72916666666666663 0 +0.64583333333333337 0.6875 0 +0.625 0.83333333333333337 0 +0.0625 0 1 +0.1875 0 1 +0.10416666666666667 0 0.9375 +0.3125 0 1 +0.4375 0 1 +0.375 0.083333333333333329 1 +0.375 0 0.9375 +0.25 0.041666666666666671 1 +0.22916666666666666 0.1875 1 +0.1875 0.14583333333333334 1 +0.33333333333333331 0.125 1 +0.25 0 0.95833333333333337 +0.24107142857142858 0 0.8214285714285714 +0.3125 0 0.85416666666666663 +0.1875 0 0.85416666666666663 +0.5625 0 1 +0.6875 0 1 +0.625 0.0625 1 +0.625 0 0.91666666666666663 +0.8125 0 1 +0.9375 0 1 +0.89583333333333337 0.0625 1 +0.89583333333333337 0 0.9375 +0.75 0.041666666666666671 1 +0.7589285714285714 0.17857142857142858 1 +0.6875 0.14583333333333334 1 +0.8125 0.14583333333333334 1 +0.75 0 0.95833333333333337 +0.77083333333333337 0 0.8125 +0.8125 0 0.85416666666666663 +0.66666666666666663 0 0.875 +0.5 0.041666666666666671 1 +0.49107142857142855 0.19642857142857142 1 +0.4375 0.125 1 +0.58333333333333337 0.125 1 +0.5089285714285714 0.30357142857142855 1 +0.47916666666666669 0.4375 1 +0.4375 0.39583333333333331 1 +0.5625 0.375 1 +0.45833333333333331 0.25 1 +0.32142857142857145 0.25892857142857145 1 +0.35416666666666669 0.1875 1 +0.35416666666666669 0.3125 1 +0.54166666666666663 0.25 1 +0.6875 0.27083333333333331 1 +0.64583333333333337 0.3125 1 +0.625 0.16666666666666666 1 +0.5 0 0.95833333333333337 +0.5089285714285714 0 0.8035714285714286 +0.5625 0 0.875 +0.41666666666666669 0 0.875 +0.49107142857142855 0 0.6964285714285714 +0.52083333333333337 0 0.5625 +0.5625 0 0.60416666666666663 +0.4375 0 0.625 +0.54166666666666663 0 0.75 +0.6785714285714286 0 0.7410714285714286 +0.64583333333333337 0 0.8125 +0.64583333333333337 0 0.6875 +0.45833333333333331 0 0.75 +0.3125 0 0.72916666666666663 +0.35416666666666669 0 0.6875 +0.375 0 0.83333333333333337 +1 0.0625 1 +1 0.1875 1 +0.9375 0.10416666666666667 1 +1 0.10416666666666667 0.9375 +1 0.3125 1 +1 0.4375 1 +0.91666666666666663 0.375 1 +1 0.375 0.9375 +0.95833333333333337 0.25 1 +0.8125 0.22916666666666666 1 +0.85416666666666663 0.1875 1 +0.875 0.33333333333333331 1 +1 0.25 0.95833333333333337 +1 0.24107142857142858 0.8214285714285714 +1 0.3125 0.85416666666666663 +1 0.1875 0.85416666666666663 +1 0.5625 1 +1 0.6875 1 +0.9375 0.625 1 +1 0.625 0.91666666666666663 +1 0.8125 1 +1 0.9375 1 +0.9375 0.89583333333333337 1 +1 0.89583333333333337 0.9375 +0.95833333333333337 0.75 1 +0.8214285714285714 0.7589285714285714 1 +0.85416666666666663 0.6875 1 +0.85416666666666663 0.8125 1 +1 0.75 0.95833333333333337 +1 0.77083333333333337 0.8125 +1 0.8125 0.85416666666666663 +1 0.66666666666666663 0.875 +0.95833333333333337 0.5 1 +0.8035714285714286 0.49107142857142855 1 +0.875 0.4375 1 +0.875 0.58333333333333337 1 +0.70833333333333337 0.5 1 +0.5714285714285714 0.5089285714285714 1 +0.60416666666666663 0.4375 1 +0.60416666666666663 0.5625 1 +0.75 0.45833333333333331 1 +0.7410714285714286 0.32142857142857145 1 +0.8125 0.35416666666666669 1 +0.6875 0.35416666666666669 1 +0.75 0.54166666666666663 1 +0.72916666666666663 0.6875 1 +0.6875 0.64583333333333337 1 +0.83333333333333337 0.625 1 +1 0.5 0.95833333333333337 +1 0.5089285714285714 0.8035714285714286 +1 0.5625 0.875 +1 0.41666666666666669 0.875 +1 0.5 0.70833333333333337 +1 0.49107142857142855 0.5714285714285714 +1 0.5625 0.60416666666666663 +1 0.4375 0.60416666666666663 +1 0.54166666666666663 0.75 +1 0.6785714285714286 0.7410714285714286 +1 0.64583333333333337 0.8125 +1 0.64583333333333337 0.6875 +1 0.45833333333333331 0.75 +1 0.3125 0.72916666666666663 +1 0.35416666666666669 0.6875 +1 0.375 0.83333333333333337 +0.9375 1 1 +0.8125 1 1 +0.89583333333333337 0.9375 1 +0.6875 1 1 +0.5625 1 1 +0.625 0.91666666666666663 1 +0.75 0.95833333333333337 1 +0.77083333333333337 0.8125 1 +0.8125 0.85416666666666663 1 +0.66666666666666663 0.875 1 +0.4375 1 1 +0.3125 1 1 +0.375 0.9375 1 +0.1875 1 1 +0.0625 1 1 +0.10416666666666667 0.9375 1 +0.25 0.95833333333333337 1 +0.24107142857142858 0.8214285714285714 1 +0.3125 0.85416666666666663 1 +0.1875 0.85416666666666663 1 +0.5 0.95833333333333337 1 +0.5089285714285714 0.8035714285714286 1 +0.5625 0.875 1 +0.41666666666666669 0.875 1 +0.49107142857142855 0.6964285714285714 1 +0.52083333333333337 0.5625 1 +0.5625 0.60416666666666663 1 +0.4375 0.625 1 +0.54166666666666663 0.75 1 +0.6785714285714286 0.7410714285714286 1 +0.64583333333333337 0.8125 1 +0.64583333333333337 0.6875 1 +0.45833333333333331 0.75 1 +0.3125 0.72916666666666663 1 +0.35416666666666669 0.6875 1 +0.375 0.83333333333333337 1 +0 0.9375 1 +0 0.8125 1 +0.0625 0.89583333333333337 1 +0 0.89583333333333337 0.9375 +0 0.6875 1 +0 0.5625 1 +0.083333333333333329 0.625 1 +0 0.625 0.9375 +0.041666666666666671 0.75 1 +0.1875 0.77083333333333337 1 +0.14583333333333334 0.8125 1 +0.125 0.66666666666666663 1 +0 0.75 0.95833333333333337 +0 0.7589285714285714 0.8214285714285714 +0 0.6875 0.85416666666666663 +0 0.8125 0.85416666666666663 +0 0.4375 1 +0 0.3125 1 +0.0625 0.375 1 +0 0.375 0.91666666666666663 +0 0.1875 1 +0 0.0625 1 +0 0.10416666666666667 0.9375 +0.041666666666666671 0.25 1 +0.17857142857142858 0.24107142857142858 1 +0.14583333333333334 0.3125 1 +0.14583333333333334 0.1875 1 +0 0.25 0.95833333333333337 +0 0.22916666666666666 0.8125 +0 0.1875 0.85416666666666663 +0 0.33333333333333331 0.875 +0.041666666666666671 0.5 1 +0.19642857142857142 0.5089285714285714 1 +0.125 0.5625 1 +0.125 0.41666666666666669 1 +0.29166666666666669 0.5 1 +0.42857142857142855 0.49107142857142855 1 +0.39583333333333331 0.5625 1 +0.39583333333333331 0.4375 1 +0.25 0.54166666666666663 1 +0.25892857142857145 0.6785714285714286 1 +0.1875 0.64583333333333337 1 +0.3125 0.64583333333333337 1 +0.25 0.45833333333333331 1 +0.27083333333333331 0.3125 1 +0.3125 0.35416666666666669 1 +0.16666666666666666 0.375 1 +0 0.5 0.95833333333333337 +0 0.49107142857142855 0.8035714285714286 +0 0.4375 0.875 +0 0.58333333333333337 0.875 +0 0.5089285714285714 0.6964285714285714 +0 0.47916666666666669 0.5625 +0 0.4375 0.60416666666666663 +0 0.5625 0.625 +0 0.45833333333333331 0.75 +0 0.32142857142857145 0.7410714285714286 +0 0.35416666666666669 0.8125 +0 0.35416666666666669 0.6875 +0 0.54166666666666663 0.75 +0 0.6875 0.72916666666666663 +0 0.64583333333333337 0.6875 +0 0.625 0.83333333333333337 +1 1 0.9375 +1 1 0.8125 +1 0.9375 0.89583333333333337 +1 1 0.6875 +1 1 0.5625 +1 0.9375 0.625 +1 0.95833333333333337 0.75 +1 0.8214285714285714 0.7589285714285714 +1 0.85416666666666663 0.6875 +1 0.85416666666666663 0.8125 +1 1 0.4375 +1 1 0.3125 +1 0.91666666666666663 0.375 +1 1 0.1875 +1 1 0.0625 +1 0.9375 0.10416666666666667 +1 0.95833333333333337 0.25 +1 0.8125 0.22916666666666666 +1 0.85416666666666663 0.1875 +1 0.875 0.33333333333333331 +1 0.95833333333333337 0.5 +1 0.8035714285714286 0.49107142857142855 +1 0.875 0.4375 +1 0.875 0.58333333333333337 +1 0.6964285714285714 0.5089285714285714 +1 0.5625 0.47916666666666669 +1 0.60416666666666663 0.4375 +1 0.625 0.5625 +1 0.75 0.45833333333333331 +1 0.7410714285714286 0.32142857142857145 +1 0.8125 0.35416666666666669 +1 0.6875 0.35416666666666669 +1 0.75 0.54166666666666663 +1 0.72916666666666663 0.6875 +1 0.6875 0.64583333333333337 +1 0.83333333333333337 0.625 +0 1 0.0625 +0 1 0.1875 +0 0.9375 0.10416666666666667 +0 1 0.3125 +0 1 0.4375 +0 0.9375 0.375 +0 0.95833333333333337 0.25 +0 0.8214285714285714 0.24107142857142858 +0 0.85416666666666663 0.3125 +0 0.85416666666666663 0.1875 +0 1 0.5625 +0 1 0.6875 +0 0.91666666666666663 0.625 +0 1 0.8125 +0 1 0.9375 +0 0.9375 0.89583333333333337 +0 0.95833333333333337 0.75 +0 0.8125 0.77083333333333337 +0 0.85416666666666663 0.8125 +0 0.875 0.66666666666666663 +0 0.95833333333333337 0.5 +0 0.8035714285714286 0.5089285714285714 +0 0.875 0.5625 +0 0.875 0.41666666666666669 +0 0.70833333333333337 0.5 +0 0.5714285714285714 0.49107142857142855 +0 0.60416666666666663 0.5625 +0 0.60416666666666663 0.4375 +0 0.75 0.54166666666666663 +0 0.7410714285714286 0.6785714285714286 +0 0.8125 0.64583333333333337 +0 0.6875 0.64583333333333337 +0 0.75 0.45833333333333331 +0 0.72916666666666663 0.3125 +0 0.6875 0.35416666666666669 +0 0.83333333333333337 0.375 +0 0 0.9375 +0 0 0.8125 +0.0625 0 0.89583333333333337 +0 0.0625 0.89583333333333337 +0 0 0.6875 +0 0 0.5625 +0.083333333333333329 0 0.625 +0 0.0625 0.625 +0.041666666666666671 0 0.75 +0.1875 0 0.77083333333333337 +0.14583333333333334 0 0.8125 +0.125 0 0.66666666666666663 +0 0.041666666666666671 0.75 +0 0.17857142857142858 0.7589285714285714 +0 0.14583333333333334 0.6875 +0 0.14583333333333334 0.8125 +0 0 0.4375 +0 0 0.3125 +0.0625 0 0.375 +0 0.083333333333333329 0.375 +0 0 0.1875 +0 0 0.0625 +0.0625 0 0.10416666666666667 +0 0.0625 0.10416666666666667 +0.041666666666666671 0 0.25 +0.17857142857142858 0 0.24107142857142858 +0.14583333333333334 0 0.3125 +0.14583333333333334 0 0.1875 +0 0.041666666666666671 0.25 +0 0.1875 0.22916666666666666 +0 0.14583333333333334 0.1875 +0 0.125 0.33333333333333331 +0.041666666666666671 0 0.5 +0.19642857142857142 0 0.5089285714285714 +0.125 0 0.5625 +0.125 0 0.41666666666666669 +0.29166666666666669 0 0.5 +0.42857142857142855 0 0.49107142857142855 +0.39583333333333331 0 0.5625 +0.39583333333333331 0 0.4375 +0.25 0 0.54166666666666663 +0.25892857142857145 0 0.6785714285714286 +0.1875 0 0.64583333333333337 +0.3125 0 0.64583333333333337 +0.25 0 0.45833333333333331 +0.27083333333333331 0 0.3125 +0.3125 0 0.35416666666666669 +0.16666666666666666 0 0.375 +0 0.041666666666666671 0.5 +0 0.19642857142857142 0.49107142857142855 +0 0.125 0.4375 +0 0.125 0.58333333333333337 +0 0.29166666666666669 0.5 +0 0.42857142857142855 0.5089285714285714 +0 0.39583333333333331 0.4375 +0 0.39583333333333331 0.5625 +0 0.25 0.45833333333333331 +0 0.25892857142857145 0.32142857142857145 +0 0.1875 0.35416666666666669 +0 0.3125 0.35416666666666669 +0 0.25 0.54166666666666663 +0 0.27083333333333331 0.6875 +0 0.3125 0.64583333333333337 +0 0.16666666666666666 0.625 +1 0 0.0625 +1 0 0.1875 +1 0.0625 0.10416666666666667 +1 0 0.3125 +1 0 0.4375 +0.91666666666666663 0 0.375 +1 0.0625 0.375 +0.95833333333333337 0 0.25 +0.8125 0 0.22916666666666666 +0.85416666666666663 0 0.1875 +0.875 0 0.33333333333333331 +1 0.041666666666666671 0.25 +1 0.17857142857142858 0.24107142857142858 +1 0.14583333333333334 0.3125 +1 0.14583333333333334 0.1875 +1 0 0.5625 +1 0 0.6875 +0.9375 0 0.625 +1 0.083333333333333329 0.625 +1 0 0.8125 +1 0 0.9375 +0.9375 0 0.89583333333333337 +1 0.0625 0.89583333333333337 +0.95833333333333337 0 0.75 +0.8214285714285714 0 0.7589285714285714 +0.85416666666666663 0 0.6875 +0.85416666666666663 0 0.8125 +1 0.041666666666666671 0.75 +1 0.1875 0.77083333333333337 +1 0.14583333333333334 0.8125 +1 0.125 0.66666666666666663 +0.95833333333333337 0 0.5 +0.8035714285714286 0 0.49107142857142855 +0.875 0 0.4375 +0.875 0 0.58333333333333337 +0.70833333333333337 0 0.5 +0.5714285714285714 0 0.5089285714285714 +0.60416666666666663 0 0.4375 +0.60416666666666663 0 0.5625 +0.75 0 0.45833333333333331 +0.7410714285714286 0 0.32142857142857145 +0.8125 0 0.35416666666666669 +0.6875 0 0.35416666666666669 +0.75 0 0.54166666666666663 +0.72916666666666663 0 0.6875 +0.6875 0 0.64583333333333337 +0.83333333333333337 0 0.625 +1 0.041666666666666671 0.5 +1 0.19642857142857142 0.5089285714285714 +1 0.125 0.5625 +1 0.125 0.41666666666666669 +1 0.30357142857142855 0.49107142857142855 +1 0.4375 0.52083333333333337 +1 0.39583333333333331 0.5625 +1 0.375 0.4375 +1 0.25 0.54166666666666663 +1 0.25892857142857145 0.6785714285714286 +1 0.1875 0.64583333333333337 +1 0.3125 0.64583333333333337 +1 0.25 0.45833333333333331 +1 0.27083333333333331 0.3125 +1 0.3125 0.35416666666666669 +1 0.16666666666666666 0.375 +3 377 747 754 +3 393 863 870 +3 440 974 981 +3 456 1073 1080 +3 504 1209 1216 +3 519 1272 1279 +3 567 701 708 +3 583 990 997 +3 631 1225 1232 +3 647 1161 1168 +3 363 685 692 +3 351 811 818 +3 424 910 917 +3 413 1026 1033 +3 488 926 933 +3 476 763 770 +3 551 1288 1295 +3 539 1125 1132 +3 615 827 834 +3 603 1089 1096 +3 381 670 676 +3 535 657 665 +3 347 731 738 +3 523 718 726 +3 397 795 802 +3 635 782 790 +3 367 853 858 +3 444 894 901 +3 508 881 889 +3 409 958 965 +3 555 945 953 +3 460 1016 1021 +3 428 1058 1064 +3 651 1045 1053 +3 587 1107 1110 +3 619 1143 1146 +3 472 1193 1200 +3 599 1180 1188 +3 492 1256 1263 +3 571 1243 1251 +3 343 750 758 +3 340 779 786 +3 359 654 661 +3 356 866 874 +3 374 716 722 +3 372 688 696 +3 389 843 848 +3 386 814 822 +3 405 977 985 +3 402 1006 1011 +3 418 1076 1084 +3 433 913 921 +3 452 1042 1049 +3 449 1029 1037 +3 468 1212 1220 +3 465 734 742 +3 484 897 905 +3 481 1275 1283 +3 500 1177 1184 +3 497 929 937 +3 515 1241 1247 +3 513 766 774 +3 531 704 712 +3 528 1117 1120 +3 547 1259 1267 +3 544 993 1001 +3 563 673 680 +3 560 1291 1299 +3 579 961 969 +3 576 1128 1136 +3 595 1228 1236 +3 592 1061 1068 +3 611 798 806 +3 608 1164 1172 +3 627 1196 1204 +3 624 830 838 +3 643 1153 1156 +3 640 1092 1100 +3 364 171 661 +3 527 172 665 +3 568 176 680 +3 355 179 692 +3 686 659 362 +3 559 183 708 +3 702 672 566 +3 378 187 722 +3 516 188 726 +3 339 191 738 +3 477 192 742 +3 371 195 754 +3 748 720 376 +3 469 199 770 +3 764 733 475 +3 352 203 786 +3 628 204 790 +3 390 207 802 +3 616 208 806 +3 344 211 818 +3 812 784 350 +3 607 215 834 +3 828 797 614 +3 394 219 848 +3 360 222 858 +3 385 225 870 +3 864 847 392 +3 425 229 885 +3 501 230 889 +3 437 233 901 +3 489 234 905 +3 417 237 917 +3 911 883 423 +3 480 241 933 +3 927 896 487 +3 441 245 949 +3 548 246 953 +3 401 249 965 +3 584 250 969 +3 432 253 981 +3 975 947 439 +3 575 257 997 +3 991 960 582 +3 414 261 1011 +3 453 264 1021 +3 406 267 1033 +3 1027 1010 412 +3 457 271 1049 +3 644 272 1053 +3 421 275 1064 +3 604 276 1068 +3 448 279 1080 +3 1074 1047 455 +3 596 283 1096 +3 1090 1060 602 +3 580 287 1110 +3 540 290 1120 +3 532 293 1132 +3 1126 1116 538 +3 612 297 1146 +3 648 300 1156 +3 639 303 1168 +3 1162 1152 646 +3 505 307 1184 +3 591 308 1188 +3 464 311 1200 +3 632 312 1204 +3 496 315 1216 +3 1210 1182 503 +3 623 319 1232 +3 1226 1195 630 +3 520 323 1247 +3 564 324 1251 +3 485 327 1263 +3 552 328 1267 +3 512 331 1279 +3 1273 1245 518 +3 543 335 1295 +3 1289 1258 550 +3 740 91 347 +3 340 89 780 +3 752 97 371 +3 820 92 351 +3 346 193 746 +3 760 90 343 +3 350 783 810 +3 788 89 340 +3 694 95 363 +3 868 101 385 +3 359 94 655 +3 860 96 367 +3 362 658 684 +3 663 94 359 +3 366 223 862 +3 876 93 356 +3 756 99 377 +3 690 93 355 +3 374 98 717 +3 678 100 381 +3 376 719 746 +3 724 98 374 +3 380 177 684 +3 698 97 372 +3 872 103 393 +3 816 90 344 +3 389 102 844 +3 804 104 397 +3 392 846 862 +3 850 102 389 +3 396 209 810 +3 824 101 386 +3 967 107 409 +3 402 105 1007 +3 979 113 432 +3 1035 108 413 +3 987 106 405 +3 412 1009 1025 +3 1013 105 402 +3 919 111 424 +3 1078 117 448 +3 1066 112 428 +3 423 882 909 +3 887 110 420 +3 427 277 1072 +3 1086 109 418 +3 983 115 440 +3 915 109 417 +3 436 114 943 +3 903 116 444 +3 951 114 436 +3 443 235 909 +3 923 113 433 +3 1082 119 456 +3 1031 106 406 +3 452 118 1043 +3 1023 120 460 +3 455 1046 1072 +3 1051 118 452 +3 459 265 1025 +3 1039 117 449 +3 1202 123 472 +3 465 121 737 +3 1214 129 496 +3 772 124 476 +3 471 313 1208 +3 1222 122 468 +3 475 730 762 +3 744 121 465 +3 935 127 488 +3 1277 133 512 +3 484 126 900 +3 1265 128 492 +3 487 893 925 +3 907 126 484 +3 491 329 1271 +3 1285 125 481 +3 1218 131 504 +3 931 125 480 +3 500 130 1178 +3 891 132 508 +3 503 1181 1208 +3 1186 130 500 +3 507 239 925 +3 939 129 497 +3 1281 135 519 +3 768 122 469 +3 728 136 523 +3 518 1244 1271 +3 1249 134 515 +3 522 197 762 +3 776 133 513 +3 667 139 535 +3 528 137 1119 +3 706 145 559 +3 1134 140 539 +3 534 181 700 +3 714 138 531 +3 538 1114 1124 +3 1122 137 528 +3 1297 143 551 +3 995 149 575 +3 547 142 1262 +3 955 144 555 +3 550 1255 1287 +3 1269 142 547 +3 554 255 989 +3 1003 141 544 +3 710 147 567 +3 1293 141 543 +3 563 146 675 +3 1253 148 571 +3 566 669 700 +3 682 146 563 +3 570 333 1287 +3 1301 145 560 +3 999 151 583 +3 1130 138 532 +3 579 150 964 +3 1112 152 587 +3 582 957 989 +3 971 150 579 +3 586 291 1124 +3 1138 149 576 +3 1190 155 599 +3 592 153 1063 +3 1230 161 623 +3 1098 156 603 +3 598 317 1224 +3 1238 154 595 +3 602 1057 1088 +3 1070 153 592 +3 836 159 615 +3 1166 165 639 +3 611 158 801 +3 1148 160 619 +3 614 794 826 +3 808 158 611 +3 618 301 1160 +3 1174 157 608 +3 1234 163 631 +3 832 157 607 +3 627 162 1199 +3 792 164 635 +3 630 1192 1224 +3 1206 162 627 +3 634 213 826 +3 840 161 624 +3 1170 167 647 +3 1094 154 596 +3 643 166 1155 +3 1055 168 651 +3 646 1150 1160 +3 1158 166 643 +3 650 281 1088 +3 1102 165 640 +3 655 653 169 +3 656 137 527 +3 664 171 364 +3 703 181 534 +3 361 26 662 +3 171 662 663 +3 527 137 668 +3 172 666 667 +3 687 177 380 +3 683 176 568 +3 675 674 174 +3 175 677 678 +3 565 39 681 +3 176 681 682 +3 382 180 696 +3 177 685 686 +3 369 8 689 +3 178 689 690 +3 355 93 695 +3 179 693 694 +3 379 27 697 +3 180 697 698 +3 536 184 712 +3 181 701 702 +3 531 138 707 +3 182 705 706 +3 559 145 711 +3 183 709 710 +3 533 37 713 +3 184 713 714 +3 725 187 378 +3 765 197 522 +3 375 27 723 +3 187 723 724 +3 516 134 729 +3 188 727 728 +3 749 193 346 +3 745 192 477 +3 736 89 339 +3 737 735 190 +3 339 89 741 +3 191 739 740 +3 474 33 743 +3 192 743 744 +3 348 196 758 +3 193 747 748 +3 343 90 753 +3 194 751 752 +3 371 97 757 +3 195 755 756 +3 345 25 759 +3 196 759 760 +3 524 200 774 +3 197 763 764 +3 510 10 767 +3 198 767 768 +3 469 122 773 +3 199 771 772 +3 521 36 775 +3 200 775 776 +3 780 778 201 +3 781 162 628 +3 789 203 352 +3 829 213 634 +3 349 25 787 +3 203 787 788 +3 628 162 793 +3 204 791 792 +3 813 209 396 +3 809 208 616 +3 800 102 390 +3 801 799 206 +3 390 102 805 +3 207 803 804 +3 613 42 807 +3 208 807 808 +3 398 212 822 +3 209 811 812 +3 383 8 815 +3 210 815 816 +3 344 90 821 +3 211 819 820 +3 395 28 823 +3 212 823 824 +3 636 216 838 +3 213 827 828 +3 621 12 831 +3 214 831 832 +3 607 157 837 +3 215 835 836 +3 633 43 839 +3 216 839 840 +3 844 842 217 +3 851 219 394 +3 391 28 849 +3 219 849 850 +3 865 223 366 +3 857 94 360 +3 360 94 861 +3 222 859 860 +3 368 226 874 +3 223 863 864 +3 356 93 869 +3 224 867 868 +3 385 101 873 +3 225 871 872 +3 365 26 875 +3 226 875 876 +3 880 130 501 +3 888 229 425 +3 928 239 507 +3 422 30 886 +3 229 886 887 +3 501 130 892 +3 230 890 891 +3 912 235 443 +3 908 234 489 +3 900 898 232 +3 233 902 903 +3 486 34 906 +3 234 906 907 +3 445 238 921 +3 235 910 911 +3 430 9 914 +3 236 914 915 +3 417 109 920 +3 237 918 919 +3 442 31 922 +3 238 922 923 +3 509 242 937 +3 239 926 927 +3 494 10 930 +3 240 930 931 +3 480 125 936 +3 241 934 935 +3 506 35 938 +3 242 938 939 +3 944 142 548 +3 952 245 441 +3 992 255 554 +3 438 31 950 +3 548 142 956 +3 246 954 955 +3 976 251 408 +3 972 250 584 +3 963 105 401 +3 964 962 248 +3 401 105 968 +3 249 966 967 +3 581 40 970 +3 250 970 971 +3 410 254 985 +3 251 974 975 +3 405 106 980 +3 252 978 979 +3 432 113 984 +3 253 982 983 +3 407 29 986 +3 254 986 987 +3 556 258 1001 +3 255 990 991 +3 544 141 996 +3 256 994 995 +3 575 149 1000 +3 257 998 999 +3 553 38 1002 +3 258 1002 1003 +3 1007 1005 259 +3 1014 261 414 +3 411 29 1012 +3 261 1012 1013 +3 1028 265 459 +3 1020 118 453 +3 453 118 1024 +3 264 1022 1023 +3 461 268 1037 +3 265 1026 1027 +3 446 9 1030 +3 266 1030 1031 +3 406 106 1036 +3 267 1034 1035 +3 458 32 1038 +3 268 1038 1039 +3 1043 1041 269 +3 1044 166 644 +3 1052 271 457 +3 1091 281 650 +3 454 32 1050 +3 271 1050 1051 +3 644 166 1056 +3 272 1054 1055 +3 1075 277 427 +3 1071 276 604 +3 1063 1062 274 +3 421 110 1067 +3 275 1065 1066 +3 601 41 1069 +3 276 1069 1070 +3 429 280 1084 +3 277 1073 1074 +3 418 109 1079 +3 278 1077 1078 +3 448 117 1083 +3 279 1081 1082 +3 426 30 1085 +3 280 1085 1086 +3 652 284 1100 +3 281 1089 1090 +3 637 12 1093 +3 282 1093 1094 +3 596 154 1099 +3 283 1097 1098 +3 649 44 1101 +3 284 1101 1102 +3 1106 150 580 +3 1127 291 586 +3 580 150 1113 +3 287 1111 1112 +3 1123 290 540 +3 1119 1118 289 +3 537 37 1121 +3 290 1121 1122 +3 588 294 1136 +3 291 1125 1126 +3 573 11 1129 +3 292 1129 1130 +3 532 138 1135 +3 293 1133 1134 +3 585 40 1137 +3 294 1137 1138 +3 1142 158 612 +3 1163 301 618 +3 612 158 1149 +3 297 1147 1148 +3 1159 300 648 +3 1155 1154 299 +3 645 44 1157 +3 300 1157 1158 +3 620 304 1172 +3 301 1161 1162 +3 608 157 1167 +3 302 1165 1166 +3 639 165 1171 +3 303 1169 1170 +3 617 42 1173 +3 304 1173 1174 +3 1178 1176 305 +3 1179 153 591 +3 1187 307 505 +3 1227 317 598 +3 502 35 1185 +3 307 1185 1186 +3 591 153 1191 +3 308 1189 1190 +3 1211 313 471 +3 1207 312 632 +3 1198 121 464 +3 1199 1197 310 +3 464 121 1203 +3 311 1201 1202 +3 629 43 1205 +3 312 1205 1206 +3 473 316 1220 +3 313 1209 1210 +3 468 122 1215 +3 314 1213 1214 +3 496 129 1219 +3 315 1217 1218 +3 470 33 1221 +3 316 1221 1222 +3 600 320 1236 +3 317 1225 1226 +3 595 154 1231 +3 318 1229 1230 +3 623 161 1235 +3 319 1233 1234 +3 597 41 1237 +3 320 1237 1238 +3 1242 146 564 +3 1250 323 520 +3 1290 333 570 +3 517 36 1248 +3 323 1248 1249 +3 564 146 1254 +3 324 1252 1253 +3 1274 329 491 +3 1270 328 552 +3 1261 126 485 +3 1262 1260 326 +3 485 126 1266 +3 327 1264 1265 +3 549 38 1268 +3 328 1268 1269 +3 493 332 1283 +3 329 1272 1273 +3 481 125 1278 +3 330 1276 1277 +3 512 133 1282 +3 331 1280 1281 +3 490 34 1284 +3 332 1284 1285 +3 572 336 1299 +3 333 1288 1289 +3 557 11 1292 +3 334 1292 1293 +3 543 141 1298 +3 335 1296 1297 +3 569 39 1300 +3 336 1300 1301 +3 741 191 339 +3 780 736 337 +3 759 196 345 +3 780 201 340 +3 738 50 734 +3 338 739 741 +3 779 53 786 +3 89 736 780 +3 753 194 343 +3 787 203 349 +3 689 178 369 +3 821 211 344 +3 754 747 51 +3 342 751 753 +3 55 811 822 +3 90 760 821 +3 732 731 347 +3 341 819 821 +3 746 14 730 +3 348 193 749 +3 731 50 738 +3 346 189 732 +3 377 99 748 +3 91 740 761 +3 784 92 789 +3 25 739 787 +3 783 15 810 +3 352 202 784 +3 55 814 818 +3 784 202 350 +3 786 53 782 +3 812 811 351 +3 695 179 355 +3 815 210 383 +3 662 171 361 +3 869 224 356 +3 47 685 696 +3 354 693 695 +3 870 863 59 +3 93 690 869 +3 655 169 359 +3 875 226 365 +3 857 856 358 +3 861 222 360 +3 654 45 661 +3 358 653 655 +3 858 58 855 +3 94 663 861 +3 659 95 664 +3 357 859 861 +3 658 13 684 +3 364 170 659 +3 47 688 692 +3 659 170 362 +3 661 45 657 +3 686 685 363 +3 854 853 367 +3 26 693 875 +3 862 16 852 +3 368 223 865 +3 853 58 858 +3 366 220 854 +3 393 103 864 +3 96 860 877 +3 372 180 698 +3 353 867 869 +3 379 180 699 +3 691 688 372 +3 51 747 758 +3 698 697 370 +3 692 685 47 +3 757 195 371 +3 697 180 379 +3 716 49 722 +3 676 46 673 +3 717 185 374 +3 720 99 725 +3 724 723 373 +3 719 14 746 +3 378 186 720 +3 51 750 754 +3 720 186 376 +3 722 49 718 +3 748 747 377 +3 671 670 381 +3 723 187 375 +3 684 13 669 +3 382 177 687 +3 670 46 676 +3 380 173 671 +3 363 95 686 +3 100 678 699 +3 386 212 824 +3 8 751 815 +3 395 212 825 +3 817 814 386 +3 59 863 874 +3 824 823 384 +3 818 811 55 +3 873 225 385 +3 390 206 800 +3 823 212 395 +3 844 800 388 +3 805 207 390 +3 843 57 848 +3 800 799 388 +3 802 54 798 +3 844 217 389 +3 847 103 851 +3 850 849 387 +3 846 16 862 +3 394 218 847 +3 59 866 870 +3 847 218 392 +3 848 57 845 +3 864 863 393 +3 796 795 397 +3 849 219 391 +3 810 15 794 +3 398 209 813 +3 795 54 802 +3 396 205 796 +3 351 92 812 +3 104 804 825 +3 968 249 401 +3 1007 963 399 +3 986 254 407 +3 1007 259 402 +3 965 65 961 +3 400 966 968 +3 1006 68 1011 +3 105 963 1007 +3 980 252 405 +3 1012 261 411 +3 914 236 430 +3 1036 267 406 +3 981 974 66 +3 404 978 980 +3 70 1026 1037 +3 106 987 1036 +3 959 958 409 +3 403 1034 1036 +3 973 18 957 +3 410 251 976 +3 958 65 965 +3 408 247 959 +3 440 115 975 +3 107 967 988 +3 1010 108 1014 +3 29 966 1012 +3 1009 19 1025 +3 414 260 1010 +3 70 1029 1033 +3 1010 260 412 +3 1011 68 1008 +3 1027 1026 413 +3 920 237 417 +3 1030 266 446 +3 886 229 422 +3 1079 278 418 +3 62 910 921 +3 416 918 920 +3 1080 1073 73 +3 109 915 1079 +3 1085 280 426 +3 1067 275 421 +3 110 887 1067 +3 883 111 888 +3 419 1065 1067 +3 882 17 909 +3 425 228 883 +3 62 913 917 +3 883 228 423 +3 911 910 424 +3 1059 1058 428 +3 30 918 1085 +3 1072 20 1057 +3 429 277 1075 +3 1058 72 1064 +3 427 273 1059 +3 456 119 1074 +3 112 1066 1087 +3 433 238 923 +3 415 1077 1079 +3 442 238 924 +3 916 913 433 +3 66 974 985 +3 923 922 431 +3 917 910 62 +3 984 253 432 +3 437 232 899 +3 922 238 442 +3 899 898 435 +3 901 61 897 +3 943 243 436 +3 947 115 952 +3 441 244 947 +3 66 977 981 +3 947 244 439 +3 949 64 945 +3 975 974 440 +3 895 894 444 +3 950 245 438 +3 909 17 893 +3 445 235 912 +3 894 61 901 +3 443 231 895 +3 424 111 911 +3 116 903 924 +3 449 268 1039 +3 9 978 1030 +3 458 268 1040 +3 1032 1029 449 +3 73 1073 1084 +3 1039 1038 447 +3 1033 1026 70 +3 1083 279 448 +3 453 263 1020 +3 1038 268 458 +3 1043 1020 451 +3 1024 264 453 +3 1042 71 1049 +3 1020 1019 451 +3 1021 69 1018 +3 1043 269 452 +3 1047 119 1052 +3 1051 1050 450 +3 1046 20 1072 +3 457 270 1047 +3 73 1076 1080 +3 1047 270 455 +3 1049 71 1045 +3 1074 1073 456 +3 1017 1016 460 +3 1050 271 454 +3 1025 19 1015 +3 461 265 1028 +3 1016 69 1021 +3 459 262 1017 +3 413 108 1027 +3 120 1023 1040 +3 465 192 744 +3 1198 1197 462 +3 474 745 772 +3 737 190 465 +3 1200 82 1196 +3 744 743 463 +3 734 50 742 +3 1203 311 464 +3 469 198 768 +3 743 192 474 +3 510 769 1277 +3 773 199 469 +3 1216 1209 83 +3 768 767 467 +3 52 763 774 +3 1215 314 468 +3 1194 1193 472 +3 1222 1221 466 +3 1208 23 1192 +3 473 313 1211 +3 1193 82 1200 +3 471 309 1194 +3 504 131 1210 +3 123 1202 1223 +3 733 124 745 +3 1221 316 470 +3 730 14 762 +3 477 189 733 +3 52 766 770 +3 733 189 475 +3 742 50 731 +3 764 763 476 +3 936 241 480 +3 767 198 510 +3 906 234 486 +3 1278 330 481 +3 63 926 937 +3 479 934 936 +3 1279 1272 87 +3 125 931 1278 +3 900 232 484 +3 1284 332 490 +3 1261 1260 483 +3 1266 327 485 +3 897 61 905 +3 483 898 900 +3 1263 86 1259 +3 126 907 1266 +3 896 127 908 +3 482 1264 1266 +3 893 17 925 +3 489 231 896 +3 63 929 933 +3 896 231 487 +3 905 61 894 +3 927 926 488 +3 1257 1256 492 +3 34 934 1284 +3 1271 24 1255 +3 493 329 1274 +3 1256 86 1263 +3 491 325 1257 +3 519 135 1273 +3 128 1265 1286 +3 497 242 939 +3 478 1276 1278 +3 506 242 940 +3 932 929 497 +3 83 1209 1220 +3 939 938 495 +3 933 926 63 +3 1219 315 496 +3 501 227 880 +3 938 242 506 +3 1178 880 499 +3 892 230 501 +3 1177 81 1184 +3 880 878 499 +3 889 60 879 +3 1178 305 500 +3 1182 131 1187 +3 1186 1185 498 +3 1181 23 1208 +3 505 306 1182 +3 83 1212 1216 +3 1182 306 503 +3 1184 81 1180 +3 1210 1209 504 +3 884 881 508 +3 1185 307 502 +3 925 17 882 +3 509 239 928 +3 881 60 889 +3 507 228 884 +3 488 127 927 +3 132 891 940 +3 513 200 776 +3 930 240 494 +3 521 200 777 +3 769 766 513 +3 87 1272 1283 +3 776 775 511 +3 770 763 52 +3 1282 331 512 +3 775 200 521 +3 729 188 516 +3 1241 85 1247 +3 726 49 716 +3 1245 135 1250 +3 1249 1248 514 +3 1244 24 1271 +3 520 322 1245 +3 87 1275 1279 +3 1245 322 518 +3 1247 85 1243 +3 1273 1272 519 +3 721 718 523 +3 1248 323 517 +3 762 14 719 +3 524 197 765 +3 718 49 726 +3 522 186 721 +3 476 124 764 +3 136 728 777 +3 668 172 527 +3 1119 656 525 +3 713 184 533 +3 1119 289 528 +3 665 45 654 +3 526 666 668 +3 1117 76 1120 +3 137 656 1119 +3 707 182 531 +3 1121 290 537 +3 1292 334 557 +3 1135 293 532 +3 708 701 48 +3 530 705 707 +3 77 1125 1136 +3 138 714 1135 +3 660 657 535 +3 529 1133 1135 +3 700 13 658 +3 536 181 703 +3 657 45 665 +3 534 170 660 +3 567 147 702 +3 139 667 715 +3 1116 140 1123 +3 37 666 1121 +3 1114 21 1124 +3 540 288 1116 +3 77 1128 1132 +3 1116 288 538 +3 1120 76 1115 +3 1126 1125 539 +3 544 258 1003 +3 1129 292 573 +3 553 258 1004 +3 996 256 544 +3 88 1288 1299 +3 1003 1002 542 +3 997 990 67 +3 1298 335 543 +3 548 243 944 +3 1002 258 553 +3 1262 944 546 +3 956 246 548 +3 1259 86 1267 +3 944 941 546 +3 953 64 942 +3 1262 326 547 +3 1258 143 1270 +3 1269 1268 545 +3 1255 24 1287 +3 552 325 1258 +3 88 1291 1295 +3 1258 325 550 +3 1267 86 1256 +3 1289 1288 551 +3 948 945 555 +3 1268 328 549 +3 989 18 946 +3 556 255 992 +3 945 64 953 +3 554 244 948 +3 583 151 991 +3 144 955 1004 +3 711 183 559 +3 1293 1292 541 +3 681 176 565 +3 1294 1291 560 +3 48 701 712 +3 558 709 711 +3 1295 1288 88 +3 145 706 1294 +3 675 174 563 +3 1300 336 569 +3 1242 1240 562 +3 1254 324 564 +3 673 46 680 +3 562 674 675 +3 1251 85 1241 +3 146 682 1254 +3 672 147 683 +3 561 1252 1254 +3 669 13 700 +3 568 173 672 +3 48 704 708 +3 672 173 566 +3 680 46 670 +3 702 701 567 +3 1246 1243 571 +3 39 709 1300 +3 1287 24 1244 +3 572 333 1290 +3 1243 85 1251 +3 570 322 1246 +3 551 143 1289 +3 148 1253 1302 +3 1000 257 575 +3 11 705 1129 +3 970 250 581 +3 1131 1128 576 +3 67 990 1001 +3 574 998 1000 +3 1132 1125 77 +3 149 995 1131 +3 964 248 579 +3 1137 294 585 +3 1106 1104 578 +3 1113 287 580 +3 961 65 969 +3 578 962 964 +3 1110 75 1105 +3 150 971 1113 +3 960 151 972 +3 577 1111 1113 +3 957 18 989 +3 584 247 960 +3 67 993 997 +3 960 247 582 +3 969 65 958 +3 991 990 583 +3 1109 1107 587 +3 40 998 1137 +3 1124 21 1108 +3 588 291 1127 +3 1107 75 1110 +3 586 286 1109 +3 539 140 1126 +3 152 1112 1139 +3 592 276 1070 +3 1179 1176 589 +3 601 1071 1098 +3 1063 274 592 +3 1188 81 1177 +3 1070 1069 590 +3 1061 72 1068 +3 1191 308 591 +3 596 282 1094 +3 1069 276 601 +3 637 1095 1166 +3 1099 283 596 +3 1232 1225 84 +3 1094 1093 594 +3 74 1089 1100 +3 1231 318 595 +3 1183 1180 599 +3 1238 1237 593 +3 1224 23 1181 +3 600 317 1227 +3 1180 81 1188 +3 598 306 1183 +3 631 163 1226 +3 155 1190 1239 +3 1060 156 1071 +3 1237 320 597 +3 1057 20 1088 +3 604 273 1060 +3 74 1092 1096 +3 1060 273 602 +3 1068 72 1058 +3 1090 1089 603 +3 837 215 607 +3 1093 282 637 +3 807 208 613 +3 1167 302 608 +3 56 827 838 +3 606 835 837 +3 1168 1161 80 +3 157 832 1167 +3 801 206 611 +3 1173 304 617 +3 1142 1140 610 +3 1149 297 612 +3 798 54 806 +3 610 799 801 +3 1146 78 1141 +3 158 808 1149 +3 797 159 809 +3 609 1147 1149 +3 794 15 826 +3 616 205 797 +3 56 830 834 +3 797 205 614 +3 806 54 795 +3 828 827 615 +3 1145 1143 619 +3 42 835 1173 +3 1160 22 1144 +3 620 301 1163 +3 1143 78 1146 +3 618 296 1145 +3 647 167 1162 +3 160 1148 1175 +3 624 216 840 +3 605 1165 1167 +3 633 216 841 +3 833 830 624 +3 84 1225 1236 +3 840 839 622 +3 834 827 56 +3 1235 319 623 +3 628 201 781 +3 839 216 633 +3 1199 781 626 +3 793 204 628 +3 1196 82 1204 +3 781 778 626 +3 790 53 779 +3 1199 310 627 +3 1195 163 1207 +3 1206 1205 625 +3 1192 23 1224 +3 632 309 1195 +3 84 1228 1232 +3 1195 309 630 +3 1204 82 1193 +3 1226 1225 631 +3 785 782 635 +3 1205 312 629 +3 826 15 783 +3 636 213 829 +3 782 53 790 +3 634 202 785 +3 615 159 828 +3 164 792 841 +3 640 284 1102 +3 831 214 621 +3 649 284 1103 +3 1095 1092 640 +3 80 1161 1172 +3 1102 1101 638 +3 1096 1089 74 +3 1171 303 639 +3 644 269 1044 +3 1101 284 649 +3 1155 1044 642 +3 1056 272 644 +3 1153 79 1156 +3 1044 1041 642 +3 1053 71 1042 +3 1155 299 643 +3 1152 167 1159 +3 1158 1157 641 +3 1150 22 1160 +3 648 298 1152 +3 80 1164 1168 +3 1152 298 646 +3 1156 79 1151 +3 1162 1161 647 +3 1048 1045 651 +3 1157 300 645 +3 1088 20 1046 +3 652 281 1091 +3 1045 71 1053 +3 650 270 1048 +3 603 156 1090 +3 168 1055 1103 +3 358 3 653 +3 525 1118 1119 +3 359 169 654 +3 169 653 656 +3 359 171 663 +3 661 171 359 +3 528 290 1122 +3 653 3 525 +3 362 177 686 +3 535 139 660 +3 362 170 658 +3 170 657 660 +3 686 95 659 +3 684 177 362 +3 535 172 667 +3 665 172 535 +3 694 693 361 +3 657 170 364 +3 361 664 694 +3 364 659 664 +3 360 221 857 +3 861 663 357 +3 361 171 664 +3 661 657 364 +3 668 666 172 +3 654 169 527 +3 537 1123 1134 +3 526 668 1122 +3 703 139 715 +3 666 37 533 +3 527 169 656 +3 665 654 527 +3 173 670 671 +3 566 173 669 +3 381 100 671 +3 566 181 702 +3 381 175 678 +3 676 175 381 +3 702 147 672 +3 700 181 566 +3 563 174 673 +3 562 1 674 +3 563 176 682 +3 680 176 563 +3 679 677 175 +3 723 27 677 +3 373 679 724 +3 687 100 699 +3 677 27 379 +3 373 677 679 +3 710 709 565 +3 670 173 568 +3 565 683 710 +3 568 672 683 +3 564 321 1242 +3 1254 682 561 +3 565 176 683 +3 680 670 568 +3 699 180 382 +3 669 173 380 +3 696 688 47 +3 380 671 687 +3 363 179 694 +3 692 179 363 +3 671 100 687 +3 684 669 380 +3 752 751 369 +3 372 97 691 +3 369 691 752 +3 178 688 691 +3 356 226 876 +3 869 690 353 +3 369 178 691 +3 696 180 372 +3 695 693 179 +3 688 178 355 +3 365 226 877 +3 354 695 876 +3 694 664 95 +3 693 26 361 +3 355 178 690 +3 692 688 355 +3 699 678 379 +3 685 177 382 +3 370 755 757 +3 382 687 699 +3 757 97 698 +3 757 698 370 +3 678 677 379 +3 696 685 382 +3 715 184 536 +3 658 170 534 +3 712 704 48 +3 534 660 703 +3 567 183 710 +3 708 183 567 +3 660 139 703 +3 700 658 534 +3 707 705 182 +3 531 182 704 +3 573 292 1131 +3 530 707 1130 +3 560 336 1301 +3 705 11 557 +3 531 184 714 +3 712 184 531 +3 711 709 183 +3 704 182 559 +3 569 336 1302 +3 558 711 1301 +3 710 683 147 +3 709 39 565 +3 559 182 706 +3 708 704 559 +3 715 667 533 +3 701 181 536 +3 533 184 715 +3 536 703 715 +3 532 292 1130 +3 1135 714 529 +3 667 666 533 +3 712 701 536 +3 374 185 716 +3 374 187 724 +3 722 187 374 +3 376 193 748 +3 523 136 721 +3 376 186 719 +3 186 718 721 +3 748 99 720 +3 746 193 376 +3 523 188 728 +3 726 188 523 +3 756 755 375 +3 718 186 378 +3 375 725 756 +3 378 720 725 +3 724 679 98 +3 723 677 373 +3 375 187 725 +3 722 718 378 +3 729 727 188 +3 716 185 516 +3 1248 36 727 +3 514 729 1249 +3 765 136 777 +3 727 36 521 +3 514 727 729 +3 726 716 516 +3 189 731 732 +3 475 189 730 +3 347 91 732 +3 475 197 764 +3 347 191 740 +3 738 191 347 +3 764 124 733 +3 762 197 475 +3 190 735 736 +3 465 190 734 +3 337 778 780 +3 462 0 735 +3 340 203 788 +3 735 0 337 +3 462 735 737 +3 742 192 465 +3 741 739 191 +3 734 190 339 +3 349 789 820 +3 338 741 788 +3 749 91 761 +3 739 25 345 +3 339 190 736 +3 738 734 339 +3 772 771 474 +3 731 189 477 +3 463 1201 1203 +3 477 733 745 +3 1203 121 744 +3 1203 744 463 +3 474 192 745 +3 742 731 477 +3 761 196 348 +3 730 189 346 +3 758 750 51 +3 346 732 749 +3 377 195 756 +3 754 195 377 +3 732 91 749 +3 746 730 346 +3 753 751 194 +3 343 194 750 +3 383 817 868 +3 342 753 816 +3 752 691 97 +3 751 8 369 +3 343 196 760 +3 758 196 343 +3 757 755 195 +3 750 194 371 +3 755 697 27 +3 370 697 755 +3 756 725 99 +3 755 27 375 +3 371 194 752 +3 754 750 371 +3 761 740 345 +3 747 193 348 +3 345 196 761 +3 348 749 761 +3 344 210 816 +3 821 760 341 +3 740 739 345 +3 758 747 348 +3 777 200 524 +3 719 186 522 +3 774 766 52 +3 522 721 765 +3 476 199 772 +3 770 199 476 +3 721 136 765 +3 762 719 522 +3 1277 1276 510 +3 513 133 769 +3 467 1213 1215 +3 198 766 769 +3 1215 122 768 +3 1215 768 467 +3 510 198 769 +3 774 200 513 +3 773 771 199 +3 766 198 469 +3 1221 33 771 +3 466 773 1222 +3 772 745 124 +3 771 33 474 +3 466 771 773 +3 770 766 469 +3 777 728 521 +3 763 197 524 +3 511 1280 1282 +3 524 765 777 +3 1282 133 776 +3 1282 776 511 +3 728 727 521 +3 774 763 524 +3 337 0 778 +3 626 1197 1199 +3 340 201 779 +3 201 778 781 +3 736 735 337 +3 786 203 340 +3 1199 162 781 +3 778 0 626 +3 350 209 812 +3 635 164 785 +3 350 202 783 +3 202 782 785 +3 812 92 784 +3 810 209 350 +3 635 204 792 +3 790 204 635 +3 820 819 349 +3 782 202 352 +3 788 787 338 +3 352 784 789 +3 741 89 788 +3 787 739 338 +3 349 203 789 +3 786 782 352 +3 793 791 204 +3 779 201 628 +3 1205 43 791 +3 625 793 1206 +3 829 164 841 +3 791 43 633 +3 625 791 793 +3 790 779 628 +3 205 795 796 +3 614 205 794 +3 397 104 796 +3 614 213 828 +3 397 207 804 +3 802 207 397 +3 828 159 797 +3 826 213 614 +3 206 799 800 +3 611 206 798 +3 388 842 844 +3 610 2 799 +3 844 102 800 +3 799 2 388 +3 611 208 808 +3 806 208 611 +3 805 803 207 +3 798 206 390 +3 849 28 803 +3 387 805 850 +3 813 104 825 +3 803 28 395 +3 387 803 805 +3 802 798 390 +3 836 835 613 +3 795 205 616 +3 613 809 836 +3 616 797 809 +3 612 295 1142 +3 1149 808 609 +3 613 208 809 +3 806 795 616 +3 825 212 398 +3 794 205 396 +3 822 814 55 +3 396 796 813 +3 351 211 820 +3 818 211 351 +3 796 104 813 +3 810 794 396 +3 868 867 383 +3 386 101 817 +3 816 815 342 +3 210 814 817 +3 753 90 816 +3 815 751 342 +3 383 210 817 +3 822 212 386 +3 821 819 211 +3 814 210 344 +3 759 25 819 +3 341 759 819 +3 820 789 92 +3 819 25 349 +3 760 759 341 +3 818 814 344 +3 825 804 395 +3 811 209 398 +3 384 871 873 +3 398 813 825 +3 873 101 824 +3 873 824 384 +3 804 803 395 +3 822 811 398 +3 841 216 636 +3 783 202 634 +3 838 830 56 +3 634 785 829 +3 615 215 836 +3 834 215 615 +3 785 164 829 +3 826 783 634 +3 1230 1229 621 +3 624 161 833 +3 621 833 1230 +3 214 830 833 +3 608 304 1174 +3 1167 832 605 +3 621 214 833 +3 838 216 624 +3 837 835 215 +3 830 214 607 +3 617 304 1175 +3 606 837 1174 +3 836 809 159 +3 835 42 613 +3 607 214 832 +3 834 830 607 +3 841 792 633 +3 827 213 636 +3 622 1233 1235 +3 636 829 841 +3 1235 161 840 +3 1235 840 622 +3 792 791 633 +3 838 827 636 +3 388 2 842 +3 389 217 843 +3 389 219 850 +3 848 219 389 +3 392 223 864 +3 392 218 846 +3 864 103 847 +3 862 223 392 +3 872 871 391 +3 845 218 394 +3 391 851 872 +3 394 847 851 +3 850 805 102 +3 849 803 387 +3 391 219 851 +3 848 845 394 +3 220 853 854 +3 367 96 854 +3 367 222 860 +3 858 222 367 +3 221 856 857 +3 358 655 857 +3 655 94 857 +3 856 3 358 +3 861 859 222 +3 855 221 360 +3 662 26 859 +3 357 662 859 +3 865 96 877 +3 859 26 365 +3 663 662 357 +3 858 855 360 +3 877 226 368 +3 852 220 366 +3 874 866 59 +3 366 854 865 +3 393 225 872 +3 870 225 393 +3 854 96 865 +3 862 852 366 +3 869 867 224 +3 356 224 866 +3 689 8 867 +3 353 689 867 +3 868 817 101 +3 867 8 383 +3 690 689 353 +3 874 226 356 +3 873 871 225 +3 866 224 385 +3 871 823 28 +3 384 823 871 +3 872 851 103 +3 871 28 391 +3 385 224 868 +3 870 866 385 +3 877 860 365 +3 863 223 368 +3 876 875 354 +3 368 865 877 +3 695 93 876 +3 875 693 354 +3 860 859 365 +3 874 863 368 +3 499 1176 1178 +3 227 878 880 +3 420 229 887 +3 885 229 420 +3 1178 130 880 +3 878 4 499 +3 423 235 911 +3 508 132 884 +3 423 228 882 +3 228 881 884 +3 911 111 883 +3 909 235 423 +3 508 230 891 +3 889 230 508 +3 919 918 422 +3 881 228 425 +3 422 888 919 +3 425 883 888 +3 1067 887 419 +3 422 229 888 +3 885 881 425 +3 892 890 230 +3 879 227 501 +3 1185 35 890 +3 498 892 1186 +3 928 132 940 +3 890 35 506 +3 498 890 892 +3 889 879 501 +3 231 894 895 +3 487 231 893 +3 444 116 895 +3 487 239 927 +3 444 233 903 +3 901 233 444 +3 927 127 896 +3 925 239 487 +3 232 898 899 +3 484 232 897 +3 483 5 898 +3 898 5 435 +3 484 234 907 +3 905 234 484 +3 897 232 437 +3 950 31 902 +3 434 904 951 +3 912 116 924 +3 902 31 442 +3 901 897 437 +3 935 934 486 +3 894 231 489 +3 486 908 935 +3 489 896 908 +3 485 326 1261 +3 1266 907 482 +3 486 234 908 +3 905 894 489 +3 924 238 445 +3 893 231 443 +3 921 913 62 +3 443 895 912 +3 424 237 919 +3 917 237 424 +3 895 116 912 +3 909 893 443 +3 979 978 430 +3 433 113 916 +3 430 916 979 +3 236 913 916 +3 418 280 1086 +3 1079 915 415 +3 430 236 916 +3 921 238 433 +3 920 918 237 +3 913 236 417 +3 426 280 1087 +3 416 920 1086 +3 919 888 111 +3 918 30 422 +3 417 236 915 +3 917 913 417 +3 924 903 442 +3 910 235 445 +3 431 982 984 +3 445 912 924 +3 984 113 923 +3 984 923 431 +3 903 902 442 +3 921 910 445 +3 940 242 509 +3 882 228 507 +3 937 929 63 +3 507 884 928 +3 488 241 935 +3 933 241 488 +3 884 132 928 +3 925 882 507 +3 1214 1213 494 +3 497 129 932 +3 494 932 1214 +3 240 929 932 +3 481 332 1285 +3 1278 931 478 +3 494 240 932 +3 937 242 497 +3 936 934 241 +3 929 240 480 +3 490 332 1286 +3 479 936 1285 +3 935 908 127 +3 934 34 486 +3 480 240 931 +3 933 929 480 +3 940 891 506 +3 926 239 509 +3 495 1217 1219 +3 509 928 940 +3 1219 129 939 +3 1219 939 495 +3 891 890 506 +3 937 926 509 +3 435 5 941 +3 546 1260 1262 +3 436 243 942 +3 243 941 944 +3 1262 142 944 +3 941 5 546 +3 439 251 975 +3 555 144 948 +3 439 244 946 +3 244 945 948 +3 975 115 947 +3 555 246 955 +3 953 246 555 +3 983 982 438 +3 945 244 441 +3 438 952 983 +3 441 947 952 +3 951 904 114 +3 438 245 952 +3 949 945 441 +3 956 954 246 +3 942 243 548 +3 1268 38 954 +3 545 956 1269 +3 992 144 1004 +3 954 38 553 +3 545 954 956 +3 953 942 548 +3 247 958 959 +3 582 247 957 +3 409 107 959 +3 582 255 991 +3 409 249 967 +3 965 249 409 +3 991 151 960 +3 989 255 582 +3 248 962 963 +3 579 248 961 +3 399 1005 1007 +3 578 7 962 +3 402 261 1013 +3 962 7 399 +3 579 250 971 +3 969 250 579 +3 968 966 249 +3 961 248 401 +3 411 1014 1035 +3 400 968 1013 +3 976 107 988 +3 966 29 407 +3 401 248 963 +3 965 961 401 +3 999 998 581 +3 958 247 584 +3 581 972 999 +3 584 960 972 +3 580 285 1106 +3 1113 971 577 +3 581 250 972 +3 969 958 584 +3 988 254 410 +3 985 977 66 +3 408 959 976 +3 440 253 983 +3 981 253 440 +3 959 107 976 +3 980 978 252 +3 405 252 977 +3 446 1032 1078 +3 404 980 1031 +3 979 916 113 +3 978 9 430 +3 405 254 987 +3 985 254 405 +3 984 982 253 +3 977 252 432 +3 982 922 31 +3 431 922 982 +3 983 952 115 +3 982 31 438 +3 432 252 979 +3 981 977 432 +3 988 967 407 +3 974 251 410 +3 407 254 988 +3 410 976 988 +3 406 266 1031 +3 1036 987 403 +3 967 966 407 +3 985 974 410 +3 1004 258 556 +3 946 244 554 +3 1001 993 67 +3 554 948 992 +3 583 257 999 +3 997 257 583 +3 948 144 992 +3 989 946 554 +3 996 994 256 +3 544 256 993 +3 1292 11 994 +3 541 996 1293 +3 576 294 1138 +3 994 11 573 +3 541 994 996 +3 1001 258 544 +3 1000 998 257 +3 993 256 575 +3 585 294 1139 +3 574 1000 1138 +3 999 972 151 +3 998 40 581 +3 575 256 995 +3 997 993 575 +3 1004 955 553 +3 990 255 556 +3 542 1296 1298 +3 556 992 1004 +3 1298 141 1003 +3 1298 1003 542 +3 955 954 553 +3 1001 990 556 +3 399 7 1005 +3 402 259 1006 +3 963 962 399 +3 1011 261 402 +3 412 265 1027 +3 412 260 1009 +3 1027 108 1010 +3 1025 265 412 +3 1035 1034 411 +3 1008 260 414 +3 1013 1012 400 +3 414 1010 1014 +3 968 105 1013 +3 1012 966 400 +3 411 261 1014 +3 1011 1008 414 +3 262 1016 1017 +3 460 120 1017 +3 460 264 1023 +3 1021 264 460 +3 263 1019 1020 +3 451 1041 1043 +3 1043 118 1020 +3 1019 6 451 +3 1024 1022 264 +3 1018 263 453 +3 1050 32 1022 +3 450 1024 1051 +3 1028 120 1040 +3 1022 32 458 +3 450 1022 1024 +3 1021 1018 453 +3 1040 268 461 +3 1015 262 459 +3 1037 1029 70 +3 459 1017 1028 +3 413 267 1035 +3 1033 267 413 +3 1017 120 1028 +3 1025 1015 459 +3 1078 1077 446 +3 449 117 1032 +3 1031 1030 404 +3 266 1029 1032 +3 980 106 1031 +3 1030 978 404 +3 446 266 1032 +3 1037 268 449 +3 1036 1034 267 +3 1029 266 406 +3 986 29 1034 +3 403 986 1034 +3 1035 1014 108 +3 1034 29 411 +3 987 986 403 +3 1033 1029 406 +3 1040 1023 458 +3 1026 265 461 +3 447 1081 1083 +3 461 1028 1040 +3 1083 117 1039 +3 1083 1039 447 +3 1023 1022 458 +3 1037 1026 461 +3 451 6 1041 +3 642 1154 1155 +3 452 269 1042 +3 269 1041 1044 +3 452 271 1051 +3 1049 271 452 +3 1155 166 1044 +3 1041 6 642 +3 455 277 1074 +3 651 168 1048 +3 455 270 1046 +3 270 1045 1048 +3 1074 119 1047 +3 1072 277 455 +3 651 272 1055 +3 1053 272 651 +3 1082 1081 454 +3 1045 270 457 +3 454 1052 1082 +3 457 1047 1052 +3 1051 1024 118 +3 1050 1022 450 +3 454 271 1052 +3 1049 1045 457 +3 1056 1054 272 +3 1042 269 644 +3 1157 44 1054 +3 641 1056 1158 +3 1091 168 1103 +3 1054 44 649 +3 641 1054 1056 +3 1053 1042 644 +3 273 1058 1059 +3 602 273 1057 +3 428 112 1059 +3 602 281 1090 +3 428 275 1066 +3 1064 275 428 +3 1090 156 1060 +3 1088 281 602 +3 592 274 1061 +3 589 4 1062 +3 589 1062 1063 +3 1068 276 592 +3 1067 1065 275 +3 886 30 1065 +3 419 886 1065 +3 1075 112 1087 +3 1065 30 426 +3 887 886 419 +3 1098 1097 601 +3 1058 273 604 +3 590 1189 1191 +3 604 1060 1071 +3 1191 153 1070 +3 1191 1070 590 +3 601 276 1071 +3 1068 1058 604 +3 1087 280 429 +3 1057 273 427 +3 1084 1076 73 +3 427 1059 1075 +3 456 279 1082 +3 1080 279 456 +3 1059 112 1075 +3 1072 1057 427 +3 1079 1077 278 +3 418 278 1076 +3 914 9 1077 +3 415 914 1077 +3 1078 1032 117 +3 1077 9 446 +3 915 914 415 +3 1084 280 418 +3 1083 1081 279 +3 1076 278 448 +3 1081 1038 32 +3 447 1038 1081 +3 1082 1052 119 +3 1081 32 454 +3 448 278 1078 +3 1080 1076 448 +3 1087 1066 426 +3 1073 277 429 +3 1086 1085 416 +3 429 1075 1087 +3 920 109 1086 +3 1085 918 416 +3 1066 1065 426 +3 1084 1073 429 +3 1103 284 652 +3 1046 270 650 +3 1100 1092 74 +3 650 1048 1091 +3 603 283 1098 +3 1096 283 603 +3 1048 168 1091 +3 1088 1046 650 +3 1166 1165 637 +3 640 165 1095 +3 594 1229 1231 +3 282 1092 1095 +3 1231 154 1094 +3 1231 1094 594 +3 637 282 1095 +3 1100 284 640 +3 1099 1097 283 +3 1092 282 596 +3 1237 41 1097 +3 593 1099 1238 +3 1098 1071 156 +3 1097 41 601 +3 593 1097 1099 +3 1096 1092 596 +3 1103 1055 649 +3 1089 281 652 +3 638 1169 1171 +3 652 1091 1103 +3 1171 165 1102 +3 1171 1102 638 +3 1055 1054 649 +3 1100 1089 652 +3 578 964 1106 +3 285 1104 1106 +3 964 150 1106 +3 1104 7 578 +3 587 152 1109 +3 286 1107 1109 +3 587 287 1112 +3 1110 287 587 +3 1113 1111 287 +3 1105 285 580 +3 970 40 1111 +3 577 970 1111 +3 1127 152 1139 +3 1111 40 585 +3 971 970 577 +3 1110 1105 580 +3 538 288 1114 +3 538 291 1126 +3 1126 140 1116 +3 1124 291 538 +3 528 289 1117 +3 525 3 1118 +3 656 653 525 +3 1120 290 528 +3 1134 1133 537 +3 1115 288 540 +3 1122 1121 526 +3 540 1116 1123 +3 668 137 1122 +3 1121 666 526 +3 537 290 1123 +3 1120 1115 540 +3 1139 294 588 +3 1108 286 586 +3 1136 1128 77 +3 586 1109 1127 +3 539 293 1134 +3 1132 293 539 +3 1109 152 1127 +3 1124 1108 586 +3 1131 995 573 +3 576 149 1131 +3 1130 1129 530 +3 292 1128 1131 +3 707 138 1130 +3 1129 705 530 +3 995 994 573 +3 1136 294 576 +3 1135 1133 293 +3 1128 292 532 +3 713 37 1133 +3 529 713 1133 +3 1134 1123 140 +3 1133 37 537 +3 714 713 529 +3 1132 1128 532 +3 1139 1112 585 +3 1125 291 588 +3 1138 1137 574 +3 588 1127 1139 +3 1000 149 1138 +3 1137 998 574 +3 1112 1111 585 +3 1136 1125 588 +3 610 801 1142 +3 295 1140 1142 +3 801 158 1142 +3 1140 2 610 +3 619 160 1145 +3 296 1143 1145 +3 619 297 1148 +3 1146 297 619 +3 1149 1147 297 +3 1141 295 612 +3 807 42 1147 +3 609 807 1147 +3 1163 160 1175 +3 1147 42 617 +3 808 807 609 +3 1146 1141 612 +3 646 298 1150 +3 646 301 1162 +3 1162 167 1152 +3 1160 301 646 +3 643 299 1153 +3 642 6 1154 +3 643 300 1158 +3 1156 300 643 +3 1170 1169 645 +3 1151 298 648 +3 645 1159 1170 +3 648 1152 1159 +3 1158 1056 166 +3 1157 1054 641 +3 645 300 1159 +3 1156 1151 648 +3 1175 304 620 +3 1144 296 618 +3 1172 1164 80 +3 618 1145 1163 +3 647 303 1170 +3 1168 303 647 +3 1145 160 1163 +3 1160 1144 618 +3 1167 1165 302 +3 608 302 1164 +3 831 12 1165 +3 605 831 1165 +3 1166 1095 165 +3 1165 12 637 +3 832 831 605 +3 1172 304 608 +3 1171 1169 303 +3 1164 302 639 +3 1169 1101 44 +3 638 1101 1169 +3 1170 1159 167 +3 1169 44 645 +3 639 302 1166 +3 1168 1164 639 +3 1175 1148 617 +3 1161 301 620 +3 1174 1173 606 +3 620 1163 1175 +3 837 157 1174 +3 1173 835 606 +3 1148 1147 617 +3 1172 1161 620 +3 499 4 1176 +3 589 1063 1179 +3 500 305 1177 +3 305 1176 1179 +3 500 307 1186 +3 1184 307 500 +3 1179 1063 153 +3 1176 4 589 +3 503 313 1210 +3 599 155 1183 +3 503 306 1181 +3 306 1180 1183 +3 1210 131 1182 +3 1208 313 503 +3 599 308 1190 +3 1188 308 599 +3 1218 1217 502 +3 1180 306 505 +3 502 1187 1218 +3 505 1182 1187 +3 1186 892 130 +3 1185 890 498 +3 502 307 1187 +3 1184 1180 505 +3 1191 1189 308 +3 1177 305 591 +3 1189 1069 41 +3 590 1069 1189 +3 1227 155 1239 +3 1189 41 597 +3 591 305 1179 +3 1188 1177 591 +3 309 1193 1194 +3 630 309 1192 +3 472 123 1194 +3 630 317 1226 +3 472 311 1202 +3 1200 311 472 +3 1226 163 1195 +3 1224 317 630 +3 310 1197 1198 +3 627 310 1196 +3 462 737 1198 +3 626 0 1197 +3 1198 737 121 +3 1197 0 462 +3 627 312 1206 +3 1204 312 627 +3 1203 1201 311 +3 1196 310 464 +3 1201 743 33 +3 463 743 1201 +3 1211 123 1223 +3 1201 33 470 +3 464 310 1198 +3 1200 1196 464 +3 1234 1233 629 +3 1193 309 632 +3 629 1207 1234 +3 632 1195 1207 +3 1206 793 162 +3 1205 791 625 +3 629 312 1207 +3 1204 1193 632 +3 1223 316 473 +3 1192 309 471 +3 1220 1212 83 +3 471 1194 1211 +3 504 315 1218 +3 1216 315 504 +3 1194 123 1211 +3 1208 1192 471 +3 1215 1213 314 +3 468 314 1212 +3 1213 767 10 +3 467 767 1213 +3 1214 932 129 +3 1213 10 494 +3 468 316 1222 +3 1220 316 468 +3 1219 1217 315 +3 1212 314 496 +3 1217 938 35 +3 495 938 1217 +3 1218 1187 131 +3 1217 35 502 +3 496 314 1214 +3 1216 1212 496 +3 1223 1202 470 +3 1209 313 473 +3 470 316 1223 +3 473 1211 1223 +3 1222 773 122 +3 1221 771 466 +3 1202 1201 470 +3 1220 1209 473 +3 1239 320 600 +3 1181 306 598 +3 1236 1228 84 +3 598 1183 1227 +3 631 319 1234 +3 1232 319 631 +3 1183 155 1227 +3 1224 1181 598 +3 1231 1229 318 +3 595 318 1228 +3 1229 1093 12 +3 594 1093 1229 +3 1230 833 161 +3 1229 12 621 +3 595 320 1238 +3 1236 320 595 +3 1235 1233 319 +3 1228 318 623 +3 1233 839 43 +3 622 839 1233 +3 1234 1207 163 +3 1233 43 629 +3 623 318 1230 +3 1232 1228 623 +3 1239 1190 597 +3 1225 317 600 +3 597 320 1239 +3 600 1227 1239 +3 1238 1099 154 +3 1237 1097 593 +3 1190 1189 597 +3 1236 1225 600 +3 562 675 1242 +3 515 321 1241 +3 321 1240 1242 +3 515 323 1249 +3 1247 323 515 +3 675 146 1242 +3 1240 1 562 +3 518 329 1273 +3 571 148 1246 +3 518 322 1244 +3 322 1243 1246 +3 1273 135 1245 +3 1271 329 518 +3 571 324 1253 +3 1251 324 571 +3 1281 1280 517 +3 1243 322 520 +3 517 1250 1281 +3 520 1245 1250 +3 1249 729 134 +3 1248 727 514 +3 517 323 1250 +3 1247 1243 520 +3 1254 1252 324 +3 1241 321 564 +3 681 39 1252 +3 561 681 1252 +3 1290 148 1302 +3 1252 39 569 +3 682 681 561 +3 1251 1241 564 +3 325 1256 1257 +3 550 325 1255 +3 492 128 1257 +3 550 333 1289 +3 492 327 1265 +3 1263 327 492 +3 1289 143 1258 +3 1287 333 550 +3 326 1260 1261 +3 547 326 1259 +3 483 900 1261 +3 546 5 1260 +3 900 126 1261 +3 1260 5 483 +3 547 328 1269 +3 1267 328 547 +3 1266 1264 327 +3 1259 326 485 +3 906 34 1264 +3 482 906 1264 +3 1274 128 1286 +3 1264 34 490 +3 907 906 482 +3 1263 1259 485 +3 1297 1296 549 +3 1256 325 552 +3 549 1270 1297 +3 552 1258 1270 +3 1269 956 142 +3 1268 954 545 +3 549 328 1270 +3 1267 1256 552 +3 1286 332 493 +3 1255 325 491 +3 1283 1275 87 +3 491 1257 1274 +3 519 331 1281 +3 1279 331 519 +3 1257 128 1274 +3 1271 1255 491 +3 1278 1276 330 +3 481 330 1275 +3 930 10 1276 +3 478 930 1276 +3 1277 769 133 +3 1276 10 510 +3 931 930 478 +3 1283 332 481 +3 1282 1280 331 +3 1275 330 512 +3 1280 775 36 +3 511 775 1280 +3 1281 1250 135 +3 1280 36 517 +3 512 330 1277 +3 1279 1275 512 +3 1286 1265 490 +3 1272 329 493 +3 1285 1284 479 +3 493 1274 1286 +3 936 125 1285 +3 1284 934 479 +3 1265 1264 490 +3 1283 1272 493 +3 1302 336 572 +3 1244 322 570 +3 1299 1291 88 +3 570 1246 1290 +3 551 335 1297 +3 1295 335 551 +3 1246 148 1290 +3 1287 1244 570 +3 1294 706 557 +3 560 145 1294 +3 557 334 1294 +3 334 1291 1294 +3 1293 996 141 +3 1292 994 541 +3 706 705 557 +3 1299 336 560 +3 1298 1296 335 +3 1291 334 543 +3 1296 1002 38 +3 542 1002 1296 +3 1297 1270 143 +3 1296 38 549 +3 543 334 1293 +3 1295 1291 543 +3 1302 1253 569 +3 1288 333 572 +3 1301 1300 558 +3 572 1290 1302 +3 711 145 1301 +3 1300 709 558 +3 1253 1252 569 +3 1299 1288 572 + diff --git a/Polygon_mesh_processing/test/Polygon_mesh_processing/data/decimation/m4.off b/Polygon_mesh_processing/test/Polygon_mesh_processing/data/decimation/m4.off new file mode 100644 index 00000000000..cef0aac4ef0 --- /dev/null +++ b/Polygon_mesh_processing/test/Polygon_mesh_processing/data/decimation/m4.off @@ -0,0 +1,4614 @@ +OFF +1538 3072 0 + +0 0 0 +1 0 0 +0 1 0 +1 1 0 +0 0 1 +1 0 1 +0 1 1 +1 1 1 +0.5 0.5 0 +0.50236749403355474 0.5 1.1669083293656042 +0.5 1 0.5 +0.5 0 0.5 +1 0.5 0.5 +-0.20102054000521782 0.49806711019225747 0.5 +1 0.5 0 +0.5 0 0 +0 0.5 0 +0.5 1 0 +0.5 0 1 +1 0.5 1 +0.5 1 1 +0 0.5 1 +1 1 0.5 +0 1 0.5 +0 0 0.5 +1 0 0.5 +0.25 0.25 0 +0.75 0.75 0 +0.75 0.25 0 +0.25 0.75 0 +0.75 0.75 1 +0.25 0.25 1 +0.75 0.25 1 +0.25 0.75 1 +0.25 1 0.25 +0.75 1 0.75 +0.75 1 0.25 +0.25 1 0.75 +0.24757368741917724 -0.15528400517265561 0.25 +0.74421265662391467 -0.18808865972277025 0.75 +0.24116120074745048 -0.19739984997360693 0.75 +0.75 0 0.25 +1 0.75 0.25 +1 0.25 0.75 +1 0.25 0.25 +1 0.75 0.75 +0 0.25 0.75 +0 0.75 0.25 +0 0.25 0.25 +0 0.75 0.75 +1 0.75 0 +1 0.25 0 +0.75 0.5 0 +1 0.5 0.25 +0.75 0 0 +0.25 0 0 +0.5 0.25 0 +0.5 0 0.25 +0 0.25 0 +0 0.75 0 +0.25 0.5 0 +0 0.5 0.25 +0.25 1 0 +0.75 1 0 +0.5 0.75 0 +0.5 1 0.25 +0.25 0 1 +0.75 0 1 +0.5 0.25 1 +0.5 0 0.75 +1 0.25 1 +1 0.75 1 +0.75 0.5 1 +1 0.5 0.75 +0.75 1 1 +0.25 1 1 +0.5 0.75 1 +0.5 1 0.75 +0 0.75 1 +0 0.25 1 +0.25 0.5 1 +0 0.5 0.75 +1 1 0.75 +1 1 0.25 +0.75 1 0.5 +1 0.75 0.5 +0 1 0.25 +0 1 0.75 +0.25 1 0.5 +0 0.75 0.5 +0 0 0.75 +0 0 0.25 +0.25 0 0.5 +0 0.25 0.5 +1 0 0.25 +1 0 0.75 +0.75 0 0.5 +1 0.25 0.5 +0.125 0.125 0 +0.375 0.375 0 +0.36249999999999999 0.1125 0 +0.13750000000000001 0.38750000000000001 0 +0.625 0.625 0 +0.875 0.875 0 +0.86250000000000004 0.61250000000000004 0 +0.63749999999999996 0.88749999999999996 0 +0.625 0.375 0 +0.875 0.125 0 +0.61250000000000004 0.13750000000000001 0 +0.88749999999999996 0.36249999999999999 0 +0.375 0.625 0 +0.125 0.875 0 +0.38750000000000001 0.86250000000000004 0 +0.1125 0.63749999999999996 0 +0.875 0.875 1 +0.625 0.625 1 +0.88749999999999996 0.63749999999999996 1 +0.61250000000000004 0.86250000000000004 1 +0.375 0.375 1 +0.125 0.125 1 +0.38750000000000001 0.13750000000000001 1 +0.1125 0.36249999999999999 1 +0.625 0.375 1 +0.875 0.125 1 +0.86250000000000004 0.38750000000000001 1 +0.63749999999999996 0.1125 1 +0.375 0.625 1 +0.125 0.875 1 +0.13750000000000001 0.61250000000000004 1 +0.36249999999999999 0.88749999999999996 1 +0.125 1 0.125 +0.375 1 0.375 +0.36249999999999999 1 0.1125 +0.13750000000000001 1 0.38750000000000001 +0.625 1 0.625 +0.875 1 0.875 +0.86250000000000004 1 0.61250000000000004 +0.63749999999999996 1 0.88749999999999996 +0.625 1 0.375 +0.875 1 0.125 +0.61250000000000004 1 0.13750000000000001 +0.88749999999999996 1 0.36249999999999999 +0.375 1 0.625 +0.125 1 0.875 +0.38750000000000001 1 0.86250000000000004 +0.1125 1 0.63749999999999996 +0.125 0 0.125 +0.375 0 0.375 +0.1125 0 0.36249999999999999 +0.38507368741917725 -0.15528400517265561 0.13750000000000001 +0.625 0 0.625 +0.875 0 0.875 +0.61250000000000004 0 0.86250000000000004 +0.88171265662391463 -0.18808865972277025 0.63749999999999996 +0.375 0 0.625 +0.125 0 0.875 +0.13750000000000001 0 0.61250000000000004 +0.36249999999999999 0 0.88749999999999996 +0.625 0 0.375 +0.875 0 0.125 +0.86250000000000004 0 0.38750000000000001 +0.63749999999999996 0 0.1125 +1 0.875 0.125 +1 0.625 0.375 +1 0.63749999999999996 0.1125 +1 0.86250000000000004 0.38750000000000001 +1 0.375 0.625 +1 0.125 0.875 +1 0.13750000000000001 0.61250000000000004 +1 0.36249999999999999 0.88749999999999996 +1 0.375 0.375 +1 0.125 0.125 +1 0.38750000000000001 0.13750000000000001 +1 0.1125 0.36249999999999999 +1 0.625 0.625 +1 0.875 0.875 +1 0.61250000000000004 0.86250000000000004 +1 0.88749999999999996 0.63749999999999996 +0 0.125 0.875 +0 0.375 0.625 +0 0.1125 0.63749999999999996 +0 0.38750000000000001 0.86250000000000004 +0 0.625 0.375 +0 0.875 0.125 +0 0.61250000000000004 0.13750000000000001 +0 0.88749999999999996 0.36249999999999999 +0 0.375 0.375 +0 0.125 0.125 +0 0.13750000000000001 0.38750000000000001 +0 0.36249999999999999 0.1125 +-0.20102054000521782 0.62306711019225747 0.625 +0 0.875 0.875 +0 0.86250000000000004 0.61250000000000004 +0 0.63749999999999996 0.88749999999999996 +1 0.875 0 +1 0.625 0 +0.8839285714285714 0.7410714285714286 0 +1 0.75 0.10416666666666667 +1 0.375 0 +1 0.125 0 +0.89583333333333337 0.25 0 +1 0.25892857142857145 0.11607142857142858 +0.8839285714285714 0.49107142857142855 0 +0.625 0.5 0 +0.75 0.60416666666666663 0 +0.7589285714285714 0.38392857142857145 0 +1 0.5089285714285714 0.11607142857142858 +1 0.5 0.35416666666666669 +1 0.39583333333333331 0.25 +1 0.6160714285714286 0.24107142857142858 +0.875 0 0 +0.625 0 0 +0.7410714285714286 0.11607142857142858 0 +0.75 0 0.10416666666666667 +0.375 0 0 +0.125 0 0 +0.25 0.10416666666666667 0 +0.25650225884774869 -0.15528400517265561 0.11607142857142858 +0.49107142857142855 0.11607142857142858 0 +0.5 0.35416666666666669 0 +0.60416666666666663 0.25 0 +0.38392857142857145 0.24107142857142858 0 +0.5089285714285714 0 0.11607142857142858 +0.5 0 0.375 +0.39340702075251055 -0.15528400517265561 0.25 +0.6160714285714286 0 0.24107142857142858 +0 0.125 0 +0 0.375 0 +0.11607142857142858 0.25892857142857145 0 +0 0.25 0.10416666666666667 +0 0.625 0 +0 0.875 0 +0.10416666666666667 0.75 0 +0 0.7410714285714286 0.11607142857142858 +0.11607142857142858 0.5089285714285714 0 +0.375 0.5 0 +0.25 0.39583333333333331 0 +0.24107142857142858 0.6160714285714286 0 +0 0.49107142857142855 0.11607142857142858 +0 0.5 0.375 +0 0.60416666666666663 0.25 +0 0.38392857142857145 0.24107142857142858 +0.125 1 0 +0.375 1 0 +0.25892857142857145 0.8839285714285714 0 +0.25 1 0.10416666666666667 +0.625 1 0 +0.875 1 0 +0.75 0.89583333333333337 0 +0.7410714285714286 1 0.11607142857142858 +0.5089285714285714 0.8839285714285714 0 +0.5 0.64583333333333337 0 +0.39583333333333331 0.75 0 +0.6160714285714286 0.7589285714285714 0 +0.49107142857142855 1 0.11607142857142858 +0.5 1 0.35416666666666669 +0.60416666666666663 1 0.25 +0.38392857142857145 1 0.24107142857142858 +0.125 0 1 +0.375 0 1 +0.25892857142857145 0.11607142857142858 1 +0.25 0 0.89583333333333337 +0.625 0 1 +0.875 0 1 +0.75 0.10416666666666667 1 +0.7410714285714286 0 0.8839285714285714 +0.5089285714285714 0.11607142857142858 1 +0.5 0.375 1 +0.39583333333333331 0.25 1 +0.6160714285714286 0.24107142857142858 1 +0.49107142857142855 0 0.8839285714285714 +0.5 0 0.625 +0.60416666666666663 0 0.75 +0.38392857142857145 0 0.7589285714285714 +1 0.125 1 +1 0.375 1 +0.8839285714285714 0.25892857142857145 1 +1 0.25 0.89583333333333337 +1 0.625 1 +1 0.875 1 +0.89583333333333337 0.75 1 +1 0.7410714285714286 0.8839285714285714 +0.8839285714285714 0.5089285714285714 1 +0.64820082736688811 0.5 1.1669083293656042 +0.75 0.39583333333333331 1 +0.7589285714285714 0.6160714285714286 1 +1 0.49107142857142855 0.8839285714285714 +1 0.5 0.64583333333333337 +1 0.60416666666666663 0.75 +1 0.38392857142857145 0.7589285714285714 +0.875 1 1 +0.625 1 1 +0.7410714285714286 0.8839285714285714 1 +0.75 1 0.89583333333333337 +0.375 1 1 +0.125 1 1 +0.25 0.89583333333333337 1 +0.25892857142857145 1 0.8839285714285714 +0.49107142857142855 0.8839285714285714 1 +0.5 0.625 1 +0.60416666666666663 0.75 1 +0.38392857142857145 0.7589285714285714 1 +0.5089285714285714 1 0.8839285714285714 +0.5 1 0.64583333333333337 +0.39583333333333331 1 0.75 +0.6160714285714286 1 0.7589285714285714 +0 0.875 1 +0 0.625 1 +0.11607142857142858 0.7410714285714286 1 +0 0.75 0.89583333333333337 +0 0.375 1 +0 0.125 1 +0.10416666666666667 0.25 1 +0 0.25892857142857145 0.8839285714285714 +0.11607142857142858 0.49107142857142855 1 +0.35416666666666669 0.5 1 +0.25 0.60416666666666663 1 +0.24107142857142858 0.38392857142857145 1 +0 0.5089285714285714 0.8839285714285714 +-0.20102054000521782 0.49806711019225747 0.625 +0 0.39583333333333331 0.75 +0 0.6160714285714286 0.7589285714285714 +1 1 0.875 +1 1 0.625 +0.8839285714285714 1 0.7410714285714286 +1 0.89583333333333337 0.75 +1 1 0.375 +1 1 0.125 +0.89583333333333337 1 0.25 +1 0.8839285714285714 0.25892857142857145 +0.8839285714285714 1 0.49107142857142855 +0.625 1 0.5 +0.75 1 0.60416666666666663 +0.7589285714285714 1 0.38392857142857145 +1 0.8839285714285714 0.5089285714285714 +1 0.625 0.5 +1 0.75 0.39583333333333331 +1 0.7589285714285714 0.6160714285714286 +0 1 0.125 +0 1 0.375 +0.11607142857142858 1 0.25892857142857145 +0 0.89583333333333337 0.25 +0 1 0.625 +0 1 0.875 +0.10416666666666667 1 0.75 +0 0.8839285714285714 0.7410714285714286 +0.11607142857142858 1 0.5089285714285714 +0.375 1 0.5 +0.25 1 0.39583333333333331 +0.24107142857142858 1 0.6160714285714286 +0 0.8839285714285714 0.49107142857142855 +-0.20102054000521782 0.64390044352559084 0.5 +0 0.75 0.60416666666666663 +0 0.7589285714285714 0.38392857142857145 +0 0 0.875 +0 0 0.625 +0.11607142857142858 0 0.7410714285714286 +0 0.10416666666666667 0.75 +0 0 0.375 +0 0 0.125 +0.10416666666666667 0 0.25 +0 0.11607142857142858 0.25892857142857145 +0.11607142857142858 0 0.49107142857142855 +0.35416666666666669 0 0.5 +0.25 0 0.60416666666666663 +0.24107142857142858 0 0.38392857142857145 +0 0.11607142857142858 0.5089285714285714 +0 0.35416666666666669 0.5 +0 0.25 0.39583333333333331 +0 0.24107142857142858 0.6160714285714286 +1 0 0.125 +1 0 0.375 +0.8839285714285714 0 0.25892857142857145 +1 0.10416666666666667 0.25 +1 0 0.625 +1 0 0.875 +0.89004598995724804 -0.18808865972277025 0.75 +1 0.11607142857142858 0.7410714285714286 +0.8839285714285714 0 0.5089285714285714 +0.64583333333333337 0 0.5 +0.75 0 0.39583333333333331 +0.75314122805248607 -0.18808865972277025 0.6160714285714286 +1 0.11607142857142858 0.49107142857142855 +1 0.375 0.5 +1 0.25 0.60416666666666663 +1 0.24107142857142858 0.38392857142857145 +0.050000000000000003 0.050000000000000003 0 +0.1875 0.1875 0 +0.17857142857142858 0.071428571428571425 0 +0.071428571428571425 0.17857142857142858 0 +0.3125 0.3125 0 +0.4375 0.4375 0 +0.42857142857142855 0.32142857142857145 0 +0.32142857142857145 0.42857142857142855 0 +0.3125 0.20833333333333334 0 +0.4375 0.0625 0 +0.3125 0.083333333333333329 0 +0.4375 0.1875 0 +0.1875 0.29166666666666669 0 +0.0625 0.4375 0 +0.1875 0.41666666666666669 0 +0.0625 0.3125 0 +0.5625 0.5625 0 +0.6875 0.6875 0 +0.6785714285714286 0.5714285714285714 0 +0.5714285714285714 0.6785714285714286 0 +0.8125 0.8125 0 +0.94999999999999996 0.94999999999999996 0 +0.9285714285714286 0.8214285714285714 0 +0.8214285714285714 0.9285714285714286 0 +0.8125 0.70833333333333337 0 +0.9375 0.5625 0 +0.8125 0.58333333333333337 0 +0.9375 0.6875 0 +0.6875 0.79166666666666663 0 +0.5625 0.9375 0 +0.6875 0.91666666666666663 0 +0.5625 0.8125 0 +0.5625 0.45833333333333331 0 +0.6875 0.3125 0 +0.5714285714285714 0.32142857142857145 0 +0.6875 0.41666666666666669 0 +0.8125 0.1875 0 +0.94999999999999996 0.050000000000000003 0 +0.8214285714285714 0.071428571428571425 0 +0.9285714285714286 0.17857142857142858 0 +0.70833333333333337 0.1875 0 +0.5625 0.0625 0 +0.58333333333333337 0.1875 0 +0.6875 0.0625 0 +0.79166666666666663 0.3125 0 +0.9375 0.4375 0 +0.91666666666666663 0.3125 0 +0.8125 0.4375 0 +0.4375 0.54166666666666663 0 +0.3125 0.6875 0 +0.42857142857142855 0.6785714285714286 0 +0.3125 0.58333333333333337 0 +0.1875 0.8125 0 +0.050000000000000003 0.94999999999999996 0 +0.17857142857142858 0.9285714285714286 0 +0.071428571428571425 0.8214285714285714 0 +0.29166666666666669 0.8125 0 +0.4375 0.9375 0 +0.41666666666666669 0.8125 0 +0.3125 0.9375 0 +0.20833333333333334 0.6875 0 +0.0625 0.5625 0 +0.083333333333333329 0.6875 0 +0.1875 0.5625 0 +0.94999999999999996 0.94999999999999996 1 +0.8125 0.8125 1 +0.9285714285714286 0.8214285714285714 1 +0.8214285714285714 0.9285714285714286 1 +0.6875 0.6875 1 +0.5625 0.5625 1 +0.6785714285714286 0.5714285714285714 1 +0.5714285714285714 0.6785714285714286 1 +0.79166666666666663 0.6875 1 +0.9375 0.5625 1 +0.91666666666666663 0.6875 1 +0.8125 0.5625 1 +0.70833333333333337 0.8125 1 +0.5625 0.9375 1 +0.58333333333333337 0.8125 1 +0.6875 0.9375 1 +0.43986749403355474 0.4375 1.1669083293656042 +0.3125 0.3125 1 +0.42857142857142855 0.32142857142857145 1 +0.32142857142857145 0.42857142857142855 1 +0.1875 0.1875 1 +0.050000000000000003 0.050000000000000003 1 +0.17857142857142858 0.071428571428571425 1 +0.071428571428571425 0.17857142857142858 1 +0.29166666666666669 0.1875 1 +0.4375 0.0625 1 +0.41666666666666669 0.1875 1 +0.3125 0.0625 1 +0.20833333333333334 0.3125 1 +0.0625 0.4375 1 +0.083333333333333329 0.3125 1 +0.1875 0.4375 1 +0.54403416070022137 0.4375 1.1669083293656042 +0.6875 0.3125 1 +0.6785714285714286 0.42857142857142855 1 +0.58333333333333337 0.3125 1 +0.8125 0.1875 1 +0.94999999999999996 0.050000000000000003 1 +0.9285714285714286 0.17857142857142858 1 +0.8214285714285714 0.071428571428571425 1 +0.8125 0.29166666666666669 1 +0.9375 0.4375 1 +0.8125 0.41666666666666669 1 +0.9375 0.3125 1 +0.6875 0.20833333333333334 1 +0.5625 0.0625 1 +0.6875 0.083333333333333329 1 +0.5625 0.1875 1 +0.46070082736688805 0.5625 1.1669083293656042 +0.3125 0.6875 1 +0.32142857142857145 0.5714285714285714 1 +0.41666666666666669 0.6875 1 +0.1875 0.8125 1 +0.050000000000000003 0.94999999999999996 1 +0.071428571428571425 0.8214285714285714 1 +0.17857142857142858 0.9285714285714286 1 +0.1875 0.70833333333333337 1 +0.0625 0.5625 1 +0.1875 0.58333333333333337 1 +0.0625 0.6875 1 +0.3125 0.79166666666666663 1 +0.4375 0.9375 1 +0.3125 0.91666666666666663 1 +0.4375 0.8125 1 +0.050000000000000003 1 0.050000000000000003 +0.1875 1 0.1875 +0.17857142857142858 1 0.071428571428571425 +0.071428571428571425 1 0.17857142857142858 +0.3125 1 0.3125 +0.4375 1 0.4375 +0.42857142857142855 1 0.32142857142857145 +0.32142857142857145 1 0.42857142857142855 +0.3125 1 0.20833333333333334 +0.4375 1 0.0625 +0.3125 1 0.083333333333333329 +0.4375 1 0.1875 +0.1875 1 0.29166666666666669 +0.0625 1 0.4375 +0.1875 1 0.41666666666666669 +0.0625 1 0.3125 +0.5625 1 0.5625 +0.6875 1 0.6875 +0.6785714285714286 1 0.5714285714285714 +0.5714285714285714 1 0.6785714285714286 +0.8125 1 0.8125 +0.94999999999999996 1 0.94999999999999996 +0.9285714285714286 1 0.8214285714285714 +0.8214285714285714 1 0.9285714285714286 +0.8125 1 0.70833333333333337 +0.9375 1 0.5625 +0.8125 1 0.58333333333333337 +0.9375 1 0.6875 +0.6875 1 0.79166666666666663 +0.5625 1 0.9375 +0.6875 1 0.91666666666666663 +0.5625 1 0.8125 +0.5625 1 0.45833333333333331 +0.6875 1 0.3125 +0.5714285714285714 1 0.32142857142857145 +0.6875 1 0.41666666666666669 +0.8125 1 0.1875 +0.94999999999999996 1 0.050000000000000003 +0.8214285714285714 1 0.071428571428571425 +0.9285714285714286 1 0.17857142857142858 +0.70833333333333337 1 0.1875 +0.5625 1 0.0625 +0.58333333333333337 1 0.1875 +0.6875 1 0.0625 +0.79166666666666663 1 0.3125 +0.9375 1 0.4375 +0.91666666666666663 1 0.3125 +0.8125 1 0.4375 +0.4375 1 0.54166666666666663 +0.3125 1 0.6875 +0.42857142857142855 1 0.6785714285714286 +0.3125 1 0.58333333333333337 +0.1875 1 0.8125 +0.050000000000000003 1 0.94999999999999996 +0.17857142857142858 1 0.9285714285714286 +0.071428571428571425 1 0.8214285714285714 +0.29166666666666669 1 0.8125 +0.4375 1 0.9375 +0.41666666666666669 1 0.8125 +0.3125 1 0.9375 +0.20833333333333334 1 0.6875 +0.0625 1 0.5625 +0.083333333333333329 1 0.6875 +0.1875 1 0.5625 +0.050000000000000003 0 0.050000000000000003 +0.1875 0 0.1875 +0.071428571428571425 0 0.17857142857142858 +0.17857142857142858 0 0.071428571428571425 +0.31007368741917724 -0.15528400517265561 0.3125 +0.4375 0 0.4375 +0.32142857142857145 0 0.42857142857142855 +0.42614511599060578 -0.15528400517265561 0.32142857142857145 +0.20833333333333334 0 0.3125 +0.0625 0 0.4375 +0.083333333333333329 0 0.3125 +0.1875 0 0.4375 +0.28924035408584392 -0.15528400517265561 0.1875 +0.4375 0 0.0625 +0.41424035408584392 -0.15528400517265561 0.1875 +0.31007368741917724 -0.15528400517265561 0.0625 +0.5625 0 0.5625 +0.68171265662391467 -0.18808865972277025 0.6875 +0.5714285714285714 0 0.6785714285714286 +0.67278408519534327 -0.18808865972277025 0.5714285714285714 +0.80671265662391467 -0.18808865972277025 0.8125 +0.94999999999999996 0 0.94999999999999996 +0.8214285714285714 0 0.9285714285714286 +0.9285714285714286 0 0.8214285714285714 +0.70254598995724804 -0.18808865972277025 0.8125 +0.5625 0 0.9375 +0.58333333333333337 0 0.8125 +0.6875 0 0.9375 +0.7858793232905813 -0.18808865972277025 0.6875 +0.9375 0 0.5625 +0.9108793232905813 -0.18808865972277025 0.6875 +0.80671265662391467 -0.18808865972277025 0.5625 +0.45833333333333331 0 0.5625 +0.30366120074745051 -0.19739984997360693 0.6875 +0.32142857142857145 0 0.5714285714285714 +0.41666666666666669 0 0.6875 +0.1875 0 0.8125 +0.050000000000000003 0 0.94999999999999996 +0.071428571428571425 0 0.8214285714285714 +0.17857142857142858 0 0.9285714285714286 +0.17866120074745048 -0.19739984997360693 0.70833333333333337 +0.0625 0 0.5625 +0.1875 0 0.58333333333333337 +0.0625 0 0.6875 +0.30366120074745051 -0.19739984997360693 0.79166666666666663 +0.4375 0 0.9375 +0.3125 0 0.91666666666666663 +0.4375 0 0.8125 +0.54166666666666663 0 0.4375 +0.6875 0 0.3125 +0.6785714285714286 0 0.42857142857142855 +0.58333333333333337 0 0.3125 +0.8125 0 0.1875 +0.94999999999999996 0 0.050000000000000003 +0.9285714285714286 0 0.17857142857142858 +0.8214285714285714 0 0.071428571428571425 +0.8125 0 0.29166666666666669 +0.9375 0 0.4375 +0.8125 0 0.41666666666666669 +0.9375 0 0.3125 +0.6875 0 0.20833333333333334 +0.5625 0 0.0625 +0.6875 0 0.083333333333333329 +0.5625 0 0.1875 +1 0.94999999999999996 0.050000000000000003 +1 0.8125 0.1875 +1 0.8214285714285714 0.071428571428571425 +1 0.9285714285714286 0.17857142857142858 +1 0.6875 0.3125 +1 0.5625 0.4375 +1 0.5714285714285714 0.32142857142857145 +1 0.6785714285714286 0.42857142857142855 +1 0.6875 0.20833333333333334 +1 0.5625 0.0625 +1 0.6875 0.083333333333333329 +1 0.5625 0.1875 +1 0.8125 0.29166666666666669 +1 0.9375 0.4375 +1 0.8125 0.41666666666666669 +1 0.9375 0.3125 +1 0.4375 0.5625 +1 0.3125 0.6875 +1 0.32142857142857145 0.5714285714285714 +1 0.42857142857142855 0.6785714285714286 +1 0.1875 0.8125 +1 0.050000000000000003 0.94999999999999996 +1 0.071428571428571425 0.8214285714285714 +1 0.17857142857142858 0.9285714285714286 +1 0.1875 0.70833333333333337 +1 0.0625 0.5625 +1 0.1875 0.58333333333333337 +1 0.0625 0.6875 +1 0.3125 0.79166666666666663 +1 0.4375 0.9375 +1 0.3125 0.91666666666666663 +1 0.4375 0.8125 +1 0.4375 0.45833333333333331 +1 0.3125 0.3125 +1 0.42857142857142855 0.32142857142857145 +1 0.3125 0.41666666666666669 +1 0.1875 0.1875 +1 0.050000000000000003 0.050000000000000003 +1 0.17857142857142858 0.071428571428571425 +1 0.071428571428571425 0.17857142857142858 +1 0.29166666666666669 0.1875 +1 0.4375 0.0625 +1 0.41666666666666669 0.1875 +1 0.3125 0.0625 +1 0.20833333333333334 0.3125 +1 0.0625 0.4375 +1 0.083333333333333329 0.3125 +1 0.1875 0.4375 +1 0.5625 0.54166666666666663 +1 0.6875 0.6875 +1 0.5714285714285714 0.6785714285714286 +1 0.6875 0.58333333333333337 +1 0.8125 0.8125 +1 0.94999999999999996 0.94999999999999996 +1 0.8214285714285714 0.9285714285714286 +1 0.9285714285714286 0.8214285714285714 +1 0.70833333333333337 0.8125 +1 0.5625 0.9375 +1 0.58333333333333337 0.8125 +1 0.6875 0.9375 +1 0.79166666666666663 0.6875 +1 0.9375 0.5625 +1 0.91666666666666663 0.6875 +1 0.8125 0.5625 +0 0.050000000000000003 0.94999999999999996 +0 0.1875 0.8125 +0 0.071428571428571425 0.8214285714285714 +0 0.17857142857142858 0.9285714285714286 +0 0.3125 0.6875 +-0.20102054000521782 0.43556711019225747 0.5625 +0 0.32142857142857145 0.5714285714285714 +-0.20102054000521782 0.42663853876368601 0.6785714285714286 +0 0.20833333333333334 0.6875 +0 0.0625 0.5625 +0 0.083333333333333329 0.6875 +0 0.1875 0.5625 +0 0.29166666666666669 0.8125 +0 0.4375 0.9375 +0 0.41666666666666669 0.8125 +0 0.3125 0.9375 +-0.20102054000521782 0.56056711019225747 0.4375 +0 0.6875 0.3125 +0 0.5714285714285714 0.32142857142857145 +0 0.6785714285714286 0.42857142857142855 +0 0.8125 0.1875 +0 0.94999999999999996 0.050000000000000003 +0 0.8214285714285714 0.071428571428571425 +0 0.9285714285714286 0.17857142857142858 +0 0.70833333333333337 0.1875 +0 0.5625 0.0625 +0 0.58333333333333337 0.1875 +0 0.6875 0.0625 +0 0.79166666666666663 0.3125 +0 0.9375 0.4375 +0 0.91666666666666663 0.3125 +0 0.8125 0.4375 +-0.20102054000521782 0.45640044352559078 0.4375 +0 0.3125 0.3125 +0 0.32142857142857145 0.42857142857142855 +0 0.41666666666666669 0.3125 +0 0.1875 0.1875 +0 0.050000000000000003 0.050000000000000003 +0 0.071428571428571425 0.17857142857142858 +0 0.17857142857142858 0.071428571428571425 +0 0.1875 0.29166666666666669 +0 0.0625 0.4375 +0 0.1875 0.41666666666666669 +0 0.0625 0.3125 +0 0.3125 0.20833333333333334 +0 0.4375 0.0625 +0 0.3125 0.083333333333333329 +0 0.4375 0.1875 +-0.20102054000521782 0.5397337768589241 0.5625 +0 0.6875 0.6875 +-0.20102054000521782 0.67663853876368607 0.5714285714285714 +-0.20102054000521782 0.58140044352559084 0.6875 +0 0.8125 0.8125 +0 0.94999999999999996 0.94999999999999996 +0 0.9285714285714286 0.8214285714285714 +0 0.8214285714285714 0.9285714285714286 +0 0.8125 0.70833333333333337 +0 0.9375 0.5625 +0 0.8125 0.58333333333333337 +0 0.9375 0.6875 +0 0.6875 0.79166666666666663 +0 0.5625 0.9375 +0 0.6875 0.91666666666666663 +0 0.5625 0.8125 +1 0.9375 0 +1 0.8125 0 +0.9375 0.89583333333333337 0 +1 0.89583333333333337 0.0625 +1 0.6875 0 +1 0.5625 0 +0.91666666666666663 0.625 0 +1 0.625 0.0625 +0.95833333333333337 0.75 0 +0.8125 0.77083333333333337 0 +0.85416666666666663 0.8125 0 +0.875 0.66666666666666663 0 +1 0.75 0.041666666666666671 +1 0.7589285714285714 0.17857142857142858 +1 0.6875 0.14583333333333334 +1 0.8125 0.14583333333333334 +1 0.4375 0 +1 0.3125 0 +0.9375 0.375 0 +1 0.375 0.083333333333333329 +1 0.1875 0 +1 0.0625 0 +0.9375 0.10416666666666667 0 +1 0.10416666666666667 0.0625 +0.95833333333333337 0.25 0 +0.8214285714285714 0.24107142857142858 0 +0.85416666666666663 0.3125 0 +0.85416666666666663 0.1875 0 +1 0.25 0.041666666666666671 +1 0.22916666666666666 0.1875 +1 0.1875 0.14583333333333334 +1 0.33333333333333331 0.125 +0.95833333333333337 0.5 0 +0.8035714285714286 0.5089285714285714 0 +0.875 0.5625 0 +0.875 0.41666666666666669 0 +0.6964285714285714 0.49107142857142855 0 +0.5625 0.52083333333333337 0 +0.60416666666666663 0.5625 0 +0.625 0.4375 0 +0.75 0.54166666666666663 0 +0.7410714285714286 0.6785714285714286 0 +0.8125 0.64583333333333337 0 +0.6875 0.64583333333333337 0 +0.75 0.45833333333333331 0 +0.72916666666666663 0.3125 0 +0.6875 0.35416666666666669 0 +0.83333333333333337 0.375 0 +1 0.5 0.041666666666666671 +1 0.49107142857142855 0.19642857142857142 +1 0.4375 0.125 +1 0.58333333333333337 0.125 +1 0.5 0.29166666666666669 +1 0.5089285714285714 0.42857142857142855 +1 0.4375 0.39583333333333331 +1 0.5625 0.39583333333333331 +1 0.45833333333333331 0.25 +1 0.32142857142857145 0.25892857142857145 +1 0.35416666666666669 0.1875 +1 0.35416666666666669 0.3125 +1 0.54166666666666663 0.25 +1 0.6875 0.27083333333333331 +1 0.64583333333333337 0.3125 +1 0.625 0.16666666666666666 +0.9375 0 0 +0.8125 0 0 +0.89583333333333337 0.0625 0 +0.89583333333333337 0 0.0625 +0.6875 0 0 +0.5625 0 0 +0.625 0.083333333333333329 0 +0.625 0 0.0625 +0.75 0.041666666666666671 0 +0.77083333333333337 0.1875 0 +0.8125 0.14583333333333334 0 +0.66666666666666663 0.125 0 +0.75 0 0.041666666666666671 +0.7589285714285714 0 0.17857142857142858 +0.6875 0 0.14583333333333334 +0.8125 0 0.14583333333333334 +0.4375 0 0 +0.3125 0 0 +0.375 0.0625 0 +0.37257368741917724 -0.15528400517265561 0.083333333333333329 +0.1875 0 0 +0.0625 0 0 +0.10416666666666667 0.0625 0 +0.10416666666666667 0 0.0625 +0.25 0.041666666666666671 0 +0.24107142857142858 0.17857142857142858 0 +0.3125 0.14583333333333334 0 +0.1875 0.14583333333333334 0 +0.25 0 0.041666666666666671 +0.22674035408584389 -0.15528400517265561 0.1875 +0.1875 0 0.14583333333333334 +0.33090702075251055 -0.15528400517265561 0.125 +0.5 0.041666666666666671 0 +0.5089285714285714 0.19642857142857142 0 +0.5625 0.125 0 +0.41666666666666669 0.125 0 +0.5 0.29166666666666669 0 +0.49107142857142855 0.42857142857142855 0 +0.5625 0.39583333333333331 0 +0.4375 0.39583333333333331 0 +0.54166666666666663 0.25 0 +0.6785714285714286 0.25892857142857145 0 +0.64583333333333337 0.1875 0 +0.64583333333333337 0.3125 0 +0.45833333333333331 0.25 0 +0.3125 0.27083333333333331 0 +0.35416666666666669 0.3125 0 +0.375 0.16666666666666666 0 +0.5 0 0.041666666666666671 +0.48864511599060578 -0.15528400517265561 0.19642857142857142 +0.43507368741917724 -0.15528400517265561 0.125 +0.58333333333333337 0 0.125 +0.5089285714285714 0 0.30357142857142855 +0.47916666666666669 0 0.4375 +0.4375 0 0.39583333333333331 +0.5625 0 0.375 +0.45590702075251055 -0.15528400517265561 0.25 +0.31900225884774869 -0.15528400517265561 0.25892857142857145 +0.35174035408584392 -0.15528400517265561 0.1875 +0.35174035408584392 -0.15528400517265561 0.3125 +0.54166666666666663 0 0.25 +0.6875 0 0.27083333333333331 +0.64583333333333337 0 0.3125 +0.625 0 0.16666666666666666 +0 0.0625 0 +0 0.1875 0 +0.0625 0.10416666666666667 0 +0 0.10416666666666667 0.0625 +0 0.3125 0 +0 0.4375 0 +0.083333333333333329 0.375 0 +0 0.375 0.0625 +0.041666666666666671 0.25 0 +0.1875 0.22916666666666666 0 +0.14583333333333334 0.1875 0 +0.125 0.33333333333333331 0 +0 0.25 0.041666666666666671 +0 0.24107142857142858 0.17857142857142858 +0 0.3125 0.14583333333333334 +0 0.1875 0.14583333333333334 +0 0.5625 0 +0 0.6875 0 +0.0625 0.625 0 +0 0.625 0.083333333333333329 +0 0.8125 0 +0 0.9375 0 +0.0625 0.89583333333333337 0 +0 0.89583333333333337 0.0625 +0.041666666666666671 0.75 0 +0.17857142857142858 0.7589285714285714 0 +0.14583333333333334 0.6875 0 +0.14583333333333334 0.8125 0 +0 0.75 0.041666666666666671 +0 0.77083333333333337 0.1875 +0 0.8125 0.14583333333333334 +0 0.66666666666666663 0.125 +0.041666666666666671 0.5 0 +0.19642857142857142 0.49107142857142855 0 +0.125 0.4375 0 +0.125 0.58333333333333337 0 +0.30357142857142855 0.5089285714285714 0 +0.4375 0.47916666666666669 0 +0.39583333333333331 0.4375 0 +0.375 0.5625 0 +0.25 0.45833333333333331 0 +0.25892857142857145 0.32142857142857145 0 +0.1875 0.35416666666666669 0 +0.3125 0.35416666666666669 0 +0.25 0.54166666666666663 0 +0.27083333333333331 0.6875 0 +0.3125 0.64583333333333337 0 +0.16666666666666666 0.625 0 +0 0.5 0.041666666666666671 +0 0.5089285714285714 0.19642857142857142 +0 0.5625 0.125 +0 0.41666666666666669 0.125 +0 0.49107142857142855 0.30357142857142855 +-0.20102054000521782 0.51890044352559084 0.4375 +0 0.5625 0.39583333333333331 +0 0.4375 0.375 +0 0.54166666666666663 0.25 +0 0.6785714285714286 0.25892857142857145 +0 0.64583333333333337 0.1875 +0 0.64583333333333337 0.3125 +0 0.45833333333333331 0.25 +0 0.3125 0.27083333333333331 +0 0.35416666666666669 0.3125 +0 0.375 0.16666666666666666 +0.0625 1 0 +0.1875 1 0 +0.10416666666666667 0.9375 0 +0.10416666666666667 1 0.0625 +0.3125 1 0 +0.4375 1 0 +0.375 0.91666666666666663 0 +0.375 1 0.0625 +0.25 0.95833333333333337 0 +0.22916666666666666 0.8125 0 +0.1875 0.85416666666666663 0 +0.33333333333333331 0.875 0 +0.25 1 0.041666666666666671 +0.24107142857142858 1 0.17857142857142858 +0.3125 1 0.14583333333333334 +0.1875 1 0.14583333333333334 +0.5625 1 0 +0.6875 1 0 +0.625 0.9375 0 +0.625 1 0.083333333333333329 +0.8125 1 0 +0.9375 1 0 +0.89583333333333337 0.9375 0 +0.89583333333333337 1 0.0625 +0.75 0.95833333333333337 0 +0.7589285714285714 0.8214285714285714 0 +0.6875 0.85416666666666663 0 +0.8125 0.85416666666666663 0 +0.75 1 0.041666666666666671 +0.77083333333333337 1 0.1875 +0.8125 1 0.14583333333333334 +0.66666666666666663 1 0.125 +0.5 0.95833333333333337 0 +0.49107142857142855 0.8035714285714286 0 +0.4375 0.875 0 +0.58333333333333337 0.875 0 +0.5 0.70833333333333337 0 +0.5089285714285714 0.5714285714285714 0 +0.4375 0.60416666666666663 0 +0.5625 0.60416666666666663 0 +0.45833333333333331 0.75 0 +0.32142857142857145 0.7410714285714286 0 +0.35416666666666669 0.8125 0 +0.35416666666666669 0.6875 0 +0.54166666666666663 0.75 0 +0.6875 0.72916666666666663 0 +0.64583333333333337 0.6875 0 +0.625 0.83333333333333337 0 +0.5 1 0.041666666666666671 +0.5089285714285714 1 0.19642857142857142 +0.5625 1 0.125 +0.41666666666666669 1 0.125 +0.5 1 0.29166666666666669 +0.49107142857142855 1 0.42857142857142855 +0.5625 1 0.39583333333333331 +0.4375 1 0.39583333333333331 +0.54166666666666663 1 0.25 +0.6785714285714286 1 0.25892857142857145 +0.64583333333333337 1 0.1875 +0.64583333333333337 1 0.3125 +0.45833333333333331 1 0.25 +0.3125 1 0.27083333333333331 +0.35416666666666669 1 0.3125 +0.375 1 0.16666666666666666 +0.0625 0 1 +0.1875 0 1 +0.10416666666666667 0.0625 1 +0.10416666666666667 0 0.9375 +0.3125 0 1 +0.4375 0 1 +0.375 0.083333333333333329 1 +0.375 0 0.9375 +0.25 0.041666666666666671 1 +0.22916666666666666 0.1875 1 +0.1875 0.14583333333333334 1 +0.33333333333333331 0.125 1 +0.25 0 0.95833333333333337 +0.23223262931887906 -0.19739984997360693 0.8214285714285714 +0.30366120074745051 -0.19739984997360693 0.85416666666666663 +0.1875 0 0.85416666666666663 +0.5625 0 1 +0.6875 0 1 +0.625 0.0625 1 +0.625 0 0.91666666666666663 +0.8125 0 1 +0.9375 0 1 +0.89583333333333337 0.0625 1 +0.89583333333333337 0 0.9375 +0.75 0.041666666666666671 1 +0.7589285714285714 0.17857142857142858 1 +0.6875 0.14583333333333334 1 +0.8125 0.14583333333333334 1 +0.75 0 0.95833333333333337 +0.76504598995724804 -0.18808865972277025 0.8125 +0.8125 0 0.85416666666666663 +0.66666666666666663 0 0.875 +0.5 0.041666666666666671 1 +0.49107142857142855 0.19642857142857142 1 +0.4375 0.125 1 +0.58333333333333337 0.125 1 +0.5089285714285714 0.30357142857142855 1 +0.48153416070022143 0.4375 1.1669083293656042 +0.4375 0.39583333333333331 1 +0.5625 0.375 1 +0.45833333333333331 0.25 1 +0.32142857142857145 0.25892857142857145 1 +0.35416666666666669 0.1875 1 +0.35416666666666669 0.3125 1 +0.54166666666666663 0.25 1 +0.6875 0.27083333333333331 1 +0.64583333333333337 0.3125 1 +0.625 0.16666666666666666 1 +0.5 0 0.95833333333333337 +0.5089285714285714 0 0.8035714285714286 +0.5625 0 0.875 +0.41666666666666669 0 0.875 +0.49107142857142855 0 0.6964285714285714 +0.52083333333333337 0 0.5625 +0.5625 0 0.60416666666666663 +0.4375 0 0.625 +0.54166666666666663 0 0.75 +0.67278408519534327 -0.18808865972277025 0.7410714285714286 +0.64583333333333337 0 0.8125 +0.64583333333333337 0 0.6875 +0.45833333333333331 0 0.75 +0.30366120074745051 -0.19739984997360693 0.72916666666666663 +0.35416666666666669 0 0.6875 +0.375 0 0.83333333333333337 +1 0.0625 1 +1 0.1875 1 +0.9375 0.10416666666666667 1 +1 0.10416666666666667 0.9375 +1 0.3125 1 +1 0.4375 1 +0.91666666666666663 0.375 1 +1 0.375 0.9375 +0.95833333333333337 0.25 1 +0.8125 0.22916666666666666 1 +0.85416666666666663 0.1875 1 +0.875 0.33333333333333331 1 +1 0.25 0.95833333333333337 +1 0.24107142857142858 0.8214285714285714 +1 0.3125 0.85416666666666663 +1 0.1875 0.85416666666666663 +1 0.5625 1 +1 0.6875 1 +0.9375 0.625 1 +1 0.625 0.91666666666666663 +1 0.8125 1 +1 0.9375 1 +0.9375 0.89583333333333337 1 +1 0.89583333333333337 0.9375 +0.95833333333333337 0.75 1 +0.8214285714285714 0.7589285714285714 1 +0.85416666666666663 0.6875 1 +0.85416666666666663 0.8125 1 +1 0.75 0.95833333333333337 +1 0.77083333333333337 0.8125 +1 0.8125 0.85416666666666663 +1 0.66666666666666663 0.875 +0.95833333333333337 0.5 1 +0.8035714285714286 0.49107142857142855 1 +0.875 0.4375 1 +0.875 0.58333333333333337 1 +0.70833333333333337 0.5 1 +0.57379606546212614 0.5089285714285714 1.1669083293656042 +0.60653416070022137 0.4375 1.1669083293656042 +0.60653416070022137 0.5625 1.1669083293656042 +0.75 0.45833333333333331 1 +0.7410714285714286 0.32142857142857145 1 +0.8125 0.35416666666666669 1 +0.6875 0.35416666666666669 1 +0.75 0.54166666666666663 1 +0.72916666666666663 0.6875 1 +0.6875 0.64583333333333337 1 +0.83333333333333337 0.625 1 +1 0.5 0.95833333333333337 +1 0.5089285714285714 0.8035714285714286 +1 0.5625 0.875 +1 0.41666666666666669 0.875 +1 0.5 0.70833333333333337 +1 0.49107142857142855 0.5714285714285714 +1 0.5625 0.60416666666666663 +1 0.4375 0.60416666666666663 +1 0.54166666666666663 0.75 +1 0.6785714285714286 0.7410714285714286 +1 0.64583333333333337 0.8125 +1 0.64583333333333337 0.6875 +1 0.45833333333333331 0.75 +1 0.3125 0.72916666666666663 +1 0.35416666666666669 0.6875 +1 0.375 0.83333333333333337 +0.9375 1 1 +0.8125 1 1 +0.89583333333333337 0.9375 1 +0.89583333333333337 1 0.9375 +0.6875 1 1 +0.5625 1 1 +0.625 0.91666666666666663 1 +0.625 1 0.9375 +0.75 0.95833333333333337 1 +0.77083333333333337 0.8125 1 +0.8125 0.85416666666666663 1 +0.66666666666666663 0.875 1 +0.75 1 0.95833333333333337 +0.7589285714285714 1 0.8214285714285714 +0.6875 1 0.85416666666666663 +0.8125 1 0.85416666666666663 +0.4375 1 1 +0.3125 1 1 +0.375 0.9375 1 +0.375 1 0.91666666666666663 +0.1875 1 1 +0.0625 1 1 +0.10416666666666667 0.9375 1 +0.10416666666666667 1 0.9375 +0.25 0.95833333333333337 1 +0.24107142857142858 0.8214285714285714 1 +0.3125 0.85416666666666663 1 +0.1875 0.85416666666666663 1 +0.25 1 0.95833333333333337 +0.22916666666666666 1 0.8125 +0.1875 1 0.85416666666666663 +0.33333333333333331 1 0.875 +0.5 0.95833333333333337 1 +0.5089285714285714 0.8035714285714286 1 +0.5625 0.875 1 +0.41666666666666669 0.875 1 +0.49107142857142855 0.6964285714285714 1 +0.52320082736688811 0.5625 1.1669083293656042 +0.5625 0.60416666666666663 1 +0.4375 0.625 1 +0.54166666666666663 0.75 1 +0.6785714285714286 0.7410714285714286 1 +0.64583333333333337 0.8125 1 +0.64583333333333337 0.6875 1 +0.45833333333333331 0.75 1 +0.3125 0.72916666666666663 1 +0.35416666666666669 0.6875 1 +0.375 0.83333333333333337 1 +0.5 1 0.95833333333333337 +0.49107142857142855 1 0.8035714285714286 +0.4375 1 0.875 +0.58333333333333337 1 0.875 +0.5 1 0.70833333333333337 +0.5089285714285714 1 0.5714285714285714 +0.4375 1 0.60416666666666663 +0.5625 1 0.60416666666666663 +0.45833333333333331 1 0.75 +0.32142857142857145 1 0.7410714285714286 +0.35416666666666669 1 0.8125 +0.35416666666666669 1 0.6875 +0.54166666666666663 1 0.75 +0.6875 1 0.72916666666666663 +0.64583333333333337 1 0.6875 +0.625 1 0.83333333333333337 +0 0.9375 1 +0 0.8125 1 +0.0625 0.89583333333333337 1 +0 0.89583333333333337 0.9375 +0 0.6875 1 +0 0.5625 1 +0.083333333333333329 0.625 1 +0 0.625 0.9375 +0.041666666666666671 0.75 1 +0.1875 0.77083333333333337 1 +0.14583333333333334 0.8125 1 +0.125 0.66666666666666663 1 +0 0.75 0.95833333333333337 +0 0.7589285714285714 0.8214285714285714 +0 0.6875 0.85416666666666663 +0 0.8125 0.85416666666666663 +0 0.4375 1 +0 0.3125 1 +0.0625 0.375 1 +0 0.375 0.91666666666666663 +0 0.1875 1 +0 0.0625 1 +0.0625 0.10416666666666667 1 +0 0.10416666666666667 0.9375 +0.041666666666666671 0.25 1 +0.17857142857142858 0.24107142857142858 1 +0.14583333333333334 0.3125 1 +0.14583333333333334 0.1875 1 +0 0.25 0.95833333333333337 +0 0.22916666666666666 0.8125 +0 0.1875 0.85416666666666663 +0 0.33333333333333331 0.875 +0.041666666666666671 0.5 1 +0.19642857142857142 0.5089285714285714 1 +0.125 0.5625 1 +0.125 0.41666666666666669 1 +0.29166666666666669 0.5 1 +0.43093892260498329 0.49107142857142855 1.1669083293656042 +0.39820082736688805 0.5625 1.1669083293656042 +0.39820082736688805 0.4375 1.1669083293656042 +0.25 0.54166666666666663 1 +0.25892857142857145 0.6785714285714286 1 +0.1875 0.64583333333333337 1 +0.3125 0.64583333333333337 1 +0.25 0.45833333333333331 1 +0.27083333333333331 0.3125 1 +0.3125 0.35416666666666669 1 +0.16666666666666666 0.375 1 +0 0.5 0.95833333333333337 +0 0.49107142857142855 0.8035714285714286 +0 0.4375 0.875 +0 0.58333333333333337 0.875 +-0.20102054000521782 0.50699568162082886 0.6964285714285714 +-0.20102054000521782 0.47723377685892415 0.5625 +-0.20102054000521782 0.43556711019225747 0.60416666666666663 +-0.20102054000521782 0.56056711019225747 0.625 +0 0.45833333333333331 0.75 +0 0.32142857142857145 0.7410714285714286 +0 0.35416666666666669 0.8125 +0 0.35416666666666669 0.6875 +0 0.54166666666666663 0.75 +0 0.6875 0.72916666666666663 +0 0.64583333333333337 0.6875 +0 0.625 0.83333333333333337 +1 1 0.9375 +1 1 0.8125 +0.9375 1 0.89583333333333337 +1 0.9375 0.89583333333333337 +1 1 0.6875 +1 1 0.5625 +0.91666666666666663 1 0.625 +1 0.9375 0.625 +0.95833333333333337 1 0.75 +0.8125 1 0.77083333333333337 +0.85416666666666663 1 0.8125 +0.875 1 0.66666666666666663 +1 0.95833333333333337 0.75 +1 0.8214285714285714 0.7589285714285714 +1 0.85416666666666663 0.6875 +1 0.85416666666666663 0.8125 +1 1 0.4375 +1 1 0.3125 +0.9375 1 0.375 +1 0.91666666666666663 0.375 +1 1 0.1875 +1 1 0.0625 +0.9375 1 0.10416666666666667 +1 0.9375 0.10416666666666667 +0.95833333333333337 1 0.25 +0.8214285714285714 1 0.24107142857142858 +0.85416666666666663 1 0.3125 +0.85416666666666663 1 0.1875 +1 0.95833333333333337 0.25 +1 0.8125 0.22916666666666666 +1 0.85416666666666663 0.1875 +1 0.875 0.33333333333333331 +0.95833333333333337 1 0.5 +0.8035714285714286 1 0.5089285714285714 +0.875 1 0.5625 +0.875 1 0.41666666666666669 +0.6964285714285714 1 0.49107142857142855 +0.5625 1 0.52083333333333337 +0.60416666666666663 1 0.5625 +0.625 1 0.4375 +0.75 1 0.54166666666666663 +0.7410714285714286 1 0.6785714285714286 +0.8125 1 0.64583333333333337 +0.6875 1 0.64583333333333337 +0.75 1 0.45833333333333331 +0.72916666666666663 1 0.3125 +0.6875 1 0.35416666666666669 +0.83333333333333337 1 0.375 +1 0.95833333333333337 0.5 +1 0.8035714285714286 0.49107142857142855 +1 0.875 0.4375 +1 0.875 0.58333333333333337 +1 0.6964285714285714 0.5089285714285714 +1 0.5625 0.47916666666666669 +1 0.60416666666666663 0.4375 +1 0.625 0.5625 +1 0.75 0.45833333333333331 +1 0.7410714285714286 0.32142857142857145 +1 0.8125 0.35416666666666669 +1 0.6875 0.35416666666666669 +1 0.75 0.54166666666666663 +1 0.72916666666666663 0.6875 +1 0.6875 0.64583333333333337 +1 0.83333333333333337 0.625 +0 1 0.0625 +0 1 0.1875 +0.0625 1 0.10416666666666667 +0 0.9375 0.10416666666666667 +0 1 0.3125 +0 1 0.4375 +0.083333333333333329 1 0.375 +0 0.9375 0.375 +0.041666666666666671 1 0.25 +0.1875 1 0.22916666666666666 +0.14583333333333334 1 0.1875 +0.125 1 0.33333333333333331 +0 0.95833333333333337 0.25 +0 0.8214285714285714 0.24107142857142858 +0 0.85416666666666663 0.3125 +0 0.85416666666666663 0.1875 +0 1 0.5625 +0 1 0.6875 +0.0625 1 0.625 +0 0.91666666666666663 0.625 +0 1 0.8125 +0 1 0.9375 +0.0625 1 0.89583333333333337 +0 0.9375 0.89583333333333337 +0.041666666666666671 1 0.75 +0.17857142857142858 1 0.7589285714285714 +0.14583333333333334 1 0.6875 +0.14583333333333334 1 0.8125 +0 0.95833333333333337 0.75 +0 0.8125 0.77083333333333337 +0 0.85416666666666663 0.8125 +0 0.875 0.66666666666666663 +0.041666666666666671 1 0.5 +0.19642857142857142 1 0.49107142857142855 +0.125 1 0.4375 +0.125 1 0.58333333333333337 +0.30357142857142855 1 0.5089285714285714 +0.4375 1 0.47916666666666669 +0.39583333333333331 1 0.4375 +0.375 1 0.5625 +0.25 1 0.45833333333333331 +0.25892857142857145 1 0.32142857142857145 +0.1875 1 0.35416666666666669 +0.3125 1 0.35416666666666669 +0.25 1 0.54166666666666663 +0.27083333333333331 1 0.6875 +0.3125 1 0.64583333333333337 +0.16666666666666666 1 0.625 +0 0.95833333333333337 0.5 +0 0.8035714285714286 0.5089285714285714 +0 0.875 0.5625 +0 0.875 0.41666666666666669 +0 0.70833333333333337 0.5 +-0.20102054000521782 0.56949568162082886 0.49107142857142855 +-0.20102054000521782 0.6022337768589241 0.5625 +-0.20102054000521782 0.6022337768589241 0.4375 +0 0.75 0.54166666666666663 +0 0.7410714285714286 0.6785714285714286 +0 0.8125 0.64583333333333337 +0 0.6875 0.64583333333333337 +0 0.75 0.45833333333333331 +0 0.72916666666666663 0.3125 +0 0.6875 0.35416666666666669 +0 0.83333333333333337 0.375 +0 0 0.9375 +0 0 0.8125 +0.0625 0 0.89583333333333337 +0 0.0625 0.89583333333333337 +0 0 0.6875 +0 0 0.5625 +0.083333333333333329 0 0.625 +0 0.0625 0.625 +0.041666666666666671 0 0.75 +0.17866120074745048 -0.19739984997360693 0.77083333333333337 +0.14583333333333334 0 0.8125 +0.125 0 0.66666666666666663 +0 0.041666666666666671 0.75 +0 0.17857142857142858 0.7589285714285714 +0 0.14583333333333334 0.6875 +0 0.14583333333333334 0.8125 +0 0 0.4375 +0 0 0.3125 +0.0625 0 0.375 +0 0.083333333333333329 0.375 +0 0 0.1875 +0 0 0.0625 +0.0625 0 0.10416666666666667 +0 0.0625 0.10416666666666667 +0.041666666666666671 0 0.25 +0.17857142857142858 0 0.24107142857142858 +0.14583333333333334 0 0.3125 +0.14583333333333334 0 0.1875 +0 0.041666666666666671 0.25 +0 0.1875 0.22916666666666666 +0 0.14583333333333334 0.1875 +0 0.125 0.33333333333333331 +0.041666666666666671 0 0.5 +0.19642857142857142 0 0.5089285714285714 +0.125 0 0.5625 +0.125 0 0.41666666666666669 +0.29166666666666669 0 0.5 +0.42857142857142855 0 0.49107142857142855 +0.39583333333333331 0 0.5625 +0.39583333333333331 0 0.4375 +0.25 0 0.54166666666666663 +0.25008977217602191 -0.19739984997360693 0.6785714285714286 +0.17866120074745048 -0.19739984997360693 0.64583333333333337 +0.3125 0 0.64583333333333337 +0.25 0 0.45833333333333331 +0.26840702075251055 -0.15528400517265561 0.3125 +0.3125 0 0.35416666666666669 +0.16666666666666666 0 0.375 +0 0.041666666666666671 0.5 +0 0.19642857142857142 0.49107142857142855 +0 0.125 0.4375 +0 0.125 0.58333333333333337 +0 0.29166666666666669 0.5 +-0.20102054000521782 0.42663853876368601 0.5089285714285714 +0 0.39583333333333331 0.4375 +0 0.39583333333333331 0.5625 +0 0.25 0.45833333333333331 +0 0.25892857142857145 0.32142857142857145 +0 0.1875 0.35416666666666669 +0 0.3125 0.35416666666666669 +0 0.25 0.54166666666666663 +0 0.27083333333333331 0.6875 +0 0.3125 0.64583333333333337 +0 0.16666666666666666 0.625 +1 0 0.0625 +1 0 0.1875 +0.9375 0 0.10416666666666667 +1 0.0625 0.10416666666666667 +1 0 0.3125 +1 0 0.4375 +0.91666666666666663 0 0.375 +1 0.0625 0.375 +0.95833333333333337 0 0.25 +0.8125 0 0.22916666666666666 +0.85416666666666663 0 0.1875 +0.875 0 0.33333333333333331 +1 0.041666666666666671 0.25 +1 0.17857142857142858 0.24107142857142858 +1 0.14583333333333334 0.3125 +1 0.14583333333333334 0.1875 +1 0 0.5625 +1 0 0.6875 +0.9375 0 0.625 +1 0.083333333333333329 0.625 +1 0 0.8125 +1 0 0.9375 +0.9375 0 0.89583333333333337 +1 0.0625 0.89583333333333337 +0.95833333333333337 0 0.75 +0.81564122805248607 -0.18808865972277025 0.7589285714285714 +0.8483793232905813 -0.18808865972277025 0.6875 +0.8483793232905813 -0.18808865972277025 0.8125 +1 0.041666666666666671 0.75 +1 0.1875 0.77083333333333337 +1 0.14583333333333334 0.8125 +1 0.125 0.66666666666666663 +0.95833333333333337 0 0.5 +0.8035714285714286 0 0.49107142857142855 +0.875 0 0.4375 +0.86921265662391467 -0.18808865972277025 0.58333333333333337 +0.70833333333333337 0 0.5 +0.5714285714285714 0 0.5089285714285714 +0.60416666666666663 0 0.4375 +0.60416666666666663 0 0.5625 +0.75 0 0.45833333333333331 +0.7410714285714286 0 0.32142857142857145 +0.8125 0 0.35416666666666669 +0.6875 0 0.35416666666666669 +0.74421265662391467 -0.18808865972277025 0.54166666666666663 +0.7233793232905813 -0.18808865972277025 0.6875 +0.68171265662391467 -0.18808865972277025 0.64583333333333337 +0.82754598995724804 -0.18808865972277025 0.625 +1 0.041666666666666671 0.5 +1 0.19642857142857142 0.5089285714285714 +1 0.125 0.5625 +1 0.125 0.41666666666666669 +1 0.30357142857142855 0.49107142857142855 +1 0.4375 0.52083333333333337 +1 0.39583333333333331 0.5625 +1 0.375 0.4375 +1 0.25 0.54166666666666663 +1 0.25892857142857145 0.6785714285714286 +1 0.1875 0.64583333333333337 +1 0.3125 0.64583333333333337 +1 0.25 0.45833333333333331 +1 0.27083333333333331 0.3125 +1 0.3125 0.35416666666666669 +1 0.16666666666666666 0.375 +3 428 867 874 +3 444 995 1002 +3 492 1123 1130 +3 508 1251 1258 +3 556 1011 1018 +3 572 1203 1210 +3 620 1443 1450 +3 636 1507 1514 +3 684 819 826 +3 700 1139 1146 +3 748 1459 1466 +3 764 1395 1402 +3 412 803 810 +3 400 931 938 +3 476 1059 1066 +3 464 1187 1194 +3 540 1315 1322 +3 528 1379 1386 +3 604 1075 1082 +3 592 883 890 +3 668 1523 1530 +3 656 1331 1338 +3 732 947 954 +3 720 1267 1274 +3 432 787 794 +3 652 774 782 +3 396 851 858 +3 640 838 846 +3 448 915 922 +3 752 902 910 +3 416 979 986 +3 524 966 974 +3 496 1043 1050 +3 624 1030 1038 +3 460 1107 1114 +3 672 1094 1102 +3 512 1171 1178 +3 544 1158 1166 +3 480 1235 1242 +3 768 1222 1230 +3 560 1299 1306 +3 704 1286 1294 +3 576 1363 1370 +3 736 1350 1358 +3 588 1427 1434 +3 716 1414 1422 +3 608 1491 1498 +3 688 1478 1486 +3 392 870 878 +3 389 899 906 +3 408 771 778 +3 405 998 1006 +3 424 835 842 +3 421 806 814 +3 440 963 970 +3 437 934 942 +3 456 1126 1134 +3 453 1155 1162 +3 472 1027 1034 +3 469 1254 1262 +3 488 1091 1098 +3 485 1062 1070 +3 504 1219 1226 +3 501 1190 1198 +3 520 1014 1022 +3 517 1347 1354 +3 536 1283 1290 +3 533 1206 1214 +3 552 982 990 +3 549 1318 1326 +3 568 1174 1182 +3 565 1382 1390 +3 584 1446 1454 +3 581 854 862 +3 600 1046 1054 +3 597 1510 1518 +3 616 1411 1418 +3 613 1078 1086 +3 632 1475 1482 +3 629 886 894 +3 648 822 830 +3 645 1302 1310 +3 664 1494 1502 +3 661 1142 1150 +3 680 790 798 +3 677 1526 1534 +3 696 1110 1118 +3 693 1334 1342 +3 712 1462 1470 +3 709 1238 1246 +3 728 918 926 +3 725 1398 1406 +3 744 1430 1438 +3 741 950 958 +3 760 1366 1374 +3 757 1270 1278 +3 413 196 778 +3 644 197 782 +3 425 200 794 +3 685 201 798 +3 404 204 810 +3 804 776 411 +3 676 208 826 +3 820 789 683 +3 429 212 842 +3 633 213 846 +3 388 216 858 +3 593 217 862 +3 420 220 874 +3 868 840 427 +3 585 224 890 +3 884 853 591 +3 401 228 906 +3 745 229 910 +3 441 232 922 +3 733 233 926 +3 393 236 938 +3 932 904 399 +3 724 240 954 +3 948 917 731 +3 445 244 970 +3 516 245 974 +3 409 248 986 +3 557 249 990 +3 436 252 1002 +3 996 968 443 +3 548 256 1018 +3 1012 981 555 +3 477 260 1034 +3 617 261 1038 +3 489 264 1050 +3 605 265 1054 +3 468 268 1066 +3 1060 1032 475 +3 596 272 1082 +3 1076 1045 603 +3 493 276 1098 +3 665 277 1102 +3 452 280 1114 +3 701 281 1118 +3 484 284 1130 +3 1124 1096 491 +3 692 288 1146 +3 1140 1109 699 +3 465 292 1162 +3 537 293 1166 +3 505 296 1178 +3 573 297 1182 +3 457 300 1194 +3 1188 1160 463 +3 564 304 1210 +3 1204 1173 571 +3 509 308 1226 +3 761 309 1230 +3 473 312 1242 +3 721 313 1246 +3 500 316 1258 +3 1252 1224 507 +3 713 320 1274 +3 1268 1237 719 +3 541 324 1290 +3 697 325 1294 +3 553 328 1306 +3 657 329 1310 +3 532 332 1322 +3 1316 1288 539 +3 649 336 1338 +3 1332 1301 655 +3 529 340 1354 +3 729 341 1358 +3 569 344 1370 +3 765 345 1374 +3 521 348 1386 +3 1380 1352 527 +3 756 352 1402 +3 1396 1365 763 +3 621 356 1418 +3 708 357 1422 +3 580 360 1434 +3 749 361 1438 +3 612 364 1450 +3 1444 1416 619 +3 740 368 1466 +3 1460 1429 747 +3 637 372 1482 +3 681 373 1486 +3 601 376 1498 +3 669 377 1502 +3 628 380 1514 +3 1508 1480 635 +3 660 384 1530 +3 1524 1493 667 +3 860 100 396 +3 389 98 900 +3 872 106 420 +3 940 101 400 +3 395 218 866 +3 880 99 392 +3 399 903 930 +3 908 98 389 +3 812 104 412 +3 1000 110 436 +3 408 103 772 +3 988 105 416 +3 411 775 802 +3 780 103 408 +3 415 250 994 +3 1008 102 405 +3 876 108 428 +3 808 102 404 +3 424 107 836 +3 796 109 432 +3 427 839 866 +3 844 107 424 +3 431 202 802 +3 816 106 421 +3 1004 112 444 +3 936 99 393 +3 440 111 964 +3 924 113 448 +3 443 967 994 +3 972 111 440 +3 447 234 930 +3 944 110 437 +3 1116 116 460 +3 453 114 1156 +3 1128 122 484 +3 1196 117 464 +3 459 282 1122 +3 1136 115 456 +3 463 1159 1186 +3 1164 114 453 +3 1068 120 476 +3 1256 126 500 +3 472 119 1028 +3 1244 121 480 +3 475 1031 1058 +3 1036 119 472 +3 479 314 1250 +3 1264 118 469 +3 1132 124 492 +3 1064 118 468 +3 488 123 1092 +3 1052 125 496 +3 491 1095 1122 +3 1100 123 488 +3 495 266 1058 +3 1072 122 485 +3 1260 128 508 +3 1192 115 457 +3 504 127 1220 +3 1180 129 512 +3 507 1223 1250 +3 1228 127 504 +3 511 298 1186 +3 1200 126 501 +3 976 132 524 +3 517 130 1348 +3 1016 138 548 +3 1388 133 528 +3 523 254 1010 +3 1024 131 520 +3 527 1351 1378 +3 1356 130 517 +3 1324 136 540 +3 1208 142 564 +3 536 135 1284 +3 1168 137 544 +3 539 1287 1314 +3 1292 135 536 +3 543 302 1202 +3 1216 134 533 +3 1020 140 556 +3 1320 134 532 +3 552 139 985 +3 1308 141 560 +3 555 978 1010 +3 992 139 552 +3 559 330 1314 +3 1328 138 549 +3 1212 144 572 +3 1384 131 521 +3 568 143 1177 +3 1372 145 576 +3 571 1170 1202 +3 1184 143 568 +3 575 346 1378 +3 1392 142 565 +3 1436 148 588 +3 581 146 857 +3 1448 154 612 +3 892 149 592 +3 587 362 1442 +3 1456 147 584 +3 591 850 882 +3 864 146 581 +3 1084 152 604 +3 1512 158 628 +3 600 151 1049 +3 1500 153 608 +3 603 1042 1074 +3 1056 151 600 +3 607 378 1506 +3 1520 150 597 +3 1452 156 620 +3 1080 150 596 +3 616 155 1412 +3 1040 157 624 +3 619 1415 1442 +3 1420 155 616 +3 623 270 1074 +3 1088 154 613 +3 1516 160 636 +3 888 147 585 +3 632 159 1476 +3 848 161 640 +3 635 1479 1506 +3 1484 159 632 +3 639 222 882 +3 896 158 629 +3 784 164 652 +3 645 162 1305 +3 824 170 676 +3 1340 165 656 +3 651 206 818 +3 832 163 648 +3 655 1298 1330 +3 1312 162 645 +3 1532 168 668 +3 1144 174 692 +3 664 167 1497 +3 1104 169 672 +3 667 1490 1522 +3 1504 167 664 +3 671 286 1138 +3 1152 166 661 +3 828 172 684 +3 1528 166 660 +3 680 171 793 +3 1488 173 688 +3 683 786 818 +3 800 171 680 +3 687 382 1522 +3 1536 170 677 +3 1148 176 700 +3 1336 163 649 +3 696 175 1113 +3 1296 177 704 +3 699 1106 1138 +3 1120 175 696 +3 703 334 1330 +3 1344 174 693 +3 1424 180 716 +3 709 178 1241 +3 1464 186 740 +3 1276 181 720 +3 715 366 1458 +3 1472 179 712 +3 719 1234 1266 +3 1248 178 709 +3 956 184 732 +3 1400 190 756 +3 728 183 921 +3 1360 185 736 +3 731 914 946 +3 928 183 728 +3 735 350 1394 +3 1408 182 725 +3 1468 188 748 +3 952 182 724 +3 744 187 1433 +3 912 189 752 +3 747 1426 1458 +3 1440 187 744 +3 751 238 946 +3 960 186 741 +3 1404 192 764 +3 1272 179 713 +3 760 191 1369 +3 1232 193 768 +3 763 1362 1394 +3 1376 191 760 +3 767 318 1266 +3 1280 190 757 +3 772 770 194 +3 773 162 644 +3 781 196 413 +3 821 206 651 +3 410 27 779 +3 196 779 780 +3 644 162 785 +3 197 783 784 +3 805 202 431 +3 801 201 685 +3 792 107 425 +3 793 791 199 +3 425 107 797 +3 200 795 796 +3 682 44 799 +3 201 799 800 +3 433 205 814 +3 202 803 804 +3 418 8 807 +3 203 807 808 +3 404 102 813 +3 204 811 812 +3 430 28 815 +3 205 815 816 +3 653 209 830 +3 206 819 820 +3 648 163 825 +3 207 823 824 +3 676 170 829 +3 208 827 828 +3 650 42 831 +3 209 831 832 +3 836 834 210 +3 837 159 633 +3 845 212 429 +3 885 222 639 +3 426 28 843 +3 212 843 844 +3 633 159 849 +3 213 847 848 +3 869 218 395 +3 865 217 593 +3 856 98 388 +3 857 855 215 +3 388 98 861 +3 216 859 860 +3 590 38 863 +3 217 863 864 +3 397 221 878 +3 218 867 868 +3 392 99 873 +3 219 871 872 +3 420 106 877 +3 220 875 876 +3 394 26 879 +3 221 879 880 +3 641 225 894 +3 222 883 884 +3 626 11 887 +3 223 887 888 +3 585 147 893 +3 224 891 892 +3 638 41 895 +3 225 895 896 +3 900 898 226 +3 901 187 745 +3 909 228 401 +3 949 238 751 +3 398 26 907 +3 228 907 908 +3 745 187 913 +3 229 911 912 +3 933 234 447 +3 929 233 733 +3 920 111 441 +3 921 919 231 +3 441 111 925 +3 232 923 924 +3 730 47 927 +3 233 927 928 +3 449 237 942 +3 234 931 932 +3 434 8 935 +3 235 935 936 +3 393 99 941 +3 236 939 940 +3 446 29 943 +3 237 943 944 +3 753 241 958 +3 238 947 948 +3 738 13 951 +3 239 951 952 +3 724 182 957 +3 240 955 956 +3 750 48 959 +3 241 959 960 +3 964 962 242 +3 965 130 516 +3 973 244 445 +3 1013 254 523 +3 442 29 971 +3 244 971 972 +3 516 130 977 +3 245 975 976 +3 997 250 415 +3 993 249 557 +3 984 103 409 +3 985 983 247 +3 409 103 989 +3 248 987 988 +3 554 36 991 +3 249 991 992 +3 417 253 1006 +3 250 995 996 +3 405 102 1001 +3 251 999 1000 +3 436 110 1005 +3 252 1003 1004 +3 414 27 1007 +3 253 1007 1008 +3 525 257 1022 +3 254 1011 1012 +3 520 131 1017 +3 255 1015 1016 +3 548 138 1021 +3 256 1019 1020 +3 522 34 1023 +3 257 1023 1024 +3 1028 1026 258 +3 1029 155 617 +3 1037 260 477 +3 1077 270 623 +3 474 31 1035 +3 260 1035 1036 +3 617 155 1041 +3 261 1039 1040 +3 1061 266 495 +3 1057 265 605 +3 1048 123 489 +3 1049 1047 263 +3 489 123 1053 +3 264 1051 1052 +3 602 39 1055 +3 265 1055 1056 +3 497 269 1070 +3 266 1059 1060 +3 482 9 1063 +3 267 1063 1064 +3 468 118 1069 +3 268 1067 1068 +3 494 32 1071 +3 269 1071 1072 +3 625 273 1086 +3 270 1075 1076 +3 610 11 1079 +3 271 1079 1080 +3 596 150 1085 +3 272 1083 1084 +3 622 40 1087 +3 273 1087 1088 +3 1092 1090 274 +3 1093 167 665 +3 1101 276 493 +3 1141 286 671 +3 490 32 1099 +3 276 1099 1100 +3 665 167 1105 +3 277 1103 1104 +3 1125 282 459 +3 1121 281 701 +3 1112 114 452 +3 1113 1111 279 +3 452 114 1117 +3 280 1115 1116 +3 698 45 1119 +3 281 1119 1120 +3 461 285 1134 +3 282 1123 1124 +3 456 115 1129 +3 283 1127 1128 +3 484 122 1133 +3 284 1131 1132 +3 458 30 1135 +3 285 1135 1136 +3 673 289 1150 +3 286 1139 1140 +3 661 166 1145 +3 287 1143 1144 +3 692 174 1149 +3 288 1147 1148 +3 670 43 1151 +3 289 1151 1152 +3 1156 1154 290 +3 1157 135 537 +3 1165 292 465 +3 1205 302 543 +3 462 30 1163 +3 292 1163 1164 +3 537 135 1169 +3 293 1167 1168 +3 1189 298 511 +3 1185 297 573 +3 1176 127 505 +3 1177 1175 295 +3 505 127 1181 +3 296 1179 1180 +3 570 37 1183 +3 297 1183 1184 +3 513 301 1198 +3 298 1187 1188 +3 498 9 1191 +3 299 1191 1192 +3 457 115 1197 +3 300 1195 1196 +3 510 33 1199 +3 301 1199 1200 +3 545 305 1214 +3 302 1203 1204 +3 533 134 1209 +3 303 1207 1208 +3 564 142 1213 +3 304 1211 1212 +3 542 35 1215 +3 305 1215 1216 +3 1220 1218 306 +3 1221 191 761 +3 1229 308 509 +3 1269 318 767 +3 506 33 1227 +3 308 1227 1228 +3 761 191 1233 +3 309 1231 1232 +3 1253 314 479 +3 1249 313 721 +3 1240 119 473 +3 1241 1239 311 +3 473 119 1245 +3 312 1243 1244 +3 718 46 1247 +3 313 1247 1248 +3 481 317 1262 +3 314 1251 1252 +3 469 118 1257 +3 315 1255 1256 +3 500 126 1261 +3 316 1259 1260 +3 478 31 1263 +3 317 1263 1264 +3 769 321 1278 +3 318 1267 1268 +3 754 13 1271 +3 319 1271 1272 +3 713 179 1277 +3 320 1275 1276 +3 766 49 1279 +3 321 1279 1280 +3 1284 1282 322 +3 1285 175 697 +3 1293 324 541 +3 1333 334 703 +3 538 35 1291 +3 324 1291 1292 +3 697 175 1297 +3 325 1295 1296 +3 1317 330 559 +3 1313 329 657 +3 1304 139 553 +3 1305 1303 327 +3 553 139 1309 +3 328 1307 1308 +3 654 42 1311 +3 329 1311 1312 +3 561 333 1326 +3 330 1315 1316 +3 546 10 1319 +3 331 1319 1320 +3 532 134 1325 +3 332 1323 1324 +3 558 36 1327 +3 333 1327 1328 +3 705 337 1342 +3 334 1331 1332 +3 690 12 1335 +3 335 1335 1336 +3 649 163 1341 +3 336 1339 1340 +3 702 45 1343 +3 337 1343 1344 +3 1348 1346 338 +3 1349 183 729 +3 1357 340 529 +3 1397 350 735 +3 526 34 1355 +3 340 1355 1356 +3 729 183 1361 +3 341 1359 1360 +3 1381 346 575 +3 1377 345 765 +3 1368 143 569 +3 1369 1367 343 +3 569 143 1373 +3 344 1371 1372 +3 762 49 1375 +3 345 1375 1376 +3 577 349 1390 +3 346 1379 1380 +3 562 10 1383 +3 347 1383 1384 +3 521 131 1389 +3 348 1387 1388 +3 574 37 1391 +3 349 1391 1392 +3 737 353 1406 +3 350 1395 1396 +3 725 182 1401 +3 351 1399 1400 +3 756 190 1405 +3 352 1403 1404 +3 734 47 1407 +3 353 1407 1408 +3 1412 1410 354 +3 1413 178 708 +3 1421 356 621 +3 1461 366 715 +3 618 40 1419 +3 356 1419 1420 +3 708 178 1425 +3 357 1423 1424 +3 1445 362 587 +3 1441 361 749 +3 1432 146 580 +3 1433 1431 359 +3 580 146 1437 +3 360 1435 1436 +3 746 48 1439 +3 361 1439 1440 +3 589 365 1454 +3 362 1443 1444 +3 584 147 1449 +3 363 1447 1448 +3 612 154 1453 +3 364 1451 1452 +3 586 38 1455 +3 365 1455 1456 +3 717 369 1470 +3 366 1459 1460 +3 712 179 1465 +3 367 1463 1464 +3 740 186 1469 +3 368 1467 1468 +3 714 46 1471 +3 369 1471 1472 +3 1476 1474 370 +3 1477 171 681 +3 1485 372 637 +3 1525 382 687 +3 634 41 1483 +3 372 1483 1484 +3 681 171 1489 +3 373 1487 1488 +3 1509 378 607 +3 1505 377 669 +3 1496 151 601 +3 1497 1495 375 +3 601 151 1501 +3 376 1499 1500 +3 666 43 1503 +3 377 1503 1504 +3 609 381 1518 +3 378 1507 1508 +3 597 150 1513 +3 379 1511 1512 +3 628 158 1517 +3 380 1515 1516 +3 606 39 1519 +3 381 1519 1520 +3 689 385 1534 +3 382 1523 1524 +3 674 12 1527 +3 383 1527 1528 +3 660 166 1533 +3 384 1531 1532 +3 686 44 1535 +3 385 1535 1536 +3 861 216 388 +3 900 856 386 +3 879 221 394 +3 900 226 389 +3 858 55 854 +3 387 859 861 +3 899 58 906 +3 98 856 900 +3 873 219 392 +3 907 228 398 +3 807 203 418 +3 941 236 393 +3 874 867 56 +3 391 871 873 +3 60 931 942 +3 99 880 941 +3 852 851 396 +3 390 939 941 +3 866 15 850 +3 397 218 869 +3 851 55 858 +3 395 214 852 +3 428 108 868 +3 100 860 881 +3 904 101 909 +3 26 859 907 +3 903 16 930 +3 401 227 904 +3 60 934 938 +3 904 227 399 +3 906 58 902 +3 932 931 400 +3 813 204 404 +3 935 235 434 +3 779 196 410 +3 1001 251 405 +3 52 803 814 +3 403 811 813 +3 1002 995 64 +3 102 808 1001 +3 772 194 408 +3 1007 253 414 +3 984 983 407 +3 989 248 409 +3 771 50 778 +3 407 770 772 +3 986 63 982 +3 103 780 989 +3 776 104 781 +3 406 987 989 +3 775 14 802 +3 413 195 776 +3 52 806 810 +3 776 195 411 +3 778 50 774 +3 804 803 412 +3 980 979 416 +3 27 811 1007 +3 994 17 978 +3 417 250 997 +3 979 63 986 +3 415 246 980 +3 444 112 996 +3 105 988 1009 +3 421 205 816 +3 402 999 1001 +3 430 205 817 +3 809 806 421 +3 56 867 878 +3 816 815 419 +3 810 803 52 +3 877 220 420 +3 425 199 792 +3 815 205 430 +3 836 792 423 +3 797 200 425 +3 835 54 842 +3 792 791 423 +3 794 51 790 +3 836 210 424 +3 840 108 845 +3 844 843 422 +3 839 15 866 +3 429 211 840 +3 56 870 874 +3 840 211 427 +3 842 54 838 +3 868 867 428 +3 788 787 432 +3 843 212 426 +3 802 14 786 +3 433 202 805 +3 787 51 794 +3 431 198 788 +3 412 104 804 +3 109 796 817 +3 437 237 944 +3 8 871 935 +3 446 237 945 +3 937 934 437 +3 64 995 1006 +3 944 943 435 +3 938 931 60 +3 1005 252 436 +3 441 231 920 +3 943 237 446 +3 964 920 439 +3 925 232 441 +3 963 62 970 +3 920 919 439 +3 922 59 918 +3 964 242 440 +3 968 112 973 +3 972 971 438 +3 967 17 994 +3 445 243 968 +3 64 998 1002 +3 968 243 443 +3 970 62 966 +3 996 995 444 +3 916 915 448 +3 971 244 442 +3 930 16 914 +3 449 234 933 +3 915 59 922 +3 447 230 916 +3 400 101 932 +3 113 924 945 +3 1117 280 452 +3 1156 1112 450 +3 1135 285 458 +3 1156 290 453 +3 1114 71 1110 +3 451 1115 1117 +3 1155 74 1162 +3 114 1112 1156 +3 1129 283 456 +3 1163 292 462 +3 1063 267 482 +3 1197 300 457 +3 1130 1123 72 +3 455 1127 1129 +3 76 1187 1198 +3 115 1136 1197 +3 1108 1107 460 +3 454 1195 1197 +3 1122 19 1106 +3 461 282 1125 +3 1107 71 1114 +3 459 278 1108 +3 492 124 1124 +3 116 1116 1137 +3 1160 117 1165 +3 30 1115 1163 +3 1159 20 1186 +3 465 291 1160 +3 76 1190 1194 +3 1160 291 463 +3 1162 74 1158 +3 1188 1187 464 +3 1069 268 468 +3 1191 299 498 +3 1035 260 474 +3 1257 315 469 +3 68 1059 1070 +3 467 1067 1069 +3 1258 1251 80 +3 118 1064 1257 +3 1028 258 472 +3 1263 317 478 +3 1240 1239 471 +3 1245 312 473 +3 1027 66 1034 +3 471 1026 1028 +3 1242 79 1238 +3 119 1036 1245 +3 1032 120 1037 +3 470 1243 1245 +3 1031 18 1058 +3 477 259 1032 +3 68 1062 1066 +3 1032 259 475 +3 1034 66 1030 +3 1060 1059 476 +3 1236 1235 480 +3 31 1067 1263 +3 1250 21 1234 +3 481 314 1253 +3 1235 79 1242 +3 479 310 1236 +3 508 128 1252 +3 121 1244 1265 +3 485 269 1072 +3 466 1255 1257 +3 494 269 1073 +3 1065 1062 485 +3 72 1123 1134 +3 1072 1071 483 +3 1066 1059 68 +3 1133 284 484 +3 489 263 1048 +3 1071 269 494 +3 1092 1048 487 +3 1053 264 489 +3 1091 70 1098 +3 1048 1047 487 +3 1050 67 1046 +3 1092 274 488 +3 1096 124 1101 +3 1100 1099 486 +3 1095 19 1122 +3 493 275 1096 +3 72 1126 1130 +3 1096 275 491 +3 1098 70 1094 +3 1124 1123 492 +3 1044 1043 496 +3 1099 276 490 +3 1058 18 1042 +3 497 266 1061 +3 1043 67 1050 +3 495 262 1044 +3 476 120 1060 +3 125 1052 1073 +3 501 301 1200 +3 9 1127 1191 +3 510 301 1201 +3 1193 1190 501 +3 80 1251 1262 +3 1200 1199 499 +3 1194 1187 76 +3 1261 316 500 +3 505 295 1176 +3 1199 301 510 +3 1220 1176 503 +3 1181 296 505 +3 1219 78 1226 +3 1176 1175 503 +3 1178 75 1174 +3 1220 306 504 +3 1224 128 1229 +3 1228 1227 502 +3 1223 21 1250 +3 509 307 1224 +3 80 1254 1258 +3 1224 307 507 +3 1226 78 1222 +3 1252 1251 508 +3 1172 1171 512 +3 1227 308 506 +3 1186 20 1170 +3 513 298 1189 +3 1171 75 1178 +3 511 294 1172 +3 464 117 1188 +3 129 1180 1201 +3 977 245 516 +3 1348 965 514 +3 1023 257 522 +3 1348 338 517 +3 974 62 963 +3 515 975 977 +3 1347 86 1354 +3 130 965 1348 +3 1017 255 520 +3 1355 340 526 +3 1319 331 546 +3 1389 348 521 +3 1018 1011 65 +3 519 1015 1017 +3 88 1379 1390 +3 131 1024 1389 +3 969 966 524 +3 518 1387 1389 +3 1010 17 967 +3 525 254 1013 +3 966 62 974 +3 523 243 969 +3 556 140 1012 +3 132 976 1025 +3 1352 133 1357 +3 34 975 1355 +3 1351 23 1378 +3 529 339 1352 +3 88 1382 1386 +3 1352 339 527 +3 1354 86 1350 +3 1380 1379 528 +3 533 305 1216 +3 1383 347 562 +3 542 305 1217 +3 1209 303 533 +3 84 1315 1326 +3 1216 1215 531 +3 1210 1203 77 +3 1325 332 532 +3 537 290 1157 +3 1215 305 542 +3 1284 1157 535 +3 1169 293 537 +3 1283 82 1290 +3 1157 1154 535 +3 1166 74 1155 +3 1284 322 536 +3 1288 136 1293 +3 1292 1291 534 +3 1287 22 1314 +3 541 323 1288 +3 84 1318 1322 +3 1288 323 539 +3 1290 82 1286 +3 1316 1315 540 +3 1161 1158 544 +3 1291 324 538 +3 1202 20 1159 +3 545 302 1205 +3 1158 74 1166 +3 543 291 1161 +3 572 144 1204 +3 137 1168 1217 +3 1021 256 548 +3 1320 1319 530 +3 991 249 554 +3 1321 1318 549 +3 65 1011 1022 +3 547 1019 1021 +3 1322 1315 84 +3 138 1016 1321 +3 985 247 552 +3 1327 333 558 +3 1304 1303 551 +3 1309 328 553 +3 982 63 990 +3 551 983 985 +3 1306 83 1302 +3 139 992 1309 +3 981 140 993 +3 550 1307 1309 +3 978 17 1010 +3 557 246 981 +3 65 1014 1018 +3 981 246 555 +3 990 63 979 +3 1012 1011 556 +3 1300 1299 560 +3 36 1019 1327 +3 1314 22 1298 +3 561 330 1317 +3 1299 83 1306 +3 559 326 1300 +3 540 136 1316 +3 141 1308 1329 +3 1213 304 564 +3 10 1015 1383 +3 1183 297 570 +3 1385 1382 565 +3 77 1203 1214 +3 563 1211 1213 +3 1386 1379 88 +3 142 1208 1385 +3 1177 295 568 +3 1391 349 574 +3 1368 1367 567 +3 1373 344 569 +3 1174 75 1182 +3 567 1175 1177 +3 1370 87 1366 +3 143 1184 1373 +3 1173 144 1185 +3 566 1371 1373 +3 1170 20 1202 +3 573 294 1173 +3 77 1206 1210 +3 1173 294 571 +3 1182 75 1171 +3 1204 1203 572 +3 1364 1363 576 +3 37 1211 1391 +3 1378 23 1362 +3 577 346 1381 +3 1363 87 1370 +3 575 342 1364 +3 528 133 1380 +3 145 1372 1393 +3 581 217 864 +3 1432 1431 578 +3 590 865 892 +3 857 215 581 +3 1434 91 1430 +3 864 863 579 +3 854 55 862 +3 1437 360 580 +3 585 223 888 +3 863 217 590 +3 626 889 1512 +3 893 224 585 +3 1450 1443 92 +3 888 887 583 +3 57 883 894 +3 1449 363 584 +3 1428 1427 588 +3 1456 1455 582 +3 1442 24 1426 +3 589 362 1445 +3 1427 91 1434 +3 587 358 1428 +3 620 156 1444 +3 148 1436 1457 +3 853 149 865 +3 1455 365 586 +3 850 15 882 +3 593 214 853 +3 57 886 890 +3 853 214 591 +3 862 55 851 +3 884 883 592 +3 1085 272 596 +3 887 223 626 +3 1055 265 602 +3 1513 379 597 +3 69 1075 1086 +3 595 1083 1085 +3 1514 1507 96 +3 150 1080 1513 +3 1049 263 600 +3 1519 381 606 +3 1496 1495 599 +3 1501 376 601 +3 1046 67 1054 +3 599 1047 1049 +3 1498 95 1494 +3 151 1056 1501 +3 1045 152 1057 +3 598 1499 1501 +3 1042 18 1074 +3 605 262 1045 +3 69 1078 1082 +3 1045 262 603 +3 1054 67 1043 +3 1076 1075 604 +3 1492 1491 608 +3 39 1083 1519 +3 1506 25 1490 +3 609 378 1509 +3 1491 95 1498 +3 607 374 1492 +3 636 160 1508 +3 153 1500 1521 +3 613 273 1088 +3 594 1511 1513 +3 622 273 1089 +3 1081 1078 613 +3 92 1443 1454 +3 1088 1087 611 +3 1082 1075 69 +3 1453 364 612 +3 617 258 1029 +3 1087 273 622 +3 1412 1029 615 +3 1041 261 617 +3 1411 90 1418 +3 1029 1026 615 +3 1038 66 1027 +3 1412 354 616 +3 1416 156 1421 +3 1420 1419 614 +3 1415 24 1442 +3 621 355 1416 +3 92 1446 1450 +3 1416 355 619 +3 1418 90 1414 +3 1444 1443 620 +3 1033 1030 624 +3 1419 356 618 +3 1074 18 1031 +3 625 270 1077 +3 1030 66 1038 +3 623 259 1033 +3 604 152 1076 +3 157 1040 1089 +3 629 225 896 +3 1079 271 610 +3 638 225 897 +3 889 886 629 +3 96 1507 1518 +3 896 895 627 +3 890 883 57 +3 1517 380 628 +3 633 210 837 +3 895 225 638 +3 1476 837 631 +3 849 213 633 +3 1475 94 1482 +3 837 834 631 +3 846 54 835 +3 1476 370 632 +3 1480 160 1485 +3 1484 1483 630 +3 1479 25 1506 +3 637 371 1480 +3 96 1510 1514 +3 1480 371 635 +3 1482 94 1478 +3 1508 1507 636 +3 841 838 640 +3 1483 372 634 +3 882 15 839 +3 641 222 885 +3 838 54 846 +3 639 211 841 +3 592 149 884 +3 161 848 897 +3 785 197 644 +3 1305 773 642 +3 831 209 650 +3 1305 327 645 +3 782 50 771 +3 643 783 785 +3 1302 83 1310 +3 162 773 1305 +3 825 207 648 +3 1311 329 654 +3 1527 383 674 +3 1341 336 649 +3 826 819 53 +3 647 823 825 +3 85 1331 1342 +3 163 832 1341 +3 777 774 652 +3 646 1339 1341 +3 818 14 775 +3 653 206 821 +3 774 50 782 +3 651 195 777 +3 684 172 820 +3 164 784 833 +3 1301 165 1313 +3 42 783 1311 +3 1298 22 1330 +3 657 326 1301 +3 85 1334 1338 +3 1301 326 655 +3 1310 83 1299 +3 1332 1331 656 +3 661 289 1152 +3 1335 335 690 +3 670 289 1153 +3 1145 287 661 +3 97 1523 1534 +3 1152 1151 659 +3 1146 1139 73 +3 1533 384 660 +3 665 274 1093 +3 1151 289 670 +3 1497 1093 663 +3 1105 277 665 +3 1494 95 1502 +3 1093 1090 663 +3 1102 70 1091 +3 1497 375 664 +3 1493 168 1505 +3 1504 1503 662 +3 1490 25 1522 +3 669 374 1493 +3 97 1526 1530 +3 1493 374 667 +3 1502 95 1491 +3 1524 1523 668 +3 1097 1094 672 +3 1503 377 666 +3 1138 19 1095 +3 673 286 1141 +3 1094 70 1102 +3 671 275 1097 +3 700 176 1140 +3 169 1104 1153 +3 829 208 676 +3 1528 1527 658 +3 799 201 682 +3 1529 1526 677 +3 53 819 830 +3 675 827 829 +3 1530 1523 97 +3 170 824 1529 +3 793 199 680 +3 1535 385 686 +3 1477 1474 679 +3 1489 373 681 +3 790 51 798 +3 679 791 793 +3 1486 94 1475 +3 171 800 1489 +3 789 172 801 +3 678 1487 1489 +3 786 14 818 +3 685 198 789 +3 53 822 826 +3 789 198 683 +3 798 51 787 +3 820 819 684 +3 1481 1478 688 +3 44 827 1535 +3 1522 25 1479 +3 689 382 1525 +3 1478 94 1486 +3 687 371 1481 +3 668 168 1524 +3 173 1488 1537 +3 1149 288 692 +3 12 823 1335 +3 1119 281 698 +3 1337 1334 693 +3 73 1139 1150 +3 691 1147 1149 +3 1338 1331 85 +3 174 1144 1337 +3 1113 279 696 +3 1343 337 702 +3 1285 1282 695 +3 1297 325 697 +3 1110 71 1118 +3 695 1111 1113 +3 1294 82 1283 +3 175 1120 1297 +3 1109 176 1121 +3 694 1295 1297 +3 1106 19 1138 +3 701 278 1109 +3 73 1142 1146 +3 1109 278 699 +3 1118 71 1107 +3 1140 1139 700 +3 1289 1286 704 +3 45 1147 1343 +3 1330 22 1287 +3 705 334 1333 +3 1286 82 1294 +3 703 323 1289 +3 656 165 1332 +3 177 1296 1345 +3 709 313 1248 +3 1413 1410 706 +3 718 1249 1276 +3 1241 311 709 +3 1422 90 1411 +3 1248 1247 707 +3 1238 79 1246 +3 1425 357 708 +3 713 319 1272 +3 1247 313 718 +3 754 1273 1400 +3 1277 320 713 +3 1466 1459 93 +3 1272 1271 711 +3 81 1267 1278 +3 1465 367 712 +3 1417 1414 716 +3 1472 1471 710 +3 1458 24 1415 +3 717 366 1461 +3 1414 90 1422 +3 715 355 1417 +3 748 188 1460 +3 180 1424 1473 +3 1237 181 1249 +3 1471 369 714 +3 1234 21 1266 +3 721 310 1237 +3 81 1270 1274 +3 1237 310 719 +3 1246 79 1235 +3 1268 1267 720 +3 957 240 724 +3 1271 319 754 +3 927 233 730 +3 1401 351 725 +3 61 947 958 +3 723 955 957 +3 1402 1395 89 +3 182 952 1401 +3 921 231 728 +3 1407 353 734 +3 1349 1346 727 +3 1361 341 729 +3 918 59 926 +3 727 919 921 +3 1358 86 1347 +3 183 928 1361 +3 917 184 929 +3 726 1359 1361 +3 914 16 946 +3 733 230 917 +3 61 950 954 +3 917 230 731 +3 926 59 915 +3 948 947 732 +3 1353 1350 736 +3 47 955 1407 +3 1394 23 1351 +3 737 350 1397 +3 1350 86 1358 +3 735 339 1353 +3 764 192 1396 +3 185 1360 1409 +3 741 241 960 +3 722 1399 1401 +3 750 241 961 +3 953 950 741 +3 93 1459 1470 +3 960 959 739 +3 954 947 61 +3 1469 368 740 +3 745 226 901 +3 959 241 750 +3 1433 901 743 +3 913 229 745 +3 1430 91 1438 +3 901 898 743 +3 910 58 899 +3 1433 359 744 +3 1429 188 1441 +3 1440 1439 742 +3 1426 24 1458 +3 749 358 1429 +3 93 1462 1466 +3 1429 358 747 +3 1438 91 1427 +3 1460 1459 748 +3 905 902 752 +3 1439 361 746 +3 946 16 903 +3 753 238 949 +3 902 58 910 +3 751 227 905 +3 732 184 948 +3 189 912 961 +3 757 321 1280 +3 951 239 738 +3 766 321 1281 +3 1273 1270 757 +3 89 1395 1406 +3 1280 1279 755 +3 1274 1267 81 +3 1405 352 756 +3 761 306 1221 +3 1279 321 766 +3 1369 1221 759 +3 1233 309 761 +3 1366 87 1374 +3 1221 1218 759 +3 1230 78 1219 +3 1369 343 760 +3 1365 192 1377 +3 1376 1375 758 +3 1362 23 1394 +3 765 342 1365 +3 89 1398 1402 +3 1365 342 763 +3 1374 87 1363 +3 1396 1395 764 +3 1225 1222 768 +3 1375 345 762 +3 1266 21 1223 +3 769 318 1269 +3 1222 78 1230 +3 767 307 1225 +3 720 181 1268 +3 193 1232 1281 +3 407 3 770 +3 642 1303 1305 +3 408 194 771 +3 194 770 773 +3 408 196 780 +3 778 196 408 +3 645 329 1312 +3 770 3 642 +3 411 202 804 +3 652 164 777 +3 411 195 775 +3 195 774 777 +3 804 104 776 +3 802 202 411 +3 652 197 784 +3 782 197 652 +3 812 811 410 +3 774 195 413 +3 410 781 812 +3 413 776 781 +3 409 247 984 +3 989 780 406 +3 410 196 781 +3 778 774 413 +3 785 783 197 +3 771 194 644 +3 654 1313 1340 +3 643 785 1312 +3 821 164 833 +3 783 42 650 +3 644 194 773 +3 782 771 644 +3 198 787 788 +3 683 198 786 +3 432 109 788 +3 683 206 820 +3 432 200 796 +3 794 200 432 +3 820 172 789 +3 818 206 683 +3 199 791 792 +3 680 199 790 +3 423 834 836 +3 679 1 791 +3 836 107 792 +3 791 1 423 +3 680 201 800 +3 798 201 680 +3 797 795 200 +3 790 199 425 +3 843 28 795 +3 422 797 844 +3 805 109 817 +3 795 28 430 +3 422 795 797 +3 794 790 425 +3 828 827 682 +3 787 198 685 +3 682 801 828 +3 685 789 801 +3 681 370 1477 +3 1489 800 678 +3 682 201 801 +3 798 787 685 +3 817 205 433 +3 786 198 431 +3 814 806 52 +3 431 788 805 +3 412 204 812 +3 810 204 412 +3 788 109 805 +3 802 786 431 +3 872 871 418 +3 421 106 809 +3 418 809 872 +3 203 806 809 +3 405 253 1008 +3 1001 808 402 +3 418 203 809 +3 814 205 421 +3 813 811 204 +3 806 203 404 +3 414 253 1009 +3 403 813 1008 +3 812 781 104 +3 811 27 410 +3 404 203 808 +3 810 806 404 +3 817 796 430 +3 803 202 433 +3 419 875 877 +3 433 805 817 +3 877 106 816 +3 877 816 419 +3 796 795 430 +3 814 803 433 +3 833 209 653 +3 775 195 651 +3 830 822 53 +3 651 777 821 +3 684 208 828 +3 826 208 684 +3 777 164 821 +3 818 775 651 +3 825 823 207 +3 648 207 822 +3 690 335 1337 +3 647 825 1336 +3 677 385 1536 +3 823 12 674 +3 648 209 832 +3 830 209 648 +3 829 827 208 +3 822 207 676 +3 686 385 1537 +3 675 829 1536 +3 828 801 172 +3 827 44 682 +3 676 207 824 +3 826 822 676 +3 833 784 650 +3 819 206 653 +3 650 209 833 +3 653 821 833 +3 649 335 1336 +3 1341 832 646 +3 784 783 650 +3 830 819 653 +3 423 1 834 +3 631 1474 1476 +3 424 210 835 +3 210 834 837 +3 424 212 844 +3 842 212 424 +3 1476 159 837 +3 834 1 631 +3 427 218 868 +3 640 161 841 +3 427 211 839 +3 211 838 841 +3 868 108 840 +3 866 218 427 +3 640 213 848 +3 846 213 640 +3 876 875 426 +3 838 211 429 +3 426 845 876 +3 429 840 845 +3 844 797 107 +3 843 795 422 +3 426 212 845 +3 842 838 429 +3 849 847 213 +3 835 210 633 +3 1483 41 847 +3 630 849 1484 +3 885 161 897 +3 847 41 638 +3 630 847 849 +3 846 835 633 +3 214 851 852 +3 591 214 850 +3 396 100 852 +3 591 222 884 +3 396 216 860 +3 858 216 396 +3 884 149 853 +3 882 222 591 +3 215 855 856 +3 581 215 854 +3 386 898 900 +3 578 0 855 +3 389 228 908 +3 855 0 386 +3 578 855 857 +3 862 217 581 +3 861 859 216 +3 854 215 388 +3 398 909 940 +3 387 861 908 +3 869 100 881 +3 859 26 394 +3 388 215 856 +3 858 854 388 +3 892 891 590 +3 851 214 593 +3 579 1435 1437 +3 593 853 865 +3 1437 146 864 +3 1437 864 579 +3 590 217 865 +3 862 851 593 +3 881 221 397 +3 850 214 395 +3 878 870 56 +3 395 852 869 +3 428 220 876 +3 874 220 428 +3 852 100 869 +3 866 850 395 +3 873 871 219 +3 392 219 870 +3 434 937 1000 +3 391 873 936 +3 872 809 106 +3 871 8 418 +3 392 221 880 +3 878 221 392 +3 877 875 220 +3 870 219 420 +3 875 815 28 +3 419 815 875 +3 876 845 108 +3 875 28 426 +3 420 219 872 +3 874 870 420 +3 881 860 394 +3 867 218 397 +3 394 221 881 +3 397 869 881 +3 393 235 936 +3 941 880 390 +3 860 859 394 +3 878 867 397 +3 897 225 641 +3 839 211 639 +3 894 886 57 +3 639 841 885 +3 592 224 892 +3 890 224 592 +3 841 161 885 +3 882 839 639 +3 1512 1511 626 +3 629 158 889 +3 583 1447 1449 +3 223 886 889 +3 1449 147 888 +3 1449 888 583 +3 626 223 889 +3 894 225 629 +3 893 891 224 +3 886 223 585 +3 1455 38 891 +3 582 893 1456 +3 892 865 149 +3 891 38 590 +3 582 891 893 +3 890 886 585 +3 897 848 638 +3 883 222 641 +3 627 1515 1517 +3 641 885 897 +3 1517 158 896 +3 1517 896 627 +3 848 847 638 +3 894 883 641 +3 386 0 898 +3 743 1431 1433 +3 389 226 899 +3 226 898 901 +3 856 855 386 +3 906 228 389 +3 1433 187 901 +3 898 0 743 +3 399 234 932 +3 752 189 905 +3 399 227 903 +3 227 902 905 +3 932 101 904 +3 930 234 399 +3 752 229 912 +3 910 229 752 +3 940 939 398 +3 902 227 401 +3 908 907 387 +3 401 904 909 +3 861 98 908 +3 907 859 387 +3 398 228 909 +3 906 902 401 +3 913 911 229 +3 899 226 745 +3 1439 48 911 +3 742 913 1440 +3 949 189 961 +3 911 48 750 +3 742 911 913 +3 910 899 745 +3 230 915 916 +3 731 230 914 +3 448 113 916 +3 731 238 948 +3 448 232 924 +3 922 232 448 +3 948 184 917 +3 946 238 731 +3 231 919 920 +3 728 231 918 +3 439 962 964 +3 727 2 919 +3 964 111 920 +3 919 2 439 +3 728 233 928 +3 926 233 728 +3 925 923 232 +3 918 231 441 +3 971 29 923 +3 438 925 972 +3 933 113 945 +3 923 29 446 +3 438 923 925 +3 922 918 441 +3 956 955 730 +3 915 230 733 +3 730 929 956 +3 733 917 929 +3 729 338 1349 +3 1361 928 726 +3 730 233 929 +3 926 915 733 +3 945 237 449 +3 914 230 447 +3 942 934 60 +3 447 916 933 +3 400 236 940 +3 938 236 400 +3 916 113 933 +3 930 914 447 +3 1000 999 434 +3 437 110 937 +3 936 935 391 +3 235 934 937 +3 873 99 936 +3 935 871 391 +3 434 235 937 +3 942 237 437 +3 941 939 236 +3 934 235 393 +3 879 26 939 +3 390 879 939 +3 940 909 101 +3 939 26 398 +3 880 879 390 +3 938 934 393 +3 945 924 446 +3 931 234 449 +3 435 1003 1005 +3 449 933 945 +3 1005 110 944 +3 1005 944 435 +3 924 923 446 +3 942 931 449 +3 961 241 753 +3 903 227 751 +3 958 950 61 +3 751 905 949 +3 732 240 956 +3 954 240 732 +3 905 189 949 +3 946 903 751 +3 1464 1463 738 +3 741 186 953 +3 738 953 1464 +3 239 950 953 +3 725 353 1408 +3 1401 952 722 +3 738 239 953 +3 958 241 741 +3 957 955 240 +3 950 239 724 +3 734 353 1409 +3 723 957 1408 +3 956 929 184 +3 955 47 730 +3 724 239 952 +3 954 950 724 +3 961 912 750 +3 947 238 753 +3 739 1467 1469 +3 753 949 961 +3 1469 186 960 +3 1469 960 739 +3 912 911 750 +3 958 947 753 +3 439 2 962 +3 514 1346 1348 +3 440 242 963 +3 242 962 965 +3 440 244 972 +3 970 244 440 +3 517 340 1356 +3 962 2 514 +3 443 250 996 +3 524 132 969 +3 443 243 967 +3 243 966 969 +3 996 112 968 +3 994 250 443 +3 524 245 976 +3 974 245 524 +3 1004 1003 442 +3 966 243 445 +3 442 973 1004 +3 445 968 973 +3 972 925 111 +3 971 923 438 +3 442 244 973 +3 970 966 445 +3 977 975 245 +3 963 242 516 +3 526 1357 1388 +3 515 977 1356 +3 1013 132 1025 +3 975 34 522 +3 516 242 965 +3 974 963 516 +3 246 979 980 +3 555 246 978 +3 416 105 980 +3 555 254 1012 +3 416 248 988 +3 986 248 416 +3 1012 140 981 +3 1010 254 555 +3 247 983 984 +3 552 247 982 +3 407 772 984 +3 551 3 983 +3 772 103 984 +3 983 3 407 +3 552 249 992 +3 990 249 552 +3 989 987 248 +3 982 247 409 +3 779 27 987 +3 406 779 987 +3 997 105 1009 +3 987 27 414 +3 780 779 406 +3 986 982 409 +3 1020 1019 554 +3 979 246 557 +3 554 993 1020 +3 557 981 993 +3 553 327 1304 +3 1309 992 550 +3 554 249 993 +3 990 979 557 +3 1009 253 417 +3 978 246 415 +3 1006 998 64 +3 415 980 997 +3 444 252 1004 +3 1002 252 444 +3 980 105 997 +3 994 978 415 +3 1001 999 251 +3 405 251 998 +3 807 8 999 +3 402 807 999 +3 1000 937 110 +3 999 8 434 +3 808 807 402 +3 1006 253 405 +3 1005 1003 252 +3 998 251 436 +3 1003 943 29 +3 435 943 1003 +3 1004 973 112 +3 1003 29 442 +3 436 251 1000 +3 1002 998 436 +3 1009 988 414 +3 995 250 417 +3 1008 1007 403 +3 417 997 1009 +3 813 102 1008 +3 1007 811 403 +3 988 987 414 +3 1006 995 417 +3 1025 257 525 +3 967 243 523 +3 1022 1014 65 +3 523 969 1013 +3 556 256 1020 +3 1018 256 556 +3 969 132 1013 +3 1010 967 523 +3 1017 1015 255 +3 520 255 1014 +3 562 347 1385 +3 519 1017 1384 +3 549 333 1328 +3 1015 10 546 +3 520 257 1024 +3 1022 257 520 +3 1021 1019 256 +3 1014 255 548 +3 558 333 1329 +3 547 1021 1328 +3 1020 993 140 +3 1019 36 554 +3 548 255 1016 +3 1018 1014 548 +3 1025 976 522 +3 1011 254 525 +3 522 257 1025 +3 525 1013 1025 +3 521 347 1384 +3 1389 1024 518 +3 976 975 522 +3 1022 1011 525 +3 471 4 1026 +3 615 1410 1412 +3 472 258 1027 +3 258 1026 1029 +3 472 260 1036 +3 1034 260 472 +3 1412 155 1029 +3 1026 4 615 +3 475 266 1060 +3 624 157 1033 +3 475 259 1031 +3 259 1030 1033 +3 1060 120 1032 +3 1058 266 475 +3 624 261 1040 +3 1038 261 624 +3 1068 1067 474 +3 1030 259 477 +3 474 1037 1068 +3 477 1032 1037 +3 473 311 1240 +3 1245 1036 470 +3 474 260 1037 +3 1034 1030 477 +3 1041 1039 261 +3 1027 258 617 +3 1419 40 1039 +3 614 1041 1420 +3 1077 157 1089 +3 1039 40 622 +3 614 1039 1041 +3 1038 1027 617 +3 262 1043 1044 +3 603 262 1042 +3 496 125 1044 +3 603 270 1076 +3 496 264 1052 +3 1050 264 496 +3 1076 152 1045 +3 1074 270 603 +3 263 1047 1048 +3 600 263 1046 +3 487 1090 1092 +3 599 5 1047 +3 1092 123 1048 +3 1047 5 487 +3 600 265 1056 +3 1054 265 600 +3 1053 1051 264 +3 1046 263 489 +3 1099 32 1051 +3 486 1053 1100 +3 1061 125 1073 +3 1051 32 494 +3 486 1051 1053 +3 1050 1046 489 +3 1084 1083 602 +3 1043 262 605 +3 602 1057 1084 +3 605 1045 1057 +3 601 375 1496 +3 1501 1056 598 +3 602 265 1057 +3 1054 1043 605 +3 1073 269 497 +3 1042 262 495 +3 1070 1062 68 +3 495 1044 1061 +3 476 268 1068 +3 1066 268 476 +3 1044 125 1061 +3 1058 1042 495 +3 1128 1127 482 +3 485 122 1065 +3 482 1065 1128 +3 267 1062 1065 +3 469 317 1264 +3 1257 1064 466 +3 482 267 1065 +3 1070 269 485 +3 1069 1067 268 +3 1062 267 468 +3 478 317 1265 +3 467 1069 1264 +3 1068 1037 120 +3 1067 31 474 +3 468 267 1064 +3 1066 1062 468 +3 1073 1052 494 +3 1059 266 497 +3 483 1131 1133 +3 497 1061 1073 +3 1133 122 1072 +3 1133 1072 483 +3 1052 1051 494 +3 1070 1059 497 +3 1089 273 625 +3 1031 259 623 +3 1086 1078 69 +3 623 1033 1077 +3 604 272 1084 +3 1082 272 604 +3 1033 157 1077 +3 1074 1031 623 +3 1448 1447 610 +3 613 154 1081 +3 610 1081 1448 +3 271 1078 1081 +3 597 381 1520 +3 1513 1080 594 +3 610 271 1081 +3 1086 273 613 +3 1085 1083 272 +3 1078 271 596 +3 606 381 1521 +3 595 1085 1520 +3 1084 1057 152 +3 1083 39 602 +3 596 271 1080 +3 1082 1078 596 +3 1089 1040 622 +3 1075 270 625 +3 611 1451 1453 +3 625 1077 1089 +3 1453 154 1088 +3 1453 1088 611 +3 1040 1039 622 +3 1086 1075 625 +3 487 5 1090 +3 663 1495 1497 +3 488 274 1091 +3 274 1090 1093 +3 488 276 1100 +3 1098 276 488 +3 1497 167 1093 +3 1090 5 663 +3 491 282 1124 +3 672 169 1097 +3 491 275 1095 +3 275 1094 1097 +3 1124 124 1096 +3 1122 282 491 +3 672 277 1104 +3 1102 277 672 +3 1132 1131 490 +3 1094 275 493 +3 490 1101 1132 +3 493 1096 1101 +3 1100 1053 123 +3 1099 1051 486 +3 490 276 1101 +3 1098 1094 493 +3 1105 1103 277 +3 1091 274 665 +3 1503 43 1103 +3 662 1105 1504 +3 1141 169 1153 +3 1103 43 670 +3 662 1103 1105 +3 1102 1091 665 +3 278 1107 1108 +3 699 278 1106 +3 460 116 1108 +3 699 286 1140 +3 460 280 1116 +3 1114 280 460 +3 1140 176 1109 +3 1138 286 699 +3 279 1111 1112 +3 696 279 1110 +3 450 1154 1156 +3 695 7 1111 +3 453 292 1164 +3 1111 7 450 +3 696 281 1120 +3 1118 281 696 +3 1117 1115 280 +3 1110 279 452 +3 462 1165 1196 +3 451 1117 1164 +3 1125 116 1137 +3 1115 30 458 +3 452 279 1112 +3 1114 1110 452 +3 1148 1147 698 +3 1107 278 701 +3 698 1121 1148 +3 701 1109 1121 +3 697 322 1285 +3 1297 1120 694 +3 698 281 1121 +3 1118 1107 701 +3 1137 285 461 +3 1106 278 459 +3 1134 1126 72 +3 459 1108 1125 +3 492 284 1132 +3 1130 284 492 +3 1108 116 1125 +3 1122 1106 459 +3 1129 1127 283 +3 456 283 1126 +3 498 1193 1256 +3 455 1129 1192 +3 1128 1065 122 +3 1127 9 482 +3 456 285 1136 +3 1134 285 456 +3 1133 1131 284 +3 1126 283 484 +3 1131 1071 32 +3 483 1071 1131 +3 1132 1101 124 +3 1131 32 490 +3 484 283 1128 +3 1130 1126 484 +3 1137 1116 458 +3 1123 282 461 +3 458 285 1137 +3 461 1125 1137 +3 457 299 1192 +3 1197 1136 454 +3 1116 1115 458 +3 1134 1123 461 +3 1153 289 673 +3 1095 275 671 +3 1150 1142 73 +3 671 1097 1141 +3 700 288 1148 +3 1146 288 700 +3 1097 169 1141 +3 1138 1095 671 +3 1145 1143 287 +3 661 287 1142 +3 1527 12 1143 +3 658 1145 1528 +3 693 337 1344 +3 1143 12 690 +3 658 1143 1145 +3 1150 289 661 +3 1149 1147 288 +3 1142 287 692 +3 702 337 1345 +3 691 1149 1344 +3 1148 1121 176 +3 1147 45 698 +3 692 287 1144 +3 1146 1142 692 +3 1153 1104 670 +3 1139 286 673 +3 659 1531 1533 +3 673 1141 1153 +3 1533 166 1152 +3 1533 1152 659 +3 1104 1103 670 +3 1150 1139 673 +3 450 7 1154 +3 535 1282 1284 +3 453 290 1155 +3 290 1154 1157 +3 1112 1111 450 +3 1162 292 453 +3 1284 135 1157 +3 1154 7 535 +3 463 298 1188 +3 544 137 1161 +3 463 291 1159 +3 291 1158 1161 +3 1188 117 1160 +3 1186 298 463 +3 544 293 1168 +3 1166 293 544 +3 1196 1195 462 +3 1158 291 465 +3 1164 1163 451 +3 465 1160 1165 +3 1117 114 1164 +3 1163 1115 451 +3 462 292 1165 +3 1162 1158 465 +3 1169 1167 293 +3 1155 290 537 +3 1291 35 1167 +3 534 1169 1292 +3 1205 137 1217 +3 1167 35 542 +3 534 1167 1169 +3 1166 1155 537 +3 294 1171 1172 +3 571 294 1170 +3 512 129 1172 +3 571 302 1204 +3 512 296 1180 +3 1178 296 512 +3 1204 144 1173 +3 1202 302 571 +3 295 1175 1176 +3 568 295 1174 +3 503 1218 1220 +3 567 6 1175 +3 1220 127 1176 +3 1175 6 503 +3 568 297 1184 +3 1182 297 568 +3 1181 1179 296 +3 1174 295 505 +3 1227 33 1179 +3 502 1181 1228 +3 1189 129 1201 +3 1179 33 510 +3 502 1179 1181 +3 1178 1174 505 +3 1212 1211 570 +3 1171 294 573 +3 570 1185 1212 +3 573 1173 1185 +3 569 343 1368 +3 1373 1184 566 +3 570 297 1185 +3 1182 1171 573 +3 1201 301 513 +3 1170 294 511 +3 1198 1190 76 +3 511 1172 1189 +3 464 300 1196 +3 1194 300 464 +3 1172 129 1189 +3 1186 1170 511 +3 1256 1255 498 +3 501 126 1193 +3 1192 1191 455 +3 299 1190 1193 +3 1129 115 1192 +3 1191 1127 455 +3 498 299 1193 +3 1198 301 501 +3 1197 1195 300 +3 1190 299 457 +3 1135 30 1195 +3 454 1135 1195 +3 1196 1165 117 +3 1195 30 462 +3 1136 1135 454 +3 1194 1190 457 +3 1201 1180 510 +3 1187 298 513 +3 499 1259 1261 +3 513 1189 1201 +3 1261 126 1200 +3 1261 1200 499 +3 1180 1179 510 +3 1198 1187 513 +3 1217 305 545 +3 1159 291 543 +3 1214 1206 77 +3 543 1161 1205 +3 572 304 1212 +3 1210 304 572 +3 1161 137 1205 +3 1202 1159 543 +3 1209 1207 303 +3 533 303 1206 +3 1319 10 1207 +3 530 1209 1320 +3 565 349 1392 +3 1207 10 562 +3 530 1207 1209 +3 1214 305 533 +3 1213 1211 304 +3 1206 303 564 +3 574 349 1393 +3 563 1213 1392 +3 1212 1185 144 +3 1211 37 570 +3 564 303 1208 +3 1210 1206 564 +3 1217 1168 542 +3 1203 302 545 +3 531 1323 1325 +3 545 1205 1217 +3 1325 134 1216 +3 1325 1216 531 +3 1168 1167 542 +3 1214 1203 545 +3 503 6 1218 +3 759 1367 1369 +3 504 306 1219 +3 306 1218 1221 +3 504 308 1228 +3 1226 308 504 +3 1369 191 1221 +3 1218 6 759 +3 507 314 1252 +3 768 193 1225 +3 507 307 1223 +3 307 1222 1225 +3 1252 128 1224 +3 1250 314 507 +3 768 309 1232 +3 1230 309 768 +3 1260 1259 506 +3 1222 307 509 +3 506 1229 1260 +3 509 1224 1229 +3 1228 1181 127 +3 1227 1179 502 +3 506 308 1229 +3 1226 1222 509 +3 1233 1231 309 +3 1219 306 761 +3 1375 49 1231 +3 758 1233 1376 +3 1269 193 1281 +3 1231 49 766 +3 758 1231 1233 +3 1230 1219 761 +3 310 1235 1236 +3 719 310 1234 +3 480 121 1236 +3 719 318 1268 +3 480 312 1244 +3 1242 312 480 +3 1268 181 1237 +3 1266 318 719 +3 311 1239 1240 +3 709 311 1238 +3 471 1028 1240 +3 706 4 1239 +3 1028 119 1240 +3 1239 4 471 +3 706 1239 1241 +3 1246 313 709 +3 1245 1243 312 +3 1238 311 473 +3 1035 31 1243 +3 470 1035 1243 +3 1253 121 1265 +3 1243 31 478 +3 1036 1035 470 +3 1242 1238 473 +3 1276 1275 718 +3 1235 310 721 +3 707 1423 1425 +3 721 1237 1249 +3 1425 178 1248 +3 1425 1248 707 +3 718 313 1249 +3 1246 1235 721 +3 1265 317 481 +3 1234 310 479 +3 1262 1254 80 +3 479 1236 1253 +3 508 316 1260 +3 1258 316 508 +3 1236 121 1253 +3 1250 1234 479 +3 1257 1255 315 +3 469 315 1254 +3 1063 9 1255 +3 466 1063 1255 +3 1256 1193 126 +3 1255 9 498 +3 1064 1063 466 +3 1262 317 469 +3 1261 1259 316 +3 1254 315 500 +3 1259 1199 33 +3 499 1199 1259 +3 1260 1229 128 +3 1259 33 506 +3 500 315 1256 +3 1258 1254 500 +3 1265 1244 478 +3 1251 314 481 +3 1264 1263 467 +3 481 1253 1265 +3 1069 118 1264 +3 1263 1067 467 +3 1244 1243 478 +3 1262 1251 481 +3 1281 321 769 +3 1223 307 767 +3 1278 1270 81 +3 767 1225 1269 +3 720 320 1276 +3 1274 320 720 +3 1225 193 1269 +3 1266 1223 767 +3 1400 1399 754 +3 757 190 1273 +3 711 1463 1465 +3 319 1270 1273 +3 1465 179 1272 +3 1465 1272 711 +3 754 319 1273 +3 1278 321 757 +3 1277 1275 320 +3 1270 319 713 +3 1471 46 1275 +3 710 1277 1472 +3 1276 1249 181 +3 1275 46 718 +3 710 1275 1277 +3 1274 1270 713 +3 1281 1232 766 +3 1267 318 769 +3 755 1403 1405 +3 769 1269 1281 +3 1405 190 1280 +3 1405 1280 755 +3 1232 1231 766 +3 1278 1267 769 +3 535 7 1282 +3 695 1113 1285 +3 536 322 1283 +3 322 1282 1285 +3 536 324 1292 +3 1290 324 536 +3 1113 175 1285 +3 1282 7 695 +3 539 330 1316 +3 704 177 1289 +3 539 323 1287 +3 323 1286 1289 +3 1316 136 1288 +3 1314 330 539 +3 704 325 1296 +3 1294 325 704 +3 1324 1323 538 +3 1286 323 541 +3 538 1293 1324 +3 541 1288 1293 +3 1292 1169 135 +3 1291 1167 534 +3 538 324 1293 +3 1290 1286 541 +3 1297 1295 325 +3 1283 322 697 +3 1119 45 1295 +3 694 1119 1295 +3 1333 177 1345 +3 1295 45 702 +3 1120 1119 694 +3 1294 1283 697 +3 326 1299 1300 +3 655 326 1298 +3 560 141 1300 +3 655 334 1332 +3 560 328 1308 +3 1306 328 560 +3 1332 165 1301 +3 1330 334 655 +3 327 1303 1304 +3 645 327 1302 +3 551 985 1304 +3 642 3 1303 +3 985 139 1304 +3 1303 3 551 +3 773 770 642 +3 1310 329 645 +3 1309 1307 328 +3 1302 327 553 +3 991 36 1307 +3 550 991 1307 +3 1317 141 1329 +3 1307 36 558 +3 992 991 550 +3 1306 1302 553 +3 1340 1339 654 +3 1299 326 657 +3 1312 1311 643 +3 657 1301 1313 +3 785 162 1312 +3 1311 783 643 +3 654 329 1313 +3 1310 1299 657 +3 1329 333 561 +3 1298 326 559 +3 1326 1318 84 +3 559 1300 1317 +3 540 332 1324 +3 1322 332 540 +3 1300 141 1317 +3 1314 1298 559 +3 1321 1016 546 +3 549 138 1321 +3 546 331 1321 +3 331 1318 1321 +3 1320 1209 134 +3 1319 1207 530 +3 1016 1015 546 +3 1326 333 549 +3 1325 1323 332 +3 1318 331 532 +3 1323 1215 35 +3 531 1215 1323 +3 1324 1293 136 +3 1323 35 538 +3 532 331 1320 +3 1322 1318 532 +3 1329 1308 558 +3 1315 330 561 +3 1328 1327 547 +3 561 1317 1329 +3 1021 138 1328 +3 1327 1019 547 +3 1308 1307 558 +3 1326 1315 561 +3 1345 337 705 +3 1287 323 703 +3 1342 1334 85 +3 703 1289 1333 +3 656 336 1340 +3 1338 336 656 +3 1289 177 1333 +3 1330 1287 703 +3 1337 1144 690 +3 693 174 1337 +3 1336 1335 647 +3 335 1334 1337 +3 825 163 1336 +3 1335 823 647 +3 1144 1143 690 +3 1342 337 693 +3 1341 1339 336 +3 1334 335 649 +3 831 42 1339 +3 646 831 1339 +3 1340 1313 165 +3 1339 42 654 +3 832 831 646 +3 1338 1334 649 +3 1345 1296 702 +3 1331 334 705 +3 1344 1343 691 +3 705 1333 1345 +3 1149 174 1344 +3 1343 1147 691 +3 1296 1295 702 +3 1342 1331 705 +3 514 2 1346 +3 727 921 1349 +3 517 338 1347 +3 338 1346 1349 +3 965 962 514 +3 1354 340 517 +3 921 183 1349 +3 1346 2 727 +3 527 346 1380 +3 736 185 1353 +3 527 339 1351 +3 339 1350 1353 +3 1380 133 1352 +3 1378 346 527 +3 736 341 1360 +3 1358 341 736 +3 1388 1387 526 +3 1350 339 529 +3 1356 1355 515 +3 529 1352 1357 +3 977 130 1356 +3 1355 975 515 +3 526 340 1357 +3 1354 1350 529 +3 1361 1359 341 +3 1347 338 729 +3 927 47 1359 +3 726 927 1359 +3 1397 185 1409 +3 1359 47 734 +3 928 927 726 +3 1358 1347 729 +3 342 1363 1364 +3 763 342 1362 +3 576 145 1364 +3 763 350 1396 +3 576 344 1372 +3 1370 344 576 +3 1396 192 1365 +3 1394 350 763 +3 343 1367 1368 +3 760 343 1366 +3 567 1177 1368 +3 759 6 1367 +3 1177 143 1368 +3 1367 6 567 +3 760 345 1376 +3 1374 345 760 +3 1373 1371 344 +3 1366 343 569 +3 1183 37 1371 +3 566 1183 1371 +3 1381 145 1393 +3 1371 37 574 +3 1184 1183 566 +3 1370 1366 569 +3 1404 1403 762 +3 1363 342 765 +3 762 1377 1404 +3 765 1365 1377 +3 1376 1233 191 +3 1375 1231 758 +3 762 345 1377 +3 1374 1363 765 +3 1393 349 577 +3 1362 342 575 +3 1390 1382 88 +3 575 1364 1381 +3 528 348 1388 +3 1386 348 528 +3 1364 145 1381 +3 1378 1362 575 +3 1385 1208 562 +3 565 142 1385 +3 1384 1383 519 +3 347 1382 1385 +3 1017 131 1384 +3 1383 1015 519 +3 1208 1207 562 +3 1390 349 565 +3 1389 1387 348 +3 1382 347 521 +3 1023 34 1387 +3 518 1023 1387 +3 1388 1357 133 +3 1387 34 526 +3 1024 1023 518 +3 1386 1382 521 +3 1393 1372 574 +3 1379 346 577 +3 1392 1391 563 +3 577 1381 1393 +3 1213 142 1392 +3 1391 1211 563 +3 1372 1371 574 +3 1390 1379 577 +3 1409 353 737 +3 1351 339 735 +3 1406 1398 89 +3 735 1353 1397 +3 764 352 1404 +3 1402 352 764 +3 1353 185 1397 +3 1394 1351 735 +3 1401 1399 351 +3 725 351 1398 +3 951 13 1399 +3 722 951 1399 +3 1400 1273 190 +3 1399 13 754 +3 952 951 722 +3 1406 353 725 +3 1405 1403 352 +3 1398 351 756 +3 1403 1279 49 +3 755 1279 1403 +3 1404 1377 192 +3 1403 49 762 +3 756 351 1400 +3 1402 1398 756 +3 1409 1360 734 +3 1395 350 737 +3 1408 1407 723 +3 737 1397 1409 +3 957 182 1408 +3 1407 955 723 +3 1360 1359 734 +3 1406 1395 737 +3 615 4 1410 +3 706 1241 1413 +3 616 354 1411 +3 354 1410 1413 +3 616 356 1420 +3 1418 356 616 +3 1413 1241 178 +3 1410 4 706 +3 619 362 1444 +3 716 180 1417 +3 619 355 1415 +3 355 1414 1417 +3 1444 156 1416 +3 1442 362 619 +3 716 357 1424 +3 1422 357 716 +3 1452 1451 618 +3 1414 355 621 +3 618 1421 1452 +3 621 1416 1421 +3 1420 1041 155 +3 1419 1039 614 +3 618 356 1421 +3 1418 1414 621 +3 1425 1423 357 +3 1411 354 708 +3 1423 1247 46 +3 707 1247 1423 +3 1461 180 1473 +3 1423 46 714 +3 708 354 1413 +3 1422 1411 708 +3 358 1427 1428 +3 747 358 1426 +3 588 148 1428 +3 747 366 1460 +3 588 360 1436 +3 1434 360 588 +3 1460 188 1429 +3 1458 366 747 +3 359 1431 1432 +3 744 359 1430 +3 578 857 1432 +3 743 0 1431 +3 1432 857 146 +3 1431 0 578 +3 744 361 1440 +3 1438 361 744 +3 1437 1435 360 +3 1430 359 580 +3 1435 863 38 +3 579 863 1435 +3 1445 148 1457 +3 1435 38 586 +3 580 359 1432 +3 1434 1430 580 +3 1468 1467 746 +3 1427 358 749 +3 746 1441 1468 +3 749 1429 1441 +3 1440 913 187 +3 1439 911 742 +3 746 361 1441 +3 1438 1427 749 +3 1457 365 589 +3 1426 358 587 +3 1454 1446 92 +3 587 1428 1445 +3 620 364 1452 +3 1450 364 620 +3 1428 148 1445 +3 1442 1426 587 +3 1449 1447 363 +3 584 363 1446 +3 1447 887 11 +3 583 887 1447 +3 1448 1081 154 +3 1447 11 610 +3 584 365 1456 +3 1454 365 584 +3 1453 1451 364 +3 1446 363 612 +3 1451 1087 40 +3 611 1087 1451 +3 1452 1421 156 +3 1451 40 618 +3 612 363 1448 +3 1450 1446 612 +3 1457 1436 586 +3 1443 362 589 +3 586 365 1457 +3 589 1445 1457 +3 1456 893 147 +3 1455 891 582 +3 1436 1435 586 +3 1454 1443 589 +3 1473 369 717 +3 1415 355 715 +3 1470 1462 93 +3 715 1417 1461 +3 748 368 1468 +3 1466 368 748 +3 1417 180 1461 +3 1458 1415 715 +3 1465 1463 367 +3 712 367 1462 +3 1463 1271 13 +3 711 1271 1463 +3 1464 953 186 +3 1463 13 738 +3 712 369 1472 +3 1470 369 712 +3 1469 1467 368 +3 1462 367 740 +3 1467 959 48 +3 739 959 1467 +3 1468 1441 188 +3 1467 48 746 +3 740 367 1464 +3 1466 1462 740 +3 1473 1424 714 +3 1459 366 717 +3 714 369 1473 +3 717 1461 1473 +3 1472 1277 179 +3 1471 1275 710 +3 1424 1423 714 +3 1470 1459 717 +3 631 1 1474 +3 679 793 1477 +3 632 370 1475 +3 370 1474 1477 +3 632 372 1484 +3 1482 372 632 +3 793 171 1477 +3 1474 1 679 +3 635 378 1508 +3 688 173 1481 +3 635 371 1479 +3 371 1478 1481 +3 1508 160 1480 +3 1506 378 635 +3 688 373 1488 +3 1486 373 688 +3 1516 1515 634 +3 1478 371 637 +3 634 1485 1516 +3 637 1480 1485 +3 1484 849 159 +3 1483 847 630 +3 634 372 1485 +3 1482 1478 637 +3 1489 1487 373 +3 1475 370 681 +3 799 44 1487 +3 678 799 1487 +3 1525 173 1537 +3 1487 44 686 +3 800 799 678 +3 1486 1475 681 +3 374 1491 1492 +3 667 374 1490 +3 608 153 1492 +3 667 382 1524 +3 608 376 1500 +3 1498 376 608 +3 1524 168 1493 +3 1522 382 667 +3 375 1495 1496 +3 664 375 1494 +3 599 1049 1496 +3 663 5 1495 +3 1049 151 1496 +3 1495 5 599 +3 664 377 1504 +3 1502 377 664 +3 1501 1499 376 +3 1494 375 601 +3 1055 39 1499 +3 598 1055 1499 +3 1509 153 1521 +3 1499 39 606 +3 1056 1055 598 +3 1498 1494 601 +3 1532 1531 666 +3 1491 374 669 +3 666 1505 1532 +3 669 1493 1505 +3 1504 1105 167 +3 1503 1103 662 +3 666 377 1505 +3 1502 1491 669 +3 1521 381 609 +3 1490 374 607 +3 1518 1510 96 +3 607 1492 1509 +3 636 380 1516 +3 1514 380 636 +3 1492 153 1509 +3 1506 1490 607 +3 1513 1511 379 +3 597 379 1510 +3 1079 11 1511 +3 594 1079 1511 +3 1512 889 158 +3 1511 11 626 +3 1080 1079 594 +3 1518 381 597 +3 1517 1515 380 +3 1510 379 628 +3 1515 895 41 +3 627 895 1515 +3 1516 1485 160 +3 1515 41 634 +3 628 379 1512 +3 1514 1510 628 +3 1521 1500 606 +3 1507 378 609 +3 1520 1519 595 +3 609 1509 1521 +3 1085 150 1520 +3 1519 1083 595 +3 1500 1499 606 +3 1518 1507 609 +3 1537 385 689 +3 1479 371 687 +3 1534 1526 97 +3 687 1481 1525 +3 668 384 1532 +3 1530 384 668 +3 1481 173 1525 +3 1522 1479 687 +3 1529 824 674 +3 677 170 1529 +3 674 383 1529 +3 383 1526 1529 +3 1528 1145 166 +3 1527 1143 658 +3 824 823 674 +3 1534 385 677 +3 1533 1531 384 +3 1526 383 660 +3 1531 1151 43 +3 659 1151 1531 +3 1532 1505 168 +3 1531 43 666 +3 660 383 1528 +3 1530 1526 660 +3 1537 1488 686 +3 1523 382 689 +3 1536 1535 675 +3 689 1525 1537 +3 829 170 1536 +3 1535 827 675 +3 1488 1487 686 +3 1534 1523 689 + diff --git a/Polygon_mesh_processing/test/Polygon_mesh_processing/data/decimation/range/am1.off b/Polygon_mesh_processing/test/Polygon_mesh_processing/data/decimation/range/am1.off new file mode 100644 index 00000000000..f1cb1d9b031 --- /dev/null +++ b/Polygon_mesh_processing/test/Polygon_mesh_processing/data/decimation/range/am1.off @@ -0,0 +1,114 @@ +OFF +38 72 0 + +-1.5425534248352051 2.0011272430419922 2.1056604385375977 +-2.4678716659545898 1.843524694442749 1.0478570461273193 +-2.3172659873962402 1.3054063320159912 1.9416441917419434 +-2.2937459945678711 2.210951566696167 2.7315070629119873 +-2.4685182571411133 1.9557313919067383 2.6072971820831299 +-2.6432909965515137 1.7005102634429932 2.4830870628356934 +-2.0433511734008789 2.1410109996795654 2.5228936672210693 +-2.718266487121582 1.9134653806686401 1.2564704418182373 +-1.6762199401855469 2.2038135528564453 1.8772693872451782 +-2.9517297744750977 1.6479761600494385 2.1304864883422852 +-2.5676684379577637 1.3753491640090942 2.1502640247344971 +-1.7929482460021973 2.0710680484771729 2.3142738342285156 +-1.7173261642456055 1.7459070682525635 1.9814505577087402 +-1.9435539245605469 2.6091864109039307 1.4204866886138916 +-1.8920989036560059 1.4906859397888184 1.8572404384613037 +-2.3342046737670898 1.6408385038375854 1.2762479782104492 +-2.642967700958252 1.6444073915481567 1.7033674716949463 +-2.0052127838134766 1.9223260879516602 1.576758861541748 +-2.1183261871337891 2.353966236114502 1.2962768077850342 +-2.5813088417053223 2.3312678337097168 1.5470952987670898 +-2.4443511962890625 2.7490699291229248 1.8377199172973633 +-2.6947460174560547 2.8190107345581055 2.0463333129882812 +-2.066871166229248 1.2354656457901001 1.7330307960510254 +-2.2005376815795898 1.4381518363952637 1.5046396255493164 +-3.2190637588500977 2.0533490180969238 1.673703670501709 +-2.8180632591247559 1.4452899694442749 2.358877420425415 +-2.8695182800292969 2.5637903213500977 1.9221234321594238 +-2.4274125099182129 2.4136378765106201 2.5031161308288574 +-2.118649959564209 2.4100689888000488 2.0759971141815186 +-2.7564048767089844 2.132150411605835 2.2026054859161377 +-3.0853967666625977 1.8506628274917603 1.9020946025848389 +-2.5610795021057129 2.6163244247436523 2.2747242450714111 +-2.2930994033813477 2.0987448692321777 1.1720666885375977 +-2.1939487457275391 2.6791272163391113 1.6291000843048096 +-1.8098869323730469 2.4065003395080566 1.6488776206970215 +-2.9686689376831055 1.9834082126617432 1.465090274810791 +-2.1803088188171387 1.7232086658477783 2.2322690486907959 +-3.0442914962768555 2.3085691928863525 1.7979133129119873 +3 8 11 0 +3 8 12 17 +3 32 15 1 +3 13 18 33 +3 36 10 2 +3 2 10 16 +3 4 6 3 +3 25 10 5 +3 9 5 29 +3 5 4 29 +3 7 1 15 +3 32 1 7 +3 28 6 11 +3 20 31 28 +3 32 7 19 +3 36 14 12 +3 8 28 11 +3 16 10 9 +3 28 27 6 +3 12 11 36 +3 0 11 12 +3 35 16 30 +3 13 34 18 +3 12 14 17 +3 15 17 23 +3 15 23 16 +3 7 15 16 +3 3 6 27 +3 3 27 4 +3 17 18 34 +3 5 10 36 +3 22 2 23 +3 19 18 32 +3 26 20 19 +3 23 2 16 +3 21 20 26 +3 31 20 21 +3 31 21 26 +3 5 36 4 +3 22 14 2 +3 14 22 23 +3 30 37 24 +3 12 8 0 +3 9 10 25 +3 35 24 37 +3 13 33 34 +3 30 24 35 +3 14 36 2 +3 29 31 26 +3 4 27 29 +3 34 33 28 +3 28 33 20 +3 29 37 30 +3 25 5 9 +3 9 29 30 +3 30 16 9 +3 31 27 28 +3 29 27 31 +3 35 37 19 +3 23 17 14 +3 15 32 17 +3 19 20 33 +3 34 8 17 +3 28 8 34 +3 7 16 35 +3 7 35 19 +3 36 6 4 +3 11 6 36 +3 18 19 33 +3 37 26 19 +3 26 37 29 +3 32 18 17 + diff --git a/Polygon_mesh_processing/test/Polygon_mesh_processing/data/decimation/range/am2.off b/Polygon_mesh_processing/test/Polygon_mesh_processing/data/decimation/range/am2.off new file mode 100644 index 00000000000..473678b568d --- /dev/null +++ b/Polygon_mesh_processing/test/Polygon_mesh_processing/data/decimation/range/am2.off @@ -0,0 +1,114 @@ +OFF +38 72 0 + +3.5397257804870605 0.50155007839202881 0.71940517425537109 +2.6144077777862549 0.34394717216491699 -0.33839845657348633 +2.7891786098480225 0.59916532039642334 -0.21418976783752441 +2.3258743286132812 0.63257288932800293 0.81634986400604248 +2.6379303932189941 1.2494919300079346 0.4514625072479248 +2.6137626171112061 0.45615625381469727 1.2210431098937988 +2.5211987495422363 1.1167490482330322 0.88846683502197266 +3.2893285751342773 0.57149136066436768 0.92802047729492188 +2.8883283138275146 1.1795504093170166 0.24284648895263672 +2.7885334491729736 0.71137428283691406 1.3452516794204712 +2.5146126747131348 -0.12422895431518555 0.76400661468505859 +2.2642157077789307 -0.054287552833557129 0.97262191772460938 +1.863215446472168 0.5537714958190918 0.28744816780090332 +2.0379862785339355 0.80898964405059814 0.41165685653686523 +3.1901788711547852 -0.0088937282562255859 0.47098398208618164 +2.7480731010437012 0.14126282930374146 -0.11000943183898926 +3.4060602188110352 0.70423442125320435 0.49101614952087402 +2.5009703636169434 0.83169031143188477 0.16083979606628418 +2.2127623558044434 1.0642153024673462 0.53586924076080322 +2.6548681259155273 0.9140586256980896 1.1168627738952637 +3.1387255191802979 1.1096091270446777 0.034231185913085938 +2.1136126518249512 0.48383009433746338 0.078832864761352539 +2.3875331878662109 1.319433331489563 0.66007781028747559 +2.9076576232910156 0.21673417091369629 0.83656430244445801 +1.9968808889389038 0.35108715295791626 0.51583719253540039 +3.0763490200042725 0.41475355625152588 0.1923222541809082 +2.9639546871185303 0.85439109802246094 -0.089977264404296875 +2.8817424774169922 -0.061427593231201172 0.11838626861572266 +3.0154080390930176 -0.26411187648773193 0.34677529335021973 +2.7650105953216553 -0.19417047500610352 0.55539059638977051 +3.2723908424377441 0.9069247841835022 0.26262021064758301 +2.4503841400146484 0.13884997367858887 0.31381893157958984 +2.9636294841766357 0.9104917049407959 0.68974149227142334 +3.0389304161071777 0.6414330005645752 1.1366362571716309 +2.3640105724334717 0.41388857364654541 -0.12978315353393555 +2.1305503845214844 0.14839679002761841 0.74423301219940186 +2.4389865398406982 0.20093059539794922 1.0968306064605713 +3.364954948425293 0.24633204936981201 0.59519648551940918 +3 15 34 1 +3 0 7 37 +3 16 7 0 +3 0 37 16 +3 31 24 21 +3 17 8 26 +3 10 29 23 +3 31 29 10 +3 2 15 1 +3 19 6 3 +3 32 6 19 +3 17 4 8 +3 5 3 36 +3 6 18 3 +3 23 37 7 +3 30 8 32 +3 33 19 9 +3 11 10 36 +3 35 10 11 +3 11 36 35 +3 12 24 13 +3 21 24 12 +3 12 13 21 +3 3 18 13 +3 34 17 2 +3 23 29 14 +3 32 7 16 +3 15 25 27 +3 30 32 16 +3 3 35 36 +3 29 31 27 +3 13 18 17 +3 9 19 5 +3 9 5 33 +3 20 30 26 +3 8 30 20 +3 20 26 8 +3 34 21 17 +3 6 4 22 +3 33 5 23 +3 13 24 3 +3 17 26 2 +3 32 4 6 +3 2 26 25 +3 14 28 27 +3 29 28 14 +3 27 28 29 +3 22 4 18 +3 22 18 6 +3 30 25 26 +3 31 15 27 +3 33 7 32 +3 34 31 21 +3 10 35 31 +3 35 24 31 +3 25 16 37 +3 17 18 4 +3 32 8 4 +3 1 34 2 +3 25 30 16 +3 25 14 27 +3 23 5 36 +3 10 23 36 +3 19 33 32 +3 17 21 13 +3 25 37 14 +3 24 35 3 +3 15 31 34 +3 37 23 14 +3 7 33 23 +3 2 25 15 +3 19 3 5 + diff --git a/Polygon_mesh_processing/test/Polygon_mesh_processing/data/decimation/range/am3.off b/Polygon_mesh_processing/test/Polygon_mesh_processing/data/decimation/range/am3.off new file mode 100644 index 00000000000..568f9e3444a --- /dev/null +++ b/Polygon_mesh_processing/test/Polygon_mesh_processing/data/decimation/range/am3.off @@ -0,0 +1,171 @@ +OFF +57 110 0 + +3.3128511905670166 1.4770362377166748 1.7178813219070435 +2.9636294841766357 0.9104917049407959 0.68974149227142334 +2.5211987495422363 1.1167490482330322 0.88846683502197266 +2.5623040199279785 1.5746514797210693 0.7842864990234375 +4.0646886825561523 1.1550029516220093 -0.4674065113067627 +2.7885334491729736 0.71137428283691406 1.3452516794204712 +2.9633042812347412 0.96659243106842041 1.4694602489471436 +3.7945542335510254 1.3824794292449951 -0.10743498802185059 +3.408212423324585 0.99434208869934082 1.2337028980255127 +4.0640435218811035 1.2672119140625 1.0920348167419434 +4.3144383430480957 1.1972712278366089 0.88342142105102539 +3.1380801200866699 1.2218180894851685 1.5936727523803711 +4.1638407707214355 1.7353873252868652 -0.010372161865234375 +4.8152356147766113 1.0573877096176147 0.46618819236755371 +3.1791858673095703 1.679720401763916 1.4894924163818359 +4.352576732635498 0.97858625650405884 -0.062713623046875 +4.2559938430786133 1.4854962825775146 0.37342500686645508 +3.9134383201599121 1.8053302764892578 0.19824743270874023 +2.6548681259155273 0.9140586256980896 1.1168627738952637 +2.7370800971984863 1.8298771381378174 0.90849888324737549 +4.0235834121704102 0.69710057973861694 -0.36322617530822754 +2.9118509292602539 2.0850951671600342 1.0327074527740479 +2.3875331878662109 1.319433331489563 0.66007781028747559 +3.2723908424377441 0.9069247841835022 0.26262021064758301 +4.5479011535644531 1.4627623558044434 0.0094034671783447266 +4.4142355918884277 1.6654467582702637 -0.21898555755615234 +4.2394647598266602 1.4102286100387573 -0.34319424629211426 +4.157252311706543 0.49441021680831909 -0.13483047485351562 +4.2909178733825684 0.29172587394714355 0.093558549880981445 +4.4656887054443359 0.54694390296936035 0.21776723861694336 +3.4126460552215576 1.9452122449874878 0.61547625064849854 +3.1622481346130371 2.0151538848876953 0.82409214973449707 +3.38912034034729 1.0396684408187866 -0.17438220977783203 +3.0072121620178223 1.6024011373519897 0.54852914810180664 +2.8883283138275146 1.1795504093170166 0.24284648895263672 +3.2893285751342773 0.57149136066436768 0.92802047729492188 +3.0389304161071777 0.6414330005645752 1.1366362571716309 +4.5648407936096191 1.1273283958435059 0.67480158805847168 +4.195554256439209 0.77442049980163574 0.57773876190185547 +3.4060602188110352 0.70423442125320435 0.49101614952087402 +3.7901206016540527 0.4316093921661377 0.51079177856445312 +3.7148218154907227 0.70066744089126587 0.063894748687744141 +3.6395230293273926 0.96972554922103882 -0.38300180435180664 +3.7174763679504395 1.6378555297851562 0.81809937953948975 +3.5397257804870605 0.50155007839202881 0.71940517425537109 +2.6379303932189941 1.2494919300079346 0.4514625072479248 +3.8899178504943848 0.89978492259979248 -0.59161520004272461 +4.6815700531005859 1.2600719928741455 0.23779916763305664 +4.6404647827148438 0.8021695613861084 0.3419795036315918 +3.1387255191802979 1.1096091270446777 0.034231185913085938 +3.0455164909362793 1.8824107646942139 1.2610964775085449 +3.5632481575012207 1.4070948362350464 1.5092660188674927 +3.8136463165283203 1.3371531963348389 1.3006501197814941 +4.0405230522155762 0.36166656017303467 0.30217194557189941 +3.4710955619812012 1.6569856405258179 1.1254680156707764 +2.8501920700073242 1.3982347249984741 1.1889796257019043 +3.6630432605743408 1.8752709627151489 0.4068608283996582 +3 44 35 39 +3 0 51 14 +3 11 51 0 +3 11 0 14 +3 3 2 55 +3 18 2 1 +3 22 2 3 +3 20 46 4 +3 1 34 23 +3 5 18 36 +3 6 18 5 +3 6 5 36 +3 12 7 17 +3 12 17 16 +3 24 12 16 +3 11 8 51 +3 29 27 15 +3 9 43 52 +3 10 43 9 +3 52 8 9 +3 6 8 11 +3 39 35 1 +3 12 26 7 +3 39 1 23 +3 47 37 13 +3 19 50 21 +3 4 7 26 +3 19 55 50 +3 55 11 14 +3 29 15 48 +3 16 10 37 +3 33 45 3 +3 43 16 17 +3 55 2 18 +3 53 41 27 +3 33 19 31 +3 20 15 27 +3 20 27 41 +3 3 19 33 +3 55 19 3 +3 49 23 34 +3 31 19 21 +3 21 50 31 +3 22 45 2 +3 3 45 22 +3 41 39 23 +3 25 24 26 +3 12 24 25 +3 25 26 12 +3 38 37 10 +3 2 45 1 +3 4 26 15 +3 28 53 27 +3 29 53 28 +3 28 27 29 +3 16 37 47 +3 54 43 30 +3 30 33 31 +3 31 54 30 +3 49 32 23 +3 49 34 33 +3 36 35 8 +3 1 35 36 +3 37 48 13 +3 8 44 9 +3 48 38 29 +3 8 35 44 +3 6 36 8 +3 48 37 38 +3 39 40 44 +3 24 16 47 +3 32 42 41 +3 56 30 43 +3 38 9 44 +3 45 34 1 +3 33 34 45 +3 40 39 41 +3 46 42 4 +3 42 32 7 +3 24 47 15 +3 13 48 47 +3 20 42 46 +3 53 40 41 +3 7 32 49 +3 7 49 56 +3 31 50 54 +3 50 14 54 +3 51 54 14 +3 55 14 50 +3 8 52 51 +3 10 9 38 +3 56 33 30 +3 53 38 40 +3 1 36 18 +3 56 49 33 +3 42 7 4 +3 43 54 52 +3 20 41 42 +3 55 6 11 +3 17 7 56 +3 23 32 41 +3 43 10 16 +3 15 20 4 +3 26 24 15 +3 48 15 47 +3 44 40 38 +3 29 38 53 +3 6 55 18 +3 51 52 54 +3 56 43 17 + diff --git a/Polygon_mesh_processing/test/Polygon_mesh_processing/data/decimation/range/am4.off b/Polygon_mesh_processing/test/Polygon_mesh_processing/data/decimation/range/am4.off new file mode 100644 index 00000000000..cfbaef8bf8d --- /dev/null +++ b/Polygon_mesh_processing/test/Polygon_mesh_processing/data/decimation/range/am4.off @@ -0,0 +1,213 @@ +OFF +71 138 0 + +-1.3677825927734375 2.2563455104827881 2.2298691272735596 +-2.1802701950073242 3.0913705825805664 3.4464244842529297 +-2.2822113037109375 2.8249242305755615 4.1373443603515625 +-1.2788395881652832 2.8395814895629883 2.695408821105957 +-3.0684585571289062 1.515230655670166 2.5674910545349121 +-2.6432909965515137 1.7005102634429932 2.4830870628356934 +-2.5676684379577637 1.3753491640090942 2.1502640247344971 +-2.4685182571411133 1.9557313919067383 2.6072971820831299 +-2.3584427833557129 0.97177004814147949 2.6851232051849365 +-1.7186203002929688 1.9703198671340942 5.1003313064575195 +-2.5206203460693359 3.1864378452301025 3.7299833297729492 +-1.7929482460021973 2.0710680484771729 2.3142738342285156 +-1.6410198211669922 2.4823627471923828 2.5903611183166504 +-2.6165375709533691 2.3563733100891113 3.8931472301483154 +-1.0182356834411621 2.7667891979217529 2.4782900810241699 +-0.86400508880615234 2.5329205989837646 2.7418184280395508 +-3.1484746932983398 1.7375944852828979 3.462127685546875 +-1.8920989036560059 1.4906859397888184 1.8572404384613037 +-1.7173261642456055 1.7459070682525635 1.9814505577087402 +-0.46300315856933594 1.9248586893081665 3.4269955158233643 +-2.9409670829772949 1.9158768653869629 2.8484303951263428 +-2.1803088188171387 1.7232086658477783 2.2322690486907959 +-2.8180632591247559 1.4452899694442749 2.358877420425415 +-2.3172659873962402 1.3054063320159912 1.9416441917419434 +-0.21623563766479492 1.5506713390350342 3.8486378192901611 +-1.5425534248352051 2.0011272430419922 2.1056604385375977 +-1.9537248611450195 2.579941987991333 2.8599698543548584 +-1.4801898002624512 0.999869704246521 4.0995607376098633 +-0.71703314781188965 1.6905548572540283 4.2658710479736328 +-0.91532588005065918 0.52978909015655518 3.3517982959747314 +-2.5816426277160645 0.82760387659072876 3.2954068183898926 +-1.2648711204528809 0.019347667694091797 3.1033785343170166 +-1.7656683921813965 0.15923118591308594 3.5206117630004883 +-1.2178230285644531 1.8304363489151001 4.6830978393554688 +-2.436521053314209 2.5928385257720947 3.1539731025695801 +-2.7581782341003418 2.8395316600799561 3.5611522197723389 +-1.9126405715942383 1.0015970468521118 1.9965589046478271 +-3.0140233039855957 0.81318360567092896 3.933429479598999 +-2.066871166229248 1.2354656457901001 1.7330307960510254 +-2.7672557830810547 0.43899619579315186 4.355072021484375 +-3.5692558288574219 1.6551141738891602 2.9847240447998047 +-1.8192925453186035 2.703794002532959 3.7348763942718506 +-3.3873605728149414 1.9207360744476318 3.1139960289001465 +-3.4150252342224121 1.4212455749511719 3.2482523918151855 +-3.0005402565002441 1.2597334384918213 2.9969079494476318 +-2.0148792266845703 2.4195537567138672 4.5941247940063477 +-2.0433511734008789 2.1410109996795654 2.5228936672210693 +-1.18631911277771 2.592656135559082 3.072596549987793 +-1.119194507598877 2.1355414390563965 2.5687465667724609 +-0.67892789840698242 2.2522778511047363 3.0580527782440186 +-2.2664585113525391 0.29911267757415771 3.9378387928009033 +-2.727027416229248 2.242955207824707 3.0134880542755127 +-1.1930065155029297 2.5115711688995361 2.354081392288208 +-1.5116386413574219 0.3935350775718689 2.6817362308502197 +-3.3188605308532715 1.5851733684539795 2.7761104106903076 +-2.7535190582275391 1.8265565633773804 3.9063596725463867 +-2.4177103042602539 0.94943761825561523 4.6034917831420898 +-1.3535199165344238 2.436643123626709 3.6284284591674805 +-2.0681672096252441 1.4598760604858398 4.8519101142883301 +-1.7275633811950684 0.72095417976379395 2.312793493270874 +-2.2937459945678711 2.210951566696167 2.7315070629119873 +-3.1915493011474609 2.2066793441772461 3.2531578540802002 +-2.9818205833435059 2.5129463672637939 3.4022109508514404 +-3.2299480438232422 1.140602707862854 3.5644867420196533 +-0.56578254699707031 1.0402275323867798 3.6002168655395508 +-1.2428500652313232 1.1113617420196533 2.7636961936950684 +-1.5593795776367188 2.9179425239562988 2.9291374683380127 +-1.6152782440185547 1.331046462059021 2.2430253028869629 +-1.1374824047088623 1.7621533870697021 2.6719796657562256 +-1.8598566055297852 3.0018720626831055 3.1794760227203369 +-2.2797942161560059 1.0937072038650513 2.3239080905914307 +3 11 0 25 +3 35 10 1 +3 42 16 61 +3 61 20 42 +3 1 2 41 +3 12 3 52 +3 15 3 47 +3 20 5 4 +3 23 6 21 +3 31 29 32 +3 60 46 7 +3 22 70 8 +3 22 6 70 +3 5 6 22 +3 58 33 9 +3 34 69 26 +3 5 20 7 +3 2 1 10 +3 35 2 10 +3 44 43 54 +3 46 12 11 +3 45 13 55 +3 3 15 14 +3 14 15 52 +3 52 3 14 +3 16 63 55 +3 18 17 21 +3 67 17 18 +3 49 19 68 +3 42 43 16 +3 37 39 56 +3 20 54 42 +3 21 11 18 +3 4 22 44 +3 70 6 23 +3 13 2 35 +3 58 27 33 +3 28 64 24 +3 18 11 25 +3 18 25 67 +3 66 12 26 +3 28 27 64 +3 0 12 52 +3 66 3 12 +3 59 8 70 +3 55 61 16 +3 49 57 19 +3 57 33 28 +3 56 50 27 +3 51 20 61 +3 32 29 27 +3 8 30 44 +3 29 53 65 +3 29 31 53 +3 58 56 27 +3 21 6 5 +3 66 47 3 +3 8 32 30 +3 9 33 45 +3 1 69 34 +3 17 67 36 +3 7 21 5 +3 62 13 35 +3 62 35 34 +3 36 23 38 +3 30 50 37 +3 38 17 36 +3 23 17 38 +3 56 39 50 +3 50 39 37 +3 54 43 40 +3 1 41 69 +3 40 43 42 +3 43 63 16 +3 44 63 43 +3 58 9 45 +3 45 2 13 +3 41 2 45 +3 46 26 12 +3 49 15 47 +3 40 42 54 +3 49 47 57 +3 24 64 19 +3 19 28 24 +3 23 21 17 +3 15 49 48 +3 31 32 53 +3 0 11 12 +3 28 33 27 +3 48 49 68 +3 27 50 32 +3 19 57 28 +3 4 5 22 +3 7 20 51 +3 52 48 0 +3 65 53 59 +3 4 44 54 +3 37 56 55 +3 41 45 57 +3 57 45 33 +3 58 55 56 +3 55 13 62 +3 64 68 19 +3 36 67 59 +3 4 54 20 +3 51 34 60 +3 62 51 61 +3 55 62 61 +3 25 48 68 +3 53 32 8 +3 53 8 59 +3 25 0 48 +3 45 55 58 +3 63 37 55 +3 67 25 68 +3 7 46 21 +3 51 62 34 +3 30 37 63 +3 21 46 11 +3 22 8 44 +3 50 30 32 +3 26 60 34 +3 34 35 1 +3 29 65 64 +3 60 26 46 +3 60 7 51 +3 52 15 48 +3 57 47 66 +3 67 65 59 +3 67 68 65 +3 63 44 30 +3 26 69 66 +3 69 57 66 +3 69 41 57 +3 59 70 36 +3 36 70 23 +3 65 68 64 +3 29 64 27 + diff --git a/Polygon_mesh_processing/test/Polygon_mesh_processing/data/decimation/range/am5.off b/Polygon_mesh_processing/test/Polygon_mesh_processing/data/decimation/range/am5.off new file mode 100644 index 00000000000..5198f7d27c6 --- /dev/null +++ b/Polygon_mesh_processing/test/Polygon_mesh_processing/data/decimation/range/am5.off @@ -0,0 +1,246 @@ +OFF +82 160 0 + +3.0558681488037109 0.30599963665008545 1.8020365238189697 +3.8656063079833984 -0.085526466369628906 1.4671635627746582 +4.0150866508483887 0.32877802848815918 1.7473554611206055 +5.2177524566650391 -0.46321010589599609 0.34063982963562012 +4.3774218559265137 0.94689667224884033 1.3092564344406128 +4.3899240493774414 0.68013536930084229 1.8397932052612305 +4.9923949241638184 -0.40026283264160156 0.52839374542236328 +4.691159725189209 0.13993620872497559 1.1840934753417969 +4.8152356147766113 1.0573877096176147 0.46618819236755371 +4.7670373916625977 -0.33731555938720703 0.71614789962768555 +4.6152820587158203 0.61718809604644775 1.6520392894744873 +2.7885334491729736 0.71137428283691406 1.3452516794204712 +3.7138512134552002 0.86897718906402588 2.4030551910400391 +5.0656304359436035 0.98744702339172363 0.25757479667663574 +5.5209474563598633 0.55406481027603149 0.50740349292755127 +4.7508416175842285 0.82979440689086914 1.024443507194519 +5.8337626457214355 0.44218873977661133 0.29712653160095215 +5.200221061706543 0.7059246301651001 0.64665389060974121 +5.2913551330566406 0.42834627628326416 1.0887775421142578 +3.0389304161071777 0.6414330005645752 1.1366362571716309 +5.5047693252563477 0.16070300340652466 -0.0033862590789794922 +4.6759033203125 -0.059737205505371094 0.27402424812316895 +4.3144383430480957 1.1972712278366089 0.88342142105102539 +3.408212423324585 0.99434208869934082 1.2337028980255127 +2.9633042812347412 0.96659243106842041 1.4694602489471436 +5.443110466003418 -0.52615737915039062 0.15288591384887695 +5.0659971237182617 0.49129354953765869 1.276531457901001 +3.1895334720611572 0.10331535339355469 2.0304255485534668 +2.9221987724304199 0.5086899995803833 1.5736407041549683 +5.7926568984985352 -0.01571357250213623 0.4013068675994873 +3.3128511905670166 1.4770362377166748 1.7178813219070435 +3.9005718231201172 0.17780786752700806 0.87687802314758301 +3.3643043041229248 0.35853338241577148 2.1546342372894287 +5.3160333633422852 0.91750407218933105 0.048954963684082031 +5.5664281845092773 0.84756338596343994 -0.15965843200683594 +3.4465165138244629 1.2743518352508545 1.9462703466415405 +5.9674282073974609 0.23950445652008057 0.52551555633544922 +5.742070198059082 0.3024517297744751 0.71326947212219238 +5.5167126655578613 0.36539900302886963 0.90102338790893555 +5.0421104431152344 0.08190155029296875 -0.5322880744934082 +5.2168807983398438 0.33711957931518555 -0.40807938575744629 +3.5397257804870605 0.50155007839202881 0.71940517425537109 +3.7901206016540527 0.4316093921661377 0.51079177856445312 +3.6402487754821777 -0.022579193115234375 1.6549174785614014 +4.5648407936096191 1.1273283958435059 0.67480158805847168 +5.7000932693481445 0.64487910270690918 0.068730592727661133 +4.0405230522155762 0.36166656017303467 0.30217194557189941 +4.0909643173217773 -0.14847373962402344 1.279409646987915 +5.3094449043273926 -0.32347309589385986 -0.075503110885620117 +4.9966297149658203 -0.21159696578979492 0.13477373123168945 +3.5390803813934326 0.61375910043716431 2.2788465023040771 +5.3916568756103516 0.59234535694122314 -0.28386712074279785 +4.0798654556274414 1.010907769203186 1.5964139699935913 +3.8136463165283203 1.3371531963348389 1.3006501197814941 +5.1418747901916504 0.014041662216186523 0.80858564376831055 +4.5416793823242188 -0.2743682861328125 0.90390181541442871 +5.1757755279541016 -0.12078273296356201 -0.30389904975891113 +3.2893285751342773 0.57149136066436768 0.92802047729492188 +4.6404647827148438 0.8021695613861084 0.3419795036315918 +5.6178808212280273 -0.27093935012817383 0.27709460258483887 +4.4656887054443359 0.54694390296936035 0.21776723861694336 +3.8533940315246582 1.0198484659194946 1.8967046737670898 +4.1645665168762207 0.74308264255523682 2.0275471210479736 +3.1380801200866699 1.2218180894851685 1.5936727523803711 +4.0640435218811035 1.2672119140625 1.0920348167419434 +4.840639591217041 0.55424082279205322 1.4642853736877441 +5.4737510681152344 0.028314352035522461 0.62702035903930664 +4.2909178733825684 0.29172587394714355 0.093558549880981445 +4.5413126945495605 0.22178506851196289 -0.11505484580993652 +4.2265238761901855 0.064132571220397949 0.65181386470794678 +3.5491154193878174 0.25499922037124634 1.2127940654754639 +4.316321849822998 -0.21142101287841797 1.0916557312011719 +3.5632481575012207 1.4070948362350464 1.5092660188674927 +4.195554256439209 0.77442049980163574 0.57773876190185547 +3.6832141876220703 0.31450438499450684 1.9289175271987915 +3.2511923313140869 0.79017573595046997 1.8741533756256104 +4.9286727905273438 0.56964457035064697 -0.033050060272216797 +3.5801858901977539 1.0716614723205566 2.174666166305542 +4.7917156219482422 0.15184223651885986 -0.32367467880249023 +3.9392087459564209 0.80602991580963135 2.2153012752532959 +3.414891242980957 0.040368080139160156 1.8426716327667236 +3.3290765285491943 0.25418663024902344 1.524074912071228 +3 28 0 75 +3 81 0 28 +3 1 2 43 +3 6 49 3 +3 15 22 4 +3 30 72 63 +3 5 2 10 +3 9 6 54 +3 15 26 18 +3 18 26 7 +3 8 44 15 +3 47 31 71 +3 71 7 47 +3 9 69 21 +3 4 5 10 +3 19 11 24 +3 77 12 79 +3 50 12 77 +3 79 12 50 +3 64 52 4 +3 17 33 13 +3 3 48 25 +3 13 76 58 +3 52 5 4 +3 72 23 63 +3 13 33 76 +3 16 14 37 +3 14 45 33 +3 17 8 15 +3 45 14 16 +3 17 18 38 +3 38 18 54 +3 38 54 66 +3 28 19 81 +3 59 48 20 +3 6 9 21 +3 10 47 7 +3 16 29 20 +3 60 58 76 +3 49 21 78 +3 64 4 22 +3 64 23 53 +3 63 23 24 +3 75 63 24 +3 59 3 25 +3 31 1 70 +3 44 22 15 +3 78 76 40 +3 17 14 33 +3 65 7 26 +3 26 15 65 +3 27 32 0 +3 80 32 27 +3 27 0 80 +3 28 11 19 +3 24 11 28 +3 13 58 8 +3 17 13 8 +3 33 51 76 +3 59 20 29 +3 35 72 30 +3 31 69 71 +3 50 75 32 +3 33 34 51 +3 35 61 72 +3 36 29 16 +3 37 29 36 +3 37 36 16 +3 17 38 14 +3 39 40 56 +3 40 51 20 +3 76 51 40 +3 41 42 31 +3 65 10 7 +3 38 66 37 +3 38 37 14 +3 1 43 70 +3 22 44 73 +3 5 52 62 +3 33 45 34 +3 67 46 60 +3 48 59 25 +3 31 70 41 +3 31 47 1 +3 48 56 20 +3 49 56 48 +3 69 46 67 +3 55 9 7 +3 49 48 3 +3 80 0 81 +3 74 79 50 +3 70 57 41 +3 45 20 51 +3 52 53 61 +3 60 68 67 +3 7 9 54 +3 69 9 55 +3 52 61 62 +3 49 6 21 +3 78 39 56 +3 40 39 78 +3 23 57 19 +3 8 58 44 +3 59 66 3 +3 62 2 5 +3 64 41 23 +3 60 73 58 +3 40 20 56 +3 41 57 23 +3 10 2 47 +3 77 79 61 +3 2 62 74 +3 23 19 24 +3 57 70 19 +3 73 44 58 +3 35 30 63 +3 41 64 73 +3 2 1 47 +3 65 4 10 +3 65 15 4 +3 16 20 45 +3 75 24 28 +3 56 49 78 +3 53 52 64 +3 45 51 34 +3 66 6 3 +3 21 69 67 +3 21 67 68 +3 42 46 69 +3 81 19 70 +3 7 71 55 +3 50 77 75 +3 17 15 18 +3 72 53 23 +3 61 53 72 +3 73 64 22 +3 42 73 46 +3 32 75 0 +3 74 32 80 +3 2 74 43 +3 75 35 63 +3 74 50 32 +3 68 60 76 +3 75 77 35 +3 68 76 78 +3 21 68 78 +3 69 55 71 +3 61 79 62 +3 62 79 74 +3 73 42 41 +3 46 73 60 +3 66 29 37 +3 66 59 29 +3 66 54 6 +3 35 77 61 +3 43 74 80 +3 80 81 43 +3 43 81 70 +3 54 18 7 +3 31 42 69 + diff --git a/Polygon_mesh_processing/test/Polygon_mesh_processing/data/decimation/range/am6.off b/Polygon_mesh_processing/test/Polygon_mesh_processing/data/decimation/range/am6.off new file mode 100644 index 00000000000..34e62bbb408 --- /dev/null +++ b/Polygon_mesh_processing/test/Polygon_mesh_processing/data/decimation/range/am6.off @@ -0,0 +1,258 @@ +OFF +86 168 0 + +1.7636244297027588 3.7739925384521484 3.2035260200500488 +2.5089099407196045 3.029773473739624 5.0258541107177734 +3.0859766006469727 2.4525222778320312 2.7163577079772949 +2.8186419010162354 2.8578970432281494 2.2595727443695068 +2.9523112773895264 2.6552066802978516 2.4879686832427979 +4.0112943649291992 2.6101250648498535 3.7741611003875732 +1.8509267568588257 2.4667961597442627 4.4248356819152832 +1.1825919151306152 3.4802298545837402 3.2828769683837891 +1.5321388244628906 3.9906735420227051 3.5312979221343994 +1.3573627471923828 3.735447883605957 3.4070854187011719 +1.7069096565246582 4.2458915710449219 3.6555066108703613 +1.840575098991394 4.0432071685791016 3.8838956356048584 +2.9588992595672607 3.8961837291717529 2.6124267578125 +3.209294319152832 3.8262429237365723 2.403813362121582 +3.0345234870910645 3.5710251331329346 2.2796049118041992 +1.9742443561553955 3.8405168056488037 4.1122913360595703 +3.009706974029541 2.8898899555206299 4.6086211204528809 +1.984592080116272 2.2641119956970215 4.6532249450683594 +2.2349870204925537 2.1941711902618408 4.4446110725402832 +2.3752443790435791 3.2324576377868652 4.7974653244018555 +3.5789151191711426 2.4854092597961426 3.2969968318939209 +2.3341391086578369 2.7745556831359863 4.9016456604003906 +2.1593630313873291 2.5193300247192383 4.7774333953857422 +2.526820182800293 2.5260300636291504 3.3520922660827637 +3.8365235328674316 2.3549070358276367 3.6499524116516113 +2.6671512126922607 3.209723949432373 4.433443546295166 +1.703233003616333 3.1106529235839844 3.3096849918365479 +1.432986855506897 3.4102892875671387 3.074263334274292 +2.5267350673675537 2.8806309700012207 2.6235945224761963 +3.054966926574707 3.4559760093688965 3.3817710876464844 +2.5745716094970703 3.7045795917510986 3.5469036102294922 +2.3983871936798096 3.6393728256225586 3.9287924766540527 +2.4853894710540771 2.1242284774780273 4.2359914779663086 +1.9573045969009399 4.1759510040283203 3.4468929767608643 +3.2196419239044189 2.2498378753662109 2.9447464942932129 +2.1079096794128418 3.6378324031829834 4.3406801223754883 +3.6617474555969238 2.0996813774108887 3.5257401466369629 +3.4869766235351562 1.8444633483886719 3.401531457901001 +2.0403156280517578 2.8848550319671631 4.5119953155517578 +2.9663355350494385 2.2140402793884277 3.3747231960296631 +3.2601022720336914 2.8199493885040283 4.4000077247619629 +2.1287035942077637 2.4480090141296387 4.0725860595703125 +3.0510528087615967 3.6462926864624023 2.9962241649627686 +3.760899543762207 2.6800656318664551 3.9827744960784912 +2.8727421760559082 2.4720897674560547 4.3180027008056641 +2.8597474098205566 3.3157992362976074 2.1553924083709717 +3.1030998229980469 3.1317973136901855 2.5091733932495117 +2.4345815181732178 3.1305220127105713 2.2397971153259277 +2.6849765777587891 3.0605812072753906 2.0311837196350098 +3.4906532764434814 2.9797019958496094 3.7473530769348145 +1.3162573575973511 3.2775454521179199 3.5112659931182861 +2.5656247138977051 2.5578744411468506 4.5738735198974609 +1.8404836654663086 2.8830921649932861 3.584144115447998 +3.8776290416717529 2.8128094673156738 3.5457720756530762 +3.5104970932006836 2.7500085830688477 4.1913943290710449 +2.1031477451324463 2.6443707942962646 3.7050697803497314 +2.2415752410888672 3.4351482391357422 4.5690693855285645 +3.3429596424102783 3.6235587596893311 2.6322023868560791 +3.4766290187835693 3.4208683967590332 2.8605983257293701 +2.7593047618865967 2.9598329067230225 4.8172407150268555 +2.0693492889404297 2.9099621772766113 3.2069017887115479 +1.9337842464447021 3.2704055309295654 2.6570303440093994 +2.4198434352874756 2.378488302230835 3.8057780265808105 +3.6102943420410156 3.2181839942932129 3.0889873504638672 +3.4149701595306396 2.7340078353881836 3.0168702602386475 +1.6007152795791626 3.5514457225799561 3.7608664035797119 +2.7084968090057373 3.9661264419555664 2.8210465908050537 +2.2200078964233398 3.8877522945404053 3.6694266796112061 +1.6833891868591309 3.3403463363647461 2.8656437397003174 +3.35331130027771 2.0471477508544922 3.1731424331665039 +3.4349298477172852 2.3589587211608887 3.8885822296142578 +2.9861793518066406 1.984346866607666 3.8187646865844727 +2.6329295635223389 3.5750765800476074 2.5182344913482666 +2.1841790676116943 3.2004647254943848 2.4484169483184814 +3.2365818023681641 1.914404034614563 3.6101448535919189 +2.8007354736328125 3.3616344928741455 3.9333415031433105 +2.2077069282531738 4.1060080528259277 3.2382733821868896 +3.7439596652984619 3.0154998302459717 3.3173761367797852 +1.4499266147613525 3.0748550891876221 3.739661693572998 +1.7172573804855347 2.6694865226745605 4.1964397430419922 +2.7357842922210693 2.0542874336242676 4.0273780822753906 +2.4581019878387451 4.0360674858093262 3.0296599864959717 +2.0707418918609619 3.6882078647613525 2.9476549625396729 +2.7561142444610596 3.7390527725219727 3.2206258773803711 +1.5835920572280884 2.8721709251403809 3.9680507183074951 +1.9398711919784546 3.1935017108917236 4.2879552841186523 +3 6 22 38 +3 29 49 63 +3 2 23 28 +3 33 76 0 +3 1 59 19 +3 64 34 2 +3 2 34 39 +3 26 60 52 +3 71 44 80 +3 46 4 3 +3 24 53 5 +3 5 53 43 +3 43 24 5 +3 18 6 41 +3 44 70 54 +3 50 9 7 +3 7 9 27 +3 27 50 7 +3 20 53 24 +3 8 0 9 +3 8 9 65 +3 10 11 33 +3 13 12 57 +3 14 12 13 +3 15 11 65 +3 0 27 9 +3 2 39 23 +3 16 40 25 +3 17 22 6 +3 18 22 17 +3 17 6 18 +3 1 19 21 +3 64 20 34 +3 21 22 51 +3 62 55 23 +3 2 28 4 +3 41 32 18 +3 29 58 42 +3 67 15 31 +3 24 70 36 +3 20 24 36 +3 25 75 31 +3 50 27 26 +3 73 28 61 +3 67 76 33 +3 68 27 0 +3 26 27 68 +3 30 75 29 +3 31 30 67 +3 32 44 51 +3 10 33 8 +3 8 11 10 +3 14 57 46 +3 62 41 55 +3 34 69 39 +3 56 31 35 +3 36 74 37 +3 36 37 69 +3 6 38 79 +3 71 62 39 +3 20 64 77 +3 40 44 54 +3 54 49 40 +3 35 31 15 +3 35 15 85 +3 72 66 12 +3 79 55 41 +3 3 28 47 +3 83 29 42 +3 70 24 43 +3 16 51 44 +3 45 72 14 +3 45 14 46 +3 48 47 45 +3 3 47 48 +3 48 45 3 +3 49 77 63 +3 82 73 61 +3 14 13 57 +3 78 65 50 +3 77 64 63 +3 32 51 18 +3 81 30 83 +3 78 26 52 +3 71 80 62 +3 43 53 49 +3 43 49 54 +3 54 70 43 +3 21 59 1 +3 60 23 55 +3 19 25 56 +3 56 38 19 +3 46 64 4 +3 65 9 50 +3 57 42 58 +3 46 57 58 +3 72 12 14 +3 19 59 25 +3 28 23 60 +3 60 26 68 +3 59 21 51 +3 59 51 16 +3 2 4 64 +3 61 60 68 +3 41 62 32 +3 23 39 62 +3 30 76 67 +3 55 84 52 +3 63 58 29 +3 64 58 63 +3 65 11 8 +3 85 15 65 +3 37 74 69 +3 12 66 42 +3 25 59 16 +3 11 15 67 +3 49 29 75 +3 4 28 3 +3 50 26 78 +3 56 35 85 +3 38 21 19 +3 21 38 22 +3 66 72 82 +3 30 29 83 +3 82 61 68 +3 69 20 36 +3 70 71 74 +3 47 73 72 +3 28 73 47 +3 74 39 69 +3 30 81 76 +3 49 75 40 +3 0 76 82 +3 20 77 53 +3 31 56 25 +3 56 85 38 +3 20 69 34 +3 72 73 82 +3 31 75 30 +3 85 65 78 +3 68 0 82 +3 36 70 74 +3 41 6 79 +3 84 55 79 +3 64 46 58 +3 49 53 77 +3 71 70 44 +3 52 60 55 +3 62 80 32 +3 32 80 44 +3 25 40 75 +3 66 82 81 +3 51 22 18 +3 81 82 76 +3 45 46 3 +3 57 12 42 +3 81 83 66 +3 28 60 61 +3 72 45 47 +3 74 71 39 +3 52 84 78 +3 84 85 78 +3 67 33 11 +3 44 40 16 +3 33 0 8 +3 79 38 85 +3 85 84 79 +3 83 42 66 + diff --git a/Polygon_mesh_processing/test/Polygon_mesh_processing/data/decimation/range/am7.off b/Polygon_mesh_processing/test/Polygon_mesh_processing/data/decimation/range/am7.off new file mode 100644 index 00000000000..3668d7f9da9 --- /dev/null +++ b/Polygon_mesh_processing/test/Polygon_mesh_processing/data/decimation/range/am7.off @@ -0,0 +1,315 @@ +OFF +105 206 0 + +3.1777701377868652 -0.44245564937591553 1.5529642105102539 +4.2831711769104004 -1.114276647567749 0.30981612205505371 +2.9221987724304199 0.5086899995803833 1.5736407041549683 +4.3675537109375 -0.64179539680480957 -0.77974843978881836 +5.9269676208496094 -0.33060705661773682 -0.92974567413330078 +5.2177524566650391 -0.46321010589599609 0.34063982963562012 +3.9436547756195068 -0.55960845947265625 1.000760555267334 +4.1421966552734375 -0.57884824275970459 -0.5919945240020752 +5.6935052871704102 -0.59609818458557129 -0.055727720260620117 +5.4388504028320312 -1.4370827674865723 -0.65302348136901855 +4.8937244415283203 -0.81869900226593018 0.21479892730712891 +5.54290771484375 -0.057981967926025391 -0.94952106475830078 +2.9076576232910156 0.21673417091369629 0.83656430244445801 +3.364954948425293 0.24633204936981201 0.59519648551940918 +2.7322597503662109 0.025431156158447266 1.5076801776885986 +2.397881031036377 -0.25697183609008789 1.2010109424591064 +2.8094565868377686 -0.50518798828125 1.1319161653518677 +4.7454395294189453 -1.2433981895446777 -0.075317144393920898 +3.1274881362915039 -0.79146921634674072 1.2726593017578125 +2.2642157077789307 -0.054287552833557129 0.97262191772460938 +2.4389865398406982 0.20093059539794922 1.0968306064605713 +4.0909643173217773 -0.14847373962402344 1.279409646987915 +3.8656063079833984 -0.085526466369628906 1.4671635627746582 +4.2358798980712891 -0.10285103321075439 -0.22439837455749512 +5.2925052642822266 0.011960744857788086 -0.74090170860290527 +4.7670373916625977 -0.33731555938720703 0.71614789962768555 +2.5146126747131348 -0.12422895431518555 0.76400661468505859 +4.8182697296142578 -0.76769018173217773 -1.1552565097808838 +4.9966297149658203 -0.21159696578979492 0.13477373123168945 +4.7917156219482422 0.15184223651885986 -0.32367467880249023 +3.2407655715942383 -0.32705914974212646 0.15902137756347656 +3.1895334720611572 0.10331535339355469 2.0304255485534668 +3.0558681488037109 0.30599963665008545 1.8020365238189697 +4.9720802307128906 -0.3470611572265625 -0.87198662757873535 +4.5413126945495605 0.22178506851196289 -0.11505484580993652 +2.7885334491729736 0.71137428283691406 1.3452516794204712 +2.8399865627288818 -0.40712833404541016 1.7820045948028564 +3.4919171333312988 -0.43520689010620117 1.3755416870117188 +5.1766414642333984 -0.51870644092559814 -1.1440339088439941 +4.9765739440917969 -1.3079590797424316 -0.2678837776184082 +2.7650105953216553 -0.19417047500610352 0.55539059638977051 +4.316321849822998 -0.21142101287841797 1.0916557312011719 +4.2265238761901855 0.064132571220397949 0.65181386470794678 +4.9923949241638184 -0.40026283264160156 0.52839374542236328 +5.2077159881591797 -1.3725218772888184 -0.46045684814453125 +4.514305591583252 -1.1788372993469238 0.11724972724914551 +3.0389304161071777 0.6414330005645752 1.1366362571716309 +4.5416793823242188 -0.2743682861328125 0.90390181541442871 +3.9005718231201172 0.17780786752700806 0.87687802314758301 +5.5748271942138672 -1.1120054721832275 -0.44411396980285645 +3.466123104095459 -0.39000630378723145 -0.028732538223266602 +3.5491154193878174 0.25499922037124634 1.2127940654754639 +5.3575758934020996 -0.95263171195983887 -0.17553043365478516 +3.5090847015380859 -0.052921772003173828 0.2452704906463623 +4.0023097991943359 -0.78489339351654053 0.028208255767822266 +4.4537153244018555 -0.9118340015411377 -0.34612107276916504 +5.443110466003418 -0.52615737915039062 0.15288591384887695 +3.5397257804870605 0.50155007839202881 0.71940517425537109 +5.3094449043273926 -0.32347309589385986 -0.075503110885620117 +5.1757755279541016 -0.12078273296356201 -0.30389904975891113 +3.5044949054718018 -0.64327847957611084 0.43768715858459473 +3.0154080390930176 -0.26411187648773193 0.34677529335021973 +5.9439077377319336 -0.66604089736938477 -0.26434707641601562 +4.2909178733825684 0.29172587394714355 0.093558549880981445 +3.0400538444519043 -0.51592600345611572 0.82951295375823975 +3.5897607803344727 -0.92059195041656494 0.88752269744873047 +3.8208949565887451 -0.9851527214050293 0.69495606422424316 +3.414891242980957 0.040368080139160156 1.8426716327667236 +6.1943025588989258 -0.73598170280456543 -0.4729607105255127 +3.3586239814758301 -0.85603046417236328 1.0800912380218506 +3.9168386459350586 -0.51590096950531006 -0.40424060821533203 +5.6118040084838867 -0.32813858985900879 -0.49135804176330566 +5.0421104431152344 0.08190155029296875 -0.5322880744934082 +4.90521240234375 -1.0389144420623779 -0.72029304504394531 +4.0520291328430176 -1.0497136116027832 0.50238943099975586 +3.1901788711547852 -0.0088937282562255859 0.47098398208618164 +3.2893285751342773 0.57149136066436768 0.92802047729492188 +2.531550407409668 -0.45966219902038574 1.4294068813323975 +2.6652157306671143 -0.6623464822769165 1.6577959060668945 +3.0147626399993896 -0.15190267562866211 1.9062168598175049 +5.4437556266784668 -0.6383664608001709 -1.4065556526184082 +5.2689847946166992 -0.8935847282409668 -1.530764102935791 +5.4026498794555664 -1.096268892288208 -1.302375316619873 +5.7933025360107422 -0.12792277336120605 -1.1581346988677979 +3.8452918529510498 -0.032324790954589844 0.06678318977355957 +2.6137626171112061 0.45615625381469727 1.2210431098937988 +5.6699848175048828 -1.5016436576843262 -0.84559035301208496 +4.6759033203125 -0.059737205505371094 0.27402424812316895 +5.6185317039489746 -0.38314080238342285 -1.2823433876037598 +3.7901206016540527 0.4316093921661377 0.51079177856445312 +4.0405230522155762 0.36166656017303467 0.30217194557189941 +3.3290765285491943 0.25418663024902344 1.524074912071228 +4.3952722549438477 -0.68418610095977783 0.62589359283447266 +3.6914811134338379 -0.45295369625091553 -0.21648669242858887 +6.0606374740600586 -0.53329741954803467 -0.70134973526000977 +5.7316436767578125 -0.81478309631347656 -1.0018625259399414 +5.8447556495666504 -1.2464253902435303 -0.72138166427612305 +6.0195317268371582 -0.99119973182678223 -0.59716939926147461 +2.8963515758514404 -0.72690773010253906 1.4652278423309326 +4.5929117202758789 -0.7047426700592041 -0.96750235557556152 +4.5196189880371094 -0.22371625900268555 -0.49771952629089355 +5.5363197326660156 -1.298959493637085 -1.073979377746582 +5.2065134048461914 -1.1747376918792725 -0.86516213417053223 +5.0436267852783203 -0.83063721656799316 -1.3430101871490479 +3.6402487754821777 -0.022579193115234375 1.6549174785614014 +3 36 0 79 +3 1 45 10 +3 54 45 1 +3 2 32 91 +3 3 99 55 +3 4 88 83 +3 13 76 57 +3 5 28 43 +3 5 43 10 +3 6 41 21 +3 7 3 55 +3 36 14 77 +3 12 40 26 +3 52 49 8 +3 86 9 101 +3 10 52 56 +3 24 59 71 +3 38 33 11 +3 41 48 21 +3 87 42 25 +3 76 13 12 +3 77 14 15 +3 16 77 15 +3 54 7 55 +3 10 45 17 +3 8 71 58 +3 18 16 64 +3 14 2 85 +3 20 26 19 +3 56 58 5 +3 5 10 56 +3 22 6 21 +3 61 60 64 +3 63 34 23 +3 24 33 72 +3 59 24 72 +3 91 46 2 +3 87 25 43 +3 19 26 15 +3 73 27 102 +3 29 87 28 +3 75 40 12 +3 60 30 50 +3 51 22 48 +3 67 32 31 +3 53 30 75 +3 33 100 72 +3 34 29 100 +3 46 35 2 +3 0 36 98 +3 18 37 0 +3 80 38 88 +3 80 88 95 +3 52 17 39 +3 16 26 40 +3 41 42 48 +3 10 43 92 +3 79 32 14 +3 44 9 49 +3 64 65 69 +3 30 60 61 +3 61 75 30 +3 46 85 35 +3 55 17 45 +3 12 85 46 +3 79 14 36 +3 47 41 92 +3 102 44 73 +3 89 13 57 +3 48 89 57 +3 97 95 94 +3 49 62 8 +3 33 27 99 +3 19 15 20 +3 97 62 49 +3 53 84 50 +3 54 50 93 +3 51 104 22 +3 60 50 54 +3 52 44 49 +3 84 53 89 +3 39 17 55 +3 74 60 54 +3 73 39 55 +3 8 58 56 +3 57 51 48 +3 22 21 48 +3 66 74 92 +3 60 74 66 +3 58 59 28 +3 65 64 60 +3 75 61 40 +3 71 8 62 +3 63 90 42 +3 84 90 63 +3 35 85 2 +3 80 103 38 +3 64 40 61 +3 5 58 28 +3 93 50 84 +3 65 66 6 +3 91 32 67 +3 104 37 22 +3 62 97 68 +3 68 97 94 +3 94 62 68 +3 57 76 51 +3 64 69 18 +3 65 6 69 +3 71 11 24 +3 24 11 33 +3 70 23 7 +3 7 54 70 +3 47 25 42 +3 92 25 47 +3 37 6 22 +3 64 16 40 +3 11 71 4 +3 87 43 28 +3 59 72 29 +3 73 99 27 +3 92 43 25 +3 32 2 14 +3 71 59 58 +3 74 1 92 +3 18 0 98 +3 75 13 53 +3 8 56 52 +3 46 51 76 +3 78 77 98 +3 36 77 78 +3 36 78 98 +3 50 30 53 +3 79 31 32 +3 67 31 79 +3 71 62 94 +3 29 28 59 +3 72 100 29 +3 82 81 80 +3 82 103 81 +3 55 45 54 +3 83 11 4 +3 6 37 69 +3 63 42 87 +3 84 23 93 +3 14 85 20 +3 86 96 9 +3 60 66 65 +3 34 63 87 +3 96 86 101 +3 83 88 11 +3 1 10 92 +3 80 81 103 +3 42 90 89 +3 89 90 84 +3 51 46 91 +3 53 13 89 +3 66 92 6 +3 14 20 15 +3 20 85 12 +3 39 73 44 +3 10 17 52 +3 20 12 26 +3 52 39 44 +3 100 7 23 +3 100 23 34 +3 16 15 26 +3 9 44 102 +3 55 99 73 +3 92 41 6 +3 69 37 18 +3 54 93 70 +3 38 27 33 +3 38 103 27 +3 93 23 70 +3 1 74 54 +3 29 34 87 +3 41 47 42 +3 84 63 23 +3 4 71 94 +3 4 94 95 +3 96 49 9 +3 104 0 37 +3 97 96 95 +3 95 96 101 +3 97 49 96 +3 101 82 95 +3 82 80 95 +3 4 95 88 +3 75 12 13 +3 12 46 76 +3 98 16 18 +3 98 77 16 +3 33 99 100 +3 7 100 3 +3 101 102 82 +3 9 102 101 +3 102 27 103 +3 82 102 103 +3 104 67 0 +3 0 67 79 +3 88 38 11 +3 104 91 67 +3 51 91 104 +3 99 3 100 +3 42 89 48 + diff --git a/Polygon_mesh_processing/test/Polygon_mesh_processing/data/decimation/range/am8.off b/Polygon_mesh_processing/test/Polygon_mesh_processing/data/decimation/range/am8.off new file mode 100644 index 00000000000..9c13975bb13 --- /dev/null +++ b/Polygon_mesh_processing/test/Polygon_mesh_processing/data/decimation/range/am8.off @@ -0,0 +1,1425 @@ +OFF +475 946 0 + +3.0147626399993896 -0.15190267562866211 1.9062168598175049 +-1.2718768119812012 1.01340651512146 1.0706911087036133 +2.9221987724304199 0.5086899995803833 1.5736407041549683 +-0.46287107467651367 -1.196770191192627 4.4737262725830078 +2.168053150177002 -0.28520357608795166 3.7429418563842773 +2.6186094284057617 -0.14205276966094971 3.6062917709350586 +1.4666289091110229 -0.0027027130126953125 4.4041585922241211 +3.0822949409484863 -0.22185993194580078 3.2640933990478516 +0.93789768218994141 0.39616858959197998 -0.7703554630279541 +1.1709275245666504 0.73646235466003418 -0.60474252700805664 +-0.6957850456237793 1.9839156866073608 1.5948121547698975 +2.8399865627288818 -0.40712833404541016 1.7820045948028564 +1.5403108596801758 -1.7563023567199707 2.8048000335693359 +2.8028934001922607 -0.28473877906799316 3.3718118667602539 +-1.5491828918457031 0.87410175800323486 1.7471182346343994 +2.007232666015625 -1.2253241539001465 1.0567772388458252 +1.3217085599899292 0.52409827709197998 4.9564838409423828 +-1.2648711204528809 0.019347667694091797 3.1033785343170166 +3.2196419239044189 2.2498378753662109 2.9447464942932129 +2.5821659564971924 -0.39327645301818848 3.4046714305877686 +1.8290081024169922 -0.95507216453552246 0.75225162506103516 +2.7357842922210693 2.0542874336242676 4.0273780822753906 +2.8186419010162354 2.8578970432281494 2.2595727443695068 +2.8007211685180664 -0.19292044639587402 3.4545676708221436 +2.6548681259155273 0.9140586256980896 1.1168627738952637 +1.9970970153808594 -0.059662342071533203 4.0431513786315918 +2.9413712024688721 -0.4643404483795166 3.1313796043395996 +2.1287035942077637 2.4480090141296387 4.0725860595703125 +-0.041642665863037109 0.59228253364562988 4.3795123100280762 +0.78718829154968262 0.99471366405487061 -0.15097212791442871 +2.5211987495422363 1.1167490482330322 0.88846683502197266 +1.9218616485595703 -0.32792472839355469 3.8491129875183105 +3.6419413089752197 2.0253288745880127 2.8118505477905273 +4.1045036315917969 1.8373234272003174 2.5472958087921143 +1.432986855506897 3.4102892875671387 3.074263334274292 +1.8901858329772949 0.061411738395690918 4.2131690979003906 +2.7547051906585693 -0.062112569808959961 3.5975844860076904 +2.6867787837982178 -0.082113862037658691 3.6195883750915527 +0.56506514549255371 3.4873697757720947 4.1371126174926758 +2.766507625579834 -0.98178386688232422 2.774512767791748 +2.3875331878662109 1.319433331489563 0.66007781028747559 +2.8021409511566162 3.1185252666473389 0.55455172061920166 +1.4211066961288452 0.010012626647949219 4.4420843124389648 +0.65808618068695068 -1.0380392074584961 2.5703027248382568 +1.2418928146362305 -0.76083266735076904 3.8628818988800049 +1.6833891868591309 3.3403463363647461 2.8656437397003174 +1.3425824642181396 3.6575276851654053 2.6934547424316406 +2.1178195476531982 -0.0021712779998779297 4.0235185623168945 +1.5563615560531616 -0.22806739807128906 4.151641845703125 +2.3258743286132812 0.63257288932800293 0.81634986400604248 +2.7413797378540039 -0.35876822471618652 3.3421154022216797 +2.6958575248718262 -0.34605288505554199 3.3800418376922607 +3.2409865856170654 -1.0151872634887695 2.4671783447265625 +1.0997345447540283 2.6766204833984375 5.0506820678710938 +1.7274903059005737 0.33862453699111938 4.5543999671936035 +3.0629470348358154 0.031612396240234375 3.500361442565918 +3.001838207244873 -0.62119424343109131 2.9567906856536865 +2.5051512718200684 0.71054214239120483 4.4293308258056641 +2.3771717548370361 -0.25703692436218262 3.6455509662628174 +2.526820182800293 2.5260300636291504 3.3520922660827637 +1.9218965768814087 -0.12986874580383301 4.0248575210571289 +-0.9686121940612793 -0.4298863410949707 3.6095850467681885 +0.87258350849151611 -1.5697917938232422 3.3611087799072266 +2.2127623558044434 1.0642153024673462 0.53586924076080322 +1.718269944190979 -0.15002870559692383 4.1261401176452637 +1.7080743312835693 0.11227941513061523 4.3648929595947266 +1.844656229019165 0.074129164218902588 4.2511014938354492 +1.886233925819397 0.17444121837615967 4.3157901763916016 +2.397881031036377 -0.25697183609008789 1.2010109424591064 +2.0758976936340332 0.83044201135635376 4.7869582176208496 +1.6947249174118042 0.64717841148376465 4.8474030494689941 +3.6375818252563477 1.3063449859619141 4.295318603515625 +1.7172573804855347 2.6694865226745605 4.1964397430419922 +1.8509267568588257 2.4667961597442627 4.4248356819152832 +1.7628073692321777 0.23180186748504639 4.4389305114746094 +2.1832876205444336 -0.34216094017028809 3.6834785938262939 +1.9541447162628174 0.4320073127746582 4.5046224594116211 +-1.1930065155029297 2.5115711688995361 2.354081392288208 +0.53871619701385498 -1.4765353202819824 3.6392662525177002 +2.3454535007476807 -0.065754413604736328 3.8338682651519775 +-1.5116386413574219 0.3935350775718689 2.6817362308502197 +2.1841790676116943 3.2004647254943848 2.4484169483184814 +3.5390803813934326 0.61375910043716431 2.2788465023040771 +3.7138512134552002 0.86897718906402588 2.4030551910400391 +2.0129561424255371 -0.1553037166595459 3.9489927291870117 +1.662065863609314 0.24308526515960693 4.5079030990600586 +1.8675905466079712 -0.24878084659576416 3.9511117935180664 +1.9763802289962769 -0.24831128120422363 3.8878588676452637 +2.0846664905548096 -0.24857687950134277 3.8242485523223877 +3.0859766006469727 2.4525222778320312 2.7163577079772949 +-0.039473533630371094 3.4986641407012939 3.4077088832855225 +2.9523112773895264 2.6552066802978516 2.4879686832427979 +3.5801858901977539 1.0716614723205566 2.174666166305542 +1.0319868326187134 4.018348217010498 2.3890893459320068 +0.44455933570861816 3.4509220123291016 2.2293200492858887 +1.456515908241272 -0.82078158855438232 3.6840713024139404 +-0.46300315856933594 1.9248586893081665 3.4269955158233643 +2.0267601013183594 0.02326357364654541 4.0993838310241699 +2.2349870204925537 2.1941711902618408 4.4446110725402832 +-0.24204778671264648 -0.98868358135223389 3.7354450225830078 +-0.69119787216186523 0.85121035575866699 0.58690547943115234 +-0.98660421371459961 0.93372368812561035 0.83301961421966553 +2.9716920852661133 2.668708324432373 0.90886867046356201 +2.5142321586608887 -0.41327571868896484 3.4266815185546875 +0.53595519065856934 -0.048689842224121094 0.70928192138671875 +2.0722899436950684 0.010546088218688965 4.0614509582519531 +2.5418980121612549 -2.0360674858093262 1.9703400135040283 +2.4978868961334229 -0.19954383373260498 3.6259245872497559 +-0.67892789840698242 2.2522778511047363 3.0580527782440186 +1.8741714954376221 -1.8495569229125977 2.5266480445861816 +1.1161197423934937 0.12592053413391113 -0.46583414077758789 +1.9357081651687622 0.048696398735046387 4.1752424240112305 +2.8462433815002441 -0.20563578605651855 3.4166414737701416 +2.0379862785339355 0.80898964405059814 0.41165685653686523 +1.3162573575973511 3.2775454521179199 3.5112659931182861 +1.6344000101089478 1.8658770322799683 5.9642448425292969 +-1.7173261642456055 1.7459070682525635 1.9814505577087402 +2.3658485412597656 0.32042992115020752 4.1646518707275391 +1.9337842464447021 3.2704055309295654 2.6570303440093994 +1.4454313516616821 -0.95816326141357422 1.2983243465423584 +-1.0182356834411621 2.7667891979217529 2.4782900810241699 +2.6503276824951172 -0.33333539962768555 3.4179744720458984 +2.6048054695129395 -0.32062005996704102 3.4559006690979004 +2.0681076049804688 -0.43115401268005371 3.6719112396240234 +1.7991263866424561 0.086846590042114258 4.2890338897705078 +2.7778308391571045 -0.10754668712615967 3.543729305267334 +-0.1272122859954834 0.028376519680023193 4.4658632278442383 +2.4682235717773438 -0.28246974945068359 3.5696921348571777 +1.7038995027542114 -0.32942283153533936 3.975346565246582 +1.2616856098175049 -1.1273090839385986 1.9044208526611328 +2.531550407409668 -0.45966219902038574 1.4294068813323975 +0.54297232627868652 1.0930852890014648 4.9133138656616211 +-0.4308006763458252 3.6246213912963867 2.8957769870758057 +2.2847926616668701 -0.43153393268585205 3.5447583198547363 +2.3674421310424805 3.6453266143798828 1.2764713764190674 +1.0937645435333252 1.773794412612915 5.3462018966674805 +0.6062701940536499 1.6907628774642944 4.7889089584350586 +-1.1517791748046875 0.65346455574035645 1.6412961483001709 +-1.5470085144042969 1.0902568101882935 1.2999136447906494 +2.2221534252166748 -0.60219764709472656 3.429962158203125 +-0.069969415664672852 0.67768776416778564 0.069336652755737305 +1.1133509874343872 -0.20180273056030273 4.4342236518859863 +3.1380801200866699 1.2218180894851685 1.5936727523803711 +1.6507875919342041 -0.68482649326324463 0.44773292541503906 +1.4725631475448608 -0.41457462310791016 0.14320755004882812 +3.749305248260498 1.5106236934661865 2.2304885387420654 +1.4349184036254883 0.18857777118682861 4.5924692153930664 +1.830844521522522 -0.10443603992462158 4.1007165908813477 +0.16737866401672363 2.2186293601989746 1.2979397773742676 +1.7853221893310547 -0.0917205810546875 4.1386432647705078 +1.8612744808197021 0.89039087295532227 4.9657688140869141 +2.6359872817993164 1.5861121416091919 5.1297845840454102 +3.4869766235351562 1.8444633483886719 3.401531457901001 +0.07210850715637207 1.1721094846725464 0.42496061325073242 +-0.385650634765625 0.76586425304412842 0.33234238624572754 +3.0558681488037109 0.30599963665008545 1.8020365238189697 +1.636986255645752 1.4170485734939575 -0.27351713180541992 +1.8700193166732788 1.7573468685150146 -0.10790205001831055 +1.9682598114013672 1.7726227045059204 5.686093807220459 +2.1999177932739258 0.078120946884155273 4.0467262268066406 +1.699714183807373 3.8318371772766113 1.8327807188034058 +1.480440616607666 0.17586243152618408 4.5545430183410645 +2.2905282974243164 0.77049100399017334 4.6081409454345703 +2.1660845279693604 3.4275057315826416 2.0073642730712891 +2.3087074756622314 0.078590512275695801 3.9834733009338379 +0.89258646965026855 3.5243730545043945 2.0322949886322021 +1.7536041736602783 0.099561929702758789 4.3269600868225098 +2.9861793518066406 1.984346866607666 3.8187646865844727 +1.7397925853729248 -0.079003214836120605 4.1765756607055664 +2.2999236583709717 -0.053036928176879883 3.8718008995056152 +2.1495380401611328 -0.19345390796661377 3.8352012634277344 +2.7869095802307129 -0.37148559093475342 3.3041830062866211 +3.4740195274353027 -0.67488908767700195 2.6327934265136719 +3.1895334720611572 0.10331535339355469 2.0304255485534668 +2.1305503845214844 0.14839679002761841 0.74423301219940186 +1.3561683893203735 -0.20361709594726562 4.2905035018920898 +3.1791858673095703 1.679720401763916 1.4894924163818359 +2.7175159454345703 -0.47282099723815918 3.2548654079437256 +2.6923236846923828 -0.40723550319671631 3.3278133869171143 +3.2365818023681641 1.914404034614563 3.6101448535919189 +4.1731081008911133 0.34599083662033081 3.1296319961547852 +-0.0046961307525634766 0.37466514110565186 0.6001286506652832 +1.7280200719833374 -0.21499490737915039 4.062779426574707 +2.2900638580322266 -0.34463155269622803 3.6187949180603027 +2.4482779502868652 0.044804513454437256 3.8718056678771973 +2.5889463424682617 -0.22497868537902832 3.5500593185424805 +2.5137457847595215 -0.29518508911132812 3.5317659378051758 +0.46925067901611328 0.16440790891647339 5.1361799240112305 +2.7370800971984863 1.8298771381378174 0.90849888324737549 +1.5259703397750854 0.16314500570297241 4.5166106224060059 +3.0455164909362793 1.8824107646942139 1.2610964775085449 +1.014538049697876 3.1216690540313721 1.6035417318344116 +0.59180545806884766 0.49283969402313232 -0.48201298713684082 +2.0584783554077148 -0.16801905632019043 3.9110662937164307 +3.3269870281219482 1.6671640872955322 3.9909548759460449 +1.3658542633056641 3.9250917434692383 2.1109318733215332 +3.3128511905670166 1.4770362377166748 1.7178813219070435 +2.4488077163696289 -0.50881493091583252 3.3801848888397217 +0.72735095024108887 0.15172016620635986 0.028180837631225586 +-0.063764095306396484 -0.76945877075195312 3.0341334342956543 +-0.91532588005065918 0.52978909015655518 3.3517982959747314 +1.9930102825164795 0.17197060585021973 4.2511062622070312 +1.3734046220779419 0.1145484447479248 4.5627727508544922 +0.97918856143951416 -0.3977203369140625 4.3388752937316895 +2.2405898571014404 -0.21888673305511475 3.7593421936035156 +3.3643043041229248 0.35853338241577148 2.1546342372894287 +2.5034847259521484 1.8971860408782959 4.6770453453063965 +-1.0435347557067871 2.0810496807098389 1.8845353126525879 +2.5991272926330566 -0.051702141761779785 3.6978754997253418 +2.0881490707397461 -0.08509516716003418 3.9672925472259521 +2.8501920700073242 1.3982347249984741 1.1889796257019043 +1.9812378883361816 0.035978913307189941 4.1373100280761719 +2.0082449913024902 0.11501318216323853 4.191643238067627 +2.527557373046875 -0.11661994457244873 3.6821506023406982 +2.6733424663543701 -0.022530317306518555 3.6803295612335205 +2.2642157077789307 -0.054287552833557129 0.97262191772460938 +1.984592080116272 2.2641119956970215 4.6532249450683594 +3.443920373916626 0.85879373550415039 4.011479377746582 +2.7885334491729736 0.71137428283691406 1.3452516794204712 +2.6137626171112061 0.45615625381469727 1.2210431098937988 +1.0276257991790771 3.2993645668029785 3.8725588321685791 +1.8290791511535645 -0.092897653579711914 0.46328020095825195 +1.4026777744293213 -0.37330043315887451 4.1126985549926758 +2.8488245010375977 -0.083066225051879883 3.5239055156707764 +2.5623040199279785 1.5746514797210693 0.7842864990234375 +-0.9082939624786377 0.15653789043426514 2.3197557926177979 +1.2779550552368164 2.4063746929168701 5.3552007675170898 +0.0031890869140625 -0.5161820650100708 4.8049526214599609 +-0.37460160255432129 -0.41873323917388916 4.3188257217407227 +1.9233795404434204 -1.3616538047790527 2.9308395385742188 +2.6205072402954102 -1.2433819770812988 1.7989339828491211 +1.4499266147613525 3.0748550891876221 3.739661693572998 +1.703233003616333 3.1106529235839844 3.3096849918365479 +4.1050901412963867 0.92455565929412842 2.8540184497833252 +1.3984673023223877 -0.062643766403198242 4.3908557891845703 +2.4198434352874756 2.378488302230835 3.8057780265808105 +0.13851809501647949 2.5992200374603271 3.922900915145874 +2.2080352306365967 -1.9428119659423828 2.2484936714172363 +0.73237907886505127 -1.0289816856384277 3.9231066703796387 +0.81263887882232666 -0.64093279838562012 4.2205095291137695 +4.4609484672546387 1.2968258857727051 3.1563401222229004 +4.6391692161560059 1.0265800952911377 3.4608588218688965 +-1.9126405715942383 1.0015970468521118 1.9965589046478271 +2.7551913261413574 -0.18020296096801758 3.4925003051757812 +2.8686621189117432 -0.14972805976867676 3.4531362056732178 +2.891772985458374 -0.218353271484375 3.3787088394165039 +2.6022167205810547 -0.44318747520446777 3.3486428260803223 +-2.066871166229248 1.2354656457901001 1.7330307960510254 +-1.8920989036560059 1.4906859397888184 1.8572404384613037 +-1.812006950378418 1.1642764806747437 1.5206935405731201 +2.1950602531433105 -0.20616936683654785 3.7972750663757324 +1.7694631814956665 0.0039206743240356445 4.2328014373779297 +1.6487405300140381 -0.053570389747619629 4.252434253692627 +0.25584983825683594 0.58667945861816406 -0.20211553573608398 +2.2899234294891357 3.1340575218200684 0.86811280250549316 +2.3316419124603271 -0.24431955814361572 3.6834836006164551 +-0.22984123229980469 -0.85647666454315186 4.6393394470214844 +1.8857697248458862 -0.94068145751953125 3.3264436721801758 +2.4389865398406982 0.20093059539794922 1.0968306064605713 +1.9927365779876709 2.7365295886993408 0.68925511837005615 +1.1206991672515869 -1.3265290260314941 2.5121469497680664 +-0.61998939514160156 0.55231833457946777 1.1008589267730713 +1.256014347076416 0.28825986385345459 4.7856369018554688 +2.5267350673675537 2.8806309700012207 2.6235945224761963 +1.652692437171936 -0.16659986972808838 4.149813175201416 +2.1266036033630371 0.12945610284805298 4.1351909637451172 +1.1825919151306152 3.4802298545837402 3.2828769683837891 +-0.86400508880615234 2.5329205989837646 2.7418184280395508 +0.27651405334472656 -0.87037134170532227 4.3306622505187988 +-0.59455704689025879 2.848419189453125 2.9594564437866211 +-0.70128154754638672 -0.83525490760803223 4.0663628578186035 +2.9698545932769775 1.4928556680679321 4.8516273498535156 +-0.070940017700195312 1.5031421184539795 0.80245614051818848 +0.030399799346923828 4.2981128692626953 3.2235493659973145 +0.20862174034118652 4.027864933013916 3.5280709266662598 +3.0351686477661133 3.4588160514831543 0.72016322612762451 +2.0335814952850342 3.7385809421539307 1.5546232461929321 +-0.66300439834594727 2.450573205947876 1.9897630214691162 +2.0693492889404297 2.9099621772766113 3.2069017887115479 +2.6157355308532715 -0.62145113945007324 3.182530403137207 +2.4853894710540771 2.1242284774780273 4.2359914779663086 +1.8605152368545532 -0.021512150764465332 4.1569428443908691 +0.64997875690460205 2.2851042747497559 4.6421098709106445 +1.8763742446899414 -0.11715340614318848 4.0627841949462891 +1.9459236860275269 1.2087135314941406 0.16714215278625488 +2.8594779968261719 1.0412776470184326 4.5154714584350586 +2.9344053268432617 0.59064227342605591 4.0717029571533203 +2.1040081977844238 -0.18073654174804688 3.873133659362793 +1.0272620916366577 -0.7008817195892334 4.0416984558105469 +1.0951689481735229 0.33318734169006348 4.9196429252624512 +1.0729142427444458 0.057560086250305176 4.6880617141723633 +2.9118509292602539 2.0850951671600342 1.0327074527740479 +2.7013058662414551 3.5520710945129395 0.99831700325012207 +3.9262790679931641 2.1075751781463623 2.2427704334259033 +1.4279826879501343 2.0835075378417969 0.44025325775146484 +2.5691080093383789 2.7782268524169922 0.38893651962280273 +2.1031477451324463 2.6443707942962646 3.7050697803497314 +1.8404836654663086 2.8830921649932861 3.584144115447998 +4.3053059577941895 1.1198351383209229 3.7390124797821045 +1.5121587514877319 -0.015420198440551758 4.3662257194519043 +1.4039579629898071 1.0767569541931152 -0.43912911415100098 +1.4719784259796143 0.49819684028625488 -0.16351413726806641 +-0.83633947372436523 3.0324125289916992 2.607562780380249 +-1.2051358222961426 1.6875684261322021 1.6299171447753906 +-1.1766061782836914 1.4026113748550415 1.3603341579437256 +3.1490359306335449 0.53069126605987549 3.8928861618041992 +0.38684415817260742 3.7576160430908203 3.8325929641723633 +2.4052488803863525 -1.4720921516418457 2.5508153438568115 +0.74328958988189697 3.2171177864074707 4.4416379928588867 +-0.19573569297790527 0.28041088581085205 1.0626051425933838 +2.2645969390869141 -0.30262970924377441 3.6709742546081543 +3.35331130027771 2.0471477508544922 3.1731424331665039 +-0.20715808868408203 3.9512066841125488 3.0547182559967041 +2.6849765777587891 3.0605812072753906 2.0311837196350098 +3.9714424610137939 1.2130905389785767 4.0171670913696289 +3.8997869491577148 0.7001839280128479 3.6039233207702637 +1.3755769729614258 0.022730112075805664 4.4800171852111816 +2.3724532127380371 0.01328200101852417 3.8882076740264893 +4.2827243804931641 1.56707763671875 2.8518145084381104 +-0.12901115417480469 -1.2900247573852539 4.1955747604370117 +3.9725308418273926 1.4945038557052612 3.4374008178710938 +1.3076359033584595 -0.020462274551391602 4.4814486503601074 +1.330054759979248 0.035445451736450195 4.5179433822631836 +1.5941321849822998 0.22308599948883057 4.5299134254455566 +-0.64052772521972656 3.3183567523956299 2.7467250823974609 +-0.37986421585083008 3.0116448402404785 2.3219790458679199 +2.39664626121521 -0.34738540649414062 3.5539734363555908 +2.4815731048583984 -0.81736874580383301 3.0871820449829102 +2.3150234222412109 -1.0605812072753906 2.9688162803649902 +1.4013723134994507 1.5255862474441528 5.7986335754394531 +2.9611663818359375 -0.11701786518096924 3.4280264377593994 +3.3636589050292969 0.47074240446090698 3.7140755653381348 +1.6170223951339722 0.13771224021911621 4.4407515525817871 +1.2151315212249756 -0.053172469139099121 4.5065584182739258 +-0.67497944831848145 0.27681678533554077 1.7443215847015381 +0.23749780654907227 -0.37652575969696045 1.8028552532196045 +2.0496945381164551 -0.29964637756347656 3.7993941307067871 +0.20485639572143555 -1.3832809925079346 3.9174175262451172 +-0.007175445556640625 2.9075448513031006 2.0114774703979492 +1.9968808889389038 0.35108715295791626 0.51583719253540039 +2.7096691131591797 -0.16748762130737305 3.5304265022277832 +-1.3677825927734375 2.2563455104827881 2.2298691272735596 +-1.119194507598877 2.1355414390563965 2.5687465667724609 +1.5835920572280884 2.8721709251403809 3.9680507183074951 +4.4061412811279297 0.68628925085067749 3.2952470779418945 +1.4097918272018433 0.81159317493438721 5.1600708961486816 +0.93531143665313721 0.84499704837799072 5.4674062728881836 +1.7710455656051636 1.3019019365310669 5.3837718963623047 +2.3021273612976074 1.6793663501739502 5.4079360961914062 +1.5584028959274292 3.3350851535797119 1.474639892578125 +2.6652157306671143 -0.6623464822769165 1.6577959060668945 +0.67445695400238037 1.4941771030426025 0.35825395584106445 +2.4723985195159912 0.159232497215271 3.9592385292053223 +-0.52668118476867676 0.098668575286865234 3.9628210067749023 +1.4672261476516724 2.6327738761901855 4.623687744140625 +0.92151010036468506 2.9468722343444824 4.7461566925048828 +3.2133908271789551 3.1885678768157959 1.0246846675872803 +1.863215446472168 0.5537714958190918 0.28744816780090332 +2.273735523223877 0.027520835399627686 3.9586186408996582 +1.4561794996261597 2.1361227035522461 5.6597261428833008 +2.1030471324920654 2.0976376533508301 0.057709693908691406 +1.8038450479507446 -0.1834723949432373 4.0463771820068359 +1.8915053606033325 0.26134365797042847 4.389826774597168 +2.3360800743103027 2.4379360675811768 0.22332477569580078 +2.4345815181732178 3.1305220127105713 2.2397971153259277 +2.8428463935852051 3.2227063179016113 1.475922703742981 +1.4839744567871094 0.23704510927200317 4.6067714691162109 +1.3893885612487793 0.20129525661468506 4.6304020881652832 +2.9663355350494385 2.2140402793884277 3.3747231960296631 +2.1792011260986328 -0.11052799224853516 3.8914337158203125 +2.5592756271362305 -0.30790257453918457 3.4938333034515381 +1.502955436706543 -0.14766013622283936 4.2542552947998047 +1.4895192384719849 -0.088076591491699219 4.3149967193603516 +2.7322597503662109 0.025431156158447266 1.5076801776885986 +1.1683391332626343 1.1852878332138062 5.6330180168151855 +1.8104493618011475 -0.49062025547027588 3.769932746887207 +1.685184121131897 0.19765317440032959 4.4540543556213379 +1.577170729637146 -0.11848819255828857 4.2367095947265625 +-1.1374824047088623 1.7621533870697021 2.6719796657562256 +-1.7275633811950684 0.72095417976379395 2.312793493270874 +1.4215928316116333 -0.10807788372039795 4.3370003700256348 +1.7730928659439087 3.0677938461303711 1.1117836236953735 +0.85153377056121826 -0.020567655563354492 4.7482905387878418 +2.2326869964599609 -0.70255589485168457 1.1521202325820923 +1.8455630540847778 2.0886120796203613 5.2094573974609375 +1.2845249176025391 0.048162877559661865 4.5558757781982422 +1.7796517610549927 0.17719507217407227 4.3806114196777344 +2.1081905364990234 0.26096367835998535 4.2626738548278809 +2.3613126277923584 -0.16139566898345947 3.7397096157073975 +2.2702531814575195 -0.13596081733703613 3.8155746459960938 +1.2943422794342041 -0.14432835578918457 -0.16131186485290527 +3.2511923313140869 0.79017573595046997 1.8741533756256104 +2.4134907722473145 -0.4019923210144043 3.4956543445587158 +1.3274736404418945 -0.087124228477478027 4.4106793403625488 +2.7197821140289307 0.65059113502502441 4.2505135536193848 +3.3037145137786865 1.3996013402938843 4.5734763145446777 +3.6303658485412598 0.21521341800689697 2.5220332145690918 +3.2431416511535645 -0.26678776741027832 3.1300859451293945 +2.2529201507568359 1.1914658546447754 5.003746509552002 +-1.5425534248352051 2.0011272430419922 2.1056604385375977 +0.45297956466674805 -1.1400203704833984 3.0684494972229004 +1.8687036037445068 -1.558201789855957 1.9356794357299805 +1.5605624914169312 0.45126086473464966 4.7520542144775391 +1.4587819576263428 0.30263060331344604 4.6797194480895996 +3.9400804042816162 0.0057001113891601562 2.9640202522277832 +1.6942627429962158 -0.06628572940826416 4.214508056640625 +0.23621749877929688 -0.17589044570922852 4.9705648422241211 +3.5795671939849854 0.2055279016494751 3.3523495197296143 +3.3088350296020508 -0.030949234962463379 3.3009340763092041 +1.5714925527572632 0.15042966604232788 4.4786844253540039 +0.59673225879669189 -0.37571859359741211 4.5822343826293945 +1.6711465120315552 -0.88073253631591797 3.5052542686462402 +1.3168188333511353 -1.2114696502685547 3.4191124439239502 +2.2544364929199219 0.1577344536781311 4.0854721069335938 +-1.6152782440185547 1.331046462059021 2.2430253028869629 +2.2861120700836182 -0.23160207271575928 3.7214159965515137 +3.5698342323303223 2.6480727195739746 1.6337261199951172 +3.2023410797119141 2.6919195652008057 2.0607218742370605 +-0.22338557243347168 2.9699018001556396 3.3642380237579346 +2.4226939678192139 -0.26975226402282715 3.6076245307922363 +1.0889904499053955 -0.417671799659729 0.68928694725036621 +2.6641392707824707 -0.1547701358795166 3.5683591365814209 +2.2544014453887939 -0.040321588516235352 3.9097270965576172 +1.2787678241729736 2.530566930770874 0.92432570457458496 +1.5418293476104736 0.067503690719604492 4.4224519729614258 +1.0272921323776245 -0.6209031343460083 1.1936910152435303 +3.391613245010376 2.9183192253112793 1.3292068243026733 +2.1633419990539551 -0.014886617660522461 3.9855923652648926 +0.15487313270568848 3.1536164283752441 3.756662130355835 +0.69812691211700439 4.1116023063659668 2.6672406196594238 +0.69703423976898193 3.8301906585693359 3.24700927734375 +2.9633042812347412 0.96659243106842041 1.4694602489471436 +3.4465165138244629 1.2743518352508545 1.9462703466415405 +2.573087215423584 -0.12933743000030518 3.6442179679870605 +0.7022784948348999 0.50469869375228882 5.3017911911010742 +2.4365053176879883 -0.091187119483947754 3.7580094337463379 +2.4820351600646973 -0.1039046049118042 3.7200767993927002 +1.9674264192581177 -0.14258623123168945 3.9869251251220703 +1.6032106876373291 -0.040853023529052734 4.2903671264648438 +2.100400447845459 -1.0006322860717773 3.1476268768310547 +1.2064434289932251 -1.6630458831787109 3.0829575061798096 +1.5740811824798584 0.27299720048904419 4.585942268371582 +2.5236055850982666 -0.0035904645919799805 3.7847716808319092 +3.7480587959289551 2.3778209686279297 1.9382517337799072 +1.4507774114608765 0.092936515808105469 4.4983110427856445 +2.4702415466308594 1.9743754863739014 0.53977179527282715 +-0.56578254699707031 1.0402275323867798 3.6002168655395508 +2.4911139011383057 -0.3678436279296875 3.4805302619934082 +3.1068968772888184 -0.54972219467163086 2.1501789093017578 +2.7749278545379639 -1.6957736015319824 2.1359529495239258 +2.185452938079834 -1.4955697059631348 1.3612958192825317 +3.0079584121704102 -1.3554790019989014 2.3015663623809814 +2.3636775016784668 -1.7658214569091797 1.6658213138580322 +2.619936466217041 0.057877063751220703 3.7829432487487793 +3.3469884395599365 2.1237070560455322 1.5420498847961426 +2.4580283164978027 -0.020161628723144531 3.8084449768066406 +-0.58699655532836914 1.2718558311462402 0.89922404289245605 +-0.78183841705322266 1.4920241832733154 1.2086446285247803 +1.6784112453460693 0.029353439807891846 4.3086605072021484 +3.7070474624633789 -0.33459830284118652 2.7984051704406738 +0.16513156890869141 3.7313432693481445 2.6417162418365479 +0.36425948143005371 4.2048587799072266 2.9453983306884766 +1.6625521183013916 0.12499475479125977 4.4028191566467285 +1.9025624990463257 -0.19771122932434082 3.975966215133667 +2.7255206108093262 -0.26312685012817383 3.4362740516662598 +3.1971094608306885 0.22752988338470459 3.5957098007202148 +2.7736203670501709 0.20311009883880615 3.8218865394592285 +2.82012939453125 0.033426821231842041 3.6440811157226562 +-1.2428500652313232 1.1113617420196533 2.7636961936950684 +2.0916314125061035 0.078386425971984863 4.1103363037109375 +2.3909757137298584 -0.078469753265380859 3.7959420680999756 +2.208871603012085 -0.027604103088378906 3.9476597309112549 +1.5576884746551514 -0.028137564659118652 4.3282933235168457 +1.9117012023925781 0.13243931531906128 4.26361083984375 +-0.21623563766479492 1.5506713390350342 3.8486378192901611 +3 0 448 11 +3 304 457 1 +3 391 155 2 +3 270 3 256 +3 376 462 65 +3 87 193 84 +3 156 284 300 +3 309 104 335 +3 204 4 310 +3 56 39 52 +3 37 433 5 +3 289 262 16 +3 6 42 234 +3 263 59 89 +3 171 7 245 +3 176 196 142 +3 9 110 8 +3 457 303 10 +3 130 373 11 +3 440 260 12 +3 171 13 50 +3 14 137 379 +3 119 20 15 +3 74 54 85 +3 319 3 270 +3 16 434 289 +3 61 200 17 +3 199 61 17 +3 44 95 128 +3 469 47 159 +3 368 18 89 +3 210 30 224 +3 317 184 164 +3 19 103 246 +3 297 278 232 +3 141 175 393 +3 425 143 20 +3 167 21 194 +3 91 417 22 +3 13 23 464 +3 49 30 24 +3 162 285 398 +3 23 223 243 +3 433 107 5 +3 418 236 428 +3 47 25 209 +3 281 149 147 +3 7 171 26 +3 281 168 149 +3 27 73 98 +3 43 260 440 +3 446 28 474 +3 389 369 170 +3 153 29 253 +3 224 30 40 +3 375 123 31 +3 145 33 318 +3 318 33 32 +3 266 114 34 +3 123 257 139 +3 473 66 35 +3 5 107 185 +3 214 37 36 +3 463 437 60 +3 308 220 38 +3 15 383 450 +3 272 351 153 +3 307 39 328 +3 157 294 360 +3 157 360 40 +3 436 208 442 +3 125 36 340 +3 41 102 295 +3 295 254 41 +3 316 42 444 +3 43 199 335 +3 56 327 39 +3 13 245 112 +3 238 412 44 +3 137 225 379 +3 46 34 45 +3 105 25 47 +3 347 329 374 +3 94 338 325 +3 229 328 439 +3 427 159 47 +3 264 377 48 +3 258 49 219 +3 50 51 178 +3 28 446 353 +3 172 56 52 +3 386 65 166 +3 93 46 195 +3 162 398 69 +3 31 336 87 +3 226 53 282 +3 354 53 226 +3 402 54 70 +3 330 55 223 +3 367 385 202 +3 56 26 279 +3 387 117 57 +3 412 95 44 +3 110 198 192 +3 436 58 107 +3 59 368 89 +3 60 25 283 +3 207 341 77 +3 228 61 270 +3 43 440 62 +3 352 184 453 +3 49 63 30 +3 264 182 64 +3 166 65 458 +3 412 62 440 +3 67 124 66 +3 100 456 154 +3 100 154 309 +3 473 201 67 +3 218 24 431 +3 68 373 130 +3 407 180 315 +3 98 73 216 +3 70 76 69 +3 314 194 71 +3 217 314 71 +3 62 412 238 +3 279 327 56 +3 354 73 72 +3 48 377 371 +3 54 74 362 +3 336 75 4 +3 465 55 408 +3 387 162 76 +3 198 390 420 +3 77 267 120 +3 400 62 78 +3 215 383 20 +3 389 79 169 +3 80 379 225 +3 383 15 20 +3 224 40 445 +3 163 118 81 +3 219 2 373 +3 236 96 474 +3 92 83 82 +3 174 258 215 +3 463 87 84 +3 409 85 323 +3 305 286 466 +3 187 289 434 +3 184 352 164 +3 361 182 86 +3 87 88 193 +3 59 296 235 +3 88 287 193 +3 417 91 89 +3 306 274 90 +3 352 413 164 +3 316 202 322 +3 91 263 89 +3 432 145 92 +3 397 459 408 +3 299 472 424 +3 94 429 93 +3 86 87 463 +3 128 95 375 +3 116 248 414 +3 378 96 108 +3 25 97 211 +3 98 280 27 +3 337 99 400 +3 421 5 185 +3 76 162 69 +3 69 398 150 +3 261 101 100 +3 100 101 456 +3 102 291 295 +3 370 103 122 +3 335 104 425 +3 303 138 249 +3 249 138 14 +3 189 441 161 +3 295 259 254 +3 316 444 202 +3 197 327 279 +3 328 229 307 +3 25 105 97 +3 370 122 185 +3 106 237 452 +3 127 185 107 +3 425 129 335 +3 269 108 418 +3 237 109 401 +3 335 129 43 +3 110 301 390 +3 308 282 355 +3 343 308 355 +3 70 150 345 +3 461 460 312 +3 35 281 111 +3 23 112 244 +3 113 339 357 +3 232 34 114 +3 251 405 168 +3 115 158 359 +3 329 158 115 +3 115 359 329 +3 78 62 238 +3 86 182 128 +3 116 303 248 +3 309 261 100 +3 70 16 402 +3 394 57 117 +3 118 263 81 +3 401 129 119 +3 202 385 322 +3 181 309 154 +3 277 120 325 +3 317 79 455 +3 121 122 19 +3 98 216 206 +3 277 77 120 +3 257 123 411 +3 124 458 251 +3 148 423 351 +3 113 63 49 +3 125 243 223 +3 371 175 48 +3 414 399 116 +3 215 68 383 +3 45 34 232 +3 126 406 28 +3 127 419 326 +3 415 310 255 +3 128 31 86 +3 43 129 260 +3 58 183 326 +3 311 32 18 +3 209 437 84 +3 70 69 150 +3 398 285 271 +3 23 13 112 +3 68 130 383 +3 79 470 455 +3 464 51 13 +3 131 28 187 +3 312 460 132 +3 75 123 133 +3 332 85 409 +3 215 20 143 +3 420 390 144 +3 31 87 86 +3 58 436 388 +3 201 362 67 +3 254 134 292 +3 287 369 193 +3 222 128 48 +3 296 27 235 +3 135 136 131 +3 137 138 1 +3 139 327 197 +3 140 181 154 +3 249 14 242 +3 141 203 175 +3 431 142 391 +3 368 311 18 +3 420 144 143 +3 293 33 145 +3 32 33 293 +3 366 146 161 +3 281 147 283 +3 116 399 303 +3 361 64 182 +3 191 195 160 +3 148 191 423 +3 152 179 194 +3 324 418 132 +3 325 324 132 +3 149 64 147 +3 284 357 300 +3 345 150 347 +3 151 271 206 +3 398 271 151 +3 153 351 29 +3 311 152 32 +3 140 154 153 +3 155 205 173 +3 157 156 294 +3 284 156 157 +3 158 384 359 +3 110 390 198 +3 266 46 429 +3 171 50 178 +3 234 42 393 +3 347 158 329 +3 159 265 469 +3 121 51 464 +3 349 191 160 +3 314 152 194 +3 390 221 144 +3 397 172 459 +3 444 161 202 +3 162 57 285 +3 276 163 134 +3 358 164 159 +3 469 265 212 +3 2 218 431 +3 248 303 249 +3 195 165 93 +3 386 166 124 +3 368 235 167 +3 149 168 64 +3 216 354 226 +3 354 216 73 +3 358 422 169 +3 170 88 250 +3 177 26 171 +3 399 341 207 +3 172 173 459 +3 258 174 49 +3 180 344 315 +3 129 425 119 +3 393 175 380 +3 236 418 96 +3 190 454 176 +3 178 246 177 +3 92 145 83 +3 48 175 222 +3 179 167 194 +3 396 83 180 +3 180 407 404 +3 198 181 253 +3 35 251 281 +3 452 449 106 +3 182 48 128 +3 183 133 326 +3 184 442 453 +3 186 370 185 +3 85 54 441 +3 187 382 289 +3 452 230 449 +3 291 190 188 +3 409 323 189 +3 160 118 163 +3 326 133 392 +3 284 63 113 +3 190 210 188 +3 10 277 148 +3 165 191 94 +3 176 142 210 +3 192 29 9 +3 44 128 222 +3 209 84 193 +3 194 395 71 +3 71 395 217 +3 118 160 195 +3 134 381 276 +3 123 139 133 +3 196 145 432 +3 27 296 72 +3 197 392 133 +3 181 198 104 +3 318 233 83 +3 364 263 22 +3 217 395 285 +3 99 61 199 +3 468 80 200 +3 6 299 424 +3 212 265 201 +3 80 17 200 +3 225 17 80 +3 387 413 117 +3 367 202 146 +3 284 113 357 +3 222 175 203 +3 204 389 250 +3 205 391 82 +3 98 206 280 +3 10 303 207 +3 208 433 37 +3 209 427 47 +3 324 269 418 +3 345 347 374 +3 24 30 210 +3 313 364 22 +3 211 212 111 +3 373 155 0 +3 213 208 436 +3 206 348 151 +3 214 453 208 +3 174 215 221 +3 216 348 206 +3 305 331 217 +3 219 24 218 +3 344 298 315 +3 114 220 231 +3 144 221 143 +3 44 222 288 +3 123 336 31 +3 223 467 36 +3 223 23 244 +3 78 238 337 +3 78 337 400 +3 276 160 163 +3 224 188 210 +3 199 17 225 +3 384 216 226 +3 126 228 227 +3 229 12 109 +3 233 180 83 +3 22 417 313 +3 450 350 230 +3 297 232 231 +3 233 344 180 +3 153 456 272 +3 6 234 380 +3 250 389 170 +3 235 21 167 +3 470 79 389 +3 310 183 255 +3 279 246 197 +3 428 236 38 +3 337 319 99 +3 307 109 237 +3 7 397 408 +3 11 373 0 +3 239 268 238 +3 298 241 240 +3 133 139 197 +3 201 265 387 +3 242 414 248 +3 464 23 243 +3 244 245 330 +3 51 121 246 +3 242 248 247 +3 49 339 113 +3 296 59 278 +3 156 300 29 +3 153 154 456 +3 454 443 196 +3 248 249 247 +3 4 204 250 +3 251 252 405 +3 153 253 140 +3 121 19 246 +3 381 134 254 +3 254 292 41 +3 58 388 255 +3 228 270 256 +3 257 229 439 +3 258 68 215 +3 254 259 381 +3 255 388 415 +3 109 12 260 +3 247 249 242 +3 137 1 261 +3 402 16 262 +3 273 461 312 +3 278 59 263 +3 405 264 168 +3 265 413 387 +3 220 266 306 +3 269 267 108 +3 152 314 320 +3 238 44 288 +3 96 446 474 +3 261 1 101 +3 101 1 457 +3 114 266 220 +3 251 66 124 +3 332 376 85 +3 342 108 267 +3 125 223 36 +3 293 89 32 +3 268 227 256 +3 269 302 267 +3 380 175 371 +3 99 319 270 +3 45 232 278 +3 427 358 159 +3 206 271 21 +3 262 385 367 +3 10 148 272 +3 224 445 188 +3 103 197 246 +3 274 461 273 +3 292 275 41 +3 356 275 292 +3 41 275 356 +3 413 352 117 +3 66 251 35 +3 195 191 165 +3 276 349 160 +3 198 253 192 +3 207 77 277 +3 444 189 161 +3 256 3 319 +3 45 278 118 +3 279 177 246 +3 280 235 27 +3 281 211 111 +3 70 345 16 +3 135 226 282 +3 283 463 60 +3 118 46 45 +3 40 63 284 +3 171 245 13 +3 30 63 40 +3 41 356 102 +3 285 286 217 +3 170 369 287 +3 251 168 281 +3 235 368 59 +3 141 290 382 +3 88 4 250 +3 236 474 282 +3 2 219 218 +3 369 389 169 +3 239 288 203 +3 289 290 262 +3 190 291 454 +3 365 356 292 +3 196 443 293 +3 394 285 57 +3 259 360 294 +3 259 295 363 +3 363 295 445 +3 181 104 309 +3 297 343 296 +3 357 339 221 +3 320 314 298 +3 129 401 260 +3 172 397 56 +3 299 372 472 +3 408 55 7 +3 300 301 9 +3 29 300 9 +3 386 376 65 +3 302 120 267 +3 304 138 303 +3 331 305 465 +3 241 298 344 +3 306 428 38 +3 39 307 451 +3 308 236 282 +3 334 261 309 +3 310 75 183 +3 311 179 152 +3 330 223 244 +3 274 312 90 +3 272 148 351 +3 313 163 364 +3 298 314 315 +3 451 350 448 +3 395 271 285 +3 331 315 217 +3 402 441 54 +3 316 393 42 +3 400 43 62 +3 79 317 169 +3 220 308 343 +3 318 152 320 +3 268 256 319 +3 313 426 365 +3 338 277 325 +3 318 320 240 +3 233 318 240 +3 316 322 321 +3 323 441 189 +3 32 89 18 +3 373 2 155 +3 269 324 302 +3 302 324 325 +3 8 110 192 +3 8 192 9 +3 447 127 326 +3 439 328 327 +3 156 29 351 +3 107 213 436 +3 455 184 317 +3 329 135 374 +3 378 108 342 +3 280 206 21 +3 7 55 330 +3 451 52 39 +3 448 52 451 +3 350 11 448 +3 277 338 148 +3 430 274 306 +3 464 122 121 +3 315 331 407 +3 376 332 462 +3 382 410 203 +3 375 31 128 +3 106 449 237 +3 273 312 274 +3 38 220 306 +3 333 321 385 +3 335 225 334 +3 87 336 88 +3 268 319 337 +3 238 268 337 +3 191 148 338 +3 253 29 192 +3 22 263 91 +3 142 196 432 +3 231 232 114 +3 221 339 174 +3 426 313 417 +3 243 125 340 +3 341 342 77 +3 231 220 343 +3 443 89 293 +3 241 344 240 +3 279 26 177 +3 345 346 16 +3 288 239 238 +3 282 474 136 +3 372 377 438 +3 147 64 361 +3 119 15 450 +3 347 348 158 +3 381 191 349 +3 350 130 11 +3 351 294 156 +3 352 466 286 +3 155 173 0 +3 336 123 75 +3 124 67 386 +3 61 353 200 +3 354 355 53 +3 50 13 51 +3 356 426 102 +3 300 357 301 +3 58 326 419 +3 358 317 164 +3 124 166 458 +3 226 135 359 +3 403 262 367 +3 445 40 360 +3 147 361 283 +3 132 460 325 +3 379 80 468 +3 61 228 353 +3 264 48 182 +3 270 61 99 +3 141 333 290 +3 76 54 362 +3 2 431 391 +3 363 360 259 +3 445 360 363 +3 322 385 321 +3 308 38 236 +3 364 81 263 +3 434 131 187 +3 82 396 205 +3 134 313 365 +3 403 367 366 +3 311 368 179 +3 242 14 379 +3 225 137 334 +3 369 209 193 +3 447 103 370 +3 318 83 145 +3 372 380 371 +3 140 253 181 +3 176 454 196 +3 258 219 373 +3 261 334 137 +3 374 131 346 +3 366 367 146 +3 276 381 349 +3 382 290 289 +3 411 123 375 +3 315 314 217 +3 376 74 85 +3 68 258 373 +3 88 336 4 +3 252 438 377 +3 96 378 446 +3 379 414 242 +3 141 393 333 +3 299 6 380 +3 381 423 191 +3 207 303 399 +3 39 327 328 +3 185 122 340 +3 382 406 410 +3 450 383 350 +3 365 426 356 +3 191 338 94 +3 214 208 37 +3 283 25 211 +3 334 309 335 +3 216 384 348 +3 362 386 67 +3 333 385 290 +3 42 6 424 +3 463 84 437 +3 74 376 386 +3 387 362 201 +3 83 396 82 +3 37 5 421 +3 470 389 388 +3 52 448 172 +3 390 357 221 +3 228 126 353 +3 391 92 82 +3 103 447 392 +3 135 329 359 +3 76 70 54 +3 255 183 58 +3 394 286 285 +3 321 333 393 +3 394 352 286 +3 394 117 352 +3 190 176 210 +3 271 395 21 +3 205 396 173 +3 56 397 26 +3 382 203 141 +3 150 398 347 +3 384 226 359 +3 184 455 442 +3 458 252 251 +3 32 152 318 +3 207 277 10 +3 364 163 81 +3 407 331 465 +3 347 398 348 +3 378 342 399 +3 400 199 43 +3 452 237 401 +3 402 403 441 +3 396 180 404 +3 447 326 392 +3 377 264 405 +3 423 294 351 +3 14 138 137 +3 406 227 410 +3 407 408 404 +3 46 93 429 +3 168 264 64 +3 350 451 230 +3 286 305 217 +3 342 341 399 +3 28 406 187 +3 187 406 382 +3 357 390 301 +3 203 410 239 +3 332 409 424 +3 410 268 239 +3 196 293 145 +3 221 215 143 +3 398 151 348 +3 95 412 411 +3 411 412 257 +3 410 227 268 +3 159 164 413 +3 465 467 55 +3 85 441 323 +3 378 399 414 +3 204 310 415 +3 346 345 374 +3 112 245 244 +3 426 417 416 +3 90 132 418 +3 424 444 42 +3 72 73 27 +3 155 391 205 +3 358 471 422 +3 107 58 419 +3 418 108 96 +3 392 197 103 +3 72 296 343 +3 442 208 453 +3 420 104 198 +3 89 443 417 +3 36 37 421 +3 288 222 203 +3 162 387 57 +3 307 229 109 +3 369 169 422 +3 185 340 421 +3 259 294 423 +3 127 186 185 +3 462 332 424 +3 296 278 297 +3 40 284 157 +3 353 126 28 +3 143 425 420 +3 335 199 225 +3 102 426 291 +3 265 159 413 +3 471 358 427 +3 380 234 393 +3 94 325 460 +3 377 372 371 +3 90 418 428 +3 304 303 457 +3 429 430 266 +3 142 431 210 +3 195 46 118 +3 109 260 401 +3 142 432 391 +3 213 107 433 +3 131 374 135 +3 346 131 434 +3 458 438 252 +3 432 92 391 +3 415 388 204 +3 471 369 422 +3 290 385 262 +3 388 436 435 +3 437 25 60 +3 213 433 208 +3 280 21 235 +3 209 25 437 +3 343 354 72 +3 343 355 354 +3 438 472 372 +3 163 313 134 +3 228 256 227 +3 355 282 53 +3 403 402 262 +3 135 282 136 +3 7 26 397 +3 353 446 200 +3 36 421 340 +3 348 384 158 +3 257 439 139 +3 139 439 327 +3 412 440 229 +3 412 229 257 +3 377 405 252 +3 330 245 7 +3 381 259 423 +3 171 178 177 +3 441 366 161 +3 161 146 202 +3 442 435 436 +3 49 174 339 +3 75 133 183 +3 212 201 473 +3 443 416 417 +3 21 395 194 +3 409 189 444 +3 188 445 291 +3 291 445 295 +3 1 138 304 +3 24 210 431 +3 454 416 443 +3 446 468 200 +3 186 127 447 +3 118 278 263 +3 430 461 274 +3 173 172 448 +3 173 448 0 +3 237 449 307 +3 425 20 119 +3 401 119 450 +3 449 230 451 +3 450 230 452 +3 449 451 307 +3 466 352 453 +3 454 426 416 +3 291 426 454 +3 452 401 450 +3 368 167 179 +3 467 214 36 +3 455 435 442 +3 325 120 302 +3 246 178 51 +3 457 272 456 +3 90 312 132 +3 458 472 438 +3 126 227 406 +3 403 366 441 +3 465 408 407 +3 165 94 93 +3 266 34 46 +3 67 66 473 +3 404 408 459 +3 404 459 396 +3 460 429 94 +3 461 429 460 +3 429 461 430 +3 409 444 424 +3 65 462 458 +3 342 267 77 +3 430 306 266 +3 86 463 361 +3 231 343 297 +3 383 130 350 +3 122 464 340 +3 388 389 204 +3 362 74 386 +3 465 466 467 +3 283 211 281 +3 464 243 340 +3 419 127 107 +3 4 75 310 +3 467 453 214 +3 88 170 287 +3 219 49 24 +3 12 229 440 +3 99 199 400 +3 104 420 425 +3 299 380 372 +3 387 76 362 +3 122 103 19 +3 447 370 186 +3 379 468 414 +3 468 378 414 +3 134 365 292 +3 9 301 110 +3 240 344 233 +3 320 298 240 +3 465 305 466 +3 283 361 463 +3 317 358 169 +3 105 47 469 +3 97 105 469 +3 211 97 469 +3 211 469 212 +3 455 470 435 +3 388 435 470 +3 369 471 209 +3 209 471 427 +3 411 375 95 +3 456 101 457 +3 316 321 393 +3 306 90 428 +3 462 424 472 +3 458 462 472 +3 212 473 111 +3 473 35 111 +3 16 346 434 +3 396 459 173 +3 136 474 131 +3 223 55 467 +3 131 474 28 +3 453 467 466 +3 272 457 10 +3 446 378 468 + diff --git a/Polygon_mesh_processing/test/Polygon_mesh_processing/data/decimation/range/am9.off b/Polygon_mesh_processing/test/Polygon_mesh_processing/data/decimation/range/am9.off new file mode 100644 index 00000000000..d0229352973 --- /dev/null +++ b/Polygon_mesh_processing/test/Polygon_mesh_processing/data/decimation/range/am9.off @@ -0,0 +1,1935 @@ +OFF +645 1286 0 + +1.484251856803894 -0.17814278602600098 4.7398471832275391 +2.27327561378479 -0.29661548137664795 3.8730645179748535 +3.6434550285339355 -0.75916862487792969 4.4622554779052734 +3.2027149200439453 -0.7626492977142334 4.0595846176147461 +1.8573215007781982 -0.58496713638305664 5.4556598663330078 +2.0297527313232422 -0.57647716999053955 5.6597790718078613 +2.2645969390869141 -0.30262970924377441 3.6709742546081543 +1.2571192979812622 -1.3149235248565674 4.9799766540527344 +2.6186094284057617 -0.14205276966094971 3.6062917709350586 +2.6324396133422852 -0.19118034839630127 3.687777042388916 +3.1303837299346924 -1.4868381023406982 4.0903873443603516 +1.4794468879699707 0.13753241300582886 4.6347002983093262 +2.3147039413452148 -1.5206239223480225 3.9145398139953613 +3.9807782173156738 -0.46502995491027832 4.768524169921875 +3.8081393241882324 -0.20324826240539551 4.4735426902770996 +2.2785024642944336 -0.49925851821899414 4.818817138671875 +1.7653260231018066 -0.36875998973846436 5.2727527618408203 +3.005805492401123 -0.92867898941040039 4.1410746574401855 +1.5339422225952148 -1.2841567993164062 4.5272483825683594 +1.8114446401596069 -0.55372226238250732 5.0511865615844727 +3.2323765754699707 -0.57889831066131592 3.9084072113037109 +1.7769359350204468 -1.5731894969940186 4.779228687286377 +1.4297579526901245 -1.5767049789428711 5.2749576568603516 +1.51169753074646 -0.5526278018951416 5.0299711227416992 +2.3587901592254639 -0.1704556941986084 4.030238151550293 +2.7413797378540039 -0.35876822471618652 3.3421154022216797 +2.3822379112243652 -0.57208001613616943 4.822484016418457 +2.7829546928405762 -0.47461390495300293 3.3340115547180176 +2.1178195476531982 -0.0021712779998779297 4.0235185623168945 +2.7131178379058838 -0.73829483985900879 4.1617155075073242 +2.9372844696044922 -0.59950768947601318 3.5611231327056885 +2.7464535236358643 -0.6738133430480957 4.5190420150756836 +2.851710319519043 -0.61256790161132812 3.4627885818481445 +2.5142321586608887 -0.41327571868896484 3.4266815185546875 +2.8620970249176025 -0.4854966402053833 3.4326531887054443 +1.1133509874343872 -0.20180273056030273 4.4342236518859863 +1.7895071506500244 0.0022627711296081543 5.1773858070373535 +3.6413414478302002 -1.5110373497009277 4.7117938995361328 +3.0097064971923828 -1.6054971218109131 4.9976315498352051 +3.3884797096252441 -1.2069711685180664 4.3063459396362305 +1.7742822170257568 -0.15945816040039062 4.2933611869812012 +2.7781717777252197 -0.86509585380554199 4.3307247161865234 +2.0681076049804688 -0.43115401268005371 3.6719112396240234 +1.9117012023925781 0.13243931531906128 4.26361083984375 +1.844656229019165 0.074129164218902588 4.2511014938354492 +2.5991039276123047 -1.4913485050201416 3.4542140960693359 +3.3180885314941406 -0.69209086894989014 4.0492353439331055 +2.8370344638824463 -0.44749295711517334 3.3898296356201172 +1.9218965768814087 -0.12986874580383301 4.0248575210571289 +2.4820351600646973 -0.1039046049118042 3.7200767993927002 +2.7778308391571045 -0.10754668712615967 3.543729305267334 +2.7096691131591797 -0.16748762130737305 3.5304265022277832 +1.4211066961288452 0.010012626647949219 4.4420843124389648 +2.6653206348419189 -0.38422644138336182 3.5014467239379883 +2.8462433815002441 -0.20563578605651855 3.4166414737701416 +2.4012408256530762 -0.12219178676605225 3.8713362216949463 +2.0840747356414795 -0.62921404838562012 4.8226919174194336 +3.0411281585693359 0.086885333061218262 4.956632137298584 +3.1674604415893555 -0.63639378547668457 3.8497657775878906 +2.4509425163269043 -1.2666828632354736 3.2010560035705566 +2.3150234222412109 -1.0605812072753906 2.9688162803649902 +3.1127219200134277 -0.86553347110748291 3.8608865737915039 +2.1633419990539551 -0.014886617660522461 3.9855923652648926 +2.6923236846923828 -0.40723550319671631 3.3278133869171143 +2.9616703987121582 -0.71483039855957031 3.7637701034545898 +1.9765121936798096 -0.037613868713378906 5.4152140617370605 +1.7536041736602783 0.099561929702758789 4.3269600868225098 +1.7080743312835693 0.11227941513061523 4.3648929595947266 +1.9763802289962769 -0.24831128120422363 3.8878588676452637 +3.2042150497436523 -0.47081732749938965 3.8383698463439941 +3.1706273555755615 -0.51986563205718994 3.8144991397857666 +1.5605624914169312 0.45126086473464966 4.7520542144775391 +2.8488245010375977 -0.083066225051879883 3.5239055156707764 +1.7601406574249268 -0.47592723369598389 4.9635248184204102 +2.4719855785369873 -0.17314386367797852 3.8764872550964355 +2.2433614730834961 -0.10805892944335938 4.0644454956054688 +3.9035003185272217 -1.1282064914703369 4.8981084823608398 +2.7551987171173096 -0.80210447311401367 4.2336177825927734 +2.9518272876739502 -0.81867241859436035 3.9909896850585938 +2.4723985195159912 0.159232497215271 3.9592385292053223 +2.231844425201416 -0.71249496936798096 4.7858905792236328 +1.6633263826370239 -0.76582026481628418 5.2834444046020508 +1.652692437171936 -0.16659986972808838 4.149813175201416 +1.7280200719833374 -0.21499490737915039 4.062779426574707 +2.1472675800323486 -0.2744896411895752 4.0049037933349609 +1.886233925819397 0.17444121837615967 4.3157901763916016 +1.7991263866424561 0.086846590042114258 4.2890338897705078 +2.4783935546875 -0.045381426811218262 6.0202169418334961 +2.8624625205993652 -0.052170276641845703 5.4937524795532227 +1.2603437900543213 -0.32285988330841064 4.6512432098388672 +1.9930102825164795 0.17197060585021973 4.2511062622070312 +3.0513277053833008 -0.94139432907104492 4.1031484603881836 +2.5428168773651123 -0.40828418731689453 4.2599773406982422 +3.2689628601074219 -1.1361348628997803 5.2624373435974121 +2.166684627532959 -0.2476203441619873 3.9223728179931641 +2.6157355308532715 -0.62145113945007324 3.182530403137207 +1.502955436706543 -0.14766013622283936 4.2542552947998047 +2.0496945381164551 -0.29964637756347656 3.7993941307067871 +2.168053150177002 -0.28520357608795166 3.7429418563842773 +1.8221067190170288 -0.59804630279541016 5.12725830078125 +2.1081905364990234 0.26096367835998535 4.2626738548278809 +3.135120153427124 -0.42251169681549072 3.739241361618042 +1.5687499046325684 0.07368779182434082 4.6402292251586914 +1.8767979145050049 -1.474219799041748 5.7771720886230469 +2.5256509780883789 -0.39771580696105957 3.7256894111633301 +2.6055214405059814 0.22237479686737061 5.291165828704834 +1.6810082197189331 -0.45012331008911133 5.0218496322631836 +2.7453947067260742 -0.99162817001342773 3.4622657299041748 +2.3454535007476807 -0.065754413604736328 3.8338682651519775 +1.6682426929473877 -0.10021722316741943 5.0661921501159668 +1.3493258953094482 -0.19291937351226807 4.7144818305969238 +1.6842937469482422 -0.48204421997070312 5.0828161239624023 +2.6904230117797852 -0.47861254215240479 3.6600656509399414 +2.0552349090576172 -0.58548247814178467 4.7734146118164062 +1.9831380844116211 -0.58879268169403076 4.8816614151000977 +1.5714925527572632 0.15042966604232788 4.4786844253540039 +1.5941321849822998 0.22308599948883057 4.5299134254455566 +3.1490359306335449 0.53069126605987549 3.8928861618041992 +3.0593223571777344 -0.55968356132507324 3.844304084777832 +2.9194998741149902 -0.73738241195678711 3.5860011577606201 +1.6380031108856201 -0.038665652275085449 4.7736434936523438 +2.9074773788452148 -0.66455757617950439 4.2734513282775879 +2.0584783554077148 -0.16801905632019043 3.9110662937164307 +2.1040081977844238 -0.18073654174804688 3.873133659362793 +2.96773362159729 -0.4100881814956665 3.665794849395752 +2.9886898994445801 -0.47794806957244873 3.7757430076599121 +2.3087074756622314 0.078590512275695801 3.9834733009338379 +2.9212198257446289 -0.6290740966796875 4.1812047958374023 +1.7554322481155396 -0.45781040191650391 5.2907328605651855 +4.1656589508056641 -0.74537563323974609 5.0844230651855469 +1.8675905466079712 -0.24878084659576416 3.9511117935180664 +1.5495898723602295 0.048036456108093262 4.7198958396911621 +1.4896385669708252 0.049280524253845215 4.8016953468322754 +1.7038995027542114 -0.32942283153533936 3.975346565246582 +1.8104493618011475 -0.49062025547027588 3.769932746887207 +2.6098716259002686 -0.63566303253173828 4.6328334808349609 +1.720481276512146 -0.5088493824005127 5.2658929824829102 +1.7402635812759399 -0.33075630664825439 5.2299289703369141 +2.8327972888946533 -0.8071368932723999 4.1347713470458984 +3.2700283527374268 -1.0273568630218506 4.1039524078369141 +2.0758976936340332 0.83044201135635376 4.7869582176208496 +3.3597061634063721 -1.0046155452728271 4.2039666175842285 +1.9024965763092041 -0.5791550874710083 4.9753274917602539 +2.6048054695129395 -0.32062005996704102 3.4559006690979004 +2.0444779396057129 -0.28758049011230469 4.1764349937438965 +1.480440616607666 0.17586243152618408 4.5545430183410645 +2.8641343116760254 -0.24924087524414062 3.4810647964477539 +3.0399627685546875 -0.86071193218231201 3.9533569812774658 +2.1614766120910645 -0.63394856452941895 4.7235097885131836 +3.156191349029541 -0.78826189041137695 4.1776742935180664 +3.4144668579101562 -0.53555130958557129 5.7102699279785156 +2.2980563640594482 -0.41627442836761475 4.6207919120788574 +2.4915404319763184 -0.48438680171966553 4.488499641418457 +2.815535306930542 -0.61200535297393799 3.758112907409668 +3.1854496002197266 -0.34901583194732666 3.7750101089477539 +2.4638509750366211 -0.5292738676071167 4.0829663276672363 +2.7759201526641846 -0.57403969764709473 3.3589019775390625 +2.8014171123504639 -0.48404908180236816 3.5150599479675293 +1.6855249404907227 -0.55989599227905273 5.2410497665405273 +1.7310547828674316 -0.57261347770690918 5.2031173706054688 +1.8612744808197021 0.89039087295532227 4.9657688140869141 +1.6947249174118042 0.64717841148376465 4.8474030494689941 +2.8007211685180664 -0.19292044639587402 3.4545676708221436 +2.8686621189117432 -0.14972805976867676 3.4531362056732178 +1.640013575553894 -0.17874157428741455 5.0586357116699219 +1.7149641513824463 -1.0799283981323242 3.852898120880127 +1.6146390438079834 -1.857050895690918 5.5908570289611816 +2.2159855365753174 -0.61685359477996826 4.8800492286682129 +2.9997386932373047 -0.78746998310089111 3.859461784362793 +1.5550713539123535 -0.6920168399810791 5.1287641525268555 +2.7197821140289307 0.65059113502502441 4.2505135536193848 +2.5821659564971924 -0.39327645301818848 3.4046714305877686 +2.277374267578125 -0.72521233558654785 4.7479581832885742 +2.3228964805603027 -0.73792767524719238 4.7100315093994141 +1.3561683893203735 -0.20361709594726562 4.2905035018920898 +1.8676289319992065 -0.61076164245605469 5.0893325805664062 +2.1389570236206055 -1.0913889408111572 5.9634866714477539 +1.9218616485595703 -0.32792472839355469 3.8491129875183105 +3.0968575477600098 -0.95411181449890137 4.065216064453125 +1.7152011394500732 -0.29275262355804443 5.187105655670166 +2.9387264251708984 -0.85512864589691162 4.0843324661254883 +1.2735354900360107 -0.15439116954803467 4.6105947494506836 +3.2228658199310303 -0.92849791049957275 4.0142002105712891 +2.8691706657409668 -0.81087827682495117 3.5502324104309082 +2.7627284526824951 -0.7425084114074707 3.3995497226715088 +1.4599623680114746 -0.21786284446716309 4.8556394577026367 +2.4100027084350586 -0.67288994789123535 4.4538297653198242 +1.9467283487319946 -0.38284766674041748 5.4952096939086914 +2.4580283164978027 -0.020161628723144531 3.8084449768066406 +2.2784566879272461 -0.2175978422164917 4.2401390075683594 +1.6170223951339722 0.13771224021911621 4.4407515525817871 +2.3523797988891602 -0.49864816665649414 4.7136125564575195 +1.6225688457489014 -0.065357685089111328 4.8502058982849121 +3.2578167915344238 -0.87745881080627441 4.0390396118164062 +1.3745832443237305 -0.015599966049194336 4.5601739883422852 +2.3841242790222168 -0.3520580530166626 3.8310127258300781 +1.7745537757873535 -0.24338090419769287 5.241793155670166 +3.7900629043579102 -0.64046347141265869 5.3973464965820312 +2.81197190284729 -0.40948927402496338 3.3470063209533691 +2.759324312210083 -0.40423846244812012 3.4102962017059326 +2.4815731048583984 -0.81736874580383301 3.0871820449829102 +1.9071724414825439 0.007488548755645752 4.3000664710998535 +3.1170237064361572 -2.2766993045806885 4.3391637802124023 +3.3791825771331787 -1.8938684463500977 4.5254788398742676 +1.6149511337280273 -0.14073789119720459 5.0158123970031738 +1.8359184265136719 -0.41948115825653076 5.2776432037353516 +1.5365424156188965 -0.1927485466003418 4.6962823867797852 +2.0032992362976074 -1.2516505718231201 3.8000359535217285 +2.1249334812164307 -0.59142076969146729 4.9559082984924316 +2.0042107105255127 -0.64891195297241211 4.9755411148071289 +1.4349184036254883 0.18857777118682861 4.5924692153930664 +2.1281969547271729 -0.10238516330718994 4.2148318290710449 +3.0651392936706543 -0.76282906532287598 4.2535333633422852 +1.8157041072845459 -0.27244234085083008 5.3009281158447266 +2.1410703659057617 -0.33952009677886963 5.7139487266540527 +1.7299919128417969 -0.15924978256225586 5.160099983215332 +2.9961216449737549 -0.88583862781524658 4.0666742324829102 +1.8469563722610474 -0.15702354907989502 4.1861004829406738 +1.7853221893310547 -0.0917205810546875 4.1386432647705078 +2.791975736618042 -0.68652868270874023 4.4811162948608398 +2.6432113647460938 -0.60173976421356201 4.5162181854248047 +1.7367002964019775 -0.12824034690856934 4.8188228607177734 +2.7869095802307129 -0.37148559093475342 3.3041830062866211 +3.1879096031188965 -0.97954452037811279 3.9893569946289062 +3.1628470420837402 -0.94154083728790283 3.9465334415435791 +1.3984673023223877 -0.062643766403198242 4.3908557891845703 +2.1266036033630371 0.12945610284805298 4.1351909637451172 +1.6279991865158081 -1.0671894550323486 5.3420805931091309 +2.0916314125061035 0.078386425971984863 4.1103363037109375 +1.6591806411743164 -0.38201999664306641 4.9126272201538086 +2.9363746643066406 -1.2495079040527344 3.7779533863067627 +1.718269944190979 -0.15002870559692383 4.1261401176452637 +3.2677106857299805 -0.78840851783752441 4.021059513092041 +3.2927730083465576 -0.82641220092773438 4.0638828277587891 +1.3597123622894287 -0.065848112106323242 4.6843461990356445 +2.6226882934570312 0.39957088232040405 4.9029169082641602 +2.273735523223877 0.027520835399627686 3.9586186408996582 +2.1950602531433105 -0.20616936683654785 3.7972750663757324 +2.0846664905548096 -0.24857687950134277 3.8242485523223877 +2.9122219085693359 -0.56150400638580322 3.5182998180389404 +2.8139824867248535 -0.54956519603729248 3.6319990158081055 +2.2001264095306396 -0.52121233940124512 4.974207878112793 +2.1737966537475586 -0.45312142372131348 4.8713455200195312 +2.6022167205810547 -0.44318747520446777 3.3486428260803223 +2.5162975788116455 -0.66512346267700195 4.2883071899414062 +1.2430101633071899 -0.57197964191436768 4.713958740234375 +1.5760471820831299 -0.53326046466827393 5.1007156372070312 +1.6592578887939453 -0.32003521919250488 4.7851552963256836 +3.0922729969024658 -0.52238273620605469 3.7212958335876465 +2.0952627658843994 -0.67434465885162354 4.8996820449829102 +1.5563615560531616 -0.22806739807128906 4.151641845703125 +2.2847926616668701 -0.43153393268585205 3.5447583198547363 +2.5592756271362305 -0.30790257453918457 3.4938333034515381 +1.662065863609314 0.24308526515960693 4.5079030990600586 +2.3684263229370117 -0.75064516067504883 4.6720991134643555 +2.4891490936279297 -0.69315409660339355 4.6524667739868164 +1.5259703397750854 0.16314500570297241 4.5166106224060059 +2.6319460868835449 -0.24675405025482178 3.8026614189147949 +2.4139561653137207 -0.76336264610290527 4.6341667175292969 +2.3942835330963135 -0.7053755521774292 4.5426983833312988 +3.0421481132507324 -0.44637537002563477 3.6356492042541504 +1.4818582534790039 -0.37239468097686768 4.9337301254272461 +1.5100874900817871 -0.29387021064758301 4.9412860870361328 +2.7326419353485107 -0.8523784875869751 4.3686575889587402 +2.39664626121521 -0.34738540649414062 3.5539734363555908 +1.5203592777252197 -0.46537673473358154 5.011115550994873 +3.2918915748596191 -0.41738569736480713 3.9256925582885742 +1.6650760173797607 -0.21674525737762451 5.1014590263366699 +2.7595038414001465 -1.7345719337463379 3.7282834053039551 +1.5921707153320312 -0.10859036445617676 4.4450850486755371 +2.3856043815612793 -1.7432036399841309 4.2721238136291504 +2.0180225372314453 -0.47034668922424316 5.1259255409240723 +3.0170855522155762 -0.4083716869354248 3.5928258895874023 +1.7903885841369629 -0.40676367282867432 5.3155760765075684 +3.0375344753265381 -0.75152242183685303 3.7324166297912598 +3.2472434043884277 -0.81369471549987793 4.1018152236938477 +1.7767620086669922 -0.23243999481201172 4.9765572547912598 +1.4348999261856079 -0.17985916137695312 4.8128161430358887 +2.7635996341705322 0.45139539241790771 4.5981574058532715 +2.5051512718200684 0.71054214239120483 4.4293308258056641 +2.8962898254394531 -0.32812595367431641 3.5979094505310059 +2.8375053405761719 -0.69924604892730713 4.443183422088623 +2.5186026096343994 -0.72493135929107666 4.407954216003418 +1.6327357292175293 -0.0028631687164306641 4.9909343719482422 +1.6015805006027222 0.1008458137512207 4.918769359588623 +2.4134907722473145 -0.4019923210144043 3.4956543445587158 +2.7175159454345703 -0.47282099723815918 3.2548654079437256 +1.5602123737335205 -0.36987757682800293 5.0269331932067871 +1.8814406394958496 -0.43219649791717529 5.2397170066833496 +2.427760124206543 -0.58479535579681396 4.7845578193664551 +1.4026777744293213 -0.37330043315887451 4.1126985549926758 +2.2484455108642578 -0.2589644193649292 3.8306386470794678 +3.0625970363616943 -0.78952610492706299 3.7752399444580078 +3.0876593589782715 -0.82752978801727295 3.8180632591247559 +2.9147458076477051 -0.9032440185546875 4.2169399261474609 +3.168691873550415 -0.71424567699432373 4.0079998970031738 +2.5991272926330566 -0.051702141761779785 3.6978754997253418 +1.7365500926971436 -0.27961826324462891 4.5933523178100586 +1.7076070308685303 -0.17098915576934814 4.4108715057373047 +1.6604623794555664 -0.52189230918884277 5.1982264518737793 +1.5947985649108887 -0.59503090381622314 5.1439323425292969 +2.7547051906585693 -0.062112569808959961 3.5975844860076904 +2.9258487224578857 -0.73582768440246582 3.8573184013366699 +2.8041579723358154 -0.70738768577575684 3.9701089859008789 +2.6632747650146484 -0.32572710514068604 6.3361163139343262 +2.8256955146789551 -0.2589561939239502 3.5551140308380127 +3.1106691360473633 -0.77554655075073242 4.2156004905700684 +3.0401573181152344 -0.69679141044616699 4.1529932022094727 +1.9950487613677979 -0.49421894550323486 4.6705765724182129 +2.6464080810546875 -0.55027461051940918 4.4059715270996094 +3.1039650440216064 -0.3188025951385498 3.6670763492584229 +2.3486359119415283 -0.29824483394622803 3.7703747749328613 +3.1312093734741211 -0.72222411632537842 4.0771341323852539 +2.0945460796356201 -0.44558382034301758 4.9673690795898438 +2.3316419124603271 -0.24431955814361572 3.6834836006164551 +2.7334995269775391 -0.4312971830368042 3.5022327899932861 +2.5643420219421387 -0.62294554710388184 4.6707663536071777 +3.3744478225708008 -0.75016117095947266 4.1363515853881836 +1.4086060523986816 -0.064003705978393555 4.6117591857910156 +3.1423981189727783 -0.59839010238647461 3.8069424629211426 +3.6477394104003906 0.039975225925445557 4.1994733810424805 +1.6032106876373291 -0.040853023529052734 4.2903671264648438 +1.4098374843597412 -0.14185547828674316 4.7699928283691406 +1.2805701494216919 -0.054965496063232422 4.5857048034667969 +2.891772985458374 -0.218353271484375 3.3787088394165039 +2.9611663818359375 -0.11701786518096924 3.4280264377593994 +2.6958575248718262 -0.34605288505554199 3.3800418376922607 +2.6503276824951172 -0.33333539962768555 3.4179744720458984 +3.0388708114624023 -0.43063926696777344 6.023193359375 +1.6966133117675781 0.045180439949035645 4.5188913345336914 +3.0089550018310547 -0.70578980445861816 4.2153873443603516 +2.9740872383117676 -0.73739635944366455 4.3293919563293457 +1.9169632196426392 -0.20685696601867676 4.1899909973144531 +1.4339902400970459 -0.82985949516296387 5.0296463966369629 +3.137784481048584 -0.90353715419769287 3.9037101268768311 +2.0709331035614014 -0.21506106853485107 3.990201473236084 +1.8720633983612061 -0.3305126428604126 5.3880443572998047 +2.9611389636993408 -0.21441149711608887 3.4606459140777588 +2.9506549835205078 -0.84109139442443848 3.6581661701202393 +1.7397925853729248 -0.079003214836120605 4.1765756607055664 +1.6942627429962158 -0.06628572940826416 4.214508056640625 +1.8068406581878662 0.25138247013092041 5.1146697998046875 +2.2544364929199219 0.1577344536781311 4.0854721069335938 +2.2632355690002441 -0.67561638355255127 4.6659450531005859 +1.2553625106811523 -0.95133841037750244 4.2353711128234863 +1.2418928146362305 -0.76083266735076904 3.8628818988800049 +1.4460886716842651 -0.056025266647338867 4.5426244735717773 +1.4850249290466309 -0.25586652755737305 4.898463249206543 +2.7655603885650635 -0.3846200704574585 3.8979365825653076 +2.7225651741027832 -0.80894219875335693 4.2935853004455566 +2.8263099193572998 -0.6541132926940918 4.3661994934082031 +2.9431028366088867 -0.49621772766113281 3.8774271011352539 +1.384774923324585 -0.1038517951965332 4.7271695137023926 +1.4554456472396851 -0.10809016227722168 4.636439323425293 +2.4488077163696289 -0.50881493091583252 3.3801848888397217 +1.9172866344451904 -0.40207362174987793 5.1273841857910156 +2.3658485412597656 0.32042992115020752 4.1646518707275391 +2.9623470306396484 -0.63751137256622314 3.6039466857910156 +2.9874095916748047 -0.67551505565643311 3.6467700004577637 +2.3057548999786377 0.216400146484375 5.7252359390258789 +1.8130228519439697 -0.33557796478271484 5.1374588012695312 +2.915442943572998 -0.39548230171203613 3.709359884262085 +2.5050082206726074 -0.78879547119140625 4.5583076477050781 +1.9025624990463257 -0.19771122932434082 3.975966215133667 +2.5933442115783691 -0.38771903514862061 3.6098992824554443 +2.8504049777984619 -0.68907666206359863 3.486872673034668 +1.8517774343490601 -0.51512241363525391 5.1834850311279297 +3.0434298515319824 -0.58624768257141113 3.9212486743927002 +2.9168355464935303 -0.25635695457458496 3.421532154083252 +2.762312650680542 -0.76945459842681885 4.4248838424682617 +2.8871595859527588 -0.52350032329559326 3.4754765033721924 +0.81263887882232666 -0.64093279838562012 4.2205095291137695 +1.0272620916366577 -0.7008817195892334 4.0416984558105469 +0.97918856143951416 -0.3977203369140625 4.3388752937316895 +1.6124975681304932 -0.083091378211975098 4.3640890121459961 +3.311622142791748 -0.93170320987701416 4.1218070983886719 +2.8236939907073975 -0.87781119346618652 4.2927985191345215 +1.8092375993728638 -0.5120546817779541 5.3735003471374512 +1.7676438093185425 -0.60770833492279053 5.3556456565856934 +3.1939401626586914 -0.86836397647857666 4.0844950675964355 +3.1265206336975098 -0.8711857795715332 4.1214480400085449 +2.0435242652893066 -0.22982180118560791 4.0590972900390625 +2.650693416595459 -0.7562713623046875 4.2864890098571777 +1.7843579053878784 -0.5179443359375 5.2204380035400391 +2.5505380630493164 -0.80151283740997314 4.5203752517700195 +2.1863222122192383 -0.69977951049804688 4.823817253112793 +3.1000068187713623 -0.73122251033782959 4.1395282745361328 +1.4895192384719849 -0.088076591491699219 4.3149967193603516 +2.4342248439788818 -0.51012003421783447 4.6220216751098633 +1.685184121131897 0.19765317440032959 4.4540543556213379 +2.7414274215698242 -2.1717872619628906 4.6520872116088867 +3.3636589050292969 0.47074240446090698 3.7140755653381348 +3.1971094608306885 0.22752988338470459 3.5957098007202148 +1.8901858329772949 0.061411738395690918 4.2131690979003906 +2.0497405529022217 -0.661629319190979 4.9376082420349121 +3.035468578338623 -0.84575295448303223 4.1973071098327637 +3.4788968563079834 -0.45726239681243896 4.1635208129882812 +3.3840010166168213 -0.6348111629486084 4.1091451644897461 +2.8692235946655273 -0.89052867889404297 4.2548661231994629 +2.2900638580322266 -0.34463155269622803 3.6187949180603027 +2.1832876205444336 -0.34216094017028809 3.6834785938262939 +2.1401796340942383 -0.06424248218536377 4.1195974349975586 +2.3070449829101562 -0.64228856563568115 4.8041839599609375 +1.692442774772644 -0.1468813419342041 4.9193992614746094 +2.2479262351989746 -0.45289409160614014 4.7665729522705078 +1.3274736404418945 -0.087124228477478027 4.4106793403625488 +2.2999236583709717 -0.053036928176879883 3.8718008995056152 +3.2911629676818848 -0.56765460968017578 3.9751980304718018 +2.5800776481628418 -0.56232857704162598 4.5240716934204102 +2.2861120700836182 -0.23160207271575928 3.7214159965515137 +2.0139310359954834 -0.041751861572265625 4.2510261535644531 +1.3755769729614258 0.022730112075805664 4.4800171852111816 +1.330054759979248 0.035445451736450195 4.5179433822631836 +2.2988414764404297 -0.56065130233764648 4.3796200752258301 +2.0129561424255371 -0.1553037166595459 3.9489927291870117 +2.0820112228393555 -0.45698904991149902 4.4717159271240234 +2.4682235717773438 -0.28246974945068359 3.5696921348571777 +2.100400447845459 -1.0006322860717773 3.1476268768310547 +1.5256903171539307 0.21383094787597656 4.7898001670837402 +2.4482779502868652 0.044804513454437256 3.8718056678771973 +1.4144511222839355 0.1632915735244751 4.6732254028320312 +1.3893885612487793 0.20129525661468506 4.6304020881652832 +1.3480204343795776 -0.26942825317382812 4.7385659217834473 +1.9724925756454468 -0.45762920379638672 5.1638584136962891 +1.926970362663269 -0.44491386413574219 5.201784610748291 +2.398097038269043 -0.66772127151489258 4.728325366973877 +1.6625521183013916 0.12499475479125977 4.4028191566467285 +2.5802011489868164 -0.71858692169189453 4.5766077041625977 +2.1090743541717529 -0.49577951431274414 5.0500669479370117 +2.0271258354187012 -0.39967238903045654 4.9678983688354492 +1.2845249176025391 0.048162877559661865 4.5558757781982422 +3.4995779991149902 0.26464086771011353 3.9463152885437012 +2.7551913261413574 -0.18020296096801758 3.4925003051757812 +2.5032932758331299 -0.55853044986724854 4.6243090629577637 +1.4107189178466797 -0.55088198184967041 4.9081830978393555 +2.7372839450836182 -0.51911818981170654 4.2140841484069824 +1.5648260116577148 -0.064730525016784668 4.9301657676696777 +2.3771717548370361 -0.25703692436218262 3.6455509662628174 +2.3724532127380371 0.01328200101852417 3.8882076740264893 +2.492084264755249 -0.74104189872741699 4.4783711433410645 +1.8643004894256592 -0.13973402976989746 4.6628966331481934 +1.9074269533157349 -0.27448821067810059 4.8791007995605469 +1.8763742446899414 -0.11715340614318848 4.0627841949462891 +1.830844521522522 -0.10443603992462158 4.1007165908813477 +3.532137393951416 -0.99612569808959961 4.408085823059082 +2.9444165229797363 -0.82032012939453125 4.2731657028198242 +1.9541447162628174 0.4320073127746582 4.5046224594116211 +1.7274903059005737 0.33862453699111938 4.5543999671936035 +2.7234916687011719 -0.21661317348480225 3.6119182109832764 +2.2875642776489258 -0.65618586540222168 4.5917873382568359 +1.9380084276199341 -0.182456374168396 4.1102418899536133 +2.7974700927734375 -0.61038172245025635 4.3169221878051758 +2.5188195705413818 -0.6102302074432373 4.7086925506591797 +2.1702027320861816 -0.59085822105407715 4.6226921081542969 +1.366786003112793 -0.39122986793518066 4.8019256591796875 +3.0784316062927246 -0.95290899276733398 3.8490226268768311 +1.9891011714935303 -0.004100799560546875 4.2086000442504883 +3.1657109260559082 -1.1854686737060547 4.0317516326904297 +3.0574560165405273 -1.1116652488708496 3.8770711421966553 +1.4587544202804565 0.20523703098297119 4.712338924407959 +1.4587819576263428 0.30263060331344604 4.6797194480895996 +2.4911139011383057 -0.3678436279296875 3.4805302619934082 +1.4215928316116333 -0.10807788372039795 4.3370003700256348 +3.0487029552459717 -0.65342748165130615 4.0518670082092285 +1.8110389709472656 -0.015686154365539551 4.4829511642456055 +2.6712532043457031 -0.74401974678039551 4.5007486343383789 +2.401115894317627 -0.70855796337127686 6.1498017311096191 +2.817157506942749 -0.30232203006744385 3.6562337875366211 +2.213252067565918 -0.41055417060852051 4.1916379928588867 +2.2792418003082275 -0.36197483539581299 3.998967170715332 +1.6711465120315552 -0.88073253631591797 3.5052542686462402 +2.1742210388183594 -1.2079954147338867 3.4698355197906494 +1.6687581539154053 -0.11208045482635498 4.3444919586181641 +1.78877854347229 -0.14800620079040527 5.226891040802002 +3.0971829891204834 -1.0146794319152832 3.8922388553619385 +1.2151315212249756 -0.053172469139099121 4.5065584182739258 +1.5121587514877319 -0.015420198440551758 4.3662257194519043 +1.4666289091110229 -0.0027027130126953125 4.4041585922241211 +1.0967193841934204 -1.0717000961303711 4.705906867980957 +2.9321427345275879 -1.9963536262512207 4.0232648849487305 +1.7516025304794312 -0.51929318904876709 5.0646448135375977 +2.8795416355133057 -0.59888052940368652 3.641082763671875 +3.1218523979187012 -0.67015910148620605 3.9833197593688965 +3.1925230026245117 -0.67439746856689453 3.8925893306732178 +1.8426544666290283 -0.54472601413726807 4.9887857437133789 +1.5595166683197021 -1.109710693359375 4.132819652557373 +1.7796517610549927 0.17719507217407227 4.3806114196777344 +2.7009236812591553 -0.66109585762023926 4.5569748878479004 +2.6554014682769775 -0.64838051795959473 4.5949010848999023 +3.20172119140625 -0.8009793758392334 4.1397418975830078 +3.0672106742858887 -0.48437905311584473 3.6784725189208984 +1.9674264192581177 -0.14258623123168945 3.9869251251220703 +1.7628073692321777 0.23180186748504639 4.4389305114746094 +1.8915053606033325 0.26134365797042847 4.389826774597168 +1.6830649375915527 0.070632696151733398 5.0267033576965332 +2.1546041965484619 -0.50849699974060059 5.0121340751647949 +2.6867787837982178 -0.082113862037658691 3.6195883750915527 +1.4645760059356689 0.087284207344055176 4.7588720321655273 +1.7765769958496094 -0.58532881736755371 5.1651911735534668 +2.2456562519073486 -0.53392982482910156 4.9362754821777344 +2.2911858558654785 -0.54664719104766846 4.8983430862426758 +2.1453549861907959 0.45962369441986084 5.4511666297912598 +1.4395135641098022 0.12528789043426514 4.7160487174987793 +1.334649920463562 -0.027844429016113281 4.6415228843688965 +1.3076359033584595 -0.020462274551391602 4.4814486503601074 +1.7131636142730713 -0.52900838851928711 5.1386938095092773 +2.3367080688476562 -0.55936253070831299 4.8604164123535156 +2.9099178314208984 -0.66937160491943359 3.7431831359863281 +2.3690845966339111 -0.12975311279296875 3.9321193695068359 +2.5236055850982666 -0.0035904645919799805 3.7847716808319092 +1.9058209657669067 -0.52787423133850098 4.8652801513671875 +3.1173355579376221 -0.56038641929626465 3.7641191482543945 +2.0635521411895752 -0.48306417465209961 5.0879931449890137 +2.0767688751220703 -0.14065122604370117 4.3658218383789062 +2.8533644676208496 -0.79488742351531982 4.349024772644043 +2.9285573959350586 -0.72467887401580811 4.3673248291015625 +3.217585563659668 -0.71240115165710449 3.9354126453399658 +3.2426481246948242 -0.75040483474731445 3.978236198425293 +1.5740811824798584 0.27299720048904419 4.585942268371582 +3.0978512763977051 -0.91578173637390137 3.9850585460662842 +3.4711310863494873 -0.22218453884124756 4.9866480827331543 +1.577170729637146 -0.11848819255828857 4.2367095947265625 +0.94855785369873047 -0.84703433513641357 4.4527492523193359 +1.7026474475860596 -0.020282387733459473 4.6449108123779297 +2.9344053268432617 0.59064227342605591 4.0717029571533203 +1.5931632518768311 -0.33257675170898438 4.9039249420166016 +2.9669604301452637 -0.33236432075500488 3.5071790218353271 +3.0525345802307129 -0.31930410861968994 3.605513334274292 +2.7246756553649902 -0.61263394355773926 4.4239768981933594 +2.5273957252502441 -0.25716543197631836 3.9711647033691406 +1.5397635698318481 -0.026726841926574707 4.8873424530029297 +2.1999177932739258 0.078120946884155273 4.0467262268066406 +2.9418981075286865 -0.29436063766479492 3.46435546875 +3.0629470348358154 0.031612396240234375 3.500361442565918 +1.639132022857666 0.23028486967086792 4.920445442199707 +1.7217521667480469 0.063382804393768311 4.4461178779602051 +2.2405898571014404 -0.21888673305511475 3.7593421936035156 +3.3092250823974609 -0.16826605796813965 3.8629767894744873 +1.5285952091217041 -0.12482178211212158 4.5678920745849609 +2.6986289024353027 -0.23522508144378662 3.6851449012756348 +2.9131035804748535 -0.97053050994873047 3.6564900875091553 +1.5898885726928711 -0.10273420810699463 4.9729890823364258 +3.4491128921508789 -0.80249619483947754 4.2435164451599121 +1.8816163539886475 -0.21516275405883789 5.3608379364013672 +1.8860951662063599 -0.7873227596282959 5.5580387115478516 +1.6353999376296997 -0.48388862609863281 5.1554031372070312 +1.610337495803833 -0.44588494300842285 5.1125798225402832 +1.5852749347686768 -0.40788125991821289 5.0697565078735352 +2.2544014453887939 -0.040321588516235352 3.9097270965576172 +2.2682240009307861 -0.089447140693664551 3.9912188053131104 +2.3039979934692383 0.57998532056808472 4.9806303977966309 +2.0338814258575439 -0.56598806381225586 5.0317668914794922 +1.9509506225585938 -0.39679849147796631 5.0691771507263184 +2.5511960983276367 -0.18062078952789307 3.7803952693939209 +3.1415166854858398 -0.18936359882354736 3.6687521934509277 +2.6488935947418213 -0.54131102561950684 3.8473305702209473 +2.2905282974243164 0.77049100399017334 4.6081409454345703 +3.0280749797821045 -0.2058175802230835 3.5381069183349609 +1.942660927772522 -0.046324729919433594 4.3607044219970703 +2.1134469509124756 -0.24897539615631104 4.5367927551269531 +2.6641392707824707 -0.1547701358795166 3.5683591365814209 +3.0124721527099609 -0.71351873874664307 3.6895933151245117 +2.4457149505615234 -0.3328167200088501 3.7048139572143555 +2.4226939678192139 -0.26975226402282715 3.6076245307922363 +3.2228565216064453 0.32332825660705566 4.215095043182373 +2.3592276573181152 -0.70854055881500244 4.5985279083251953 +2.208871603012085 -0.027604103088378906 3.9476597309112549 +2.4155535697937012 -0.53812026977539062 4.7058272361755371 +1.8762050867080688 -0.25769686698913574 4.351804256439209 +2.9602756500244141 -0.91596150398254395 4.1790070533752441 +1.456515908241272 -0.82078158855438232 3.6840713024139404 +1.8729922771453857 -0.33490729331970215 5.0516996383666992 +1.7529971599578857 -0.25680506229400635 5.060060977935791 +3.0140819549560547 -0.97227632999420166 3.778278112411499 +1.6341686248779297 -0.4060368537902832 4.9971694946289062 +1.7018306255340576 -0.051168918609619141 5.0900630950927734 +2.089550256729126 -0.38169574737548828 4.8431248664855957 +3.0196094512939453 -0.75011169910430908 4.2914657592773438 +1.9428293704986572 -0.54055523872375488 5.1076259613037109 +1.4482705593109131 -0.42144298553466797 4.9098591804504395 +1.417115330696106 -0.31773388385772705 4.8376941680908203 +2.8830351829528809 -0.71196353435516357 4.4052505493164062 +1.5867583751678467 0.099125087261199951 4.5626225471496582 +2.4922928810119629 -0.14762449264526367 3.7954773902893066 +1.690138578414917 -0.25474894046783447 5.144282341003418 +2.573087215423584 -0.12933743000030518 3.6442179679870605 +2.5960602760314941 -0.81422829627990723 4.4824490547180176 +1.8179738521575928 -0.37401092052459717 5.2094626426696777 +1.5576884746551514 -0.028137564659118652 4.3282933235168457 +2.4594783782958984 -0.7760779857635498 4.5962400436401367 +1.958688497543335 -0.63619649410247803 5.0134673118591309 +1.5635457038879395 -0.26229751110076904 4.8011922836303711 +3.1423797607421875 -0.9668271541595459 4.0272893905639648 +1.8857697248458862 -0.94068145751953125 3.3264436721801758 +2.2221534252166748 -0.60219764709472656 3.429962158203125 +1.9131587743759155 -0.62347912788391113 5.0513997077941895 +1.6487405300140381 -0.053570389747619629 4.252434253692627 +1.4839744567871094 0.23704510927200317 4.6067714691162109 +2.9920229911804199 -0.37036800384521484 3.5500023365020752 +1.9902353286743164 -1.9619629383087158 5.2779340744018555 +2.0082449913024902 0.11501318216323853 4.191643238067627 +2.1495380401611328 -0.19345390796661377 3.8352012634277344 +2.5137457847595215 -0.29518508911132812 3.5317659378051758 +3.3565611839294434 0.030976653099060059 4.6276726722717285 +2.7736203670501709 0.20311009883880615 3.8218865394592285 +2.527423620223999 -0.34408175945281982 3.6129908561706543 +2.9842429161071777 -0.79204320907592773 3.6820368766784668 +2.6733424663543701 -0.022530317306518555 3.6803295612335205 +2.641589879989624 -0.82694566249847412 4.4445161819458008 +2.5113353729248047 -1.4662914276123047 5.4128432273864746 +2.473289966583252 -0.59751284122467041 4.7466249465942383 +2.0399487018585205 -0.024891257286071777 4.1797728538513184 +1.5259888172149658 -0.06454777717590332 4.4477109909057617 +1.3095874786376953 0.010159194469451904 4.5986995697021484 +2.0083386898040771 -0.42750632762908936 5.0515251159667969 +3.1185669898986816 -0.63823831081390381 3.9223532676696777 +1.8038450479507446 -0.1834723949432373 4.0463771820068359 +1.5351499319076538 -0.33187389373779297 4.9841098785400391 +1.901432991027832 -1.4190034866333008 4.2872381210327148 +2.3658313751220703 -2.0668749809265137 4.9650106430053711 +2.82012939453125 0.033426821231842041 3.6440811157226562 +2.6871120929718018 -0.83966100215911865 4.4065899848937988 +2.6270542144775391 -0.77674782276153564 4.3618249893188477 +2.527557373046875 -0.11661994457244873 3.6821506023406982 +1.8221473693847656 0.023782253265380859 4.3862237930297852 +2.8153824806213379 -0.97974169254302979 5.6666879653930664 +2.619936466217041 0.057877063751220703 3.7829432487487793 +1.5501501560211182 0.10034441947937012 4.8572063446044922 +1.5147011280059814 0.011276841163635254 4.8445186614990234 +2.1407926082611084 -0.68706214427947998 4.8617496490478516 +3.2769384384155273 -0.66302943229675293 3.9901001453399658 +3.0227437019348145 -0.8850252628326416 3.7594223022460938 +1.997193455696106 0.68428933620452881 5.1980085372924805 +3.0373983383178711 0.30171513557434082 4.5204582214355469 +2.8596763610839844 -0.84789502620697021 4.1806983947753906 +2.0722899436950684 0.010546088218688965 4.0614509582519531 +2.0267601013183594 0.02326357364654541 4.0993838310241699 +1.9812378883361816 0.035978913307189941 4.1373100280761719 +2.3909757137298584 -0.078469753265380859 3.7959420680999756 +2.4365053176879883 -0.091187119483947754 3.7580094337463379 +2.1732501983642578 -0.058067560195922852 4.0603766441345215 +1.7484617233276367 -0.12030518054962158 4.2492427825927734 +1.6908154487609863 -0.17743003368377686 4.9844589233398438 +2.8930044174194336 -0.29620516300201416 3.5369429588317871 +1.9357081651687622 0.048696398735046387 4.1752424240112305 +3 591 0 185 +3 1 291 94 +3 2 396 14 +3 3 489 312 +3 502 102 131 +3 426 389 67 +3 426 67 535 +3 5 4 544 +3 122 68 414 +3 122 414 335 +3 98 536 6 +3 478 18 7 +3 26 506 15 +3 9 585 8 +3 585 496 8 +3 457 39 10 +3 210 11 420 +3 52 477 225 +3 12 207 471 +3 2 14 13 +3 13 14 520 +3 263 621 369 +3 263 349 621 +3 347 580 261 +3 153 481 240 +3 579 434 265 +3 26 15 191 +3 205 273 16 +3 205 128 273 +3 17 395 380 +3 550 140 632 +3 353 0 206 +3 18 21 7 +3 19 480 99 +3 483 615 58 +3 483 58 20 +3 22 21 599 +3 333 169 23 +3 200 184 107 +3 127 307 330 +3 24 529 92 +3 222 25 198 +3 413 155 468 +3 447 492 253 +3 401 211 611 +3 26 402 506 +3 156 286 27 +3 39 203 10 +3 570 485 345 +3 570 345 133 +3 28 228 531 +3 155 244 29 +3 220 488 408 +3 32 239 30 +3 239 481 30 +3 423 355 552 +3 219 31 528 +3 32 184 156 +3 419 438 126 +3 33 171 243 +3 370 32 34 +3 499 167 208 +3 174 35 405 +3 245 89 373 +3 494 575 36 +3 72 162 432 +3 38 203 37 +3 37 203 39 +3 364 605 104 +3 167 385 629 +3 173 425 254 +3 472 298 40 +3 41 77 349 +3 119 30 357 +3 481 357 30 +3 435 309 92 +3 266 154 537 +3 42 134 177 +3 537 320 396 +3 593 42 594 +3 44 393 201 +3 44 43 393 +3 510 73 484 +3 45 12 471 +3 496 607 301 +3 528 350 219 +3 46 630 407 +3 315 157 47 +3 491 363 48 +3 364 104 112 +3 523 464 440 +3 631 338 606 +3 296 49 509 +3 301 50 51 +3 52 411 346 +3 53 364 112 +3 324 368 54 +3 139 457 223 +3 55 583 74 +3 187 336 377 +3 56 629 385 +3 135 433 408 +3 57 520 603 +3 58 70 20 +3 469 195 1 +3 60 59 417 +3 61 293 168 +3 640 28 62 +3 531 62 28 +3 521 82 250 +3 326 25 63 +3 168 292 64 +3 65 187 214 +3 535 67 66 +3 67 486 66 +3 332 568 144 +3 550 556 140 +3 97 177 68 +3 101 69 70 +3 447 71 161 +3 533 325 72 +3 533 557 325 +3 484 73 19 +3 508 74 24 +3 137 179 360 +3 137 196 179 +3 356 100 279 +3 185 580 347 +3 185 347 591 +3 75 549 24 +3 76 444 2 +3 138 77 634 +3 442 450 48 +3 151 404 559 +3 631 606 292 +3 138 78 303 +3 445 514 331 +3 419 79 626 +3 18 344 485 +3 148 80 343 +3 233 46 317 +3 378 158 81 +3 83 82 231 +3 94 335 84 +3 541 192 403 +3 367 118 615 +3 227 81 333 +3 422 277 110 +3 86 44 201 +3 86 85 44 +3 88 359 87 +3 89 422 110 +3 90 43 85 +3 427 135 488 +3 488 135 408 +3 17 380 91 +3 152 189 92 +3 245 522 478 +3 451 528 309 +3 76 93 37 +3 469 1 94 +3 446 161 140 +3 275 3 232 +3 102 523 131 +3 200 95 184 +3 333 7 227 +3 521 250 96 +3 492 447 493 +3 400 97 98 +3 175 19 99 +3 556 100 446 +3 248 490 101 +3 440 221 523 +3 523 102 582 +3 176 544 103 +3 386 149 306 +3 104 562 195 +3 132 628 627 +3 105 88 57 +3 547 546 106 +3 453 148 343 +3 435 92 529 +3 45 471 59 +3 45 59 107 +3 520 150 197 +3 158 300 81 +3 540 107 183 +3 144 450 332 +3 508 406 108 +3 199 326 53 +3 395 212 306 +3 109 575 283 +3 181 110 234 +3 111 545 505 +3 240 112 153 +3 56 113 114 +3 68 363 414 +3 253 115 116 +3 524 117 604 +3 615 118 319 +3 222 198 27 +3 79 419 126 +3 338 119 606 +3 131 523 120 +3 83 616 130 +3 238 68 122 +3 578 99 366 +3 121 515 350 +3 123 238 122 +3 123 122 335 +3 567 289 191 +3 606 561 274 +3 64 274 561 +3 125 124 490 +3 342 79 126 +3 127 435 351 +3 69 154 266 +3 480 111 505 +3 92 189 24 +3 136 128 383 +3 13 129 76 +3 13 197 129 +3 76 129 197 +3 10 203 479 +3 68 130 363 +3 132 131 628 +3 570 133 134 +3 552 355 571 +3 636 611 637 +3 449 453 343 +3 255 316 135 +3 135 316 433 +3 136 377 128 +3 109 283 541 +3 137 16 213 +3 78 138 180 +3 592 182 223 +3 223 182 139 +3 39 139 141 +3 556 446 140 +3 632 140 160 +3 141 444 39 +3 110 277 322 +3 595 590 142 +3 162 305 432 +3 315 53 112 +3 33 252 143 +3 143 252 53 +3 180 17 216 +3 144 415 468 +3 475 181 323 +3 582 145 256 +3 518 256 145 +3 183 365 119 +3 162 146 305 +3 186 282 244 +3 320 537 431 +3 320 431 564 +3 65 36 473 +3 271 578 423 +3 334 61 147 +3 506 402 167 +3 24 189 75 +3 113 56 148 +3 200 354 95 +3 635 611 636 +3 380 395 149 +3 216 91 178 +3 328 625 150 +3 343 173 565 +3 152 388 151 +3 153 507 481 +3 351 348 361 +3 101 310 154 +3 22 599 166 +3 155 195 469 +3 156 47 34 +3 157 34 47 +3 136 159 158 +3 159 299 158 +3 227 544 81 +3 632 160 161 +3 54 162 163 +3 54 146 162 +3 239 32 370 +3 599 609 103 +3 267 164 642 +3 267 109 164 +3 165 470 207 +3 22 166 103 +3 83 130 133 +3 555 303 153 +3 208 167 249 +3 78 168 302 +3 302 64 507 +3 544 227 103 +3 23 169 300 +3 279 170 356 +3 197 13 520 +3 108 438 188 +3 143 327 171 +3 42 593 470 +3 173 172 425 +3 432 50 72 +3 174 96 250 +3 148 385 80 +3 181 234 503 +3 75 211 401 +3 544 176 5 +3 624 201 558 +3 121 350 451 +3 440 464 558 +3 563 416 264 +3 595 484 175 +3 466 5 176 +3 6 409 314 +3 128 377 273 +3 466 214 5 +3 214 187 5 +3 177 133 130 +3 519 216 178 +3 399 437 264 +3 625 93 150 +3 584 572 179 +3 569 180 634 +3 181 35 89 +3 375 182 193 +3 184 365 183 +3 463 307 127 +3 124 598 272 +3 29 303 555 +3 277 580 185 +3 89 110 181 +3 439 282 186 +3 187 4 5 +3 140 161 160 +3 638 108 188 +3 395 306 149 +3 75 189 211 +3 42 400 251 +3 582 115 190 +3 253 190 115 +3 191 404 151 +3 156 34 32 +3 192 120 221 +3 375 193 233 +3 388 191 151 +3 351 118 367 +3 194 346 411 +3 52 612 477 +3 68 177 130 +3 503 318 194 +3 379 182 592 +3 555 104 195 +3 201 624 86 +3 215 196 473 +3 493 90 85 +3 155 413 244 +3 208 249 394 +3 133 290 250 +3 244 382 29 +3 76 197 93 +3 139 39 457 +3 28 401 635 +3 199 47 198 +3 200 594 354 +3 257 348 529 +3 410 558 201 +3 479 203 202 +3 479 202 390 +3 203 390 202 +3 89 35 373 +3 373 35 174 +3 204 164 109 +3 328 87 304 +3 182 375 139 +3 288 205 587 +3 288 383 205 +3 65 473 543 +3 297 206 247 +3 165 207 618 +3 142 209 114 +3 359 65 214 +3 546 111 106 +3 551 208 209 +3 210 145 11 +3 210 597 145 +3 513 410 211 +3 76 2 13 +3 307 212 330 +3 351 435 348 +3 390 619 270 +3 397 542 317 +3 231 616 83 +3 107 540 230 +3 196 137 213 +3 214 87 359 +3 186 244 413 +3 267 215 109 +3 216 147 78 +3 231 218 443 +3 218 217 443 +3 24 549 508 +3 565 173 254 +3 369 465 219 +3 553 583 49 +3 246 23 300 +3 618 270 21 +3 189 151 559 +3 572 360 179 +3 121 127 330 +3 31 487 220 +3 276 221 441 +3 25 222 63 +3 592 223 224 +3 52 225 405 +3 226 531 228 +3 534 71 418 +3 112 240 157 +3 22 103 227 +3 126 236 531 +3 226 228 600 +3 248 118 125 +3 66 86 624 +3 66 486 86 +3 229 574 106 +3 10 268 230 +3 497 627 418 +3 339 218 231 +3 46 233 232 +3 275 232 233 +3 318 503 234 +3 556 550 235 +3 230 573 458 +3 548 236 406 +3 548 406 549 +3 238 601 237 +3 463 127 351 +3 240 239 157 +3 214 466 87 +3 57 633 278 +3 499 241 242 +3 499 208 241 +3 239 240 481 +3 309 152 92 +3 271 423 552 +3 174 405 462 +3 514 369 581 +3 243 63 286 +3 244 622 382 +3 633 170 278 +3 61 168 147 +3 454 245 434 +3 348 257 539 +3 265 23 246 +3 522 245 373 +3 174 250 290 +3 65 359 501 +3 591 525 247 +3 248 511 118 +3 248 70 511 +3 56 394 249 +3 45 107 230 +3 435 529 348 +3 250 83 133 +3 251 399 264 +3 509 419 626 +3 204 541 403 +3 204 109 541 +3 252 602 605 +3 447 253 518 +3 555 112 104 +3 255 258 254 +3 254 258 565 +3 73 229 106 +3 94 123 335 +3 137 360 587 +3 45 230 268 +3 582 256 115 +3 116 115 256 +3 257 9 539 +3 565 258 259 +3 124 272 260 +3 262 261 617 +3 41 263 514 +3 41 349 263 +3 251 264 285 +3 265 547 287 +3 574 287 547 +3 112 157 315 +3 89 245 454 +3 69 266 20 +3 584 267 572 +3 584 215 267 +3 289 26 191 +3 289 402 26 +3 12 268 270 +3 269 612 538 +3 390 270 479 +3 512 271 614 +3 128 205 383 +3 133 345 290 +3 260 272 527 +3 213 273 336 +3 606 274 292 +3 64 292 274 +3 275 193 379 +3 445 212 395 +3 403 221 276 +3 0 322 277 +3 235 278 279 +3 361 280 124 +3 78 180 216 +3 576 242 313 +3 219 350 281 +3 77 29 382 +3 594 42 251 +3 622 244 282 +3 582 11 145 +3 530 283 284 +3 285 354 251 +3 635 401 611 +3 317 46 397 +3 222 27 286 +3 261 265 287 +3 424 366 288 +3 420 502 459 +3 263 369 514 +3 226 600 90 +3 7 22 227 +3 342 100 356 +3 289 425 402 +3 174 290 373 +3 502 11 102 +3 291 536 237 +3 105 57 235 +3 585 296 496 +3 381 144 84 +3 333 81 169 +3 293 631 292 +3 257 74 553 +3 495 208 551 +3 395 294 445 +3 600 637 644 +3 138 29 77 +3 517 3 295 +3 296 623 49 +3 298 297 568 +3 626 607 296 +3 431 391 117 +3 505 545 299 +3 300 299 545 +3 290 345 372 +3 255 254 425 +3 97 42 177 +3 620 72 301 +3 303 302 153 +3 162 72 163 +3 152 151 189 +3 328 304 466 +3 87 466 304 +3 280 305 643 +3 154 554 537 +3 307 386 306 +3 415 297 308 +3 102 11 582 +3 220 408 309 +3 368 337 532 +3 396 266 537 +3 148 56 385 +3 310 527 554 +3 269 538 297 +3 562 437 311 +3 312 295 3 +3 576 313 429 +3 494 534 284 +3 225 477 462 +3 291 237 601 +3 365 30 119 +3 399 6 314 +3 243 95 354 +3 315 199 53 +3 316 452 433 +3 52 346 612 +3 375 233 317 +3 346 318 353 +3 58 615 319 +3 320 603 14 +3 321 374 472 +3 93 609 38 +3 110 322 352 +3 0 352 322 +3 430 323 613 +3 594 251 354 +3 226 90 100 +3 324 163 325 +3 324 325 337 +3 327 326 243 +3 88 87 328 +3 232 3 517 +3 241 495 313 +3 618 18 485 +3 190 535 329 +3 121 330 331 +3 217 568 332 +3 7 21 22 +3 536 98 237 +3 374 269 472 +3 350 528 451 +3 430 613 412 +3 171 327 243 +3 478 333 245 +3 224 334 519 +3 311 437 314 +3 311 314 409 +3 195 311 1 +3 84 335 381 +3 192 221 403 +3 183 119 338 +3 117 564 431 +3 576 429 441 +3 213 336 543 +3 557 532 337 +3 540 183 338 +3 82 340 339 +3 340 641 339 +3 36 65 341 +3 342 226 100 +3 343 172 173 +3 463 351 367 +3 345 344 372 +3 293 292 168 +3 612 346 538 +3 46 232 517 +3 208 495 241 +3 468 415 413 +3 339 641 218 +3 389 190 253 +3 72 50 301 +3 120 523 221 +3 318 346 194 +3 525 347 262 +3 348 467 361 +3 349 622 621 +3 429 571 441 +3 449 186 413 +3 281 350 581 +3 465 369 608 +3 455 61 334 +3 174 462 96 +3 327 143 53 +3 643 532 526 +3 351 125 118 +3 512 578 271 +3 236 62 531 +3 110 352 234 +3 353 234 352 +3 354 33 243 +3 587 355 288 +3 79 342 356 +3 358 119 357 +3 549 406 508 +3 105 501 359 +3 355 360 571 +3 599 103 166 +3 404 242 576 +3 353 352 0 +3 286 95 243 +3 286 156 95 +3 125 351 361 +3 418 627 534 +3 637 456 644 +3 362 589 427 +3 362 439 589 +3 363 442 48 +3 361 467 280 +3 298 568 40 +3 57 278 235 +3 252 605 364 +3 30 365 32 +3 91 380 178 +3 641 217 218 +3 366 383 288 +3 482 463 367 +3 396 320 14 +3 150 93 197 +3 198 47 27 +3 182 379 193 +3 480 505 498 +3 54 368 146 +3 369 281 581 +3 178 379 592 +3 98 238 237 +3 157 239 370 +3 522 371 372 +3 522 373 371 +3 372 371 373 +3 476 374 588 +3 141 139 375 +3 376 41 514 +3 376 77 41 +3 278 170 279 +3 378 4 377 +3 489 379 380 +3 101 260 310 +3 74 583 553 +3 450 144 381 +3 77 382 349 +3 136 383 159 +3 407 266 396 +3 267 642 572 +3 362 427 384 +3 216 17 91 +3 114 510 142 +3 402 80 385 +3 312 149 386 +3 387 476 588 +3 433 567 388 +3 555 153 112 +3 95 156 184 +3 154 310 554 +3 389 486 67 +3 366 99 498 +3 99 480 498 +3 38 619 390 +3 117 391 392 +3 456 201 393 +3 209 394 114 +3 40 568 217 +3 294 395 569 +3 397 396 542 +3 445 398 376 +3 400 6 399 +3 590 209 142 +3 360 355 587 +3 75 401 640 +3 72 325 163 +3 402 172 80 +3 642 204 403 +3 59 200 107 +3 15 242 404 +3 275 489 3 +3 275 379 489 +3 248 125 490 +3 518 71 447 +3 405 411 52 +3 260 527 310 +3 453 113 148 +3 438 108 406 +3 1 311 291 +3 316 255 452 +3 20 266 407 +3 408 152 309 +3 101 154 69 +3 311 409 291 +3 46 407 397 +3 175 484 19 +3 84 144 468 +3 280 467 305 +3 312 463 482 +3 410 611 211 +3 412 411 504 +3 518 116 256 +3 575 494 283 +3 453 449 413 +3 335 414 381 +3 164 204 642 +3 413 415 453 +3 416 461 264 +3 323 181 503 +3 60 417 200 +3 502 418 459 +3 553 49 623 +3 419 188 438 +3 183 107 184 +3 420 11 502 +3 421 210 420 +3 421 420 459 +3 422 580 277 +3 78 147 168 +3 60 200 59 +3 423 366 424 +3 423 424 355 +3 307 306 212 +3 397 407 396 +3 457 474 223 +3 452 255 425 +3 190 389 426 +3 190 426 535 +3 177 134 133 +3 384 427 465 +3 347 525 591 +3 424 288 355 +3 428 614 313 +3 571 429 552 +3 504 475 430 +3 430 475 323 +3 465 487 31 +3 344 345 485 +3 327 53 326 +3 97 68 238 +3 391 431 392 +3 265 434 23 +3 427 589 255 +3 50 432 51 +3 51 432 448 +3 521 387 321 +3 231 443 616 +3 408 433 152 +3 333 23 434 +3 157 370 34 +3 31 219 465 +3 604 79 524 +3 423 578 366 +3 42 97 400 +3 16 273 213 +3 571 276 441 +3 309 435 451 +3 85 86 486 +3 326 199 25 +3 530 436 283 +3 264 437 563 +3 438 236 126 +3 282 439 384 +3 441 440 576 +3 284 534 627 +3 303 29 138 +3 444 76 37 +3 616 443 442 +3 443 450 442 +3 617 525 262 +3 542 2 444 +3 250 82 83 +3 445 577 212 +3 383 366 498 +3 275 233 193 +3 475 35 181 +3 447 446 493 +3 539 9 448 +3 449 259 186 +3 217 332 450 +3 121 451 127 +3 472 269 298 +3 430 412 504 +3 452 567 433 +3 308 113 453 +3 507 64 561 +3 55 108 638 +3 39 444 37 +3 89 454 422 +3 520 14 603 +3 293 61 455 +3 456 410 201 +3 640 401 28 +3 458 457 230 +3 421 459 460 +3 421 460 597 +3 33 461 252 +3 189 559 513 +3 445 376 514 +3 462 387 96 +3 386 307 463 +3 558 464 624 +3 384 465 586 +3 421 597 210 +3 328 466 625 +3 199 198 25 +3 467 448 305 +3 336 273 377 +3 469 84 468 +3 42 470 134 +3 478 7 333 +3 492 389 253 +3 417 59 471 +3 97 238 98 +3 321 472 596 +3 321 596 521 +3 473 213 543 +3 349 382 622 +3 573 474 458 +3 405 35 475 +3 477 476 462 +3 448 8 560 +3 478 344 18 +3 379 178 380 +3 479 268 10 +3 296 607 496 +3 64 302 168 +3 578 175 99 +3 542 375 317 +3 106 480 73 +3 358 357 481 +3 297 247 308 +3 516 482 483 +3 142 510 484 +3 165 618 485 +3 486 493 85 +3 488 487 427 +3 440 441 221 +3 246 300 545 +3 312 489 149 +3 380 149 489 +3 497 132 627 +3 300 169 81 +3 490 260 101 +3 641 40 217 +3 414 363 491 +3 414 491 381 +3 389 492 486 +3 579 265 261 +3 474 455 334 +3 427 255 135 +3 493 100 90 +3 341 534 494 +3 313 495 428 +3 495 551 428 +3 8 496 560 +3 497 131 132 +3 298 269 297 +3 498 159 383 +3 259 589 439 +3 538 346 353 +3 540 573 230 +3 9 8 448 +3 208 394 209 +3 247 73 510 +3 461 33 285 +3 247 510 308 +3 305 448 432 +3 161 446 447 +3 500 499 15 +3 500 167 499 +3 399 314 437 +3 341 65 501 +3 502 497 418 +3 613 323 503 +3 633 524 170 +3 475 504 405 +3 79 170 524 +3 356 170 79 +3 498 505 159 +3 506 500 15 +3 324 337 368 +3 507 358 481 +3 303 78 302 +3 508 55 74 +3 188 419 509 +3 570 165 485 +3 113 308 510 +3 127 451 435 +3 319 118 511 +3 618 21 18 +3 428 551 512 +3 558 410 513 +3 439 186 259 +3 515 331 514 +3 40 641 472 +3 302 507 153 +3 517 516 630 +3 418 71 460 +3 460 71 518 +3 147 216 519 +3 264 461 285 +3 88 150 520 +3 82 521 340 +3 478 522 344 +3 329 464 523 +3 82 339 231 +3 564 117 524 +3 125 361 124 +3 609 619 38 +3 247 525 229 +3 280 643 526 +3 598 526 527 +3 528 220 309 +3 529 74 257 +3 24 74 529 +3 436 530 192 +3 207 470 593 +3 247 229 73 +3 108 55 508 +3 106 111 480 +3 471 207 593 +3 313 242 241 +3 126 531 342 +3 368 532 146 +3 282 384 586 +3 516 295 482 +3 620 392 533 +3 534 161 71 +3 518 253 116 +3 329 535 464 +3 6 536 409 +3 431 537 392 +3 297 538 206 +3 348 539 467 +3 324 54 163 +3 487 488 220 +3 454 434 579 +3 540 631 573 +3 540 338 631 +3 337 325 557 +3 541 436 192 +3 506 167 500 +3 141 375 542 +3 294 634 398 +3 187 65 543 +3 544 378 81 +3 463 312 386 +3 569 634 294 +3 246 545 546 +3 546 545 111 +3 246 546 547 +3 299 300 158 +3 106 574 547 +3 566 236 548 +3 566 548 549 +3 477 612 476 +3 501 105 550 +3 550 105 235 +3 512 551 578 +3 428 512 614 +3 567 191 388 +3 614 271 552 +3 257 553 9 +3 354 285 33 +3 502 131 497 +3 15 499 242 +3 296 509 626 +3 537 554 392 +3 496 301 560 +3 543 336 187 +3 439 362 384 +3 29 555 155 +3 290 372 373 +3 100 556 279 +3 556 235 279 +3 245 333 434 +3 294 398 445 +3 527 557 554 +3 559 440 558 +3 538 353 206 +3 448 560 51 +3 507 561 358 +3 319 511 70 +3 562 563 437 +3 602 416 605 +3 605 416 563 +3 320 564 603 +3 189 513 211 +3 150 88 328 +3 449 343 565 +3 27 47 156 +3 526 532 557 +3 365 184 32 +3 465 427 487 +3 531 226 342 +3 236 566 62 +3 225 462 405 +3 377 4 187 +3 610 289 567 +3 387 521 96 +3 2 542 396 +3 474 334 224 +3 474 224 223 +3 94 291 601 +3 144 568 415 +3 45 268 12 +3 180 569 17 +3 17 569 395 +3 570 470 165 +3 276 571 572 +3 572 571 360 +3 455 474 573 +3 617 574 525 +3 138 634 180 +3 402 385 167 +3 114 113 510 +3 517 630 46 +3 80 172 343 +3 215 36 575 +3 215 473 36 +3 295 312 482 +3 404 576 559 +3 505 299 159 +3 330 212 577 +3 291 409 536 +3 578 595 175 +3 580 454 579 +3 580 579 261 +3 581 515 514 +3 523 582 329 +3 527 526 557 +3 583 639 49 +3 56 114 394 +3 584 196 215 +3 48 450 491 +3 450 381 491 +3 585 623 296 +3 282 586 622 +3 610 425 289 +3 587 16 137 +3 20 70 69 +3 199 315 47 +3 297 415 568 +3 559 558 513 +3 458 474 457 +3 588 321 387 +3 589 258 255 +3 589 259 258 +3 10 230 457 +3 402 425 172 +3 445 331 577 +3 31 220 528 +3 551 209 590 +3 422 454 580 +3 206 0 591 +3 560 301 51 +3 347 261 262 +3 436 541 283 +3 284 283 494 +3 592 519 178 +3 195 562 311 +3 417 471 593 +3 417 593 594 +3 417 594 200 +3 191 15 404 +3 551 590 595 +3 340 521 596 +3 592 224 519 +3 63 222 286 +3 597 518 145 +3 598 280 526 +3 639 509 49 +3 599 619 609 +3 251 400 399 +3 90 600 43 +3 515 581 350 +3 94 601 123 +3 416 602 461 +3 633 57 603 +3 79 604 626 +3 93 625 609 +3 19 73 480 +3 104 605 562 +3 606 358 561 +3 533 554 557 +3 607 620 301 +3 586 465 608 +3 609 176 103 +3 452 425 610 +3 452 610 567 +3 611 456 637 +3 639 188 509 +3 476 612 374 +3 612 269 374 +3 321 588 374 +3 194 412 613 +3 411 412 194 +3 613 503 194 +3 63 243 326 +3 58 319 70 +3 313 614 429 +3 552 429 614 +3 587 205 16 +3 576 440 559 +3 334 147 519 +3 517 295 516 +3 630 20 407 +3 109 215 575 +3 459 418 460 +3 597 460 518 +3 44 85 43 +3 443 217 450 +3 272 598 527 +3 522 372 344 +3 88 520 57 +3 554 533 392 +3 433 388 152 +3 582 190 329 +3 615 482 367 +3 483 482 615 +3 248 101 70 +3 0 277 185 +3 363 130 616 +3 617 287 574 +3 53 252 364 +3 618 12 270 +3 270 619 21 +3 492 493 486 +3 604 392 620 +3 621 608 369 +3 621 622 608 +3 608 622 586 +3 468 155 469 +3 469 94 84 +3 341 161 534 +3 9 553 623 +3 585 9 623 +3 562 605 563 +3 535 66 624 +3 535 624 464 +3 341 632 161 +3 400 98 6 +3 609 625 176 +3 625 466 176 +3 479 270 268 +3 626 620 607 +3 584 179 196 +3 601 238 123 +3 627 530 284 +3 628 530 627 +3 628 192 530 +3 628 120 192 +3 131 120 628 +3 136 158 378 +3 141 542 444 +3 369 219 281 +3 167 629 249 +3 249 629 56 +3 448 467 539 +3 462 476 387 +3 446 100 493 +3 33 143 171 +3 252 461 602 +3 75 640 549 +3 630 483 20 +3 516 483 630 +3 573 631 455 +3 293 455 631 +3 21 619 599 +3 142 484 595 +3 501 550 632 +3 501 632 341 +3 155 555 195 +3 247 206 591 +3 330 577 331 +3 578 551 595 +3 117 392 604 +3 633 564 524 +3 634 376 398 +3 77 376 634 +3 280 598 124 +3 124 260 490 +3 616 442 363 +3 236 438 406 +3 28 635 228 +3 635 636 228 +3 636 637 228 +3 228 637 600 +3 265 246 547 +3 638 583 55 +3 638 188 639 +3 638 639 583 +3 549 640 566 +3 566 640 62 +3 472 641 596 +3 596 641 340 +3 134 470 570 +3 525 574 229 +3 642 276 572 +3 642 403 276 +3 378 377 136 +3 353 318 234 +3 146 532 643 +3 643 305 146 +3 504 411 405 +3 565 259 449 +3 43 600 644 +3 393 43 644 +3 393 644 456 +3 611 410 456 +3 564 633 603 +3 119 358 606 +3 617 261 287 +3 88 105 359 +3 341 494 36 +3 453 415 308 +3 37 93 38 +3 38 390 203 +3 121 331 515 +3 4 378 544 +3 618 207 12 +3 213 473 196 +3 533 72 620 +3 620 626 604 + diff --git a/Polygon_mesh_processing/test/Polygon_mesh_processing/data/decimation/range/m1.off b/Polygon_mesh_processing/test/Polygon_mesh_processing/data/decimation/range/m1.off new file mode 100644 index 00000000000..28bcd29744e --- /dev/null +++ b/Polygon_mesh_processing/test/Polygon_mesh_processing/data/decimation/range/m1.off @@ -0,0 +1,1932 @@ +OFF 645 1286 0 +1.9 2.91762 4.34375 +1.9 3 4.4375 +1.9 2.87879 4.46875 +1.9 1.87879 4.09954 +1.9 1.75758 4.07637 +1.9 1.75758 4.13829 +2.51736 1 4.91844 +3 1 5.10843 +2.4838 1 5.37269 +2.1 1.12121 5 +2.1 1.15152 4.88094 +2.1 1.07834 4.92217 +2.1 2.84464 4.15625 +2.1 2.90351 4.21875 +2.1 3 4.125 +2.18659 2.66667 4 +2.1 2.57576 4 +2.1 2.63636 4 +2.1 2.60606 4.09087 +1.94915 3 5.43591 +2.05085 3 5.23118 +2.22382 3 5.43502 +1.9 2.0303 4 +1.78683 2 4 +1.9 1.9697 4 +1.9 2 4.08782 +1.9 1.72727 4 +1.81554 1.63636 4 +1.80508 1.75758 4 +1 2.51517 4.89053 +1 3 5.10843 +1 3 4.70843 +2.1 2.30303 4.91161 +2.1 2.27273 5 +2.1 2.21212 5 +2.1 1.36364 4 +2.1 1.42424 4 +2.1 1.39394 4.09125 +2.18659 1.33333 4 +1.51907 1 5.35462 +1.94915 1 5.43591 +1.74649 1 5.14536 +2.1 2.92166 4.07783 +2.1 3 4.0625 +2.1 2.93939 4 +1.81341 2.78788 4 +1.9 2.75758 4 +1.9 2.81818 4 +1 1.3884 4.37646 +1 1.71429 4.56071 +1 1.49559 4.92759 +3 1 5.53895 +3 1.57031 5.33637 +1.9 1.66667 5 +2 1.63636 5 +1.9 1.60606 5 +1.9 1.57576 4.91811 +1.79438 3 4.46875 +1.82226 3 4.59375 +1.9 3 4.5 +1.9 1.14746 4.34375 +1.9 1.09355 4.40625 +1.9 1.21212 4.46875 +1.80009 3 4.71875 +1.63878 3 4.65625 +1.7582 3 4.59375 +2.1 2.18182 4.86878 +2.1 3 5 +2.1 3 4.9375 +2.1 2.93939 5 +2.03333 3 5 +2 1.15152 5 +2 1.27273 5 +1.9 1.24242 5 +3 2.71429 4 +3 3 4.33895 +3 2.6116 4.37646 +1.9 2.84801 4.34375 +1.9 2.88924 4.21875 +1 2.42969 5.33637 +1.9 2.81818 5 +1.9 2.84848 4.88094 +1.9 2.78788 4.91665 +2.1 1 4.6875 +2.1 1.08177 4.71875 +2.1 1 4.75 +2.19991 1 4.71875 +1 2.5 6 +1 3 5.53895 +1.6886 3 4.95109 +1.73577 3 4.78125 +1.48264 3 4.91844 +1.63878 1 4.28125 +1.46232 1 4.46875 +1.31765 1 4 +2.1 1.33333 4.91665 +2.1 1.27273 4.88094 +2.1 1.39394 4.8114 +2.1 1.77382 4.57938 +2.1 1.63636 4.28342 +2.1 1.81818 4.20356 +1.9 1.06061 4 +1.9 1 4.0625 +1.9 1 4 +1.9 1.97814 4.40178 +1.9 1.69697 4.5 +1.9 2 4.65617 +2.22932 2.72727 4 +2.2478 2.60606 4 +2.3541 2.72727 4 +2.1 2.18182 4.08965 +2.1 2.12121 4.19618 +2.1 2.06061 4.11254 +2 2.24242 5 +1.76765 1 4 +1.83008 1 4.08156 +1.75954 1 4.15625 +1.5 1 6 +1 2.42857 4 +1 2.28571 4.52446 +1 2.14286 4 +1.61446 2.24242 4 +2.1803 2.12121 4 +2.21317 2 4 +2.1 2.0303 4 +1.9 1.75758 4.74433 +1.9 1.51515 4.78101 +2.1 1.87879 4.86894 +2.1 1.84848 5 +2.1 1.81818 4.91284 +1.9 1 4.375 +1.9 1 4.3125 +1.80849 1 4.28125 +2.1 2.72727 4.8895 +2.1 2.78788 4.91909 +2.1 2.75758 5 +2.1 1.69697 4.88893 +2.1 1.72727 5 +2.1 1.66667 5 +2.19492 1.75758 4 +2.247 1.87879 4 +2.2527 1.69697 4 +1.81341 1.21212 4 +1.76483 1.15152 4 +1.77068 1.27273 4 +1.9 1 4.1875 +1.9 1 4.25 +2 2.48485 5 +2 2.36364 5 +2.1 2.39394 5 +1.57353 3 4 +1.76483 2.84848 4 +1.6459 2.72727 4 +1.63878 3 4.28125 +1.31765 3 4 +1.46232 3 4.46875 +2.36122 3 4.65625 +2.2418 3 4.59375 +2.30161 3 4.46875 +2.1 1.18182 4 +2.1 1.12121 4 +2.23517 1.15152 4 +2 1 6 +1.70301 1.63355 6 +1.9 1.39394 4.09087 +1.9 1.45455 4.19999 +1.9 1.33333 4.14172 +1.9 2.33333 5 +1.9 2.39394 5 +2 2.12121 5 +1.9 2.09091 5 +1.9 2.15152 5 +1.9 2.54545 4.20356 +1.9 2.42424 4.14277 +1.9 2.54545 4.10668 +1.9 1.51515 4.88595 +1.9 1.54545 5 +1.9 1 4.4375 +1.79438 1 4.46875 +2.1 1.75758 4.80729 +2.1 1.57576 4.69331 +2.53768 1 4.46875 +2.30161 1 4.46875 +2.36122 1 4.65625 +1.68285 2 4 +1.47036 2 4 +1.61446 1.75758 4 +3 1 4.70843 +1.47411 1.45455 4 +1 1.57143 4 +2.1 2.33333 4 +2.1 2.36364 4.09914 +2.1 2.39394 4 +2.18446 2.36364 4 +1.9 2.78788 4.78871 +1.9 2.72727 4.88094 +1.9 2.60606 4.8114 +1 1 4.70843 +2.22932 1.27273 4 +2.2478 1.39394 4 +2.1 1.57576 4.91532 +2.26423 1 4.78125 +2.1893 1 4.84375 +2.21066 1 4.91844 +1.9 1 4.125 +1.9 1.09746 4.21875 +1.9 1.15152 4.15065 +1.9 2.15152 4 +1.8197 2.12121 4 +1.9 2.09091 4 +1.9 1.27273 4.27029 +2.1 2.54545 4.19999 +2.1 2.59203 4.42007 +2.1 2.72727 4.27029 +1.7582 1 4.59375 +1.82226 1 4.59375 +1.80009 1 4.71875 +2.1 1.54545 4 +2.22271 1.57576 4 +2.19309 1.45455 4 +2.18659 1.21212 4 +2.1 1.24242 4 +1.9 2.84848 4.11906 +1.9 2.87879 4 +1.9 1.21212 4.09415 +2.1 1 4.0625 +2.1 1.06061 4 +2.1 1 4 +1.9 1 5 +1.94915 1 5.14052 +2.1 1.63636 4.14524 +2.1 1.57576 4.08236 +2.1 1.69697 4.08236 +2.22821 3 5.03604 +2.05085 3 5.11127 +2.26722 3 5.17123 +1.9 2.42424 4.91532 +2.1 2 4.90452 +2.1 1.90909 5 +3 1.48483 4.89053 +3 1.93939 4.95544 +2.17774 1 4.59375 +1.9 1.63636 4.18764 +1.9 1.81818 4.26669 +1 1.28571 4 +1 1 4.33895 +1 1 4 +1.9 1 4.75 +1.9 1.10036 4.71875 +1.9 1 4.8125 +2.1 1.9697 4 +2.1 2 4.08147 +1.6804 2.48485 4 +1.77729 2.42424 4 +1.80691 2.54545 4 +1.83184 1.07834 4 +1.9 1.12121 4 +1.9 1.08431 4.59375 +1.9 1 4.6875 +2.4838 3 5.37269 +2.51736 3 4.91844 +2.1 2.51515 4 +2.19309 2.54545 4 +1.9 2.12121 4.24891 +1.9 2.36364 4.28342 +1.9 2.24242 4.15798 +3 2.42857 4 +1.753 1.87879 4 +2.2418 1 4.59375 +2.20562 1 4.46875 +2.42647 3 4 +2.68235 3 4 +2.23235 1 4 +2.42647 1 4 +2.24046 1 4.15625 +2.1 1.75758 4.11571 +2.1 3 4.8125 +2.1 2.88646 4.84375 +2.1 3 4.875 +2.1893 3 4.84375 +3 2.14286 4 +2.38554 2.24242 4 +2.52964 2 4 +2.1 1.87879 4.09125 +2.1 1.93939 4.14277 +2.22382 1 5.43502 +2.5 1 6 +1.9 1.39394 4.91943 +1.9 1.39394 4.8524 +1.9 2.18182 4.09694 +1.9 2.21212 4 +2.1 2.30303 4.5 +2.1 2.30303 4.83536 +2.1 2.18182 4.73331 +1.9 1.21212 4.80863 +1.9 1.33333 4.66744 +2 1.51515 5 +2.1 1.42424 5 +2 1.39394 5 +2.38554 1.75758 4 +2.3196 1.51515 4 +1 2.6116 4.37646 +1.9 2.27273 5 +1.9 2.18182 4.90798 +1.9 2.30303 4.88128 +2.22821 1 5.03604 +2.1 1 5 +1.74649 3 5.14536 +1.9 3 5 +1.94915 3 5.14052 +1.81554 2.36364 4 +1.7473 2.30303 4 +1.9 1.93939 4.16464 +2.1 2.90645 4.40625 +2.1 2.88016 4.53125 +2.1 3 4.5 +2.1 1.09391 4.59375 +2.1 1.14843 4.65625 +1.51907 3 5.35462 +1.80849 3 4.28125 +1.9 3 4.375 +1.7582 3 4.34375 +2.1 2.45455 4 +2.22271 2.42424 4 +3 3 5.53895 +3 3 5.10843 +3 2.38058 5.33637 +2.2527 2.30303 4 +2 1.87879 5 +1.9 1.18182 5 +2.1 2 4.34383 +2.1 1.93939 4.76167 +1 3 4.33895 +2.1 1.57576 4.8434 +2.29699 1.70301 6 +2.52589 2.54545 4 +2.1 1 4.9375 +2.1 1.06061 5 +1.57353 1 4 +1.7522 2.60606 4 +2.3196 2.48485 4 +1.7473 1.69697 4 +1.9 2.75758 5 +2.1 1 4.4375 +2.1 1 4.5 +2.1 2.78788 4.46875 +2.1 2.78788 4.09483 +1.5 3 6 +2 3 6 +2.1 1.24242 5 +2.1 1.18182 5 +2.1 1.21212 4.91665 +1.9 1.51515 4.11417 +2.19151 3 4.28125 +2.1 3 4.3125 +2.1 3 4.25 +3 2.50441 4.92759 +1.9 3 4.8125 +1.9 2.88924 4.78125 +1.9 3 4.75 +1.9 2.24242 4.7895 +3 2 6 +3 1.5 6 +1.78934 3 4.91844 +1.69839 1 4.46875 +1.63878 1 4.65625 +2.1 1.78788 4 +2.1 1.72727 4 +1.9 1.08026 4.08156 +2.1 1.30303 5 +2.20562 3 4.46875 +2.17774 3 4.59375 +1.9 3 4.1875 +1.75954 3 4.15625 +1.9 2.92166 4.92217 +1.9 3 4.875 +1.9 2.91823 4.84375 +1.9 2.42424 4.8434 +1.9 2.54545 4.89067 +2.1 2.75758 4 +2.18659 2.78788 4 +3 1.28571 4 +2.52589 1.45455 4 +3 1.57143 4 +2.1 1 4.625 +2.1 2.85254 4.34375 +1.753 2.12121 4 +1.80508 2.24242 4 +1.8197 1.87879 4 +2 2.84848 5 +2 2.72727 5 +2.1 1.48485 5 +2.1 1.45455 4.89067 +1.9 1.90909 4 +2.1 2.15152 5 +2.1 2.12121 4.91278 +1.9 1 4.5625 +1.9 1 4.625 +2.1 1.08238 4.34375 +2.1 1.12121 4.46875 +2.31715 2 4 +2.1 1.21526 4.53125 +1.97626 2.92166 5 +1.96667 3 5 +3 1 6 +1 1 5.53895 +2.1 2.78788 4.80863 +2.1 2.21212 4 +2.1 2.15152 4 +1.9 2.12121 4.85511 +2.1 1.9697 5 +2 2 5 +2.21066 3 4.91844 +1.9 1.27273 4.8895 +1.96667 1 5 +1.9 1.06061 5 +2.05085 1 5.23118 +3 3 4 +1.9 3 4.3125 +1.9 2.66667 4.91665 +1.9 2.63636 5 +1.9 2.69697 5 +2.1 1.15152 4.11906 +1.9 1.30303 4 +1.9 1.24242 4 +1.9 1.21212 4.91909 +1.9 2.24227 4.56929 +1.83008 3 4.08156 +1.76765 3 4 +2.1 2.87879 4 +2.1 2.81818 4 +2.23517 2.84848 4 +1.7582 1 4.34375 +2.1 1.07834 4.07783 +1.9 1.81818 4.8636 +1.9 1.93939 4.81984 +3 1 4.33895 +3 1.3884 4.37646 +2.26423 3 4.78125 +2.1 2.69697 5 +1.9 1.11354 4.84375 +1.9 1 4.875 +1.6459 1.27273 4 +2.1 2.09091 4 +1.9 1.12121 5 +2.32955 2.32955 6 +3 2.5 6 +1.9 2.06061 4.9203 +2.1 2.06061 4.84582 +1.9 1.11984 4.53125 +2.1 1.15199 4.34375 +2.1 1.38488 4.40625 +2.2418 1 4.34375 +1 3 6 +1.9 2.93939 5 +1.9 3 4.9375 +2.16816 1.07834 4 +1.70301 2.29699 6 +2.1 3 4.625 +2.1 2.91569 4.59375 +2.1 3 4.6875 +1 1.85714 4 +1 2 4.37689 +1.9 1.40797 4.42007 +1.9 2.45455 5 +1.9 1.16536 4.65625 +3 1.85714 4 +2.18446 1.63636 4 +1.9 1.18182 4 +1.9 2.21212 5 +1.9 3 4.125 +2.1 2.36364 4.18764 +2.1 2.48485 4.11417 +1.80691 1.45455 4 +1.9 1.42424 4 +1.9 1.48485 4 +2.5 3 6 +1.9 1.60606 4 +1.9 1.66667 4 +1.9 1.07834 4.92217 +1.9 1.54545 4 +1.77729 1.57576 4 +2.1 2.89964 4.71875 +2.1 3 4.75 +1.9 1.30303 5 +2.03333 1 5 +2.05085 1 5.11127 +2.1 1.21212 4.78871 +2.1 1 4.25 +2.1 1 4.3125 +1.9 1.87879 4.91101 +2.1 1.66667 4 +1.6804 1.51515 4 +2.1 2.69697 4 +1.9 2.92166 4.07783 +1.9 2.72727 4.09125 +1.9 2.91823 4.15625 +2.02374 1.07834 5 +2.19991 3 4.71875 +1.9 2.51515 5 +1.47411 2.54545 4 +1.9 1.63636 4.8524 +2.1 1.45455 4.20356 +2.1 2.24242 4.13829 +1 1 6 +1 1.5 6 +2.1 3 4.5625 +3 3 6 +2.1 2.91974 4.91844 +2.1 2.87879 5 +2.3114 3 4.95109 +1.9 2.78474 4.53125 +1.9 2.61512 4.40625 +1 2.06061 4.95544 +1.9 2.57576 5 +2 2.60606 5 +2.16816 2.92166 4 +2.1 2.24631 4.30228 +1 2 6 +1 1.61942 5.33637 +2.26722 1 5.17123 +2.3114 1 4.95109 +1.48264 1 4.91844 +1.9 2.27273 4 +1.9 2.33333 4 +1.9 2.30303 4.09694 +2 1.75758 5 +2.1 1.51515 4.11571 +1.8107 3 4.84375 +2.1 1.78788 5 +2.1 2.66667 4.66744 +2.1 2.83464 4.65625 +1.9 1 4.9375 +2.247 2.12121 4 +2.24046 3 4.15625 +2.36122 3 4.28125 +2.1803 1.87879 4 +2.19492 2.24242 4 +1.9 2.91823 4.71875 +1.9 2.85157 4.65625 +1 1 5.10843 +2.1 3 4.1875 +1.9 2.39394 4 +3 2.28571 4.56071 +1.73577 1 4.78125 +1.6886 1 4.95109 +2.1 1.84848 4 +1.9 1.78788 4 +1.9 1.84848 4 +3 1.71429 4.52446 +3 2 4.37689 +2.1 2.42424 4.87756 +2.1 2.45455 5 +1.77068 2.72727 4 +2.1 1.54545 5 +1.9 1.69697 4.90699 +1.69839 3 4.46875 +2.1 1.33333 4.14277 +3 3 4.70843 +1.9 2.90609 4.59375 +2.1 1 4.5625 +1.9 1.36364 4 +1.9 2.0303 5 +1.9 2 4.89418 +2.1 1 4.375 +1.9 3 4.625 +1.9 3 4.5625 +1.7522 1.39394 4 +1.9 3 4.6875 +1.9 2.78788 4.21129 +1.9 2.66667 4.14277 +2.1 2.66667 4.91909 +2.1 2.63636 5 +2.19151 1 4.28125 +2.1 1.11076 4.21875 +2.1 2.54545 4.90699 +2.1 2.48485 4.78101 +2.1 1.60606 5 +2.2418 3 4.34375 +2.1 3 4.375 +2.1 2.81818 5 +2.16992 3 4.08156 +1.9 2.06061 4.13301 +2.1 2.51515 5 +1.9 1.36364 5 +2.1 2.27273 4 +2.1 1.08177 4.84375 +2.1 1 4.875 +2.1 1.48485 4 +3 1 4 +1 2.71429 4 +2.3541 1.27273 4 +2.1 1.08177 4.15625 +2.36122 1 4.28125 +1.9 2.42424 4.69331 +2.16992 1 4.08156 +2.1 1 4.125 +1.9 1.63636 4.09914 +2.1 2.60606 4.8524 +2.1 2.0303 5 +1.9 2.60606 4.07992 +1.9 2.57576 4 +1.9 3 4.25 +1.9 3 4.0625 +1.9 3 4 +2.1 2.66667 4.14172 +1.9 2.93939 4 +1.9 2.45455 4 +1.9 2.42424 4.07838 +2.53768 3 4.46875 +2.1 1.21212 4.21129 +1.9 1.72727 5 +1.8107 1 4.84375 +2.1 1 4.1875 +1.9 1 4.5 +2.1 2.24242 4.07637 +1.9 1.9697 5 +1.9 1.90909 5 +2.1 1.11076 4.78125 +1.9 2.87879 5 +1 3 4 +1.9 2.63636 4 +1.9 2.69697 4 +1.9 1.48485 5 +1.9 1.84848 5 +1.81341 2.66667 4 +2.68235 1 4 +1.9 1.42424 5 +1.83184 2.92166 4 +1.81341 1.33333 4 +2.1 3 4 +1.78934 1 4.91844 +2.1 2.57576 5 +2.1 1.27273 4.09125 +2.1 3 4.4375 +2.1 1.36364 5 +2.23235 3 4 +1.9 1.78788 5 +1.9 2.51515 4 +2.1 1.30303 4 +2.1 1 4.8125 +2.1 2.33333 5 +2.1 1.90909 4 +2.1 2.09091 5 +2.1 1.60606 4 +3 0 1 2 +3 4 3 5 +3 6 7 8 +3 9 10 11 +3 12 13 14 +3 15 16 17 +3 16 18 17 +3 20 19 21 +3 23 22 24 +3 22 25 24 +3 26 27 28 +3 29 30 31 +3 33 32 34 +3 36 35 37 +3 38 35 36 +3 40 39 41 +3 42 43 44 +3 46 45 47 +3 49 48 50 +3 7 51 8 +3 7 52 51 +3 53 54 55 +3 56 53 55 +3 57 58 59 +3 61 60 62 +3 64 63 65 +3 32 66 34 +3 67 68 69 +3 70 67 69 +3 72 71 73 +3 74 75 76 +3 0 77 78 +3 79 30 29 +3 81 80 82 +3 84 83 85 +3 83 86 85 +3 79 87 88 +3 89 90 91 +3 92 93 94 +3 96 95 97 +3 99 98 100 +3 101 102 103 +3 105 104 106 +3 108 107 109 +3 111 110 112 +3 113 33 34 +3 114 115 116 +3 117 39 40 +3 119 118 120 +3 118 121 120 +3 122 123 124 +3 125 126 105 +3 128 127 129 +3 131 130 132 +3 61 130 131 +3 134 133 135 +3 137 136 138 +3 92 116 132 +3 139 140 141 +3 142 143 144 +3 132 145 146 +3 148 147 149 +3 150 151 152 +3 153 154 155 +3 157 156 158 +3 160 159 161 +3 117 162 163 +3 117 40 162 +3 164 165 166 +3 167 168 148 +3 169 170 171 +3 172 173 174 +3 175 56 176 +3 130 177 178 +3 177 130 61 +3 179 98 180 +3 182 181 183 +3 185 184 186 +3 187 6 181 +3 186 188 189 +3 190 191 192 +3 193 190 192 +3 194 195 196 +3 50 48 197 +3 199 198 38 +3 200 138 136 +3 202 201 203 +3 205 204 206 +3 208 207 209 +3 165 210 166 +3 211 212 213 +3 214 215 216 +3 217 218 219 +3 220 221 198 +3 223 222 47 +3 166 210 224 +3 225 226 227 +3 41 228 229 +3 231 230 232 +3 233 234 235 +3 168 167 236 +3 237 127 238 +3 52 239 240 +3 241 86 83 +3 242 5 243 +3 245 244 246 +3 247 248 249 +3 124 250 251 +3 250 124 123 +3 253 252 254 +3 101 255 256 +3 258 257 248 +3 235 259 260 +3 16 261 18 +3 262 261 16 +3 264 263 265 +3 266 74 76 +3 184 23 267 +3 268 241 269 +3 270 271 109 +3 272 161 273 +3 274 272 273 +3 194 82 195 +3 230 100 275 +3 276 277 278 +3 279 276 278 +3 281 280 282 +3 57 59 1 +3 59 2 1 +3 283 100 284 +3 285 8 286 +3 175 287 288 +3 289 207 290 +3 292 291 293 +3 215 258 216 +3 294 295 288 +3 296 297 298 +3 299 300 141 +3 301 119 29 +3 302 303 304 +3 203 305 306 +3 308 307 309 +3 253 310 311 +3 25 312 3 +3 313 314 315 +3 316 84 317 +3 307 91 318 +3 320 319 321 +3 192 191 322 +3 323 192 322 +3 325 324 326 +3 321 319 153 +3 193 323 327 +3 238 128 328 +3 238 127 128 +3 71 329 73 +3 330 98 331 +3 332 31 155 +3 136 179 333 +3 334 162 286 +3 5 3 243 +3 271 74 335 +3 11 336 337 +3 213 13 12 +3 338 92 94 +3 30 318 91 +3 252 339 254 +3 109 340 108 +3 267 28 341 +3 82 80 342 +3 281 335 266 +3 343 269 344 +3 345 213 212 +3 12 346 213 +3 19 347 348 +3 350 349 351 +3 352 242 165 +3 354 353 355 +3 326 240 356 +3 357 358 359 +3 304 303 360 +3 98 99 180 +3 48 245 197 +3 245 93 197 +3 361 362 52 +3 363 307 308 +3 93 364 365 +3 289 265 263 +3 366 367 275 +3 256 224 368 +3 369 349 72 +3 157 370 371 +3 319 372 373 +3 375 374 376 +3 210 62 60 +3 377 378 236 +3 208 22 23 +3 379 380 107 +3 381 382 383 +3 316 384 84 +3 102 115 103 +3 141 140 299 +3 178 215 214 +3 213 385 13 +3 387 386 311 +3 23 24 388 +3 80 389 390 +3 391 200 392 +3 388 24 393 +3 24 25 393 +3 394 66 395 +3 396 397 215 +3 397 396 257 +3 398 343 399 +3 299 140 400 +3 180 401 97 +3 182 183 268 +3 376 374 81 +3 330 100 98 +3 70 402 403 +3 404 286 51 +3 362 404 51 +3 404 362 286 +3 117 405 39 +3 386 208 23 +3 13 354 355 +3 121 185 120 +3 134 406 133 +3 110 407 408 +3 360 303 409 +3 410 238 411 +3 410 237 238 +3 234 70 403 +3 370 315 371 +3 68 412 278 +3 288 413 294 +3 414 228 415 +3 414 229 228 +3 229 416 40 +3 335 74 266 +3 74 417 75 +3 285 40 416 +3 320 418 319 +3 420 419 421 +3 422 159 160 +3 224 210 206 +3 423 424 144 +3 423 224 424 +3 73 425 413 +3 426 104 263 +3 373 427 428 +3 429 430 346 +3 430 429 431 +3 432 178 364 +3 433 422 160 +3 434 125 435 +3 181 436 187 +3 436 437 187 +3 156 438 260 +3 390 135 439 +3 249 440 441 +3 113 148 33 +3 330 284 100 +3 236 304 377 +3 442 338 94 +3 110 408 443 +3 72 350 71 +3 329 444 425 +3 445 361 446 +3 171 447 303 +3 448 293 331 +3 449 61 62 +3 451 450 401 +3 452 182 269 +3 87 453 88 +3 242 243 105 +3 204 145 116 +3 145 204 205 +3 454 308 403 +3 455 308 454 +3 19 307 318 +3 417 271 75 +3 160 456 226 +3 433 160 226 +3 132 146 131 +3 457 347 87 +3 458 459 460 +3 371 458 460 +3 461 49 462 +3 453 347 88 +3 386 121 311 +3 295 62 463 +3 148 464 147 +3 248 465 294 +3 257 449 465 +3 318 347 19 +3 89 363 90 +3 466 282 280 +3 51 52 362 +3 139 467 367 +3 468 142 424 +3 189 461 186 +3 469 169 171 +3 220 161 159 +3 339 252 152 +3 167 302 304 +3 372 470 373 +3 111 112 284 +3 348 21 19 +3 191 471 472 +3 200 333 392 +3 211 471 212 +3 474 473 475 +3 195 342 421 +3 21 348 476 +3 478 477 27 +3 234 67 70 +3 259 21 476 +3 235 21 259 +3 121 386 184 +3 425 444 479 +3 480 473 481 +3 334 361 445 +3 482 276 483 +3 413 287 484 +3 150 153 373 +3 414 485 486 +3 432 364 92 +3 96 97 487 +3 488 489 398 +3 295 463 126 +3 57 1 320 +3 319 373 153 +3 434 435 490 +3 20 21 235 +3 271 417 74 +3 367 467 491 +3 349 350 72 +3 330 111 284 +3 341 492 186 +3 379 493 346 +3 493 379 107 +3 292 293 66 +3 145 132 116 +3 385 345 313 +3 485 306 486 +3 66 293 448 +3 316 317 401 +3 222 223 494 +3 495 46 47 +3 184 386 23 +3 496 494 470 +3 414 415 497 +3 165 242 463 +3 472 322 191 +3 279 438 498 +3 327 323 340 +3 106 125 105 +3 464 499 147 +3 500 252 121 +3 501 126 125 +3 362 334 286 +3 40 41 229 +3 112 443 124 +3 204 102 368 +3 188 442 94 +3 451 99 502 +3 471 191 503 +3 117 504 405 +3 504 505 405 +3 505 504 117 +3 150 154 153 +3 150 152 154 +3 458 371 506 +3 324 507 446 +3 486 229 414 +3 69 508 509 +3 402 69 509 +3 438 510 260 +3 77 511 512 +3 49 513 462 +3 514 378 419 +3 260 259 325 +3 376 358 357 +3 147 514 515 +3 429 42 44 +3 516 429 44 +3 503 111 517 +3 8 51 286 +3 369 95 96 +3 180 451 401 +3 518 519 505 +3 520 305 521 +3 387 311 310 +3 365 522 93 +3 278 412 279 +3 324 325 259 +3 125 106 435 +3 498 371 460 +3 440 294 425 +3 524 523 310 +3 525 523 524 +3 283 275 100 +3 171 170 447 +3 526 138 54 +3 231 217 527 +3 90 363 528 +3 519 79 513 +3 293 291 330 +3 277 276 482 +3 97 95 392 +3 529 129 137 +3 345 530 531 +3 103 255 101 +3 228 532 415 +3 45 151 47 +3 123 122 533 +3 270 534 535 +3 60 205 210 +3 347 318 88 +3 536 123 140 +3 122 537 533 +3 316 399 344 +3 322 472 261 +3 262 322 261 +3 538 358 539 +3 540 522 39 +3 353 534 541 +3 524 310 542 +3 306 336 203 +3 336 306 337 +3 470 372 496 +3 76 543 266 +3 544 545 522 +3 536 366 546 +3 366 283 546 +3 548 547 388 +3 97 401 487 +3 131 205 60 +3 476 324 259 +3 549 550 240 +3 552 551 149 +3 147 552 149 +3 60 61 131 +3 331 98 179 +3 135 133 439 +3 151 553 152 +3 54 554 296 +3 255 114 143 +3 555 501 125 +3 466 550 549 +3 248 440 249 +3 155 64 556 +3 502 557 451 +3 90 528 63 +3 155 154 332 +3 252 500 152 +3 325 558 260 +3 559 511 2 +3 560 316 344 +3 241 560 344 +3 499 464 236 +3 93 522 197 +3 99 451 180 +3 311 121 252 +3 481 473 492 +3 141 300 218 +3 315 314 506 +3 371 315 506 +3 561 164 423 +3 107 431 109 +3 210 165 463 +3 562 170 411 +3 562 447 170 +3 539 358 194 +3 393 25 3 +3 277 508 278 +3 522 540 197 +3 430 379 346 +3 379 430 380 +3 37 557 502 +3 562 563 447 +3 489 564 398 +3 58 565 566 +3 55 296 176 +3 56 55 176 +3 473 567 492 +3 359 568 63 +3 568 359 538 +3 205 206 210 +3 155 556 153 +3 183 86 268 +3 460 482 483 +3 498 460 483 +3 34 66 394 +3 113 34 394 +3 540 519 50 +3 495 569 570 +3 519 405 505 +3 439 571 572 +3 69 402 70 +3 118 500 121 +3 489 573 564 +3 67 233 412 +3 397 258 215 +3 258 397 257 +3 485 497 337 +3 369 72 298 +3 345 531 314 +3 418 320 0 +3 550 280 543 +3 574 398 450 +3 413 425 294 +3 551 575 576 +3 200 577 138 +3 126 501 175 +3 186 492 188 +3 125 434 555 +3 42 429 346 +3 370 578 579 +3 442 492 567 +3 112 110 443 +3 203 521 305 +3 115 114 103 +3 63 568 58 +3 389 509 580 +3 14 581 43 +3 54 296 55 +3 537 327 533 +3 88 318 30 +3 281 282 400 +3 169 113 394 +3 500 154 152 +3 42 12 14 +3 26 547 4 +3 240 543 356 +3 219 38 36 +3 263 312 582 +3 307 89 91 +3 216 258 247 +3 230 527 502 +3 147 515 583 +3 584 298 72 +3 407 585 537 +3 126 175 288 +3 11 586 587 +3 588 217 219 +3 512 264 172 +3 199 219 300 +3 589 381 436 +3 375 455 374 +3 455 375 363 +3 118 590 500 +3 170 169 411 +3 186 184 267 +3 161 198 591 +3 465 62 295 +3 161 456 160 +3 293 330 331 +3 507 476 446 +3 476 507 324 +3 422 592 574 +3 593 181 182 +3 351 349 96 +3 512 594 426 +3 42 346 12 +3 127 179 129 +3 595 596 225 +3 183 181 6 +3 236 167 304 +3 573 593 452 +3 569 512 570 +3 480 597 352 +3 586 11 10 +3 575 598 576 +3 535 578 158 +3 46 553 45 +3 547 548 4 +3 130 178 432 +3 27 477 481 +3 338 442 143 +3 368 224 206 +3 599 237 410 +3 222 495 47 +3 306 305 486 +3 496 78 222 +3 84 384 83 +3 239 7 187 +3 600 174 601 +3 457 163 334 +3 418 602 319 +3 602 418 0 +3 427 603 604 +3 492 442 188 +3 327 281 533 +3 456 272 227 +3 272 595 227 +3 256 143 468 +3 324 446 326 +3 11 587 336 +3 583 575 552 +3 29 119 513 +3 18 605 493 +3 95 297 392 +3 264 265 525 +3 79 88 30 +3 28 547 26 +3 570 174 600 +3 136 333 200 +3 603 606 604 +3 468 143 142 +3 91 155 31 +3 441 479 532 +3 480 477 597 +3 477 478 597 +3 597 5 242 +3 25 582 312 +3 345 314 313 +3 178 214 364 +3 437 436 381 +3 598 530 576 +3 233 510 412 +3 596 595 274 +3 364 214 365 +3 607 542 253 +3 608 542 607 +3 260 609 156 +3 533 281 400 +3 469 171 303 +3 401 317 487 +3 301 590 118 +3 258 248 247 +3 222 569 495 +3 336 587 203 +3 583 552 147 +3 426 106 104 +3 608 524 542 +3 493 107 15 +3 220 198 161 +3 213 345 385 +3 222 494 496 +3 59 566 559 +3 610 450 451 +3 555 53 56 +3 406 530 598 +3 435 106 409 +3 200 554 577 +3 54 611 526 +3 249 441 612 +3 553 339 152 +3 424 224 468 +3 596 613 592 +3 399 316 401 +3 390 439 572 +3 250 123 536 +3 602 372 319 +3 372 602 78 +3 144 143 442 +3 134 509 508 +3 400 282 299 +3 178 177 614 +3 366 275 283 +3 558 325 356 +3 277 406 134 +3 347 453 87 +3 551 576 292 +3 602 0 78 +3 338 143 114 +3 116 338 114 +3 401 450 399 +3 353 535 534 +3 615 585 407 +3 616 328 617 +3 490 616 617 +3 290 207 208 +3 610 574 450 +3 264 173 172 +3 550 543 240 +3 164 166 423 +3 432 132 130 +3 71 444 329 +3 525 524 608 +3 402 509 389 +3 487 317 618 +3 187 7 6 +3 334 362 361 +3 204 115 102 +3 497 485 414 +3 374 619 81 +3 225 433 226 +3 577 554 54 +3 497 415 444 +3 388 547 28 +3 131 146 205 +3 620 590 332 +3 154 620 332 +3 620 154 590 +3 600 621 622 +3 229 486 416 +3 176 296 623 +3 175 176 623 +3 466 280 550 +3 20 234 309 +3 497 71 9 +3 564 452 269 +3 231 527 230 +3 263 582 289 +3 501 56 175 +3 402 454 403 +3 183 6 201 +3 459 482 460 +3 328 624 617 +3 73 329 425 +3 196 419 378 +3 302 167 113 +3 350 351 10 +3 622 621 625 +3 395 448 237 +3 62 210 463 +3 116 92 338 +3 452 593 182 +3 262 16 15 +3 80 619 389 +3 81 619 80 +3 518 505 163 +3 589 626 381 +3 191 190 615 +3 499 378 514 +3 264 525 173 +3 72 484 584 +3 6 520 521 +3 627 623 298 +3 27 481 341 +3 514 419 420 +3 134 508 277 +3 112 251 284 +3 272 456 161 +3 469 302 113 +3 506 314 459 +3 94 93 245 +3 551 292 32 +3 9 11 337 +3 497 9 337 +3 399 343 344 +3 270 109 431 +3 223 47 151 +3 573 452 564 +3 377 304 360 +3 367 366 139 +3 597 4 5 +3 411 599 410 +3 183 201 86 +3 331 179 127 +3 182 268 269 +3 478 4 597 +3 201 521 203 +3 195 82 342 +3 263 104 312 +3 610 422 574 +3 487 618 10 +3 110 111 503 +3 223 628 606 +3 380 430 431 +3 158 370 157 +3 409 106 360 +3 22 582 25 +3 506 459 458 +3 426 360 106 +3 629 473 474 +3 373 470 427 +3 244 94 246 +3 534 581 14 +3 217 588 527 +3 467 139 141 +3 93 92 364 +3 42 14 43 +3 44 43 630 +3 43 581 630 +3 57 320 321 +3 440 248 294 +3 94 245 246 +3 389 580 135 +3 580 134 135 +3 349 369 96 +3 201 6 521 +3 631 228 41 +3 411 169 599 +3 15 17 493 +3 17 18 493 +3 185 121 184 +3 328 526 624 +3 559 2 59 +3 509 134 580 +3 571 575 632 +3 598 133 406 +3 428 604 628 +3 428 427 604 +3 529 137 526 +3 118 119 301 +3 224 256 468 +3 23 388 267 +3 436 626 589 +3 64 90 63 +3 616 411 328 +3 159 221 220 +3 159 633 221 +3 625 601 254 +3 523 387 310 +3 237 331 127 +3 90 64 91 +3 146 145 205 +3 138 526 137 +3 299 383 382 +3 390 389 135 +3 267 341 186 +3 67 412 68 +3 531 530 406 +3 180 333 179 +3 322 262 323 +3 368 101 256 +3 634 370 579 +3 480 475 473 +3 536 140 139 +3 490 624 434 +3 212 576 530 +3 535 353 578 +3 126 288 295 +3 286 162 285 +3 523 290 387 +3 289 290 523 +3 559 566 565 +3 8 285 520 +3 253 311 252 +3 635 369 298 +3 389 619 402 +3 306 485 337 +3 150 373 428 +3 335 340 109 +3 37 633 557 +3 563 435 409 +3 265 289 525 +3 333 97 392 +3 570 172 174 +3 606 628 604 +3 395 237 599 +3 377 360 594 +3 257 396 449 +3 367 491 232 +3 285 162 40 +3 556 321 153 +3 7 239 52 +3 249 612 247 +3 503 191 615 +3 112 124 251 +3 41 522 545 +3 581 636 630 +3 636 516 630 +3 629 423 144 +3 291 517 330 +3 623 296 298 +3 625 339 553 +3 96 487 351 +3 211 472 471 +3 526 637 624 +3 516 44 630 +3 476 445 446 +3 102 101 368 +3 633 422 610 +3 67 234 233 +3 312 104 243 +3 461 185 186 +3 30 91 31 +3 15 107 108 +3 245 48 244 +3 388 28 267 +3 174 638 601 +3 638 254 601 +3 412 510 438 +3 501 555 56 +3 631 545 544 +3 150 428 151 +3 622 553 46 +3 35 639 633 +3 301 29 31 +3 444 71 497 +3 540 39 405 +3 199 38 219 +3 465 248 257 +3 342 80 390 +3 486 305 520 +3 81 194 358 +3 177 61 614 +3 511 594 512 +3 618 85 640 +3 196 195 419 +3 513 119 462 +3 340 323 262 +3 529 328 128 +3 530 345 212 +3 363 375 528 +3 9 350 10 +3 350 9 71 +3 355 353 541 +3 89 307 363 +3 564 269 343 +3 173 525 608 +3 208 209 22 +3 209 582 22 +3 108 262 15 +3 63 58 65 +3 612 441 631 +3 411 238 328 +3 281 327 340 +3 535 158 609 +3 583 632 575 +3 515 632 583 +3 38 639 35 +3 13 355 541 +3 570 512 172 +3 454 402 619 +3 616 490 563 +3 222 78 569 +3 544 522 365 +3 35 633 37 +3 499 514 147 +3 194 196 511 +3 144 567 629 +3 196 594 511 +3 633 159 422 +3 335 109 271 +3 149 32 641 +3 148 149 641 +3 477 480 481 +3 260 558 609 +3 541 534 14 +3 427 470 603 +3 383 466 549 +3 628 151 428 +3 466 383 299 +3 466 299 282 +3 374 454 619 +3 641 32 33 +3 595 225 227 +3 614 61 449 +3 294 465 295 +3 232 230 275 +3 141 218 467 +3 462 119 120 +3 594 196 377 +3 333 180 97 +3 316 560 384 +3 79 29 513 +3 515 572 632 +3 503 517 471 +3 435 563 490 +3 297 296 391 +3 608 174 173 +3 449 62 465 +3 640 202 587 +3 270 636 534 +3 270 431 636 +3 425 479 440 +3 629 567 473 +3 361 52 326 +3 254 607 253 +3 332 301 31 +3 211 213 605 +3 542 310 253 +3 381 383 437 +3 450 398 399 +3 518 163 457 +3 559 539 511 +3 592 613 574 +3 613 573 488 +3 129 179 136 +3 230 502 99 +3 230 99 100 +3 579 313 634 +3 461 189 49 +3 539 194 511 +3 232 275 367 +3 376 81 358 +3 49 189 48 +3 551 552 575 +3 123 400 140 +3 596 433 225 +3 624 637 434 +3 586 618 640 +3 626 273 591 +3 271 270 535 +3 107 380 431 +3 18 211 605 +3 26 478 27 +3 181 626 436 +3 569 77 512 +3 557 610 451 +3 226 456 227 +3 128 129 529 +3 64 65 556 +3 216 544 365 +3 214 216 365 +3 272 274 595 +3 634 313 315 +3 148 641 33 +3 486 520 416 +3 287 627 584 +3 260 510 235 +3 309 307 19 +3 10 351 487 +3 287 584 484 +3 375 357 528 +3 375 376 357 +3 357 359 528 +3 363 308 455 +3 538 359 358 +3 536 546 642 +3 546 283 642 +3 495 622 46 +3 356 76 558 +3 356 543 76 +3 515 390 572 +3 572 571 632 +3 66 448 395 +3 439 133 571 +3 527 37 502 +3 567 144 442 +3 13 541 14 +3 149 551 32 +3 218 300 219 +3 593 626 181 +3 198 639 38 +3 233 235 510 +3 617 624 490 +3 463 105 126 +3 590 154 500 +3 266 280 281 +3 543 280 266 +3 91 64 155 +3 627 298 584 +3 274 593 573 +3 212 471 291 +3 78 77 569 +3 639 221 633 +3 396 614 449 +3 560 241 384 +3 475 480 352 +3 474 164 561 +3 474 475 164 +3 437 239 187 +3 517 111 330 +3 326 446 361 +3 303 447 409 +3 204 116 115 +3 596 274 613 +3 92 132 432 +3 328 529 526 +3 533 400 123 +3 642 250 536 +3 553 151 45 +3 20 235 234 +3 394 395 643 +3 254 339 625 +3 520 6 8 +3 441 532 631 +3 532 228 631 +3 4 548 3 +3 264 426 263 +3 540 50 197 +3 484 73 413 +3 484 72 73 +3 461 462 120 +3 406 482 531 +3 406 277 482 +3 631 544 612 +3 538 559 565 +3 287 413 288 +3 167 148 113 +3 377 196 378 +3 202 203 587 +3 469 303 302 +3 156 157 498 +3 438 156 498 +3 10 618 586 +3 576 291 292 +3 455 454 374 +3 369 635 95 +3 478 26 4 +3 421 342 390 +3 556 65 57 +3 65 58 57 +3 391 296 554 +3 346 605 213 +3 613 274 573 +3 644 217 231 +3 378 499 236 +3 279 498 483 +3 289 209 207 +3 582 209 289 +3 588 219 36 +3 637 555 434 +3 169 394 643 +3 68 278 508 +3 241 268 86 +3 206 204 368 +3 426 264 512 +3 471 517 291 +3 631 41 545 +3 601 625 621 +3 562 411 616 +3 563 562 616 +3 522 41 39 +3 169 469 113 +3 297 635 298 +3 129 136 137 +3 514 420 515 +3 556 57 321 +3 0 2 77 +3 198 221 639 +3 58 566 59 +3 315 370 634 +3 370 158 578 +3 479 444 415 +3 352 597 242 +3 48 189 244 +3 189 188 244 +3 188 94 244 +3 32 292 66 +3 420 421 515 +3 254 638 607 +3 532 479 415 +3 103 114 255 +3 431 429 516 +3 574 613 488 +3 218 217 644 +3 518 457 87 +3 341 481 492 +3 537 193 327 +3 554 200 391 +3 548 393 3 +3 561 629 474 +3 240 239 549 +3 382 300 299 +3 445 457 334 +3 194 81 82 +3 164 352 165 +3 614 396 215 +3 593 274 273 +3 591 198 199 +3 526 611 637 +3 348 347 457 +3 169 643 599 +3 643 395 599 +3 615 407 110 +3 467 218 644 +3 495 600 622 +3 570 600 495 +3 621 600 601 +3 606 603 494 +3 606 494 223 +3 470 494 603 +3 143 256 255 +3 384 241 83 +3 571 598 575 +3 598 571 133 +3 69 68 508 +3 212 291 576 +3 440 479 441 +3 586 640 587 +3 86 201 202 +3 498 157 371 +3 534 636 581 +3 636 431 516 +3 323 193 192 +3 525 289 523 +3 488 573 489 +3 590 301 332 +3 52 240 326 +3 273 626 593 +3 448 331 237 +3 493 605 346 +3 618 317 84 +3 618 84 85 +3 269 241 344 +3 320 1 0 +3 386 387 208 +3 568 538 565 +3 423 166 224 +3 50 519 513 +3 518 79 519 +3 340 262 108 +3 626 591 382 +3 611 54 53 +3 555 611 53 +3 555 637 611 +3 105 243 104 +3 3 312 243 +3 271 535 609 +3 527 588 37 +3 37 588 36 +3 164 475 352 +3 261 472 18 +3 472 211 18 +3 75 271 609 +3 28 27 341 +3 445 348 457 +3 476 348 445 +3 519 540 405 +3 591 199 300 +3 276 279 483 +3 388 393 548 +3 579 578 353 +3 579 353 354 +3 313 579 354 +3 385 313 354 +3 385 354 13 +3 308 309 403 +3 520 285 416 +3 138 577 54 +3 168 464 148 +3 168 236 464 +3 610 557 633 +3 622 625 553 +3 281 340 335 +3 424 142 144 +3 629 561 423 +3 251 283 284 +3 85 86 202 +3 85 202 640 +3 216 612 544 +3 612 216 247 +3 518 87 79 +3 195 421 419 +3 76 75 558 +3 75 609 558 +3 463 242 105 +3 77 2 511 +3 635 297 95 +3 515 421 390 +3 626 382 381 +3 437 383 549 +3 623 627 287 +3 623 287 175 +3 488 398 574 +3 564 343 398 +3 290 208 387 +3 139 366 536 +3 443 122 124 +3 408 122 443 +3 407 122 408 +3 407 537 122 +3 528 359 63 +3 231 232 491 +3 467 644 491 +3 644 231 491 +3 251 642 283 +3 251 250 642 +3 608 638 174 +3 608 607 638 +3 461 120 185 +3 538 539 559 +3 531 482 459 +3 314 531 459 +3 234 403 309 +3 496 372 78 +3 596 592 433 +3 422 433 592 +3 223 151 628 +3 563 409 447 +3 537 585 193 +3 193 585 190 +3 585 615 190 +3 503 615 110 +3 549 239 437 +3 614 215 178 +3 58 568 565 +3 356 325 326 +3 158 156 609 +3 426 594 360 +3 334 163 162 +3 505 117 163 +3 297 391 392 +3 309 19 20 +3 49 50 513 +3 438 279 412 +3 161 591 273 +3 300 382 591 diff --git a/Polygon_mesh_processing/test/Polygon_mesh_processing/data/decimation/range/m2.off b/Polygon_mesh_processing/test/Polygon_mesh_processing/data/decimation/range/m2.off new file mode 100644 index 00000000000..cfd05b71717 --- /dev/null +++ b/Polygon_mesh_processing/test/Polygon_mesh_processing/data/decimation/range/m2.off @@ -0,0 +1,1422 @@ +OFF 475 946 0 +1.33333 0 3 +1.66667 0 3 +1.50129 0 3.446 +0 2.94169 0 +0.455881 3.13306 0 +0.674801 2.76034 0 +2.5 0 2.5 +2 0 2.33333 +2 0 2.66667 +0.444444 4 4 +0 4 3.40546 +0 4 4 +2.18659 2.66667 4 +2.1 2.57576 4 +2.1 2.63636 4 +1.9 2.0303 4 +1.78683 2 4 +1.9 1.9697 4 +0.888889 0 0 +1.33333 0 0 +1.5 0 0.552492 +0 1.97444 1.95208 +0 1.97444 0.871697 +0 1.13462 1.12313 +1.9 1.72727 4 +1.81554 1.63636 4 +1.80508 1.75758 4 +1.69205 0.568738 4 +1.33333 0 4 +1.22465 0.555778 4 +2.1 1.36364 4 +2.18659 1.33333 4 +2.1 1.42424 4 +2.1545 3.42971 4 +2.43318 3.32265 4 +2.1545 3.21559 4 +1.81341 2.78788 4 +1.9 2.75758 4 +1.9 2.81818 4 +4 1 2 +4 1.45187 1.45187 +4 1.83333 2.16667 +1.9 1 4 +2.1 1 4 +2.1545 0.784414 4 +2.66667 0 2 +3 0 1.66667 +3 0 2 +0.444444 0 0 +0 0 0 +0 0 0.444444 +1.24044 3.04059 0 +0.759558 3.383 0 +1 0 2.66667 +1.50582 0 2.50582 +0 1.33333 4 +0 1.77778 4 +0 1.55556 3.36989 +1.9 1.06061 4 +2 1.04852 4 +0 4 0.846154 +0 3.54411 0.436976 +0 3.13306 0.657989 +0 0 2.66667 +0 0.629249 2.44444 +0 0 2.22222 +2.22932 2.72727 4 +2.2478 2.60606 4 +2.3541 2.72727 4 +0 3.55556 4 +2.22222 4 4 +0 4 2 +0 4 2.7388 +0.666667 4 2 +0 2.88889 2.91384 +1 2.42857 4 +1.61446 2.24242 4 +1 2.14286 4 +2.1803 2.12121 4 +2.21317 2 4 +2.1 2.0303 4 +4 1.45187 2.54813 +4 1 2.33333 +2.33333 0 1 +2.5 0 1.5 +2 0 1.33333 +2.19492 1.75758 4 +2.247 1.87879 4 +2.2527 1.69697 4 +1.81341 1.21212 4 +1.76483 1.15152 4 +1.77068 1.27273 4 +4 2.56905 1.83333 +4 2.54813 1.45187 +4 2.16667 1.65029 +1.57353 3 4 +1.76483 2.84848 4 +1.6459 2.72727 4 +0 0.948633 2 +0 0 1.77778 +4 1.45187 3.44751 +4 1.66667 3 +4 2 3 +4 1 1.33333 +4 1 1.66667 +4 0.552492 1.45187 +2 1.15152 4 +2.1 1.12121 4 +2 0 1.66667 +1.5 0 1.5 +3 2.42857 4 +3.45002 2.79274 4 +3.47111 2 4 +2.1 1.18182 4 +2.23517 1.15152 4 +2 1.45455 4 +3.38762 4 1.11111 +2.9024 4 0.802259 +3.01651 4 1.55556 +2 2 4 +2 2.12121 4 +2 2.30303 4 +1.9 2.27273 4 +1.9 2.33333 4 +1.8455 0.756338 4 +1.9 2.39394 4 +4 2.56694 2.54813 +4 2.66667 3 +4 3 2.66667 +0 2 3.04881 +2 4 2 +1.33333 4 2 +1.55556 4 3.01651 +1.9 1.84848 4 +2 1.75758 4 +2 1.87879 4 +0.58557 1.56127 0 +0 0.907954 0 +0.610064 0.62644 0 +2 0 1 +1.68285 2 4 +1.47036 2 4 +1.61446 1.75758 4 +4 0 3.11111 +3.44557 0 2.50582 +4 0 2.66667 +4 0.552492 2.54813 +4 2.66667 1 +4 3 1 +4 3 1.33333 +1.47411 1.45455 4 +1 1.57143 4 +2.18446 2.36364 4 +2.1 2.33333 4 +2.1 2.39394 4 +2 1.33333 4 +2.22932 1.27273 4 +2.2478 1.39394 4 +1.9 2.15152 4 +1.8197 2.12121 4 +1.9 2.09091 4 +4 4 1.33333 +4 4 1.77778 +4 3.44751 1.45187 +0 0 3.11111 +0.554001 0 2.50453 +0.904692 1.97444 0 +1.12313 1.13462 0 +1 1 4 +0.576469 0.584274 4 +1.77778 0 0 +2.22222 0 0 +2 0.743552 0 +2.1 1.54545 4 +2.22271 1.57576 4 +2.19309 1.45455 4 +2.18659 1.21212 4 +2.1 1.24242 4 +3.11111 0 0 +3.55556 0 0 +3.43208 0 0.584274 +3.41573 0.584274 0 +1.9 2.87879 4 +2 2.84848 4 +1.31765 1 4 +2.1 1.06061 4 +0.549983 2.79274 4 +0.528888 2 4 +0 3.2705 1.52265 +4 2.54813 0.552492 +4 2.33333 1 +2.1 2.09091 4 +3.11111 4 4 +3.42353 3.41573 4 +3.55556 4 4 +2.46394 3.47401 0 +3.19801 2.88889 0 +2.46394 2.97788 0 +0.549983 1.20726 4 +1 1.28571 4 +2.1 1.9697 4 +1.6804 2.48485 4 +1.77729 2.42424 4 +1.80691 2.54545 4 +1.33333 0 2 +1.66667 0 2 +1.83184 1.07834 4 +1.9 1.12121 4 +0.768033 4 2.83665 +1.77778 0 4 +2.1 2.51515 4 +2.19309 2.54545 4 +4 2.66667 0 +4 2.22222 0 +3 2.71429 4 +1.753 1.87879 4 +3.31217 4 2.44444 +4 4 3.11111 +4 4 2.66667 +4 3.44751 2.54813 +2.42647 3 4 +2.68235 3 4 +2.23235 1 4 +2.42647 1 4 +2.1 3 4 +2 2.95148 4 +1.9 3 4 +1.57353 1 4 +3 2.14286 4 +2.38554 2.24242 4 +2.52964 2 4 +0 0.460724 0 +0 0.606631 0.611346 +1.9 1.54545 4 +1.9 2.21212 4 +1.66667 4 0 +1.24044 3.50352 0 +1.33333 4 0 +0.584274 4 3.45617 +0 2.22222 4 +2.38554 1.75758 4 +2.3196 1.51515 4 +1.66667 0 1 +1.81554 2.36364 4 +1.7473 2.30303 4 +2 2.54545 4 +2.22271 2.42424 4 +2.1 2.45455 4 +0 2.16868 0 +0 1.76193 0 +0.493086 2.37413 0 +2.2527 2.30303 4 +2.33333 0 2 +2 0 2 +1 0 2.33333 +3.41573 0.576469 4 +2.77535 0.555778 4 +3.11111 0 4 +4 3 3 +2.52589 2.54545 4 +4 1.33333 4 +4 0.888889 4 +3.45002 1.20726 4 +4 3 2.33333 +1.7522 2.60606 4 +2.3196 2.48485 4 +1.7473 1.69697 4 +2.68235 1 4 +2.43318 0.677353 4 +0 0.629249 1.55556 +0 0 0.888889 +2 4 0 +2 4 0.384615 +0 2.44444 3.36989 +0 2.66667 4 +1 0 2 +2.1 1.78788 4 +2.1 1.72727 4 +0 4 1.38462 +2.5 0 0.552492 +4 1.45187 0.552492 +4 1.66667 1 +4 2 1 +2 4 1.38462 +2.66667 0 3 +3 0 2.66667 +3 0 3 +1 0 1.66667 +2.1 2.75758 4 +2.18659 2.78788 4 +3 1.28571 4 +2.52589 1.45455 4 +3 1.57143 4 +1.77778 4 4 +1.753 2.12121 4 +1.80508 2.24242 4 +1.8197 1.87879 4 +4 2.16667 2.52434 +4 2.39733 2.16667 +1.9 1.90909 4 +4 4 0.888889 +3.41988 4 0.584274 +4 4 0.444444 +2.31715 2 4 +1.9 2.93939 4 +3 0 2.33333 +2.1545 0.570292 4 +2.22222 0 4 +1.9 2.69697 4 +2 2.72727 4 +1.9 2.63636 4 +4 3.11111 0 +0.666667 4 0 +0.5 4 0.472405 +0.333333 4 0 +2 4 0.846154 +1.24044 4 0.695771 +2.1 2.21212 4 +2.1 2.15152 4 +4 2.33333 3 +0 3.11111 4 +0 3.41573 3.45617 +2.1 1.30303 4 +3 3 4 +0 2.37413 0.562446 +0 2.56193 0 +3 0 1 +1.9 1.30303 4 +1.9 1.24242 4 +0 3.66072 0 +0 3.30795 0 +2.1 2.87879 4 +2.1 2.81818 4 +2.23517 2.84848 4 +2.88889 0.61217 0 +1.6459 1.27273 4 +0 0 4 +0 0 3.55556 +0 0.444444 4 +1.9 1.42424 4 +0 1.11111 2.88889 +2.46394 4 0.449942 +0 0.584274 3.41573 +0 0.888889 4 +0.584274 0 0.567919 +4 4 2.22222 +4 3 2 +2.77535 3.44422 4 +4 3.55556 0 +3.54692 4 0 +3.41988 3.41573 0 +2.1 2.27273 4 +2.16816 1.07834 4 +1 0 1 +1.33333 0 1 +1 0 1.33333 +2 2.42424 4 +1.9 2.45455 4 +4 4 4 +4 4 3.55556 +4 3.55556 4 +3 1.85714 4 +0 1.56127 0.574115 +1.7621 3.36106 0 +2.18446 1.63636 4 +1.9 1.18182 4 +4 2.54813 3.44751 +1 1.85714 4 +1.7621 2.25564 0 +2.44444 1.2524 0 +1 4 0 +1.11111 4 3.38425 +1.33333 4 4 +1.80691 1.45455 4 +1.9 1.48485 4 +1.9 1.60606 4 +1.9 1.66667 4 +1.77729 1.57576 4 +4 1 2.66667 +4 2.22222 4 +2.1 1.66667 4 +2.44444 4 3.31217 +3.12038 4 0 +1.6804 1.51515 4 +2.1 2.69697 4 +0 0 1.33333 +2 1.63636 4 +4 0.444444 0 +4 0.888889 0 +1.47411 2.54545 4 +3.41573 4 3.41573 +2.88889 4 2.88889 +0 1.34169 0 +0 4 0.384615 +1.31765 3 4 +4 0 2.22222 +2.16816 2.92166 4 +2.1 2.93939 4 +4 1.77778 0 +3.01158 2 0 +4 1 3 +4 1.33333 3 +2.72038 4 0 +4 2.66667 4 +2 0 3 +2.33333 0 3 +4 3.41573 3.43208 +2.247 2.12121 4 +3.41211 1.55556 0 +0.552492 0 1.5 +4 1.33333 0 +2.1803 1.87879 4 +2.19492 2.24242 4 +3.41574 2.44444 0 +2.1 1.84848 4 +1.9 1.78788 4 +1.76765 1 4 +3.55556 0 4 +1.77068 2.72727 4 +3 0 1.33333 +3.44751 0 1.5 +2.5 0 3.44557 +2.66667 0 4 +0.444444 0 4 +1.9 1.36364 4 +1.69205 3.43126 4 +0.584274 0 3.43208 +2.66667 0 1 +1.7522 1.39394 4 +4 1.77778 4 +3.18481 1.11111 0 +3.41573 0 3.43208 +4 1.33333 1 +0.721084 4 1.11208 +4 1 1 +2.1 1.48485 4 +4 3.11111 4 +3 1 4 +4 0.444444 4 +4 3 1.66667 +1 2.71429 4 +2.3541 1.27273 4 +0.888889 4 4 +1 0 3 +1 3 4 +0.584274 3.42353 4 +4 0 3.55556 +4 0 4 +0 4 0 +4 0 1.77778 +1.9 2.51515 4 +4 4 0 +4 0.584274 3.43208 +1.49745 4 0.40533 +2.34692 4 0 +4 0 0 +4 0 0.444444 +1.8455 3.24366 4 +4 0.567919 0.584274 +2.66667 0 0 +1.81341 2.66667 4 +0.888889 0 4 +0 2.76034 1.1488 +4 0 0.888889 +1.83184 2.92166 4 +1.81341 1.33333 4 +4 3.41573 0.567919 +1.22465 3.44422 4 +1.76765 3 4 +2.66667 4 4 +1.9 2.57576 4 +2.23235 3 4 +4 0 1.33333 +2.1 1.90909 4 +2.1 1.60606 4 +3 0 1 2 +3 3 4 5 +3 7 6 8 +3 9 10 11 +3 13 12 14 +3 15 16 17 +3 18 19 20 +3 21 22 23 +3 25 24 26 +3 28 27 29 +3 30 31 32 +3 34 33 35 +3 36 37 38 +3 39 40 41 +3 43 42 44 +3 45 46 47 +3 49 48 50 +3 51 5 52 +3 0 53 54 +3 55 56 57 +3 58 42 59 +3 60 61 62 +3 63 64 65 +3 66 67 68 +3 10 69 11 +3 33 34 70 +3 71 72 73 +3 71 74 72 +3 76 75 77 +3 79 78 80 +3 39 81 82 +3 83 84 85 +3 87 86 88 +3 90 89 91 +3 93 92 94 +3 96 95 97 +3 65 98 99 +3 100 101 102 +3 103 104 105 +3 106 59 107 +3 108 109 85 +3 111 110 112 +3 113 107 114 +3 30 32 115 +3 116 117 118 +3 119 80 120 +3 122 121 123 +3 124 44 42 +3 123 121 125 +3 127 126 128 +3 56 129 57 +3 130 131 132 +3 133 134 135 +3 137 136 138 +3 139 83 85 +3 140 141 142 +3 143 144 145 +3 146 143 145 +3 147 148 149 +3 150 142 151 +3 153 152 154 +3 155 30 115 +3 156 157 31 +3 158 159 160 +3 161 162 163 +3 164 63 165 +3 136 166 167 +3 168 169 29 +3 171 170 172 +3 139 170 171 +3 174 173 175 +3 177 176 156 +3 178 179 180 +3 179 178 181 +3 183 182 38 +3 21 129 74 +3 29 27 184 +3 185 59 43 +3 75 186 187 +3 60 62 188 +3 190 189 147 +3 80 191 120 +3 192 193 194 +3 195 196 197 +3 199 198 168 +3 80 200 79 +3 201 202 203 +3 205 204 109 +3 206 58 207 +3 208 132 131 +3 28 209 27 +3 210 211 13 +3 213 212 189 +3 214 110 111 +3 16 140 215 +3 216 217 218 +3 217 219 218 +3 221 220 68 +3 114 222 223 +3 225 224 226 +3 227 27 124 +3 228 229 230 +3 75 187 77 +3 231 50 232 +3 115 173 233 +3 39 41 81 +3 234 158 120 +3 235 236 237 +3 10 238 72 +3 239 129 56 +3 241 240 88 +3 85 109 242 +3 243 202 244 +3 245 210 13 +3 56 187 239 +3 154 246 247 +3 249 248 250 +3 22 248 249 +3 246 152 251 +3 252 253 108 +3 53 254 54 +3 255 256 257 +3 258 127 128 +3 214 221 259 +3 260 261 100 +3 260 262 261 +3 186 239 187 +3 27 227 184 +3 263 219 128 +3 264 201 203 +3 265 68 67 +3 26 215 266 +3 268 267 223 +3 259 229 110 +3 269 232 270 +3 271 235 272 +3 274 273 239 +3 65 275 165 +3 276 134 277 +3 188 278 60 +3 65 165 63 +3 279 83 139 +3 281 280 282 +3 54 205 7 +3 130 118 283 +3 284 285 286 +3 275 287 204 +3 15 159 16 +3 289 288 66 +3 291 290 292 +3 70 293 33 +3 87 88 240 +3 294 295 244 +3 17 16 296 +3 297 41 298 +3 17 296 299 +3 39 105 104 +3 301 300 302 +3 87 240 303 +3 304 182 225 +3 39 104 40 +3 285 305 144 +3 268 306 307 +3 309 308 310 +3 212 196 311 +3 159 294 16 +3 141 76 77 +3 313 312 314 +3 315 316 283 +3 317 120 318 +3 126 127 319 +3 273 320 321 +3 155 322 30 +3 214 259 110 +3 323 214 111 +3 248 324 325 +3 250 248 325 +3 178 180 326 +3 328 327 91 +3 98 21 23 +3 329 52 330 +3 61 329 330 +3 331 332 333 +3 181 178 334 +3 225 182 183 +3 227 335 184 +3 169 168 198 +3 318 120 191 +3 155 327 328 +3 337 336 338 +3 115 339 155 +3 21 98 340 +3 117 341 315 +3 342 338 343 +3 129 21 340 +3 270 50 344 +3 345 162 216 +3 345 346 162 +3 347 221 323 +3 349 348 350 +3 351 153 121 +3 352 107 185 +3 353 354 355 +3 149 93 147 +3 125 356 357 +3 359 358 360 +3 358 194 360 +3 194 358 359 +3 186 274 239 +3 76 294 244 +3 314 312 52 +3 248 22 324 +3 220 221 34 +3 230 361 228 +3 281 282 40 +3 64 342 340 +3 304 225 226 +3 249 362 22 +3 195 363 271 +3 364 86 277 +3 89 365 328 +3 366 127 258 +3 271 363 235 +3 367 151 142 +3 356 247 245 +3 167 368 369 +3 109 354 242 +3 114 176 113 +3 201 264 97 +3 312 313 370 +3 165 275 254 +3 93 190 147 +3 132 371 372 +3 373 339 374 +3 375 376 25 +3 294 76 140 +3 57 129 340 +3 373 233 377 +3 82 378 146 +3 15 119 160 +3 323 221 214 +3 379 111 112 +3 185 107 59 +3 165 254 53 +3 364 277 380 +3 59 106 207 +3 293 381 132 +3 382 349 350 +3 383 266 142 +3 288 384 66 +3 99 275 65 +3 385 269 270 +3 294 140 16 +3 386 233 173 +3 246 251 265 +3 387 181 388 +3 17 299 135 +3 201 389 76 +3 297 298 126 +3 381 390 391 +3 3 62 330 +3 335 150 184 +3 249 392 362 +3 393 329 61 +3 97 95 394 +3 6 252 45 +3 82 81 378 +3 99 269 385 +3 144 395 145 +3 395 146 145 +3 331 396 397 +3 234 121 122 +3 52 312 370 +3 244 295 243 +3 398 399 213 +3 369 368 399 +3 100 400 401 +3 382 402 117 +3 382 195 402 +3 122 123 243 +3 18 20 353 +3 193 347 323 +3 366 403 379 +3 403 111 379 +3 138 136 167 +3 146 378 400 +3 136 392 249 +3 404 8 405 +3 172 170 19 +3 170 20 19 +3 359 360 406 +3 232 50 270 +3 311 148 189 +3 206 42 58 +3 96 36 38 +3 194 193 360 +3 78 79 407 +3 106 365 207 +3 398 408 399 +3 100 261 400 +3 385 270 409 +3 307 306 209 +3 225 183 331 +3 112 110 228 +3 388 410 280 +3 79 411 87 +3 412 78 407 +3 252 7 253 +3 329 314 52 +3 212 213 413 +3 247 211 210 +3 101 81 297 +3 243 123 125 +3 217 258 219 +3 128 219 258 +3 276 411 414 +3 415 133 296 +3 42 416 124 +3 236 370 237 +3 307 209 404 +3 109 204 287 +3 255 257 417 +3 64 340 98 +3 418 96 97 +3 283 118 117 +3 46 419 420 +3 416 206 90 +3 286 285 144 +3 389 201 97 +3 100 401 101 +3 257 421 286 +3 422 257 256 +3 137 232 362 +3 121 153 356 +3 336 337 423 +3 76 244 201 +3 373 377 383 +3 241 88 174 +3 155 424 327 +3 333 66 68 +3 33 293 425 +3 423 337 426 +3 427 326 419 +3 332 288 289 +3 280 398 282 +3 428 373 383 +3 354 20 242 +3 427 419 84 +3 368 51 363 +3 196 413 399 +3 84 46 45 +3 48 231 138 +3 389 75 76 +3 17 119 15 +3 260 100 429 +3 262 260 429 +3 213 282 398 +3 410 388 430 +3 383 142 150 +3 305 47 144 +3 263 126 298 +3 383 335 428 +3 23 362 232 +3 286 143 431 +3 103 432 40 +3 112 262 429 +3 74 321 72 +3 73 433 278 +3 309 37 308 +3 251 412 407 +3 73 278 71 +3 278 188 71 +3 230 229 303 +3 397 224 225 +3 353 20 354 +3 394 389 97 +3 415 24 134 +3 284 405 6 +3 319 127 366 +3 236 51 52 +3 31 175 32 +3 80 119 200 +3 117 402 341 +3 192 347 193 +3 84 108 85 +3 103 434 432 +3 351 317 412 +3 1 54 8 +3 173 435 175 +3 403 366 436 +3 175 157 241 +3 409 287 275 +3 366 258 436 +3 262 290 437 +3 253 205 108 +3 255 417 438 +3 439 149 163 +3 99 385 409 +3 440 75 389 +3 140 142 215 +3 156 114 441 +3 352 114 107 +3 320 274 186 +3 273 274 320 +3 280 410 398 +3 84 83 427 +3 188 74 71 +3 217 406 258 +3 442 371 238 +3 343 198 55 +3 286 431 257 +3 434 103 105 +3 426 164 443 +3 439 92 93 +3 257 431 417 +3 166 136 250 +3 418 37 36 +3 133 415 134 +3 101 297 102 +3 134 380 277 +3 375 25 377 +3 335 227 90 +3 161 116 118 +3 321 320 69 +3 338 169 343 +3 268 44 306 +3 1 0 54 +3 186 444 445 +3 446 438 447 +3 335 383 150 +3 229 251 407 +3 314 393 313 +3 113 106 107 +3 222 352 43 +3 90 207 365 +3 448 393 314 +3 354 109 355 +3 94 298 41 +3 138 19 18 +3 250 136 249 +3 47 420 449 +3 448 314 329 +3 415 26 24 +3 357 356 450 +3 392 136 137 +3 90 365 89 +3 181 430 388 +3 179 181 387 +3 375 233 386 +3 9 238 10 +3 199 151 198 +3 275 204 254 +3 430 181 334 +3 376 375 386 +3 57 343 55 +3 393 448 329 +3 324 62 3 +3 35 220 34 +3 349 451 348 +3 40 94 41 +3 125 357 202 +3 229 407 303 +3 300 163 148 +3 315 341 272 +3 452 400 261 +3 440 186 75 +3 130 283 131 +3 325 324 3 +3 5 325 3 +3 163 149 148 +3 247 356 154 +3 66 384 12 +3 272 453 315 +3 156 176 114 +3 146 395 39 +3 9 445 442 +3 272 341 454 +3 264 418 97 +3 10 321 69 +3 94 190 93 +3 79 200 411 +3 102 366 379 +3 224 35 226 +3 166 51 368 +3 427 83 279 +3 90 91 335 +3 451 302 348 +3 179 387 455 +3 387 456 455 +3 456 179 455 +3 230 303 240 +3 153 154 356 +3 413 213 399 +3 398 410 408 +3 231 232 137 +3 363 236 235 +3 331 183 332 +3 69 9 11 +3 282 190 94 +3 90 227 416 +3 126 319 297 +3 351 121 317 +3 34 221 347 +3 216 390 217 +3 158 234 159 +3 190 282 189 +3 20 139 242 +3 59 42 43 +3 139 85 242 +3 180 179 456 +3 262 112 292 +3 299 133 135 +3 121 356 125 +3 41 297 81 +3 425 95 457 +3 415 296 26 +3 216 118 130 +3 253 7 205 +3 276 135 134 +3 394 444 440 +3 35 33 457 +3 420 419 326 +3 387 458 456 +3 395 47 449 +3 228 361 112 +3 172 334 171 +3 459 334 178 +3 279 459 178 +3 22 362 23 +3 298 92 346 +3 409 353 355 +3 438 452 261 +3 57 340 342 +3 27 209 306 +3 310 308 460 +3 44 268 223 +3 48 18 344 +3 48 138 18 +3 13 211 12 +3 272 454 271 +3 52 4 330 +3 267 437 290 +3 417 447 438 +3 161 300 116 +3 461 29 169 +3 216 162 118 +3 22 462 324 +3 377 25 266 +3 400 378 401 +3 352 222 114 +3 301 302 349 +3 167 166 368 +3 432 434 280 +3 255 438 261 +3 2 461 443 +3 112 429 379 +3 262 437 255 +3 68 220 333 +3 38 182 96 +3 239 273 129 +3 276 277 86 +3 346 163 162 +3 452 143 400 +3 69 445 9 +3 458 434 463 +3 195 197 363 +3 446 143 452 +3 446 431 143 +3 464 182 304 +3 332 289 333 +3 82 146 39 +3 8 54 7 +3 454 341 402 +3 195 454 402 +3 231 49 50 +3 48 49 231 +3 373 465 339 +3 184 199 168 +3 167 19 138 +3 173 115 435 +3 86 364 88 +3 192 194 390 +3 453 316 315 +3 102 319 366 +3 222 44 223 +3 29 461 28 +3 461 2 28 +3 2 443 0 +3 368 363 197 +3 300 466 302 +3 365 106 328 +3 256 255 437 +3 14 12 384 +3 394 425 467 +3 76 141 140 +3 338 336 423 +3 302 451 349 +3 300 161 163 +3 226 468 464 +3 462 21 188 +3 296 16 215 +3 320 445 69 +3 320 186 445 +3 197 399 368 +3 231 137 138 +3 104 103 40 +3 305 45 47 +3 149 439 93 +3 287 409 355 +3 105 463 434 +3 177 113 176 +3 235 237 453 +3 346 439 163 +3 395 449 39 +3 446 447 417 +3 416 227 124 +3 34 347 469 +3 186 440 444 +3 391 216 130 +3 470 460 203 +3 295 122 243 +3 164 64 63 +3 360 193 436 +3 408 430 399 +3 0 443 53 +3 19 167 172 +3 292 240 291 +3 1 8 404 +3 266 215 142 +3 211 247 246 +3 73 72 208 +3 218 219 345 +3 207 58 59 +3 180 456 463 +3 344 18 353 +3 374 233 373 +3 87 411 86 +3 245 247 210 +3 359 217 390 +3 224 471 35 +3 171 279 139 +3 234 122 295 +3 195 382 350 +3 433 60 278 +3 208 72 238 +3 244 202 201 +3 321 10 72 +3 457 95 468 +3 265 259 68 +3 6 7 252 +3 334 459 171 +3 459 279 171 +3 464 304 226 +3 118 162 161 +3 40 432 281 +3 293 70 381 +3 405 284 421 +3 458 388 434 +3 396 471 224 +3 401 378 81 +3 60 393 61 +3 462 188 62 +3 17 135 119 +3 327 465 91 +3 144 143 286 +3 264 460 418 +3 362 392 137 +3 47 46 420 +3 54 204 205 +3 62 324 462 +3 469 192 381 +3 397 396 224 +3 408 410 430 +3 33 425 457 +3 141 367 142 +3 262 255 261 +3 66 12 67 +3 54 254 204 +3 26 296 215 +3 203 450 470 +3 131 283 316 +3 393 60 313 +3 468 95 96 +3 418 308 37 +3 399 430 369 +3 370 236 52 +3 168 29 184 +3 177 155 328 +3 467 425 372 +3 443 164 165 +3 456 458 463 +3 196 399 197 +3 31 157 175 +3 317 234 120 +3 21 462 22 +3 436 258 406 +3 246 265 211 +3 457 468 226 +3 309 38 37 +3 160 159 15 +3 211 67 12 +3 251 229 265 +3 284 286 421 +3 322 31 30 +3 386 380 134 +3 209 28 2 +3 409 270 353 +3 208 238 371 +3 284 6 285 +3 428 91 465 +3 359 390 194 +3 68 259 221 +3 233 375 377 +3 112 361 292 +3 96 464 468 +3 292 361 240 +3 240 361 230 +3 84 419 46 +3 102 379 429 +3 404 405 421 +3 124 27 306 +3 95 425 394 +3 193 323 111 +3 359 406 217 +3 174 88 364 +3 356 245 450 +3 143 146 400 +3 51 236 363 +3 281 432 280 +3 267 256 437 +3 436 193 111 +3 370 316 453 +3 129 273 74 +3 342 337 338 +3 333 220 471 +3 422 421 257 +3 428 465 373 +3 357 203 202 +3 167 369 172 +3 62 61 330 +3 467 372 442 +3 422 256 268 +3 311 189 212 +3 243 125 202 +3 426 443 461 +3 262 292 290 +3 370 453 237 +3 293 132 372 +3 425 293 372 +3 344 353 270 +3 444 394 467 +3 309 384 288 +3 444 467 445 +3 144 47 395 +3 99 409 275 +3 436 111 403 +3 367 77 187 +3 151 367 187 +3 445 467 442 +3 303 79 87 +3 223 267 441 +3 289 66 333 +3 313 316 370 +3 376 24 25 +3 192 469 347 +3 352 185 43 +3 472 463 105 +3 117 301 382 +3 38 309 183 +3 126 263 128 +3 405 8 6 +3 414 411 473 +3 374 115 233 +3 283 117 315 +3 91 428 335 +3 346 263 298 +3 241 174 175 +3 232 269 23 +3 105 39 449 +3 322 156 31 +3 394 440 389 +3 228 110 229 +3 343 169 198 +3 414 135 276 +3 322 155 177 +3 369 334 172 +3 155 339 424 +3 309 14 384 +3 92 298 94 +3 170 139 20 +3 132 208 371 +3 269 99 98 +3 188 21 74 +3 326 180 463 +3 303 407 79 +3 200 473 411 +3 96 418 36 +3 350 196 195 +3 264 203 460 +3 116 301 117 +3 5 4 52 +3 148 311 466 +3 84 45 252 +3 282 213 189 +3 342 343 57 +3 6 45 305 +3 32 435 115 +3 390 381 192 +3 70 469 381 +3 450 245 470 +3 6 305 285 +3 24 376 386 +3 414 473 135 +3 35 457 226 +3 474 386 173 +3 158 160 120 +3 175 435 32 +3 297 319 102 +3 160 119 120 +3 263 346 219 +3 219 346 345 +3 460 470 310 +3 388 280 434 +3 442 238 9 +3 218 345 216 +3 35 471 220 +3 391 390 216 +3 306 44 124 +3 73 208 131 +3 177 156 322 +3 360 436 406 +3 150 151 199 +3 184 150 199 +3 198 187 56 +3 151 187 198 +3 450 203 357 +3 44 222 43 +3 369 430 334 +3 416 42 206 +3 331 333 396 +3 225 331 397 +3 173 174 474 +3 355 109 287 +3 377 266 383 +3 152 412 251 +3 105 449 472 +3 100 102 429 +3 183 288 332 +3 326 427 279 +3 178 326 279 +3 4 3 330 +3 252 108 84 +3 449 420 472 +3 73 131 433 +3 465 424 339 +3 40 282 94 +3 302 466 348 +3 2 404 209 +3 1 404 2 +3 169 338 423 +3 64 98 65 +3 164 342 64 +3 461 423 426 +3 337 164 426 +3 169 423 461 +3 241 291 240 +3 472 420 463 +3 420 326 463 +3 164 337 342 +3 401 81 101 +3 156 441 157 +3 174 364 474 +3 454 195 271 +3 207 90 206 +3 250 5 166 +3 382 301 349 +3 470 245 310 +3 372 371 442 +3 333 471 396 +3 256 267 268 +3 212 413 196 +3 189 148 147 +3 152 246 154 +3 307 422 268 +3 421 422 307 +3 196 350 311 +3 350 348 311 +3 466 311 348 +3 309 288 183 +3 245 13 14 +3 235 453 272 +3 148 466 300 +3 295 294 159 +3 92 439 346 +3 443 165 53 +3 177 328 106 +3 24 386 134 +3 211 265 67 +3 441 267 291 +3 121 234 317 +3 177 106 113 +3 115 374 339 +3 25 26 266 +3 157 441 241 +3 299 296 133 +3 108 205 109 +3 56 55 198 +3 273 321 74 +3 98 23 269 +3 460 308 418 +3 265 229 259 +3 89 328 91 +3 424 465 327 +3 313 60 433 +3 313 433 316 +3 387 388 458 +3 50 48 344 +3 431 446 417 +3 446 452 438 +3 291 267 290 +3 159 234 295 +3 276 86 411 +3 78 191 80 +3 78 318 191 +3 78 317 318 +3 412 317 78 +3 474 364 380 +3 380 386 474 +3 119 135 473 +3 200 119 473 +3 77 367 141 +3 5 250 325 +3 96 182 464 +3 116 300 301 +3 310 14 309 +3 310 245 14 +3 351 412 152 +3 351 152 153 +3 70 34 469 +3 404 421 307 +3 381 391 130 +3 441 114 223 +3 132 381 130 +3 291 241 441 +3 51 166 5 +3 433 131 316 diff --git a/Polygon_mesh_processing/test/Polygon_mesh_processing/data/decimation/range/m3.off b/Polygon_mesh_processing/test/Polygon_mesh_processing/data/decimation/range/m3.off new file mode 100644 index 00000000000..3297a9bd3eb --- /dev/null +++ b/Polygon_mesh_processing/test/Polygon_mesh_processing/data/decimation/range/m3.off @@ -0,0 +1,210 @@ +OFF 71 138 0 +1 4 0 +1 4.33333 0 +1.33333 4 0 +2 5.54692 0 +1.54692 6 0 +2 6 0 +0.720377 6 0 +0.346918 6 0 +0.46167 6 0.445685 +0.478292 5.49745 0 +2 5.37496 0.578061 +2 6 0.594537 +1.49745 4.47829 0 +1.66667 4 0 +2 4.34692 0 +2 4.46167 0.445685 +2 4 0.384615 +0 5.33333 0 +0.333333 5 0 +0 4.33333 0 +0.5 4.5 0 +0 4.66667 0 +0 4.66667 2 +0 4 2 +0.666667 4 2 +1 5 0 +0.666667 5 0 +1 4.66667 0 +0 5 0 +0 4.75956 0.695771 +0 4.5 0.405669 +1.33333 6 2 +2 6 2 +2 5.33333 2 +1.37496 5.45178 0 +1.50867 4.9024 0 +2 5.12038 0 +0 5.49745 0.476818 +0 5.66667 0 +0 6 0.384615 +2 6 1.2612 +0.902401 6 0.854344 +1.37496 6 0.578061 +2 4 0 +0 6 0.846154 +0.666667 4 0 +0.333333 4 0 +0.5 4 0.472405 +2 4 0.846154 +1.24044 4 0.695771 +2 4 1.38462 +0 6 1.38462 +0.666667 6 2 +0 6 2 +1.00906 4.99094 2 +2 4 2 +2 4.66667 2 +1.33333 4 2 +2 4.72038 0 +0 4 0.846154 +2 4.9024 0.854344 +0 5.33333 2 +0.902401 5.50867 0 +0 5.27892 1.11208 +0.721084 4 1.11208 +0 4 1.38462 +0 4 0.384615 +1.12038 6 0 +0 4 0 +0 6 0 +1.49745 4 0.40533 +3 0 1 2 +3 3 4 5 +3 6 7 8 +3 7 6 9 +3 10 3 11 +3 13 12 14 +3 15 16 14 +3 17 9 18 +3 20 19 21 +3 22 23 24 +3 26 25 27 +3 29 28 30 +3 30 28 21 +3 28 18 21 +3 32 31 33 +3 35 34 36 +3 26 18 9 +3 5 11 3 +3 5 4 11 +3 38 37 39 +3 1 27 12 +3 41 40 42 +3 43 14 16 +3 13 43 16 +3 43 13 14 +3 41 8 44 +3 20 45 46 +3 45 47 46 +3 49 48 50 +3 8 7 39 +3 52 51 53 +3 7 9 38 +3 45 20 1 +3 37 17 28 +3 19 30 21 +3 4 42 11 +3 33 31 54 +3 55 56 57 +3 0 45 1 +3 47 45 0 +3 35 58 12 +3 57 56 54 +3 13 2 12 +3 12 58 14 +3 30 59 29 +3 8 41 6 +3 50 48 60 +3 56 60 33 +3 54 52 61 +3 6 62 9 +3 54 22 24 +3 37 29 63 +3 64 24 65 +3 65 24 23 +3 54 31 52 +3 18 20 21 +3 14 58 15 +3 63 29 22 +3 40 32 33 +3 34 3 36 +3 66 46 47 +3 18 26 20 +3 4 67 42 +3 34 67 4 +3 68 66 19 +3 51 63 61 +3 66 68 46 +3 68 19 46 +3 61 52 53 +3 51 61 53 +3 69 38 39 +3 36 3 10 +3 7 69 39 +3 8 39 44 +3 39 37 44 +3 40 31 32 +3 42 40 11 +3 40 10 11 +3 12 27 35 +3 15 48 16 +3 38 69 7 +3 60 48 15 +3 50 55 57 +3 55 50 56 +3 46 19 20 +3 70 16 48 +3 65 23 22 +3 12 2 1 +3 54 56 33 +3 49 70 48 +3 22 54 61 +3 56 50 60 +3 28 17 18 +3 62 26 9 +3 2 13 70 +3 59 64 65 +3 38 17 37 +3 41 51 52 +3 60 10 40 +3 33 60 40 +3 52 31 41 +3 67 41 42 +3 50 57 49 +3 59 66 47 +3 9 17 38 +3 25 62 34 +3 6 67 62 +3 6 41 67 +3 49 0 70 +3 29 65 22 +3 59 65 29 +3 70 0 2 +3 31 40 41 +3 41 44 51 +3 49 47 0 +3 20 26 27 +3 34 62 67 +3 44 63 51 +3 1 20 27 +3 37 28 29 +3 22 61 63 +3 34 35 25 +3 3 34 4 +3 57 24 64 +3 27 25 35 +3 62 25 26 +3 70 13 16 +3 58 60 15 +3 59 47 64 +3 64 47 49 +3 63 44 37 +3 58 35 36 +3 58 36 60 +3 60 36 10 +3 66 59 30 +3 19 66 30 +3 57 64 49 +3 54 24 57 diff --git a/Polygon_mesh_processing/test/Polygon_mesh_processing/data/decimation/range/m4.off b/Polygon_mesh_processing/test/Polygon_mesh_processing/data/decimation/range/m4.off new file mode 100644 index 00000000000..8f43120fd03 --- /dev/null +++ b/Polygon_mesh_processing/test/Polygon_mesh_processing/data/decimation/range/m4.off @@ -0,0 +1,111 @@ +OFF 38 72 0 +1 4 0 +1 4 -0.333333 +1 4.33333 0 +0.5 4 -0.5 +0.666667 4 0 +0 4 -1 +0.333333 4 -1 +0 4 -0.666667 +1 4 -1 +1 4.33333 -1 +0.666667 4 -1 +0 4.33333 0 +0.5 4.5 0 +0 4.66667 0 +0 4.5 -0.5 +1 5 0 +0.666667 5 0 +1 4.66667 0 +0 5 0 +0.333333 5 0 +0 5 -0.333333 +0.5 5 -0.5 +0 4.33333 -1 +1 4.5 -0.5 +1 4.66667 -1 +1 5 -0.666667 +0.5 4.5 -1 +0.333333 4 0 +1 5 -0.333333 +0 4.66667 -1 +0 5 -0.666667 +1 4 -0.666667 +0 4 -0.333333 +0 4 0 +0.666667 5 -1 +1 5 -1 +0 5 -1 +0.333333 5 -1 +3 0 1 2 +3 3 1 4 +3 5 6 7 +3 9 8 10 +3 11 12 13 +3 14 11 13 +3 15 16 17 +3 19 18 13 +3 21 20 19 +3 21 19 16 +3 7 22 5 +3 22 6 5 +3 2 23 17 +3 23 24 25 +3 26 6 22 +3 4 12 27 +3 2 1 23 +3 20 14 13 +3 17 23 28 +3 12 4 2 +3 4 0 2 +3 30 29 14 +3 10 8 31 +3 3 4 27 +3 32 7 3 +3 14 7 32 +3 14 22 7 +3 28 15 17 +3 16 15 28 +3 31 3 10 +3 12 19 13 +3 32 33 11 +3 6 26 10 +3 26 34 24 +3 14 32 11 +3 34 35 24 +3 35 25 24 +3 34 25 35 +3 16 19 12 +3 11 33 27 +3 32 27 33 +3 36 30 37 +3 0 4 1 +3 18 20 13 +3 37 29 36 +3 31 8 9 +3 29 30 36 +3 11 27 12 +3 34 21 25 +3 21 16 28 +3 23 31 9 +3 24 23 9 +3 30 21 37 +3 20 18 19 +3 30 20 21 +3 20 30 14 +3 23 25 28 +3 25 21 28 +3 26 29 37 +3 27 32 3 +3 3 7 6 +3 9 26 24 +3 3 31 1 +3 31 23 1 +3 29 22 14 +3 26 22 29 +3 16 12 17 +3 12 2 17 +3 9 10 26 +3 26 37 34 +3 21 34 37 +3 3 6 10 diff --git a/Polygon_mesh_processing/test/Polygon_mesh_processing/data/decimation/range/m5.off b/Polygon_mesh_processing/test/Polygon_mesh_processing/data/decimation/range/m5.off new file mode 100644 index 00000000000..c3895c68bb9 --- /dev/null +++ b/Polygon_mesh_processing/test/Polygon_mesh_processing/data/decimation/range/m5.off @@ -0,0 +1,255 @@ +OFF 86 168 0 +4.45187 3 2.54813 +4 3 2.66667 +4.33333 3 3 +5 1 2 +5 1.65029 1.83333 +5 1.45187 2.54813 +4 1 2 +4 1.45187 1.45187 +4 1.83333 2.16667 +5 2.66667 1 +4.5 2.57551 1 +5 2.33333 1 +5 3 3 +5 3 2.66667 +5 2.66667 3 +4.5 1 2.16667 +4 1 2.33333 +4 1.45187 2.54813 +4 2.56905 1.83333 +4 2.54813 1.45187 +4 2.16667 1.65029 +4 1.66667 3 +4 2 3 +4.5 2.16667 3 +4 1 1.33333 +4.45187 1 1.45187 +4 1 1.66667 +5 1 3 +4.66667 1 3 +5 1 2.66667 +5 1.33333 3 +4 2.56694 2.54813 +4 2.66667 3 +5 1.66667 3 +4.54813 1.45187 3 +4 3 1 +4 3 1.33333 +4.33333 3 1 +4 2.66667 1 +4.5 1 2.57551 +4.66667 3 1 +4.45187 3 1.45187 +5 3 1 +5 3 1.33333 +5 1 1 +5 1 1.33333 +5 1.33333 1 +4.66667 1 1 +5 3 1.66667 +5 2.54813 2.54813 +5 2.33333 3 +5 2 3 +4 3 3 +4.66667 3 3 +4.5 2.57551 3 +4 2.16667 2.52434 +4 2.39733 2.16667 +4 2.33333 3 +5 1.45187 1.45187 +5 1 1.66667 +5 2.54813 1.43306 +5 2.52434 1.83333 +4.33333 1 3 +5 2.16667 2.16667 +4 1.66667 1 +4 2 1 +4 2.33333 1 +5 2.16667 1.60267 +4 1 2.66667 +5 3 2 +5 3 2.33333 +4 1 3 +4 1.33333 3 +4 3 2.33333 +5 1 2.33333 +4.55204 3 2.16667 +4.54813 1.45187 1 +5 1.66667 1 +4 1.33333 1 +5 1.83333 1.43095 +4.33333 1 1 +4 1 1 +4.5 2.16667 1 +4 3 1.66667 +5 2 1 +4 3 2 +3 0 1 2 +3 3 4 5 +3 7 6 8 +3 10 9 11 +3 13 12 14 +3 6 15 16 +3 17 6 16 +3 18 19 20 +3 22 21 23 +3 24 25 26 +3 27 28 29 +3 30 27 29 +3 27 30 28 +3 31 32 1 +3 33 23 34 +3 35 36 37 +3 38 35 37 +3 35 38 36 +3 28 39 29 +3 37 40 10 +3 41 40 37 +3 9 42 43 +3 45 44 46 +3 44 47 46 +3 41 48 43 +3 37 10 38 +3 8 6 17 +3 49 50 51 +3 1 52 2 +3 52 32 2 +3 32 52 1 +3 53 12 13 +3 16 15 39 +3 54 53 2 +3 8 55 56 +3 26 6 7 +3 32 31 57 +3 58 4 59 +3 61 60 48 +3 62 28 34 +3 62 39 28 +3 61 49 63 +3 19 36 38 +3 65 64 7 +3 9 60 11 +3 10 66 38 +3 66 19 38 +3 4 67 63 +3 60 61 67 +3 54 57 23 +3 40 42 9 +3 42 40 43 +3 25 47 45 +3 56 55 31 +3 17 16 68 +3 69 70 61 +3 71 62 72 +3 68 62 71 +3 73 1 0 +3 17 21 55 +3 74 39 15 +3 33 51 23 +3 51 33 5 +3 48 69 61 +3 75 69 48 +3 46 76 77 +3 31 73 56 +3 78 24 7 +3 58 79 4 +3 30 34 28 +3 23 50 54 +3 47 80 76 +3 25 80 47 +3 80 81 78 +3 81 24 78 +3 24 81 80 +3 3 5 74 +3 65 82 64 +3 45 47 44 +3 36 83 41 +3 3 74 15 +3 32 57 54 +3 79 84 67 +3 18 83 19 +3 55 21 22 +3 5 30 29 +3 33 30 5 +3 30 33 34 +3 12 53 14 +3 56 20 8 +3 70 13 49 +3 13 70 0 +3 26 25 15 +3 36 41 37 +3 59 45 58 +3 59 25 45 +3 47 76 46 +3 49 13 14 +3 20 7 8 +3 66 20 19 +3 54 14 53 +3 50 14 54 +3 15 6 26 +3 66 65 20 +3 57 31 55 +3 55 8 17 +3 60 67 11 +3 18 56 85 +3 4 3 59 +3 3 15 59 +3 40 41 43 +3 41 75 48 +3 68 71 72 +3 58 46 77 +3 50 49 14 +3 60 43 48 +3 63 5 4 +3 24 26 7 +3 83 36 19 +3 75 70 69 +3 13 0 53 +3 2 53 0 +3 82 77 76 +3 79 67 4 +3 66 82 65 +3 62 68 39 +3 72 34 21 +3 76 78 64 +3 78 7 64 +3 68 72 17 +3 11 67 84 +3 51 5 63 +3 82 10 11 +3 29 39 74 +3 49 61 70 +3 0 70 75 +3 16 39 68 +3 82 76 64 +3 67 61 63 +3 83 75 41 +3 82 66 10 +3 72 62 34 +3 73 31 1 +3 73 85 56 +3 59 15 25 +3 74 5 29 +3 23 21 34 +3 56 18 20 +3 57 55 22 +3 23 57 22 +3 63 49 51 +3 84 77 82 +3 32 54 2 +3 11 84 82 +3 24 80 25 +3 58 45 46 +3 77 84 79 +3 65 7 20 +3 78 76 80 +3 17 72 21 +3 83 18 85 +3 83 85 75 +3 43 60 9 +3 50 23 51 +3 40 9 10 +3 75 73 0 +3 73 75 85 +3 77 79 58 diff --git a/Polygon_mesh_processing/test/Polygon_mesh_processing/data/decimation/range/m6.off b/Polygon_mesh_processing/test/Polygon_mesh_processing/data/decimation/range/m6.off new file mode 100644 index 00000000000..3014b8cb006 --- /dev/null +++ b/Polygon_mesh_processing/test/Polygon_mesh_processing/data/decimation/range/m6.off @@ -0,0 +1,111 @@ +OFF 38 72 0 +1 -1 1 +1 -1 1.33333 +1 -0.666667 1 +2 -1 2 +1.66667 -1 2 +2 -0.666667 2 +2 -1 1.66667 +1 -0.511633 1.50582 +1 -0.333333 1 +1 0 1.33333 +1.66667 -1 1 +1.5 -0.5 1 +2 -0.666667 1 +1 -0.333333 2 +1.49418 -0.511633 2 +1 -0.666667 2 +1.33333 -1 1 +2 0 1.66667 +1.5 0 1.5 +2 0 1.33333 +2 -0.5 1.5 +2 -0.333333 1 +1.33333 0 2 +1.66667 0 2 +1.66667 0 1 +2 -1 1.33333 +2 -0.333333 2 +2 0 2 +1 0 2 +1 0 1.66667 +1 0 1 +1.33333 0 1 +1.33333 -1 2 +1 -1 1.66667 +1.49418 -1 1.50582 +2 -1 1 +2 0 1 +1 -1 2 +3 0 1 2 +3 4 3 5 +3 3 6 5 +3 6 3 4 +3 8 7 9 +3 10 11 12 +3 14 13 15 +3 13 7 15 +3 0 16 1 +3 18 17 19 +3 17 20 19 +3 12 11 21 +3 22 23 18 +3 18 19 24 +3 5 14 4 +3 20 25 12 +3 27 26 17 +3 22 28 13 +3 28 29 13 +3 29 28 22 +3 31 30 9 +3 30 8 9 +3 8 30 31 +3 31 18 24 +3 16 2 11 +3 32 14 15 +3 6 20 5 +3 33 1 34 +3 6 25 20 +3 22 18 29 +3 33 15 7 +3 11 31 24 +3 23 27 17 +3 26 27 23 +3 10 35 25 +3 35 12 25 +3 12 35 10 +3 11 2 8 +3 36 19 21 +3 14 26 23 +3 18 31 9 +3 16 11 10 +3 19 20 21 +3 34 16 10 +3 33 32 37 +3 32 15 37 +3 15 33 37 +3 24 36 21 +3 19 36 24 +3 10 25 34 +3 33 7 1 +3 20 26 5 +3 8 2 7 +3 7 13 29 +3 7 29 9 +3 4 34 6 +3 21 11 24 +3 21 20 12 +3 16 0 2 +3 6 34 25 +3 33 34 32 +3 22 14 23 +3 22 13 14 +3 20 17 26 +3 31 11 8 +3 32 34 4 +3 18 9 29 +3 2 1 7 +3 32 4 14 +3 14 5 26 +3 1 16 34 +3 23 17 18 diff --git a/Polygon_mesh_processing/test/Polygon_mesh_processing/data/decimation/range/m7.off b/Polygon_mesh_processing/test/Polygon_mesh_processing/data/decimation/range/m7.off new file mode 100644 index 00000000000..5785530627a --- /dev/null +++ b/Polygon_mesh_processing/test/Polygon_mesh_processing/data/decimation/range/m7.off @@ -0,0 +1,168 @@ +OFF 57 110 0 +2 -1 2 +2 -1 1.66667 +2 -0.666667 2 +3 0 1.66667 +3 0 2 +3 -0.333333 2 +2.66667 0 2 +2.33333 0 1 +2.5 0 1.5 +2 0 1.33333 +2 0 1.66667 +2 -0.5 1.5 +2 0 1 +2.33333 -2 1 +2 -2 1.33333 +2 -2 1 +2 -1 1.33333 +2 -0.666667 1 +2 -0.333333 2 +2 0 2 +2.33333 0 2 +3 -1.66667 1 +3 -1.33333 1 +2.5 -1.52406 1 +3 -1.54813 1.45187 +3 -2 1.33333 +2.5 -0.475937 2 +2.33333 -2 2 +2.5 -2 1.5 +2 -2 1.66667 +3 -1 2 +3 -0.666667 2 +3 -0.833333 1.44796 +3 -1.33333 2 +2.66667 -2 1 +3 -2 1.66667 +3 -2 2 +3 -1.66667 2 +2.66667 0 1 +3 0 1 +3 0 1.33333 +2.66667 -2 2 +2.5 -0.475937 1 +2 -0.333333 1 +2 -1.66667 2 +2 -1.5 1.5 +3 -0.333333 1 +2 -1 1 +3 -2 1 +2.5 -1.52406 2 +2 -2 2 +3 -0.451874 1.54813 +3 -0.666667 1 +2 -1.33333 1 +2 -1.33333 2 +2 -1.66667 1 +3 -1 1 +3 1 0 2 +3 3 4 5 +3 4 6 5 +3 3 6 4 +3 8 7 9 +3 11 10 9 +3 7 12 9 +3 13 14 15 +3 16 11 17 +3 18 19 10 +3 19 20 10 +3 18 20 19 +3 22 21 23 +3 24 21 22 +3 24 25 21 +3 5 6 26 +3 28 27 29 +3 31 30 32 +3 30 33 32 +3 30 31 26 +3 6 20 26 +3 11 1 2 +3 23 21 34 +3 16 1 11 +3 36 35 37 +3 39 38 40 +3 34 13 23 +3 40 38 8 +3 3 8 6 +3 41 27 28 +3 37 24 33 +3 7 42 43 +3 22 32 24 +3 10 8 9 +3 29 44 45 +3 46 42 38 +3 29 14 28 +3 45 14 29 +3 42 7 38 +3 7 8 38 +3 17 47 16 +3 39 46 38 +3 46 39 40 +3 9 12 43 +3 12 7 43 +3 16 45 1 +3 34 48 25 +3 48 21 25 +3 21 48 34 +3 33 49 37 +3 11 9 43 +3 28 13 34 +3 29 50 44 +3 50 27 44 +3 27 50 29 +3 35 24 37 +3 52 51 32 +3 46 52 42 +3 52 46 51 +3 16 47 53 +3 42 47 17 +3 26 18 2 +3 18 11 2 +3 36 37 41 +3 30 26 0 +3 27 41 49 +3 0 26 2 +3 26 20 18 +3 49 41 37 +3 0 1 54 +3 35 25 24 +3 45 53 55 +3 32 56 52 +3 0 49 30 +3 11 43 17 +3 43 42 17 +3 45 54 1 +3 13 15 55 +3 23 55 53 +3 28 25 35 +3 35 36 41 +3 15 14 55 +3 45 44 54 +3 47 23 53 +3 56 23 47 +3 51 46 40 +3 51 40 3 +3 3 5 51 +3 40 8 3 +3 5 26 31 +3 49 33 30 +3 52 56 42 +3 54 44 49 +3 10 11 18 +3 42 56 47 +3 13 55 23 +3 31 32 51 +3 55 14 45 +3 6 8 20 +3 56 22 23 +3 45 16 53 +3 24 32 33 +3 13 28 14 +3 28 34 25 +3 35 41 28 +3 49 0 54 +3 44 27 49 +3 10 20 8 +3 51 5 31 +3 22 56 32 diff --git a/Polygon_mesh_processing/test/Polygon_mesh_processing/data/decimation/range/m8.off b/Polygon_mesh_processing/test/Polygon_mesh_processing/data/decimation/range/m8.off new file mode 100644 index 00000000000..18b5fa71035 --- /dev/null +++ b/Polygon_mesh_processing/test/Polygon_mesh_processing/data/decimation/range/m8.off @@ -0,0 +1,243 @@ +OFF 82 160 0 +2.5 0 2.5 +2 0 2.33333 +2 0 2.66667 +2 -0.390065 2.61728 +2 -0.6 3 +2 -0.9 3 +2.5 -0.75 3 +2 -2.7 3 +2 -2.4 3 +2 -2.60994 2.61728 +3 -1.65 2.49507 +3 -1.16667 2.46927 +3 -1.33333 2 +2.66667 0 2 +3 0 2 +3 -0.333333 2 +3 -1.2 3 +3 -0.9 3 +2 -2.1 3 +2.5 -2.25 3 +3 -2.1 3 +3 -1.8 3 +2.5 -1.65 3 +3 -2 2 +3 -1.66667 2 +2 -1.5 3 +2 -1.2 3 +2 -1.24044 2.44945 +2 -2.25 2.49174 +2 -1.65 2.49507 +2.33333 0 2 +2 -0.333333 2 +2 0 2 +3 -0.3 3 +3 0 2.66667 +3 0 3 +2.66667 0 3 +3 -1 2 +3 -0.75 2.50778 +3 -2.25 2.49174 +3 -2.33333 2 +3 -2.66667 2 +2 -3 3 +2 -3 2.66667 +2.66667 -2 2 +2.5 -2.5 2 +2.5 -0.475937 2 +3 -3 2.66667 +3 -2.7 3 +3 -2.60994 2.61728 +3 -3 2.33333 +3 -2.4 3 +2.61728 -2.60994 3 +2.5 -3 2.5 +2.33333 -3 3 +2.66667 -3 3 +2.33333 -2 2 +2 -2.66667 2 +3 -0.666667 2 +2 -0.75 2.49174 +2.33333 -3 2 +3 -1.5 3 +2 0 3 +2.33333 0 3 +2 -0.3 3 +2.66667 -3 2 +3 0 2.33333 +3 -3 2 +3 -0.390065 2.61728 +3 -3 3 +2 -3 2.33333 +2 -3 2 +2 -1 2 +2 -1.33333 2 +2.5 -1.52406 2 +3 -0.6 3 +2 -2 2 +2 -1.66667 2 +2 -1.8 3 +2.38272 -0.390065 3 +2 -0.666667 2 +2 -2.33333 2 +3 0 1 2 +3 1 3 2 +3 4 5 6 +3 7 8 9 +3 11 10 12 +3 13 14 15 +3 16 17 6 +3 19 18 8 +3 20 10 21 +3 22 20 21 +3 10 23 24 +3 25 26 27 +3 26 25 22 +3 28 18 29 +3 16 11 17 +3 30 31 32 +3 33 34 35 +3 34 36 35 +3 36 33 35 +3 11 37 38 +3 40 39 41 +3 42 7 43 +3 44 40 45 +3 11 38 17 +3 13 15 46 +3 45 40 41 +3 48 47 49 +3 41 49 50 +3 10 39 23 +3 47 50 49 +3 51 39 20 +3 19 51 20 +3 52 51 19 +3 3 1 31 +3 53 54 43 +3 28 8 18 +3 22 16 26 +3 53 47 55 +3 45 56 44 +3 57 9 28 +3 12 37 11 +3 58 37 46 +3 30 13 46 +3 30 0 13 +3 42 54 7 +3 59 27 5 +3 10 24 12 +3 60 57 45 +3 41 39 49 +3 21 61 22 +3 61 21 10 +3 2 62 63 +3 62 64 63 +3 64 62 2 +3 31 1 32 +3 1 30 32 +3 23 40 44 +3 23 39 40 +3 45 41 65 +3 55 54 53 +3 14 66 15 +3 25 27 29 +3 63 36 0 +3 65 41 67 +3 15 66 68 +3 47 69 55 +3 69 48 55 +3 47 48 69 +3 49 39 51 +3 70 71 60 +3 53 60 65 +3 60 45 65 +3 27 72 73 +3 22 61 16 +3 48 51 52 +3 49 51 48 +3 59 5 4 +3 74 12 24 +3 75 17 38 +3 67 41 50 +3 56 76 77 +3 42 43 54 +3 72 27 59 +3 5 27 26 +3 53 43 70 +3 43 9 70 +3 76 29 77 +3 22 78 18 +3 7 9 43 +3 3 64 2 +3 36 79 33 +3 72 59 80 +3 65 50 53 +3 68 38 58 +3 76 56 81 +3 19 22 18 +3 78 29 18 +3 75 38 68 +3 28 9 8 +3 70 57 71 +3 57 60 71 +3 31 46 80 +3 24 23 44 +3 7 54 52 +3 17 75 6 +3 46 37 72 +3 44 56 74 +3 70 60 53 +3 46 72 80 +3 26 16 6 +3 68 34 33 +3 79 6 75 +3 30 46 31 +3 31 80 59 +3 44 74 24 +3 13 66 14 +3 74 72 37 +3 26 6 5 +3 16 61 11 +3 11 61 10 +3 50 47 53 +3 1 0 30 +3 57 70 9 +3 37 58 38 +3 67 50 65 +3 7 52 8 +3 76 28 29 +3 81 28 76 +3 29 73 77 +3 59 3 31 +3 78 22 25 +3 0 36 34 +3 20 39 10 +3 46 15 58 +3 15 68 58 +3 12 74 37 +3 77 73 74 +3 2 63 0 +3 64 79 63 +3 4 6 79 +3 13 0 66 +3 63 79 36 +3 45 81 56 +3 66 0 34 +3 57 81 45 +3 57 28 81 +3 25 29 78 +3 75 68 33 +3 79 75 33 +3 72 74 73 +3 56 77 74 +3 48 52 55 +3 55 52 54 +3 8 52 19 +3 68 66 34 +3 64 4 79 +3 4 64 3 +3 59 4 3 +3 22 19 20 +3 29 27 73 diff --git a/Polygon_mesh_processing/test/Polygon_mesh_processing/data/decimation/range/m9.off b/Polygon_mesh_processing/test/Polygon_mesh_processing/data/decimation/range/m9.off new file mode 100644 index 00000000000..64ef2bd4c76 --- /dev/null +++ b/Polygon_mesh_processing/test/Polygon_mesh_processing/data/decimation/range/m9.off @@ -0,0 +1,312 @@ +OFF 105 206 0 +1.33333 0 3 +1.66667 0 3 +1.39804 -0.404497 3 +1 -2.15385 3 +1.51103 -2.60994 3 +1 -2.46154 3 +1 -2.05 2.49414 +2 -0.390065 2.61728 +2 0 2.33333 +2 0 2.66667 +1 -2.8 2 +1 -2.65 2.49586 +1 -3.1 2 +2 -4 2.33333 +2 -4 2 +1.66667 -4 2 +2 -1 2 +1.66667 -1 2 +2 -0.666667 2 +2 -2.7 3 +2 -2.4 3 +2 -2.60994 2.61728 +2 -1.2 3 +1.50414 -1.35 3 +2 -1.5 3 +1 -2.5 2 +1 0 2.66667 +1.50582 0 2.50582 +1 -0.333333 2 +1.49418 -0.511633 2 +1 -0.666667 2 +2 -3.33333 3 +1.50624 -3.23077 3 +1.39804 -3.5955 3 +1 -4 3 +1 -4 2.66667 +1 -3.69231 3 +2 -3 3 +2 -3.33333 2 +2 -3.48837 2.50582 +2 -3 2.33333 +2 -3.66667 2 +1.38272 -3.60994 2 +1.50826 -3.25 2 +2 -1.24044 2.44945 +2 -2.1 3 +2 -2.25 2.49174 +2 -1.65 2.49507 +1 0 2.33333 +1 -0.404497 2.60196 +1 -2.76923 3 +2 -3 2.66667 +1 -0.615385 3 +1 -0.769231 2.49376 +1.66667 0 2 +1 0 2 +1.33333 0 2 +2 -0.9 3 +1 -1 2 +1 -1.39006 2.48897 +1.55055 -2.24044 2 +2 -2 2 +2 -2.33333 2 +2 -3 2 +2 -0.333333 2 +1 -3.25 2.49781 +1 -3.5955 2.60196 +1 -3.4 2 +2 -2.66667 2 +1.33333 -1 2 +1 -1.6 2 +1 -1.3 2 +2 -0.75 2.49174 +2 0 3 +2 -0.3 3 +1.38272 -1.39006 2 +1.50493 -2.65 2 +2 0 2 +1 -0.307692 3 +1.50219 -0.75 3 +1.33333 -4 2 +1.5 -4 2.5 +1 -3.07692 3 +1.50586 -1.95 3 +1 -3.38462 3 +1 -0.923077 3 +1 -1.23077 3 +2 -1.8 3 +2 -1.33333 2 +1.66667 -4 3 +2 -4 2.66667 +2 -3.66667 3 +1.50826 -1.75 2 +1 -1.9 2 +2 -0.6 3 +1 -1.84615 3 +1 -1.53846 3 +2 -1.66667 2 +1 -3.7 2 +2 -4 3 +1 -2.2 2 +1 0 3 +1 -4 2.33333 +1 -4 2 +1.33333 -4 3 +3 1 0 2 +3 4 3 5 +3 3 6 5 +3 7 8 9 +3 11 10 12 +3 14 13 15 +3 16 17 18 +3 20 19 21 +3 4 19 20 +3 22 23 24 +3 11 25 10 +3 26 0 27 +3 28 29 30 +3 31 32 33 +3 35 34 36 +3 37 4 32 +3 39 38 40 +3 41 42 43 +3 22 24 44 +3 45 46 47 +3 29 18 17 +3 48 26 27 +3 48 49 26 +3 11 6 25 +3 50 4 5 +3 51 31 39 +3 53 52 49 +3 54 27 8 +3 55 56 28 +3 19 37 51 +3 37 19 4 +3 22 57 23 +3 53 58 59 +3 60 61 62 +3 63 38 43 +3 63 40 38 +3 8 7 64 +3 20 46 45 +3 48 55 28 +3 66 65 67 +3 21 68 46 +3 29 69 30 +3 70 59 71 +3 44 72 57 +3 73 74 9 +3 69 75 71 +3 63 43 76 +3 76 62 68 +3 8 64 77 +3 78 2 0 +3 2 52 79 +3 15 80 42 +3 81 80 15 +3 82 32 50 +3 30 49 28 +3 44 24 47 +3 83 4 20 +3 27 1 9 +3 33 84 36 +3 85 53 86 +3 58 71 59 +3 71 58 69 +3 77 64 54 +3 5 11 50 +3 64 29 54 +3 0 1 27 +3 83 87 24 +3 65 66 84 +3 16 88 17 +3 16 44 88 +3 90 89 81 +3 31 33 91 +3 12 43 67 +3 56 55 48 +3 33 89 91 +3 70 75 92 +3 93 6 70 +3 57 72 94 +3 6 59 70 +3 33 32 84 +3 88 92 75 +3 11 82 50 +3 6 95 59 +3 11 65 82 +3 37 31 51 +3 44 16 72 +3 44 57 22 +3 83 96 95 +3 96 59 95 +3 21 51 40 +3 59 86 53 +3 30 69 58 +3 91 39 31 +3 47 61 97 +3 61 92 97 +3 8 77 54 +3 42 80 98 +3 58 53 30 +3 21 19 51 +3 92 93 70 +3 23 86 96 +3 74 7 9 +3 57 94 79 +3 99 91 89 +3 90 99 89 +3 99 90 91 +3 72 16 18 +3 52 53 85 +3 85 86 23 +3 38 39 41 +3 43 38 41 +3 25 100 60 +3 100 25 6 +3 47 87 45 +3 87 83 45 +3 57 79 23 +3 30 53 49 +3 13 41 39 +3 21 46 20 +3 68 40 63 +3 67 65 12 +3 45 83 20 +3 27 9 8 +3 51 39 40 +3 83 95 3 +3 78 52 2 +3 75 69 17 +3 32 31 37 +3 18 64 72 +3 78 101 26 +3 101 0 26 +3 78 0 101 +3 75 70 71 +3 9 1 73 +3 1 74 73 +3 90 39 91 +3 40 68 21 +3 68 63 76 +3 80 102 103 +3 103 102 98 +3 6 11 5 +3 13 14 41 +3 85 23 79 +3 46 61 47 +3 93 92 60 +3 56 27 54 +3 36 34 104 +3 86 59 96 +3 46 62 61 +3 35 104 34 +3 41 14 15 +3 83 3 4 +3 98 80 103 +3 88 47 97 +3 92 88 97 +3 7 72 64 +3 88 75 17 +3 23 96 83 +3 48 27 56 +3 29 56 54 +3 84 82 65 +3 32 4 50 +3 28 56 29 +3 84 32 82 +3 60 76 25 +3 62 76 60 +3 28 49 48 +3 66 36 84 +3 65 11 12 +3 23 83 24 +3 52 85 79 +3 100 6 93 +3 43 42 67 +3 67 42 98 +3 100 93 60 +3 6 3 95 +3 46 68 62 +3 47 24 87 +3 60 92 61 +3 90 13 39 +3 81 13 90 +3 36 104 33 +3 79 94 2 +3 81 89 104 +3 35 81 104 +3 104 89 33 +3 81 35 102 +3 81 102 80 +3 15 13 81 +3 17 69 29 +3 18 29 64 +3 52 78 49 +3 49 78 26 +3 76 43 12 +3 10 25 76 +3 102 35 66 +3 35 36 66 +3 98 66 67 +3 98 102 66 +3 2 94 74 +3 1 2 74 +3 41 15 42 +3 74 94 7 +3 94 72 7 +3 76 12 10 +3 44 47 88 diff --git a/Polygon_mesh_processing/test/Polygon_mesh_processing/test_decimation_of_planar_patches.cpp b/Polygon_mesh_processing/test/Polygon_mesh_processing/test_decimation_of_planar_patches.cpp new file mode 100644 index 00000000000..8666d862dc4 --- /dev/null +++ b/Polygon_mesh_processing/test/Polygon_mesh_processing/test_decimation_of_planar_patches.cpp @@ -0,0 +1,463 @@ +#include +#ifdef USE_POLYHEDRON +#include +#else +#include +#endif +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include + + +typedef CGAL::Exact_predicates_inexact_constructions_kernel Kernel; +#ifdef USE_POLYHEDRON +typedef CGAL::Polyhedron_3 Surface_mesh; +#else +typedef Kernel::Point_3 Point_3; +typedef CGAL::Surface_mesh Surface_mesh; +#endif + +namespace PMP = CGAL::Polygon_mesh_processing; + +void approximate_remeshing(Surface_mesh& sm, double cos_th, double frechet) +{ + std::vector region_ids(num_faces(sm)); + std::vector corner_id_map(num_vertices(sm), -1); // corner status of vertices + std::vector ecm(num_edges(sm), false); // mark edges at the boundary of regions + boost::vector_property_map normal_map; // normal of the supporting planes of the regions detected + + // detect planar regions in the mesh + std::size_t nb_regions = + PMP::region_growing_of_planes_on_faces(sm, + CGAL::make_random_access_property_map(region_ids), + CGAL::parameters::cosine_of_maximum_angle(cos_th). + region_primitive_map(normal_map). + maximum_distance(frechet)); + + // detect corner vertices on the boundary of planar regions + std::size_t nb_corners = + PMP::detect_corners_of_regions(sm, + CGAL::make_random_access_property_map(region_ids), + nb_regions, + CGAL::make_random_access_property_map(corner_id_map), + CGAL::parameters::cosine_of_maximum_angle(cos_th). + maximum_distance(frechet). + edge_is_constrained_map(CGAL::make_random_access_property_map(ecm))); + + // run the remeshing algorithm using filled properties + Surface_mesh out; + PMP::remesh_almost_planar_patches(sm, + sm, + nb_regions, nb_corners, + CGAL::make_random_access_property_map(region_ids), + CGAL::make_random_access_property_map(corner_id_map), + CGAL::make_random_access_property_map(ecm), + CGAL::parameters::patch_normal_map(normal_map), + CGAL::parameters::visitor([](Surface_mesh& sm){sm.clear_without_removing_property_maps ();})); + +} + +int main() +{ + CGAL::Aff_transformation_3 rot( 0.914409, 0.0707007,-0.39857 , 0, + -0.34672 , 0.644949 ,-0.681048, 0, + 0.208907, 0.760948 , 0.61426 , 0); + +// testing decimate function + bool OK = true; + const int nb_meshes=4; + + for (int i=1; i<=nb_meshes; ++i) + { + std::cout << "handling decimation of data/decimation/m" << i << ".off\n"; + std::stringstream ss; + ss << "data/decimation/m" << i << ".off"; + Surface_mesh sm; + std::ifstream in(ss.str().c_str()); + in >> sm; + + // call the decimation function + Surface_mesh sm_out; + PMP::remesh_planar_patches(sm, sm_out); + ss=std::stringstream(); + ss << "out" << i << ".off"; + std::ofstream out(ss.str().c_str()); + out << sm_out; + std::cout << " output written to out" << i << ".off\n"; + assert(CGAL::is_valid_polygon_mesh(sm_out)); + } +// test on cheese +{ + std::cout << "handling decimation of data/cheese.off\n"; + Surface_mesh sm; + std::ifstream(CGAL::data_file_path("meshes/cheese.off")) >> sm; + auto ecm = sm.add_property_map("ecm", false).first; + PMP::detect_sharp_edges(sm, 60, ecm); + PMP::isotropic_remeshing(faces(sm), 0.004, sm, CGAL::parameters::edge_is_constrained_map(ecm)); + + Surface_mesh sm_out; + PMP::remesh_planar_patches(sm, sm_out); + std::ofstream("cheese_out.off") << sm_out; + assert(CGAL::is_valid_polygon_mesh(sm_out)); + + PMP::transform(rot, sm); + approximate_remeshing(sm, 0.98, 1e-2); + std::ofstream("cheese_out_rg.off") << sm; + assert(CGAL::is_valid_polygon_mesh(sm)); +} + +// testing border non-manifold vertex: not working for now, test kept +/* +// in case we find a solution + { + std::cout << "testing handling of non-manifold patches\n"; + Surface_mesh sm; + std::ifstream("data/decimation/m1.off") >> sm; + auto f1 = *std::next(faces(sm).begin(), 594); + auto f2 = *std::next(faces(sm).begin(), 2378); + CGAL::Euler::remove_face(halfedge(f1, sm), sm); + CGAL::Euler::remove_face(halfedge(f2, sm), sm); + if (!PMP::remesh_planar_patches(sm)) + { + OK=false; + std::cerr << "ERROR: decimate failed to remesh some patches\n"; + } + std::ofstream("nm_m1.off") << std::setprecision(17) << sm; + assert(CGAL::is_valid_polygon_mesh(sm)); + } +*/ +// test duplicated vertex + { + std::cout << "testing handling of duplicated non-manifold vertex\n"; + Surface_mesh sm; + std::ifstream("data/decimation/m1.off") >> sm; + auto f1 = *std::next(faces(sm).begin(), 594); + auto f2 = *std::next(faces(sm).begin(), 2378); + CGAL::Euler::remove_face(halfedge(f1, sm), sm); + CGAL::Euler::remove_face(halfedge(f2, sm), sm); + PMP::duplicate_non_manifold_vertices(sm); + std::size_t nbv_before = vertices(sm).size(); + Surface_mesh sm_out; + PMP::remesh_planar_patches(sm, sm_out); + assert(vertices(sm_out).size()> sm; + auto f1 = *std::next(faces(sm).begin(), 244); + auto f2 = *std::next(faces(sm).begin(), 2279); + CGAL::Euler::remove_face(halfedge(f1, sm), sm); + CGAL::Euler::remove_face(halfedge(f2, sm), sm); + PMP::duplicate_non_manifold_vertices(sm); + std::size_t nbv_before = vertices(sm).size(); + Surface_mesh sm_out; + PMP::remesh_planar_patches(sm, sm_out); + assert(vertices(sm_out).size()> sm; + PMP::transform(rot, sm); + + // call the decimation function + Surface_mesh sm_out; + PMP::remesh_planar_patches(sm, sm_out, CGAL::parameters::cosine_of_maximum_angle(0.99)); + ss=std::stringstream(); + ss << "out_a" << i << ".off"; + std::ofstream out(ss.str().c_str()); + out << sm_out; + std::cout << " output written to out_a" << i << ".off\n"; + assert(CGAL::is_valid_polygon_mesh(sm_out)); + } + +//testing decimation of meshes, preserving common interface + const int nb_meshes_range=9; + std::vector meshes(nb_meshes_range); + for (int i=1; i<=nb_meshes_range; ++i) + { + std::stringstream ss; + ss << "data/decimation/range/m" << i << ".off"; + std::ifstream in(ss.str().c_str()); + in >> meshes[i-1]; + } + + std::cout << "decimate a range of meshes with common interfaces\n"; + if (!PMP::decimate_meshes_with_common_interfaces(meshes)) + { + OK=false; + std::cerr << "ERROR: decimate failed to remesh some patches\n"; + } + std::cout << " output written to"; + for (int i=0; i> meshes[i-1]; + } + auto f1 = *std::next(faces(meshes[4]).begin(), 1); + auto f2 = *std::next(faces(meshes[4]).begin(), 109); + CGAL::Euler::remove_face(halfedge(f1, meshes[4]), meshes[4]); + CGAL::Euler::remove_face(halfedge(f2, meshes[4]), meshes[4]); + PMP::duplicate_non_manifold_vertices(meshes[4]); + f1 = *std::next(faces(meshes[0]).begin(), 322); + f2 = *std::next(faces(meshes[0]).begin(), 963); + CGAL::Euler::remove_face(halfedge(f1, meshes[0]), meshes[0]); + CGAL::Euler::remove_face(halfedge(f2, meshes[0]), meshes[0]); + PMP::duplicate_non_manifold_vertices(meshes[0]); + f1 = *std::next(faces(meshes[8]).begin(), 23); + f2 = *std::next(faces(meshes[8]).begin(), 164); + CGAL::Euler::remove_face(halfedge(f1, meshes[8]), meshes[8]); + CGAL::Euler::remove_face(halfedge(f2, meshes[8]), meshes[8]); + PMP::duplicate_non_manifold_vertices(meshes[8]); + + std::cout << "decimate a range of meshes with common interfaces and issue at the interface\n"; + if (!PMP::decimate_meshes_with_common_interfaces(meshes)) + std::cerr << "decimate failed to remesh some patches (expected)\n"; + std::cout << " output written to"; + for (int i=0; i> meshes[i-1]; + } + + std::cout << "decimate a range of meshes with common interfaces (approximate coplanar/collinear)\n"; + if (!PMP::decimate_meshes_with_common_interfaces(meshes, -0.99)) + { + OK=false; + std::cerr << "ERROR: decimate failed to remesh some patches\n"; + } + std::cout << " output written to"; + for (int i=0; i> in; + assert(vertices(in).size()!=0); + auto fmap_in = in.add_property_map("f:pid").first; + auto fmap_out = out.add_property_map("f:pid").first; + auto vmap_in = in.add_property_map("v:pid").first; + auto vmap_out = out.add_property_map("v:pid").first; + PMP::remesh_planar_patches(in, out, + CGAL::parameters::face_patch_map(fmap_in), + CGAL::parameters::face_patch_map(fmap_out)); + + auto get_id = [](Surface_mesh::Face_index f, Surface_mesh& sm) + { + auto h = halfedge(f, sm); + Point_3 p=sm.point(source(h, sm)), q=sm.point(target(h, sm)), r=sm.point(target(next(h, sm), sm)); + if (p.x()==-1 && q.x()==-1 && r.x()==-1) return 0; + if (p.x()== 1 && q.x()== 1 && r.x()== 1) return 1; + if (p.y()==-1 && q.y()==-1 && r.y()==-1) return 2; + if (p.y()== 1 && q.y()== 1 && r.y()== 1) return 3; + if (p.z()==-1 && q.z()==-1 && r.z()==-1) return 4; + assert(p.z()==1 && q.z()==1 && r.z()==1); + return 5; + }; + + std::array pids; // xi, Xi, yi, Yi, zi, Zi; + for (auto f : faces(out)) pids[get_id(f, out)]=get(fmap_out, f); + for (auto f : faces(in)) assert(pids[get_id(f, in)]==get(fmap_in, f)); + //------------------------------------------------------ + std::cout << " face and vertex maps\n"; + out.clear_without_removing_property_maps(); + PMP::remesh_planar_patches(in, out, + CGAL::parameters::face_patch_map(fmap_in).vertex_corner_map(vmap_in), + CGAL::parameters::face_patch_map(fmap_out).vertex_corner_map(vmap_out)); + + auto check_corner_ids = [&]() + { + std::vector id2pt(vertices(out).size()); + for (auto v : vertices(out)) + id2pt[get(vmap_out, v)]=out.point(v); + for (auto v : vertices(in)) + { + + if (!( get(vmap_in, v)==std::size_t(-1) || id2pt[get(vmap_in, v)]==in.point(v) )) + std::cout << get(vmap_in, v) << " vs " << std::size_t(-1) << " vs " << std::size_t(-2) << "\n"; + assert( get(vmap_in, v)==std::size_t(-1) || id2pt[get(vmap_in, v)]==in.point(v) ); + } + + }; + check_corner_ids(); + for (auto f : faces(out)) pids[get_id(f, out)]=get(fmap_out, f); + for (auto f : faces(in)) assert(pids[get_id(f, in)]==get(fmap_in, f)); + //------------------------------------------------------ + std::cout << " vertex map alone\n"; + out.clear_without_removing_property_maps(); + PMP::remesh_planar_patches(in, out, + CGAL::parameters::vertex_corner_map(vmap_in), + CGAL::parameters::vertex_corner_map(vmap_out)); + check_corner_ids(); + //------------------------------------------------------ + std::cout << " no simplification face+vertex maps\n"; + out.clear_without_removing_property_maps(); + in.clear_without_removing_property_maps(); + std::ifstream(CGAL::data_file_path("meshes/sphere.off")) >> in; + assert(vertices(in).size()!=0); + PMP::remesh_planar_patches(in, out, + CGAL::parameters::face_patch_map(fmap_in).vertex_corner_map(vmap_in), + CGAL::parameters::face_patch_map(fmap_out).vertex_corner_map(vmap_out)); + check_corner_ids(); + std::map, std::size_t> pids_map; + auto get_pt_sorted_array = [](Surface_mesh::Face_index f, Surface_mesh& sm) + { + auto h = halfedge(f, sm); + std::array pts = CGAL::make_array(sm.point(source(h, sm)), + sm.point(target(h, sm)), + sm.point(target(next(h, sm), sm))); + std::sort(pts.begin(), pts.end()); + return pts; + }; + for (auto f : faces(out)) pids_map[get_pt_sorted_array(f, out)]=get(fmap_out, f); + for (auto f : faces(in)) assert(pids_map[get_pt_sorted_array(f, in)]==get(fmap_in, f)); + } + +#if 0 // tests to be re-enable when using region growing with common interface +// testing decimation of meshes, preserving common interface with almost coplanar/collinear tests using PCA + std::cout << "decimate a range of meshes with common interfaces (approximate coplanar/collinear with PCA)\n"; + if (!PMP::decimate_meshes_with_common_interfaces_and_pca_for_coplanarity(meshes, 0.99, -0.99)) + std::cerr << "ERROR: decimate failed to remesh some patches\n"; + std::cout << " output written to"; + for (int i=0; i> sm; + PMP::transform(rot, sm); + + // call the decimation function + + approximate_remeshing(sm, 0.98, 1e-2); + ss=std::stringstream(); + ss << "out_a_rg" << i << ".off"; + std::ofstream out(ss.str().c_str()); + out << sm; + std::cout << " output written to out_a_rg" << i << ".off\n"; + assert(CGAL::is_valid_polygon_mesh(sm)); + } + +// two examples that fails with approximate but works with RG + //PCA first + { + Surface_mesh sm; + std::cout << "decimate of refined data/decimation/sphere.off using RG\n"; + std::ifstream(CGAL::data_file_path("meshes/sphere.off")) >> sm; + CGAL::Subdivision_method_3::Sqrt3_subdivision(sm, + CGAL::parameters::number_of_iterations(3)); + + approximate_remeshing(sm, 0.98, 1e-2); + std::ofstream out("sphere_rg.off"); + out << sm; + std::cout << "output written to sphere_rg.off\n"; + assert(CGAL::is_valid_polygon_mesh(sm)); + } + // Approximation then + { + Surface_mesh sm; + std::ifstream(CGAL::data_file_path("meshes/sphere.off")) >> sm; + CGAL::Subdivision_method_3::Sqrt3_subdivision(sm, + CGAL::parameters::number_of_iterations(3)); + Surface_mesh sm_out; + PMP::remesh_planar_patches(sm, sm_out, CGAL::parameters::cosine_of_maximum_angle(0.99)); + } + { + Surface_mesh sm; + std::cout << "decimate of data/decimation/sphere_selection.off using approximate predicates\n"; + std::ifstream in("data/decimation/sphere_selection.off"); + in >> sm; + Surface_mesh sm_out; + PMP::remesh_planar_patches(sm, sm_out, CGAL::parameters::cosine_of_maximum_angle(0.99)); + std::ofstream out("sphere_selection_app.off"); + out << sm_out; + std::cout << "output written to sphere_selection_app.off\n"; + assert(CGAL::is_valid_polygon_mesh(sm_out)); + } + + assert(OK); + + return 0 ; +} diff --git a/Polygon_mesh_processing/test/Polygon_mesh_processing/test_shape_smoothing.cpp b/Polygon_mesh_processing/test/Polygon_mesh_processing/test_shape_smoothing.cpp index 201d508d085..7ed64301e90 100644 --- a/Polygon_mesh_processing/test/Polygon_mesh_processing/test_shape_smoothing.cpp +++ b/Polygon_mesh_processing/test/Polygon_mesh_processing/test_shape_smoothing.cpp @@ -6,6 +6,7 @@ #include #include +#include #include #include @@ -17,6 +18,7 @@ #include typedef CGAL::Exact_predicates_inexact_constructions_kernel Kernel; +typedef Kernel::FT FT; typedef Kernel::Point_3 Point; typedef CGAL::Surface_mesh SurfaceMesh; typedef CGAL::Polyhedron_3 Mesh_with_id; @@ -38,7 +40,7 @@ void test_implicit_constrained_devil(Mesh mesh) typedef typename boost::graph_traits::vertex_descriptor vertex_descriptor; typename boost::property_map::type vpmap = get(CGAL::vertex_point, mesh); - // z max is 20 in the devil + // max 'z' is 20 in the devil std::set selected_vertices; for(vertex_descriptor v : vertices(mesh)) { @@ -47,6 +49,8 @@ void test_implicit_constrained_devil(Mesh mesh) selected_vertices.insert(v); } + std::cout << selected_vertices.size() << " constrained vertices" << std::endl; + CGAL::Boolean_property_map > vcmap(selected_vertices); std::vector fixed_points(selected_vertices.size()); @@ -124,6 +128,29 @@ void test_implicit_constrained_elephant(Mesh mesh) #endif } +template +void test_implicit_unscaled_elephant(Mesh mesh) +{ +#ifdef CGAL_PMP_SMOOTHING_DEBUG + std::cout << "-- test_implicit_unscaled_elephant --" << std::endl; +#endif + + const FT ivol = PMP::volume(mesh); + std::cout << "Input volume is " << ivol << std::endl; + + Mesh mesh_cpy(mesh); + const double time_step = 0.001; + PMP::smooth_shape(mesh_cpy, time_step, CGAL::parameters::number_of_iterations(5).do_scale(true)); + + FT ovol = PMP::volume(mesh_cpy); + std::cout << "With scaling, output volume is " << ovol << std::endl; + assert(equal_doubles(ivol, ovol, 1e-10)); + + PMP::smooth_shape(mesh, time_step, CGAL::parameters::number_of_iterations(5).do_scale(false)); + ovol = PMP::volume(mesh); + std::cout << "Without scaling, output volume is " << ovol << std::endl; +} + template void test_curvature_flow_time_step(Mesh mesh) { @@ -167,8 +194,8 @@ int main(int, char**) SurfaceMesh mesh_devil; if(!input1 || !(input1 >> mesh_devil)) { - std::cerr << "Error: can not read file."; - return 1; + std::cerr << "Error: cannot read file " << filename_devil << std::endl; + return EXIT_FAILURE; } input1.close(); @@ -176,8 +203,8 @@ int main(int, char**) SurfaceMesh mesh_elephant; if(!input2 || !(input2 >> mesh_elephant)) { - std::cerr << "Error: can not read file."; - return 1; + std::cerr << "Error: cannot read file " << filename_elephant << std::endl; + return EXIT_FAILURE; } input2.close(); @@ -185,11 +212,12 @@ int main(int, char**) test_curvature_flow(mesh_elephant); test_implicit_constrained_elephant(mesh_elephant); test_implicit_constrained_devil(mesh_devil); + test_implicit_unscaled_elephant(mesh_elephant); input1.open(filename_devil); Mesh_with_id pl_mesh_devil; if(!input1 || !(input1 >> pl_mesh_devil)){ - std::cerr << "Error: can not read file."; + std::cerr << "Error: cannot read file " << filename_devil << std::endl; return EXIT_FAILURE; } input1.close(); @@ -200,7 +228,7 @@ int main(int, char**) Mesh_with_id pl_mesh_elephant; if(!input2 || !(input2 >> pl_mesh_elephant)) { - std::cerr << "Error: can not read file."; + std::cerr << "Error: cannot read file " << filename_elephant << std::endl; return EXIT_FAILURE; } input2.close(); @@ -212,6 +240,7 @@ int main(int, char**) test_curvature_flow(pl_mesh_elephant); test_implicit_constrained_elephant(pl_mesh_elephant); test_implicit_constrained_devil(pl_mesh_devil); + test_implicit_unscaled_elephant(pl_mesh_elephant); return EXIT_SUCCESS; } diff --git a/Polyhedron/demo/Polyhedron/Plugins/IO/CMakeLists.txt b/Polyhedron/demo/Polyhedron/Plugins/IO/CMakeLists.txt index fefcc2706b4..0d4300700dc 100644 --- a/Polyhedron/demo/Polyhedron/Plugins/IO/CMakeLists.txt +++ b/Polyhedron/demo/Polyhedron/Plugins/IO/CMakeLists.txt @@ -66,7 +66,7 @@ if(VTK_FOUND) polyhedron_demo_plugin(vtk_plugin VTK_io_plugin KEYWORDS Viewer Mesh_3) target_link_libraries(vtk_plugin PUBLIC scene_surface_mesh_item scene_polylines_item scene_c3t3_item scene_points_with_normal_item ${VTK_LIBRARIES}) - target_compile_definitions(vtk_plugin PRIVATE -DCGAL_USE_VTK) + target_compile_definitions(vtk_plugin PRIVATE -DCGAL_USE_VTK -DNOMINMAX) else() message(STATUS "NOTICE: the vtk IO plugin needs VTK libraries and will not be compiled.") endif() diff --git a/Polyhedron/demo/Polyhedron/Plugins/Mesh_3/CMakeLists.txt b/Polyhedron/demo/Polyhedron/Plugins/Mesh_3/CMakeLists.txt index ab8d02e1d80..9bf2f376761 100644 --- a/Polyhedron/demo/Polyhedron/Plugins/Mesh_3/CMakeLists.txt +++ b/Polyhedron/demo/Polyhedron/Plugins/Mesh_3/CMakeLists.txt @@ -64,7 +64,7 @@ if(Boost_FILESYSTEM_FOUND) KEYWORDS Viewer Mesh_3) target_link_libraries(io_image_plugin PUBLIC scene_image_item ${VTK_LIBRARIES} CGAL::CGAL_ImageIO) if(VTK_LIBRARIES) - target_compile_definitions(io_image_plugin PRIVATE CGAL_USE_VTK) + target_compile_definitions(io_image_plugin PRIVATE -DCGAL_USE_VTK -DNOMINMAX) endif() if(TARGET Boost::filesystem) target_link_libraries(io_image_plugin PUBLIC Boost::filesystem diff --git a/Polyhedron/demo/Polyhedron/Plugins/PCA/Basic_generator_plugin.cpp b/Polyhedron/demo/Polyhedron/Plugins/PCA/Basic_generator_plugin.cpp index 8bf98735fc4..c7a62533106 100644 --- a/Polyhedron/demo/Polyhedron/Plugins/PCA/Basic_generator_plugin.cpp +++ b/Polyhedron/demo/Polyhedron/Plugins/PCA/Basic_generator_plugin.cpp @@ -590,46 +590,81 @@ template void Basic_generator_plugin::generateTetrahedron() { typename Facegraph_item::Face_graph tetrahedron; - - QString point_texts[4]; - Point points[4]; - point_texts[0] = dock_widget->tetP0->text(); - point_texts[1] = dock_widget->tetP1->text(); - point_texts[2] = dock_widget->tetP2->text(); - point_texts[3] = dock_widget->tetP3->text(); - - for(int i=0; i<4; ++i) + if (dock_widget->tabWidget->currentIndex() == 0) { - QStringList list = point_texts[i].split(QRegExp("\\s+"), CGAL_QT_SKIP_EMPTY_PARTS); - if (list.isEmpty()) return; - if (list.size()!=3){ - QMessageBox *msgBox = new QMessageBox; - msgBox->setWindowTitle("Error"); - msgBox->setText("ERROR : Input should consists of 3 doubles."); - msgBox->exec(); - return; - } - double coords[3]; - for(int j=0; j<3; ++j) + QString point_texts[4]; + Point points[4]; + point_texts[0] = dock_widget->tetP0->text(); + point_texts[1] = dock_widget->tetP1->text(); + point_texts[2] = dock_widget->tetP2->text(); + point_texts[3] = dock_widget->tetP3->text(); + + for (int i = 0; i < 4; ++i) { - bool ok; - coords[j] = list.at(j).toDouble(&ok); - if(!ok) + QStringList list = point_texts[i].split(QRegExp("\\s+"), CGAL_QT_SKIP_EMPTY_PARTS); + if (list.isEmpty()) return; + if (list.size() != 3) { + QMessageBox* msgBox = new QMessageBox; + msgBox->setWindowTitle("Error"); + msgBox->setText("ERROR : Input should consists of 3 doubles."); + msgBox->exec(); + return; + } + double coords[3]; + for (int j = 0; j < 3; ++j) { - QMessageBox *msgBox = new QMessageBox; + bool ok; + coords[j] = list.at(j).toDouble(&ok); + if (!ok) + { + QMessageBox* msgBox = new QMessageBox; msgBox->setWindowTitle("Error"); msgBox->setText("ERROR : Coordinates are invalid."); msgBox->exec(); return; + } } + points[i] = Point(coords[0], coords[1], coords[2]); } - points[i] = Point(coords[0], coords[1], coords[2]); + CGAL::make_tetrahedron(points[0], + points[1], + points[2], + points[3], + tetrahedron); + } + else + { + QString text = dock_widget->point_textEdit_2->toPlainText(); + QStringList list = text.split(QRegExp("\\s+"), CGAL_QT_SKIP_EMPTY_PARTS); + if (list.isEmpty()) return; + if (list.size() != 12) { + QMessageBox* msgBox = new QMessageBox; + msgBox->setWindowTitle("Error"); + msgBox->setText("ERROR : Input should consists of 12 doubles."); + msgBox->exec(); + return; + } + + for (int i = 0; i < 12; ++i) + { + bool ok; + list.at(i).toDouble(&ok); + if (!ok) + { + QMessageBox* msgBox = new QMessageBox; + msgBox->setWindowTitle("Error"); + msgBox->setText("ERROR : Coordinates are invalid."); + msgBox->exec(); + return; + } + } + CGAL::make_tetrahedron( + Point(list.at(0).toDouble(), list.at(1).toDouble(), list.at(2).toDouble()), + Point(list.at(3).toDouble(), list.at(4).toDouble(), list.at(5).toDouble()), + Point(list.at(6).toDouble(), list.at(7).toDouble(), list.at(8).toDouble()), + Point(list.at(9).toDouble(), list.at(10).toDouble(), list.at(11).toDouble()), + tetrahedron); } - CGAL::make_tetrahedron(points[0], - points[1], - points[2], - points[3], - tetrahedron); Facegraph_item* tet_item = new Facegraph_item(tetrahedron); tet_item->setName(dock_widget->name_lineEdit->text()); diff --git a/Polyhedron/demo/Polyhedron/Plugins/PCA/Basic_generator_widget.ui b/Polyhedron/demo/Polyhedron/Plugins/PCA/Basic_generator_widget.ui index f2839e20f06..03641b57a94 100644 --- a/Polyhedron/demo/Polyhedron/Plugins/PCA/Basic_generator_widget.ui +++ b/Polyhedron/demo/Polyhedron/Plugins/PCA/Basic_generator_widget.ui @@ -18,7 +18,7 @@ - 0 + 4 @@ -560,7 +560,7 @@ QGroupBox::title { - 1 + 0 @@ -755,24 +755,27 @@ QGroupBox::title { - + - - - Qt::Vertical + + + 0 - - - 20 - 40 - - - - - - - - QGroupBox { + + + Tetrahedron + + + + + 0 + 30 + 477 + 144 + + + + QGroupBox { border: 1px solid gray; border-radius: 9px; margin-top: 0.5em; @@ -783,87 +786,113 @@ QGroupBox::title { left: 10px; padding: 0 3px 0 3px; } - - - - - - - - - - - P1 - - - - - - - 1.0 0.0 0.0 - - - - - - - 0.0 1.0 0.0 - - - - - - - 0.0 0.0 0.0 - - - - - - - P0 - - - - - - - P2 - - - - - - - P3 - - - - - - - 0.0 0.0 1.0 - - + + + + + + + + + + + 0.0 0.0 1.0 + + + + + + + P1 + + + + + + + P0 + + + + + + + P2 + + + + + + + 0.0 0.0 0.0 + + + + + + + 1.0 0.0 0.0 + + + + + + + P3 + + + + + + + 0.0 1.0 0.0 + + + + - - + + + + + Multi-line + + + + + 10 + 10 + 451 + 201 + + + + + 0 + 0 + + + + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> +<html><head><meta name="qrichtext" content="1" /><meta charset="utf-8" /><style type="text/css"> +p, li { white-space: pre-wrap; } +hr { height: 1px; border-width: 0; } +li.unchecked::marker { content: "\2610"; } +li.checked::marker { content: "\2612"; } +</style></head><body style=" font-family:'Segoe UI'; font-size:9pt; font-weight:400; font-style:normal;"> +<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Sans Serif'; font-size:10pt;"><br /></p></body></html> + + + false + + + Point format: P0x P0y P0z P1x P1y P1z P2x P2y P2z P3x P3y P3z + + + - - - - Qt::Vertical - - - - 20 - 110 - - - - @@ -1046,11 +1075,14 @@ QGroupBox::title { - <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "https://www.w3.org/TR/REC-html40/strict.dtd"> -<html><head><meta name="qrichtext" content="1" /><style type="text/css"> + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> +<html><head><meta name="qrichtext" content="1" /><meta charset="utf-8" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'Sans Serif'; font-size:9pt; font-weight:400; font-style:normal;"> -<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:10pt;"><br /></p></body></html> +hr { height: 1px; border-width: 0; } +li.unchecked::marker { content: "\2610"; } +li.checked::marker { content: "\2612"; } +</style></head><body style=" font-family:'Segoe UI'; font-size:9pt; font-weight:400; font-style:normal;"> +<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Sans Serif'; font-size:10pt;"><br /></p></body></html> false @@ -1094,11 +1126,14 @@ p, li { white-space: pre-wrap; } - <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "https://www.w3.org/TR/REC-html40/strict.dtd"> -<html><head><meta name="qrichtext" content="1" /><style type="text/css"> + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> +<html><head><meta name="qrichtext" content="1" /><meta charset="utf-8" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'Sans Serif'; font-size:9pt; font-weight:400; font-style:normal;"> -<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:10pt;"><br /></p></body></html> +hr { height: 1px; border-width: 0; } +li.unchecked::marker { content: "\2610"; } +li.checked::marker { content: "\2612"; } +</style></head><body style=" font-family:'Segoe UI'; font-size:9pt; font-weight:400; font-style:normal;"> +<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Sans Serif'; font-size:10pt;"><br /></p></body></html> false diff --git a/Polyhedron/demo/Polyhedron/Plugins/PMP/CMakeLists.txt b/Polyhedron/demo/Polyhedron/Plugins/PMP/CMakeLists.txt index 39aedc8c8aa..d86c8d88109 100644 --- a/Polyhedron/demo/Polyhedron/Plugins/PMP/CMakeLists.txt +++ b/Polyhedron/demo/Polyhedron/Plugins/PMP/CMakeLists.txt @@ -33,32 +33,37 @@ if(TARGET CGAL::Eigen3_support) scene_mcf_item demo_framework CGAL::Eigen3_support) - # The smoothing plugin can still do some things, even if Ceres is not found - qt5_wrap_ui( smoothingUI_FILES Smoothing_plugin.ui Smoothing_tangential_relaxation.ui) - polyhedron_demo_plugin(smoothing_plugin Smoothing_plugin ${smoothingUI_FILES}) - target_link_libraries(smoothing_plugin PUBLIC scene_surface_mesh_item scene_selection_item CGAL::Eigen3_support) - find_package(Ceres QUIET) - include(CGAL_Ceres_support) - if(TARGET CGAL::Ceres_support) - target_link_libraries(smoothing_plugin PUBLIC CGAL::Ceres_support) - endif() + # The smoothing plugin can still do some things, even if Ceres is not found + qt5_wrap_ui( smoothingUI_FILES Smoothing_plugin.ui Smoothing_tangential_relaxation.ui) + polyhedron_demo_plugin(smoothing_plugin Smoothing_plugin ${smoothingUI_FILES}) + target_link_libraries(smoothing_plugin PUBLIC scene_surface_mesh_item scene_selection_item CGAL::Eigen3_support) + find_package(Ceres QUIET) + include(CGAL_Ceres_support) + if(TARGET CGAL::Ceres_support) + target_link_libraries(smoothing_plugin PUBLIC CGAL::Ceres_support) + endif() - set_package_properties( - Ceres PROPERTIES - DESCRIPTION "A large scale non-linear optimization library." - PURPOSE "Can be used as a solver in the smoothing plugin.") - target_link_libraries(extrude_plugin PUBLIC CGAL::Eigen3_support) + set_package_properties( + Ceres PROPERTIES + DESCRIPTION "A large scale non-linear optimization library." + PURPOSE "Can be used as a solver in the smoothing plugin.") + target_link_libraries(extrude_plugin PUBLIC CGAL::Eigen3_support) - if(BUILD_TESTING AND NOT CMAKE_VS_MSBUILD_COMMAND) - set_tests_properties( - "compilation of extrude_plugin" - "compilation of fairing_plugin" - PROPERTIES RESOURCE_LOCK Selection_test_resources) - set_tests_properties( - "compilation of hole_filling_plugin" - "compilation of smoothing_plugin" - PROPERTIES RESOURCE_LOCK Selection_test_resources) - endif() + qt5_wrap_ui(remeshPlanarPatchesUI_FILES Remesh_planar_patches_dialog.ui) + polyhedron_demo_plugin(remesh_planar_patches_plugin Remesh_planar_patches_plugin + ${remeshPlanarPatchesUI_FILES} KEYWORDS PMP) + target_link_libraries(remesh_planar_patches_plugin PUBLIC scene_surface_mesh_item CGAL::Eigen3_support) + + if(BUILD_TESTING AND NOT CMAKE_VS_MSBUILD_COMMAND) + set_tests_properties( + "compilation of extrude_plugin" + "compilation of fairing_plugin" + PROPERTIES RESOURCE_LOCK Selection_test_resources) + set_tests_properties( + "compilation of hole_filling_plugin" + "compilation of smoothing_plugin" + PROPERTIES RESOURCE_LOCK Selection_test_resources) + endif() else() message(STATUS "NOTICE: The hole filling and fairing plugins require Eigen 3.2 (or higher) and will not be available.") endif() @@ -160,6 +165,7 @@ if(BUILD_TESTING AND NOT CMAKE_VS_MSBUILD_COMMAND) "compilation of selection_plugin" "compilation of triangulate_facets_plugin" "compilation of isotropic_remeshing_plugin" + "compilation of remesh_planar_patches_plugin" "compilation of random_perturbation_plugin" "compilation of engrave_text_plugin" "compilation of degenerated_faces_plugin" diff --git a/Polyhedron/demo/Polyhedron/Plugins/PMP/Remesh_planar_patches_dialog.ui b/Polyhedron/demo/Polyhedron/Plugins/PMP/Remesh_planar_patches_dialog.ui new file mode 100644 index 00000000000..a011a07ba87 --- /dev/null +++ b/Polyhedron/demo/Polyhedron/Plugins/PMP/Remesh_planar_patches_dialog.ui @@ -0,0 +1,216 @@ + + + Remesh_planar_patches_dialog + + + true + + + + 0 + 0 + 262 + 285 + + + + Remesh planar patches parameters + + + + + + Parameters + + + + + + + + Cosinus Threshold + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + + + + + Qt::ImhNone + + + + + + 1 + + + 0.00 + + + + + + + + + + + Frechet Distance + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + + + + + false + + + Qt::ImhNone + + + + + + 1 + + + 0.00 + + + + + + + + + true + + + Do not triangulate patches + + + + + + + Use region growing of planes + + + + + + + false + + + Post-process regions + + + + + + + Create new item + + + + + + + + + + Qt::Horizontal + + + QDialogButtonBox::Cancel|QDialogButtonBox::Ok + + + + + + + + DoubleEdit + QLineEdit +
CGAL_double_edit.h
+
+
+ + cos_dspinbox + notriangulation_checkbox + + + + + buttonBox + accepted() + Remesh_planar_patches_dialog + accept() + + + 397 + 333 + + + 157 + 195 + + + + + buttonBox + rejected() + Remesh_planar_patches_dialog + reject() + + + 397 + 333 + + + 286 + 195 + + + + + use_region_growing_checkbox + toggled(bool) + postprocess_regions_checkbox + setEnabled(bool) + + + 143 + 214 + + + 143 + 245 + + + + + use_region_growing_checkbox + toggled(bool) + dist_dspinbox + setEnabled(bool) + + + 143 + 214 + + + 203 + 135 + + + + +
diff --git a/Polyhedron/demo/Polyhedron/Plugins/PMP/Remesh_planar_patches_plugin.cpp b/Polyhedron/demo/Polyhedron/Plugins/PMP/Remesh_planar_patches_plugin.cpp new file mode 100644 index 00000000000..1ea142c0795 --- /dev/null +++ b/Polyhedron/demo/Polyhedron/Plugins/PMP/Remesh_planar_patches_plugin.cpp @@ -0,0 +1,327 @@ +#include + +#include + + +#include "Scene_surface_mesh_item.h" + +#include +#include +#include +#include +#include +#include + +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include + +#include "ui_Remesh_planar_patches_dialog.h" + + +namespace PMP = CGAL::Polygon_mesh_processing; + +template +struct Mesh_map +{ + typedef SM value_type; + typedef SM& reference; + typedef Scene_surface_mesh_item* key_type; + typedef boost::lvalue_property_map_tag category; + + SM& operator[](Scene_surface_mesh_item* poly_item) const + { + return *poly_item->polyhedron(); + } +}; + +using namespace CGAL::Three; +class Polyhedron_demo_remesh_planar_patches_plugin : + public QObject, + public Polyhedron_demo_plugin_interface +{ + Q_OBJECT + Q_INTERFACES(CGAL::Three::Polyhedron_demo_plugin_interface) + Q_PLUGIN_METADATA(IID "com.geometryfactory.PolyhedronDemo.PluginInterface/1.0" FILE "isotropic_remeshing_plugin.json") + + typedef Scene_surface_mesh_item::Face_graph Mesh; + typedef boost::graph_traits::face_descriptor face_descriptor; + + typedef boost::graph_traits::edge_descriptor edge_descriptor; + typedef boost::graph_traits::halfedge_descriptor halfedge_descriptor; + +public: + void init(QMainWindow* mainWindow, Scene_interface* scene_interface, Messages_interface*) + { + this->scene = scene_interface; + this->mw = mainWindow; + + actionRemeshPlanarPatches_ = new QAction("Remesh Planar Patches", mw); + actionRemeshPlanarPatches_->setProperty("subMenuName", "Polygon Mesh Processing"); + if (actionRemeshPlanarPatches_) { + connect(actionRemeshPlanarPatches_, SIGNAL(triggered()), + this, SLOT(remeshing())); + } + } + + QList actions() const { + return QList() << actionRemeshPlanarPatches_; + } + + bool applicable(QAction*) const + { + if (scene->selectionIndices().size() == 1) + return qobject_cast(scene->item(scene->mainSelectionIndex())); + + Q_FOREACH(int index, scene->selectionIndices()) + { + if (qobject_cast(scene->item(index))) + return true; + } + return false; + } + +public Q_SLOTS: + void remeshing() + { + if (scene->selectionIndices().size() > 1) + { + // Create dialog box + QDialog dialog(mw); + ui.setupUi(&dialog); + connect(ui.buttonBox, SIGNAL(accepted()), &dialog, SLOT(accept())); + connect(ui.buttonBox, SIGNAL(rejected()), &dialog, SLOT(reject())); + + ui.create_new_item_checkbox->setEnabled(false); + ui.use_region_growing_checkbox->setEnabled(false); + + // Get values + int i = dialog.exec(); + if (i == QDialog::Rejected) + { + std::cout << "Remeshing aborted" << std::endl; + return; + } + + bool do_not_triangulate_faces = ui.notriangulation_checkbox->isChecked(); + double cos_threshold = ui.cos_dspinbox->value(); + + std::vector meshes; + for(int index : scene->selectionIndices()) + { + Scene_surface_mesh_item* poly_item = + qobject_cast(scene->item(index)); + + if (poly_item != nullptr) + meshes.push_back(poly_item); + } + + PMP::decimate_meshes_with_common_interfaces(meshes, -cos_threshold, Mesh_map(), do_not_triangulate_faces); + + for (Scene_surface_mesh_item* poly_item : meshes) + { + poly_item->invalidateOpenGLBuffers(); + Q_EMIT poly_item->itemChanged(); + } + + return; + } + + const Scene_interface::Item_id index = scene->mainSelectionIndex(); + + Scene_surface_mesh_item* poly_item = + qobject_cast(scene->item(index)); + + if (poly_item) + { + // Create dialog box + QDialog dialog(mw); + ui.setupUi(&dialog); + connect(ui.buttonBox, SIGNAL(accepted()), &dialog, SLOT(accept())); + connect(ui.buttonBox, SIGNAL(rejected()), &dialog, SLOT(reject())); + + // Get values + int i = dialog.exec(); + if (i == QDialog::Rejected) + { + std::cout << "Remeshing aborted" << std::endl; + return; + } + + bool do_not_triangulate_faces = ui.notriangulation_checkbox->isChecked(); + bool create_new_item = ui.create_new_item_checkbox->isChecked(); + double cos_threshold = ui.cos_dspinbox->value(); + + // wait cursor + QApplication::setOverrideCursor(Qt::WaitCursor); + + QElapsedTimer time; + time.start(); + + Mesh& pmesh = *poly_item->polyhedron(); + + if (!CGAL::is_triangle_mesh(pmesh)) + { + QApplication::restoreOverrideCursor(); + if (QMessageBox::Ok == + QMessageBox::question(mw, tr("Error - Triangulate Faces?"), + tr("The input mesh is not a triangulated surface mesh.\n" + "Do you wish to triangulate faces first, or cancel remeshing ?"), + (QMessageBox::Ok | QMessageBox::Cancel), QMessageBox::Ok)) + { + QApplication::setOverrideCursor(Qt::WaitCursor); + PMP::triangulate_faces(pmesh); + } + else + { + return; + } + } + + if (ui.use_region_growing_checkbox->isChecked()) + { + typedef boost::property_map >::type Patch_id_pmap; + Patch_id_pmap in_fpmap = get(CGAL::face_patch_id_t(), pmesh); + std::vector corner_id_map(num_vertices(pmesh), -1); + std::vector ecm(num_edges(pmesh), false); + boost::vector_property_map normal_map; + std::size_t nb_regions = + PMP::region_growing_of_planes_on_faces(pmesh, + in_fpmap, + CGAL::parameters::cosine_of_maximum_angle(cos_threshold). + region_primitive_map(normal_map). + maximum_distance(ui.dist_dspinbox->value()). + postprocess_regions(ui.postprocess_regions_checkbox->isChecked())); + std::size_t nb_corners = + PMP::detect_corners_of_regions(pmesh, + in_fpmap, + nb_regions, + CGAL::make_random_access_property_map(corner_id_map), + CGAL::parameters::cosine_of_maximum_angle(cos_threshold). + maximum_distance(ui.dist_dspinbox->value()). + edge_is_constrained_map(CGAL::make_random_access_property_map(ecm))); + if (create_new_item) + { + Scene_surface_mesh_item* new_item=new Scene_surface_mesh_item(); + Mesh& out = *new_item->polyhedron(); + + Patch_id_pmap out_fpmap = get(CGAL::face_patch_id_t(), out); +//TODO: use the return type + PMP::remesh_almost_planar_patches(pmesh, + out, + nb_regions, nb_corners, + in_fpmap, + CGAL::make_random_access_property_map(corner_id_map), + CGAL::make_random_access_property_map(ecm), + CGAL::parameters::patch_normal_map(normal_map), + CGAL::parameters::do_not_triangulate_faces(do_not_triangulate_faces).face_patch_map(out_fpmap)); + + + new_item->setName(tr("%1_remeshed").arg(poly_item->name())); + scene->setSelectedItem( scene->addItem(new_item) ); + + poly_item->setItemIsMulticolor(true); + poly_item->computeItemColorVectorAutomatically(true); + poly_item->invalidateOpenGLBuffers(); + Q_EMIT poly_item->itemChanged(); + new_item->setItemIsMulticolor(true); + new_item->computeItemColorVectorAutomatically(false); + new_item->color_vector()=poly_item->color_vector(); // colors are not deterministic + new_item->invalidateOpenGLBuffers(); + Q_EMIT new_item->itemChanged(); + } + else + { + PMP::remesh_almost_planar_patches(pmesh, + pmesh, + nb_regions, nb_corners, + in_fpmap, + CGAL::make_random_access_property_map(corner_id_map), + CGAL::make_random_access_property_map(ecm), + CGAL::parameters::patch_normal_map(normal_map), + CGAL::parameters::visitor([](Mesh& pmesh){pmesh.clear_without_removing_property_maps ();}) + .do_not_triangulate_faces(do_not_triangulate_faces)); + pmesh.remove_property_map(in_fpmap); + poly_item->invalidateOpenGLBuffers(); + + Q_EMIT poly_item->itemChanged(); + } + } + else + { + if (create_new_item) + { + typedef boost::property_map >::type Patch_id_pmap; + Scene_surface_mesh_item* new_item=new Scene_surface_mesh_item(); + Mesh& out = *new_item->polyhedron(); + + + Patch_id_pmap in_fpmap = get(CGAL::face_patch_id_t(), pmesh); + Patch_id_pmap out_fpmap = get(CGAL::face_patch_id_t(), out); + + PMP::remesh_planar_patches(pmesh, + out, + CGAL::parameters::cosine_of_maximum_angle(cos_threshold) + .face_patch_map(in_fpmap), + CGAL::parameters::face_patch_map(out_fpmap) + .do_not_triangulate_faces(do_not_triangulate_faces)); + + + new_item->setName(tr("%1_remeshed").arg(poly_item->name())); + scene->setSelectedItem( scene->addItem(new_item) ); + + poly_item->setItemIsMulticolor(true); + poly_item->computeItemColorVectorAutomatically(true); + poly_item->invalidateOpenGLBuffers(); + Q_EMIT poly_item->itemChanged(); + new_item->setItemIsMulticolor(true); + new_item->computeItemColorVectorAutomatically(false); + new_item->color_vector()=poly_item->color_vector(); // colors are not deterministic + new_item->invalidateOpenGLBuffers(); + Q_EMIT new_item->itemChanged(); + + } + else + { + PMP::remesh_planar_patches(pmesh, + pmesh, + CGAL::parameters::cosine_of_maximum_angle(cos_threshold), + CGAL::parameters::visitor([](Mesh& pmesh){pmesh.clear_without_removing_property_maps ();}) + .do_not_triangulate_faces(do_not_triangulate_faces)); + + poly_item->invalidateOpenGLBuffers(); + + Q_EMIT poly_item->itemChanged(); + } + } + std::cout << "ok (" << time.elapsed() << " ms)" << std::endl; + + // default cursor + QApplication::restoreOverrideCursor(); + } + } + +private: + Scene_interface *scene; + QMainWindow* mw; + + QAction* actionRemeshPlanarPatches_; + Ui::Remesh_planar_patches_dialog ui; +}; // end Polyhedron_demo_remesh_planar_patches_plugin + +#include "Remesh_planar_patches_plugin.moc" diff --git a/Polyhedron/demo/Polyhedron/Plugins/Point_set/Point_set_shape_detection_plugin.ui b/Polyhedron/demo/Polyhedron/Plugins/Point_set/Point_set_shape_detection_plugin.ui index 98fc4f751c5..3c3606962c7 100644 --- a/Polyhedron/demo/Polyhedron/Plugins/Point_set/Point_set_shape_detection_plugin.ui +++ b/Polyhedron/demo/Polyhedron/Plugins/Point_set/Point_set_shape_detection_plugin.ui @@ -6,8 +6,8 @@ 0 0 - 495 - 552 + 501 + 615
@@ -236,6 +236,9 @@ + + false + 0 @@ -457,5 +460,21 @@ + + ransac + toggled(bool) + m_probability_field + setEnabled(bool) + + + 64 + 87 + + + 366 + 370 + + + diff --git a/Polyhedron/demo/Polyhedron/Scene_triangulation_3_item.cpp b/Polyhedron/demo/Polyhedron/Scene_triangulation_3_item.cpp index e6469c71b8e..e02482ba719 100644 --- a/Polyhedron/demo/Polyhedron/Scene_triangulation_3_item.cpp +++ b/Polyhedron/demo/Polyhedron/Scene_triangulation_3_item.cpp @@ -799,6 +799,8 @@ Scene_triangulation_3_item::build_histogram() { max_size = (std::max)(max_size, *it); } + if(max_size == 0) + return; // colored histogram int j = 0; diff --git a/Polyhedron/demo/Polyhedron/Triangle_container.cpp b/Polyhedron/demo/Polyhedron/Triangle_container.cpp index 335b032d788..182f401c04d 100644 --- a/Polyhedron/demo/Polyhedron/Triangle_container.cpp +++ b/Polyhedron/demo/Polyhedron/Triangle_container.cpp @@ -6,19 +6,13 @@ typedef Viewer_interface VI; using namespace CGAL::Three; struct Tri_d{ - - Tri_d(): - shrink_factor(1.0f), - plane(QVector4D()), - alpha(1.0f) - {} - Triangle_container* container; - float shrink_factor; - QVector4D plane; - bool is_surface; - float alpha; - QMatrix4x4 f_matrix; - QMatrix4x4 mv_matrix; + Triangle_container* container{nullptr}; + float shrink_factor{1.f}; + QVector4D plane{}; + bool is_surface{false}; + float alpha{1.f}; + QMatrix4x4 f_matrix{}; + QMatrix4x4 mv_matrix{}; }; Triangle_container::Triangle_container(int program, bool indexed) diff --git a/Polyhedron/demo/Polyhedron/Viewer.cpp b/Polyhedron/demo/Polyhedron/Viewer.cpp index 8e3423c5653..201e15555c5 100644 --- a/Polyhedron/demo/Polyhedron/Viewer.cpp +++ b/Polyhedron/demo/Polyhedron/Viewer.cpp @@ -67,7 +67,7 @@ public: // M e s s a g e s QString message; - bool _displayMessage; + bool _displayMessage = false; QTimer messageTimer; QOpenGLFunctions_4_3_Core* _recentFunctions; bool is_2d_selection_mode; diff --git a/Polyhedron/doc/Polyhedron/Concepts/PolyhedronItems_3.h b/Polyhedron/doc/Polyhedron/Concepts/PolyhedronItems_3.h index 432c0d928fc..62c23598c49 100644 --- a/Polyhedron/doc/Polyhedron/Concepts/PolyhedronItems_3.h +++ b/Polyhedron/doc/Polyhedron/Concepts/PolyhedronItems_3.h @@ -11,7 +11,7 @@ support the point for vertices and the optional plane equation for facets. Note that the items class uses face instead of facet. Only the polyhedral surface renames faces to facets. -\cgalRefines `HalfedgeDSItems` +\cgalRefines{HalfedgeDSItems} \cgalHasModel `CGAL::Polyhedron_items_3` \cgalHasModel `CGAL::Polyhedron_min_items_3` @@ -65,7 +65,7 @@ public: /// `HalfedgeDSItems::Vertex` concept. This concept adds the requirement /// for the support of the geometry. /// - /// \cgalRefines `HalfedgeDSItems::Vertex` + /// \cgalRefines{HalfedgeDSItems::Vertex} class Vertex { public: /// \name Types in PolyhedronItems_3::Vertex_wrapper::Vertex @@ -102,7 +102,7 @@ public: /// `HalfedgeDSItems::Face` concept. This concept adds the requirement /// for the support of the geometry. /// - /// \cgalRefines `HalfedgeDSItems::Face` + /// \cgalRefines{HalfedgeDSItems::Face} class Face { public: /*! diff --git a/Polyhedron/doc/Polyhedron/Concepts/PolyhedronTraits_3.h b/Polyhedron/doc/Polyhedron/Concepts/PolyhedronTraits_3.h index a2a041ef1d0..6849eb7f175 100644 --- a/Polyhedron/doc/Polyhedron/Concepts/PolyhedronTraits_3.h +++ b/Polyhedron/doc/Polyhedron/Concepts/PolyhedronTraits_3.h @@ -8,8 +8,7 @@ geometric traits concept is used in the polyhedral surface data structure `CGAL::Polyhedron_3`. Any \cgal kernel is a model of this concept and can be used directly as template argument. -\cgalRefines `CopyConstructible` -\cgalRefines `Assignable` +\cgalRefines{CopyConstructible,Assignable} \cgalHasModel `CGAL::Polyhedron_traits_3` \cgalHasModel `CGAL::Polyhedron_traits_with_normals_3` diff --git a/Polyline_simplification_2/doc/Polyline_simplification_2/Concepts/PolylineSimplificationCostFunction.h b/Polyline_simplification_2/doc/Polyline_simplification_2/Concepts/PolylineSimplificationCostFunction.h index 44b11cad95f..4722bcaa72c 100644 --- a/Polyline_simplification_2/doc/Polyline_simplification_2/Concepts/PolylineSimplificationCostFunction.h +++ b/Polyline_simplification_2/doc/Polyline_simplification_2/Concepts/PolylineSimplificationCostFunction.h @@ -10,8 +10,7 @@ sets before and after removal. The smaller the error the lower the cost. The algorithm processes vertices in increasing cost order to preserve the overall polyline set shape as much as possible -\cgalRefines `CopyConstructible` -\cgalRefines `Assignable` +\cgalRefines{CopyConstructible,Assignable} \cgalHasModel `CGAL::Polyline_simplification_2::Hybrid_squared_distance_cost` \cgalHasModel `CGAL::Polyline_simplification_2::Scaled_squared_distance_cost` diff --git a/Polyline_simplification_2/doc/Polyline_simplification_2/Concepts/PolylineSimplificationVertexBase_2.h b/Polyline_simplification_2/doc/Polyline_simplification_2/Concepts/PolylineSimplificationVertexBase_2.h index b613845544c..c51684ad8d6 100644 --- a/Polyline_simplification_2/doc/Polyline_simplification_2/Concepts/PolylineSimplificationVertexBase_2.h +++ b/Polyline_simplification_2/doc/Polyline_simplification_2/Concepts/PolylineSimplificationVertexBase_2.h @@ -6,7 +6,7 @@ The polyline simplification algorithm stores in the vertices whether a vertex can be removed, and the cost of the removal. -\cgalRefines `TriangulationVertexBase_2` +\cgalRefines{TriangulationVertexBase_2} \cgalHasModel `CGAL::Polyline_simplification_2::Vertex_base_2` diff --git a/Polynomial/doc/Polynomial/Concepts/PolynomialTraits_d--Canonicalize.h b/Polynomial/doc/Polynomial/Concepts/PolynomialTraits_d--Canonicalize.h index b6f735f2882..1081e03f96d 100644 --- a/Polynomial/doc/Polynomial/Concepts/PolynomialTraits_d--Canonicalize.h +++ b/Polynomial/doc/Polynomial/Concepts/PolynomialTraits_d--Canonicalize.h @@ -20,9 +20,7 @@ For all other cases the notion of uniqueness is up to the concrete model. Note that the computed polynomial has the same zero set as the given one. -\cgalRefines `AdaptableUnaryFunction` -\cgalRefines `CopyConstructible` -\cgalRefines `DefaultConstructible` +\cgalRefines{AdaptableUnaryFunction,CopyConstructible,DefaultConstructible} \sa `Polynomial_d` \sa `PolynomialTraits_d` diff --git a/Polynomial/doc/Polynomial/Concepts/PolynomialTraits_d--Compare.h b/Polynomial/doc/Polynomial/Concepts/PolynomialTraits_d--Compare.h index 0b871831f44..032463dbb78 100644 --- a/Polynomial/doc/Polynomial/Concepts/PolynomialTraits_d--Compare.h +++ b/Polynomial/doc/Polynomial/Concepts/PolynomialTraits_d--Compare.h @@ -9,9 +9,7 @@ order with preference to the outermost variable. This functor is well defined if `PolynomialTraits_d::Innermost_coefficient_type` is `RealEmbeddable`. -\cgalRefines `AdaptableBinaryFunction` -\cgalRefines `CopyConstructible` -\cgalRefines `DefaultConstructible` +\cgalRefines{AdaptableBinaryFunction,CopyConstructible,DefaultConstructible} \sa `Polynomial_d` \sa `PolynomialTraits_d` diff --git a/Polynomial/doc/Polynomial/Concepts/PolynomialTraits_d--ConstructCoefficientConstIteratorRange.h b/Polynomial/doc/Polynomial/Concepts/PolynomialTraits_d--ConstructCoefficientConstIteratorRange.h index a3a4c951834..2a85da5c35b 100644 --- a/Polynomial/doc/Polynomial/Concepts/PolynomialTraits_d--ConstructCoefficientConstIteratorRange.h +++ b/Polynomial/doc/Polynomial/Concepts/PolynomialTraits_d--ConstructCoefficientConstIteratorRange.h @@ -7,9 +7,7 @@ This `AdaptableUnaryFunction` returns a const iterator range over the coefficients of the given polynomial, with respect to the outermost variable, \f$ x_{d-1}\f$. The range starts with the coefficient for \f$ x_{d-1}^0\f$. -\cgalRefines `AdaptableUnaryFunction` -\cgalRefines `CopyConstructible` -\cgalRefines `DefaultConstructible` +\cgalRefines{AdaptableUnaryFunction,CopyConstructible,DefaultConstructible} \sa `Polynomial_d` \sa `PolynomialTraits_d` diff --git a/Polynomial/doc/Polynomial/Concepts/PolynomialTraits_d--ConstructInnermostCoefficientConstIteratorRange.h b/Polynomial/doc/Polynomial/Concepts/PolynomialTraits_d--ConstructInnermostCoefficientConstIteratorRange.h index 7b535f13e49..7b11254ead8 100644 --- a/Polynomial/doc/Polynomial/Concepts/PolynomialTraits_d--ConstructInnermostCoefficientConstIteratorRange.h +++ b/Polynomial/doc/Polynomial/Concepts/PolynomialTraits_d--ConstructInnermostCoefficientConstIteratorRange.h @@ -6,9 +6,7 @@ This `AdaptableUnaryFunction` returns a const iterator range over all innermost coefficients of the given polynomial. -\cgalRefines `AdaptableUnaryFunction` -\cgalRefines `CopyConstructible` -\cgalRefines `DefaultConstructible` +\cgalRefines{AdaptableUnaryFunction,CopyConstructible,DefaultConstructible} \sa `Polynomial_d` \sa `PolynomialTraits_d` diff --git a/Polynomial/doc/Polynomial/Concepts/PolynomialTraits_d--ConstructPolynomial.h b/Polynomial/doc/Polynomial/Concepts/PolynomialTraits_d--ConstructPolynomial.h index d15d226c6b2..eaeb5e26aba 100644 --- a/Polynomial/doc/Polynomial/Concepts/PolynomialTraits_d--ConstructPolynomial.h +++ b/Polynomial/doc/Polynomial/Concepts/PolynomialTraits_d--ConstructPolynomial.h @@ -6,9 +6,7 @@ This `AdaptableFunctor` provides several operators to construct objects of type `PolynomialTraits_d::Polynomial_d`. -\cgalRefines `AdaptableFunctor` -\cgalRefines `CopyConstructible` -\cgalRefines `DefaultConstructible` +\cgalRefines{AdaptableFunctor,CopyConstructible,DefaultConstructible} \sa `Polynomial_d` \sa `PolynomialTraits_d` diff --git a/Polynomial/doc/Polynomial/Concepts/PolynomialTraits_d--Degree.h b/Polynomial/doc/Polynomial/Concepts/PolynomialTraits_d--Degree.h index fa2bd415802..75e1471aa16 100644 --- a/Polynomial/doc/Polynomial/Concepts/PolynomialTraits_d--Degree.h +++ b/Polynomial/doc/Polynomial/Concepts/PolynomialTraits_d--Degree.h @@ -16,9 +16,7 @@ The degree of the zero polynomial is set to \f$ 0\f$. From the mathematical point of view this should be \f$ -infinity\f$, but this would imply an inconvenient return type. -\cgalRefines `AdaptableUnaryFunction` -\cgalRefines `CopyConstructible` -\cgalRefines `DefaultConstructible` +\cgalRefines{AdaptableUnaryFunction,CopyConstructible,DefaultConstructible} \sa `Polynomial_d` \sa `PolynomialTraits_d` diff --git a/Polynomial/doc/Polynomial/Concepts/PolynomialTraits_d--DegreeVector.h b/Polynomial/doc/Polynomial/Concepts/PolynomialTraits_d--DegreeVector.h index 274a0b433a0..4f8c0ae3710 100644 --- a/Polynomial/doc/Polynomial/Concepts/PolynomialTraits_d--DegreeVector.h +++ b/Polynomial/doc/Polynomial/Concepts/PolynomialTraits_d--DegreeVector.h @@ -10,9 +10,7 @@ where the monomial order is the lexicographic order giving outer variables a higher priority. In particular, this is the monomial that belongs to the innermost leading coefficient of \f$ p\f$. -\cgalRefines `AdaptableUnaryFunction` -\cgalRefines `CopyConstructible` -\cgalRefines `DefaultConstructible` +\cgalRefines{AdaptableUnaryFunction,CopyConstructible,DefaultConstructible} \sa `Polynomial_d` \sa `PolynomialTraits_d` diff --git a/Polynomial/doc/Polynomial/Concepts/PolynomialTraits_d--Differentiate.h b/Polynomial/doc/Polynomial/Concepts/PolynomialTraits_d--Differentiate.h index 8d584576126..7d8836bc94e 100644 --- a/Polynomial/doc/Polynomial/Concepts/PolynomialTraits_d--Differentiate.h +++ b/Polynomial/doc/Polynomial/Concepts/PolynomialTraits_d--Differentiate.h @@ -6,9 +6,7 @@ This `AdaptableUnaryFunction` computes the derivative of a `PolynomialTraits_d::Polynomial_d` with respect to one variable. -\cgalRefines `AdaptableUnaryFunction` -\cgalRefines `CopyConstructible` -\cgalRefines `DefaultConstructible` +\cgalRefines{AdaptableUnaryFunction,CopyConstructible,DefaultConstructible} \sa `Polynomial_d` \sa `PolynomialTraits_d` diff --git a/Polynomial/doc/Polynomial/Concepts/PolynomialTraits_d--Evaluate.h b/Polynomial/doc/Polynomial/Concepts/PolynomialTraits_d--Evaluate.h index c676b4b4f89..77f53dbffa8 100644 --- a/Polynomial/doc/Polynomial/Concepts/PolynomialTraits_d--Evaluate.h +++ b/Polynomial/doc/Polynomial/Concepts/PolynomialTraits_d--Evaluate.h @@ -6,9 +6,7 @@ This `AdaptableBinaryFunction` evaluates `PolynomialTraits_d::Polynomial_d` with respect to one variable. -\cgalRefines `AdaptableBinaryFunction` -\cgalRefines `CopyConstructible` -\cgalRefines `DefaultConstructible` +\cgalRefines{AdaptableBinaryFunction,CopyConstructible,DefaultConstructible} \sa `Polynomial_d` \sa `PolynomialTraits_d` diff --git a/Polynomial/doc/Polynomial/Concepts/PolynomialTraits_d--EvaluateHomogeneous.h b/Polynomial/doc/Polynomial/Concepts/PolynomialTraits_d--EvaluateHomogeneous.h index 133b06a3b12..9935b08186f 100644 --- a/Polynomial/doc/Polynomial/Concepts/PolynomialTraits_d--EvaluateHomogeneous.h +++ b/Polynomial/doc/Polynomial/Concepts/PolynomialTraits_d--EvaluateHomogeneous.h @@ -10,9 +10,7 @@ This `AdaptableFunctor` provides evaluation of a For instance the polynomial \f$ p = 5x^2y^3 + y\f$ is interpreted as the homogeneous polynomial \f$ p[x](u,v) = 5x^2u^3 + uv^2\f$ and evaluated as such. -\cgalRefines `AdaptableFunctor` -\cgalRefines `CopyConstructible` -\cgalRefines `DefaultConstructible` +\cgalRefines{AdaptableFunctor,CopyConstructible,DefaultConstructible} \sa `Polynomial_d` \sa `PolynomialTraits_d` diff --git a/Polynomial/doc/Polynomial/Concepts/PolynomialTraits_d--GcdUpToConstantFactor.h b/Polynomial/doc/Polynomial/Concepts/PolynomialTraits_d--GcdUpToConstantFactor.h index 05aa9c8b1b4..276310f193d 100644 --- a/Polynomial/doc/Polynomial/Concepts/PolynomialTraits_d--GcdUpToConstantFactor.h +++ b/Polynomial/doc/Polynomial/Concepts/PolynomialTraits_d--GcdUpToConstantFactor.h @@ -18,9 +18,7 @@ This functor computes \f$ gcd\_utcf(f,g) = D * gcd(f,g)\f$, for some \f$ D \in R\f$ such that \f$ gcd\_utcf(f,g) \in R[x_0,\dots,x_{d-1}]\f$. Hence, \f$ gcd\_utcf(f,g)\f$ may not be a divisor of \f$ f\f$ and \f$ g\f$ in \f$ R[x_0,\dots,x_{d-1}]\f$. -\cgalRefines `AdaptableBinaryFunction` -\cgalRefines `CopyConstructible` -\cgalRefines `DefaultConstructible` +\cgalRefines{AdaptableBinaryFunction,CopyConstructible,DefaultConstructible} \sa `Polynomial_d` \sa `PolynomialTraits_d` diff --git a/Polynomial/doc/Polynomial/Concepts/PolynomialTraits_d--GetCoefficient.h b/Polynomial/doc/Polynomial/Concepts/PolynomialTraits_d--GetCoefficient.h index 6ccf00c9e05..d33fcd49f1d 100644 --- a/Polynomial/doc/Polynomial/Concepts/PolynomialTraits_d--GetCoefficient.h +++ b/Polynomial/doc/Polynomial/Concepts/PolynomialTraits_d--GetCoefficient.h @@ -6,9 +6,7 @@ This `AdaptableBinaryFunction` provides access to coefficients of a `PolynomialTraits_d::Polynomial_d`. -\cgalRefines `AdaptableBinaryFunction` -\cgalRefines `CopyConstructible` -\cgalRefines `DefaultConstructible` +\cgalRefines{AdaptableBinaryFunction,CopyConstructible,DefaultConstructible} \sa `Polynomial_d` \sa `PolynomialTraits_d` diff --git a/Polynomial/doc/Polynomial/Concepts/PolynomialTraits_d--GetInnermostCoefficient.h b/Polynomial/doc/Polynomial/Concepts/PolynomialTraits_d--GetInnermostCoefficient.h index a96fe3cc158..f3bd777d571 100644 --- a/Polynomial/doc/Polynomial/Concepts/PolynomialTraits_d--GetInnermostCoefficient.h +++ b/Polynomial/doc/Polynomial/Concepts/PolynomialTraits_d--GetInnermostCoefficient.h @@ -7,9 +7,7 @@ For the given `PolynomialTraits_d::Polynomial_d` this `AdaptableBinaryFunction` returns the coefficient of the (multivariate) monomial specified by the given `CGAL::Exponent_vector`. -\cgalRefines `AdaptableBinaryFunction` -\cgalRefines `CopyConstructible` -\cgalRefines `DefaultConstructible` +\cgalRefines{AdaptableBinaryFunction,CopyConstructible,DefaultConstructible} \sa `Polynomial_d` \sa `PolynomialTraits_d` diff --git a/Polynomial/doc/Polynomial/Concepts/PolynomialTraits_d--InnermostLeadingCoefficient.h b/Polynomial/doc/Polynomial/Concepts/PolynomialTraits_d--InnermostLeadingCoefficient.h index 552167e0580..df17960acf9 100644 --- a/Polynomial/doc/Polynomial/Concepts/PolynomialTraits_d--InnermostLeadingCoefficient.h +++ b/Polynomial/doc/Polynomial/Concepts/PolynomialTraits_d--InnermostLeadingCoefficient.h @@ -6,9 +6,7 @@ This `AdaptableUnaryFunction` computes the innermost leading coefficient of a `PolynomialTraits_d::Polynomial_d` \f$ p\f$. The innermost leading coefficient is recursively defined as the innermost leading coefficient of the leading coefficient of \f$ p\f$. In case \f$ p\f$ is univariate it coincides with the leading coefficient. -\cgalRefines `AdaptableUnaryFunction` -\cgalRefines `CopyConstructible` -\cgalRefines `DefaultConstructible` +\cgalRefines{AdaptableUnaryFunction,CopyConstructible,DefaultConstructible} \sa `Polynomial_d` \sa `PolynomialTraits_d` diff --git a/Polynomial/doc/Polynomial/Concepts/PolynomialTraits_d--IntegralDivisionUpToConstantFactor.h b/Polynomial/doc/Polynomial/Concepts/PolynomialTraits_d--IntegralDivisionUpToConstantFactor.h index 28f0a70c292..a18ccc0aff8 100644 --- a/Polynomial/doc/Polynomial/Concepts/PolynomialTraits_d--IntegralDivisionUpToConstantFactor.h +++ b/Polynomial/doc/Polynomial/Concepts/PolynomialTraits_d--IntegralDivisionUpToConstantFactor.h @@ -9,9 +9,7 @@ of two polynomials of type `PolynomialTraits_d::Polynomial_d` \pre \f$ g\f$ divides \f$ f\f$ in \f$ Q(R)[x_0,\dots,x_{d-1}]\f$, where \f$ Q(R)\f$ is the quotient field of the base ring \f$ R\f$, `PolynomialTraits_d::Innermost_coefficient_type`. -\cgalRefines `AdaptableBinaryFunction` -\cgalRefines `CopyConstructible` -\cgalRefines `DefaultConstructible` +\cgalRefines{AdaptableBinaryFunction,CopyConstructible,DefaultConstructible} \sa `Polynomial_d` \sa `PolynomialTraits_d` diff --git a/Polynomial/doc/Polynomial/Concepts/PolynomialTraits_d--Invert.h b/Polynomial/doc/Polynomial/Concepts/PolynomialTraits_d--Invert.h index 77eaba22966..96e8878607a 100644 --- a/Polynomial/doc/Polynomial/Concepts/PolynomialTraits_d--Invert.h +++ b/Polynomial/doc/Polynomial/Concepts/PolynomialTraits_d--Invert.h @@ -13,9 +13,7 @@ the polynomial is considered as a univariate polynomial in one specific variable This functor is provided for efficiency reasons, since this operation just inverts the order of the coefficients with respect to the specified variable. -\cgalRefines `AdaptableUnaryFunction` -\cgalRefines `CopyConstructible` -\cgalRefines `DefaultConstructible` +\cgalRefines{AdaptableUnaryFunction,CopyConstructible,DefaultConstructible} \sa `Polynomial_d` \sa `PolynomialTraits_d` diff --git a/Polynomial/doc/Polynomial/Concepts/PolynomialTraits_d--IsSquareFree.h b/Polynomial/doc/Polynomial/Concepts/PolynomialTraits_d--IsSquareFree.h index 59808eeec4d..a0cea949b8c 100644 --- a/Polynomial/doc/Polynomial/Concepts/PolynomialTraits_d--IsSquareFree.h +++ b/Polynomial/doc/Polynomial/Concepts/PolynomialTraits_d--IsSquareFree.h @@ -10,9 +10,7 @@ is square free. Note that this statement does cover constant factors, i.e., whether the multivariate content contains a square. -\cgalRefines `AdaptableUnaryFunction` -\cgalRefines `CopyConstructible` -\cgalRefines `DefaultConstructible` +\cgalRefines{AdaptableUnaryFunction,CopyConstructible,DefaultConstructible} \sa `Polynomial_d` \sa `PolynomialTraits_d` diff --git a/Polynomial/doc/Polynomial/Concepts/PolynomialTraits_d--IsZeroAt.h b/Polynomial/doc/Polynomial/Concepts/PolynomialTraits_d--IsZeroAt.h index 2eeb6a37ac3..3f778a6fc9e 100644 --- a/Polynomial/doc/Polynomial/Concepts/PolynomialTraits_d--IsZeroAt.h +++ b/Polynomial/doc/Polynomial/Concepts/PolynomialTraits_d--IsZeroAt.h @@ -7,9 +7,7 @@ This `AdaptableFunctor` returns whether a `PolynomialTraits_d::Polynomial_d` \f$ p\f$ is zero at a given Cartesian point, which is represented as an iterator range. -\cgalRefines `AdaptableFunctor` -\cgalRefines `CopyConstructible` -\cgalRefines `DefaultConstructible` +\cgalRefines{AdaptableFunctor,CopyConstructible,DefaultConstructible} \sa `Polynomial_d` \sa `PolynomialTraits_d` diff --git a/Polynomial/doc/Polynomial/Concepts/PolynomialTraits_d--IsZeroAtHomogeneous.h b/Polynomial/doc/Polynomial/Concepts/PolynomialTraits_d--IsZeroAtHomogeneous.h index 232ad8b574b..a72a45afa29 100644 --- a/Polynomial/doc/Polynomial/Concepts/PolynomialTraits_d--IsZeroAtHomogeneous.h +++ b/Polynomial/doc/Polynomial/Concepts/PolynomialTraits_d--IsZeroAtHomogeneous.h @@ -12,9 +12,7 @@ The polynomial is interpreted as a homogeneous polynomial in all variables. For instance the polynomial \f$ p(x_0,x_1) = x_0^2x_1^3+x_1^4\f$ is interpreted as the homogeneous polynomial \f$ p(x_0,x_1,w) = x_0^2x_1^3+x_1^4w^1\f$. -\cgalRefines `AdaptableFunctor` -\cgalRefines `CopyConstructible` -\cgalRefines `DefaultConstructible` +\cgalRefines{AdaptableFunctor,CopyConstructible,DefaultConstructible} \sa `Polynomial_d` \sa `PolynomialTraits_d` diff --git a/Polynomial/doc/Polynomial/Concepts/PolynomialTraits_d--LeadingCoefficient.h b/Polynomial/doc/Polynomial/Concepts/PolynomialTraits_d--LeadingCoefficient.h index 3cd8c8b4c97..f7f628d6ea3 100644 --- a/Polynomial/doc/Polynomial/Concepts/PolynomialTraits_d--LeadingCoefficient.h +++ b/Polynomial/doc/Polynomial/Concepts/PolynomialTraits_d--LeadingCoefficient.h @@ -6,9 +6,7 @@ This `AdaptableUnaryFunction` computes the leading coefficient of a `PolynomialTraits_d::Polynomial_d`. -\cgalRefines `AdaptableUnaryFunction` -\cgalRefines `CopyConstructible` -\cgalRefines `DefaultConstructible` +\cgalRefines{AdaptableUnaryFunction,CopyConstructible,DefaultConstructible} \sa `Polynomial_d` \sa `PolynomialTraits_d` diff --git a/Polynomial/doc/Polynomial/Concepts/PolynomialTraits_d--MakeSquareFree.h b/Polynomial/doc/Polynomial/Concepts/PolynomialTraits_d--MakeSquareFree.h index 3ec0eea9f4f..b89b7a3fd02 100644 --- a/Polynomial/doc/Polynomial/Concepts/PolynomialTraits_d--MakeSquareFree.h +++ b/Polynomial/doc/Polynomial/Concepts/PolynomialTraits_d--MakeSquareFree.h @@ -14,9 +14,7 @@ such that \f$ p = a \cdot g_1^{m_1} \cdot ... \cdot g_n^{m_n}\f$, where all \f$ Given this decomposition, the square free part is defined as the product \f$ g_1 \cdot ... \cdot g_n\f$, which is computed by this functor. -\cgalRefines `AdaptableUnaryFunction` -\cgalRefines `CopyConstructible` -\cgalRefines `DefaultConstructible` +\cgalRefines{AdaptableUnaryFunction,CopyConstructible,DefaultConstructible} \sa `Polynomial_d` \sa `PolynomialTraits_d` diff --git a/Polynomial/doc/Polynomial/Concepts/PolynomialTraits_d--MonomialRepresentation.h b/Polynomial/doc/Polynomial/Concepts/PolynomialTraits_d--MonomialRepresentation.h index ea85063a6e7..e21f8b68621 100644 --- a/Polynomial/doc/Polynomial/Concepts/PolynomialTraits_d--MonomialRepresentation.h +++ b/Polynomial/doc/Polynomial/Concepts/PolynomialTraits_d--MonomialRepresentation.h @@ -8,9 +8,7 @@ that is, it writes all non zero terms of the polynomial as `std::pair` into the given output iterator. -\cgalRefines \ref Assignable -\cgalRefines \ref CopyConstructible -\cgalRefines \ref DefaultConstructible +\cgalRefines{Assignable,CopyConstructible,DefaultConstructible} \sa `Polynomial_d` \sa `PolynomialTraits_d` diff --git a/Polynomial/doc/Polynomial/Concepts/PolynomialTraits_d--Move.h b/Polynomial/doc/Polynomial/Concepts/PolynomialTraits_d--Move.h index d79dfe99198..cdb070fc521 100644 --- a/Polynomial/doc/Polynomial/Concepts/PolynomialTraits_d--Move.h +++ b/Polynomial/doc/Polynomial/Concepts/PolynomialTraits_d--Move.h @@ -10,9 +10,7 @@ one position while \f$ x_i\f$ is moved to the former position of \f$ x_j\f$. This function may be used to make a certain variable the outer most variable. -\cgalRefines `AdaptableFunctor` -\cgalRefines `CopyConstructible` -\cgalRefines `DefaultConstructible` +\cgalRefines{AdaptableFunctor,CopyConstructible,DefaultConstructible} \sa `Polynomial_d` \sa `PolynomialTraits_d` diff --git a/Polynomial/doc/Polynomial/Concepts/PolynomialTraits_d--MultivariateContent.h b/Polynomial/doc/Polynomial/Concepts/PolynomialTraits_d--MultivariateContent.h index d9eaf355a1d..32609fbdbec 100644 --- a/Polynomial/doc/Polynomial/Concepts/PolynomialTraits_d--MultivariateContent.h +++ b/Polynomial/doc/Polynomial/Concepts/PolynomialTraits_d--MultivariateContent.h @@ -10,9 +10,7 @@ view on the polynomial, that is, it computes the gcd of all innermost coefficien This functor is well defined if `PolynomialTraits_d::Innermost_coefficient_type` is a `Field` or a `UniqueFactorizationDomain`. -\cgalRefines `AdaptableUnaryFunction` -\cgalRefines `CopyConstructible` -\cgalRefines `DefaultConstructible` +\cgalRefines{AdaptableUnaryFunction,CopyConstructible,DefaultConstructible} \sa `Polynomial_d` \sa `PolynomialTraits_d` diff --git a/Polynomial/doc/Polynomial/Concepts/PolynomialTraits_d--Negate.h b/Polynomial/doc/Polynomial/Concepts/PolynomialTraits_d--Negate.h index 421cca00492..eb39344b00e 100644 --- a/Polynomial/doc/Polynomial/Concepts/PolynomialTraits_d--Negate.h +++ b/Polynomial/doc/Polynomial/Concepts/PolynomialTraits_d--Negate.h @@ -11,9 +11,7 @@ the polynomial is considered as a univariate polynomial in one specific variable This functor is provided for efficiency reasons, since this operation just flips the sign of all odd coefficients with respect to the specified variable. -\cgalRefines `AdaptableUnaryFunction` -\cgalRefines `CopyConstructible` -\cgalRefines `DefaultConstructible` +\cgalRefines{AdaptableUnaryFunction,CopyConstructible,DefaultConstructible} \sa `Polynomial_d` \sa `PolynomialTraits_d` diff --git a/Polynomial/doc/Polynomial/Concepts/PolynomialTraits_d--Permute.h b/Polynomial/doc/Polynomial/Concepts/PolynomialTraits_d--Permute.h index 8e092206140..514f8ea16f0 100644 --- a/Polynomial/doc/Polynomial/Concepts/PolynomialTraits_d--Permute.h +++ b/Polynomial/doc/Polynomial/Concepts/PolynomialTraits_d--Permute.h @@ -15,9 +15,7 @@ change the order of the variables such that \f$ x_0 \mapsto x_2\f$, \f$ x_1 \mapsto x_0\f$, \f$ x_2 \mapsto x_1\f$ and \f$ x_3 \mapsto x_3\f$. In this case the iterator range should contain the sequence \f$ [2,0,1,3]\f$. -\cgalRefines `AdaptableFunctor` -\cgalRefines `CopyConstructible` -\cgalRefines `DefaultConstructible` +\cgalRefines{AdaptableFunctor,CopyConstructible,DefaultConstructible} \sa `Polynomial_d` \sa `PolynomialTraits_d` diff --git a/Polynomial/doc/Polynomial/Concepts/PolynomialTraits_d--PolynomialSubresultants.h b/Polynomial/doc/Polynomial/Concepts/PolynomialTraits_d--PolynomialSubresultants.h index 3418ef03626..d98b393b1c3 100644 --- a/Polynomial/doc/Polynomial/Concepts/PolynomialTraits_d--PolynomialSubresultants.h +++ b/Polynomial/doc/Polynomial/Concepts/PolynomialTraits_d--PolynomialSubresultants.h @@ -32,9 +32,7 @@ The result is written in an output range, starting with the \f$ 0\f$-th subresul \note This functor is optional. -\cgalRefines `AdaptableBinaryFunction` -\cgalRefines `CopyConstructible` -\cgalRefines `DefaultConstructible` +\cgalRefines{AdaptableBinaryFunction,CopyConstructible,DefaultConstructible} \sa `Polynomial_d` \sa `PolynomialTraits_d` diff --git a/Polynomial/doc/Polynomial/Concepts/PolynomialTraits_d--PolynomialSubresultantsWithCofactors.h b/Polynomial/doc/Polynomial/Concepts/PolynomialTraits_d--PolynomialSubresultantsWithCofactors.h index 64274c8d879..778c613de30 100644 --- a/Polynomial/doc/Polynomial/Concepts/PolynomialTraits_d--PolynomialSubresultantsWithCofactors.h +++ b/Polynomial/doc/Polynomial/Concepts/PolynomialTraits_d--PolynomialSubresultantsWithCofactors.h @@ -16,9 +16,7 @@ starting with the \f$ 0\f$-th subresultant and the corresponding cofactors. \note This functor is optional. -\cgalRefines `AdaptableBinaryFunction` -\cgalRefines `CopyConstructible` -\cgalRefines `DefaultConstructible` +\cgalRefines{AdaptableBinaryFunction,CopyConstructible,DefaultConstructible} \sa `Polynomial_d` \sa `PolynomialTraits_d` diff --git a/Polynomial/doc/Polynomial/Concepts/PolynomialTraits_d--PrincipalSturmHabichtSequence.h b/Polynomial/doc/Polynomial/Concepts/PolynomialTraits_d--PrincipalSturmHabichtSequence.h index 5369cf55ca6..8c86eb901ba 100644 --- a/Polynomial/doc/Polynomial/Concepts/PolynomialTraits_d--PrincipalSturmHabichtSequence.h +++ b/Polynomial/doc/Polynomial/Concepts/PolynomialTraits_d--PrincipalSturmHabichtSequence.h @@ -19,9 +19,7 @@ the polynomial \f$ f\f$. \note This functor is optional. -\cgalRefines `AdaptableBinaryFunction` -\cgalRefines `CopyConstructible` -\cgalRefines `DefaultConstructible` +\cgalRefines{AdaptableBinaryFunction,CopyConstructible,DefaultConstructible} \sa `Polynomial_d` \sa `PolynomialTraits_d` diff --git a/Polynomial/doc/Polynomial/Concepts/PolynomialTraits_d--PrincipalSubresultants.h b/Polynomial/doc/Polynomial/Concepts/PolynomialTraits_d--PrincipalSubresultants.h index 21952cec677..0c786a28054 100644 --- a/Polynomial/doc/Polynomial/Concepts/PolynomialTraits_d--PrincipalSubresultants.h +++ b/Polynomial/doc/Polynomial/Concepts/PolynomialTraits_d--PrincipalSubresultants.h @@ -19,9 +19,7 @@ principal subresultant \f$ \mathrm{sres}_0(p,q)\f$ \note This functor is optional. -\cgalRefines `AdaptableBinaryFunction` -\cgalRefines `CopyConstructible` -\cgalRefines `DefaultConstructible` +\cgalRefines{AdaptableBinaryFunction,CopyConstructible,DefaultConstructible} \sa `Polynomial_d` \sa `PolynomialTraits_d` diff --git a/Polynomial/doc/Polynomial/Concepts/PolynomialTraits_d--PseudoDivision.h b/Polynomial/doc/Polynomial/Concepts/PolynomialTraits_d--PseudoDivision.h index cf269798372..6e0e9fe887d 100644 --- a/Polynomial/doc/Polynomial/Concepts/PolynomialTraits_d--PseudoDivision.h +++ b/Polynomial/doc/Polynomial/Concepts/PolynomialTraits_d--PseudoDivision.h @@ -16,9 +16,7 @@ Hence in general it is not possible to invert the leading coefficient of \f$ g\f Instead \f$ f\f$ is extended by \f$ D\f$ allowing integral divisions in the internal computation. -\cgalRefines `AdaptableFunctor` -\cgalRefines `CopyConstructible` -\cgalRefines `DefaultConstructible` +\cgalRefines{AdaptableFunctor,CopyConstructible,DefaultConstructible} \sa `Polynomial_d` \sa `PolynomialTraits_d` diff --git a/Polynomial/doc/Polynomial/Concepts/PolynomialTraits_d--PseudoDivisionQuotient.h b/Polynomial/doc/Polynomial/Concepts/PolynomialTraits_d--PseudoDivisionQuotient.h index 0779a439134..d8e7b9f2e55 100644 --- a/Polynomial/doc/Polynomial/Concepts/PolynomialTraits_d--PseudoDivisionQuotient.h +++ b/Polynomial/doc/Polynomial/Concepts/PolynomialTraits_d--PseudoDivisionQuotient.h @@ -12,9 +12,7 @@ where \f$ D = leading\_coefficient(g)^{max(0, degree(f)-degree(g)+1)}\f$ This functor computes \f$ q\f$. -\cgalRefines `AdaptableBinaryFunction` -\cgalRefines `CopyConstructible` -\cgalRefines `DefaultConstructible` +\cgalRefines{AdaptableBinaryFunction,CopyConstructible,DefaultConstructible} \sa `Polynomial_d` \sa `PolynomialTraits_d` diff --git a/Polynomial/doc/Polynomial/Concepts/PolynomialTraits_d--PseudoDivisionRemainder.h b/Polynomial/doc/Polynomial/Concepts/PolynomialTraits_d--PseudoDivisionRemainder.h index a547947df93..522be10a6b2 100644 --- a/Polynomial/doc/Polynomial/Concepts/PolynomialTraits_d--PseudoDivisionRemainder.h +++ b/Polynomial/doc/Polynomial/Concepts/PolynomialTraits_d--PseudoDivisionRemainder.h @@ -12,9 +12,7 @@ where \f$ D = leading\_coefficient(g)^{max(0, degree(f)-degree(g)+1)}\f$ This functor computes \f$ r\f$. -\cgalRefines `AdaptableBinaryFunction` -\cgalRefines `CopyConstructible` -\cgalRefines `DefaultConstructible` +\cgalRefines{AdaptableBinaryFunction,CopyConstructible,DefaultConstructible} \sa `Polynomial_d` \sa `PolynomialTraits_d` diff --git a/Polynomial/doc/Polynomial/Concepts/PolynomialTraits_d--Resultant.h b/Polynomial/doc/Polynomial/Concepts/PolynomialTraits_d--Resultant.h index e337487c90d..69c6804f575 100644 --- a/Polynomial/doc/Polynomial/Concepts/PolynomialTraits_d--Resultant.h +++ b/Polynomial/doc/Polynomial/Concepts/PolynomialTraits_d--Resultant.h @@ -54,9 +54,7 @@ which is a variant of the Euclidean Algorithm. More sophisticated methods may use modular arithmetic and interpolation. For more information we refer to, e.g., \cgalCite{gg-mca-99}. -\cgalRefines `AdaptableBinaryFunction` -\cgalRefines `CopyConstructible` -\cgalRefines `DefaultConstructible` +\cgalRefines{AdaptableBinaryFunction,CopyConstructible,DefaultConstructible} \sa `Polynomial_d` \sa `PolynomialTraits_d` diff --git a/Polynomial/doc/Polynomial/Concepts/PolynomialTraits_d--Scale.h b/Polynomial/doc/Polynomial/Concepts/PolynomialTraits_d--Scale.h index a64b2ba5f33..5668a6ea84b 100644 --- a/Polynomial/doc/Polynomial/Concepts/PolynomialTraits_d--Scale.h +++ b/Polynomial/doc/Polynomial/Concepts/PolynomialTraits_d--Scale.h @@ -10,9 +10,7 @@ it computes \f$ p(c\cdot x)\f$. Note that this functor operates on the polynomial in the univariate view, that is, the polynomial is considered as a univariate polynomial in one specific variable. -\cgalRefines `AdaptableBinaryFunction` -\cgalRefines `CopyConstructible` -\cgalRefines `DefaultConstructible` +\cgalRefines{AdaptableBinaryFunction,CopyConstructible,DefaultConstructible} \sa `Polynomial_d` \sa `PolynomialTraits_d` diff --git a/Polynomial/doc/Polynomial/Concepts/PolynomialTraits_d--ScaleHomogeneous.h b/Polynomial/doc/Polynomial/Concepts/PolynomialTraits_d--ScaleHomogeneous.h index 80cb293e1aa..ba73655f5c6 100644 --- a/Polynomial/doc/Polynomial/Concepts/PolynomialTraits_d--ScaleHomogeneous.h +++ b/Polynomial/doc/Polynomial/Concepts/PolynomialTraits_d--ScaleHomogeneous.h @@ -10,9 +10,7 @@ that is, it computes \f$ b^{degree(p)}\cdot p(a/b\cdot x)\f$. Note that this functor operates on the polynomial in the univariate view, that is, the polynomial is considered as a univariate homogeneous polynomial in one specific variable. -\cgalRefines `AdaptableFunctor` -\cgalRefines `CopyConstructible` -\cgalRefines `DefaultConstructible` +\cgalRefines{AdaptableFunctor,CopyConstructible,DefaultConstructible} \sa `Polynomial_d` \sa `PolynomialTraits_d` diff --git a/Polynomial/doc/Polynomial/Concepts/PolynomialTraits_d--Shift.h b/Polynomial/doc/Polynomial/Concepts/PolynomialTraits_d--Shift.h index 24b8655b464..9d491d6cb52 100644 --- a/Polynomial/doc/Polynomial/Concepts/PolynomialTraits_d--Shift.h +++ b/Polynomial/doc/Polynomial/Concepts/PolynomialTraits_d--Shift.h @@ -9,9 +9,7 @@ by the given power of the specified variable. This functor is provided for efficiency reasons, since multiplication by some variable will in general correspond to a shift of coefficients in the internal representation. -\cgalRefines `AdaptableBinaryFunction` -\cgalRefines `CopyConstructible` -\cgalRefines `DefaultConstructible` +\cgalRefines{AdaptableBinaryFunction,CopyConstructible,DefaultConstructible} \sa `Polynomial_d` \sa `PolynomialTraits_d` diff --git a/Polynomial/doc/Polynomial/Concepts/PolynomialTraits_d--SignAt.h b/Polynomial/doc/Polynomial/Concepts/PolynomialTraits_d--SignAt.h index 8d2418ca54b..89dc6556dad 100644 --- a/Polynomial/doc/Polynomial/Concepts/PolynomialTraits_d--SignAt.h +++ b/Polynomial/doc/Polynomial/Concepts/PolynomialTraits_d--SignAt.h @@ -10,9 +10,7 @@ as an iterator range. This functor is well defined if `PolynomialTraits_d::Innermost_coefficient_type` is `RealEmbeddable`. -\cgalRefines `AdaptableFunctor` -\cgalRefines `CopyConstructible` -\cgalRefines `DefaultConstructible` +\cgalRefines{AdaptableFunctor,CopyConstructible,DefaultConstructible} \sa `Polynomial_d` \sa `PolynomialTraits_d` diff --git a/Polynomial/doc/Polynomial/Concepts/PolynomialTraits_d--SignAtHomogeneous.h b/Polynomial/doc/Polynomial/Concepts/PolynomialTraits_d--SignAtHomogeneous.h index 7695c92709f..d3cb343e304 100644 --- a/Polynomial/doc/Polynomial/Concepts/PolynomialTraits_d--SignAtHomogeneous.h +++ b/Polynomial/doc/Polynomial/Concepts/PolynomialTraits_d--SignAtHomogeneous.h @@ -15,9 +15,7 @@ polynomial \f$ p(x_0,x_1,w) = x_0^2x_1^3+x_1^4w^1\f$. This functor is well defined if `PolynomialTraits_d::Innermost_coefficient_type` is `RealEmbeddable`. -\cgalRefines `AdaptableFunctor` -\cgalRefines `CopyConstructible` -\cgalRefines `DefaultConstructible` +\cgalRefines{AdaptableFunctor,CopyConstructible,DefaultConstructible} \sa `Polynomial_d` \sa `PolynomialTraits_d` diff --git a/Polynomial/doc/Polynomial/Concepts/PolynomialTraits_d--SquareFreeFactorize.h b/Polynomial/doc/Polynomial/Concepts/PolynomialTraits_d--SquareFreeFactorize.h index 7c2ba845b5d..476854ee8d9 100644 --- a/Polynomial/doc/Polynomial/Concepts/PolynomialTraits_d--SquareFreeFactorize.h +++ b/Polynomial/doc/Polynomial/Concepts/PolynomialTraits_d--SquareFreeFactorize.h @@ -15,9 +15,7 @@ The pairs \f$ (g_i,m_i)\f$ are written into the given output iterator. This functor is well defined if `PolynomialTraits_d::Polynomial_d` is a `UniqueFactorizationDomain`. -\cgalRefines Assignable -\cgalRefines CopyConstructible -\cgalRefines DefaultConstructible +\cgalRefines{Assignable,CopyConstructible,DefaultConstructible} \sa `Polynomial_d` \sa `PolynomialTraits_d` diff --git a/Polynomial/doc/Polynomial/Concepts/PolynomialTraits_d--SquareFreeFactorizeUpToConstantFactor.h b/Polynomial/doc/Polynomial/Concepts/PolynomialTraits_d--SquareFreeFactorizeUpToConstantFactor.h index f62b124bfc4..ce826463203 100644 --- a/Polynomial/doc/Polynomial/Concepts/PolynomialTraits_d--SquareFreeFactorizeUpToConstantFactor.h +++ b/Polynomial/doc/Polynomial/Concepts/PolynomialTraits_d--SquareFreeFactorizeUpToConstantFactor.h @@ -19,9 +19,7 @@ This functor is well defined even though `PolynomialTraits_d::Innermost_coefficient_type` may not be a `UniqueFactorizationDomain`. -\cgalRefines Assignable -\cgalRefines CopyConstructible -\cgalRefines DefaultConstructible +\cgalRefines{Assignable,CopyConstructible,DefaultConstructible} \sa `Polynomial_d` \sa `PolynomialTraits_d` diff --git a/Polynomial/doc/Polynomial/Concepts/PolynomialTraits_d--SturmHabichtSequence.h b/Polynomial/doc/Polynomial/Concepts/PolynomialTraits_d--SturmHabichtSequence.h index c314610f9ee..d724fa86201 100644 --- a/Polynomial/doc/Polynomial/Concepts/PolynomialTraits_d--SturmHabichtSequence.h +++ b/Polynomial/doc/Polynomial/Concepts/PolynomialTraits_d--SturmHabichtSequence.h @@ -34,9 +34,7 @@ the discriminant of \f$ f\f$ up to a multiple of the leading coefficient). \note This functor is optional. -\cgalRefines `AdaptableBinaryFunction` -\cgalRefines `CopyConstructible` -\cgalRefines `DefaultConstructible` +\cgalRefines{AdaptableBinaryFunction,CopyConstructible,DefaultConstructible} \sa `Polynomial_d` \sa `PolynomialTraits_d` diff --git a/Polynomial/doc/Polynomial/Concepts/PolynomialTraits_d--SturmHabichtSequenceWithCofactors.h b/Polynomial/doc/Polynomial/Concepts/PolynomialTraits_d--SturmHabichtSequenceWithCofactors.h index 3ade609f016..85ef0b83f4f 100644 --- a/Polynomial/doc/Polynomial/Concepts/PolynomialTraits_d--SturmHabichtSequenceWithCofactors.h +++ b/Polynomial/doc/Polynomial/Concepts/PolynomialTraits_d--SturmHabichtSequenceWithCofactors.h @@ -16,9 +16,7 @@ and the corresponding cofactors. \note This functor is optional. -\cgalRefines `AdaptableBinaryFunction` -\cgalRefines `CopyConstructible` -\cgalRefines `DefaultConstructible` +\cgalRefines{AdaptableBinaryFunction,CopyConstructible,DefaultConstructible} \sa `Polynomial_d` \sa `PolynomialTraits_d` diff --git a/Polynomial/doc/Polynomial/Concepts/PolynomialTraits_d--Substitute.h b/Polynomial/doc/Polynomial/Concepts/PolynomialTraits_d--Substitute.h index 71a9a19baa4..d0adc1fc1d5 100644 --- a/Polynomial/doc/Polynomial/Concepts/PolynomialTraits_d--Substitute.h +++ b/Polynomial/doc/Polynomial/Concepts/PolynomialTraits_d--Substitute.h @@ -7,9 +7,7 @@ This `Functor` substitutes all variables of a given multivariate `PolynomialTraits_d::Polynomial_d` by the values given in the iterator range, where begin refers the value for the innermost variable. -\cgalRefines Assignable -\cgalRefines CopyConstructible -\cgalRefines DefaultConstructible +\cgalRefines{Assignable,CopyConstructible,DefaultConstructible} \cgalHeading{Types} diff --git a/Polynomial/doc/Polynomial/Concepts/PolynomialTraits_d--SubstituteHomogeneous.h b/Polynomial/doc/Polynomial/Concepts/PolynomialTraits_d--SubstituteHomogeneous.h index aa387211e15..ee171b9e9fe 100644 --- a/Polynomial/doc/Polynomial/Concepts/PolynomialTraits_d--SubstituteHomogeneous.h +++ b/Polynomial/doc/Polynomial/Concepts/PolynomialTraits_d--SubstituteHomogeneous.h @@ -13,9 +13,7 @@ Hence the iterator range is required to be of length `PolynomialTraits_d::d+1`. For instance the polynomial \f$ p(x_0,x_1) = x_0^2x_1^3+x_1^4\f$ is interpreted as the homogeneous polynomial \f$ p(x_0,x_1,w) = x_0^2x_1^3+x_1^4w^1\f$. -\cgalRefines Assignable -\cgalRefines CopyConstructible -\cgalRefines DefaultConstructible +\cgalRefines{CopyConstructible,Assignable,DefaultConstructible} \cgalHeading{Types} diff --git a/Polynomial/doc/Polynomial/Concepts/PolynomialTraits_d--Swap.h b/Polynomial/doc/Polynomial/Concepts/PolynomialTraits_d--Swap.h index 1c7e5403257..11beaab299b 100644 --- a/Polynomial/doc/Polynomial/Concepts/PolynomialTraits_d--Swap.h +++ b/Polynomial/doc/Polynomial/Concepts/PolynomialTraits_d--Swap.h @@ -5,9 +5,7 @@ This `AdaptableFunctor` swaps two variables of a multivariate polynomial. -\cgalRefines `AdaptableFunctor` -\cgalRefines `CopyConstructible` -\cgalRefines `DefaultConstructible` +\cgalRefines{AdaptableFunctor,CopyConstructible,DefaultConstructible} \sa `Polynomial_d` \sa `PolynomialTraits_d` diff --git a/Polynomial/doc/Polynomial/Concepts/PolynomialTraits_d--TotalDegree.h b/Polynomial/doc/Polynomial/Concepts/PolynomialTraits_d--TotalDegree.h index c2a2286212f..2d82736c7a7 100644 --- a/Polynomial/doc/Polynomial/Concepts/PolynomialTraits_d--TotalDegree.h +++ b/Polynomial/doc/Polynomial/Concepts/PolynomialTraits_d--TotalDegree.h @@ -17,9 +17,7 @@ The total degree of the zero polynomial is set to \f$ 0\f$. From the mathematical point of view this should be \f$ -\infty\f$, but this would imply an inconvenient return type. -\cgalRefines `AdaptableUnaryFunction` -\cgalRefines `CopyConstructible` -\cgalRefines `DefaultConstructible` +\cgalRefines{AdaptableUnaryFunction,CopyConstructible,DefaultConstructible} \sa `Polynomial_d` \sa `PolynomialTraits_d` diff --git a/Polynomial/doc/Polynomial/Concepts/PolynomialTraits_d--Translate.h b/Polynomial/doc/Polynomial/Concepts/PolynomialTraits_d--Translate.h index e49c7b645c2..8ad8143d57d 100644 --- a/Polynomial/doc/Polynomial/Concepts/PolynomialTraits_d--Translate.h +++ b/Polynomial/doc/Polynomial/Concepts/PolynomialTraits_d--Translate.h @@ -10,9 +10,7 @@ for a given polynomial \f$ p\f$ and constant \f$ c\f$ it computes \f$ p(x+c)\f$. Note that this functor operates on the polynomial in the univariate view, that is, the polynomial is considered as a univariate polynomial in one specific variable. -\cgalRefines `AdaptableBinaryFunction` -\cgalRefines `CopyConstructible` -\cgalRefines `DefaultConstructible` +\cgalRefines{AdaptableBinaryFunction,CopyConstructible,DefaultConstructible} \sa `Polynomial_d` \sa `PolynomialTraits_d` diff --git a/Polynomial/doc/Polynomial/Concepts/PolynomialTraits_d--TranslateHomogeneous.h b/Polynomial/doc/Polynomial/Concepts/PolynomialTraits_d--TranslateHomogeneous.h index f65e6966716..3b1ffa9e0bb 100644 --- a/Polynomial/doc/Polynomial/Concepts/PolynomialTraits_d--TranslateHomogeneous.h +++ b/Polynomial/doc/Polynomial/Concepts/PolynomialTraits_d--TranslateHomogeneous.h @@ -10,9 +10,7 @@ that is, it computes \f$ b^{degree(p)}\cdot p(x+a/b)\f$. Note that this functor operates on the polynomial in the univariate view, that is, the polynomial is considered as a univariate homogeneous polynomial in one specific variable. -\cgalRefines `AdaptableFunctor` -\cgalRefines `CopyConstructible` -\cgalRefines `DefaultConstructible` +\cgalRefines{AdaptableFunctor,CopyConstructible,DefaultConstructible} \sa `Polynomial_d` \sa `PolynomialTraits_d` diff --git a/Polynomial/doc/Polynomial/Concepts/PolynomialTraits_d--UnivariateContent.h b/Polynomial/doc/Polynomial/Concepts/PolynomialTraits_d--UnivariateContent.h index 00ed2670ffb..c4bfc0bf723 100644 --- a/Polynomial/doc/Polynomial/Concepts/PolynomialTraits_d--UnivariateContent.h +++ b/Polynomial/doc/Polynomial/Concepts/PolynomialTraits_d--UnivariateContent.h @@ -12,9 +12,7 @@ coefficients with respect to one variable. This functor is well defined if `PolynomialTraits_d::Coefficient_type` is a `Field` or a `UniqueFactorizationDomain`. -\cgalRefines `AdaptableUnaryFunction` -\cgalRefines `CopyConstructible` -\cgalRefines `DefaultConstructible` +\cgalRefines{AdaptableUnaryFunction,CopyConstructible,DefaultConstructible} \sa `Polynomial_d` \sa `PolynomialTraits_d` diff --git a/Polynomial/doc/Polynomial/Concepts/PolynomialTraits_d--UnivariateContentUpToConstantFactor.h b/Polynomial/doc/Polynomial/Concepts/PolynomialTraits_d--UnivariateContentUpToConstantFactor.h index 14a89ae6692..950c026ae43 100644 --- a/Polynomial/doc/Polynomial/Concepts/PolynomialTraits_d--UnivariateContentUpToConstantFactor.h +++ b/Polynomial/doc/Polynomial/Concepts/PolynomialTraits_d--UnivariateContentUpToConstantFactor.h @@ -15,9 +15,7 @@ and `PolynomialTraits_d::MultivariateContent`. However, a concept `PolynomialTraits_d::MultivariateContentUpToConstantFactor` does not exist since the result is trivial. -\cgalRefines `AdaptableUnaryFunction` -\cgalRefines `CopyConstructible` -\cgalRefines `DefaultConstructible` +\cgalRefines{AdaptableUnaryFunction,CopyConstructible,DefaultConstructible} \sa `Polynomial_d` \sa `PolynomialTraits_d` diff --git a/Polynomial/doc/Polynomial/Concepts/PolynomialTraits_d.h b/Polynomial/doc/Polynomial/Concepts/PolynomialTraits_d.h index 4d7bca50f25..d5552d6b328 100644 --- a/Polynomial/doc/Polynomial/Concepts/PolynomialTraits_d.h +++ b/Polynomial/doc/Polynomial/Concepts/PolynomialTraits_d.h @@ -27,7 +27,7 @@ Many functors consider the polynomial as a univariate polynomial in one variable By default this is the outermost variable \f$ x_{d-1}\f$. However, in general it is possible to select a certain variable. -\cgalRefines `AlgebraicStructureTraits` +\cgalRefines{AlgebraicStructureTraits} \sa `Polynomial_d` diff --git a/Polynomial/doc/Polynomial/Concepts/Polynomial_d.h b/Polynomial/doc/Polynomial/Concepts/Polynomial_d.h index e918979f790..ed86c99c683 100644 --- a/Polynomial/doc/Polynomial/Concepts/Polynomial_d.h +++ b/Polynomial/doc/Polynomial/Concepts/Polynomial_d.h @@ -12,7 +12,7 @@ A model of `Polynomial_d` must be accompanied by a traits class Please have a look at the concept `PolynomialTraits_d`, since nearly all functionality related to polynomials is provided by the traits. -\cgalRefines `IntegralDomainWithoutDivision` +\cgalRefines{IntegralDomainWithoutDivision} The algebraic structure of `Polynomial_d` depends on the algebraic structure of `PolynomialTraits_d::Innermost_coefficient_type`: diff --git a/SMDS_3/doc/SMDS_3/Concepts/MeshComplexWithFeatures_3InTriangulation_3.h b/SMDS_3/doc/SMDS_3/Concepts/MeshComplexWithFeatures_3InTriangulation_3.h index f97cdcb318b..d76e8032e54 100644 --- a/SMDS_3/doc/SMDS_3/Concepts/MeshComplexWithFeatures_3InTriangulation_3.h +++ b/SMDS_3/doc/SMDS_3/Concepts/MeshComplexWithFeatures_3InTriangulation_3.h @@ -46,7 +46,7 @@ is then approximated by a subdomain (resp. a surface patch) of the embedded comp while the curves and corners represent the \f$ 1\f$ and \f$ 0\f$-dimensional features of the input complex. -\cgalRefines `MeshComplex_3InTriangulation_3` +\cgalRefines{MeshComplex_3InTriangulation_3} \cgalHasModel `CGAL::Mesh_complex_3_in_triangulation_3` diff --git a/SMDS_3/doc/SMDS_3/Concepts/SimplicialMeshCellBase_3.h b/SMDS_3/doc/SMDS_3/Concepts/SimplicialMeshCellBase_3.h index 4ac54ef66db..ff424c1281d 100644 --- a/SMDS_3/doc/SMDS_3/Concepts/SimplicialMeshCellBase_3.h +++ b/SMDS_3/doc/SMDS_3/Concepts/SimplicialMeshCellBase_3.h @@ -16,8 +16,7 @@ in case of a multi-domain. Moreover, this concept adds four markers per cell to mark the facets of the triangulation that are surface facets. -\cgalRefines `TriangulationCellBase_3 ` -\cgalRefines `CopyConstructible` +\cgalRefines{TriangulationCellBase_3,CopyConstructible} \cgalHasModel `CGAL::Compact_mesh_cell_base_3` \cgalHasModel `CGAL::Mesh_cell_base_3` diff --git a/SMDS_3/doc/SMDS_3/Concepts/SimplicialMeshVertexBase_3.h b/SMDS_3/doc/SMDS_3/Concepts/SimplicialMeshVertexBase_3.h index 0ada434d3eb..ad034bbb982 100644 --- a/SMDS_3/doc/SMDS_3/Concepts/SimplicialMeshVertexBase_3.h +++ b/SMDS_3/doc/SMDS_3/Concepts/SimplicialMeshVertexBase_3.h @@ -14,7 +14,7 @@ to an integer representing the dimension of the lowest dimensional face of the input 3D complex on which the vertex lies, and to an index characteristic of this face. -\cgalRefines `TriangulationVertexBase_3` +\cgalRefines{TriangulationVertexBase_3} \cgalHasModel `CGAL::Mesh_vertex_base_3` \cgalHasModel `CGAL::Simplicial_mesh_vertex_base_3` diff --git a/STL_Extension/doc/STL_Extension/CGAL/Compact_container.h b/STL_Extension/doc/STL_Extension/CGAL/Compact_container.h index dd409ee8f02..b11ee290e95 100644 --- a/STL_Extension/doc/STL_Extension/CGAL/Compact_container.h +++ b/STL_Extension/doc/STL_Extension/CGAL/Compact_container.h @@ -670,7 +670,7 @@ void clear(); bool owns(const_iterator pos); /*! - * returns whether `pos` is in the range `[cc.begin(), cc`.end())` (`cc.end()` excluded). + * returns whether `pos` is in the range `[cc.begin(), cc.end())` (`cc.end()` excluded). */ bool owns_dereferenceable(const_iterator pos); diff --git a/STL_Extension/doc/STL_Extension/CGAL/Concurrent_compact_container.h b/STL_Extension/doc/STL_Extension/CGAL/Concurrent_compact_container.h index 306595daf1e..dd7f392daf2 100644 --- a/STL_Extension/doc/STL_Extension/CGAL/Concurrent_compact_container.h +++ b/STL_Extension/doc/STL_Extension/CGAL/Concurrent_compact_container.h @@ -31,7 +31,7 @@ struct Concurrent_compact_container_traits { /// @{ /*! Returns the pointer held by `t`. - The template version defines this function as: `return t.for_compact_container(); + The template version defines this function as: `return t.for_compact_container();` */ static void * pointer(const T &t); @@ -294,8 +294,8 @@ complexity. No exception is thrown. /// returns whether `pos` is in the range `[ccc.begin(), ccc.end()]` (`ccc.end()` included). bool owns(const_iterator pos); /// returns whether `pos` is in the range `[ccc.begin(), ccc.end())` (`ccc.end()` excluded). - bool owns_dereferenceable(const_iterator pos); + bool owns_dereferencable(const_iterator pos); /// @} /// \name Merging diff --git a/STL_Extension/doc/STL_Extension/Concepts/Descriptor.h b/STL_Extension/doc/STL_Extension/Concepts/Descriptor.h index 233d75b030c..8235e55f4f0 100644 --- a/STL_Extension/doc/STL_Extension/Concepts/Descriptor.h +++ b/STL_Extension/doc/STL_Extension/Concepts/Descriptor.h @@ -4,10 +4,7 @@ The concept `Descriptor` allows to describe a unique object in an abstract model. -\cgalRefines DefaultConstructible -\cgalRefines CopyConstructible -\cgalRefines Assignable -\cgalRefines EqualityComparable +\cgalRefines{DefaultConstructible,CopyConstructible,Assignable,EqualityComparable} \cgalHasModel `Index` \cgalHasModel `Handle` diff --git a/STL_Extension/doc/STL_Extension/Concepts/Index.h b/STL_Extension/doc/STL_Extension/Concepts/Index.h index 7d4cc380903..544e714fa8a 100644 --- a/STL_Extension/doc/STL_Extension/Concepts/Index.h +++ b/STL_Extension/doc/STL_Extension/Concepts/Index.h @@ -4,7 +4,7 @@ The concept `Index` is a refinement of `Descriptor` which must be convertible from and to `std::size_t`, and must be incrementable and decrementable. -\cgalRefines `Descriptor` +\cgalRefines{Descriptor} \cgalHasModel int \cgalHasModel size_t 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 49c2a0d2c31..f7c37c95ab7 100644 --- a/STL_Extension/include/CGAL/STL_Extension/internal/parameters_interface.h +++ b/STL_Extension/include/CGAL/STL_Extension/internal/parameters_interface.h @@ -37,6 +37,8 @@ CGAL_add_named_parameter(halfedge_to_halfedge_output_iterator_t, halfedge_to_hal CGAL_add_named_parameter(face_to_face_output_iterator_t, face_to_face_output_iterator, face_to_face_output_iterator) CGAL_add_named_parameter(point_to_vertex_output_iterator_t, point_to_vertex_output_iterator, point_to_vertex_output_iterator) CGAL_add_named_parameter(polygon_to_face_output_iterator_t, polygon_to_face_output_iterator, polygon_to_face_output_iterator) +CGAL_add_named_parameter(point_to_vertex_map_t, point_to_vertex_map, point_to_vertex_map) +CGAL_add_named_parameter(polygon_to_face_map_t, polygon_to_face_map, polygon_to_face_map) CGAL_add_named_parameter(vertex_to_vertex_map_t, vertex_to_vertex_map, vertex_to_vertex_map) CGAL_add_named_parameter(halfedge_to_halfedge_map_t, halfedge_to_halfedge_map, halfedge_to_halfedge_map) @@ -68,6 +70,7 @@ CGAL_add_named_parameter(vertex_incident_patches_t, vertex_incident_patches, ver CGAL_add_named_parameter(density_control_factor_t, density_control_factor, density_control_factor) CGAL_add_named_parameter(use_delaunay_triangulation_t, use_delaunay_triangulation, use_delaunay_triangulation) CGAL_add_named_parameter(do_not_use_cubic_algorithm_t, do_not_use_cubic_algorithm, do_not_use_cubic_algorithm) +CGAL_add_named_parameter(do_not_triangulate_faces_t, do_not_triangulate_faces, do_not_triangulate_faces) CGAL_add_named_parameter(use_2d_constrained_delaunay_triangulation_t, use_2d_constrained_delaunay_triangulation, use_2d_constrained_delaunay_triangulation) CGAL_add_named_parameter(fairing_continuity_t, fairing_continuity, fairing_continuity) CGAL_add_named_parameter(sparse_linear_solver_t, sparse_linear_solver, sparse_linear_solver) @@ -146,6 +149,11 @@ CGAL_add_named_parameter(mesh_facet_angle_t, mesh_facet_angle, mesh_facet_angle) CGAL_add_named_parameter(mesh_facet_distance_t, mesh_facet_distance, mesh_facet_distance) CGAL_add_named_parameter(mesh_facet_topology_t, mesh_facet_topology, mesh_facet_topology) CGAL_add_named_parameter(polyline_constraints_t, polyline_constraints, polyline_constraints) +CGAL_add_named_parameter(do_scale_t, do_scale, do_scale) +CGAL_add_named_parameter(vertex_corner_map_t, vertex_corner_map, vertex_corner_map) +CGAL_add_named_parameter(patch_normal_map_t, patch_normal_map, patch_normal_map) +CGAL_add_named_parameter(region_primitive_map_t, region_primitive_map, region_primitive_map) +CGAL_add_named_parameter(postprocess_regions_t, postprocess_regions, postprocess_regions) // 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) @@ -258,7 +266,7 @@ CGAL_add_named_parameter(minimum_region_size_t, minimum_region_size, minimum_reg CGAL_add_named_parameter(sphere_radius_t, sphere_radius, sphere_radius) CGAL_add_named_parameter(k_neighbors_t, k_neighbors, k_neighbors) CGAL_add_named_parameter(item_map_t, item_map, item_map) -CGAL_add_named_parameter(cosine_of_maxium_angle_t, cosine_of_maxium_angle, cosine_of_maxium_angle) +CGAL_add_named_parameter(cosine_of_maximum_angle_t, cosine_of_maximum_angle, cosine_of_maximum_angle) CGAL_add_named_parameter(minimum_radius_t, minimum_radius, minimum_radius) CGAL_add_named_parameter(maximum_radius_t, maximum_radius, maximum_radius) diff --git a/Scripts/developer_scripts/list_cgal_workflows_last_run.sh b/Scripts/developer_scripts/list_cgal_workflows_last_run.sh old mode 100644 new mode 100755 index e3d830bf15d..08552fafd12 --- a/Scripts/developer_scripts/list_cgal_workflows_last_run.sh +++ b/Scripts/developer_scripts/list_cgal_workflows_last_run.sh @@ -13,6 +13,10 @@ do do workflow_id=$(jq '.workflows['$i'].id' <<< "$workflows") workflows_state=$(jq '.workflows['$i'].state' <<< "$workflows") + if [ "$workflows_state" == "\"disabled\"" -o "$workflows_state" == "\"disabled_manually\"" ] + then + continue + fi workflow_runs=$(gh api repos/$repo/actions/workflows/$workflow_id/runs) workflows_name=$(jq -e '.workflow_runs[0].name' <<< "$workflow_runs") if [ $? -eq 0 ] @@ -28,7 +32,7 @@ do workflows_check_runs=$(gh api repos/$repo/check-suites/$workflows_checksuite_id/check-runs) workflows_check_runs_id=$(jq -r '.check_runs[0].id' <<< "$workflows_check_runs") workflows_check_runs_annotation=$(gh api repos/$repo/check-runs/$workflows_check_runs_id/annotations) - worfklows_annotation_level=$(jq -r '.[].annotation_level' <<< "$workflows_check_runs_annotation") + worfklows_annotation_level=$(jq -r '.[].annotation_level' <<< "$workflows_check_runs_annotation" | tr '\n' ' ') if [ "$worfklows_annotation_level" == "" ] then worfklows_annotation_level+="-" diff --git a/Segment_Delaunay_graph_2/doc/Segment_Delaunay_graph_2/Concepts/SegmentDelaunayGraphDataStructure_2.h b/Segment_Delaunay_graph_2/doc/Segment_Delaunay_graph_2/Concepts/SegmentDelaunayGraphDataStructure_2.h index 58a16cb543a..566beb42485 100644 --- a/Segment_Delaunay_graph_2/doc/Segment_Delaunay_graph_2/Concepts/SegmentDelaunayGraphDataStructure_2.h +++ b/Segment_Delaunay_graph_2/doc/Segment_Delaunay_graph_2/Concepts/SegmentDelaunayGraphDataStructure_2.h @@ -31,7 +31,7 @@ returned. We only describe the additional requirements with respect to the `ApolloniusGraphDataStructure_2` concept. -\cgalRefines `ApolloniusGraphDataStructure_2` +\cgalRefines{ApolloniusGraphDataStructure_2} \cgalHasModel `CGAL::Triangulation_data_structure_2` diff --git a/Segment_Delaunay_graph_2/doc/Segment_Delaunay_graph_2/Concepts/SegmentDelaunayGraphFaceBase_2.h b/Segment_Delaunay_graph_2/doc/Segment_Delaunay_graph_2/Concepts/SegmentDelaunayGraphFaceBase_2.h index 8837bc14b74..4b96dab0907 100644 --- a/Segment_Delaunay_graph_2/doc/Segment_Delaunay_graph_2/Concepts/SegmentDelaunayGraphFaceBase_2.h +++ b/Segment_Delaunay_graph_2/doc/Segment_Delaunay_graph_2/Concepts/SegmentDelaunayGraphFaceBase_2.h @@ -7,7 +7,7 @@ The concept `SegmentDelaunayGraphFaceBase_2` describes the requirements for the face base class of the `SegmentDelaunayGraphDataStructure_2` concept. -\cgalRefines `TriangulationFaceBase_2` +\cgalRefines{TriangulationFaceBase_2} \cgalHasModel `CGAL::Segment_Delaunay_graph_face_base_2` diff --git a/Segment_Delaunay_graph_2/doc/Segment_Delaunay_graph_2/Concepts/SegmentDelaunayGraphHierarchyVertexBase_2.h b/Segment_Delaunay_graph_2/doc/Segment_Delaunay_graph_2/Concepts/SegmentDelaunayGraphHierarchyVertexBase_2.h index 6b70d36fb87..7ab5a65a26b 100644 --- a/Segment_Delaunay_graph_2/doc/Segment_Delaunay_graph_2/Concepts/SegmentDelaunayGraphHierarchyVertexBase_2.h +++ b/Segment_Delaunay_graph_2/doc/Segment_Delaunay_graph_2/Concepts/SegmentDelaunayGraphHierarchyVertexBase_2.h @@ -12,7 +12,7 @@ refines the concept `SegmentDelaunayGraphVertexBase_2`, by adding two vertex handles to the corresponding vertices for the next and previous level graphs. -\cgalRefines `SegmentDelaunayGraphVertexBase_2` +\cgalRefines{SegmentDelaunayGraphVertexBase_2} \cgalHeading{Types} diff --git a/Segment_Delaunay_graph_2/doc/Segment_Delaunay_graph_2/Concepts/SegmentDelaunayGraphSite_2.h b/Segment_Delaunay_graph_2/doc/Segment_Delaunay_graph_2/Concepts/SegmentDelaunayGraphSite_2.h index d52818a7e70..5370b1b3026 100644 --- a/Segment_Delaunay_graph_2/doc/Segment_Delaunay_graph_2/Concepts/SegmentDelaunayGraphSite_2.h +++ b/Segment_Delaunay_graph_2/doc/Segment_Delaunay_graph_2/Concepts/SegmentDelaunayGraphSite_2.h @@ -6,9 +6,7 @@ The concept `SegmentDelaunayGraphSite_2` provides the requirements for the sites of a segment Delaunay graph. -\cgalRefines `DefaultConstructible` -\cgalRefines `CopyConstructible` -\cgalRefines `Assignable` +\cgalRefines{CopyConstructible,Assignable,DefaultConstructible} \cgalHasModel `CGAL::Segment_Delaunay_graph_site_2` diff --git a/Segment_Delaunay_graph_2/doc/Segment_Delaunay_graph_2/Concepts/SegmentDelaunayGraphStorageSite_2.h b/Segment_Delaunay_graph_2/doc/Segment_Delaunay_graph_2/Concepts/SegmentDelaunayGraphStorageSite_2.h index 743727a2a63..3f391babafa 100644 --- a/Segment_Delaunay_graph_2/doc/Segment_Delaunay_graph_2/Concepts/SegmentDelaunayGraphStorageSite_2.h +++ b/Segment_Delaunay_graph_2/doc/Segment_Delaunay_graph_2/Concepts/SegmentDelaunayGraphStorageSite_2.h @@ -9,9 +9,7 @@ storage sites are sites that are used to store the information of a site in a more compact form (that uses less storage). This is achieved by storing handles to points instead of points. -\cgalRefines `DefaultConstructible` -\cgalRefines `CopyConstructible` -\cgalRefines `Assignable` +\cgalRefines{CopyConstructible,Assignable,DefaultConstructible} \cgalHasModel `CGAL::Segment_Delaunay_graph_storage_site_2` diff --git a/Segment_Delaunay_graph_2/doc/Segment_Delaunay_graph_2/Concepts/SegmentDelaunayGraphStorageTraits_2.h b/Segment_Delaunay_graph_2/doc/Segment_Delaunay_graph_2/Concepts/SegmentDelaunayGraphStorageTraits_2.h index 63d1ae08db2..78e8bda7d6e 100644 --- a/Segment_Delaunay_graph_2/doc/Segment_Delaunay_graph_2/Concepts/SegmentDelaunayGraphStorageTraits_2.h +++ b/Segment_Delaunay_graph_2/doc/Segment_Delaunay_graph_2/Concepts/SegmentDelaunayGraphStorageTraits_2.h @@ -13,9 +13,7 @@ only store handles to the points in the container. See section \ref Segment_Delaunay_graph_2StronglyIntersecting for more information. -\cgalRefines `DefaultConstructible` -\cgalRefines `CopyConstructible` -\cgalRefines `Assignable` +\cgalRefines{CopyConstructible,Assignable,DefaultConstructible} \cgalHasModel `CGAL::Segment_Delaunay_graph_storage_traits_2` diff --git a/Segment_Delaunay_graph_2/doc/Segment_Delaunay_graph_2/Concepts/SegmentDelaunayGraphTraits_2.h b/Segment_Delaunay_graph_2/doc/Segment_Delaunay_graph_2/Concepts/SegmentDelaunayGraphTraits_2.h index 3d1de41b15d..e68b4212b19 100644 --- a/Segment_Delaunay_graph_2/doc/Segment_Delaunay_graph_2/Concepts/SegmentDelaunayGraphTraits_2.h +++ b/Segment_Delaunay_graph_2/doc/Segment_Delaunay_graph_2/Concepts/SegmentDelaunayGraphTraits_2.h @@ -4,7 +4,7 @@ \cgalConcept -\cgalRefines `TriangulationTraits_2` +\cgalRefines{TriangulationTraits_2} The concept `SegmentDelaunayGraphTraits_2` provides the traits requirements for the `CGAL::Segment_Delaunay_graph_2` and diff --git a/Segment_Delaunay_graph_2/doc/Segment_Delaunay_graph_2/Concepts/SegmentDelaunayGraphVertexBase_2.h b/Segment_Delaunay_graph_2/doc/Segment_Delaunay_graph_2/Concepts/SegmentDelaunayGraphVertexBase_2.h index 903d9e92b68..778a709b5a6 100644 --- a/Segment_Delaunay_graph_2/doc/Segment_Delaunay_graph_2/Concepts/SegmentDelaunayGraphVertexBase_2.h +++ b/Segment_Delaunay_graph_2/doc/Segment_Delaunay_graph_2/Concepts/SegmentDelaunayGraphVertexBase_2.h @@ -3,7 +3,7 @@ \ingroup PkgSegmentDelaunayGraph2Concepts \cgalConcept -\cgalRefines `TriangulationDSVertexBase_2` +\cgalRefines{TriangulationDSVertexBase_2} The concept `SegmentDelaunayGraphVertexBase_2` describes the requirements for the vertex base class of the diff --git a/Segment_Delaunay_graph_Linf_2/doc/Segment_Delaunay_graph_Linf_2/Concepts/SegmentDelaunayGraphLinfTraits_2.h b/Segment_Delaunay_graph_Linf_2/doc/Segment_Delaunay_graph_Linf_2/Concepts/SegmentDelaunayGraphLinfTraits_2.h index d654765e03c..4a4a626b8eb 100644 --- a/Segment_Delaunay_graph_Linf_2/doc/Segment_Delaunay_graph_Linf_2/Concepts/SegmentDelaunayGraphLinfTraits_2.h +++ b/Segment_Delaunay_graph_Linf_2/doc/Segment_Delaunay_graph_Linf_2/Concepts/SegmentDelaunayGraphLinfTraits_2.h @@ -34,7 +34,7 @@ of the `SegmentDelaunayGraphLinfTraits_2` concept with respect to the `SegmentDelaunayGraphTraits_2` concept. -\cgalRefines `SegmentDelaunayGraphTraits_2` +\cgalRefines{SegmentDelaunayGraphTraits_2} \cgalHasModel `CGAL::Segment_Delaunay_graph_Linf_traits_2` \cgalHasModel `CGAL::Segment_Delaunay_graph_Linf_traits_without_intersections_2` diff --git a/Set_movable_separability_2/doc/Set_movable_separability_2/Concepts/CastingTraits_2.h b/Set_movable_separability_2/doc/Set_movable_separability_2/Concepts/CastingTraits_2.h index f67bf8ba17b..4f0424d9664 100644 --- a/Set_movable_separability_2/doc/Set_movable_separability_2/Concepts/CastingTraits_2.h +++ b/Set_movable_separability_2/doc/Set_movable_separability_2/Concepts/CastingTraits_2.h @@ -5,8 +5,7 @@ This concept generalizes the concept of a 2D Kernel. - \cgalRefines `DefaultConstructible` - \cgalRefines `PolygonTraits_2` + \cgalRefines{DefaultConstructible,PolygonTraits_2} \cgalHasModel Any CGAL kernel, e.g., CGAL::Exact_predicates_exact_constructions_kernel. diff --git a/Shape_detection/include/CGAL/Polygon_mesh_processing/region_growing.h b/Shape_detection/include/CGAL/Polygon_mesh_processing/region_growing.h index 25e6e50f9fd..3029be2fe65 100644 --- a/Shape_detection/include/CGAL/Polygon_mesh_processing/region_growing.h +++ b/Shape_detection/include/CGAL/Polygon_mesh_processing/region_growing.h @@ -25,6 +25,32 @@ namespace CGAL { namespace Polygon_mesh_processing { +namespace internal +{ + template + void fill_region_primitive_map(const std::vector&, internal_np::Param_not_found) {} + + template + void fill_plane_or_vector_map(const std::vector& normals, RegionMap region_map, typename GT::Vector_3) + { + for (std::size_t i = 0 ; i + void fill_plane_or_vector_map(const std::vector& normals, RegionMap region_map, typename GT::Plane_3) + { + for (std::size_t i = 0 ; i + void fill_region_primitive_map(const std::vector& normals, RegionMap region_map) + { + fill_plane_or_vector_map(normals, region_map, typename boost::property_traits::value_type()); + } +} + /*! \ingroup PkgPolygonMeshProcessingRef \brief applies a region growing algorithm to fit planes on faces of a mesh. @@ -53,10 +79,15 @@ namespace Polygon_mesh_processing { such that they are considered part of the same region} \cgalParamType{`GeomTraits::FT` with `GeomTraits` being the type of the parameter `geom_traits`} \cgalParamDefault{25 degrees} - \cgalParamExtra{this parameter and `cosine_of_maxium_angle` are exclusive} + \cgalParamExtra{this parameter and `cosine_of_maximum_angle` are exclusive} \cgalParamNEnd - \cgalParamNBegin{cosine_of_maxium_angle} - \cgalParamDescription{The maximum angle, given as a cosine, between the normal of the supporting planes of adjacent faces + \cgalParamNBegin{postprocess_regions} + \cgalParamDescription{Apply a post-processing step to the output of the region growing algorithm.} + \cgalParamType{`bool`} + \cgalParamDefault{false} + \cgalParamNEnd + \cgalParamNBegin{cosine_of_maximum_angle} + \cgalParamDescription{The maximum angle, given as a cosine, between the normals of the supporting planes of adjacent faces such that they are considered part of the same region} \cgalParamType{`GeomTraits::FT` with `GeomTraits` being the type of the parameter `geom_traits`} \cgalParamDefault{`cos(25 * PI / 180)`} @@ -81,6 +112,14 @@ namespace Polygon_mesh_processing { \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{region_primitive_map} + \cgalParamDescription{a property map filled by this function and that will contain for each region + the plane (or only its orthognonal vector) estimated that approximates it.} + \cgalParamType{a class model of `WritablePropertyMap` with the value type of `RegionMap` as key and + `GeomTraits::Plane_3` or `GeomTraits::Vector_3` as value type, + `GeomTraits` being the type of the parameter `geom_traits`} + \cgalParamDefault{None} + \cgalParamNEnd \cgalNamedParamsEnd */ template regions; Region_growing region_growing( faces(mesh), sorting.ordered(), neighbor_query, region_type, region_map); - region_growing.detect(CGAL::Emptyset_iterator()); - return region_growing.number_of_regions_detected(); + typedef typename boost::graph_traits::face_descriptor face_descriptor; + typedef typename boost::graph_traits::halfedge_descriptor halfedge_descriptor; + std::vector > > tmp; + region_growing.detect(std::back_inserter(tmp)); + + if (choose_parameter(get_parameter(np, internal_np::postprocess_regions), false)) + { + // first try for a post-processing: look at regions made of one face and check if a + // larger region contains its 3 vertices and if so assigned it to it. + typedef typename boost::property_traits::value_type Id; + for (std::size_t i=0; i vertex_incidence; + halfedge_descriptor h0 = halfedge(f0, mesh); + for (int k=0; k<3; ++k) + { + std::set ids_for_v; + for (halfedge_descriptor h : halfedges_around_target(h0, mesh)) + { + if (!is_border(h, mesh)) + { + Id id = get(region_map, face(h, mesh)); + if (std::size_t(id)!=i) + ids_for_v.insert(id); + } + } + h0=next(h0, mesh); + for (Id id : ids_for_v) + vertex_incidence.insert(std::make_pair(id, 0)).first->second+=1; + } + std::set candidates; + for (const std::pair& p : vertex_incidence) + { + if (p.second == 3) + candidates.insert(p.first); + } + if (candidates.size() == 1) + { + Id new_id = *candidates.begin(); + put(region_map, f0, new_id); + tmp[new_id].second.push_back(f0); + tmp[i].second.clear(); + } + } + } + auto last = std::remove_if(tmp.begin(), tmp.end(), + [](const std::pair>& p) + {return p.second.empty();}); + tmp.erase(last, tmp.end()); + + //update region map + for (std::size_t i=0; i(tmp, parameters::get_parameter(np, internal_np::region_primitive_map)); + + return tmp.size(); } /*! @@ -125,7 +227,7 @@ region_growing_of_planes_on_faces(const PolygonMesh& mesh, More precisely, a corner on the boundary of a region is a vertex that is either shared by at least three regions (two if it is also a vertex on the boundary of the mesh), or that is incident to two segments edges assigned to different lines. See Section \ref Shape_detection_RegionGrowing for more details on the method. - @tparam PolygonMesh a model of `FaceListGraph` and `EdgeListGaph` + @tparam PolygonMesh a model of `FaceListGraph` and `EdgeListGraph` @tparam RegionMap a model of `ReadablePropertyMap` with `boost::graph_traits::%face_descriptor` as key type and `std::size_t` as value type. @tparam CornerIdMap a model of `WritablePropertyMap` with `boost::graph_traits::%vertex_descriptor` as key type and `std::size_t` as value type. @tparam NamedParameters a sequence of \ref bgl_namedparameters "Named Parameters" @@ -146,21 +248,23 @@ region_growing_of_planes_on_faces(const PolygonMesh& mesh, \cgalParamType{a class model of `ReadWritePropertyMap` with `boost::graph_traits::%edge_descriptor` as key type and `bool` as value type} \cgalParamDefault{Unused if not provided} + \cgalParamExtra{The value for each edge must be initialized to `false`.} \cgalParamNEnd \cgalParamNBegin{maximum_distance} - \cgalParamDescription{the maximum distance from a point to a line such that it is considered part of the region of the line} + \cgalParamDescription{the maximum distance from a segment to a line such that it is considered part of the region of the line} \cgalParamType{`GeomTraits::FT` with `GeomTraits` being the type of the parameter `geom_traits`} \cgalParamDefault{1} - \cgalParamExtra{this parameter and `cosine_of_maxium_angle` are exclusive} \cgalParamNEnd \cgalParamNBegin{maximum_angle} \cgalParamDescription{the maximum angle in degrees between two adjacent segments such that they are considered part of the same region} \cgalParamType{`GeomTraits::FT` with `GeomTraits` being the type of the parameter `geom_traits`} \cgalParamDefault{25 degrees} + \cgalParamExtra{this parameter and `cosine_of_maximum_angle` are exclusive} \cgalParamNEnd - \cgalParamNBegin{cosine_of_maxium_angle} - \cgalParamDescription{The maximum angle, given as a cosine, between two adjacent segments + \cgalParamNBegin{cosine_of_maximum_angle} + \cgalParamDescription{The maximum angle, given as a cosine, for the smallest angle + between the supporting line of a segment and an adjacent segment such that they are considered part of the same region} \cgalParamType{`GeomTraits::FT` with `GeomTraits` being the type of the parameter `geom_traits`} \cgalParamDefault{`cos(25 * PI / 180)`} @@ -205,7 +309,7 @@ detect_corners_of_regions( using face_descriptor = typename Graph_traits::face_descriptor; using vertex_descriptor = typename Graph_traits::vertex_descriptor; - using Default_ecm = typename boost::template property_map >::type; + using Default_ecm = typename boost::template property_map >::const_type; using Ecm = typename internal_np::Lookup_named_param_def < internal_np::edge_is_constrained_t, NamedParameters, @@ -213,8 +317,12 @@ detect_corners_of_regions( > ::type; Default_ecm dynamic_ecm; - if(!(is_default_parameter::value)) + if(is_default_parameter::value) + { dynamic_ecm = get(CGAL::dynamic_edge_property_t(), mesh); + for (edge_descriptor e : edges(mesh)) + put(dynamic_ecm, e, false); + } Ecm ecm = choose_parameter(get_parameter(np, internal_np::edge_is_constrained), dynamic_ecm); using Polyline_graph = CGAL::Shape_detection::Polygon_mesh::Polyline_graph; @@ -270,7 +378,7 @@ detect_corners_of_regions( RG_lines rg_lines( segment_range, pgraph, line_region); - std::vector< std::pair > > subregions; + std::vector< std::pair > > subregions; // TODO dump into pmap lines rg_lines.detect(std::back_inserter(subregions)); #ifdef CGAL_DEBUG_DETECT_CORNERS_OF_REGIONS diff --git a/Shape_detection/include/CGAL/Shape_detection/Region_growing/Point_set/Least_squares_circle_fit_region.h b/Shape_detection/include/CGAL/Shape_detection/Region_growing/Point_set/Least_squares_circle_fit_region.h index 0aca9432166..9a0626da18e 100644 --- a/Shape_detection/include/CGAL/Shape_detection/Region_growing/Point_set/Least_squares_circle_fit_region.h +++ b/Shape_detection/include/CGAL/Shape_detection/Region_growing/Point_set/Least_squares_circle_fit_region.h @@ -129,7 +129,7 @@ namespace Point_set { \cgalParamType{`GeomTraits::FT`} \cgalParamDefault{25 degrees} \cgalParamNEnd - \cgalParamNBegin{cosine_of_maxium_angle} + \cgalParamNBegin{cosine_of_maximum_angle} \cgalParamDescription{the cos value computed as `cos(maximum_angle * PI / 180)`, this parameter can be used instead of the `maximum_angle`} \cgalParamType{`GeomTraits::FT`} @@ -168,7 +168,7 @@ namespace Point_set { \pre `maximum_distance >= 0` \pre `maximum_angle >= 0 && maximum_angle <= 90` - \pre `cosine_of_maxium_angle >= 0 && cosine_of_maxium_angle <= 1` + \pre `cosine_of_maximum_angle >= 0 && cosine_of_maximum_angle <= 1` \pre `minimum_region_size > 0` \pre `minimum_radius >= 0` \pre `maximum_radius >= minimum_radius` @@ -198,7 +198,7 @@ namespace Point_set { const FT default_cos_value = static_cast(std::cos(CGAL::to_double( (max_angle * static_cast(CGAL_PI)) / FT(180)))); const FT cos_value = parameters::choose_parameter( - parameters::get_parameter(np, internal_np::cosine_of_maxium_angle), default_cos_value); + parameters::get_parameter(np, internal_np::cosine_of_maximum_angle), default_cos_value); CGAL_precondition(cos_value >= FT(0) && cos_value <= FT(1)); m_cos_value_threshold = cos_value; diff --git a/Shape_detection/include/CGAL/Shape_detection/Region_growing/Point_set/Least_squares_cylinder_fit_region.h b/Shape_detection/include/CGAL/Shape_detection/Region_growing/Point_set/Least_squares_cylinder_fit_region.h index c1224eaeb1c..bc7524a778d 100644 --- a/Shape_detection/include/CGAL/Shape_detection/Region_growing/Point_set/Least_squares_cylinder_fit_region.h +++ b/Shape_detection/include/CGAL/Shape_detection/Region_growing/Point_set/Least_squares_cylinder_fit_region.h @@ -128,7 +128,7 @@ namespace Point_set { \cgalParamType{`GeomTraits::FT`} \cgalParamDefault{25 degrees} \cgalParamNEnd - \cgalParamNBegin{cosine_of_maxium_angle} + \cgalParamNBegin{cosine_of_maximum_angle} \cgalParamDescription{the cos value computed as `cos(maximum_angle * PI / 180)`, this parameter can be used instead of the `maximum_angle`} \cgalParamType{`GeomTraits::FT`} @@ -167,7 +167,7 @@ namespace Point_set { \pre `maximum_distance >= 0` \pre `maximum_angle >= 0 && maximum_angle <= 90` - \pre `cosine_of_maxium_angle >= 0 && cosine_of_maxium_angle <= 1` + \pre `cosine_of_maximum_angle >= 0 && cosine_of_maximum_angle <= 1` \pre `minimum_region_size > 0` \pre `minimum_radius >= 0` \pre `maximum_radius >= minimum_radius` @@ -197,7 +197,7 @@ namespace Point_set { const FT default_cos_value = static_cast(std::cos(CGAL::to_double( (max_angle * static_cast(CGAL_PI)) / FT(180)))); const FT cos_value = parameters::choose_parameter( - parameters::get_parameter(np, internal_np::cosine_of_maxium_angle), default_cos_value); + parameters::get_parameter(np, internal_np::cosine_of_maximum_angle), default_cos_value); CGAL_precondition(cos_value >= FT(0) && cos_value <= FT(1)); m_cos_value_threshold = cos_value; diff --git a/Shape_detection/include/CGAL/Shape_detection/Region_growing/Point_set/Least_squares_line_fit_region.h b/Shape_detection/include/CGAL/Shape_detection/Region_growing/Point_set/Least_squares_line_fit_region.h index 6f04d915753..e92bb39621a 100644 --- a/Shape_detection/include/CGAL/Shape_detection/Region_growing/Point_set/Least_squares_line_fit_region.h +++ b/Shape_detection/include/CGAL/Shape_detection/Region_growing/Point_set/Least_squares_line_fit_region.h @@ -118,7 +118,7 @@ namespace Point_set { \cgalParamType{`GeomTraits::FT`} \cgalParamDefault{25 degrees} \cgalParamNEnd - \cgalParamNBegin{cosine_of_maxium_angle} + \cgalParamNBegin{cosine_of_maximum_angle} \cgalParamDescription{the cos value computed as `cos(maximum_angle * PI / 180)`, this parameter can be used instead of the `maximum_angle`} \cgalParamType{`GeomTraits::FT`} @@ -145,7 +145,7 @@ namespace Point_set { \pre `maximum_distance >= 0` \pre `maximum_angle >= 0 && maximum_angle <= 90` - \pre `cosine_of_maxium_angle >= 0 && cosine_of_maxium_angle <= 1` + \pre `cosine_of_maximum_angle >= 0 && cosine_of_maximum_angle <= 1` \pre `minimum_region_size > 0` */ template @@ -174,7 +174,7 @@ namespace Point_set { const FT default_cos_value = static_cast(std::cos(CGAL::to_double( (max_angle * static_cast(CGAL_PI)) / FT(180)))); const FT cos_value = parameters::choose_parameter( - parameters::get_parameter(np, internal_np::cosine_of_maxium_angle), default_cos_value); + parameters::get_parameter(np, internal_np::cosine_of_maximum_angle), default_cos_value); CGAL_precondition(cos_value >= FT(0) && cos_value <= FT(1)); m_cos_value_threshold = cos_value; } diff --git a/Shape_detection/include/CGAL/Shape_detection/Region_growing/Point_set/Least_squares_plane_fit_region.h b/Shape_detection/include/CGAL/Shape_detection/Region_growing/Point_set/Least_squares_plane_fit_region.h index b1fe82d706f..06839406d05 100644 --- a/Shape_detection/include/CGAL/Shape_detection/Region_growing/Point_set/Least_squares_plane_fit_region.h +++ b/Shape_detection/include/CGAL/Shape_detection/Region_growing/Point_set/Least_squares_plane_fit_region.h @@ -119,7 +119,7 @@ namespace Point_set { \cgalParamType{`GeomTraits::FT`} \cgalParamDefault{25 degrees} \cgalParamNEnd - \cgalParamNBegin{cosine_of_maxium_angle} + \cgalParamNBegin{cosine_of_maximum_angle} \cgalParamDescription{the cos value computed as `cos(maximum_angle * PI / 180)`, this parameter can be used instead of the `maximum_angle`} \cgalParamType{`GeomTraits::FT`} @@ -146,7 +146,7 @@ namespace Point_set { \pre `maximum_distance >= 0` \pre `maximum_angle >= 0 && maximum_angle <= 90` - \pre `cosine_of_maxium_angle >= 0 && cosine_of_maxium_angle <= 1` + \pre `cosine_of_maximum_angle >= 0 && cosine_of_maximum_angle <= 1` \pre `minimum_region_size > 0` */ template @@ -175,7 +175,7 @@ namespace Point_set { const FT default_cos_value = static_cast(std::cos(CGAL::to_double( (max_angle * static_cast(CGAL_PI)) / FT(180)))); const FT cos_value = parameters::choose_parameter( - parameters::get_parameter(np, internal_np::cosine_of_maxium_angle), default_cos_value); + parameters::get_parameter(np, internal_np::cosine_of_maximum_angle), default_cos_value); CGAL_precondition(cos_value >= FT(0) && cos_value <= FT(1)); m_cos_value_threshold = cos_value; } diff --git a/Shape_detection/include/CGAL/Shape_detection/Region_growing/Point_set/Least_squares_sphere_fit_region.h b/Shape_detection/include/CGAL/Shape_detection/Region_growing/Point_set/Least_squares_sphere_fit_region.h index 68285b5777b..1f00dd13482 100644 --- a/Shape_detection/include/CGAL/Shape_detection/Region_growing/Point_set/Least_squares_sphere_fit_region.h +++ b/Shape_detection/include/CGAL/Shape_detection/Region_growing/Point_set/Least_squares_sphere_fit_region.h @@ -118,7 +118,7 @@ namespace Point_set { \cgalParamType{`GeomTraits::FT`} \cgalParamDefault{25 degrees} \cgalParamNEnd - \cgalParamNBegin{cosine_of_maxium_angle} + \cgalParamNBegin{cosine_of_maximum_angle} \cgalParamDescription{the cos value computed as `cos(maximum_angle * PI / 180)`, this parameter can be used instead of the `maximum_angle`} \cgalParamType{`GeomTraits::FT`} @@ -157,7 +157,7 @@ namespace Point_set { \pre `maximum_distance >= 0` \pre `maximum_angle >= 0 && maximum_angle <= 90` - \pre `cosine_of_maxium_angle >= 0 && cosine_of_maxium_angle <= 1` + \pre `cosine_of_maximum_angle >= 0 && cosine_of_maximum_angle <= 1` \pre `minimum_region_size > 0` \pre `minimum_radius >= 0` \pre `maximum_radius >= minimum_radius` @@ -187,7 +187,7 @@ namespace Point_set { const FT default_cos_value = static_cast(std::cos(CGAL::to_double( (max_angle * static_cast(CGAL_PI)) / FT(180)))); const FT cos_value = parameters::choose_parameter( - parameters::get_parameter(np, internal_np::cosine_of_maxium_angle), default_cos_value); + parameters::get_parameter(np, internal_np::cosine_of_maximum_angle), default_cos_value); CGAL_precondition(cos_value >= FT(0) && cos_value <= FT(1)); m_cos_value_threshold = cos_value; diff --git a/Shape_detection/include/CGAL/Shape_detection/Region_growing/Polygon_mesh/Least_squares_plane_fit_region.h b/Shape_detection/include/CGAL/Shape_detection/Region_growing/Polygon_mesh/Least_squares_plane_fit_region.h index 8a3e133c0b9..9708eeff7b8 100644 --- a/Shape_detection/include/CGAL/Shape_detection/Region_growing/Polygon_mesh/Least_squares_plane_fit_region.h +++ b/Shape_detection/include/CGAL/Shape_detection/Region_growing/Polygon_mesh/Least_squares_plane_fit_region.h @@ -118,9 +118,8 @@ namespace Polygon_mesh { \cgalParamType{`GeomTraits::FT`} \cgalParamDefault{25 degrees} \cgalParamNEnd - \cgalParamNBegin{cosine_of_maxium_angle} - \cgalParamDescription{the cos value computed as `cos(maximum_angle * PI / 180)`, - this parameter can be used instead of the `maximum_angle`} + \cgalParamNBegin{cosine_of_maximum_angle} + \cgalParamDescription{the cosine value `cos(maximum_angle * PI / 180)` to be used instead of the parameter `maximum_angle()`} \cgalParamType{`GeomTraits::FT`} \cgalParamDefault{`cos(25 * PI / 180)`} \cgalParamNEnd @@ -143,7 +142,7 @@ namespace Polygon_mesh { \pre `faces(tmesh).size() > 0` \pre `maximum_distance >= 0` \pre `maximum_angle >= 0 && maximum_angle <= 90` - \pre `cosine_of_maxium_angle >= 0 && cosine_of_maxium_angle <= 1` + \pre `cosine_of_maximum_angle >= 0 && cosine_of_maximum_angle <= 1` \pre `minimum_region_size > 0` */ template @@ -176,7 +175,7 @@ namespace Polygon_mesh { const FT default_cos_value = static_cast(std::cos(CGAL::to_double( (max_angle * static_cast(CGAL_PI)) / FT(180)))); const FT cos_value = parameters::choose_parameter( - parameters::get_parameter(np, internal_np::cosine_of_maxium_angle), default_cos_value); + parameters::get_parameter(np, internal_np::cosine_of_maximum_angle), default_cos_value); CGAL_precondition(cos_value >= FT(0) && cos_value <= FT(1)); m_cos_value_threshold = cos_value; } diff --git a/Shape_detection/include/CGAL/Shape_detection/Region_growing/Region_growing.h b/Shape_detection/include/CGAL/Shape_detection/Region_growing/Region_growing.h index 6b261f5769c..f3b0268d190 100644 --- a/Shape_detection/include/CGAL/Shape_detection/Region_growing/Region_growing.h +++ b/Shape_detection/include/CGAL/Shape_detection/Region_growing/Region_growing.h @@ -358,13 +358,12 @@ namespace internal { */ template PrimitiveAndRegionOutputIterator detect(PrimitiveAndRegionOutputIterator region_out = PrimitiveAndRegionOutputIterator()) { -// clear(); TODO: this is not valid to comment this clear() + // clear(); TODO: this is not valid to comment this clear() m_visited_map.clear(); // tmp replacement for the line above Region region; m_nb_regions = 0; - // Grow regions. for (auto it = m_seed_range.begin(); it != m_seed_range.end(); it++) { const Item seed = *it; @@ -376,9 +375,11 @@ namespace internal { // Check global conditions. if (!is_success || !m_region_type.is_valid_region(region)) { revert(region); - } else { - *(region_out++) = std::pair(m_region_type.primitive(), region); + } + else { fill_region_map(m_nb_regions++, region); + if (!std::is_same::value) + *region_out++ = std::make_pair(m_region_type.primitive(), std::move(region)); } } } @@ -391,8 +392,7 @@ namespace internal { \return Property map that maps each iterator of the input range to a region index. */ - - const Region_map ®ion_map() { + const Region_map& region_map() { return m_region_map; } @@ -408,7 +408,7 @@ namespace internal { a model of `OutputIterator` whose value type is `Item` \tparam InputRange - a model of `ConstRange + a model of `ConstRange` \tparam ItemMap a model of `ReadablePropertyMap` with `InputRange::const_iterator` as key type and `Item` as value type. @@ -470,6 +470,7 @@ namespace internal { Neighbor_query& m_neighbor_query; Region_type& m_region_type; Region_map m_region_map; + std::vector m_seed_range; std::size_t m_nb_regions = 0; diff --git a/Shape_detection/include/CGAL/Shape_detection/Region_growing/Segment_set/Least_squares_line_fit_region.h b/Shape_detection/include/CGAL/Shape_detection/Region_growing/Segment_set/Least_squares_line_fit_region.h index 70b2aa0026d..3605112155f 100644 --- a/Shape_detection/include/CGAL/Shape_detection/Region_growing/Segment_set/Least_squares_line_fit_region.h +++ b/Shape_detection/include/CGAL/Shape_detection/Region_growing/Segment_set/Least_squares_line_fit_region.h @@ -123,14 +123,12 @@ namespace Segment_set { \cgalParamDefault{1} \cgalParamNEnd \cgalParamNBegin{maximum_angle} - \cgalParamDescription{the maximum angle in degrees between - the direction of a segment and the direction of a line} + \cgalParamDescription{the maximum angle in degrees between the direction of a segment and the direction of a line} \cgalParamType{`GeomTraits::FT`} \cgalParamDefault{25 degrees} \cgalParamNEnd - \cgalParamNBegin{cosine_of_maxium_angle} - \cgalParamDescription{the cos value computed as `cos(maximum_angle * PI / 180)`, - this parameter can be used instead of the `maximum_angle`} + \cgalParamNBegin{cosine_of_maximum_angle} + \cgalParamDescription{the cosine value `cos(maximum_angle * PI / 180)` to be used instead of the parameter `maximum_angle()`} \cgalParamType{`GeomTraits::FT`} \cgalParamDefault{`cos(25 * PI / 180)`} \cgalParamNEnd @@ -152,7 +150,7 @@ namespace Segment_set { \pre `maximum_distance >= 0` \pre `maximum_angle >= 0 && maximum_angle <= 90` - \pre `cosine_of_maxium_angle >= 0 && cosine_of_maxium_angle <= 1` + \pre `cosine_of_maximum_angle >= 0 && cosine_of_maximum_angle <= 1` \pre `minimum_region_size > 0` */ template @@ -182,7 +180,7 @@ namespace Segment_set { const FT default_cos_value = static_cast(std::cos(CGAL::to_double( (max_angle * static_cast(CGAL_PI)) / FT(180)))); const FT cos_value = parameters::choose_parameter( - parameters::get_parameter(np, internal_np::cosine_of_maxium_angle), default_cos_value); + parameters::get_parameter(np, internal_np::cosine_of_maximum_angle), default_cos_value); CGAL_precondition(cos_value >= FT(0) && cos_value <= FT(1)); m_cos_value_threshold = cos_value; } diff --git a/Shape_detection/include/CGAL/Shape_detection/Region_growing/Segment_set/Least_squares_line_fit_sorting.h b/Shape_detection/include/CGAL/Shape_detection/Region_growing/Segment_set/Least_squares_line_fit_sorting.h index 20a05042ff6..1e37e205425 100644 --- a/Shape_detection/include/CGAL/Shape_detection/Region_growing/Segment_set/Least_squares_line_fit_sorting.h +++ b/Shape_detection/include/CGAL/Shape_detection/Region_growing/Segment_set/Least_squares_line_fit_sorting.h @@ -110,7 +110,7 @@ namespace Segment_set { \cgalParamNEnd \cgalParamNBegin{item_map} \cgalParamDescription{an instance of a model of `ReadablePropertyMap` with `InputRange::const_iterator` - as key type and `Item` as value type.`} + as key type and `Item` as value type.} \cgalParamDefault{A default is provided when `Item` is `InputRange::const_iterator` or its value type.} \cgalParamNEnd \cgalParamNBegin{geom_traits} diff --git a/Shape_detection/test/Shape_detection/test_region_growing_on_polygon_mesh.cpp b/Shape_detection/test/Shape_detection/test_region_growing_on_polygon_mesh.cpp index afed5232286..a0167ff0344 100644 --- a/Shape_detection/test/Shape_detection/test_region_growing_on_polygon_mesh.cpp +++ b/Shape_detection/test/Shape_detection/test_region_growing_on_polygon_mesh.cpp @@ -35,7 +35,7 @@ bool test_region_growing_on_polygon_mesh(int argc, char *argv[]) { // Default parameter values. const FT distance_threshold = FT(1); const FT angle_threshold = FT(45); - const std::size_t min_region_size = 5; + const std::size_t min_region_size = 1; // Load data. std::ifstream in(argc > 1 ? argv[1] : CGAL::data_file_path("meshes/building.off")); @@ -68,13 +68,19 @@ bool test_region_growing_on_polygon_mesh(int argc, char *argv[]) { std::vector regions; region_growing.detect(std::back_inserter(regions)); - assert(regions.size() == 416); + assert(regions.size() == 1077); for (const auto& region : regions) assert(region_type.is_valid_region(region.second)); + auto map = region_growing.region_map(); + for (auto fit : face_range) { + std::size_t id = get(region_growing.region_map(), fit); + assert(id != std::size_t(-1)); + } + std::vector unassigned_faces; region_growing.unassigned_items(face_range, std::back_inserter(unassigned_faces)); - assert(unassigned_faces.size() == 1006); + assert(unassigned_faces.size() == 0); return true; } diff --git a/Shape_detection/test/Shape_detection/test_validity_sampled_data.cpp b/Shape_detection/test/Shape_detection/test_validity_sampled_data.cpp index 58424b53aa8..8e073a0750a 100644 --- a/Shape_detection/test/Shape_detection/test_validity_sampled_data.cpp +++ b/Shape_detection/test/Shape_detection/test_validity_sampled_data.cpp @@ -122,7 +122,7 @@ void test_copied_point_cloud (const Point_set& original_points, std::size_t nb) RG_region rg_region ( CGAL::parameters:: maximum_distance(parameters.epsilon). - cosine_of_maxium_angle(parameters.normal_threshold). + cosine_of_maximum_angle(parameters.normal_threshold). minimum_region_size(parameters.min_points)); Region_growing region_growing (points, rg_query, rg_region); std::size_t nb_detected = 0; diff --git a/Skin_surface_3/doc/Skin_surface_3/Concepts/SkinSurfaceTraits_3.h b/Skin_surface_3/doc/Skin_surface_3/Concepts/SkinSurfaceTraits_3.h index 0dad254c330..6551020f4f0 100644 --- a/Skin_surface_3/doc/Skin_surface_3/Concepts/SkinSurfaceTraits_3.h +++ b/Skin_surface_3/doc/Skin_surface_3/Concepts/SkinSurfaceTraits_3.h @@ -8,7 +8,7 @@ This geometric traits concept is used for the construction of a polyhedral mesh approximating a skin surface `CGAL::Skin_surface_3`. -\cgalRefines `RegularTriangulationTraits_3` +\cgalRefines{RegularTriangulationTraits_3} \cgalHasModel `CGAL::Skin_surface_traits_3` diff --git a/Snap_rounding_2/doc/Snap_rounding_2/Concepts/SnapRoundingTraits_2.h b/Snap_rounding_2/doc/Snap_rounding_2/Concepts/SnapRoundingTraits_2.h index 5f908c59c86..0138ce98d6b 100644 --- a/Snap_rounding_2/doc/Snap_rounding_2/Concepts/SnapRoundingTraits_2.h +++ b/Snap_rounding_2/doc/Snap_rounding_2/Concepts/SnapRoundingTraits_2.h @@ -9,7 +9,7 @@ the free function \ref CGAL::snap_rounding_2() `CGAL::snap_rounding_2` */ @@ -170,9 +170,7 @@ namespace SRTraits_2{ \ingroup PkgSnapRounding2Concepts \cgalConcept Represents an iso rectangle - \cgalRefines `DefaultConstructible` - \cgalRefines `CopyConstructible` - \cgalRefines `Assignable` + \cgalRefines{DefaultConstructible,CopyConstructible,Assignable} \cgalHasModel \link SnapRoundingTraits_2::Iso_rectangle_2 `Snap_rounding_traits_2::Iso_rectangle_2` \endlink */ class IsoRectangle_2 @@ -181,7 +179,7 @@ class IsoRectangle_2 /*! \ingroup PkgSnapRounding2Concepts \cgalConcept - \cgalRefines `AdaptableBinaryFunction` + \cgalRefines{AdaptableBinaryFunction} \cgalHasModel \link SnapRoundingTraits_2::Construct_vertex_2 `Snap_rounding_traits_2::Construct_vertex_2` \endlink */ class ConstructVertex_2 @@ -198,7 +196,7 @@ class ConstructVertex_2 /*! \ingroup PkgSnapRounding2Concepts \cgalConcept - \cgalRefines `AdaptableBinaryFunction` + \cgalRefines{AdaptableBinaryFunction} \cgalHasModel \link SnapRoundingTraits_2::Construct_segment_2 `Snap_rounding_traits_2::Construct_segment_2` \endlink */ class ConstructSegment_2 @@ -215,7 +213,7 @@ class ConstructSegment_2 /*! \ingroup PkgSnapRounding2Concepts \cgalConcept - \cgalRefines `AdaptableQuaternaryFunction` + \cgalRefines{AdaptableQuaternaryFunction} \cgalHasModel \link SnapRoundingTraits_2::Construct_iso_rectangle_2 `Snap_rounding_traits_2::Construct_iso_rectangle_2` \endlink */ class ConstructIsoRectangle_2 @@ -236,7 +234,7 @@ class ConstructIsoRectangle_2 /*! \ingroup PkgSnapRounding2Concepts \cgalConcept - \cgalRefines `AdaptableBinaryFunction` + \cgalRefines{AdaptableBinaryFunction} \cgalHasModel \link SnapRoundingTraits_2::Compare_x_2 `Snap_rounding_traits_2::Compare_x_2` \endlink */ class CompareX_2 @@ -252,7 +250,7 @@ class CompareX_2 /*! \ingroup PkgSnapRounding2Concepts \cgalConcept - \cgalRefines `AdaptableBinaryFunction` + \cgalRefines{AdaptableBinaryFunction} \cgalHasModel \link SnapRoundingTraits_2::Compare_y_2 `Snap_rounding_traits_2::Compare_y_2` \endlink */ class CompareY_2 @@ -269,7 +267,7 @@ class CompareY_2 /*! \ingroup PkgSnapRounding2Concepts \cgalConcept - \cgalRefines `AdaptableQuaternaryFunction` + \cgalRefines{AdaptableQuaternaryFunction} \cgalHasModel \link SnapRoundingTraits_2::Snap_2 `Snap_rounding_traits_2::Snap_2` \endlink */ class Snap_2 @@ -288,7 +286,7 @@ class Snap_2 /*! \ingroup PkgSnapRounding2Concepts \cgalConcept - \cgalRefines `AdaptableBinaryFunction` + \cgalRefines{AdaptableBinaryFunction} \cgalHasModel \link SnapRoundingTraits_2::Integer_grid_point_2 `Snap_rounding_traits_2::Integer_grid_point_2` \endlink */ @@ -309,7 +307,7 @@ class IntegerGridPoint_2 /*! \ingroup PkgSnapRounding2Concepts \cgalConcept - \cgalRefines `AdaptableTernaryFunction` + \cgalRefines{AdaptableTernaryFunction} \cgalHasModel \link SnapRoundingTraits_2::Minkowski_sum_with_pixel_2 `Snap_rounding_traits_2::Minkowski_sum_with_pixel_2` \endlink */ class MinkowskiSumWithPixel_2 diff --git a/Solver_interface/doc/Solver_interface/Concepts/SparseLinearAlgebraTraits_d.h b/Solver_interface/doc/Solver_interface/Concepts/SparseLinearAlgebraTraits_d.h index 1857644c9d2..e0555447812 100644 --- a/Solver_interface/doc/Solver_interface/Concepts/SparseLinearAlgebraTraits_d.h +++ b/Solver_interface/doc/Solver_interface/Concepts/SparseLinearAlgebraTraits_d.h @@ -60,7 +60,7 @@ bool linear_solver(const Matrix& A, const Vector& B, Vector& X, NT& D); `SparseLinearAlgebraTraits_d::Vector` is a concept of a vector that can be multiplied by a sparse matrix. -\cgalRefines DefaultConstructible +\cgalRefines{DefaultConstructible} \cgalHasModel `CGAL::Eigen_vector` @@ -127,8 +127,7 @@ NT& operator[](Index row); `SparseLinearAlgebraTraits_d::Matrix` is a concept of a sparse matrix class. -\cgalRefines Assignable -\cgalRefines DefaultConstructible +\cgalRefines{Assignable,DefaultConstructible} \cgalHasModel `CGAL::Eigen_sparse_matrix` \cgalHasModel `CGAL::Eigen_sparse_symmetric_matrix` diff --git a/Solver_interface/doc/Solver_interface/Concepts/SparseLinearAlgebraWithFactorTraits_d.h b/Solver_interface/doc/Solver_interface/Concepts/SparseLinearAlgebraWithFactorTraits_d.h index 5bf3bf2aba1..0313402d356 100644 --- a/Solver_interface/doc/Solver_interface/Concepts/SparseLinearAlgebraWithFactorTraits_d.h +++ b/Solver_interface/doc/Solver_interface/Concepts/SparseLinearAlgebraWithFactorTraits_d.h @@ -6,7 +6,7 @@ A model of this concept stores the left-hand matrix (denoted \f$ A \f$) and provides an additional factorization method to solve the system for different right-hand vectors. -\cgalRefines `SparseLinearAlgebraTraits_d` +\cgalRefines{SparseLinearAlgebraTraits_d} \cgalHasModel `CGAL::Eigen_solver_traits` */ diff --git a/Solver_interface/doc/Solver_interface/Concepts/SvdTraits.h b/Solver_interface/doc/Solver_interface/Concepts/SvdTraits.h index 518b8df6532..939b29a4959 100644 --- a/Solver_interface/doc/Solver_interface/Concepts/SvdTraits.h +++ b/Solver_interface/doc/Solver_interface/Concepts/SvdTraits.h @@ -86,8 +86,7 @@ public: \cgalConcept Concept of matrix type used by the concept `SvdTraits`. -\cgalRefines `DefaultConstructible` -\cgalRefines `Assignable` +\cgalRefines{DefaultConstructible,Assignable} \cgalHasModel `CGAL::Eigen_matrix` */ diff --git a/Spatial_searching/doc/Spatial_searching/Concepts/OrthogonalDistance.h b/Spatial_searching/doc/Spatial_searching/Concepts/OrthogonalDistance.h index 34618365fea..d2a398589d8 100644 --- a/Spatial_searching/doc/Spatial_searching/Concepts/OrthogonalDistance.h +++ b/Spatial_searching/doc/Spatial_searching/Concepts/OrthogonalDistance.h @@ -6,7 +6,7 @@ Requirements of an orthogonal distance class supporting incremental distance upd To optimize distance computations transformed distances are used. E.g., for an Euclidean distance the transformed distance is the squared Euclidean distance. -\cgalRefines `GeneralDistance` +\cgalRefines{GeneralDistance} \cgalHasModel `CGAL::Euclidean_distance` \cgalHasModel `CGAL::Weighted_Minkowski_distance` diff --git a/Spatial_searching/doc/Spatial_searching/Concepts/RangeSearchTraits.h b/Spatial_searching/doc/Spatial_searching/Concepts/RangeSearchTraits.h index 3d418953f5c..5e7e310f0a5 100644 --- a/Spatial_searching/doc/Spatial_searching/Concepts/RangeSearchTraits.h +++ b/Spatial_searching/doc/Spatial_searching/Concepts/RangeSearchTraits.h @@ -6,7 +6,7 @@ The concept `RangeSearchTraits` defines the requirements for the template parameter of the search classes. This concept also defines requirements to range search queries in a model of `SpatialTree`. -\cgalRefines `SearchTraits` +\cgalRefines{SearchTraits} \cgalHasModel `CGAL::Cartesian_d` \cgalHasModel `CGAL::Homogeneous_d` diff --git a/Straight_skeleton_2/doc/Straight_skeleton_2/Concepts/PolygonOffsetBuilderTraits_2.h b/Straight_skeleton_2/doc/Straight_skeleton_2/Concepts/PolygonOffsetBuilderTraits_2.h index eed4756e9e2..cc2cf00a120 100644 --- a/Straight_skeleton_2/doc/Straight_skeleton_2/Concepts/PolygonOffsetBuilderTraits_2.h +++ b/Straight_skeleton_2/doc/Straight_skeleton_2/Concepts/PolygonOffsetBuilderTraits_2.h @@ -2,7 +2,7 @@ \ingroup PkgStraightSkeleton2Concepts \cgalConcept -\cgalRefines `StraightSkeletonBuilderTraits_2` +\cgalRefines{StraightSkeletonBuilderTraits_2} The concept `PolygonOffsetBuilderTraits_2` describes the requirements for the geometric traits class required by the algorithm class `CGAL::Polygon_offset_builder_2`. diff --git a/Straight_skeleton_2/doc/Straight_skeleton_2/Concepts/StraightSkeletonBuilderTraits_2.h b/Straight_skeleton_2/doc/Straight_skeleton_2/Concepts/StraightSkeletonBuilderTraits_2.h index eb9ca638cb5..f4fd0166ebb 100644 --- a/Straight_skeleton_2/doc/Straight_skeleton_2/Concepts/StraightSkeletonBuilderTraits_2.h +++ b/Straight_skeleton_2/doc/Straight_skeleton_2/Concepts/StraightSkeletonBuilderTraits_2.h @@ -2,8 +2,7 @@ \ingroup PkgStraightSkeleton2Concepts \cgalConcept -\cgalRefines `DefaultConstructible` -\cgalRefines `CopyConstructible` +\cgalRefines{DefaultConstructible,CopyConstructible} The concept `StraightSkeletonBuilderTraits_2` describes the requirements for the geometric traits class required by the algorithm class `CGAL::Straight_skeleton_builder_2`. diff --git a/Straight_skeleton_2/doc/Straight_skeleton_2/Concepts/StraightSkeletonFace_2.h b/Straight_skeleton_2/doc/Straight_skeleton_2/Concepts/StraightSkeletonFace_2.h index 555ec0d5b87..311987667fb 100644 --- a/Straight_skeleton_2/doc/Straight_skeleton_2/Concepts/StraightSkeletonFace_2.h +++ b/Straight_skeleton_2/doc/Straight_skeleton_2/Concepts/StraightSkeletonFace_2.h @@ -2,7 +2,7 @@ \ingroup PkgStraightSkeleton2Concepts \cgalConcept -\cgalRefines `HalfedgeDSFace` +\cgalRefines{HalfedgeDSFace} The concept `StraightSkeletonFace_2` describes the requirements for the face type of the `StraightSkeleton_2` concept. It is a refinement of the `HalfedgeDSFace` concept diff --git a/Straight_skeleton_2/doc/Straight_skeleton_2/Concepts/StraightSkeletonHalfedge_2.h b/Straight_skeleton_2/doc/Straight_skeleton_2/Concepts/StraightSkeletonHalfedge_2.h index ba9548e64b5..1f31421336a 100644 --- a/Straight_skeleton_2/doc/Straight_skeleton_2/Concepts/StraightSkeletonHalfedge_2.h +++ b/Straight_skeleton_2/doc/Straight_skeleton_2/Concepts/StraightSkeletonHalfedge_2.h @@ -2,7 +2,7 @@ \ingroup PkgStraightSkeleton2Concepts \cgalConcept -\cgalRefines `HalfedgeDSHalfedge` +\cgalRefines{HalfedgeDSHalfedge} The concept `StraightSkeletonHalfedge_2` describes the requirements for the halfedge type of the `StraightSkeleton_2` concept. It is a refinement of the `HalfedgeDSHalfedge` concept. diff --git a/Straight_skeleton_2/doc/Straight_skeleton_2/Concepts/StraightSkeletonVertex_2.h b/Straight_skeleton_2/doc/Straight_skeleton_2/Concepts/StraightSkeletonVertex_2.h index 9c9a5765a5c..7a26285dccf 100644 --- a/Straight_skeleton_2/doc/Straight_skeleton_2/Concepts/StraightSkeletonVertex_2.h +++ b/Straight_skeleton_2/doc/Straight_skeleton_2/Concepts/StraightSkeletonVertex_2.h @@ -2,7 +2,7 @@ \ingroup PkgStraightSkeleton2Concepts \cgalConcept -\cgalRefines `HalfedgeDSVertex` +\cgalRefines{HalfedgeDSVertex} The concept `StraightSkeletonVertex_2` describes the requirements for the vertex type of the `StraightSkeleton_2` concept. It is a refinement of the `HalfedgeDSVertex` concept diff --git a/Straight_skeleton_2/doc/Straight_skeleton_2/Concepts/StraightSkeleton_2.h b/Straight_skeleton_2/doc/Straight_skeleton_2/Concepts/StraightSkeleton_2.h index 340fb8a08b2..18a85973c5b 100644 --- a/Straight_skeleton_2/doc/Straight_skeleton_2/Concepts/StraightSkeleton_2.h +++ b/Straight_skeleton_2/doc/Straight_skeleton_2/Concepts/StraightSkeleton_2.h @@ -2,7 +2,7 @@ \ingroup PkgStraightSkeleton2Concepts \cgalConcept -\cgalRefines `HalfedgeDS` +\cgalRefines{HalfedgeDS} The concept `StraightSkeleton_2` describes the requirements for the data structure used to represent a straight skeleton. It refines the concept diff --git a/Straight_skeleton_2/examples/Straight_skeleton_2/Show_offset_polygon.cpp b/Straight_skeleton_2/examples/Straight_skeleton_2/Show_offset_polygon.cpp index 8a44d09ac73..296d721cc40 100644 --- a/Straight_skeleton_2/examples/Straight_skeleton_2/Show_offset_polygon.cpp +++ b/Straight_skeleton_2/examples/Straight_skeleton_2/Show_offset_polygon.cpp @@ -39,7 +39,7 @@ int main( int argc, char* argv[] ) for(Polygon_with_holes::Hole_const_iterator it = input.holes_begin(); it != input.holes_end(); ++it){ - assert(it->is_counterclockwise_oriented()); + assert(it->is_clockwise_oriented()); } double lOffset = 0.25 ; @@ -75,13 +75,13 @@ int main( int argc, char* argv[] ) else { std::cerr << "Computes the interior offset of a polygon with holes and draws the result in an EPS file." << std::endl + << std::endl + << "Usage: show_offset_polygon [output_eps_file]" << std::endl << std::endl - << "Usage: show_offset_polygon [offset_distance] [output_eps_file]" << std::endl - << std::endl - << " intput_file Text file describing the input polygon with holes." << std::endl - << " (See inputfile_format.txt for details)" << std::endl - << " offset_distance [default=0.25]." << std::endl - << " output_file [default='innput_file.offset.eps']" << std::endl ; + << " input_file Text file describing the input polygon with holes." << std::endl + << " (See input_file_format.txt for details" << std::endl + << " or use input_file_example.txt)" << std::endl + << " output_file [default='input_file.offset.eps']" << std::endl ; } return 0; diff --git a/Straight_skeleton_2/examples/Straight_skeleton_2/Show_straight_skeleton.cpp b/Straight_skeleton_2/examples/Straight_skeleton_2/Show_straight_skeleton.cpp index 00a721fb5bf..080749ec962 100644 --- a/Straight_skeleton_2/examples/Straight_skeleton_2/Show_straight_skeleton.cpp +++ b/Straight_skeleton_2/examples/Straight_skeleton_2/Show_straight_skeleton.cpp @@ -42,7 +42,7 @@ int main( int argc, char* argv[] ) for(Polygon_with_holes::Hole_const_iterator it = input.holes_begin(); it != input.holes_end(); ++it){ - assert(it->is_counterclockwise_oriented()); + assert(it->is_clockwise_oriented()); } //check the validity of the input and fix orientation @@ -51,8 +51,6 @@ int main( int argc, char* argv[] ) std::cerr << "ERROR: outer boundary is not simple."; return 1; } - if ( input.outer_boundary().is_clockwise_oriented() ) - input.outer_boundary().reverse_orientation(); int k=0; for (Polygon_with_holes::Hole_iterator it = input.holes_begin(); it!=input.holes_end(); ++it, ++k) @@ -62,8 +60,6 @@ int main( int argc, char* argv[] ) std::cerr << "ERROR: hole "<< k << " is not simple.\n"; return 1; } - if (it->is_counterclockwise_oriented()) - it->reverse_orientation(); } Straight_skeleton_ptr ss = CGAL::create_interior_straight_skeleton_2(input); @@ -99,11 +95,12 @@ int main( int argc, char* argv[] ) { std::cerr << "Computes the straight skeleton in the interior of a polygon with holes and draws it in an EPS file." << std::endl << std::endl - << "Usage: show_straight_skeleton [output_eps_file]" << std::endl + << "Usage: show_straight_skeleton [output_eps_file]" << std::endl << std::endl - << " intput_file Text file describing the input polygon with holes." << std::endl - << " (See input_file_format.txt for details)" << std::endl - << " output_file [default='innput_file.skeleton.eps']" << std::endl ; + << " input_file Text file describing the input polygon with holes." << std::endl + << " (See input_file_format.txt for details" << std::endl + << " or use input_file_example.txt)" << std::endl + << " output_file [default='input_file.skeleton.eps']" << std::endl ; } return 0; diff --git a/Straight_skeleton_2/examples/Straight_skeleton_2/input_file_example.txt b/Straight_skeleton_2/examples/Straight_skeleton_2/input_file_example.txt new file mode 100644 index 00000000000..5797949b2bc --- /dev/null +++ b/Straight_skeleton_2/examples/Straight_skeleton_2/input_file_example.txt @@ -0,0 +1,11 @@ +4 +0 0 +1 0 +1 1 +0 1 +1 +4 +0.125 0.125 +0.125 0.875 +0.875 0.875 +0.875 0.125 \ No newline at end of file diff --git a/Stream_support/include/CGAL/IO/3MF.h b/Stream_support/include/CGAL/IO/3MF.h index 728db311e02..c10a4be64d2 100644 --- a/Stream_support/include/CGAL/IO/3MF.h +++ b/Stream_support/include/CGAL/IO/3MF.h @@ -447,7 +447,7 @@ bool read_3MF(const std::string& fname, * \param fname the name of the 3mf file to write * \param all_points a `PointRanges` that contains the points of the soups to write * \param all_triangles a `TriangleRanges` that contains the triangles of the soups in `fname` - * \param names a range of std::string` associating a name to each soup, which will appear in the output + * \param names a range of `std::string` associating a name to each soup, which will appear in the output * * \return `true` if the writing is successful, `false` otherwise. */ diff --git a/Stream_support/include/CGAL/IO/helpers.h b/Stream_support/include/CGAL/IO/helpers.h index b1b65da66a5..36cd5e2a89c 100644 --- a/Stream_support/include/CGAL/IO/helpers.h +++ b/Stream_support/include/CGAL/IO/helpers.h @@ -54,7 +54,10 @@ static inline std::string get_file_extension(const std::string fname) return std::string(); std::string ext = fname.substr(dot+1, fname.length() - dot - 1); - std::transform(ext.begin(), ext.end(), ext.begin(), ::tolower); + std::transform(ext.begin(), ext.end(), ext.begin(), + [](char c) { + return static_cast(std::tolower(static_cast(c))); + }); return ext; } diff --git a/Subdivision_method_3/doc/Subdivision_method_3/Concepts/DQQMask_3.h b/Subdivision_method_3/doc/Subdivision_method_3/Concepts/DQQMask_3.h index f53d4db7ef4..c5a06d95618 100644 --- a/Subdivision_method_3/doc/Subdivision_method_3/Concepts/DQQMask_3.h +++ b/Subdivision_method_3/doc/Subdivision_method_3/Concepts/DQQMask_3.h @@ -9,7 +9,7 @@ policy concept of geometric computations is used in \image html DSCornerMask.svg -\cgalRefines `SubdivisionMask_3` +\cgalRefines{SubdivisionMask_3} \cgalHasModel `CGAL::DooSabin_mask_3` diff --git a/Subdivision_method_3/doc/Subdivision_method_3/Concepts/PQQMask_3.h b/Subdivision_method_3/doc/Subdivision_method_3/Concepts/PQQMask_3.h index 18f3c196d5f..bb28f171b02 100644 --- a/Subdivision_method_3/doc/Subdivision_method_3/Concepts/PQQMask_3.h +++ b/Subdivision_method_3/doc/Subdivision_method_3/Concepts/PQQMask_3.h @@ -9,7 +9,7 @@ policy concept of geometric computations is used in \image html CCBorderMask.svg -\cgalRefines `SubdivisionMask_3` +\cgalRefines{SubdivisionMask_3} \cgalHasModel `CGAL::CatmullClark_mask_3` diff --git a/Subdivision_method_3/doc/Subdivision_method_3/Concepts/PTQMask_3.h b/Subdivision_method_3/doc/Subdivision_method_3/Concepts/PTQMask_3.h index d149cd9ee66..6050b444ad3 100644 --- a/Subdivision_method_3/doc/Subdivision_method_3/Concepts/PTQMask_3.h +++ b/Subdivision_method_3/doc/Subdivision_method_3/Concepts/PTQMask_3.h @@ -8,7 +8,7 @@ policy concept of geometric computations is used in \image html LoopBorderMask.svg -\cgalRefines `SubdivisionMask_3` +\cgalRefines{SubdivisionMask_3} \cgalHasModel `CGAL::Loop_mask_3` diff --git a/Subdivision_method_3/doc/Subdivision_method_3/Concepts/Sqrt3Mask_3.h b/Subdivision_method_3/doc/Subdivision_method_3/Concepts/Sqrt3Mask_3.h index 77fe974dd62..ee5fc38d907 100644 --- a/Subdivision_method_3/doc/Subdivision_method_3/Concepts/Sqrt3Mask_3.h +++ b/Subdivision_method_3/doc/Subdivision_method_3/Concepts/Sqrt3Mask_3.h @@ -7,7 +7,7 @@ Required member functions for the `Sqrt3Mask_3` concept. This policy concept of geometric computations is used in `CGAL::Subdivision_method_3::Sqrt3`. -\cgalRefines `SubdivisionMask_3` +\cgalRefines{SubdivisionMask_3} \cgalHasModel `CGAL::Sqrt3_mask_3` diff --git a/Subdivision_method_3/doc/Subdivision_method_3/PackageDescription.txt b/Subdivision_method_3/doc/Subdivision_method_3/PackageDescription.txt index 20a6e93a23c..4ee3a29276d 100644 --- a/Subdivision_method_3/doc/Subdivision_method_3/PackageDescription.txt +++ b/Subdivision_method_3/doc/Subdivision_method_3/PackageDescription.txt @@ -39,12 +39,21 @@ The page \ref bgl_namedparameters describes their usage. - `DQQMask_3` - `Sqrt3Mask_3` +\cgalCRPSection{Functions} +- `CGAL::Subdivision_method_3::PQQ()` +- `CGAL::Subdivision_method_3::PTQ()` +- `CGAL::Subdivision_method_3::DQQ()` +- `CGAL::Subdivision_method_3::Sqrt3()` +- `CGAL::Subdivision_method_3::CatmullClark_subdivision()` +- `CGAL::Subdivision_method_3::Loop_subdivision()` +- `CGAL::Subdivision_method_3::DooSabin_subdivision()` +- `CGAL::Subdivision_method_3::Sqrt3_subdivision()` + \cgalCRPSection{Classes} -- `CGAL::Subdivision_method_3` - `CGAL::CatmullClark_mask_3` - `CGAL::Loop_mask_3` - `CGAL::DooSabin_mask_3` - `CGAL::Sqrt3_mask_3` +- `CGAL::Linear_mask_3` */ - diff --git a/Subdivision_method_3/doc/Subdivision_method_3/examples.txt b/Subdivision_method_3/doc/Subdivision_method_3/examples.txt index 4cf879d4d09..06021185bf7 100644 --- a/Subdivision_method_3/doc/Subdivision_method_3/examples.txt +++ b/Subdivision_method_3/doc/Subdivision_method_3/examples.txt @@ -2,6 +2,7 @@ \example Subdivision_method_3/Customized_subdivision.cpp \example Subdivision_method_3/CatmullClark_subdivision.cpp \example Subdivision_method_3/DooSabin_subdivision.cpp +\example Subdivision_method_3/Linear_subdivision.cpp \example Subdivision_method_3/Loop_subdivision.cpp \example Subdivision_method_3/Sqrt3_subdivision.cpp */ diff --git a/Subdivision_method_3/examples/Subdivision_method_3/Linear_subdivision.cpp b/Subdivision_method_3/examples/Subdivision_method_3/Linear_subdivision.cpp new file mode 100644 index 00000000000..a9314fb937a --- /dev/null +++ b/Subdivision_method_3/examples/Subdivision_method_3/Linear_subdivision.cpp @@ -0,0 +1,34 @@ +#include + +#include +#include + +#include + +#include +#include + +typedef CGAL::Simple_cartesian Kernel; +typedef CGAL::Surface_mesh Surface_mesh; + +namespace PMP = CGAL::Polygon_mesh_processing; + +int main(int argc, char* argv[]) { + + const std::string filename = (argc > 1) ? argv[1] : CGAL::data_file_path("meshes/quad.off"); + + Surface_mesh mesh; + if(!PMP::IO::read_polygon_mesh(filename, mesh)) + { + std::cerr << "Invalid input." << std::endl; + return 1; + } + + CGAL::Linear_mask_3 mask(&mesh); + CGAL::Subdivision_method_3::PQQ(mesh, mask, CGAL::parameters::number_of_iterations(1)); + + std::ofstream out("out.off"); + out << mesh; + + return 0; +} diff --git a/Subdivision_method_3/include/CGAL/Subdivision_method_3/internal/subdivision_hosts_impl_3.h b/Subdivision_method_3/include/CGAL/Subdivision_method_3/internal/subdivision_hosts_impl_3.h index 476f8796db4..93141445a65 100644 --- a/Subdivision_method_3/include/CGAL/Subdivision_method_3/internal/subdivision_hosts_impl_3.h +++ b/Subdivision_method_3/include/CGAL/Subdivision_method_3/internal/subdivision_hosts_impl_3.h @@ -81,6 +81,7 @@ void PQQ_1step(Poly& p, VertexPointMap vpm, Mask mask) { int i=0; std::unordered_map v_index; for(vertex_descriptor vh : p_vertices){ + vertex_point_buffer[i] = get(vpm, vh); v_index[vh]= i++; } diff --git a/Subdivision_method_3/include/CGAL/Subdivision_method_3/subdivision_masks_3.h b/Subdivision_method_3/include/CGAL/Subdivision_method_3/subdivision_masks_3.h index b80a511a262..af0d0d3e22a 100644 --- a/Subdivision_method_3/include/CGAL/Subdivision_method_3/subdivision_masks_3.h +++ b/Subdivision_method_3/include/CGAL/Subdivision_method_3/subdivision_masks_3.h @@ -88,7 +88,7 @@ public: public: Linear_mask_3(Mesh* pmesh) - : Base(pmesh, get(vertex_point, pmesh)) + : Base(pmesh, get(vertex_point, *pmesh)) { } Linear_mask_3(Mesh* pmesh, VertexPointMap vpmap) @@ -118,7 +118,7 @@ public: } void border_node(halfedge_descriptor edge, Point& ept, Point& /*vpt*/){ - edge_node(edge, ept); + edge_node(edge, ept); } }; diff --git a/Subdivision_method_3/include/CGAL/Subdivision_method_3/subdivision_methods_3.h b/Subdivision_method_3/include/CGAL/Subdivision_method_3/subdivision_methods_3.h index c84f688703b..4aebef94d49 100644 --- a/Subdivision_method_3/include/CGAL/Subdivision_method_3/subdivision_methods_3.h +++ b/Subdivision_method_3/include/CGAL/Subdivision_method_3/subdivision_methods_3.h @@ -74,6 +74,7 @@ Catmull-Clark subdivision. \sa `CGAL::DooSabin_mask_3` +\sa `CGAL::Linear_mask_3` */ /// @{ @@ -121,7 +122,6 @@ void CatmullClark_subdivision(PolygonMesh& pmesh, int step) { * \cgalParamNEnd * \cgalNamedParamsEnd * - * \pre `pmesh` must be a triangle mesh. **/ template void CatmullClark_subdivision(PolygonMesh& pmesh, const NamedParameters& np = parameters::default_values()) { @@ -179,6 +179,8 @@ void Loop_subdivision(PolygonMesh& pmesh, int step) { * \cgalParamDefault{`1`} * \cgalParamNEnd * \cgalNamedParamsEnd + * + * \pre `pmesh` must be a triangle mesh. **/ template void Loop_subdivision(PolygonMesh& pmesh, const NamedParameters& np = parameters::default_values()) { diff --git a/Surface_mesh/doc/Surface_mesh/Surface_mesh.txt b/Surface_mesh/doc/Surface_mesh/Surface_mesh.txt index 68ffffa3ee8..82555e4488c 100644 --- a/Surface_mesh/doc/Surface_mesh/Surface_mesh.txt +++ b/Surface_mesh/doc/Surface_mesh/Surface_mesh.txt @@ -77,11 +77,20 @@ they were created must be used to obtain this information. \subsection usage_example Example -The following example shows how to create a very simple `Surface_mesh` +The first example shows how to create a very simple `Surface_mesh` by adding 2 faces, and how to check that a face is correctly added to the mesh. \cgalExample{Surface_mesh/check_orientation.cpp} + +The second example shows how to access the points associated +to the vertices, either for an individual vertex, or as +the range of points of the entire mesh. Such a range can +be accessed in a for-loop or passed to functions that expect +a range of points as input. + +\cgalExample{Surface_mesh/sm_points.cpp} + \section sectionSurfaceMeshConnectivity Connectivity A surface mesh is an edge-centered data structure capable of diff --git a/Surface_mesh/doc/Surface_mesh/dependencies b/Surface_mesh/doc/Surface_mesh/dependencies index f065be3be0a..a0c74ee9da6 100644 --- a/Surface_mesh/doc/Surface_mesh/dependencies +++ b/Surface_mesh/doc/Surface_mesh/dependencies @@ -4,6 +4,7 @@ Algebraic_foundations BGL Box_intersection_d Circulator +Convex_hull_3 HalfedgeDS Kernel_23 Miscellany @@ -11,4 +12,3 @@ Polyhedron Polygon_mesh_processing STL_Extension Stream_support - diff --git a/Surface_mesh/doc/Surface_mesh/examples.txt b/Surface_mesh/doc/Surface_mesh/examples.txt index 4087a68d44f..cd0b6a6addf 100644 --- a/Surface_mesh/doc/Surface_mesh/examples.txt +++ b/Surface_mesh/doc/Surface_mesh/examples.txt @@ -1,5 +1,6 @@ /*! \example Surface_mesh/check_orientation.cpp +\example Surface_mesh/sm_points.cpp \example Surface_mesh/sm_iterators.cpp \example Surface_mesh/sm_circulators.cpp \example Surface_mesh/sm_properties.cpp diff --git a/Surface_mesh/examples/Surface_mesh/CMakeLists.txt b/Surface_mesh/examples/Surface_mesh/CMakeLists.txt index 9c693ffaa08..b39506d8b45 100644 --- a/Surface_mesh/examples/Surface_mesh/CMakeLists.txt +++ b/Surface_mesh/examples/Surface_mesh/CMakeLists.txt @@ -12,6 +12,7 @@ project(Surface_mesh_Examples) #CGAL_Qt5 is needed for the drawing. find_package(CGAL REQUIRED OPTIONAL_COMPONENTS Qt5) +create_single_source_cgal_program("sm_points.cpp") create_single_source_cgal_program("sm_derivation.cpp") create_single_source_cgal_program("sm_join.cpp") create_single_source_cgal_program("sm_aabbtree.cpp") diff --git a/Surface_mesh/examples/Surface_mesh/sm_iterators.cpp b/Surface_mesh/examples/Surface_mesh/sm_iterators.cpp index c5df80646f2..6f5270b76cf 100644 --- a/Surface_mesh/examples/Surface_mesh/sm_iterators.cpp +++ b/Surface_mesh/examples/Surface_mesh/sm_iterators.cpp @@ -46,7 +46,8 @@ int main() // or with boost::tie, as the CGAL range derives from std::pair for(boost::tie(vb, ve) = m.vertices(); vb != ve; ++vb){ - std::cout << *vb << std::endl; + // Print vertex index and vertex coordinates + std::cout << *vb << " " << m.point(*vb) << std::endl; } // Instead of the classical for loop one can use diff --git a/Surface_mesh/examples/Surface_mesh/sm_points.cpp b/Surface_mesh/examples/Surface_mesh/sm_points.cpp new file mode 100644 index 00000000000..345ab3f514f --- /dev/null +++ b/Surface_mesh/examples/Surface_mesh/sm_points.cpp @@ -0,0 +1,35 @@ +#include +#include +#include + +typedef CGAL::Simple_cartesian K; +typedef CGAL::Surface_mesh Mesh; +typedef Mesh::Vertex_index vertex_descriptor; +typedef Mesh::Face_index face_descriptor; + +int main() +{ + Mesh m; + vertex_descriptor v0 = m.add_vertex(K::Point_3(0,0,0)); + vertex_descriptor v1 = m.add_vertex(K::Point_3(1,0,0)); + vertex_descriptor v2 = m.add_vertex(K::Point_3(0,1,0)); + vertex_descriptor v3 = m.add_vertex(K::Point_3(0,0,1)); + + face_descriptor fd = m.add_face(v0, v1, v2); + m.add_face(v1, v0, v3); + + // Access the point for a given vertex + for(vertex_descriptor vd : vertices_around_face(m.halfedge(fd), m)){ + std ::cout << m.point(vd) << std::endl; + } + + // Access the range of all points of the mesh + for( const K::Point_3& p : m.points()){ + std::cout << p << std::endl; + } + + Mesh ch; + CGAL::convex_hull_3(m.points().begin(), m.points().end(), ch); + + return 0; +} diff --git a/Surface_mesh/examples/Surface_mesh/sm_properties.cpp b/Surface_mesh/examples/Surface_mesh/sm_properties.cpp index 6cb870f6194..d771ad492fd 100644 --- a/Surface_mesh/examples/Surface_mesh/sm_properties.cpp +++ b/Surface_mesh/examples/Surface_mesh/sm_properties.cpp @@ -2,6 +2,7 @@ #include #include +#include typedef CGAL::Simple_cartesian K; typedef CGAL::Surface_mesh Mesh; @@ -25,7 +26,7 @@ int main() // give each vertex a name, the default is empty Mesh::Property_map name; bool created; - boost::tie(name, created) = m.add_property_map("v:name",""); + boost::tie(name, created) = m.add_property_map("v:name","m1"); assert(created); // add some names to the vertices name[v0] = "hello"; @@ -51,14 +52,34 @@ int main() std::cout << name[vd] << " @ " << location[vd] << std::endl; } + Mesh m2; + CGAL::make_triangle(K::Point_3(0,0,1), K::Point_3(1,0,1),K::Point_3(0,1,1), m2); + + m2.add_property_map("v:name","m2"); + Mesh::Property_map index; + index = m2.add_property_map("v:index",-1).first; + int i = 0; + for (auto v : vertices(m2)) { + index[v] = i++; + } + + std::cout << "properties of m1:" << std::endl; std::vector props = m.properties(); for(std::string p : props){ std::cout << p << std::endl; } + m.join(m2); + std::cout << "properties of m1 after join:" << std::endl; + for(std::string p : m.properties()){ + std::cout << p << std::endl; + } + + for (auto v : vertices(m)) { + std::cout << name[v] << std::endl; + } // delete the string property again m.remove_property_map(name); return 0; } - diff --git a/Surface_mesh/include/CGAL/Surface_mesh/Surface_mesh.h b/Surface_mesh/include/CGAL/Surface_mesh/Surface_mesh.h index ea1f3f048f9..47232cbabd5 100644 --- a/Surface_mesh/include/CGAL/Surface_mesh/Surface_mesh.h +++ b/Surface_mesh/include/CGAL/Surface_mesh/Surface_mesh.h @@ -1215,6 +1215,10 @@ public: fprops_.resize(nfaces); } + /// copies the simplices from `other`, and copies values of + /// properties that already exist under the same name in `*this`. + /// In case `*this` has a property that does not exist in `other` + /// the copied simplices get the default value of the property. bool join(const Surface_mesh& other) { // increase capacity diff --git a/Surface_mesh_deformation/doc/Surface_mesh_deformation/Concepts/DeformationClosestRotationTraits_3.h b/Surface_mesh_deformation/doc/Surface_mesh_deformation/Concepts/DeformationClosestRotationTraits_3.h index c4a67edc2af..a8dbb00b46b 100644 --- a/Surface_mesh_deformation/doc/Surface_mesh_deformation/Concepts/DeformationClosestRotationTraits_3.h +++ b/Surface_mesh_deformation/doc/Surface_mesh_deformation/Concepts/DeformationClosestRotationTraits_3.h @@ -7,7 +7,7 @@ The definition of close depends on the model. The fact that some basic operations are hidden behind a function is to allow to benefit from optimizations like expression template from libraries used to implement models of this concept. -\cgalRefines `DefaultConstructible` +\cgalRefines{DefaultConstructible} \cgalHasModel `CGAL::Deformation_Eigen_closest_rotation_traits_3` \cgalHasModel `CGAL::Deformation_Eigen_polar_closest_rotation_traits_3` @@ -55,4 +55,4 @@ public: /// @} -}; \ No newline at end of file +}; diff --git a/Surface_mesh_deformation/doc/Surface_mesh_deformation/Concepts/RawPoint_3.h b/Surface_mesh_deformation/doc/Surface_mesh_deformation/Concepts/RawPoint_3.h index 7ac7398f121..41b10daa4a7 100644 --- a/Surface_mesh_deformation/doc/Surface_mesh_deformation/Concepts/RawPoint_3.h +++ b/Surface_mesh_deformation/doc/Surface_mesh_deformation/Concepts/RawPoint_3.h @@ -1,6 +1,6 @@ /// \ingroup PkgSurfaceMeshDeformationConcepts /// \cgalConcept -/// \cgalRefines `DefaultConstructible` and `Assignable` +/// \cgalRefines{DefaultConstructible,Assignable} /// /// Concept describing the set of requirements of a simple point type. /// diff --git a/Surface_mesh_parameterization/examples/Surface_mesh_parameterization/CMakeLists.txt b/Surface_mesh_parameterization/examples/Surface_mesh_parameterization/CMakeLists.txt index 988f875425e..0ae9468f45c 100644 --- a/Surface_mesh_parameterization/examples/Surface_mesh_parameterization/CMakeLists.txt +++ b/Surface_mesh_parameterization/examples/Surface_mesh_parameterization/CMakeLists.txt @@ -24,21 +24,19 @@ if(TARGET CGAL::Eigen3_support) if(SuiteSparse_FOUND) include_directories(${SuiteSparse_INCLUDE_DIRS}) endif(SuiteSparse_FOUND) - else(NOT SuiteSparse_FOUND) - include(${USE_SuiteSparse}) endif(NOT SuiteSparse_FOUND) if(SuiteSparse_FOUND) - if(SuiteSparse_UMFPACK_FOUND) + if(SuiteSparse_UMFPACK_FOUND OR TARGET SuiteSparse::umfpack) message(STATUS "SuiteSparse_LIBS: ${SuiteSparse_LIBRARIES}") message(STATUS "Orbifold Tutte Embeddings will use UmfPackLU") add_definitions(-DEIGEN_DONT_ALIGN_STATICALLY) - add_definitions(-DCGAL_SMP_USE_SPARSESUITE_SOLVERS) + add_definitions(-DCGAL_SMP_USE_SUITESPARSE_SOLVERS) else() - message(STATUS "NOTICE: The example `orbifold.cpp` will be compiled without the Sparsesuite library and UmfPack. Try setting SuiteSparse_UMF_INCLUDE_DIR and at least one of SuiteSparse_UMFPACK_LIBRARY_RELEASE and SuiteSparse_UMFPACK_LIBRARY_DEBUG to you UMFPACK installation.") + message(STATUS "NOTICE: The example `orbifold.cpp` will be compiled without the SuiteSparse library and UmfPack. Try setting SuiteSparse_UMF_INCLUDE_DIR and at least one of SuiteSparse_UMFPACK_LIBRARY_RELEASE and SuiteSparse_UMFPACK_LIBRARY_DEBUG to you UMFPACK installation.") endif() else(SuiteSparse_FOUND) - message(STATUS "NOTICE: The example `orbifold.cpp` will be compiled without the Sparsesuite library.") + message(STATUS "NOTICE: The example `orbifold.cpp` will not be compiled without the SuiteSparse library.") endif(SuiteSparse_FOUND) # ------------------------------------------------------------------ diff --git a/Surface_mesh_parameterization/include/CGAL/Surface_mesh_parameterization/ARAP_parameterizer_3.h b/Surface_mesh_parameterization/include/CGAL/Surface_mesh_parameterization/ARAP_parameterizer_3.h index 676d6f951a2..ca3de476091 100644 --- a/Surface_mesh_parameterization/include/CGAL/Surface_mesh_parameterization/ARAP_parameterizer_3.h +++ b/Surface_mesh_parameterization/include/CGAL/Surface_mesh_parameterization/ARAP_parameterizer_3.h @@ -33,7 +33,7 @@ #if defined(CGAL_EIGEN3_ENABLED) #include -#ifdef CGAL_SMP_USE_SPARSESUITE_SOLVERS +#ifdef CGAL_SMP_USE_SUITESPARSE_SOLVERS #include #endif #endif @@ -154,7 +154,7 @@ namespace Surface_mesh_parameterization { /// CGAL::Eigen_solver_traits< /// Eigen::SparseLU::EigenType> > /// \endcode -/// Moreover, if SparseSuite solvers are available, which is greatly preferable for speed, +/// Moreover, if SuiteSparse solvers are available, which is greatly preferable for speed, /// then the default parameter is: /// \code /// CGAL::Eigen_solver_traits< @@ -183,7 +183,7 @@ public: typedef typename Default::Get< SolverTraits_, #if defined(CGAL_EIGEN3_ENABLED) - #ifdef CGAL_SMP_USE_SPARSESUITE_SOLVERS + #ifdef CGAL_SMP_USE_SUITESPARSE_SOLVERS CGAL::Eigen_solver_traits< Eigen::UmfPackLU::EigenType> > #else diff --git a/Surface_mesh_parameterization/include/CGAL/Surface_mesh_parameterization/Orbifold_Tutte_parameterizer_3.h b/Surface_mesh_parameterization/include/CGAL/Surface_mesh_parameterization/Orbifold_Tutte_parameterizer_3.h index 32ab1511ca8..c23ce5bf15d 100644 --- a/Surface_mesh_parameterization/include/CGAL/Surface_mesh_parameterization/Orbifold_Tutte_parameterizer_3.h +++ b/Surface_mesh_parameterization/include/CGAL/Surface_mesh_parameterization/Orbifold_Tutte_parameterizer_3.h @@ -33,7 +33,7 @@ #if defined(CGAL_EIGEN3_ENABLED) #include -#ifdef CGAL_SMP_USE_SPARSESUITE_SOLVERS +#ifdef CGAL_SMP_USE_SUITESPARSE_SOLVERS #include #endif #endif @@ -65,7 +65,7 @@ namespace Surface_mesh_parameterization { /// \ingroup PkgSurfaceMeshParameterizationOrbifoldHelperFunctions /// /// reads a series of cones from an input stream. Cones are passed as an -/// integer value that is the index of a vertex handle in the mesh tm`, using +/// integer value that is the index of a vertex handle in the mesh `tm`, using /// the vertex index property map `vpmap` for correspondency. /// /// \attention The mesh is here `tm`, it is the base mesh of the `CGAL::Seam_mesh` @@ -368,7 +368,7 @@ bool locate_unordered_cones(const SeamMesh& mesh, /// CGAL::Eigen_solver_traits< /// Eigen::SparseLU::EigenType> > /// \endcode -/// Moreover, if SparseSuite solvers are available, which is greatly preferable for speed, +/// Moreover, if SuiteSparse solvers are available, which is greatly preferable for speed, /// then the default parameter is: /// \code /// CGAL::Eigen_solver_traits< @@ -391,7 +391,7 @@ public: typedef typename Default::Get< SolverTraits_, #if defined(CGAL_EIGEN3_ENABLED) - #ifdef CGAL_SMP_USE_SPARSESUITE_SOLVERS + #ifdef CGAL_SMP_USE_SUITESPARSE_SOLVERS CGAL::Eigen_solver_traits< Eigen::UmfPackLU::EigenType> > #else diff --git a/Surface_mesh_segmentation/doc/Surface_mesh_segmentation/Concepts/SegmentationGeomTraits.h b/Surface_mesh_segmentation/doc/Surface_mesh_segmentation/Concepts/SegmentationGeomTraits.h index b5f5010acdc..93450589cfc 100644 --- a/Surface_mesh_segmentation/doc/Surface_mesh_segmentation/Concepts/SegmentationGeomTraits.h +++ b/Surface_mesh_segmentation/doc/Surface_mesh_segmentation/Concepts/SegmentationGeomTraits.h @@ -7,7 +7,7 @@ of the geometric traits needed by the segmentation functions. \cgalHasModel All the \cgal Kernels -\cgalRefines AABBGeomTraits +\cgalRefines{AABBGeomTraits} */ diff --git a/Surface_mesh_shortest_path/doc/Surface_mesh_shortest_path/Concepts/SurfaceMeshShortestPathTraits.h b/Surface_mesh_shortest_path/doc/Surface_mesh_shortest_path/Concepts/SurfaceMeshShortestPathTraits.h index ff38140189c..652c3457496 100644 --- a/Surface_mesh_shortest_path/doc/Surface_mesh_shortest_path/Concepts/SurfaceMeshShortestPathTraits.h +++ b/Surface_mesh_shortest_path/doc/Surface_mesh_shortest_path/Concepts/SurfaceMeshShortestPathTraits.h @@ -7,7 +7,7 @@ The concept `SurfaceMeshShortestPathTraits` describes the types, predicates, and constructions required by the traits class parameter of `CGAL::Surface_mesh_shortest_path`. -\cgalRefines `CopyConstructible` and `Assignable` +\cgalRefines{CopyConstructible,Assignable} \cgalHasModel `CGAL::Surface_mesh_shortest_path_traits` */ @@ -340,4 +340,4 @@ public: /// @} -}; \ No newline at end of file +}; diff --git a/Surface_mesh_simplification/doc/Surface_mesh_simplification/Concepts/GetCost.h b/Surface_mesh_simplification/doc/Surface_mesh_simplification/Concepts/GetCost.h index 05cc98d4698..24a05f636c2 100644 --- a/Surface_mesh_simplification/doc/Surface_mesh_simplification/Concepts/GetCost.h +++ b/Surface_mesh_simplification/doc/Surface_mesh_simplification/Concepts/GetCost.h @@ -10,8 +10,7 @@ An absent cost indicates that the edge should not be collapsed. This could be the result of a computational limitation (such as an overflow), or can be intentionally returned to prevent the edge from being collapsed. -\cgalRefines `DefaultConstructible` -\cgalRefines `CopyConstructible` +\cgalRefines{DefaultConstructible,CopyConstructible} \cgalHasModel `CGAL::Surface_mesh_simplification::Edge_length_cost` \cgalHasModel `CGAL::Surface_mesh_simplification::LindstromTurk_cost` diff --git a/Surface_mesh_simplification/doc/Surface_mesh_simplification/Concepts/GetPlacement.h b/Surface_mesh_simplification/doc/Surface_mesh_simplification/Concepts/GetPlacement.h index e48fbe8ccb7..e576472cb34 100644 --- a/Surface_mesh_simplification/doc/Surface_mesh_simplification/Concepts/GetPlacement.h +++ b/Surface_mesh_simplification/doc/Surface_mesh_simplification/Concepts/GetPlacement.h @@ -12,8 +12,7 @@ be absent). An absent result indicates that the edge should not be collapsed. This could be the result of a computational limitation (such as an overflow), or can be intentionally returned to prevent the edge from being collapsed. -\cgalRefines `DefaultConstructible` -\cgalRefines `CopyConstructible` +\cgalRefines{DefaultConstructible,CopyConstructible} \cgalHasModel `CGAL::Surface_mesh_simplification::Midpoint_placement` \cgalHasModel `CGAL::Surface_mesh_simplification::LindstromTurk_placement` diff --git a/Surface_mesh_simplification/doc/Surface_mesh_simplification/Concepts/PlacementFilter.h b/Surface_mesh_simplification/doc/Surface_mesh_simplification/Concepts/PlacementFilter.h index b0b254733b4..324c87f45ee 100644 --- a/Surface_mesh_simplification/doc/Surface_mesh_simplification/Concepts/PlacementFilter.h +++ b/Surface_mesh_simplification/doc/Surface_mesh_simplification/Concepts/PlacementFilter.h @@ -12,8 +12,7 @@ priority queue. The placement returned is a `boost::optional` value (i.e., it can be absent). The value `boost::none` indicates that the edge should not be collapsed. -\cgalRefines `DefaultConstructible` -\cgalRefines `CopyConstructible` +\cgalRefines{DefaultConstructible,CopyConstructible} \cgalHasModel `CGAL::Surface_mesh_simplification::Bounded_normal_change_filter` \cgalHasModel `CGAL::Surface_mesh_simplification::Polyhedral_envelope_filter` diff --git a/Surface_mesh_topology/doc/Surface_mesh_topology/Concepts/PolygonalSchema.h b/Surface_mesh_topology/doc/Surface_mesh_topology/Concepts/PolygonalSchema.h index 03fe479f999..01c344d316c 100644 --- a/Surface_mesh_topology/doc/Surface_mesh_topology/Concepts/PolygonalSchema.h +++ b/Surface_mesh_topology/doc/Surface_mesh_topology/Concepts/PolygonalSchema.h @@ -7,7 +7,7 @@ PolygonalSchema::Dart_info should be a class having a public data member std::string m_label. PolygonalSchema::dimension should be equal to 2. - \cgalRefines GenericMap + \cgalRefines{GenericMap} \cgalHasModel \link CGAL::Surface_mesh_topology::Polygonal_schema_with_combinatorial_map `CGAL::Surface_mesh_topology::Polygonal_schema_with_combinatorial_map`\endlink \cgalHasModel \link CGAL::Surface_mesh_topology::Polygonal_schema_with_generalized_map `CGAL::Surface_mesh_topology::Polygonal_schema_with_generalized_map`\endlink diff --git a/Surface_mesh_topology/doc/Surface_mesh_topology/Concepts/PolygonalSchemaItems.h b/Surface_mesh_topology/doc/Surface_mesh_topology/Concepts/PolygonalSchemaItems.h index a92d7a1af8b..8ee52354e37 100644 --- a/Surface_mesh_topology/doc/Surface_mesh_topology/Concepts/PolygonalSchemaItems.h +++ b/Surface_mesh_topology/doc/Surface_mesh_topology/Concepts/PolygonalSchemaItems.h @@ -4,7 +4,7 @@ The concept `PolygonalSchemaItems` allows to customize a `PolygonalSchema` by choosing the information associated with darts, and by enabling and disabling some attributes. `%Dart_wrapper::%Dart_info`, should be a class having a public data member std::string m_label. - \cgalRefines GenericMapItems + \cgalRefines{GenericMapItems} \cgalHasModel \link CGAL::Surface_mesh_topology::Polygonal_schema_min_items `CGAL::Surface_mesh_topology::Polygonal_schema_min_items`\endlink */ diff --git a/Surface_mesh_topology/doc/Surface_mesh_topology/Surface_mesh_topology.txt b/Surface_mesh_topology/doc/Surface_mesh_topology/Surface_mesh_topology.txt index 5b83016393d..c77e981af71 100644 --- a/Surface_mesh_topology/doc/Surface_mesh_topology/Surface_mesh_topology.txt +++ b/Surface_mesh_topology/doc/Surface_mesh_topology/Surface_mesh_topology.txt @@ -62,7 +62,7 @@ The algorithm used is based on a paper by Despré and Lazarus \cgalCite{cgal:dl- The main class for this package is `Surface_mesh_topology::Curves_on_surface_topology`. Its constructor takes the input surface. An internal representation of the surface (described below) is computed the first time an homotopy test is called. Each combinatorial curve on this surface is contained in an instance of the class `Surface_mesh_topology::Path_on_surface`. An object in this class behaves as a list. This list is initially empty and the halfedges corresponding to the sequence of consecutive oriented edges of an input curve should be pushed back in this list. The class provides four ways for extending a nonempty path. -- Simply push the next halfedge using the \ref Surface_mesh_topology::Path_on_surface::push_back "push_back()" member function. One can also specify if this halfedge should have its direction flipped so as to satisfy the condition of a `Path_on_surface` (see the description of \ref Surface_mesh_topology::Path_on_surface::can_be_pushed "`can_be_pushed()`" below) This can be done even when the path is empty, +- Simply push the next halfedge using the \ref Surface_mesh_topology::Path_on_surface::push_back "push_back()" member function. One can also specify if this halfedge should have its direction flipped so as to satisfy the condition of a `Path_on_surface` (see the description of \ref Surface_mesh_topology::Path_on_surface::can_be_pushed "can_be_pushed()" below) This can be done even when the path is empty, - The user may push the index of the next halfedge instead of the halfedge itself with the member function \ref Surface_mesh_topology::Path_on_surface::push_back_by_index "push_back_by_index()". This may however be at the cost of an overhead computation mapping the index to the actual dart, - The path may be extended with the member function \ref Surface_mesh_topology::Path_on_surface::extend_positive_turn "extend_positive_turn()" by specifying the next halfedge thanks to a number of positive turns with respect to the previous dart/halfedge in the path. Calling this previous halfedge `h`, extending by a positive one turn is thus equivalent to extend the path with `next(h)`. An analogous member function \ref Surface_mesh_topology::Path_on_surface::extend_negative_turn "extend_negative_turn()" is provided for convenience, - Finally, when the input surface is a model of `PolygonalSchema`, which is a model of `GenericMap` with labeled edges as explained in section \ref SMTopology_Schema, the user may push the label of the next halfedge instead of the halfedge itself with the member function \ref Surface_mesh_topology::Path_on_surface::push_back_by_label "push_back_by_label()". diff --git a/Surface_mesher/doc/Surface_mesher/Concepts/SurfaceMeshCellBase_3.h b/Surface_mesher/doc/Surface_mesher/Concepts/SurfaceMeshCellBase_3.h index 0b2dc2c93bd..f418f71e47b 100644 --- a/Surface_mesher/doc/Surface_mesher/Concepts/SurfaceMeshCellBase_3.h +++ b/Surface_mesher/doc/Surface_mesher/Concepts/SurfaceMeshCellBase_3.h @@ -21,7 +21,7 @@ a three dimensional triangulation type The concept `SurfaceMeshCellBase_3` describes the cell base type required in this triangulation type. -\cgalRefines `DelaunayTriangulationCellBase_3` +\cgalRefines{DelaunayTriangulationCellBase_3} The concept `SurfaceMeshCellBase_3` adds four markers to mark the facets of the triangulation that belong to the two dimensional diff --git a/Surface_mesher/doc/Surface_mesher/Concepts/SurfaceMeshVertexBase_3.h b/Surface_mesher/doc/Surface_mesher/Concepts/SurfaceMeshVertexBase_3.h index bf96a622f14..5e1f3b3098d 100644 --- a/Surface_mesher/doc/Surface_mesher/Concepts/SurfaceMeshVertexBase_3.h +++ b/Surface_mesher/doc/Surface_mesher/Concepts/SurfaceMeshVertexBase_3.h @@ -21,7 +21,7 @@ a three dimensional triangulation type The concept `SurfaceMeshVertexBase_3` describes the vertex base type required in this triangulation type. -\cgalRefines `TriangulationVertexBase_3` +\cgalRefines{TriangulationVertexBase_3} The surface mesher algorithm issues frequent queries about the status of the vertices with respect to the two dimensional complex that represents the current surface approximation. The class diff --git a/TDS_2/doc/TDS_2/Concepts/TriangulationDSFaceBase_2.h b/TDS_2/doc/TDS_2/Concepts/TriangulationDSFaceBase_2.h index f701e8e06bc..d3bc61921c5 100644 --- a/TDS_2/doc/TDS_2/Concepts/TriangulationDSFaceBase_2.h +++ b/TDS_2/doc/TDS_2/Concepts/TriangulationDSFaceBase_2.h @@ -3,7 +3,7 @@ \ingroup PkgTDS2Concepts \cgalConcept -\cgalRefines `TriangulationDataStructure_2::Face` +\cgalRefines{TriangulationDataStructure_2::Face} The concept `TriangulationDSFaceBase_2` describes the requirements for the face base class of a `CGAL::Triangulation_data_structure_2`. diff --git a/TDS_2/doc/TDS_2/Concepts/TriangulationDSVertexBase_2.h b/TDS_2/doc/TDS_2/Concepts/TriangulationDSVertexBase_2.h index 37f979d4717..8402f4f4442 100644 --- a/TDS_2/doc/TDS_2/Concepts/TriangulationDSVertexBase_2.h +++ b/TDS_2/doc/TDS_2/Concepts/TriangulationDSVertexBase_2.h @@ -3,7 +3,7 @@ \ingroup PkgTDS2Concepts \cgalConcept -\cgalRefines `TriangulationDataStructure_2::Vertex` +\cgalRefines{TriangulationDataStructure_2::Vertex} The concept `TriangulationDSVertexBase_2` describes the requirements for the vertex base class of a `CGAL::Triangulation_data_structure_2`. diff --git a/TDS_3/doc/TDS_3/Concepts/TriangulationDSCellBase_3.h b/TDS_3/doc/TDS_3/Concepts/TriangulationDSCellBase_3.h index 0c7108a3d67..4ce03689c74 100644 --- a/TDS_3/doc/TDS_3/Concepts/TriangulationDSCellBase_3.h +++ b/TDS_3/doc/TDS_3/Concepts/TriangulationDSCellBase_3.h @@ -3,7 +3,7 @@ \ingroup PkgTDS3Concepts \cgalConcept -\cgalRefines TriangulationDataStructure_3::Cell +\cgalRefines{TriangulationDataStructure_3::Cell} The concept `TriangulationDSCellBase_3` describes the requirements for the cell base class of a `CGAL::Triangulation_data_structure_3`. diff --git a/TDS_3/doc/TDS_3/Concepts/TriangulationDSVertexBase_3.h b/TDS_3/doc/TDS_3/Concepts/TriangulationDSVertexBase_3.h index 9435ee7e9e5..eef2cf0d3d4 100644 --- a/TDS_3/doc/TDS_3/Concepts/TriangulationDSVertexBase_3.h +++ b/TDS_3/doc/TDS_3/Concepts/TriangulationDSVertexBase_3.h @@ -3,7 +3,7 @@ \ingroup PkgTDS3Concepts \cgalConcept -\cgalRefines TriangulationDataStructure_3::Vertex +\cgalRefines{TriangulationDataStructure_3::Vertex} The concept TriangulationDSVertexBase_3 describes the requirements for the vertex base class of a CGAL::Triangulation_data_structure_3. diff --git a/Testsuite/test/parse-ctest-dashboard-xml.py b/Testsuite/test/parse-ctest-dashboard-xml.py index 0df042fa1d5..748ada8a48c 100644 --- a/Testsuite/test/parse-ctest-dashboard-xml.py +++ b/Testsuite/test/parse-ctest-dashboard-xml.py @@ -83,13 +83,16 @@ with open_file_create_dir(result_file_name.format(dir=os.getcwd(), tester=tester_name, platform=platform_name), 'a+') as results: for label, tests in tests_per_label.items(): - counts={"n": 0, "w": 0, "t": 0} + counts={"n": 0, "w": 0, "t": 0, "o": 0} result_for_label='y' with open_file_create_dir("{}/error.txt".format(label), 'w') as error: for t in tests: print(" {result} {name} in {time} s : {value} ".format(result = "successful " if (t['Status'] == 'passed') else "ERROR: ", name = t['Name'], value = t['ExitValue'] if(t['ExitValue'] != "") else "SUCCESS" , time = t['ExecutionTime']), file=error) if t['Status'] != 'passed': - counts["n"]+=1 + if t['ExitValue'] == "Timeout": + counts["o"]+=1 + else: + counts["n"]+=1 elif t['Output'] != None and w_det.search(t['Output']): entries = re.split("\n+", t['Output']) for entry in entries: @@ -108,6 +111,8 @@ with open_file_create_dir(result_file_name.format(dir=os.getcwd(), if counts["n"] > 0: result_for_label='n' + elif counts["o"] > 0: + result_for_label='o' elif counts["w"] > 0: result_for_label='w' elif counts["t"] > 0: diff --git a/Tetrahedral_remeshing/doc/Tetrahedral_remeshing/Concepts/RemeshingCellBase_3.h b/Tetrahedral_remeshing/doc/Tetrahedral_remeshing/Concepts/RemeshingCellBase_3.h index 81ee216aa7f..01d05c5c873 100644 --- a/Tetrahedral_remeshing/doc/Tetrahedral_remeshing/Concepts/RemeshingCellBase_3.h +++ b/Tetrahedral_remeshing/doc/Tetrahedral_remeshing/Concepts/RemeshingCellBase_3.h @@ -2,7 +2,7 @@ \ingroup PkgTetrahedralRemeshingConcepts \cgalConcept -\cgalRefines SimplicialMeshCellBase_3 +\cgalRefines{SimplicialMeshCellBase_3} Cell base concept to be used in the triangulation type given to the function `CGAL::tetrahedral_isotropic_remeshing()`. diff --git a/Tetrahedral_remeshing/doc/Tetrahedral_remeshing/Concepts/RemeshingTriangulationTraits_3.h b/Tetrahedral_remeshing/doc/Tetrahedral_remeshing/Concepts/RemeshingTriangulationTraits_3.h index 451a9425179..d275fbc03a7 100644 --- a/Tetrahedral_remeshing/doc/Tetrahedral_remeshing/Concepts/RemeshingTriangulationTraits_3.h +++ b/Tetrahedral_remeshing/doc/Tetrahedral_remeshing/Concepts/RemeshingTriangulationTraits_3.h @@ -3,7 +3,7 @@ \ingroup PkgTetrahedralRemeshingConcepts \cgalConcept -\cgalRefines TriangulationTraits_3 +\cgalRefines{TriangulationTraits_3} The concept `RemeshingTriangulationTraits_3` is the first template parameter of the class `Remeshing_triangulation_3`. It defines the geometric objects diff --git a/Tetrahedral_remeshing/doc/Tetrahedral_remeshing/Concepts/RemeshingVertexBase_3.h b/Tetrahedral_remeshing/doc/Tetrahedral_remeshing/Concepts/RemeshingVertexBase_3.h index 21fa97e1ed6..0e9b0e86003 100644 --- a/Tetrahedral_remeshing/doc/Tetrahedral_remeshing/Concepts/RemeshingVertexBase_3.h +++ b/Tetrahedral_remeshing/doc/Tetrahedral_remeshing/Concepts/RemeshingVertexBase_3.h @@ -2,7 +2,7 @@ \ingroup PkgTetrahedralRemeshingConcepts \cgalConcept -\cgalRefines SimplicialMeshVertexBase_3 +\cgalRefines{SimplicialMeshVertexBase_3} Vertex base concept to be used in the triangulation type given to the function `CGAL::tetrahedral_isotropic_remeshing()`. diff --git a/Three/doc/Three/Three.txt b/Three/doc/Three/Three.txt index 140b50857f4..19d8f8eb7ec 100644 --- a/Three/doc/Three/Three.txt +++ b/Three/doc/Three/Three.txt @@ -117,7 +117,7 @@ It is really simple to add a pop-up box with Qt. Use a QMessageBox and give it s This section describes how to add a dock widget to the application.\n You can make your plugin inherit from CGAL::Three::Polyhedron_demo_plugin_helper, which gives access to the function CGAL::Three::Polyhedron_demo_plugin_helper#addDockWidget. This will manage automatically the position and tabification of a dock widget. \n -Just like with the Dialog, create a new Qt Designer form (file->New file or Project->Qt->Qt Designer Form), choose `QDockWidget in Widgets +Just like with the Dialog, create a new Qt Designer form (file->New file or Project->Qt->Qt Designer Form), choose `QDockWidget` in Widgets * \image html menu_6.png Add it to the project in the CMakeLists.txt : diff --git a/Triangulation/doc/Triangulation/Concepts/DelaunayTriangulationTraits.h b/Triangulation/doc/Triangulation/Concepts/DelaunayTriangulationTraits.h index 06d779529ae..670217bb50d 100644 --- a/Triangulation/doc/Triangulation/Concepts/DelaunayTriangulationTraits.h +++ b/Triangulation/doc/Triangulation/Concepts/DelaunayTriangulationTraits.h @@ -7,7 +7,7 @@ This concept describes the geometric types and predicates required to build a Delaunay triangulation. It corresponds to the first template parameter of the class `CGAL::Delaunay_triangulation`. -\cgalRefines `TriangulationTraits` +\cgalRefines{TriangulationTraits} \cgalHasModel `CGAL::Epick_d` \cgalHasModel `CGAL::Epeck_d` diff --git a/Triangulation/doc/Triangulation/Concepts/RegularTriangulationTraits.h b/Triangulation/doc/Triangulation/Concepts/RegularTriangulationTraits.h index 0ed01519e69..00ec18a9e8c 100644 --- a/Triangulation/doc/Triangulation/Concepts/RegularTriangulationTraits.h +++ b/Triangulation/doc/Triangulation/Concepts/RegularTriangulationTraits.h @@ -7,7 +7,7 @@ This concept describes the geometric types and predicates required to build a regular triangulation. It corresponds to the first template parameter of the class `CGAL::Regular_triangulation`. -\cgalRefines `TriangulationTraits` +\cgalRefines{TriangulationTraits} \cgalHasModel `CGAL::Epick_d` \cgalHasModel `CGAL::Epeck_d` diff --git a/Triangulation/doc/Triangulation/Concepts/TriangulationDSFullCell.h b/Triangulation/doc/Triangulation/Concepts/TriangulationDSFullCell.h index 3c32f97f7c5..a29eef83396 100644 --- a/Triangulation/doc/Triangulation/Concepts/TriangulationDSFullCell.h +++ b/Triangulation/doc/Triangulation/Concepts/TriangulationDSFullCell.h @@ -34,7 +34,7 @@ that the `CGAL::Triangulation_data_structure` actually uses as a base class for the class of `CGAL::Triangulation_data_structure::Vertex`. -\cgalRefines `TriangulationDataStructure::FullCell` +\cgalRefines{TriangulationDataStructure::FullCell} \cgalHasModel `CGAL::Triangulation_ds_full_cell` \cgalHasModel `CGAL::Triangulation_full_cell` diff --git a/Triangulation/doc/Triangulation/Concepts/TriangulationDSVertex.h b/Triangulation/doc/Triangulation/Concepts/TriangulationDSVertex.h index 5e3def7d9bd..30b22c4994b 100644 --- a/Triangulation/doc/Triangulation/Concepts/TriangulationDSVertex.h +++ b/Triangulation/doc/Triangulation/Concepts/TriangulationDSVertex.h @@ -34,7 +34,7 @@ that the `CGAL::Triangulation_data_structure` actually uses as a base class for the class of `CGAL::Triangulation_data_structure::Vertex`. -\cgalRefines `TriangulationDataStructure::Vertex` +\cgalRefines{TriangulationDataStructure::Vertex} \cgalHasModel `CGAL::Triangulation_ds_vertex` \cgalHasModel `CGAL::Triangulation_vertex` diff --git a/Triangulation/doc/Triangulation/Concepts/TriangulationFullCell.h b/Triangulation/doc/Triangulation/Concepts/TriangulationFullCell.h index 8c0f1f76cf4..74750c4117a 100644 --- a/Triangulation/doc/Triangulation/Concepts/TriangulationFullCell.h +++ b/Triangulation/doc/Triangulation/Concepts/TriangulationFullCell.h @@ -7,8 +7,8 @@ The concept `TriangulationFullCell` describes the requirements on the type used class `CGAL::Triangulation`, and its derived classes, to represent a full cell. -\cgalRefines `TriangulationDSFullCell` We only list below the -additional specific requirements of `TriangulationFullCell`. +\cgalRefines{TriangulationDSFullCell We only list below the +additional specific requirements of `TriangulationFullCell`} \cgalHasModel `CGAL::Triangulation_full_cell` diff --git a/Triangulation/doc/Triangulation/Concepts/TriangulationTraits.h b/Triangulation/doc/Triangulation/Concepts/TriangulationTraits.h index 52a4d18d176..87018c11c3c 100644 --- a/Triangulation/doc/Triangulation/Concepts/TriangulationTraits.h +++ b/Triangulation/doc/Triangulation/Concepts/TriangulationTraits.h @@ -7,7 +7,7 @@ This concept describes the geometric types and predicates required to build a triangulation. It corresponds to the first template parameter of the class `CGAL::Triangulation`. -\cgalRefines `SpatialSortingTraits_d` +\cgalRefines{SpatialSortingTraits_d} If a range of points is inserted, the traits must refine `SpatialSortingTraits_d`. The insertion is diff --git a/Triangulation/doc/Triangulation/Concepts/TriangulationVertex.h b/Triangulation/doc/Triangulation/Concepts/TriangulationVertex.h index 6b2e67375ae..0ea82971793 100644 --- a/Triangulation/doc/Triangulation/Concepts/TriangulationVertex.h +++ b/Triangulation/doc/Triangulation/Concepts/TriangulationVertex.h @@ -7,7 +7,7 @@ The concept `TriangulationVertex` describes the requirements on the type used by class `CGAL::Triangulation`, and its derived classes, to represent a vertex. -\cgalRefines `TriangulationDSVertex` +\cgalRefines{TriangulationDSVertex} We only list below the additional specific requirements of ::TriangulationVertex. Compared to ::TriangulationDSVertex, the main difference is the addition of an association of the vertex with a geometric point. diff --git a/Triangulation_2/doc/Triangulation_2/CGAL/Constrained_Delaunay_triangulation_2.h b/Triangulation_2/doc/Triangulation_2/CGAL/Constrained_Delaunay_triangulation_2.h index a66b36fa52b..d0c228c5880 100644 --- a/Triangulation_2/doc/Triangulation_2/CGAL/Constrained_Delaunay_triangulation_2.h +++ b/Triangulation_2/doc/Triangulation_2/CGAL/Constrained_Delaunay_triangulation_2.h @@ -191,8 +191,6 @@ Inserts the line segment between the points `c.first` and `c.second` as a const /*! Inserts the line segment whose endpoints are the vertices `va` and `vb` as a constraint in the triangulation. -\pre `va` != `vb`. - */ void insert_constraint(Vertex_handle va, Vertex_handle vb); @@ -224,7 +222,10 @@ std::size_t insert_constraints(ConstraintIterator first, ConstraintIterator last Same as above except that each constraints is given as a pair of indices of the points in the range [points_first, points_last). The indices must go from 0 to `std::distance(points_first, points_last)` \tparam PointIterator is an `InputIterator` with the value type `Point`. -\tparam IndicesIterator is an `InputIterator` with `std::pair` where `Int` is an integral type implicitly convertible to `std::size_t` +\tparam IndicesIterator is an `InputIterator` with `std::pair` +where `Int` is an integral type implicitly convertible to `std::size_t` +\note points are inserted even if they are not endpoint of a constraint. +\return the number of inserted points. */ template std::size_t insert_constraints(PointIterator points_first, PointIterator points_last, diff --git a/Triangulation_2/doc/Triangulation_2/CGAL/Constrained_triangulation_plus_2.h b/Triangulation_2/doc/Triangulation_2/CGAL/Constrained_triangulation_plus_2.h index f1471a76acb..3318770f962 100644 --- a/Triangulation_2/doc/Triangulation_2/CGAL/Constrained_triangulation_plus_2.h +++ b/Triangulation_2/doc/Triangulation_2/CGAL/Constrained_triangulation_plus_2.h @@ -22,11 +22,17 @@ point. The data structure maintains for each input constraint -the sequence of vertices on this constraint. These vertices are +the sequence of vertices on this constraint. Note that there is +not a one-to-one correspondence between an input constraint and +the sequence of vertices. These vertices are either vertices of the input constraint or intersection points. +Also consecutive identical points in the input constraint +result in a single vertex in the sequence of vertices on this +constraint. In case of an input constraint being degenerate +to a point, this point is inserted but there will not be a +zero length constraint. -\todo The following description does not match the code -Two consecutive vertices of an input constraint form a *subconstraint*. +Two consecutive vertices of a constraint form a *subconstraint*. A subconstraint is a pair of vertex handles and corresponds to a constrained edge of the triangulation, which is a pair of a face handle and an index. @@ -36,7 +42,8 @@ It further enables the retrieval of the set of input constraints that induce a s As it is straightforward to obtain a subconstraint from a constrained edge `e`, one can obtain the input constraints which induce `e`. -\tparam Tr must be either a CGAL::Constrained_triangulation_2 or a CGAL::Constrained_Delaunay_triangulation_2 + +\tparam Tr must be either a `CGAL::Constrained_triangulation_2` or a `CGAL::Constrained_Delaunay_triangulation_2` \sa `CGAL::Constrained_triangulation_2` \sa `CGAL::Constrained_Delaunay_triangulation_2` @@ -242,12 +249,14 @@ insert(PointIterator first, PointIterator last); /*! inserts the constraint segment `ab` in the triangulation. If the two points are equal the point is inserted but no constraint, -and the default constructed `Constraint_id` is returned. +and a default constructed `Constraint_id` is returned. */ Constraint_id insert_constraint(Point a, Point b); /*! -inserts the constraint `c`. +inserts the constraint `c` in the triangulation. +If the two points are equal the point is inserted but no constraint, +and a default constructed `Constraint_id` is returned. */ void push_back(const std::pair& c); @@ -255,7 +264,7 @@ inserts the constraint `c`. inserts a constraint whose endpoints are the vertices pointed by `va` and `vb` in the triangulation. If the two vertex handles are equal no constraint is inserted, -and the default constructed `Constraint_id` is returned. +and a default constructed `Constraint_id` is returned. */ Constraint_id insert_constraint(Vertex_handle va, Vertex_handle vb); @@ -264,9 +273,10 @@ inserts a polyline defined by the points in the range `[first,last)` and returns the constraint id. The polyline is considered as a closed curve if the first and last point are equal or if `close == true`. This enables for example passing the vertex range of a `Polygon_2`. When traversing the vertices of a closed polyline constraint with a `Vertices_in_constraint_iterator` the first and last vertex are the same. -In case the range is empty `Constraint_id()` is returned. -In case all points are equal the point is inserted but no constraint, -and `Constraint_id()` is returned. +In case the range is empty a default constructed `Constraint_id` is returned. +In case the range contains only one point or all points are equal the point is inserted but no constraint, +and a default constructed `Constraint_id` is returned. + \tparam PointIterator must be an `InputIterator` with the value type `Point`. */ template < class PointIterator> @@ -280,9 +290,12 @@ is used to improve efficiency. More precisely, all endpoints are inserted prior to the segments and according to the order provided by the spatial sort. Once endpoints have been inserted, the segments are inserted in the order of the input iterator, using the vertex handles of its endpoints. +In case the constraints are degenerate the points are inserted, but no +constraints. + +\tparam ConstraintIterator must be an `InputIterator` with the value type `std::pair` or `Segment`. \return the number of inserted points. -\tparam ConstraintIterator must be an `InputIterator` with the value type `std::pair` or `Segment`. */ template std::size_t insert_constraints(ConstraintIterator first, ConstraintIterator last); @@ -291,7 +304,11 @@ std::size_t insert_constraints(ConstraintIterator first, ConstraintIterator last Same as above except that each constraint is given as a pair of indices of the points in the range [points_first, points_last). The indices must go from 0 to `std::distance(points_first, points_last)` \tparam PointIterator is an `InputIterator` with the value type `Point`. -\tparam IndicesIterator is an `InputIterator` with `std::pair` where `Int` is an integral type implicitly convertible to `std::size_t` +\tparam IndicesIterator is an `InputIterator` with `std::pair` where `Int` is an integral type implicitly convertible to +`std::size_t` +\note points are inserted even if they are not endpoint of a constraint. +\return the number of inserted points. */ template std::size_t insert_constraints(PointIterator points_first, PointIterator points_last, diff --git a/Triangulation_2/doc/Triangulation_2/Concepts/ConstrainedDelaunayTriangulationTraits_2.h b/Triangulation_2/doc/Triangulation_2/Concepts/ConstrainedDelaunayTriangulationTraits_2.h index c804bcfb43f..f0483d539cc 100644 --- a/Triangulation_2/doc/Triangulation_2/Concepts/ConstrainedDelaunayTriangulationTraits_2.h +++ b/Triangulation_2/doc/Triangulation_2/Concepts/ConstrainedDelaunayTriangulationTraits_2.h @@ -15,8 +15,7 @@ The concept `ConstrainedDelaunayTriangulationTraits_2` refines both the concept `DelaunayTriangulationTraits_2` and the concept `ConstrainedTriangulationTraits_2`. -\cgalRefines `DelaunayTriangulationTraits_2` -\cgalRefines `ConstrainedTriangulationTraits_2` +\cgalRefines{DelaunayTriangulationTraits_2,ConstrainedTriangulationTraits_2} \cgalHasModel All \cgal Kernels \cgalHasModel `CGAL::Projection_traits_xy_3` diff --git a/Triangulation_2/doc/Triangulation_2/Concepts/ConstrainedTriangulationFaceBase_2.h b/Triangulation_2/doc/Triangulation_2/Concepts/ConstrainedTriangulationFaceBase_2.h index 25e727870aa..1d49d678c47 100644 --- a/Triangulation_2/doc/Triangulation_2/Concepts/ConstrainedTriangulationFaceBase_2.h +++ b/Triangulation_2/doc/Triangulation_2/Concepts/ConstrainedTriangulationFaceBase_2.h @@ -13,7 +13,7 @@ has to be a model of the concept providing functionalities to deal with constraints. -\cgalRefines `TriangulationFaceBase_2` +\cgalRefines{TriangulationFaceBase_2} \cgalHeading{Types} diff --git a/Triangulation_2/doc/Triangulation_2/Concepts/ConstrainedTriangulationTraits_2.h b/Triangulation_2/doc/Triangulation_2/Concepts/ConstrainedTriangulationTraits_2.h index a9dd8effbb9..6f7a9e5ea85 100644 --- a/Triangulation_2/doc/Triangulation_2/Concepts/ConstrainedTriangulationTraits_2.h +++ b/Triangulation_2/doc/Triangulation_2/Concepts/ConstrainedTriangulationTraits_2.h @@ -17,7 +17,7 @@ traits class is also required to provide additional types to compute the squared distance between a point and a line -\cgalRefines `TriangulationTraits_2` +\cgalRefines{TriangulationTraits_2} \cgalHasModel All \cgal Kernels \cgalHasModel `CGAL::Projection_traits_3` @@ -83,7 +83,7 @@ typedef unspecified_type Compute_squared_distance_2; A function object whose `operator()` computes the bounding box of a point. -CGAL::Bbox_2 operator()(Point_2 p);` Returns the bounding box of `p`. +`CGAL::Bbox_2 operator()(Point_2 p);` Returns the bounding box of `p`. The result type is `CGAL::Bbox_2` (even for projection traits classes). */ typedef unspecified_type Compute_bounding_box_2; diff --git a/Triangulation_2/doc/Triangulation_2/Concepts/DelaunayTriangulationTraits_2.h b/Triangulation_2/doc/Triangulation_2/Concepts/DelaunayTriangulationTraits_2.h index 5eaf3c65fbb..32b251a5060 100644 --- a/Triangulation_2/doc/Triangulation_2/Concepts/DelaunayTriangulationTraits_2.h +++ b/Triangulation_2/doc/Triangulation_2/Concepts/DelaunayTriangulationTraits_2.h @@ -19,7 +19,7 @@ and are required only if the dual functions are called. The additional predicate type `Compare_distance_2` is required if the method `nearest_vertex()` is used. -\cgalRefines `TriangulationTraits_2` +\cgalRefines{TriangulationTraits_2} \cgalHasModel \cgal kernels diff --git a/Triangulation_2/doc/Triangulation_2/Concepts/RegularTriangulationFaceBase_2.h b/Triangulation_2/doc/Triangulation_2/Concepts/RegularTriangulationFaceBase_2.h index 9f06a2a0c9c..6d69fe98604 100644 --- a/Triangulation_2/doc/Triangulation_2/Concepts/RegularTriangulationFaceBase_2.h +++ b/Triangulation_2/doc/Triangulation_2/Concepts/RegularTriangulationFaceBase_2.h @@ -32,7 +32,7 @@ of the concept `RegularTriangulationFaceBase_2` , which refines the concept `TriangulationFaceBase_2` by adding in the face a list to store hidden vertices. -\cgalRefines `TriangulationFaceBase_2` +\cgalRefines{TriangulationFaceBase_2} \cgalHasModel `CGAL::Regular_triangulation_face_base_2` diff --git a/Triangulation_2/doc/Triangulation_2/Concepts/RegularTriangulationTraits_2.h b/Triangulation_2/doc/Triangulation_2/Concepts/RegularTriangulationTraits_2.h index dcdbe5c4ee3..89ae384c8bf 100644 --- a/Triangulation_2/doc/Triangulation_2/Concepts/RegularTriangulationTraits_2.h +++ b/Triangulation_2/doc/Triangulation_2/Concepts/RegularTriangulationTraits_2.h @@ -16,7 +16,7 @@ is the fundamental test to build regular triangulations as the `side_of_oriented_circle` test is the fundamental test of Delaunay triangulations. -\cgalRefines `TriangulationTraits_2` +\cgalRefines{TriangulationTraits_2} \cgalHasModel All models of `Kernel`. diff --git a/Triangulation_2/doc/Triangulation_2/Concepts/RegularTriangulationVertexBase_2.h b/Triangulation_2/doc/Triangulation_2/Concepts/RegularTriangulationVertexBase_2.h index b60278ee1d2..62230e270a7 100644 --- a/Triangulation_2/doc/Triangulation_2/Concepts/RegularTriangulationVertexBase_2.h +++ b/Triangulation_2/doc/Triangulation_2/Concepts/RegularTriangulationVertexBase_2.h @@ -33,7 +33,7 @@ The concept `RegularTriangulationVertexBase_2` refines the concept just adding a Boolean to mark if the vertex is a vertex of the triangulation or a hidden vertex. -\cgalRefines `TriangulationVertexBase_2` +\cgalRefines{TriangulationVertexBase_2} \cgalHasModel `CGAL::Regular_triangulation_vertex_base_2` diff --git a/Triangulation_2/doc/Triangulation_2/Concepts/TriangulationFaceBase_2.h b/Triangulation_2/doc/Triangulation_2/Concepts/TriangulationFaceBase_2.h index 8d72a27345d..353f5631060 100644 --- a/Triangulation_2/doc/Triangulation_2/Concepts/TriangulationFaceBase_2.h +++ b/Triangulation_2/doc/Triangulation_2/Concepts/TriangulationFaceBase_2.h @@ -14,7 +14,7 @@ currently the triangulations do not store any geometric information in the faces and, thus this concept is just equal to `TriangulationDSFaceBase_2` and only provided for symmetry with the vertex case. -\cgalRefines `TriangulationDSFaceBase_2` +\cgalRefines{TriangulationDSFaceBase_2} \cgalHasModel `CGAL::Triangulation_face_base_2` diff --git a/Triangulation_2/doc/Triangulation_2/Concepts/TriangulationHierarchyVertexBase_2.h b/Triangulation_2/doc/Triangulation_2/Concepts/TriangulationHierarchyVertexBase_2.h index e2d570c15fd..5d473eabfb6 100644 --- a/Triangulation_2/doc/Triangulation_2/Concepts/TriangulationHierarchyVertexBase_2.h +++ b/Triangulation_2/doc/Triangulation_2/Concepts/TriangulationHierarchyVertexBase_2.h @@ -12,7 +12,7 @@ refines the concept `TriangulationVertexBase_2`, adding handles to the corresponding vertices in the next and previous level triangulations. -\cgalRefines `TriangulationVertexBase_2` +\cgalRefines{TriangulationVertexBase_2} \cgalHasModel `CGAL::Triangulation_hierarchy_vertex_base_2` diff --git a/Triangulation_2/doc/Triangulation_2/Concepts/TriangulationTraits_2.h b/Triangulation_2/doc/Triangulation_2/Concepts/TriangulationTraits_2.h index 82340f339f1..eeee9572516 100644 --- a/Triangulation_2/doc/Triangulation_2/Concepts/TriangulationTraits_2.h +++ b/Triangulation_2/doc/Triangulation_2/Concepts/TriangulationTraits_2.h @@ -3,7 +3,7 @@ \ingroup PkgTriangulation2Concepts \cgalConcept -\cgalRefines SpatialSortingTraits_2 +\cgalRefines{SpatialSortingTraits_2} The concept `TriangulationTraits_2` describes the set of requirements to be fulfilled by any class used to instantiate the first template diff --git a/Triangulation_2/doc/Triangulation_2/Concepts/TriangulationVertexBaseWithInfo_2.h b/Triangulation_2/doc/Triangulation_2/Concepts/TriangulationVertexBaseWithInfo_2.h index 08153a6ae31..0ce1e0012c9 100644 --- a/Triangulation_2/doc/Triangulation_2/Concepts/TriangulationVertexBaseWithInfo_2.h +++ b/Triangulation_2/doc/Triangulation_2/Concepts/TriangulationVertexBaseWithInfo_2.h @@ -6,7 +6,7 @@ A type model of this concept can be used as vertex base by a triangulation and provides an additional information storage. -\cgalRefines `TriangulationVertexBase_2` +\cgalRefines{TriangulationVertexBase_2} \cgalHasModel `CGAL::Triangulation_vertex_base_with_info_2` diff --git a/Triangulation_2/doc/Triangulation_2/Concepts/TriangulationVertexBase_2.h b/Triangulation_2/doc/Triangulation_2/Concepts/TriangulationVertexBase_2.h index c48ecda0440..bec156dc516 100644 --- a/Triangulation_2/doc/Triangulation_2/Concepts/TriangulationVertexBase_2.h +++ b/Triangulation_2/doc/Triangulation_2/Concepts/TriangulationVertexBase_2.h @@ -13,7 +13,7 @@ The concept `TriangulationVertexBase_2` refines the concept adding geometric information: the vertex base of a triangulation stores a point. -\cgalRefines `TriangulationDSVertexBase_2` +\cgalRefines{TriangulationDSVertexBase_2} \cgalHasModel `CGAL::Triangulation_vertex_base_2` diff --git a/Triangulation_2/doc/Triangulation_2/PackageDescription.txt b/Triangulation_2/doc/Triangulation_2/PackageDescription.txt index c15ba1ed8ed..65b8c9137e4 100644 --- a/Triangulation_2/doc/Triangulation_2/PackageDescription.txt +++ b/Triangulation_2/doc/Triangulation_2/PackageDescription.txt @@ -103,6 +103,10 @@ are described in Chapter \ref PkgTDS2Ref "2D Triangulation Data Structure". - `CGAL::Triangulation_cw_ccw_2` +\cgalCRPSection{Functions} + +- `CGAL::mark_domain_in_triangulation()` + \cgalCRPSection{Enum} - \link CGAL::Triangulation_2::Locate_type `CGAL::Triangulation_2::Locate_type` \endlink diff --git a/Triangulation_2/include/CGAL/Constrained_Delaunay_triangulation_2.h b/Triangulation_2/include/CGAL/Constrained_Delaunay_triangulation_2.h index 1cd06e3afbf..3c5ee85b923 100644 --- a/Triangulation_2/include/CGAL/Constrained_Delaunay_triangulation_2.h +++ b/Triangulation_2/include/CGAL/Constrained_Delaunay_triangulation_2.h @@ -431,6 +431,9 @@ public: IndicesIterator indices_first, IndicesIterator indices_beyond) { + if(indices_first == indices_beyond){ + return insert(points_first, points_beyond); + } std::vector points(points_first, points_beyond); return internal::insert_constraints(*this,points, indices_first, indices_beyond); } diff --git a/Triangulation_2/include/CGAL/Constrained_triangulation_2.h b/Triangulation_2/include/CGAL/Constrained_triangulation_2.h index 80d7a197e3e..42867cfbb07 100644 --- a/Triangulation_2/include/CGAL/Constrained_triangulation_2.h +++ b/Triangulation_2/include/CGAL/Constrained_triangulation_2.h @@ -828,6 +828,9 @@ insert_constraint(Vertex_handle vaa, Vertex_handle vbb) // if a vertex vc of t lies on segment ab // or if ab intersect some constrained edges { + if(vaa == vbb){ + return; + } std::stack > stack; stack.push(std::make_pair(vaa,vbb)); diff --git a/Triangulation_2/include/CGAL/Delaunay_triangulation_2.h b/Triangulation_2/include/CGAL/Delaunay_triangulation_2.h index 5f066d7114a..fa001fd490e 100644 --- a/Triangulation_2/include/CGAL/Delaunay_triangulation_2.h +++ b/Triangulation_2/include/CGAL/Delaunay_triangulation_2.h @@ -358,10 +358,8 @@ private: it = indices.begin(), end = indices.end(); it != end; ++it) { v_hint = insert(points[*it], hint); - if(v_hint!=Vertex_handle()) { - v_hint->info()=infos[*it]; - hint=v_hint->face(); - } + v_hint->info()=infos[*it]; + hint=v_hint->face(); } return this->number_of_vertices() - n; diff --git a/Triangulation_2/include/CGAL/Triangulation_2/insert_constraints.h b/Triangulation_2/include/CGAL/Triangulation_2/insert_constraints.h index 43731c7543a..dc08e642db7 100644 --- a/Triangulation_2/include/CGAL/Triangulation_2/insert_constraints.h +++ b/Triangulation_2/include/CGAL/Triangulation_2/insert_constraints.h @@ -34,7 +34,7 @@ namespace CGAL { IndicesIterator indices_beyond ) { if(indices_first == indices_beyond){ - return 0; + return t.insert(points.begin(), points.end()); } typedef typename T::Vertex_handle Vertex_handle; typedef typename T::Face_handle Face_handle; diff --git a/Triangulation_2/include/CGAL/Triangulation_2/internal/Polyline_constraint_hierarchy_2.h b/Triangulation_2/include/CGAL/Triangulation_2/internal/Polyline_constraint_hierarchy_2.h index 7178b1dc5fa..8154e26251c 100644 --- a/Triangulation_2/include/CGAL/Triangulation_2/internal/Polyline_constraint_hierarchy_2.h +++ b/Triangulation_2/include/CGAL/Triangulation_2/internal/Polyline_constraint_hierarchy_2.h @@ -334,7 +334,7 @@ copy(const Polyline_constraint_hierarchy_2& ch1, std::mapskip_begin(), end = hvl1->skip_end(); - for( ; vit != end; ++vit) hvl2->push_back(Node(vmap[*vit])); + for( ; vit != end; ++vit) hvl2->push_back(Node(vmap[*vit], vit.input())); constraint_set.insert(hvl2); } // copy sc_to_c_map diff --git a/Triangulation_2/test/Triangulation_2/issue_7328.cpp b/Triangulation_2/test/Triangulation_2/issue_7328.cpp new file mode 100644 index 00000000000..842145402fc --- /dev/null +++ b/Triangulation_2/test/Triangulation_2/issue_7328.cpp @@ -0,0 +1,28 @@ +#include +#include +#include + +typedef CGAL::Exact_predicates_exact_constructions_kernel EPECK; + +typedef CGAL::Exact_intersections_tag Itag; +typedef CGAL::Constrained_Delaunay_triangulation_2 CDT; +typedef CGAL::Constrained_triangulation_plus_2 CDTplus; +typedef CDT::Vertex_handle Vertex_handle; + +int main() { + CDTplus cdt; + std::vector vertices; + vertices.push_back(cdt.insert(EPECK::Point_2(0.867732088229836496, -1.098635766973843797))); + vertices.push_back(cdt.insert(EPECK::Point_2(0.868834588233415861, -1.100000000000000533))); + vertices.push_back(cdt.insert(EPECK::Point_2(0.729063637498132522, -0.927047486193771419))); + vertices.push_back(cdt.insert(EPECK::Point_2(0.760857518227448626, -0.918203415668045420))); + + cdt.insert_constraint(vertices[0], vertices[2]); + cdt.insert_constraint(vertices[0], vertices[3]); + + CDTplus cdtC = cdt; + + EPECK::Point_2 p(0.868834588233415861, -1.100000000000000533), q(0.729063637498132522, -0.927047486193771419); + cdtC.insert_constraint(p,q); + return 0; +} diff --git a/Triangulation_3/doc/Triangulation_3/Concepts/DelaunayTriangulationCellBase_3.h b/Triangulation_3/doc/Triangulation_3/Concepts/DelaunayTriangulationCellBase_3.h index b9fca9c841f..b6e1a9b2515 100644 --- a/Triangulation_3/doc/Triangulation_3/Concepts/DelaunayTriangulationCellBase_3.h +++ b/Triangulation_3/doc/Triangulation_3/Concepts/DelaunayTriangulationCellBase_3.h @@ -9,7 +9,7 @@ the concept `TriangulationCellBase_3` by adding in the cell an operator that computes its circumcenter. -\cgalRefines `TriangulationCellBase_3` +\cgalRefines{TriangulationCellBase_3} \cgalHasModel `CGAL::Delaunay_triangulation_cell_base_3` \cgalHasModel `CGAL::Delaunay_triangulation_cell_base_with_circumcenter_3` diff --git a/Triangulation_3/doc/Triangulation_3/Concepts/DelaunayTriangulationTraits_3.h b/Triangulation_3/doc/Triangulation_3/Concepts/DelaunayTriangulationTraits_3.h index 36b9c71d8d2..c1f46f3fb4f 100644 --- a/Triangulation_3/doc/Triangulation_3/Concepts/DelaunayTriangulationTraits_3.h +++ b/Triangulation_3/doc/Triangulation_3/Concepts/DelaunayTriangulationTraits_3.h @@ -8,7 +8,7 @@ The concept `DelaunayTriangulationTraits_3` is the first template parameter of t segments...) forming the triangulation together with a few geometric predicates and constructions on these objects. -\cgalRefines `TriangulationTraits_3` +\cgalRefines{TriangulationTraits_3} \cgalHasModel `CGAL::Exact_predicates_inexact_constructions_kernel` (recommended) \cgalHasModel `CGAL::Exact_predicates_exact_constructions_kernel` (recommended for Voronoi) diff --git a/Triangulation_3/doc/Triangulation_3/Concepts/RegularTriangulationCellBaseWithWeightedCircumcenter_3.h b/Triangulation_3/doc/Triangulation_3/Concepts/RegularTriangulationCellBaseWithWeightedCircumcenter_3.h index a864994ac49..4f83db499d7 100644 --- a/Triangulation_3/doc/Triangulation_3/Concepts/RegularTriangulationCellBaseWithWeightedCircumcenter_3.h +++ b/Triangulation_3/doc/Triangulation_3/Concepts/RegularTriangulationCellBaseWithWeightedCircumcenter_3.h @@ -17,7 +17,7 @@ is returned. Functions that modify the vertices of the cell will also invalidate the weighted circumcenter by calling `invalidate_weighted_circumcenter_cache()`. -\cgalRefines `RegularTriangulationCellBase_3` +\cgalRefines{RegularTriangulationCellBase_3} \cgalHasModel `CGAL::Regular_triangulation_cell_base_with_weighted_circumcenter_3` diff --git a/Triangulation_3/doc/Triangulation_3/Concepts/RegularTriangulationCellBase_3.h b/Triangulation_3/doc/Triangulation_3/Concepts/RegularTriangulationCellBase_3.h index f90ebf94b1d..7a00e04f1d8 100644 --- a/Triangulation_3/doc/Triangulation_3/Concepts/RegularTriangulationCellBase_3.h +++ b/Triangulation_3/doc/Triangulation_3/Concepts/RegularTriangulationCellBase_3.h @@ -33,7 +33,7 @@ the concept `TriangulationCellBase_3` by adding in the cell a container to store hidden points and an operator to compute its weighted circumcenter. -\cgalRefines `TriangulationCellBase_3` +\cgalRefines{TriangulationCellBase_3} \cgalHasModel `CGAL::Regular_triangulation_cell_base_3` diff --git a/Triangulation_3/doc/Triangulation_3/Concepts/RegularTriangulationTraits_3.h b/Triangulation_3/doc/Triangulation_3/Concepts/RegularTriangulationTraits_3.h index e04b4c5a203..91057fe887f 100644 --- a/Triangulation_3/doc/Triangulation_3/Concepts/RegularTriangulationTraits_3.h +++ b/Triangulation_3/doc/Triangulation_3/Concepts/RegularTriangulationTraits_3.h @@ -13,7 +13,7 @@ Triangulation3secclassRegulartriangulation. To simplify notation, \f$ p\f$ will often denote in the sequel either the point \f$ p\in\mathbb{R}^3\f$ or the weighted point \f$ {p}^{(w)}=(p,w_p)\f$. -\cgalRefines `TriangulationTraits_3` +\cgalRefines{TriangulationTraits_3} \cgalHasModel All models of `Kernel`. diff --git a/Triangulation_3/doc/Triangulation_3/Concepts/RegularTriangulationVertexBase_3.h b/Triangulation_3/doc/Triangulation_3/Concepts/RegularTriangulationVertexBase_3.h index 4de91c31526..3881593c2d3 100644 --- a/Triangulation_3/doc/Triangulation_3/Concepts/RegularTriangulationVertexBase_3.h +++ b/Triangulation_3/doc/Triangulation_3/Concepts/RegularTriangulationVertexBase_3.h @@ -7,7 +7,7 @@ The base vertex of a regular triangulation must be a model of the concept `RegularTriangulationVertexBase_3`, which refines the concept `TriangulationDSVertexBase_3` by adding a geometric point member. -\cgalRefines `TriangulationDSVertexBase_3` +\cgalRefines{TriangulationDSVertexBase_3} \cgalHasModel `CGAL::Regular_triangulation_vertex_base_3` diff --git a/Triangulation_3/doc/Triangulation_3/Concepts/TriangulationCellBaseWithInfo_3.h b/Triangulation_3/doc/Triangulation_3/Concepts/TriangulationCellBaseWithInfo_3.h index 8f53f0fbc6c..5064256e445 100644 --- a/Triangulation_3/doc/Triangulation_3/Concepts/TriangulationCellBaseWithInfo_3.h +++ b/Triangulation_3/doc/Triangulation_3/Concepts/TriangulationCellBaseWithInfo_3.h @@ -6,7 +6,7 @@ A type model of this concept can be used as cell base by a triangulation and provides an additional information storage. -\cgalRefines `TriangulationCellBase_3` +\cgalRefines{TriangulationCellBase_3} \cgalHasModel `CGAL::Triangulation_cell_base_with_info_3` diff --git a/Triangulation_3/doc/Triangulation_3/Concepts/TriangulationCellBase_3.h b/Triangulation_3/doc/Triangulation_3/Concepts/TriangulationCellBase_3.h index 7486341f733..69ae982347c 100644 --- a/Triangulation_3/doc/Triangulation_3/Concepts/TriangulationCellBase_3.h +++ b/Triangulation_3/doc/Triangulation_3/Concepts/TriangulationCellBase_3.h @@ -8,7 +8,7 @@ geometric information, so only the requirements of the triangulation data structure apply. -\cgalRefines `TriangulationDSCellBase_3` +\cgalRefines{TriangulationDSCellBase_3} \cgalHasModel `CGAL::Triangulation_cell_base_3` \cgalHasModel `CGAL::Triangulation_cell_base_with_info_3` diff --git a/Triangulation_3/doc/Triangulation_3/Concepts/TriangulationTraits_3.h b/Triangulation_3/doc/Triangulation_3/Concepts/TriangulationTraits_3.h index fe8a37f203b..d7c62d3e4c6 100644 --- a/Triangulation_3/doc/Triangulation_3/Concepts/TriangulationTraits_3.h +++ b/Triangulation_3/doc/Triangulation_3/Concepts/TriangulationTraits_3.h @@ -3,7 +3,7 @@ \ingroup PkgTriangulation3Concepts \cgalConcept -\cgalRefines SpatialSortingTraits_3 +\cgalRefines{SpatialSortingTraits_3} The concept `TriangulationTraits_3` is the first template parameter of the class `Triangulation_3`. It defines the geometric objects (points, segments, diff --git a/Triangulation_3/doc/Triangulation_3/Concepts/TriangulationVertexBaseWithInfo_3.h b/Triangulation_3/doc/Triangulation_3/Concepts/TriangulationVertexBaseWithInfo_3.h index 677a66d94b4..c9cf46d0062 100644 --- a/Triangulation_3/doc/Triangulation_3/Concepts/TriangulationVertexBaseWithInfo_3.h +++ b/Triangulation_3/doc/Triangulation_3/Concepts/TriangulationVertexBaseWithInfo_3.h @@ -6,7 +6,7 @@ A type model of this concept can be used as vertex base by a triangulation and provides an additional information storage. -\cgalRefines `TriangulationVertexBase_3` +\cgalRefines{TriangulationVertexBase_3} \cgalHasModel `CGAL::Triangulation_vertex_base_with_info_3` diff --git a/Triangulation_3/doc/Triangulation_3/Concepts/TriangulationVertexBase_3.h b/Triangulation_3/doc/Triangulation_3/Concepts/TriangulationVertexBase_3.h index c113c124403..cd91c12e9a8 100644 --- a/Triangulation_3/doc/Triangulation_3/Concepts/TriangulationVertexBase_3.h +++ b/Triangulation_3/doc/Triangulation_3/Concepts/TriangulationVertexBase_3.h @@ -7,7 +7,7 @@ The vertex base used by the geometric triangulation must store a point. We list here the additional requirements compared to a vertex base usable for the triangulation data structure. -\cgalRefines `TriangulationDSVertexBase_3` +\cgalRefines{TriangulationDSVertexBase_3} \cgalHasModel `CGAL::Triangulation_vertex_base_3` \cgalHasModel `CGAL::Triangulation_vertex_base_with_info_3` diff --git a/Triangulation_3/include/CGAL/Triangulation_3.h b/Triangulation_3/include/CGAL/Triangulation_3.h index c5cff3b9f35..cbad6e03183 100644 --- a/Triangulation_3/include/CGAL/Triangulation_3.h +++ b/Triangulation_3/include/CGAL/Triangulation_3.h @@ -1691,7 +1691,7 @@ protected: struct Fill_auxiliary_return_type { Vertex_handle_unique_hash_map vmap; - bool vertex_is_incident_to_infinity; + bool vertex_is_incident_to_infinity = false; }; template < class Triangulation > diff --git a/Triangulation_on_sphere_2/doc/Triangulation_on_sphere_2/Concepts/DelaunayTriangulationOnSphereTraits_2.h b/Triangulation_on_sphere_2/doc/Triangulation_on_sphere_2/Concepts/DelaunayTriangulationOnSphereTraits_2.h index ca03f9c3c1f..397c3a7e799 100644 --- a/Triangulation_on_sphere_2/doc/Triangulation_on_sphere_2/Concepts/DelaunayTriangulationOnSphereTraits_2.h +++ b/Triangulation_on_sphere_2/doc/Triangulation_on_sphere_2/Concepts/DelaunayTriangulationOnSphereTraits_2.h @@ -2,7 +2,7 @@ \ingroup PkgTriangulationOnSphere2Concepts \cgalConcept -\cgalRefines TriangulationOnSphereTraits_2 +\cgalRefines{TriangulationOnSphereTraits_2} The concept `DelaunayTriangulationOnSphereTraits_2` describes the set of requirements to be fulfilled by any class used to instantiate the first template diff --git a/Triangulation_on_sphere_2/doc/Triangulation_on_sphere_2/Concepts/TriangulationOnSphereFaceBase_2.h b/Triangulation_on_sphere_2/doc/Triangulation_on_sphere_2/Concepts/TriangulationOnSphereFaceBase_2.h index ab66482d9bb..fbb6ac030ed 100644 --- a/Triangulation_on_sphere_2/doc/Triangulation_on_sphere_2/Concepts/TriangulationOnSphereFaceBase_2.h +++ b/Triangulation_on_sphere_2/doc/Triangulation_on_sphere_2/Concepts/TriangulationOnSphereFaceBase_2.h @@ -2,7 +2,7 @@ \ingroup PkgTriangulationOnSphere2Concepts \cgalConcept -\cgalRefines `TriangulationDSFaceBase_2` +\cgalRefines{TriangulationDSFaceBase_2} The concept `TriangulationOnSphereFaceBase_2` describes the requirements for a face class of a triangulation data structure that is itself plugged into a triangulation on the sphere. diff --git a/Triangulation_on_sphere_2/doc/Triangulation_on_sphere_2/Concepts/TriangulationOnSphereTraits_2.h b/Triangulation_on_sphere_2/doc/Triangulation_on_sphere_2/Concepts/TriangulationOnSphereTraits_2.h index c93c6b88ebc..0dad5563ff7 100644 --- a/Triangulation_on_sphere_2/doc/Triangulation_on_sphere_2/Concepts/TriangulationOnSphereTraits_2.h +++ b/Triangulation_on_sphere_2/doc/Triangulation_on_sphere_2/Concepts/TriangulationOnSphereTraits_2.h @@ -2,7 +2,7 @@ \ingroup PkgTriangulationOnSphere2Concepts \cgalConcept -\cgalRefines SpatialSortingTraits_3 +\cgalRefines{SpatialSortingTraits_3} The concept `TriangulationOnSphereTraits_2` describes the set of requirements to be fulfilled by any class used to instantiate the first template diff --git a/Triangulation_on_sphere_2/doc/Triangulation_on_sphere_2/Concepts/TriangulationOnSphereVertexBase_2.h b/Triangulation_on_sphere_2/doc/Triangulation_on_sphere_2/Concepts/TriangulationOnSphereVertexBase_2.h index 70fbbc3131b..23b6971fd89 100644 --- a/Triangulation_on_sphere_2/doc/Triangulation_on_sphere_2/Concepts/TriangulationOnSphereVertexBase_2.h +++ b/Triangulation_on_sphere_2/doc/Triangulation_on_sphere_2/Concepts/TriangulationOnSphereVertexBase_2.h @@ -2,7 +2,7 @@ \ingroup PkgTriangulationOnSphere2Concepts \cgalConcept -\cgalRefines `TriangulationDSVertexBase_2` +\cgalRefines{TriangulationDSVertexBase_2} The concept `TriangulationOnSphereVertexBase_2` describes the requirements for the vertex base class of a triangulation data structure to be plugged in a triangulation on the sphere. diff --git a/Voronoi_diagram_2/doc/Voronoi_diagram_2/CGAL/Voronoi_diagram_2.h b/Voronoi_diagram_2/doc/Voronoi_diagram_2/CGAL/Voronoi_diagram_2.h index a46f2df3594..e0dd1cdc461 100644 --- a/Voronoi_diagram_2/doc/Voronoi_diagram_2/CGAL/Voronoi_diagram_2.h +++ b/Voronoi_diagram_2/doc/Voronoi_diagram_2/CGAL/Voronoi_diagram_2.h @@ -15,8 +15,7 @@ that is similar to that of \cgal's arrangements. \tparam AP must be a model of the `AdaptationPolicy_2` concept. The third template parameter defaults to `CGAL::Identity_policy_2`. -\cgalRefines `DefaultConstructible,` \cgalRefines `CopyConstructible,` \cgalRefines `Assignable` - +\cgalRefines{CopyConstructible,Assignable,DefaultConstructible} \sa `CGAL::Delaunay_triangulation_2` \sa `CGAL::Regular_triangulation_2` diff --git a/Voronoi_diagram_2/doc/Voronoi_diagram_2/Concepts/AdaptationPolicy_2.h b/Voronoi_diagram_2/doc/Voronoi_diagram_2/Concepts/AdaptationPolicy_2.h index eb747a669a4..218a51a9d10 100644 --- a/Voronoi_diagram_2/doc/Voronoi_diagram_2/Concepts/AdaptationPolicy_2.h +++ b/Voronoi_diagram_2/doc/Voronoi_diagram_2/Concepts/AdaptationPolicy_2.h @@ -11,7 +11,7 @@ functor is optional and a tag determines whether it is provided or not. Note that while the first two functors do not modify the Delaunay graph they take as an argument, the last ones does. -\cgalRefines `DefaultConstructible,` \cgalRefines `CopyConstructible,` \cgalRefines `Assignable` +\cgalRefines{CopyConstructible,Assignable,DefaultConstructible} \cgalHasModel `CGAL::Identity_policy_2` \cgalHasModel `CGAL::Apollonius_graph_degeneracy_removal_policy_2` @@ -82,8 +82,8 @@ A type for the predicate functor that is responsible for rejecting an edge of the Delaunay graph (or equivalently rejecting its dual edge in the Voronoi diagram). It must be model of the concepts `DefaultConstructible`, -`CopyConstructible`, `Assignable`, and `AdaptableFunctor` -(with two arguments). It must provide the following operators: +`CopyConstructible`, `Assignable`, and `AdaptableBinaryFunction`. +It must provide the following operators: `bool operator()(Delaunay_graph dg, Delaunay_edge e)` @@ -104,8 +104,8 @@ A type for the predicate functor that is responsible for rejecting a vertex of the Delaunay graph (or equivalently its dual face in the Voronoi diagram - hence the name of the functor). It must be model of the concepts `DefaultConstructible`, -`CopyConstructible`, `Assignable`, `AdaptableFunctor` -(with two arguments). It must provide the following operator: +`CopyConstructible`, `Assignable`, `AdaptableBinaryFunction`. +It must provide the following operator:
`bool operator()(Delaunay graph dg, Delaunay_vertex_handle v)`
@@ -126,7 +126,7 @@ typedef unspecified_type Has_inserter; A type for a functor that inserts sites in the Delaunay graph. It must be model of the concepts `DefaultConstructible`, `CopyConstructible`, `Assignable`, -`AdaptableFunctor` (with two arguments). It must provide the +`AdaptableBinaryFunction` following operator
`Delaunay_vertex_handle operator()(Delaunay_graph& dg, Site_2 t)`
diff --git a/Voronoi_diagram_2/doc/Voronoi_diagram_2/Concepts/AdaptationTraits_2.h b/Voronoi_diagram_2/doc/Voronoi_diagram_2/Concepts/AdaptationTraits_2.h index 4cc31a5b14c..bdd87560936 100644 --- a/Voronoi_diagram_2/doc/Voronoi_diagram_2/Concepts/AdaptationTraits_2.h +++ b/Voronoi_diagram_2/doc/Voronoi_diagram_2/Concepts/AdaptationTraits_2.h @@ -9,7 +9,7 @@ accessing geometric information in the Delaunay graph that is needed by the It optionally defines a functor for performing nearest site queries. A tag is provided for determining whether this functor is defined or not. -\cgalRefines `DefaultConstructible,` \cgalRefines `CopyConstructible,` \cgalRefines `Assignable` +\cgalRefines{CopyConstructible,Assignable,DefaultConstructible} \cgalHasModel `CGAL::Apollonius_graph_adaptation_traits_2` \cgalHasModel `CGAL::Delaunay_triangulation_adaptation_traits_2` @@ -63,7 +63,7 @@ typedef Delaunay_graph::Vertex_handle Delaunay_vertex_handle; A type for a functor that accesses the site associated with a vertex. The functor should be a model of the concepts `DefaultConstructible`, `CopyConstructible`, -`Assignable` and `AdaptableFunctor` (with one argument). The +`Assignable` and `AdaptableUnaryFunction`. The functor must provide the following operator:
`result_type operator()(Delaunay_vertex_handle v)`
@@ -79,7 +79,7 @@ constructs the dual point of a (triangular) face in the Delaunay graph. This point is the Voronoi vertex of the three sites defining the face in the Delaunay graph. The functor must be a model of the concepts `DefaultConstructible`, `CopyConstructible`, -`Assignable`, `AdaptableFunctor` (with one argument). It +`Assignable`, `AdaptableUnaryFunction`. It must provide the following operator:
`Point_2 operator()(Delaunay_face_handle f)`
. @@ -107,8 +107,8 @@ the source and target vertices of the edge. In all other cases, the search result is a vertex, namely, the unique vertex of the Delaunay graph closest to the query point. The functor must be a model of the concepts `DefaultConstructible`, -`CopyConstructible`, `Assignable`, `AdaptableFunctor` -(with two arguments). It must provide the following operator: +`CopyConstructible`, `Assignable`, `AdaptableBinaryFunction`. +It must provide the following operator:
`result_type operator()(Delaunay_graph dg, Point_2 p)`
diff --git a/Voronoi_diagram_2/doc/Voronoi_diagram_2/Concepts/DelaunayGraph_2.h b/Voronoi_diagram_2/doc/Voronoi_diagram_2/Concepts/DelaunayGraph_2.h index 50f807bf0bb..3459c48dc9f 100644 --- a/Voronoi_diagram_2/doc/Voronoi_diagram_2/Concepts/DelaunayGraph_2.h +++ b/Voronoi_diagram_2/doc/Voronoi_diagram_2/Concepts/DelaunayGraph_2.h @@ -9,7 +9,7 @@ class. The `DelaunayGraph_2` concept essentially defines the requirements that a class representing a Delaunay graph must obey so that the Voronoi diagram adaptor can adapt it. -\cgalRefines `DefaultConstructible,` \cgalRefines `CopyConstructible,` \cgalRefines `Assignable` +\cgalRefines{CopyConstructible,Assignable,DefaultConstructible} \cgalHeading{Traversal of the Delaunay graph} diff --git a/copyright b/copyright index 876931746d3..77776695009 100644 --- a/copyright +++ b/copyright @@ -9,18 +9,22 @@ R = RU Groningen AABB_tree I + Advancing_front_surface_reconstruction I Algebraic_foundations ETIMU Algebraic_kernel_d IM Algebraic_kernel_for_circles I Algebraic_kernel_for_spheres I Alpha_shapes_2 I Alpha_shapes_3 I + Alpha_wrap_3 I Google LLC (USA). Apollonius_graph_2 I Approximate_min_ellipsoid_d E Arithmetic_kernel M Arrangement_on_surface_2 T + Barycentric_coordinates_2 IG; Università della Svizzera italiana (Switzerland) BGL G Boolean_set_operations_2 T + Bounding_volumes E Box_intersection_d M CGAL_Core NYU; Chee Yap agreed to upgrade CGAL_ImageIO third party lib under LGPL @@ -29,7 +33,9 @@ R = RU Groningen Circular_kernel_2 I Circular_kernel_3 I Circulator ETIMU - Combinatorial_map Cnrs; Guillaume Damiand upgraded + Classification G + Combinatorial_map CNRS; Guillaume Damiand upgraded + Cone_spanners_2 University of Western Sydney (Australia) Conic_2 ETIMU Convex_decomposition_3 M Convex_hull_2 M @@ -41,24 +47,28 @@ R = RU Groningen Envelope_2 T Envelope_3 T Filtered_kernel I + Generalized_map CNRS Generator ETIMU Geomview ETIMU GraphicsView G HalfedgeDS ETIMU Hash_map M + Heat_method_3 G; Carnegie Mellon University Homogeneous_kernel ETIMU + Hyperbolic_triangulation_2 I + Inscribed_areas ET Installation ETIMU Interpolation I Intersections_2 ETIMU Intersections_3 ETIMU Interval_skip_list G Interval_support M - Inventor ETIMU Jet_fitting_3 I Kernel_23 ETIMU Kernel_d ETIMU LEDA ETIMU Largest_empty_rect_2 T + Linear_cell_complex CNRS MacOSX F Maintenance ETIMUG Manual ETIMU @@ -66,6 +76,7 @@ R = RU Groningen Matrix_search E Mesh_2 I Mesh_3 I + Mesher_level I Min_annulus_d E Min_circle_2 E Min_ellipse_2 E @@ -79,48 +90,80 @@ R = RU Groningen Nef_2 M Nef_3 M Nef_S2 M + NewKernel_d I Number_types ETIMU OpenNL third party lib under LGPL 3 + Optimal_bounding_box G + Optimal_transportation_reconstruction_2 I Optimisation_basic E Optimisation_doc E + Orthtree I Partition_2 M + Periodic_2_triangulation_2 I Periodic_3_triangulation_3 I + Periodic_3_mesh_3 I + Periodic_4_hyperbolic_triangulation_2 I Point_set_2 Halle transfered copyright to Inria + Point_set_3 G Point_set_processing_3 I Poisson_surface_reconstruction_3 I Polygon ETIMU + Polygonal_surface_reconstruction Liangliang Nan + Polygon_mesh_processing G Polyhedron E - Polyhedron_IO E + Polyline_simplification_2 G Polynomial M Polytope_distance_d E Principal_component_analysis I + Principal_component_analysis_LGPL I Profiling_tools ETIMU + Property_map I QP_solver E - Qt_widget I Random_numbers ETIMU Ridges_3 I - Robustness M + Scale_space_reconstruction_3 I STL_Extension ETIMU Scripts ETIMU SearchStructures E Segment_Delaunay_graph_2 I Menelaos removed Notre Dame U + Segment_Delaunay_graph_Linf_2 Università della Svizzera italiana Set_movable_separability_2 T + Shape_detection I + Shape_regularization GI Skin_surface_3 R Gert Vegter agreed to upgrade + SMDS_3 I Snap_rounding_2 T + Solver_interface I Spatial_searching U Spatial_sorting I - Straight_skeleton_2 Cacciola; Fernando agreed to upgrade to GPL + STL_Extension ETIMU + Straight_skeleton_2 G Stream_lines_2 I Stream_support ETIMU Subdivision_method_3 G - Surface_mesh_parameterization I - Surface_mesh_simplification G + Surface_mesh G; Bielefeld University; RWTH Aachen + Surface_mesh_approximation I + Surface_mesh_deformation G Surface_mesher I + Surface_mesh_parameterization I + Surface_mesh_segmentation G + Surface_mesh_shortest_path G + Surface_mesh_simplification G + Surface_mesh_skeletonization G + Surface_mesh_topology CNRS + Surface_sweep_2 T + TDS_2 I + TDS_3 I Testsuite IG + Tetrahedral_remeshing G; Telecom Paris (France) + Triangulation I Triangulation_2 I Triangulation_3 I + Triangulation_on_sphere_2 I Union_find M + Visibility_2 Braunschweig University (Germany). Voronoi_diagram_2 F I sent mail to Forth + Weights G Width_3 E iostream ETIMU kdtree T