diff --git a/.gitmodules b/.gitmodules new file mode 100644 index 0000000..c63ad62 --- /dev/null +++ b/.gitmodules @@ -0,0 +1,6 @@ +[submodule "digraphene-headers"] + path = digraphene-headers + url = https://gitlab.com/TestingPlant/digraphene-headers.git +[submodule "fast_obj"] + path = fast_obj + url = https://github.com/thisistherk/fast_obj.git diff --git a/digraphene-headers b/digraphene-headers new file mode 160000 index 0000000..f70af51 --- /dev/null +++ b/digraphene-headers @@ -0,0 +1 @@ +Subproject commit f70af51fececfa9ad6eda52d222f70620d4cd7a7 diff --git a/fast_obj b/fast_obj new file mode 160000 index 0000000..ac312c9 --- /dev/null +++ b/fast_obj @@ -0,0 +1 @@ +Subproject commit ac312c9c6d63c1902647e8a47190a18878e7f282 diff --git a/meshes/sphere.obj b/meshes/sphere.obj new file mode 100644 index 0000000..ba40eac --- /dev/null +++ b/meshes/sphere.obj @@ -0,0 +1,2071 @@ +# Blender v2.91.2 OBJ File: '' +# www.blender.org +mtllib untitled.mtl +o Sphere +v 0.000000 0.980785 -0.195090 +v 0.000000 0.923880 -0.382683 +v 0.000000 0.831470 -0.555570 +v 0.000000 0.707107 -0.707107 +v 0.000000 0.555570 -0.831470 +v 0.000000 0.382683 -0.923880 +v 0.000000 0.195090 -0.980785 +v 0.000000 0.000000 -1.000000 +v 0.000000 -0.195090 -0.980785 +v 0.000000 -0.831470 -0.555570 +v 0.038060 0.980785 -0.191342 +v 0.074658 0.923880 -0.375330 +v 0.108386 0.831470 -0.544895 +v 0.137950 0.707107 -0.693520 +v 0.162212 0.555570 -0.815493 +v 0.180240 0.382683 -0.906127 +v 0.191342 0.195090 -0.961940 +v 0.195090 0.000000 -0.980785 +v 0.191342 -0.195090 -0.961940 +v 0.180240 -0.382683 -0.906127 +v 0.162212 -0.555570 -0.815493 +v 0.137950 -0.707107 -0.693520 +v 0.108386 -0.831470 -0.544895 +v 0.074658 -0.923880 -0.375330 +v 0.038060 -0.980785 -0.191341 +v 0.074658 0.980785 -0.180240 +v 0.146447 0.923880 -0.353553 +v 0.212608 0.831470 -0.513280 +v 0.270598 0.707107 -0.653281 +v 0.318190 0.555570 -0.768178 +v 0.353553 0.382683 -0.853553 +v 0.375330 0.195090 -0.906127 +v 0.382684 0.000000 -0.923879 +v 0.375330 -0.195090 -0.906127 +v 0.353554 -0.382683 -0.853553 +v 0.318190 -0.555570 -0.768178 +v 0.270598 -0.707107 -0.653281 +v 0.212608 -0.831470 -0.513280 +v 0.146447 -0.923880 -0.353553 +v 0.074658 -0.980785 -0.180240 +v 0.108387 0.980785 -0.162212 +v 0.212608 0.923880 -0.318190 +v 0.308658 0.831470 -0.461940 +v 0.392848 0.707107 -0.587938 +v 0.461940 0.555570 -0.691342 +v 0.513280 0.382683 -0.768178 +v 0.544895 0.195090 -0.815493 +v 0.555570 0.000000 -0.831469 +v 0.544895 -0.195090 -0.815493 +v 0.513280 -0.382683 -0.768178 +v 0.461940 -0.555570 -0.691342 +v 0.392848 -0.707107 -0.587938 +v 0.308658 -0.831470 -0.461940 +v 0.212608 -0.923880 -0.318189 +v 0.108386 -0.980785 -0.162211 +v 0.137950 0.980785 -0.137950 +v 0.270598 0.923880 -0.270598 +v 0.392848 0.831470 -0.392847 +v 0.500000 0.707107 -0.500000 +v 0.587938 0.555570 -0.587938 +v 0.653282 0.382683 -0.653281 +v 0.693520 0.195090 -0.693520 +v 0.707107 0.000000 -0.707107 +v 0.693520 -0.195090 -0.693520 +v 0.653282 -0.382683 -0.653281 +v 0.587938 -0.555570 -0.587938 +v 0.500000 -0.707107 -0.500000 +v 0.392848 -0.831470 -0.392847 +v 0.270598 -0.923880 -0.270598 +v 0.137950 -0.980785 -0.137949 +v 0.162212 0.980785 -0.108386 +v 0.318190 0.923880 -0.212607 +v 0.461940 0.831470 -0.308658 +v 0.587938 0.707107 -0.392847 +v 0.691342 0.555570 -0.461940 +v 0.768178 0.382683 -0.513280 +v 0.815493 0.195090 -0.544895 +v 0.831470 0.000000 -0.555570 +v 0.815493 -0.195090 -0.544895 +v 0.768178 -0.382683 -0.513280 +v 0.691342 -0.555570 -0.461940 +v 0.587938 -0.707107 -0.392847 +v 0.461940 -0.831470 -0.308658 +v 0.318190 -0.923880 -0.212607 +v 0.162212 -0.980785 -0.108386 +v 0.180240 0.980785 -0.074658 +v 0.353554 0.923880 -0.146446 +v 0.513280 0.831470 -0.212607 +v 0.653282 0.707107 -0.270598 +v 0.768178 0.555570 -0.318189 +v 0.853554 0.382683 -0.353553 +v 0.906128 0.195090 -0.375330 +v 0.923880 0.000000 -0.382683 +v 0.906128 -0.195090 -0.375330 +v 0.853554 -0.382683 -0.353553 +v 0.768178 -0.555570 -0.318189 +v 0.653282 -0.707107 -0.270598 +v 0.513280 -0.831470 -0.212607 +v 0.353554 -0.923880 -0.146446 +v 0.180240 -0.980785 -0.074658 +v 0.191342 0.980785 -0.038060 +v 0.375331 0.923880 -0.074658 +v 0.544895 0.831470 -0.108386 +v 0.693520 0.707107 -0.137949 +v 0.815493 0.555570 -0.162211 +v 0.906128 0.382683 -0.180240 +v 0.961940 0.195090 -0.191341 +v 0.980785 0.000000 -0.195090 +v 0.961940 -0.195090 -0.191341 +v 0.906128 -0.382683 -0.180240 +v 0.815493 -0.555570 -0.162211 +v 0.693520 -0.707107 -0.137949 +v 0.544895 -0.831470 -0.108386 +v 0.375330 -0.923880 -0.074658 +v 0.191342 -0.980785 -0.038060 +v 0.195091 0.980785 0.000000 +v 0.382684 0.923880 0.000000 +v 0.555570 0.831470 0.000000 +v 0.707107 0.707107 0.000000 +v 0.831470 0.555570 0.000000 +v 0.923880 0.382683 0.000000 +v 0.980785 0.195090 0.000000 +v 1.000000 0.000000 0.000000 +v 0.980785 -0.195090 0.000000 +v 0.923880 -0.382683 0.000000 +v 0.831470 -0.555570 0.000000 +v 0.707107 -0.707107 0.000000 +v 0.555570 -0.831470 0.000000 +v 0.382684 -0.923880 0.000000 +v 0.195090 -0.980785 0.000000 +v 0.191342 0.980785 0.038061 +v 0.375331 0.923880 0.074658 +v 0.544895 0.831470 0.108387 +v 0.693520 0.707107 0.137950 +v 0.815493 0.555570 0.162212 +v 0.906128 0.382683 0.180240 +v 0.961940 0.195090 0.191342 +v 0.980785 0.000000 0.195091 +v 0.961940 -0.195090 0.191342 +v 0.906128 -0.382683 0.180240 +v 0.815493 -0.555570 0.162212 +v 0.693520 -0.707107 0.137950 +v 0.544895 -0.831470 0.108387 +v 0.375330 -0.923880 0.074658 +v 0.191342 -0.980785 0.038061 +v 0.180240 0.980785 0.074658 +v 0.353554 0.923880 0.146447 +v 0.513280 0.831470 0.212608 +v 0.653282 0.707107 0.270598 +v 0.768178 0.555570 0.318190 +v 0.853554 0.382683 0.353554 +v 0.906127 0.195090 0.375331 +v 0.923880 0.000000 0.382684 +v 0.906127 -0.195090 0.375331 +v 0.853554 -0.382683 0.353554 +v 0.768178 -0.555570 0.318190 +v 0.653282 -0.707107 0.270598 +v 0.513280 -0.831470 0.212608 +v 0.353553 -0.923880 0.146447 +v 0.180240 -0.980785 0.074658 +v 0.162212 0.980785 0.108387 +v 0.318190 0.923880 0.212608 +v 0.461940 0.831470 0.308659 +v 0.587938 0.707107 0.392848 +v 0.691342 0.555570 0.461940 +v 0.768178 0.382683 0.513280 +v 0.815493 0.195090 0.544895 +v 0.831470 0.000000 0.555571 +v 0.815493 -0.195090 0.544895 +v 0.768178 -0.382683 0.513280 +v 0.691342 -0.555570 0.461940 +v 0.587938 -0.707107 0.392848 +v 0.461940 -0.831470 0.308659 +v 0.318190 -0.923880 0.212608 +v 0.162212 -0.980785 0.108387 +v 0.137950 0.980785 0.137950 +v 0.270598 0.923880 0.270599 +v 0.392848 0.831470 0.392848 +v 0.500000 0.707107 0.500000 +v 0.587938 0.555570 0.587938 +v 0.653282 0.382683 0.653282 +v 0.693520 0.195090 0.693520 +v 0.707107 0.000000 0.707107 +v 0.693520 -0.195090 0.693520 +v 0.653282 -0.382683 0.653282 +v 0.587938 -0.555570 0.587938 +v 0.500000 -0.707107 0.500000 +v 0.392848 -0.831470 0.392848 +v 0.270598 -0.923880 0.270598 +v 0.137950 -0.980785 0.137950 +v 0.108386 0.980785 0.162212 +v 0.212608 0.923880 0.318190 +v 0.308658 0.831470 0.461940 +v 0.392848 0.707107 0.587938 +v 0.461940 0.555570 0.691342 +v 0.513280 0.382683 0.768178 +v 0.544895 0.195090 0.815493 +v 0.555570 0.000000 0.831470 +v 0.544895 -0.195090 0.815493 +v 0.513280 -0.382683 0.768178 +v 0.461940 -0.555570 0.691342 +v 0.392848 -0.707107 0.587938 +v 0.308658 -0.831470 0.461940 +v 0.212608 -0.923880 0.318190 +v 0.108386 -0.980785 0.162212 +v 0.000000 -1.000000 0.000000 +v 0.074658 0.980785 0.180240 +v 0.146447 0.923880 0.353554 +v 0.212608 0.831470 0.513280 +v 0.270598 0.707107 0.653282 +v 0.318190 0.555570 0.768178 +v 0.353553 0.382683 0.853554 +v 0.375330 0.195090 0.906128 +v 0.382683 0.000000 0.923880 +v 0.375330 -0.195090 0.906128 +v 0.353553 -0.382683 0.853554 +v 0.318190 -0.555570 0.768178 +v 0.270598 -0.707107 0.653282 +v 0.212608 -0.831470 0.513280 +v 0.146447 -0.923880 0.353554 +v 0.074658 -0.980785 0.180240 +v 0.038060 0.980785 0.191342 +v 0.074658 0.923880 0.375331 +v 0.108386 0.831470 0.544896 +v 0.137950 0.707107 0.693520 +v 0.162212 0.555570 0.815493 +v 0.180240 0.382683 0.906128 +v 0.191342 0.195090 0.961940 +v 0.195090 0.000000 0.980786 +v 0.191342 -0.195090 0.961940 +v 0.180240 -0.382683 0.906128 +v 0.162212 -0.555570 0.815493 +v 0.137950 -0.707107 0.693520 +v 0.108386 -0.831470 0.544895 +v 0.074658 -0.923880 0.375331 +v 0.038060 -0.980785 0.191342 +v -0.000000 0.980785 0.195091 +v 0.000000 0.923880 0.382684 +v 0.000000 0.831470 0.555571 +v -0.000000 0.707107 0.707107 +v -0.000000 0.555570 0.831470 +v 0.000000 0.382683 0.923880 +v -0.000000 0.195090 0.980785 +v -0.000000 0.000000 1.000000 +v -0.000000 -0.195090 0.980785 +v 0.000000 -0.382683 0.923880 +v -0.000000 -0.555570 0.831470 +v -0.000000 -0.707107 0.707107 +v -0.000000 -0.831470 0.555570 +v 0.000000 -0.923880 0.382684 +v 0.000000 -0.980785 0.195091 +v -0.038060 0.980785 0.191342 +v -0.074658 0.923880 0.375331 +v -0.108386 0.831470 0.544896 +v -0.137950 0.707107 0.693520 +v -0.162212 0.555570 0.815493 +v -0.180240 0.382683 0.906128 +v -0.191342 0.195090 0.961940 +v -0.195090 0.000000 0.980786 +v -0.191342 -0.195090 0.961940 +v -0.180240 -0.382683 0.906128 +v -0.162212 -0.555570 0.815493 +v -0.137950 -0.707107 0.693520 +v -0.108386 -0.831470 0.544895 +v -0.074658 -0.923880 0.375331 +v -0.038060 -0.980785 0.191342 +v -0.074658 0.980785 0.180240 +v -0.146447 0.923880 0.353554 +v -0.212608 0.831470 0.513280 +v -0.270598 0.707107 0.653282 +v -0.318190 0.555570 0.768178 +v -0.353553 0.382683 0.853554 +v -0.375330 0.195090 0.906127 +v -0.382684 0.000000 0.923880 +v -0.375330 -0.195090 0.906127 +v -0.353553 -0.382683 0.853554 +v -0.318190 -0.555570 0.768178 +v -0.270598 -0.707107 0.653282 +v -0.212608 -0.831470 0.513280 +v -0.146447 -0.923880 0.353554 +v -0.074658 -0.980785 0.180240 +v -0.108386 0.980785 0.162212 +v -0.212608 0.923880 0.318190 +v -0.308658 0.831470 0.461940 +v -0.392847 0.707107 0.587938 +v -0.461940 0.555570 0.691342 +v -0.513280 0.382683 0.768178 +v -0.544895 0.195090 0.815493 +v -0.555570 0.000000 0.831470 +v -0.544895 -0.195090 0.815493 +v -0.513280 -0.382683 0.768178 +v -0.461940 -0.555570 0.691342 +v -0.392847 -0.707107 0.587938 +v -0.308658 -0.831470 0.461940 +v -0.212607 -0.923880 0.318190 +v -0.108386 -0.980785 0.162212 +v -0.000000 1.000000 0.000001 +v -0.137950 0.980785 0.137950 +v -0.270598 0.923880 0.270598 +v -0.392848 0.831470 0.392848 +v -0.500000 0.707107 0.500000 +v -0.587938 0.555570 0.587938 +v -0.653281 0.382683 0.653282 +v -0.693520 0.195090 0.693520 +v -0.707107 0.000000 0.707107 +v -0.693520 -0.195090 0.693520 +v -0.653281 -0.382683 0.653282 +v -0.587938 -0.555570 0.587938 +v -0.500000 -0.707107 0.500000 +v -0.392847 -0.831470 0.392848 +v -0.270598 -0.923880 0.270598 +v -0.137950 -0.980785 0.137950 +v -0.162212 0.980785 0.108387 +v -0.318190 0.923880 0.212608 +v -0.461940 0.831470 0.308659 +v -0.587938 0.707107 0.392848 +v -0.691342 0.555570 0.461940 +v -0.768178 0.382683 0.513280 +v -0.815493 0.195090 0.544895 +v -0.831470 0.000000 0.555570 +v -0.815493 -0.195090 0.544895 +v -0.768178 -0.382683 0.513280 +v -0.691342 -0.555570 0.461940 +v -0.587938 -0.707107 0.392848 +v -0.461940 -0.831470 0.308658 +v -0.318190 -0.923880 0.212608 +v -0.162212 -0.980785 0.108387 +v -0.180240 0.980785 0.074658 +v -0.353553 0.923880 0.146447 +v -0.513280 0.831470 0.212608 +v -0.653281 0.707107 0.270598 +v -0.768177 0.555570 0.318190 +v -0.853553 0.382683 0.353554 +v -0.906127 0.195090 0.375330 +v -0.923880 0.000000 0.382684 +v -0.906127 -0.195090 0.375330 +v -0.853553 -0.382683 0.353554 +v -0.768177 -0.555570 0.318190 +v -0.653281 -0.707107 0.270598 +v -0.513280 -0.831470 0.212608 +v -0.353553 -0.923880 0.146447 +v -0.180240 -0.980785 0.074658 +v -0.191342 0.980785 0.038061 +v -0.375330 0.923880 0.074658 +v -0.544895 0.831470 0.108387 +v -0.693520 0.707107 0.137950 +v -0.815493 0.555570 0.162212 +v -0.906127 0.382683 0.180240 +v -0.961939 0.195090 0.191342 +v -0.980785 0.000000 0.195090 +v -0.961939 -0.195090 0.191342 +v -0.906127 -0.382683 0.180240 +v -0.815493 -0.555570 0.162212 +v -0.693520 -0.707107 0.137950 +v -0.544895 -0.831470 0.108387 +v -0.375330 -0.923880 0.074658 +v -0.191342 -0.980785 0.038061 +v -0.195090 0.980785 0.000000 +v -0.382683 0.923880 0.000000 +v -0.555570 0.831470 0.000000 +v -0.707107 0.707107 0.000000 +v -0.831469 0.555570 0.000000 +v -0.923879 0.382683 0.000000 +v -0.980785 0.195090 0.000000 +v -1.000000 0.000000 0.000000 +v -0.980785 -0.195090 0.000000 +v -0.923879 -0.382683 0.000000 +v -0.831469 -0.555570 0.000000 +v -0.707107 -0.707107 0.000000 +v -0.555570 -0.831470 0.000000 +v -0.382683 -0.923880 0.000000 +v -0.195090 -0.980785 0.000000 +v -0.191342 0.980785 -0.038060 +v -0.375330 0.923880 -0.074658 +v -0.544895 0.831470 -0.108386 +v -0.693520 0.707107 -0.137949 +v -0.815493 0.555570 -0.162211 +v -0.906127 0.382683 -0.180240 +v -0.961939 0.195090 -0.191342 +v -0.980785 0.000000 -0.195090 +v -0.961939 -0.195090 -0.191342 +v -0.906127 -0.382683 -0.180240 +v -0.815493 -0.555570 -0.162211 +v -0.693520 -0.707107 -0.137949 +v -0.544895 -0.831470 -0.108386 +v -0.375330 -0.923880 -0.074658 +v -0.191342 -0.980785 -0.038060 +v -0.180240 0.980785 -0.074658 +v -0.353553 0.923880 -0.146446 +v -0.513280 0.831470 -0.212607 +v -0.653281 0.707107 -0.270598 +v -0.768177 0.555570 -0.318189 +v -0.853553 0.382683 -0.353553 +v -0.906127 0.195090 -0.375330 +v -0.923879 0.000000 -0.382683 +v -0.906127 -0.195090 -0.375330 +v -0.853553 -0.382683 -0.353553 +v -0.768177 -0.555570 -0.318189 +v -0.653281 -0.707107 -0.270598 +v -0.513280 -0.831470 -0.212607 +v -0.353553 -0.923880 -0.146446 +v -0.180240 -0.980785 -0.074657 +v -0.162212 0.980785 -0.108386 +v -0.318190 0.923880 -0.212607 +v -0.461940 0.831470 -0.308658 +v -0.587938 0.707107 -0.392847 +v -0.691341 0.555570 -0.461939 +v -0.768178 0.382683 -0.513280 +v -0.815493 0.195090 -0.544895 +v -0.831469 0.000000 -0.555570 +v -0.815493 -0.195090 -0.544895 +v -0.768178 -0.382683 -0.513280 +v -0.691341 -0.555570 -0.461939 +v -0.587938 -0.707107 -0.392847 +v -0.461940 -0.831470 -0.308658 +v -0.318189 -0.923880 -0.212607 +v -0.162212 -0.980785 -0.108386 +v -0.137950 0.980785 -0.137949 +v -0.270598 0.923880 -0.270598 +v -0.392847 0.831470 -0.392847 +v -0.500000 0.707107 -0.500000 +v -0.587937 0.555570 -0.587937 +v -0.653281 0.382683 -0.653281 +v -0.693519 0.195090 -0.693519 +v -0.707106 0.000000 -0.707106 +v -0.693519 -0.195090 -0.693519 +v -0.653281 -0.382683 -0.653281 +v -0.587937 -0.555570 -0.587937 +v -0.500000 -0.707107 -0.500000 +v -0.392847 -0.831470 -0.392847 +v -0.270598 -0.923880 -0.270598 +v -0.137950 -0.980785 -0.137949 +v -0.108386 0.980785 -0.162211 +v -0.212607 0.923880 -0.318189 +v -0.308658 0.831470 -0.461939 +v -0.392847 0.707107 -0.587937 +v -0.461939 0.555570 -0.691341 +v -0.513280 0.382683 -0.768177 +v -0.544895 0.195090 -0.815492 +v -0.555570 0.000000 -0.831469 +v -0.544895 -0.195090 -0.815492 +v -0.513280 -0.382683 -0.768177 +v -0.461939 -0.555570 -0.691341 +v -0.392847 -0.707107 -0.587937 +v -0.308658 -0.831470 -0.461939 +v -0.212607 -0.923880 -0.318189 +v -0.108386 -0.980785 -0.162211 +v -0.074658 0.980785 -0.180240 +v -0.146447 0.923880 -0.353553 +v -0.212607 0.831470 -0.513280 +v -0.270598 0.707107 -0.653281 +v -0.318189 0.555570 -0.768177 +v -0.353553 0.382683 -0.853553 +v -0.375330 0.195090 -0.906127 +v -0.382683 0.000000 -0.923879 +v -0.375330 -0.195090 -0.906127 +v -0.353553 -0.382683 -0.853553 +v -0.318189 -0.555570 -0.768177 +v -0.270598 -0.707107 -0.653281 +v -0.212607 -0.831470 -0.513279 +v -0.146446 -0.923880 -0.353553 +v -0.074658 -0.980785 -0.180240 +v -0.038060 0.980785 -0.191342 +v -0.074658 0.923880 -0.375330 +v -0.108386 0.831470 -0.544895 +v -0.137950 0.707107 -0.693520 +v -0.162211 0.555570 -0.815492 +v -0.180240 0.382683 -0.906127 +v -0.191341 0.195090 -0.961939 +v -0.195090 0.000000 -0.980785 +v -0.191341 -0.195090 -0.961939 +v -0.180240 -0.382683 -0.906127 +v -0.162211 -0.555570 -0.815492 +v -0.137950 -0.707107 -0.693520 +v -0.108386 -0.831470 -0.544895 +v -0.074658 -0.923880 -0.375330 +v -0.038060 -0.980785 -0.191341 +v 0.000000 -0.382683 -0.923879 +v 0.000000 -0.555570 -0.831469 +v 0.000000 -0.707107 -0.707106 +v 0.000000 -0.923880 -0.382683 +v 0.000000 -0.980785 -0.195090 +vt 0.750000 0.437500 +vt 0.750000 0.500000 +vt 0.718750 0.500000 +vt 0.718750 0.437500 +vt 0.750000 0.875000 +vt 0.750000 0.937500 +vt 0.718750 0.937500 +vt 0.718750 0.875000 +vt 0.750000 0.375000 +vt 0.718750 0.375000 +vt 0.750000 0.812500 +vt 0.718750 0.812500 +vt 0.750000 0.312500 +vt 0.718750 0.312500 +vt 0.750000 0.750000 +vt 0.718750 0.750000 +vt 0.750000 0.250000 +vt 0.718750 0.250000 +vt 0.750000 0.687500 +vt 0.718750 0.687500 +vt 0.750000 0.187500 +vt 0.718750 0.187500 +vt 0.750000 0.625000 +vt 0.718750 0.625000 +vt 0.750000 0.125000 +vt 0.718750 0.125000 +vt 0.750000 0.562500 +vt 0.718750 0.562500 +vt 0.750000 0.062500 +vt 0.718750 0.062500 +vt 0.734375 1.000000 +vt 0.734375 0.000000 +vt 0.687500 0.125000 +vt 0.687500 0.062500 +vt 0.687500 0.562500 +vt 0.687500 0.500000 +vt 0.703125 1.000000 +vt 0.687500 0.937500 +vt 0.703125 0.000000 +vt 0.687500 0.437500 +vt 0.687500 0.875000 +vt 0.687500 0.375000 +vt 0.687500 0.812500 +vt 0.687500 0.312500 +vt 0.687500 0.750000 +vt 0.687500 0.250000 +vt 0.687500 0.687500 +vt 0.687500 0.187500 +vt 0.687500 0.625000 +vt 0.656250 0.312500 +vt 0.656250 0.250000 +vt 0.656250 0.750000 +vt 0.656250 0.687500 +vt 0.656250 0.187500 +vt 0.656250 0.625000 +vt 0.656250 0.125000 +vt 0.656250 0.562500 +vt 0.656250 0.062500 +vt 0.656250 0.500000 +vt 0.671875 1.000000 +vt 0.656250 0.937500 +vt 0.671875 0.000000 +vt 0.656250 0.437500 +vt 0.656250 0.875000 +vt 0.656250 0.375000 +vt 0.656250 0.812500 +vt 0.640625 1.000000 +vt 0.625000 0.937500 +vt 0.640625 0.000000 +vt 0.625000 0.062500 +vt 0.625000 0.500000 +vt 0.625000 0.437500 +vt 0.625000 0.875000 +vt 0.625000 0.375000 +vt 0.625000 0.812500 +vt 0.625000 0.312500 +vt 0.625000 0.750000 +vt 0.625000 0.250000 +vt 0.625000 0.687500 +vt 0.625000 0.187500 +vt 0.625000 0.625000 +vt 0.625000 0.125000 +vt 0.625000 0.562500 +vt 0.593750 0.750000 +vt 0.593750 0.687500 +vt 0.593750 0.250000 +vt 0.593750 0.187500 +vt 0.593750 0.625000 +vt 0.593750 0.125000 +vt 0.593750 0.562500 +vt 0.593750 0.062500 +vt 0.593750 0.500000 +vt 0.609375 1.000000 +vt 0.593750 0.937500 +vt 0.609375 0.000000 +vt 0.593750 0.437500 +vt 0.593750 0.875000 +vt 0.593750 0.375000 +vt 0.593750 0.812500 +vt 0.593750 0.312500 +vt 0.562500 0.500000 +vt 0.562500 0.437500 +vt 0.562500 0.937500 +vt 0.562500 0.875000 +vt 0.562500 0.375000 +vt 0.562500 0.812500 +vt 0.562500 0.312500 +vt 0.562500 0.750000 +vt 0.562500 0.250000 +vt 0.562500 0.687500 +vt 0.562500 0.187500 +vt 0.562500 0.625000 +vt 0.562500 0.125000 +vt 0.562500 0.562500 +vt 0.562500 0.062500 +vt 0.578125 1.000000 +vt 0.578125 0.000000 +vt 0.531250 0.250000 +vt 0.531250 0.187500 +vt 0.531250 0.687500 +vt 0.531250 0.625000 +vt 0.531250 0.125000 +vt 0.531250 0.562500 +vt 0.531250 0.062500 +vt 0.531250 0.500000 +vt 0.546875 1.000000 +vt 0.531250 0.937500 +vt 0.546875 0.000000 +vt 0.531250 0.437500 +vt 0.531250 0.875000 +vt 0.531250 0.375000 +vt 0.531250 0.812500 +vt 0.531250 0.312500 +vt 0.531250 0.750000 +vt 0.500000 0.937500 +vt 0.500000 0.875000 +vt 0.500000 0.437500 +vt 0.500000 0.375000 +vt 0.500000 0.812500 +vt 0.500000 0.312500 +vt 0.500000 0.750000 +vt 0.500000 0.250000 +vt 0.500000 0.687500 +vt 0.500000 0.187500 +vt 0.500000 0.625000 +vt 0.500000 0.125000 +vt 0.500000 0.562500 +vt 0.500000 0.062500 +vt 0.500000 0.500000 +vt 0.515625 1.000000 +vt 0.515625 0.000000 +vt 0.468750 0.687500 +vt 0.468750 0.625000 +vt 0.468750 0.187500 +vt 0.468750 0.125000 +vt 0.468750 0.562500 +vt 0.468750 0.062500 +vt 0.468750 0.500000 +vt 0.484374 1.000000 +vt 0.468750 0.937500 +vt 0.484375 0.000000 +vt 0.468750 0.437500 +vt 0.468750 0.875000 +vt 0.468750 0.375000 +vt 0.468750 0.812500 +vt 0.468750 0.312500 +vt 0.468750 0.750000 +vt 0.468750 0.250000 +vt 0.437500 0.437500 +vt 0.437500 0.375000 +vt 0.437500 0.875000 +vt 0.437500 0.812500 +vt 0.437500 0.312500 +vt 0.437500 0.750000 +vt 0.437500 0.250000 +vt 0.437500 0.687500 +vt 0.437500 0.187500 +vt 0.437500 0.625000 +vt 0.437500 0.125000 +vt 0.437500 0.562500 +vt 0.437500 0.062500 +vt 0.437500 0.500000 +vt 0.453124 1.000000 +vt 0.437500 0.937500 +vt 0.453125 0.000000 +vt 0.406250 0.187500 +vt 0.406250 0.125000 +vt 0.406250 0.625000 +vt 0.406250 0.562500 +vt 0.406250 0.062500 +vt 0.406250 0.500000 +vt 0.421874 1.000000 +vt 0.406250 0.937500 +vt 0.421875 0.000000 +vt 0.406250 0.437500 +vt 0.406250 0.875000 +vt 0.406250 0.375000 +vt 0.406250 0.812500 +vt 0.406250 0.312500 +vt 0.406250 0.750000 +vt 0.406250 0.250000 +vt 0.406250 0.687500 +vt 0.375000 0.375000 +vt 0.375000 0.312500 +vt 0.375000 0.812500 +vt 0.375000 0.750000 +vt 0.375000 0.250000 +vt 0.375000 0.687500 +vt 0.375000 0.187500 +vt 0.375000 0.625000 +vt 0.375000 0.125000 +vt 0.375000 0.562500 +vt 0.375000 0.062500 +vt 0.375000 0.500000 +vt 0.390625 1.000000 +vt 0.375000 0.937500 +vt 0.390625 0.000000 +vt 0.375000 0.437500 +vt 0.375000 0.875000 +vt 0.343750 0.125000 +vt 0.343750 0.062500 +vt 0.343750 0.562500 +vt 0.343750 0.500000 +vt 0.359375 1.000000 +vt 0.343750 0.937500 +vt 0.359375 0.000000 +vt 0.343750 0.437500 +vt 0.343750 0.875000 +vt 0.343750 0.375000 +vt 0.343750 0.812500 +vt 0.343750 0.312500 +vt 0.343750 0.750000 +vt 0.343750 0.250000 +vt 0.343750 0.687500 +vt 0.343750 0.187500 +vt 0.343750 0.625000 +vt 0.312500 0.812500 +vt 0.312500 0.750000 +vt 0.312500 0.312500 +vt 0.312500 0.250000 +vt 0.312500 0.687500 +vt 0.312500 0.187500 +vt 0.312500 0.625000 +vt 0.312500 0.125000 +vt 0.312500 0.562500 +vt 0.312500 0.062500 +vt 0.312500 0.500000 +vt 0.328125 1.000000 +vt 0.312500 0.937500 +vt 0.328125 0.000000 +vt 0.312500 0.437500 +vt 0.312500 0.875000 +vt 0.312500 0.375000 +vt 0.281250 0.562500 +vt 0.281250 0.500000 +vt 0.296875 1.000000 +vt 0.281250 0.937500 +vt 0.296875 0.000000 +vt 0.281250 0.062500 +vt 0.281250 0.437500 +vt 0.281250 0.875000 +vt 0.281250 0.375000 +vt 0.281250 0.812500 +vt 0.281250 0.312500 +vt 0.281250 0.750000 +vt 0.281250 0.250000 +vt 0.281250 0.687500 +vt 0.281250 0.187500 +vt 0.281250 0.625000 +vt 0.281250 0.125000 +vt 0.250000 0.312500 +vt 0.250000 0.250000 +vt 0.250000 0.750000 +vt 0.250000 0.687500 +vt 0.250000 0.187500 +vt 0.250000 0.625000 +vt 0.250000 0.125000 +vt 0.250000 0.562500 +vt 0.250000 0.062500 +vt 0.250000 0.500000 +vt 0.265625 1.000000 +vt 0.250000 0.937500 +vt 0.265625 0.000000 +vt 0.250000 0.437500 +vt 0.250000 0.875000 +vt 0.250000 0.375000 +vt 0.250000 0.812500 +vt 0.234375 1.000000 +vt 0.218750 0.937500 +vt 0.234375 0.000000 +vt 0.218750 0.062500 +vt 0.218750 0.500000 +vt 0.218750 0.437500 +vt 0.218750 0.875000 +vt 0.218750 0.375000 +vt 0.218750 0.812500 +vt 0.218750 0.312500 +vt 0.218750 0.750000 +vt 0.218750 0.250000 +vt 0.218750 0.687500 +vt 0.218750 0.187500 +vt 0.218750 0.625000 +vt 0.218750 0.125000 +vt 0.218750 0.562500 +vt 0.187500 0.750000 +vt 0.187500 0.687500 +vt 0.187500 0.250000 +vt 0.187500 0.187500 +vt 0.187500 0.625000 +vt 0.187500 0.125000 +vt 0.187500 0.562500 +vt 0.187500 0.062500 +vt 0.187500 0.500000 +vt 0.203125 1.000000 +vt 0.187500 0.937500 +vt 0.203125 0.000000 +vt 0.187500 0.437500 +vt 0.187500 0.875000 +vt 0.187500 0.375000 +vt 0.187500 0.812500 +vt 0.187500 0.312500 +vt 0.156250 0.500000 +vt 0.156250 0.437500 +vt 0.156250 0.937500 +vt 0.156250 0.875000 +vt 0.156250 0.375000 +vt 0.156250 0.812500 +vt 0.156250 0.312500 +vt 0.156250 0.750000 +vt 0.156250 0.250000 +vt 0.156250 0.687500 +vt 0.156250 0.187500 +vt 0.156250 0.625000 +vt 0.156250 0.125000 +vt 0.156250 0.562500 +vt 0.156250 0.062500 +vt 0.171875 1.000000 +vt 0.171875 0.000000 +vt 0.125000 0.250000 +vt 0.125000 0.187500 +vt 0.125000 0.687500 +vt 0.125000 0.625000 +vt 0.125000 0.125000 +vt 0.125000 0.562500 +vt 0.125000 0.062500 +vt 0.125000 0.500000 +vt 0.140625 1.000000 +vt 0.125000 0.937500 +vt 0.140625 0.000000 +vt 0.125000 0.437500 +vt 0.125000 0.875000 +vt 0.125000 0.375000 +vt 0.125000 0.812500 +vt 0.125000 0.312500 +vt 0.125000 0.750000 +vt 0.093750 0.437500 +vt 0.093750 0.375000 +vt 0.093750 0.875000 +vt 0.093750 0.812500 +vt 0.093750 0.312500 +vt 0.093750 0.750000 +vt 0.093750 0.250000 +vt 0.093750 0.687500 +vt 0.093750 0.187500 +vt 0.093750 0.625000 +vt 0.093750 0.125000 +vt 0.093750 0.562500 +vt 0.093750 0.062500 +vt 0.093750 0.500000 +vt 0.109375 1.000000 +vt 0.093750 0.937500 +vt 0.109375 0.000000 +vt 0.062500 0.187500 +vt 0.062500 0.125000 +vt 0.062500 0.625000 +vt 0.062500 0.562500 +vt 0.062500 0.062500 +vt 0.062500 0.500000 +vt 0.078125 1.000000 +vt 0.062500 0.937500 +vt 0.078125 0.000000 +vt 0.062500 0.437500 +vt 0.062500 0.875000 +vt 0.062500 0.375000 +vt 0.062500 0.812500 +vt 0.062500 0.312500 +vt 0.062500 0.750000 +vt 0.062500 0.250000 +vt 0.062500 0.687500 +vt 0.031250 0.875000 +vt 0.031250 0.812500 +vt 0.031250 0.375000 +vt 0.031250 0.312500 +vt 0.031250 0.750000 +vt 0.031250 0.250000 +vt 0.031250 0.687500 +vt 0.031250 0.187500 +vt 0.031250 0.625000 +vt 0.031250 0.125000 +vt 0.031250 0.562500 +vt 0.031250 0.062500 +vt 0.031250 0.500000 +vt 0.046875 1.000000 +vt 0.031250 0.937500 +vt 0.046875 0.000000 +vt 0.031250 0.437500 +vt 0.000000 0.625000 +vt 0.000000 0.562500 +vt 0.000000 0.125000 +vt 0.000000 0.062500 +vt 0.000000 0.500000 +vt 0.015625 1.000000 +vt 0.000000 0.937500 +vt 0.015625 0.000000 +vt 0.000000 0.437500 +vt 0.000000 0.875000 +vt 0.000000 0.375000 +vt 0.000000 0.812500 +vt 0.000000 0.312500 +vt 0.000000 0.750000 +vt 0.000000 0.250000 +vt 0.000000 0.687500 +vt 0.000000 0.187500 +vt 1.000000 0.312500 +vt 1.000000 0.375000 +vt 0.968750 0.375000 +vt 0.968750 0.312500 +vt 1.000000 0.750000 +vt 1.000000 0.812500 +vt 0.968750 0.812500 +vt 0.968750 0.750000 +vt 1.000000 0.250000 +vt 0.968750 0.250000 +vt 1.000000 0.687500 +vt 0.968750 0.687500 +vt 1.000000 0.187500 +vt 0.968750 0.187500 +vt 1.000000 0.625000 +vt 0.968750 0.625000 +vt 1.000000 0.125000 +vt 0.968750 0.125000 +vt 1.000000 0.562500 +vt 0.968750 0.562500 +vt 1.000000 0.062500 +vt 0.968750 0.062500 +vt 1.000000 0.500000 +vt 0.968750 0.500000 +vt 1.000000 0.937500 +vt 0.984375 1.000000 +vt 0.968750 0.937500 +vt 0.984375 0.000000 +vt 1.000000 0.437500 +vt 0.968750 0.437500 +vt 1.000000 0.875000 +vt 0.968750 0.875000 +vt 0.937500 0.125000 +vt 0.937500 0.062500 +vt 0.937500 0.562500 +vt 0.937500 0.500000 +vt 0.953125 1.000000 +vt 0.937500 0.937500 +vt 0.953125 0.000000 +vt 0.937500 0.437500 +vt 0.937500 0.875000 +vt 0.937500 0.375000 +vt 0.937500 0.812500 +vt 0.937500 0.312500 +vt 0.937500 0.750000 +vt 0.937500 0.250000 +vt 0.937500 0.687500 +vt 0.937500 0.187500 +vt 0.937500 0.625000 +vt 0.906250 0.812500 +vt 0.906250 0.750000 +vt 0.906250 0.312500 +vt 0.906250 0.250000 +vt 0.906250 0.687500 +vt 0.906250 0.187500 +vt 0.906250 0.625000 +vt 0.906250 0.125000 +vt 0.906250 0.562500 +vt 0.906250 0.062500 +vt 0.906250 0.500000 +vt 0.921875 1.000000 +vt 0.906250 0.937500 +vt 0.921875 0.000000 +vt 0.906250 0.437500 +vt 0.906250 0.875000 +vt 0.906250 0.375000 +vt 0.875000 0.562500 +vt 0.875000 0.500000 +vt 0.890625 1.000000 +vt 0.875000 0.937500 +vt 0.890625 0.000000 +vt 0.875000 0.062500 +vt 0.875000 0.437500 +vt 0.875000 0.875000 +vt 0.875000 0.375000 +vt 0.875000 0.812500 +vt 0.875000 0.312500 +vt 0.875000 0.750000 +vt 0.875000 0.250000 +vt 0.875000 0.687500 +vt 0.875000 0.187500 +vt 0.875000 0.625000 +vt 0.875000 0.125000 +vt 0.843750 0.312500 +vt 0.843750 0.250000 +vt 0.843750 0.750000 +vt 0.843750 0.687500 +vt 0.843750 0.187500 +vt 0.843750 0.625000 +vt 0.843750 0.125000 +vt 0.843750 0.562500 +vt 0.843750 0.062500 +vt 0.843750 0.500000 +vt 0.859375 1.000000 +vt 0.843750 0.937500 +vt 0.859375 0.000000 +vt 0.843750 0.437500 +vt 0.843750 0.875000 +vt 0.843750 0.375000 +vt 0.843750 0.812500 +vt 0.828125 0.000000 +vt 0.812500 0.062500 +vt 0.812500 0.500000 +vt 0.812500 0.437500 +vt 0.812500 0.937500 +vt 0.812500 0.875000 +vt 0.812500 0.375000 +vt 0.812500 0.812500 +vt 0.812500 0.312500 +vt 0.812500 0.750000 +vt 0.812500 0.250000 +vt 0.812500 0.687500 +vt 0.812500 0.187500 +vt 0.812500 0.625000 +vt 0.812500 0.125000 +vt 0.812500 0.562500 +vt 0.828125 1.000000 +vt 0.781250 0.250000 +vt 0.781250 0.187500 +vt 0.781250 0.687500 +vt 0.781250 0.625000 +vt 0.781250 0.125000 +vt 0.781250 0.562500 +vt 0.781250 0.062500 +vt 0.781250 0.500000 +vt 0.796875 1.000000 +vt 0.781250 0.937500 +vt 0.796875 0.000000 +vt 0.781250 0.437500 +vt 0.781250 0.875000 +vt 0.781250 0.375000 +vt 0.781250 0.812500 +vt 0.781250 0.312500 +vt 0.781250 0.750000 +vt 0.765625 1.000000 +vt 0.765625 0.000000 +vn 0.0976 -0.0975 -0.9904 +vn 0.0286 0.9565 -0.2902 +vn 0.0938 -0.2890 -0.9527 +vn 0.0464 0.8810 -0.4709 +vn 0.0865 -0.4696 -0.8786 +vn 0.0624 0.7715 -0.6332 +vn 0.0759 -0.6326 -0.7708 +vn 0.0759 0.6326 -0.7708 +vn 0.0624 -0.7715 -0.6332 +vn 0.0865 0.4696 -0.8786 +vn 0.0464 -0.8810 -0.4709 +vn 0.0938 0.2890 -0.9527 +vn 0.0286 -0.9565 -0.2902 +vn 0.0975 0.0975 -0.9904 +vn 0.0097 0.9951 -0.0980 +vn 0.0097 -0.9951 -0.0980 +vn 0.0846 -0.9565 -0.2790 +vn 0.2889 0.0975 -0.9524 +vn 0.0286 0.9951 -0.0942 +vn 0.0286 -0.9951 -0.0942 +vn 0.2889 -0.0975 -0.9524 +vn 0.0846 0.9565 -0.2790 +vn 0.2779 -0.2890 -0.9161 +vn 0.1374 0.8810 -0.4528 +vn 0.2563 -0.4696 -0.8448 +vn 0.1847 0.7715 -0.6088 +vn 0.2248 -0.6326 -0.7412 +vn 0.2248 0.6326 -0.7412 +vn 0.1847 -0.7715 -0.6088 +vn 0.2563 0.4696 -0.8448 +vn 0.1374 -0.8810 -0.4528 +vn 0.2779 0.2890 -0.9161 +vn 0.3651 -0.6326 -0.6831 +vn 0.3651 0.6326 -0.6831 +vn 0.2999 -0.7715 -0.5611 +vn 0.4162 0.4696 -0.7786 +vn 0.2230 -0.8810 -0.4173 +vn 0.4513 0.2890 -0.8443 +vn 0.1374 -0.9565 -0.2571 +vn 0.4691 0.0975 -0.8777 +vn 0.0464 0.9951 -0.0869 +vn 0.0464 -0.9951 -0.0869 +vn 0.4691 -0.0975 -0.8777 +vn 0.1374 0.9565 -0.2571 +vn 0.4513 -0.2890 -0.8443 +vn 0.2230 0.8810 -0.4173 +vn 0.4162 -0.4696 -0.7786 +vn 0.2999 0.7715 -0.5611 +vn 0.0625 0.9951 -0.0761 +vn 0.0625 -0.9951 -0.0761 +vn 0.6314 -0.0976 -0.7693 +vn 0.1850 0.9565 -0.2254 +vn 0.6073 -0.2890 -0.7400 +vn 0.3002 0.8810 -0.3658 +vn 0.5601 -0.4696 -0.6825 +vn 0.4036 0.7715 -0.4918 +vn 0.4913 -0.6326 -0.5987 +vn 0.4913 0.6326 -0.5987 +vn 0.4036 -0.7715 -0.4918 +vn 0.5601 0.4696 -0.6825 +vn 0.3002 -0.8810 -0.3658 +vn 0.6073 0.2890 -0.7400 +vn 0.1850 -0.9565 -0.2254 +vn 0.6314 0.0976 -0.7693 +vn 0.5987 0.6326 -0.4913 +vn 0.4918 -0.7715 -0.4036 +vn 0.6825 0.4696 -0.5601 +vn 0.3658 -0.8810 -0.3002 +vn 0.7400 0.2890 -0.6073 +vn 0.2254 -0.9565 -0.1850 +vn 0.7693 0.0975 -0.6314 +vn 0.0761 0.9951 -0.0625 +vn 0.0761 -0.9951 -0.0625 +vn 0.7693 -0.0975 -0.6314 +vn 0.2254 0.9565 -0.1850 +vn 0.7400 -0.2890 -0.6073 +vn 0.3658 0.8810 -0.3002 +vn 0.6825 -0.4696 -0.5601 +vn 0.4918 0.7715 -0.4036 +vn 0.5987 -0.6326 -0.4913 +vn 0.8777 -0.0976 -0.4691 +vn 0.2571 0.9565 -0.1374 +vn 0.8443 -0.2890 -0.4513 +vn 0.4173 0.8810 -0.2231 +vn 0.7786 -0.4696 -0.4162 +vn 0.5611 0.7715 -0.2999 +vn 0.6831 -0.6326 -0.3651 +vn 0.6831 0.6326 -0.3651 +vn 0.5611 -0.7715 -0.2999 +vn 0.7786 0.4696 -0.4162 +vn 0.4173 -0.8810 -0.2231 +vn 0.8443 0.2890 -0.4513 +vn 0.2571 -0.9565 -0.1374 +vn 0.8777 0.0976 -0.4691 +vn 0.0869 0.9951 -0.0464 +vn 0.0869 -0.9951 -0.0464 +vn 0.6088 -0.7715 -0.1847 +vn 0.8448 0.4696 -0.2563 +vn 0.4528 -0.8810 -0.1374 +vn 0.9161 0.2890 -0.2779 +vn 0.2790 -0.9565 -0.0846 +vn 0.9524 0.0976 -0.2889 +vn 0.0942 0.9951 -0.0286 +vn 0.0942 -0.9951 -0.0286 +vn 0.9524 -0.0976 -0.2889 +vn 0.2790 0.9565 -0.0846 +vn 0.9161 -0.2890 -0.2779 +vn 0.4528 0.8810 -0.1374 +vn 0.8448 -0.4696 -0.2563 +vn 0.6088 0.7715 -0.1847 +vn 0.7412 -0.6326 -0.2248 +vn 0.7412 0.6326 -0.2248 +vn 0.2902 0.9565 -0.0286 +vn 0.9527 -0.2890 -0.0938 +vn 0.4709 0.8810 -0.0464 +vn 0.8786 -0.4696 -0.0865 +vn 0.6332 0.7715 -0.0624 +vn 0.7708 -0.6326 -0.0759 +vn 0.7708 0.6326 -0.0759 +vn 0.6332 -0.7715 -0.0624 +vn 0.8786 0.4696 -0.0865 +vn 0.4709 -0.8810 -0.0464 +vn 0.9527 0.2890 -0.0938 +vn 0.2902 -0.9565 -0.0286 +vn 0.9904 0.0976 -0.0975 +vn 0.0980 0.9951 -0.0097 +vn 0.0980 -0.9951 -0.0097 +vn 0.9904 -0.0976 -0.0975 +vn 0.8786 0.4696 0.0865 +vn 0.4709 -0.8810 0.0464 +vn 0.9527 0.2890 0.0938 +vn 0.2902 -0.9565 0.0286 +vn 0.9904 0.0976 0.0975 +vn 0.0980 0.9951 0.0097 +vn 0.0980 -0.9951 0.0097 +vn 0.9904 -0.0976 0.0975 +vn 0.2902 0.9565 0.0286 +vn 0.9527 -0.2890 0.0938 +vn 0.4709 0.8810 0.0464 +vn 0.8786 -0.4696 0.0865 +vn 0.6332 0.7715 0.0624 +vn 0.7708 -0.6326 0.0759 +vn 0.7708 0.6326 0.0759 +vn 0.6332 -0.7715 0.0624 +vn 0.9161 -0.2890 0.2779 +vn 0.4528 0.8810 0.1374 +vn 0.8448 -0.4696 0.2563 +vn 0.6088 0.7715 0.1847 +vn 0.7412 -0.6326 0.2248 +vn 0.7412 0.6326 0.2248 +vn 0.6088 -0.7715 0.1847 +vn 0.8448 0.4696 0.2563 +vn 0.4528 -0.8810 0.1374 +vn 0.9161 0.2890 0.2779 +vn 0.2790 -0.9565 0.0846 +vn 0.9524 0.0976 0.2889 +vn 0.0942 0.9951 0.0286 +vn 0.0942 -0.9951 0.0286 +vn 0.9524 -0.0976 0.2889 +vn 0.2790 0.9565 0.0846 +vn 0.4173 -0.8810 0.2231 +vn 0.8443 0.2890 0.4513 +vn 0.2571 -0.9565 0.1374 +vn 0.8777 0.0976 0.4691 +vn 0.0869 0.9951 0.0464 +vn 0.0869 -0.9951 0.0464 +vn 0.8777 -0.0976 0.4691 +vn 0.2571 0.9565 0.1374 +vn 0.8443 -0.2890 0.4513 +vn 0.4173 0.8810 0.2231 +vn 0.7786 -0.4696 0.4162 +vn 0.5611 0.7715 0.2999 +vn 0.6831 -0.6326 0.3651 +vn 0.6831 0.6326 0.3651 +vn 0.5611 -0.7715 0.2999 +vn 0.7786 0.4696 0.4162 +vn 0.6825 -0.4696 0.5601 +vn 0.4918 0.7715 0.4036 +vn 0.5987 -0.6326 0.4913 +vn 0.5987 0.6326 0.4913 +vn 0.4918 -0.7715 0.4036 +vn 0.6825 0.4696 0.5601 +vn 0.3658 -0.8810 0.3002 +vn 0.7400 0.2890 0.6073 +vn 0.2254 -0.9565 0.1850 +vn 0.7693 0.0976 0.6314 +vn 0.0761 0.9951 0.0625 +vn 0.0761 -0.9951 0.0625 +vn 0.7693 -0.0976 0.6314 +vn 0.2254 0.9565 0.1850 +vn 0.7400 -0.2890 0.6073 +vn 0.3658 0.8810 0.3002 +vn 0.1850 -0.9565 0.2254 +vn 0.6314 0.0976 0.7693 +vn 0.0625 0.9951 0.0761 +vn 0.0625 -0.9951 0.0761 +vn 0.6314 -0.0976 0.7693 +vn 0.1850 0.9565 0.2254 +vn 0.6073 -0.2890 0.7400 +vn 0.3002 0.8810 0.3658 +vn 0.5601 -0.4696 0.6825 +vn 0.4036 0.7715 0.4918 +vn 0.4913 -0.6326 0.5987 +vn 0.4913 0.6326 0.5987 +vn 0.4036 -0.7715 0.4918 +vn 0.5601 0.4696 0.6825 +vn 0.3002 -0.8810 0.3658 +vn 0.6073 0.2890 0.7400 +vn 0.2999 0.7715 0.5611 +vn 0.3651 -0.6326 0.6831 +vn 0.3651 0.6326 0.6831 +vn 0.2999 -0.7715 0.5611 +vn 0.4162 0.4696 0.7786 +vn 0.2230 -0.8810 0.4173 +vn 0.4513 0.2890 0.8443 +vn 0.1374 -0.9565 0.2571 +vn 0.4691 0.0976 0.8777 +vn 0.0464 0.9951 0.0869 +vn 0.0464 -0.9951 0.0869 +vn 0.4691 -0.0976 0.8777 +vn 0.1374 0.9565 0.2571 +vn 0.4513 -0.2890 0.8443 +vn 0.2230 0.8810 0.4173 +vn 0.4162 -0.4696 0.7786 +vn 0.2889 0.0976 0.9524 +vn 0.0286 0.9951 0.0942 +vn 0.0286 -0.9951 0.0942 +vn 0.2889 -0.0976 0.9524 +vn 0.0846 0.9565 0.2790 +vn 0.2779 -0.2890 0.9161 +vn 0.1374 0.8810 0.4528 +vn 0.2563 -0.4696 0.8448 +vn 0.1847 0.7715 0.6088 +vn 0.2248 -0.6326 0.7412 +vn 0.2248 0.6326 0.7412 +vn 0.1847 -0.7715 0.6088 +vn 0.2563 0.4696 0.8448 +vn 0.1374 -0.8810 0.4528 +vn 0.2779 0.2890 0.9161 +vn 0.0846 -0.9565 0.2790 +vn 0.0759 -0.6326 0.7708 +vn 0.0759 0.6326 0.7708 +vn 0.0624 -0.7715 0.6332 +vn 0.0865 0.4696 0.8786 +vn 0.0464 -0.8810 0.4709 +vn 0.0938 0.2890 0.9527 +vn 0.0286 -0.9565 0.2902 +vn 0.0975 0.0976 0.9904 +vn 0.0097 0.9951 0.0980 +vn 0.0097 -0.9951 0.0980 +vn 0.0975 -0.0976 0.9904 +vn 0.0286 0.9565 0.2902 +vn 0.0938 -0.2890 0.9527 +vn 0.0464 0.8810 0.4709 +vn 0.0865 -0.4696 0.8786 +vn 0.0624 0.7715 0.6332 +vn -0.0097 0.9951 0.0980 +vn -0.0097 -0.9951 0.0980 +vn -0.0976 -0.0976 0.9904 +vn -0.0286 0.9565 0.2902 +vn -0.0938 -0.2890 0.9527 +vn -0.0464 0.8810 0.4709 +vn -0.0865 -0.4696 0.8786 +vn -0.0624 0.7715 0.6332 +vn -0.0759 -0.6326 0.7708 +vn -0.0759 0.6326 0.7708 +vn -0.0624 -0.7715 0.6332 +vn -0.0865 0.4696 0.8786 +vn -0.0464 -0.8810 0.4709 +vn -0.0938 0.2890 0.9527 +vn -0.0286 -0.9565 0.2902 +vn -0.0976 0.0976 0.9904 +vn -0.2248 0.6326 0.7412 +vn -0.1847 -0.7715 0.6088 +vn -0.2563 0.4696 0.8448 +vn -0.1374 -0.8810 0.4528 +vn -0.2779 0.2890 0.9161 +vn -0.0846 -0.9565 0.2790 +vn -0.2889 0.0976 0.9524 +vn -0.0286 0.9951 0.0942 +vn -0.0286 -0.9951 0.0942 +vn -0.2889 -0.0976 0.9524 +vn -0.0846 0.9565 0.2790 +vn -0.2779 -0.2890 0.9161 +vn -0.1374 0.8810 0.4528 +vn -0.2563 -0.4696 0.8448 +vn -0.1847 0.7715 0.6088 +vn -0.2248 -0.6326 0.7412 +vn -0.4691 -0.0976 0.8777 +vn -0.1374 0.9565 0.2571 +vn -0.4513 -0.2890 0.8443 +vn -0.2230 0.8810 0.4173 +vn -0.4162 -0.4696 0.7786 +vn -0.2999 0.7715 0.5611 +vn -0.3651 -0.6326 0.6831 +vn -0.3651 0.6326 0.6831 +vn -0.2999 -0.7715 0.5611 +vn -0.4162 0.4696 0.7786 +vn -0.2230 -0.8810 0.4173 +vn -0.4513 0.2890 0.8443 +vn -0.1374 -0.9565 0.2571 +vn -0.4691 0.0976 0.8777 +vn -0.0464 0.9951 0.0869 +vn -0.0464 -0.9951 0.0869 +vn -0.4036 -0.7715 0.4918 +vn -0.5601 0.4696 0.6825 +vn -0.3002 -0.8810 0.3658 +vn -0.6073 0.2890 0.7400 +vn -0.1850 -0.9565 0.2254 +vn -0.6314 0.0976 0.7693 +vn -0.0625 0.9951 0.0761 +vn -0.0625 -0.9951 0.0761 +vn -0.6314 -0.0976 0.7693 +vn -0.1850 0.9565 0.2254 +vn -0.6073 -0.2890 0.7400 +vn -0.3002 0.8810 0.3658 +vn -0.5601 -0.4696 0.6825 +vn -0.4036 0.7715 0.4918 +vn -0.4913 -0.6326 0.5987 +vn -0.4913 0.6326 0.5987 +vn -0.7400 -0.2890 0.6073 +vn -0.3658 0.8810 0.3002 +vn -0.6825 -0.4696 0.5601 +vn -0.4918 0.7715 0.4036 +vn -0.5987 -0.6326 0.4913 +vn -0.5987 0.6326 0.4913 +vn -0.4918 -0.7715 0.4036 +vn -0.6825 0.4696 0.5601 +vn -0.3658 -0.8810 0.3002 +vn -0.7400 0.2890 0.6073 +vn -0.2254 -0.9565 0.1850 +vn -0.7693 0.0976 0.6314 +vn -0.0761 0.9951 0.0625 +vn -0.0761 -0.9951 0.0625 +vn -0.7693 -0.0976 0.6314 +vn -0.2254 0.9565 0.1850 +vn -0.4173 -0.8810 0.2231 +vn -0.8443 0.2890 0.4513 +vn -0.2571 -0.9565 0.1374 +vn -0.8777 0.0976 0.4691 +vn -0.0869 0.9951 0.0464 +vn -0.0869 -0.9951 0.0464 +vn -0.8777 -0.0976 0.4691 +vn -0.2571 0.9565 0.1374 +vn -0.8443 -0.2890 0.4513 +vn -0.4173 0.8810 0.2231 +vn -0.7786 -0.4696 0.4162 +vn -0.5611 0.7715 0.2999 +vn -0.6831 -0.6326 0.3651 +vn -0.6831 0.6326 0.3651 +vn -0.5611 -0.7715 0.2999 +vn -0.7786 0.4696 0.4162 +vn -0.4528 0.8810 0.1374 +vn -0.8448 -0.4696 0.2563 +vn -0.6088 0.7715 0.1847 +vn -0.7412 -0.6326 0.2248 +vn -0.7412 0.6326 0.2248 +vn -0.6088 -0.7715 0.1847 +vn -0.8448 0.4696 0.2563 +vn -0.4528 -0.8810 0.1374 +vn -0.9161 0.2890 0.2779 +vn -0.2790 -0.9565 0.0846 +vn -0.9524 0.0976 0.2889 +vn -0.0942 0.9951 0.0286 +vn -0.0942 -0.9951 0.0286 +vn -0.9524 -0.0976 0.2889 +vn -0.2790 0.9565 0.0846 +vn -0.9161 -0.2890 0.2779 +vn -0.9527 0.2890 0.0938 +vn -0.2902 -0.9565 0.0286 +vn -0.9904 0.0976 0.0975 +vn -0.0980 0.9951 0.0097 +vn -0.0980 -0.9951 0.0097 +vn -0.9904 -0.0976 0.0975 +vn -0.2902 0.9565 0.0286 +vn -0.9527 -0.2890 0.0938 +vn -0.4709 0.8810 0.0464 +vn -0.8786 -0.4696 0.0865 +vn -0.6332 0.7715 0.0624 +vn -0.7708 -0.6326 0.0759 +vn -0.7708 0.6326 0.0759 +vn -0.6332 -0.7715 0.0624 +vn -0.8786 0.4696 0.0865 +vn -0.4709 -0.8810 0.0464 +vn -0.8786 -0.4696 -0.0865 +vn -0.6332 0.7715 -0.0624 +vn -0.7708 -0.6326 -0.0759 +vn -0.7708 0.6326 -0.0759 +vn -0.6332 -0.7715 -0.0624 +vn -0.8786 0.4696 -0.0865 +vn -0.4709 -0.8810 -0.0464 +vn -0.9527 0.2890 -0.0938 +vn -0.2902 -0.9565 -0.0286 +vn -0.9904 0.0976 -0.0976 +vn -0.0980 0.9951 -0.0097 +vn -0.0980 -0.9951 -0.0097 +vn -0.9904 -0.0976 -0.0976 +vn -0.2902 0.9565 -0.0286 +vn -0.9527 -0.2890 -0.0938 +vn -0.4709 0.8810 -0.0464 +vn -0.2790 -0.9565 -0.0846 +vn -0.9524 0.0976 -0.2889 +vn -0.0942 0.9951 -0.0286 +vn -0.0942 -0.9951 -0.0286 +vn -0.9524 -0.0976 -0.2889 +vn -0.2790 0.9565 -0.0846 +vn -0.9161 -0.2890 -0.2779 +vn -0.4528 0.8810 -0.1374 +vn -0.8448 -0.4696 -0.2563 +vn -0.6088 0.7715 -0.1847 +vn -0.7412 -0.6326 -0.2248 +vn -0.7412 0.6326 -0.2248 +vn -0.6088 -0.7715 -0.1847 +vn -0.8448 0.4696 -0.2563 +vn -0.4528 -0.8810 -0.1374 +vn -0.9161 0.2890 -0.2779 +vn -0.5611 0.7715 -0.2999 +vn -0.6831 -0.6326 -0.3651 +vn -0.6831 0.6326 -0.3651 +vn -0.5611 -0.7715 -0.2999 +vn -0.7786 0.4696 -0.4162 +vn -0.4173 -0.8810 -0.2231 +vn -0.8443 0.2890 -0.4513 +vn -0.2571 -0.9565 -0.1374 +vn -0.8777 0.0976 -0.4691 +vn -0.0869 0.9951 -0.0464 +vn -0.0869 -0.9951 -0.0464 +vn -0.8777 -0.0976 -0.4691 +vn -0.2571 0.9565 -0.1374 +vn -0.8443 -0.2890 -0.4513 +vn -0.4173 0.8810 -0.2231 +vn -0.7786 -0.4696 -0.4162 +vn -0.7693 0.0976 -0.6314 +vn -0.0761 0.9951 -0.0625 +vn -0.0761 -0.9951 -0.0625 +vn -0.7693 -0.0976 -0.6314 +vn -0.2254 0.9565 -0.1850 +vn -0.7400 -0.2890 -0.6073 +vn -0.3658 0.8810 -0.3002 +vn -0.6825 -0.4696 -0.5601 +vn -0.4918 0.7715 -0.4036 +vn -0.5987 -0.6326 -0.4913 +vn -0.5987 0.6326 -0.4913 +vn -0.4918 -0.7715 -0.4036 +vn -0.6825 0.4696 -0.5601 +vn -0.3658 -0.8810 -0.3002 +vn -0.7400 0.2890 -0.6073 +vn -0.2254 -0.9565 -0.1850 +vn -0.4913 -0.6326 -0.5987 +vn -0.4913 0.6326 -0.5987 +vn -0.4036 -0.7715 -0.4918 +vn -0.5601 0.4696 -0.6825 +vn -0.3002 -0.8810 -0.3658 +vn -0.6073 0.2890 -0.7400 +vn -0.1850 -0.9565 -0.2254 +vn -0.6314 0.0976 -0.7693 +vn -0.0625 0.9951 -0.0761 +vn -0.0625 -0.9951 -0.0761 +vn -0.6314 -0.0976 -0.7693 +vn -0.1850 0.9565 -0.2254 +vn -0.6073 -0.2890 -0.7400 +vn -0.3002 0.8810 -0.3658 +vn -0.5601 -0.4696 -0.6825 +vn -0.4036 0.7715 -0.4918 +vn -0.0464 -0.9951 -0.0869 +vn -0.4691 -0.0976 -0.8777 +vn -0.1374 0.9565 -0.2571 +vn -0.4513 -0.2890 -0.8443 +vn -0.2230 0.8810 -0.4173 +vn -0.4162 -0.4696 -0.7786 +vn -0.2999 0.7715 -0.5611 +vn -0.3651 -0.6326 -0.6831 +vn -0.3651 0.6326 -0.6831 +vn -0.2999 -0.7715 -0.5611 +vn -0.4162 0.4696 -0.7786 +vn -0.2230 -0.8810 -0.4173 +vn -0.4513 0.2890 -0.8443 +vn -0.1374 -0.9565 -0.2571 +vn -0.4691 0.0976 -0.8777 +vn -0.0464 0.9951 -0.0869 +vn -0.1847 -0.7715 -0.6088 +vn -0.2563 0.4696 -0.8448 +vn -0.1374 -0.8810 -0.4528 +vn -0.2779 0.2890 -0.9161 +vn -0.0846 -0.9565 -0.2790 +vn -0.2889 0.0976 -0.9524 +vn -0.0286 0.9951 -0.0942 +vn -0.0286 -0.9951 -0.0942 +vn -0.2889 -0.0976 -0.9524 +vn -0.0846 0.9565 -0.2790 +vn -0.2779 -0.2890 -0.9161 +vn -0.1374 0.8810 -0.4528 +vn -0.2563 -0.4696 -0.8448 +vn -0.1847 0.7715 -0.6088 +vn -0.2248 -0.6326 -0.7412 +vn -0.2248 0.6326 -0.7412 +vn -0.0286 0.9565 -0.2902 +vn -0.0938 -0.2890 -0.9527 +vn -0.0464 0.8810 -0.4709 +vn -0.0865 -0.4696 -0.8786 +vn -0.0624 0.7715 -0.6332 +vn -0.0759 -0.6326 -0.7708 +vn -0.0759 0.6326 -0.7708 +vn -0.0624 -0.7715 -0.6332 +vn -0.0865 0.4696 -0.8786 +vn -0.0464 -0.8810 -0.4709 +vn -0.0938 0.2890 -0.9527 +vn -0.0286 -0.9565 -0.2902 +vn -0.0976 0.0976 -0.9904 +vn -0.0097 0.9951 -0.0980 +vn -0.0097 -0.9951 -0.0980 +vn -0.0976 -0.0976 -0.9904 +usemtl None +s off +f 9/1/1 8/2/1 18/3/1 19/4/1 +f 2/5/2 1/6/2 11/7/2 12/8/2 +f 478/9/3 9/1/3 19/4/3 20/10/3 +f 3/11/4 2/5/4 12/8/4 13/12/4 +f 479/13/5 478/9/5 20/10/5 21/14/5 +f 4/15/6 3/11/6 13/12/6 14/16/6 +f 480/17/7 479/13/7 21/14/7 22/18/7 +f 5/19/8 4/15/8 14/16/8 15/20/8 +f 10/21/9 480/17/9 22/18/9 23/22/9 +f 6/23/10 5/19/10 15/20/10 16/24/10 +f 481/25/11 10/21/11 23/22/11 24/26/11 +f 7/27/12 6/23/12 16/24/12 17/28/12 +f 482/29/13 481/25/13 24/26/13 25/30/13 +f 8/2/14 7/27/14 17/28/14 18/3/14 +f 1/6/15 297/31/15 11/7/15 +f 206/32/16 482/29/16 25/30/16 +f 25/30/17 24/26/17 39/33/17 40/34/17 +f 18/3/18 17/28/18 32/35/18 33/36/18 +f 11/7/19 297/37/19 26/38/19 +f 206/39/20 25/30/20 40/34/20 +f 19/4/21 18/3/21 33/36/21 34/40/21 +f 12/8/22 11/7/22 26/38/22 27/41/22 +f 20/10/23 19/4/23 34/40/23 35/42/23 +f 13/12/24 12/8/24 27/41/24 28/43/24 +f 21/14/25 20/10/25 35/42/25 36/44/25 +f 14/16/26 13/12/26 28/43/26 29/45/26 +f 22/18/27 21/14/27 36/44/27 37/46/27 +f 15/20/28 14/16/28 29/45/28 30/47/28 +f 23/22/29 22/18/29 37/46/29 38/48/29 +f 16/24/30 15/20/30 30/47/30 31/49/30 +f 24/26/31 23/22/31 38/48/31 39/33/31 +f 17/28/32 16/24/32 31/49/32 32/35/32 +f 37/46/33 36/44/33 51/50/33 52/51/33 +f 30/47/34 29/45/34 44/52/34 45/53/34 +f 38/48/35 37/46/35 52/51/35 53/54/35 +f 31/49/36 30/47/36 45/53/36 46/55/36 +f 39/33/37 38/48/37 53/54/37 54/56/37 +f 32/35/38 31/49/38 46/55/38 47/57/38 +f 40/34/39 39/33/39 54/56/39 55/58/39 +f 33/36/40 32/35/40 47/57/40 48/59/40 +f 26/38/41 297/60/41 41/61/41 +f 206/62/42 40/34/42 55/58/42 +f 34/40/43 33/36/43 48/59/43 49/63/43 +f 27/41/44 26/38/44 41/61/44 42/64/44 +f 35/42/45 34/40/45 49/63/45 50/65/45 +f 28/43/46 27/41/46 42/64/46 43/66/46 +f 36/44/47 35/42/47 50/65/47 51/50/47 +f 29/45/48 28/43/48 43/66/48 44/52/48 +f 41/61/49 297/67/49 56/68/49 +f 206/69/50 55/58/50 70/70/50 +f 49/63/51 48/59/51 63/71/51 64/72/51 +f 42/64/52 41/61/52 56/68/52 57/73/52 +f 50/65/53 49/63/53 64/72/53 65/74/53 +f 43/66/54 42/64/54 57/73/54 58/75/54 +f 51/50/55 50/65/55 65/74/55 66/76/55 +f 44/52/56 43/66/56 58/75/56 59/77/56 +f 52/51/57 51/50/57 66/76/57 67/78/57 +f 45/53/58 44/52/58 59/77/58 60/79/58 +f 53/54/59 52/51/59 67/78/59 68/80/59 +f 46/55/60 45/53/60 60/79/60 61/81/60 +f 54/56/61 53/54/61 68/80/61 69/82/61 +f 47/57/62 46/55/62 61/81/62 62/83/62 +f 55/58/63 54/56/63 69/82/63 70/70/63 +f 48/59/64 47/57/64 62/83/64 63/71/64 +f 60/79/65 59/77/65 74/84/65 75/85/65 +f 68/80/66 67/78/66 82/86/66 83/87/66 +f 61/81/67 60/79/67 75/85/67 76/88/67 +f 69/82/68 68/80/68 83/87/68 84/89/68 +f 62/83/69 61/81/69 76/88/69 77/90/69 +f 70/70/70 69/82/70 84/89/70 85/91/70 +f 63/71/71 62/83/71 77/90/71 78/92/71 +f 56/68/72 297/93/72 71/94/72 +f 206/95/73 70/70/73 85/91/73 +f 64/72/74 63/71/74 78/92/74 79/96/74 +f 57/73/75 56/68/75 71/94/75 72/97/75 +f 65/74/76 64/72/76 79/96/76 80/98/76 +f 58/75/77 57/73/77 72/97/77 73/99/77 +f 66/76/78 65/74/78 80/98/78 81/100/78 +f 59/77/79 58/75/79 73/99/79 74/84/79 +f 67/78/80 66/76/80 81/100/80 82/86/80 +f 79/96/81 78/92/81 93/101/81 94/102/81 +f 72/97/82 71/94/82 86/103/82 87/104/82 +f 80/98/83 79/96/83 94/102/83 95/105/83 +f 73/99/84 72/97/84 87/104/84 88/106/84 +f 81/100/85 80/98/85 95/105/85 96/107/85 +f 74/84/86 73/99/86 88/106/86 89/108/86 +f 82/86/87 81/100/87 96/107/87 97/109/87 +f 75/85/88 74/84/88 89/108/88 90/110/88 +f 83/87/89 82/86/89 97/109/89 98/111/89 +f 76/88/90 75/85/90 90/110/90 91/112/90 +f 84/89/91 83/87/91 98/111/91 99/113/91 +f 77/90/92 76/88/92 91/112/92 92/114/92 +f 85/91/93 84/89/93 99/113/93 100/115/93 +f 78/92/94 77/90/94 92/114/94 93/101/94 +f 71/94/95 297/116/95 86/103/95 +f 206/117/96 85/91/96 100/115/96 +f 98/111/97 97/109/97 112/118/97 113/119/97 +f 91/112/98 90/110/98 105/120/98 106/121/98 +f 99/113/99 98/111/99 113/119/99 114/122/99 +f 92/114/100 91/112/100 106/121/100 107/123/100 +f 100/115/101 99/113/101 114/122/101 115/124/101 +f 93/101/102 92/114/102 107/123/102 108/125/102 +f 86/103/103 297/126/103 101/127/103 +f 206/128/104 100/115/104 115/124/104 +f 94/102/105 93/101/105 108/125/105 109/129/105 +f 87/104/106 86/103/106 101/127/106 102/130/106 +f 95/105/107 94/102/107 109/129/107 110/131/107 +f 88/106/108 87/104/108 102/130/108 103/132/108 +f 96/107/109 95/105/109 110/131/109 111/133/109 +f 89/108/110 88/106/110 103/132/110 104/134/110 +f 97/109/111 96/107/111 111/133/111 112/118/111 +f 90/110/112 89/108/112 104/134/112 105/120/112 +f 102/130/113 101/127/113 116/135/113 117/136/113 +f 110/131/114 109/129/114 124/137/114 125/138/114 +f 103/132/115 102/130/115 117/136/115 118/139/115 +f 111/133/116 110/131/116 125/138/116 126/140/116 +f 104/134/117 103/132/117 118/139/117 119/141/117 +f 112/118/118 111/133/118 126/140/118 127/142/118 +f 105/120/119 104/134/119 119/141/119 120/143/119 +f 113/119/120 112/118/120 127/142/120 128/144/120 +f 106/121/121 105/120/121 120/143/121 121/145/121 +f 114/122/122 113/119/122 128/144/122 129/146/122 +f 107/123/123 106/121/123 121/145/123 122/147/123 +f 115/124/124 114/122/124 129/146/124 130/148/124 +f 108/125/125 107/123/125 122/147/125 123/149/125 +f 101/127/126 297/150/126 116/135/126 +f 206/151/127 115/124/127 130/148/127 +f 109/129/128 108/125/128 123/149/128 124/137/128 +f 121/145/129 120/143/129 135/152/129 136/153/129 +f 129/146/130 128/144/130 143/154/130 144/155/130 +f 122/147/131 121/145/131 136/153/131 137/156/131 +f 130/148/132 129/146/132 144/155/132 145/157/132 +f 123/149/133 122/147/133 137/156/133 138/158/133 +f 116/135/134 297/159/134 131/160/134 +f 206/161/135 130/148/135 145/157/135 +f 124/137/136 123/149/136 138/158/136 139/162/136 +f 117/136/137 116/135/137 131/160/137 132/163/137 +f 125/138/138 124/137/138 139/162/138 140/164/138 +f 118/139/139 117/136/139 132/163/139 133/165/139 +f 126/140/140 125/138/140 140/164/140 141/166/140 +f 119/141/141 118/139/141 133/165/141 134/167/141 +f 127/142/142 126/140/142 141/166/142 142/168/142 +f 120/143/143 119/141/143 134/167/143 135/152/143 +f 128/144/144 127/142/144 142/168/144 143/154/144 +f 140/164/145 139/162/145 154/169/145 155/170/145 +f 133/165/146 132/163/146 147/171/146 148/172/146 +f 141/166/147 140/164/147 155/170/147 156/173/147 +f 134/167/148 133/165/148 148/172/148 149/174/148 +f 142/168/149 141/166/149 156/173/149 157/175/149 +f 135/152/150 134/167/150 149/174/150 150/176/150 +f 143/154/151 142/168/151 157/175/151 158/177/151 +f 136/153/152 135/152/152 150/176/152 151/178/152 +f 144/155/153 143/154/153 158/177/153 159/179/153 +f 137/156/154 136/153/154 151/178/154 152/180/154 +f 145/157/155 144/155/155 159/179/155 160/181/155 +f 138/158/156 137/156/156 152/180/156 153/182/156 +f 131/160/157 297/183/157 146/184/157 +f 206/185/158 145/157/158 160/181/158 +f 139/162/159 138/158/159 153/182/159 154/169/159 +f 132/163/160 131/160/160 146/184/160 147/171/160 +f 159/179/161 158/177/161 173/186/161 174/187/161 +f 152/180/162 151/178/162 166/188/162 167/189/162 +f 160/181/163 159/179/163 174/187/163 175/190/163 +f 153/182/164 152/180/164 167/189/164 168/191/164 +f 146/184/165 297/192/165 161/193/165 +f 206/194/166 160/181/166 175/190/166 +f 154/169/167 153/182/167 168/191/167 169/195/167 +f 147/171/168 146/184/168 161/193/168 162/196/168 +f 155/170/169 154/169/169 169/195/169 170/197/169 +f 148/172/170 147/171/170 162/196/170 163/198/170 +f 156/173/171 155/170/171 170/197/171 171/199/171 +f 149/174/172 148/172/172 163/198/172 164/200/172 +f 157/175/173 156/173/173 171/199/173 172/201/173 +f 150/176/174 149/174/174 164/200/174 165/202/174 +f 158/177/175 157/175/175 172/201/175 173/186/175 +f 151/178/176 150/176/176 165/202/176 166/188/176 +f 171/199/177 170/197/177 185/203/177 186/204/177 +f 164/200/178 163/198/178 178/205/178 179/206/178 +f 172/201/179 171/199/179 186/204/179 187/207/179 +f 165/202/180 164/200/180 179/206/180 180/208/180 +f 173/186/181 172/201/181 187/207/181 188/209/181 +f 166/188/182 165/202/182 180/208/182 181/210/182 +f 174/187/183 173/186/183 188/209/183 189/211/183 +f 167/189/184 166/188/184 181/210/184 182/212/184 +f 175/190/185 174/187/185 189/211/185 190/213/185 +f 168/191/186 167/189/186 182/212/186 183/214/186 +f 161/193/187 297/215/187 176/216/187 +f 206/217/188 175/190/188 190/213/188 +f 169/195/189 168/191/189 183/214/189 184/218/189 +f 162/196/190 161/193/190 176/216/190 177/219/190 +f 170/197/191 169/195/191 184/218/191 185/203/191 +f 163/198/192 162/196/192 177/219/192 178/205/192 +f 190/213/193 189/211/193 204/220/193 205/221/193 +f 183/214/194 182/212/194 197/222/194 198/223/194 +f 176/216/195 297/224/195 191/225/195 +f 206/226/196 190/213/196 205/221/196 +f 184/218/197 183/214/197 198/223/197 199/227/197 +f 177/219/198 176/216/198 191/225/198 192/228/198 +f 185/203/199 184/218/199 199/227/199 200/229/199 +f 178/205/200 177/219/200 192/228/200 193/230/200 +f 186/204/201 185/203/201 200/229/201 201/231/201 +f 179/206/202 178/205/202 193/230/202 194/232/202 +f 187/207/203 186/204/203 201/231/203 202/233/203 +f 180/208/204 179/206/204 194/232/204 195/234/204 +f 188/209/205 187/207/205 202/233/205 203/235/205 +f 181/210/206 180/208/206 195/234/206 196/236/206 +f 189/211/207 188/209/207 203/235/207 204/220/207 +f 182/212/208 181/210/208 196/236/208 197/222/208 +f 194/232/209 193/230/209 209/237/209 210/238/209 +f 202/233/210 201/231/210 217/239/210 218/240/210 +f 195/234/211 194/232/211 210/238/211 211/241/211 +f 203/235/212 202/233/212 218/240/212 219/242/212 +f 196/236/213 195/234/213 211/241/213 212/243/213 +f 204/220/214 203/235/214 219/242/214 220/244/214 +f 197/222/215 196/236/215 212/243/215 213/245/215 +f 205/221/216 204/220/216 220/244/216 221/246/216 +f 198/223/217 197/222/217 213/245/217 214/247/217 +f 191/225/218 297/248/218 207/249/218 +f 206/250/219 205/221/219 221/246/219 +f 199/227/220 198/223/220 214/247/220 215/251/220 +f 192/228/221 191/225/221 207/249/221 208/252/221 +f 200/229/222 199/227/222 215/251/222 216/253/222 +f 193/230/223 192/228/223 208/252/223 209/237/223 +f 201/231/224 200/229/224 216/253/224 217/239/224 +f 214/247/225 213/245/225 228/254/225 229/255/225 +f 207/249/226 297/256/226 222/257/226 +f 206/258/227 221/246/227 236/259/227 +f 215/251/228 214/247/228 229/255/228 230/260/228 +f 208/252/229 207/249/229 222/257/229 223/261/229 +f 216/253/230 215/251/230 230/260/230 231/262/230 +f 209/237/231 208/252/231 223/261/231 224/263/231 +f 217/239/232 216/253/232 231/262/232 232/264/232 +f 210/238/233 209/237/233 224/263/233 225/265/233 +f 218/240/234 217/239/234 232/264/234 233/266/234 +f 211/241/235 210/238/235 225/265/235 226/267/235 +f 219/242/236 218/240/236 233/266/236 234/268/236 +f 212/243/237 211/241/237 226/267/237 227/269/237 +f 220/244/238 219/242/238 234/268/238 235/270/238 +f 213/245/239 212/243/239 227/269/239 228/254/239 +f 221/246/240 220/244/240 235/270/240 236/259/240 +f 233/266/241 232/264/241 247/271/241 248/272/241 +f 226/267/242 225/265/242 240/273/242 241/274/242 +f 234/268/243 233/266/243 248/272/243 249/275/243 +f 227/269/244 226/267/244 241/274/244 242/276/244 +f 235/270/245 234/268/245 249/275/245 250/277/245 +f 228/254/246 227/269/246 242/276/246 243/278/246 +f 236/259/247 235/270/247 250/277/247 251/279/247 +f 229/255/248 228/254/248 243/278/248 244/280/248 +f 222/257/249 297/281/249 237/282/249 +f 206/283/250 236/259/250 251/279/250 +f 230/260/251 229/255/251 244/280/251 245/284/251 +f 223/261/252 222/257/252 237/282/252 238/285/252 +f 231/262/253 230/260/253 245/284/253 246/286/253 +f 224/263/254 223/261/254 238/285/254 239/287/254 +f 232/264/255 231/262/255 246/286/255 247/271/255 +f 225/265/256 224/263/256 239/287/256 240/273/256 +f 237/282/257 297/288/257 252/289/257 +f 206/290/258 251/279/258 266/291/258 +f 245/284/259 244/280/259 259/292/259 260/293/259 +f 238/285/260 237/282/260 252/289/260 253/294/260 +f 246/286/261 245/284/261 260/293/261 261/295/261 +f 239/287/262 238/285/262 253/294/262 254/296/262 +f 247/271/263 246/286/263 261/295/263 262/297/263 +f 240/273/264 239/287/264 254/296/264 255/298/264 +f 248/272/265 247/271/265 262/297/265 263/299/265 +f 241/274/266 240/273/266 255/298/266 256/300/266 +f 249/275/267 248/272/267 263/299/267 264/301/267 +f 242/276/268 241/274/268 256/300/268 257/302/268 +f 250/277/269 249/275/269 264/301/269 265/303/269 +f 243/278/270 242/276/270 257/302/270 258/304/270 +f 251/279/271 250/277/271 265/303/271 266/291/271 +f 244/280/272 243/278/272 258/304/272 259/292/272 +f 256/300/273 255/298/273 270/305/273 271/306/273 +f 264/301/274 263/299/274 278/307/274 279/308/274 +f 257/302/275 256/300/275 271/306/275 272/309/275 +f 265/303/276 264/301/276 279/308/276 280/310/276 +f 258/304/277 257/302/277 272/309/277 273/311/277 +f 266/291/278 265/303/278 280/310/278 281/312/278 +f 259/292/279 258/304/279 273/311/279 274/313/279 +f 252/289/280 297/314/280 267/315/280 +f 206/316/281 266/291/281 281/312/281 +f 260/293/282 259/292/282 274/313/282 275/317/282 +f 253/294/283 252/289/283 267/315/283 268/318/283 +f 261/295/284 260/293/284 275/317/284 276/319/284 +f 254/296/285 253/294/285 268/318/285 269/320/285 +f 262/297/286 261/295/286 276/319/286 277/321/286 +f 255/298/287 254/296/287 269/320/287 270/305/287 +f 263/299/288 262/297/288 277/321/288 278/307/288 +f 275/317/289 274/313/289 289/322/289 290/323/289 +f 268/318/290 267/315/290 282/324/290 283/325/290 +f 276/319/291 275/317/291 290/323/291 291/326/291 +f 269/320/292 268/318/292 283/325/292 284/327/292 +f 277/321/293 276/319/293 291/326/293 292/328/293 +f 270/305/294 269/320/294 284/327/294 285/329/294 +f 278/307/295 277/321/295 292/328/295 293/330/295 +f 271/306/296 270/305/296 285/329/296 286/331/296 +f 279/308/297 278/307/297 293/330/297 294/332/297 +f 272/309/298 271/306/298 286/331/298 287/333/298 +f 280/310/299 279/308/299 294/332/299 295/334/299 +f 273/311/300 272/309/300 287/333/300 288/335/300 +f 281/312/301 280/310/301 295/334/301 296/336/301 +f 274/313/302 273/311/302 288/335/302 289/322/302 +f 267/315/303 297/337/303 282/324/303 +f 206/338/304 281/312/304 296/336/304 +f 294/332/305 293/330/305 309/339/305 310/340/305 +f 287/333/306 286/331/306 302/341/306 303/342/306 +f 295/334/307 294/332/307 310/340/307 311/343/307 +f 288/335/308 287/333/308 303/342/308 304/344/308 +f 296/336/309 295/334/309 311/343/309 312/345/309 +f 289/322/310 288/335/310 304/344/310 305/346/310 +f 282/324/311 297/347/311 298/348/311 +f 206/349/312 296/336/312 312/345/312 +f 290/323/313 289/322/313 305/346/313 306/350/313 +f 283/325/314 282/324/314 298/348/314 299/351/314 +f 291/326/315 290/323/315 306/350/315 307/352/315 +f 284/327/316 283/325/316 299/351/316 300/353/316 +f 292/328/317 291/326/317 307/352/317 308/354/317 +f 285/329/318 284/327/318 300/353/318 301/355/318 +f 293/330/319 292/328/319 308/354/319 309/339/319 +f 286/331/320 285/329/320 301/355/320 302/341/320 +f 307/352/321 306/350/321 321/356/321 322/357/321 +f 300/353/322 299/351/322 314/358/322 315/359/322 +f 308/354/323 307/352/323 322/357/323 323/360/323 +f 301/355/324 300/353/324 315/359/324 316/361/324 +f 309/339/325 308/354/325 323/360/325 324/362/325 +f 302/341/326 301/355/326 316/361/326 317/363/326 +f 310/340/327 309/339/327 324/362/327 325/364/327 +f 303/342/328 302/341/328 317/363/328 318/365/328 +f 311/343/329 310/340/329 325/364/329 326/366/329 +f 304/344/330 303/342/330 318/365/330 319/367/330 +f 312/345/331 311/343/331 326/366/331 327/368/331 +f 305/346/332 304/344/332 319/367/332 320/369/332 +f 298/348/333 297/370/333 313/371/333 +f 206/372/334 312/345/334 327/368/334 +f 306/350/335 305/346/335 320/369/335 321/356/335 +f 299/351/336 298/348/336 313/371/336 314/358/336 +f 326/366/337 325/364/337 340/373/337 341/374/337 +f 319/367/338 318/365/338 333/375/338 334/376/338 +f 327/368/339 326/366/339 341/374/339 342/377/339 +f 320/369/340 319/367/340 334/376/340 335/378/340 +f 313/371/341 297/379/341 328/380/341 +f 206/381/342 327/368/342 342/377/342 +f 321/356/343 320/369/343 335/378/343 336/382/343 +f 314/358/344 313/371/344 328/380/344 329/383/344 +f 322/357/345 321/356/345 336/382/345 337/384/345 +f 315/359/346 314/358/346 329/383/346 330/385/346 +f 323/360/347 322/357/347 337/384/347 338/386/347 +f 316/361/348 315/359/348 330/385/348 331/387/348 +f 324/362/349 323/360/349 338/386/349 339/388/349 +f 317/363/350 316/361/350 331/387/350 332/389/350 +f 325/364/351 324/362/351 339/388/351 340/373/351 +f 318/365/352 317/363/352 332/389/352 333/375/352 +f 330/385/353 329/383/353 344/390/353 345/391/353 +f 338/386/354 337/384/354 352/392/354 353/393/354 +f 331/387/355 330/385/355 345/391/355 346/394/355 +f 339/388/356 338/386/356 353/393/356 354/395/356 +f 332/389/357 331/387/357 346/394/357 347/396/357 +f 340/373/358 339/388/358 354/395/358 355/397/358 +f 333/375/359 332/389/359 347/396/359 348/398/359 +f 341/374/360 340/373/360 355/397/360 356/399/360 +f 334/376/361 333/375/361 348/398/361 349/400/361 +f 342/377/362 341/374/362 356/399/362 357/401/362 +f 335/378/363 334/376/363 349/400/363 350/402/363 +f 328/380/364 297/403/364 343/404/364 +f 206/405/365 342/377/365 357/401/365 +f 336/382/366 335/378/366 350/402/366 351/406/366 +f 329/383/367 328/380/367 343/404/367 344/390/367 +f 337/384/368 336/382/368 351/406/368 352/392/368 +f 349/400/369 348/398/369 363/407/369 364/408/369 +f 357/401/370 356/399/370 371/409/370 372/410/370 +f 350/402/371 349/400/371 364/408/371 365/411/371 +f 343/404/372 297/412/372 358/413/372 +f 206/414/373 357/401/373 372/410/373 +f 351/406/374 350/402/374 365/411/374 366/415/374 +f 344/390/375 343/404/375 358/413/375 359/416/375 +f 352/392/376 351/406/376 366/415/376 367/417/376 +f 345/391/377 344/390/377 359/416/377 360/418/377 +f 353/393/378 352/392/378 367/417/378 368/419/378 +f 346/394/379 345/391/379 360/418/379 361/420/379 +f 354/395/380 353/393/380 368/419/380 369/421/380 +f 347/396/381 346/394/381 361/420/381 362/422/381 +f 355/397/382 354/395/382 369/421/382 370/423/382 +f 348/398/383 347/396/383 362/422/383 363/407/383 +f 356/399/384 355/397/384 370/423/384 371/409/384 +f 368/424/385 367/425/385 382/426/385 383/427/385 +f 361/428/386 360/429/386 375/430/386 376/431/386 +f 369/432/387 368/424/387 383/427/387 384/433/387 +f 362/434/388 361/428/388 376/431/388 377/435/388 +f 370/436/389 369/432/389 384/433/389 385/437/389 +f 363/438/390 362/434/390 377/435/390 378/439/390 +f 371/440/391 370/436/391 385/437/391 386/441/391 +f 364/442/392 363/438/392 378/439/392 379/443/392 +f 372/444/393 371/440/393 386/441/393 387/445/393 +f 365/446/394 364/442/394 379/443/394 380/447/394 +f 358/448/395 297/449/395 373/450/395 +f 206/451/396 372/444/396 387/445/396 +f 366/452/397 365/446/397 380/447/397 381/453/397 +f 359/454/398 358/448/398 373/450/398 374/455/398 +f 367/425/399 366/452/399 381/453/399 382/426/399 +f 360/429/400 359/454/400 374/455/400 375/430/400 +f 387/445/401 386/441/401 401/456/401 402/457/401 +f 380/447/402 379/443/402 394/458/402 395/459/402 +f 373/450/403 297/460/403 388/461/403 +f 206/462/404 387/445/404 402/457/404 +f 381/453/405 380/447/405 395/459/405 396/463/405 +f 374/455/406 373/450/406 388/461/406 389/464/406 +f 382/426/407 381/453/407 396/463/407 397/465/407 +f 375/430/408 374/455/408 389/464/408 390/466/408 +f 383/427/409 382/426/409 397/465/409 398/467/409 +f 376/431/410 375/430/410 390/466/410 391/468/410 +f 384/433/411 383/427/411 398/467/411 399/469/411 +f 377/435/412 376/431/412 391/468/412 392/470/412 +f 385/437/413 384/433/413 399/469/413 400/471/413 +f 378/439/414 377/435/414 392/470/414 393/472/414 +f 386/441/415 385/437/415 400/471/415 401/456/415 +f 379/443/416 378/439/416 393/472/416 394/458/416 +f 391/468/417 390/466/417 405/473/417 406/474/417 +f 399/469/418 398/467/418 413/475/418 414/476/418 +f 392/470/419 391/468/419 406/474/419 407/477/419 +f 400/471/420 399/469/420 414/476/420 415/478/420 +f 393/472/421 392/470/421 407/477/421 408/479/421 +f 401/456/422 400/471/422 415/478/422 416/480/422 +f 394/458/423 393/472/423 408/479/423 409/481/423 +f 402/457/424 401/456/424 416/480/424 417/482/424 +f 395/459/425 394/458/425 409/481/425 410/483/425 +f 388/461/426 297/484/426 403/485/426 +f 206/486/427 402/457/427 417/482/427 +f 396/463/428 395/459/428 410/483/428 411/487/428 +f 389/464/429 388/461/429 403/485/429 404/488/429 +f 397/465/430 396/463/430 411/487/430 412/489/430 +f 390/466/431 389/464/431 404/488/431 405/473/431 +f 398/467/432 397/465/432 412/489/432 413/475/432 +f 410/483/433 409/481/433 424/490/433 425/491/433 +f 403/485/434 297/492/434 418/493/434 +f 206/494/435 417/482/435 432/495/435 +f 411/487/436 410/483/436 425/491/436 426/496/436 +f 404/488/437 403/485/437 418/493/437 419/497/437 +f 412/489/438 411/487/438 426/496/438 427/498/438 +f 405/473/439 404/488/439 419/497/439 420/499/439 +f 413/475/440 412/489/440 427/498/440 428/500/440 +f 406/474/441 405/473/441 420/499/441 421/501/441 +f 414/476/442 413/475/442 428/500/442 429/502/442 +f 407/477/443 406/474/443 421/501/443 422/503/443 +f 415/478/444 414/476/444 429/502/444 430/504/444 +f 408/479/445 407/477/445 422/503/445 423/505/445 +f 416/480/446 415/478/446 430/504/446 431/506/446 +f 409/481/447 408/479/447 423/505/447 424/490/447 +f 417/482/448 416/480/448 431/506/448 432/495/448 +f 429/502/449 428/500/449 443/507/449 444/508/449 +f 422/503/450 421/501/450 436/509/450 437/510/450 +f 430/504/451 429/502/451 444/508/451 445/511/451 +f 423/505/452 422/503/452 437/510/452 438/512/452 +f 431/506/453 430/504/453 445/511/453 446/513/453 +f 424/490/454 423/505/454 438/512/454 439/514/454 +f 432/495/455 431/506/455 446/513/455 447/515/455 +f 425/491/456 424/490/456 439/514/456 440/516/456 +f 418/493/457 297/517/457 433/518/457 +f 206/519/458 432/495/458 447/515/458 +f 426/496/459 425/491/459 440/516/459 441/520/459 +f 419/497/460 418/493/460 433/518/460 434/521/460 +f 427/498/461 426/496/461 441/520/461 442/522/461 +f 420/499/462 419/497/462 434/521/462 435/523/462 +f 428/500/463 427/498/463 442/522/463 443/507/463 +f 421/501/464 420/499/464 435/523/464 436/509/464 +f 206/524/465 447/515/465 462/525/465 +f 441/520/466 440/516/466 455/526/466 456/527/466 +f 434/521/467 433/518/467 448/528/467 449/529/467 +f 442/522/468 441/520/468 456/527/468 457/530/468 +f 435/523/469 434/521/469 449/529/469 450/531/469 +f 443/507/470 442/522/470 457/530/470 458/532/470 +f 436/509/471 435/523/471 450/531/471 451/533/471 +f 444/508/472 443/507/472 458/532/472 459/534/472 +f 437/510/473 436/509/473 451/533/473 452/535/473 +f 445/511/474 444/508/474 459/534/474 460/536/474 +f 438/512/475 437/510/475 452/535/475 453/537/475 +f 446/513/476 445/511/476 460/536/476 461/538/476 +f 439/514/477 438/512/477 453/537/477 454/539/477 +f 447/515/478 446/513/478 461/538/478 462/525/478 +f 440/516/479 439/514/479 454/539/479 455/526/479 +f 433/518/480 297/540/480 448/528/480 +f 460/536/481 459/534/481 474/541/481 475/542/481 +f 453/537/482 452/535/482 467/543/482 468/544/482 +f 461/538/483 460/536/483 475/542/483 476/545/483 +f 454/539/484 453/537/484 468/544/484 469/546/484 +f 462/525/485 461/538/485 476/545/485 477/547/485 +f 455/526/486 454/539/486 469/546/486 470/548/486 +f 448/528/487 297/549/487 463/550/487 +f 206/551/488 462/525/488 477/547/488 +f 456/527/489 455/526/489 470/548/489 471/552/489 +f 449/529/490 448/528/490 463/550/490 464/553/490 +f 457/530/491 456/527/491 471/552/491 472/554/491 +f 450/531/492 449/529/492 464/553/492 465/555/492 +f 458/532/493 457/530/493 472/554/493 473/556/493 +f 451/533/494 450/531/494 465/555/494 466/557/494 +f 459/534/495 458/532/495 473/556/495 474/541/495 +f 452/535/496 451/533/496 466/557/496 467/543/496 +f 464/553/497 463/550/497 1/6/497 2/5/497 +f 472/554/498 471/552/498 9/1/498 478/9/498 +f 465/555/499 464/553/499 2/5/499 3/11/499 +f 473/556/500 472/554/500 478/9/500 479/13/500 +f 466/557/501 465/555/501 3/11/501 4/15/501 +f 474/541/502 473/556/502 479/13/502 480/17/502 +f 467/543/503 466/557/503 4/15/503 5/19/503 +f 475/542/504 474/541/504 480/17/504 10/21/504 +f 468/544/505 467/543/505 5/19/505 6/23/505 +f 476/545/506 475/542/506 10/21/506 481/25/506 +f 469/546/507 468/544/507 6/23/507 7/27/507 +f 477/547/508 476/545/508 481/25/508 482/29/508 +f 470/548/509 469/546/509 7/27/509 8/2/509 +f 463/550/510 297/558/510 1/6/510 +f 206/559/511 477/547/511 482/29/511 +f 471/552/512 470/548/512 8/2/512 9/1/512 diff --git a/native/a.out b/native/a.out new file mode 100755 index 0000000..6f61cbf Binary files /dev/null and b/native/a.out differ diff --git a/native/main.cpp b/native/main.cpp new file mode 100644 index 0000000..04d94b0 --- /dev/null +++ b/native/main.cpp @@ -0,0 +1,170 @@ +/* + Copyright (C) 2021 hiimgoodpack + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . +*/ + +#define FAST_OBJ_IMPLEMENTATION +#include "../fast_obj/fast_obj.h" +#include +#include +#include +#include +#include +#include + +typedef struct { + linalg::aliases::float3 position; +} Vertex; +typedef unsigned int Element; + +const Mesh::Attribute VERTEX_ATTRIBUTES[] = { + { + .index = 0, + .size = 3, + .type = GL_FLOAT, + .stride = sizeof(Vertex), + .pointer = (void*)offsetof(Vertex, position) + } +}; + +Mesh::InstancedElements processMesh(const char* const path) { + fastObjMesh* mesh = fast_obj_read(path); + assert(mesh && "An error occured while reading a mesh. Make sure the path is correct and points to a wavefront object file"); + + const unsigned int vertexCount = mesh->position_count-1; + const unsigned int indexCount = mesh->face_count*3; + Vertex* const vertices = new Vertex[vertexCount]; + Element* const elements = new Element[indexCount]; + + // Index 0 is an invalid index to use in an object file, so we'll remove it + for (unsigned int i = 1; i < mesh->position_count; i++) { + vertices[i-1].position = {mesh->positions[i*3], mesh->positions[i*3+1], mesh->positions[i*3+2]}; + } + for (unsigned int i = 0; i < mesh->face_count; i += 3) { + elements[i] = mesh->indices[i].p-1; + elements[i+1] = mesh->indices[i].t-1; + elements[i+2] = mesh->indices[i].n-1; + } + + fast_obj_destroy(mesh); + + // TODO: Make a way to clean up buffers + Buffer::Specialized vertexBuffer(vertices, vertexCount * sizeof(Vertex), GL_STATIC_DRAW); + Buffer::Specialized elementBuffer(elements, indexCount * sizeof(Element), GL_STATIC_DRAW); + + delete[] vertices; + delete[] elements; + + Mesh::Buffer buffers[2] = { + { + .buffer = vertexBuffer, + .attributes = VERTEX_ATTRIBUTES, + .attributeCount = sizeof(VERTEX_ATTRIBUTES)/sizeof(Mesh::Attribute) + }, + { + .buffer = elementBuffer + } + }; + + return Mesh::InstancedElements(buffers, 2, indexCount, 1, GL_UNSIGNED_INT); +} + +#include +std::string readExternalFile(const char* name) { + std::string contents; + + std::ifstream file; + file.open(name, std::fstream::in); + + if (!file.is_open()) + std::cerr << "Failed to load file " << name << ": " << strerror(errno) << "\n"; + + std::string line; + while (getline(file, line)) { + contents += line; + contents += "\n"; + } + + file.close(); + + return std::string(contents); +} + +void onDebugOutput(GLenum source, GLenum type, GLuint id, GLenum severity, GLsizei length, const char* message, const void* /* userParam */) { + std::cerr << "OpenGL "; + switch (severity) { + case GL_DEBUG_SEVERITY_HIGH: std::cerr << "high severity"; break; + case GL_DEBUG_SEVERITY_MEDIUM: std::cerr << "moderately severity"; break; + case GL_DEBUG_SEVERITY_LOW: std::cerr << "low severity"; break; + case GL_DEBUG_SEVERITY_NOTIFICATION: std::cerr << "notification"; break; + default: std::cerr << "[unknown severity " << severity << "]"; break; + } + std::cerr << " "; + switch (type) { + case GL_DEBUG_TYPE_ERROR: std::cerr << "error"; break; + case GL_DEBUG_TYPE_DEPRECATED_BEHAVIOR: std::cerr << "deprecation warning"; break; + case GL_DEBUG_TYPE_UNDEFINED_BEHAVIOR: std::cerr << "undefined behavior warning"; break; + case GL_DEBUG_TYPE_PORTABILITY: std::cerr << "portability warning"; break; + case GL_DEBUG_TYPE_PERFORMANCE: std::cerr << "performance warning"; break; + case GL_DEBUG_TYPE_MARKER: std::cerr << "debug marker"; break; + case GL_DEBUG_TYPE_PUSH_GROUP: std::cerr << "pushed group"; break; + case GL_DEBUG_TYPE_POP_GROUP: std::cerr << "popped group"; break; + case GL_DEBUG_TYPE_OTHER: std::cerr << "debug message"; break; + default: std::cerr << "[unknown message type " << type << "]"; break; + } + std::cerr << " from "; + switch (source) { + case GL_DEBUG_SOURCE_API: std::cerr << "API"; break; + case GL_DEBUG_SOURCE_WINDOW_SYSTEM: std::cerr << "window system"; break; + case GL_DEBUG_SOURCE_SHADER_COMPILER: std::cerr << "shader compiler"; break; + case GL_DEBUG_SOURCE_THIRD_PARTY: std::cerr << "third party"; break; + case GL_DEBUG_SOURCE_APPLICATION: std::cerr << "application"; break; + case GL_DEBUG_SOURCE_OTHER: std::cerr << "unknown source"; break; + default: std::cerr << "[unknown source type " << source << "]"; break; + } + std::cerr << ": "; + if (length < 0) + std::cerr << message; + else + std::cerr << std::string(message, length); + + std::cerr << " (message id: " << id << ")\n"; +} + +void onGLFWError(int errorCode, const char* error) { + std::cerr << "GLFW error: " << error << " (error code: " << errorCode << ")\n"; +} + +int main() { + glfwSetErrorCallback(onGLFWError); + glfwInit(); + glfwWindowHint(GLFW_CONTEXT_VERSION_MAJOR, 3); + glfwWindowHint(GLFW_CONTEXT_VERSION_MINOR, 3); + glfwWindowHint(GLFW_OPENGL_FORWARD_COMPAT, 1); + glfwWindowHint(GLFW_OPENGL_PROFILE, GLFW_OPENGL_CORE_PROFILE); + glfwWindowHint(GLFW_OPENGL_DEBUG_CONTEXT, true); + glfwWindowHint(GLFW_SAMPLES, 4); + glfwWindowHint(GLFW_VISIBLE, false); + GLFWwindow* window = glfwCreateWindow(1, 1, "You aren't supposed to see this", NULL, NULL); + glfwMakeContextCurrent(window); + + Mesh::InstancedElements sphere = processMesh("../meshes/sphere.obj"); + Shader::Program shader; + + shader.add(readExternalFile("../shaders/vertex.glsl").c_str(), -1, GL_VERTEX_SHADER); + shader.add(readExternalFile("../shaders/fragment.glsl").c_str(), -1, GL_FRAGMENT_SHADER); + shader.link(); + shader.use(); +}