From: Peter Munch Date: Sun, 31 May 2020 14:37:45 +0000 (+0200) Subject: Make CellData::vertices to std::vector X-Git-Tag: v9.3.0-rc1~1504^2 X-Git-Url: https://gitweb.dealii.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=refs%2Fpull%2F10429%2Fhead;p=dealii.git Make CellData::vertices to std::vector --- diff --git a/doc/news/changes/minor/20200531Munch b/doc/news/changes/minor/20200531Munch new file mode 100644 index 0000000000..ea2098ffb5 --- /dev/null +++ b/doc/news/changes/minor/20200531Munch @@ -0,0 +1,4 @@ +Changed: The vertices in CellData are now stored in form of a std::vector +instead of C-style array. +
+(Peter Munch, 2020/05/31) diff --git a/include/deal.II/grid/tria_description.h b/include/deal.II/grid/tria_description.h index 9a627f3a0e..435dcb99bf 100644 --- a/include/deal.II/grid/tria_description.h +++ b/include/deal.II/grid/tria_description.h @@ -71,7 +71,7 @@ struct CellData * to entries in the vector of vertex locations passed to * Triangulation::create_triangulation(). */ - unsigned int vertices[GeometryInfo::vertices_per_cell]; + std::vector vertices; /** * Material or boundary indicator of this cell. diff --git a/source/grid/tria.cc b/source/grid/tria.cc index 8e8857d12c..453b93408b 100644 --- a/source/grid/tria.cc +++ b/source/grid/tria.cc @@ -1747,9 +1747,16 @@ namespace internal // throw an exception if no such cells should exist. if (!triangulation.check_for_distorted_cells) { + unsigned int vertices[GeometryInfo<1>::vertices_per_cell]; + + for (unsigned int i = 0; + i < GeometryInfo<1>::vertices_per_cell; + ++i) + vertices[i] = cells[cell_no].vertices[i]; + const double cell_measure = GridTools::cell_measure<1>(triangulation.vertices, - cells[cell_no].vertices); + vertices); AssertThrow(cell_measure > 0, ExcGridHasInvalidCell(cell_no)); } @@ -1930,9 +1937,16 @@ namespace internal // See the note in the 1D function on this if statement. if (!triangulation.check_for_distorted_cells) { + unsigned int vertices[GeometryInfo<2>::vertices_per_cell]; + + for (unsigned int i = 0; + i < GeometryInfo<2>::vertices_per_cell; + ++i) + vertices[i] = cells[cell_no].vertices[i]; + const double cell_measure = GridTools::cell_measure<2>(triangulation.vertices, - cells[cell_no].vertices); + vertices); AssertThrow(cell_measure > 0, ExcGridHasInvalidCell(cell_no)); } @@ -2305,9 +2319,14 @@ namespace internal // See the note in the 1D function on this if statement. if (!triangulation.check_for_distorted_cells) { + unsigned int vertices[GeometryInfo<3>::vertices_per_cell]; + + for (unsigned int i = 0; i < GeometryInfo<3>::vertices_per_cell; + ++i) + vertices[i] = cells[cell_no].vertices[i]; + const double cell_measure = - GridTools::cell_measure<3>(triangulation.vertices, - cells[cell_no].vertices); + GridTools::cell_measure<3>(triangulation.vertices, vertices); AssertThrow(cell_measure > 0, ExcGridHasInvalidCell(cell_no)); } } @@ -10494,8 +10513,23 @@ Triangulation::create_triangulation( // because sometimes other objects are already attached to it: try { - internal::TriangulationImplementation::Implementation:: - create_triangulation(v, cells, subcelldata, *this); + const bool arbitray_mesh_provided = + std::any_of(cells.begin(), cells.end(), [](const auto &cell) { + return cell.vertices.size() != GeometryInfo::vertices_per_cell; + }); + + if (arbitray_mesh_provided == false) + { + internal::TriangulationImplementation::Implementation:: + create_triangulation(v, cells, subcelldata, *this); + } + else + { + AssertThrow( + false, + ExcMessage( + "A cell with invalid number of vertices has been provided.")); + } } catch (...) { diff --git a/source/grid/tria_description.cc b/source/grid/tria_description.cc index 9e015a8027..5e5c61b475 100644 --- a/source/grid/tria_description.cc +++ b/source/grid/tria_description.cc @@ -30,13 +30,11 @@ DEAL_II_NAMESPACE_OPEN template CellData::CellData() - : material_id(0) + : vertices(GeometryInfo::vertices_per_cell, + numbers::invalid_unsigned_int) + , material_id(0) , manifold_id(numbers::flat_manifold_id) -{ - std::fill(std::begin(vertices), - std::end(vertices), - numbers::invalid_unsigned_int); -} +{} diff --git a/tests/serialization/cell_data_1.output b/tests/serialization/cell_data_1.output index d290d61c82..47a9a2dd73 100644 --- a/tests/serialization/cell_data_1.output +++ b/tests/serialization/cell_data_1.output @@ -1,54 +1,54 @@ -DEAL::0 0 2 0 1 1 1 2 +DEAL::0 0 2 0 0 1 1 1 2 -DEAL::0 0 2 0 1 1 1 2 +DEAL::0 0 2 0 0 1 1 1 2 -DEAL::0 0 2 0 1 1 1 2 +DEAL::0 0 2 0 0 1 1 1 2 -DEAL::0 0 2 0 1 1 1 2 +DEAL::0 0 2 0 0 1 1 1 2 -DEAL::0 0 2 0 1 1 1 2 +DEAL::0 0 2 0 0 1 1 1 2 -DEAL::0 0 2 0 1 1 1 2 +DEAL::0 0 2 0 0 1 1 1 2 -DEAL::0 0 4 0 1 2 3 1 1 2 +DEAL::0 0 4 0 0 1 2 3 1 1 2 -DEAL::0 0 4 0 1 2 3 1 1 2 +DEAL::0 0 4 0 0 1 2 3 1 1 2 -DEAL::0 0 4 0 1 2 3 1 1 2 +DEAL::0 0 4 0 0 1 2 3 1 1 2 -DEAL::0 0 4 0 1 2 3 1 1 2 +DEAL::0 0 4 0 0 1 2 3 1 1 2 -DEAL::0 0 4 0 1 2 3 1 1 2 +DEAL::0 0 4 0 0 1 2 3 1 1 2 -DEAL::0 0 4 0 1 2 3 1 1 2 +DEAL::0 0 4 0 0 1 2 3 1 1 2 -DEAL::0 0 4 0 1 2 3 1 1 2 +DEAL::0 0 4 0 0 1 2 3 1 1 2 -DEAL::0 0 4 0 1 2 3 1 1 2 +DEAL::0 0 4 0 0 1 2 3 1 1 2 -DEAL::0 0 8 0 1 2 3 4 5 6 7 1 1 2 +DEAL::0 0 8 0 0 1 2 3 4 5 6 7 1 1 2 -DEAL::0 0 8 0 1 2 3 4 5 6 7 1 1 2 +DEAL::0 0 8 0 0 1 2 3 4 5 6 7 1 1 2 -DEAL::0 0 8 0 1 2 3 4 5 6 7 1 1 2 +DEAL::0 0 8 0 0 1 2 3 4 5 6 7 1 1 2 -DEAL::0 0 8 0 1 2 3 4 5 6 7 1 1 2 +DEAL::0 0 8 0 0 1 2 3 4 5 6 7 1 1 2 -DEAL::0 0 8 0 1 2 3 4 5 6 7 1 1 2 +DEAL::0 0 8 0 0 1 2 3 4 5 6 7 1 1 2 -DEAL::0 0 8 0 1 2 3 4 5 6 7 1 1 2 +DEAL::0 0 8 0 0 1 2 3 4 5 6 7 1 1 2 -DEAL::0 0 8 0 1 2 3 4 5 6 7 1 1 2 +DEAL::0 0 8 0 0 1 2 3 4 5 6 7 1 1 2 -DEAL::0 0 8 0 1 2 3 4 5 6 7 1 1 2 +DEAL::0 0 8 0 0 1 2 3 4 5 6 7 1 1 2 -DEAL::0 0 8 0 1 2 3 4 5 6 7 1 1 2 +DEAL::0 0 8 0 0 1 2 3 4 5 6 7 1 1 2 -DEAL::0 0 8 0 1 2 3 4 5 6 7 1 1 2 +DEAL::0 0 8 0 0 1 2 3 4 5 6 7 1 1 2 -DEAL::0 0 8 0 1 2 3 4 5 6 7 1 1 2 +DEAL::0 0 8 0 0 1 2 3 4 5 6 7 1 1 2 -DEAL::0 0 8 0 1 2 3 4 5 6 7 1 1 2 +DEAL::0 0 8 0 0 1 2 3 4 5 6 7 1 1 2 DEAL::OK diff --git a/tests/serialization/parallel_fullydistributed_construction_data_1.output b/tests/serialization/parallel_fullydistributed_construction_data_1.output index b3c0ef1af9..eead08ef3d 100644 --- a/tests/serialization/parallel_fullydistributed_construction_data_1.output +++ b/tests/serialization/parallel_fullydistributed_construction_data_1.output @@ -1,14 +1,14 @@ -DEAL:0::0 0 0 0 1 0 0 0 2 0 1 0 0 4294967295 0 0 2 0 0 0 0 0 1 0 0 0.00000000000000000e+00 1 1.00000000000000000e+00 1 0 0 0 0 2 0 0 0 1 0 0 0 0 0 4 0 1 0 0 4294967294 0 4294967295 0 0 2 0 0 0 0 0 1 1 2 0 4 0 5 0 0 0 0 4294967295 1 0 0 0 4 0 5 1 0 0 0 4294967295 1 0 1 1 0 0 +DEAL:0::0 0 0 0 1 0 0 0 2 0 0 1 0 0 4294967295 0 0 2 0 0 0 0 0 1 0 0 0.00000000000000000e+00 1 1.00000000000000000e+00 1 0 0 0 0 2 0 0 0 1 0 0 0 0 0 4 0 1 0 0 4294967294 0 4294967295 0 0 2 0 0 0 0 0 1 1 2 0 4 0 5 0 0 0 0 4294967295 1 0 0 0 4 0 5 1 0 0 0 4294967295 1 0 1 1 0 0 -DEAL:0::0 0 0 0 1 0 0 0 2 0 1 0 0 4294967295 0 0 2 0 0 0 0 0 1 0 0 0.00000000000000000e+00 1 1.00000000000000000e+00 1 0 0 0 0 2 0 0 0 1 0 0 0 0 0 4 0 1 0 0 4294967294 0 4294967295 0 0 2 0 0 0 0 0 1 1 2 0 4 0 5 0 0 0 0 4294967295 1 0 0 0 4 0 5 1 0 0 0 4294967295 1 0 1 1 0 0 +DEAL:0::0 0 0 0 1 0 0 0 2 0 0 1 0 0 4294967295 0 0 2 0 0 0 0 0 1 0 0 0.00000000000000000e+00 1 1.00000000000000000e+00 1 0 0 0 0 2 0 0 0 1 0 0 0 0 0 4 0 1 0 0 4294967294 0 4294967295 0 0 2 0 0 0 0 0 1 1 2 0 4 0 5 0 0 0 0 4294967295 1 0 0 0 4 0 5 1 0 0 0 4294967295 1 0 1 1 0 0 -DEAL:0::0 0 0 0 1 0 0 0 4 0 1 2 3 0 0 4294967295 0 0 4 0 0 0 0 0 2 0 0 0.00000000000000000e+00 0.00000000000000000e+00 2 1.00000000000000000e+00 0.00000000000000000e+00 2 0.00000000000000000e+00 1.00000000000000000e+00 2 1.00000000000000000e+00 1.00000000000000000e+00 1 0 0 0 0 2 0 0 0 1 0 0 0 0 0 4 0 2 0 0 4294967294 0 4294967295 4 4294967295 4294967295 4294967295 4294967295 0 0 4 0 0 0 0 0 1 0 2 0 3 0 4 0 4 0 6 0 0 0 0 4294967295 4 4294967295 4294967295 4294967295 4294967295 2 0 0 0 2 0 4 0 6 1 0 0 0 4294967295 4 4294967295 4294967295 4294967295 4294967295 2 0 1 0 2 0 4 0 6 2 0 0 0 4294967295 4 4294967295 4294967295 4294967295 4294967295 2 0 0 0 3 0 4 0 6 3 0 0 0 4294967295 4 4294967295 4294967295 4294967295 4294967295 2 0 1 0 3 0 0 0 +DEAL:0::0 0 0 0 1 0 0 0 4 0 0 1 2 3 0 0 4294967295 0 0 4 0 0 0 0 0 2 0 0 0.00000000000000000e+00 0.00000000000000000e+00 2 1.00000000000000000e+00 0.00000000000000000e+00 2 0.00000000000000000e+00 1.00000000000000000e+00 2 1.00000000000000000e+00 1.00000000000000000e+00 1 0 0 0 0 2 0 0 0 1 0 0 0 0 0 4 0 2 0 0 4294967294 0 4294967295 4 4294967295 4294967295 4294967295 4294967295 0 0 4 0 0 0 0 0 1 0 2 0 3 0 4 0 4 0 6 0 0 0 0 4294967295 4 4294967295 4294967295 4294967295 4294967295 2 0 0 0 2 0 4 0 6 1 0 0 0 4294967295 4 4294967295 4294967295 4294967295 4294967295 2 0 1 0 2 0 4 0 6 2 0 0 0 4294967295 4 4294967295 4294967295 4294967295 4294967295 2 0 0 0 3 0 4 0 6 3 0 0 0 4294967295 4 4294967295 4294967295 4294967295 4294967295 2 0 1 0 3 0 0 0 -DEAL:0::0 0 0 0 1 0 0 0 4 0 1 2 3 0 0 4294967295 0 0 4 0 0 0 0 0 2 0 0 0.00000000000000000e+00 0.00000000000000000e+00 2 1.00000000000000000e+00 0.00000000000000000e+00 2 0.00000000000000000e+00 1.00000000000000000e+00 2 1.00000000000000000e+00 1.00000000000000000e+00 1 0 0 0 0 2 0 0 0 1 0 0 0 0 0 4 0 2 0 0 4294967294 0 4294967295 4 4294967295 4294967295 4294967295 4294967295 0 0 4 0 0 0 0 0 1 0 2 0 3 0 4 0 4 0 6 0 0 0 0 4294967295 4 4294967295 4294967295 4294967295 4294967295 2 0 0 0 2 0 4 0 6 1 0 0 0 4294967295 4 4294967295 4294967295 4294967295 4294967295 2 0 1 0 2 0 4 0 6 2 0 0 0 4294967295 4 4294967295 4294967295 4294967295 4294967295 2 0 0 0 3 0 4 0 6 3 0 0 0 4294967295 4 4294967295 4294967295 4294967295 4294967295 2 0 1 0 3 0 0 0 +DEAL:0::0 0 0 0 1 0 0 0 4 0 0 1 2 3 0 0 4294967295 0 0 4 0 0 0 0 0 2 0 0 0.00000000000000000e+00 0.00000000000000000e+00 2 1.00000000000000000e+00 0.00000000000000000e+00 2 0.00000000000000000e+00 1.00000000000000000e+00 2 1.00000000000000000e+00 1.00000000000000000e+00 1 0 0 0 0 2 0 0 0 1 0 0 0 0 0 4 0 2 0 0 4294967294 0 4294967295 4 4294967295 4294967295 4294967295 4294967295 0 0 4 0 0 0 0 0 1 0 2 0 3 0 4 0 4 0 6 0 0 0 0 4294967295 4 4294967295 4294967295 4294967295 4294967295 2 0 0 0 2 0 4 0 6 1 0 0 0 4294967295 4 4294967295 4294967295 4294967295 4294967295 2 0 1 0 2 0 4 0 6 2 0 0 0 4294967295 4 4294967295 4294967295 4294967295 4294967295 2 0 0 0 3 0 4 0 6 3 0 0 0 4294967295 4 4294967295 4294967295 4294967295 4294967295 2 0 1 0 3 0 0 0 -DEAL:0::0 0 0 0 1 0 0 0 8 0 1 2 3 4 5 6 7 0 0 4294967295 0 0 8 0 0 0 0 0 3 0 0 0.00000000000000000e+00 0.00000000000000000e+00 0.00000000000000000e+00 3 1.00000000000000000e+00 0.00000000000000000e+00 0.00000000000000000e+00 3 0.00000000000000000e+00 1.00000000000000000e+00 0.00000000000000000e+00 3 1.00000000000000000e+00 1.00000000000000000e+00 0.00000000000000000e+00 3 0.00000000000000000e+00 0.00000000000000000e+00 1.00000000000000000e+00 3 1.00000000000000000e+00 0.00000000000000000e+00 1.00000000000000000e+00 3 0.00000000000000000e+00 1.00000000000000000e+00 1.00000000000000000e+00 3 1.00000000000000000e+00 1.00000000000000000e+00 1.00000000000000000e+00 1 0 0 0 0 2 0 0 0 1 0 0 0 0 0 4 0 3 0 0 4294967294 0 4294967295 0 0 12 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 0 0 6 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 0 0 6 0 0 0 0 0 1 0 2 0 3 0 4 0 5 0 8 0 4 0 7 0 0 0 0 4294967295 12 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 6 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 3 0 0 0 2 0 4 0 4 0 7 1 0 0 0 4294967295 12 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 6 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 3 0 1 0 2 0 4 0 4 0 7 2 0 0 0 4294967295 12 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 6 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 3 0 0 0 3 0 4 0 4 0 7 3 0 0 0 4294967295 12 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 6 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 3 0 1 0 3 0 4 0 4 0 7 4 0 0 0 4294967295 12 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 6 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 3 0 0 0 2 0 5 0 4 0 7 5 0 0 0 4294967295 12 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 6 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 3 0 1 0 2 0 5 0 4 0 7 6 0 0 0 4294967295 12 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 6 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 3 0 0 0 3 0 5 0 4 0 7 7 0 0 0 4294967295 12 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 6 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 3 0 1 0 3 0 5 0 0 0 +DEAL:0::0 0 0 0 1 0 0 0 8 0 0 1 2 3 4 5 6 7 0 0 4294967295 0 0 8 0 0 0 0 0 3 0 0 0.00000000000000000e+00 0.00000000000000000e+00 0.00000000000000000e+00 3 1.00000000000000000e+00 0.00000000000000000e+00 0.00000000000000000e+00 3 0.00000000000000000e+00 1.00000000000000000e+00 0.00000000000000000e+00 3 1.00000000000000000e+00 1.00000000000000000e+00 0.00000000000000000e+00 3 0.00000000000000000e+00 0.00000000000000000e+00 1.00000000000000000e+00 3 1.00000000000000000e+00 0.00000000000000000e+00 1.00000000000000000e+00 3 0.00000000000000000e+00 1.00000000000000000e+00 1.00000000000000000e+00 3 1.00000000000000000e+00 1.00000000000000000e+00 1.00000000000000000e+00 1 0 0 0 0 2 0 0 0 1 0 0 0 0 0 4 0 3 0 0 4294967294 0 4294967295 0 0 12 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 0 0 6 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 0 0 6 0 0 0 0 0 1 0 2 0 3 0 4 0 5 0 8 0 4 0 7 0 0 0 0 4294967295 12 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 6 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 3 0 0 0 2 0 4 0 4 0 7 1 0 0 0 4294967295 12 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 6 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 3 0 1 0 2 0 4 0 4 0 7 2 0 0 0 4294967295 12 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 6 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 3 0 0 0 3 0 4 0 4 0 7 3 0 0 0 4294967295 12 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 6 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 3 0 1 0 3 0 4 0 4 0 7 4 0 0 0 4294967295 12 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 6 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 3 0 0 0 2 0 5 0 4 0 7 5 0 0 0 4294967295 12 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 6 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 3 0 1 0 2 0 5 0 4 0 7 6 0 0 0 4294967295 12 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 6 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 3 0 0 0 3 0 5 0 4 0 7 7 0 0 0 4294967295 12 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 6 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 3 0 1 0 3 0 5 0 0 0 -DEAL:0::0 0 0 0 1 0 0 0 8 0 1 2 3 4 5 6 7 0 0 4294967295 0 0 8 0 0 0 0 0 3 0 0 0.00000000000000000e+00 0.00000000000000000e+00 0.00000000000000000e+00 3 1.00000000000000000e+00 0.00000000000000000e+00 0.00000000000000000e+00 3 0.00000000000000000e+00 1.00000000000000000e+00 0.00000000000000000e+00 3 1.00000000000000000e+00 1.00000000000000000e+00 0.00000000000000000e+00 3 0.00000000000000000e+00 0.00000000000000000e+00 1.00000000000000000e+00 3 1.00000000000000000e+00 0.00000000000000000e+00 1.00000000000000000e+00 3 0.00000000000000000e+00 1.00000000000000000e+00 1.00000000000000000e+00 3 1.00000000000000000e+00 1.00000000000000000e+00 1.00000000000000000e+00 1 0 0 0 0 2 0 0 0 1 0 0 0 0 0 4 0 3 0 0 4294967294 0 4294967295 0 0 12 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 0 0 6 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 0 0 6 0 0 0 0 0 1 0 2 0 3 0 4 0 5 0 8 0 4 0 7 0 0 0 0 4294967295 12 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 6 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 3 0 0 0 2 0 4 0 4 0 7 1 0 0 0 4294967295 12 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 6 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 3 0 1 0 2 0 4 0 4 0 7 2 0 0 0 4294967295 12 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 6 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 3 0 0 0 3 0 4 0 4 0 7 3 0 0 0 4294967295 12 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 6 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 3 0 1 0 3 0 4 0 4 0 7 4 0 0 0 4294967295 12 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 6 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 3 0 0 0 2 0 5 0 4 0 7 5 0 0 0 4294967295 12 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 6 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 3 0 1 0 2 0 5 0 4 0 7 6 0 0 0 4294967295 12 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 6 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 3 0 0 0 3 0 5 0 4 0 7 7 0 0 0 4294967295 12 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 6 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 3 0 1 0 3 0 5 0 0 0 +DEAL:0::0 0 0 0 1 0 0 0 8 0 0 1 2 3 4 5 6 7 0 0 4294967295 0 0 8 0 0 0 0 0 3 0 0 0.00000000000000000e+00 0.00000000000000000e+00 0.00000000000000000e+00 3 1.00000000000000000e+00 0.00000000000000000e+00 0.00000000000000000e+00 3 0.00000000000000000e+00 1.00000000000000000e+00 0.00000000000000000e+00 3 1.00000000000000000e+00 1.00000000000000000e+00 0.00000000000000000e+00 3 0.00000000000000000e+00 0.00000000000000000e+00 1.00000000000000000e+00 3 1.00000000000000000e+00 0.00000000000000000e+00 1.00000000000000000e+00 3 0.00000000000000000e+00 1.00000000000000000e+00 1.00000000000000000e+00 3 1.00000000000000000e+00 1.00000000000000000e+00 1.00000000000000000e+00 1 0 0 0 0 2 0 0 0 1 0 0 0 0 0 4 0 3 0 0 4294967294 0 4294967295 0 0 12 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 0 0 6 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 0 0 6 0 0 0 0 0 1 0 2 0 3 0 4 0 5 0 8 0 4 0 7 0 0 0 0 4294967295 12 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 6 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 3 0 0 0 2 0 4 0 4 0 7 1 0 0 0 4294967295 12 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 6 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 3 0 1 0 2 0 4 0 4 0 7 2 0 0 0 4294967295 12 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 6 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 3 0 0 0 3 0 4 0 4 0 7 3 0 0 0 4294967295 12 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 6 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 3 0 1 0 3 0 4 0 4 0 7 4 0 0 0 4294967295 12 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 6 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 3 0 0 0 2 0 5 0 4 0 7 5 0 0 0 4294967295 12 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 6 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 3 0 1 0 2 0 5 0 4 0 7 6 0 0 0 4294967295 12 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 6 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 3 0 0 0 3 0 5 0 4 0 7 7 0 0 0 4294967295 12 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 6 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 3 0 1 0 3 0 5 0 0 0 DEAL:0::OK