diff --git a/aabb.h b/aabb.h index 12b887c..5712b09 100644 --- a/aabb.h +++ b/aabb.h @@ -53,6 +53,20 @@ class aabb { } return true; } + + int longestAxis() const { + // Returns the index of the longest axis of the bounding box. + if (x.size() > y.size()) { + return x.size() > z.size() ? 0 : 2; + } else { + return y.size() > z.size() ? 1 : 2; + } + } + + static const aabb empty, universe; }; +const aabb aabb::empty = aabb(interval::empty, interval::empty, interval::empty); +const aabb aabb::universe = aabb(interval::universe, interval::universe, interval::universe); + #endif \ No newline at end of file diff --git a/build/CMakeFiles/Raytracer.dir/ImageGenerator.cpp.o b/build/CMakeFiles/Raytracer.dir/ImageGenerator.cpp.o index ec22641..2c4217b 100644 Binary files a/build/CMakeFiles/Raytracer.dir/ImageGenerator.cpp.o and b/build/CMakeFiles/Raytracer.dir/ImageGenerator.cpp.o differ diff --git a/build/Raytracer b/build/Raytracer index 0d36135..5f78290 100755 Binary files a/build/Raytracer and b/build/Raytracer differ diff --git a/bvh.h b/bvh.h index 9555b03..dc2b438 100644 --- a/bvh.h +++ b/bvh.h @@ -14,7 +14,12 @@ class bvh_node : public hittable { } bvh_node(std::vector>& objects, size_t start, size_t end) { - int axis = randomInt(0,2); + bBox = aabb::empty; + for (size_t objectIndex = start; objectIndex < end; objectIndex++) { + bBox = aabb(bBox, objects[objectIndex]->boundingBox()); + } + + int axis = bBox.longestAxis(); auto comparator = (axis == 0) ? boxXCompare : (axis == 1) ? boxYCompare @@ -34,8 +39,6 @@ class bvh_node : public hittable { left = make_shared(objects, start, mid); right = make_shared(objects, mid, end); } - - bBox = aabb(left->boundingBox(), right->boundingBox()); } bool hit(const ray& r, interval ray_t, hitRecord& rec) const override { diff --git a/image.ppm b/image.ppm index 2494df5..7b2d679 100644 --- a/image.ppm +++ b/image.ppm @@ -409,6 +409,7 @@ P3 220 234 254 220 234 254 220 234 254 +220 234 254 219 234 254 220 234 254 220 234 254 @@ -421,6 +422,7 @@ P3 219 234 254 219 234 254 220 234 254 +219 234 254 220 234 254 219 234 254 219 234 254 @@ -430,7 +432,6 @@ P3 220 234 254 219 234 254 219 234 254 -219 234 254 220 234 254 220 234 254 219 234 254 @@ -440,7 +441,7 @@ P3 219 234 254 219 234 254 219 234 254 -219 234 254 +220 234 254 220 234 254 219 234 254 219 234 254 @@ -454,7 +455,7 @@ P3 219 234 254 220 234 254 219 234 254 -219 234 254 +220 234 254 220 234 254 219 234 254 219 234 254 @@ -613,7 +614,7 @@ P3 219 234 254 219 234 254 219 234 254 -219 234 254 +220 234 254 219 234 254 219 234 254 219 234 254 @@ -752,7 +753,7 @@ P3 219 234 254 220 234 254 219 234 254 -219 234 254 +220 234 254 219 234 254 219 234 254 219 234 254 @@ -765,13 +766,13 @@ P3 220 234 254 220 234 254 219 234 254 -220 234 254 +219 234 254 220 234 254 220 234 254 220 234 254 220 234 254 219 234 254 -220 234 254 +219 234 254 219 234 254 219 234 254 220 234 254 @@ -779,7 +780,7 @@ P3 220 234 254 219 234 254 220 234 254 -220 234 254 +219 234 254 219 234 254 220 234 254 219 234 254 @@ -792,13 +793,13 @@ P3 220 234 254 219 234 254 220 234 254 -219 234 254 220 234 254 220 234 254 220 234 254 220 234 254 220 234 254 -219 234 254 +220 234 254 +220 234 254 219 234 254 220 234 254 220 234 254 @@ -5200,14 +5201,14 @@ P3 220 234 254 220 234 254 220 234 254 -220 234 254 +220 235 254 220 235 254 220 234 254 220 234 254 220 234 254 220 234 254 220 234 254 -220 234 254 +220 235 254 220 234 254 220 235 254 220 234 254 @@ -5215,7 +5216,6 @@ P3 220 234 254 220 235 254 220 234 254 -220 235 254 220 234 254 220 234 254 220 234 254 @@ -5223,7 +5223,6 @@ P3 220 234 254 220 234 254 220 234 254 -220 235 254 220 234 254 220 234 254 220 234 254 @@ -5236,16 +5235,17 @@ P3 220 234 254 220 234 254 220 234 254 -220 235 254 -220 235 254 -220 235 254 220 234 254 220 234 254 +220 234 254 +220 235 254 220 235 254 220 234 254 +220 234 254 220 235 254 220 234 254 220 234 254 +220 235 254 220 234 254 220 234 254 220 234 254 @@ -5255,6 +5255,7 @@ P3 220 234 254 220 234 254 220 234 254 +220 235 254 220 234 254 220 234 254 220 235 254 @@ -5285,7 +5286,7 @@ P3 220 234 254 220 234 254 220 234 254 -220 234 254 +220 235 254 220 234 254 220 234 254 220 234 254 @@ -5301,7 +5302,7 @@ P3 220 234 254 220 234 254 220 234 254 -220 235 254 +220 234 254 220 234 254 220 235 254 220 234 254 @@ -5370,7 +5371,7 @@ P3 220 234 254 220 234 254 220 234 254 -220 234 254 +220 235 254 220 234 254 220 234 254 220 234 254 @@ -5408,7 +5409,7 @@ P3 220 234 254 220 234 254 220 234 254 -220 234 254 +220 235 254 220 234 254 220 234 254 220 234 254 @@ -5418,7 +5419,8 @@ P3 220 234 254 220 234 254 220 234 254 -220 235 254 +220 234 254 +220 234 254 220 234 254 220 234 254 220 234 254 @@ -5444,7 +5446,6 @@ P3 220 234 254 220 234 254 220 234 254 -220 235 254 220 234 254 220 234 254 220 234 254 @@ -5505,7 +5506,7 @@ P3 220 235 254 220 235 254 220 234 254 -220 235 254 +220 234 254 220 234 254 220 234 254 220 234 254 @@ -5516,7 +5517,6 @@ P3 220 234 254 220 234 254 220 234 254 -220 235 254 220 234 254 220 234 254 220 234 254 @@ -5546,6 +5546,7 @@ P3 220 234 254 220 234 254 220 234 254 +220 235 254 220 234 254 220 234 254 220 234 254 @@ -5592,15 +5593,14 @@ P3 220 234 254 220 234 254 220 234 254 -220 235 254 220 234 254 220 234 254 -220 235 254 220 234 254 220 235 254 -220 235 254 +220 234 254 220 234 254 220 235 254 +220 234 254 220 235 254 220 235 254 220 235 254 @@ -6163,421 +6163,420 @@ P3 220 235 254 220 235 254 220 235 254 +218 232 251 219 233 252 -217 231 250 219 233 252 +216 230 249 219 234 253 218 232 251 +219 233 252 218 232 251 +220 234 253 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +219 233 252 217 231 250 -220 234 253 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -219 233 252 -214 227 245 -212 224 242 +217 231 250 +211 223 240 +206 216 233 203 212 228 -208 219 235 -200 209 224 -197 204 219 -186 190 201 -190 195 208 -199 208 223 -196 203 217 -192 198 211 -194 200 213 -205 215 232 204 213 229 -210 222 239 -216 229 248 -215 228 246 +193 199 212 +198 206 220 +186 191 202 +188 193 205 +194 201 215 +197 205 219 +201 209 224 +196 204 217 +209 220 237 +208 219 235 +213 226 244 +216 230 249 219 233 252 -220 234 253 220 235 254 220 235 254 220 235 254 @@ -6594,425 +6593,21 @@ P3 220 235 254 220 235 254 219 233 253 -219 233 253 -218 232 252 -216 231 251 -215 230 250 -216 231 251 -214 229 250 -210 225 245 -213 228 249 -212 228 248 +220 234 254 +217 232 252 +218 232 253 +217 231 251 +217 232 253 +214 230 249 215 230 250 211 226 246 -217 231 251 -217 232 252 -219 234 253 -220 235 254 -220 234 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 234 254 -220 235 254 -220 234 254 -218 232 251 -216 229 247 -215 227 245 -217 231 249 -213 224 241 -213 225 242 -216 229 247 -217 231 249 -218 232 251 -220 234 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -219 233 252 -217 230 249 -209 221 238 -198 206 220 -189 194 206 -182 185 195 -176 176 184 -173 172 179 -157 151 153 -163 158 162 -150 140 139 -149 139 137 -153 143 143 -147 135 132 -149 138 137 -161 157 160 -156 149 150 -159 154 156 -170 168 174 -168 167 172 -183 186 196 -185 188 199 -191 197 209 -206 215 232 -211 223 240 -219 233 252 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 235 254 -220 234 254 -218 233 253 +213 228 248 215 230 250 213 228 248 -206 222 243 -203 219 241 -191 208 231 -184 201 223 -183 199 222 -181 198 221 -173 192 214 -180 198 220 -177 195 218 -181 200 223 -175 193 215 -190 208 232 -180 198 221 -182 199 222 -196 213 235 -192 208 229 -195 211 233 -202 217 239 -206 221 242 +216 231 251 +215 229 249 216 230 250 -218 233 253 +219 233 253 219 233 253 220 235 254 220 235 254 @@ -7050,32 +6645,437 @@ P3 220 235 254 220 235 254 220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 234 254 +220 234 254 +220 234 253 +219 233 253 +217 231 249 +216 228 246 +215 228 245 +217 231 249 +213 224 241 +215 227 245 217 230 248 -209 220 235 -208 218 233 -201 209 221 -191 195 203 +219 233 252 +219 233 252 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +219 233 252 +217 231 250 +212 224 242 +205 215 232 +194 201 215 +181 183 193 +173 173 181 +172 171 177 +167 164 169 +159 154 156 +154 145 145 +152 143 143 +149 139 137 +150 140 139 +145 134 130 +151 142 141 +164 161 165 +162 158 162 +174 173 181 +177 179 188 +177 179 187 +189 193 205 +194 200 213 +201 210 225 +214 227 245 +217 231 250 +220 234 253 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 234 254 +220 234 254 +218 232 253 +213 228 248 +210 225 245 +207 222 243 +199 215 237 +194 211 233 +184 202 224 +183 200 223 +183 199 222 +174 191 215 +181 200 223 +176 194 218 +178 196 220 +180 198 220 +179 197 221 +180 197 221 +189 206 229 +186 203 225 +195 211 233 +193 209 231 +202 217 238 +208 224 245 +216 231 251 +216 230 250 +219 233 253 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +220 235 254 +217 231 249 +210 221 237 +205 214 228 +198 205 215 190 194 201 -186 190 195 +190 194 201 +186 189 195 180 182 185 178 180 182 -178 180 183 -177 178 181 -176 177 180 -176 177 180 -176 177 180 177 179 182 177 178 181 +176 178 180 +176 177 180 +176 177 180 +178 179 182 +177 178 181 179 181 184 -182 185 189 -183 186 190 -185 188 194 -198 205 215 -202 210 222 +181 183 187 +183 186 191 +188 191 198 +196 202 211 +200 208 219 206 216 230 -212 224 240 -216 229 247 -220 234 253 +213 225 241 +217 230 248 +219 233 253 220 235 254 220 235 254 220 235 254 @@ -7353,68 +7353,68 @@ P3 220 235 254 220 235 254 218 232 251 -214 227 245 -207 218 234 -193 199 212 -184 188 199 +212 225 243 +204 213 229 +194 201 215 +185 189 201 167 165 170 -166 163 167 -145 133 130 -134 115 105 +166 164 169 +141 128 123 +133 115 105 129 109 96 -129 107 93 +130 109 96 127 105 90 -124 99 80 +123 98 80 127 105 90 -123 100 84 -121 97 80 +122 98 80 +123 100 83 122 98 80 124 101 83 123 98 80 -129 107 94 -129 110 99 -135 119 110 -138 123 116 +128 107 94 +127 106 93 +137 121 113 +137 123 116 140 125 118 -155 146 147 -170 169 176 -181 182 192 -192 198 211 -195 202 216 +156 149 151 +170 168 174 +177 177 185 +190 196 208 +198 207 221 217 231 250 220 234 253 220 235 254 220 235 254 219 233 253 -217 232 252 -209 223 244 -197 213 234 -199 216 238 -188 206 228 -175 194 218 -159 178 202 -169 188 213 +216 231 251 +212 226 246 +198 213 234 +198 215 236 +189 207 229 +175 193 217 +160 179 202 +170 189 214 156 175 198 -164 183 209 +163 182 208 161 180 205 -155 174 198 -152 170 194 -154 174 198 -152 171 195 +156 175 199 +150 169 193 +156 175 199 +151 170 194 150 171 193 156 177 200 -154 174 197 -161 180 204 +154 173 197 +161 181 205 160 180 206 156 174 199 -160 178 202 +160 177 202 167 185 210 167 186 210 178 196 219 -179 197 220 +180 197 220 198 214 236 204 220 241 -213 228 249 +213 227 248 219 234 254 220 234 254 220 235 254 @@ -7445,8 +7445,8 @@ P3 220 235 254 220 235 254 220 234 254 -218 231 250 -211 222 238 +219 232 251 +212 223 239 201 209 220 192 197 205 185 187 192