diff --git a/.travis.yml b/.travis.yml index 1a048db2a..091d30bce 100644 --- a/.travis.yml +++ b/.travis.yml @@ -8,20 +8,108 @@ cache: - pip - ccache +# https://docs.travis-ci.com/user/languages/cpp/ matrix: include: + # gcc + # - os: linux + # python: "2.7" + # env: + # - PCL_VERSION="1.7" + # - NOSEATTR="not pcl_ver_0_4 and not pcl_over_18" + # - os: linux + # python: "3.4" + # env: + # - PCL_VERSION="1.7" + # - NOSEATTR="not pcl_ver_0_4 and not pcl_over_18" + # - os: linux + # python: "3.5" + # env: + # - PCL_VERSION="1.7" + # - NOSEATTR="not pcl_ver_0_4 and not pcl_over_18" + # gcc? - os: linux python: "2.7" + addons: + apt: + sources: + - ubuntu-toolchain-r-test + packages: + - g++-4.9 env: - PCL_VERSION="1.7" + - NOSEATTR="not pcl_ver_0_4 and not pcl_over_18" + - MATRIX_EVAL="CC=gcc-4.9 && CXX=g++-4.9" - os: linux python: "3.4" + addons: + apt: + sources: + - ubuntu-toolchain-r-test + packages: + - g++-4.9 env: - PCL_VERSION="1.7" + - NOSEATTR="not pcl_ver_0_4 and not pcl_over_18" + - MATRIX_EVAL="CC=gcc-4.9 && CXX=g++-4.9" - os: linux - python: "3.5" + python: "3.5"# + addons: + apt: + sources: + - ubuntu-toolchain-r-test + packages: + - g++-4.9 env: - PCL_VERSION="1.7" + - NOSEATTR="not pcl_ver_0_4 and not pcl_over_18" + - MATRIX_EVAL="CC=gcc-4.9 && CXX=g++-4.9" + + # clang + # apt-get no pcl use gcc + # - os: linux + # python: "2.7" + # env: + # - PCL_VERSION="1.7" + # - NOSEATTR="not pcl_ver_0_4 and not pcl_over_18" + # addons: + # apt: + # sources: + # - ubuntu-toolchain-r-test + # - llvm-toolchain-precise-3.6 + # packages: + # - clang-3.6 + # env: + # - PCL_VERSION="1.7" + # - NOSEATTR="not pcl_ver_0_4 and not pcl_over_18" + # - MATRIX_EVAL="CC=clang-3.6 && CXX=clang++-3.6" + # - os: linux + # python: "3.4" + # addons: + # apt: + # sources: + # - ubuntu-toolchain-r-test + # - llvm-toolchain-precise-3.6 + # packages: + # - clang-3.6 + # env: + # - PCL_VERSION="1.7" + # - NOSEATTR="not pcl_ver_0_4 and not pcl_over_18" + # - MATRIX_EVAL="CC=clang-3.6 && CXX=clang++-3.6" + # - os: linux + # python: "3.5" + # addons: + # apt: + # sources: + # - ubuntu-toolchain-r-test + # - llvm-toolchain-precise-3.6 + # packages: + # - clang-3.6 + # env: + # - PCL_VERSION="1.7" + # - NOSEATTR="not pcl_ver_0_4 and not pcl_over_18" + # - MATRIX_EVAL="CC=clang-3.6 && CXX=clang++-3.6" + # TravisCI TimeLimit 50min # - os: linux # python: "2.7" @@ -37,24 +125,57 @@ matrix: # - PCL_VERSION="1.8" # TravisCI TimeLimit 50min + # gcc - os: osx language: generic + compiler: gcc env: - PYTHON_VERSION=2.7.10 - PYENV_ROOT=~/.pyenv - PATH=$PYENV_ROOT/shims:$PATH:$PYENV_ROOT/bin + - NOSEATTR="not pcl_ver_0_4" - os: osx language: generic + compiler: gcc env: - PYTHON_VERSION=3.4.3 - PYENV_ROOT=~/.pyenv - PATH=$PYENV_ROOT/shims:$PATH:$PYENV_ROOT/bin + - NOSEATTR="not pcl_ver_0_4" - os: osx language: generic + compiler: gcc env: - PYTHON_VERSION=3.5.1 - PYENV_ROOT=~/.pyenv - PATH=$PYENV_ROOT/shims:$PATH:$PYENV_ROOT/bin + - NOSEATTR="not pcl_ver_0_4" + # clang + # homebrew pcl use gcc compiler + # - os: osx + # language: generic + # compiler: clang + # env: + # - PYTHON_VERSION=2.7.10 + # - PYENV_ROOT=~/.pyenv + # - PATH=$PYENV_ROOT/shims:$PATH:$PYENV_ROOT/bin + # - NOSEATTR="not pcl_ver_0_4" + # - os: osx + # language: generic + # compiler: clang + # env: + # - PYTHON_VERSION=3.4.3 + # - PYENV_ROOT=~/.pyenv + # - PATH=$PYENV_ROOT/shims:$PATH:$PYENV_ROOT/bin + # - NOSEATTR="not pcl_ver_0_4" + # - os: osx + # language: generic + # compiler: clang + # env: + # - PYTHON_VERSION=3.5.1 + # - PYENV_ROOT=~/.pyenv + # - PATH=$PYENV_ROOT/shims:$PATH:$PYENV_ROOT/bin + # - NOSEATTR="not pcl_ver_0_4" # pcl 1.8.1 only(MacOSX/Ubuntu) @@ -72,9 +193,12 @@ before_install: travis_wait 45 brew install pcl --without-qt; + ls /usr/local/include; + cp -n ./travisCI/pcl_2d-1.8.pc /usr/local/lib/pkgconfig/pcl_2d-1.8.pc; fi +# eval "${MATRIX_EVAL}"; install: - if [[ ( "$TRAVIS_OS_NAME" == "linux" ) && ( "$PCL_VERSION" == "1.7" ) ]]; then sudo apt-get install openni2-utils @@ -82,6 +206,8 @@ install: sudo add-apt-repository ppa:v-launchpad-jochen-sprickerhof-de/pcl -y; sudo apt-get update -y; sudo apt-get install libpcl-all -y; + + eval "${MATRIX_EVAL}"; fi - if [[ ( "$TRAVIS_OS_NAME" == "linux" ) && ( "$PCL_VERSION" == "1.8" ) ]]; then sudo add-apt-repository -y ppa:webupd8team/java && sudo apt update && sudo apt -y install oracle-java8-installer; @@ -113,14 +239,19 @@ install: fi - pip install --upgrade pip - pip install cython==0.25.2 + - pip install nose - pip install numpy - pip install coveralls - python setup.py build_ext -i - python setup.py install script: - - coverage run --parallel-mode tests/test_pcl.py - - coverage run --parallel-mode tests/test_registration.py + # - coverage run --parallel-mode tests/test_pcl.py + # - coverage run --parallel-mode tests/test_registration.py + # - nosetests -A "$NOSEATTR" --with-coverage --cover-erase --cover-package=python-pcl --verbose + # - nosetests -A "not pcl_ver_0_4 and not pcl_over_18" --with-coverage --cover-erase --cover-package=python-pcl --verbose + - nosetests -A "not pcl_ver_0_4 and not pcl_over_18" --verbose + # examples # - python examples/GrabberCallbackTest.py # examples/official diff --git a/appveyor.yml b/appveyor.yml index 15ad44553..6eb4331f1 100644 --- a/appveyor.yml +++ b/appveyor.yml @@ -8,8 +8,9 @@ environment: # See: http://stackoverflow.com/a/13751649/163740 CMD_IN_ENV: "cmd /E:ON /V:ON /C .\\appveyor\\run_with_env.cmd" + # https://www.appveyor.com/docs/build-environment/#miniconda matrix: - - PYTHON: "C:\\Miniconda3-x64" + - PYTHON: "C:\\Miniconda34-x64" PYTHON_VERSION: "3.4" PYTHON_ARCH: "64" PCL_ROOT: "C:\\Program Files\\PCL 1.6.0" @@ -17,6 +18,7 @@ environment: OPENNI_VERSION: "1.3.2" OPENNI_ROOT: "C:\\Program Files\\OpenNI\\Bin64" APPVEYOR_OPENNI_ROOT: ".\\AppVeyor\\OpenNI\\x64\\Bin64" + NOSEATTR: "not pcl_ver_0_4 and not pcl_over_17 and not pcl_over_18" - APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2015 PYTHON: "C:\\Miniconda35-x64" @@ -27,6 +29,7 @@ environment: OPENNI_VERSION: "2.2" OPENNI_ROOT: "C:\\Program Files\\OpenNI2\\Redist\\" APPVEYOR_OPENNI_ROOT: ".\\AppVeyor\\OpenNI2\\x64\\Redist" + NOSEATTR: "not pcl_ver_0_4" install: # If there is a newer build queued for the same PR, cancel this one. @@ -39,24 +42,31 @@ install: Where-Object pullRequestId -eq $env:APPVEYOR_PULL_REQUEST_NUMBER)[0].buildNumber) { ` throw "There are newer queued builds for this pull request, failing early." } - - "SET PATH=%PYTHON%;%PYTHON%\\Scripts;%PYTHON%\\Library\\bin;%PYTHON%\\Lib\\site-packages;%PCL_ROOT%\\bin;%PCL_ROOT%\\3rdParty\\VTK\\bin;%OPENNI_ROOT%;%PATH%;" - - "pip install --disable-pip-version-check --user --upgrade pip" - + # Python(set before conda command call) + - "SET PATH=%PYTHON%;%PYTHON%\\Scripts;%PYTHON%\\Library\\bin;%PYTHON%\\Lib\\site-packages;%PATH%;" + # Install the build dependencies of the project. If some dependencies contain # compiled extensions and are not provided as pre-built wheel packages, # pip will build them from source using the MSVC compiler matching the # target Python version and architecture # - "%CMD_IN_ENV% python -m pip install -r dev-requirements.txt" # - "pip install wheel" + # - if [%PCL_VERSION%]==[1.6] anaconda search -t conda vc 10.* + # - if [%PCL_VERSION%]==[1.6] conda install -y -q anaconda-client + # - if [%PCL_VERSION%]==[1.6] SET PATH=%PYTHON%;%PYTHON%\\Scripts;%PYTHON%\\Library\\bin;%PYTHON%\\Lib\\site-packages;%PATH% - "conda install -y -q wheel" - + # Mini-conda ng # - "pip install --upgrade setuptools" # - conda install -y -q setuptools # use Visual Studio 2017?(over 34.4.0.) # under 36.2.2 - conda install -y -q setuptools - + # - "pip install --disable-pip-version-check --user --upgrade pip" + + # PCL + - "SET PATH=%PCL_ROOT%\\bin;%PCL_ROOT%\\3rdParty\\VTK\\bin;%OPENNI_ROOT%;%PATH%;" + # PCL Install - ps : appveyor\install.ps1 @@ -84,8 +94,9 @@ build_script: - if [%PCL_VERSION%]==[1.6] copy "%APPVEYOR_OPENNI_ROOT%" "%PYTHON%\Lib\site-packages" test_script: - - python tests\test_pcl.py - - python tests\test_registration.py + # - python tests\test_pcl.py + # - python tests\test_registration.py + - nosetests -A "%NOSEATTR%" --verbose # - python examples\official\Filtering\PassThroughFilter.py # - python examples\official\Filtering\project_inliers.py diff --git a/bld.bat b/bld.bat new file mode 100644 index 000000000..0095b6e28 --- /dev/null +++ b/bld.bat @@ -0,0 +1,3 @@ +python setup.py build_ext -i +python setup.py install +nosetests -A "not pcl_ver_0_4" diff --git a/build.bat b/build.bat deleted file mode 100644 index 2e3fe0714..000000000 --- a/build.bat +++ /dev/null @@ -1,4 +0,0 @@ -python setup.py build_ext -i -python setup.py install -python tests\test_pcl.py -python tests\test_registration.py diff --git a/build.sh b/build.sh new file mode 100644 index 000000000..a853eb4c9 --- /dev/null +++ b/build.sh @@ -0,0 +1,3 @@ +python setup.py build_ext -i +python setup.py install +nosetests \ No newline at end of file diff --git a/docs/Makefile b/docs/Makefile new file mode 100644 index 000000000..72b3b778c --- /dev/null +++ b/docs/Makefile @@ -0,0 +1,197 @@ +# Makefile for Sphinx documentation +# + +# You can set these variables from the command line. +SPHINXBUILD = sphinx-build +PAPER = +BUILDDIR = build +SPHINXOPTS = -d $(BUILDDIR)/doctrees $(SPHINXOPTS) source + +# User-friendly check for sphinx-build +ifeq ($(shell which $(SPHINXBUILD) >/dev/null 2>&1; echo $$?), 1) +$(error The '$(SPHINXBUILD)' command was not found. Make sure you have Sphinx installed, then set the SPHINXBUILD environment variable to point to the full path of the '$(SPHINXBUILD)' executable. Alternatively you can add the directory with the executable to your PATH. If you don't have Sphinx installed, grab it from http://sphinx-doc.org/) +endif + +# Internal variables. +PAPEROPT_a4 = -D latex_paper_size=a4 +PAPEROPT_letter = -D latex_paper_size=letter +ALLSPHINXOPTS = -d $(BUILDDIR)/doctrees $(PAPEROPT_$(PAPER)) $(SPHINXOPTS) source +# the i18n builder cannot share the environment and doctrees with the others +I18NSPHINXOPTS = $(PAPEROPT_$(PAPER)) $(SPHINXOPTS) source + +.PHONY: help clean html dirhtml singlehtml pickle json htmlhelp qthelp devhelp epub latex latexpdf text man changes linkcheck doctest coverage gettext + +help: + @echo "Please use \`make ' where is one of" + @echo " html to make standalone HTML files" + @echo " dirhtml to make HTML files named index.html in directories" + @echo " singlehtml to make a single large HTML file" + @echo " pickle to make pickle files" + @echo " json to make JSON files" + @echo " htmlhelp to make HTML files and a HTML help project" + @echo " qthelp to make HTML files and a qthelp project" + @echo " applehelp to make an Apple Help Book" + @echo " devhelp to make HTML files and a Devhelp project" + @echo " epub to make an epub" + @echo " latex to make LaTeX files, you can set PAPER=a4 or PAPER=letter" + @echo " latexpdf to make LaTeX files and run them through pdflatex" + @echo " latexpdfja to make LaTeX files and run them through platex/dvipdfmx" + @echo " text to make text files" + @echo " man to make manual pages" + @echo " texinfo to make Texinfo files" + @echo " info to make Texinfo files and run them through makeinfo" + @echo " gettext to make PO message catalogs" + @echo " changes to make an overview of all changed/added/deprecated items" + @echo " xml to make Docutils-native XML files" + @echo " pseudoxml to make pseudoxml-XML files for display purposes" + @echo " linkcheck to check all external links for integrity" + @echo " doctest to run all doctests embedded in the documentation (if enabled)" + @echo " coverage to run coverage check of the documentation (if enabled)" + +clean: + rm -rf $(BUILDDIR)/* + find source -type d -name generated -print0 | xargs -0 rm -rf + +html: + $(SPHINXBUILD) -b html $(ALLSPHINXOPTS) $(BUILDDIR)/html + @echo + @echo "Build finished. The HTML pages are in $(BUILDDIR)/html." + +dirhtml: + $(SPHINXBUILD) -b dirhtml $(ALLSPHINXOPTS) $(BUILDDIR)/dirhtml + @echo + @echo "Build finished. The HTML pages are in $(BUILDDIR)/dirhtml." + +singlehtml: + $(SPHINXBUILD) -b singlehtml $(ALLSPHINXOPTS) $(BUILDDIR)/singlehtml + @echo + @echo "Build finished. The HTML page is in $(BUILDDIR)/singlehtml." + +pickle: + $(SPHINXBUILD) -b pickle $(ALLSPHINXOPTS) $(BUILDDIR)/pickle + @echo + @echo "Build finished; now you can process the pickle files." + +json: + $(SPHINXBUILD) -b json $(ALLSPHINXOPTS) $(BUILDDIR)/json + @echo + @echo "Build finished; now you can process the JSON files." + +htmlhelp: + $(SPHINXBUILD) -b htmlhelp $(ALLSPHINXOPTS) $(BUILDDIR)/htmlhelp + @echo + @echo "Build finished; now you can run HTML Help Workshop with the" \ + ".hhp project file in $(BUILDDIR)/htmlhelp." + +qthelp: + $(SPHINXBUILD) -b qthelp $(ALLSPHINXOPTS) $(BUILDDIR)/qthelp + @echo + @echo "Build finished; now you can run "qcollectiongenerator" with the" \ + ".qhcp project file in $(BUILDDIR)/qthelp, like this:" + @echo "# qcollectiongenerator $(BUILDDIR)/qthelp/python-pcl.qhcp" + @echo "To view the help file:" + @echo "# assistant -collectionFile $(BUILDDIR)/qthelp/python-pcl.qhc" + +applehelp: + $(SPHINXBUILD) -b applehelp $(ALLSPHINXOPTS) $(BUILDDIR)/applehelp + @echo + @echo "Build finished. The help book is in $(BUILDDIR)/applehelp." + @echo "N.B. You won't be able to view it unless you put it in" \ + "~/Library/Documentation/Help or install it in your application" \ + "bundle." + +devhelp: + $(SPHINXBUILD) -b devhelp $(ALLSPHINXOPTS) $(BUILDDIR)/devhelp + @echo + @echo "Build finished." + @echo "To view the help file:" + @echo "# mkdir -p $$HOME/.local/share/devhelp/python-pcl" + @echo "# ln -s $(BUILDDIR)/devhelp $$HOME/.local/share/devhelp/python-pcl" + @echo "# devhelp" + +epub: + $(SPHINXBUILD) -b epub $(ALLSPHINXOPTS) $(BUILDDIR)/epub + @echo + @echo "Build finished. The epub file is in $(BUILDDIR)/epub." + +latex: + $(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/latex + @echo + @echo "Build finished; the LaTeX files are in $(BUILDDIR)/latex." + @echo "Run \`make' in that directory to run these through (pdf)latex" \ + "(use \`make latexpdf' here to do that automatically)." + +latexpdf: + $(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/latex + @echo "Running LaTeX files through pdflatex..." + $(MAKE) -C $(BUILDDIR)/latex all-pdf + @echo "pdflatex finished; the PDF files are in $(BUILDDIR)/latex." + +latexpdfja: + $(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/latex + @echo "Running LaTeX files through platex and dvipdfmx..." + $(MAKE) -C $(BUILDDIR)/latex all-pdf-ja + @echo "pdflatex finished; the PDF files are in $(BUILDDIR)/latex." + +text: + $(SPHINXBUILD) -b text $(ALLSPHINXOPTS) $(BUILDDIR)/text + @echo + @echo "Build finished. The text files are in $(BUILDDIR)/text." + +man: + $(SPHINXBUILD) -b man $(ALLSPHINXOPTS) $(BUILDDIR)/man + @echo + @echo "Build finished. The manual pages are in $(BUILDDIR)/man." + +texinfo: + $(SPHINXBUILD) -b texinfo $(ALLSPHINXOPTS) $(BUILDDIR)/texinfo + @echo + @echo "Build finished. The Texinfo files are in $(BUILDDIR)/texinfo." + @echo "Run \`make' in that directory to run these through makeinfo" \ + "(use \`make info' here to do that automatically)." + +info: + $(SPHINXBUILD) -b texinfo $(ALLSPHINXOPTS) $(BUILDDIR)/texinfo + @echo "Running Texinfo files through makeinfo..." + make -C $(BUILDDIR)/texinfo info + @echo "makeinfo finished; the Info files are in $(BUILDDIR)/texinfo." + +gettext: + $(SPHINXBUILD) -b gettext $(I18NSPHINXOPTS) $(BUILDDIR)/locale + @echo + @echo "Build finished. The message catalogs are in $(BUILDDIR)/locale." + +changes: + $(SPHINXBUILD) -b changes $(ALLSPHINXOPTS) $(BUILDDIR)/changes + @echo + @echo "The overview file is in $(BUILDDIR)/changes." + +linkcheck: + $(SPHINXBUILD) -b linkcheck $(ALLSPHINXOPTS) $(BUILDDIR)/linkcheck + @echo + @echo "Link check complete; look for any errors in the above output " \ + "or in $(BUILDDIR)/linkcheck/output.txt." + +doctest: + $(SPHINXBUILD) -b doctest $(ALLSPHINXOPTS) $(BUILDDIR)/doctest + @echo "Testing of doctests in the sources finished, look at the " \ + "results in $(BUILDDIR)/doctest/output.txt." + +coverage: + $(SPHINXBUILD) -b coverage $(ALLSPHINXOPTS) $(BUILDDIR)/coverage + @echo "Testing of coverage in the sources finished, look at the " \ + "results in $(BUILDDIR)/coverage/python.txt." + +xml: + $(SPHINXBUILD) -b xml $(ALLSPHINXOPTS) $(BUILDDIR)/xml + @echo + @echo "Build finished. The XML files are in $(BUILDDIR)/xml." + +pseudoxml: + $(SPHINXBUILD) -b pseudoxml $(ALLSPHINXOPTS) $(BUILDDIR)/pseudoxml + @echo + @echo "Build finished. The pseudo-XML files are in $(BUILDDIR)/pseudoxml." + + +spelling: + $(SPHINXBUILD) -b spelling $(ALLSPHINXOPTS) $(BUILDDIR)/spelling diff --git a/docs/build.bat b/docs/build.bat new file mode 100644 index 000000000..aa74c92c0 --- /dev/null +++ b/docs/build.bat @@ -0,0 +1,4 @@ +@ECHO OFF + +sphinx-intl build +make clean html \ No newline at end of file diff --git a/docs/image/pcl_logo_958x309.png b/docs/image/pcl_logo_958x309.png new file mode 100644 index 000000000..3e8b31300 Binary files /dev/null and b/docs/image/pcl_logo_958x309.png differ diff --git a/docs/make.bat b/docs/make.bat new file mode 100644 index 000000000..08bb46f84 --- /dev/null +++ b/docs/make.bat @@ -0,0 +1,263 @@ +@ECHO OFF + +REM Command file for Sphinx documentation + +if "%SPHINXBUILD%" == "" ( + set SPHINXBUILD=sphinx-build +) +set BUILDDIR=build +set ALLSPHINXOPTS=-d %BUILDDIR%/doctrees %SPHINXOPTS% source +set I18NSPHINXOPTS=%SPHINXOPTS% source +if NOT "%PAPER%" == "" ( + set ALLSPHINXOPTS=-D latex_paper_size=%PAPER% %ALLSPHINXOPTS% + set I18NSPHINXOPTS=-D latex_paper_size=%PAPER% %I18NSPHINXOPTS% +) + +if "%1" == "" goto help + +if "%1" == "help" ( + :help + echo.Please use `make ^` where ^ is one of + echo. html to make standalone HTML files + echo. dirhtml to make HTML files named index.html in directories + echo. singlehtml to make a single large HTML file + echo. pickle to make pickle files + echo. json to make JSON files + echo. htmlhelp to make HTML files and a HTML help project + echo. qthelp to make HTML files and a qthelp project + echo. devhelp to make HTML files and a Devhelp project + echo. epub to make an epub + echo. latex to make LaTeX files, you can set PAPER=a4 or PAPER=letter + echo. text to make text files + echo. man to make manual pages + echo. texinfo to make Texinfo files + echo. gettext to make PO message catalogs + echo. changes to make an overview over all changed/added/deprecated items + echo. xml to make Docutils-native XML files + echo. pseudoxml to make pseudoxml-XML files for display purposes + echo. linkcheck to check all external links for integrity + echo. doctest to run all doctests embedded in the documentation if enabled + echo. coverage to run coverage check of the documentation if enabled + goto end +) + +if "%1" == "clean" ( + for /d %%i in (%BUILDDIR%\*) do rmdir /q /s %%i + del /q /s %BUILDDIR%\* + goto end +) + + +REM Check if sphinx-build is available and fallback to Python version if any +%SPHINXBUILD% 2> nul +if errorlevel 9009 goto sphinx_python +goto sphinx_ok + +:sphinx_python + +set SPHINXBUILD=python -m sphinx.__init__ +%SPHINXBUILD% 2> nul +if errorlevel 9009 ( + echo. + echo.The 'sphinx-build' command was not found. Make sure you have Sphinx + echo.installed, then set the SPHINXBUILD environment variable to point + echo.to the full path of the 'sphinx-build' executable. Alternatively you + echo.may add the Sphinx directory to PATH. + echo. + echo.If you don't have Sphinx installed, grab it from + echo.http://sphinx-doc.org/ + exit /b 1 +) + +:sphinx_ok + + +if "%1" == "html" ( + %SPHINXBUILD% -b html %ALLSPHINXOPTS% %BUILDDIR%/html + if errorlevel 1 exit /b 1 + echo. + echo.Build finished. The HTML pages are in %BUILDDIR%/html. + goto end +) + +if "%1" == "dirhtml" ( + %SPHINXBUILD% -b dirhtml %ALLSPHINXOPTS% %BUILDDIR%/dirhtml + if errorlevel 1 exit /b 1 + echo. + echo.Build finished. The HTML pages are in %BUILDDIR%/dirhtml. + goto end +) + +if "%1" == "singlehtml" ( + %SPHINXBUILD% -b singlehtml %ALLSPHINXOPTS% %BUILDDIR%/singlehtml + if errorlevel 1 exit /b 1 + echo. + echo.Build finished. The HTML pages are in %BUILDDIR%/singlehtml. + goto end +) + +if "%1" == "pickle" ( + %SPHINXBUILD% -b pickle %ALLSPHINXOPTS% %BUILDDIR%/pickle + if errorlevel 1 exit /b 1 + echo. + echo.Build finished; now you can process the pickle files. + goto end +) + +if "%1" == "json" ( + %SPHINXBUILD% -b json %ALLSPHINXOPTS% %BUILDDIR%/json + if errorlevel 1 exit /b 1 + echo. + echo.Build finished; now you can process the JSON files. + goto end +) + +if "%1" == "htmlhelp" ( + %SPHINXBUILD% -b htmlhelp %ALLSPHINXOPTS% %BUILDDIR%/htmlhelp + if errorlevel 1 exit /b 1 + echo. + echo.Build finished; now you can run HTML Help Workshop with the ^ +.hhp project file in %BUILDDIR%/htmlhelp. + goto end +) + +if "%1" == "qthelp" ( + %SPHINXBUILD% -b qthelp %ALLSPHINXOPTS% %BUILDDIR%/qthelp + if errorlevel 1 exit /b 1 + echo. + echo.Build finished; now you can run "qcollectiongenerator" with the ^ +.qhcp project file in %BUILDDIR%/qthelp, like this: + echo.^> qcollectiongenerator %BUILDDIR%\qthelp\python-pcl.qhcp + echo.To view the help file: + echo.^> assistant -collectionFile %BUILDDIR%\qthelp\python-pcl.ghc + goto end +) + +if "%1" == "devhelp" ( + %SPHINXBUILD% -b devhelp %ALLSPHINXOPTS% %BUILDDIR%/devhelp + if errorlevel 1 exit /b 1 + echo. + echo.Build finished. + goto end +) + +if "%1" == "epub" ( + %SPHINXBUILD% -b epub %ALLSPHINXOPTS% %BUILDDIR%/epub + if errorlevel 1 exit /b 1 + echo. + echo.Build finished. The epub file is in %BUILDDIR%/epub. + goto end +) + +if "%1" == "latex" ( + %SPHINXBUILD% -b latex %ALLSPHINXOPTS% %BUILDDIR%/latex + if errorlevel 1 exit /b 1 + echo. + echo.Build finished; the LaTeX files are in %BUILDDIR%/latex. + goto end +) + +if "%1" == "latexpdf" ( + %SPHINXBUILD% -b latex %ALLSPHINXOPTS% %BUILDDIR%/latex + cd %BUILDDIR%/latex + make all-pdf + cd %~dp0 + echo. + echo.Build finished; the PDF files are in %BUILDDIR%/latex. + goto end +) + +if "%1" == "latexpdfja" ( + %SPHINXBUILD% -b latex %ALLSPHINXOPTS% %BUILDDIR%/latex + cd %BUILDDIR%/latex + make all-pdf-ja + cd %~dp0 + echo. + echo.Build finished; the PDF files are in %BUILDDIR%/latex. + goto end +) + +if "%1" == "text" ( + %SPHINXBUILD% -b text %ALLSPHINXOPTS% %BUILDDIR%/text + if errorlevel 1 exit /b 1 + echo. + echo.Build finished. The text files are in %BUILDDIR%/text. + goto end +) + +if "%1" == "man" ( + %SPHINXBUILD% -b man %ALLSPHINXOPTS% %BUILDDIR%/man + if errorlevel 1 exit /b 1 + echo. + echo.Build finished. The manual pages are in %BUILDDIR%/man. + goto end +) + +if "%1" == "texinfo" ( + %SPHINXBUILD% -b texinfo %ALLSPHINXOPTS% %BUILDDIR%/texinfo + if errorlevel 1 exit /b 1 + echo. + echo.Build finished. The Texinfo files are in %BUILDDIR%/texinfo. + goto end +) + +if "%1" == "gettext" ( + %SPHINXBUILD% -b gettext %I18NSPHINXOPTS% %BUILDDIR%/locale + if errorlevel 1 exit /b 1 + echo. + echo.Build finished. The message catalogs are in %BUILDDIR%/locale. + goto end +) + +if "%1" == "changes" ( + %SPHINXBUILD% -b changes %ALLSPHINXOPTS% %BUILDDIR%/changes + if errorlevel 1 exit /b 1 + echo. + echo.The overview file is in %BUILDDIR%/changes. + goto end +) + +if "%1" == "linkcheck" ( + %SPHINXBUILD% -b linkcheck %ALLSPHINXOPTS% %BUILDDIR%/linkcheck + if errorlevel 1 exit /b 1 + echo. + echo.Link check complete; look for any errors in the above output ^ +or in %BUILDDIR%/linkcheck/output.txt. + goto end +) + +if "%1" == "doctest" ( + %SPHINXBUILD% -b doctest %ALLSPHINXOPTS% %BUILDDIR%/doctest + if errorlevel 1 exit /b 1 + echo. + echo.Testing of doctests in the sources finished, look at the ^ +results in %BUILDDIR%/doctest/output.txt. + goto end +) + +if "%1" == "coverage" ( + %SPHINXBUILD% -b coverage %ALLSPHINXOPTS% %BUILDDIR%/coverage + if errorlevel 1 exit /b 1 + echo. + echo.Testing of coverage in the sources finished, look at the ^ +results in %BUILDDIR%/coverage/python.txt. + goto end +) + +if "%1" == "xml" ( + %SPHINXBUILD% -b xml %ALLSPHINXOPTS% %BUILDDIR%/xml + if errorlevel 1 exit /b 1 + echo. + echo.Build finished. The XML files are in %BUILDDIR%/xml. + goto end +) + +if "%1" == "pseudoxml" ( + %SPHINXBUILD% -b pseudoxml %ALLSPHINXOPTS% %BUILDDIR%/pseudoxml + if errorlevel 1 exit /b 1 + echo. + echo.Build finished. The pseudo-XML files are in %BUILDDIR%/pseudoxml. + goto end +) + +:end diff --git a/docs/requirements.txt b/docs/requirements.txt new file mode 100644 index 000000000..87f04dab1 --- /dev/null +++ b/docs/requirements.txt @@ -0,0 +1 @@ +Cython==0.25.2 diff --git a/docs/source/_static/css/modified_theme.css b/docs/source/_static/css/modified_theme.css new file mode 100644 index 000000000..e0d587f88 --- /dev/null +++ b/docs/source/_static/css/modified_theme.css @@ -0,0 +1,44 @@ +@import url('theme.css'); + +/* Main background color modification */ +.btn-info, .wy-menu-vertical a:active, .wy-side-nav-search, .wy-side-nav-search img, .wy-nav .wy-menu-vertical a:hover, .wy-nav-top img, .wy-tray-item-info, .wy-side-nav-search, .wy-dropdown-menu > dd > a:hover, .wy-dropdown-menu a:hover, .wy-nav-top { + background-color: #70c162 !important; +} + +.wy-side-nav-search input[type=text] { + border-color: #72a424 !important; +} + +.rst-content .note .admonition-title { + background-color: #c9c9c9 !important; +} + +.rst-content .note { + background-color: #e3e3e3 !important; +} + + +/* code style */ +.rst-content table.longtable.docutils code { + font-size: 100% !important; + background-color: transparent !important; + border: none !important; +} + +.rst-content a.reference code { + color: #3399cc !important; +} + +.rst-content a.reference code:hover { + text-decoration: underline !important; + color: #3366cc !important; +} + + +/* rubric */ +.rst-content .class .rubric { + color: #333333; + background-color: #aaeeaa; + padding: 0.2em 0 0.2em 1em; + border-top: solid 0.3em #66cc66; +} diff --git a/docs/source/_templates/autosummary/class.rst b/docs/source/_templates/autosummary/class.rst new file mode 100644 index 000000000..04abddc2e --- /dev/null +++ b/docs/source/_templates/autosummary/class.rst @@ -0,0 +1,53 @@ +{{ fullname }} +{{ underline }} + +.. currentmodule:: {{ module }} + +.. autoclass:: {{ objname }} + + .. + Methods + +{% block methods %} + + .. rubric:: Methods + + .. + Special methods + +{% for item in ('__call__', '__enter__', '__exit__', '__getitem__', '__setitem__', '__len__', '__next__', '__iter__', '__copy__') %} +{% if item in all_methods %} + .. automethod:: {{ item }} +{% endif %} +{%- endfor %} + + .. + Ordinary methods + +{% for item in methods %} +{% if item not in ('__init__',) %} + .. automethod:: {{ item }} +{% endif %} +{%- endfor %} + + .. + Special methods + +{% for item in ('__eq__', '__ne__', '__lt__', '__le__', '__gt__', '__ge__', '__nonzero__', '__bool__') %} +{% if item in all_methods %} + .. automethod:: {{ item }} +{% endif %} +{%- endfor %} +{% endblock %} + + .. + Atributes + +{% block attributes %} {% if attributes %} + + .. rubric:: Attributes + +{% for item in attributes %} + .. autoattribute:: {{ item }} +{%- endfor %} +{% endif %} {% endblock %} diff --git a/docs/source/compatibility.rst b/docs/source/compatibility.rst new file mode 100644 index 000000000..e4b32370c --- /dev/null +++ b/docs/source/compatibility.rst @@ -0,0 +1,144 @@ +API Compatibility Policy +======================== + +This document expresses the design policy on compatibilities of python-pcl APIs. +Development team should obey this policy on deciding to add, extend, and change APIs and their behaviors. + +This document is written for both users and developers. +Users can decide the level of dependencies on python-pcl implementations in their codes based on this document. +Developers should read through this document before creating pull requests that contain changes on the interface. +Note that this document may contain ambiguities on the level of supported compatibilities. + + +Versioning and Backward Compatibilities +--------------------------------------- + +The updates of python-pcl are classified into three levels: major, minor, and revision. +These types have distinct levels of backward compatibilities. + +- **Major update** contains disruptive changes that break the backward compatibility. +- **Minor update** contains addition and extension to the APIs keeping the supported backward compatibility. +- **Revision update** contains improvements on the API implementations without changing any API specifications. + +Note that we do not support full backward compatibility, which is almost infeasible for Python-based APIs, since there is no way to completely hide the implementation details. + + +Processes to Break Backward Compatibilities +------------------------------------------- + +Deprecation, Dropping, and Its Preparation +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +Any APIs may be *deprecated* at some minor updates. +In such a case, the deprecation note is added to the API documentation, and the API implementation is changed to fire deprecation warning (if possible). +There should be another way to reimplement the same things previously written with the deprecated APIs. + +Any APIs may be marked as *to be dropped in the future*. +In such a case, the dropping is stated in the documentation with the major version number on which the API is planned to be dropped, and the API implementation is changed to fire the future warning (if possible). + +The actual dropping should be done through the following steps: + +- Make the API deprecated. + At this point, users should not need the deprecated API in their new application codes. +- After that, mark the API as *to be dropped in the future*. + It must be done in the minor update different from that of the deprecation. +- At the major version announced in the above update, drop the API. + +Consequently, it takes at least two minor versions to drop any APIs after the first deprecation. + +API Changes and Its Preparation +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +Any APIs may be marked as *to be changed in the future* for changes without backward compatibility. +In such a case, the change is stated in the documentation with the version number on which the API is planned to be changed, and the API implementation is changed to fire the future warning on the certain usages. + +The actual change should be done in the following steps: + +- Announce that the API will be changed in the future. + At this point, the actual version of change need not be accurate. +- After the announcement, mark the API as *to be changed in the future* with version number of planned changes. + At this point, users should not use the marked API in their new application codes. +- At the major update announced in the above update, change the API. + + +Supported Backward Compatibility +-------------------------------- + +This section defines backward compatibilities that minor updates must maintain. + +Documented Interface +~~~~~~~~~~~~~~~~~~~~ + +python-pcl has the official API documentation. +Many applications can be written based on the documented features. +We support backward compatibilities of documented features. +In other words, codes only based on the documented features run correctly with minor/revision-updated versions. + +Developers are encouraged to use apparent names for objects of implementation details. +For example, attributes outside of the documented APIs should have one or more underscores at the prefix of their names. + +.. _undocumented_behavior: + +Undocumented behaviors +~~~~~~~~~~~~~~~~~~~~~~ + +Behaviors of python-pcl implementation not stated in the documentation are undefined. +Undocumented behaviors are not guaranteed to be stable between different minor/revision versions. + +Minor update may contain changes to undocumented behaviors. +For example, suppose an API X is added at the minor update. +In the previous version, attempts to use X cause AttributeError. +This behavior is not stated in the documentation, so this is undefined. +Thus, adding the API X in minor version is permissible. + +Revision update may also contain changes to undefined behaviors. +Typical example is a bug fix. +Another example is an improvement on implementation, which may change the internal object structures not shown in the documentation. +As a consequence, **even revision updates do not support compatibility of pickling, unless the full layout of pickled objects is clearly documented.** + +Documentation Error +~~~~~~~~~~~~~~~~~~~ + +Compatibility is basically determined based on the documentation, though it sometimes contains errors. +It may make the APIs confusing to assume the documentation always stronger than the implementations. +We therefore may fix the documentation errors in any updates that may break the compatibility in regard to the documentation. + +.. note:: + Developers MUST NOT fix the documentation and implementation of the same functionality at the same time in revision updates as "bug fix". + Such a change completely breaks the backward compatibility. + If you want to fix the bugs in both sides, first fix the documentation to fit it into the implementation, and start the API changing procedure described above. + +Object Attributes and Properties +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +Object attributes and properties are sometimes replaced by each other at minor updates. +It does not break the user codes, except the codes depend on how the attributes and properties are implemented. + +Functions and Methods +~~~~~~~~~~~~~~~~~~~~~ + +Methods may be replaced by callable attributes keeping the compatibility of parameters and return values in minor updates. +It does not break the user codes, except the codes depend on how the methods and callable attributes are implemented. + +Exceptions and Warnings +~~~~~~~~~~~~~~~~~~~~~~~ + +The specifications of raising exceptions are considered as a part of standard backward compatibilities. +No exception is raised in the future versions with correct usages that the documentation allows, unless the API changing process is completed. + +On the other hand, warnings may be added at any minor updates for any APIs. +It means minor updates do not keep backward compatibility of warnings. + + +Installation Compatibility +-------------------------- + +The installation process is another concern of compatibilities. +We support environmental compatibilities in the following ways. + +- Supporting optional packages/libraries may be done in minor updates (e.g. supporting h5py in optional features). + +.. note:: + The installation compatibility does not guarantee that all the features of python-pcl correctly run on supported environments. + It may contain bugs that only occurs in certain environments. + Such bugs should be fixed in some updates. diff --git a/docs/source/conf.py b/docs/source/conf.py new file mode 100644 index 000000000..36f6fcc48 --- /dev/null +++ b/docs/source/conf.py @@ -0,0 +1,390 @@ +#!/usr/bin/env python3 +# -*- coding: utf-8 -*- +# +# pcl documentation build configuration file, created by +# sphinx-quickstart on Mon Jul 31 16:25:14 2017. +# +# This file is execfile()d with the current directory set to its +# containing dir. +# +# Note that not all possible configuration values are present in this +# autogenerated file. +# +# All configuration values have a default; values that are commented out +# serve to show the default. + +import inspect +import os +import pkg_resources +import six +import sys + + +# __version__ = pkg_resources.get_distribution('python-pcl').version +# Read the Docs +__version__ = '0.3' + +on_rtd = os.environ.get('READTHEDOCS', None) == 'True' + +locale_dirs = ["locale"] + +# If extensions (or modules to document with autodoc) are in another directory, +# add these directories to sys.path here. If the directory is relative to the +# documentation root, use os.path.abspath to make it absolute, like shown here. +#sys.path.insert(0, os.path.abspath('.')) + +# -- General configuration ------------------------------------------------ + +# If your documentation needs a minimal Sphinx version, state it here. +#needs_sphinx = '1.0' + +# Add any Sphinx extension module names here, as strings. They can be +# extensions coming with Sphinx (named 'sphinx.ext.*') or your custom +# ones. +# extensions = ['sphinx.ext.autodoc', +# 'sphinx.ext.autosummary', +# 'sphinx.ext.doctest', +# 'sphinx.ext.intersphinx', +# 'sphinx.ext.mathjax', +# 'sphinx.ext.napoleon', +# 'sphinx.ext.linkcode'] + +extensions = ["sphinx.ext.autodoc"] + +try: + import sphinxcontrib.spelling # noqa + extensions.append('sphinxcontrib.spelling') +except ImportError: + pass + +# Add any paths that contain templates here, relative to this directory. +templates_path = ['_templates'] + +# The suffix(es) of source filenames. +# You can specify multiple suffix as a list of string: +# source_suffix = ['.rst', '.md'] +source_suffix = '.rst' + +# The encoding of source files. +#source_encoding = 'utf-8-sig' + +# The master toctree document. +master_doc = 'index' + +# General information about the project. +project = u'python-pcl' +copyright = u'2017, Tooru Oonuma.' +author = u'Tooru Oonuma' + +# The version info for the project you're documenting, acts as replacement for +# |version| and |release|, also used in various other places throughout the +# built documents. +# +# The short X.Y version. +version = __version__ +# The full version, including alpha/beta/rc tags. +release = __version__ + +# The language for content autogenerated by Sphinx. Refer to documentation +# for a list of supported languages. +# +# This is also used if you do content translation via gettext catalogs. +# Usually you set "language" from the command line for these cases. +# language = None +language = 'en' +# language = 'ja' + +# There are two options for replacing |today|: either, you set today to some +# non-false value, then it is used: +#today = '' +# Else, today_fmt is used as the format for a strftime call. +#today_fmt = '%B %d, %Y' + +# List of patterns, relative to source directory, that match files and +# directories to ignore when looking for source files. +exclude_patterns = [] + +# The reST default role (used for this markup: `text`) to use for all +# documents. +#default_role = None + +# If true, '()' will be appended to :func: etc. cross-reference text. +#add_function_parentheses = True + +# If true, the current module name will be prepended to all description +# unit titles (such as .. function::). +#add_module_names = True + +# If true, sectionauthor and moduleauthor directives will be shown in the +# output. They are ignored by default. +#show_authors = False + +# The name of the Pygments (syntax highlighting) style to use. +pygments_style = 'sphinx' + +# A list of ignored prefixes for module index sorting. +#modindex_common_prefix = [] + +# If true, keep warnings as "system message" paragraphs in the built documents. +#keep_warnings = False + +# If true, `todo` and `todoList` produce output, else they produce nothing. +todo_include_todos = False + +# Napoleon settings +napoleon_use_ivar = True +napoleon_include_special_with_doc = True + +# -- Options for HTML output ---------------------------------------------- + +# The theme to use for HTML and HTML Help pages. See the documentation for +# a list of builtin themes. +if not on_rtd: + html_theme = 'sphinx_rtd_theme' + +# Theme options are theme-specific and customize the look and feel of a theme +# further. For a list of options available for each theme, see the +# documentation. +#html_theme_options = {} + +# Add any paths that contain custom themes here, relative to this directory. +#html_theme_path = [] + +# The name for this set of Sphinx documents. If None, it defaults to +# " v documentation". +#html_title = None + +# A shorter title for the navigation bar. Default is the same as html_title. +#html_short_title = None + +# The name of an image file (relative to this directory) to place at the top +# of the sidebar. +#html_logo = None + +# The name of an image file (within the static path) to use as favicon of the +# docs. This file should be a Windows icon file (.ico) being 16x16 or 32x32 +# pixels large. +#html_favicon = None + +# Add any paths that contain custom static files (such as style sheets) here, +# relative to this directory. They are copied after the builtin static files, +# so a file named "default.css" will overwrite the builtin "default.css". +html_static_path = ['_static'] + +html_style = 'css/modified_theme.css' + +if on_rtd: + html_context = { + 'css_files': [ + 'https://media.readthedocs.org/css/sphinx_rtd_theme.css', + 'https://media.readthedocs.org/css/readthedocs-doc-embed.css', + '_static/css/modified_theme.css', + ], + } + +# Add any extra paths that contain custom files (such as robots.txt or +# .htaccess) here, relative to this directory. These files are copied +# directly to the root of the documentation. +#html_extra_path = [] + +# If not '', a 'Last updated on:' timestamp is inserted at every page bottom, +# using the given strftime format. +#html_last_updated_fmt = '%b %d, %Y' + +# If true, SmartyPants will be used to convert quotes and dashes to +# typographically correct entities. +#html_use_smartypants = True + +# Custom sidebar templates, maps document names to template names. +#html_sidebars = {} + +# Additional templates that should be rendered to pages, maps page names to +# template names. +#html_additional_pages = {} + +# If false, no module index is generated. +#html_domain_indices = True + +# If false, no index is generated. +#html_use_index = True + +# If true, the index is split into individual pages for each letter. +#html_split_index = False + +# If true, links to the reST sources are added to the pages. +#html_show_sourcelink = True + +# If true, "Created using Sphinx" is shown in the HTML footer. Default is True. +#html_show_sphinx = True + +# If true, "(C) Copyright ..." is shown in the HTML footer. Default is True. +#html_show_copyright = True + +# If true, an OpenSearch description file will be output, and all pages will +# contain a tag referring to it. The value of this option must be the +# base URL from which the finished HTML is served. +#html_use_opensearch = '' + +# This is the file name suffix for HTML files (e.g. ".xhtml"). +#html_file_suffix = None + +# Language to be used for generating the HTML full-text search index. +# Sphinx supports the following languages: +# 'da', 'de', 'en', 'es', 'fi', 'fr', 'hu', 'it', 'ja' +# 'nl', 'no', 'pt', 'ro', 'ru', 'sv', 'tr' +#html_search_language = 'en' + +# A dictionary with options for the search language support, empty by default. +# Now only 'ja' uses this config value +#html_search_options = {'type': 'default'} + +# The name of a javascript file (relative to the configuration directory) that +# implements a search results scorer. If empty, the default will be used. +#html_search_scorer = 'scorer.js' + +# Output file base name for HTML help builder. +htmlhelp_basename = 'pcldoc' + +# -- Options for LaTeX output --------------------------------------------- + +latex_elements = { + # The paper size ('letterpaper' or 'a4paper'). + #'papersize': 'letterpaper', + + # The font size ('10pt', '11pt' or '12pt'). + #'pointsize': '10pt', + + # Additional stuff for the LaTeX preamble. + #'preamble': '', + + # Latex figure (float) alignment + #'figure_align': 'htbp', +} + +# Grouping the document tree into LaTeX files. List of tuples +# (source start file, target name, title, +# author, documentclass [howto, manual, or own class]). +latex_documents = [ + (master_doc, 'pcl.tex', u'python-pcl Documentation', + u'Tooru Oonuma', 'manual'), +] + +# The name of an image file (relative to this directory) to place at the top of +# the title page. +#latex_logo = None + +# For "manual" documents, if this is true, then toplevel headings are parts, +# not chapters. +#latex_use_parts = False + +# If true, show page references after internal links. +#latex_show_pagerefs = False + +# If true, show URL addresses after external links. +#latex_show_urls = False + +# Documents to append as an appendix to all manuals. +#latex_appendices = [] + +# If false, no module index is generated. +#latex_domain_indices = True + + +# -- Options for manual page output --------------------------------------- + +# One entry per manual page. List of tuples +# (source start file, name, description, authors, manual section). +man_pages = [ + (master_doc, 'python-pcl', u'python-pcl Documentation', + [author], 1) +] + +# If true, show URL addresses after external links. +#man_show_urls = False + + +# -- Options for Texinfo output ------------------------------------------- + +# Grouping the document tree into Texinfo files. List of tuples +# (source start file, target name, title, author, +# dir menu entry, description, category) +texinfo_documents = [ + (master_doc, 'python-pcl', u'python-pcl Documentation', + author, 'python-pcl', 'One line description of project.', + 'Miscellaneous'), +] + +# Documents to append as an appendix to all manuals. +#texinfo_appendices = [] + +# If false, no module index is generated. +#texinfo_domain_indices = True + +# How to display URL addresses: 'footnote', 'no', or 'inline'. +#texinfo_show_urls = 'footnote' + +# If true, do not generate a @detailmenu in the "Top" node's menu. +#texinfo_no_detailmenu = False + +autosummary_generate = True + +intersphinx_mapping = { + 'python': ('https://docs.python.org/3/', None), + 'numpy': ('http://docs.scipy.org/doc/numpy/', None), +} + +doctest_global_setup = ''' +import numpy as np +import pcl # TODO : Remove this line +np.random.seed(0) +''' + +spelling_lang = 'en_US' +spelling_word_list_filename = 'spelling_wordlist.txt' + + +def _import_object_from_name(module_name, fullname): + obj = sys.modules.get(module_name) + if obj is None: + return None + for comp in fullname.split('.'): + obj = getattr(obj, comp) + return obj + + +def linkcode_resolve(domain, info): + if domain != 'py' or not info['module']: + return None + + rtd_version = os.environ.get('READTHEDOCS_VERSION') + if rtd_version == 'latest': + tag = 'master' + else: + tag = 'v{}'.format(__version__) + repo_root_dir = os.path.realpath('..') + + # Import the object from module path + obj = _import_object_from_name(info['module'], info['fullname']) + + # Get the source file name and line number at which obj is defined. + try: + filename = inspect.getsourcefile(obj) + except TypeError: + # obj is not a module, class, function, ..etc. + return None + + # inspect can return None for cython objects + if filename is None: + return None + + # Get the source line number + _, linenum = inspect.getsourcelines(obj) + assert isinstance(linenum, six.integer_types) + + filename = os.path.realpath(filename) + if not filename.startswith(repo_root_dir): + return None + relpath = os.path.relpath(filename, repo_root_dir) + + return 'https://github.com/Sirokujira/python-pcl/blob/{}/{}#L{}'.format( + tag, relpath, linenum) diff --git a/docs/source/contribution.rst b/docs/source/contribution.rst new file mode 100644 index 000000000..538ffd85e --- /dev/null +++ b/docs/source/contribution.rst @@ -0,0 +1,163 @@ +python-pcl Contribution Guide +============================= + +This is a guide for all contributions to python-pcl. +The development of python-pcl is running on `the official repository at GitHub `_. +Anyone that wants to register an issue or to send a pull request should read through this document. + +Classification of Contributions +------------------------------- + +There are several ways to contribute to python-pcl community: + +1. Registering an issue +2. Sending a pull request (PR) + +This document mainly focuses on 1 and 2, though other contributions are also appreciated. + +Release and Milestone +--------------------- + +We are using `GitHub Flow `_ as our basic working process. +In particular, we are using the master branch for our development, and releases are made as tags. + +Releases are classified into three groups: major, minor, and revision. +This classification is based on following criteria: + +- **Major update** contains disruptive changes that break the backward compatibility. +- **Minor update** contains additions and extensions to the APIs keeping the supported backward compatibility. +- **Revision update** contains improvements on the API implementations without changing any API specification. + +The release classification is reflected into the version number x.y.z, where x, y, and z corresponds to major, minor, and revision updates, respectively. + +We set a milestone for an upcoming release. +The milestone is of name 'vX.Y.Z', where the version number represents a revision release at the outset. +If at least one *feature* PR is merged in the period, we rename the milestone to represent a minor release (see the next section for the PR types). + +See also :doc:`compatibility`. + +Issues and PRs +-------------- + +Issues and PRs are classified into following categories: + +* **Bug**: bug reports (issues) and bug fixes (PRs) +* **Enhancement**: implementation improvements without breaking the interface +* **Feature**: feature requests (issues) and their implementations (PRs) +* **NoCompat**: disrupts backward compatibility +* **Test**: test fixes and updates +* **Document**: document fixes and improvements +* **Example**: fixes and improvements on the examples +* **Install**: fixes installation script +* **Contribution-Welcome**: issues that we request for contribution (only issues are categorized to this) +* **Other**: other issues and PRs + +Issues and PRs are labeled by these categories. +This classification is often reflected into its corresponding release category: Feature issues/PRs are contained into minor/major releases and NoCompat issues/PRs are contained into major releases, while other issues/PRs can be contained into any releases including revision ones. + +On registering an issue, write precise explanations on what you want python-pcl to be. +Bug reports must include necessary and sufficient conditions to reproduce the bugs. +Feature requests must include **what** you want to do (and **why** you want to do, if needed). +You can contain your thoughts on **how** to realize it into the feature requests, though **what** part is most important for discussions. + +If you can write code to fix an issue, send a PR to the master branch. +Before writing your code for PRs, read through the :ref:`coding-guide`. +The description of any PR must contain a precise explanation of **what** and **how** you want to do; it is the first documentation of your code for developers, a very important part of your PR. + +Once you send a PR, it is automatically tested on `Travis CI `_ for Linux and Mac OS X, and on `AppVeyor `_ for Windows. +Your PR need to pass at least the test for Linux/MacOSX on Travis CI and Windows on AppVeyor. +After the automatic test passes, some of the core developers will start reviewing your code. +Note that this automatic PR test only includes CPU tests. + +Even if your code is not complete, you can send a pull request as a *work-in-progress PR* by putting the ``[WIP]`` prefix to the PR title. +If you write a precise explanation about the PR, core developers and other contributors can join the discussion about how to proceed the PR. + +.. _coding-guide: + +Coding Guidelines +----------------- + +We use `PEP8 `_ and a part of `OpenStack Style Guidelines `_ related to general coding style as our basic style guidelines. + +To check your code, use ``autopep8`` and ``flake8`` command installed by ``hacking`` package:: + + $ pip install autopep8 hacking + $ autopep8 --global-config .pep8 path/to/your/code.py + $ flake8 path/to/your/code.py + +To check Cython code, use ``.flake8.cython`` configuration file:: + + $ flake8 --config=.flake8.cython path/to/your/cython/code.pyx + +The ``autopep8`` supports automatically correct Python code to conform to the PEP 8 style guide:: + + $ autopep8 --in-place --global-config .pep8 path/to/your/code.py + +The ``flake8`` command lets you know the part of your code not obeying our style guidelines. +Before sending a pull request, be sure to check that your code passes the ``flake8`` checking. + +Note that ``flake8`` command is not perfect. +It does not check some of the style guidelines. +Here is a (not-complete) list of the rules that ``flake8`` cannot check. + +* Relative imports are prohibited. [H304] +* Importing non-module symbols is prohibited. +* Import statements must be organized into three parts: standard libraries, third-party libraries, and internal imports. [H306] + +In addition, we restrict the usage of *shortcut symbols* in our code base. +They are symbols imported by packages and sub-packages of ``python-pcl``. +**It is not allowed to use such shortcuts in the ``python-pcl`` library implementation**. +Note that you can still use them in ``tests`` and ``examples`` directories. + +Once you send a pull request, your coding style is automatically checked by `Travis CI `_ for Linux and Mac OS X, and on `AppVeyor `_ for Windows. +The reviewing process starts after the check passes. + +The python-pcl is designed based on PointCloudLibrary's API design. python-pcl's source code and documents contain the original PointCloudLibrary ones. +Please note the followings when writing the document. + +* In order to identify overlapping parts, it is preferable to add some remarks + that this document is just copied or altered from the original one. It is + also preferable to briefly explain the specification of the function in a + short paragraph, and refer to the corresponding function in PointCloudLibrary so that + users can read the detailed document. However, it is possible to include a + complete copy of the document with such a remark if users cannot summarize + in such a way. +* If a function in python-pcl only implements a limited amount of features in the + original one, users should explicitly describe only what is implemented in + the document. + + +Testing Guidelines +------------------ + +Testing is one of the most important part of your code. +You must test your code by unit tests following our testing guidelines. +Note that we are using the nose package and the mock package for testing, so install nose and mock before writing your code:: + + $ pip install nose mock + +In order to run unit tests at the repository root, you first have to build Cython files in place by running the following command:: + + $ python setup.py develop + +Once the Cython modules are built, you can run unit tests simply by running ``nosetests`` command at the repository root:: + + $ nosetests + +Tests are put into the ``tests`` directories. + +Following this naming convention, you can run all the tests by just typing ``nosetests`` at the repository root:: + + $ nosetests + +If you modify the code related to existing unit tests, you must run appropriate commands. + +There are many examples of unit tests under the ``tests`` directory. +They simply use the ``unittest`` package of the standard library. + +Once you send a pull request, your code is automatically tested by `Travis-CI `_ and `Appveyor `_. +The reviewing process starts after the test passes. + +.. note:: + Some of numerically unstable tests might cause errors irrelevant to your changes. + In such a case, we ignore the failures and go on to the review process, so do not worry about it. diff --git a/docs/source/developers.rst b/docs/source/developers.rst new file mode 100644 index 000000000..db50e62f6 --- /dev/null +++ b/docs/source/developers.rst @@ -0,0 +1,8 @@ +========================= +For python-pcl Developers +========================= + +.. toctree:: + + contribution + compatibility diff --git a/docs/source/index.rst b/docs/source/index.rst new file mode 100644 index 000000000..bb6cec7ab --- /dev/null +++ b/docs/source/index.rst @@ -0,0 +1,17 @@ +============================================ +python-pcl -- PointCloudLibrary-like API +============================================ + +This is the `python-pcl `_ documentation. + +.. module:: python-pcl + +.. toctree:: + :maxdepth: 1 + + overview + install + tutorial/index + reference/index + developers + license diff --git a/docs/source/install.rst b/docs/source/install.rst new file mode 100644 index 000000000..cd64df672 --- /dev/null +++ b/docs/source/install.rst @@ -0,0 +1,247 @@ +Installation Guide +================== + +.. contents:: :local: + +Recommended Environments +------------------------ + +We recommend Windows and these Linux distributions. + +* `Ubuntu `_ 14.04 64bit +* `MacOS `_ 10.10/10.11/10.12 +* `Windows `_ 7/8.1/10 64bit + +The following versions of Python can be used: 2.7.6+, 3.5.1+, and 3.6.0+. + +python-pcl is supported on Python 2.7.6+, 3.4.0, 3.5.0+, 3.6.0+. +python-pcl uses C++ compiler such as g++. +You need to install it before installing python-pcl. +This is typical installation method for each platform:: + + Linux(Ubuntu) + + PCL 1.7.0(use apt-get) + + 1.Install PCL Module. + sudo add-apt-repository ppa:v-launchpad-jochen-sprickerhof-de/pcl -y + + sudo apt-get update -y + + sudo apt-get install libpcl-all -y + + + PCL 1.8.0 (build module)([CI Test Timeout]) + + + 1.Build Module + + + Reference here. + + + MacOSX + + use homebrew + + 1.Install PCL Module. + brew tap homebrew/science + + brew install pcl + + + Warning: + + + Current Installer (2017/10/02) Not generated pcl-2d-1.8.pc file.(Issue #119) + + Reference PointCloudLibrary Issue. + + + Pull qequests 1679. + + Issue 1978. + + circumvent: + + copy travis/pcl-2d-1.8.pc file to /usr/local/lib/pkgconfig folder. + + Windows + + before Install module + + + Case1. use PCL 1.6.0 + + Windows SDK 7.1 + + PCL All-In-One Installer + + 32 bit + + + + 64 bit + + OpenNI2[(PCL Install FolderPath)\3rdParty\OpenNI\OpenNI-(win32/x64)-1.3.2-Dev.msi] + + Case2. use 1.8.1 + + Visual Studio 2015 C++ Compiler Tools + + PCL All-In-One Installer + + 32 bit + + 64 bit + + OpenNI2[(PCL Install FolderPath)\3rdParty\OpenNI2\OpenNI-Windows-(win32/x64)-2.2.msi] + + Common setting + + + Windows Gtk+ Download + + + Download file unzip. Copy bin Folder to pkg-config Folder + + or execute powershell file [Install-GTKPlus.ps1]. + + Python Version use VisualStudio Compiler + + set before Environment variable + + + 1.PCL_ROOT + + + set PCL_ROOT=$(PCL Install FolderPath) + + + 2.PATH + + + (pcl 1.6.0) set PATH=$(PCL_ROOT)/bin/;$(OPEN_NI_ROOT)/Tools;$(VTK_ROOT)/bin;%PATH% + + (pcl 1.8.1) set PATH=$(PCL_ROOT)/bin/;$(OPEN_NI2_ROOT)/Tools;$(VTK_ROOT)/bin;%PATH% + + +If you use old ``setuptools``, upgrade it:: + + $ pip install -U setuptools + + +Dependencies +------------ + +Before installing python-pcl, we recommend to upgrade ``setuptools`` if you are using an old one:: + + $ pip install -U setuptools + +The following Python packages are required to install python-pcl. +The latest version of each package will automatically be installed if missing. + +* `PointCloudLibrary `_ 1.6.x 1.7.x 1.8.x +* `NumPy `_ 1.9, 1.10, 1.11, 1.12, 1.13 +* `Cython `_ >=0.25.2 + +Install python-pcl +------------------ + +Install python-pcl via pip +~~~~~~~~~~~~~~~~~~~~~~~~~~ + +We recommend to install python-pcl via pip:: + + $ pip install python-pcl + +.. note:: + + All optional PointCloudLibrary related libraries, need to be installed before installing python-pcl. + After you update these libraries, please reinstall python-pcl because you need to compile and link to the newer version of them. + + +Install python-pcl from source +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +The tarball of the source tree is available via ``pip download python-pcl`` or from `the release notes page `_. +You can use ``setup.py`` to install python-pcl from the tarball:: + + $ tar zxf python-pcl-x.x.x.tar.gz + $ cd python-pcl-x.x.x + $ python setup.py install + +You can also install the development version of python-pcl from a cloned Git repository:: + + $ git clone https://github.com/strawlab/python-pcl.git + $ cd pcl/Python + $ python setup.py install + + +.. _install_error: + +When an error occurs... +~~~~~~~~~~~~~~~~~~~~~~~ + +Use ``-vvvv`` option with ``pip`` command. +That shows all logs of installation. +It may help you:: + + $ pip install python-pcl -vvvv + + +.. _install_PointCloudLibrary: + + +Install python-pcl for developers +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +python-pcl uses Cython (>=0.25.2). +Developers need to use Cython to regenerate C++ sources from ``pyx`` files. +We recommend to use ``pip`` with ``-e`` option for editable mode:: + + $ pip install -U cython + $ cd /path/to/python-pcl/source + $ pip install -e . + +Users need not to install Cython as a distribution package of python-pcl only contains generated sources. + + +Uninstall python-pcl +-------------------- + +Use pip to uninstall python-pcl:: + + $ pip uninstall python-pcl + +.. note:: + + When you upgrade python-pcl, ``pip`` sometimes install the new version without removing the old one in ``site-packages``. + In this case, ``pip uninstall`` only removes the latest one. + To ensure that python-pcl is completely removed, run the above command repeatedly until ``pip`` returns an error. + + +Upgrade python-pcl +------------------ + +Just use ``pip`` with ``-U`` option:: + + $ pip install -U python-pcl + + +Reinstall python-pcl +-------------------- + +If you want to reinstall python-pcl, please uninstall python-pcl and then install it. +We recommend to use ``--no-cache-dir`` option as ``pip`` sometimes uses cache:: + + $ pip uninstall python-pcl + $ pip install python-pcl --no-cache-dir + +When you install python-pcl without PointCloudLibrary, and after that you want to use PointCloudLibrary, please reinstall python-pcl. +You need to reinstall python-pcl when you want to upgrade PointCloudLibrary. + + +FAQ +--- + diff --git a/docs/source/license.rst b/docs/source/license.rst new file mode 100644 index 000000000..68ce952fe --- /dev/null +++ b/docs/source/license.rst @@ -0,0 +1,64 @@ +License +======= + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + + +python-pcl +---------- + +The python-pcl is designed based on Point Cloud Library's API. +python-pcl's source code and documents contain the original Point Cloud Library ones. + + +Software License Agreement (BSD License) + +Point Cloud Library (PCL) - www.pointclouds.org +Copyright (c) 2009-2012, Willow Garage, Inc. +Copyright (c) 2012-, Open Perception, Inc. +Copyright (c) XXX, respective authors. + +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + * Neither the name of the copyright holder(s) nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. \ No newline at end of file diff --git a/docs/source/locale/ja/LC_MESSAGES/compatibility.po b/docs/source/locale/ja/LC_MESSAGES/compatibility.po new file mode 100644 index 000000000..d701b0a08 --- /dev/null +++ b/docs/source/locale/ja/LC_MESSAGES/compatibility.po @@ -0,0 +1,327 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2015, Preferred Networks, inc. and Preferred Infrastructure, +# inc. +# This file is distributed under the same license as the python-pcl package. +# FIRST AUTHOR , 2017. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: python-pcl 0.0.1.dev0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-07-28 11:33+0900\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.4.0\n" + +#: ../../source/compatibility.rst:2 +msgid "API Compatibility Policy" +msgstr "APIŒÝŠ·«ƒ|ƒŠƒV[" + +#: ../../source/compatibility.rst:4 +msgid "" +"This document expresses the design policy on compatibilities of pcl-" +"python APIs. Development team should obey this policy on deciding to add," +" extend, and change APIs and their behaviors." +msgstr "‚±‚̃hƒLƒ…ƒƒ“ƒg‚ÍApython-pcl API‚̌݊·«‚ÉŠÖ‚·‚éÝŒv•ûj‚ð•\‚µ‚Ä‚¢‚Ü‚·B ŠJ”­ƒ`[ƒ€‚ÍAAPI‚Æ‚»‚ÌU‚é•‘‚¢‚̒ljÁAŠg’£A•ÏX‚ðŒˆ’è‚·‚éÛ‚É‚±‚Ì•ûj‚É]‚¤‚ׂ«‚Å‚·B" + +#: ../../source/compatibility.rst:7 +msgid "" +"This document is written for both users and developers. Users can decide " +"the level of dependencies on python-pcl implementations in their codes " +"based on this document. Developers should read through this document " +"before creating pull requests that contain changes on the interface. Note" +" that this document may contain ambiguities on the level of supported " +"compatibilities." +msgstr "‚±‚̃hƒLƒ…ƒƒ“ƒg‚ÍAƒ†[ƒU[‚ÆŠJ”­ŽÒ‚Ì—¼•û‚Ì‚½‚߂ɑ‚©‚ê‚Ä‚¢‚Ü‚·B ƒ†[ƒU[‚ÍA‚±‚Ì•¶‘‚ÉŠî‚¢‚ăR[ƒh“à‚Ìpython-pclŽÀ‘•‚̈ˑ¶ŠÖŒW‚̃Œƒxƒ‹‚ðŒˆ’è‚Å‚«‚Ü‚·B ŠJ”­ŽÒ‚ÍAƒCƒ“ƒ^ƒtƒF[ƒX‚Ì•ÏX‚ðŠÜ‚Þƒvƒ‹—v‹‚ð쬂·‚é‘O‚ÉA‚±‚̃hƒLƒ…ƒƒ“ƒg‚ð“ǂޕK—v‚ª‚ ‚è‚Ü‚·B ‚±‚̃hƒLƒ…ƒƒ“ƒg‚É‚ÍAƒTƒ|[ƒg‚³‚ê‚Ä‚¢‚éŒÝŠ·«‚̃Œƒxƒ‹‚ÉŠÖ‚·‚é‚ ‚¢‚Ü‚¢«‚ªŠÜ‚Ü‚ê‚Ä‚¢‚邱‚ƂɒˆÓ‚µ‚Ä‚­‚¾‚³‚¢B" + +#: ../../source/compatibility.rst:14 +msgid "Versioning and Backward Compatibilities" +msgstr "ƒo[ƒWƒ‡ƒ“ŠÇ—‚ƉºˆÊŒÝŠ·«‚ɂ‚¢‚Ä" + +#: ../../source/compatibility.rst:16 +msgid "" +"The updates of python-pcl are classified into three levels: major, minor," +" and revision. These types have distinct levels of backward " +"compatibilities." +msgstr "python-pcl‚ÌXV‚ÍAƒƒWƒƒ[Aƒ}ƒCƒi[AƒŠƒrƒWƒ‡ƒ“‚Ì3‚‚̃Œƒxƒ‹‚É•ª—Þ‚³‚ê‚Ü‚·B ‚±‚ê‚ç‚̃^ƒCƒv‚É‚ÍAŒã•ûŒÝŠ·«‚̈قȂ郌ƒxƒ‹‚ª‚ ‚è‚Ü‚·B" + +#: ../../source/compatibility.rst:19 +msgid "" +"**Major update** contains disruptive changes that break the backward " +"compatibility." +msgstr "ƒƒWƒƒ[ƒAƒbƒvƒf[ƒg‚É‚ÍA‰ºˆÊŒÝŠ·«‚𑹂Ȃ¤”j‰ó“I‚È•ÏX‚ªŠÜ‚Ü‚ê‚Ä‚¢‚Ü‚·B" + +#: ../../source/compatibility.rst:20 +msgid "" +"**Minor update** contains addition and extension to the APIs keeping the " +"supported backward compatibility." +msgstr "ƒ}ƒCƒi[ƒAƒbƒvƒf[ƒg‚É‚ÍAƒTƒ|[ƒg‚³‚ê‚Ä‚¢‚éŒã•ûŒÝŠ·«‚ðˆÛŽ‚µ‚È‚ª‚çAAPI‚ւ̒ljÁ‚ÆŠg’£‚ªŠÜ‚Ü‚ê‚Ä‚¢‚Ü‚·B" + +#: ../../source/compatibility.rst:21 +msgid "" +"**Revision update** contains improvements on the API implementations " +"without changing any API specifications." +msgstr "ƒŠƒrƒWƒ‡ƒ“‚ÌXV‚É‚ÍAAPIŽd—l‚ð•ÏX‚·‚邱‚ƂȂ­AAPIŽÀ‘•‚̉ü—Ç‚ªŠÜ‚Ü‚ê‚Ä‚¢‚Ü‚·B" + +#: ../../source/compatibility.rst:23 +msgid "" +"Note that we do not support full backward compatibility, which is almost " +"infeasible for Python-based APIs, since there is no way to completely " +"hide the implementation details." +msgstr "Š®‘S‚ÈŒã•ûŒÝŠ·«‚̓Tƒ|[ƒg‚µ‚Ä‚¢‚È‚¢‚±‚ƂɒˆÓ‚µ‚Ä‚­‚¾‚³‚¢B‚±‚ê‚ÍPythonƒx[ƒX‚ÌAPI‚ł͂قƂñ‚ÇŽÀŒ»•s‰Â”\‚Å‚·BŽÀ‘•‚ÌÚ×‚ðŠ®‘S‚ɉB‚·•û–@‚ª‚È‚¢‚©‚ç‚Å‚·B" + +#: ../../source/compatibility.rst:27 +msgid "Processes to Break Backward Compatibilities" +msgstr "‰ºˆÊŒÝŠ·«‚ð’†’f‚·‚éƒvƒƒZƒX" + +#: ../../source/compatibility.rst:30 +msgid "Deprecation, Dropping, and Its Preparation" +msgstr "Œ¸‰¿ž‹pAŒ¸‰¿ž‹p‚¨‚æ‚Ñ‚»‚Ì€”õ????" + +#: ../../source/compatibility.rst:32 +msgid "" +"Any APIs may be *deprecated* at some minor updates. In such a case, the " +"deprecation note is added to the API documentation, and the API " +"implementation is changed to fire deprecation warning (if possible). " +"There should be another way to reimplement the same things previously " +"written with the deprecated APIs." +msgstr "‚·‚ׂĂÌAPI‚ÍAƒ}ƒCƒi[‚ÈXV‚Å”pŽ~‚³‚ê‚é‰Â”\«‚ª‚ ‚è‚Ü‚·B???‚»‚̂悤‚ÈꇂÍA”ñ„§‚Ì’Žß‚ªAPI‚̃hƒLƒ…ƒƒ“ƒg‚ɒljÁ‚³‚êAAPI‚ÌŽÀ‘•‚ª”pŽ~—\’èŒx‚É•ÏX‚³‚ê‚Ü‚·i‰Â”\‚Èê‡jB ˆÈ‘O‚Í”pŽ~—\’è‚ÌAPI‚Å‘‚©‚ꂽ‚à‚̂Ɠ¯‚¶‚à‚Ì‚ðÄŽÀ‘•‚·‚é•ʂ̕û–@‚ª‚ ‚é‚Í‚¸‚Å‚·B???" + +#: ../../source/compatibility.rst:36 +msgid "" +"Any APIs may be marked as *to be dropped in the future*. In such a case, " +"the dropping is stated in the documentation with the major version number" +" on which the API is planned to be dropped, and the API implementation is" +" changed to fire the future warning (if possible)." +msgstr "‚Ç‚ñ‚ÈAPI‚à«—ˆAƒhƒƒbƒv‚³‚ê‚邿‚¤‚Ƀ}[ƒN‚³‚ê‚é‚©‚à‚µ‚ê‚Ü‚¹‚ñB ‚»‚̂悤‚Èê‡AAPI‚ªíœ‚³‚ê‚é—\’è‚̃ƒWƒƒ[ƒo[ƒWƒ‡ƒ“”Ô†‚̃hƒLƒ…ƒƒ“ƒg‚Ƀhƒƒbƒvƒ_ƒEƒ“‚ª‹LÚ‚³‚êAAPIŽÀ‘•‚ª«—ˆ‚ÌŒx‚ð”­‚·‚邿‚¤‚É•ÏX‚³‚ê‚Ü‚·i‰Â”\‚Èê‡jB" + +#: ../../source/compatibility.rst:39 +msgid "The actual dropping should be done through the following steps:" +msgstr "ŽÀÛ‚Ì—Ž‰º???‚ÍAˆÈ‰º‚̎臂Ås‚¤•K—v‚ª‚ ‚è‚Ü‚·" + +#: ../../source/compatibility.rst:41 +msgid "" +"Make the API deprecated. At this point, users should not need the " +"deprecated API in their new application codes." +msgstr "API‚ð”ñ„§‚É‚·‚éB ‚±‚ÌŽž“_‚ÅAƒ†[ƒU[‚ÍV‚µ‚¢ƒAƒvƒŠƒP[ƒVƒ‡ƒ“ƒR[ƒh‚Å”pŽ~—\’èAPI‚ð•K—v‚Æ‚·‚ׂ«‚ł͂ ‚è‚Ü‚¹‚ñB???" + +#: ../../source/compatibility.rst:43 +msgid "" +"After that, mark the API as *to be dropped in the future*. It must be " +"done in the minor update different from that of the deprecation." +msgstr "‚»‚ÌŒãAAPI‚ð¡Œã휂·‚邿‚¤‚Ƀ}[ƒN‚µ‚Ä‚­‚¾‚³‚¢B ‚±‚ê‚ÍA”ñ„§‚Ì‚à‚̂Ƃ͈قȂéƒ}ƒCƒi[ƒAƒbƒvƒf[ƒg‚Ås‚¤•K—v‚ª‚ ‚è‚Ü‚·B" + +#: ../../source/compatibility.rst:45 +msgid "At the major version announced in the above update, drop the API." +msgstr "ã‹LƒAƒbƒvƒf[ƒg‚Å”­•\‚³‚ꂽƒƒWƒƒ[ƒo[ƒWƒ‡ƒ“‚ÅAPI‚ð휂µ‚Ä‚­‚¾‚³‚¢B" + +#: ../../source/compatibility.rst:47 +msgid "" +"Consequently, it takes at least two minor versions to drop any APIs after" +" the first deprecation." +msgstr "‚µ‚½‚ª‚Á‚ÄAʼn‚Ì”ñ„§”ł̌ã‚ÉAPI‚ð휂·‚é‚É‚ÍA­‚È‚­‚Æ‚à2‚‚̃}ƒCƒi[ƒo[ƒWƒ‡ƒ“‚ª•K—v‚Å‚·B???" + +#: ../../source/compatibility.rst:50 +msgid "API Changes and Its Preparation" +msgstr "API‚Ì•ÏX‚Æ‚»‚Ì€”õ" + +#: ../../source/compatibility.rst:52 +msgid "" +"Any APIs may be marked as *to be changed in the future* for changes " +"without backward compatibility. In such a case, the change is stated in " +"the documentation with the version number on which the API is planned to " +"be changed, and the API implementation is changed to fire the future " +"warning on the certain usages." +msgstr "¡Œã‚̌݊·«‚̂Ȃ¢•ÏX‚ɂ‚¢‚Ä‚ÍA‚·‚ׂĂÌAPI‚É•ÏX‚ª‰Á‚¦‚ç‚ê‚Ä‚¢‚邯ƒ}[ƒN‚³‚ê‚邱‚Æ‚ª‚ ‚è‚Ü‚·B ‚»‚̂悤‚Èê‡AAPI‚Ì•ÏX—\’è‚̃o[ƒWƒ‡ƒ“”Ô†‚̃hƒLƒ…ƒƒ“ƒg‚É•ÏX‚ª‹LÚ‚³‚êAAPI‚ÌŽÀ‘•‚ª•ÏX‚³‚ê‚Ä“Á’è‚Ì—p“r‚ɂ‚¢‚Ă̫—ˆ‚ÌŒx‚ª”­¶‚µ‚Ü‚·B" + +#: ../../source/compatibility.rst:55 +msgid "The actual change should be done in the following steps:" +msgstr "ŽÀÛ‚Ì•ÏX‚ÍAŽŸ‚̎臂Ås‚¤•K—v‚ª‚ ‚è‚Ü‚·B" + +#: ../../source/compatibility.rst:57 +msgid "" +"Announce that the API will be changed in the future. At this point, the " +"actual version of change need not be accurate." +msgstr "API‚ª«—ˆ•ÏX‚³‚ê‚邱‚Ƃ𔭕\‚µ‚Ü‚·B ‚±‚ÌŽž“_‚ÅAŽÀÛ‚Ì•ÏX‚̃o[ƒWƒ‡ƒ“‚ͳŠm‚Å‚ ‚é•K—v‚Í‚ ‚è‚Ü‚¹‚ñB" + +#: ../../source/compatibility.rst:59 +msgid "" +"After the announcement, mark the API as *to be changed in the future* " +"with version number of planned changes. At this point, users should not " +"use the marked API in their new application codes." +msgstr "ƒAƒiƒEƒ“ƒX‚ÌŒãA¡Œã•ÏX‚ª—\’肳‚ê‚Ä‚¢‚éƒo[ƒWƒ‡ƒ“”Ô†‚ÅAPI‚ð•ÏX‚µ‚Ä‚­‚¾‚³‚¢B ‚±‚ÌŽž“_‚ÅAƒ†[ƒU[‚ÍV‚µ‚¢ƒAƒvƒŠƒP[ƒVƒ‡ƒ“ƒR[ƒh‚Ń}[ƒN‚³‚ꂽAPI‚ðŽg—p‚µ‚È‚¢‚Å‚­‚¾‚³‚¢B" + +#: ../../source/compatibility.rst:61 +msgid "At the major update announced in the above update, change the API." +msgstr "ã‹L‚̃Aƒbƒvƒf[ƒg‚Å”­•\‚³‚ꂽƒƒWƒƒ[ƒAƒbƒvƒf[ƒg‚Å‚ÍAAPI‚ð•ÏX‚µ‚Ä‚­‚¾‚³‚¢B" + +#: ../../source/compatibility.rst:65 +msgid "Supported Backward Compatibility" +msgstr "ƒTƒ|[ƒg‚³‚ê‚Ä‚¢‚鉺ˆÊŒÝŠ·«" + +#: ../../source/compatibility.rst:67 +msgid "" +"This section defines backward compatibilities that minor updates must " +"maintain." +msgstr "‚±‚̃ZƒNƒVƒ‡ƒ“‚Å‚ÍAƒ}ƒCƒi[‚ÈXV‚ªˆÛŽ‚µ‚È‚¯‚ê‚΂Ȃç‚È‚¢Œã•ûŒÝŠ·«‚ð’è‹`‚µ‚Ü‚·B" + +#: ../../source/compatibility.rst:70 +msgid "Documented Interface" +msgstr "" + +#: ../../source/compatibility.rst:72 +msgid "" +"python-pcl has the official API documentation. Many applications can be " +"written based on the documented features. We support backward " +"compatibilities of documented features. In other words, codes only based " +"on the documented features run correctly with minor/revision-updated " +"versions." +msgstr "python-pcl‚É‚ÍAŒöŽ®‚ÌAPIƒhƒLƒ…ƒƒ“ƒg‚ª‚ ‚è‚Ü‚·B ‘½‚­‚̃AƒvƒŠƒP[ƒVƒ‡ƒ“‚ÍA•¶‘‰»‚³‚ꂽ‹@”\‚ÉŠî‚¢‚Ä‹Lq‚·‚邱‚Æ‚ª‚Å‚«‚Ü‚·B ƒhƒLƒ…ƒƒ“ƒg‰»‚³‚ꂽ‹@”\‚ÌŒã•ûŒÝŠ·«‚ðƒTƒ|[ƒg‚µ‚Ä‚¢‚Ü‚·B Œ¾‚¢Š·‚¦‚ê‚ÎA•¶‘‰»‚³‚ꂽ‹@”\‚݂̂Ɋî‚­ƒR[ƒh‚ÍAƒ}ƒCƒi[ƒo[ƒWƒ‡ƒ“/ƒŠƒrƒWƒ‡ƒ“XVƒo[ƒWƒ‡ƒ“‚ų‚µ‚­“®ì‚µ‚Ü‚·B" + +#: ../../source/compatibility.rst:77 +msgid "" +"Developers are encouraged to use apparent names for objects of " +"implementation details. For example, attributes outside of the documented" +" APIs should have one or more underscores at the prefix of their names." +msgstr "ŠJ”­ŽÒ‚ÍŽÀ‘•‚ÌÚׂ̃IƒuƒWƒFƒNƒg‚É–¾”’‚È–¼‘O‚ðŽg—p‚·‚邱‚Æ‚ª„§‚³‚ê‚Ü‚·B ‚½‚Æ‚¦‚ÎA•¶‘‰»‚³‚ꂽAPI‚ÌŠO•”‚Ì‘®«‚ÍA–¼‘O‚ÌÚ“ªŽ«‚É1‚ˆÈã‚̃Aƒ“ƒ_[ƒXƒRƒA‚ðŽ‚Â•K—v‚ª‚ ‚è‚Ü‚·B???" + +#: ../../source/compatibility.rst:83 +msgid "Undocumented behaviors" +msgstr "" + +#: ../../source/compatibility.rst:85 +msgid "" +"Behaviors of python-pcl implementation not stated in the documentation " +"are undefined. Undocumented behaviors are not guaranteed to be stable " +"between different minor/revision versions." +msgstr "" + +#: ../../source/compatibility.rst:88 +msgid "" +"Minor update may contain changes to undocumented behaviors. For example, " +"suppose an API X is added at the minor update. In the previous version, " +"attempts to use X cause AttributeError. This behavior is not stated in " +"the documentation, so this is undefined. Thus, adding the API X in minor " +"version is permissible." +msgstr "" + +#: ../../source/compatibility.rst:94 +msgid "" +"Revision update may also contain changes to undefined behaviors. Typical " +"example is a bug fix. Another example is an improvement on " +"implementation, which may change the internal object structures not shown" +" in the documentation. As a consequence, **even revision updates do not " +"support compatibility of pickling, unless the full layout of pickled " +"objects is clearly documented.**" +msgstr "" + +#: ../../source/compatibility.rst:100 +msgid "Documentation Error" +msgstr "" + +#: ../../source/compatibility.rst:102 +msgid "" +"Compatibility is basically determined based on the documentation, though " +"it sometimes contains errors. It may make the APIs confusing to assume " +"the documentation always stronger than the implementations. We therefore " +"may fix the documentation errors in any updates that may break the " +"compatibility in regard to the documentation." +msgstr "" + +#: ../../source/compatibility.rst:107 +msgid "" +"Developers MUST NOT fix the documentation and implementation of the same " +"functionality at the same time in revision updates as \"bug fix\". Such a" +" change completely breaks the backward compatibility. If you want to fix " +"the bugs in both sides, first fix the documentation to fit it into the " +"implementation, and start the API changing procedure described above." +msgstr "" + +#: ../../source/compatibility.rst:112 +msgid "Object Attributes and Properties" +msgstr "" + +#: ../../source/compatibility.rst:114 +msgid "" +"Object attributes and properties are sometimes replaced by each other at " +"minor updates. It does not break the user codes, except the codes depend " +"on how the attributes and properties are implemented." +msgstr "" + +#: ../../source/compatibility.rst:118 +msgid "Functions and Methods" +msgstr "" + +#: ../../source/compatibility.rst:120 +msgid "" +"Methods may be replaced by callable attributes keeping the compatibility " +"of parameters and return values in minor updates. It does not break the " +"user codes, except the codes depend on how the methods and callable " +"attributes are implemented." +msgstr "" + +#: ../../source/compatibility.rst:124 +msgid "Exceptions and Warnings" +msgstr "" + +#: ../../source/compatibility.rst:126 +msgid "" +"The specifications of raising exceptions are considered as a part of " +"standard backward compatibilities. No exception is raised in the future " +"versions with correct usages that the documentation allows, unless the " +"API changing process is completed." +msgstr "" + +#: ../../source/compatibility.rst:129 +msgid "" +"On the other hand, warnings may be added at any minor updates for any " +"APIs. It means minor updates do not keep backward compatibility of " +"warnings." +msgstr "" + +#: ../../source/compatibility.rst:134 +msgid "Installation Compatibility" +msgstr "" + +#: ../../source/compatibility.rst:136 +msgid "" +"The installation process is another concern of compatibilities. We " +"support environmental compatibilities in the following ways." +msgstr "" + +#: ../../source/compatibility.rst:139 +msgid "" +"Any changes of dependent libraries that force modifications on the " +"existing environments must be done in major updates. Such changes include" +" following cases:" +msgstr "" + +#: ../../source/compatibility.rst:142 +msgid "" +"dropping supported versions of dependent libraries (e.g. dropping cuDNN " +"v2)" +msgstr "" + +#: ../../source/compatibility.rst:143 +msgid "adding new mandatory dependencies (e.g. adding h5py to setup_requires)" +msgstr "" + +#: ../../source/compatibility.rst:145 +msgid "" +"Supporting optional packages/libraries may be done in minor updates (e.g." +" supporting h5py in optional features)." +msgstr "" + +#: ../../source/compatibility.rst:148 +msgid "" +"The installation compatibility does not guarantee that all the features " +"of python-pcl correctly run on supported environments. It may contain " +"bugs that only occurs in certain environments. Such bugs should be fixed " +"in some updates." +msgstr "" + diff --git a/docs/source/locale/ja/LC_MESSAGES/compatibility.pot b/docs/source/locale/ja/LC_MESSAGES/compatibility.pot new file mode 100644 index 000000000..122f39cf5 --- /dev/null +++ b/docs/source/locale/ja/LC_MESSAGES/compatibility.pot @@ -0,0 +1,218 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2017, Tooru Oonuma. +# This file is distributed under the same license as the python-pcl package. +# FIRST AUTHOR , YEAR. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: python-pcl 0.0.1.dev0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-07-31 13:25+0900\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: ..\..\source\compatibility.rst:2 +msgid "API Compatibility Policy" +msgstr "" + +#: ..\..\source\compatibility.rst:4 +msgid "This document expresses the design policy on compatibilities of python-pcl APIs. Development team should obey this policy on deciding to add, extend, and change APIs and their behaviors." +msgstr "" + +#: ..\..\source\compatibility.rst:7 +msgid "This document is written for both users and developers. Users can decide the level of dependencies on python-pcl implementations in their codes based on this document. Developers should read through this document before creating pull requests that contain changes on the interface. Note that this document may contain ambiguities on the level of supported compatibilities." +msgstr "" + +#: ..\..\source\compatibility.rst:14 +msgid "Versioning and Backward Compatibilities" +msgstr "" + +#: ..\..\source\compatibility.rst:16 +msgid "The updates of python-pcl are classified into three levels: major, minor, and revision. These types have distinct levels of backward compatibilities." +msgstr "" + +#: ..\..\source\compatibility.rst:19 +msgid "**Major update** contains disruptive changes that break the backward compatibility." +msgstr "" + +#: ..\..\source\compatibility.rst:20 +msgid "**Minor update** contains addition and extension to the APIs keeping the supported backward compatibility." +msgstr "" + +#: ..\..\source\compatibility.rst:21 +msgid "**Revision update** contains improvements on the API implementations without changing any API specifications." +msgstr "" + +#: ..\..\source\compatibility.rst:23 +msgid "Note that we do not support full backward compatibility, which is almost infeasible for Python-based APIs, since there is no way to completely hide the implementation details." +msgstr "" + +#: ..\..\source\compatibility.rst:27 +msgid "Processes to Break Backward Compatibilities" +msgstr "" + +#: ..\..\source\compatibility.rst:30 +msgid "Deprecation, Dropping, and Its Preparation" +msgstr "" + +#: ..\..\source\compatibility.rst:32 +msgid "Any APIs may be *deprecated* at some minor updates. In such a case, the deprecation note is added to the API documentation, and the API implementation is changed to fire deprecation warning (if possible). There should be another way to reimplement the same things previously written with the deprecated APIs." +msgstr "" + +#: ..\..\source\compatibility.rst:36 +msgid "Any APIs may be marked as *to be dropped in the future*. In such a case, the dropping is stated in the documentation with the major version number on which the API is planned to be dropped, and the API implementation is changed to fire the future warning (if possible)." +msgstr "" + +#: ..\..\source\compatibility.rst:39 +msgid "The actual dropping should be done through the following steps:" +msgstr "" + +#: ..\..\source\compatibility.rst:41 +msgid "Make the API deprecated. At this point, users should not need the deprecated API in their new application codes." +msgstr "" + +#: ..\..\source\compatibility.rst:43 +msgid "After that, mark the API as *to be dropped in the future*. It must be done in the minor update different from that of the deprecation." +msgstr "" + +#: ..\..\source\compatibility.rst:45 +msgid "At the major version announced in the above update, drop the API." +msgstr "" + +#: ..\..\source\compatibility.rst:47 +msgid "Consequently, it takes at least two minor versions to drop any APIs after the first deprecation." +msgstr "" + +#: ..\..\source\compatibility.rst:50 +msgid "API Changes and Its Preparation" +msgstr "" + +#: ..\..\source\compatibility.rst:52 +msgid "Any APIs may be marked as *to be changed in the future* for changes without backward compatibility. In such a case, the change is stated in the documentation with the version number on which the API is planned to be changed, and the API implementation is changed to fire the future warning on the certain usages." +msgstr "" + +#: ..\..\source\compatibility.rst:55 +msgid "The actual change should be done in the following steps:" +msgstr "" + +#: ..\..\source\compatibility.rst:57 +msgid "Announce that the API will be changed in the future. At this point, the actual version of change need not be accurate." +msgstr "" + +#: ..\..\source\compatibility.rst:59 +msgid "After the announcement, mark the API as *to be changed in the future* with version number of planned changes. At this point, users should not use the marked API in their new application codes." +msgstr "" + +#: ..\..\source\compatibility.rst:61 +msgid "At the major update announced in the above update, change the API." +msgstr "" + +#: ..\..\source\compatibility.rst:65 +msgid "Supported Backward Compatibility" +msgstr "" + +#: ..\..\source\compatibility.rst:67 +msgid "This section defines backward compatibilities that minor updates must maintain." +msgstr "" + +#: ..\..\source\compatibility.rst:70 +msgid "Documented Interface" +msgstr "" + +#: ..\..\source\compatibility.rst:72 +msgid "python-pcl has the official API documentation. Many applications can be written based on the documented features. We support backward compatibilities of documented features. In other words, codes only based on the documented features run correctly with minor/revision-updated versions." +msgstr "" + +#: ..\..\source\compatibility.rst:77 +msgid "Developers are encouraged to use apparent names for objects of implementation details. For example, attributes outside of the documented APIs should have one or more underscores at the prefix of their names." +msgstr "" + +#: ..\..\source\compatibility.rst:83 +msgid "Undocumented behaviors" +msgstr "" + +#: ..\..\source\compatibility.rst:85 +msgid "Behaviors of python-pcl implementation not stated in the documentation are undefined. Undocumented behaviors are not guaranteed to be stable between different minor/revision versions." +msgstr "" + +#: ..\..\source\compatibility.rst:88 +msgid "Minor update may contain changes to undocumented behaviors. For example, suppose an API X is added at the minor update. In the previous version, attempts to use X cause AttributeError. This behavior is not stated in the documentation, so this is undefined. Thus, adding the API X in minor version is permissible." +msgstr "" + +#: ..\..\source\compatibility.rst:94 +msgid "Revision update may also contain changes to undefined behaviors. Typical example is a bug fix. Another example is an improvement on implementation, which may change the internal object structures not shown in the documentation. As a consequence, **even revision updates do not support compatibility of pickling, unless the full layout of pickled objects is clearly documented.**" +msgstr "" + +#: ..\..\source\compatibility.rst:100 +msgid "Documentation Error" +msgstr "" + +#: ..\..\source\compatibility.rst:102 +msgid "Compatibility is basically determined based on the documentation, though it sometimes contains errors. It may make the APIs confusing to assume the documentation always stronger than the implementations. We therefore may fix the documentation errors in any updates that may break the compatibility in regard to the documentation." +msgstr "" + +#: ..\..\source\compatibility.rst:107 +msgid "Developers MUST NOT fix the documentation and implementation of the same functionality at the same time in revision updates as \"bug fix\". Such a change completely breaks the backward compatibility. If you want to fix the bugs in both sides, first fix the documentation to fit it into the implementation, and start the API changing procedure described above." +msgstr "" + +#: ..\..\source\compatibility.rst:112 +msgid "Object Attributes and Properties" +msgstr "" + +#: ..\..\source\compatibility.rst:114 +msgid "Object attributes and properties are sometimes replaced by each other at minor updates. It does not break the user codes, except the codes depend on how the attributes and properties are implemented." +msgstr "" + +#: ..\..\source\compatibility.rst:118 +msgid "Functions and Methods" +msgstr "" + +#: ..\..\source\compatibility.rst:120 +msgid "Methods may be replaced by callable attributes keeping the compatibility of parameters and return values in minor updates. It does not break the user codes, except the codes depend on how the methods and callable attributes are implemented." +msgstr "" + +#: ..\..\source\compatibility.rst:124 +msgid "Exceptions and Warnings" +msgstr "" + +#: ..\..\source\compatibility.rst:126 +msgid "The specifications of raising exceptions are considered as a part of standard backward compatibilities. No exception is raised in the future versions with correct usages that the documentation allows, unless the API changing process is completed." +msgstr "" + +#: ..\..\source\compatibility.rst:129 +msgid "On the other hand, warnings may be added at any minor updates for any APIs. It means minor updates do not keep backward compatibility of warnings." +msgstr "" + +#: ..\..\source\compatibility.rst:134 +msgid "Installation Compatibility" +msgstr "" + +#: ..\..\source\compatibility.rst:136 +msgid "The installation process is another concern of compatibilities. We support environmental compatibilities in the following ways." +msgstr "" + +#: ..\..\source\compatibility.rst:139 +msgid "Any changes of dependent libraries that force modifications on the existing environments must be done in major updates. Such changes include following cases:" +msgstr "" + +#: ..\..\source\compatibility.rst:142 +msgid "dropping supported versions of dependent libraries (e.g. dropping cuDNN v2)" +msgstr "" + +#: ..\..\source\compatibility.rst:143 +msgid "adding new mandatory dependencies (e.g. adding h5py to setup_requires)" +msgstr "" + +#: ..\..\source\compatibility.rst:145 +msgid "Supporting optional packages/libraries may be done in minor updates (e.g. supporting h5py in optional features)." +msgstr "" + +#: ..\..\source\compatibility.rst:148 +msgid "The installation compatibility does not guarantee that all the features of python-pcl correctly run on supported environments. It may contain bugs that only occurs in certain environments. Such bugs should be fixed in some updates." +msgstr "" + diff --git a/docs/source/locale/ja/LC_MESSAGES/contribution.po b/docs/source/locale/ja/LC_MESSAGES/contribution.po new file mode 100644 index 000000000..8d8cd6380 --- /dev/null +++ b/docs/source/locale/ja/LC_MESSAGES/contribution.po @@ -0,0 +1,470 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2015, Preferred Networks, inc. and Preferred Infrastructure, +# inc. +# This file is distributed under the same license as the python-pcl package. +# FIRST AUTHOR , 2017. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: python-pcl 0.0.1.dev0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-07-28 11:33+0900\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.4.0\n" + +#: ../../source/contribution.rst:2 +msgid "python-pcl Contribution Guide" +msgstr "python-pclƒRƒ“ƒgƒŠƒrƒ…[ƒVƒ‡ƒ“ƒKƒCƒh" + +#: ../../source/contribution.rst:4 +msgid "" +"This is a guide for all contributions to python-pcl. The development of " +"python-pcl is running on `the official repository at GitHub " +"`_. Anyone that wants to " +"register an issue or to send a pull request should read through this " +"document." +msgstr "‚±‚̃KƒCƒh‚Í cpl-python ‚Ì" + +#: ../../source/contribution.rst:9 +msgid "Classification of Contributions" +msgstr "" + +#: ../../source/contribution.rst:11 +msgid "There are several ways to contribute to python-pcl community:" +msgstr "" + +#: ../../source/contribution.rst:13 +msgid "Registering an issue" +msgstr "" + +#: ../../source/contribution.rst:14 +msgid "Sending a pull request (PR)" +msgstr "" + +#: ../../source/contribution.rst:15 +msgid "" +"Sending a question to `python-pcl User Group " +"`_" +msgstr "" + +#: ../../source/contribution.rst:16 +msgid "Writing a post about python-pcl" +msgstr "" + +#: ../../source/contribution.rst:18 +msgid "" +"This document mainly focuses on 1 and 2, though other contributions are " +"also appreciated." +msgstr "" + +#: ../../source/contribution.rst:21 +msgid "Release and Milestone" +msgstr "" + +#: ../../source/contribution.rst:23 +msgid "" +"We are using `GitHub Flow `_ as our basic working process. In particular, we are using " +"the master branch for our development, and releases are made as tags." +msgstr "" + +#: ../../source/contribution.rst:26 +msgid "" +"Releases are classified into three groups: major, minor, and revision. " +"This classification is based on following criteria:" +msgstr "" + +#: ../../source/contribution.rst:29 +msgid "" +"**Major update** contains disruptive changes that break the backward " +"compatibility." +msgstr "" + +#: ../../source/contribution.rst:30 +msgid "" +"**Minor update** contains additions and extensions to the APIs keeping " +"the supported backward compatibility." +msgstr "" + +#: ../../source/contribution.rst:31 +msgid "" +"**Revision update** contains improvements on the API implementations " +"without changing any API specification." +msgstr "" + +#: ../../source/contribution.rst:33 +msgid "" +"The release classification is reflected into the version number x.y.z, " +"where x, y, and z corresponds to major, minor, and revision updates, " +"respectively." +msgstr "" + +#: ../../source/contribution.rst:35 +msgid "" +"We set a milestone for an upcoming release. The milestone is of name " +"'vX.Y.Z', where the version number represents a revision release at the " +"outset. If at least one *feature* PR is merged in the period, we rename " +"the milestone to represent a minor release (see the next section for the " +"PR types)." +msgstr "" + +#: ../../source/contribution.rst:39 +msgid "See also :doc:`compatibility`." +msgstr "" + +#: ../../source/contribution.rst:42 +msgid "Issues and PRs" +msgstr "" + +#: ../../source/contribution.rst:44 +msgid "Issues and PRs are classified into following categories:" +msgstr "" + +#: ../../source/contribution.rst:46 +msgid "**Bug**: bug reports (issues) and bug fixes (PRs)" +msgstr "" + +#: ../../source/contribution.rst:47 +msgid "" +"**Enhancement**: implementation improvements without breaking the " +"interface" +msgstr "" + +#: ../../source/contribution.rst:48 +msgid "**Feature**: feature requests (issues) and their implementations (PRs)" +msgstr "" + +#: ../../source/contribution.rst:49 +msgid "**NoCompat**: disrupts backward compatibility" +msgstr "" + +#: ../../source/contribution.rst:50 +msgid "**Test**: test fixes and updates" +msgstr "" + +#: ../../source/contribution.rst:51 +msgid "**Document**: document fixes and improvements" +msgstr "" + +#: ../../source/contribution.rst:52 +msgid "**Example**: fixes and improvements on the examples" +msgstr "" + +#: ../../source/contribution.rst:53 +msgid "**Install**: fixes installation script" +msgstr "" + +#: ../../source/contribution.rst:54 +msgid "" +"**Contribution-Welcome**: issues that we request for contribution (only " +"issues are categorized to this)" +msgstr "" + +#: ../../source/contribution.rst:55 +msgid "**Other**: other issues and PRs" +msgstr "" + +#: ../../source/contribution.rst:57 +msgid "" +"Issues and PRs are labeled by these categories. This classification is " +"often reflected into its corresponding release category: Feature " +"issues/PRs are contained into minor/major releases and NoCompat " +"issues/PRs are contained into major releases, while other issues/PRs can " +"be contained into any releases including revision ones." +msgstr "" + +#: ../../source/contribution.rst:60 +msgid "" +"On registering an issue, write precise explanations on what you want pcl-" +"python to be. Bug reports must include necessary and sufficient " +"conditions to reproduce the bugs. Feature requests must include **what** " +"you want to do (and **why** you want to do, if needed). You can contain " +"your thoughts on **how** to realize it into the feature requests, though " +"**what** part is most important for discussions." +msgstr "" + +#: ../../source/contribution.rst:67 +msgid "" +"If you have a question on usages of python-pcl, it is highly recommended " +"to send a post to `python-pcl User Group " +"`_ instead of the " +"issue tracker. The issue tracker is not a place to share knowledge on " +"practices. We may redirect question issues to python-pcl User Group." +msgstr "" + +#: ../../source/contribution.rst:71 +msgid "" +"If you can write code to fix an issue, send a PR to the master branch. " +"Before writing your code for PRs, read through the :ref:`coding-guide`. " +"The description of any PR must contain a precise explanation of **what** " +"and **how** you want to do; it is the first documentation of your code " +"for developers, a very important part of your PR." +msgstr "" + +#: ../../source/contribution.rst:75 +msgid "" +"Once you send a PR, it is automatically tested on `Travis CI `_ for Linux and Mac OS X, and on" +" `AppVeyor `_ for " +"Windows. Your PR need to pass at least the test for Linux on Travis CI. " +"After the automatic test passes, some of the core developers will start " +"reviewing your code. Note that this automatic PR test only includes CPU " +"tests." +msgstr "" + +#: ../../source/contribution.rst:82 +msgid "" +"We are also running continuous integration with GPU tests for the master " +"branch. Since this service is running on our internal server, we do not " +"use it for automatic PR tests to keep the server secure." +msgstr "" + +#: ../../source/contribution.rst:86 +msgid "" +"Even if your code is not complete, you can send a pull request as a " +"*work-in-progress PR* by putting the ``[WIP]`` prefix to the PR title. If" +" you write a precise explanation about the PR, core developers and other " +"contributors can join the discussion about how to proceed the PR." +msgstr "" + +#: ../../source/contribution.rst:92 +msgid "Coding Guidelines" +msgstr "" + +#: ../../source/contribution.rst:94 +msgid "" +"We use `PEP8 `_ and a part of " +"`OpenStack Style Guidelines " +"`_ related to general " +"coding style as our basic style guidelines." +msgstr "" + +#: ../../source/contribution.rst:96 +msgid "" +"To check your code, use ``autopep8`` and ``flake8`` command installed by " +"``hacking`` package::" +msgstr "" + +#: ../../source/contribution.rst:102 +msgid "To check Cython code, use ``.flake8.cython`` configuration file::" +msgstr "" + +#: ../../source/contribution.rst:106 +msgid "" +"The ``autopep8`` supports automatically correct Python code to conform to" +" the PEP 8 style guide::" +msgstr "" + +#: ../../source/contribution.rst:110 +msgid "" +"The ``flake8`` command lets you know the part of your code not obeying " +"our style guidelines. Before sending a pull request, be sure to check " +"that your code passes the ``flake8`` checking." +msgstr "" + +#: ../../source/contribution.rst:113 +msgid "" +"Note that ``flake8`` command is not perfect. It does not check some of " +"the style guidelines. Here is a (not-complete) list of the rules that " +"``flake8`` cannot check." +msgstr "" + +#: ../../source/contribution.rst:117 +msgid "Relative imports are prohibited. [H304]" +msgstr "" + +#: ../../source/contribution.rst:118 +msgid "Importing non-module symbols is prohibited." +msgstr "" + +#: ../../source/contribution.rst:119 +msgid "" +"Import statements must be organized into three parts: standard libraries," +" third-party libraries, and internal imports. [H306]" +msgstr "" + +#: ../../source/contribution.rst:121 +msgid "" +"In addition, we restrict the usage of *shortcut symbols* in our code " +"base. They are symbols imported by packages and sub-packages of ``pcl-" +"python``. For example, ``python-pcl.cuda.Device`` is a shortcut of ``pcl-" +"python.cuda.device.Device``. **It is not allowed to use such shortcuts in" +" the ``python-pcl`` library implementation**. Note that you can still use" +" them in ``tests`` and ``examples`` directories." +msgstr "" + +#: ../../source/contribution.rst:127 +msgid "" +"Once you send a pull request, your coding style is automatically checked " +"by `Travis-CI `_. The " +"reviewing process starts after the check passes." +msgstr "" + +#: ../../source/contribution.rst:130 +msgid "" +"The python-pcl is designed based on NumPy's API design. python-pcl's " +"source code and documents contain the original NumPy ones. Please note " +"the followings when writing the document." +msgstr "" + +#: ../../source/contribution.rst:133 +msgid "" +"In order to identify overlapping parts, it is preferable to add some " +"remarks that this document is just copied or altered from the original " +"one. It is also preferable to briefly explain the specification of the " +"function in a short paragraph, and refer to the corresponding function in" +" NumPy so that users can read the detailed document. However, it is " +"possible to include a complete copy of the document with such a remark if" +" users cannot summarize in such a way." +msgstr "" + +#: ../../source/contribution.rst:140 +msgid "" +"If a function in python-pcl only implements a limited amount of features " +"in the original one, users should explicitly describe only what is " +"implemented in the document." +msgstr "" + +#: ../../source/contribution.rst:146 +msgid "Testing Guidelines" +msgstr "" + +#: ../../source/contribution.rst:148 +msgid "" +"Testing is one of the most important part of your code. You must test " +"your code by unit tests following our testing guidelines. Note that we " +"are using the nose package and the mock package for testing, so install " +"nose and mock before writing your code::" +msgstr "" + +#: ../../source/contribution.rst:154 +msgid "" +"In order to run unit tests at the repository root, you first have to " +"build Cython files in place by running the following command::" +msgstr "" + +#: ../../source/contribution.rst:158 +msgid "" +"Once the Cython modules are built, you can run unit tests simply by " +"running ``nosetests`` command at the repository root::" +msgstr "" + +#: ../../source/contribution.rst:162 +msgid "" +"It requires CUDA by default. In order to run unit tests that do not " +"require CUDA, pass ``--attr='!gpu'`` option to the ``nosetests`` " +"command::" +msgstr "" + +#: ../../source/contribution.rst:167 +msgid "" +"Some GPU tests involve multiple GPUs. If you want to run GPU tests with " +"insufficient number of GPUs, specify the number of available GPUs by " +"``--eval-attr='gpu`_ **with " +"--attr='!gpu,!slow' option**. Since Travis-CI does not support CUDA, we " +"cannot check your CUDA-related code automatically. The reviewing process " +"starts after the test passes. Note that reviewers will test your code " +"without the option to check CUDA-related code." +msgstr "" + +#: ../../source/contribution.rst:239 +msgid "" +"Some of numerically unstable tests might cause errors irrelevant to your " +"changes. In such a case, we ignore the failures and go on to the review " +"process, so do not worry about it." +msgstr "" + diff --git a/docs/source/locale/ja/LC_MESSAGES/contribution.pot b/docs/source/locale/ja/LC_MESSAGES/contribution.pot new file mode 100644 index 000000000..fb1523dda --- /dev/null +++ b/docs/source/locale/ja/LC_MESSAGES/contribution.pot @@ -0,0 +1,306 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2017, Tooru Oonuma. +# This file is distributed under the same license as the python-pcl package. +# FIRST AUTHOR , YEAR. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: python-pcl 0.0.1.dev0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-07-31 13:25+0900\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: ..\..\source\contribution.rst:2 +msgid "python-pcl Contribution Guide" +msgstr "python-pcl ƒRƒ“ƒgƒŠƒrƒ…[ƒVƒ‡ƒ“ ƒKƒCƒh" + +#: ..\..\source\contribution.rst:4 +msgid "This is a guide for all contributions to python-pcl. The development of python-pcl is running on `the official repository at GitHub `_. Anyone that wants to register an issue or to send a pull request should read through this document." +msgstr "" + +#: ..\..\source\contribution.rst:9 +msgid "Classification of Contributions" +msgstr "" + +#: ..\..\source\contribution.rst:11 +msgid "There are several ways to contribute to python-pcl community:" +msgstr "" + +#: ..\..\source\contribution.rst:13 +msgid "Registering an issue" +msgstr "" + +#: ..\..\source\contribution.rst:14 +msgid "Sending a pull request (PR)" +msgstr "" + +#: ..\..\source\contribution.rst:15 +msgid "Sending a question to `python-pcl User Group `_" +msgstr "" + +#: ..\..\source\contribution.rst:16 +msgid "Writing a post about python-pcl" +msgstr "" + +#: ..\..\source\contribution.rst:18 +msgid "This document mainly focuses on 1 and 2, though other contributions are also appreciated." +msgstr "" + +#: ..\..\source\contribution.rst:21 +msgid "Release and Milestone" +msgstr "" + +#: ..\..\source\contribution.rst:23 +msgid "We are using `GitHub Flow `_ as our basic working process. In particular, we are using the master branch for our development, and releases are made as tags." +msgstr "" + +#: ..\..\source\contribution.rst:26 +msgid "Releases are classified into three groups: major, minor, and revision. This classification is based on following criteria:" +msgstr "" + +#: ..\..\source\contribution.rst:29 +msgid "**Major update** contains disruptive changes that break the backward compatibility." +msgstr "" + +#: ..\..\source\contribution.rst:30 +msgid "**Minor update** contains additions and extensions to the APIs keeping the supported backward compatibility." +msgstr "" + +#: ..\..\source\contribution.rst:31 +msgid "**Revision update** contains improvements on the API implementations without changing any API specification." +msgstr "" + +#: ..\..\source\contribution.rst:33 +msgid "The release classification is reflected into the version number x.y.z, where x, y, and z corresponds to major, minor, and revision updates, respectively." +msgstr "" + +#: ..\..\source\contribution.rst:35 +msgid "We set a milestone for an upcoming release. The milestone is of name 'vX.Y.Z', where the version number represents a revision release at the outset. If at least one *feature* PR is merged in the period, we rename the milestone to represent a minor release (see the next section for the PR types)." +msgstr "" + +#: ..\..\source\contribution.rst:39 +msgid "See also :doc:`compatibility`." +msgstr "" + +#: ..\..\source\contribution.rst:42 +msgid "Issues and PRs" +msgstr "" + +#: ..\..\source\contribution.rst:44 +msgid "Issues and PRs are classified into following categories:" +msgstr "" + +#: ..\..\source\contribution.rst:46 +msgid "**Bug**: bug reports (issues) and bug fixes (PRs)" +msgstr "" + +#: ..\..\source\contribution.rst:47 +msgid "**Enhancement**: implementation improvements without breaking the interface" +msgstr "" + +#: ..\..\source\contribution.rst:48 +msgid "**Feature**: feature requests (issues) and their implementations (PRs)" +msgstr "" + +#: ..\..\source\contribution.rst:49 +msgid "**NoCompat**: disrupts backward compatibility" +msgstr "" + +#: ..\..\source\contribution.rst:50 +msgid "**Test**: test fixes and updates" +msgstr "" + +#: ..\..\source\contribution.rst:51 +msgid "**Document**: document fixes and improvements" +msgstr "" + +#: ..\..\source\contribution.rst:52 +msgid "**Example**: fixes and improvements on the examples" +msgstr "" + +#: ..\..\source\contribution.rst:53 +msgid "**Install**: fixes installation script" +msgstr "" + +#: ..\..\source\contribution.rst:54 +msgid "**Contribution-Welcome**: issues that we request for contribution (only issues are categorized to this)" +msgstr "" + +#: ..\..\source\contribution.rst:55 +msgid "**Other**: other issues and PRs" +msgstr "" + +#: ..\..\source\contribution.rst:57 +msgid "Issues and PRs are labeled by these categories. This classification is often reflected into its corresponding release category: Feature issues/PRs are contained into minor/major releases and NoCompat issues/PRs are contained into major releases, while other issues/PRs can be contained into any releases including revision ones." +msgstr "" + +#: ..\..\source\contribution.rst:60 +msgid "On registering an issue, write precise explanations on what you want python-pcl to be. Bug reports must include necessary and sufficient conditions to reproduce the bugs. Feature requests must include **what** you want to do (and **why** you want to do, if needed). You can contain your thoughts on **how** to realize it into the feature requests, though **what** part is most important for discussions." +msgstr "" + +#: ..\..\source\contribution.rst:67 +msgid "If you have a question on usages of python-pcl, it is highly recommended to send a post to `python-pcl User Group `_ instead of the issue tracker. The issue tracker is not a place to share knowledge on practices. We may redirect question issues to python-pcl User Group." +msgstr "" + +#: ..\..\source\contribution.rst:71 +msgid "If you can write code to fix an issue, send a PR to the master branch. Before writing your code for PRs, read through the :ref:`coding-guide`. The description of any PR must contain a precise explanation of **what** and **how** you want to do; it is the first documentation of your code for developers, a very important part of your PR." +msgstr "" + +#: ..\..\source\contribution.rst:75 +msgid "Once you send a PR, it is automatically tested on `Travis CI `_ for Linux and Mac OS X, and on `AppVeyor `_ for Windows. Your PR need to pass at least the test for Linux on Travis CI. After the automatic test passes, some of the core developers will start reviewing your code. Note that this automatic PR test only includes CPU tests." +msgstr "" + +#: ..\..\source\contribution.rst:82 +msgid "We are also running continuous integration with GPU tests for the master branch. Since this service is running on our internal server, we do not use it for automatic PR tests to keep the server secure." +msgstr "" + +#: ..\..\source\contribution.rst:86 +msgid "Even if your code is not complete, you can send a pull request as a *work-in-progress PR* by putting the ``[WIP]`` prefix to the PR title. If you write a precise explanation about the PR, core developers and other contributors can join the discussion about how to proceed the PR." +msgstr "" + +#: ..\..\source\contribution.rst:92 +msgid "Coding Guidelines" +msgstr "" + +#: ..\..\source\contribution.rst:94 +msgid "We use `PEP8 `_ and a part of `OpenStack Style Guidelines `_ related to general coding style as our basic style guidelines." +msgstr "" + +#: ..\..\source\contribution.rst:96 +msgid "To check your code, use ``autopep8`` and ``flake8`` command installed by ``hacking`` package::" +msgstr "" + +#: ..\..\source\contribution.rst:102 +msgid "To check Cython code, use ``.flake8.cython`` configuration file::" +msgstr "" + +#: ..\..\source\contribution.rst:106 +msgid "The ``autopep8`` supports automatically correct Python code to conform to the PEP 8 style guide::" +msgstr "" + +#: ..\..\source\contribution.rst:110 +msgid "The ``flake8`` command lets you know the part of your code not obeying our style guidelines. Before sending a pull request, be sure to check that your code passes the ``flake8`` checking." +msgstr "" + +#: ..\..\source\contribution.rst:113 +msgid "Note that ``flake8`` command is not perfect. It does not check some of the style guidelines. Here is a (not-complete) list of the rules that ``flake8`` cannot check." +msgstr "" + +#: ..\..\source\contribution.rst:117 +msgid "Relative imports are prohibited. [H304]" +msgstr "" + +#: ..\..\source\contribution.rst:118 +msgid "Importing non-module symbols is prohibited." +msgstr "" + +#: ..\..\source\contribution.rst:119 +msgid "Import statements must be organized into three parts: standard libraries, third-party libraries, and internal imports. [H306]" +msgstr "" + +#: ..\..\source\contribution.rst:121 +msgid "In addition, we restrict the usage of *shortcut symbols* in our code base. They are symbols imported by packages and sub-packages of ``python-pcl``. For example, ``python-pcl.cuda.Device`` is a shortcut of ``python-pcl.cuda.device.Device``. **It is not allowed to use such shortcuts in the ``python-pcl`` library implementation**. Note that you can still use them in ``tests`` and ``examples`` directories." +msgstr "" + +#: ..\..\source\contribution.rst:127 +msgid "Once you send a pull request, your coding style is automatically checked by `Travis-CI `_. The reviewing process starts after the check passes." +msgstr "" + +#: ..\..\source\contribution.rst:130 +msgid "The python-pcl is designed based on NumPy's API design. python-pcl's source code and documents contain the original NumPy ones. Please note the followings when writing the document." +msgstr "" + +#: ..\..\source\contribution.rst:133 +msgid "In order to identify overlapping parts, it is preferable to add some remarks that this document is just copied or altered from the original one. It is also preferable to briefly explain the specification of the function in a short paragraph, and refer to the corresponding function in NumPy so that users can read the detailed document. However, it is possible to include a complete copy of the document with such a remark if users cannot summarize in such a way." +msgstr "" + +#: ..\..\source\contribution.rst:140 +msgid "If a function in python-pcl only implements a limited amount of features in the original one, users should explicitly describe only what is implemented in the document." +msgstr "" + +#: ..\..\source\contribution.rst:146 +msgid "Testing Guidelines" +msgstr "" + +#: ..\..\source\contribution.rst:148 +msgid "Testing is one of the most important part of your code. You must test your code by unit tests following our testing guidelines. Note that we are using the nose package and the mock package for testing, so install nose and mock before writing your code::" +msgstr "" + +#: ..\..\source\contribution.rst:154 +msgid "In order to run unit tests at the repository root, you first have to build Cython files in place by running the following command::" +msgstr "" + +#: ..\..\source\contribution.rst:158 +msgid "Once the Cython modules are built, you can run unit tests simply by running ``nosetests`` command at the repository root::" +msgstr "" + +#: ..\..\source\contribution.rst:162 +msgid "It requires CUDA by default. In order to run unit tests that do not require CUDA, pass ``--attr='!gpu'`` option to the ``nosetests`` command::" +msgstr "" + +#: ..\..\source\contribution.rst:167 +msgid "Some GPU tests involve multiple GPUs. If you want to run GPU tests with insufficient number of GPUs, specify the number of available GPUs by ``--eval-attr='gpu`_ **with --attr='!gpu,!slow' option**. Since Travis-CI does not support CUDA, we cannot check your CUDA-related code automatically. The reviewing process starts after the test passes. Note that reviewers will test your code without the option to check CUDA-related code." +msgstr "" + +#: ..\..\source\contribution.rst:239 +msgid "Some of numerically unstable tests might cause errors irrelevant to your changes. In such a case, we ignore the failures and go on to the review process, so do not worry about it." +msgstr "" + diff --git a/docs/source/locale/ja/LC_MESSAGES/developers.po b/docs/source/locale/ja/LC_MESSAGES/developers.po new file mode 100644 index 000000000..76c1f8c15 --- /dev/null +++ b/docs/source/locale/ja/LC_MESSAGES/developers.po @@ -0,0 +1,24 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2015, Preferred Networks, inc. and Preferred Infrastructure, +# inc. +# This file is distributed under the same license as the python-pcl package. +# FIRST AUTHOR , 2017. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: python-pcl 0.0.1.dev0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-07-28 11:33+0900\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.4.0\n" + +#: ../../source/developers.rst:3 +msgid "For python-pcl Developers" +msgstr "" + diff --git a/docs/source/locale/ja/LC_MESSAGES/developers.pot b/docs/source/locale/ja/LC_MESSAGES/developers.pot new file mode 100644 index 000000000..e2c257be8 --- /dev/null +++ b/docs/source/locale/ja/LC_MESSAGES/developers.pot @@ -0,0 +1,22 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2017, Tooru Oonuma. +# This file is distributed under the same license as the python-pcl package. +# FIRST AUTHOR , YEAR. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: python-pcl 0.0.1.dev0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-07-31 13:25+0900\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: ..\..\source\developers.rst:3 +msgid "For python-pcl Developers" +msgstr "" + diff --git a/docs/source/locale/ja/LC_MESSAGES/index.po b/docs/source/locale/ja/LC_MESSAGES/index.po new file mode 100644 index 000000000..c403b4431 --- /dev/null +++ b/docs/source/locale/ja/LC_MESSAGES/index.po @@ -0,0 +1,30 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2015, Preferred Networks, inc. and Preferred Infrastructure, +# inc. +# This file is distributed under the same license as the python-pcl package. +# FIRST AUTHOR , 2017. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: python-pcl 0.0.1.dev0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-07-28 11:33+0900\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.4.0\n" + +#: ../../source/index.rst:3 +msgid "python-pcl -- PointCloudLibrary-like API" +msgstr "" + +#: ../../source/index.rst:5 +msgid "" +"This is the `python-pcl `_ " +"documentation." +msgstr "‚±‚ê‚Í `python-pcl `_ ‚Ì“ú–{ŒêƒhƒLƒ…ƒƒ“ƒg‚Å‚·" + diff --git a/docs/source/locale/ja/LC_MESSAGES/index.pot b/docs/source/locale/ja/LC_MESSAGES/index.pot new file mode 100644 index 000000000..d0795b4d4 --- /dev/null +++ b/docs/source/locale/ja/LC_MESSAGES/index.pot @@ -0,0 +1,26 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2017, Tooru Oonuma. +# This file is distributed under the same license as the python-pcl package. +# FIRST AUTHOR , YEAR. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: python-pcl 0.0.1.dev0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-07-31 13:25+0900\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: ..\..\source\index.rst:3 +msgid "python-pcl -- PointCloudLibrary-like API" +msgstr "" + +#: ..\..\source\index.rst:5 +msgid "This is the `python-pcl `_ documentation." +msgstr "" + diff --git a/docs/source/locale/ja/LC_MESSAGES/install.po b/docs/source/locale/ja/LC_MESSAGES/install.po new file mode 100644 index 000000000..635f5e8bf --- /dev/null +++ b/docs/source/locale/ja/LC_MESSAGES/install.po @@ -0,0 +1,205 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2015, Preferred Networks, inc. and Preferred Infrastructure, +# inc. +# This file is distributed under the same license as the python-pcl package. +# FIRST AUTHOR , 2017. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: python-pcl 0.0.1.dev0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-07-28 11:33+0900\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.4.0\n" + +#: ../../source/install.rst:2 +msgid "Installation Guide" +msgstr "" + +#: ../../source/install.rst:7 +msgid "Recommended Environments" +msgstr "" + +#: ../../source/install.rst:9 +msgid "We recommend these Linux distributions." +msgstr "" + +#: ../../source/install.rst:11 +msgid "`Ubuntu `_ 14.04/16.04 LTS 64bit" +msgstr "" + +#: ../../source/install.rst:12 +msgid "`MacOS `_ 10.10/10.11" +msgstr "" + +#: ../../source/install.rst:13 +msgid "`Windows `_ 7/8.1/10 64bit" +msgstr "" + +#: ../../source/install.rst:15 +msgid "" +"The following versions of Python can be used: 2.7.6+, 3.4.3+, 3.5.1+, and" +" 3.6.0+." +msgstr "" + +#: ../../source/install.rst:19 +msgid "" +"We are testing python-pcl automatically with Jenkins, where all the above" +" *recommended* environments are tested." +msgstr "" + +#: ../../source/install.rst:21 +msgid "" +"python-pcl is supported on Python 2.7.6+, 3.4.3+, 3.5.1+, 3.6.0+. pcl-" +"Python uses C++ compiler such as g++. You need to install it before " +"installing python-pcl. This is typical installation method for each " +"platform::" +msgstr "" + +#: ../../source/install.rst:43 +msgid "If you use old ``setuptools``, upgrade it::" +msgstr "ŒÃ‚¢ ``setuptools`` ‚ðŽg—p‚µ‚Ä‚¢‚éꇂ̓AƒbƒvƒOƒŒ[ƒh‚µ‚Ä‚­‚¾‚³‚¢:" + +#: ../../source/install.rst:49 +msgid "Dependencies" +msgstr "" + +#: ../../source/install.rst:51 +msgid "" +"Before installing python-pcl, we recommend to upgrade ``setuptools`` if " +"you are using an old one::" +msgstr "" + +#: ../../source/install.rst:55 +msgid "" +"The following Python packages are required to install python-pcl. The " +"latest version of each package will automatically be installed if " +"missing." +msgstr "" + +#: ../../source/install.rst:58 +msgid "`NumPy `_ 1.9, 1.10, 1.11, 1.12" +msgstr "" + +#: ../../source/install.rst:62 +msgid "Install python-pcl" +msgstr "" + +#: ../../source/install.rst:65 +msgid "Install python-pcl via pip" +msgstr "" + +#: ../../source/install.rst:67 +msgid "We recommend to install python-pcl via pip::" +msgstr "" + +#: ../../source/install.rst:73 +msgid "" +"All optional PointCloudLibrary related libraries, need to be installed " +"before installing python-pcl. After you update these libraries, please " +"reinstall python-pcl because you need to compile and link to the newer " +"version of them." +msgstr "" + +#: ../../source/install.rst:78 +msgid "Install python-pcl from source" +msgstr "" + +#: ../../source/install.rst:80 +msgid "" +"The tarball of the source tree is available via ``pip download pcl-" +"python`` or from `the release notes page `_. You can use ``setup.py`` to install python-pcl from " +"the tarball::" +msgstr "" + +#: ../../source/install.rst:87 +msgid "" +"You can also install the development version of python-pcl from a cloned " +"Git repository::" +msgstr "" + +#: ../../source/install.rst:97 +msgid "When an error occurs..." +msgstr "" + +#: ../../source/install.rst:99 +msgid "" +"Use ``-vvvv`` option with ``pip`` command. That shows all logs of " +"installation. It may help you::" +msgstr "" + +#: ../../source/install.rst:109 +msgid "Install python-pcl with pcl.dll" +msgstr "" + +#: ../../source/install.rst:114 +msgid "Install python-pcl for developers" +msgstr "" + +#: ../../source/install.rst:116 +msgid "" +"python-pcl uses Cython (>=0.24). Developers need to use Cython to " +"regenerate C++ sources from ``pyx`` files. We recommend to use ``pip`` " +"with ``-e`` option for editable mode::" +msgstr "" + +#: ../../source/install.rst:124 +msgid "" +"Users need not to install Cython as a distribution package of python-pcl " +"only contains generated sources." +msgstr "" + +#: ../../source/install.rst:128 +msgid "Uninstall python-pcl" +msgstr "" + +#: ../../source/install.rst:130 +msgid "Use pip to uninstall python-pcl::" +msgstr "" + +#: ../../source/install.rst:136 +msgid "" +"When you upgrade python-pcl, ``pip`` sometimes install the new version " +"without removing the old one in ``site-packages``. In this case, ``pip " +"uninstall`` only removes the latest one. To ensure that python-pcl is " +"completely removed, run the above command repeatedly until ``pip`` " +"returns an error." +msgstr "" + +#: ../../source/install.rst:142 +msgid "Upgrade python-pcl" +msgstr "" + +#: ../../source/install.rst:144 +msgid "Just use ``pip`` with ``-U`` option::" +msgstr "" + +#: ../../source/install.rst:150 +msgid "Reinstall python-pcl" +msgstr "" + +#: ../../source/install.rst:152 +msgid "" +"If you want to reinstall python-pcl, please uninstall python-pcl and then" +" install it. We recommend to use ``--no-cache-dir`` option as ``pip`` " +"sometimes uses cache::" +msgstr "" + +#: ../../source/install.rst:158 +msgid "" +"When you install python-pcl without PointCloudLibrary, and after that you" +" want to use PointCloudLibrary, please reinstall python-pcl. You need to " +"reinstall python-pcl when you want to upgrade PointCloudLibrary." +msgstr "" + +#: ../../source/install.rst:163 +msgid "FAQ" +msgstr "" + diff --git a/docs/source/locale/ja/LC_MESSAGES/install.pot b/docs/source/locale/ja/LC_MESSAGES/install.pot new file mode 100644 index 000000000..9c5a95b24 --- /dev/null +++ b/docs/source/locale/ja/LC_MESSAGES/install.pot @@ -0,0 +1,162 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2017, Tooru Oonuma. +# This file is distributed under the same license as the python-pcl package. +# FIRST AUTHOR , YEAR. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: python-pcl 0.0.1.dev0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-07-31 13:25+0900\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: ..\..\source\install.rst:2 +msgid "Installation Guide" +msgstr "" + +#: ..\..\source\install.rst:7 +msgid "Recommended Environments" +msgstr "" + +#: ..\..\source\install.rst:9 +msgid "We recommend these Linux distributions." +msgstr "" + +#: ..\..\source\install.rst:11 +msgid "`Ubuntu `_ 14.04/16.04 LTS 64bit" +msgstr "" + +#: ..\..\source\install.rst:12 +msgid "`MacOS `_ 10.10/10.11" +msgstr "" + +#: ..\..\source\install.rst:13 +msgid "`Windows `_ 7/8.1/10 64bit" +msgstr "" + +#: ..\..\source\install.rst:15 +msgid "The following versions of Python can be used: 2.7.6+, 3.4.3+, 3.5.1+, and 3.6.0+." +msgstr "" + +#: ..\..\source\install.rst:19 +msgid "We are testing python-pcl automatically with Jenkins, where all the above *recommended* environments are tested." +msgstr "" + +#: ..\..\source\install.rst:21 +msgid "python-pcl is supported on Python 2.7.6+, 3.4.3+, 3.5.1+, 3.6.0+. python-pcl uses C++ compiler such as g++. You need to install it before installing python-pcl. This is typical installation method for each platform::" +msgstr "" + +#: ..\..\source\install.rst:43 +msgid "If you use old ``setuptools``, upgrade it::" +msgstr "" + +#: ..\..\source\install.rst:49 +msgid "Dependencies" +msgstr "" + +#: ..\..\source\install.rst:51 +msgid "Before installing python-pcl, we recommend to upgrade ``setuptools`` if you are using an old one::" +msgstr "" + +#: ..\..\source\install.rst:55 +msgid "The following Python packages are required to install python-pcl. The latest version of each package will automatically be installed if missing." +msgstr "" + +#: ..\..\source\install.rst:58 +msgid "`NumPy `_ 1.9, 1.10, 1.11, 1.12" +msgstr "" + +#: ..\..\source\install.rst:62 +msgid "Install python-pcl" +msgstr "" + +#: ..\..\source\install.rst:65 +msgid "Install python-pcl via pip" +msgstr "" + +#: ..\..\source\install.rst:67 +msgid "We recommend to install python-pcl via pip::" +msgstr "" + +#: ..\..\source\install.rst:73 +msgid "All optional PointCloudLibrary related libraries, need to be installed before installing python-pcl. After you update these libraries, please reinstall python-pcl because you need to compile and link to the newer version of them." +msgstr "" + +#: ..\..\source\install.rst:78 +msgid "Install python-pcl from source" +msgstr "" + +#: ..\..\source\install.rst:80 +msgid "The tarball of the source tree is available via ``pip download python-pcl`` or from `the release notes page `_. You can use ``setup.py`` to install python-pcl from the tarball::" +msgstr "" + +#: ..\..\source\install.rst:87 +msgid "You can also install the development version of python-pcl from a cloned Git repository::" +msgstr "" + +#: ..\..\source\install.rst:97 +msgid "When an error occurs..." +msgstr "" + +#: ..\..\source\install.rst:99 +msgid "Use ``-vvvv`` option with ``pip`` command. That shows all logs of installation. It may help you::" +msgstr "" + +#: ..\..\source\install.rst:109 +msgid "Install python-pcl with pcl.dll" +msgstr "" + +#: ..\..\source\install.rst:114 +msgid "Install python-pcl for developers" +msgstr "" + +#: ..\..\source\install.rst:116 +msgid "python-pcl uses Cython (>=0.24). Developers need to use Cython to regenerate C++ sources from ``pyx`` files. We recommend to use ``pip`` with ``-e`` option for editable mode::" +msgstr "" + +#: ..\..\source\install.rst:124 +msgid "Users need not to install Cython as a distribution package of python-pcl only contains generated sources." +msgstr "" + +#: ..\..\source\install.rst:128 +msgid "Uninstall python-pcl" +msgstr "" + +#: ..\..\source\install.rst:130 +msgid "Use pip to uninstall python-pcl::" +msgstr "" + +#: ..\..\source\install.rst:136 +msgid "When you upgrade python-pcl, ``pip`` sometimes install the new version without removing the old one in ``site-packages``. In this case, ``pip uninstall`` only removes the latest one. To ensure that python-pcl is completely removed, run the above command repeatedly until ``pip`` returns an error." +msgstr "" + +#: ..\..\source\install.rst:142 +msgid "Upgrade python-pcl" +msgstr "" + +#: ..\..\source\install.rst:144 +msgid "Just use ``pip`` with ``-U`` option::" +msgstr "" + +#: ..\..\source\install.rst:150 +msgid "Reinstall python-pcl" +msgstr "" + +#: ..\..\source\install.rst:152 +msgid "If you want to reinstall python-pcl, please uninstall python-pcl and then install it. We recommend to use ``--no-cache-dir`` option as ``pip`` sometimes uses cache::" +msgstr "" + +#: ..\..\source\install.rst:158 +msgid "When you install python-pcl without PointCloudLibrary, and after that you want to use PointCloudLibrary, please reinstall python-pcl. You need to reinstall python-pcl when you want to upgrade PointCloudLibrary." +msgstr "" + +#: ..\..\source\install.rst:163 +msgid "FAQ" +msgstr "" + diff --git a/docs/source/locale/ja/LC_MESSAGES/license.po b/docs/source/locale/ja/LC_MESSAGES/license.po new file mode 100644 index 000000000..beed9a40a --- /dev/null +++ b/docs/source/locale/ja/LC_MESSAGES/license.po @@ -0,0 +1,120 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2015, Preferred Networks, inc. and Preferred Infrastructure, +# inc. +# This file is distributed under the same license as the python-pcl package. +# FIRST AUTHOR , 2017. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: python-pcl 0.0.1.dev0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-07-28 11:33+0900\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.4.0\n" + +#: ../../source/license.rst:2 +msgid "License" +msgstr "" + +#: ../../source/license.rst:4 +msgid "" +"Permission is hereby granted, free of charge, to any person obtaining a " +"copy of this software and associated documentation files (the " +"\"Software\"), to deal in the Software without restriction, including " +"without limitation the rights to use, copy, modify, merge, publish, " +"distribute, sublicense, and/or sell copies of the Software, and to permit" +" persons to whom the Software is furnished to do so, subject to the " +"following conditions:" +msgstr "" + +#: ../../source/license.rst:11 +msgid "" +"The above copyright notice and this permission notice shall be included " +"in all copies or substantial portions of the Software." +msgstr "" + +#: ../../source/license.rst:14 +msgid "" +"THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS" +" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF " +"MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN" +" NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM," +" DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR " +"OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE" +" USE OR OTHER DEALINGS IN THE SOFTWARE." +msgstr "" + +#: ../../source/license.rst:24 +msgid "python-pcl" +msgstr "" + +#: ../../source/license.rst:25 +msgid "" +"The python-pcl is designed based on Point Cloud Library's API. pcl-" +"python's source code and documents contain the original Point Cloud " +"Library ones." +msgstr "" + +#: ../../source/license.rst:29 +msgid "Software License Agreement (BSD License)" +msgstr "" + +#: ../../source/license.rst:31 +msgid "" +"Point Cloud Library (PCL) - www.pointclouds.org Copyright (c) 2009-2012, " +"Willow Garage, Inc. Copyright (c) 2012-, Open Perception, Inc. Copyright " +"(c) XXX, respective authors." +msgstr "" + +#: ../../source/license.rst:36 +msgid "All rights reserved." +msgstr "" + +#: ../../source/license.rst:38 +msgid "" +"Redistribution and use in source and binary forms, with or without " +"modification, are permitted provided that the following conditions are " +"met:" +msgstr "" + +#: ../../source/license.rst:42 +msgid "" +"Redistributions of source code must retain the above copyright notice, " +"this list of conditions and the following disclaimer." +msgstr "" + +#: ../../source/license.rst:44 +msgid "" +"Redistributions in binary form must reproduce the above copyright notice," +" this list of conditions and the following disclaimer in the " +"documentation and/or other materials provided with the distribution." +msgstr "" + +#: ../../source/license.rst:48 +msgid "" +"Neither the name of the copyright holder(s) nor the names of its " +"contributors may be used to endorse or promote products derived from this" +" software without specific prior written permission." +msgstr "" + +#: ../../source/license.rst:52 +msgid "" +"THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS " +"IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED " +"TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A " +"PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER " +"OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, " +"EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, " +"PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR " +"PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF " +"LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING " +"NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS " +"SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." +msgstr "" + diff --git a/docs/source/locale/ja/LC_MESSAGES/license.pot b/docs/source/locale/ja/LC_MESSAGES/license.pot new file mode 100644 index 000000000..ccc25a777 --- /dev/null +++ b/docs/source/locale/ja/LC_MESSAGES/license.pot @@ -0,0 +1,74 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2017, Tooru Oonuma. +# This file is distributed under the same license as the python-pcl package. +# FIRST AUTHOR , YEAR. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: python-pcl 0.0.1.dev0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-07-31 13:25+0900\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: ..\..\source\license.rst:2 +msgid "License" +msgstr "" + +#: ..\..\source\license.rst:4 +msgid "Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the \"Software\"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:" +msgstr "" + +#: ..\..\source\license.rst:11 +msgid "The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software." +msgstr "" + +#: ..\..\source\license.rst:14 +msgid "THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE." +msgstr "" + +#: ..\..\source\license.rst:24 +msgid "python-pcl" +msgstr "" + +#: ..\..\source\license.rst:25 +msgid "The python-pcl is designed based on Point Cloud Library's API. python-pcl's source code and documents contain the original Point Cloud Library ones." +msgstr "" + +#: ..\..\source\license.rst:29 +msgid "Software License Agreement (BSD License)" +msgstr "" + +#: ..\..\source\license.rst:31 +msgid "Point Cloud Library (PCL) - www.pointclouds.org Copyright (c) 2009-2012, Willow Garage, Inc. Copyright (c) 2012-, Open Perception, Inc. Copyright (c) XXX, respective authors." +msgstr "" + +#: ..\..\source\license.rst:36 +msgid "All rights reserved." +msgstr "" + +#: ..\..\source\license.rst:38 +msgid "Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:" +msgstr "" + +#: ..\..\source\license.rst:42 +msgid "Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer." +msgstr "" + +#: ..\..\source\license.rst:44 +msgid "Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution." +msgstr "" + +#: ..\..\source\license.rst:48 +msgid "Neither the name of the copyright holder(s) nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission." +msgstr "" + +#: ..\..\source\license.rst:52 +msgid "THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." +msgstr "" + diff --git a/docs/source/locale/ja/LC_MESSAGES/overview.po b/docs/source/locale/ja/LC_MESSAGES/overview.po new file mode 100644 index 000000000..3e7bb5e65 --- /dev/null +++ b/docs/source/locale/ja/LC_MESSAGES/overview.po @@ -0,0 +1,140 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2015, Preferred Networks, inc. and Preferred Infrastructure, +# inc. +# This file is distributed under the same license as the python-pcl package. +# FIRST AUTHOR , 2017. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: python-pcl 0.0.1.dev0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-07-31 13:18+0900\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.4.0\n" + +#: ../../source/overview.rst:4 +msgid "python-pcl Overview" +msgstr "" + +#: ../../source/overview.rst:8 +msgid "" +"`python-pcl `_ is an " +"implementation of PointCloudLibrary-compatible. interface." +msgstr "" + +#: ../../source/overview.rst:11 +msgid "" +"The following is a brief overview of supported subset of " +"PointCloudLibrary interface:" +msgstr "" + +#: ../../source/overview.rst:13 +msgid "`filters `_" +msgstr "" + +#: ../../source/overview.rst:14 +msgid "`features `_" +msgstr "" + +#: ../../source/overview.rst:15 +msgid "`keypoints `_" +msgstr "" + +#: ../../source/overview.rst:16 +msgid "" +"`registration " +"`_" +msgstr "" + +#: ../../source/overview.rst:17 +msgid "`kdtree `_" +msgstr "" + +#: ../../source/overview.rst:18 +msgid "`octree `_" +msgstr "" + +#: ../../source/overview.rst:19 +msgid "" +"`segmentation " +"`_" +msgstr "" + +#: ../../source/overview.rst:20 +msgid "" +"`sample_consensus " +"`_" +msgstr "" + +#: ../../source/overview.rst:21 +msgid "`surface `_" +msgstr "" + +#: ../../source/overview.rst:22 +msgid "`recognition `_" +msgstr "" + +#: ../../source/overview.rst:23 +msgid "`io `_" +msgstr "" + +#: ../../source/overview.rst:24 +msgid "" +"`visualization " +"`_" +msgstr "" + +#~ msgid "" +#~ "`python-pcl `_ is an implementation of " +#~ "NumPy-compatible multi-dimensional array on" +#~ " CUDA. python-pcl consists of :class" +#~ ":`python-pcl.ndarray`, the core multi-" +#~ "dimensional array class, and many " +#~ "functions on it. It supports a " +#~ "subset of :class:`numpy.ndarray` interface." +#~ msgstr "" + +#~ msgid "" +#~ "The following is a brief overview " +#~ "of supported subset of PointCloud " +#~ "interface:" +#~ msgstr "" + +#~ msgid "" +#~ "`Basic indexing " +#~ "`_ " +#~ "(indexing by ints, slices, newaxes, and" +#~ " Ellipsis)" +#~ msgstr "" + +#~ msgid "python-pcl also includes the following features for performance:" +#~ msgstr "" + +#~ msgid "" +#~ "python-pcl uses on-the-fly kernel" +#~ " synthesis: when a kernel call is " +#~ "required, it compiles a kernel code " +#~ "optimized for the shapes and dtypes " +#~ "of given arguments, sends it to " +#~ "the GPU device, and executes the " +#~ "kernel. The compiled code is cached " +#~ "to ``$(HOME)/.python-pcl/kernel_cache`` directory" +#~ " (this cache path can be overwritten" +#~ " by setting the ``CUPY_CACHE_DIR`` " +#~ "environment variable). It may make " +#~ "things slower at the first kernel " +#~ "call, though this slow down will " +#~ "be resolved at the second execution. " +#~ "python-pcl also caches the kernel " +#~ "code sent to GPU device within the" +#~ " process, which reduces the kernel " +#~ "transfer time on further calls." +#~ msgstr "" + diff --git a/docs/source/locale/ja/LC_MESSAGES/overview.pot b/docs/source/locale/ja/LC_MESSAGES/overview.pot new file mode 100644 index 000000000..6ad8d3540 --- /dev/null +++ b/docs/source/locale/ja/LC_MESSAGES/overview.pot @@ -0,0 +1,78 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2017, Tooru Oonuma. +# This file is distributed under the same license as the python-pcl package. +# FIRST AUTHOR , YEAR. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: python-pcl 0.0.1.dev0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-07-31 13:25+0900\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: ..\..\source\overview.rst:4 +msgid "python-pcl Overview" +msgstr "" + +#: ..\..\source\overview.rst:8 +msgid "`python-pcl `_ is an implementation of PointCloudLibrary-compatible. interface." +msgstr "" + +#: ..\..\source\overview.rst:11 +msgid "The following is a brief overview of supported subset of PointCloudLibrary interface:" +msgstr "" + +#: ..\..\source\overview.rst:13 +msgid "`filters `_" +msgstr "" + +#: ..\..\source\overview.rst:14 +msgid "`features `_" +msgstr "" + +#: ..\..\source\overview.rst:15 +msgid "`keypoints `_" +msgstr "" + +#: ..\..\source\overview.rst:16 +msgid "`registration `_" +msgstr "" + +#: ..\..\source\overview.rst:17 +msgid "`kdtree `_" +msgstr "" + +#: ..\..\source\overview.rst:18 +msgid "`octree `_" +msgstr "" + +#: ..\..\source\overview.rst:19 +msgid "`segmentation `_" +msgstr "" + +#: ..\..\source\overview.rst:20 +msgid "`sample_consensus `_" +msgstr "" + +#: ..\..\source\overview.rst:21 +msgid "`surface `_" +msgstr "" + +#: ..\..\source\overview.rst:22 +msgid "`recognition `_" +msgstr "" + +#: ..\..\source\overview.rst:23 +msgid "`io `_" +msgstr "" + +#: ..\..\source\overview.rst:24 +msgid "`visualization `_" +msgstr "" + diff --git a/docs/source/locale/ja/LC_MESSAGES/reference.po b/docs/source/locale/ja/LC_MESSAGES/reference.po new file mode 100644 index 000000000..d336760c9 --- /dev/null +++ b/docs/source/locale/ja/LC_MESSAGES/reference.po @@ -0,0 +1,1557 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2015, Preferred Networks, inc. and Preferred Infrastructure, +# inc. +# This file is distributed under the same license as the python-pcl package. +# FIRST AUTHOR , 2017. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: python-pcl 0.0.1.dev0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-07-31 13:18+0900\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.4.0\n" + +#: ../../source/reference/common.rst:2 +msgid "Common Operations" +msgstr "" + +#: ../../source/reference/common.rst:5 +msgid "Elementwise bit operations" +msgstr "" + +#: ../../:1 +msgid ":obj:`python-pcl.bitwise_and `" +msgstr "" + +#: ../../:1 +msgid ":obj:`python-pcl.bitwise_or `" +msgstr "" + +#: ../../:1 +msgid ":obj:`python-pcl.bitwise_xor `" +msgstr "" + +#: ../../:1 +msgid ":obj:`python-pcl.invert `" +msgstr "" + +#: ../../:1 +msgid ":obj:`python-pcl.left_shift `" +msgstr "" + +#: ../../:1 +msgid ":obj:`python-pcl.right_shift `" +msgstr "" + +#: ../../source/reference/common.rst:20 +msgid "Bit packing" +msgstr "" + +#: ../../:1 +msgid ":obj:`python-pcl.packbits `" +msgstr "" + +#: ../../:1 +msgid ":obj:`python-pcl.unpackbits `" +msgstr "" + +#: ../../source/reference/common.rst:31 +msgid "Output formatting" +msgstr "" + +#: ../../:1 +msgid ":obj:`python-pcl.binary_repr `" +msgstr "" + +#: ../../source/reference/environment.rst:2 +msgid "Environment variables" +msgstr "" + +#: ../../source/reference/environment.rst:4 +msgid "Here are the environment variables python-pcl uses." +msgstr "" + +#: ../../source/reference/environment.rst:8 +msgid "``PATH``" +msgstr "" + +#: ../../source/reference/environment.rst:8 +msgid "" +"Path to the directory to PointCloudLibrary dll/exe. See :ref:`overview` " +"for details." +msgstr "" + +#: ../../source/reference/environment.rst:14 +msgid "For install" +msgstr "" + +#: ../../source/reference/environment.rst:16 +msgid "These environment variables are only used during installation." +msgstr "" + +#: ../../source/reference/environment.rst:19 +msgid "``PCL_ROOT``" +msgstr "" + +#: ../../source/reference/environment.rst:19 +msgid "" +"Path to the directory containing PointCloudLibrary. The parent of the " +"directory containing ``nvcc`` is used as default. See " +":ref:`install_pointcloudlibrary` for details." +msgstr "" + +#: ../../source/reference/features.rst:2 +msgid "Features Routines" +msgstr "" + +#: ../../source/reference/features.rst:5 +msgid "Basic creation routines" +msgstr "" + +#: ../../:1 +msgid ":obj:`DifferenceOfNormalsEstimation `" +msgstr "" + +#: ../../:1 +msgid ":obj:`IntegralImageNormalEstimation `" +msgstr "" + +#: ../../:1 +msgid ":obj:`MomentOfInertiaEstimation `" +msgstr "" + +#: ../../:1 +msgid ":obj:`NormalEstimation `" +msgstr "" + +#: ../../:1 +msgid ":obj:`NormalEstimationOMP `" +msgstr "" + +#: ../../:1 +msgid ":obj:`RangeImageBorderExtractor `" +msgstr "" + +#: ../../:1 +msgid ":obj:`ROPSEstimation `" +msgstr "" + +#: ../../:1 +msgid ":obj:`VFHEstimation `" +msgstr "" + +#: ../../source/reference/filters.rst:2 +msgid "Filters" +msgstr "" + +#: ../../source/reference/filters.rst:5 +msgid "Device management" +msgstr "" + +#: ../../:1 +msgid ":obj:`python-pcl.ApproximateVoxelGrid `" +msgstr "" + +#: ../../:1 +msgid ":obj:`python-pcl.ConditionalRemoval `" +msgstr "" + +#: ../../:1 +msgid ":obj:`python-pcl.ConditionAnd `" +msgstr "" + +#: ../../:1 +msgid ":obj:`python-pcl.CropBox `" +msgstr "" + +#: ../../:1 +msgid ":obj:`python-pcl.CropHull `" +msgstr "" + +#: ../../:1 +msgid ":obj:`python-pcl.FieldComparison `" +msgstr "" + +#: ../../:1 +msgid ":obj:`python-pcl.PassThroughFilter `" +msgstr "" + +#: ../../:1 +msgid ":obj:`python-pcl.ProjectInliers `" +msgstr "" + +#: ../../:1 +msgid ":obj:`python-pcl.RadiusOutlierRemoval `" +msgstr "" + +#: ../../:1 +msgid "" +":obj:`python-pcl.StatisticalOutlierRemovalFilter `" +msgstr "" + +#: ../../:1 +msgid ":obj:`python-pcl.VoxelGridFilter `" +msgstr "" + +#: ../../source/reference/generated/pcl.rst:2 ../../source/reference/pcl.rst:2 +msgid "pcl" +msgstr "" + +#: ../../source/reference/generated/pcl.rst:9 ../../source/reference/pcl.rst:9 +msgid "Functions" +msgstr "" + +#: ../../:1 +msgid ":obj:`load `\\ (path[, format])" +msgstr "" + +#: ../../:1 +msgid "Load pointcloud from path." +msgstr "" + +#: ../../:1 +msgid ":obj:`load2 `\\ (path[, format])" +msgstr "" + +#: ../../:1 +msgid "" +":obj:`load_PointWithViewpoint `\\ (path[, " +"format])" +msgstr "" + +#: ../../:1 +msgid ":obj:`load_XYZI `\\ (path[, format])" +msgstr "" + +#: ../../:1 +msgid ":obj:`load_XYZRGB `\\ (path[, format])" +msgstr "" + +#: ../../:1 +msgid ":obj:`load_XYZRGBA `\\ (path[, format])" +msgstr "" + +#: ../../:1 +msgid ":obj:`save `\\ (cloud, path[, format, binary])" +msgstr "" + +#: ../../:1 +msgid "Save pointcloud to file." +msgstr "" + +#: ../../:1 +msgid ":obj:`save2 `\\ (cloud, path[, format, binary])" +msgstr "" + +#: ../../:1 +msgid "Save PointCloud_PointCloud2 to file." +msgstr "" + +#: ../../:1 +msgid "" +":obj:`save_PointNormal `\\ (cloud, path[, format, " +"binary])" +msgstr "" + +#: ../../:1 +msgid ":obj:`save_XYZRGBA `\\ (cloud, path[, format, binary])" +msgstr "" + +#: ../../source/reference/generated/pcl.rst:30 +#: ../../source/reference/pcl.rst:30 +msgid "Classes" +msgstr "" + +#: ../../:1 +msgid ":obj:`VoxelGridFilter_PointXYZI `\\" +msgstr "" + +#: ../../:1 +msgid ":obj:`VoxelGridFilter_PointXYZRGB `\\" +msgstr "" + +#: ../../:1 +msgid ":obj:`VoxelGridFilter_PointXYZRGBA `\\" +msgstr "" + +#: ../../source/reference/generated/pcl.IntegralImageNormalEstimation.rst:2 +msgid "pcl.IntegralImageNormalEstimation" +msgstr "" + +#: ../../docstring of pcl.IntegralImageNormalEstimation:1 +msgid "IntegralImageNormalEstimation class for" +msgstr "" + +#: ../../source/reference/generated/pcl.IntegralImageNormalEstimation.rst:14 +#: ../../source/reference/generated/pcl.MomentOfInertiaEstimation.rst:14 +#: ../../source/reference/generated/pcl.NormalEstimation.rst:14 +#: ../../source/reference/generated/pcl.ROPSEstimation.rst:14 +#: ../../source/reference/generated/pcl.VFHEstimation.rst:14 +msgid "Methods" +msgstr "" + +#: ../../source/reference/generated/pcl.MomentOfInertiaEstimation.rst:2 +msgid "pcl.MomentOfInertiaEstimation" +msgstr "" + +#: ../../docstring of pcl.MomentOfInertiaEstimation:1 +msgid "MomentOfInertiaEstimation class for" +msgstr "" + +#: ../../source/reference/generated/pcl.NormalEstimation.rst:2 +msgid "pcl.NormalEstimation" +msgstr "" + +#: ../../docstring of pcl.NormalEstimation:1 +msgid "NormalEstimation class for" +msgstr "" + +#: ../../source/reference/generated/pcl.ROPSEstimation.rst:2 +msgid "pcl.ROPSEstimation" +msgstr "" + +#: ../../docstring of pcl.ROPSEstimation:1 +msgid "ROPSEstimation class for" +msgstr "" + +#: ../../source/reference/generated/pcl.VFHEstimation.rst:2 +msgid "pcl.VFHEstimation" +msgstr "" + +#: ../../docstring of pcl.VFHEstimation:1 +msgid "VFHEstimation class for" +msgstr "" + +#: ../../source/reference/grabber.rst:2 +msgid "Grabber" +msgstr "" + +#: ../../source/reference/index.rst:5 +msgid "python-pcl Reference Manual" +msgstr "" + +#: ../../source/reference/index.rst:7 +msgid "" +"This is the official reference of python-pcl, a multi-dimensional array " +"on CUDA with a subset of NumPy interface." +msgstr "" + +#: ../../source/reference/index.rst:11 +msgid "Indices and tables" +msgstr "" + +#: ../../source/reference/index.rst:13 +msgid ":ref:`genindex`" +msgstr "" + +#: ../../source/reference/index.rst:14 +msgid ":ref:`modindex`" +msgstr "" + +#: ../../source/reference/index.rst:17 +msgid "Reference" +msgstr "" + +#: ../../source/reference/io.rst:2 +msgid "Input and Output" +msgstr "" + +#: ../../:1 +msgid ":obj:`python-pcl.load `" +msgstr "" + +#: ../../:1 +msgid ":obj:`python-pcl.save `" +msgstr "" + +#: ../../source/reference/kdtree.rst:2 +msgid "KdTree" +msgstr "" + +#: ../../:1 +msgid ":obj:`python-pcl.KdTree `" +msgstr "" + +#: ../../:1 +msgid ":obj:`python-pcl.KdTree_FLANN `" +msgstr "" + +#: ../../source/reference/keypoint.rst:2 +msgid "KeyPoint" +msgstr "" + +#: ../../:1 +msgid ":obj:`python-pcl.HarrisKeypoint3D `" +msgstr "" + +#: ../../:1 +msgid ":obj:`python-pcl.NarfKeypoint `" +msgstr "" + +#: ../../:1 +msgid ":obj:`python-pcl.UniformSampling `" +msgstr "" + +#: ../../source/reference/octree.rst:2 +msgid "Octree" +msgstr "" + +#: ../../source/reference/octree.rst:5 +msgid "Truth value testing" +msgstr "" + +#: ../../:1 +msgid ":obj:`python-pcl.Octree2BufBase `" +msgstr "" + +#: ../../:1 +msgid ":obj:`python-pcl.OctreePointCloud `" +msgstr "" + +#: ../../:1 +msgid ":obj:`python-pcl.OctreePointCloud2Buf `" +msgstr "" + +#: ../../:1 +msgid "" +":obj:`python-pcl.OctreePointCloudChangeDetector `" +msgstr "" + +#: ../../:1 +msgid "" +":obj:`python-pcl.OctreePointCloudSearch `" +msgstr "" + +#: ../../source/reference/registration.rst:2 +msgid "Registration" +msgstr "" + +#: ../../source/reference/registration.rst:5 +msgid "Basic manipulations" +msgstr "" + +#: ../../:1 +msgid "" +":obj:`python-pcl.GeneralizedIterativeClosestPoint `" +msgstr "" + +#: ../../:1 +msgid ":obj:`python-pcl.IterativeClosestPoint `" +msgstr "" + +#: ../../:1 +msgid "" +":obj:`python-pcl.IterativeClosestPointNonLinear `" +msgstr "" + +#: ../../:1 +msgid "" +":obj:`python-pcl.NormalDistributionsTransform `" +msgstr "" + +#: ../../source/reference/sampleconsensus.rst:2 +msgid "SampleConsensus" +msgstr "" + +#: ../../source/reference/sampleconsensus.rst:5 +msgid "Trigonometric functions" +msgstr "" + +#: ../../:1 +msgid ":obj:`python-pcl.RandomSampleConsensus `" +msgstr "" + +#: ../../:1 +msgid ":obj:`python-pcl.SampleConsensusModel `" +msgstr "" + +#: ../../:1 +msgid "" +":obj:`python-pcl.SampleConsensusModelCylinder `" +msgstr "" + +#: ../../:1 +msgid "" +":obj:`python-pcl.SampleConsensusModelLine `" +msgstr "" + +#: ../../:1 +msgid "" +":obj:`python-pcl.SampleConsensusModelPlane `" +msgstr "" + +#: ../../:1 +msgid "" +":obj:`python-pcl.SampleConsensusModelRegistration `" +msgstr "" + +#: ../../:1 +msgid "" +":obj:`python-pcl.SampleConsensusModelSphere `" +msgstr "" + +#: ../../:1 +msgid "" +":obj:`python-pcl.SampleConsensusModelStick `" +msgstr "" + +#: ../../source/reference/segmentation.rst:2 +msgid "Segmentation" +msgstr "" + +#: ../../:1 +msgid "" +":obj:`python-pcl.ConditionalEuclideanClustering `" +msgstr "" + +#: ../../:1 +msgid "" +":obj:`python-pcl.EuclideanClusterExtraction `" +msgstr "" + +#: ../../:1 +msgid ":obj:`python-pcl.MinCutSegmentation `" +msgstr "" + +#: ../../:1 +msgid "" +":obj:`python-pcl.ProgressiveMorphologicalFilter `" +msgstr "" + +#: ../../:1 +msgid ":obj:`python-pcl.Segmentation `" +msgstr "" + +#: ../../:1 +msgid ":obj:`python-pcl.SegmentationNormal `" +msgstr "" + +#: ../../source/reference/surface.rst:2 +msgid "Surface" +msgstr "" + +#: ../../:1 +msgid ":obj:`python-pcl.ConcaveHull `" +msgstr "" + +#: ../../:1 +msgid ":obj:`python-pcl.MovingLeastSquares `" +msgstr "" + +#: ../../source/reference/testing.rst:2 +msgid "Testing Modules" +msgstr "" + +#: ../../source/reference/testing.rst:6 +msgid "" +"python-pcl offers testing utilities to support unit testing. They are " +"under namespace :mod:`python-pcl.testing`." +msgstr "" + +#: ../../source/reference/testing.rst:11 +msgid "Standard Assertions" +msgstr "" + +#: ../../source/reference/testing.rst:13 +msgid "" +"The assertions have same names as NumPy's ones. The difference from NumPy" +" is that they can accept both :class:`numpy.ndarray` and :class:`pcl-" +"python.ndarray`." +msgstr "" + +#: ../../:1 +msgid "" +":obj:`python-pcl.testing.assert_allclose `" +msgstr "" + +#: ../../:1 +msgid "" +":obj:`python-pcl.testing.assert_array_almost_equal `" +msgstr "" + +#: ../../:1 +msgid "" +":obj:`python-pcl.testing.assert_array_almost_equal_nulp `" +msgstr "" + +#: ../../:1 +msgid "" +":obj:`python-pcl.testing.assert_array_max_ulp `" +msgstr "" + +#: ../../:1 +msgid "" +":obj:`python-pcl.testing.assert_array_equal `" +msgstr "" + +#: ../../:1 +msgid "" +":obj:`python-pcl.testing.assert_array_list_equal `" +msgstr "" + +#: ../../:1 +msgid "" +":obj:`python-pcl.testing.assert_array_less `" +msgstr "" + +#: ../../source/reference/testing.rst:32 +msgid "NumPy-python-pcl Consistency Check" +msgstr "" + +#: ../../source/reference/testing.rst:34 +msgid "" +"The following decorators are for testing consistency between python-pcl's" +" functions and corresponding NumPy's ones." +msgstr "" + +#: ../../:1 +msgid "" +":obj:`python-pcl.testing.numpy_python-pcl_allclose `" +msgstr "" + +#: ../../:1 +msgid "" +":obj:`python-pcl.testing.numpy_python-pcl_array_almost_equal `" +msgstr "" + +#: ../../:1 +msgid "" +":obj:`python-pcl.testing.numpy_python-pcl_array_almost_equal_nulp `" +msgstr "" + +#: ../../:1 +msgid "" +":obj:`python-pcl.testing.numpy_python-pcl_array_max_ulp `" +msgstr "" + +#: ../../:1 +msgid "" +":obj:`python-pcl.testing.numpy_python-pcl_array_equal `" +msgstr "" + +#: ../../:1 +msgid "" +":obj:`python-pcl.testing.numpy_python-pcl_array_list_equal `" +msgstr "" + +#: ../../:1 +msgid "" +":obj:`python-pcl.testing.numpy_python-pcl_array_less `" +msgstr "" + +#: ../../:1 +msgid "" +":obj:`python-pcl.testing.numpy_python-pcl_raises `" +msgstr "" + +#: ../../source/reference/testing.rst:52 +msgid "Parameterized dtype Test" +msgstr "" + +#: ../../source/reference/testing.rst:54 +msgid "" +"The following decorators offer the standard way for parameterized test " +"with respect to single or the combination of dtype(s)." +msgstr "" + +#: ../../:1 +msgid ":obj:`python-pcl.testing.for_dtypes `" +msgstr "" + +#: ../../:1 +msgid "" +":obj:`python-pcl.testing.for_all_dtypes `" +msgstr "" + +#: ../../:1 +msgid "" +":obj:`python-pcl.testing.for_float_dtypes `" +msgstr "" + +#: ../../:1 +msgid "" +":obj:`python-pcl.testing.for_signed_dtypes `" +msgstr "" + +#: ../../:1 +msgid "" +":obj:`python-pcl.testing.for_unsigned_dtypes `" +msgstr "" + +#: ../../:1 +msgid "" +":obj:`python-pcl.testing.for_int_dtypes `" +msgstr "" + +#: ../../:1 +msgid "" +":obj:`python-pcl.testing.for_dtypes_combination `" +msgstr "" + +#: ../../:1 +msgid "" +":obj:`python-pcl.testing.for_all_dtypes_combination `" +msgstr "" + +#: ../../:1 +msgid "" +":obj:`python-pcl.testing.for_signed_dtypes_combination `" +msgstr "" + +#: ../../:1 +msgid "" +":obj:`python-pcl.testing.for_unsigned_dtypes_combination `" +msgstr "" + +#: ../../:1 +msgid "" +":obj:`python-pcl.testing.for_int_dtypes_combination `" +msgstr "" + +#: ../../source/reference/testing.rst:76 +msgid "Parameterized order Test" +msgstr "" + +#: ../../source/reference/testing.rst:77 +msgid "" +"The following decorators offer the standard way to parameterize tests " +"with orders." +msgstr "" + +#: ../../:1 +msgid ":obj:`python-pcl.testing.for_orders `" +msgstr "" + +#: ../../:1 +msgid ":obj:`python-pcl.testing.for_CF_orders `" +msgstr "" + +#: ../../source/reference/tracking.rst:2 +msgid "Tracking" +msgstr "" + +#: ../../source/reference/visualization.rst:2 +msgid "Visualization" +msgstr "" + +#: ../../source/reference/visualization.rst:5 +msgid "viewer" +msgstr "" + +#: ../../:1 +msgid ":obj:`python-pcl.CloudViewing `" +msgstr "" + +#: ../../:1 +msgid ":obj:`python-pcl.PCLHistogramViewing `" +msgstr "" + +#: ../../:1 +msgid ":obj:`python-pcl.PCLVisualizering `" +msgstr "" + +#: ../../:1 +msgid "" +":obj:`python-pcl.RangeImageVisualization `" +msgstr "" + +#~ msgid "" +#~ ":obj:`pcl.DifferenceOfNormalsEstimation " +#~ "`" +#~ msgstr "" + +#~ msgid ":obj:`pcl.NormalEstimationOMP `" +#~ msgstr "" + +#~ msgid ":obj:`pcl.RangeImageBorderExtractor `" +#~ msgstr "" + +#~ msgid "Low-Level CUDA Support" +#~ msgstr "" + +#~ msgid ":obj:`python-pcl.cuda.Device `" +#~ msgstr "" + +#~ msgid "Memory management" +#~ msgstr "" + +#~ msgid ":obj:`python-pcl.cuda.Memory `" +#~ msgstr "" + +#~ msgid ":obj:`python-pcl.cuda.MemoryPointer `" +#~ msgstr "" + +#~ msgid ":obj:`python-pcl.cuda.alloc `" +#~ msgstr "" + +#~ msgid ":obj:`python-pcl.cuda.set_allocator `" +#~ msgstr "" + +#~ msgid ":obj:`python-pcl.cuda.MemoryPool `" +#~ msgstr "" + +#~ msgid "Streams and events" +#~ msgstr "" + +#~ msgid ":obj:`python-pcl.cuda.Stream `" +#~ msgstr "" + +#~ msgid ":obj:`python-pcl.cuda.Event `" +#~ msgstr "" + +#~ msgid "" +#~ ":obj:`python-pcl.cuda.get_elapsed_time `" +#~ msgstr "" + +#~ msgid "Profiler" +#~ msgstr "" + +#~ msgid ":obj:`python-pcl.cuda.profile `" +#~ msgstr "" + +#~ msgid "" +#~ ":obj:`python-pcl.cuda.profiler.initialize `" +#~ msgstr "" + +#~ msgid ":obj:`python-pcl.cuda.profiler.start `" +#~ msgstr "" + +#~ msgid ":obj:`python-pcl.cuda.profiler.stop `" +#~ msgstr "" + +#~ msgid ":obj:`python-pcl.cuda.nvtx.Mark `" +#~ msgstr "" + +#~ msgid ":obj:`python-pcl.cuda.nvtx.MarkC `" +#~ msgstr "" + +#~ msgid ":obj:`python-pcl.cuda.nvtx.RangePush `" +#~ msgstr "" + +#~ msgid "" +#~ ":obj:`python-pcl.cuda.nvtx.RangePushC `" +#~ msgstr "" + +#~ msgid ":obj:`python-pcl.cuda.nvtx.RangePop `" +#~ msgstr "" + +#~ msgid "Difference between python-pcl and NumPy" +#~ msgstr "" + +#~ msgid "" +#~ "The interface of python-pcl is " +#~ "designed to obey that of NumPy. " +#~ "However, there are some differeneces." +#~ msgstr "" + +#~ msgid "Cast behavior from float to integer" +#~ msgstr "" + +#~ msgid "" +#~ "Some casting behaviors from float to " +#~ "integer are not defined in C++ " +#~ "specification. The casting from a " +#~ "negative float to unsigned integer and" +#~ " infinity to integer is one of " +#~ "such eamples. The behavior of NumPy " +#~ "depends on your CPU architecture. This" +#~ " is Intel CPU result." +#~ msgstr "" + +#~ msgid "Random methods support dtype argument" +#~ msgstr "" + +#~ msgid "" +#~ "NumPy's random value generator does not" +#~ " support dtype option and it always" +#~ " resturns a ``float32`` value. We " +#~ "support the option in python-pcl " +#~ "because cuRAND, which is used in " +#~ "python-pcl, supports any types of " +#~ "float values." +#~ msgstr "" + +#~ msgid "Out-of-bounds indices" +#~ msgstr "" + +#~ msgid "" +#~ "python-pcl handles out-of-bounds " +#~ "indices differently by default from " +#~ "NumPy when using integer array indexing." +#~ " NumPy handles them by raising an " +#~ "error, but python-pcl wraps around " +#~ "them." +#~ msgstr "" + +#~ msgid "Duplicate values in indices" +#~ msgstr "" + +#~ msgid "" +#~ "python-pcl's ``__setitem__`` behaves " +#~ "differently from NumPy when integer " +#~ "arrays reference the same location " +#~ "multiple times. In that case, the " +#~ "value that is actually stored is " +#~ "undefined. Here is an example of " +#~ "python-pcl." +#~ msgstr "" + +#~ msgid "" +#~ "NumPy stores the value corresponding to" +#~ " the last element among elements " +#~ "referencing duplicate locations." +#~ msgstr "" + +#~ msgid "NPZ files" +#~ msgstr "" + +#~ msgid ":obj:`python-pcl.savez `" +#~ msgstr "" + +#~ msgid ":obj:`python-pcl.savez_compressed `" +#~ msgstr "" + +#~ msgid "String formatting" +#~ msgstr "" + +#~ msgid ":obj:`python-pcl.array_repr `" +#~ msgstr "" + +#~ msgid ":obj:`python-pcl.array_str `" +#~ msgstr "" + +#~ msgid "Base-n representations" +#~ msgstr "" + +#~ msgid ":obj:`python-pcl.base_repr `" +#~ msgstr "" + +#~ msgid "NumPy-python-pcl Generic Code Support" +#~ msgstr "" + +#~ msgid ":obj:`python-pcl.get_array_module `" +#~ msgstr "" + +#~ msgid "Linear Algebra" +#~ msgstr "" + +#~ msgid "Matrix and vector products" +#~ msgstr "" + +#~ msgid ":obj:`python-pcl.dot `" +#~ msgstr "" + +#~ msgid ":obj:`python-pcl.vdot `" +#~ msgstr "" + +#~ msgid ":obj:`python-pcl.inner `" +#~ msgstr "" + +#~ msgid ":obj:`python-pcl.outer `" +#~ msgstr "" + +#~ msgid ":obj:`python-pcl.matmul `" +#~ msgstr "" + +#~ msgid ":obj:`python-pcl.tensordot `" +#~ msgstr "" + +#~ msgid "Decompositions" +#~ msgstr "" + +#~ msgid ":obj:`python-pcl.linalg.cholesky `" +#~ msgstr "" + +#~ msgid ":obj:`python-pcl.linalg.qr `" +#~ msgstr "" + +#~ msgid ":obj:`python-pcl.linalg.svd `" +#~ msgstr "" + +#~ msgid "Matrix eigenvalues" +#~ msgstr "" + +#~ msgid "Norms etc." +#~ msgstr "" + +#~ msgid ":obj:`python-pcl.linalg.norm `" +#~ msgstr "" + +#~ msgid ":obj:`python-pcl.linalg.matrix_rank `" +#~ msgstr "" + +#~ msgid ":obj:`python-pcl.linalg.slogdet `" +#~ msgstr "" + +#~ msgid ":obj:`python-pcl.trace `" +#~ msgstr "" + +#~ msgid "Logic Functions" +#~ msgstr "" + +#~ msgid ":obj:`python-pcl.all `" +#~ msgstr "" + +#~ msgid ":obj:`python-pcl.any `" +#~ msgstr "" + +#~ msgid "Infinities and NaNs" +#~ msgstr "" + +#~ msgid ":obj:`python-pcl.isfinite `" +#~ msgstr "" + +#~ msgid ":obj:`python-pcl.isinf `" +#~ msgstr "" + +#~ msgid ":obj:`python-pcl.isnan `" +#~ msgstr "" + +#~ msgid "Array type testing" +#~ msgstr "" + +#~ msgid ":obj:`python-pcl.isscalar `" +#~ msgstr "" + +#~ msgid "Logic operations" +#~ msgstr "" + +#~ msgid ":obj:`python-pcl.logical_and `" +#~ msgstr "" + +#~ msgid ":obj:`python-pcl.logical_or `" +#~ msgstr "" + +#~ msgid ":obj:`python-pcl.logical_not `" +#~ msgstr "" + +#~ msgid ":obj:`python-pcl.logical_xor `" +#~ msgstr "" + +#~ msgid "Comparison operations" +#~ msgstr "" + +#~ msgid ":obj:`python-pcl.greater `" +#~ msgstr "" + +#~ msgid ":obj:`python-pcl.greater_equal `" +#~ msgstr "" + +#~ msgid ":obj:`python-pcl.less `" +#~ msgstr "" + +#~ msgid ":obj:`python-pcl.less_equal `" +#~ msgstr "" + +#~ msgid ":obj:`python-pcl.equal `" +#~ msgstr "" + +#~ msgid ":obj:`python-pcl.not_equal `" +#~ msgstr "" + +#~ msgid "Array Manipulation Routines" +#~ msgstr "" + +#~ msgid ":obj:`python-pcl.copyto `" +#~ msgstr "" + +#~ msgid "Shape manipulation" +#~ msgstr "" + +#~ msgid ":obj:`python-pcl.reshape `" +#~ msgstr "" + +#~ msgid ":obj:`python-pcl.ravel `" +#~ msgstr "" + +#~ msgid "Transposition" +#~ msgstr "" + +#~ msgid ":obj:`python-pcl.rollaxis `" +#~ msgstr "" + +#~ msgid ":obj:`python-pcl.swapaxes `" +#~ msgstr "" + +#~ msgid ":obj:`python-pcl.transpose `" +#~ msgstr "" + +#~ msgid "Edit dimensionalities" +#~ msgstr "" + +#~ msgid ":obj:`python-pcl.atleast_1d `" +#~ msgstr "" + +#~ msgid ":obj:`python-pcl.atleast_2d `" +#~ msgstr "" + +#~ msgid ":obj:`python-pcl.atleast_3d `" +#~ msgstr "" + +#~ msgid ":obj:`python-pcl.broadcast `" +#~ msgstr "" + +#~ msgid ":obj:`python-pcl.broadcast_arrays `" +#~ msgstr "" + +#~ msgid ":obj:`python-pcl.broadcast_to `" +#~ msgstr "" + +#~ msgid ":obj:`python-pcl.expand_dims `" +#~ msgstr "" + +#~ msgid ":obj:`python-pcl.squeeze `" +#~ msgstr "" + +#~ msgid "Changing kind of array" +#~ msgstr "" + +#~ msgid ":obj:`python-pcl.asarray `" +#~ msgstr "" + +#~ msgid ":obj:`python-pcl.asanyarray `" +#~ msgstr "" + +#~ msgid ":obj:`python-pcl.asfortranarray `" +#~ msgstr "" + +#~ msgid ":obj:`python-pcl.ascontiguousarray `" +#~ msgstr "" + +#~ msgid "Joining arrays along axis" +#~ msgstr "" + +#~ msgid ":obj:`python-pcl.concatenate `" +#~ msgstr "" + +#~ msgid ":obj:`python-pcl.stack `" +#~ msgstr "" + +#~ msgid ":obj:`python-pcl.column_stack `" +#~ msgstr "" + +#~ msgid ":obj:`python-pcl.dstack `" +#~ msgstr "" + +#~ msgid ":obj:`python-pcl.hstack `" +#~ msgstr "" + +#~ msgid ":obj:`python-pcl.vstack `" +#~ msgstr "" + +#~ msgid "Splitting arrays along axis" +#~ msgstr "" + +#~ msgid ":obj:`python-pcl.split `" +#~ msgstr "" + +#~ msgid ":obj:`python-pcl.array_split `" +#~ msgstr "" + +#~ msgid ":obj:`python-pcl.dsplit `" +#~ msgstr "" + +#~ msgid ":obj:`python-pcl.hsplit `" +#~ msgstr "" + +#~ msgid ":obj:`python-pcl.vsplit `" +#~ msgstr "" + +#~ msgid "Repeating part of arrays along axis" +#~ msgstr "" + +#~ msgid ":obj:`python-pcl.tile `" +#~ msgstr "" + +#~ msgid ":obj:`python-pcl.repeat `" +#~ msgstr "" + +#~ msgid "Rearranging elements" +#~ msgstr "" + +#~ msgid ":obj:`python-pcl.flip `" +#~ msgstr "" + +#~ msgid ":obj:`python-pcl.fliplr `" +#~ msgstr "" + +#~ msgid ":obj:`python-pcl.flipud `" +#~ msgstr "" + +#~ msgid ":obj:`python-pcl.roll `" +#~ msgstr "" + +#~ msgid ":obj:`python-pcl.rot90 `" +#~ msgstr "" + +#~ msgid "Mathematical Functions" +#~ msgstr "" + +#~ msgid ":obj:`python-pcl.sin `" +#~ msgstr "" + +#~ msgid ":obj:`python-pcl.cos `" +#~ msgstr "" + +#~ msgid ":obj:`python-pcl.tan `" +#~ msgstr "" + +#~ msgid ":obj:`python-pcl.arcsin `" +#~ msgstr "" + +#~ msgid ":obj:`python-pcl.arccos `" +#~ msgstr "" + +#~ msgid ":obj:`python-pcl.arctan `" +#~ msgstr "" + +#~ msgid ":obj:`python-pcl.hypot `" +#~ msgstr "" + +#~ msgid ":obj:`python-pcl.arctan2 `" +#~ msgstr "" + +#~ msgid ":obj:`python-pcl.deg2rad `" +#~ msgstr "" + +#~ msgid ":obj:`python-pcl.rad2deg `" +#~ msgstr "" + +#~ msgid ":obj:`python-pcl.degrees `" +#~ msgstr "" + +#~ msgid ":obj:`python-pcl.radians `" +#~ msgstr "" + +#~ msgid "Hyperbolic functions" +#~ msgstr "" + +#~ msgid ":obj:`python-pcl.sinh `" +#~ msgstr "" + +#~ msgid ":obj:`python-pcl.cosh `" +#~ msgstr "" + +#~ msgid ":obj:`python-pcl.tanh `" +#~ msgstr "" + +#~ msgid ":obj:`python-pcl.arcsinh `" +#~ msgstr "" + +#~ msgid ":obj:`python-pcl.arccosh `" +#~ msgstr "" + +#~ msgid ":obj:`python-pcl.arctanh `" +#~ msgstr "" + +#~ msgid "Rounding" +#~ msgstr "" + +#~ msgid ":obj:`python-pcl.rint `" +#~ msgstr "" + +#~ msgid ":obj:`python-pcl.floor `" +#~ msgstr "" + +#~ msgid ":obj:`python-pcl.ceil `" +#~ msgstr "" + +#~ msgid ":obj:`python-pcl.trunc `" +#~ msgstr "" + +#~ msgid ":obj:`python-pcl.fix `" +#~ msgstr "" + +#~ msgid "Sums and products" +#~ msgstr "" + +#~ msgid ":obj:`python-pcl.sum `" +#~ msgstr "" + +#~ msgid ":obj:`python-pcl.prod `" +#~ msgstr "" + +#~ msgid ":obj:`python-pcl.cumsum `" +#~ msgstr "" + +#~ msgid ":obj:`python-pcl.cumprod `" +#~ msgstr "" + +#~ msgid "Exponential and logarithm functions" +#~ msgstr "" + +#~ msgid ":obj:`python-pcl.exp `" +#~ msgstr "" + +#~ msgid ":obj:`python-pcl.expm1 `" +#~ msgstr "" + +#~ msgid ":obj:`python-pcl.exp2 `" +#~ msgstr "" + +#~ msgid ":obj:`python-pcl.log `" +#~ msgstr "" + +#~ msgid ":obj:`python-pcl.log10 `" +#~ msgstr "" + +#~ msgid ":obj:`python-pcl.log2 `" +#~ msgstr "" + +#~ msgid ":obj:`python-pcl.log1p `" +#~ msgstr "" + +#~ msgid ":obj:`python-pcl.logaddexp `" +#~ msgstr "" + +#~ msgid ":obj:`python-pcl.logaddexp2 `" +#~ msgstr "" + +#~ msgid "Floating point manipulations" +#~ msgstr "" + +#~ msgid ":obj:`python-pcl.signbit `" +#~ msgstr "" + +#~ msgid ":obj:`python-pcl.copysign `" +#~ msgstr "" + +#~ msgid ":obj:`python-pcl.ldexp `" +#~ msgstr "" + +#~ msgid ":obj:`python-pcl.frexp `" +#~ msgstr "" + +#~ msgid ":obj:`python-pcl.nextafter `" +#~ msgstr "" + +#~ msgid "Arithmetic operations" +#~ msgstr "" + +#~ msgid ":obj:`python-pcl.negative `" +#~ msgstr "" + +#~ msgid ":obj:`python-pcl.add `" +#~ msgstr "" + +#~ msgid ":obj:`python-pcl.subtract `" +#~ msgstr "" + +#~ msgid ":obj:`python-pcl.multiply `" +#~ msgstr "" + +#~ msgid ":obj:`python-pcl.divide `" +#~ msgstr "" + +#~ msgid ":obj:`python-pcl.true_divide `" +#~ msgstr "" + +#~ msgid ":obj:`python-pcl.floor_divide `" +#~ msgstr "" + +#~ msgid ":obj:`python-pcl.power `" +#~ msgstr "" + +#~ msgid ":obj:`python-pcl.fmod `" +#~ msgstr "" + +#~ msgid ":obj:`python-pcl.mod `" +#~ msgstr "" + +#~ msgid ":obj:`python-pcl.remainder `" +#~ msgstr "" + +#~ msgid ":obj:`python-pcl.modf `" +#~ msgstr "" + +#~ msgid ":obj:`python-pcl.reciprocal `" +#~ msgstr "" + +#~ msgid "Miscellaneous" +#~ msgstr "" + +#~ msgid ":obj:`python-pcl.clip `" +#~ msgstr "" + +#~ msgid ":obj:`python-pcl.sqrt `" +#~ msgstr "" + +#~ msgid ":obj:`python-pcl.square `" +#~ msgstr "" + +#~ msgid ":obj:`python-pcl.absolute `" +#~ msgstr "" + +#~ msgid ":obj:`python-pcl.sign `" +#~ msgstr "" + +#~ msgid ":obj:`python-pcl.maximum `" +#~ msgstr "" + +#~ msgid ":obj:`python-pcl.minimum `" +#~ msgstr "" + +#~ msgid ":obj:`python-pcl.fmax `" +#~ msgstr "" + +#~ msgid ":obj:`python-pcl.fmin `" +#~ msgstr "" + +#~ msgid "Kernel binary memoization" +#~ msgstr "" + +#~ msgid ":obj:`python-pcl.memoize `" +#~ msgstr "" + +#~ msgid ":obj:`python-pcl.clear_memo `" +#~ msgstr "" + +#~ msgid "Multi-Dimensional Array (ndarray)" +#~ msgstr "" + +#~ msgid "" +#~ ":class:`python-pcl.ndarray` is the pcl-" +#~ "python counterpart of NumPy " +#~ ":class:`numpy.ndarray`. It provides an " +#~ "intuitive interface for a fixed-size " +#~ "multidimensional array which resides in " +#~ "a CUDA device." +#~ msgstr "" + +#~ msgid "" +#~ "For the basic concept of ``ndarray``\\s," +#~ " please refer to the `NumPy " +#~ "documentation " +#~ "`_." +#~ msgstr "" + +#~ msgid ":obj:`python-pcl.ndarray `" +#~ msgstr "" + +#~ msgid "Code compatibility features" +#~ msgstr "" + +#~ msgid "" +#~ ":class:`python-pcl.ndarray` is designed to " +#~ "be interchangeable with :class:`numpy.ndarray` " +#~ "in terms of code compatibility as " +#~ "much as possible. But occasionally, you" +#~ " will need to know whether the " +#~ "arrays you're handling are :class:`pcl-" +#~ "python.ndarray` or :class:`numpy.ndarray`. One " +#~ "example is when invoking module-level" +#~ " functions such as :meth:`python-pcl.sum`" +#~ " or :meth:`numpy.sum`. In such situations," +#~ " :meth:`python-pcl.get_array_module` can be " +#~ "used." +#~ msgstr "" + +#~ msgid "Conversion to/from NumPy arrays" +#~ msgstr "" + +#~ msgid "" +#~ ":class:`python-pcl.ndarray` and " +#~ ":class:`numpy.ndarray` are not implicitly " +#~ "convertible to each other. That means," +#~ " NumPy functions cannot take :class" +#~ ":`python-pcl.ndarray`\\s as inputs, and " +#~ "vice versa." +#~ msgstr "" + +#~ msgid "" +#~ "To convert :class:`numpy.ndarray` to :class" +#~ ":`python-pcl.ndarray`, use :meth:`pcl-" +#~ "python.array` or :meth:`python-pcl.asarray`." +#~ msgstr "" + +#~ msgid "" +#~ "To convert :class:`python-pcl.ndarray` to " +#~ ":class:`numpy.ndarray`, use :meth:`pcl-" +#~ "python.asnumpy` or :meth:`python-pcl.ndarray.get`." +#~ msgstr "" + +#~ msgid "" +#~ "Note that converting between :class:`pcl-" +#~ "python.ndarray` and :class:`numpy.ndarray` incurs" +#~ " data transfer between the host (CPU)" +#~ " device and the GPU device, which " +#~ "is costly in terms of performance." +#~ msgstr "" + +#~ msgid ":obj:`python-pcl.array `" +#~ msgstr "" + +#~ msgid ":obj:`python-pcl.asnumpy `" +#~ msgstr "" + +#~ msgid "Padding" +#~ msgstr "" + +#~ msgid ":obj:`python-pcl.pad `" +#~ msgstr "" + +#~ msgid "Profiling" +#~ msgstr "" + +#~ msgid "time range" +#~ msgstr "" + +#~ msgid "" +#~ ":obj:`python-pcl.prof.TimeRangeDecorator `" +#~ msgstr "" + +#~ msgid ":obj:`python-pcl.prof.time_range `" +#~ msgstr "" + diff --git a/docs/source/locale/ja/LC_MESSAGES/reference.pot b/docs/source/locale/ja/LC_MESSAGES/reference.pot new file mode 100644 index 000000000..0c66c73b9 --- /dev/null +++ b/docs/source/locale/ja/LC_MESSAGES/reference.pot @@ -0,0 +1,731 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2017, Tooru Oonuma. +# This file is distributed under the same license as the python-pcl package. +# FIRST AUTHOR , YEAR. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: python-pcl 0.0.1.dev0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-07-31 13:25+0900\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: ..\..\source\reference\common.rst:2 +msgid "Common Operations" +msgstr "" + +#: ..\..\source\reference\common.rst:5 +msgid "Elementwise bit operations" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.bitwise_and `" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.bitwise_or `" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.bitwise_xor `" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.invert `" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.left_shift `" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.right_shift `" +msgstr "" + +#: ..\..\source\reference\common.rst:20 +msgid "Bit packing" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.packbits `" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.unpackbits `" +msgstr "" + +#: ..\..\source\reference\common.rst:31 +msgid "Output formatting" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.binary_repr `" +msgstr "" + +#: ..\..\source\reference\environment.rst:2 +msgid "Environment variables" +msgstr "" + +#: ..\..\source\reference\environment.rst:4 +msgid "Here are the environment variables python-pcl uses." +msgstr "" + +#: ..\..\source\reference\environment.rst:8 +msgid "``PATH``" +msgstr "" + +#: ..\..\source\reference\environment.rst:8 +msgid "Path to the directory to PointCloudLibrary dll/exe. See :ref:`overview` for details." +msgstr "" + +#: ..\..\source\reference\environment.rst:14 +msgid "For install" +msgstr "" + +#: ..\..\source\reference\environment.rst:16 +msgid "These environment variables are only used during installation." +msgstr "" + +#: ..\..\source\reference\environment.rst:19 +msgid "``PCL_ROOT``" +msgstr "" + +#: ..\..\source\reference\environment.rst:19 +msgid "Path to the directory containing PointCloudLibrary. The parent of the directory containing ``nvcc`` is used as default. See :ref:`install_pointcloudlibrary` for details." +msgstr "" + +#: ..\..\source\reference\features.rst:2 +msgid "Features Routines" +msgstr "" + +#: ..\..\source\reference\features.rst:5 +msgid "Basic creation routines" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`DifferenceOfNormalsEstimation `" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`IntegralImageNormalEstimation `" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`MomentOfInertiaEstimation `" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`NormalEstimation `" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`NormalEstimationOMP `" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`RangeImageBorderExtractor `" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`ROPSEstimation `" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`VFHEstimation `" +msgstr "" + +#: ..\..\source\reference\filters.rst:2 +msgid "Filters" +msgstr "" + +#: ..\..\source\reference\filters.rst:5 +msgid "Device management" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.ApproximateVoxelGrid `" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.ConditionalRemoval `" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.ConditionAnd `" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.CropBox `" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.CropHull `" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.FieldComparison `" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.PassThroughFilter `" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.ProjectInliers `" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.RadiusOutlierRemoval `" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.StatisticalOutlierRemovalFilter `" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.VoxelGridFilter `" +msgstr "" + +#: ..\..\source\reference\generated\pcl.rst:2 +#: ..\..\source\reference\pcl.rst:2 +msgid "pcl" +msgstr "" + +#: ..\..\source\reference\generated\pcl.rst:9 +#: ..\..\source\reference\pcl.rst:9 +msgid "Functions" +msgstr "" + +#: ..\..\:1 +#: ..\..\:1 +msgid ":obj:`load `\\ (path[, format])" +msgstr "" + +#: ..\..\:1 +#: ..\..\:1 +#: ..\..\:1 +#: ..\..\:1 +#: ..\..\:1 +#: ..\..\:1 +#: ..\..\:1 +#: ..\..\:1 +#: ..\..\:1 +#: ..\..\:1 +#: ..\..\:1 +#: ..\..\:1 +msgid "Load pointcloud from path." +msgstr "" + +#: ..\..\:1 +#: ..\..\:1 +msgid ":obj:`load2 `\\ (path[, format])" +msgstr "" + +#: ..\..\:1 +#: ..\..\:1 +msgid ":obj:`load_PointWithViewpoint `\\ (path[, format])" +msgstr "" + +#: ..\..\:1 +#: ..\..\:1 +msgid ":obj:`load_XYZI `\\ (path[, format])" +msgstr "" + +#: ..\..\:1 +#: ..\..\:1 +msgid ":obj:`load_XYZRGB `\\ (path[, format])" +msgstr "" + +#: ..\..\:1 +#: ..\..\:1 +msgid ":obj:`load_XYZRGBA `\\ (path[, format])" +msgstr "" + +#: ..\..\:1 +#: ..\..\:1 +msgid ":obj:`save `\\ (cloud, path[, format, binary])" +msgstr "" + +#: ..\..\:1 +#: ..\..\:1 +#: ..\..\:1 +#: ..\..\:1 +#: ..\..\:1 +#: ..\..\:1 +msgid "Save pointcloud to file." +msgstr "" + +#: ..\..\:1 +#: ..\..\:1 +msgid ":obj:`save2 `\\ (cloud, path[, format, binary])" +msgstr "" + +#: ..\..\:1 +#: ..\..\:1 +msgid "Save PointCloud_PointCloud2 to file." +msgstr "" + +#: ..\..\:1 +#: ..\..\:1 +msgid ":obj:`save_PointNormal `\\ (cloud, path[, format, binary])" +msgstr "" + +#: ..\..\:1 +#: ..\..\:1 +msgid ":obj:`save_XYZRGBA `\\ (cloud, path[, format, binary])" +msgstr "" + +#: ..\..\source\reference\generated\pcl.rst:30 +#: ..\..\source\reference\pcl.rst:30 +msgid "Classes" +msgstr "" + +#: ..\..\:1 +#: ..\..\:1 +msgid ":obj:`VoxelGridFilter_PointXYZI `\\" +msgstr "" + +#: ..\..\:1 +#: ..\..\:1 +msgid ":obj:`VoxelGridFilter_PointXYZRGB `\\" +msgstr "" + +#: ..\..\:1 +#: ..\..\:1 +msgid ":obj:`VoxelGridFilter_PointXYZRGBA `\\" +msgstr "" + +#: ..\..\source\reference\generated\pcl.IntegralImageNormalEstimation.rst:2 +msgid "pcl.IntegralImageNormalEstimation" +msgstr "" + +#: ..\..\docstring of pcl.IntegralImageNormalEstimation:1 +msgid "IntegralImageNormalEstimation class for" +msgstr "" + +#: ..\..\source\reference\generated\pcl.IntegralImageNormalEstimation.rst:14 +#: ..\..\source\reference\generated\pcl.MomentOfInertiaEstimation.rst:14 +#: ..\..\source\reference\generated\pcl.NormalEstimation.rst:14 +#: ..\..\source\reference\generated\pcl.ROPSEstimation.rst:14 +#: ..\..\source\reference\generated\pcl.VFHEstimation.rst:14 +msgid "Methods" +msgstr "" + +#: ..\..\source\reference\generated\pcl.MomentOfInertiaEstimation.rst:2 +msgid "pcl.MomentOfInertiaEstimation" +msgstr "" + +#: ..\..\docstring of pcl.MomentOfInertiaEstimation:1 +msgid "MomentOfInertiaEstimation class for" +msgstr "" + +#: ..\..\source\reference\generated\pcl.NormalEstimation.rst:2 +msgid "pcl.NormalEstimation" +msgstr "" + +#: ..\..\docstring of pcl.NormalEstimation:1 +msgid "NormalEstimation class for" +msgstr "" + +#: ..\..\source\reference\generated\pcl.ROPSEstimation.rst:2 +msgid "pcl.ROPSEstimation" +msgstr "" + +#: ..\..\docstring of pcl.ROPSEstimation:1 +msgid "ROPSEstimation class for" +msgstr "" + +#: ..\..\source\reference\generated\pcl.VFHEstimation.rst:2 +msgid "pcl.VFHEstimation" +msgstr "" + +#: ..\..\docstring of pcl.VFHEstimation:1 +msgid "VFHEstimation class for" +msgstr "" + +#: ..\..\source\reference\grabber.rst:2 +msgid "Grabber" +msgstr "" + +#: ..\..\source\reference\index.rst:5 +msgid "python-pcl Reference Manual" +msgstr "" + +#: ..\..\source\reference\index.rst:7 +msgid "This is the official reference of python-pcl, a multi-dimensional array on CUDA with a subset of NumPy interface." +msgstr "" + +#: ..\..\source\reference\index.rst:11 +msgid "Indices and tables" +msgstr "" + +#: ..\..\source\reference\index.rst:13 +msgid ":ref:`genindex`" +msgstr "" + +#: ..\..\source\reference\index.rst:14 +msgid ":ref:`modindex`" +msgstr "" + +#: ..\..\source\reference\index.rst:17 +msgid "Reference" +msgstr "" + +#: ..\..\source\reference\io.rst:2 +msgid "Input and Output" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.load `" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.save `" +msgstr "" + +#: ..\..\source\reference\kdtree.rst:2 +msgid "KdTree" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.KdTree `" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.KdTree_FLANN `" +msgstr "" + +#: ..\..\source\reference\keypoint.rst:2 +msgid "KeyPoint" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.HarrisKeypoint3D `" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.NarfKeypoint `" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.UniformSampling `" +msgstr "" + +#: ..\..\source\reference\octree.rst:2 +msgid "Octree" +msgstr "" + +#: ..\..\source\reference\octree.rst:5 +msgid "Truth value testing" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.Octree2BufBase `" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.OctreePointCloud `" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.OctreePointCloud2Buf `" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.OctreePointCloudChangeDetector `" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.OctreePointCloudSearch `" +msgstr "" + +#: ..\..\source\reference\registration.rst:2 +msgid "Registration" +msgstr "" + +#: ..\..\source\reference\registration.rst:5 +msgid "Basic manipulations" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.GeneralizedIterativeClosestPoint `" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.IterativeClosestPoint `" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.IterativeClosestPointNonLinear `" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.NormalDistributionsTransform `" +msgstr "" + +#: ..\..\source\reference\sampleconsensus.rst:2 +msgid "SampleConsensus" +msgstr "" + +#: ..\..\source\reference\sampleconsensus.rst:5 +msgid "Trigonometric functions" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.RandomSampleConsensus `" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.SampleConsensusModel `" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.SampleConsensusModelCylinder `" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.SampleConsensusModelLine `" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.SampleConsensusModelPlane `" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.SampleConsensusModelRegistration `" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.SampleConsensusModelSphere `" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.SampleConsensusModelStick `" +msgstr "" + +#: ..\..\source\reference\segmentation.rst:2 +msgid "Segmentation" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.ConditionalEuclideanClustering `" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.EuclideanClusterExtraction `" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.MinCutSegmentation `" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.ProgressiveMorphologicalFilter `" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.Segmentation `" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.SegmentationNormal `" +msgstr "" + +#: ..\..\source\reference\surface.rst:2 +msgid "Surface" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.ConcaveHull `" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.MovingLeastSquares `" +msgstr "" + +#: ..\..\source\reference\testing.rst:2 +msgid "Testing Modules" +msgstr "" + +#: ..\..\source\reference\testing.rst:6 +msgid "python-pcl offers testing utilities to support unit testing. They are under namespace :mod:`python-pcl.testing`." +msgstr "" + +#: ..\..\source\reference\testing.rst:11 +msgid "Standard Assertions" +msgstr "" + +#: ..\..\source\reference\testing.rst:13 +msgid "The assertions have same names as NumPy's ones. The difference from NumPy is that they can accept both :class:`numpy.ndarray` and :class:`python-pcl.ndarray`." +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.testing.assert_allclose `" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.testing.assert_array_almost_equal `" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.testing.assert_array_almost_equal_nulp `" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.testing.assert_array_max_ulp `" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.testing.assert_array_equal `" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.testing.assert_array_list_equal `" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.testing.assert_array_less `" +msgstr "" + +#: ..\..\source\reference\testing.rst:32 +msgid "NumPy-python-pcl Consistency Check" +msgstr "" + +#: ..\..\source\reference\testing.rst:34 +msgid "The following decorators are for testing consistency between python-pcl's functions and corresponding NumPy's ones." +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.testing.numpy_python-pcl_allclose `" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.testing.numpy_python-pcl_array_almost_equal `" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.testing.numpy_python-pcl_array_almost_equal_nulp `" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.testing.numpy_python-pcl_array_max_ulp `" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.testing.numpy_python-pcl_array_equal `" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.testing.numpy_python-pcl_array_list_equal `" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.testing.numpy_python-pcl_array_less `" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.testing.numpy_python-pcl_raises `" +msgstr "" + +#: ..\..\source\reference\testing.rst:52 +msgid "Parameterized dtype Test" +msgstr "" + +#: ..\..\source\reference\testing.rst:54 +msgid "The following decorators offer the standard way for parameterized test with respect to single or the combination of dtype(s)." +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.testing.for_dtypes `" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.testing.for_all_dtypes `" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.testing.for_float_dtypes `" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.testing.for_signed_dtypes `" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.testing.for_unsigned_dtypes `" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.testing.for_int_dtypes `" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.testing.for_dtypes_combination `" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.testing.for_all_dtypes_combination `" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.testing.for_signed_dtypes_combination `" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.testing.for_unsigned_dtypes_combination `" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.testing.for_int_dtypes_combination `" +msgstr "" + +#: ..\..\source\reference\testing.rst:76 +msgid "Parameterized order Test" +msgstr "" + +#: ..\..\source\reference\testing.rst:77 +msgid "The following decorators offer the standard way to parameterize tests with orders." +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.testing.for_orders `" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.testing.for_CF_orders `" +msgstr "" + +#: ..\..\source\reference\tracking.rst:2 +msgid "Tracking" +msgstr "" + +#: ..\..\source\reference\visualization.rst:2 +msgid "Visualization" +msgstr "" + +#: ..\..\source\reference\visualization.rst:5 +msgid "viewer" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.CloudViewing `" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.PCLHistogramViewing `" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.PCLVisualizering `" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.RangeImageVisualization `" +msgstr "" + diff --git a/docs/source/locale/ja/LC_MESSAGES/tutorial.po b/docs/source/locale/ja/LC_MESSAGES/tutorial.po new file mode 100644 index 000000000..bf53d4e29 --- /dev/null +++ b/docs/source/locale/ja/LC_MESSAGES/tutorial.po @@ -0,0 +1,1607 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2015, Preferred Networks, inc. and Preferred Infrastructure, +# inc. +# This file is distributed under the same license as the python-pcl package. +# FIRST AUTHOR , 2017. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: python-pcl 0.0.1.dev0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-07-31 13:18+0900\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.4.0\n" + +#: ../../source/tutorial/common.rst:2 +msgid "Common Operations" +msgstr "" + +#: ../../source/tutorial/common.rst:5 +msgid "Elementwise bit operations" +msgstr "" + +#: ../../:1 +msgid ":obj:`python-pcl.bitwise_and `" +msgstr "" + +#: ../../:1 +msgid ":obj:`python-pcl.bitwise_or `" +msgstr "" + +#: ../../:1 +msgid ":obj:`python-pcl.bitwise_xor `" +msgstr "" + +#: ../../:1 +msgid ":obj:`python-pcl.invert `" +msgstr "" + +#: ../../:1 +msgid ":obj:`python-pcl.left_shift `" +msgstr "" + +#: ../../:1 +msgid ":obj:`python-pcl.right_shift `" +msgstr "" + +#: ../../source/tutorial/common.rst:20 +msgid "Bit packing" +msgstr "" + +#: ../../:1 +msgid ":obj:`python-pcl.packbits `" +msgstr "" + +#: ../../:1 +msgid ":obj:`python-pcl.unpackbits `" +msgstr "" + +#: ../../source/tutorial/common.rst:31 +msgid "Output formatting" +msgstr "" + +#: ../../:1 +msgid ":obj:`python-pcl.binary_repr `" +msgstr "" + +#: ../../source/tutorial/features.rst:2 +msgid "Array Creation Routines" +msgstr "" + +#: ../../source/tutorial/features.rst:5 +msgid "Basic creation routines" +msgstr "" + +#: ../../:1 +msgid ":obj:`python-pcl.empty `" +msgstr "" + +#: ../../:1 +msgid ":obj:`python-pcl.empty_like `" +msgstr "" + +#: ../../:1 +msgid ":obj:`python-pcl.eye `" +msgstr "" + +#: ../../:1 +msgid ":obj:`python-pcl.identity `" +msgstr "" + +#: ../../:1 +msgid ":obj:`python-pcl.ones `" +msgstr "" + +#: ../../:1 +msgid ":obj:`python-pcl.ones_like `" +msgstr "" + +#: ../../:1 +msgid ":obj:`python-pcl.zeros `" +msgstr "" + +#: ../../:1 +msgid ":obj:`python-pcl.zeros_like `" +msgstr "" + +#: ../../:1 +msgid ":obj:`python-pcl.full `" +msgstr "" + +#: ../../:1 +msgid ":obj:`python-pcl.full_like `" +msgstr "" + +#: ../../source/tutorial/features.rst:24 +msgid "Creation from other data" +msgstr "" + +#: ../../:1 +msgid ":obj:`python-pcl.array `" +msgstr "" + +#: ../../:1 +msgid ":obj:`python-pcl.asarray `" +msgstr "" + +#: ../../:1 +msgid ":obj:`python-pcl.asanyarray `" +msgstr "" + +#: ../../:1 +msgid ":obj:`python-pcl.ascontiguousarray `" +msgstr "" + +#: ../../:1 +msgid ":obj:`python-pcl.copy `" +msgstr "" + +#: ../../source/tutorial/features.rst:38 +msgid "Numerical ranges" +msgstr "" + +#: ../../:1 +msgid ":obj:`python-pcl.arange `" +msgstr "" + +#: ../../:1 +msgid ":obj:`python-pcl.linspace `" +msgstr "" + +#: ../../:1 +msgid ":obj:`python-pcl.logspace `" +msgstr "" + +#: ../../:1 +msgid ":obj:`python-pcl.meshgrid `" +msgstr "" + +#: ../../source/tutorial/features.rst:51 +msgid "Matrix creation" +msgstr "" + +#: ../../:1 +msgid ":obj:`python-pcl.diag `" +msgstr "" + +#: ../../:1 +msgid ":obj:`python-pcl.diagflat `" +msgstr "" + +#: ../../source/tutorial/filters.rst:2 +msgid "Low-Level CUDA Support" +msgstr "" + +#: ../../source/tutorial/filters.rst:5 +msgid "Device management" +msgstr "" + +#: ../../:1 +msgid ":obj:`python-pcl.cuda.Device `" +msgstr "" + +#: ../../source/tutorial/filters.rst:15 +msgid "Memory management" +msgstr "" + +#: ../../:1 +msgid ":obj:`python-pcl.cuda.Memory `" +msgstr "" + +#: ../../:1 +msgid ":obj:`python-pcl.cuda.MemoryPointer `" +msgstr "" + +#: ../../:1 +msgid ":obj:`python-pcl.cuda.alloc `" +msgstr "" + +#: ../../:1 +msgid ":obj:`python-pcl.cuda.set_allocator `" +msgstr "" + +#: ../../:1 +msgid ":obj:`python-pcl.cuda.MemoryPool `" +msgstr "" + +#: ../../source/tutorial/filters.rst:29 +msgid "Streams and events" +msgstr "" + +#: ../../:1 +msgid ":obj:`python-pcl.cuda.Stream `" +msgstr "" + +#: ../../:1 +msgid ":obj:`python-pcl.cuda.Event `" +msgstr "" + +#: ../../:1 +msgid ":obj:`python-pcl.cuda.get_elapsed_time `" +msgstr "" + +#: ../../source/tutorial/filters.rst:41 +msgid "Profiler" +msgstr "" + +#: ../../:1 +msgid ":obj:`python-pcl.cuda.profile `" +msgstr "" + +#: ../../:1 +msgid "" +":obj:`python-pcl.cuda.profiler.initialize `" +msgstr "" + +#: ../../:1 +msgid ":obj:`python-pcl.cuda.profiler.start `" +msgstr "" + +#: ../../:1 +msgid ":obj:`python-pcl.cuda.profiler.stop `" +msgstr "" + +#: ../../:1 +msgid ":obj:`python-pcl.cuda.nvtx.Mark `" +msgstr "" + +#: ../../:1 +msgid ":obj:`python-pcl.cuda.nvtx.MarkC `" +msgstr "" + +#: ../../:1 +msgid ":obj:`python-pcl.cuda.nvtx.RangePush `" +msgstr "" + +#: ../../:1 +msgid ":obj:`python-pcl.cuda.nvtx.RangePushC `" +msgstr "" + +#: ../../:1 +msgid ":obj:`python-pcl.cuda.nvtx.RangePop `" +msgstr "" + +#: ../../source/tutorial/generated/pcl.rst:2 ../../source/tutorial/pcl.rst:2 +msgid "pcl" +msgstr "" + +#: ../../source/tutorial/generated/pcl.rst:9 ../../source/tutorial/pcl.rst:9 +msgid "Functions" +msgstr "" + +#: ../../:1 +msgid ":obj:`load `\\ (path[, format])" +msgstr "" + +#: ../../:1 +msgid "Load pointcloud from path." +msgstr "" + +#: ../../:1 +msgid ":obj:`load2 `\\ (path[, format])" +msgstr "" + +#: ../../:1 +msgid "" +":obj:`load_PointWithViewpoint `\\ (path[, " +"format])" +msgstr "" + +#: ../../:1 +msgid ":obj:`load_XYZI `\\ (path[, format])" +msgstr "" + +#: ../../:1 +msgid ":obj:`load_XYZRGB `\\ (path[, format])" +msgstr "" + +#: ../../:1 +msgid ":obj:`load_XYZRGBA `\\ (path[, format])" +msgstr "" + +#: ../../:1 +msgid ":obj:`save `\\ (cloud, path[, format, binary])" +msgstr "" + +#: ../../:1 +msgid "Save pointcloud to file." +msgstr "" + +#: ../../:1 +msgid ":obj:`save2 `\\ (cloud, path[, format, binary])" +msgstr "" + +#: ../../:1 +msgid "Save PointCloud_PointCloud2 to file." +msgstr "" + +#: ../../:1 +msgid "" +":obj:`save_PointNormal `\\ (cloud, path[, format, " +"binary])" +msgstr "" + +#: ../../:1 +msgid ":obj:`save_XYZRGBA `\\ (cloud, path[, format, binary])" +msgstr "" + +#: ../../source/tutorial/generated/pcl.rst:30 ../../source/tutorial/pcl.rst:30 +msgid "Classes" +msgstr "" + +#: ../../source/tutorial/grabber.rst:2 +msgid "Difference between python-pcl and NumPy" +msgstr "" + +#: ../../source/tutorial/grabber.rst:4 +msgid "" +"The interface of python-pcl is designed to obey that of NumPy. However, " +"there are some differeneces." +msgstr "" + +#: ../../source/tutorial/grabber.rst:9 +msgid "Cast behavior from float to integer" +msgstr "" + +#: ../../source/tutorial/grabber.rst:11 +msgid "" +"Some casting behaviors from float to integer are not defined in C++ " +"specification. The casting from a negative float to unsigned integer and " +"infinity to integer is one of such eamples. The behavior of NumPy depends" +" on your CPU architecture. This is Intel CPU result." +msgstr "" + +#: ../../source/tutorial/grabber.rst:28 +msgid "Random methods support dtype argument" +msgstr "" + +#: ../../source/tutorial/grabber.rst:30 +msgid "" +"NumPy's random value generator does not support dtype option and it " +"always resturns a ``float32`` value. We support the option in python-pcl " +"because cuRAND, which is used in python-pcl, supports any types of float " +"values." +msgstr "" + +#: ../../source/tutorial/grabber.rst:42 +msgid "Out-of-bounds indices" +msgstr "" + +#: ../../source/tutorial/grabber.rst:43 +msgid "" +"python-pcl handles out-of-bounds indices differently by default from " +"NumPy when using integer array indexing. NumPy handles them by raising an" +" error, but python-pcl wraps around them." +msgstr "" + +#: ../../source/tutorial/grabber.rst:59 +msgid "Duplicate values in indices" +msgstr "" + +#: ../../source/tutorial/grabber.rst:60 +msgid "" +"python-pcl's ``__setitem__`` behaves differently from NumPy when integer " +"arrays reference the same location multiple times. In that case, the " +"value that is actually stored is undefined. Here is an example of pcl-" +"python." +msgstr "" + +#: ../../source/tutorial/grabber.rst:72 +msgid "" +"NumPy stores the value corresponding to the last element among elements " +"referencing duplicate locations." +msgstr "" + +#: ../../source/tutorial/index.rst:2 +msgid "python-pcl Tutorial" +msgstr "" + +#: ../../source/tutorial/io.rst:2 +msgid "Input and Output" +msgstr "" + +#: ../../source/tutorial/io.rst:5 +msgid "NPZ files" +msgstr "" + +#: ../../:1 +msgid ":obj:`python-pcl.load `" +msgstr "" + +#: ../../:1 +msgid ":obj:`python-pcl.save `" +msgstr "" + +#: ../../:1 +msgid ":obj:`python-pcl.savez `" +msgstr "" + +#: ../../:1 +msgid ":obj:`python-pcl.savez_compressed `" +msgstr "" + +#: ../../source/tutorial/io.rst:18 +msgid "String formatting" +msgstr "" + +#: ../../:1 +msgid ":obj:`python-pcl.array_repr `" +msgstr "" + +#: ../../:1 +msgid ":obj:`python-pcl.array_str `" +msgstr "" + +#: ../../source/tutorial/io.rst:29 +msgid "Base-n representations" +msgstr "" + +#: ../../:1 +msgid ":obj:`python-pcl.base_repr `" +msgstr "" + +#: ../../source/tutorial/kdtree.rst:2 +msgid "NumPy-python-pcl Generic Code Support" +msgstr "" + +#: ../../:1 +msgid ":obj:`python-pcl.get_array_module `" +msgstr "" + +#: ../../source/tutorial/keypoint.rst:2 +msgid "Linear Algebra" +msgstr "" + +#: ../../source/tutorial/keypoint.rst:5 +msgid "Matrix and vector products" +msgstr "" + +#: ../../:1 +msgid ":obj:`python-pcl.dot `" +msgstr "" + +#: ../../:1 +msgid ":obj:`python-pcl.vdot `" +msgstr "" + +#: ../../:1 +msgid ":obj:`python-pcl.inner `" +msgstr "" + +#: ../../:1 +msgid ":obj:`python-pcl.outer `" +msgstr "" + +#: ../../:1 +msgid ":obj:`python-pcl.matmul `" +msgstr "" + +#: ../../:1 +msgid ":obj:`python-pcl.tensordot `" +msgstr "" + +#: ../../source/tutorial/keypoint.rst:20 +msgid "Decompositions" +msgstr "" + +#: ../../:1 +msgid ":obj:`python-pcl.linalg.cholesky `" +msgstr "" + +#: ../../:1 +msgid ":obj:`python-pcl.linalg.qr `" +msgstr "" + +#: ../../:1 +msgid ":obj:`python-pcl.linalg.svd `" +msgstr "" + +#: ../../source/tutorial/keypoint.rst:31 +msgid "Matrix eigenvalues" +msgstr "" + +#: ../../source/tutorial/keypoint.rst:37 +msgid "Norms etc." +msgstr "" + +#: ../../:1 +msgid ":obj:`python-pcl.linalg.norm `" +msgstr "" + +#: ../../:1 +msgid ":obj:`python-pcl.linalg.matrix_rank `" +msgstr "" + +#: ../../:1 +msgid ":obj:`python-pcl.linalg.slogdet `" +msgstr "" + +#: ../../:1 +msgid ":obj:`python-pcl.trace `" +msgstr "" + +#: ../../source/tutorial/octree.rst:2 +msgid "Logic Functions" +msgstr "" + +#: ../../source/tutorial/octree.rst:5 +msgid "Truth value testing" +msgstr "" + +#: ../../:1 +msgid ":obj:`python-pcl.all `" +msgstr "" + +#: ../../:1 +msgid ":obj:`python-pcl.any `" +msgstr "" + +#: ../../source/tutorial/octree.rst:16 +msgid "Infinities and NaNs" +msgstr "" + +#: ../../:1 +msgid ":obj:`python-pcl.isfinite `" +msgstr "" + +#: ../../:1 +msgid ":obj:`python-pcl.isinf `" +msgstr "" + +#: ../../:1 +msgid ":obj:`python-pcl.isnan `" +msgstr "" + +#: ../../source/tutorial/octree.rst:28 +msgid "Array type testing" +msgstr "" + +#: ../../:1 +msgid ":obj:`python-pcl.isscalar `" +msgstr "" + +#: ../../source/tutorial/octree.rst:39 +msgid "Logic operations" +msgstr "" + +#: ../../:1 +msgid ":obj:`python-pcl.logical_and `" +msgstr "" + +#: ../../:1 +msgid ":obj:`python-pcl.logical_or `" +msgstr "" + +#: ../../:1 +msgid ":obj:`python-pcl.logical_not `" +msgstr "" + +#: ../../:1 +msgid ":obj:`python-pcl.logical_xor `" +msgstr "" + +#: ../../source/tutorial/octree.rst:52 +msgid "Comparison operations" +msgstr "" + +#: ../../:1 +msgid ":obj:`python-pcl.greater `" +msgstr "" + +#: ../../:1 +msgid ":obj:`python-pcl.greater_equal `" +msgstr "" + +#: ../../:1 +msgid ":obj:`python-pcl.less `" +msgstr "" + +#: ../../:1 +msgid ":obj:`python-pcl.less_equal `" +msgstr "" + +#: ../../:1 +msgid ":obj:`python-pcl.equal `" +msgstr "" + +#: ../../:1 +msgid ":obj:`python-pcl.not_equal `" +msgstr "" + +#: ../../:1 +msgid ":obj:`VoxelGridFilter_PointXYZI `\\" +msgstr "" + +#: ../../:1 +msgid ":obj:`VoxelGridFilter_PointXYZRGB `\\" +msgstr "" + +#: ../../:1 +msgid ":obj:`VoxelGridFilter_PointXYZRGBA `\\" +msgstr "" + +#: ../../source/tutorial/registration.rst:2 +msgid "Array Manipulation Routines" +msgstr "" + +#: ../../source/tutorial/registration.rst:5 +msgid "Basic manipulations" +msgstr "" + +#: ../../:1 +msgid ":obj:`python-pcl.copyto `" +msgstr "" + +#: ../../source/tutorial/registration.rst:15 +msgid "Shape manipulation" +msgstr "" + +#: ../../:1 +msgid ":obj:`python-pcl.reshape `" +msgstr "" + +#: ../../:1 +msgid ":obj:`python-pcl.ravel `" +msgstr "" + +#: ../../source/tutorial/registration.rst:26 +msgid "Transposition" +msgstr "" + +#: ../../:1 +msgid ":obj:`python-pcl.rollaxis `" +msgstr "" + +#: ../../:1 +msgid ":obj:`python-pcl.swapaxes `" +msgstr "" + +#: ../../:1 +msgid ":obj:`python-pcl.transpose `" +msgstr "" + +#: ../../source/tutorial/registration.rst:38 +msgid "Edit dimensionalities" +msgstr "" + +#: ../../:1 +msgid ":obj:`python-pcl.atleast_1d `" +msgstr "" + +#: ../../:1 +msgid ":obj:`python-pcl.atleast_2d `" +msgstr "" + +#: ../../:1 +msgid ":obj:`python-pcl.atleast_3d `" +msgstr "" + +#: ../../:1 +msgid ":obj:`python-pcl.broadcast `" +msgstr "" + +#: ../../:1 +msgid ":obj:`python-pcl.broadcast_arrays `" +msgstr "" + +#: ../../:1 +msgid ":obj:`python-pcl.broadcast_to `" +msgstr "" + +#: ../../:1 +msgid ":obj:`python-pcl.expand_dims `" +msgstr "" + +#: ../../:1 +msgid ":obj:`python-pcl.squeeze `" +msgstr "" + +#: ../../source/tutorial/registration.rst:55 +msgid "Changing kind of array" +msgstr "" + +#: ../../:1 +msgid ":obj:`python-pcl.asfortranarray `" +msgstr "" + +#: ../../source/tutorial/registration.rst:68 +msgid "Joining arrays along axis" +msgstr "" + +#: ../../:1 +msgid ":obj:`python-pcl.concatenate `" +msgstr "" + +#: ../../:1 +msgid ":obj:`python-pcl.stack `" +msgstr "" + +#: ../../:1 +msgid ":obj:`python-pcl.column_stack `" +msgstr "" + +#: ../../:1 +msgid ":obj:`python-pcl.dstack `" +msgstr "" + +#: ../../:1 +msgid ":obj:`python-pcl.hstack `" +msgstr "" + +#: ../../:1 +msgid ":obj:`python-pcl.vstack `" +msgstr "" + +#: ../../source/tutorial/registration.rst:83 +msgid "Splitting arrays along axis" +msgstr "" + +#: ../../:1 +msgid ":obj:`python-pcl.split `" +msgstr "" + +#: ../../:1 +msgid ":obj:`python-pcl.array_split `" +msgstr "" + +#: ../../:1 +msgid ":obj:`python-pcl.dsplit `" +msgstr "" + +#: ../../:1 +msgid ":obj:`python-pcl.hsplit `" +msgstr "" + +#: ../../:1 +msgid ":obj:`python-pcl.vsplit `" +msgstr "" + +#: ../../source/tutorial/registration.rst:97 +msgid "Repeating part of arrays along axis" +msgstr "" + +#: ../../:1 +msgid ":obj:`python-pcl.tile `" +msgstr "" + +#: ../../:1 +msgid ":obj:`python-pcl.repeat `" +msgstr "" + +#: ../../source/tutorial/registration.rst:108 +msgid "Rearranging elements" +msgstr "" + +#: ../../:1 +msgid ":obj:`python-pcl.flip `" +msgstr "" + +#: ../../:1 +msgid ":obj:`python-pcl.fliplr `" +msgstr "" + +#: ../../:1 +msgid ":obj:`python-pcl.flipud `" +msgstr "" + +#: ../../:1 +msgid ":obj:`python-pcl.roll `" +msgstr "" + +#: ../../:1 +msgid ":obj:`python-pcl.rot90 `" +msgstr "" + +#: ../../source/tutorial/sampleconsensus.rst:2 +msgid "Mathematical Functions" +msgstr "" + +#: ../../source/tutorial/sampleconsensus.rst:5 +msgid "Trigonometric functions" +msgstr "" + +#: ../../:1 +msgid ":obj:`python-pcl.sin `" +msgstr "" + +#: ../../:1 +msgid ":obj:`python-pcl.cos `" +msgstr "" + +#: ../../:1 +msgid ":obj:`python-pcl.tan `" +msgstr "" + +#: ../../:1 +msgid ":obj:`python-pcl.arcsin `" +msgstr "" + +#: ../../:1 +msgid ":obj:`python-pcl.arccos `" +msgstr "" + +#: ../../:1 +msgid ":obj:`python-pcl.arctan `" +msgstr "" + +#: ../../:1 +msgid ":obj:`python-pcl.hypot `" +msgstr "" + +#: ../../:1 +msgid ":obj:`python-pcl.arctan2 `" +msgstr "" + +#: ../../:1 +msgid ":obj:`python-pcl.deg2rad `" +msgstr "" + +#: ../../:1 +msgid ":obj:`python-pcl.rad2deg `" +msgstr "" + +#: ../../:1 +msgid ":obj:`python-pcl.degrees `" +msgstr "" + +#: ../../:1 +msgid ":obj:`python-pcl.radians `" +msgstr "" + +#: ../../source/tutorial/sampleconsensus.rst:26 +msgid "Hyperbolic functions" +msgstr "" + +#: ../../:1 +msgid ":obj:`python-pcl.sinh `" +msgstr "" + +#: ../../:1 +msgid ":obj:`python-pcl.cosh `" +msgstr "" + +#: ../../:1 +msgid ":obj:`python-pcl.tanh `" +msgstr "" + +#: ../../:1 +msgid ":obj:`python-pcl.arcsinh `" +msgstr "" + +#: ../../:1 +msgid ":obj:`python-pcl.arccosh `" +msgstr "" + +#: ../../:1 +msgid ":obj:`python-pcl.arctanh `" +msgstr "" + +#: ../../source/tutorial/sampleconsensus.rst:41 +msgid "Rounding" +msgstr "" + +#: ../../:1 +msgid ":obj:`python-pcl.rint `" +msgstr "" + +#: ../../:1 +msgid ":obj:`python-pcl.floor `" +msgstr "" + +#: ../../:1 +msgid ":obj:`python-pcl.ceil `" +msgstr "" + +#: ../../:1 +msgid ":obj:`python-pcl.trunc `" +msgstr "" + +#: ../../:1 +msgid ":obj:`python-pcl.fix `" +msgstr "" + +#: ../../source/tutorial/sampleconsensus.rst:55 +msgid "Sums and products" +msgstr "" + +#: ../../:1 +msgid ":obj:`python-pcl.sum `" +msgstr "" + +#: ../../:1 +msgid ":obj:`python-pcl.prod `" +msgstr "" + +#: ../../:1 +msgid ":obj:`python-pcl.cumsum `" +msgstr "" + +#: ../../:1 +msgid ":obj:`python-pcl.cumprod `" +msgstr "" + +#: ../../source/tutorial/sampleconsensus.rst:68 +msgid "Exponential and logarithm functions" +msgstr "" + +#: ../../:1 +msgid ":obj:`python-pcl.exp `" +msgstr "" + +#: ../../:1 +msgid ":obj:`python-pcl.expm1 `" +msgstr "" + +#: ../../:1 +msgid ":obj:`python-pcl.exp2 `" +msgstr "" + +#: ../../:1 +msgid ":obj:`python-pcl.log `" +msgstr "" + +#: ../../:1 +msgid ":obj:`python-pcl.log10 `" +msgstr "" + +#: ../../:1 +msgid ":obj:`python-pcl.log2 `" +msgstr "" + +#: ../../:1 +msgid ":obj:`python-pcl.log1p `" +msgstr "" + +#: ../../:1 +msgid ":obj:`python-pcl.logaddexp `" +msgstr "" + +#: ../../:1 +msgid ":obj:`python-pcl.logaddexp2 `" +msgstr "" + +#: ../../source/tutorial/sampleconsensus.rst:86 +msgid "Floating point manipulations" +msgstr "" + +#: ../../:1 +msgid ":obj:`python-pcl.signbit `" +msgstr "" + +#: ../../:1 +msgid ":obj:`python-pcl.copysign `" +msgstr "" + +#: ../../:1 +msgid ":obj:`python-pcl.ldexp `" +msgstr "" + +#: ../../:1 +msgid ":obj:`python-pcl.frexp `" +msgstr "" + +#: ../../:1 +msgid ":obj:`python-pcl.nextafter `" +msgstr "" + +#: ../../source/tutorial/sampleconsensus.rst:100 +msgid "Arithmetic operations" +msgstr "" + +#: ../../:1 +msgid ":obj:`python-pcl.negative `" +msgstr "" + +#: ../../:1 +msgid ":obj:`python-pcl.add `" +msgstr "" + +#: ../../:1 +msgid ":obj:`python-pcl.subtract `" +msgstr "" + +#: ../../:1 +msgid ":obj:`python-pcl.multiply `" +msgstr "" + +#: ../../:1 +msgid ":obj:`python-pcl.divide `" +msgstr "" + +#: ../../:1 +msgid ":obj:`python-pcl.true_divide `" +msgstr "" + +#: ../../:1 +msgid ":obj:`python-pcl.floor_divide `" +msgstr "" + +#: ../../:1 +msgid ":obj:`python-pcl.power `" +msgstr "" + +#: ../../:1 +msgid ":obj:`python-pcl.fmod `" +msgstr "" + +#: ../../:1 +msgid ":obj:`python-pcl.mod `" +msgstr "" + +#: ../../:1 +msgid ":obj:`python-pcl.remainder `" +msgstr "" + +#: ../../:1 +msgid ":obj:`python-pcl.modf `" +msgstr "" + +#: ../../:1 +msgid ":obj:`python-pcl.reciprocal `" +msgstr "" + +#: ../../source/tutorial/sampleconsensus.rst:122 +msgid "Miscellaneous" +msgstr "" + +#: ../../:1 +msgid ":obj:`python-pcl.clip `" +msgstr "" + +#: ../../:1 +msgid ":obj:`python-pcl.sqrt `" +msgstr "" + +#: ../../:1 +msgid ":obj:`python-pcl.square `" +msgstr "" + +#: ../../:1 +msgid ":obj:`python-pcl.absolute `" +msgstr "" + +#: ../../:1 +msgid ":obj:`python-pcl.sign `" +msgstr "" + +#: ../../:1 +msgid ":obj:`python-pcl.maximum `" +msgstr "" + +#: ../../:1 +msgid ":obj:`python-pcl.minimum `" +msgstr "" + +#: ../../:1 +msgid ":obj:`python-pcl.fmax `" +msgstr "" + +#: ../../:1 +msgid ":obj:`python-pcl.fmin `" +msgstr "" + +#: ../../source/tutorial/segmentation.rst:2 +msgid "Kernel binary memoization" +msgstr "" + +#: ../../:1 +msgid ":obj:`python-pcl.memoize `" +msgstr "" + +#: ../../:1 +msgid ":obj:`python-pcl.clear_memo `" +msgstr "" + +#: ../../source/tutorial/surface.rst:2 +msgid "Multi-Dimensional Array (ndarray)" +msgstr "" + +#: ../../source/tutorial/surface.rst:4 +msgid "" +":class:`python-pcl.ndarray` is the python-pcl counterpart of NumPy " +":class:`numpy.ndarray`. It provides an intuitive interface for a fixed-" +"size multidimensional array which resides in a CUDA device." +msgstr "" + +#: ../../source/tutorial/surface.rst:8 +msgid "" +"For the basic concept of ``ndarray``\\s, please refer to the `NumPy " +"documentation " +"`_." +msgstr "" + +#: ../../:1 +msgid ":obj:`python-pcl.ndarray `" +msgstr "" + +#: ../../source/tutorial/surface.rst:19 +msgid "Code compatibility features" +msgstr "" + +#: ../../source/tutorial/surface.rst:21 +msgid "" +":class:`python-pcl.ndarray` is designed to be interchangeable with " +":class:`numpy.ndarray` in terms of code compatibility as much as " +"possible. But occasionally, you will need to know whether the arrays " +"you're handling are :class:`python-pcl.ndarray` or " +":class:`numpy.ndarray`. One example is when invoking module-level " +"functions such as :meth:`python-pcl.sum` or :meth:`numpy.sum`. In such " +"situations, :meth:`python-pcl.get_array_module` can be used." +msgstr "" + +#: ../../source/tutorial/surface.rst:34 +msgid "Conversion to/from NumPy arrays" +msgstr "" + +#: ../../source/tutorial/surface.rst:36 +msgid "" +":class:`python-pcl.ndarray` and :class:`numpy.ndarray` are not implicitly" +" convertible to each other. That means, NumPy functions cannot take " +":class:`python-pcl.ndarray`\\s as inputs, and vice versa." +msgstr "" + +#: ../../source/tutorial/surface.rst:39 +msgid "" +"To convert :class:`numpy.ndarray` to :class:`python-pcl.ndarray`, use " +":meth:`python-pcl.array` or :meth:`python-pcl.asarray`." +msgstr "" + +#: ../../source/tutorial/surface.rst:40 +msgid "" +"To convert :class:`python-pcl.ndarray` to :class:`numpy.ndarray`, use " +":meth:`python-pcl.asnumpy` or :meth:`python-pcl.ndarray.get`." +msgstr "" + +#: ../../source/tutorial/surface.rst:42 +msgid "" +"Note that converting between :class:`python-pcl.ndarray` and " +":class:`numpy.ndarray` incurs data transfer between the host (CPU) device" +" and the GPU device, which is costly in terms of performance." +msgstr "" + +#: ../../:1 +msgid ":obj:`python-pcl.asnumpy `" +msgstr "" + +#: ../../source/tutorial/testing.rst:2 +msgid "Testing Modules" +msgstr "" + +#: ../../source/tutorial/testing.rst:6 +msgid "" +"python-pcl offers testing utilities to support unit testing. They are " +"under namespace :mod:`python-pcl.testing`." +msgstr "" + +#: ../../source/tutorial/testing.rst:11 +msgid "Standard Assertions" +msgstr "" + +#: ../../source/tutorial/testing.rst:13 +msgid "" +"The assertions have same names as NumPy's ones. The difference from NumPy" +" is that they can accept both :class:`numpy.ndarray` and :class:`pcl-" +"python.ndarray`." +msgstr "" + +#: ../../:1 +msgid "" +":obj:`python-pcl.testing.assert_allclose `" +msgstr "" + +#: ../../:1 +msgid "" +":obj:`python-pcl.testing.assert_array_almost_equal `" +msgstr "" + +#: ../../:1 +msgid "" +":obj:`python-pcl.testing.assert_array_almost_equal_nulp `" +msgstr "" + +#: ../../:1 +msgid "" +":obj:`python-pcl.testing.assert_array_max_ulp `" +msgstr "" + +#: ../../:1 +msgid "" +":obj:`python-pcl.testing.assert_array_equal `" +msgstr "" + +#: ../../:1 +msgid "" +":obj:`python-pcl.testing.assert_array_list_equal `" +msgstr "" + +#: ../../:1 +msgid "" +":obj:`python-pcl.testing.assert_array_less `" +msgstr "" + +#: ../../source/tutorial/testing.rst:32 +msgid "NumPy-python-pcl Consistency Check" +msgstr "" + +#: ../../source/tutorial/testing.rst:34 +msgid "" +"The following decorators are for testing consistency between python-pcl's" +" functions and corresponding NumPy's ones." +msgstr "" + +#: ../../:1 +msgid "" +":obj:`python-pcl.testing.numpy_python-pcl_allclose `" +msgstr "" + +#: ../../:1 +msgid "" +":obj:`python-pcl.testing.numpy_python-pcl_array_almost_equal `" +msgstr "" + +#: ../../:1 +msgid "" +":obj:`python-pcl.testing.numpy_python-pcl_array_almost_equal_nulp `" +msgstr "" + +#: ../../:1 +msgid "" +":obj:`python-pcl.testing.numpy_python-pcl_array_max_ulp `" +msgstr "" + +#: ../../:1 +msgid "" +":obj:`python-pcl.testing.numpy_python-pcl_array_equal `" +msgstr "" + +#: ../../:1 +msgid "" +":obj:`python-pcl.testing.numpy_python-pcl_array_list_equal `" +msgstr "" + +#: ../../:1 +msgid "" +":obj:`python-pcl.testing.numpy_python-pcl_array_less `" +msgstr "" + +#: ../../:1 +msgid "" +":obj:`python-pcl.testing.numpy_python-pcl_raises `" +msgstr "" + +#: ../../source/tutorial/testing.rst:52 +msgid "Parameterized dtype Test" +msgstr "" + +#: ../../source/tutorial/testing.rst:54 +msgid "" +"The following decorators offer the standard way for parameterized test " +"with respect to single or the combination of dtype(s)." +msgstr "" + +#: ../../:1 +msgid ":obj:`python-pcl.testing.for_dtypes `" +msgstr "" + +#: ../../:1 +msgid "" +":obj:`python-pcl.testing.for_all_dtypes `" +msgstr "" + +#: ../../:1 +msgid "" +":obj:`python-pcl.testing.for_float_dtypes `" +msgstr "" + +#: ../../:1 +msgid "" +":obj:`python-pcl.testing.for_signed_dtypes `" +msgstr "" + +#: ../../:1 +msgid "" +":obj:`python-pcl.testing.for_unsigned_dtypes `" +msgstr "" + +#: ../../:1 +msgid "" +":obj:`python-pcl.testing.for_int_dtypes `" +msgstr "" + +#: ../../:1 +msgid "" +":obj:`python-pcl.testing.for_dtypes_combination `" +msgstr "" + +#: ../../:1 +msgid "" +":obj:`python-pcl.testing.for_all_dtypes_combination `" +msgstr "" + +#: ../../:1 +msgid "" +":obj:`python-pcl.testing.for_signed_dtypes_combination `" +msgstr "" + +#: ../../:1 +msgid "" +":obj:`python-pcl.testing.for_unsigned_dtypes_combination `" +msgstr "" + +#: ../../:1 +msgid "" +":obj:`python-pcl.testing.for_int_dtypes_combination `" +msgstr "" + +#: ../../source/tutorial/testing.rst:76 +msgid "Parameterized order Test" +msgstr "" + +#: ../../source/tutorial/testing.rst:77 +msgid "" +"The following decorators offer the standard way to parameterize tests " +"with orders." +msgstr "" + +#: ../../:1 +msgid ":obj:`python-pcl.testing.for_orders `" +msgstr "" + +#: ../../:1 +msgid ":obj:`python-pcl.testing.for_CF_orders `" +msgstr "" + +#: ../../source/tutorial/tracking.rst:2 +msgid "Padding" +msgstr "" + +#: ../../:1 +msgid ":obj:`python-pcl.pad `" +msgstr "" + +#: ../../source/tutorial/visualization.rst:2 +msgid "Profiling" +msgstr "" + +#: ../../source/tutorial/visualization.rst:5 +msgid "time range" +msgstr "" + +#: ../../:1 +msgid "" +":obj:`python-pcl.prof.TimeRangeDecorator `" +msgstr "" + +#: ../../:1 +msgid ":obj:`python-pcl.prof.time_range `" +msgstr "" + +#~ msgid "Decode of python-pcl" +#~ msgstr "" + +#~ msgid "In this section, you will learn about the following things:" +#~ msgstr "" + +#~ msgid "Decode of :class:`python-pcl`" +#~ msgstr "" + +#~ msgid "The concept of *current device*" +#~ msgstr "" + +#~ msgid "host-device and device-device array transfer" +#~ msgstr "" + +#~ msgid "Encode of python-pcl" +#~ msgstr "" + +#~ msgid "" +#~ "python-pcl is a GPU array backend" +#~ " that implements a subset of NumPy" +#~ " interface. In the following code, cp" +#~ " is an abbreviation of python-pcl," +#~ " as np is numpy as is " +#~ "customarily done:" +#~ msgstr "" + +#~ msgid "" +#~ "The :class:`python-pcl.ndarray` class is " +#~ "in its core, which is a compatible" +#~ " GPU alternative of :class:`numpy.ndarray`." +#~ msgstr "" + +#~ msgid "" +#~ "``x_gpu`` in the above example is " +#~ "an instance of :class:`python-pcl.ndarray`." +#~ " You can see its creation of " +#~ "identical to ``NumPy``'s one, except " +#~ "that ``numpy`` is replaced with " +#~ "``python-pcl``. The main difference of " +#~ ":class:`python-pcl.ndarray` from " +#~ ":class:`numpy.ndarray` is that the content " +#~ "is allocated on the device memory. " +#~ "Its data is allocated on the " +#~ "*current device*, which will be " +#~ "explained later." +#~ msgstr "" + +#~ msgid "" +#~ "Most of array manipulations are also " +#~ "do in the way similar to NumPy." +#~ " Take the Euclidean norm (a.k.a L2" +#~ " norm) for example. NumPy has " +#~ "`numpy.lina.g.norm` to calculate it on " +#~ "CPU." +#~ msgstr "" + +#~ msgid "We can calculate it on GPU with python-pcl in a similar way:" +#~ msgstr "" + +#~ msgid "" +#~ "python-pcl implements many functions on" +#~ " :class:`python-pcl.ndarray` objects. See " +#~ "the :ref:`reference ` " +#~ "for the supported subset of NumPy " +#~ "API. Understanding NumPy might help " +#~ "utilizing most features of python-pcl." +#~ " So, we recommend you to read " +#~ "the `NumPy documentation " +#~ "`_." +#~ msgstr "" + +#~ msgid "Current Device" +#~ msgstr "" + +#~ msgid "" +#~ "python-pcl has a concept of the" +#~ " *current device*, which is the " +#~ "default device on which the allocation," +#~ " manipulation, calculation etc. of arrays" +#~ " are taken place. Suppose the ID " +#~ "of current device is 0. The " +#~ "following code allocates array contents " +#~ "on GPU 0." +#~ msgstr "" + +#~ msgid "" +#~ "The current device can be changed " +#~ "by :class:`python-pcl.cuda.Device.use()` as " +#~ "follows:" +#~ msgstr "" + +#~ msgid "" +#~ "If you switch the current GPU " +#~ "temporarily, *with* statement comes in " +#~ "handy." +#~ msgstr "" + +#~ msgid "" +#~ "Most operations of python-pcl is " +#~ "done on the current device. Be " +#~ "careful that if processing of an " +#~ "array on a non-current device will" +#~ " cause an error:" +#~ msgstr "" + +#~ msgid "" +#~ "``python-pcl.ndarray.device`` attribute indicates" +#~ " the device on which the array " +#~ "is allocated." +#~ msgstr "" + +#~ msgid "" +#~ "If the environment has only one " +#~ "device, such explicit device switching " +#~ "is not needed." +#~ msgstr "" + +#~ msgid "Data Transfer" +#~ msgstr "" + +#~ msgid "Move arrays to a device" +#~ msgstr "" + +#~ msgid "" +#~ ":func:`python-pcl.asarray` can be used " +#~ "to move a :class:`numpy.ndarray`, a " +#~ "list, or any object that can be" +#~ " passed to :func:`numpy.array` to the " +#~ "current device:" +#~ msgstr "" + +#~ msgid "" +#~ ":func:`python-pcl.asarray` can accept :class" +#~ ":`python-pcl.ndarray`, which means we can" +#~ " transfer the array between devices " +#~ "with this function." +#~ msgstr "" + +#~ msgid "" +#~ ":func:`python-pcl.asarray` does not copy " +#~ "the input array if possible. So, " +#~ "if you put an array of the " +#~ "current device, it returns the input " +#~ "object itself." +#~ msgstr "" + +#~ msgid "" +#~ "If we do copy the array in " +#~ "this situation, you can use :func" +#~ ":`python-pcl.array` with `copy=True`. Actually" +#~ " :func:`python-pcl.asarray` is equivalent " +#~ "to `python-pcl.array(arr, dtype, copy=False)`." +#~ msgstr "" + +#~ msgid "Move array from a device to the host" +#~ msgstr "" + +#~ msgid "" +#~ "Moving a device array to the host" +#~ " can be done by :func:`pcl-" +#~ "python.asnumpy` as follows:" +#~ msgstr "" + +#~ msgid "We can also use :meth:`python-pcl.ndarray.get()`:" +#~ msgstr "" + +#~ msgid "" +#~ "If you work with python-pcl, you can" +#~ " also use :func:`~python-pcl.cuda.to_cpu` and " +#~ ":func:`~python-pcl.cuda.to_gpu` to move arrays " +#~ "back and forth between a device " +#~ "and a host, or between different " +#~ "devices. Note that :func:`~python-pcl.cuda.to_gpu` " +#~ "has ``device`` option to specify the " +#~ "device which arrays are transferred." +#~ msgstr "" + +#~ msgid "How to write CPU/GPU agnostic code" +#~ msgstr "" + +#~ msgid "" +#~ "The compatibility of python-pcl with " +#~ "NumPy enables us to write CPU/GPU " +#~ "generic code. It can be made easy" +#~ " by the :func:`python-pcl.get_array_module` " +#~ "function. This function returns the " +#~ ":mod:`numpy` or :mod:`python-pcl` module " +#~ "based on arguments. A CPU/GPU generic" +#~ " function is defined using it like" +#~ " follows:" +#~ msgstr "" + +#~ msgid "Encode of :class:`python-pcl.ndarray`" +#~ msgstr "" + diff --git a/docs/source/locale/ja/LC_MESSAGES/tutorial.pot b/docs/source/locale/ja/LC_MESSAGES/tutorial.pot new file mode 100644 index 000000000..37287c342 --- /dev/null +++ b/docs/source/locale/ja/LC_MESSAGES/tutorial.pot @@ -0,0 +1,1336 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2017, Tooru Oonuma. +# This file is distributed under the same license as the python-pcl package. +# FIRST AUTHOR , YEAR. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: python-pcl 0.0.1.dev0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-07-31 13:25+0900\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: ..\..\source\tutorial\common.rst:2 +msgid "Common Operations" +msgstr "" + +#: ..\..\source\tutorial\common.rst:5 +msgid "Elementwise bit operations" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.bitwise_and `" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.bitwise_or `" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.bitwise_xor `" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.invert `" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.left_shift `" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.right_shift `" +msgstr "" + +#: ..\..\source\tutorial\common.rst:20 +msgid "Bit packing" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.packbits `" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.unpackbits `" +msgstr "" + +#: ..\..\source\tutorial\common.rst:31 +msgid "Output formatting" +msgstr "" + +#: ..\..\:1 +#: ..\..\:1 +msgid ":obj:`python-pcl.binary_repr `" +msgstr "" + +#: ..\..\source\tutorial\features.rst:2 +msgid "Array Creation Routines" +msgstr "" + +#: ..\..\source\tutorial\features.rst:5 +msgid "Basic creation routines" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.empty `" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.empty_like `" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.eye `" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.identity `" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.ones `" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.ones_like `" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.zeros `" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.zeros_like `" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.full `" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.full_like `" +msgstr "" + +#: ..\..\source\tutorial\features.rst:24 +msgid "Creation from other data" +msgstr "" + +#: ..\..\:1 +#: ..\..\:1 +msgid ":obj:`python-pcl.array `" +msgstr "" + +#: ..\..\:1 +#: ..\..\:1 +#: ..\..\:1 +msgid ":obj:`python-pcl.asarray `" +msgstr "" + +#: ..\..\:1 +#: ..\..\:1 +msgid ":obj:`python-pcl.asanyarray `" +msgstr "" + +#: ..\..\:1 +#: ..\..\:1 +msgid ":obj:`python-pcl.ascontiguousarray `" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.copy `" +msgstr "" + +#: ..\..\source\tutorial\features.rst:38 +msgid "Numerical ranges" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.arange `" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.linspace `" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.logspace `" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.meshgrid `" +msgstr "" + +#: ..\..\source\tutorial\features.rst:51 +msgid "Matrix creation" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.diag `" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.diagflat `" +msgstr "" + +#: ..\..\source\tutorial\filters.rst:2 +msgid "Low-Level CUDA Support" +msgstr "" + +#: ..\..\source\tutorial\filters.rst:5 +msgid "Device management" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.cuda.Device `" +msgstr "" + +#: ..\..\source\tutorial\filters.rst:15 +msgid "Memory management" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.cuda.Memory `" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.cuda.MemoryPointer `" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.cuda.alloc `" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.cuda.set_allocator `" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.cuda.MemoryPool `" +msgstr "" + +#: ..\..\source\tutorial\filters.rst:29 +msgid "Streams and events" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.cuda.Stream `" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.cuda.Event `" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.cuda.get_elapsed_time `" +msgstr "" + +#: ..\..\source\tutorial\filters.rst:41 +msgid "Profiler" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.cuda.profile `" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.cuda.profiler.initialize `" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.cuda.profiler.start `" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.cuda.profiler.stop `" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.cuda.nvtx.Mark `" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.cuda.nvtx.MarkC `" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.cuda.nvtx.RangePush `" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.cuda.nvtx.RangePushC `" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.cuda.nvtx.RangePop `" +msgstr "" + +#: ..\..\source\tutorial\generated\pcl.rst:2 +#: ..\..\source\tutorial\pcl.rst:2 +msgid "pcl" +msgstr "" + +#: ..\..\source\tutorial\generated\pcl.rst:9 +#: ..\..\source\tutorial\pcl.rst:9 +msgid "Functions" +msgstr "" + +#: ..\..\:1 +#: ..\..\:1 +msgid ":obj:`load `\\ (path[, format])" +msgstr "" + +#: ..\..\:1 +#: ..\..\:1 +#: ..\..\:1 +#: ..\..\:1 +#: ..\..\:1 +#: ..\..\:1 +#: ..\..\:1 +#: ..\..\:1 +#: ..\..\:1 +#: ..\..\:1 +#: ..\..\:1 +#: ..\..\:1 +msgid "Load pointcloud from path." +msgstr "" + +#: ..\..\:1 +#: ..\..\:1 +msgid ":obj:`load2 `\\ (path[, format])" +msgstr "" + +#: ..\..\:1 +#: ..\..\:1 +msgid ":obj:`load_PointWithViewpoint `\\ (path[, format])" +msgstr "" + +#: ..\..\:1 +#: ..\..\:1 +msgid ":obj:`load_XYZI `\\ (path[, format])" +msgstr "" + +#: ..\..\:1 +#: ..\..\:1 +msgid ":obj:`load_XYZRGB `\\ (path[, format])" +msgstr "" + +#: ..\..\:1 +#: ..\..\:1 +msgid ":obj:`load_XYZRGBA `\\ (path[, format])" +msgstr "" + +#: ..\..\:1 +#: ..\..\:1 +msgid ":obj:`save `\\ (cloud, path[, format, binary])" +msgstr "" + +#: ..\..\:1 +#: ..\..\:1 +#: ..\..\:1 +#: ..\..\:1 +#: ..\..\:1 +#: ..\..\:1 +msgid "Save pointcloud to file." +msgstr "" + +#: ..\..\:1 +#: ..\..\:1 +msgid ":obj:`save2 `\\ (cloud, path[, format, binary])" +msgstr "" + +#: ..\..\:1 +#: ..\..\:1 +msgid "Save PointCloud_PointCloud2 to file." +msgstr "" + +#: ..\..\:1 +#: ..\..\:1 +msgid ":obj:`save_PointNormal `\\ (cloud, path[, format, binary])" +msgstr "" + +#: ..\..\:1 +#: ..\..\:1 +msgid ":obj:`save_XYZRGBA `\\ (cloud, path[, format, binary])" +msgstr "" + +#: ..\..\source\tutorial\generated\pcl.rst:30 +#: ..\..\source\tutorial\pcl.rst:30 +msgid "Classes" +msgstr "" + +#: ..\..\source\tutorial\grabber.rst:2 +msgid "Difference between python-pcl and NumPy" +msgstr "" + +#: ..\..\source\tutorial\grabber.rst:4 +msgid "The interface of python-pcl is designed to obey that of NumPy. However, there are some differeneces." +msgstr "" + +#: ..\..\source\tutorial\grabber.rst:9 +msgid "Cast behavior from float to integer" +msgstr "" + +#: ..\..\source\tutorial\grabber.rst:11 +msgid "Some casting behaviors from float to integer are not defined in C++ specification. The casting from a negative float to unsigned integer and infinity to integer is one of such eamples. The behavior of NumPy depends on your CPU architecture. This is Intel CPU result." +msgstr "" + +#: ..\..\source\tutorial\grabber.rst:28 +msgid "Random methods support dtype argument" +msgstr "" + +#: ..\..\source\tutorial\grabber.rst:30 +msgid "NumPy's random value generator does not support dtype option and it always resturns a ``float32`` value. We support the option in python-pcl because cuRAND, which is used in python-pcl, supports any types of float values." +msgstr "" + +#: ..\..\source\tutorial\grabber.rst:42 +msgid "Out-of-bounds indices" +msgstr "" + +#: ..\..\source\tutorial\grabber.rst:43 +msgid "python-pcl handles out-of-bounds indices differently by default from NumPy when using integer array indexing. NumPy handles them by raising an error, but python-pcl wraps around them." +msgstr "" + +#: ..\..\source\tutorial\grabber.rst:59 +msgid "Duplicate values in indices" +msgstr "" + +#: ..\..\source\tutorial\grabber.rst:60 +msgid "python-pcl's ``__setitem__`` behaves differently from NumPy when integer arrays reference the same location multiple times. In that case, the value that is actually stored is undefined. Here is an example of python-pcl." +msgstr "" + +#: ..\..\source\tutorial\grabber.rst:72 +msgid "NumPy stores the value corresponding to the last element among elements referencing duplicate locations." +msgstr "" + +#: ..\..\source\tutorial\index.rst:2 +msgid "python-pcl Tutorial" +msgstr "" + +#: ..\..\source\tutorial\io.rst:2 +msgid "Input and Output" +msgstr "" + +#: ..\..\source\tutorial\io.rst:5 +msgid "NPZ files" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.load `" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.save `" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.savez `" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.savez_compressed `" +msgstr "" + +#: ..\..\source\tutorial\io.rst:18 +msgid "String formatting" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.array_repr `" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.array_str `" +msgstr "" + +#: ..\..\source\tutorial\io.rst:29 +msgid "Base-n representations" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.base_repr `" +msgstr "" + +#: ..\..\source\tutorial\kdtree.rst:2 +msgid "NumPy-python-pcl Generic Code Support" +msgstr "" + +#: ..\..\:1 +#: ..\..\:1 +msgid ":obj:`python-pcl.get_array_module `" +msgstr "" + +#: ..\..\source\tutorial\keypoint.rst:2 +msgid "Linear Algebra" +msgstr "" + +#: ..\..\source\tutorial\keypoint.rst:5 +msgid "Matrix and vector products" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.dot `" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.vdot `" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.inner `" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.outer `" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.matmul `" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.tensordot `" +msgstr "" + +#: ..\..\source\tutorial\keypoint.rst:20 +msgid "Decompositions" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.linalg.cholesky `" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.linalg.qr `" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.linalg.svd `" +msgstr "" + +#: ..\..\source\tutorial\keypoint.rst:31 +msgid "Matrix eigenvalues" +msgstr "" + +#: ..\..\source\tutorial\keypoint.rst:37 +msgid "Norms etc." +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.linalg.norm `" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.linalg.matrix_rank `" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.linalg.slogdet `" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.trace `" +msgstr "" + +#: ..\..\source\tutorial\octree.rst:2 +msgid "Logic Functions" +msgstr "" + +#: ..\..\source\tutorial\octree.rst:5 +msgid "Truth value testing" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.all `" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.any `" +msgstr "" + +#: ..\..\source\tutorial\octree.rst:16 +msgid "Infinities and NaNs" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.isfinite `" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.isinf `" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.isnan `" +msgstr "" + +#: ..\..\source\tutorial\octree.rst:28 +msgid "Array type testing" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.isscalar `" +msgstr "" + +#: ..\..\source\tutorial\octree.rst:39 +msgid "Logic operations" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.logical_and `" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.logical_or `" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.logical_not `" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.logical_xor `" +msgstr "" + +#: ..\..\source\tutorial\octree.rst:52 +msgid "Comparison operations" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.greater `" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.greater_equal `" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.less `" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.less_equal `" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.equal `" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.not_equal `" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`VoxelGridFilter_PointXYZI `\\" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`VoxelGridFilter_PointXYZRGB `\\" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`VoxelGridFilter_PointXYZRGBA `\\" +msgstr "" + +#: ..\..\source\tutorial\registration.rst:2 +msgid "Array Manipulation Routines" +msgstr "" + +#: ..\..\source\tutorial\registration.rst:5 +msgid "Basic manipulations" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.copyto `" +msgstr "" + +#: ..\..\source\tutorial\registration.rst:15 +msgid "Shape manipulation" +msgstr "" + +#: ..\..\:1 +#: ..\..\:1 +msgid ":obj:`python-pcl.reshape `" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.ravel `" +msgstr "" + +#: ..\..\source\tutorial\registration.rst:26 +msgid "Transposition" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.rollaxis `" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.swapaxes `" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.transpose `" +msgstr "" + +#: ..\..\source\tutorial\registration.rst:38 +msgid "Edit dimensionalities" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.atleast_1d `" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.atleast_2d `" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.atleast_3d `" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.broadcast `" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.broadcast_arrays `" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.broadcast_to `" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.expand_dims `" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.squeeze `" +msgstr "" + +#: ..\..\source\tutorial\registration.rst:55 +msgid "Changing kind of array" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.asfortranarray `" +msgstr "" + +#: ..\..\source\tutorial\registration.rst:68 +msgid "Joining arrays along axis" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.concatenate `" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.stack `" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.column_stack `" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.dstack `" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.hstack `" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.vstack `" +msgstr "" + +#: ..\..\source\tutorial\registration.rst:83 +msgid "Splitting arrays along axis" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.split `" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.array_split `" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.dsplit `" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.hsplit `" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.vsplit `" +msgstr "" + +#: ..\..\source\tutorial\registration.rst:97 +msgid "Repeating part of arrays along axis" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.tile `" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.repeat `" +msgstr "" + +#: ..\..\source\tutorial\registration.rst:108 +msgid "Rearranging elements" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.flip `" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.fliplr `" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.flipud `" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.roll `" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.rot90 `" +msgstr "" + +#: ..\..\source\tutorial\sampleconsensus.rst:2 +msgid "Mathematical Functions" +msgstr "" + +#: ..\..\source\tutorial\sampleconsensus.rst:5 +msgid "Trigonometric functions" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.sin `" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.cos `" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.tan `" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.arcsin `" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.arccos `" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.arctan `" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.hypot `" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.arctan2 `" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.deg2rad `" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.rad2deg `" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.degrees `" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.radians `" +msgstr "" + +#: ..\..\source\tutorial\sampleconsensus.rst:26 +msgid "Hyperbolic functions" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.sinh `" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.cosh `" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.tanh `" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.arcsinh `" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.arccosh `" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.arctanh `" +msgstr "" + +#: ..\..\source\tutorial\sampleconsensus.rst:41 +msgid "Rounding" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.rint `" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.floor `" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.ceil `" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.trunc `" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.fix `" +msgstr "" + +#: ..\..\source\tutorial\sampleconsensus.rst:55 +msgid "Sums and products" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.sum `" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.prod `" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.cumsum `" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.cumprod `" +msgstr "" + +#: ..\..\source\tutorial\sampleconsensus.rst:68 +msgid "Exponential and logarithm functions" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.exp `" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.expm1 `" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.exp2 `" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.log `" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.log10 `" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.log2 `" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.log1p `" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.logaddexp `" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.logaddexp2 `" +msgstr "" + +#: ..\..\source\tutorial\sampleconsensus.rst:86 +msgid "Floating point manipulations" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.signbit `" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.copysign `" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.ldexp `" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.frexp `" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.nextafter `" +msgstr "" + +#: ..\..\source\tutorial\sampleconsensus.rst:100 +msgid "Arithmetic operations" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.negative `" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.add `" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.subtract `" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.multiply `" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.divide `" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.true_divide `" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.floor_divide `" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.power `" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.fmod `" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.mod `" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.remainder `" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.modf `" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.reciprocal `" +msgstr "" + +#: ..\..\source\tutorial\sampleconsensus.rst:122 +msgid "Miscellaneous" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.clip `" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.sqrt `" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.square `" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.absolute `" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.sign `" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.maximum `" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.minimum `" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.fmax `" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.fmin `" +msgstr "" + +#: ..\..\source\tutorial\segmentation.rst:2 +msgid "Kernel binary memoization" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.memoize `" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.clear_memo `" +msgstr "" + +#: ..\..\source\tutorial\surface.rst:2 +msgid "Multi-Dimensional Array (ndarray)" +msgstr "" + +#: ..\..\source\tutorial\surface.rst:4 +msgid ":class:`python-pcl.ndarray` is the python-pcl counterpart of NumPy :class:`numpy.ndarray`. It provides an intuitive interface for a fixed-size multidimensional array which resides in a CUDA device." +msgstr "" + +#: ..\..\source\tutorial\surface.rst:8 +msgid "For the basic concept of ``ndarray``\\s, please refer to the `NumPy documentation `_." +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.ndarray `" +msgstr "" + +#: ..\..\source\tutorial\surface.rst:19 +msgid "Code compatibility features" +msgstr "" + +#: ..\..\source\tutorial\surface.rst:21 +msgid ":class:`python-pcl.ndarray` is designed to be interchangeable with :class:`numpy.ndarray` in terms of code compatibility as much as possible. But occasionally, you will need to know whether the arrays you're handling are :class:`python-pcl.ndarray` or :class:`numpy.ndarray`. One example is when invoking module-level functions such as :meth:`python-pcl.sum` or :meth:`numpy.sum`. In such situations, :meth:`python-pcl.get_array_module` can be used." +msgstr "" + +#: ..\..\source\tutorial\surface.rst:34 +msgid "Conversion to/from NumPy arrays" +msgstr "" + +#: ..\..\source\tutorial\surface.rst:36 +msgid ":class:`python-pcl.ndarray` and :class:`numpy.ndarray` are not implicitly convertible to each other. That means, NumPy functions cannot take :class:`python-pcl.ndarray`\\s as inputs, and vice versa." +msgstr "" + +#: ..\..\source\tutorial\surface.rst:39 +msgid "To convert :class:`numpy.ndarray` to :class:`python-pcl.ndarray`, use :meth:`python-pcl.array` or :meth:`python-pcl.asarray`." +msgstr "" + +#: ..\..\source\tutorial\surface.rst:40 +msgid "To convert :class:`python-pcl.ndarray` to :class:`numpy.ndarray`, use :meth:`python-pcl.asnumpy` or :meth:`python-pcl.ndarray.get`." +msgstr "" + +#: ..\..\source\tutorial\surface.rst:42 +msgid "Note that converting between :class:`python-pcl.ndarray` and :class:`numpy.ndarray` incurs data transfer between the host (CPU) device and the GPU device, which is costly in terms of performance." +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.asnumpy `" +msgstr "" + +#: ..\..\source\tutorial\testing.rst:2 +msgid "Testing Modules" +msgstr "" + +#: ..\..\source\tutorial\testing.rst:6 +msgid "python-pcl offers testing utilities to support unit testing. They are under namespace :mod:`python-pcl.testing`." +msgstr "" + +#: ..\..\source\tutorial\testing.rst:11 +msgid "Standard Assertions" +msgstr "" + +#: ..\..\source\tutorial\testing.rst:13 +msgid "The assertions have same names as NumPy's ones. The difference from NumPy is that they can accept both :class:`numpy.ndarray` and :class:`python-pcl.ndarray`." +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.testing.assert_allclose `" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.testing.assert_array_almost_equal `" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.testing.assert_array_almost_equal_nulp `" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.testing.assert_array_max_ulp `" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.testing.assert_array_equal `" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.testing.assert_array_list_equal `" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.testing.assert_array_less `" +msgstr "" + +#: ..\..\source\tutorial\testing.rst:32 +msgid "NumPy-python-pcl Consistency Check" +msgstr "" + +#: ..\..\source\tutorial\testing.rst:34 +msgid "The following decorators are for testing consistency between python-pcl's functions and corresponding NumPy's ones." +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.testing.numpy_python-pcl_allclose `" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.testing.numpy_python-pcl_array_almost_equal `" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.testing.numpy_python-pcl_array_almost_equal_nulp `" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.testing.numpy_python-pcl_array_max_ulp `" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.testing.numpy_python-pcl_array_equal `" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.testing.numpy_python-pcl_array_list_equal `" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.testing.numpy_python-pcl_array_less `" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.testing.numpy_python-pcl_raises `" +msgstr "" + +#: ..\..\source\tutorial\testing.rst:52 +msgid "Parameterized dtype Test" +msgstr "" + +#: ..\..\source\tutorial\testing.rst:54 +msgid "The following decorators offer the standard way for parameterized test with respect to single or the combination of dtype(s)." +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.testing.for_dtypes `" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.testing.for_all_dtypes `" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.testing.for_float_dtypes `" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.testing.for_signed_dtypes `" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.testing.for_unsigned_dtypes `" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.testing.for_int_dtypes `" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.testing.for_dtypes_combination `" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.testing.for_all_dtypes_combination `" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.testing.for_signed_dtypes_combination `" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.testing.for_unsigned_dtypes_combination `" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.testing.for_int_dtypes_combination `" +msgstr "" + +#: ..\..\source\tutorial\testing.rst:76 +msgid "Parameterized order Test" +msgstr "" + +#: ..\..\source\tutorial\testing.rst:77 +msgid "The following decorators offer the standard way to parameterize tests with orders." +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.testing.for_orders `" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.testing.for_CF_orders `" +msgstr "" + +#: ..\..\source\tutorial\tracking.rst:2 +msgid "Padding" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.pad `" +msgstr "" + +#: ..\..\source\tutorial\visualization.rst:2 +msgid "Profiling" +msgstr "" + +#: ..\..\source\tutorial\visualization.rst:5 +msgid "time range" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.prof.TimeRangeDecorator `" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.prof.time_range `" +msgstr "" + diff --git a/docs/source/locale/pot/compatibility.pot b/docs/source/locale/pot/compatibility.pot new file mode 100644 index 000000000..122f39cf5 --- /dev/null +++ b/docs/source/locale/pot/compatibility.pot @@ -0,0 +1,218 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2017, Tooru Oonuma. +# This file is distributed under the same license as the python-pcl package. +# FIRST AUTHOR , YEAR. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: python-pcl 0.0.1.dev0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-07-31 13:25+0900\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: ..\..\source\compatibility.rst:2 +msgid "API Compatibility Policy" +msgstr "" + +#: ..\..\source\compatibility.rst:4 +msgid "This document expresses the design policy on compatibilities of python-pcl APIs. Development team should obey this policy on deciding to add, extend, and change APIs and their behaviors." +msgstr "" + +#: ..\..\source\compatibility.rst:7 +msgid "This document is written for both users and developers. Users can decide the level of dependencies on python-pcl implementations in their codes based on this document. Developers should read through this document before creating pull requests that contain changes on the interface. Note that this document may contain ambiguities on the level of supported compatibilities." +msgstr "" + +#: ..\..\source\compatibility.rst:14 +msgid "Versioning and Backward Compatibilities" +msgstr "" + +#: ..\..\source\compatibility.rst:16 +msgid "The updates of python-pcl are classified into three levels: major, minor, and revision. These types have distinct levels of backward compatibilities." +msgstr "" + +#: ..\..\source\compatibility.rst:19 +msgid "**Major update** contains disruptive changes that break the backward compatibility." +msgstr "" + +#: ..\..\source\compatibility.rst:20 +msgid "**Minor update** contains addition and extension to the APIs keeping the supported backward compatibility." +msgstr "" + +#: ..\..\source\compatibility.rst:21 +msgid "**Revision update** contains improvements on the API implementations without changing any API specifications." +msgstr "" + +#: ..\..\source\compatibility.rst:23 +msgid "Note that we do not support full backward compatibility, which is almost infeasible for Python-based APIs, since there is no way to completely hide the implementation details." +msgstr "" + +#: ..\..\source\compatibility.rst:27 +msgid "Processes to Break Backward Compatibilities" +msgstr "" + +#: ..\..\source\compatibility.rst:30 +msgid "Deprecation, Dropping, and Its Preparation" +msgstr "" + +#: ..\..\source\compatibility.rst:32 +msgid "Any APIs may be *deprecated* at some minor updates. In such a case, the deprecation note is added to the API documentation, and the API implementation is changed to fire deprecation warning (if possible). There should be another way to reimplement the same things previously written with the deprecated APIs." +msgstr "" + +#: ..\..\source\compatibility.rst:36 +msgid "Any APIs may be marked as *to be dropped in the future*. In such a case, the dropping is stated in the documentation with the major version number on which the API is planned to be dropped, and the API implementation is changed to fire the future warning (if possible)." +msgstr "" + +#: ..\..\source\compatibility.rst:39 +msgid "The actual dropping should be done through the following steps:" +msgstr "" + +#: ..\..\source\compatibility.rst:41 +msgid "Make the API deprecated. At this point, users should not need the deprecated API in their new application codes." +msgstr "" + +#: ..\..\source\compatibility.rst:43 +msgid "After that, mark the API as *to be dropped in the future*. It must be done in the minor update different from that of the deprecation." +msgstr "" + +#: ..\..\source\compatibility.rst:45 +msgid "At the major version announced in the above update, drop the API." +msgstr "" + +#: ..\..\source\compatibility.rst:47 +msgid "Consequently, it takes at least two minor versions to drop any APIs after the first deprecation." +msgstr "" + +#: ..\..\source\compatibility.rst:50 +msgid "API Changes and Its Preparation" +msgstr "" + +#: ..\..\source\compatibility.rst:52 +msgid "Any APIs may be marked as *to be changed in the future* for changes without backward compatibility. In such a case, the change is stated in the documentation with the version number on which the API is planned to be changed, and the API implementation is changed to fire the future warning on the certain usages." +msgstr "" + +#: ..\..\source\compatibility.rst:55 +msgid "The actual change should be done in the following steps:" +msgstr "" + +#: ..\..\source\compatibility.rst:57 +msgid "Announce that the API will be changed in the future. At this point, the actual version of change need not be accurate." +msgstr "" + +#: ..\..\source\compatibility.rst:59 +msgid "After the announcement, mark the API as *to be changed in the future* with version number of planned changes. At this point, users should not use the marked API in their new application codes." +msgstr "" + +#: ..\..\source\compatibility.rst:61 +msgid "At the major update announced in the above update, change the API." +msgstr "" + +#: ..\..\source\compatibility.rst:65 +msgid "Supported Backward Compatibility" +msgstr "" + +#: ..\..\source\compatibility.rst:67 +msgid "This section defines backward compatibilities that minor updates must maintain." +msgstr "" + +#: ..\..\source\compatibility.rst:70 +msgid "Documented Interface" +msgstr "" + +#: ..\..\source\compatibility.rst:72 +msgid "python-pcl has the official API documentation. Many applications can be written based on the documented features. We support backward compatibilities of documented features. In other words, codes only based on the documented features run correctly with minor/revision-updated versions." +msgstr "" + +#: ..\..\source\compatibility.rst:77 +msgid "Developers are encouraged to use apparent names for objects of implementation details. For example, attributes outside of the documented APIs should have one or more underscores at the prefix of their names." +msgstr "" + +#: ..\..\source\compatibility.rst:83 +msgid "Undocumented behaviors" +msgstr "" + +#: ..\..\source\compatibility.rst:85 +msgid "Behaviors of python-pcl implementation not stated in the documentation are undefined. Undocumented behaviors are not guaranteed to be stable between different minor/revision versions." +msgstr "" + +#: ..\..\source\compatibility.rst:88 +msgid "Minor update may contain changes to undocumented behaviors. For example, suppose an API X is added at the minor update. In the previous version, attempts to use X cause AttributeError. This behavior is not stated in the documentation, so this is undefined. Thus, adding the API X in minor version is permissible." +msgstr "" + +#: ..\..\source\compatibility.rst:94 +msgid "Revision update may also contain changes to undefined behaviors. Typical example is a bug fix. Another example is an improvement on implementation, which may change the internal object structures not shown in the documentation. As a consequence, **even revision updates do not support compatibility of pickling, unless the full layout of pickled objects is clearly documented.**" +msgstr "" + +#: ..\..\source\compatibility.rst:100 +msgid "Documentation Error" +msgstr "" + +#: ..\..\source\compatibility.rst:102 +msgid "Compatibility is basically determined based on the documentation, though it sometimes contains errors. It may make the APIs confusing to assume the documentation always stronger than the implementations. We therefore may fix the documentation errors in any updates that may break the compatibility in regard to the documentation." +msgstr "" + +#: ..\..\source\compatibility.rst:107 +msgid "Developers MUST NOT fix the documentation and implementation of the same functionality at the same time in revision updates as \"bug fix\". Such a change completely breaks the backward compatibility. If you want to fix the bugs in both sides, first fix the documentation to fit it into the implementation, and start the API changing procedure described above." +msgstr "" + +#: ..\..\source\compatibility.rst:112 +msgid "Object Attributes and Properties" +msgstr "" + +#: ..\..\source\compatibility.rst:114 +msgid "Object attributes and properties are sometimes replaced by each other at minor updates. It does not break the user codes, except the codes depend on how the attributes and properties are implemented." +msgstr "" + +#: ..\..\source\compatibility.rst:118 +msgid "Functions and Methods" +msgstr "" + +#: ..\..\source\compatibility.rst:120 +msgid "Methods may be replaced by callable attributes keeping the compatibility of parameters and return values in minor updates. It does not break the user codes, except the codes depend on how the methods and callable attributes are implemented." +msgstr "" + +#: ..\..\source\compatibility.rst:124 +msgid "Exceptions and Warnings" +msgstr "" + +#: ..\..\source\compatibility.rst:126 +msgid "The specifications of raising exceptions are considered as a part of standard backward compatibilities. No exception is raised in the future versions with correct usages that the documentation allows, unless the API changing process is completed." +msgstr "" + +#: ..\..\source\compatibility.rst:129 +msgid "On the other hand, warnings may be added at any minor updates for any APIs. It means minor updates do not keep backward compatibility of warnings." +msgstr "" + +#: ..\..\source\compatibility.rst:134 +msgid "Installation Compatibility" +msgstr "" + +#: ..\..\source\compatibility.rst:136 +msgid "The installation process is another concern of compatibilities. We support environmental compatibilities in the following ways." +msgstr "" + +#: ..\..\source\compatibility.rst:139 +msgid "Any changes of dependent libraries that force modifications on the existing environments must be done in major updates. Such changes include following cases:" +msgstr "" + +#: ..\..\source\compatibility.rst:142 +msgid "dropping supported versions of dependent libraries (e.g. dropping cuDNN v2)" +msgstr "" + +#: ..\..\source\compatibility.rst:143 +msgid "adding new mandatory dependencies (e.g. adding h5py to setup_requires)" +msgstr "" + +#: ..\..\source\compatibility.rst:145 +msgid "Supporting optional packages/libraries may be done in minor updates (e.g. supporting h5py in optional features)." +msgstr "" + +#: ..\..\source\compatibility.rst:148 +msgid "The installation compatibility does not guarantee that all the features of python-pcl correctly run on supported environments. It may contain bugs that only occurs in certain environments. Such bugs should be fixed in some updates." +msgstr "" + diff --git a/docs/source/locale/pot/contribution.pot b/docs/source/locale/pot/contribution.pot new file mode 100644 index 000000000..1668a0173 --- /dev/null +++ b/docs/source/locale/pot/contribution.pot @@ -0,0 +1,306 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2017, Tooru Oonuma. +# This file is distributed under the same license as the python-pcl package. +# FIRST AUTHOR , YEAR. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: python-pcl 0.0.1.dev0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-07-31 13:25+0900\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: ..\..\source\contribution.rst:2 +msgid "python-pcl Contribution Guide" +msgstr "" + +#: ..\..\source\contribution.rst:4 +msgid "This is a guide for all contributions to python-pcl. The development of python-pcl is running on `the official repository at GitHub `_. Anyone that wants to register an issue or to send a pull request should read through this document." +msgstr "" + +#: ..\..\source\contribution.rst:9 +msgid "Classification of Contributions" +msgstr "" + +#: ..\..\source\contribution.rst:11 +msgid "There are several ways to contribute to python-pcl community:" +msgstr "" + +#: ..\..\source\contribution.rst:13 +msgid "Registering an issue" +msgstr "" + +#: ..\..\source\contribution.rst:14 +msgid "Sending a pull request (PR)" +msgstr "" + +#: ..\..\source\contribution.rst:15 +msgid "Sending a question to `python-pcl User Group `_" +msgstr "" + +#: ..\..\source\contribution.rst:16 +msgid "Writing a post about python-pcl" +msgstr "" + +#: ..\..\source\contribution.rst:18 +msgid "This document mainly focuses on 1 and 2, though other contributions are also appreciated." +msgstr "" + +#: ..\..\source\contribution.rst:21 +msgid "Release and Milestone" +msgstr "" + +#: ..\..\source\contribution.rst:23 +msgid "We are using `GitHub Flow `_ as our basic working process. In particular, we are using the master branch for our development, and releases are made as tags." +msgstr "" + +#: ..\..\source\contribution.rst:26 +msgid "Releases are classified into three groups: major, minor, and revision. This classification is based on following criteria:" +msgstr "" + +#: ..\..\source\contribution.rst:29 +msgid "**Major update** contains disruptive changes that break the backward compatibility." +msgstr "" + +#: ..\..\source\contribution.rst:30 +msgid "**Minor update** contains additions and extensions to the APIs keeping the supported backward compatibility." +msgstr "" + +#: ..\..\source\contribution.rst:31 +msgid "**Revision update** contains improvements on the API implementations without changing any API specification." +msgstr "" + +#: ..\..\source\contribution.rst:33 +msgid "The release classification is reflected into the version number x.y.z, where x, y, and z corresponds to major, minor, and revision updates, respectively." +msgstr "" + +#: ..\..\source\contribution.rst:35 +msgid "We set a milestone for an upcoming release. The milestone is of name 'vX.Y.Z', where the version number represents a revision release at the outset. If at least one *feature* PR is merged in the period, we rename the milestone to represent a minor release (see the next section for the PR types)." +msgstr "" + +#: ..\..\source\contribution.rst:39 +msgid "See also :doc:`compatibility`." +msgstr "" + +#: ..\..\source\contribution.rst:42 +msgid "Issues and PRs" +msgstr "" + +#: ..\..\source\contribution.rst:44 +msgid "Issues and PRs are classified into following categories:" +msgstr "" + +#: ..\..\source\contribution.rst:46 +msgid "**Bug**: bug reports (issues) and bug fixes (PRs)" +msgstr "" + +#: ..\..\source\contribution.rst:47 +msgid "**Enhancement**: implementation improvements without breaking the interface" +msgstr "" + +#: ..\..\source\contribution.rst:48 +msgid "**Feature**: feature requests (issues) and their implementations (PRs)" +msgstr "" + +#: ..\..\source\contribution.rst:49 +msgid "**NoCompat**: disrupts backward compatibility" +msgstr "" + +#: ..\..\source\contribution.rst:50 +msgid "**Test**: test fixes and updates" +msgstr "" + +#: ..\..\source\contribution.rst:51 +msgid "**Document**: document fixes and improvements" +msgstr "" + +#: ..\..\source\contribution.rst:52 +msgid "**Example**: fixes and improvements on the examples" +msgstr "" + +#: ..\..\source\contribution.rst:53 +msgid "**Install**: fixes installation script" +msgstr "" + +#: ..\..\source\contribution.rst:54 +msgid "**Contribution-Welcome**: issues that we request for contribution (only issues are categorized to this)" +msgstr "" + +#: ..\..\source\contribution.rst:55 +msgid "**Other**: other issues and PRs" +msgstr "" + +#: ..\..\source\contribution.rst:57 +msgid "Issues and PRs are labeled by these categories. This classification is often reflected into its corresponding release category: Feature issues/PRs are contained into minor/major releases and NoCompat issues/PRs are contained into major releases, while other issues/PRs can be contained into any releases including revision ones." +msgstr "" + +#: ..\..\source\contribution.rst:60 +msgid "On registering an issue, write precise explanations on what you want python-pcl to be. Bug reports must include necessary and sufficient conditions to reproduce the bugs. Feature requests must include **what** you want to do (and **why** you want to do, if needed). You can contain your thoughts on **how** to realize it into the feature requests, though **what** part is most important for discussions." +msgstr "" + +#: ..\..\source\contribution.rst:67 +msgid "If you have a question on usages of python-pcl, it is highly recommended to send a post to `python-pcl User Group `_ instead of the issue tracker. The issue tracker is not a place to share knowledge on practices. We may redirect question issues to python-pcl User Group." +msgstr "" + +#: ..\..\source\contribution.rst:71 +msgid "If you can write code to fix an issue, send a PR to the master branch. Before writing your code for PRs, read through the :ref:`coding-guide`. The description of any PR must contain a precise explanation of **what** and **how** you want to do; it is the first documentation of your code for developers, a very important part of your PR." +msgstr "" + +#: ..\..\source\contribution.rst:75 +msgid "Once you send a PR, it is automatically tested on `Travis CI `_ for Linux and Mac OS X, and on `AppVeyor `_ for Windows. Your PR need to pass at least the test for Linux on Travis CI. After the automatic test passes, some of the core developers will start reviewing your code. Note that this automatic PR test only includes CPU tests." +msgstr "" + +#: ..\..\source\contribution.rst:82 +msgid "We are also running continuous integration with GPU tests for the master branch. Since this service is running on our internal server, we do not use it for automatic PR tests to keep the server secure." +msgstr "" + +#: ..\..\source\contribution.rst:86 +msgid "Even if your code is not complete, you can send a pull request as a *work-in-progress PR* by putting the ``[WIP]`` prefix to the PR title. If you write a precise explanation about the PR, core developers and other contributors can join the discussion about how to proceed the PR." +msgstr "" + +#: ..\..\source\contribution.rst:92 +msgid "Coding Guidelines" +msgstr "" + +#: ..\..\source\contribution.rst:94 +msgid "We use `PEP8 `_ and a part of `OpenStack Style Guidelines `_ related to general coding style as our basic style guidelines." +msgstr "" + +#: ..\..\source\contribution.rst:96 +msgid "To check your code, use ``autopep8`` and ``flake8`` command installed by ``hacking`` package::" +msgstr "" + +#: ..\..\source\contribution.rst:102 +msgid "To check Cython code, use ``.flake8.cython`` configuration file::" +msgstr "" + +#: ..\..\source\contribution.rst:106 +msgid "The ``autopep8`` supports automatically correct Python code to conform to the PEP 8 style guide::" +msgstr "" + +#: ..\..\source\contribution.rst:110 +msgid "The ``flake8`` command lets you know the part of your code not obeying our style guidelines. Before sending a pull request, be sure to check that your code passes the ``flake8`` checking." +msgstr "" + +#: ..\..\source\contribution.rst:113 +msgid "Note that ``flake8`` command is not perfect. It does not check some of the style guidelines. Here is a (not-complete) list of the rules that ``flake8`` cannot check." +msgstr "" + +#: ..\..\source\contribution.rst:117 +msgid "Relative imports are prohibited. [H304]" +msgstr "" + +#: ..\..\source\contribution.rst:118 +msgid "Importing non-module symbols is prohibited." +msgstr "" + +#: ..\..\source\contribution.rst:119 +msgid "Import statements must be organized into three parts: standard libraries, third-party libraries, and internal imports. [H306]" +msgstr "" + +#: ..\..\source\contribution.rst:121 +msgid "In addition, we restrict the usage of *shortcut symbols* in our code base. They are symbols imported by packages and sub-packages of ``python-pcl``. For example, ``python-pcl.cuda.Device`` is a shortcut of ``python-pcl.cuda.device.Device``. **It is not allowed to use such shortcuts in the ``python-pcl`` library implementation**. Note that you can still use them in ``tests`` and ``examples`` directories." +msgstr "" + +#: ..\..\source\contribution.rst:127 +msgid "Once you send a pull request, your coding style is automatically checked by `Travis-CI `_. The reviewing process starts after the check passes." +msgstr "" + +#: ..\..\source\contribution.rst:130 +msgid "The python-pcl is designed based on NumPy's API design. python-pcl's source code and documents contain the original NumPy ones. Please note the followings when writing the document." +msgstr "" + +#: ..\..\source\contribution.rst:133 +msgid "In order to identify overlapping parts, it is preferable to add some remarks that this document is just copied or altered from the original one. It is also preferable to briefly explain the specification of the function in a short paragraph, and refer to the corresponding function in NumPy so that users can read the detailed document. However, it is possible to include a complete copy of the document with such a remark if users cannot summarize in such a way." +msgstr "" + +#: ..\..\source\contribution.rst:140 +msgid "If a function in python-pcl only implements a limited amount of features in the original one, users should explicitly describe only what is implemented in the document." +msgstr "" + +#: ..\..\source\contribution.rst:146 +msgid "Testing Guidelines" +msgstr "" + +#: ..\..\source\contribution.rst:148 +msgid "Testing is one of the most important part of your code. You must test your code by unit tests following our testing guidelines. Note that we are using the nose package and the mock package for testing, so install nose and mock before writing your code::" +msgstr "" + +#: ..\..\source\contribution.rst:154 +msgid "In order to run unit tests at the repository root, you first have to build Cython files in place by running the following command::" +msgstr "" + +#: ..\..\source\contribution.rst:158 +msgid "Once the Cython modules are built, you can run unit tests simply by running ``nosetests`` command at the repository root::" +msgstr "" + +#: ..\..\source\contribution.rst:162 +msgid "It requires CUDA by default. In order to run unit tests that do not require CUDA, pass ``--attr='!gpu'`` option to the ``nosetests`` command::" +msgstr "" + +#: ..\..\source\contribution.rst:167 +msgid "Some GPU tests involve multiple GPUs. If you want to run GPU tests with insufficient number of GPUs, specify the number of available GPUs by ``--eval-attr='gpu`_ **with --attr='!gpu,!slow' option**. Since Travis-CI does not support CUDA, we cannot check your CUDA-related code automatically. The reviewing process starts after the test passes. Note that reviewers will test your code without the option to check CUDA-related code." +msgstr "" + +#: ..\..\source\contribution.rst:239 +msgid "Some of numerically unstable tests might cause errors irrelevant to your changes. In such a case, we ignore the failures and go on to the review process, so do not worry about it." +msgstr "" + diff --git a/docs/source/locale/pot/developers.pot b/docs/source/locale/pot/developers.pot new file mode 100644 index 000000000..e2c257be8 --- /dev/null +++ b/docs/source/locale/pot/developers.pot @@ -0,0 +1,22 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2017, Tooru Oonuma. +# This file is distributed under the same license as the python-pcl package. +# FIRST AUTHOR , YEAR. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: python-pcl 0.0.1.dev0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-07-31 13:25+0900\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: ..\..\source\developers.rst:3 +msgid "For python-pcl Developers" +msgstr "" + diff --git a/docs/source/locale/pot/index.pot b/docs/source/locale/pot/index.pot new file mode 100644 index 000000000..d0795b4d4 --- /dev/null +++ b/docs/source/locale/pot/index.pot @@ -0,0 +1,26 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2017, Tooru Oonuma. +# This file is distributed under the same license as the python-pcl package. +# FIRST AUTHOR , YEAR. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: python-pcl 0.0.1.dev0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-07-31 13:25+0900\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: ..\..\source\index.rst:3 +msgid "python-pcl -- PointCloudLibrary-like API" +msgstr "" + +#: ..\..\source\index.rst:5 +msgid "This is the `python-pcl `_ documentation." +msgstr "" + diff --git a/docs/source/locale/pot/install.pot b/docs/source/locale/pot/install.pot new file mode 100644 index 000000000..9c5a95b24 --- /dev/null +++ b/docs/source/locale/pot/install.pot @@ -0,0 +1,162 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2017, Tooru Oonuma. +# This file is distributed under the same license as the python-pcl package. +# FIRST AUTHOR , YEAR. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: python-pcl 0.0.1.dev0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-07-31 13:25+0900\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: ..\..\source\install.rst:2 +msgid "Installation Guide" +msgstr "" + +#: ..\..\source\install.rst:7 +msgid "Recommended Environments" +msgstr "" + +#: ..\..\source\install.rst:9 +msgid "We recommend these Linux distributions." +msgstr "" + +#: ..\..\source\install.rst:11 +msgid "`Ubuntu `_ 14.04/16.04 LTS 64bit" +msgstr "" + +#: ..\..\source\install.rst:12 +msgid "`MacOS `_ 10.10/10.11" +msgstr "" + +#: ..\..\source\install.rst:13 +msgid "`Windows `_ 7/8.1/10 64bit" +msgstr "" + +#: ..\..\source\install.rst:15 +msgid "The following versions of Python can be used: 2.7.6+, 3.4.3+, 3.5.1+, and 3.6.0+." +msgstr "" + +#: ..\..\source\install.rst:19 +msgid "We are testing python-pcl automatically with Jenkins, where all the above *recommended* environments are tested." +msgstr "" + +#: ..\..\source\install.rst:21 +msgid "python-pcl is supported on Python 2.7.6+, 3.4.3+, 3.5.1+, 3.6.0+. python-pcl uses C++ compiler such as g++. You need to install it before installing python-pcl. This is typical installation method for each platform::" +msgstr "" + +#: ..\..\source\install.rst:43 +msgid "If you use old ``setuptools``, upgrade it::" +msgstr "" + +#: ..\..\source\install.rst:49 +msgid "Dependencies" +msgstr "" + +#: ..\..\source\install.rst:51 +msgid "Before installing python-pcl, we recommend to upgrade ``setuptools`` if you are using an old one::" +msgstr "" + +#: ..\..\source\install.rst:55 +msgid "The following Python packages are required to install python-pcl. The latest version of each package will automatically be installed if missing." +msgstr "" + +#: ..\..\source\install.rst:58 +msgid "`NumPy `_ 1.9, 1.10, 1.11, 1.12" +msgstr "" + +#: ..\..\source\install.rst:62 +msgid "Install python-pcl" +msgstr "" + +#: ..\..\source\install.rst:65 +msgid "Install python-pcl via pip" +msgstr "" + +#: ..\..\source\install.rst:67 +msgid "We recommend to install python-pcl via pip::" +msgstr "" + +#: ..\..\source\install.rst:73 +msgid "All optional PointCloudLibrary related libraries, need to be installed before installing python-pcl. After you update these libraries, please reinstall python-pcl because you need to compile and link to the newer version of them." +msgstr "" + +#: ..\..\source\install.rst:78 +msgid "Install python-pcl from source" +msgstr "" + +#: ..\..\source\install.rst:80 +msgid "The tarball of the source tree is available via ``pip download python-pcl`` or from `the release notes page `_. You can use ``setup.py`` to install python-pcl from the tarball::" +msgstr "" + +#: ..\..\source\install.rst:87 +msgid "You can also install the development version of python-pcl from a cloned Git repository::" +msgstr "" + +#: ..\..\source\install.rst:97 +msgid "When an error occurs..." +msgstr "" + +#: ..\..\source\install.rst:99 +msgid "Use ``-vvvv`` option with ``pip`` command. That shows all logs of installation. It may help you::" +msgstr "" + +#: ..\..\source\install.rst:109 +msgid "Install python-pcl with pcl.dll" +msgstr "" + +#: ..\..\source\install.rst:114 +msgid "Install python-pcl for developers" +msgstr "" + +#: ..\..\source\install.rst:116 +msgid "python-pcl uses Cython (>=0.24). Developers need to use Cython to regenerate C++ sources from ``pyx`` files. We recommend to use ``pip`` with ``-e`` option for editable mode::" +msgstr "" + +#: ..\..\source\install.rst:124 +msgid "Users need not to install Cython as a distribution package of python-pcl only contains generated sources." +msgstr "" + +#: ..\..\source\install.rst:128 +msgid "Uninstall python-pcl" +msgstr "" + +#: ..\..\source\install.rst:130 +msgid "Use pip to uninstall python-pcl::" +msgstr "" + +#: ..\..\source\install.rst:136 +msgid "When you upgrade python-pcl, ``pip`` sometimes install the new version without removing the old one in ``site-packages``. In this case, ``pip uninstall`` only removes the latest one. To ensure that python-pcl is completely removed, run the above command repeatedly until ``pip`` returns an error." +msgstr "" + +#: ..\..\source\install.rst:142 +msgid "Upgrade python-pcl" +msgstr "" + +#: ..\..\source\install.rst:144 +msgid "Just use ``pip`` with ``-U`` option::" +msgstr "" + +#: ..\..\source\install.rst:150 +msgid "Reinstall python-pcl" +msgstr "" + +#: ..\..\source\install.rst:152 +msgid "If you want to reinstall python-pcl, please uninstall python-pcl and then install it. We recommend to use ``--no-cache-dir`` option as ``pip`` sometimes uses cache::" +msgstr "" + +#: ..\..\source\install.rst:158 +msgid "When you install python-pcl without PointCloudLibrary, and after that you want to use PointCloudLibrary, please reinstall python-pcl. You need to reinstall python-pcl when you want to upgrade PointCloudLibrary." +msgstr "" + +#: ..\..\source\install.rst:163 +msgid "FAQ" +msgstr "" + diff --git a/docs/source/locale/pot/license.pot b/docs/source/locale/pot/license.pot new file mode 100644 index 000000000..ccc25a777 --- /dev/null +++ b/docs/source/locale/pot/license.pot @@ -0,0 +1,74 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2017, Tooru Oonuma. +# This file is distributed under the same license as the python-pcl package. +# FIRST AUTHOR , YEAR. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: python-pcl 0.0.1.dev0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-07-31 13:25+0900\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: ..\..\source\license.rst:2 +msgid "License" +msgstr "" + +#: ..\..\source\license.rst:4 +msgid "Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the \"Software\"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:" +msgstr "" + +#: ..\..\source\license.rst:11 +msgid "The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software." +msgstr "" + +#: ..\..\source\license.rst:14 +msgid "THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE." +msgstr "" + +#: ..\..\source\license.rst:24 +msgid "python-pcl" +msgstr "" + +#: ..\..\source\license.rst:25 +msgid "The python-pcl is designed based on Point Cloud Library's API. python-pcl's source code and documents contain the original Point Cloud Library ones." +msgstr "" + +#: ..\..\source\license.rst:29 +msgid "Software License Agreement (BSD License)" +msgstr "" + +#: ..\..\source\license.rst:31 +msgid "Point Cloud Library (PCL) - www.pointclouds.org Copyright (c) 2009-2012, Willow Garage, Inc. Copyright (c) 2012-, Open Perception, Inc. Copyright (c) XXX, respective authors." +msgstr "" + +#: ..\..\source\license.rst:36 +msgid "All rights reserved." +msgstr "" + +#: ..\..\source\license.rst:38 +msgid "Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:" +msgstr "" + +#: ..\..\source\license.rst:42 +msgid "Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer." +msgstr "" + +#: ..\..\source\license.rst:44 +msgid "Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution." +msgstr "" + +#: ..\..\source\license.rst:48 +msgid "Neither the name of the copyright holder(s) nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission." +msgstr "" + +#: ..\..\source\license.rst:52 +msgid "THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." +msgstr "" + diff --git a/docs/source/locale/pot/overview.pot b/docs/source/locale/pot/overview.pot new file mode 100644 index 000000000..6ad8d3540 --- /dev/null +++ b/docs/source/locale/pot/overview.pot @@ -0,0 +1,78 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2017, Tooru Oonuma. +# This file is distributed under the same license as the python-pcl package. +# FIRST AUTHOR , YEAR. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: python-pcl 0.0.1.dev0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-07-31 13:25+0900\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: ..\..\source\overview.rst:4 +msgid "python-pcl Overview" +msgstr "" + +#: ..\..\source\overview.rst:8 +msgid "`python-pcl `_ is an implementation of PointCloudLibrary-compatible. interface." +msgstr "" + +#: ..\..\source\overview.rst:11 +msgid "The following is a brief overview of supported subset of PointCloudLibrary interface:" +msgstr "" + +#: ..\..\source\overview.rst:13 +msgid "`filters `_" +msgstr "" + +#: ..\..\source\overview.rst:14 +msgid "`features `_" +msgstr "" + +#: ..\..\source\overview.rst:15 +msgid "`keypoints `_" +msgstr "" + +#: ..\..\source\overview.rst:16 +msgid "`registration `_" +msgstr "" + +#: ..\..\source\overview.rst:17 +msgid "`kdtree `_" +msgstr "" + +#: ..\..\source\overview.rst:18 +msgid "`octree `_" +msgstr "" + +#: ..\..\source\overview.rst:19 +msgid "`segmentation `_" +msgstr "" + +#: ..\..\source\overview.rst:20 +msgid "`sample_consensus `_" +msgstr "" + +#: ..\..\source\overview.rst:21 +msgid "`surface `_" +msgstr "" + +#: ..\..\source\overview.rst:22 +msgid "`recognition `_" +msgstr "" + +#: ..\..\source\overview.rst:23 +msgid "`io `_" +msgstr "" + +#: ..\..\source\overview.rst:24 +msgid "`visualization `_" +msgstr "" + diff --git a/docs/source/locale/pot/reference.pot b/docs/source/locale/pot/reference.pot new file mode 100644 index 000000000..0c66c73b9 --- /dev/null +++ b/docs/source/locale/pot/reference.pot @@ -0,0 +1,731 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2017, Tooru Oonuma. +# This file is distributed under the same license as the python-pcl package. +# FIRST AUTHOR , YEAR. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: python-pcl 0.0.1.dev0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-07-31 13:25+0900\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: ..\..\source\reference\common.rst:2 +msgid "Common Operations" +msgstr "" + +#: ..\..\source\reference\common.rst:5 +msgid "Elementwise bit operations" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.bitwise_and `" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.bitwise_or `" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.bitwise_xor `" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.invert `" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.left_shift `" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.right_shift `" +msgstr "" + +#: ..\..\source\reference\common.rst:20 +msgid "Bit packing" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.packbits `" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.unpackbits `" +msgstr "" + +#: ..\..\source\reference\common.rst:31 +msgid "Output formatting" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.binary_repr `" +msgstr "" + +#: ..\..\source\reference\environment.rst:2 +msgid "Environment variables" +msgstr "" + +#: ..\..\source\reference\environment.rst:4 +msgid "Here are the environment variables python-pcl uses." +msgstr "" + +#: ..\..\source\reference\environment.rst:8 +msgid "``PATH``" +msgstr "" + +#: ..\..\source\reference\environment.rst:8 +msgid "Path to the directory to PointCloudLibrary dll/exe. See :ref:`overview` for details." +msgstr "" + +#: ..\..\source\reference\environment.rst:14 +msgid "For install" +msgstr "" + +#: ..\..\source\reference\environment.rst:16 +msgid "These environment variables are only used during installation." +msgstr "" + +#: ..\..\source\reference\environment.rst:19 +msgid "``PCL_ROOT``" +msgstr "" + +#: ..\..\source\reference\environment.rst:19 +msgid "Path to the directory containing PointCloudLibrary. The parent of the directory containing ``nvcc`` is used as default. See :ref:`install_pointcloudlibrary` for details." +msgstr "" + +#: ..\..\source\reference\features.rst:2 +msgid "Features Routines" +msgstr "" + +#: ..\..\source\reference\features.rst:5 +msgid "Basic creation routines" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`DifferenceOfNormalsEstimation `" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`IntegralImageNormalEstimation `" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`MomentOfInertiaEstimation `" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`NormalEstimation `" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`NormalEstimationOMP `" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`RangeImageBorderExtractor `" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`ROPSEstimation `" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`VFHEstimation `" +msgstr "" + +#: ..\..\source\reference\filters.rst:2 +msgid "Filters" +msgstr "" + +#: ..\..\source\reference\filters.rst:5 +msgid "Device management" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.ApproximateVoxelGrid `" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.ConditionalRemoval `" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.ConditionAnd `" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.CropBox `" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.CropHull `" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.FieldComparison `" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.PassThroughFilter `" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.ProjectInliers `" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.RadiusOutlierRemoval `" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.StatisticalOutlierRemovalFilter `" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.VoxelGridFilter `" +msgstr "" + +#: ..\..\source\reference\generated\pcl.rst:2 +#: ..\..\source\reference\pcl.rst:2 +msgid "pcl" +msgstr "" + +#: ..\..\source\reference\generated\pcl.rst:9 +#: ..\..\source\reference\pcl.rst:9 +msgid "Functions" +msgstr "" + +#: ..\..\:1 +#: ..\..\:1 +msgid ":obj:`load `\\ (path[, format])" +msgstr "" + +#: ..\..\:1 +#: ..\..\:1 +#: ..\..\:1 +#: ..\..\:1 +#: ..\..\:1 +#: ..\..\:1 +#: ..\..\:1 +#: ..\..\:1 +#: ..\..\:1 +#: ..\..\:1 +#: ..\..\:1 +#: ..\..\:1 +msgid "Load pointcloud from path." +msgstr "" + +#: ..\..\:1 +#: ..\..\:1 +msgid ":obj:`load2 `\\ (path[, format])" +msgstr "" + +#: ..\..\:1 +#: ..\..\:1 +msgid ":obj:`load_PointWithViewpoint `\\ (path[, format])" +msgstr "" + +#: ..\..\:1 +#: ..\..\:1 +msgid ":obj:`load_XYZI `\\ (path[, format])" +msgstr "" + +#: ..\..\:1 +#: ..\..\:1 +msgid ":obj:`load_XYZRGB `\\ (path[, format])" +msgstr "" + +#: ..\..\:1 +#: ..\..\:1 +msgid ":obj:`load_XYZRGBA `\\ (path[, format])" +msgstr "" + +#: ..\..\:1 +#: ..\..\:1 +msgid ":obj:`save `\\ (cloud, path[, format, binary])" +msgstr "" + +#: ..\..\:1 +#: ..\..\:1 +#: ..\..\:1 +#: ..\..\:1 +#: ..\..\:1 +#: ..\..\:1 +msgid "Save pointcloud to file." +msgstr "" + +#: ..\..\:1 +#: ..\..\:1 +msgid ":obj:`save2 `\\ (cloud, path[, format, binary])" +msgstr "" + +#: ..\..\:1 +#: ..\..\:1 +msgid "Save PointCloud_PointCloud2 to file." +msgstr "" + +#: ..\..\:1 +#: ..\..\:1 +msgid ":obj:`save_PointNormal `\\ (cloud, path[, format, binary])" +msgstr "" + +#: ..\..\:1 +#: ..\..\:1 +msgid ":obj:`save_XYZRGBA `\\ (cloud, path[, format, binary])" +msgstr "" + +#: ..\..\source\reference\generated\pcl.rst:30 +#: ..\..\source\reference\pcl.rst:30 +msgid "Classes" +msgstr "" + +#: ..\..\:1 +#: ..\..\:1 +msgid ":obj:`VoxelGridFilter_PointXYZI `\\" +msgstr "" + +#: ..\..\:1 +#: ..\..\:1 +msgid ":obj:`VoxelGridFilter_PointXYZRGB `\\" +msgstr "" + +#: ..\..\:1 +#: ..\..\:1 +msgid ":obj:`VoxelGridFilter_PointXYZRGBA `\\" +msgstr "" + +#: ..\..\source\reference\generated\pcl.IntegralImageNormalEstimation.rst:2 +msgid "pcl.IntegralImageNormalEstimation" +msgstr "" + +#: ..\..\docstring of pcl.IntegralImageNormalEstimation:1 +msgid "IntegralImageNormalEstimation class for" +msgstr "" + +#: ..\..\source\reference\generated\pcl.IntegralImageNormalEstimation.rst:14 +#: ..\..\source\reference\generated\pcl.MomentOfInertiaEstimation.rst:14 +#: ..\..\source\reference\generated\pcl.NormalEstimation.rst:14 +#: ..\..\source\reference\generated\pcl.ROPSEstimation.rst:14 +#: ..\..\source\reference\generated\pcl.VFHEstimation.rst:14 +msgid "Methods" +msgstr "" + +#: ..\..\source\reference\generated\pcl.MomentOfInertiaEstimation.rst:2 +msgid "pcl.MomentOfInertiaEstimation" +msgstr "" + +#: ..\..\docstring of pcl.MomentOfInertiaEstimation:1 +msgid "MomentOfInertiaEstimation class for" +msgstr "" + +#: ..\..\source\reference\generated\pcl.NormalEstimation.rst:2 +msgid "pcl.NormalEstimation" +msgstr "" + +#: ..\..\docstring of pcl.NormalEstimation:1 +msgid "NormalEstimation class for" +msgstr "" + +#: ..\..\source\reference\generated\pcl.ROPSEstimation.rst:2 +msgid "pcl.ROPSEstimation" +msgstr "" + +#: ..\..\docstring of pcl.ROPSEstimation:1 +msgid "ROPSEstimation class for" +msgstr "" + +#: ..\..\source\reference\generated\pcl.VFHEstimation.rst:2 +msgid "pcl.VFHEstimation" +msgstr "" + +#: ..\..\docstring of pcl.VFHEstimation:1 +msgid "VFHEstimation class for" +msgstr "" + +#: ..\..\source\reference\grabber.rst:2 +msgid "Grabber" +msgstr "" + +#: ..\..\source\reference\index.rst:5 +msgid "python-pcl Reference Manual" +msgstr "" + +#: ..\..\source\reference\index.rst:7 +msgid "This is the official reference of python-pcl, a multi-dimensional array on CUDA with a subset of NumPy interface." +msgstr "" + +#: ..\..\source\reference\index.rst:11 +msgid "Indices and tables" +msgstr "" + +#: ..\..\source\reference\index.rst:13 +msgid ":ref:`genindex`" +msgstr "" + +#: ..\..\source\reference\index.rst:14 +msgid ":ref:`modindex`" +msgstr "" + +#: ..\..\source\reference\index.rst:17 +msgid "Reference" +msgstr "" + +#: ..\..\source\reference\io.rst:2 +msgid "Input and Output" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.load `" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.save `" +msgstr "" + +#: ..\..\source\reference\kdtree.rst:2 +msgid "KdTree" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.KdTree `" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.KdTree_FLANN `" +msgstr "" + +#: ..\..\source\reference\keypoint.rst:2 +msgid "KeyPoint" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.HarrisKeypoint3D `" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.NarfKeypoint `" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.UniformSampling `" +msgstr "" + +#: ..\..\source\reference\octree.rst:2 +msgid "Octree" +msgstr "" + +#: ..\..\source\reference\octree.rst:5 +msgid "Truth value testing" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.Octree2BufBase `" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.OctreePointCloud `" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.OctreePointCloud2Buf `" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.OctreePointCloudChangeDetector `" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.OctreePointCloudSearch `" +msgstr "" + +#: ..\..\source\reference\registration.rst:2 +msgid "Registration" +msgstr "" + +#: ..\..\source\reference\registration.rst:5 +msgid "Basic manipulations" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.GeneralizedIterativeClosestPoint `" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.IterativeClosestPoint `" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.IterativeClosestPointNonLinear `" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.NormalDistributionsTransform `" +msgstr "" + +#: ..\..\source\reference\sampleconsensus.rst:2 +msgid "SampleConsensus" +msgstr "" + +#: ..\..\source\reference\sampleconsensus.rst:5 +msgid "Trigonometric functions" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.RandomSampleConsensus `" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.SampleConsensusModel `" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.SampleConsensusModelCylinder `" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.SampleConsensusModelLine `" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.SampleConsensusModelPlane `" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.SampleConsensusModelRegistration `" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.SampleConsensusModelSphere `" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.SampleConsensusModelStick `" +msgstr "" + +#: ..\..\source\reference\segmentation.rst:2 +msgid "Segmentation" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.ConditionalEuclideanClustering `" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.EuclideanClusterExtraction `" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.MinCutSegmentation `" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.ProgressiveMorphologicalFilter `" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.Segmentation `" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.SegmentationNormal `" +msgstr "" + +#: ..\..\source\reference\surface.rst:2 +msgid "Surface" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.ConcaveHull `" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.MovingLeastSquares `" +msgstr "" + +#: ..\..\source\reference\testing.rst:2 +msgid "Testing Modules" +msgstr "" + +#: ..\..\source\reference\testing.rst:6 +msgid "python-pcl offers testing utilities to support unit testing. They are under namespace :mod:`python-pcl.testing`." +msgstr "" + +#: ..\..\source\reference\testing.rst:11 +msgid "Standard Assertions" +msgstr "" + +#: ..\..\source\reference\testing.rst:13 +msgid "The assertions have same names as NumPy's ones. The difference from NumPy is that they can accept both :class:`numpy.ndarray` and :class:`python-pcl.ndarray`." +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.testing.assert_allclose `" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.testing.assert_array_almost_equal `" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.testing.assert_array_almost_equal_nulp `" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.testing.assert_array_max_ulp `" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.testing.assert_array_equal `" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.testing.assert_array_list_equal `" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.testing.assert_array_less `" +msgstr "" + +#: ..\..\source\reference\testing.rst:32 +msgid "NumPy-python-pcl Consistency Check" +msgstr "" + +#: ..\..\source\reference\testing.rst:34 +msgid "The following decorators are for testing consistency between python-pcl's functions and corresponding NumPy's ones." +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.testing.numpy_python-pcl_allclose `" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.testing.numpy_python-pcl_array_almost_equal `" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.testing.numpy_python-pcl_array_almost_equal_nulp `" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.testing.numpy_python-pcl_array_max_ulp `" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.testing.numpy_python-pcl_array_equal `" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.testing.numpy_python-pcl_array_list_equal `" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.testing.numpy_python-pcl_array_less `" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.testing.numpy_python-pcl_raises `" +msgstr "" + +#: ..\..\source\reference\testing.rst:52 +msgid "Parameterized dtype Test" +msgstr "" + +#: ..\..\source\reference\testing.rst:54 +msgid "The following decorators offer the standard way for parameterized test with respect to single or the combination of dtype(s)." +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.testing.for_dtypes `" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.testing.for_all_dtypes `" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.testing.for_float_dtypes `" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.testing.for_signed_dtypes `" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.testing.for_unsigned_dtypes `" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.testing.for_int_dtypes `" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.testing.for_dtypes_combination `" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.testing.for_all_dtypes_combination `" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.testing.for_signed_dtypes_combination `" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.testing.for_unsigned_dtypes_combination `" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.testing.for_int_dtypes_combination `" +msgstr "" + +#: ..\..\source\reference\testing.rst:76 +msgid "Parameterized order Test" +msgstr "" + +#: ..\..\source\reference\testing.rst:77 +msgid "The following decorators offer the standard way to parameterize tests with orders." +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.testing.for_orders `" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.testing.for_CF_orders `" +msgstr "" + +#: ..\..\source\reference\tracking.rst:2 +msgid "Tracking" +msgstr "" + +#: ..\..\source\reference\visualization.rst:2 +msgid "Visualization" +msgstr "" + +#: ..\..\source\reference\visualization.rst:5 +msgid "viewer" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.CloudViewing `" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.PCLHistogramViewing `" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.PCLVisualizering `" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.RangeImageVisualization `" +msgstr "" + diff --git a/docs/source/locale/pot/tutorial.pot b/docs/source/locale/pot/tutorial.pot new file mode 100644 index 000000000..37287c342 --- /dev/null +++ b/docs/source/locale/pot/tutorial.pot @@ -0,0 +1,1336 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2017, Tooru Oonuma. +# This file is distributed under the same license as the python-pcl package. +# FIRST AUTHOR , YEAR. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: python-pcl 0.0.1.dev0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-07-31 13:25+0900\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: ..\..\source\tutorial\common.rst:2 +msgid "Common Operations" +msgstr "" + +#: ..\..\source\tutorial\common.rst:5 +msgid "Elementwise bit operations" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.bitwise_and `" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.bitwise_or `" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.bitwise_xor `" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.invert `" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.left_shift `" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.right_shift `" +msgstr "" + +#: ..\..\source\tutorial\common.rst:20 +msgid "Bit packing" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.packbits `" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.unpackbits `" +msgstr "" + +#: ..\..\source\tutorial\common.rst:31 +msgid "Output formatting" +msgstr "" + +#: ..\..\:1 +#: ..\..\:1 +msgid ":obj:`python-pcl.binary_repr `" +msgstr "" + +#: ..\..\source\tutorial\features.rst:2 +msgid "Array Creation Routines" +msgstr "" + +#: ..\..\source\tutorial\features.rst:5 +msgid "Basic creation routines" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.empty `" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.empty_like `" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.eye `" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.identity `" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.ones `" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.ones_like `" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.zeros `" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.zeros_like `" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.full `" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.full_like `" +msgstr "" + +#: ..\..\source\tutorial\features.rst:24 +msgid "Creation from other data" +msgstr "" + +#: ..\..\:1 +#: ..\..\:1 +msgid ":obj:`python-pcl.array `" +msgstr "" + +#: ..\..\:1 +#: ..\..\:1 +#: ..\..\:1 +msgid ":obj:`python-pcl.asarray `" +msgstr "" + +#: ..\..\:1 +#: ..\..\:1 +msgid ":obj:`python-pcl.asanyarray `" +msgstr "" + +#: ..\..\:1 +#: ..\..\:1 +msgid ":obj:`python-pcl.ascontiguousarray `" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.copy `" +msgstr "" + +#: ..\..\source\tutorial\features.rst:38 +msgid "Numerical ranges" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.arange `" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.linspace `" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.logspace `" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.meshgrid `" +msgstr "" + +#: ..\..\source\tutorial\features.rst:51 +msgid "Matrix creation" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.diag `" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.diagflat `" +msgstr "" + +#: ..\..\source\tutorial\filters.rst:2 +msgid "Low-Level CUDA Support" +msgstr "" + +#: ..\..\source\tutorial\filters.rst:5 +msgid "Device management" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.cuda.Device `" +msgstr "" + +#: ..\..\source\tutorial\filters.rst:15 +msgid "Memory management" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.cuda.Memory `" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.cuda.MemoryPointer `" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.cuda.alloc `" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.cuda.set_allocator `" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.cuda.MemoryPool `" +msgstr "" + +#: ..\..\source\tutorial\filters.rst:29 +msgid "Streams and events" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.cuda.Stream `" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.cuda.Event `" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.cuda.get_elapsed_time `" +msgstr "" + +#: ..\..\source\tutorial\filters.rst:41 +msgid "Profiler" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.cuda.profile `" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.cuda.profiler.initialize `" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.cuda.profiler.start `" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.cuda.profiler.stop `" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.cuda.nvtx.Mark `" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.cuda.nvtx.MarkC `" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.cuda.nvtx.RangePush `" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.cuda.nvtx.RangePushC `" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.cuda.nvtx.RangePop `" +msgstr "" + +#: ..\..\source\tutorial\generated\pcl.rst:2 +#: ..\..\source\tutorial\pcl.rst:2 +msgid "pcl" +msgstr "" + +#: ..\..\source\tutorial\generated\pcl.rst:9 +#: ..\..\source\tutorial\pcl.rst:9 +msgid "Functions" +msgstr "" + +#: ..\..\:1 +#: ..\..\:1 +msgid ":obj:`load `\\ (path[, format])" +msgstr "" + +#: ..\..\:1 +#: ..\..\:1 +#: ..\..\:1 +#: ..\..\:1 +#: ..\..\:1 +#: ..\..\:1 +#: ..\..\:1 +#: ..\..\:1 +#: ..\..\:1 +#: ..\..\:1 +#: ..\..\:1 +#: ..\..\:1 +msgid "Load pointcloud from path." +msgstr "" + +#: ..\..\:1 +#: ..\..\:1 +msgid ":obj:`load2 `\\ (path[, format])" +msgstr "" + +#: ..\..\:1 +#: ..\..\:1 +msgid ":obj:`load_PointWithViewpoint `\\ (path[, format])" +msgstr "" + +#: ..\..\:1 +#: ..\..\:1 +msgid ":obj:`load_XYZI `\\ (path[, format])" +msgstr "" + +#: ..\..\:1 +#: ..\..\:1 +msgid ":obj:`load_XYZRGB `\\ (path[, format])" +msgstr "" + +#: ..\..\:1 +#: ..\..\:1 +msgid ":obj:`load_XYZRGBA `\\ (path[, format])" +msgstr "" + +#: ..\..\:1 +#: ..\..\:1 +msgid ":obj:`save `\\ (cloud, path[, format, binary])" +msgstr "" + +#: ..\..\:1 +#: ..\..\:1 +#: ..\..\:1 +#: ..\..\:1 +#: ..\..\:1 +#: ..\..\:1 +msgid "Save pointcloud to file." +msgstr "" + +#: ..\..\:1 +#: ..\..\:1 +msgid ":obj:`save2 `\\ (cloud, path[, format, binary])" +msgstr "" + +#: ..\..\:1 +#: ..\..\:1 +msgid "Save PointCloud_PointCloud2 to file." +msgstr "" + +#: ..\..\:1 +#: ..\..\:1 +msgid ":obj:`save_PointNormal `\\ (cloud, path[, format, binary])" +msgstr "" + +#: ..\..\:1 +#: ..\..\:1 +msgid ":obj:`save_XYZRGBA `\\ (cloud, path[, format, binary])" +msgstr "" + +#: ..\..\source\tutorial\generated\pcl.rst:30 +#: ..\..\source\tutorial\pcl.rst:30 +msgid "Classes" +msgstr "" + +#: ..\..\source\tutorial\grabber.rst:2 +msgid "Difference between python-pcl and NumPy" +msgstr "" + +#: ..\..\source\tutorial\grabber.rst:4 +msgid "The interface of python-pcl is designed to obey that of NumPy. However, there are some differeneces." +msgstr "" + +#: ..\..\source\tutorial\grabber.rst:9 +msgid "Cast behavior from float to integer" +msgstr "" + +#: ..\..\source\tutorial\grabber.rst:11 +msgid "Some casting behaviors from float to integer are not defined in C++ specification. The casting from a negative float to unsigned integer and infinity to integer is one of such eamples. The behavior of NumPy depends on your CPU architecture. This is Intel CPU result." +msgstr "" + +#: ..\..\source\tutorial\grabber.rst:28 +msgid "Random methods support dtype argument" +msgstr "" + +#: ..\..\source\tutorial\grabber.rst:30 +msgid "NumPy's random value generator does not support dtype option and it always resturns a ``float32`` value. We support the option in python-pcl because cuRAND, which is used in python-pcl, supports any types of float values." +msgstr "" + +#: ..\..\source\tutorial\grabber.rst:42 +msgid "Out-of-bounds indices" +msgstr "" + +#: ..\..\source\tutorial\grabber.rst:43 +msgid "python-pcl handles out-of-bounds indices differently by default from NumPy when using integer array indexing. NumPy handles them by raising an error, but python-pcl wraps around them." +msgstr "" + +#: ..\..\source\tutorial\grabber.rst:59 +msgid "Duplicate values in indices" +msgstr "" + +#: ..\..\source\tutorial\grabber.rst:60 +msgid "python-pcl's ``__setitem__`` behaves differently from NumPy when integer arrays reference the same location multiple times. In that case, the value that is actually stored is undefined. Here is an example of python-pcl." +msgstr "" + +#: ..\..\source\tutorial\grabber.rst:72 +msgid "NumPy stores the value corresponding to the last element among elements referencing duplicate locations." +msgstr "" + +#: ..\..\source\tutorial\index.rst:2 +msgid "python-pcl Tutorial" +msgstr "" + +#: ..\..\source\tutorial\io.rst:2 +msgid "Input and Output" +msgstr "" + +#: ..\..\source\tutorial\io.rst:5 +msgid "NPZ files" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.load `" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.save `" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.savez `" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.savez_compressed `" +msgstr "" + +#: ..\..\source\tutorial\io.rst:18 +msgid "String formatting" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.array_repr `" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.array_str `" +msgstr "" + +#: ..\..\source\tutorial\io.rst:29 +msgid "Base-n representations" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.base_repr `" +msgstr "" + +#: ..\..\source\tutorial\kdtree.rst:2 +msgid "NumPy-python-pcl Generic Code Support" +msgstr "" + +#: ..\..\:1 +#: ..\..\:1 +msgid ":obj:`python-pcl.get_array_module `" +msgstr "" + +#: ..\..\source\tutorial\keypoint.rst:2 +msgid "Linear Algebra" +msgstr "" + +#: ..\..\source\tutorial\keypoint.rst:5 +msgid "Matrix and vector products" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.dot `" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.vdot `" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.inner `" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.outer `" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.matmul `" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.tensordot `" +msgstr "" + +#: ..\..\source\tutorial\keypoint.rst:20 +msgid "Decompositions" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.linalg.cholesky `" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.linalg.qr `" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.linalg.svd `" +msgstr "" + +#: ..\..\source\tutorial\keypoint.rst:31 +msgid "Matrix eigenvalues" +msgstr "" + +#: ..\..\source\tutorial\keypoint.rst:37 +msgid "Norms etc." +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.linalg.norm `" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.linalg.matrix_rank `" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.linalg.slogdet `" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.trace `" +msgstr "" + +#: ..\..\source\tutorial\octree.rst:2 +msgid "Logic Functions" +msgstr "" + +#: ..\..\source\tutorial\octree.rst:5 +msgid "Truth value testing" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.all `" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.any `" +msgstr "" + +#: ..\..\source\tutorial\octree.rst:16 +msgid "Infinities and NaNs" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.isfinite `" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.isinf `" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.isnan `" +msgstr "" + +#: ..\..\source\tutorial\octree.rst:28 +msgid "Array type testing" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.isscalar `" +msgstr "" + +#: ..\..\source\tutorial\octree.rst:39 +msgid "Logic operations" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.logical_and `" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.logical_or `" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.logical_not `" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.logical_xor `" +msgstr "" + +#: ..\..\source\tutorial\octree.rst:52 +msgid "Comparison operations" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.greater `" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.greater_equal `" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.less `" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.less_equal `" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.equal `" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.not_equal `" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`VoxelGridFilter_PointXYZI `\\" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`VoxelGridFilter_PointXYZRGB `\\" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`VoxelGridFilter_PointXYZRGBA `\\" +msgstr "" + +#: ..\..\source\tutorial\registration.rst:2 +msgid "Array Manipulation Routines" +msgstr "" + +#: ..\..\source\tutorial\registration.rst:5 +msgid "Basic manipulations" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.copyto `" +msgstr "" + +#: ..\..\source\tutorial\registration.rst:15 +msgid "Shape manipulation" +msgstr "" + +#: ..\..\:1 +#: ..\..\:1 +msgid ":obj:`python-pcl.reshape `" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.ravel `" +msgstr "" + +#: ..\..\source\tutorial\registration.rst:26 +msgid "Transposition" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.rollaxis `" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.swapaxes `" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.transpose `" +msgstr "" + +#: ..\..\source\tutorial\registration.rst:38 +msgid "Edit dimensionalities" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.atleast_1d `" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.atleast_2d `" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.atleast_3d `" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.broadcast `" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.broadcast_arrays `" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.broadcast_to `" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.expand_dims `" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.squeeze `" +msgstr "" + +#: ..\..\source\tutorial\registration.rst:55 +msgid "Changing kind of array" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.asfortranarray `" +msgstr "" + +#: ..\..\source\tutorial\registration.rst:68 +msgid "Joining arrays along axis" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.concatenate `" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.stack `" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.column_stack `" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.dstack `" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.hstack `" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.vstack `" +msgstr "" + +#: ..\..\source\tutorial\registration.rst:83 +msgid "Splitting arrays along axis" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.split `" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.array_split `" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.dsplit `" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.hsplit `" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.vsplit `" +msgstr "" + +#: ..\..\source\tutorial\registration.rst:97 +msgid "Repeating part of arrays along axis" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.tile `" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.repeat `" +msgstr "" + +#: ..\..\source\tutorial\registration.rst:108 +msgid "Rearranging elements" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.flip `" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.fliplr `" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.flipud `" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.roll `" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.rot90 `" +msgstr "" + +#: ..\..\source\tutorial\sampleconsensus.rst:2 +msgid "Mathematical Functions" +msgstr "" + +#: ..\..\source\tutorial\sampleconsensus.rst:5 +msgid "Trigonometric functions" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.sin `" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.cos `" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.tan `" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.arcsin `" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.arccos `" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.arctan `" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.hypot `" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.arctan2 `" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.deg2rad `" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.rad2deg `" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.degrees `" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.radians `" +msgstr "" + +#: ..\..\source\tutorial\sampleconsensus.rst:26 +msgid "Hyperbolic functions" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.sinh `" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.cosh `" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.tanh `" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.arcsinh `" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.arccosh `" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.arctanh `" +msgstr "" + +#: ..\..\source\tutorial\sampleconsensus.rst:41 +msgid "Rounding" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.rint `" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.floor `" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.ceil `" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.trunc `" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.fix `" +msgstr "" + +#: ..\..\source\tutorial\sampleconsensus.rst:55 +msgid "Sums and products" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.sum `" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.prod `" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.cumsum `" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.cumprod `" +msgstr "" + +#: ..\..\source\tutorial\sampleconsensus.rst:68 +msgid "Exponential and logarithm functions" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.exp `" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.expm1 `" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.exp2 `" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.log `" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.log10 `" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.log2 `" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.log1p `" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.logaddexp `" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.logaddexp2 `" +msgstr "" + +#: ..\..\source\tutorial\sampleconsensus.rst:86 +msgid "Floating point manipulations" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.signbit `" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.copysign `" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.ldexp `" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.frexp `" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.nextafter `" +msgstr "" + +#: ..\..\source\tutorial\sampleconsensus.rst:100 +msgid "Arithmetic operations" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.negative `" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.add `" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.subtract `" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.multiply `" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.divide `" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.true_divide `" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.floor_divide `" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.power `" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.fmod `" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.mod `" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.remainder `" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.modf `" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.reciprocal `" +msgstr "" + +#: ..\..\source\tutorial\sampleconsensus.rst:122 +msgid "Miscellaneous" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.clip `" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.sqrt `" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.square `" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.absolute `" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.sign `" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.maximum `" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.minimum `" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.fmax `" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.fmin `" +msgstr "" + +#: ..\..\source\tutorial\segmentation.rst:2 +msgid "Kernel binary memoization" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.memoize `" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.clear_memo `" +msgstr "" + +#: ..\..\source\tutorial\surface.rst:2 +msgid "Multi-Dimensional Array (ndarray)" +msgstr "" + +#: ..\..\source\tutorial\surface.rst:4 +msgid ":class:`python-pcl.ndarray` is the python-pcl counterpart of NumPy :class:`numpy.ndarray`. It provides an intuitive interface for a fixed-size multidimensional array which resides in a CUDA device." +msgstr "" + +#: ..\..\source\tutorial\surface.rst:8 +msgid "For the basic concept of ``ndarray``\\s, please refer to the `NumPy documentation `_." +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.ndarray `" +msgstr "" + +#: ..\..\source\tutorial\surface.rst:19 +msgid "Code compatibility features" +msgstr "" + +#: ..\..\source\tutorial\surface.rst:21 +msgid ":class:`python-pcl.ndarray` is designed to be interchangeable with :class:`numpy.ndarray` in terms of code compatibility as much as possible. But occasionally, you will need to know whether the arrays you're handling are :class:`python-pcl.ndarray` or :class:`numpy.ndarray`. One example is when invoking module-level functions such as :meth:`python-pcl.sum` or :meth:`numpy.sum`. In such situations, :meth:`python-pcl.get_array_module` can be used." +msgstr "" + +#: ..\..\source\tutorial\surface.rst:34 +msgid "Conversion to/from NumPy arrays" +msgstr "" + +#: ..\..\source\tutorial\surface.rst:36 +msgid ":class:`python-pcl.ndarray` and :class:`numpy.ndarray` are not implicitly convertible to each other. That means, NumPy functions cannot take :class:`python-pcl.ndarray`\\s as inputs, and vice versa." +msgstr "" + +#: ..\..\source\tutorial\surface.rst:39 +msgid "To convert :class:`numpy.ndarray` to :class:`python-pcl.ndarray`, use :meth:`python-pcl.array` or :meth:`python-pcl.asarray`." +msgstr "" + +#: ..\..\source\tutorial\surface.rst:40 +msgid "To convert :class:`python-pcl.ndarray` to :class:`numpy.ndarray`, use :meth:`python-pcl.asnumpy` or :meth:`python-pcl.ndarray.get`." +msgstr "" + +#: ..\..\source\tutorial\surface.rst:42 +msgid "Note that converting between :class:`python-pcl.ndarray` and :class:`numpy.ndarray` incurs data transfer between the host (CPU) device and the GPU device, which is costly in terms of performance." +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.asnumpy `" +msgstr "" + +#: ..\..\source\tutorial\testing.rst:2 +msgid "Testing Modules" +msgstr "" + +#: ..\..\source\tutorial\testing.rst:6 +msgid "python-pcl offers testing utilities to support unit testing. They are under namespace :mod:`python-pcl.testing`." +msgstr "" + +#: ..\..\source\tutorial\testing.rst:11 +msgid "Standard Assertions" +msgstr "" + +#: ..\..\source\tutorial\testing.rst:13 +msgid "The assertions have same names as NumPy's ones. The difference from NumPy is that they can accept both :class:`numpy.ndarray` and :class:`python-pcl.ndarray`." +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.testing.assert_allclose `" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.testing.assert_array_almost_equal `" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.testing.assert_array_almost_equal_nulp `" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.testing.assert_array_max_ulp `" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.testing.assert_array_equal `" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.testing.assert_array_list_equal `" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.testing.assert_array_less `" +msgstr "" + +#: ..\..\source\tutorial\testing.rst:32 +msgid "NumPy-python-pcl Consistency Check" +msgstr "" + +#: ..\..\source\tutorial\testing.rst:34 +msgid "The following decorators are for testing consistency between python-pcl's functions and corresponding NumPy's ones." +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.testing.numpy_python-pcl_allclose `" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.testing.numpy_python-pcl_array_almost_equal `" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.testing.numpy_python-pcl_array_almost_equal_nulp `" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.testing.numpy_python-pcl_array_max_ulp `" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.testing.numpy_python-pcl_array_equal `" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.testing.numpy_python-pcl_array_list_equal `" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.testing.numpy_python-pcl_array_less `" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.testing.numpy_python-pcl_raises `" +msgstr "" + +#: ..\..\source\tutorial\testing.rst:52 +msgid "Parameterized dtype Test" +msgstr "" + +#: ..\..\source\tutorial\testing.rst:54 +msgid "The following decorators offer the standard way for parameterized test with respect to single or the combination of dtype(s)." +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.testing.for_dtypes `" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.testing.for_all_dtypes `" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.testing.for_float_dtypes `" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.testing.for_signed_dtypes `" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.testing.for_unsigned_dtypes `" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.testing.for_int_dtypes `" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.testing.for_dtypes_combination `" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.testing.for_all_dtypes_combination `" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.testing.for_signed_dtypes_combination `" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.testing.for_unsigned_dtypes_combination `" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.testing.for_int_dtypes_combination `" +msgstr "" + +#: ..\..\source\tutorial\testing.rst:76 +msgid "Parameterized order Test" +msgstr "" + +#: ..\..\source\tutorial\testing.rst:77 +msgid "The following decorators offer the standard way to parameterize tests with orders." +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.testing.for_orders `" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.testing.for_CF_orders `" +msgstr "" + +#: ..\..\source\tutorial\tracking.rst:2 +msgid "Padding" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.pad `" +msgstr "" + +#: ..\..\source\tutorial\visualization.rst:2 +msgid "Profiling" +msgstr "" + +#: ..\..\source\tutorial\visualization.rst:5 +msgid "time range" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.prof.TimeRangeDecorator `" +msgstr "" + +#: ..\..\:1 +msgid ":obj:`python-pcl.prof.time_range `" +msgstr "" + diff --git a/docs/source/overview.rst b/docs/source/overview.rst new file mode 100644 index 000000000..3c455837f --- /dev/null +++ b/docs/source/overview.rst @@ -0,0 +1,26 @@ +.. _overview: + +python-pcl Overview +============= + +.. module:: python-pcl + +`python-pcl `_ is an implementation of PointCloudLibrary-compatible. +interface. + +The following is a brief overview of supported subset of PointCloudLibrary interface: + +- `filters `_ +- `features `_ +- `keypoints `_ +- `registration `_ +- `kdtree `_ +- `octree `_ +- `segmentation `_ +- `sample_consensus `_ +- `surface `_ +- `recognition `_ +- `io `_ +- `visualization `_ + + diff --git a/docs/source/reference/index.rst b/docs/source/reference/index.rst new file mode 100644 index 000000000..4934a069e --- /dev/null +++ b/docs/source/reference/index.rst @@ -0,0 +1,24 @@ +.. _python-pcl_reference: + +*************************** +python-pcl Reference Manual +*************************** + +This is the official reference of python-pcl, PointCloudLibrary-like API interface. + + +Indices and tables +================== + +* :ref:`genindex` +* :ref:`modindex` + +Reference +========= + +.. module:: python-pcl + +.. toctree:: + :maxdepth: 10 + + pcl diff --git a/docs/source/reference/pcl.rst b/docs/source/reference/pcl.rst new file mode 100644 index 000000000..03d49a745 --- /dev/null +++ b/docs/source/reference/pcl.rst @@ -0,0 +1,125 @@ +pcl +=== + +.. automodule:: pcl + + + + .. rubric:: Functions + + .. autosummary:: + + deg2rad + load + load2 + load_PointWithViewpoint + load_XYZI + load_XYZRGB + load_XYZRGBA + rad2deg + save + save2 + save_PointNormal + save_XYZRGBA + + + + + + .. rubric:: Classes + + .. autosummary:: + + ApproximateVoxelGrid + ApproximateVoxelGrid_PointXYZI + ApproximateVoxelGrid_PointXYZRGB + ApproximateVoxelGrid_PointXYZRGBA + ConcaveHull + ConcaveHull_PointXYZI + ConcaveHull_PointXYZRGB + ConcaveHull_PointXYZRGBA + ConditionAnd + ConditionalRemoval + CropBox + CropHull + EuclideanClusterExtraction + GeneralizedIterativeClosestPoint + HarrisKeypoint3D + IntegralImageNormalEstimation + IterativeClosestPoint + IterativeClosestPointNonLinear + KdTree + KdTreeFLANN + KdTreeFLANN_PointXYZI + KdTreeFLANN_PointXYZRGB + KdTreeFLANN_PointXYZRGBA + MomentOfInertiaEstimation + MovingLeastSquares + MovingLeastSquares_PointXYZRGB + MovingLeastSquares_PointXYZRGBA + NormalDistributionsTransform + NormalEstimation + OctreePointCloud + OctreePointCloud2Buf + OctreePointCloud2Buf_PointXYZI + OctreePointCloud2Buf_PointXYZRGB + OctreePointCloud2Buf_PointXYZRGBA + OctreePointCloudChangeDetector + OctreePointCloudChangeDetector_PointXYZI + OctreePointCloudChangeDetector_PointXYZRGB + OctreePointCloudChangeDetector_PointXYZRGBA + OctreePointCloudSearch + OctreePointCloudSearch_PointXYZI + OctreePointCloudSearch_PointXYZRGB + OctreePointCloudSearch_PointXYZRGBA + OctreePointCloud_PointXYZI + OctreePointCloud_PointXYZRGB + OctreePointCloud_PointXYZRGBA + PCLPointCloud2 + PassThroughFilter + PassThroughFilter_PointXYZI + PassThroughFilter_PointXYZRGB + PassThroughFilter_PointXYZRGBA + PointCloud + PointCloud_Histogram + PointCloud_Normal + PointCloud_PointNormal + PointCloud_PointWithViewpoint + PointCloud_PointXYZI + PointCloud_PointXYZRGB + PointCloud_PointXYZRGBA + PointIndices + ProjectInliers + ROPSEstimation + RadiusOutlierRemoval + RandomSampleConsensus + RangeImages + SampleConsensusModel + SampleConsensusModelCylinder + SampleConsensusModelLine + SampleConsensusModelPlane + SampleConsensusModelRegistration + SampleConsensusModelSphere + SampleConsensusModelStick + Segmentation + SegmentationNormal + Segmentation_PointXYZI + Segmentation_PointXYZI_Normal + Segmentation_PointXYZRGB + Segmentation_PointXYZRGBA + Segmentation_PointXYZRGBA_Normal + Segmentation_PointXYZRGB_Normal + Sequence + StatisticalOutlierRemovalFilter + StatisticalOutlierRemovalFilter_PointXYZI + StatisticalOutlierRemovalFilter_PointXYZRGB + StatisticalOutlierRemovalFilter_PointXYZRGBA + VFHEstimation + Vertices + VoxelGridFilter + + + + + + \ No newline at end of file diff --git a/docs/source/spelling_wordlist.txt b/docs/source/spelling_wordlist.txt new file mode 100644 index 000000000..368550b8b --- /dev/null +++ b/docs/source/spelling_wordlist.txt @@ -0,0 +1,165 @@ +acyclic +affine +allocator +arccosine +backend +backprop +backpropagation +Bernoulli +bilinear +bool +boolean +broadcast +broadcasted +Caffe +Cifer +channelwise +compatibilities +composability +composable +compositional +connectionist +concat +contrastive +convolutional +covariance +CPU +CTC +CUDA +python-pcl +customizable +dataset +datasets +de +deallocated +deallocation +deconvolution +deconvolutional +deserialization +deserialize +deserialized +deserializes +deserializer +deserializers +deserializing +differentiable +dimensionalities +dimensionality +dimentional +dtype +dtypes +elementwise +embeddings +evaluator +facto +FFT +finalizer +functionalities +gaussian +GPU +grey +greyscale +gzip +hdf +huber +hyperparameter +hyperparameters +hypoteneous +implementers +indices +infeasible +initializer +initializers +instantiation +iterable +iteratively +libhdf +learnable +Linux +maxout +memoization +memoize +memoized +memoizes +memoizing +minibatch +mlpconv +mnist +multi +multiclass +namespace +NaN +normalizer +npz +NumPy +online +optimizer +optimizers +outliers +Overfeat +parallelization +parallelizations +parallelize +parallelized +parallelizes +parallelizing +parameterize +parameterized +perceptron +Perf +permutate +permutates +pluggable +postprocess +pre +preprocessing +profiler +profilers +proto +PRs +quantization +reimplement +reinstall +resized +runtime +serializable +serializer +serializers +sharding +siamese +sigmoid +softmax +stateful +subdirectories +subdirectory +summarization +tuple +tuples +ufunc +ufuncs +unigram +uninstall +unnormalize +unnormalized +unpooling +unregisters +unuseful +variadic +variational +vecLib +vectorized +versioning +workspace + +Bengio +Cho +Courville +farley +Goodfellow +Jurgen +Mirza +Nesterov +Schmidhuber +Socher +Warde +Zeiler diff --git a/docs/source/tutorial/GPU.rst b/docs/source/tutorial/GPU.rst new file mode 100644 index 000000000..ebf758072 --- /dev/null +++ b/docs/source/tutorial/GPU.rst @@ -0,0 +1,28 @@ +GPU Tutorials +============= + + +Configuring your PC to use your Nvidia GPU with PCL +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +This tutorial explains how to configure PCL to use with a Nvidia GPU + +* `Original `_ \ +* TestCode : None + + +Using Kinfu Large Scale to generate a textured mesh +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +This tutorial demonstrates how to use KinFu Large Scale to produce a mesh from a room, and apply texture information in post-processing for a more appealing visual result. + +* `Original `_ \ +* TestCode : None + + +Detecting people and their poses using PointCloud Library +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +This tutorial presents a method for people and pose detection. + +* `Original `_ \ +* TestCode : None + + diff --git a/docs/source/tutorial/application.rst b/docs/source/tutorial/application.rst new file mode 100644 index 000000000..c3bf22840 --- /dev/null +++ b/docs/source/tutorial/application.rst @@ -0,0 +1,36 @@ +Applications Tutorials +====================== + + +Aligning object templates to a point cloud +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +This tutorial gives an example of how some of the tools covered in the previous tutorials can be combined to solve a higher level problem - aligning a previously captured model of an object to some newly captured data. + +* `Original `_ \ +* TestCode : None + + +Cluster Recognition and 6DOF Pose Estimation using VFH descriptors +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +In this tutorial we show how the Viewpoint Feature Histogram (VFH) descriptor can be used to recognize similar clusters in terms of their geometry. + +* `Original `_ \ +* TestCode : None + + +Point Cloud Streaming to Mobile Devices with Real-time Visualization +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +This tutorial describes how to send point cloud data over the network from a desktop server to a client running on a mobile device. + +* `Original `_ \ +* TestCode : None + + +Detecting people on a ground plane with RGB-D data +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +This tutorial presents a method for detecting people on a ground plane with RGB-D data. + +* `Original `_ \ +* TestCode : None + + diff --git a/docs/source/tutorial/features.rst b/docs/source/tutorial/features.rst new file mode 100644 index 000000000..978373fb2 --- /dev/null +++ b/docs/source/tutorial/features.rst @@ -0,0 +1,74 @@ +Features Tutorials +================== + +How 3D Features work in PCL +~~~~~~~~~~~~~~~~~~~~~~~~~~~ +This document presents a basic introduction to the 3D feature estimation methodologies in PCL. + +* `Original `_ \ +* TestCode : None + + +Estimating Surface Normals in a PointCloud +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +This tutorial discusses the theoretical and implementation details of the surface normal estimation module in PCL. + +* `Original `_ \ +* TestCode : None + + +Normal Estimation Using Integral Images +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +In this tutorial we will learn how to compute normals for an organized point cloud using integral images. + +* `Original `_ \ +* TestCode : examples/official/Features/NormalEstimationUsingIntegralImages.py + + +Point Feature Histograms (PFH) descriptors +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +This tutorial introduces a family of 3D feature descriptors called PFH (Point Feature Histograms) and discusses their implementation details from PCLfs perspective. + +* `Original `_ \ +* TestCode : None + + +Fast Point Feature Histograms (FPFH) descriptors +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +This tutorial introduces the FPFH (Fast Point Feature Histograms) 3D descriptor and discusses their implementation details from PCLfs perspective. + +* `Original `_ \ +* TestCode : None + + +Estimating VFH signatures for a set of points +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +This document describes the Viewpoint Feature Histogram (VFH) descriptor, a novel representation for point clusters for the problem of Cluster (e.g., Object) Recognition and 6DOF Pose Estimation. + +* `Original `_ \ +* TestCode : None + + +How to extract NARF features from a range image +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +In this tutorial, we will learn how to extract NARF features from a range image. + +* `Original `_ \ +* TestCode : None + +Moment of inertia and eccentricity based descriptors +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +In this tutorial we will learn how to compute moment of inertia and eccentricity of the cloud. In addition to this we will learn how to extract AABB and OBB. + +* `Original `_ \ +* TestCode : examples/official/Features/moment_of_inertia.py + + +RoPs (Rotational Projection Statistics) feature +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +In this tutorial we will learn how to compute RoPS feature. + +* `Original `_ \ +* TestCode : examples/official/Features/rops_feature.py + + diff --git a/docs/source/tutorial/filtering.rst b/docs/source/tutorial/filtering.rst new file mode 100644 index 000000000..07a2e1200 --- /dev/null +++ b/docs/source/tutorial/filtering.rst @@ -0,0 +1,50 @@ +Filtering Tutorials +=================== + +Filtering a PointCloud using a PassThrough filter +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +In this tutorial, we will learn how to remove points whose values fall inside/outside a user given interval along a specified dimension. + +* `Original `_ \ +* TestCode : examples/official/Filtering/PassThroughFilter.py + +Downsampling a PointCloud using a VoxelGrid filter +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +In this tutorial, we will learn how to downsample (i.e., reduce the number of points) a Point Cloud. + +* `Original `_ \ +* TestCode : examples/official/Filtering/VoxelGrid_160.py + + +Removing outliers using a StatisticalOutlierRemoval filter +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +In this tutorial, we will learn how to remove sparse outliers from noisy data, using StatisticalRemoval. + +* `Original `_ \ +* TestCode : examples/official/Filtering/statistical_removal.py + + +Projecting points using a parametric model +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +In this tutorial, we will learn how to project points to a parametric model (i.e., plane). + +* `Original `_ \ +* TestCode : examples/official/Filtering/project_inliers.py + + +Extracting indices from a PointCloud +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +In this tutorial, we will learn how to extract a set of indices given by a segmentation algorithm. + +* `Original `_ \ +* TestCode : examples/official/Filtering/extract_indices.py + + +Removing outliers using a Conditional or RadiusOutlier removal +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +In this tutorial, we will learn how to remove outliers from noisy data, using ConditionalRemoval, RadiusOutlierRemoval. + +* `Original `_ \ +* TestCode : None + + diff --git a/docs/source/tutorial/index.rst b/docs/source/tutorial/index.rst new file mode 100644 index 000000000..57557c280 --- /dev/null +++ b/docs/source/tutorial/index.rst @@ -0,0 +1,22 @@ +python-pcl Tutorial +=================== + +.. toctree:: + :maxdepth: 1 + + application + features + filtering + GPU + io + keypoint + kdtree + octree + rangeImage + recognition + registration + sampleconsensus + segmentation + surface + tracking + visualization diff --git a/docs/source/tutorial/io.rst b/docs/source/tutorial/io.rst new file mode 100644 index 000000000..c39d9f09d --- /dev/null +++ b/docs/source/tutorial/io.rst @@ -0,0 +1,83 @@ +Input and Output Tutorials +========================== + +The PCD (Point Cloud Data) file format +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +This document describes the PCD file format, and the way it is used inside PCL. + +* `Original `_ \ +* TestCode : None + + +Reading Point Cloud data from PCD files +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +In this tutorial, we will learn how to read a Point Cloud from a PCD file. + +* `Original `_ \ +* TestCode : None + + +Writing Point Cloud data to PCD files +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +In this tutorial, we will learn how to write a Point Cloud to a PCD file. + +* `Original `_ \ +* TestCode : None + + +Concatenate the points of two Point Clouds +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +In this tutorial, we will learn how to concatenate both the fields and the point data of two Point Clouds. When concatenating fields, one PointClouds contains only XYZ data, and the other contains Surface Normal information. + +* `Original `_ \ +* TestCode : None + + +The OpenNI Grabber Framework in PCL +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +In this tutorial, we will learn how to acquire point cloud data from an OpenNI camera. + +* `Original `_ \ +* TestCode : None + + +The Velodyne High Definition LiDAR (HDL) Grabber +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +In this tutorial, we will learn how to acquire point cloud data from a Velodyne HDL. + +* `Original `_ \ +* TestCode : None + + +The PCL Dinast Grabber Framework +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +In this tutorial, we will learn how to acquire point cloud data from a Dinast camera. + +* `Original `_ \ +* TestCode : None + + +Grabbing point clouds from Ensenso cameras +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +In this tutorial, we will learn how to acquire point cloud data from an IDS-Imaging Ensenso camera. + +* `Original `_ \ +* TestCode : None + + +Grabbing point clouds / meshes from davidSDK scanners +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +In this tutorial, we will learn how to acquire point cloud or mesh data from a davidSDK scanner. + +* `Original `_ \ +* TestCode : None + + +Grabbing point clouds from DepthSense cameras +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +In this tutorial we will learn how to setup and use DepthSense cameras within PCL on both Linux and Windows platforms. + +* `Original `_ \ +* TestCode : None + + diff --git a/docs/source/tutorial/kdtree.rst b/docs/source/tutorial/kdtree.rst new file mode 100644 index 000000000..1ac9809da --- /dev/null +++ b/docs/source/tutorial/kdtree.rst @@ -0,0 +1,10 @@ +KdTree Tutorials +================ + +How to use a KdTree to search +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +In this tutorial, we will learn how to search using the nearest neighbor method for k-d trees + +* `Original `_ \ +* TestCode : examples/official/kdtree/kdtree_search.py diff --git a/docs/source/tutorial/keypoint.rst b/docs/source/tutorial/keypoint.rst new file mode 100644 index 000000000..6b0eb6f26 --- /dev/null +++ b/docs/source/tutorial/keypoint.rst @@ -0,0 +1,11 @@ +KeyPoint Tutorials +================== + +How to extract NARF keypoint from a range image +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +In this tutorial, we will learn how to extract NARF keypoints from a range image. + +* `Original `_ \ +* TestCode : examples/official/keypoints/narf_keypoint_extraction.py + + diff --git a/docs/source/tutorial/octree.rst b/docs/source/tutorial/octree.rst new file mode 100644 index 000000000..e628348d5 --- /dev/null +++ b/docs/source/tutorial/octree.rst @@ -0,0 +1,27 @@ +Octree Tutorials +================ + +Point Cloud Compression +~~~~~~~~~~~~~~~~~~~~~~~ +In this tutorial, we will learn how to compress a single point cloud and streams of point clouds. + +* `Original `_ \ +* TestCode : None + + +Spatial Partitioning and Search Operations with Octrees +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +In this tutorial, we will learn how to use octrees for spatial partitioning and nearest neighbor search. + +* `Original `_ \ +* TestCode : examples/official/octree/octree_search.py + + +Spatial change detection on unorganized point cloud data +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +In this tutorial, we will learn how to use octrees for detecting spatial changes within point clouds. + +* `Original `_ \ +* TestCode : examples/official/octree/octree_change_detection.py + + diff --git a/docs/source/tutorial/rangeImage.rst b/docs/source/tutorial/rangeImage.rst new file mode 100644 index 000000000..a19cd7209 --- /dev/null +++ b/docs/source/tutorial/rangeImage.rst @@ -0,0 +1,19 @@ +RangeImage Tutorials +==================== + +How to create a range image from a point cloud +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +This tutorial demonstrates how to create a range image from a point cloud and a given sensor position. + +* `Original `_ \ +* TestCode : None + + +How to extract borders from range images +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +This tutorial demonstrates how to extract borders (traversals from foreground to background) from a range image. + +* `Original `_ \ +* TestCode : examples/official/RangeImage/range_image_border_extraction.py + + diff --git a/docs/source/tutorial/recognition.rst b/docs/source/tutorial/recognition.rst new file mode 100644 index 000000000..9ba1208cd --- /dev/null +++ b/docs/source/tutorial/recognition.rst @@ -0,0 +1,28 @@ +Recognition Tutorials +===================== + + +3D Object Recognition based on Correspondence Grouping +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +This tutorial aims at explaining how to perform 3D Object Recognition based on the pcl_recognition module. + +* `Original `_ \ +* TestCode : None + + +Implicit Shape Model +~~~~~~~~~~~~~~~~~~~~ +In this tutorial we will learn how the Implicit Shape Model algorithm works and how to use it for finding objects centers. + +* `Original `_ \ +* TestCode : None + + +Tutorial: Hypothesis Verification for 3D Object Recognition +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +This tutorial aims at explaining how to do 3D object recognition in clutter by verifying model hypotheses in cluttered and heavily occluded 3D scenes. + +* `Original `_ \ +* TestCode : None + + diff --git a/docs/source/tutorial/registration.rst b/docs/source/tutorial/registration.rst new file mode 100644 index 000000000..35c4ff534 --- /dev/null +++ b/docs/source/tutorial/registration.rst @@ -0,0 +1,60 @@ +Registration Tutorials +====================== + + +The PCL Registration API +~~~~~~~~~~~~~~~~~~~~~~~~ +In this document, we describe the point cloud registration API and its modules: the estimation and rejection of point correspondences, and the estimation of rigid transformations. + +* `Original `_ \ +* TestCode : None + + +How to use iterative closest point +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +This tutorial gives an example of how to use the iterative closest point algorithm to see if one PointCloud is just a rigid transformation of another PointCloud. + +* `Original `_ \ +* TestCode : examples/official/Registration/iterative_closest_point.py + + +How to incrementally register pairs of clouds +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +This document demonstrates using the Iterative Closest Point algorithm in order to incrementally register a series of point clouds two by two. + +* `Original `_ \ +* TestCode : None + + +Interactive Iterative Closest Point +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +This tutorial will teach you how to build an interactive ICP program + +* `Original `_ \ +* TestCode : None + + +How to use Normal Distributions Transform +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +This document demonstrates using the Normal Distributions Transform algorithm to register two large point clouds. + +* `Original `_ \ +* TestCode : examples/official/Registration/normal_distributions_transform.py + + +In-hand scanner for small objects +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +This document shows how to use the In-hand scanner applications to obtain colored models of small objects with RGB-D cameras. + +* `Original `_ \ +* TestCode : None + + +Robust pose estimation of rigid objects +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +In this tutorial, we show how to find the alignment pose of a rigid object in a scene with clutter and occlusions. + +* `Original `_ \ +* TestCode : examples/official/Registration/alignment_prerejective.py + + diff --git a/docs/source/tutorial/sampleconsensus.rst b/docs/source/tutorial/sampleconsensus.rst new file mode 100644 index 000000000..53d20b4c2 --- /dev/null +++ b/docs/source/tutorial/sampleconsensus.rst @@ -0,0 +1,11 @@ +Sampleconsensus Tutorials +====================== + +How to use Random Sample Consensus model +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +In this tutorial we learn how to use a RandomSampleConsensus with a plane model to obtain the cloud fitting to this model. + +* `Original `_ \ +* TestCode : examples/official/SampleConsensus/random_sample_consensus.py + + diff --git a/docs/source/tutorial/segmentation.rst b/docs/source/tutorial/segmentation.rst new file mode 100644 index 000000000..6916bc30d --- /dev/null +++ b/docs/source/tutorial/segmentation.rst @@ -0,0 +1,92 @@ +segmentation Tutorials +========================= + + +Plane model segmentation +~~~~~~~~~~~~~~~~~~~~~~~~ +In this tutorial, we will learn how to segment arbitrary plane models from a given point cloud dataset. + +* `Original `_ \ +* TestCode : examples/official/Segmentation/Plane_model_segmentation.py + + +Cylinder model segmentation +~~~~~~~~~~~~~~~~~~~~~~~~~~~ +In this tutorial, we will learn how to segment arbitrary cylindrical models from a given point cloud dataset. + +* `Original `_ \ +* TestCode : examples/official/Segmentation/cylinder_segmentation.py + + +Euclidean Cluster Extraction +~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +In this tutorial we will learn how to extract Euclidean clusters with the pcl::EuclideanClusterExtraction class. + +* `Original `_ \ +* TestCode : examples/official/Segmentation/cluster_extraction.py + + +Region growing segmentation +~~~~~~~~~~~~~~~~~~~~~~~~~~~ +In this tutorial we will learn how to use region growing segmentation algorithm. + +* `Original `_ \ +* TestCode : None + + +Color-based region growing segmentation +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +In this tutorial we will learn how to use color-based region growing segmentation algorithm. + +* `Original `_ \ +* TestCode : None + + +Min-Cut Based Segmentation +~~~~~~~~~~~~~~~~~~~~~~~~~~ +In this tutorial we will learn how to use min-cut based segmentation algorithm. + +* `Original `_ \ +* TestCode : None + + +Conditional Euclidean Clustering +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +This tutorial describes how to use the Conditional Euclidean Clustering class in PCL: A segmentation algorithm that clusters points based on Euclidean distance and a user-customizable condition that needs to hold. + +* `Original `_ \ +* TestCode : None + + +Difference of Normals Based Segmentation +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +In this tutorial we will learn how to use the difference of normals feature for segmentation. + +* `Original `_ \ +* TestCode : None + + +Clustering of Pointclouds into Supervoxels - Theoretical primer +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +In this tutorial, we show to break a pointcloud into the mid-level supervoxel representation. + +* `Original `_ \ +* TestCode : None + + +Identifying ground returns using ProgressiveMorphologicalFilter segmentation +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +In this tutorial, we show how to segment a point cloud into ground and non-ground returns. + +* `Original `_ \ +* TestCode : None + + +Filtering a PointCloud using ModelOutlierRemoval +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +This tutorial describes how to extract points from a point cloud using SAC models + +* `Original `_ \ +* TestCode : None + + diff --git a/docs/source/tutorial/surface.rst b/docs/source/tutorial/surface.rst new file mode 100644 index 000000000..fe2c1573f --- /dev/null +++ b/docs/source/tutorial/surface.rst @@ -0,0 +1,36 @@ +surface Tutorials +================= + + +Smoothing and normal estimation based on polynomial reconstruction +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +In this tutorial, we will learn how to construct and run a Moving Least Squares (MLS) algorithm to obtain smoothed XYZ coordinates and normals. + +* `Original `_ \ +* TestCode : None + + +Construct a concave or convex hull polygon for a plane model +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +In this tutorial we will learn how to calculate a simple 2D concave or convex hull polygon for a set of points supported by a plane. + +* `Original `_ \ +* TestCode : examples/official/Surface/concave_hull_2d.py + + +Fast triangulation of unordered point clouds +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +In this tutorial we will learn how to run a greedy triangulation algorithm on a PointCloud with normals to obtain a triangle mesh based on projections of the local neighborhood. + +* `Original `_ \ +* TestCode : None + + +Fitting trimmed B-splines to unordered point clouds +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +In this tutorial we will learn how to reconstruct a smooth surface from an unordered point-cloud by fitting trimmed B-splines. + +* `Original `_ \ +* TestCode : None + + diff --git a/docs/source/tutorial/tracking.rst b/docs/source/tutorial/tracking.rst new file mode 100644 index 000000000..4573ac5ac --- /dev/null +++ b/docs/source/tutorial/tracking.rst @@ -0,0 +1,9 @@ +Tracking Tutorials +================== + +Tracking Example +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +In this tutorial, we will learn how to construct and run a Moving Least Squares (MLS) algorithm to obtain smoothed XYZ coordinates and normals. + +* Original Page : None (tutorials/sources/tracking/tracking_sample.cpp) +* TestCode : None \ No newline at end of file diff --git a/docs/source/tutorial/visualization.rst b/docs/source/tutorial/visualization.rst new file mode 100644 index 000000000..37a7eae63 --- /dev/null +++ b/docs/source/tutorial/visualization.rst @@ -0,0 +1,60 @@ +Visualization Tutorials +======================= + + +The CloudViewer +~~~~~~~~~~~~~~~ +This tutorial demonstrates how to use the pcl visualization tools. + +* `Original `_ \ +* TestCode : None + + +How to visualize a range image +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +This tutorial demonstrates how to use the pcl visualization tools for range images. + +* `Original `_ \ +* TestCode : None + + +PCLVisualizer +~~~~~~~~~~~~~ +This tutorial demonstrates how to use the PCLVisualizer class for powerful visualisation of point clouds and related data. + +* `Original `_ \ +* TestCode : None + + +PCLPlotter +~~~~~~~~~~ +This tutorial demonstrates how to use the PCLPlotter class for powerful visualisation of plots, charts and histograms of raw data and explicit functions. + +* `Original `_ \ +* TestCode : None + + +Visualization +~~~~~~~~~~~~~ +This tutorial will give an overview on the usage of the PCL visualization tools. + +* `Original `_ \ +* TestCode : None + + +Create a PCL visualizer in Qt with cmake +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +This tutorial shows you how to create a PCL visualizer within a Qt application. + +* `Original `_ \ +* TestCode : None + + +Create a PCL visualizer in Qt to colorize clouds +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +This tutorial shows you how to color point clouds within a Qt application. + +* `Original `_ \ +* TestCode : None + + diff --git a/docs/translate.bat b/docs/translate.bat new file mode 100644 index 000000000..57748413b --- /dev/null +++ b/docs/translate.bat @@ -0,0 +1,8 @@ +@ECHO OFF + +make gettext +mkdir locale\pot +copy build\locale\*.pot locale\pot +mkdir locale\ja\LC_MESSAGES +copy locale\pot\* locale\ja\LC_MESSAGES\ +sphinx-intl update -p build\locale -l ja \ No newline at end of file diff --git a/examples/3dharris.py b/examples/3dharris.py index 9b0472f27..c5f2f229c 100644 --- a/examples/3dharris.py +++ b/examples/3dharris.py @@ -21,9 +21,9 @@ ### detector = cloud.make_HarrisKeypoint3D() detector.set_NonMaxSupression (True) -detector.set_Radius (100) +detector.set_Radius (0.01) # detector.set_NonMaxSupression (False) -# detector.set_Radius (0.1) +# detector.set_RadiusSearch (100) keypoints = detector.compute() # std::cout << "keypoints detected: " << keypoints->size() << std::endl; @@ -44,9 +44,10 @@ # std::cout << "maximal responce: "<< max << " min responce: "<< min< max: print("coords: " + str(keypoints[i][0]) + ";" + str(keypoints[i][1]) + ";" + str(keypoints[i][2]) ) max = intensity - end if intensity < min: min = intensity - end + + count = count + 1 +points.resize(count, 3) +print(points) keypoints3D.from_array(points) print("maximal responce: " + str(max) + " min responce: " + str(min) ) @@ -80,11 +83,12 @@ kpcolor = pcl.pcl_visualization.PointCloudColorHandleringCustom(keypoints3D, 255, 0, 0) # OK viewer.AddPointCloud_ColorHandler(cloud, pccolor) -viewer.AddPointCloud_ColorHandler(keypoints3D, kpcolor) +viewer.AddPointCloud_ColorHandler(keypoints3D, kpcolor, b'keypoints') + # viewer.AddPointCloud_ColorHandler(cloud, pccolor, "testimg.png", 0) # viewer.AddPointCloud_ColorHandler(keypoints3D, kpcolor, str('keypoints.png'), 0) # need? : AddPointCloud_ColorHandler Function Succeded -# viewer.SetPointCloudRenderingProperties (pcl.pcl_visualization.PCLVISUALIZER_POINT_SIZE, 7, 'keypoints.png') +# viewer.SetPointCloudRenderingProperties (pcl.pcl_visualization.PCLVISUALIZER_POINT_SIZE, 7, b'keypoints.png') ### @@ -92,7 +96,7 @@ # { # viewer.spinOnce(); # pcl_sleep (0.01); -# } +# } flag = True while flag: flag != viewer.WasStopped() diff --git a/examples/HarrisKeypoint3D.py b/examples/HarrisKeypoint3D.py index 53f8b2b5e..52d0c89b1 100644 --- a/examples/HarrisKeypoint3D.py +++ b/examples/HarrisKeypoint3D.py @@ -10,7 +10,8 @@ # pcl::PointCloud::Ptr cloud (new pcl::PointCloud); # pcl::io::loadPCDFile (argv[1], *cloud); -cloud = pcl.load_XYZRGB('./examples/pcldata/tutorials/table_scene_mug_stereo_textured.pcd') +# cloud = pcl.load_XYZRGB('./examples/pcldata/tutorials/table_scene_mug_stereo_textured.pcd') +cloud = pcl.load('./examples/pcldata/tutorials/table_scene_mug_stereo_textured.pcd') # pcl::HarrisKeypoint3D detector; # detector.setNonMaxSupression (true); @@ -45,12 +46,14 @@ # # //show point cloud # pcl::visualization::PCLVisualizer viewer ("3D Viewer"); -viewer = PCLVisualizer("3D Viewer"); +viewer = pcl.pcl_visualization.PCLVisualizering(b"3D Viewer") # pcl::visualization::PointCloudColorHandlerCustom pccolor(cloud, 255, 255, 255); # pcl::visualization::PointCloudColorHandlerCustom kpcolor(keypoints3D, 255, 0, 0); -pccolor = PointCloudColorHandlerCustom(cloud, 255, 255, 255) -kpcolor = PointCloudColorHandlerCustom(keypoints3D, 255, 0, 0) +pccolor = pcl.pcl_visualization.PointCloudColorHandleringCustom(cloud, 255, 255, 255) +# kpcolor = pcl.pcl_visualization.PointCloudColorHandleringCustom(keypoints3D, 255, 0, 0) +kpcolor = pcl.pcl_visualization.PointCloudColorHandleringCustom(keypoints, 255, 0, 0) + viewer.addPointCloud(cloud,pccolor,"testimg.png"); viewer.addPointCloud(keypoints3D,kpcolor,"keypoints.png"); @@ -60,5 +63,5 @@ while True: # viewer.wasStopped() viewer.spinOnce() - pcl_sleep (0.01) + # pcl_sleep (0.01) end diff --git a/examples/official/Filtering/extract_indices.py b/examples/official/Filtering/extract_indices.py index 42359a434..6798bcec9 100644 --- a/examples/official/Filtering/extract_indices.py +++ b/examples/official/Filtering/extract_indices.py @@ -23,15 +23,15 @@ # sor.setInputCloud (cloud_blob); # sor.setLeafSize (0.01f, 0.01f, 0.01f); # sor.filter (*cloud_filtered_blob); -sor = cloud_blob.make_VexelGrid() -sor.set_LeafSize(0.01, 0.01, 0.01) +sor = cloud_blob.make_voxel_grid_filter() +sor.set_leaf_size(0.01, 0.01, 0.01) cloud_filtered_blob = sor.filter() -# // Convert to the templated PointCloud +# Convert to the templated PointCloud # pcl::fromPCLPointCloud2 (*cloud_filtered_blob, *cloud_filtered); # std::cerr << "PointCloud after filtering: " << cloud_filtered->width * cloud_filtered->height << " data points." << std::endl; -cloud_filtered = cloud_filtered_blob.from___ -print("PointCloud after filtering: " + (cloud_filtered.width * cloud_filtered.height) + " data points.") +cloud_filtered = pcl.PCLPointCloud2(cloud_filtered_blob.to_array()) +print('PointCloud after filtering: ' + str(cloud_filtered.width * cloud_filtered.height) + ' data points.') # Write the downsampled version to disk # pcl::PCDWriter writer; diff --git a/examples/official/Registration/alignment_prerejective.py b/examples/official/Registration/alignment_prerejective.py index da2dd1e93..c2a42824a 100644 --- a/examples/official/Registration/alignment_prerejective.py +++ b/examples/official/Registration/alignment_prerejective.py @@ -34,7 +34,7 @@ # } if args.n != 3: print('Syntax is: " + "" +" object.pcd scene.pcd\n') - return 1 + return (1) # // Load object and scene # pcl::console::print_highlight ("Loading point clouds...\n"); @@ -58,11 +58,11 @@ # grid.setInputCloud (scene); # grid.filter (*scene); print('Downsampling...\n') -grid_obj = object.make_VexelGrid() +grid_obj = object.make_voxel_grid_filter() leaf = 0.005 -grid_obj.set_LeafSize (leaf, leaf, leaf) +grid_obj.set_leaf_size (leaf, leaf, leaf) object = grid_obj.filter() -scene_obj = scene.make_VexelGrid() +scene_obj = scene.make_voxel_grid_filter() grid_sce = scene_obj.filter () # // Estimate normals for scene @@ -157,8 +157,8 @@ # Print results print ('\n'); # Eigen::Matrix4f transformation = align.getFinalTransformation () - eigen3.Matrix4f transformation = align.getFinalTransformation () - + transformation = align.getFinalTransformation () + # print (' | %6.3f %6.3f %6.3f | \n', transformation [0, 0], transformation [0, 1], transformation [0, 2]) # print ('R = | %6.3f %6.3f %6.3f | \n', transformation [1, 0], transformation [1, 1], transformation [1, 2]) # print (' | %6.3f %6.3f %6.3f | \n', transformation [2, 0], transformation [2, 1], transformation [2, 2]) @@ -166,7 +166,7 @@ # print ('t = < %0.3f, %0.3f, %0.3f >\n', transformation[0, 3], transformation[1, 3], transformation[2, 3]) # print ('\n'); # print ('Inliers: %i/%i\n', align.getInliers ().size (), object->size ()); - + # Show alignment visu = pcl.PCLVisualization('Alignment') visu.add_PointCloud (scene, ColorHandlerT (scene, 0.0, 255.0, 0.0), 'scene') diff --git a/examples/official/SampleConsensus/random_sample_consensus.py b/examples/official/SampleConsensus/random_sample_consensus.py index 576ffacbd..8db0fe63e 100644 --- a/examples/official/SampleConsensus/random_sample_consensus.py +++ b/examples/official/SampleConsensus/random_sample_consensus.py @@ -151,44 +151,49 @@ final.from_array(finalpoints) -# // creates the visualization object and adds either our orignial cloud or all of the inliers -# // depending on the command line arguments specified. -# boost::shared_ptr viewer; -# if (pcl::console::find_argument (argc, argv, "-f") >= 0 || pcl::console::find_argument (argc, argv, "-sf") >= 0) -# viewer = simpleVis(final); -# else -# viewer = simpleVis(cloud); -if argc > 1: - if argvs[1] == "-f" or argvs[1] == "-sf": - viewer = pcl.pcl_visualization.PCLVisualizering('3D Viewer') - viewer.SetBackgroundColor (0, 0, 0) - viewer.AddPointCloud (final, b'sample cloud') - viewer.SetPointCloudRenderingProperties (pcl.pcl_visualization.PCLVISUALIZER_POINT_SIZE, 3, b'sample cloud') - viewer.InitCameraParameters () +# current(0.3.0) Windows Only Test +isWindows = False +if isWindows == True: + # creates the visualization object and adds either our orignial cloud or all of the inliers + # depending on the command line arguments specified. + # boost::shared_ptr viewer; + # if (pcl::console::find_argument (argc, argv, "-f") >= 0 || pcl::console::find_argument (argc, argv, "-sf") >= 0) + # viewer = simpleVis(final); + # else + # viewer = simpleVis(cloud); + + if argc > 1: + if argvs[1] == "-f" or argvs[1] == "-sf": + viewer = pcl.pcl_visualization.PCLVisualizering('3D Viewer') + viewer.SetBackgroundColor (0, 0, 0) + viewer.AddPointCloud (final, b'sample cloud') + viewer.SetPointCloudRenderingProperties (pcl.pcl_visualization.PCLVISUALIZER_POINT_SIZE, 3, b'sample cloud') + viewer.InitCameraParameters () + else: + viewer = pcl.pcl_visualization.PCLVisualizering('3D Viewer') + viewer.SetBackgroundColor (0, 0, 0) + viewer.AddPointCloud (cloud, b'sample cloud') + viewer.SetPointCloudRenderingProperties (pcl.pcl_visualization.PCLVISUALIZER_POINT_SIZE, 3, b'sample cloud') + viewer.InitCameraParameters () else: viewer = pcl.pcl_visualization.PCLVisualizering('3D Viewer') viewer.SetBackgroundColor (0, 0, 0) viewer.AddPointCloud (cloud, b'sample cloud') viewer.SetPointCloudRenderingProperties (pcl.pcl_visualization.PCLVISUALIZER_POINT_SIZE, 3, b'sample cloud') viewer.InitCameraParameters () -else: - viewer = pcl.pcl_visualization.PCLVisualizering('3D Viewer') - viewer.SetBackgroundColor (0, 0, 0) - viewer.AddPointCloud (cloud, b'sample cloud') - viewer.SetPointCloudRenderingProperties (pcl.pcl_visualization.PCLVISUALIZER_POINT_SIZE, 3, b'sample cloud') - viewer.InitCameraParameters () -# while (!viewer->wasStopped ()) -# { -# viewer->spinOnce (100); -# boost::this_thread::sleep (boost::posix_time::microseconds (100000)); -# } -isStopped = False -while isStopped == False: - isStopped = viewer.WasStopped() - viewer.SpinOnce (100) + # while (!viewer->wasStopped ()) + # { + # viewer->spinOnce (100); # boost::this_thread::sleep (boost::posix_time::microseconds (100000)); - + # } + isStopped = False + while isStopped == False: + isStopped = viewer.WasStopped() + viewer.SpinOnce (100) + # boost::this_thread::sleep (boost::posix_time::microseconds (100000)); +else: + pass diff --git a/examples/sift.py b/examples/sift.py index ac035f6f1..6da9c5ce2 100644 --- a/examples/sift.py +++ b/examples/sift.py @@ -23,11 +23,13 @@ def Surface_normals(cloud): ne = cloud.make_NormalEstimation() tree = cloud.make_kdtree() - ne.set_SearchMethod (tree) ne.set_SearchMethod(tree) ne.set_RadiusSearch(0.5) # NG + print('test - a') + print(ne) cloud_normals = ne.compute() + print('test - b') return cloud_normals ### diff --git a/examples/visualization.py b/examples/visualization.py index b6b5db82d..a5e4d741f 100644 --- a/examples/visualization.py +++ b/examples/visualization.py @@ -3,18 +3,19 @@ import numpy as np import pcl - -import pcl.pcl_visualization -# from pcl.pcl_registration import icp, gicp, icp_nl - -cloud = pcl.load_XYZRGB('./examples/pcldata/tutorials/table_scene_mug_stereo_textured.pcd') - visual = pcl.pcl_visualization.CloudViewing() - -# PointXYZ -# visual.ShowMonochromeCloud(cloud) - # visual.ShowGrayCloud(cloud) -visual.ShowColorCloud(cloud) -# visual.ShowColorACloud(cloud) + +import pcl.pcl_visualization +# from pcl.pcl_registration import icp, gicp, icp_nl + +cloud = pcl.load_XYZRGB('./examples/pcldata/tutorials/table_scene_mug_stereo_textured.pcd') +visual = pcl.pcl_visualization.CloudViewing() + +# PointXYZ +# visual.ShowMonochromeCloud(cloud) + +# visual.ShowGrayCloud(cloud, b'cloud') +visual.ShowColorCloud(cloud, b'cloud') +# visual.ShowColorACloud(cloud, b'cloud') # while True: # visual.WasStopped() diff --git a/pcl/__init__.py b/pcl/__init__.py index de127f30b..1e3edd3b3 100644 --- a/pcl/__init__.py +++ b/pcl/__init__.py @@ -7,6 +7,7 @@ import sys + def load(path, format=None): """Load pointcloud from path. @@ -44,6 +45,7 @@ def load_XYZI(path, format=None): % (path, format)) return p + def load_XYZRGB(path, format=None): """ Load pointcloud from path. @@ -112,6 +114,7 @@ def save(cloud, path, format=None, binary=False): raise IOError("error while saving pointcloud to %r (format=%r)" % (path, format)) + def save_XYZRGBA(cloud, path, format=None, binary=False): """Save pointcloud to file. @@ -126,6 +129,7 @@ def save_XYZRGBA(cloud, path, format=None, binary=False): raise IOError("error while saving pointcloud to %r (format=%r)" % (path, format)) + def save_PointNormal(cloud, path, format=None, binary=False): """ Save pointcloud to file. @@ -140,6 +144,7 @@ def save_PointNormal(cloud, path, format=None, binary=False): raise IOError("error while saving pointcloud to %r (format=%r)" % (path, format)) + def _encode(path): # Encode path for use in C++. if isinstance(path, bytes): diff --git a/pcl/_bind_defs.pxd b/pcl/_bind_defs.pxd index 69a53a6e6..ba29a76fd 100644 --- a/pcl/_bind_defs.pxd +++ b/pcl/_bind_defs.pxd @@ -1,3 +1,4 @@ +#-*- coding: utf-8 -*- # cimport pcl_defs as cpp cdef extern from "boost/function.hpp" namespace "boost": diff --git a/pcl/_pcl.pxd b/pcl/_pcl.pxd index fab8238b5..e052545f4 100644 --- a/pcl/_pcl.pxd +++ b/pcl/_pcl.pxd @@ -142,12 +142,20 @@ cdef class RangeImages: ### Features # class override -cdef class IntegralImageNormalEstimation: - cdef pcl_ftr.IntegralImageNormalEstimationPtr_t thisptr_shared # IntegralImageNormalEstimation - - cdef inline pcl_ftr.IntegralImageNormalEstimation[cpp.PointXYZ, cpp.Normal] *thisptr(self) nogil: - # Shortcut to get raw pointer to underlying pcl::IntegralImageNormalEstimation. - return self.thisptr_shared.get() +# cdef class IntegralImageNormalEstimation: +# cdef pcl_ftr.IntegralImageNormalEstimationPtr_t thisptr_shared # IntegralImageNormalEstimation +# +# cdef inline pcl_ftr.IntegralImageNormalEstimation[cpp.PointXYZ, cpp.Normal] *thisptr(self) nogil: +# # Shortcut to get raw pointer to underlying pcl::IntegralImageNormalEstimation. +# return self.thisptr_shared.get() + + +# cdef class NormalEstimation: +# cdef pcl_ftr.NormalEstimationPtr_t thisptr_shared # NormalEstimation +# +# cdef inline pcl_ftr.NormalEstimation[cpp.PointXYZ, cpp.Normal] *thisptr(self) nogil: +# # Shortcut to get raw pointer to underlying pcl::NormalEstimation. +# return self.thisptr_shared.get() ## SampleConsensus diff --git a/pcl/_pcl.pyx b/pcl/_pcl.pyx index ddd54a934..971cdba99 100644 --- a/pcl/_pcl.pyx +++ b/pcl/_pcl.pyx @@ -138,7 +138,7 @@ include "pxi/PointCloud_PointXYZI.pxi" include "pxi/PointCloud_PointXYZRGB.pxi" include "pxi/PointCloud_PointXYZRGBA.pxi" include "pxi/PointCloud_PointWithViewpoint.pxi" -# include "pxi/PointCloud_Normal.pxi" +include "pxi/PointCloud_Normal.pxi" include "pxi/PointCloud_PointNormal.pxi" # Add PointCloud2 include "pxi/PointCloud_PointCloud2.pxi" diff --git a/pcl/_pcl_172.pyx b/pcl/_pcl_172.pyx index a968024ea..fff123e37 100644 --- a/pcl/_pcl_172.pyx +++ b/pcl/_pcl_172.pyx @@ -1,157 +1,157 @@ -# -*- coding: utf-8 -*- -# cython: embedsignature=True - -from collections import Sequence -import numbers -import numpy as np -cimport numpy as cnp - -cimport pcl_common as pcl_cmn -cimport pcl_defs as cpp -cimport pcl_sample_consensus_172 as pcl_sc -cimport pcl_features_172 as pcl_ftr -cimport pcl_filters_172 as pcl_fil -cimport pcl_range_image_172 as pcl_r_img -cimport pcl_segmentation_172 as pclseg - -cimport cython -# from cython.operator import dereference as deref -from cython.operator cimport dereference as deref, preincrement as inc -from cython cimport address - -from cpython cimport Py_buffer - -from libcpp.string cimport string -from libcpp cimport bool -from libcpp.vector cimport vector - -from boost_shared_ptr cimport sp_assign - -cnp.import_array() - -### Enum ### - -## Enum Setting -SAC_RANSAC = pcl_sc.SAC_RANSAC -SAC_LMEDS = pcl_sc.SAC_LMEDS -SAC_MSAC = pcl_sc.SAC_MSAC -SAC_RRANSAC = pcl_sc.SAC_RRANSAC -SAC_RMSAC = pcl_sc.SAC_RMSAC -SAC_MLESAC = pcl_sc.SAC_MLESAC -SAC_PROSAC = pcl_sc.SAC_PROSAC - -SACMODEL_PLANE = pcl_sc.SACMODEL_PLANE -SACMODEL_LINE = pcl_sc.SACMODEL_LINE -SACMODEL_CIRCLE2D = pcl_sc.SACMODEL_CIRCLE2D -SACMODEL_CIRCLE3D = pcl_sc.SACMODEL_CIRCLE3D -SACMODEL_SPHERE = pcl_sc.SACMODEL_SPHERE -SACMODEL_CYLINDER = pcl_sc.SACMODEL_CYLINDER -SACMODEL_CONE = pcl_sc.SACMODEL_CONE -SACMODEL_TORUS = pcl_sc.SACMODEL_TORUS -SACMODEL_PARALLEL_LINE = pcl_sc.SACMODEL_PARALLEL_LINE -SACMODEL_PERPENDICULAR_PLANE = pcl_sc.SACMODEL_PERPENDICULAR_PLANE -SACMODEL_PARALLEL_LINES = pcl_sc.SACMODEL_PARALLEL_LINES -SACMODEL_NORMAL_PLANE = pcl_sc.SACMODEL_NORMAL_PLANE -SACMODEL_NORMAL_SPHERE = pcl_sc.SACMODEL_NORMAL_SPHERE -SACMODEL_REGISTRATION = pcl_sc.SACMODEL_REGISTRATION -SACMODEL_PARALLEL_PLANE = pcl_sc.SACMODEL_PARALLEL_PLANE -SACMODEL_NORMAL_PARALLEL_PLANE = pcl_sc.SACMODEL_NORMAL_PARALLEL_PLANE -SACMODEL_STICK = pcl_sc.SACMODEL_STICK - -### Enum Setting(define Class InternalType) ### - -# CythonCompareOp +# -*- coding: utf-8 -*- +# cython: embedsignature=True + +from collections import Sequence +import numbers +import numpy as np +cimport numpy as cnp + +cimport pcl_common as pcl_cmn +cimport pcl_defs as cpp +cimport pcl_sample_consensus_172 as pcl_sc +cimport pcl_features_172 as pcl_ftr +cimport pcl_filters_172 as pcl_fil +cimport pcl_range_image_172 as pcl_r_img +cimport pcl_segmentation_172 as pclseg + +cimport cython +# from cython.operator import dereference as deref +from cython.operator cimport dereference as deref, preincrement as inc +from cython cimport address + +from cpython cimport Py_buffer + +from libcpp.string cimport string +from libcpp cimport bool +from libcpp.vector cimport vector + +from boost_shared_ptr cimport sp_assign + +cnp.import_array() + +### Enum ### + +## Enum Setting +SAC_RANSAC = pcl_sc.SAC_RANSAC +SAC_LMEDS = pcl_sc.SAC_LMEDS +SAC_MSAC = pcl_sc.SAC_MSAC +SAC_RRANSAC = pcl_sc.SAC_RRANSAC +SAC_RMSAC = pcl_sc.SAC_RMSAC +SAC_MLESAC = pcl_sc.SAC_MLESAC +SAC_PROSAC = pcl_sc.SAC_PROSAC + +SACMODEL_PLANE = pcl_sc.SACMODEL_PLANE +SACMODEL_LINE = pcl_sc.SACMODEL_LINE +SACMODEL_CIRCLE2D = pcl_sc.SACMODEL_CIRCLE2D +SACMODEL_CIRCLE3D = pcl_sc.SACMODEL_CIRCLE3D +SACMODEL_SPHERE = pcl_sc.SACMODEL_SPHERE +SACMODEL_CYLINDER = pcl_sc.SACMODEL_CYLINDER +SACMODEL_CONE = pcl_sc.SACMODEL_CONE +SACMODEL_TORUS = pcl_sc.SACMODEL_TORUS +SACMODEL_PARALLEL_LINE = pcl_sc.SACMODEL_PARALLEL_LINE +SACMODEL_PERPENDICULAR_PLANE = pcl_sc.SACMODEL_PERPENDICULAR_PLANE +SACMODEL_PARALLEL_LINES = pcl_sc.SACMODEL_PARALLEL_LINES +SACMODEL_NORMAL_PLANE = pcl_sc.SACMODEL_NORMAL_PLANE +SACMODEL_NORMAL_SPHERE = pcl_sc.SACMODEL_NORMAL_SPHERE +SACMODEL_REGISTRATION = pcl_sc.SACMODEL_REGISTRATION +SACMODEL_PARALLEL_PLANE = pcl_sc.SACMODEL_PARALLEL_PLANE +SACMODEL_NORMAL_PARALLEL_PLANE = pcl_sc.SACMODEL_NORMAL_PARALLEL_PLANE +SACMODEL_STICK = pcl_sc.SACMODEL_STICK + +### Enum Setting(define Class InternalType) ### + +# CythonCompareOp @cython.internal cdef class _CythonCompareOp_Type: cdef: - readonly int GT - readonly int GE - readonly int LT - readonly int LE - readonly int EQ - + readonly int GT + readonly int GE + readonly int LT + readonly int LE + readonly int EQ + def __cinit__(self): - self.GT = pcl_fil.COMPAREOP_GT - self.GE = pcl_fil.COMPAREOP_GE - self.LT = pcl_fil.COMPAREOP_LT - self.LE = pcl_fil.COMPAREOP_LE - self.EQ = pcl_fil.COMPAREOP_EQ - -CythonCompareOp_Type = _CythonCompareOp_Type() - -# RangeImage -# CythonCoordinateFrame + self.GT = pcl_fil.COMPAREOP_GT + self.GE = pcl_fil.COMPAREOP_GE + self.LT = pcl_fil.COMPAREOP_LT + self.LE = pcl_fil.COMPAREOP_LE + self.EQ = pcl_fil.COMPAREOP_EQ + +CythonCompareOp_Type = _CythonCompareOp_Type() + +# RangeImage +# CythonCoordinateFrame @cython.internal cdef class _CythonCoordinateFrame_Type: cdef: - readonly int CAMERA_FRAME - readonly int LASER_FRAME + readonly int CAMERA_FRAME + readonly int LASER_FRAME def __cinit__(self): - self.CAMERA_FRAME = pcl_r_img.COORDINATEFRAME_CAMERA - self.LASER_FRAME = pcl_r_img.COORDINATEFRAME_LASER - -CythonCoordinateFrame_Type = _CythonCoordinateFrame_Type() - -# # features -# # CythonBorderPolicy + self.CAMERA_FRAME = pcl_r_img.COORDINATEFRAME_CAMERA + self.LASER_FRAME = pcl_r_img.COORDINATEFRAME_LASER + +CythonCoordinateFrame_Type = _CythonCoordinateFrame_Type() + +# # features +# # CythonBorderPolicy # @cython.internal # cdef class _CythonBorderPolicy_Type: # cdef: -# readonly int BORDER_POLICY_IGNORE -# readonly int BORDER_POLICY_MIRROR -# +# readonly int BORDER_POLICY_IGNORE +# readonly int BORDER_POLICY_MIRROR +# # def __cinit__(self): -# self.BORDER_POLICY_IGNORE = pcl_ftr.BORDERPOLICY2_IGNORE -# self.BORDER_POLICY_MIRROR = pcl_ftr.BORDERPOLICY2_MIRROR -# -# CythonBorderPolicy_Type = _CythonBorderPolicy_Type() -### - - -# CythonNormalEstimationMethod +# self.BORDER_POLICY_IGNORE = pcl_ftr.BORDERPOLICY2_IGNORE +# self.BORDER_POLICY_MIRROR = pcl_ftr.BORDERPOLICY2_MIRROR +# +# CythonBorderPolicy_Type = _CythonBorderPolicy_Type() +### + + +# CythonNormalEstimationMethod # @cython.internal -# cdef class _CythonNormalEstimationMethod_Type: +# cdef class _CythonNormalEstimationMethod_Type: # cdef: -# readonly int COVARIANCE_MATRIX -# readonly int AVERAGE_3D_GRADIENT -# readonly int AVERAGE_DEPTH_CHANGE -# readonly int SIMPLE_3D_GRADIENT -# +# readonly int COVARIANCE_MATRIX +# readonly int AVERAGE_3D_GRADIENT +# readonly int AVERAGE_DEPTH_CHANGE +# readonly int SIMPLE_3D_GRADIENT +# # def __cinit__(self): -# self.COVARIANCE_MATRIX = pcl_ftr.ESTIMATIONMETHOD2_COVARIANCE_MATRIX -# self.AVERAGE_3D_GRADIENT = pcl_ftr.ESTIMATIONMETHOD2_AVERAGE_3D_GRADIENT -# self.AVERAGE_DEPTH_CHANGE = pcl_ftr.ESTIMATIONMETHOD2_AVERAGE_DEPTH_CHANGE -# self.SIMPLE_3D_GRADIENT = pcl_ftr.ESTIMATIONMETHOD2_SIMPLE_3D_GRADIENT -# -# CythonNormalEstimationMethod_Type = _CythonNormalEstimationMethod_Type() -### - -include "pxi/pxiInclude_172.pxi" - -include "pxi/PointCloud_PointXYZ_172.pxi" -include "pxi/PointCloud_PointXYZI_172.pxi" -include "pxi/PointCloud_PointXYZRGB_172.pxi" -include "pxi/PointCloud_PointXYZRGBA_172.pxi" -include "pxi/PointCloud_PointWithViewpoint.pxi" -# include "pxi/PointCloud_Normal.pxi" -include "pxi/PointCloud_PointNormal.pxi" -# Add PointCloud2 -include "pxi/PointCloud_PCLPointCloud2.pxi" - -### common ### -def deg2rad(float alpha): - return pcl_cmn.deg2rad(alpha) - -def rad2deg(float alpha): - return pcl_cmn.rad2deg(alpha) - -# cdef double deg2rad(double alpha): -# return pcl_cmn.rad2deg(alpha) -# -# cdef double rad2deg(double alpha): -# return pcl_cmn.rad2deg(alpha) -# -# cdef float normAngle (float alpha): -# return pcl_cmn.normAngle(alpha) - +# self.COVARIANCE_MATRIX = pcl_ftr.ESTIMATIONMETHOD2_COVARIANCE_MATRIX +# self.AVERAGE_3D_GRADIENT = pcl_ftr.ESTIMATIONMETHOD2_AVERAGE_3D_GRADIENT +# self.AVERAGE_DEPTH_CHANGE = pcl_ftr.ESTIMATIONMETHOD2_AVERAGE_DEPTH_CHANGE +# self.SIMPLE_3D_GRADIENT = pcl_ftr.ESTIMATIONMETHOD2_SIMPLE_3D_GRADIENT +# +# CythonNormalEstimationMethod_Type = _CythonNormalEstimationMethod_Type() +### + +include "pxi/pxiInclude_172.pxi" + +include "pxi/PointCloud_PointXYZ_172.pxi" +include "pxi/PointCloud_PointXYZI_172.pxi" +include "pxi/PointCloud_PointXYZRGB_172.pxi" +include "pxi/PointCloud_PointXYZRGBA_172.pxi" +include "pxi/PointCloud_PointWithViewpoint.pxi" +include "pxi/PointCloud_Normal.pxi" +include "pxi/PointCloud_PointNormal.pxi" +# Add PointCloud2 +include "pxi/PointCloud_PCLPointCloud2.pxi" + +### common ### +def deg2rad(float alpha): + return pcl_cmn.deg2rad(alpha) + +def rad2deg(float alpha): + return pcl_cmn.rad2deg(alpha) + +# cdef double deg2rad(double alpha): +# return pcl_cmn.rad2deg(alpha) +# +# cdef double rad2deg(double alpha): +# return pcl_cmn.rad2deg(alpha) +# +# cdef float normAngle (float alpha): +# return pcl_cmn.normAngle(alpha) + diff --git a/pcl/_pcl_180.pyx b/pcl/_pcl_180.pyx index b4cc59965..f83eb3ce8 100644 --- a/pcl/_pcl_180.pyx +++ b/pcl/_pcl_180.pyx @@ -138,7 +138,7 @@ include "pxi/PointCloud_PointXYZI_180.pxi" include "pxi/PointCloud_PointXYZRGB_180.pxi" include "pxi/PointCloud_PointXYZRGBA_180.pxi" include "pxi/PointCloud_PointWithViewpoint.pxi" -# include "pxi/PointCloud_Normal.pxi" +include "pxi/PointCloud_Normal.pxi" include "pxi/PointCloud_PointNormal.pxi" diff --git a/pcl/eigen.pxd b/pcl/eigen.pxd index f33390da9..95344e754 100644 --- a/pcl/eigen.pxd +++ b/pcl/eigen.pxd @@ -50,21 +50,30 @@ cdef extern from "Eigen/Eigen" namespace "Eigen" nogil: cdef cppclass Matrix4f: Matrix4f() except + float *data() + float& element "operator()"(int row, int col) cdef cppclass Matrix3f: Matrix3f() except + float coeff(int row, int col) float *data() - double& element "operator()"(int row,int col) + float& element "operator()"(int row, int col) cdef cppclass Vector4f: + Vector4f() except + float *data() + float& element "operator()"(int row, int col) cdef cppclass Vector3f: + Vector3f() except + + Vector3f(double c0, double c1, double c2) except + float *data() + float& element "operator()"(int row, int col) cdef cppclass Vector3i: + Vector3i() except + int *data() + int& element "operator()"(int row, int col) cdef cppclass Vector3d: Vector3d() except + Vector3d(double c0, double c1, double c2) except + - double coeff(int row, int col) + double coeff(int row, int col) + double& element "operator()"(int row, int col) cdef cppclass Quaternionf: float w() float x() diff --git a/pcl/minipcl.cpp b/pcl/minipcl.cpp index 4a92b3183..f9286c1e7 100644 --- a/pcl/minipcl.cpp +++ b/pcl/minipcl.cpp @@ -83,36 +83,7 @@ void mpcl_compute_normals_PointXYZRGBA(const pcl::PointCloud& ne.compute (out); } -// set ksearch and radius to < 0 to disable -void mpcl_sacnormal_set_axis(pcl::SACSegmentationFromNormals &sac, - double ax, double ay, double az) -{ - Eigen::Vector3f vect(ax,ay,az); - sac.setAxis(vect); -} -void mpcl_sacnormal_set_axis_PointXYZI(pcl::SACSegmentationFromNormals &sac, - double ax, double ay, double az) -{ - Eigen::Vector3f vect(ax,ay,az); - sac.setAxis(vect); -} - -void mpcl_sacnormal_set_axis_PointXYZRGB(pcl::SACSegmentationFromNormals &sac, - double ax, double ay, double az) -{ - Eigen::Vector3f vect(ax,ay,az); - sac.setAxis(vect); -} - -void mpcl_sacnormal_set_axis_PointXYZRGBA(pcl::SACSegmentationFromNormals &sac, - double ax, double ay, double az) -{ - Eigen::Vector3f vect(ax,ay,az); - sac.setAxis(vect); -} - -// void mpcl_extract(pcl::PointCloud::Ptr &incloud, pcl::PointCloud *outcloud, pcl::PointIndices *indices, diff --git a/pcl/minipcl.h b/pcl/minipcl.h index 37c979d2f..5527e9ca7 100644 --- a/pcl/minipcl.h +++ b/pcl/minipcl.h @@ -26,19 +26,6 @@ void mpcl_compute_normals_PointXYZRGBA(const pcl::PointCloud double searchRadius, pcl::PointCloud &out); -// -void mpcl_sacnormal_set_axis(pcl::SACSegmentationFromNormals &sac, - double ax, double ay, double az); - -void mpcl_sacnormal_set_axis_PointXYZI(pcl::SACSegmentationFromNormals &sac, - double ax, double ay, double az); - -void mpcl_sacnormal_set_axis_PointXYZRGB(pcl::SACSegmentationFromNormals &sac, - double ax, double ay, double az); - -void mpcl_sacnormal_set_axis_PointXYZRGBA(pcl::SACSegmentationFromNormals &sac, - double ax, double ay, double az); - // void mpcl_extract(pcl::PointCloud::Ptr &incloud, diff --git a/pcl/pcl_PCLPointCloud2_172.pxd b/pcl/pcl_PCLPointCloud2_172.pxd index 31c15fe69..155b574dd 100644 --- a/pcl/pcl_PCLPointCloud2_172.pxd +++ b/pcl/pcl_PCLPointCloud2_172.pxd @@ -18,15 +18,16 @@ from boost_shared_ptr cimport shared_ptr cdef extern from "pcl/PCLHeader.h" namespace "pcl": cdef struct PCLHeader: PCLHeader () - unsigned int seq - unsigned long stamp - string frame_id - - -# inline std::ostream& operator << (std::ostream& out, const PCLHeader &h) - -# typedef boost::shared_ptr HeaderPtr; -# typedef boost::shared_ptr HeaderConstPtr; + unsigned int seq + unsigned long stamp + string frame_id + + +# inline std::ostream& operator << (std::ostream& out, const PCLHeader &h) + + +# typedef boost::shared_ptr HeaderPtr; +# typedef boost::shared_ptr HeaderConstPtr; ctypedef shared_ptr[PCLHeader] PCLHeaderPtr_t ctypedef shared_ptr[const PCLHeader] PCLHeaderConstPtr_t ### diff --git a/pcl/pcl_PCLPointCloud2_180.pxd b/pcl/pcl_PCLPointCloud2_180.pxd index 31c15fe69..155b574dd 100644 --- a/pcl/pcl_PCLPointCloud2_180.pxd +++ b/pcl/pcl_PCLPointCloud2_180.pxd @@ -18,15 +18,16 @@ from boost_shared_ptr cimport shared_ptr cdef extern from "pcl/PCLHeader.h" namespace "pcl": cdef struct PCLHeader: PCLHeader () - unsigned int seq - unsigned long stamp - string frame_id - - -# inline std::ostream& operator << (std::ostream& out, const PCLHeader &h) - -# typedef boost::shared_ptr HeaderPtr; -# typedef boost::shared_ptr HeaderConstPtr; + unsigned int seq + unsigned long stamp + string frame_id + + +# inline std::ostream& operator << (std::ostream& out, const PCLHeader &h) + + +# typedef boost::shared_ptr HeaderPtr; +# typedef boost::shared_ptr HeaderConstPtr; ctypedef shared_ptr[PCLHeader] PCLHeaderPtr_t ctypedef shared_ptr[const PCLHeader] PCLHeaderConstPtr_t ### diff --git a/pcl/pcl_features.pxd b/pcl/pcl_features.pxd index b25b827ab..3dfae258f 100644 --- a/pcl/pcl_features.pxd +++ b/pcl/pcl_features.pxd @@ -73,6 +73,10 @@ cdef extern from "pcl/features/feature.h" namespace "pcl": # void computeEigen (cpp.PointCloud[Eigen::MatrixXf] &output); +ctypedef Feature[cpp.PointXYZ, cpp.Normal] Feature_t +ctypedef Feature[cpp.PointXYZI, cpp.Normal] Feature_PointXYZI_t +ctypedef Feature[cpp.PointXYZRGB, cpp.Normal] Feature_PointXYZRGB_t +ctypedef Feature[cpp.PointXYZRGBA, cpp.Normal] Feature_PointXYZRGBA_t ### # template @@ -581,6 +585,7 @@ cdef extern from "pcl/features/integral_image_normal.h" namespace "pcl": # * to use a user defined view point, use the method setViewPoint inline void useSensorOriginAsViewPoint () + ctypedef IntegralImageNormalEstimation[cpp.PointXYZ, cpp.Normal] IntegralImageNormalEstimation_t ctypedef IntegralImageNormalEstimation[cpp.PointXYZI, cpp.Normal] IntegralImageNormalEstimation_PointXYZI_t ctypedef IntegralImageNormalEstimation[cpp.PointXYZRGB, cpp.Normal] IntegralImageNormalEstimation_PointXYZRGB_t @@ -589,14 +594,6 @@ ctypedef shared_ptr[IntegralImageNormalEstimation[cpp.PointXYZ, cpp.Normal]] Int ctypedef shared_ptr[IntegralImageNormalEstimation[cpp.PointXYZI, cpp.Normal]] IntegralImageNormalEstimation_PointXYZI_Ptr_t ctypedef shared_ptr[IntegralImageNormalEstimation[cpp.PointXYZRGB, cpp.Normal]] IntegralImageNormalEstimation_PointXYZRGB_Ptr_t ctypedef shared_ptr[IntegralImageNormalEstimation[cpp.PointXYZRGBA, cpp.Normal]] IntegralImageNormalEstimation_PointXYZRGBA_Ptr_t -# ctypedef IntegralImageNormalEstimation[cpp.PointXYZ, cpp.Normal](Feature[cpp.PointXYZ, cpp.Normal]) IntegralImageNormalEstimation_t -# ctypedef IntegralImageNormalEstimation[cpp.PointXYZI, cpp.Normal](Feature[cpp.PoinPointXYZItXYZ, cpp.Normal]) IntegralImageNormalEstimation_PointXYZI_t -# ctypedef IntegralImageNormalEstimation[cpp.PointXYZRGB, cpp.Normal](Feature[cpp.PointXYZRGB, cpp.Normal]) IntegralImageNormalEstimation_PointXYZRGB_t -# ctypedef IntegralImageNormalEstimation[cpp.PointXYZRGBA, cpp.Normal](Feature[cpp.PointXYZRGBA, cpp.Normal]) IntegralImageNormalEstimation_PointXYZRGBA_t -# ctypedef shared_ptr[IntegralImageNormalEstimation[cpp.PointXYZ, cpp.Normal](Feature[cpp.PointXYZ, cpp.Normal])] IntegralImageNormalEstimationPtr_t -# ctypedef shared_ptr[IntegralImageNormalEstimation[cpp.PointXYZI, cpp.Normal](Feature[cpp.PoinPointXYZItXYZ, cpp.Normal])] IntegralImageNormalEstimation_PointXYZI_Ptr_t -# ctypedef shared_ptr[IntegralImageNormalEstimation[cpp.PointXYZRGB, cpp.Normal](Feature[cpp.PointXYZRGB, cpp.Normal])] IntegralImageNormalEstimation_PointXYZRGB_Ptr_t -# ctypedef shared_ptr[IntegralImageNormalEstimation[cpp.PointXYZRGBA, cpp.Normal](Feature[cpp.PointXYZRGBA, cpp.Normal])] IntegralImageNormalEstimation_PointXYZRGBA_Ptr_t ### # integral_image2D.h @@ -1287,11 +1284,15 @@ cdef extern from "pcl/features/normal_3d.h" namespace "pcl": # * to use a user defined view point, use the method setViewPoint inline void useSensorOriginAsViewPoint () + ctypedef NormalEstimation[cpp.PointXYZ, cpp.Normal] NormalEstimation_t ctypedef NormalEstimation[cpp.PointXYZI, cpp.Normal] NormalEstimation_PointXYZI_t ctypedef NormalEstimation[cpp.PointXYZRGB, cpp.Normal] NormalEstimation_PointXYZRGB_t ctypedef NormalEstimation[cpp.PointXYZRGBA, cpp.Normal] NormalEstimation_PointXYZRGBA_t - +ctypedef shared_ptr[NormalEstimation[cpp.PointXYZ, cpp.Normal]] NormalEstimationPtr_t +ctypedef shared_ptr[NormalEstimation[cpp.PointXYZI, cpp.Normal]] NormalEstimation_PointXYZI_Ptr_t +ctypedef shared_ptr[NormalEstimation[cpp.PointXYZRGB, cpp.Normal]] NormalEstimation_PointXYZRGB_Ptr_t +ctypedef shared_ptr[NormalEstimation[cpp.PointXYZRGBA, cpp.Normal]] NormalEstimation_PointXYZRGBA_Ptr_t ### # template diff --git a/pcl/pcl_features_172.pxd b/pcl/pcl_features_172.pxd index 138ae7213..3991b1506 100644 --- a/pcl/pcl_features_172.pxd +++ b/pcl/pcl_features_172.pxd @@ -73,6 +73,10 @@ cdef extern from "pcl/features/feature.h" namespace "pcl": # void computeEigen (cpp.PointCloud[Eigen::MatrixXf] &output); +ctypedef Feature[cpp.PointXYZ, cpp.Normal] Feature_t +ctypedef Feature[cpp.PointXYZI, cpp.Normal] Feature_PointXYZI_t +ctypedef Feature[cpp.PointXYZRGB, cpp.Normal] Feature_PointXYZRGB_t +ctypedef Feature[cpp.PointXYZRGBA, cpp.Normal] Feature_PointXYZRGBA_t ### # template @@ -359,9 +363,9 @@ cdef extern from "pcl/features/board.h" namespace "pcl": # */ # template # class CPPFEstimation : public FeatureFromNormals -# cdef extern from "pcl/features/cppf.h" namespace "pcl": -# cdef cppclass CPPFEstimation[In, NT, Out](FeatureFromNormals[In, NT, Out]): -# CPPFEstimation() +cdef extern from "pcl/features/cppf.h" namespace "pcl": + cdef cppclass CPPFEstimation[In, NT, Out](FeatureFromNormals[In, NT, Out]): + CPPFEstimation() # public: # typedef boost::shared_ptr > Ptr; # typedef boost::shared_ptr > ConstPtr; @@ -640,9 +644,9 @@ cdef extern from "pcl/features/linear_least_squares_normal.h" namespace "pcl": # */ # template # class PCL_EXPORTS MomentOfInertiaEstimation : public pcl::PCLBase -# cdef extern from "pcl/features/moment_of_inertia_estimation.h" namespace "pcl": -# cdef cppclass MomentOfInertiaEstimation[PointT](cpp.PCLBase[PointT]): -# MomentOfInertiaEstimation() +cdef extern from "pcl/features/moment_of_inertia_estimation.h" namespace "pcl": + cdef cppclass MomentOfInertiaEstimation[PointT](cpp.PCLBase[PointT]): + MomentOfInertiaEstimation() # /** \brief Constructor that sets default values for member variables. */ # MomentOfInertiaEstimation (); # public: @@ -653,24 +657,24 @@ cdef extern from "pcl/features/linear_least_squares_normal.h" namespace "pcl": # * \param[in] cloud the const boost shared pointer to a PointCloud message # */ # virtual void setInputCloud (const PointCloudConstPtr& cloud) - # void setInputCloud (const cpp.PCLBase[PointT]& cloud) - # + void setInputCloud (const cpp.PCLBase[PointT]& cloud) + # \brief Provide a pointer to the vector of indices that represents the input data. # \param[in] indices a pointer to the vector of indices that represents the input data. # virtual void setIndices (const IndicesPtr& indices); # void setIndices (const IndicesPtr& indices) - # + # /** \brief Provide a pointer to the vector of indices that represents the input data. # * \param[in] indices a pointer to the vector of indices that represents the input data. # */ # void setIndices (const IndicesConstPtr& indices) - # + # /** \brief Provide a pointer to the vector of indices that represents the input data. # * \param[in] indices a pointer to the vector of indices that represents the input data. # */ # virtual void setIndices (const PointIndicesConstPtr& indices); # void setIndices (const PointIndicesConstPtr& indices) - # + # /** \brief Set the indices for the points laying within an interest region of # * the point cloud. # * \note you shouldn't call this method on unorganized point clouds! @@ -680,49 +684,50 @@ cdef extern from "pcl/features/linear_least_squares_normal.h" namespace "pcl": # * \param[in] nb_cols the number of columns to be considered col_start included # */ # virtual void setIndices (size_t row_start, size_t col_start, size_t nb_rows, size_t nb_cols); - # void setIndices (size_t row_start, size_t col_start, size_t nb_rows, size_t nb_cols) - # + void setIndices (size_t row_start, size_t col_start, size_t nb_rows, size_t nb_cols) + # /** \brief This method allows to set the angle step. It is used for the rotation # * of the axis which is used for moment of inertia/eccentricity calculation. # * \param[in] step angle step # */ # void setAngleStep (const float step); - # void setAngleStep (const float step) - # + void setAngleStep (const float step) + # /** \brief Returns the angle step. */ # float getAngleStep () const; - # float getAngleStep () - # + float getAngleStep () + # /** \brief This method allows to set the normalize_ flag. If set to false, then # * point_mass_ will be used to scale the moment of inertia values. Otherwise, # * point_mass_ will be set to 1 / number_of_points. Default value is true. # * \param[in] need_to_normalize desired value # */ # void setNormalizePointMassFlag (bool need_to_normalize); - # void setNormalizePointMassFlag (bool need_to_normalize) - # + void setNormalizePointMassFlag (bool need_to_normalize) + # /** \brief Returns the normalize_ flag. */ # bool getNormalizePointMassFlag () const; - # bool getNormalizePointMassFlag () - # + bool getNormalizePointMassFlag () + # /** \brief This method allows to set point mass that will be used for # * moment of inertia calculation. It is needed to scale moment of inertia values. # * default value is 0.0001. # * \param[in] point_mass point mass # */ # void setPointMass (const float point_mass); - # void setPointMass (const float point_mass) - # + void setPointMass (const float point_mass) + # /** \brief Returns the mass of point. */ # float getPointMass () const; - # float getPointMass () - # + float getPointMass () + # /** \brief This method launches the computation of all features. After execution # * it sets is_valid_ flag to true and each feature can be accessed with the # * corresponding get method. # */ # void compute (); - # void compute () + void compute () + # # /** \brief This method gives access to the computed axis aligned bounding box. It returns true # * if the current values (eccentricity, moment of inertia etc) are valid and false otherwise. @@ -730,8 +735,8 @@ cdef extern from "pcl/features/linear_least_squares_normal.h" namespace "pcl": # * \param[out] max_point max point of the AABB # */ # bool getAABB (PointT& min_point, PointT& max_point) const; - # bool getAABB (PointT& min_point, PointT& max_point) - # + bool getAABB (PointT& min_point, PointT& max_point) + # /** \brief This method gives access to the computed oriented bounding box. It returns true # * if the current values (eccentricity, moment of inertia etc) are valid and false otherwise. # * Note that in order to get the OBB, each vertex of the given AABB (specified with min_point and max_point) @@ -744,8 +749,8 @@ cdef extern from "pcl/features/linear_least_squares_normal.h" namespace "pcl": # * \param[out] rotational_matrix this matrix represents the rotation transform # */ # bool getOBB (PointT& min_point, PointT& max_point, PointT& position, Eigen::Matrix3f& rotational_matrix) const; - # bool getOBB (PointT& min_point, PointT& max_point, PointT& position, eigen3.Matrix3f& rotational_matrix) - # + bool getOBB (PointT& min_point, PointT& max_point, PointT& position, eigen3.Matrix3f& rotational_matrix) + # /** \brief This method gives access to the computed eigen values. It returns true # * if the current values (eccentricity, moment of inertia etc) are valid and false otherwise. # * \param[out] major major eigen value @@ -753,8 +758,8 @@ cdef extern from "pcl/features/linear_least_squares_normal.h" namespace "pcl": # * \param[out] minor minor eigen value # */ # bool getEigenValues (float& major, float& middle, float& minor) const; - # bool getEigenValues (float& major, float& middle, float& minor) - # + bool getEigenValues (float& major, float& middle, float& minor) + # /** \brief This method gives access to the computed eigen vectors. It returns true # * if the current values (eccentricity, moment of inertia etc) are valid and false otherwise. # * \param[out] major axis which corresponds to the eigen vector with the major eigen value @@ -762,39 +767,39 @@ cdef extern from "pcl/features/linear_least_squares_normal.h" namespace "pcl": # * \param[out] minor axis which corresponds to the eigen vector with the minor eigen value # */ # bool getEigenVectors (Eigen::Vector3f& major, Eigen::Vector3f& middle, Eigen::Vector3f& minor) const; - # bool getEigenVectors (eigen3.Vector3f& major, eigen3.Vector3f& middle, eigen3.Vector3f& minor) - # + bool getEigenVectors (eigen3.Vector3f& major, eigen3.Vector3f& middle, eigen3.Vector3f& minor) + # /** \brief This method gives access to the computed moments of inertia. It returns true # * if the current values (eccentricity, moment of inertia etc) are valid and false otherwise. # * \param[out] moment_of_inertia computed moments of inertia # */ # bool getMomentOfInertia (std::vector & moment_of_inertia) const; - # bool getMomentOfInertia (vector [float]& moment_of_inertia) - # + bool getMomentOfInertia (vector [float]& moment_of_inertia) + # /** \brief This method gives access to the computed ecentricities. It returns true # * if the current values (eccentricity, moment of inertia etc) are valid and false otherwise. # * \param[out] eccentricity computed eccentricities # */ # bool getEccentricity (std::vector & eccentricity) const; - # bool getEccentricity (vector [float]& eccentricity) - # + bool getEccentricity (vector [float]& eccentricity) + # /** \brief This method gives access to the computed mass center. It returns true # * if the current values (eccentricity, moment of inertia etc) are valid and false otherwise. # * Note that when mass center of a cloud is computed, mass point is always considered equal 1. # * \param[out] mass_center computed mass center # */ # bool getMassCenter (Eigen::Vector3f& mass_center) const; - # bool getMassCenter (eigen3.Vector3f& mass_center) + bool getMassCenter (eigen3.Vector3f& mass_center) -# ctypedef MomentOfInertiaEstimation[cpp.PointXYZ] MomentOfInertiaEstimation_t -# ctypedef MomentOfInertiaEstimation[cpp.PointXYZI] MomentOfInertiaEstimation_PointXYZI_t -# ctypedef MomentOfInertiaEstimation[cpp.PointXYZRGB] MomentOfInertiaEstimation_PointXYZRGB_t -# ctypedef MomentOfInertiaEstimation[cpp.PointXYZRGBA] MomentOfInertiaEstimation_PointXYZRGBA_t -# ctypedef shared_ptr[MomentOfInertiaEstimation[cpp.PointXYZ]] MomentOfInertiaEstimationPtr_t -# ctypedef shared_ptr[MomentOfInertiaEstimation[cpp.PointXYZI]] MomentOfInertiaEstimation_PointXYZI_Ptr_t -# ctypedef shared_ptr[MomentOfInertiaEstimation[cpp.PointXYZRGB]] MomentOfInertiaEstimation_PointXYZRGB_Ptr_t -# ctypedef shared_ptr[MomentOfInertiaEstimation[cpp.PointXYZRGBA]] MomentOfInertiaEstimation_PointXYZRGBA_Ptr_t +ctypedef MomentOfInertiaEstimation[cpp.PointXYZ] MomentOfInertiaEstimation_t +ctypedef MomentOfInertiaEstimation[cpp.PointXYZI] MomentOfInertiaEstimation_PointXYZI_t +ctypedef MomentOfInertiaEstimation[cpp.PointXYZRGB] MomentOfInertiaEstimation_PointXYZRGB_t +ctypedef MomentOfInertiaEstimation[cpp.PointXYZRGBA] MomentOfInertiaEstimation_PointXYZRGBA_t +ctypedef shared_ptr[MomentOfInertiaEstimation[cpp.PointXYZ]] MomentOfInertiaEstimationPtr_t +ctypedef shared_ptr[MomentOfInertiaEstimation[cpp.PointXYZI]] MomentOfInertiaEstimation_PointXYZI_Ptr_t +ctypedef shared_ptr[MomentOfInertiaEstimation[cpp.PointXYZRGB]] MomentOfInertiaEstimation_PointXYZRGB_Ptr_t +ctypedef shared_ptr[MomentOfInertiaEstimation[cpp.PointXYZRGBA]] MomentOfInertiaEstimation_PointXYZRGBA_Ptr_t ### # our_cvfh.h @@ -997,7 +1002,6 @@ cdef extern from "pcl/features/our_cvfh.h" namespace "pcl": # ### -# apt-get package ng(1.7 base?) # rops_estimation.h # namespace pcl # /** \brief @@ -1007,9 +1011,9 @@ cdef extern from "pcl/features/our_cvfh.h" namespace "pcl": # */ # template # class PCL_EXPORTS ROPSEstimation : public pcl::Feature -# cdef extern from "pcl/features/rops_estimation.h" namespace "pcl": -# cdef cppclass ROPSEstimation[In, Out](Feature[In, Out]): -# ROPSEstimation() +cdef extern from "pcl/features/rops_estimation.h" namespace "pcl": + cdef cppclass ROPSEstimation[In, Out](Feature[In, Out]): + ROPSEstimation() # public: # using Feature ::input_; # using Feature ::indices_; @@ -1579,6 +1583,7 @@ cdef extern from "pcl/features/integral_image_normal.h" namespace "pcl": # * to use a user defined view point, use the method setViewPoint inline void useSensorOriginAsViewPoint () + ctypedef IntegralImageNormalEstimation[cpp.PointXYZ, cpp.Normal] IntegralImageNormalEstimation_t ctypedef IntegralImageNormalEstimation[cpp.PointXYZI, cpp.Normal] IntegralImageNormalEstimation_PointXYZI_t ctypedef IntegralImageNormalEstimation[cpp.PointXYZRGB, cpp.Normal] IntegralImageNormalEstimation_PointXYZRGB_t @@ -1587,14 +1592,6 @@ ctypedef shared_ptr[IntegralImageNormalEstimation[cpp.PointXYZ, cpp.Normal]] Int ctypedef shared_ptr[IntegralImageNormalEstimation[cpp.PointXYZI, cpp.Normal]] IntegralImageNormalEstimation_PointXYZI_Ptr_t ctypedef shared_ptr[IntegralImageNormalEstimation[cpp.PointXYZRGB, cpp.Normal]] IntegralImageNormalEstimation_PointXYZRGB_Ptr_t ctypedef shared_ptr[IntegralImageNormalEstimation[cpp.PointXYZRGBA, cpp.Normal]] IntegralImageNormalEstimation_PointXYZRGBA_Ptr_t -# ctypedef IntegralImageNormalEstimation[cpp.PointXYZ, cpp.Normal](Feature[cpp.PointXYZ, cpp.Normal]) IntegralImageNormalEstimation_t -# ctypedef IntegralImageNormalEstimation[cpp.PointXYZI, cpp.Normal](Feature[cpp.PoinPointXYZItXYZ, cpp.Normal]) IntegralImageNormalEstimation_PointXYZI_t -# ctypedef IntegralImageNormalEstimation[cpp.PointXYZRGB, cpp.Normal](Feature[cpp.PointXYZRGB, cpp.Normal]) IntegralImageNormalEstimation_PointXYZRGB_t -# ctypedef IntegralImageNormalEstimation[cpp.PointXYZRGBA, cpp.Normal](Feature[cpp.PointXYZRGBA, cpp.Normal]) IntegralImageNormalEstimation_PointXYZRGBA_t -# ctypedef shared_ptr[IntegralImageNormalEstimation[cpp.PointXYZ, cpp.Normal](Feature[cpp.PointXYZ, cpp.Normal])] IntegralImageNormalEstimationPtr_t -# ctypedef shared_ptr[IntegralImageNormalEstimation[cpp.PointXYZI, cpp.Normal](Feature[cpp.PoinPointXYZItXYZ, cpp.Normal])] IntegralImageNormalEstimation_PointXYZI_Ptr_t -# ctypedef shared_ptr[IntegralImageNormalEstimation[cpp.PointXYZRGB, cpp.Normal](Feature[cpp.PointXYZRGB, cpp.Normal])] IntegralImageNormalEstimation_PointXYZRGB_Ptr_t -# ctypedef shared_ptr[IntegralImageNormalEstimation[cpp.PointXYZRGBA, cpp.Normal](Feature[cpp.PointXYZRGBA, cpp.Normal])] IntegralImageNormalEstimation_PointXYZRGBA_Ptr_t ### # integral_image2D.h @@ -2285,11 +2282,15 @@ cdef extern from "pcl/features/normal_3d.h" namespace "pcl": # * to use a user defined view point, use the method setViewPoint inline void useSensorOriginAsViewPoint () + ctypedef NormalEstimation[cpp.PointXYZ, cpp.Normal] NormalEstimation_t ctypedef NormalEstimation[cpp.PointXYZI, cpp.Normal] NormalEstimation_PointXYZI_t ctypedef NormalEstimation[cpp.PointXYZRGB, cpp.Normal] NormalEstimation_PointXYZRGB_t ctypedef NormalEstimation[cpp.PointXYZRGBA, cpp.Normal] NormalEstimation_PointXYZRGBA_t - +ctypedef shared_ptr[NormalEstimation[cpp.PointXYZ, cpp.Normal]] NormalEstimationPtr_t +ctypedef shared_ptr[NormalEstimation[cpp.PointXYZI, cpp.Normal]] NormalEstimation_PointXYZI_Ptr_t +ctypedef shared_ptr[NormalEstimation[cpp.PointXYZRGB, cpp.Normal]] NormalEstimation_PointXYZRGB_Ptr_t +ctypedef shared_ptr[NormalEstimation[cpp.PointXYZRGBA, cpp.Normal]] NormalEstimation_PointXYZRGBA_Ptr_t ### # template diff --git a/pcl/pcl_features_180.pxd b/pcl/pcl_features_180.pxd index d568d981c..a3351a4eb 100644 --- a/pcl/pcl_features_180.pxd +++ b/pcl/pcl_features_180.pxd @@ -73,6 +73,10 @@ cdef extern from "pcl/features/feature.h" namespace "pcl": # void computeEigen (cpp.PointCloud[Eigen::MatrixXf] &output); +ctypedef Feature[cpp.PointXYZ, cpp.Normal] Feature_t +ctypedef Feature[cpp.PointXYZI, cpp.Normal] Feature_PointXYZI_t +ctypedef Feature[cpp.PointXYZRGB, cpp.Normal] Feature_PointXYZRGB_t +ctypedef Feature[cpp.PointXYZRGBA, cpp.Normal] Feature_PointXYZRGBA_t ### # template @@ -1577,6 +1581,7 @@ cdef extern from "pcl/features/integral_image_normal.h" namespace "pcl": # * to use a user defined view point, use the method setViewPoint inline void useSensorOriginAsViewPoint () + ctypedef IntegralImageNormalEstimation[cpp.PointXYZ, cpp.Normal] IntegralImageNormalEstimation_t ctypedef IntegralImageNormalEstimation[cpp.PointXYZI, cpp.Normal] IntegralImageNormalEstimation_PointXYZI_t ctypedef IntegralImageNormalEstimation[cpp.PointXYZRGB, cpp.Normal] IntegralImageNormalEstimation_PointXYZRGB_t @@ -1585,14 +1590,6 @@ ctypedef shared_ptr[IntegralImageNormalEstimation[cpp.PointXYZ, cpp.Normal]] Int ctypedef shared_ptr[IntegralImageNormalEstimation[cpp.PointXYZI, cpp.Normal]] IntegralImageNormalEstimation_PointXYZI_Ptr_t ctypedef shared_ptr[IntegralImageNormalEstimation[cpp.PointXYZRGB, cpp.Normal]] IntegralImageNormalEstimation_PointXYZRGB_Ptr_t ctypedef shared_ptr[IntegralImageNormalEstimation[cpp.PointXYZRGBA, cpp.Normal]] IntegralImageNormalEstimation_PointXYZRGBA_Ptr_t -# ctypedef IntegralImageNormalEstimation[cpp.PointXYZ, cpp.Normal](Feature[cpp.PointXYZ, cpp.Normal]) IntegralImageNormalEstimation_t -# ctypedef IntegralImageNormalEstimation[cpp.PointXYZI, cpp.Normal](Feature[cpp.PoinPointXYZItXYZ, cpp.Normal]) IntegralImageNormalEstimation_PointXYZI_t -# ctypedef IntegralImageNormalEstimation[cpp.PointXYZRGB, cpp.Normal](Feature[cpp.PointXYZRGB, cpp.Normal]) IntegralImageNormalEstimation_PointXYZRGB_t -# ctypedef IntegralImageNormalEstimation[cpp.PointXYZRGBA, cpp.Normal](Feature[cpp.PointXYZRGBA, cpp.Normal]) IntegralImageNormalEstimation_PointXYZRGBA_t -# ctypedef shared_ptr[IntegralImageNormalEstimation[cpp.PointXYZ, cpp.Normal](Feature[cpp.PointXYZ, cpp.Normal])] IntegralImageNormalEstimationPtr_t -# ctypedef shared_ptr[IntegralImageNormalEstimation[cpp.PointXYZI, cpp.Normal](Feature[cpp.PoinPointXYZItXYZ, cpp.Normal])] IntegralImageNormalEstimation_PointXYZI_Ptr_t -# ctypedef shared_ptr[IntegralImageNormalEstimation[cpp.PointXYZRGB, cpp.Normal](Feature[cpp.PointXYZRGB, cpp.Normal])] IntegralImageNormalEstimation_PointXYZRGB_Ptr_t -# ctypedef shared_ptr[IntegralImageNormalEstimation[cpp.PointXYZRGBA, cpp.Normal](Feature[cpp.PointXYZRGBA, cpp.Normal])] IntegralImageNormalEstimation_PointXYZRGBA_Ptr_t ### # integral_image2D.h @@ -2282,12 +2279,16 @@ cdef extern from "pcl/features/normal_3d.h" namespace "pcl": # * normal estimation method uses the sensor origin of the input cloud. # * to use a user defined view point, use the method setViewPoint inline void useSensorOriginAsViewPoint () - + + ctypedef NormalEstimation[cpp.PointXYZ, cpp.Normal] NormalEstimation_t ctypedef NormalEstimation[cpp.PointXYZI, cpp.Normal] NormalEstimation_PointXYZI_t ctypedef NormalEstimation[cpp.PointXYZRGB, cpp.Normal] NormalEstimation_PointXYZRGB_t ctypedef NormalEstimation[cpp.PointXYZRGBA, cpp.Normal] NormalEstimation_PointXYZRGBA_t - +ctypedef shared_ptr[NormalEstimation[cpp.PointXYZ, cpp.Normal]] NormalEstimationPtr_t +ctypedef shared_ptr[NormalEstimation[cpp.PointXYZI, cpp.Normal]] NormalEstimation_PointXYZI_Ptr_t +ctypedef shared_ptr[NormalEstimation[cpp.PointXYZRGB, cpp.Normal]] NormalEstimation_PointXYZRGB_Ptr_t +ctypedef shared_ptr[NormalEstimation[cpp.PointXYZRGBA, cpp.Normal]] NormalEstimation_PointXYZRGBA_Ptr_t ### # template diff --git a/pcl/pcl_registration_172.pxd b/pcl/pcl_registration_172.pxd index 43a5887a6..f0b29fd64 100644 --- a/pcl/pcl_registration_172.pxd +++ b/pcl/pcl_registration_172.pxd @@ -1,4 +1,4 @@ -# -*- coding: utf-8 -*- +# -*- coding: utf-8 -*- from libcpp cimport bool from libcpp.string cimport string @@ -3146,7 +3146,7 @@ cdef extern from "pcl/registration/lum.h" namespace "pcl" nogil: # /** \brief A 3D Normal Distribution Transform registration implementation for point cloud data. # * \note For more information please see # * Magnusson, M. (2009). The Three-Dimensional Normal-Distributions Transform  -# * an Efç£ient Representation for Registration, Surface Analysis, and Loop Detection. +# * an Efè´å™¨å·žient Representation for Registration, Surface Analysis, and Loop Detection. # * PhD thesis, Orebro University. Orebro Studies in Technology 36., # * More, J., and Thuente, D. (1994). Line Search Algorithm with Guaranteed Sufficient Decrease # * In ACM Transactions on Mathematical Software. and diff --git a/pcl/pcl_registration_180.pxd b/pcl/pcl_registration_180.pxd index 3e0d0d7b9..0c5af34c9 100644 --- a/pcl/pcl_registration_180.pxd +++ b/pcl/pcl_registration_180.pxd @@ -1,4 +1,4 @@ -# -*- coding: utf-8 -*- +# -*- coding: utf-8 -*- from libcpp cimport bool from libcpp.string cimport string @@ -3143,7 +3143,7 @@ cdef extern from "pcl/registration/lum.h" namespace "pcl" nogil: # /** \brief A 3D Normal Distribution Transform registration implementation for point cloud data. # * \note For more information please see # * Magnusson, M. (2009). The Three-Dimensional Normal-Distributions Transform  -# * an Efç£ient Representation for Registration, Surface Analysis, and Loop Detection. +# * an Efè´å™¨å·žient Representation for Registration, Surface Analysis, and Loop Detection. # * PhD thesis, Orebro University. Orebro Studies in Technology 36., # * More, J., and Thuente, D. (1994). Line Search Algorithm with Guaranteed Sufficient Decrease # * In ACM Transactions on Mathematical Software. and diff --git a/pcl/pcl_segmentation.pxd b/pcl/pcl_segmentation.pxd index b2b31a314..16511634a 100644 --- a/pcl/pcl_segmentation.pxd +++ b/pcl/pcl_segmentation.pxd @@ -25,6 +25,7 @@ cimport pcl_kdtree as pclkdt ## +cimport eigen as eigen3 from vector cimport vector as vector2 ############################################################################### @@ -54,12 +55,14 @@ cdef extern from "pcl/segmentation/sac_segmentation.h" namespace "pcl": # inline SampleConsensusModelPtr getModel () const { return (model_); } void setMethodType (int) - # \brief Get the type of sample consensus method used. + + # brief Get the type of sample consensus method used. # inline int getMethodType () const { return (method_type_); } int getMethodType () void setDistanceThreshold (float) - # \brief Get the distance to the model threshold. + + # brief Get the distance to the model threshold. # inline double getDistanceThreshold () const { return (threshold_); } double getDistanceThreshold () @@ -111,11 +114,11 @@ cdef extern from "pcl/segmentation/sac_segmentation.h" namespace "pcl": # \brief Set the axis along which we need to search for a model perpendicular to. # \param[in] ax the axis along which we need to search for a model perpendicular to # inline void setAxis (const Eigen::Vector3f &ax) { axis_ = ax; } - # void setAxis (const eigen3.Vector3f &ax) + void setAxis (const eigen3.Vector3f &ax) # \brief Get the axis along which we need to search for a model perpendicular to. # inline Eigen::Vector3f getAxis () const { return (axis_); } - # eigen3.Vector3f getAxis () + eigen3.Vector3f getAxis () # \brief Set the angle epsilon (delta) threshold. # \param[in] ea the maximum allowed difference between the model normal and the given axis in radians. diff --git a/pcl/pcl_segmentation_172.pxd b/pcl/pcl_segmentation_172.pxd index 2711f2b45..71193901b 100644 --- a/pcl/pcl_segmentation_172.pxd +++ b/pcl/pcl_segmentation_172.pxd @@ -19,12 +19,13 @@ from pcl_defs cimport PointXYZRGB from pcl_defs cimport PointXYZRGBA from pcl_defs cimport Normal from pcl_defs cimport PCLBase -from pcl_sample_consensus cimport SacModel -cimport pcl_surface as pclsf -cimport pcl_kdtree as pclkdt +from pcl_sample_consensus_172 cimport SacModel +cimport pcl_surface_172 as pclsf +cimport pcl_kdtree_172 as pclkdt ## +cimport eigen as eigen3 from vector cimport vector as vector2 ############################################################################### @@ -54,12 +55,14 @@ cdef extern from "pcl/segmentation/sac_segmentation.h" namespace "pcl": # inline SampleConsensusModelPtr getModel () const { return (model_); } void setMethodType (int) - # \brief Get the type of sample consensus method used. + + # brief Get the type of sample consensus method used. # inline int getMethodType () const { return (method_type_); } int getMethodType () void setDistanceThreshold (float) - # \brief Get the distance to the model threshold. + + # brief Get the distance to the model threshold. # inline double getDistanceThreshold () const { return (threshold_); } double getDistanceThreshold () @@ -111,11 +114,11 @@ cdef extern from "pcl/segmentation/sac_segmentation.h" namespace "pcl": # \brief Set the axis along which we need to search for a model perpendicular to. # \param[in] ax the axis along which we need to search for a model perpendicular to # inline void setAxis (const Eigen::Vector3f &ax) { axis_ = ax; } - # void setAxis (const eigen3.Vector3f &ax) + void setAxis (const eigen3.Vector3f &ax) # \brief Get the axis along which we need to search for a model perpendicular to. # inline Eigen::Vector3f getAxis () const { return (axis_); } - # eigen3.Vector3f getAxis () + eigen3.Vector3f getAxis () # \brief Set the angle epsilon (delta) threshold. # \param[in] ea the maximum allowed difference between the model normal and the given axis in radians. @@ -2042,7 +2045,7 @@ cdef extern from "pcl/segmentation/extract_polygonal_prism_data.h" namespace "pc # namespace pcl # namespace segmentation # /** \brief Implementation of the GrabCut segmentation in -# * "GrabCut — Interactive Foreground Extraction using Iterated Graph Cuts" by +# * "GrabCut - Interactive Foreground Extraction using Iterated Graph Cuts" by # * Carsten Rother, Vladimir Kolmogorov and Andrew Blake. # * \author Justin Talbot, jtalbot@stanford.edu placed in Public Domain, 2010 # * \author Nizar Sallem port to PCL and adaptation of original code. diff --git a/pcl/pcl_segmentation_180.pxd b/pcl/pcl_segmentation_180.pxd index b8d0b8820..c5e1846e1 100644 --- a/pcl/pcl_segmentation_180.pxd +++ b/pcl/pcl_segmentation_180.pxd @@ -19,12 +19,13 @@ from pcl_defs cimport PointXYZRGB from pcl_defs cimport PointXYZRGBA from pcl_defs cimport Normal from pcl_defs cimport PCLBase -from pcl_sample_consensus cimport SacModel -cimport pcl_surface as pclsf -cimport pcl_kdtree as pclkdt +from pcl_sample_consensus_180 cimport SacModel +cimport pcl_surface_180 as pclsf +cimport pcl_kdtree_180 as pclkdt ## +cimport eigen as eigen3 from vector cimport vector as vector2 ############################################################################### @@ -54,12 +55,14 @@ cdef extern from "pcl/segmentation/sac_segmentation.h" namespace "pcl": # inline SampleConsensusModelPtr getModel () const { return (model_); } void setMethodType (int) - # \brief Get the type of sample consensus method used. + + # brief Get the type of sample consensus method used. # inline int getMethodType () const { return (method_type_); } int getMethodType () void setDistanceThreshold (float) - # \brief Get the distance to the model threshold. + + # brief Get the distance to the model threshold. # inline double getDistanceThreshold () const { return (threshold_); } double getDistanceThreshold () @@ -111,11 +114,11 @@ cdef extern from "pcl/segmentation/sac_segmentation.h" namespace "pcl": # \brief Set the axis along which we need to search for a model perpendicular to. # \param[in] ax the axis along which we need to search for a model perpendicular to # inline void setAxis (const Eigen::Vector3f &ax) { axis_ = ax; } - # void setAxis (const eigen3.Vector3f &ax) + void setAxis (const eigen3.Vector3f &ax) # \brief Get the axis along which we need to search for a model perpendicular to. # inline Eigen::Vector3f getAxis () const { return (axis_); } - # eigen3.Vector3f getAxis () + eigen3.Vector3f getAxis () # \brief Set the angle epsilon (delta) threshold. # \param[in] ea the maximum allowed difference between the model normal and the given axis in radians. @@ -237,9 +240,8 @@ cdef extern from "pcl/segmentation/comparator.h" namespace "pcl": # * \param[in] idx2 the index of the second point. # */ # virtual bool compare (int idx1, int idx2) const = 0; - # - # protected: - # PointCloudConstPtr input_; + + ### # plane_coefficient_comparator.h @@ -2031,7 +2033,7 @@ cdef extern from "pcl/segmentation/extract_polygonal_prism_data.h" namespace "pc # namespace pcl # namespace segmentation # /** \brief Implementation of the GrabCut segmentation in -# * "GrabCut — Interactive Foreground Extraction using Iterated Graph Cuts" by +# * "GrabCut - Interactive Foreground Extraction using Iterated Graph Cuts" by # * Carsten Rother, Vladimir Kolmogorov and Andrew Blake. # * \author Justin Talbot, jtalbot@stanford.edu placed in Public Domain, 2010 # * \author Nizar Sallem port to PCL and adaptation of original code. diff --git a/pcl/pcl_visualization.pxd b/pcl/pcl_visualization.pxd index beb68ec6b..540d6ce25 100644 --- a/pcl/pcl_visualization.pxd +++ b/pcl/pcl_visualization.pxd @@ -1,6 +1,7 @@ # -*- coding: utf-8 -*- -# Header for pcl_visualization.pyx functionality that needs sharing with other modules. - cimport pcl_visualization_defs as vis +# Header for pcl_visualization.pyx functionality that needs sharing with other modules. + +cimport pcl_visualization_defs as vis from libc.stddef cimport size_t @@ -10,25 +11,27 @@ from libcpp cimport bool # main cimport pcl_defs as cpp - -# class override(PointCloud) -cdef class PointCloudColorHandleringCustom: - cdef vis.PointCloudColorHandlerCustom_Ptr_t thisptr_shared # PointCloudColorHandlerCustom[PointXYZ] - + +# class override(PointCloud) +cdef class PointCloudColorHandleringCustom: + cdef vis.PointCloudColorHandlerCustom_Ptr_t thisptr_shared # PointCloudColorHandlerCustom[PointXYZ] + # cdef inline PointCloudColorHandlerCustom[cpp.PointXYZ] *thisptr(self) nogil: # pcl_visualization_defs - cdef inline vis.PointCloudColorHandlerCustom[cpp.PointXYZ] *thisptr(self) nogil: - # Shortcut to get raw pointer to underlying PointCloudColorHandlerCustom. - return self.thisptr_shared.get() - - -cdef class PointCloudGeometryHandleringCustom: - cdef vis.PointCloudGeometryHandlerCustom_Ptr_t thisptr_shared # PointCloudGeometryHandlerCustom[PointXYZ] - + cdef inline vis.PointCloudColorHandlerCustom[cpp.PointXYZ] *thisptr(self) nogil: + # Shortcut to get raw pointer to underlying PointCloudColorHandlerCustom. + return self.thisptr_shared.get() + + + +cdef class PointCloudGeometryHandleringCustom: + cdef vis.PointCloudGeometryHandlerCustom_Ptr_t thisptr_shared # PointCloudGeometryHandlerCustom[PointXYZ] + # cdef inline PointCloudGeometryHandlerCustom[cpp.PointXYZ] *thisptr(self) nogil: # pcl_visualization_defs - cdef inline vis.PointCloudGeometryHandlerCustom[cpp.PointXYZ] *thisptr(self) nogil: - # Shortcut to get raw pointer to underlying PointCloudGeometryHandlerCustom. - return self.thisptr_shared.get() - + cdef inline vis.PointCloudGeometryHandlerCustom[cpp.PointXYZ] *thisptr(self) nogil: + # Shortcut to get raw pointer to underlying PointCloudGeometryHandlerCustom. + return self.thisptr_shared.get() + + diff --git a/pcl/pxi/Features/IntegralImageNormalEstimation.pxi b/pcl/pxi/Features/IntegralImageNormalEstimation.pxi index bd151fa85..95fd10f32 100644 --- a/pcl/pxi/Features/IntegralImageNormalEstimation.pxi +++ b/pcl/pxi/Features/IntegralImageNormalEstimation.pxi @@ -1,97 +1,82 @@ # -*- coding: utf-8 -*- +cimport _pcl from libcpp.vector cimport vector from libcpp cimport bool cimport pcl_defs as cpp -cimport pcl_features as pcl_ftr +cimport pcl_features as pclftr from boost_shared_ptr cimport sp_assign cdef extern from "minipcl.h": - void mpcl_features_NormalEstimationMethod_AVERAGE_3D_GRADIENT(pcl_ftr.IntegralImageNormalEstimation_t ) except + - void mpcl_features_NormalEstimationMethod_COVARIANCE_MATRIX(pcl_ftr.IntegralImageNormalEstimation_t ) except + - void mpcl_features_NormalEstimationMethod_AVERAGE_DEPTH_CHANGE(pcl_ftr.IntegralImageNormalEstimation_t ) except + - void mpcl_features_NormalEstimationMethod_SIMPLE_3D_GRADIENT(pcl_ftr.IntegralImageNormalEstimation_t ) except + - void mpcl_features_NormalEstimationMethod_compute(pcl_ftr.IntegralImageNormalEstimation_t, cpp.PointCloud_Normal_t ) except + + void mpcl_features_NormalEstimationMethod_AVERAGE_3D_GRADIENT(pclftr.IntegralImageNormalEstimation_t ) except + + void mpcl_features_NormalEstimationMethod_COVARIANCE_MATRIX(pclftr.IntegralImageNormalEstimation_t ) except + + void mpcl_features_NormalEstimationMethod_AVERAGE_DEPTH_CHANGE(pclftr.IntegralImageNormalEstimation_t ) except + + void mpcl_features_NormalEstimationMethod_SIMPLE_3D_GRADIENT(pclftr.IntegralImageNormalEstimation_t ) except + + void mpcl_features_NormalEstimationMethod_compute(pclftr.IntegralImageNormalEstimation_t, cpp.PointCloud_Normal_t ) except + + cdef class IntegralImageNormalEstimation: """ - IntegralImageNormalEstimation class for + IntegralImageNormalEstimation class for Surface normal estimation on organized data using integral images. """ - # cdef pcl_ftr.IntegralImageNormalEstimation_t *me + cdef pclftr.IntegralImageNormalEstimation_t *me + - def __cinit__(self, PointCloud pc not None): - print ('__cinit__ start') - sp_assign(self.thisptr_shared, new pcl_ftr.IntegralImageNormalEstimation[cpp.PointXYZ, cpp.Normal]()) + def __cinit__(self, _pcl.PointCloud pc not None): + # sp_assign(self.thisptr_shared, new pclftr.IntegralImageNormalEstimation[cpp.PointXYZ, cpp.Normal]()) + # self.thisptr().setInputCloud(pc.thisptr_shared) # NG : Reference Count - self.thisptr().setInputCloud(pc.thisptr_shared) - print ('__cinit__ end') - # self.me = new pcl_ftr.IntegralImageNormalEstimation_t() - # self.me.setInputCloud(pc.thisptr_shared) + self.me = new pclftr.IntegralImageNormalEstimation_t() + self.me.setInputCloud(pc.thisptr_shared) # pass + + def __dealloc__(self): + del self.me + + def set_NormalEstimation_Method_AVERAGE_3D_GRADIENT (self): - mpcl_features_NormalEstimationMethod_AVERAGE_3D_GRADIENT( deref(self.thisptr())) + # mpcl_features_NormalEstimationMethod_AVERAGE_3D_GRADIENT( deref(self.thisptr())) + mpcl_features_NormalEstimationMethod_AVERAGE_3D_GRADIENT( deref(self.me)) + def set_NormalEstimation_Method_COVARIANCE_MATRIX (self): - mpcl_features_NormalEstimationMethod_COVARIANCE_MATRIX( deref(self.thisptr())) + # mpcl_features_NormalEstimationMethod_COVARIANCE_MATRIX( deref(self.thisptr())) + mpcl_features_NormalEstimationMethod_COVARIANCE_MATRIX( deref(self.me)) + def set_NormalEstimation_Method_AVERAGE_DEPTH_CHANGE (self): - mpcl_features_NormalEstimationMethod_AVERAGE_DEPTH_CHANGE( deref(self.thisptr())) + # mpcl_features_NormalEstimationMethod_AVERAGE_DEPTH_CHANGE( deref(self.thisptr())) + mpcl_features_NormalEstimationMethod_AVERAGE_DEPTH_CHANGE( deref(self.me)) + def set_NormalEstimation_Method_SIMPLE_3D_GRADIENT (self): - mpcl_features_NormalEstimationMethod_SIMPLE_3D_GRADIENT( deref(self.thisptr())) + # mpcl_features_NormalEstimationMethod_SIMPLE_3D_GRADIENT( deref(self.thisptr())) + mpcl_features_NormalEstimationMethod_SIMPLE_3D_GRADIENT( deref(self.me)) + # enum Set NG # def set_NormalEstimation_Method (self): - # self.thisptr().setNormalEstimationMethod(pcl_ftr.NormalEstimationMethod2.ESTIMATIONMETHOD_COVARIANCE_MATRIX) + # self.thisptr().setNormalEstimationMethod(pclftr.NormalEstimationMethod2.ESTIMATIONMETHOD_COVARIANCE_MATRIX) + def set_MaxDepthChange_Factor(self, double param): - self.thisptr().setMaxDepthChangeFactor(param) + # self.thisptr().setMaxDepthChangeFactor(param) + self.me.setMaxDepthChangeFactor(param) + def set_NormalSmoothingSize(self, double param): - self.thisptr().setNormalSmoothingSize(param) + # self.thisptr().setNormalSmoothingSize(param) + self.me.setNormalSmoothingSize(param) - def compute(self, PointCloud pc not None): - # cdef PointCloud_PointNormal normal = PointCloud_PointNormal() - # normal = PointCloud_PointNormal() - normal = PointCloud_Normal() - # NG : No Python object - # normal = PointCloud_Normal(pc) - cdef cpp.PointCloud_Normal_t *cPointCloudNormal = normal.thisptr() - print ('3') - # print (str(self.thisptr().size)) - - # compute function based Features class - # NG - # self.thisptr().compute (cPointCloudNormal.makeShared()) - # self.thisptr().compute (cPointCloudNormal.makeShared().get()) - # from cython cimport address - # self.thisptr().compute (cython.address(cPointCloudNormal.makeShared().get())) - # self.thisptr().compute ( deref(cPointCloudNormal.makeShared().get())) - # NG : (Exception) - # self.thisptr().compute (deref(cPointCloudNormal.makeShared().get())) - self.thisptr().compute (deref(cPointCloudNormal)) - print ('4') - return normal - def compute2(self, PointCloud pc not None): + def compute(self): normal = PointCloud_Normal() - cdef cpp.PointCloud_Normal_t *cPointCloudNormal = normal.thisptr() - print ('3') - # OK - cdef cpp.PointCloud_Normal_t normals - mpcl_features_NormalEstimationMethod_compute( deref(self.thisptr()), normals) - print ('3a') - # Copy? - cPointCloudNormal = normals.makeShared().get() - print ('3b') - - # NG : Normal Pointer Nothing? - # mpcl_features_NormalEstimationMethod_compute( deref(self.thisptr()), deref(cPointCloudNormal.makeShared().get())) - # mpcl_features_NormalEstimationMethod_compute( deref(self.thisptr()), cPointCloudNormal.makeShared().get()) - # NG : Normal Pointer Nothing? - # mpcl_features_NormalEstimationMethod_compute( deref(self.thisptr()), deref(cPointCloudNormal)) - print ('4') + sp_assign(normal.thisptr_shared, new cpp.PointCloud[cpp.Normal]()) + cdef cpp.PointCloud_Normal_t *cNormal = normal.thisptr() + # (self.thisptr()).compute(deref(cNormal)) + (self.me).compute(deref(cNormal)) return normal + diff --git a/pcl/pxi/Features/IntegralImageNormalEstimation_172.pxi b/pcl/pxi/Features/IntegralImageNormalEstimation_172.pxi index e4798ed6d..4a1e9a062 100644 --- a/pcl/pxi/Features/IntegralImageNormalEstimation_172.pxi +++ b/pcl/pxi/Features/IntegralImageNormalEstimation_172.pxi @@ -1,97 +1,82 @@ # -*- coding: utf-8 -*- +cimport _pcl from libcpp.vector cimport vector from libcpp cimport bool cimport pcl_defs as cpp -cimport pcl_features_172 as pcl_ftr +cimport pcl_features_172 as pclftr from boost_shared_ptr cimport sp_assign cdef extern from "minipcl.h": - void mpcl_features_NormalEstimationMethod_AVERAGE_3D_GRADIENT(pcl_ftr.IntegralImageNormalEstimation_t ) except + - void mpcl_features_NormalEstimationMethod_COVARIANCE_MATRIX(pcl_ftr.IntegralImageNormalEstimation_t ) except + - void mpcl_features_NormalEstimationMethod_AVERAGE_DEPTH_CHANGE(pcl_ftr.IntegralImageNormalEstimation_t ) except + - void mpcl_features_NormalEstimationMethod_SIMPLE_3D_GRADIENT(pcl_ftr.IntegralImageNormalEstimation_t ) except + - void mpcl_features_NormalEstimationMethod_compute(pcl_ftr.IntegralImageNormalEstimation_t, cpp.PointCloud_Normal_t ) except + + void mpcl_features_NormalEstimationMethod_AVERAGE_3D_GRADIENT(pclftr.IntegralImageNormalEstimation_t ) except + + void mpcl_features_NormalEstimationMethod_COVARIANCE_MATRIX(pclftr.IntegralImageNormalEstimation_t ) except + + void mpcl_features_NormalEstimationMethod_AVERAGE_DEPTH_CHANGE(pclftr.IntegralImageNormalEstimation_t ) except + + void mpcl_features_NormalEstimationMethod_SIMPLE_3D_GRADIENT(pclftr.IntegralImageNormalEstimation_t ) except + + void mpcl_features_NormalEstimationMethod_compute(pclftr.IntegralImageNormalEstimation_t, cpp.PointCloud_Normal_t ) except + + cdef class IntegralImageNormalEstimation: """ - IntegralImageNormalEstimation class for + IntegralImageNormalEstimation class for Surface normal estimation on organized data using integral images. """ - # cdef pcl_ftr.IntegralImageNormalEstimation_t *me + cdef pclftr.IntegralImageNormalEstimation_t *me + - def __cinit__(self, PointCloud pc not None): - print ('__cinit__ start') - sp_assign(self.thisptr_shared, new pcl_ftr.IntegralImageNormalEstimation[cpp.PointXYZ, cpp.Normal]()) + def __cinit__(self, _pcl.PointCloud pc not None): + # sp_assign(self.thisptr_shared, new pclftr.IntegralImageNormalEstimation[cpp.PointXYZ, cpp.Normal]()) + # self.thisptr().setInputCloud(pc.thisptr_shared) # NG : Reference Count - self.thisptr().setInputCloud(pc.thisptr_shared) - print ('__cinit__ end') - # self.me = new pcl_ftr.IntegralImageNormalEstimation_t() - # self.me.setInputCloud(pc.thisptr_shared) + self.me = new pclftr.IntegralImageNormalEstimation_t() + self.me.setInputCloud(pc.thisptr_shared) # pass + + def __dealloc__(self): + del self.me + + def set_NormalEstimation_Method_AVERAGE_3D_GRADIENT (self): - mpcl_features_NormalEstimationMethod_AVERAGE_3D_GRADIENT( deref(self.thisptr())) + # mpcl_features_NormalEstimationMethod_AVERAGE_3D_GRADIENT( deref(self.thisptr())) + mpcl_features_NormalEstimationMethod_AVERAGE_3D_GRADIENT( deref(self.me)) + def set_NormalEstimation_Method_COVARIANCE_MATRIX (self): - mpcl_features_NormalEstimationMethod_COVARIANCE_MATRIX( deref(self.thisptr())) + # mpcl_features_NormalEstimationMethod_COVARIANCE_MATRIX( deref(self.thisptr())) + mpcl_features_NormalEstimationMethod_COVARIANCE_MATRIX( deref(self.me)) + def set_NormalEstimation_Method_AVERAGE_DEPTH_CHANGE (self): - mpcl_features_NormalEstimationMethod_AVERAGE_DEPTH_CHANGE( deref(self.thisptr())) + # mpcl_features_NormalEstimationMethod_AVERAGE_DEPTH_CHANGE( deref(self.thisptr())) + mpcl_features_NormalEstimationMethod_AVERAGE_DEPTH_CHANGE( deref(self.me)) + def set_NormalEstimation_Method_SIMPLE_3D_GRADIENT (self): - mpcl_features_NormalEstimationMethod_SIMPLE_3D_GRADIENT( deref(self.thisptr())) + # mpcl_features_NormalEstimationMethod_SIMPLE_3D_GRADIENT( deref(self.thisptr())) + mpcl_features_NormalEstimationMethod_SIMPLE_3D_GRADIENT( deref(self.me)) + # enum Set NG # def set_NormalEstimation_Method (self): - # self.thisptr().setNormalEstimationMethod(pcl_ftr.NormalEstimationMethod2.ESTIMATIONMETHOD_COVARIANCE_MATRIX) + # self.thisptr().setNormalEstimationMethod(pclftr.NormalEstimationMethod2.ESTIMATIONMETHOD_COVARIANCE_MATRIX) + def set_MaxDepthChange_Factor(self, double param): - self.thisptr().setMaxDepthChangeFactor(param) + # self.thisptr().setMaxDepthChangeFactor(param) + self.me.setMaxDepthChangeFactor(param) + def set_NormalSmoothingSize(self, double param): - self.thisptr().setNormalSmoothingSize(param) + # self.thisptr().setNormalSmoothingSize(param) + self.me.setNormalSmoothingSize(param) - def compute(self, PointCloud pc not None): - # cdef PointCloud_PointNormal normal = PointCloud_PointNormal() - # normal = PointCloud_PointNormal() - normal = PointCloud_Normal() - # NG : No Python object - # normal = PointCloud_Normal(pc) - cdef cpp.PointCloud_Normal_t *cPointCloudNormal = normal.thisptr() - print ('3') - # print (str(self.thisptr().size)) - - # compute function based Features class - # NG - # self.thisptr().compute (cPointCloudNormal.makeShared()) - # self.thisptr().compute (cPointCloudNormal.makeShared().get()) - # from cython cimport address - # self.thisptr().compute (cython.address(cPointCloudNormal.makeShared().get())) - # self.thisptr().compute ( deref(cPointCloudNormal.makeShared().get())) - # NG : (Exception) - # self.thisptr().compute (deref(cPointCloudNormal.makeShared().get())) - self.thisptr().compute (deref(cPointCloudNormal)) - print ('4') - return normal - def compute2(self, PointCloud pc not None): + def compute(self): normal = PointCloud_Normal() - cdef cpp.PointCloud_Normal_t *cPointCloudNormal = normal.thisptr() - print ('3') - # OK - cdef cpp.PointCloud_Normal_t normals - mpcl_features_NormalEstimationMethod_compute( deref(self.thisptr()), normals) - print ('3a') - # Copy? - cPointCloudNormal = normals.makeShared().get() - print ('3b') - - # NG : Normal Pointer Nothing? - # mpcl_features_NormalEstimationMethod_compute( deref(self.thisptr()), deref(cPointCloudNormal.makeShared().get())) - # mpcl_features_NormalEstimationMethod_compute( deref(self.thisptr()), cPointCloudNormal.makeShared().get()) - # NG : Normal Pointer Nothing? - # mpcl_features_NormalEstimationMethod_compute( deref(self.thisptr()), deref(cPointCloudNormal)) - print ('4') + sp_assign(normal.thisptr_shared, new cpp.PointCloud[cpp.Normal]()) + cdef cpp.PointCloud_Normal_t *cNormal = normal.thisptr() + # (self.thisptr()).compute(deref(cNormal)) + (self.me).compute(deref(cNormal)) return normal + diff --git a/pcl/pxi/Features/IntegralImageNormalEstimation_180.pxi b/pcl/pxi/Features/IntegralImageNormalEstimation_180.pxi index 60650e5f3..7d02326bf 100644 --- a/pcl/pxi/Features/IntegralImageNormalEstimation_180.pxi +++ b/pcl/pxi/Features/IntegralImageNormalEstimation_180.pxi @@ -1,97 +1,82 @@ # -*- coding: utf-8 -*- +cimport _pcl from libcpp.vector cimport vector from libcpp cimport bool cimport pcl_defs as cpp -cimport pcl_features_180 as pcl_ftr +cimport pcl_features_180 as pclftr from boost_shared_ptr cimport sp_assign cdef extern from "minipcl.h": - void mpcl_features_NormalEstimationMethod_AVERAGE_3D_GRADIENT(pcl_ftr.IntegralImageNormalEstimation_t ) except + - void mpcl_features_NormalEstimationMethod_COVARIANCE_MATRIX(pcl_ftr.IntegralImageNormalEstimation_t ) except + - void mpcl_features_NormalEstimationMethod_AVERAGE_DEPTH_CHANGE(pcl_ftr.IntegralImageNormalEstimation_t ) except + - void mpcl_features_NormalEstimationMethod_SIMPLE_3D_GRADIENT(pcl_ftr.IntegralImageNormalEstimation_t ) except + - void mpcl_features_NormalEstimationMethod_compute(pcl_ftr.IntegralImageNormalEstimation_t, cpp.PointCloud_Normal_t ) except + + void mpcl_features_NormalEstimationMethod_AVERAGE_3D_GRADIENT(pclftr.IntegralImageNormalEstimation_t ) except + + void mpcl_features_NormalEstimationMethod_COVARIANCE_MATRIX(pclftr.IntegralImageNormalEstimation_t ) except + + void mpcl_features_NormalEstimationMethod_AVERAGE_DEPTH_CHANGE(pclftr.IntegralImageNormalEstimation_t ) except + + void mpcl_features_NormalEstimationMethod_SIMPLE_3D_GRADIENT(pclftr.IntegralImageNormalEstimation_t ) except + + void mpcl_features_NormalEstimationMethod_compute(pclftr.IntegralImageNormalEstimation_t, cpp.PointCloud_Normal_t ) except + + cdef class IntegralImageNormalEstimation: """ - IntegralImageNormalEstimation class for + IntegralImageNormalEstimation class for Surface normal estimation on organized data using integral images. """ - # cdef pcl_ftr.IntegralImageNormalEstimation_t *me + cdef pclftr.IntegralImageNormalEstimation_t *me + - def __cinit__(self, PointCloud pc not None): - print ('__cinit__ start') - sp_assign(self.thisptr_shared, new pcl_ftr.IntegralImageNormalEstimation[cpp.PointXYZ, cpp.Normal]()) + def __cinit__(self, _pcl.PointCloud pc not None): + # sp_assign(self.thisptr_shared, new pclftr.IntegralImageNormalEstimation[cpp.PointXYZ, cpp.Normal]()) + # self.thisptr().setInputCloud(pc.thisptr_shared) # NG : Reference Count - self.thisptr().setInputCloud(pc.thisptr_shared) - print ('__cinit__ end') - # self.me = new pcl_ftr.IntegralImageNormalEstimation_t() - # self.me.setInputCloud(pc.thisptr_shared) + self.me = new pclftr.IntegralImageNormalEstimation_t() + self.me.setInputCloud(pc.thisptr_shared) # pass + + def __dealloc__(self): + del self.me + + def set_NormalEstimation_Method_AVERAGE_3D_GRADIENT (self): - mpcl_features_NormalEstimationMethod_AVERAGE_3D_GRADIENT( deref(self.thisptr())) + # mpcl_features_NormalEstimationMethod_AVERAGE_3D_GRADIENT( deref(self.thisptr())) + mpcl_features_NormalEstimationMethod_AVERAGE_3D_GRADIENT( deref(self.me)) + def set_NormalEstimation_Method_COVARIANCE_MATRIX (self): - mpcl_features_NormalEstimationMethod_COVARIANCE_MATRIX( deref(self.thisptr())) + # mpcl_features_NormalEstimationMethod_COVARIANCE_MATRIX( deref(self.thisptr())) + mpcl_features_NormalEstimationMethod_COVARIANCE_MATRIX( deref(self.me)) + def set_NormalEstimation_Method_AVERAGE_DEPTH_CHANGE (self): - mpcl_features_NormalEstimationMethod_AVERAGE_DEPTH_CHANGE( deref(self.thisptr())) + # mpcl_features_NormalEstimationMethod_AVERAGE_DEPTH_CHANGE( deref(self.thisptr())) + mpcl_features_NormalEstimationMethod_AVERAGE_DEPTH_CHANGE( deref(self.me)) + def set_NormalEstimation_Method_SIMPLE_3D_GRADIENT (self): - mpcl_features_NormalEstimationMethod_SIMPLE_3D_GRADIENT( deref(self.thisptr())) + # mpcl_features_NormalEstimationMethod_SIMPLE_3D_GRADIENT( deref(self.thisptr())) + mpcl_features_NormalEstimationMethod_SIMPLE_3D_GRADIENT( deref(self.me)) + # enum Set NG # def set_NormalEstimation_Method (self): - # self.thisptr().setNormalEstimationMethod(pcl_ftr.NormalEstimationMethod2.ESTIMATIONMETHOD_COVARIANCE_MATRIX) + # self.thisptr().setNormalEstimationMethod(pclftr.NormalEstimationMethod2.ESTIMATIONMETHOD_COVARIANCE_MATRIX) + def set_MaxDepthChange_Factor(self, double param): - self.thisptr().setMaxDepthChangeFactor(param) + # self.thisptr().setMaxDepthChangeFactor(param) + self.me.setMaxDepthChangeFactor(param) + def set_NormalSmoothingSize(self, double param): - self.thisptr().setNormalSmoothingSize(param) + # self.thisptr().setNormalSmoothingSize(param) + self.me.setNormalSmoothingSize(param) - def compute(self, PointCloud pc not None): - # cdef PointCloud_PointNormal normal = PointCloud_PointNormal() - # normal = PointCloud_PointNormal() - normal = PointCloud_Normal() - # NG : No Python object - # normal = PointCloud_Normal(pc) - cdef cpp.PointCloud_Normal_t *cPointCloudNormal = normal.thisptr() - print ('3') - # print (str(self.thisptr().size)) - - # compute function based Features class - # NG - # self.thisptr().compute (cPointCloudNormal.makeShared()) - # self.thisptr().compute (cPointCloudNormal.makeShared().get()) - # from cython cimport address - # self.thisptr().compute (cython.address(cPointCloudNormal.makeShared().get())) - # self.thisptr().compute ( deref(cPointCloudNormal.makeShared().get())) - # NG : (Exception) - # self.thisptr().compute (deref(cPointCloudNormal.makeShared().get())) - self.thisptr().compute (deref(cPointCloudNormal)) - print ('4') - return normal - def compute2(self, PointCloud pc not None): + def compute(self): normal = PointCloud_Normal() - cdef cpp.PointCloud_Normal_t *cPointCloudNormal = normal.thisptr() - print ('3') - # OK - cdef cpp.PointCloud_Normal_t normals - mpcl_features_NormalEstimationMethod_compute( deref(self.thisptr()), normals) - print ('3a') - # Copy? - cPointCloudNormal = normals.makeShared().get() - print ('3b') - - # NG : Normal Pointer Nothing? - # mpcl_features_NormalEstimationMethod_compute( deref(self.thisptr()), deref(cPointCloudNormal.makeShared().get())) - # mpcl_features_NormalEstimationMethod_compute( deref(self.thisptr()), cPointCloudNormal.makeShared().get()) - # NG : Normal Pointer Nothing? - # mpcl_features_NormalEstimationMethod_compute( deref(self.thisptr()), deref(cPointCloudNormal)) - print ('4') + sp_assign(normal.thisptr_shared, new cpp.PointCloud[cpp.Normal]()) + cdef cpp.PointCloud_Normal_t *cNormal = normal.thisptr() + # (self.thisptr()).compute(deref(cNormal)) + (self.me).compute(deref(cNormal)) return normal + diff --git a/pcl/pxi/Features/MomentOfInertiaEstimation_172.pxi b/pcl/pxi/Features/MomentOfInertiaEstimation_172.pxi index 6b6cccee9..e4d94945c 100644 --- a/pcl/pxi/Features/MomentOfInertiaEstimation_172.pxi +++ b/pcl/pxi/Features/MomentOfInertiaEstimation_172.pxi @@ -29,6 +29,9 @@ cdef class MomentOfInertiaEstimation: def __dealloc__(self): del self.me + def set_InputCloud(self, PointCloud pc not None): + (self.me).setInputCloud(pc.thisptr_shared) + # feature_extractor.compute (); # feature_extractor.getMomentOfInertia (moment_of_inertia); # feature_extractor.getEccentricity (eccentricity); @@ -75,13 +78,53 @@ cdef class MomentOfInertiaEstimation: return result1, result2 @cython.boundscheck(False) - # def get_OBB (self): - # cdef cpp.PointXYZ min_point_OBB - # cdef cpp.PointXYZ max_point_OBB - # cdef cpp.PointXYZ position_OBB - # cdef eigen3.Matrix3f rotational_matrix_OBB - # self.me.getOBB (min_point_OBB, max_point_OBB, position_OBB, rotational_matrix_OBB) + def get_OBB (self): + cdef cpp.PointXYZ min_point_OBB + cdef cpp.PointXYZ max_point_OBB + cdef cpp.PointXYZ position_OBB + cdef eigen3.Matrix3f rotational_matrix_OBB + self.me.getOBB (min_point_OBB, max_point_OBB, position_OBB, rotational_matrix_OBB) + # NG : Convert Python object # return min_point_OBB, max_point_OBB, position_OBB, rotational_matrix_OBB + cdef cnp.npy_intp n = 1 + # cdef cnp.ndarray[cnp.float32_t, ndim=4, mode="c"] result + result1 = np.empty((n, 3), dtype=np.float32) + for i in range(n): + result1[i, 0] = min_point_OBB.x + result1[i, 1] = min_point_OBB.y + result1[i, 2] = min_point_OBB.z + pcl_min_point_OBB = PointCloud(result1) + + result2 = np.empty((n, 3), dtype=np.float32) + for i in range(n): + result2[i, 0] = max_point_OBB.x + result2[i, 1] = max_point_OBB.y + result2[i, 2] = max_point_OBB.z + pcl_max_point_OBB = PointCloud(result2) + + result3 = np.empty((n, 3), dtype=np.float32) + for i in range(n): + result3[i, 0] = position_OBB.x + result3[i, 1] = position_OBB.y + result3[i, 2] = position_OBB.z + pcl_position_OBB = PointCloud(result3) + + # cdef np.ndarray[np.double_t, ndim=2] np_rotational_matrix_OBB = np.empty((3,3), dtype=np.float64) + # cdef np.ndarray[np.float32_t, ndim=2] np_rotational_matrix_OBB = np.empty((3,3), dtype=np.float32) + np_rotational_matrix_OBB = np.empty((3,3), dtype=np.float32) + # np_rotational_matrix_OBB[0,0] = rotational_matrix_OBB(0,0); np_rotational_matrix_OBB[0,1] = rotational_matrix_OBB(0,1); np_rotational_matrix_OBB[0,2] = rotational_matrix_OBB(0,2); + # np_rotational_matrix_OBB[1,0] = rotational_matrix_OBB(1,0); np_rotational_matrix_OBB[1,1] = rotational_matrix_OBB(1,1); np_rotational_matrix_OBB[1,2] = rotational_matrix_OBB(1,2); + # np_rotational_matrix_OBB[2,0] = rotational_matrix_OBB(2,0); np_rotational_matrix_OBB[2,1] = rotational_matrix_OBB(2,1); np_rotational_matrix_OBB[2,2] = rotational_matrix_OBB(2,2); + np_rotational_matrix_OBB[0, 0] = rotational_matrix_OBB.element(0, 0) + np_rotational_matrix_OBB[0, 1] = rotational_matrix_OBB.element(0, 1) + np_rotational_matrix_OBB[0, 2] = rotational_matrix_OBB.element(0, 2) + np_rotational_matrix_OBB[1, 0] = rotational_matrix_OBB.element(1, 0) + np_rotational_matrix_OBB[1, 1] = rotational_matrix_OBB.element(1, 1) + np_rotational_matrix_OBB[1, 2] = rotational_matrix_OBB.element(1, 2) + np_rotational_matrix_OBB[2, 0] = rotational_matrix_OBB.element(2, 0) + np_rotational_matrix_OBB[2, 1] = rotational_matrix_OBB.element(2, 1) + np_rotational_matrix_OBB[2, 2] = rotational_matrix_OBB.element(2, 2) + return result1, result2, result3, np_rotational_matrix_OBB def get_EigenValues (self): cdef float major_value = 0.0 @@ -90,15 +133,44 @@ cdef class MomentOfInertiaEstimation: self.me.getEigenValues (major_value, middle_value, minor_value) return major_value, middle_value, minor_value - # def get_EigenVectors (self): - # # cdef eigen3.Vector3f major_vector - # # cdef eigen3.Vector3f middle_vector - # # cdef eigen3.Vector3f minor_vector - # self.me.getEigenVectors (major_vector, middle_vector, minor_vector) - # return major_vector, middle_vector, minor_vector - - # def get_MassCenter (self): - # # cdef eigen3.Vector3f mass_center - # self.me.getMassCenter (mass_center) - # return mass_center + def get_EigenVectors (self): + cdef eigen3.Vector3f major_vector + cdef eigen3.Vector3f middle_vector + cdef eigen3.Vector3f minor_vector + self.me.getEigenVectors (major_vector, middle_vector, minor_vector) + + # cdef np.ndarray[np.float32_t, ndim=2] np_major_vec = np.empty((1,3), dtype=np.float32) + np_major_vec = np.empty((1,3), dtype=np.float32) + np_major_vec[0,0] = major_vector.element(0,0) + np_major_vec[0,1] = major_vector.element(1,1) + np_major_vec[0,2] = major_vector.element(2,2) + + # cdef np.ndarray[np.float32_t, ndim=2] np_middle_vec = np.empty((1,3), dtype=np.float32) + np_middle_vec = np.empty((1,3), dtype=np.float32) + np_middle_vec[0,0] = middle_vector.element(0,0) + np_middle_vec[0,1] = middle_vector.element(1,1) + np_middle_vec[0,2] = middle_vector.element(2,2) + + # cdef np.ndarray[np.float32_t, ndim=2] np_minor_vec = np.empty((1,3), dtype=np.float32) + np_minor_vec = np.empty((1,3), dtype=np.float32) + np_minor_vec[0,0] = minor_vector.element(0,0) + np_minor_vec[0,1] = minor_vector.element(1,1) + np_minor_vec[0,2] = minor_vector.element(2,2) + + return np_major_vec, np_middle_vec, np_minor_vec + + def get_MassCenter (self): + cdef eigen3.Vector3f mass_center + self.me.getMassCenter (mass_center) + + # cdef np.ndarray[np.float32_t, ndim=2] np_mass_center_vec = np.empty((1,3), dtype=np.float32) + np_mass_center_vec = np.empty((1,3), dtype=np.float32) + np_mass_center_vec[0, 0] = mass_center.element(0, 0) + # np_mass_center_vec[0, 1] = mass_center.element(0, 1) + np_mass_center_vec[0, 1] = mass_center.element(1, 1) + # np_mass_center_vec[0, 2] = mass_center.element(0, 2) + np_mass_center_vec[0, 2] = mass_center.element(2, 2) + + return np_mass_center_vec + diff --git a/pcl/pxi/Features/MomentOfInertiaEstimation_180.pxi b/pcl/pxi/Features/MomentOfInertiaEstimation_180.pxi index d6a934e35..0c7a3c369 100644 --- a/pcl/pxi/Features/MomentOfInertiaEstimation_180.pxi +++ b/pcl/pxi/Features/MomentOfInertiaEstimation_180.pxi @@ -29,7 +29,9 @@ cdef class MomentOfInertiaEstimation: def __dealloc__(self): del self.me - # feature_extractor.compute (); + def set_InputCloud(self, PointCloud pc not None): + (self.me).setInputCloud(pc.thisptr_shared) + # feature_extractor.getMomentOfInertia (moment_of_inertia); # feature_extractor.getEccentricity (eccentricity); # feature_extractor.getAABB (min_point_AABB, max_point_AABB); @@ -75,13 +77,53 @@ cdef class MomentOfInertiaEstimation: return result1, result2 @cython.boundscheck(False) - # def get_OBB (self): - # cdef cpp.PointXYZ min_point_OBB - # cdef cpp.PointXYZ max_point_OBB - # cdef cpp.PointXYZ position_OBB - # cdef eigen3.Matrix3f rotational_matrix_OBB - # self.me.getOBB (min_point_OBB, max_point_OBB, position_OBB, rotational_matrix_OBB) + def get_OBB (self): + cdef cpp.PointXYZ min_point_OBB + cdef cpp.PointXYZ max_point_OBB + cdef cpp.PointXYZ position_OBB + cdef eigen3.Matrix3f rotational_matrix_OBB + self.me.getOBB (min_point_OBB, max_point_OBB, position_OBB, rotational_matrix_OBB) + # NG : Convert Python object # return min_point_OBB, max_point_OBB, position_OBB, rotational_matrix_OBB + cdef cnp.npy_intp n = 1 + # cdef cnp.ndarray[cnp.float32_t, ndim=4, mode="c"] result + result1 = np.empty((n, 3), dtype=np.float32) + for i in range(n): + result1[i, 0] = min_point_OBB.x + result1[i, 1] = min_point_OBB.y + result1[i, 2] = min_point_OBB.z + pcl_min_point_OBB = PointCloud(result1) + + result2 = np.empty((n, 3), dtype=np.float32) + for i in range(n): + result2[i, 0] = max_point_OBB.x + result2[i, 1] = max_point_OBB.y + result2[i, 2] = max_point_OBB.z + pcl_max_point_OBB = PointCloud(result2) + + result3 = np.empty((n, 3), dtype=np.float32) + for i in range(n): + result3[i, 0] = position_OBB.x + result3[i, 1] = position_OBB.y + result3[i, 2] = position_OBB.z + pcl_position_OBB = PointCloud(result3) + + # cdef np.ndarray[np.double_t, ndim=2] np_rotational_matrix_OBB = np.empty((3,3), dtype=np.float64) + # cdef np.ndarray[np.float32_t, ndim=2] np_rotational_matrix_OBB = np.empty((3,3), dtype=np.float32) + np_rotational_matrix_OBB = np.empty((3,3), dtype=np.float32) + # np_rotational_matrix_OBB[0,0] = rotational_matrix_OBB(0,0); np_rotational_matrix_OBB[0,1] = rotational_matrix_OBB(0,1); np_rotational_matrix_OBB[0,2] = rotational_matrix_OBB(0,2); + # np_rotational_matrix_OBB[1,0] = rotational_matrix_OBB(1,0); np_rotational_matrix_OBB[1,1] = rotational_matrix_OBB(1,1); np_rotational_matrix_OBB[1,2] = rotational_matrix_OBB(1,2); + # np_rotational_matrix_OBB[2,0] = rotational_matrix_OBB(2,0); np_rotational_matrix_OBB[2,1] = rotational_matrix_OBB(2,1); np_rotational_matrix_OBB[2,2] = rotational_matrix_OBB(2,2); + np_rotational_matrix_OBB[0, 0] = rotational_matrix_OBB.element(0, 0) + np_rotational_matrix_OBB[0, 1] = rotational_matrix_OBB.element(0, 1) + np_rotational_matrix_OBB[0, 2] = rotational_matrix_OBB.element(0, 2) + np_rotational_matrix_OBB[1, 0] = rotational_matrix_OBB.element(1, 0) + np_rotational_matrix_OBB[1, 1] = rotational_matrix_OBB.element(1, 1) + np_rotational_matrix_OBB[1, 2] = rotational_matrix_OBB.element(1, 2) + np_rotational_matrix_OBB[2, 0] = rotational_matrix_OBB.element(2, 0) + np_rotational_matrix_OBB[2, 1] = rotational_matrix_OBB.element(2, 1) + np_rotational_matrix_OBB[2, 2] = rotational_matrix_OBB.element(2, 2) + return result1, result2, result3, np_rotational_matrix_OBB def get_EigenValues (self): cdef float major_value = 0.0 @@ -90,15 +132,44 @@ cdef class MomentOfInertiaEstimation: self.me.getEigenValues (major_value, middle_value, minor_value) return major_value, middle_value, minor_value - # def get_EigenVectors (self): - # # cdef eigen3.Vector3f major_vector - # # cdef eigen3.Vector3f middle_vector - # # cdef eigen3.Vector3f minor_vector - # self.me.getEigenVectors (major_vector, middle_vector, minor_vector) - # return major_vector, middle_vector, minor_vector - - # def get_MassCenter (self): - # # cdef eigen3.Vector3f mass_center - # self.me.getMassCenter (mass_center) - # return mass_center + def get_EigenVectors (self): + cdef eigen3.Vector3f major_vector + cdef eigen3.Vector3f middle_vector + cdef eigen3.Vector3f minor_vector + self.me.getEigenVectors (major_vector, middle_vector, minor_vector) + + # cdef np.ndarray[np.float32_t, ndim=2] np_major_vec = np.empty((1,3), dtype=np.float32) + np_major_vec = np.empty((1,3), dtype=np.float32) + np_major_vec[0,0] = major_vector.element(0,0) + np_major_vec[0,1] = major_vector.element(1,1) + np_major_vec[0,2] = major_vector.element(2,2) + + # cdef np.ndarray[np.float32_t, ndim=2] np_middle_vec = np.empty((1,3), dtype=np.float32) + np_middle_vec = np.empty((1,3), dtype=np.float32) + np_middle_vec[0,0] = middle_vector.element(0,0) + np_middle_vec[0,1] = middle_vector.element(1,1) + np_middle_vec[0,2] = middle_vector.element(2,2) + + # cdef np.ndarray[np.float32_t, ndim=2] np_minor_vec = np.empty((1,3), dtype=np.float32) + np_minor_vec = np.empty((1,3), dtype=np.float32) + np_minor_vec[0,0] = minor_vector.element(0,0) + np_minor_vec[0,1] = minor_vector.element(1,1) + np_minor_vec[0,2] = minor_vector.element(2,2) + + return np_major_vec, np_middle_vec, np_minor_vec + + def get_MassCenter (self): + cdef eigen3.Vector3f mass_center + self.me.getMassCenter (mass_center) + + # cdef np.ndarray[np.float32_t, ndim=2] np_mass_center_vec = np.empty((1,3), dtype=np.float32) + np_mass_center_vec = np.empty((1,3), dtype=np.float32) + np_mass_center_vec[0, 0] = mass_center.element(0, 0) + # np_mass_center_vec[0, 1] = mass_center.element(0, 1) + np_mass_center_vec[0, 1] = mass_center.element(1, 1) + # np_mass_center_vec[0, 2] = mass_center.element(0, 2) + np_mass_center_vec[0, 2] = mass_center.element(2, 2) + + return np_mass_center_vec + diff --git a/pcl/pxi/Features/NormalEstimation.pxi b/pcl/pxi/Features/NormalEstimation.pxi index ea3b19dea..76a17234d 100644 --- a/pcl/pxi/Features/NormalEstimation.pxi +++ b/pcl/pxi/Features/NormalEstimation.pxi @@ -15,6 +15,7 @@ cdef class NormalEstimation: def __cinit__(self): self.me = new pclftr.NormalEstimation_t() + # sp_assign(self.thisptr_shared, new pclftr.NormalEstimation[cpp.PointXYZ, cpp.Normal]()) def __dealloc__(self): del self.me @@ -30,7 +31,8 @@ cdef class NormalEstimation: def compute(self): normal = PointCloud_Normal() + sp_assign(normal.thisptr_shared, new cpp.PointCloud[cpp.Normal]()) cdef cpp.PointCloud_Normal_t *cNormal = normal.thisptr() - self.me.compute (deref(cNormal)) + (self.me).compute(deref(cNormal)) return normal diff --git a/pcl/pxi/Features/NormalEstimation_172.pxi b/pcl/pxi/Features/NormalEstimation_172.pxi index a00c044ae..e76decb8c 100644 --- a/pcl/pxi/Features/NormalEstimation_172.pxi +++ b/pcl/pxi/Features/NormalEstimation_172.pxi @@ -15,6 +15,7 @@ cdef class NormalEstimation: def __cinit__(self): self.me = new pclftr.NormalEstimation_t() + # sp_assign(self.thisptr_shared, new pclftr.NormalEstimation[cpp.PointXYZ, cpp.Normal]()) def __dealloc__(self): del self.me @@ -30,7 +31,8 @@ cdef class NormalEstimation: def compute(self): normal = PointCloud_Normal() + sp_assign(normal.thisptr_shared, new cpp.PointCloud[cpp.Normal]()) cdef cpp.PointCloud_Normal_t *cNormal = normal.thisptr() - self.me.compute (deref(cNormal)) + (self.me).compute(deref(cNormal)) return normal diff --git a/pcl/pxi/Features/NormalEstimation_180.pxi b/pcl/pxi/Features/NormalEstimation_180.pxi index 6ef5cf1eb..67256d9df 100644 --- a/pcl/pxi/Features/NormalEstimation_180.pxi +++ b/pcl/pxi/Features/NormalEstimation_180.pxi @@ -15,6 +15,7 @@ cdef class NormalEstimation: def __cinit__(self): self.me = new pclftr.NormalEstimation_t() + # sp_assign(self.thisptr_shared, new pclftr.NormalEstimation[cpp.PointXYZ, cpp.Normal]()) def __dealloc__(self): del self.me @@ -29,8 +30,9 @@ cdef class NormalEstimation: self.me.setKSearch (param) def compute(self): - normal = PointCloud_Normal() - cdef cpp.PointCloud_Normal_t *cNormal = normal.thisptr() - self.me.compute (deref(cNormal)) - return normal + normals = PointCloud_Normal() + sp_assign(normals.thisptr_shared, new cpp.PointCloud[cpp.Normal]()) + cdef cpp.PointCloud_Normal_t *cNormal = normals.thisptr() + (self.me).compute(deref(cNormal)) + return normals diff --git a/pcl/pxi/Features/RangeImageBorderExtractor.pxi b/pcl/pxi/Features/RangeImageBorderExtractor.pxi index 72f76349c..e5ba2a226 100644 --- a/pcl/pxi/Features/RangeImageBorderExtractor.pxi +++ b/pcl/pxi/Features/RangeImageBorderExtractor.pxi @@ -31,7 +31,7 @@ cdef class RangeImageBorderExtractor: # def GetAnglesImageForSurfaceChangeDirections () # data = self.me.getAnglesImageForSurfaceChangeDirections () # return data - + # def Compute () # output = pcl.PointCloudOut() # self.me.compute (output) @@ -40,12 +40,13 @@ cdef class RangeImageBorderExtractor: # Parameters& getParameters () # def GetParameters () - # return self.me.getParameters () - # + # return self.me.getParameters () + + # # def HasRangeImage () # # cdef param = self.me.hasRangeImage () # return self.me.hasRangeImage () - # + # # # # def GetRangeImage() # const pcl_r_img.RangeImage @@ -55,18 +56,19 @@ cdef class RangeImageBorderExtractor: # float[] data = self.me.getBorderScoresLeft () # return data # - # def GetBorderScoresRight () + # def GetBorderScoresRight () # float[] data = self.me.getBorderScoresRight () - # return data + # return data # - # def GetBorderScoresTop () + # def GetBorderScoresTop () # float[] data = self.me.getBorderScoresTop () - # return data + # return data # # def GetBorderScoresBottom () # float[] data = self.me.getBorderScoresBottom () - # return data - + # return data + + ### diff --git a/pcl/pxi/Features/RangeImageBorderExtractor_172.pxi b/pcl/pxi/Features/RangeImageBorderExtractor_172.pxi index ea08688b5..f1ded29d6 100644 --- a/pcl/pxi/Features/RangeImageBorderExtractor_172.pxi +++ b/pcl/pxi/Features/RangeImageBorderExtractor_172.pxi @@ -31,7 +31,7 @@ cdef class RangeImageBorderExtractor: # def GetAnglesImageForSurfaceChangeDirections () # data = self.me.getAnglesImageForSurfaceChangeDirections () # return data - + # def Compute () # output = pcl.PointCloudOut() # self.me.compute (output) @@ -40,12 +40,13 @@ cdef class RangeImageBorderExtractor: # Parameters& getParameters () # def GetParameters () - # return self.me.getParameters () - # + # return self.me.getParameters () + + # # def HasRangeImage () # # cdef param = self.me.hasRangeImage () # return self.me.hasRangeImage () - # + # # # # def GetRangeImage() # const pcl_r_img.RangeImage @@ -55,18 +56,19 @@ cdef class RangeImageBorderExtractor: # float[] data = self.me.getBorderScoresLeft () # return data # - # def GetBorderScoresRight () + # def GetBorderScoresRight () # float[] data = self.me.getBorderScoresRight () - # return data + # return data # - # def GetBorderScoresTop () + # def GetBorderScoresTop () # float[] data = self.me.getBorderScoresTop () - # return data + # return data # # def GetBorderScoresBottom () # float[] data = self.me.getBorderScoresBottom () - # return data - + # return data + + ### diff --git a/pcl/pxi/Filters/ConditionAnd.pxi b/pcl/pxi/Filters/ConditionAnd.pxi index e82894a5b..94b46b9eb 100644 --- a/pcl/pxi/Filters/ConditionAnd.pxi +++ b/pcl/pxi/Filters/ConditionAnd.pxi @@ -1,4 +1,4 @@ -# -*- coding: utf-8 -*- +# -*- coding: utf-8 -*- from libcpp.vector cimport vector from libcpp cimport bool # from libcpp.string cimport string diff --git a/pcl/pxi/Filters/ConditionAnd_172.pxi b/pcl/pxi/Filters/ConditionAnd_172.pxi new file mode 100644 index 000000000..d6b06d638 --- /dev/null +++ b/pcl/pxi/Filters/ConditionAnd_172.pxi @@ -0,0 +1,48 @@ +# -*- coding: utf-8 -*- +from libcpp.vector cimport vector +from libcpp cimport bool +# from libcpp.string cimport string + +cimport pcl_defs as cpp +cimport pcl_filters_172 as pclfil + +from pcl_filters cimport CompareOp2 +from boost_shared_ptr cimport shared_ptr +from boost_shared_ptr cimport sp_assign + +# cdef class ConditionAnd(ConditionBase): +cdef class ConditionAnd: + """ + Must be constructed from the reference point cloud, which is copied, so + changed to pc are not reflected in ConditionAnd(pc). + """ + cdef pclfil.ConditionAnd_t *me + + def __cinit__(self): + self.me = new pclfil.ConditionAnd_t() + + def __dealloc__(self): + del self.me + + # def add_Comparison(self, comparison): + # self.me.addComparison(comparison.this_ptr()) + + def add_Comparison2(self, field_name, CompareOp2 compOp, double thresh): + cdef bytes fname_ascii + if isinstance(field_name, unicode): + fname_ascii = field_name.encode("ascii") + elif not isinstance(field_name, bytes): + raise TypeError("field_name should be a string, got %r" % field_name) + else: + fname_ascii = field_name + + cdef pclfil.FieldComparisonConstPtr_t fieldComp = new pclfil.FieldComparison_t(string(fname_ascii), compOp, thresh) + + # Cython 0.25.2 NG + # self.me.addComparison( fieldComp) + self.me.addComparison( fieldComp) + + # NG + # sp_assign( self.fieldCompPtr, new pclfil.FieldComparison_t(string(fname_ascii), compOp, thresh) ) + # self.me.addComparison( self.fieldCompPtr) + diff --git a/pcl/pxi/Filters/ConditionAnd_180.pxi b/pcl/pxi/Filters/ConditionAnd_180.pxi new file mode 100644 index 000000000..e08c2a81c --- /dev/null +++ b/pcl/pxi/Filters/ConditionAnd_180.pxi @@ -0,0 +1,48 @@ +# -*- coding: utf-8 -*- +from libcpp.vector cimport vector +from libcpp cimport bool +# from libcpp.string cimport string + +cimport pcl_defs as cpp +cimport pcl_filters_180 as pclfil + +from pcl_filters cimport CompareOp2 +from boost_shared_ptr cimport shared_ptr +from boost_shared_ptr cimport sp_assign + +# cdef class ConditionAnd(ConditionBase): +cdef class ConditionAnd: + """ + Must be constructed from the reference point cloud, which is copied, so + changed to pc are not reflected in ConditionAnd(pc). + """ + cdef pclfil.ConditionAnd_t *me + + def __cinit__(self): + self.me = new pclfil.ConditionAnd_t() + + def __dealloc__(self): + del self.me + + # def add_Comparison(self, comparison): + # self.me.addComparison(comparison.this_ptr()) + + def add_Comparison2(self, field_name, CompareOp2 compOp, double thresh): + cdef bytes fname_ascii + if isinstance(field_name, unicode): + fname_ascii = field_name.encode("ascii") + elif not isinstance(field_name, bytes): + raise TypeError("field_name should be a string, got %r" % field_name) + else: + fname_ascii = field_name + + cdef pclfil.FieldComparisonConstPtr_t fieldComp = new pclfil.FieldComparison_t(string(fname_ascii), compOp, thresh) + + # Cython 0.25.2 NG + # self.me.addComparison( fieldComp) + self.me.addComparison( fieldComp) + + # NG + # sp_assign( self.fieldCompPtr, new pclfil.FieldComparison_t(string(fname_ascii), compOp, thresh) ) + # self.me.addComparison( self.fieldCompPtr) + diff --git a/pcl/pxi/Filters/ConditionalRemoval.pxi b/pcl/pxi/Filters/ConditionalRemoval.pxi index 0476c27f1..ddf160da3 100644 --- a/pcl/pxi/Filters/ConditionalRemoval.pxi +++ b/pcl/pxi/Filters/ConditionalRemoval.pxi @@ -1,4 +1,4 @@ -# -*- coding: utf-8 -*- +# -*- coding: utf-8 -*- from libcpp.vector cimport vector from libcpp cimport bool diff --git a/pcl/pxi/Filters/ConditionalRemoval_172.pxi b/pcl/pxi/Filters/ConditionalRemoval_172.pxi new file mode 100644 index 000000000..316e47daa --- /dev/null +++ b/pcl/pxi/Filters/ConditionalRemoval_172.pxi @@ -0,0 +1,39 @@ +# -*- coding: utf-8 -*- +from libcpp.vector cimport vector +from libcpp cimport bool + +cimport pcl_defs as cpp +cimport pcl_filters_172 as pclfil + +cimport eigen as eigen3 + +from boost_shared_ptr cimport shared_ptr + +cdef class ConditionalRemoval: + """ + Must be constructed from the reference point cloud, which is copied, so + changed to pc are not reflected in ConditionalRemoval(pc). + """ + cdef pclfil.ConditionalRemoval_t *me + + def __cinit__(self, ConditionAnd cond): + # self.me = new pclfil.ConditionalRemoval_t(cond.me) + # direct - NG + self.me = new pclfil.ConditionalRemoval_t(cond.me) + + # def __dealloc__(self): + # # MemoryAccessError + # # del self.me + # self.me + + def set_KeepOrganized(self, flag): + self.me.setKeepOrganized(flag) + + def filter(self): + """ + Apply the filter according to the previously set parameters and return + a new pointcloud + """ + cdef PointCloud pc = PointCloud() + self.me.filter(pc.thisptr()[0]) + return pc diff --git a/pcl/pxi/Filters/ConditionalRemoval_180.pxi b/pcl/pxi/Filters/ConditionalRemoval_180.pxi new file mode 100644 index 000000000..88a5e6d2d --- /dev/null +++ b/pcl/pxi/Filters/ConditionalRemoval_180.pxi @@ -0,0 +1,39 @@ +# -*- coding: utf-8 -*- +from libcpp.vector cimport vector +from libcpp cimport bool + +cimport pcl_defs as cpp +cimport pcl_filters_180 as pclfil + +cimport eigen as eigen3 + +from boost_shared_ptr cimport shared_ptr + +cdef class ConditionalRemoval: + """ + Must be constructed from the reference point cloud, which is copied, so + changed to pc are not reflected in ConditionalRemoval(pc). + """ + cdef pclfil.ConditionalRemoval_t *me + + def __cinit__(self, ConditionAnd cond): + # self.me = new pclfil.ConditionalRemoval_t(cond.me) + # direct - NG + self.me = new pclfil.ConditionalRemoval_t(cond.me) + + # def __dealloc__(self): + # # MemoryAccessError + # # del self.me + # self.me + + def set_KeepOrganized(self, flag): + self.me.setKeepOrganized(flag) + + def filter(self): + """ + Apply the filter according to the previously set parameters and return + a new pointcloud + """ + cdef PointCloud pc = PointCloud() + self.me.filter(pc.thisptr()[0]) + return pc diff --git a/pcl/pxi/Filters/CropBox.pxi b/pcl/pxi/Filters/CropBox.pxi index 2bd3b9293..90da0d7f8 100644 --- a/pcl/pxi/Filters/CropBox.pxi +++ b/pcl/pxi/Filters/CropBox.pxi @@ -1,4 +1,4 @@ -# -*- coding: utf-8 -*- +# -*- coding: utf-8 -*- from libcpp.vector cimport vector from libcpp cimport bool diff --git a/pcl/pxi/Filters/CropBox_172.pxi b/pcl/pxi/Filters/CropBox_172.pxi index d5c568cd6..7ee25aa35 100644 --- a/pcl/pxi/Filters/CropBox_172.pxi +++ b/pcl/pxi/Filters/CropBox_172.pxi @@ -1,4 +1,4 @@ -# -*- coding: utf-8 -*- +# -*- coding: utf-8 -*- from libcpp.vector cimport vector from libcpp cimport bool diff --git a/pcl/pxi/Filters/CropBox_180.pxi b/pcl/pxi/Filters/CropBox_180.pxi index 3ec791415..ddea64c48 100644 --- a/pcl/pxi/Filters/CropBox_180.pxi +++ b/pcl/pxi/Filters/CropBox_180.pxi @@ -1,4 +1,4 @@ -# -*- coding: utf-8 -*- +# -*- coding: utf-8 -*- from libcpp.vector cimport vector from libcpp cimport bool diff --git a/pcl/pxi/Filters/FieldComparison.pxi b/pcl/pxi/Filters/FieldComparison.pxi index 371944ff6..99be2f93a 100644 --- a/pcl/pxi/Filters/FieldComparison.pxi +++ b/pcl/pxi/Filters/FieldComparison.pxi @@ -1,4 +1,4 @@ -# -*- coding: utf-8 -*- +# -*- coding: utf-8 -*- from libcpp.vector cimport vector from libcpp cimport bool from libcpp.string cimport string diff --git a/pcl/pxi/Filters/ProjectInliers_172.pxi b/pcl/pxi/Filters/ProjectInliers_172.pxi new file mode 100644 index 000000000..334e97db4 --- /dev/null +++ b/pcl/pxi/Filters/ProjectInliers_172.pxi @@ -0,0 +1,44 @@ +# -*- coding: utf-8 -*- +cimport pcl_filters_172 as pclfil +cimport pcl_segmentation_172 as pclseg +cimport pcl_defs as cpp + +cdef class ProjectInliers: + """ + ProjectInliers class for ... + """ + cdef pclfil.ProjectInliers_t *me + def __cinit__(self): + self.me = new pclfil.ProjectInliers_t() + def __dealloc__(self): + del self.me + + def filter(self): + """ + Apply the filter according to the previously set parameters and return + a new pointcloud + """ + cdef PointCloud pc = PointCloud() + self.me.filter(pc.thisptr()[0]) + return pc + + # def set_Model_Coefficients(self): + # cdef cpp.ModelCoefficients *coeffs + # coeffs.values.resize(4) + # coeffs.values[0] = 0 + # coeffs.values[1] = 0 + # coeffs.values[2] = 1.0 + # coeffs.values[3] = 0 + # self.me.setModelCoefficients(coeffs) + # + # def get_Model_Coefficients(self): + # self.me.getModelCoefficients() + def set_model_type(self, pclseg.SacModel m): + self.me.setModelType(m) + def get_model_type(self): + return self.me.getModelType() + def set_copy_all_data(self, bool m): + self.me.setCopyAllData (m) + def get_copy_all_data(self): + return self.me.getCopyAllData () + diff --git a/pcl/pxi/Filters/ProjectInliers_180.pxi b/pcl/pxi/Filters/ProjectInliers_180.pxi new file mode 100644 index 000000000..57202206f --- /dev/null +++ b/pcl/pxi/Filters/ProjectInliers_180.pxi @@ -0,0 +1,44 @@ +# -*- coding: utf-8 -*- +cimport pcl_filters_180 as pclfil +cimport pcl_segmentation_180 as pclseg +cimport pcl_defs as cpp + +cdef class ProjectInliers: + """ + ProjectInliers class for ... + """ + cdef pclfil.ProjectInliers_t *me + def __cinit__(self): + self.me = new pclfil.ProjectInliers_t() + def __dealloc__(self): + del self.me + + def filter(self): + """ + Apply the filter according to the previously set parameters and return + a new pointcloud + """ + cdef PointCloud pc = PointCloud() + self.me.filter(pc.thisptr()[0]) + return pc + + # def set_Model_Coefficients(self): + # cdef cpp.ModelCoefficients *coeffs + # coeffs.values.resize(4) + # coeffs.values[0] = 0 + # coeffs.values[1] = 0 + # coeffs.values[2] = 1.0 + # coeffs.values[3] = 0 + # self.me.setModelCoefficients(coeffs) + # + # def get_Model_Coefficients(self): + # self.me.getModelCoefficients() + def set_model_type(self, pclseg.SacModel m): + self.me.setModelType(m) + def get_model_type(self): + return self.me.getModelType() + def set_copy_all_data(self, bool m): + self.me.setCopyAllData (m) + def get_copy_all_data(self): + return self.me.getCopyAllData () + diff --git a/pcl/pxi/Grabber/ONIGrabber.pxi b/pcl/pxi/Grabber/ONIGrabber.pxi index d1ac93f35..392f7fd75 100644 --- a/pcl/pxi/Grabber/ONIGrabber.pxi +++ b/pcl/pxi/Grabber/ONIGrabber.pxi @@ -1,4 +1,4 @@ -# -*- coding: utf-8 -*- +# -*- coding: utf-8 -*- # http://ros-robot.blogspot.jp/2011/08/point-cloud-librarykinect.html from libcpp.vector cimport vector from libcpp cimport bool diff --git a/pcl/pxi/Grabber/OpenNIGrabber.pxi b/pcl/pxi/Grabber/OpenNIGrabber.pxi index 5368d6c94..ef2785642 100644 --- a/pcl/pxi/Grabber/OpenNIGrabber.pxi +++ b/pcl/pxi/Grabber/OpenNIGrabber.pxi @@ -1,4 +1,4 @@ -# -*- coding: utf-8 -*- +# -*- coding: utf-8 -*- # http://ros-robot.blogspot.jp/2011/08/point-cloud-librarykinect.html from libcpp.vector cimport vector from libcpp cimport bool diff --git a/pcl/pxi/Grabber/SimpleNIGrabber.pxi b/pcl/pxi/Grabber/SimpleNIGrabber.pxi index 11d6f17af..767221acf 100644 --- a/pcl/pxi/Grabber/SimpleNIGrabber.pxi +++ b/pcl/pxi/Grabber/SimpleNIGrabber.pxi @@ -1,4 +1,4 @@ - + # -*- coding: utf-8 -*- # # http://ros-robot.blogspot.jp/2011/08/point-cloud-librarykinect.html diff --git a/pcl/pxi/KeyPoint/HarrisKeypoint3D.pxi b/pcl/pxi/KeyPoint/HarrisKeypoint3D.pxi index c0bd892a9..a02e7d912 100644 --- a/pcl/pxi/KeyPoint/HarrisKeypoint3D.pxi +++ b/pcl/pxi/KeyPoint/HarrisKeypoint3D.pxi @@ -28,8 +28,6 @@ cdef class HarrisKeypoint3D: def __cinit__(self, PointCloud pc not None): self.me = new keypt.HarrisKeypoint3D_t() self.me.setInputCloud(pc.thisptr_shared) - # sp_assign(self.thisptr_shared, new keypt.HarrisKeypoint3D_t()) - # self.thisptr().setInputCloud(pc.thisptr_shared) # pass def __dealloc__(self): @@ -45,14 +43,9 @@ cdef class HarrisKeypoint3D: self.me.setRadiusSearch (param) def compute(self): - # compute function based KeyPoint class - # self.thisptr().compute (deref(cPointCloudPointXYZI.makeShared().get())) - ### - # OK : data 0 keypoints = PointCloud_PointXYZI() + sp_assign(keypoints.thisptr_shared, new cpp.PointCloud[cpp.PointXYZI]()) cdef cpp.PointCloud_PointXYZI_t *ckeypoints = keypoints.thisptr() - self.me.compute ( deref(ckeypoints.makeShared().get())) - # self.me.compute (ckeypoints.makeShared().get()) - print('keypoints.count : ' + str(keypoints.size)) + self.me.compute ( deref(ckeypoints)) return keypoints diff --git a/pcl/pxi/KeyPoint/HarrisKeypoint3D_172.pxi b/pcl/pxi/KeyPoint/HarrisKeypoint3D_172.pxi index e72796ef5..864f0f2e7 100644 --- a/pcl/pxi/KeyPoint/HarrisKeypoint3D_172.pxi +++ b/pcl/pxi/KeyPoint/HarrisKeypoint3D_172.pxi @@ -43,16 +43,9 @@ cdef class HarrisKeypoint3D: self.me.setRadiusSearch (param) def compute(self): - # compute function based KeyPoint class - # self.thisptr().compute (deref(cPointCloudPointXYZI.makeShared().get())) - ### - # OK : data 0 keypoints = PointCloud_PointXYZI() + sp_assign(keypoints.thisptr_shared, new cpp.PointCloud[cpp.PointXYZI]()) cdef cpp.PointCloud_PointXYZI_t *ckeypoints = keypoints.thisptr() - # self.me.compute ( deref(ckeypoints.makeShared().get())) - # pcl.1.7.2 - self.me.compute ( deref(ckeypoints.makeShared().get())) - # self.me.compute (ckeypoints.makeShared().get()) - print('keypoints.count : ' + str(keypoints.size)) + self.me.compute ( deref(ckeypoints)) return keypoints diff --git a/pcl/pxi/KeyPoint/HarrisKeypoint3D_180.pxi b/pcl/pxi/KeyPoint/HarrisKeypoint3D_180.pxi index bfec624df..8fdaf5f6f 100644 --- a/pcl/pxi/KeyPoint/HarrisKeypoint3D_180.pxi +++ b/pcl/pxi/KeyPoint/HarrisKeypoint3D_180.pxi @@ -43,16 +43,9 @@ cdef class HarrisKeypoint3D: self.me.setRadiusSearch (param) def compute(self): - # compute function based KeyPoint class - # self.thisptr().compute (deref(cPointCloudPointXYZI.makeShared().get())) - ### - # OK : data 0 keypoints = PointCloud_PointXYZI() + sp_assign(keypoints.thisptr_shared, new cpp.PointCloud[cpp.PointXYZI]()) cdef cpp.PointCloud_PointXYZI_t *ckeypoints = keypoints.thisptr() - # self.me.compute ( deref(ckeypoints.makeShared().get())) - # pcl.1.7.2 - self.me.compute ( deref(ckeypoints.makeShared().get())) - # self.me.compute (ckeypoints.makeShared().get()) - print('keypoints.count : ' + str(keypoints.size)) + self.me.compute ( deref(ckeypoints)) return keypoints diff --git a/pcl/pxi/Octree/Octree2BufBase.pxi b/pcl/pxi/Octree/Octree2BufBase.pxi index 35c749671..e2fd1e92c 100644 --- a/pcl/pxi/Octree/Octree2BufBase.pxi +++ b/pcl/pxi/Octree/Octree2BufBase.pxi @@ -31,17 +31,18 @@ cdef class Octree2BufBase: def set_TreeDepth (self, unsigned int depth_arg): self.me.setTreeDepth (depth_arg) - def get_TreeDepth (self) - self.me.getTreeDepth () - - def AddData (self, unsigned int idxX_arg, unsigned int idxY_arg, unsigned int idxZ_arg, const DataT& data_arg): + def get_TreeDepth (self) + self.me.getTreeDepth () + + + def AddData (self, unsigned int idxX_arg, unsigned int idxY_arg, unsigned int idxZ_arg, const DataT& data_arg): self.me.addData (idxX_arg, idxY_arg, idxZ_arg, const DataT& data_arg) # return bool - def get_Data (self, unsigned int idxX_arg, unsigned int idxY_arg, unsigned int idxZ_arg, const DataT& data_arg): + def get_Data (self, unsigned int idxX_arg, unsigned int idxY_arg, unsigned int idxZ_arg, const DataT& data_arg): return self.me.getData (idxX_arg, idxY_arg, idxZ_arg, DataT& data_arg) - # return bool + # return bool def existLeaf (self, unsigned int idxX_arg, unsigned int idxY_arg, unsigned int idxZ_arg): return self.me.existLeaf (unsigned int idxX_arg, unsigned int idxY_arg, unsigned int idxZ_arg) const @@ -70,16 +71,16 @@ cdef class Octree2BufBase: # self.me.serializeTree (binaryTreeOut_arg, doXOREncoding_arg) # # def serializeTree (vector[char]& binaryTreeOut_arg, vector[DataT]& dataVector_arg, bool doXOREncoding_arg) -# self.me.serializeTree (binaryTreeOut_arg, dataVector_arg, doXOREncoding_arg) +# self.me.serializeTree (binaryTreeOut_arg, dataVector_arg, doXOREncoding_arg) # # def serializeLeafs (vector[DataT]& dataVector_arg) -# self.me.serializeLeafs (dataVector_arg) +# self.me.serializeLeafs (dataVector_arg) # # def serializeNewLeafs (vector[DataT]& dataVector_arg, const int minPointsPerLeaf_arg) # self.me.serializeNewLeafs (dataVector_arg, minPointsPerLeaf_arg) # # def deserializeTree (vector[char]& binaryTreeIn_arg, bool doXORDecoding_arg) -# self.me.deserializeTree (binaryTreeIn_arg, doXORDecoding_arg) +# self.me.deserializeTree (binaryTreeIn_arg, doXORDecoding_arg) # # def deserializeTree (vector[char]& binaryTreeIn_arg, vector[DataT]& dataVector_arg, bool doXORDecoding_arg) # self.me.deserializeTree (binaryTreeIn_arg, dataVector_arg, doXORDecoding_arg) diff --git a/pcl/pxi/PointCloud_Normal.pxi b/pcl/pxi/PointCloud_Normal.pxi index ee73c7969..010f89a5d 100644 --- a/pcl/pxi/PointCloud_Normal.pxi +++ b/pcl/pxi/PointCloud_Normal.pxi @@ -122,7 +122,7 @@ cdef class PointCloud_Normal: def to_list(self): """ - Return this object as a list of 3-tuples + Return this object as a list of 4-tuples """ return self.to_array().tolist() @@ -134,7 +134,7 @@ cdef class PointCloud_Normal: def get_point(self, cnp.npy_intp row, cnp.npy_intp col): """ - Return a point (3-tuple) at the given row/column + Return a point (4-tuple) at the given row/column """ cdef cpp.Normal *p = idx.getptr_at2(self.thisptr(), row, col) return p.normal_x, p.normal_y, p.normal_z, p.curvature diff --git a/pcl/pxi/PointCloud_PointXYZ.pxi b/pcl/pxi/PointCloud_PointXYZ.pxi index d008a6ac7..d13f1db15 100644 --- a/pcl/pxi/PointCloud_PointXYZ.pxi +++ b/pcl/pxi/PointCloud_PointXYZ.pxi @@ -28,8 +28,6 @@ cdef extern from "minipcl.h": void mpcl_compute_normals(cpp.PointCloud_t, int ksearch, double searchRadius, cpp.PointCloud_Normal_t) except + - void mpcl_sacnormal_set_axis(pclseg.SACSegmentationNormal_t, - double ax, double ay, double az) except + void mpcl_extract(cpp.PointCloudPtr_t, cpp.PointCloud_t *, cpp.PointIndices_t *, bool) except + ## void mpcl_extract_HarrisKeypoint3D(cpp.PointCloudPtr_t, cpp.PointCloud_PointXYZ *) except + @@ -518,9 +516,6 @@ cdef class PointCloud: def make_VFHEstimation(self): vfhEstimation = VFHEstimation() - normalEstimation = self.make_NormalEstimation() - cloud_normals = normalEstimation.Compute() - # features cdef pclftr.VFHEstimation_t *cVFHEstimation = vfhEstimation.me cVFHEstimation.setInputCloud( self.thisptr_shared) return vfhEstimation diff --git a/pcl/pxi/PointCloud_PointXYZI_180.pxi b/pcl/pxi/PointCloud_PointXYZI_180.pxi index e39f54bcd..1d14eb8ae 100644 --- a/pcl/pxi/PointCloud_PointXYZI_180.pxi +++ b/pcl/pxi/PointCloud_PointXYZI_180.pxi @@ -43,7 +43,7 @@ _strides_xyzi_4[1] = ( &(idx.getptr(p_xyzi_4, 0).y) _pc_xyzi_tmp4 = None cdef class PointCloud_PointXYZI: - """Represents a cloud of points in 3-d space. + """Represents a cloud of points in 4-d space. A point cloud can be initialized from either a NumPy ndarray of shape (n_points, 4), from a list of triples, or from an integer n to create an @@ -191,7 +191,7 @@ cdef class PointCloud_PointXYZI: def to_list(self): """ - Return this object as a list of 3-tuples + Return this object as a list of 4-tuples """ return self.to_array().tolist() @@ -203,7 +203,7 @@ cdef class PointCloud_PointXYZI: def get_point(self, cnp.npy_intp row, cnp.npy_intp col): """ - Return a point (3-tuple) at the given row/column + Return a point (4-tuple) at the given row/column """ cdef cpp.PointXYZI *p = idx.getptr_at2(self.thisptr(), row, col) return p.x, p.y, p.z, p.intensity diff --git a/pcl/pxi/PointCloud_PointXYZRGB.pxi b/pcl/pxi/PointCloud_PointXYZRGB.pxi index 173415e03..879ff7d26 100644 --- a/pcl/pxi/PointCloud_PointXYZRGB.pxi +++ b/pcl/pxi/PointCloud_PointXYZRGB.pxi @@ -25,8 +25,6 @@ cdef extern from "minipcl.h": void mpcl_compute_normals_PointXYZRGB(cpp.PointCloud_PointXYZRGB_t, int ksearch, double searchRadius, cpp.PointCloud_Normal_t) except + - void mpcl_sacnormal_set_axis_PointXYZRGB(pclseg.SACSegmentationNormal_PointXYZRGB_t, - double ax, double ay, double az) except + void mpcl_extract_PointXYZRGB(cpp.PointCloud_PointXYZRGB_Ptr_t, cpp.PointCloud_PointXYZRGB_t *, cpp.PointIndices_t *, bool) except + diff --git a/pcl/pxi/PointCloud_PointXYZRGBA.pxi b/pcl/pxi/PointCloud_PointXYZRGBA.pxi index 02fa6d44a..4bff8a206 100644 --- a/pcl/pxi/PointCloud_PointXYZRGBA.pxi +++ b/pcl/pxi/PointCloud_PointXYZRGBA.pxi @@ -25,8 +25,6 @@ cdef extern from "minipcl.h": void mpcl_compute_normals_PointXYZRGBA(cpp.PointCloud_PointXYZRGBA_t, int ksearch, double searchRadius, cpp.PointCloud_Normal_t) except + - void mpcl_sacnormal_set_axis_PointXYZRGBA(pclseg.SACSegmentation_PointXYZRGBA_Normal_t, - double ax, double ay, double az) except + void mpcl_extract_PointXYZRGBA(cpp.PointCloud_PointXYZRGBA_Ptr_t, cpp.PointCloud_PointXYZRGBA_t *, cpp.PointIndices_t *, bool) except + diff --git a/pcl/pxi/PointCloud_PointXYZRGB_180.pxi b/pcl/pxi/PointCloud_PointXYZRGB_180.pxi index de0a0e584..75c408f1b 100644 --- a/pcl/pxi/PointCloud_PointXYZRGB_180.pxi +++ b/pcl/pxi/PointCloud_PointXYZRGB_180.pxi @@ -188,7 +188,7 @@ cdef class PointCloud_PointXYZRGB: def to_list(self): """ - Return this object as a list of 3-tuples + Return this object as a list of 4-tuples """ return self.to_array().tolist() diff --git a/pcl/pxi/PointCloud_PointXYZ_172.pxi b/pcl/pxi/PointCloud_PointXYZ_172.pxi index 76d17d1a6..12abd7509 100644 --- a/pcl/pxi/PointCloud_PointXYZ_172.pxi +++ b/pcl/pxi/PointCloud_PointXYZ_172.pxi @@ -27,8 +27,6 @@ cdef extern from "minipcl.h": void mpcl_compute_normals(cpp.PointCloud_t, int ksearch, double searchRadius, cpp.PointCloud_Normal_t) except + - void mpcl_sacnormal_set_axis(pclseg.SACSegmentationNormal_t, - double ax, double ay, double az) except + void mpcl_extract(cpp.PointCloudPtr_t, cpp.PointCloud_t *, cpp.PointIndices_t *, bool) except + ## void mpcl_extract_HarrisKeypoint3D(cpp.PointCloudPtr_t, cpp.PointCloud_PointXYZ *) except + @@ -506,9 +504,6 @@ cdef class PointCloud: def make_VFHEstimation(self): vfhEstimation = VFHEstimation() - normalEstimation = self.make_NormalEstimation() - cloud_normals = normalEstimation.Compute() - # features cdef pclftr.VFHEstimation_t *cVFHEstimation = vfhEstimation.me cVFHEstimation.setInputCloud( self.thisptr_shared) return vfhEstimation @@ -542,11 +537,11 @@ cdef class PointCloud: cIterativeClosestPoint.setInputCloud( self.thisptr_shared) return iterativeClosestPoint - # def make_MomentOfInertiaEstimation(self): - # momentofinertiaestimation = MomentOfInertiaEstimation(self) - # cdef pclftr.MomentOfInertiaEstimation_t *cMomentOfInertiaEstimation = momentofinertiaestimation.me - # cMomentOfInertiaEstimation.setInputCloud( self.thisptr_shared) - # return momentofinertiaestimation + def make_MomentOfInertiaEstimation(self): + momentofinertiaestimation = MomentOfInertiaEstimation(self) + cdef pclftr.MomentOfInertiaEstimation_t *cMomentOfInertiaEstimation = momentofinertiaestimation.me + cMomentOfInertiaEstimation.setInputCloud( self.thisptr_shared) + return momentofinertiaestimation # registration - icp? # def make_IterativeClosestPoint(): diff --git a/pcl/pxi/PointCloud_PointXYZ_180.pxi b/pcl/pxi/PointCloud_PointXYZ_180.pxi index 1aff162b4..7956c5cc4 100644 --- a/pcl/pxi/PointCloud_PointXYZ_180.pxi +++ b/pcl/pxi/PointCloud_PointXYZ_180.pxi @@ -27,8 +27,6 @@ cdef extern from "minipcl.h": void mpcl_compute_normals(cpp.PointCloud_t, int ksearch, double searchRadius, cpp.PointCloud_Normal_t) except + - void mpcl_sacnormal_set_axis(pclseg.SACSegmentationNormal_t, - double ax, double ay, double az) except + void mpcl_extract(cpp.PointCloudPtr_t, cpp.PointCloud_t *, cpp.PointIndices_t *, bool) except + ## void mpcl_extract_HarrisKeypoint3D(cpp.PointCloudPtr_t, cpp.PointCloud_PointXYZ *) except + @@ -506,9 +504,6 @@ cdef class PointCloud: def make_VFHEstimation(self): vfhEstimation = VFHEstimation() - normalEstimation = self.make_NormalEstimation() - cloud_normals = normalEstimation.Compute() - # features cdef pclftr.VFHEstimation_t *cVFHEstimation = vfhEstimation.me cVFHEstimation.setInputCloud( self.thisptr_shared) return vfhEstimation diff --git a/pcl/pxi/PointCloud_ReferenceFrame.pxi b/pcl/pxi/PointCloud_ReferenceFrame.pxi index 96d2afc27..7bc2cb4b5 100644 --- a/pcl/pxi/PointCloud_ReferenceFrame.pxi +++ b/pcl/pxi/PointCloud_ReferenceFrame.pxi @@ -27,8 +27,6 @@ cdef extern from "minipcl.h": void mpcl_compute_normals(cpp.PointCloud_t, int ksearch, double searchRadius, cpp.PointCloud_Normal_t) except + - void mpcl_sacnormal_set_axis(pclseg.SACSegmentationNormal_t, - double ax, double ay, double az) except + void mpcl_extract(cpp.PointCloudPtr_t, cpp.PointCloud_t *, cpp.PointIndices_t *, bool) except + ## void mpcl_extract_HarrisKeypoint3D(cpp.PointCloudPtr_t, cpp.PointCloud_ReferenceFrame *) except + diff --git a/pcl/pxi/PointCloud_SensorPoint.pxi b/pcl/pxi/PointCloud_SensorPoint.pxi index 9628636ea..e26fca621 100644 --- a/pcl/pxi/PointCloud_SensorPoint.pxi +++ b/pcl/pxi/PointCloud_SensorPoint.pxi @@ -27,8 +27,6 @@ cdef extern from "minipcl.h": void mpcl_compute_normals(cpp.PointCloud_t, int ksearch, double searchRadius, cpp.PointCloud_Normal_t) except + - void mpcl_sacnormal_set_axis(pclseg.SACSegmentationNormal_t, - double ax, double ay, double az) except + void mpcl_extract(cpp.PointCloudPtr_t, cpp.PointCloud_t *, cpp.PointIndices_t *, bool) except + ## void mpcl_extract_HarrisKeypoint3D(cpp.PointCloudPtr_t, cpp.PointCloud_PointXYZ *) except + @@ -514,9 +512,6 @@ cdef class PointCloud2: def make_VFHEstimation(self): vfhEstimation = VFHEstimation() - normalEstimation = self.make_NormalEstimation() - cloud_normals = normalEstimation.Compute() - # features cdef pclftr.VFHEstimation_t *cVFHEstimation = vfhEstimation.me cVFHEstimation.setInputCloud( self.thisptr_shared) return vfhEstimation diff --git a/pcl/pxi/Recognition/AddList.txt b/pcl/pxi/Recognition/AddList.txt new file mode 100644 index 000000000..e69de29bb diff --git a/pcl/pxi/SampleConsensus/RandomSampleConsensus.pxi b/pcl/pxi/SampleConsensus/RandomSampleConsensus.pxi index 4697e7278..3bd46a33c 100644 --- a/pcl/pxi/SampleConsensus/RandomSampleConsensus.pxi +++ b/pcl/pxi/SampleConsensus/RandomSampleConsensus.pxi @@ -7,50 +7,51 @@ cimport pcl_sample_consensus as pcl_sac cdef class RandomSampleConsensus: """ + represents an implementation of the RANSAC (RAndom SAmple Consensus) algorithm. """ cdef pcl_sac.RandomSampleConsensus_t *me - # SetNG - def __cinit__(self, SampleConsensusModel model): - self.me = new pcl_sac.RandomSampleConsensus_t( model.thisptr_shared) - pass - # SetNG - def __cinit__(self, SampleConsensusModelPlane model): - self.me = new pcl_sac.RandomSampleConsensus_t( model.thisptr_shared) - pass + # build error + def __cinit__(self, model=None): + cdef SampleConsensusModel tmpModel + cdef SampleConsensusModelCylinder tmpModelCylinder + cdef SampleConsensusModelSphere tmpModelSphere + cdef SampleConsensusModelLine tmpModelLine + cdef SampleConsensusModelPlane tmpModelPlane + cdef SampleConsensusModelRegistration tmpModelRegistration + cdef SampleConsensusModelStick tmpModelStick - def __cinit__(self, SampleConsensusModelSphere model): - self.me = new pcl_sac.RandomSampleConsensus_t( model.thisptr_shared) + if model is None: + return + elif isinstance(model, SampleConsensusModel): + tmpModel = model + # tmpModel.thisptr()[0] = model.thisptr()[0] + self.me = new pcl_sac.RandomSampleConsensus_t( tmpModel.thisptr_shared) + elif isinstance(model, SampleConsensusModelCylinder): + tmpModelCylinder = model + # tmpModelCylinder.thisptr()[0] = model.thisptr()[0] + self.me = new pcl_sac.RandomSampleConsensus_t( tmpModelCylinder.thisptr_shared) + elif isinstance(model, SampleConsensusModelLine): + tmpModelLine = model + self.me = new pcl_sac.RandomSampleConsensus_t( tmpModelLine.thisptr_shared) + elif isinstance(model, SampleConsensusModelPlane): + tmpModelPlane = model + self.me = new pcl_sac.RandomSampleConsensus_t( tmpModelPlane.thisptr_shared) + elif isinstance(model, SampleConsensusModelRegistration): + tmpModelRegistration = model + self.me = new pcl_sac.RandomSampleConsensus_t( tmpModelRegistration.thisptr_shared) + elif isinstance(model, SampleConsensusModelSphere): + tmpModelSphere = model + self.me = new pcl_sac.RandomSampleConsensus_t( tmpModelSphere.thisptr_shared) + elif isinstance(model, SampleConsensusModelStick): + tmpModelStick = model + self.me = new pcl_sac.RandomSampleConsensus_t( tmpModelStick.thisptr_shared) + else: + raise TypeError("Can't initialize a RandomSampleConsensus from a %s" + % type(model)) pass - # build error - # def __cinit__(self, model=None): - # if model is None: - # return - # elif isinstance(model, SampleConsensusModel): - # self.me = new pcl_sac.RandomSampleConsensus_t( model.thisptr_shared) - # elif isinstance(model, SampleConsensusModelPlane): - # self.me = new pcl_sac.RandomSampleConsensus_t( model.thisptr_shared) - # elif isinstance(model, SampleConsensusModelSphere): - # self.me = new pcl_sac.RandomSampleConsensus_t( model.thisptr_shared) - # else: - # raise TypeError("Can't initialize a RandomSampleConsensus from a %s" - # % type(model)) - # pass - - # build error - # def __init__(self, model=None): - # if model is None: - # return - # elif isinstance(model, type(SampleConsensusModelPlane)): - # self.me = new pcl_sac.RandomSampleConsensus_t( model.thisptr_shared) - # elif isinstance(model, type(SampleConsensusModelSphere)): - # self.me = new pcl_sac.RandomSampleConsensus_t( model.thisptr_shared) - # else: - # raise TypeError("Can't initialize a RandomSampleConsensus from a %s" - # % type(model)) - # pass def __dealloc__(self): del self.me diff --git a/pcl/pxi/SampleConsensus/SampleConsensusModel.pxi b/pcl/pxi/SampleConsensus/SampleConsensusModel.pxi index 0af202047..7a9ee9599 100644 --- a/pcl/pxi/SampleConsensus/SampleConsensusModel.pxi +++ b/pcl/pxi/SampleConsensus/SampleConsensusModel.pxi @@ -6,6 +6,7 @@ from boost_shared_ptr cimport sp_assign cdef class SampleConsensusModel: """ + represents the base model class. """ # cdef pcl_sac.SampleConsensusModel_t *me diff --git a/pcl/pxi/SampleConsensus/SampleConsensusModelCylinder.pxi b/pcl/pxi/SampleConsensus/SampleConsensusModelCylinder.pxi index 055b4ae94..ba039e75c 100644 --- a/pcl/pxi/SampleConsensus/SampleConsensusModelCylinder.pxi +++ b/pcl/pxi/SampleConsensus/SampleConsensusModelCylinder.pxi @@ -4,6 +4,7 @@ cimport pcl_sample_consensus as pcl_sac cdef class SampleConsensusModelCylinder: """ + defines a model for 3D cylinder segmentation class. """ def __cinit__(self, PointCloud pc not None): diff --git a/pcl/pxi/SampleConsensus/SampleConsensusModelLine.pxi b/pcl/pxi/SampleConsensus/SampleConsensusModelLine.pxi index b21e2d979..eca52649f 100644 --- a/pcl/pxi/SampleConsensus/SampleConsensusModelLine.pxi +++ b/pcl/pxi/SampleConsensus/SampleConsensusModelLine.pxi @@ -4,6 +4,7 @@ cimport pcl_sample_consensus as pcl_sac cdef class SampleConsensusModelLine: """ + defines a model for 3D line segmentation class. """ def __cinit__(self, PointCloud pc not None): diff --git a/pcl/pxi/SampleConsensus/SampleConsensusModelPlane.pxi b/pcl/pxi/SampleConsensus/SampleConsensusModelPlane.pxi index dd98ae94b..c142541d8 100644 --- a/pcl/pxi/SampleConsensus/SampleConsensusModelPlane.pxi +++ b/pcl/pxi/SampleConsensus/SampleConsensusModelPlane.pxi @@ -4,6 +4,7 @@ cimport pcl_sample_consensus as pcl_sac cdef class SampleConsensusModelPlane: """ + defines a model for 3D plane segmentation class. """ # cdef pcl_sac.SampleConsensusModelPlane_t *me diff --git a/pcl/pxi/SampleConsensus/SampleConsensusModelRegistration.pxi b/pcl/pxi/SampleConsensus/SampleConsensusModelRegistration.pxi index 889040a26..fc87e6008 100644 --- a/pcl/pxi/SampleConsensus/SampleConsensusModelRegistration.pxi +++ b/pcl/pxi/SampleConsensus/SampleConsensusModelRegistration.pxi @@ -4,6 +4,7 @@ cimport pcl_sample_consensus as pcl_sac cdef class SampleConsensusModelRegistration: """ + defines a model for Point-To-Point registration outlier rejection class. """ def __cinit__(self, PointCloud pc not None): diff --git a/pcl/pxi/SampleConsensus/SampleConsensusModelSphere.pxi b/pcl/pxi/SampleConsensus/SampleConsensusModelSphere.pxi index 9807654cb..a26a73689 100644 --- a/pcl/pxi/SampleConsensus/SampleConsensusModelSphere.pxi +++ b/pcl/pxi/SampleConsensus/SampleConsensusModelSphere.pxi @@ -6,14 +6,11 @@ from boost_shared_ptr cimport sp_assign cdef class SampleConsensusModelSphere: """ + define a model for 3D sphere segmentation class. """ # cdef pcl_sac.SampleConsensusModelSphere_t *me def __cinit__(self, PointCloud pc not None): - # NG - # self.me = new pcl_sac.SampleConsensusModelSphere_t() - # self.me = new pcl_sac.SampleConsensusModelSphere_t(pc.thisptr_shared) - # shared_ptr # NG # sp_assign(self.thisptr_shared, new pcl_sac.SampleConsensusModelSphere_t(pc.thisptr_shared)) sp_assign(self.thisptr_shared, new pcl_sac.SampleConsensusModelSphere[cpp.PointXYZ](pc.thisptr_shared)) diff --git a/pcl/pxi/SampleConsensus/SampleConsensusModelStick.pxi b/pcl/pxi/SampleConsensus/SampleConsensusModelStick.pxi index 5143cc9c5..574fd1e2b 100644 --- a/pcl/pxi/SampleConsensus/SampleConsensusModelStick.pxi +++ b/pcl/pxi/SampleConsensus/SampleConsensusModelStick.pxi @@ -4,6 +4,7 @@ cimport pcl_sample_consensus as pcl_sac cdef class SampleConsensusModelStick: """ + define a model for 3D stick segmentation class. """ def __cinit__(self, PointCloud pc not None): diff --git a/pcl/pxi/Segmentation/EuclideanClusterExtraction_172.pxi b/pcl/pxi/Segmentation/EuclideanClusterExtraction_172.pxi new file mode 100644 index 000000000..3a7f137b9 --- /dev/null +++ b/pcl/pxi/Segmentation/EuclideanClusterExtraction_172.pxi @@ -0,0 +1,71 @@ +# -*- coding: utf-8 -*- +cimport _pcl +cimport pcl_segmentation_172 as pclseg +cimport pcl_defs as cpp +from libcpp.vector cimport vector + +cdef class EuclideanClusterExtraction: + """ + Segmentation class for EuclideanClusterExtraction + """ + cdef pclseg.EuclideanClusterExtraction_t *me + def __cinit__(self): + self.me = new pclseg.EuclideanClusterExtraction_t() + def __dealloc__(self): + del self.me + + def set_ClusterTolerance(self, double b): + self.me.setClusterTolerance(b) + + def set_MinClusterSize(self, int min): + self.me.setMinClusterSize(min) + + def set_MaxClusterSize(self, int max): + self.me.setMaxClusterSize(max) + + def set_SearchMethod(self, _pcl.KdTree kdtree): + self.me.setSearchMethod(kdtree.thisptr_shared) + + # def set_Search_Method(self, _pcl.KdTreeFLANN kdtree): + # # self.me.setSearchMethod(kdtree.thisptr()) + # self.me.setSearchMethod(kdtree.thisptr_shared) + + # def set_ + # self.me.setInputCloud (cloud_filtered) + def Extract(self): + cdef vector[cpp.PointIndices] inds + self.me.extract (inds) + # NG(not use Python) + # return inds + # return 2-dimension Array? + # return [inds[0].indices[i] for i in range(inds[0].indices.size())] + cdef vector[vector[int]] result + cdef vector[int] dim + + # for j, ind in enumerate(inds): + # for ind in inds.iterator: + # for i in range(ind): + # dim.push_back(ind.indices[i]) + # result.push_back(dim) + # return result + + # use Iterator + # http://cython.readthedocs.io/en/latest/src/userguide/wrapping_CPlusPlus.html + # http://stackoverflow.com/questions/29200592/how-to-iterate-throught-c-sets-in-cython + # itertools? + # http://qiita.com/tomotaka_ito/items/35f3eb108f587022fa09 + # https://docs.python.org/2/library/itertools.html + # set numpy? + # http://kesin.hatenablog.com/entry/20120314/1331689014 + cdef vector[cpp.PointIndices].iterator it = inds.begin() + while it != inds.end(): + idx = deref(it) + # for i in range(it.indices.size()): + for i in range(idx.indices.size()): + dim.push_back(idx.indices[i]) + result.push_back(dim) + inc(it) + dim.clear() + + return result + diff --git a/pcl/pxi/Segmentation/EuclideanClusterExtraction_180.pxi b/pcl/pxi/Segmentation/EuclideanClusterExtraction_180.pxi new file mode 100644 index 000000000..10da30b84 --- /dev/null +++ b/pcl/pxi/Segmentation/EuclideanClusterExtraction_180.pxi @@ -0,0 +1,71 @@ +# -*- coding: utf-8 -*- +cimport _pcl +cimport pcl_segmentation_180 as pclseg +cimport pcl_defs as cpp +from libcpp.vector cimport vector + +cdef class EuclideanClusterExtraction: + """ + Segmentation class for EuclideanClusterExtraction + """ + cdef pclseg.EuclideanClusterExtraction_t *me + def __cinit__(self): + self.me = new pclseg.EuclideanClusterExtraction_t() + def __dealloc__(self): + del self.me + + def set_ClusterTolerance(self, double b): + self.me.setClusterTolerance(b) + + def set_MinClusterSize(self, int min): + self.me.setMinClusterSize(min) + + def set_MaxClusterSize(self, int max): + self.me.setMaxClusterSize(max) + + def set_SearchMethod(self, _pcl.KdTree kdtree): + self.me.setSearchMethod(kdtree.thisptr_shared) + + # def set_Search_Method(self, _pcl.KdTreeFLANN kdtree): + # # self.me.setSearchMethod(kdtree.thisptr()) + # self.me.setSearchMethod(kdtree.thisptr_shared) + + # def set_ + # self.me.setInputCloud (cloud_filtered) + def Extract(self): + cdef vector[cpp.PointIndices] inds + self.me.extract (inds) + # NG(not use Python) + # return inds + # return 2-dimension Array? + # return [inds[0].indices[i] for i in range(inds[0].indices.size())] + cdef vector[vector[int]] result + cdef vector[int] dim + + # for j, ind in enumerate(inds): + # for ind in inds.iterator: + # for i in range(ind): + # dim.push_back(ind.indices[i]) + # result.push_back(dim) + # return result + + # use Iterator + # http://cython.readthedocs.io/en/latest/src/userguide/wrapping_CPlusPlus.html + # http://stackoverflow.com/questions/29200592/how-to-iterate-throught-c-sets-in-cython + # itertools? + # http://qiita.com/tomotaka_ito/items/35f3eb108f587022fa09 + # https://docs.python.org/2/library/itertools.html + # set numpy? + # http://kesin.hatenablog.com/entry/20120314/1331689014 + cdef vector[cpp.PointIndices].iterator it = inds.begin() + while it != inds.end(): + idx = deref(it) + # for i in range(it.indices.size()): + for i in range(idx.indices.size()): + dim.push_back(idx.indices[i]) + result.push_back(dim) + inc(it) + dim.clear() + + return result + diff --git a/pcl/pxi/Segmentation/Segmentation.pxi b/pcl/pxi/Segmentation/Segmentation.pxi index f2be8d296..cc00b5268 100644 --- a/pcl/pxi/Segmentation/Segmentation.pxi +++ b/pcl/pxi/Segmentation/Segmentation.pxi @@ -3,6 +3,8 @@ cimport pcl_segmentation as pclseg cimport pcl_sample_consensus as pcl_sc cimport pcl_defs as cpp +cimport eigen as eigen3 + cdef class Segmentation: """ Segmentation class for Sample Consensus methods and models @@ -10,9 +12,12 @@ cdef class Segmentation: cdef pclseg.SACSegmentation_t *me def __cinit__(self): self.me = new pclseg.SACSegmentation_t() + + def __dealloc__(self): del self.me + def segment(self): cdef cpp.PointIndices ind cdef cpp.ModelCoefficients coeffs @@ -21,17 +26,27 @@ cdef class Segmentation: return [ind.indices[i] for i in range(ind.indices.size())], \ [coeffs.values[i] for i in range(coeffs.values.size())] + def set_optimize_coefficients(self, bool b): self.me.setOptimizeCoefficients(b) + + def set_model_type(self, pcl_sc.SacModel m): self.me.setModelType(m) + + def set_method_type(self, int m): self.me.setMethodType (m) + + def set_distance_threshold(self, float d): self.me.setDistanceThreshold (d) + + def set_MaxIterations(self, int count): self.me.setMaxIterations (count) + cdef class Segmentation_PointXYZI: """ Segmentation class for Sample Consensus methods and models @@ -39,6 +54,8 @@ cdef class Segmentation_PointXYZI: cdef pclseg.SACSegmentation_PointXYZI_t *me def __cinit__(self): self.me = new pclseg.SACSegmentation_PointXYZI_t() + + def __dealloc__(self): del self.me @@ -52,10 +69,16 @@ cdef class Segmentation_PointXYZI: def set_optimize_coefficients(self, bool b): self.me.setOptimizeCoefficients(b) + + def set_model_type(self, pcl_sc.SacModel m): self.me.setModelType(m) + + def set_method_type(self, int m): self.me.setMethodType (m) + + def set_distance_threshold(self, float d): self.me.setDistanceThreshold (d) @@ -67,6 +90,8 @@ cdef class Segmentation_PointXYZRGB: cdef pclseg.SACSegmentation_PointXYZRGB_t *me def __cinit__(self): self.me = new pclseg.SACSegmentation_PointXYZRGB_t() + + def __dealloc__(self): del self.me @@ -80,10 +105,16 @@ cdef class Segmentation_PointXYZRGB: def set_optimize_coefficients(self, bool b): self.me.setOptimizeCoefficients(b) + + def set_model_type(self, pcl_sc.SacModel m): self.me.setModelType(m) + + def set_method_type(self, int m): self.me.setMethodType (m) + + def set_distance_threshold(self, float d): self.me.setDistanceThreshold (d) @@ -95,6 +126,8 @@ cdef class Segmentation_PointXYZRGBA: cdef pclseg.SACSegmentation_PointXYZRGBA_t *me def __cinit__(self): self.me = new pclseg.SACSegmentation_PointXYZRGBA_t() + + def __dealloc__(self): del self.me @@ -108,10 +141,17 @@ cdef class Segmentation_PointXYZRGBA: def set_optimize_coefficients(self, bool b): self.me.setOptimizeCoefficients(b) + + def set_model_type(self, pcl_sc.SacModel m): self.me.setModelType(m) + + def set_method_type(self, int m): self.me.setMethodType (m) + + def set_distance_threshold(self, float d): self.me.setDistanceThreshold (d) + diff --git a/pcl/pxi/Segmentation/SegmentationNormal.pxi b/pcl/pxi/Segmentation/SegmentationNormal.pxi index 27f1febd4..d83ea00f8 100644 --- a/pcl/pxi/Segmentation/SegmentationNormal.pxi +++ b/pcl/pxi/Segmentation/SegmentationNormal.pxi @@ -3,15 +3,7 @@ cimport pcl_segmentation as pclseg cimport pcl_defs as cpp cimport pcl_sample_consensus as pcl_sc -# cdef extern from "minipcl.h": -# void mpcl_compute_normals(cpp.PointCloud_t, int ksearch, -# double searchRadius, -# cpp.PointCloud_Normal_t) except + -# void mpcl_sacnormal_set_axis(pclseg.SACSegmentationNormal_t, -# double ax, double ay, double az) except + -# void mpcl_extract(cpp.PointCloudPtr_t, cpp.PointCloud_t *, -# cpp.PointIndices_t *, bool) except + - +cimport eigen as eigen3 #yeah, I can't be bothered making this inherit from SACSegmentation, I forget the rules #for how this works in cython templated extension types anyway @@ -24,12 +16,15 @@ cdef class SegmentationNormal: is currently unable to do so. """ cdef pclseg.SACSegmentationFromNormals_t *me + def __cinit__(self): self.me = new pclseg.SACSegmentationFromNormals_t() + def __dealloc__(self): del self.me + def segment(self): cdef cpp.PointIndices ind cdef cpp.ModelCoefficients coeffs @@ -37,30 +32,65 @@ cdef class SegmentationNormal: return [ind.indices[i] for i in range(ind.indices.size())],\ [coeffs.values[i] for i in range(coeffs.values.size())] + def set_optimize_coefficients(self, bool b): self.me.setOptimizeCoefficients(b) + + def set_model_type(self, pcl_sc.SacModel m): self.me.setModelType(m) + + def set_method_type(self, int m): self.me.setMethodType (m) + + def set_distance_threshold(self, float d): self.me.setDistanceThreshold (d) + + def set_optimize_coefficients(self, bool b): self.me.setOptimizeCoefficients (b) + + def set_normal_distance_weight(self, float f): self.me.setNormalDistanceWeight (f) + + def set_max_iterations(self, int i): self.me.setMaxIterations (i) + + def set_radius_limits(self, float f1, float f2): self.me.setRadiusLimits (f1, f2) + + def set_eps_angle(self, double ea): - self.me.setEpsAngle (ea) -# def set_axis(self, double ax, double ay, double az): -# mpcl_sacnormal_set_axis(deref(self.me),ax,ay,az) + (self.me).setEpsAngle (ea) + + + def get_eps_angle(self): + return (self.me).getEpsAngle() + + + def set_axis(self, double ax1, double ax2, double ax3): + cdef eigen3.Vector3f* vec = new eigen3.Vector3f(ax1, ax2, ax3) + (self.me).setAxis(deref(vec)) + + + def get_axis(self): + vec = (self.me).getAxis() + cdef float *data = vec.data() + return np.array([data[0], data[1], data[2]], dtype=np.float32) + + def set_min_max_opening_angle(self, double min_angle, double max_angle): - """ Set the minimum and maximum cone opening angles in radians for a cone model. + """ + Set the minimum and maximum cone opening angles in radians for a cone model. """ self.me.setMinMaxOpeningAngle(min_angle, max_angle) + + def get_min_max_opening_angle(self): min_angle = 0.0 max_angle = 0.0 @@ -92,28 +122,62 @@ cdef class Segmentation_PointXYZI_Normal: def set_optimize_coefficients(self, bool b): self.me.setOptimizeCoefficients(b) + + def set_model_type(self, pcl_sc.SacModel m): self.me.setModelType(m) + + def set_method_type(self, int m): self.me.setMethodType (m) + + def set_distance_threshold(self, float d): self.me.setDistanceThreshold (d) + + def set_optimize_coefficients(self, bool b): self.me.setOptimizeCoefficients (b) + + def set_normal_distance_weight(self, float f): self.me.setNormalDistanceWeight (f) + + def set_max_iterations(self, int i): self.me.setMaxIterations (i) + + def set_radius_limits(self, float f1, float f2): self.me.setRadiusLimits (f1, f2) + + def set_eps_angle(self, double ea): self.me.setEpsAngle (ea) -# def set_axis(self, double ax, double ay, double az): -# mpcl_sacnormal_set_axis(deref(self.me),ax,ay,az) + + + def get_eps_angle(self): + return (self.me).getEpsAngle() + + + def set_axis(self, double ax1, double ax2, double ax3): + cdef eigen3.Vector3f* vec = new eigen3.Vector3f(ax1, ax2, ax3) + (self.me).setAxis(deref(vec)) + + + def get_axis(self): + vec = (self.me).getAxis() + cdef float *data = vec.data() + return np.array([data[0], data[1], data[2]], dtype=np.float32) + + def set_min_max_opening_angle(self, double min_angle, double max_angle): - """ Set the minimum and maximum cone opening angles in radians for a cone model. + """ + Set the minimum and maximum cone opening angles in radians for a cone model. """ self.me.setMinMaxOpeningAngle(min_angle, max_angle) + + def get_min_max_opening_angle(self): min_angle = 0.0 max_angle = 0.0 @@ -133,9 +197,11 @@ cdef class Segmentation_PointXYZRGB_Normal: def __cinit__(self): self.me = new pclseg.SACSegmentationFromNormals_PointXYZRGB_t() + def __dealloc__(self): del self.me + def segment(self): cdef cpp.PointIndices ind cdef cpp.ModelCoefficients coeffs @@ -143,30 +209,65 @@ cdef class Segmentation_PointXYZRGB_Normal: return [ind.indices[i] for i in range(ind.indices.size())],\ [coeffs.values[i] for i in range(coeffs.values.size())] + def set_optimize_coefficients(self, bool b): self.me.setOptimizeCoefficients(b) + + def set_model_type(self, pcl_sc.SacModel m): self.me.setModelType(m) + + def set_method_type(self, int m): self.me.setMethodType (m) + + def set_distance_threshold(self, float d): self.me.setDistanceThreshold (d) + + def set_optimize_coefficients(self, bool b): self.me.setOptimizeCoefficients (b) + + def set_normal_distance_weight(self, float f): self.me.setNormalDistanceWeight (f) + + def set_max_iterations(self, int i): self.me.setMaxIterations (i) + + def set_radius_limits(self, float f1, float f2): self.me.setRadiusLimits (f1, f2) + + def set_eps_angle(self, double ea): self.me.setEpsAngle (ea) -# def set_axis(self, double ax, double ay, double az): -# mpcl_sacnormal_set_axis(deref(self.me),ax,ay,az) + + + def get_eps_angle(self): + return (self.me).getEpsAngle() + + + def set_axis(self, double ax1, double ax2, double ax3): + cdef eigen3.Vector3f* vec = new eigen3.Vector3f(ax1, ax2, ax3) + (self.me).setAxis(deref(vec)) + + + def get_axis(self): + vec = (self.me).getAxis() + cdef float *data = vec.data() + return np.array([data[0], data[1], data[2]], dtype=np.float32) + + def set_min_max_opening_angle(self, double min_angle, double max_angle): - """ Set the minimum and maximum cone opening angles in radians for a cone model. + """ + Set the minimum and maximum cone opening angles in radians for a cone model. """ self.me.setMinMaxOpeningAngle(min_angle, max_angle) + + def get_min_max_opening_angle(self): min_angle = 0.0 max_angle = 0.0 @@ -196,30 +297,65 @@ cdef class Segmentation_PointXYZRGBA_Normal: return [ind.indices[i] for i in range(ind.indices.size())],\ [coeffs.values[i] for i in range(coeffs.values.size())] + def set_optimize_coefficients(self, bool b): self.me.setOptimizeCoefficients(b) + + def set_model_type(self, pcl_sc.SacModel m): self.me.setModelType(m) + + def set_method_type(self, int m): self.me.setMethodType (m) + + def set_distance_threshold(self, float d): self.me.setDistanceThreshold (d) + + def set_optimize_coefficients(self, bool b): self.me.setOptimizeCoefficients (b) + + def set_normal_distance_weight(self, float f): self.me.setNormalDistanceWeight (f) + + def set_max_iterations(self, int i): self.me.setMaxIterations (i) + + def set_radius_limits(self, float f1, float f2): self.me.setRadiusLimits (f1, f2) + + def set_eps_angle(self, double ea): - self.me.setEpsAngle (ea) -# def set_axis(self, double ax, double ay, double az): -# mpcl_sacnormal_set_axis(deref(self.me),ax,ay,az) + vec = (self.me).setEpsAngle(ea) + + + def get_eps_angle(self): + return (self.me).getEpsAngle() + + + def set_axis(self, double ax1, double ax2, double ax3): + cdef eigen3.Vector3f* vec = new eigen3.Vector3f(ax1, ax2, ax3) + (self.me).setAxis(deref(vec)) + + + def get_axis(self): + vec = (self.me).getAxis() + cdef float *data = vec.data() + return np.array([data[0], data[1], data[2]], dtype=np.float32) + + def set_min_max_opening_angle(self, double min_angle, double max_angle): - """ Set the minimum and maximum cone opening angles in radians for a cone model. + """ + Set the minimum and maximum cone opening angles in radians for a cone model. """ self.me.setMinMaxOpeningAngle(min_angle, max_angle) + + def get_min_max_opening_angle(self): min_angle = 0.0 max_angle = 0.0 diff --git a/pcl/pxi/Segmentation/SegmentationNormal_172.pxi b/pcl/pxi/Segmentation/SegmentationNormal_172.pxi index e4c9b06f8..994f03ccc 100644 --- a/pcl/pxi/Segmentation/SegmentationNormal_172.pxi +++ b/pcl/pxi/Segmentation/SegmentationNormal_172.pxi @@ -3,18 +3,10 @@ cimport pcl_segmentation_172 as pclseg cimport pcl_defs as cpp cimport pcl_sample_consensus_172 as pcl_sc -# cdef extern from "minipcl.h": -# void mpcl_compute_normals(cpp.PointCloud_t, int ksearch, -# double searchRadius, -# cpp.PointCloud_Normal_t) except + -# void mpcl_sacnormal_set_axis(pclseg.SACSegmentationNormal_t, -# double ax, double ay, double az) except + -# void mpcl_extract(cpp.PointCloudPtr_t, cpp.PointCloud_t *, -# cpp.PointIndices_t *, bool) except + - - -#yeah, I can't be bothered making this inherit from SACSegmentation, I forget the rules -#for how this works in cython templated extension types anyway +cimport eigen as eigen3 + +# yeah, I can't be bothered making this inherit from SACSegmentation, I forget the rules +# for how this works in cython templated extension types anyway cdef class SegmentationNormal: """ Segmentation class for Sample Consensus methods and models that require the @@ -23,13 +15,16 @@ cdef class SegmentationNormal: Due to Cython limitations this should derive from pcl.Segmentation, but is currently unable to do so. """ - cdef pclseg.SACSegmentationNormal_t *me + cdef pclseg.SACSegmentationFromNormals_t *me + def __cinit__(self): - self.me = new pclseg.SACSegmentationNormal_t() + self.me = new pclseg.SACSegmentationFromNormals_t() + def __dealloc__(self): del self.me + def segment(self): cdef cpp.PointIndices ind cdef cpp.ModelCoefficients coeffs @@ -37,30 +32,65 @@ cdef class SegmentationNormal: return [ind.indices[i] for i in range(ind.indices.size())],\ [coeffs.values[i] for i in range(coeffs.values.size())] + def set_optimize_coefficients(self, bool b): self.me.setOptimizeCoefficients(b) + + def set_model_type(self, pcl_sc.SacModel m): self.me.setModelType(m) + + def set_method_type(self, int m): self.me.setMethodType (m) + + def set_distance_threshold(self, float d): self.me.setDistanceThreshold (d) + + def set_optimize_coefficients(self, bool b): self.me.setOptimizeCoefficients (b) + + def set_normal_distance_weight(self, float f): self.me.setNormalDistanceWeight (f) + + def set_max_iterations(self, int i): self.me.setMaxIterations (i) + + def set_radius_limits(self, float f1, float f2): self.me.setRadiusLimits (f1, f2) + + def set_eps_angle(self, double ea): - self.me.setEpsAngle (ea) -# def set_axis(self, double ax, double ay, double az): -# mpcl_sacnormal_set_axis(deref(self.me),ax,ay,az) + (self.me).setEpsAngle (ea) + + + def get_eps_angle(self): + return (self.me).getEpsAngle() + + + def set_axis(self, double ax1, double ax2, double ax3): + cdef eigen3.Vector3f* vec = new eigen3.Vector3f(ax1, ax2, ax3) + (self.me).setAxis(deref(vec)) + + + def get_axis(self): + vec = (self.me).getAxis() + cdef float *data = vec.data() + return np.array([data[0], data[1], data[2]], dtype=np.float32) + + def set_min_max_opening_angle(self, double min_angle, double max_angle): - """ Set the minimum and maximum cone opening angles in radians for a cone model. + """ + Set the minimum and maximum cone opening angles in radians for a cone model. """ self.me.setMinMaxOpeningAngle(min_angle, max_angle) + + def get_min_max_opening_angle(self): min_angle = 0.0 max_angle = 0.0 @@ -76,9 +106,9 @@ cdef class Segmentation_PointXYZI_Normal: Due to Cython limitations this should derive from pcl.Segmentation, but is currently unable to do so. """ - cdef pclseg.SACSegmentation_PointXYZI_Normal_t *me + cdef pclseg.SACSegmentationFromNormals_PointXYZI_t *me def __cinit__(self): - self.me = new pclseg.SACSegmentation_PointXYZI_Normal_t() + self.me = new pclseg.SACSegmentationFromNormals_PointXYZI_t() def __dealloc__(self): del self.me @@ -92,28 +122,62 @@ cdef class Segmentation_PointXYZI_Normal: def set_optimize_coefficients(self, bool b): self.me.setOptimizeCoefficients(b) + + def set_model_type(self, pcl_sc.SacModel m): self.me.setModelType(m) + + def set_method_type(self, int m): self.me.setMethodType (m) + + def set_distance_threshold(self, float d): self.me.setDistanceThreshold (d) + + def set_optimize_coefficients(self, bool b): self.me.setOptimizeCoefficients (b) + + def set_normal_distance_weight(self, float f): self.me.setNormalDistanceWeight (f) + + def set_max_iterations(self, int i): self.me.setMaxIterations (i) + + def set_radius_limits(self, float f1, float f2): self.me.setRadiusLimits (f1, f2) + + def set_eps_angle(self, double ea): self.me.setEpsAngle (ea) -# def set_axis(self, double ax, double ay, double az): -# mpcl_sacnormal_set_axis(deref(self.me),ax,ay,az) + + + def get_eps_angle(self): + return (self.me).getEpsAngle() + + + def set_axis(self, double ax1, double ax2, double ax3): + cdef eigen3.Vector3f* vec = new eigen3.Vector3f(ax1, ax2, ax3) + (self.me).setAxis(deref(vec)) + + + def get_axis(self): + vec = (self.me).getAxis() + cdef float *data = vec.data() + return np.array([data[0], data[1], data[2]], dtype=np.float32) + + def set_min_max_opening_angle(self, double min_angle, double max_angle): - """ Set the minimum and maximum cone opening angles in radians for a cone model. + """ + Set the minimum and maximum cone opening angles in radians for a cone model. """ self.me.setMinMaxOpeningAngle(min_angle, max_angle) + + def get_min_max_opening_angle(self): min_angle = 0.0 max_angle = 0.0 @@ -129,13 +193,15 @@ cdef class Segmentation_PointXYZRGB_Normal: Due to Cython limitations this should derive from pcl.Segmentation, but is currently unable to do so. """ - cdef pclseg.SACSegmentation_PointXYZRGB_Normal_t *me + cdef pclseg.SACSegmentationFromNormals_PointXYZRGB_t *me def __cinit__(self): - self.me = new pclseg.SACSegmentation_PointXYZRGB_Normal_t() + self.me = new pclseg.SACSegmentationFromNormals_PointXYZRGB_t() + def __dealloc__(self): del self.me + def segment(self): cdef cpp.PointIndices ind cdef cpp.ModelCoefficients coeffs @@ -143,30 +209,65 @@ cdef class Segmentation_PointXYZRGB_Normal: return [ind.indices[i] for i in range(ind.indices.size())],\ [coeffs.values[i] for i in range(coeffs.values.size())] + def set_optimize_coefficients(self, bool b): self.me.setOptimizeCoefficients(b) + + def set_model_type(self, pcl_sc.SacModel m): self.me.setModelType(m) + + def set_method_type(self, int m): self.me.setMethodType (m) + + def set_distance_threshold(self, float d): self.me.setDistanceThreshold (d) + + def set_optimize_coefficients(self, bool b): self.me.setOptimizeCoefficients (b) + + def set_normal_distance_weight(self, float f): self.me.setNormalDistanceWeight (f) + + def set_max_iterations(self, int i): self.me.setMaxIterations (i) + + def set_radius_limits(self, float f1, float f2): self.me.setRadiusLimits (f1, f2) + + def set_eps_angle(self, double ea): self.me.setEpsAngle (ea) -# def set_axis(self, double ax, double ay, double az): -# mpcl_sacnormal_set_axis(deref(self.me),ax,ay,az) + + + def get_eps_angle(self): + return (self.me).getEpsAngle() + + + def set_axis(self, double ax1, double ax2, double ax3): + cdef eigen3.Vector3f* vec = new eigen3.Vector3f(ax1, ax2, ax3) + (self.me).setAxis(deref(vec)) + + + def get_axis(self): + vec = (self.me).getAxis() + cdef float *data = vec.data() + return np.array([data[0], data[1], data[2]], dtype=np.float32) + + def set_min_max_opening_angle(self, double min_angle, double max_angle): - """ Set the minimum and maximum cone opening angles in radians for a cone model. + """ + Set the minimum and maximum cone opening angles in radians for a cone model. """ self.me.setMinMaxOpeningAngle(min_angle, max_angle) + + def get_min_max_opening_angle(self): min_angle = 0.0 max_angle = 0.0 @@ -182,9 +283,9 @@ cdef class Segmentation_PointXYZRGBA_Normal: Due to Cython limitations this should derive from pcl.Segmentation, but is currently unable to do so. """ - cdef pclseg.SACSegmentation_PointXYZRGBA_Normal_t *me + cdef pclseg.SACSegmentationFromNormals_PointXYZRGBA_t *me def __cinit__(self): - self.me = new pclseg.SACSegmentation_PointXYZRGBA_Normal_t() + self.me = new pclseg.SACSegmentationFromNormals_PointXYZRGBA_t() def __dealloc__(self): del self.me @@ -196,30 +297,65 @@ cdef class Segmentation_PointXYZRGBA_Normal: return [ind.indices[i] for i in range(ind.indices.size())],\ [coeffs.values[i] for i in range(coeffs.values.size())] + def set_optimize_coefficients(self, bool b): self.me.setOptimizeCoefficients(b) + + def set_model_type(self, pcl_sc.SacModel m): self.me.setModelType(m) + + def set_method_type(self, int m): self.me.setMethodType (m) + + def set_distance_threshold(self, float d): self.me.setDistanceThreshold (d) + + def set_optimize_coefficients(self, bool b): self.me.setOptimizeCoefficients (b) + + def set_normal_distance_weight(self, float f): self.me.setNormalDistanceWeight (f) + + def set_max_iterations(self, int i): self.me.setMaxIterations (i) + + def set_radius_limits(self, float f1, float f2): self.me.setRadiusLimits (f1, f2) + + def set_eps_angle(self, double ea): - self.me.setEpsAngle (ea) -# def set_axis(self, double ax, double ay, double az): -# mpcl_sacnormal_set_axis(deref(self.me),ax,ay,az) + vec = (self.me).setEpsAngle(ea) + + + def get_eps_angle(self): + return (self.me).getEpsAngle() + + + def set_axis(self, double ax1, double ax2, double ax3): + cdef eigen3.Vector3f* vec = new eigen3.Vector3f(ax1, ax2, ax3) + (self.me).setAxis(deref(vec)) + + + def get_axis(self): + vec = (self.me).getAxis() + cdef float *data = vec.data() + return np.array([data[0], data[1], data[2]], dtype=np.float32) + + def set_min_max_opening_angle(self, double min_angle, double max_angle): - """ Set the minimum and maximum cone opening angles in radians for a cone model. + """ + Set the minimum and maximum cone opening angles in radians for a cone model. """ self.me.setMinMaxOpeningAngle(min_angle, max_angle) + + def get_min_max_opening_angle(self): min_angle = 0.0 max_angle = 0.0 diff --git a/pcl/pxi/Segmentation/SegmentationNormal_180.pxi b/pcl/pxi/Segmentation/SegmentationNormal_180.pxi index e4c9b06f8..dcdda7205 100644 --- a/pcl/pxi/Segmentation/SegmentationNormal_180.pxi +++ b/pcl/pxi/Segmentation/SegmentationNormal_180.pxi @@ -1,17 +1,9 @@ # -*- coding: utf-8 -*- -cimport pcl_segmentation_172 as pclseg +cimport pcl_segmentation_180 as pclseg cimport pcl_defs as cpp -cimport pcl_sample_consensus_172 as pcl_sc - -# cdef extern from "minipcl.h": -# void mpcl_compute_normals(cpp.PointCloud_t, int ksearch, -# double searchRadius, -# cpp.PointCloud_Normal_t) except + -# void mpcl_sacnormal_set_axis(pclseg.SACSegmentationNormal_t, -# double ax, double ay, double az) except + -# void mpcl_extract(cpp.PointCloudPtr_t, cpp.PointCloud_t *, -# cpp.PointIndices_t *, bool) except + +cimport pcl_sample_consensus_180 as pcl_sc +cimport eigen as eigen3 #yeah, I can't be bothered making this inherit from SACSegmentation, I forget the rules #for how this works in cython templated extension types anyway @@ -23,13 +15,16 @@ cdef class SegmentationNormal: Due to Cython limitations this should derive from pcl.Segmentation, but is currently unable to do so. """ - cdef pclseg.SACSegmentationNormal_t *me + cdef pclseg.SACSegmentationFromNormals_t *me + def __cinit__(self): - self.me = new pclseg.SACSegmentationNormal_t() + self.me = new pclseg.SACSegmentationFromNormals_t() + def __dealloc__(self): del self.me + def segment(self): cdef cpp.PointIndices ind cdef cpp.ModelCoefficients coeffs @@ -37,30 +32,65 @@ cdef class SegmentationNormal: return [ind.indices[i] for i in range(ind.indices.size())],\ [coeffs.values[i] for i in range(coeffs.values.size())] + def set_optimize_coefficients(self, bool b): self.me.setOptimizeCoefficients(b) + + def set_model_type(self, pcl_sc.SacModel m): self.me.setModelType(m) + + def set_method_type(self, int m): self.me.setMethodType (m) + + def set_distance_threshold(self, float d): self.me.setDistanceThreshold (d) + + def set_optimize_coefficients(self, bool b): self.me.setOptimizeCoefficients (b) + + def set_normal_distance_weight(self, float f): self.me.setNormalDistanceWeight (f) + + def set_max_iterations(self, int i): self.me.setMaxIterations (i) + + def set_radius_limits(self, float f1, float f2): self.me.setRadiusLimits (f1, f2) + + def set_eps_angle(self, double ea): - self.me.setEpsAngle (ea) -# def set_axis(self, double ax, double ay, double az): -# mpcl_sacnormal_set_axis(deref(self.me),ax,ay,az) + (self.me).setEpsAngle (ea) + + + def get_eps_angle(self): + return (self.me).getEpsAngle() + + + def set_axis(self, double ax1, double ax2, double ax3): + cdef eigen3.Vector3f* vec = new eigen3.Vector3f(ax1, ax2, ax3) + (self.me).setAxis(deref(vec)) + + + def get_axis(self): + vec = (self.me).getAxis() + cdef float *data = vec.data() + return np.array([data[0], data[1], data[2]], dtype=np.float32) + + def set_min_max_opening_angle(self, double min_angle, double max_angle): - """ Set the minimum and maximum cone opening angles in radians for a cone model. + """ + Set the minimum and maximum cone opening angles in radians for a cone model. """ self.me.setMinMaxOpeningAngle(min_angle, max_angle) + + def get_min_max_opening_angle(self): min_angle = 0.0 max_angle = 0.0 @@ -76,9 +106,9 @@ cdef class Segmentation_PointXYZI_Normal: Due to Cython limitations this should derive from pcl.Segmentation, but is currently unable to do so. """ - cdef pclseg.SACSegmentation_PointXYZI_Normal_t *me + cdef pclseg.SACSegmentationFromNormals_PointXYZI_t *me def __cinit__(self): - self.me = new pclseg.SACSegmentation_PointXYZI_Normal_t() + self.me = new pclseg.SACSegmentationFromNormals_PointXYZI_t() def __dealloc__(self): del self.me @@ -92,28 +122,62 @@ cdef class Segmentation_PointXYZI_Normal: def set_optimize_coefficients(self, bool b): self.me.setOptimizeCoefficients(b) + + def set_model_type(self, pcl_sc.SacModel m): self.me.setModelType(m) + + def set_method_type(self, int m): self.me.setMethodType (m) + + def set_distance_threshold(self, float d): self.me.setDistanceThreshold (d) + + def set_optimize_coefficients(self, bool b): self.me.setOptimizeCoefficients (b) + + def set_normal_distance_weight(self, float f): self.me.setNormalDistanceWeight (f) + + def set_max_iterations(self, int i): self.me.setMaxIterations (i) + + def set_radius_limits(self, float f1, float f2): self.me.setRadiusLimits (f1, f2) + + def set_eps_angle(self, double ea): self.me.setEpsAngle (ea) -# def set_axis(self, double ax, double ay, double az): -# mpcl_sacnormal_set_axis(deref(self.me),ax,ay,az) + + + def get_eps_angle(self): + return (self.me).getEpsAngle() + + + def set_axis(self, double ax1, double ax2, double ax3): + cdef eigen3.Vector3f* vec = new eigen3.Vector3f(ax1, ax2, ax3) + (self.me).setAxis(deref(vec)) + + + def get_axis(self): + vec = (self.me).getAxis() + cdef float *data = vec.data() + return np.array([data[0], data[1], data[2]], dtype=np.float32) + + def set_min_max_opening_angle(self, double min_angle, double max_angle): - """ Set the minimum and maximum cone opening angles in radians for a cone model. + """ + Set the minimum and maximum cone opening angles in radians for a cone model. """ self.me.setMinMaxOpeningAngle(min_angle, max_angle) + + def get_min_max_opening_angle(self): min_angle = 0.0 max_angle = 0.0 @@ -129,13 +193,15 @@ cdef class Segmentation_PointXYZRGB_Normal: Due to Cython limitations this should derive from pcl.Segmentation, but is currently unable to do so. """ - cdef pclseg.SACSegmentation_PointXYZRGB_Normal_t *me + cdef pclseg.SACSegmentationFromNormals_PointXYZRGB_t *me def __cinit__(self): - self.me = new pclseg.SACSegmentation_PointXYZRGB_Normal_t() + self.me = new pclseg.SACSegmentationFromNormals_PointXYZRGB_t() + def __dealloc__(self): del self.me + def segment(self): cdef cpp.PointIndices ind cdef cpp.ModelCoefficients coeffs @@ -143,30 +209,65 @@ cdef class Segmentation_PointXYZRGB_Normal: return [ind.indices[i] for i in range(ind.indices.size())],\ [coeffs.values[i] for i in range(coeffs.values.size())] + def set_optimize_coefficients(self, bool b): self.me.setOptimizeCoefficients(b) + + def set_model_type(self, pcl_sc.SacModel m): self.me.setModelType(m) + + def set_method_type(self, int m): self.me.setMethodType (m) + + def set_distance_threshold(self, float d): self.me.setDistanceThreshold (d) + + def set_optimize_coefficients(self, bool b): self.me.setOptimizeCoefficients (b) + + def set_normal_distance_weight(self, float f): self.me.setNormalDistanceWeight (f) + + def set_max_iterations(self, int i): self.me.setMaxIterations (i) + + def set_radius_limits(self, float f1, float f2): self.me.setRadiusLimits (f1, f2) + + def set_eps_angle(self, double ea): self.me.setEpsAngle (ea) -# def set_axis(self, double ax, double ay, double az): -# mpcl_sacnormal_set_axis(deref(self.me),ax,ay,az) + + + def get_eps_angle(self): + return (self.me).getEpsAngle() + + + def set_axis(self, double ax1, double ax2, double ax3): + cdef eigen3.Vector3f* vec = new eigen3.Vector3f(ax1, ax2, ax3) + (self.me).setAxis(deref(vec)) + + + def get_axis(self): + vec = (self.me).getAxis() + cdef float *data = vec.data() + return np.array([data[0], data[1], data[2]], dtype=np.float32) + + def set_min_max_opening_angle(self, double min_angle, double max_angle): - """ Set the minimum and maximum cone opening angles in radians for a cone model. + """ + Set the minimum and maximum cone opening angles in radians for a cone model. """ self.me.setMinMaxOpeningAngle(min_angle, max_angle) + + def get_min_max_opening_angle(self): min_angle = 0.0 max_angle = 0.0 @@ -182,9 +283,9 @@ cdef class Segmentation_PointXYZRGBA_Normal: Due to Cython limitations this should derive from pcl.Segmentation, but is currently unable to do so. """ - cdef pclseg.SACSegmentation_PointXYZRGBA_Normal_t *me + cdef pclseg.SACSegmentationFromNormals_PointXYZRGBA_t *me def __cinit__(self): - self.me = new pclseg.SACSegmentation_PointXYZRGBA_Normal_t() + self.me = new pclseg.SACSegmentationFromNormals_PointXYZRGBA_t() def __dealloc__(self): del self.me @@ -196,30 +297,65 @@ cdef class Segmentation_PointXYZRGBA_Normal: return [ind.indices[i] for i in range(ind.indices.size())],\ [coeffs.values[i] for i in range(coeffs.values.size())] + def set_optimize_coefficients(self, bool b): self.me.setOptimizeCoefficients(b) + + def set_model_type(self, pcl_sc.SacModel m): self.me.setModelType(m) + + def set_method_type(self, int m): self.me.setMethodType (m) + + def set_distance_threshold(self, float d): self.me.setDistanceThreshold (d) + + def set_optimize_coefficients(self, bool b): self.me.setOptimizeCoefficients (b) + + def set_normal_distance_weight(self, float f): self.me.setNormalDistanceWeight (f) + + def set_max_iterations(self, int i): self.me.setMaxIterations (i) + + def set_radius_limits(self, float f1, float f2): self.me.setRadiusLimits (f1, f2) + + def set_eps_angle(self, double ea): - self.me.setEpsAngle (ea) -# def set_axis(self, double ax, double ay, double az): -# mpcl_sacnormal_set_axis(deref(self.me),ax,ay,az) + vec = (self.me).setEpsAngle(ea) + + + def get_eps_angle(self): + return (self.me).getEpsAngle() + + + def set_axis(self, double ax1, double ax2, double ax3): + cdef eigen3.Vector3f* vec = new eigen3.Vector3f(ax1, ax2, ax3) + (self.me).setAxis(deref(vec)) + + + def get_axis(self): + vec = (self.me).getAxis() + cdef float *data = vec.data() + return np.array([data[0], data[1], data[2]], dtype=np.float32) + + def set_min_max_opening_angle(self, double min_angle, double max_angle): - """ Set the minimum and maximum cone opening angles in radians for a cone model. + """ + Set the minimum and maximum cone opening angles in radians for a cone model. """ self.me.setMinMaxOpeningAngle(min_angle, max_angle) + + def get_min_max_opening_angle(self): min_angle = 0.0 max_angle = 0.0 diff --git a/pcl/pxi/Segmentation/Segmentation_172.pxi b/pcl/pxi/Segmentation/Segmentation_172.pxi index be21360b5..c51be9d5c 100644 --- a/pcl/pxi/Segmentation/Segmentation_172.pxi +++ b/pcl/pxi/Segmentation/Segmentation_172.pxi @@ -3,6 +3,8 @@ cimport pcl_segmentation_172 as pclseg cimport pcl_sample_consensus_172 as pcl_sc cimport pcl_defs as cpp +cimport eigen as eigen3 + cdef class Segmentation: """ Segmentation class for Sample Consensus methods and models @@ -10,9 +12,12 @@ cdef class Segmentation: cdef pclseg.SACSegmentation_t *me def __cinit__(self): self.me = new pclseg.SACSegmentation_t() + + def __dealloc__(self): del self.me + def segment(self): cdef cpp.PointIndices ind cdef cpp.ModelCoefficients coeffs @@ -21,17 +26,27 @@ cdef class Segmentation: return [ind.indices[i] for i in range(ind.indices.size())], \ [coeffs.values[i] for i in range(coeffs.values.size())] + def set_optimize_coefficients(self, bool b): self.me.setOptimizeCoefficients(b) + + def set_model_type(self, pcl_sc.SacModel m): self.me.setModelType(m) + + def set_method_type(self, int m): self.me.setMethodType (m) + + def set_distance_threshold(self, float d): self.me.setDistanceThreshold (d) + + def set_MaxIterations(self, int count): self.me.setMaxIterations (count) + cdef class Segmentation_PointXYZI: """ Segmentation class for Sample Consensus methods and models @@ -39,6 +54,8 @@ cdef class Segmentation_PointXYZI: cdef pclseg.SACSegmentation_PointXYZI_t *me def __cinit__(self): self.me = new pclseg.SACSegmentation_PointXYZI_t() + + def __dealloc__(self): del self.me @@ -52,10 +69,16 @@ cdef class Segmentation_PointXYZI: def set_optimize_coefficients(self, bool b): self.me.setOptimizeCoefficients(b) + + def set_model_type(self, pcl_sc.SacModel m): self.me.setModelType(m) + + def set_method_type(self, int m): self.me.setMethodType (m) + + def set_distance_threshold(self, float d): self.me.setDistanceThreshold (d) @@ -67,6 +90,8 @@ cdef class Segmentation_PointXYZRGB: cdef pclseg.SACSegmentation_PointXYZRGB_t *me def __cinit__(self): self.me = new pclseg.SACSegmentation_PointXYZRGB_t() + + def __dealloc__(self): del self.me @@ -80,10 +105,16 @@ cdef class Segmentation_PointXYZRGB: def set_optimize_coefficients(self, bool b): self.me.setOptimizeCoefficients(b) + + def set_model_type(self, pcl_sc.SacModel m): self.me.setModelType(m) + + def set_method_type(self, int m): self.me.setMethodType (m) + + def set_distance_threshold(self, float d): self.me.setDistanceThreshold (d) @@ -95,6 +126,8 @@ cdef class Segmentation_PointXYZRGBA: cdef pclseg.SACSegmentation_PointXYZRGBA_t *me def __cinit__(self): self.me = new pclseg.SACSegmentation_PointXYZRGBA_t() + + def __dealloc__(self): del self.me @@ -108,10 +141,17 @@ cdef class Segmentation_PointXYZRGBA: def set_optimize_coefficients(self, bool b): self.me.setOptimizeCoefficients(b) + + def set_model_type(self, pcl_sc.SacModel m): self.me.setModelType(m) + + def set_method_type(self, int m): self.me.setMethodType (m) + + def set_distance_threshold(self, float d): self.me.setDistanceThreshold (d) + diff --git a/pcl/pxi/Segmentation/Segmentation_180.pxi b/pcl/pxi/Segmentation/Segmentation_180.pxi index be21360b5..df0f97bc5 100644 --- a/pcl/pxi/Segmentation/Segmentation_180.pxi +++ b/pcl/pxi/Segmentation/Segmentation_180.pxi @@ -1,8 +1,10 @@ # -*- coding: utf-8 -*- -cimport pcl_segmentation_172 as pclseg -cimport pcl_sample_consensus_172 as pcl_sc +cimport pcl_segmentation_180 as pclseg +cimport pcl_sample_consensus_180 as pcl_sc cimport pcl_defs as cpp +cimport eigen as eigen3 + cdef class Segmentation: """ Segmentation class for Sample Consensus methods and models @@ -10,9 +12,12 @@ cdef class Segmentation: cdef pclseg.SACSegmentation_t *me def __cinit__(self): self.me = new pclseg.SACSegmentation_t() + + def __dealloc__(self): del self.me + def segment(self): cdef cpp.PointIndices ind cdef cpp.ModelCoefficients coeffs @@ -21,17 +26,27 @@ cdef class Segmentation: return [ind.indices[i] for i in range(ind.indices.size())], \ [coeffs.values[i] for i in range(coeffs.values.size())] + def set_optimize_coefficients(self, bool b): self.me.setOptimizeCoefficients(b) + + def set_model_type(self, pcl_sc.SacModel m): self.me.setModelType(m) + + def set_method_type(self, int m): self.me.setMethodType (m) + + def set_distance_threshold(self, float d): self.me.setDistanceThreshold (d) + + def set_MaxIterations(self, int count): self.me.setMaxIterations (count) + cdef class Segmentation_PointXYZI: """ Segmentation class for Sample Consensus methods and models @@ -39,6 +54,8 @@ cdef class Segmentation_PointXYZI: cdef pclseg.SACSegmentation_PointXYZI_t *me def __cinit__(self): self.me = new pclseg.SACSegmentation_PointXYZI_t() + + def __dealloc__(self): del self.me @@ -52,10 +69,16 @@ cdef class Segmentation_PointXYZI: def set_optimize_coefficients(self, bool b): self.me.setOptimizeCoefficients(b) + + def set_model_type(self, pcl_sc.SacModel m): self.me.setModelType(m) + + def set_method_type(self, int m): self.me.setMethodType (m) + + def set_distance_threshold(self, float d): self.me.setDistanceThreshold (d) @@ -67,6 +90,8 @@ cdef class Segmentation_PointXYZRGB: cdef pclseg.SACSegmentation_PointXYZRGB_t *me def __cinit__(self): self.me = new pclseg.SACSegmentation_PointXYZRGB_t() + + def __dealloc__(self): del self.me @@ -80,10 +105,16 @@ cdef class Segmentation_PointXYZRGB: def set_optimize_coefficients(self, bool b): self.me.setOptimizeCoefficients(b) + + def set_model_type(self, pcl_sc.SacModel m): self.me.setModelType(m) + + def set_method_type(self, int m): self.me.setMethodType (m) + + def set_distance_threshold(self, float d): self.me.setDistanceThreshold (d) @@ -95,6 +126,8 @@ cdef class Segmentation_PointXYZRGBA: cdef pclseg.SACSegmentation_PointXYZRGBA_t *me def __cinit__(self): self.me = new pclseg.SACSegmentation_PointXYZRGBA_t() + + def __dealloc__(self): del self.me @@ -108,10 +141,17 @@ cdef class Segmentation_PointXYZRGBA: def set_optimize_coefficients(self, bool b): self.me.setOptimizeCoefficients(b) + + def set_model_type(self, pcl_sc.SacModel m): self.me.setModelType(m) + + def set_method_type(self, int m): self.me.setMethodType (m) + + def set_distance_threshold(self, float d): self.me.setDistanceThreshold (d) + diff --git a/pcl/pxi/Surface/ConcaveHull_172.pxi b/pcl/pxi/Surface/ConcaveHull_172.pxi new file mode 100644 index 000000000..d37e7404e --- /dev/null +++ b/pcl/pxi/Surface/ConcaveHull_172.pxi @@ -0,0 +1,94 @@ +# -*- coding: utf-8 -*- +cimport pcl_surface_172 as pclsf +cimport pcl_defs as cpp + +cdef class ConcaveHull: + """ + ConcaveHull class for ... + """ + cdef pclsf.ConcaveHull_t *me + def __cinit__(self): + self.me = new pclsf.ConcaveHull_t() + def __dealloc__(self): + del self.me + + def reconstruct(self): + """ + Apply the filter according to the previously set parameters and return + a new pointcloud + """ + cdef PointCloud pc = PointCloud() + self.me.reconstruct(pc.thisptr()[0]) + return pc + + def set_Alpha(self, double d): + self.me.setAlpha (d) + +cdef class ConcaveHull_PointXYZI: + """ + ConcaveHull class for ... + """ + cdef pclsf.ConcaveHull_PointXYZI_t *me + def __cinit__(self): + self.me = new pclsf.ConcaveHull_PointXYZI_t() + def __dealloc__(self): + del self.me + + def reconstruct(self): + """ + Apply the filter according to the previously set parameters and return + a new pointcloud + """ + cdef PointCloud_PointXYZI pc = PointCloud_PointXYZI() + self.me.reconstruct(pc.thisptr()[0]) + return pc + + def set_Alpha(self, double d): + self.me.setAlpha (d) + + +cdef class ConcaveHull_PointXYZRGB: + """ + ConcaveHull class for ... + """ + cdef pclsf.ConcaveHull_PointXYZRGB_t *me + def __cinit__(self): + self.me = new pclsf.ConcaveHull_PointXYZRGB_t() + def __dealloc__(self): + del self.me + + def reconstruct(self): + """ + Apply the filter according to the previously set parameters and return + a new pointcloud + """ + cdef PointCloud_PointXYZRGB pc = PointCloud_PointXYZRGB() + self.me.reconstruct(pc.thisptr()[0]) + return pc + + def set_Alpha(self, double d): + self.me.setAlpha (d) + + +cdef class ConcaveHull_PointXYZRGBA: + """ + ConcaveHull class for ... + """ + cdef pclsf.ConcaveHull_PointXYZRGBA_t *me + def __cinit__(self): + self.me = new pclsf.ConcaveHull_PointXYZRGBA_t() + def __dealloc__(self): + del self.me + + def reconstruct(self): + """ + Apply the filter according to the previously set parameters and return + a new pointcloud + """ + cdef PointCloud_PointXYZRGBA pc = PointCloud_PointXYZRGBA() + self.me.reconstruct(pc.thisptr()[0]) + return pc + + def set_Alpha(self, double d): + self.me.setAlpha (d) + diff --git a/pcl/pxi/Surface/ConcaveHull_180.pxi b/pcl/pxi/Surface/ConcaveHull_180.pxi new file mode 100644 index 000000000..7933bc44f --- /dev/null +++ b/pcl/pxi/Surface/ConcaveHull_180.pxi @@ -0,0 +1,94 @@ +# -*- coding: utf-8 -*- +cimport pcl_surface_180 as pclsf +cimport pcl_defs as cpp + +cdef class ConcaveHull: + """ + ConcaveHull class for ... + """ + cdef pclsf.ConcaveHull_t *me + def __cinit__(self): + self.me = new pclsf.ConcaveHull_t() + def __dealloc__(self): + del self.me + + def reconstruct(self): + """ + Apply the filter according to the previously set parameters and return + a new pointcloud + """ + cdef PointCloud pc = PointCloud() + self.me.reconstruct(pc.thisptr()[0]) + return pc + + def set_Alpha(self, double d): + self.me.setAlpha (d) + +cdef class ConcaveHull_PointXYZI: + """ + ConcaveHull class for ... + """ + cdef pclsf.ConcaveHull_PointXYZI_t *me + def __cinit__(self): + self.me = new pclsf.ConcaveHull_PointXYZI_t() + def __dealloc__(self): + del self.me + + def reconstruct(self): + """ + Apply the filter according to the previously set parameters and return + a new pointcloud + """ + cdef PointCloud_PointXYZI pc = PointCloud_PointXYZI() + self.me.reconstruct(pc.thisptr()[0]) + return pc + + def set_Alpha(self, double d): + self.me.setAlpha (d) + + +cdef class ConcaveHull_PointXYZRGB: + """ + ConcaveHull class for ... + """ + cdef pclsf.ConcaveHull_PointXYZRGB_t *me + def __cinit__(self): + self.me = new pclsf.ConcaveHull_PointXYZRGB_t() + def __dealloc__(self): + del self.me + + def reconstruct(self): + """ + Apply the filter according to the previously set parameters and return + a new pointcloud + """ + cdef PointCloud_PointXYZRGB pc = PointCloud_PointXYZRGB() + self.me.reconstruct(pc.thisptr()[0]) + return pc + + def set_Alpha(self, double d): + self.me.setAlpha (d) + + +cdef class ConcaveHull_PointXYZRGBA: + """ + ConcaveHull class for ... + """ + cdef pclsf.ConcaveHull_PointXYZRGBA_t *me + def __cinit__(self): + self.me = new pclsf.ConcaveHull_PointXYZRGBA_t() + def __dealloc__(self): + del self.me + + def reconstruct(self): + """ + Apply the filter according to the previously set parameters and return + a new pointcloud + """ + cdef PointCloud_PointXYZRGBA pc = PointCloud_PointXYZRGBA() + self.me.reconstruct(pc.thisptr()[0]) + return pc + + def set_Alpha(self, double d): + self.me.setAlpha (d) + diff --git a/pcl/pxi/Surface/MovingLeastSquares_172.pxi b/pcl/pxi/Surface/MovingLeastSquares_172.pxi new file mode 100644 index 000000000..05af77f3c --- /dev/null +++ b/pcl/pxi/Surface/MovingLeastSquares_172.pxi @@ -0,0 +1,192 @@ +# -*- coding: utf-8 -*- +cimport _pcl +cimport pcl_defs as cpp +cimport pcl_surface_172 as pclsf +cimport pcl_kdtree_172 as pclkdt + +cdef class MovingLeastSquares: + """ + Smoothing class which is an implementation of the MLS (Moving Least Squares) + algorithm for data smoothing and improved normal estimation. + """ + cdef pclsf.MovingLeastSquares_t *me + + def __cinit__(self): + self.me = new pclsf.MovingLeastSquares_t() + + def __dealloc__(self): + del self.me + + def set_search_radius(self, double radius): + """ + Set the sphere radius that is to be used for determining the k-nearest neighbors used for fitting. + """ + self.me.setSearchRadius (radius) + + def set_polynomial_order(self, bool order): + """ + Set the order of the polynomial to be fit. + """ + self.me.setPolynomialOrder(order) + + def set_polynomial_fit(self, bool fit): + """ + Sets whether the surface and normal are approximated using a polynomial, + or only via tangent estimation. + """ + self.me.setPolynomialFit(fit) + + def set_Compute_Normals(self, bool flag): + self.me.setComputeNormals(flag) + + def set_Search_Method(self, _pcl.KdTree kdtree): + # self.me.setSearchMethod(kdtree.thisptr()[0]) + # self.me.setSearchMethod(kdtree.thisptr()) + self.me.setSearchMethod(kdtree.thisptr_shared) + + # def set_Search_Method(self, _pcl.KdTreeFLANN kdtree): + # # self.me.setSearchMethod(kdtree.thisptr()) + # self.me.setSearchMethod(kdtree.thisptr_shared) + + def process(self): + """ + Apply the smoothing according to the previously set values and return + a new PointCloud + """ + cdef PointCloud pc = PointCloud() + self.me.process(pc.thisptr()[0]) + return pc + # cdef PointCloud_PointNormal pcNormal = PointCloud_PointNormal() + # self.me.process(pcNormal.thisptr()[0]) + # return pcNormal + + +# cdef class MovingLeastSquares_PointXYZI: +# """ +# Smoothing class which is an implementation of the MLS (Moving Least Squares) +# algorithm for data smoothing and improved normal estimation. +# """ +# cdef pclsf.MovingLeastSquares_PointXYZI_t *me +# +# def __cinit__(self): +# self.me = new pclsf.MovingLeastSquares_PointXYZI_t() +# def __dealloc__(self): +# del self.me +# +# def set_search_radius(self, double radius): +# """ +# Set the sphere radius that is to be used for determining the k-nearest neighbors used for fitting. +# """ +# self.me.setSearchRadius (radius) +# +# def set_polynomial_order(self, bool order): +# """ +# Set the order of the polynomial to be fit. +# """ +# self.me.setPolynomialOrder(order) +# +# def set_polynomial_fit(self, bint fit): +# """ +# Sets whether the surface and normal are approximated using a polynomial, +# or only via tangent estimation. +# """ +# self.me.setPolynomialFit(fit) +# +# def process(self): +# """ +# Apply the smoothing according to the previously set values and return +# a new pointcloud +# """ +# cdef PointCloud_PointXYZI pc = PointCloud_PointXYZI() +# self.me.process(pc.thisptr()[0]) +# return pc + + +cdef class MovingLeastSquares_PointXYZRGB: + """ + Smoothing class which is an implementation of the MLS (Moving Least Squares) + algorithm for data smoothing and improved normal estimation. + """ + cdef pclsf.MovingLeastSquares_PointXYZRGB_t *me + + def __cinit__(self): + self.me = new pclsf.MovingLeastSquares_PointXYZRGB_t() + + def __dealloc__(self): + del self.me + + def set_search_radius(self, double radius): + """ + Set the sphere radius that is to be used for determining the k-nearest neighbors used for fitting. + """ + self.me.setSearchRadius (radius) + + def set_polynomial_order(self, bool order): + """ + Set the order of the polynomial to be fit. + """ + self.me.setPolynomialOrder(order) + + def set_polynomial_fit(self, bint fit): + """ + Sets whether the surface and normal are approximated using a polynomial, + or only via tangent estimation. + """ + self.me.setPolynomialFit(fit) + + def process(self): + """ + Apply the smoothing according to the previously set values and return + a new pointcloud + """ + cdef PointCloud_PointXYZRGB pc = PointCloud_PointXYZRGB() + self.me.process(pc.thisptr()[0]) + return pc + # cdef PointCloud_PointNormal pcNormal = PointCloud_PointNormal() + # self.me.process(pcNormal.thisptr()[0]) + # return pcNormal + +cdef class MovingLeastSquares_PointXYZRGBA: + """ + Smoothing class which is an implementation of the MLS (Moving Least Squares) + algorithm for data smoothing and improved normal estimation. + """ + cdef pclsf.MovingLeastSquares_PointXYZRGBA_t *me + + def __cinit__(self): + self.me = new pclsf.MovingLeastSquares_PointXYZRGBA_t() + + def __dealloc__(self): + del self.me + + def set_search_radius(self, double radius): + """ + Set the sphere radius that is to be used for determining the k-nearest neighbors used for fitting. + """ + self.me.setSearchRadius (radius) + + def set_polynomial_order(self, bool order): + """ + Set the order of the polynomial to be fit. + """ + self.me.setPolynomialOrder(order) + + def set_polynomial_fit(self, bint fit): + """ + Sets whether the surface and normal are approximated using a polynomial, + or only via tangent estimation. + """ + self.me.setPolynomialFit(fit) + + def process(self): + """ + Apply the smoothing according to the previously set values and return + a new pointcloud + """ + cdef PointCloud_PointXYZRGBA pc = PointCloud_PointXYZRGBA() + self.me.process(pc.thisptr()[0]) + return pc + # cdef PointCloud_PointNormal pcNormal = PointCloud_PointNormal() + # self.me.process(pcNormal.thisptr()[0]) + # return pcNormal + diff --git a/pcl/pxi/Surface/MovingLeastSquares_180.pxi b/pcl/pxi/Surface/MovingLeastSquares_180.pxi new file mode 100644 index 000000000..835149316 --- /dev/null +++ b/pcl/pxi/Surface/MovingLeastSquares_180.pxi @@ -0,0 +1,192 @@ +# -*- coding: utf-8 -*- +cimport _pcl +cimport pcl_defs as cpp +cimport pcl_surface_180 as pclsf +cimport pcl_kdtree_180 as pclkdt + +cdef class MovingLeastSquares: + """ + Smoothing class which is an implementation of the MLS (Moving Least Squares) + algorithm for data smoothing and improved normal estimation. + """ + cdef pclsf.MovingLeastSquares_t *me + + def __cinit__(self): + self.me = new pclsf.MovingLeastSquares_t() + + def __dealloc__(self): + del self.me + + def set_search_radius(self, double radius): + """ + Set the sphere radius that is to be used for determining the k-nearest neighbors used for fitting. + """ + self.me.setSearchRadius (radius) + + def set_polynomial_order(self, bool order): + """ + Set the order of the polynomial to be fit. + """ + self.me.setPolynomialOrder(order) + + def set_polynomial_fit(self, bool fit): + """ + Sets whether the surface and normal are approximated using a polynomial, + or only via tangent estimation. + """ + self.me.setPolynomialFit(fit) + + def set_Compute_Normals(self, bool flag): + self.me.setComputeNormals(flag) + + def set_Search_Method(self, _pcl.KdTree kdtree): + # self.me.setSearchMethod(kdtree.thisptr()[0]) + # self.me.setSearchMethod(kdtree.thisptr()) + self.me.setSearchMethod(kdtree.thisptr_shared) + + # def set_Search_Method(self, _pcl.KdTreeFLANN kdtree): + # # self.me.setSearchMethod(kdtree.thisptr()) + # self.me.setSearchMethod(kdtree.thisptr_shared) + + def process(self): + """ + Apply the smoothing according to the previously set values and return + a new PointCloud + """ + cdef PointCloud pc = PointCloud() + self.me.process(pc.thisptr()[0]) + return pc + # cdef PointCloud_PointNormal pcNormal = PointCloud_PointNormal() + # self.me.process(pcNormal.thisptr()[0]) + # return pcNormal + + +# cdef class MovingLeastSquares_PointXYZI: +# """ +# Smoothing class which is an implementation of the MLS (Moving Least Squares) +# algorithm for data smoothing and improved normal estimation. +# """ +# cdef pclsf.MovingLeastSquares_PointXYZI_t *me +# +# def __cinit__(self): +# self.me = new pclsf.MovingLeastSquares_PointXYZI_t() +# def __dealloc__(self): +# del self.me +# +# def set_search_radius(self, double radius): +# """ +# Set the sphere radius that is to be used for determining the k-nearest neighbors used for fitting. +# """ +# self.me.setSearchRadius (radius) +# +# def set_polynomial_order(self, bool order): +# """ +# Set the order of the polynomial to be fit. +# """ +# self.me.setPolynomialOrder(order) +# +# def set_polynomial_fit(self, bint fit): +# """ +# Sets whether the surface and normal are approximated using a polynomial, +# or only via tangent estimation. +# """ +# self.me.setPolynomialFit(fit) +# +# def process(self): +# """ +# Apply the smoothing according to the previously set values and return +# a new pointcloud +# """ +# cdef PointCloud_PointXYZI pc = PointCloud_PointXYZI() +# self.me.process(pc.thisptr()[0]) +# return pc + + +cdef class MovingLeastSquares_PointXYZRGB: + """ + Smoothing class which is an implementation of the MLS (Moving Least Squares) + algorithm for data smoothing and improved normal estimation. + """ + cdef pclsf.MovingLeastSquares_PointXYZRGB_t *me + + def __cinit__(self): + self.me = new pclsf.MovingLeastSquares_PointXYZRGB_t() + + def __dealloc__(self): + del self.me + + def set_search_radius(self, double radius): + """ + Set the sphere radius that is to be used for determining the k-nearest neighbors used for fitting. + """ + self.me.setSearchRadius (radius) + + def set_polynomial_order(self, bool order): + """ + Set the order of the polynomial to be fit. + """ + self.me.setPolynomialOrder(order) + + def set_polynomial_fit(self, bint fit): + """ + Sets whether the surface and normal are approximated using a polynomial, + or only via tangent estimation. + """ + self.me.setPolynomialFit(fit) + + def process(self): + """ + Apply the smoothing according to the previously set values and return + a new pointcloud + """ + cdef PointCloud_PointXYZRGB pc = PointCloud_PointXYZRGB() + self.me.process(pc.thisptr()[0]) + return pc + # cdef PointCloud_PointNormal pcNormal = PointCloud_PointNormal() + # self.me.process(pcNormal.thisptr()[0]) + # return pcNormal + +cdef class MovingLeastSquares_PointXYZRGBA: + """ + Smoothing class which is an implementation of the MLS (Moving Least Squares) + algorithm for data smoothing and improved normal estimation. + """ + cdef pclsf.MovingLeastSquares_PointXYZRGBA_t *me + + def __cinit__(self): + self.me = new pclsf.MovingLeastSquares_PointXYZRGBA_t() + + def __dealloc__(self): + del self.me + + def set_search_radius(self, double radius): + """ + Set the sphere radius that is to be used for determining the k-nearest neighbors used for fitting. + """ + self.me.setSearchRadius (radius) + + def set_polynomial_order(self, bool order): + """ + Set the order of the polynomial to be fit. + """ + self.me.setPolynomialOrder(order) + + def set_polynomial_fit(self, bint fit): + """ + Sets whether the surface and normal are approximated using a polynomial, + or only via tangent estimation. + """ + self.me.setPolynomialFit(fit) + + def process(self): + """ + Apply the smoothing according to the previously set values and return + a new pointcloud + """ + cdef PointCloud_PointXYZRGBA pc = PointCloud_PointXYZRGBA() + self.me.process(pc.thisptr()[0]) + return pc + # cdef PointCloud_PointNormal pcNormal = PointCloud_PointNormal() + # self.me.process(pcNormal.thisptr()[0]) + # return pcNormal + diff --git a/pcl/pxi/Visualization/CloudViewing.pxi b/pcl/pxi/Visualization/CloudViewing.pxi index dccfb52cb..3505d401c 100644 --- a/pcl/pxi/Visualization/CloudViewing.pxi +++ b/pcl/pxi/Visualization/CloudViewing.pxi @@ -24,13 +24,13 @@ cdef class CloudViewing: def ShowMonochromeCloud(self, _pcl.PointCloud pc, cloudname=b'cloud'): self.thisptr().showCloud(pc.thisptr_shared, cloudname) - def ShowGrayCloud(self, _pcl.PointCloud_PointXYZI pc, cloudname='cloud'): + def ShowGrayCloud(self, _pcl.PointCloud_PointXYZI pc, cloudname=b'cloud'): self.thisptr().showCloud(pc.thisptr_shared, cloudname) - def ShowColorCloud(self, _pcl.PointCloud_PointXYZRGB pc, cloudname='cloud'): + def ShowColorCloud(self, _pcl.PointCloud_PointXYZRGB pc, cloudname=b'cloud'): self.thisptr().showCloud(pc.thisptr_shared, cloudname) - def ShowColorACloud(self, _pcl.PointCloud_PointXYZRGBA pc, cloudname='cloud'): + def ShowColorACloud(self, _pcl.PointCloud_PointXYZRGBA pc, cloudname=b'cloud'): self.thisptr().showCloud(pc.thisptr_shared, cloudname) def WasStopped(self, int millis_to_wait = 1): diff --git a/pcl/pxi/Visualization/Handler/PointCloudColorHandleringCustom.pxi b/pcl/pxi/Visualization/Handler/PointCloudColorHandleringCustom.pxi index b8ea82cd7..e0afac7b0 100644 --- a/pcl/pxi/Visualization/Handler/PointCloudColorHandleringCustom.pxi +++ b/pcl/pxi/Visualization/Handler/PointCloudColorHandleringCustom.pxi @@ -4,8 +4,9 @@ cimport pcl_visualization from _pcl cimport PointCloud_PointWithViewpoint from _pcl cimport RangeImages cimport pcl_defs as cpp -cimport numpy as cnp - +cimport numpy as cnp + + cimport pcl_visualization_defs as pcl_vis from boost_shared_ptr cimport sp_assign @@ -28,6 +29,7 @@ cdef class PointCloudColorHandleringCustom: def __dealloc__(self): # del self.me - pass - + pass + + diff --git a/pcl/pxi/Visualization/Handler/PointCloudColorHandleringGenericField.pxi b/pcl/pxi/Visualization/Handler/PointCloudColorHandleringGenericField.pxi index ffe9971d4..3fc7623ce 100644 --- a/pcl/pxi/Visualization/Handler/PointCloudColorHandleringGenericField.pxi +++ b/pcl/pxi/Visualization/Handler/PointCloudColorHandleringGenericField.pxi @@ -16,8 +16,9 @@ cdef class PointCloudColorHandleringGenericField: pass def __dealloc__(self): - print('__dealloc__') + print('__dealloc__') # del self.me - pass - + pass + + diff --git a/pcl/pxi/Visualization/Handler/PointCloudColorHandleringHSVField.pxi b/pcl/pxi/Visualization/Handler/PointCloudColorHandleringHSVField.pxi index 57f71b1cf..c1f94da6e 100644 --- a/pcl/pxi/Visualization/Handler/PointCloudColorHandleringHSVField.pxi +++ b/pcl/pxi/Visualization/Handler/PointCloudColorHandleringHSVField.pxi @@ -16,8 +16,9 @@ cdef class PointCloudColorHandleringHSVField: pass def __dealloc__(self): - print('__dealloc__') + print('__dealloc__') # del self.me - pass - + pass + + diff --git a/pcl/pxi/Visualization/Handler/PointCloudColorHandleringRGBField.pxi b/pcl/pxi/Visualization/Handler/PointCloudColorHandleringRGBField.pxi index 304c4ba6f..ccb5ce708 100644 --- a/pcl/pxi/Visualization/Handler/PointCloudColorHandleringRGBField.pxi +++ b/pcl/pxi/Visualization/Handler/PointCloudColorHandleringRGBField.pxi @@ -16,8 +16,9 @@ cdef class PointCloudColorHandleringRGBField: pass def __dealloc__(self): - print('__dealloc__') + print('__dealloc__') # del self.me - pass - + pass + + diff --git a/pcl/pxi/Visualization/Handler/PointCloudColorHandleringRandom.pxi b/pcl/pxi/Visualization/Handler/PointCloudColorHandleringRandom.pxi index 9bd195b12..67cecc937 100644 --- a/pcl/pxi/Visualization/Handler/PointCloudColorHandleringRandom.pxi +++ b/pcl/pxi/Visualization/Handler/PointCloudColorHandleringRandom.pxi @@ -16,8 +16,9 @@ cdef class PointCloudColorHandleringRandom: pass def __dealloc__(self): - print('__dealloc__') + print('__dealloc__') # del self.me - pass - + pass + + diff --git a/pcl/pxi/Visualization/Handler/PointCloudGeometryHandleringCustom.pxi b/pcl/pxi/Visualization/Handler/PointCloudGeometryHandleringCustom.pxi index 23d955292..37265f043 100644 --- a/pcl/pxi/Visualization/Handler/PointCloudGeometryHandleringCustom.pxi +++ b/pcl/pxi/Visualization/Handler/PointCloudGeometryHandleringCustom.pxi @@ -16,8 +16,9 @@ cdef class PointCloudGeometryHandlerCustom: pass def __dealloc__(self): - print('__dealloc__') + print('__dealloc__') # del self.me - pass - + pass + + diff --git a/pcl/pxi/Visualization/Handler/PointCloudGeometryHandleringSurfaceNormal.pxi b/pcl/pxi/Visualization/Handler/PointCloudGeometryHandleringSurfaceNormal.pxi index 3df639697..51b4be2f7 100644 --- a/pcl/pxi/Visualization/Handler/PointCloudGeometryHandleringSurfaceNormal.pxi +++ b/pcl/pxi/Visualization/Handler/PointCloudGeometryHandleringSurfaceNormal.pxi @@ -16,8 +16,9 @@ cdef class PointCloudGeometryHandleringSurfaceNormal: pass def __dealloc__(self): - print('__dealloc__') + print('__dealloc__') # del self.me - pass - + pass + + diff --git a/pcl/pxi/Visualization/Handler/PointCloudGeometryHandleringXYZ.pxi b/pcl/pxi/Visualization/Handler/PointCloudGeometryHandleringXYZ.pxi index a0b7ee3f4..45ba5b1fc 100644 --- a/pcl/pxi/Visualization/Handler/PointCloudGeometryHandleringXYZ.pxi +++ b/pcl/pxi/Visualization/Handler/PointCloudGeometryHandleringXYZ.pxi @@ -16,8 +16,9 @@ cdef class PointCloudGeometryHandleringXYZ: pass def __dealloc__(self): - print('__dealloc__') + print('__dealloc__') # del self.me - pass - + pass + + diff --git a/pcl/pxi/Visualization/RangeImageVisualization.pxi b/pcl/pxi/Visualization/RangeImageVisualization.pxi index 31d41da9f..696a47f9c 100644 --- a/pcl/pxi/Visualization/RangeImageVisualization.pxi +++ b/pcl/pxi/Visualization/RangeImageVisualization.pxi @@ -7,7 +7,7 @@ cimport pcl_visualization_defs as pcl_vis cimport pcl_range_image as pcl_rngimg from boost_shared_ptr cimport sp_assign - + cdef class RangeImageVisualization: """ RangeImageVisualization @@ -24,10 +24,11 @@ cdef class RangeImageVisualization: def __dealloc__(self): # print('__dealloc__') del self.me - pass - + pass + + # -std::numeric_limits::infinity () - # std::numeric_limits::infinity () + # std::numeric_limits::infinity () def ShowRangeImage (self, _pcl.RangeImages range_image, float min_value = -99999.0, float max_value = 99999.0, bool grayscale = False): # self.me.showRangeImage(range_image.thisptr(), min_value, max_value, grayscale) cdef pcl_rngimg.RangeImage_t user diff --git a/pcl/pxi/pxiInclude.pxi b/pcl/pxi/pxiInclude.pxi index b6b9a50ae..928a2f780 100644 --- a/pcl/pxi/pxiInclude.pxi +++ b/pcl/pxi/pxiInclude.pxi @@ -1,7 +1,8 @@ # -*- coding: utf-8 -*- - + ### include ### # common? +include "Vertices.pxi" include "PointXYZtoPointXYZ.pxi" # Segmentation include "Segmentation/Segmentation.pxi" @@ -12,7 +13,8 @@ include "Filters/StatisticalOutlierRemovalFilter.pxi" include "Filters/VoxelGridFilter.pxi" include "Filters/PassThroughFilter.pxi" include "Filters/ApproximateVoxelGrid.pxi" -include "Surface/MovingLeastSquares.pxi" +# Kdtree +# same 1.6 ~ 1.8 # include "KdTree/KdTree.pxi" include "KdTree/KdTree_FLANN.pxi" # Octree @@ -20,20 +22,25 @@ include "Octree/OctreePointCloud.pxi" include "Octree/OctreePointCloud2Buf.pxi" include "Octree/OctreePointCloudSearch.pxi" include "Octree/OctreePointCloudChangeDetector.pxi" -include "Vertices.pxi" +# Filters include "Filters/CropHull.pxi" include "Filters/CropBox.pxi" include "Filters/ProjectInliers.pxi" include "Filters/RadiusOutlierRemoval.pxi" include "Filters/ConditionAnd.pxi" include "Filters/ConditionalRemoval.pxi" +# Surface include "Surface/ConcaveHull.pxi" -include "Common/RangeImage/RangeImages.pxi" - # Registration +include "Surface/MovingLeastSquares.pxi" +# RangeImage +include "Common/RangeImage/RangeImages.pxi" + +# Registration include "registration/GeneralizedIterativeClosestPoint.pxi" include "registration/IterativeClosestPoint.pxi" include "registration/IterativeClosestPointNonLinear.pxi" # SampleConsensus +# same 1.6 ~ 1.8 include "SampleConsensus/RandomSampleConsensus.pxi" include "SampleConsensus/SampleConsensusModelPlane.pxi" include "SampleConsensus/SampleConsensusModelSphere.pxi" @@ -41,11 +48,6 @@ include "SampleConsensus/SampleConsensusModelCylinder.pxi" include "SampleConsensus/SampleConsensusModelLine.pxi" include "SampleConsensus/SampleConsensusModelRegistration.pxi" include "SampleConsensus/SampleConsensusModelStick.pxi" -# pcl 1.7.2? -# include "registration/NormalDistributionsTransform.pxi" - -# include "Visualization/PointCloudColorHandlerCustoms.pxi" - # Features include "Features/NormalEstimation.pxi" include "Features/VFHEstimation.pxi" @@ -54,4 +56,10 @@ include "Features/IntegralImageNormalEstimation.pxi" # keyPoint include "KeyPoint/HarrisKeypoint3D.pxi" include "KeyPoint/UniformSampling.pxi" +# pcl 1.7.2? +# include "registration/NormalDistributionsTransform.pxi" +# visual +# include "Visualization/PointCloudColorHandlerCustoms.pxi" +### + diff --git a/pcl/pxi/pxiInclude_172.pxi b/pcl/pxi/pxiInclude_172.pxi index 19580dbeb..30c2612ee 100644 --- a/pcl/pxi/pxiInclude_172.pxi +++ b/pcl/pxi/pxiInclude_172.pxi @@ -2,17 +2,19 @@ ### include ### # common? +include "Vertices.pxi" include "PointXYZtoPointXYZ.pxi" # Segmentation -include "Segmentation/Segmentation.pxi" -include "Segmentation/SegmentationNormal.pxi" -include "Segmentation/EuclideanClusterExtraction.pxi" +include "Segmentation/Segmentation_172.pxi" +include "Segmentation/SegmentationNormal_172.pxi" +include "Segmentation/EuclideanClusterExtraction_172.pxi" # Filters -include "Filters/StatisticalOutlierRemovalFilter.pxi" +include "Filters/StatisticalOutlierRemovalFilter_172.pxi" include "Filters/VoxelGridFilter_172.pxi" include "Filters/PassThroughFilter_172.pxi" -include "Filters/ApproximateVoxelGrid.pxi" -include "Surface/MovingLeastSquares.pxi" +include "Filters/ApproximateVoxelGrid_172.pxi" +# Kdtree +# same 1.6 ~ 1.8 # include "KdTree/KdTree.pxi" include "KdTree/KdTree_FLANN.pxi" # Octree @@ -20,15 +22,17 @@ include "Octree/OctreePointCloud_172.pxi" include "Octree/OctreePointCloud2Buf_172.pxi" include "Octree/OctreePointCloudSearch_172.pxi" include "Octree/OctreePointCloudChangeDetector_172.pxi" - -include "Vertices.pxi" +# Filters include "Filters/CropHull_172.pxi" include "Filters/CropBox_172.pxi" -include "Filters/ProjectInliers.pxi" +include "Filters/ProjectInliers_172.pxi" include "Filters/RadiusOutlierRemoval_172.pxi" -include "Filters/ConditionAnd.pxi" -include "Filters/ConditionalRemoval.pxi" -include "Surface/ConcaveHull.pxi" +include "Filters/ConditionAnd_172.pxi" +include "Filters/ConditionalRemoval_172.pxi" +# Surface +include "Surface/ConcaveHull_172.pxi" +include "Surface/MovingLeastSquares_172.pxi" +# RangeImage include "Common/RangeImage/RangeImages_172.pxi" # Registration @@ -36,6 +40,7 @@ include "registration/GeneralizedIterativeClosestPoint_172.pxi" include "registration/IterativeClosestPoint_172.pxi" include "registration/IterativeClosestPointNonLinear_172.pxi" # SampleConsensus +# same 1.6 ~ 1.8 include "SampleConsensus/RandomSampleConsensus.pxi" include "SampleConsensus/SampleConsensusModelPlane.pxi" include "SampleConsensus/SampleConsensusModelSphere.pxi" @@ -43,17 +48,12 @@ include "SampleConsensus/SampleConsensusModelCylinder.pxi" include "SampleConsensus/SampleConsensusModelLine.pxi" include "SampleConsensus/SampleConsensusModelRegistration.pxi" include "SampleConsensus/SampleConsensusModelStick.pxi" -# pcl 1.7.2? -# include "registration/NormalDistributionsTransform.pxi" - -# include "Visualization/PointCloudColorHandlerCustoms.pxi" - # Features include "Features/NormalEstimation_172.pxi" include "Features/VFHEstimation_172.pxi" include "Features/IntegralImageNormalEstimation_172.pxi" -# package ng -# include "Features/MomentOfInertiaEstimation_172.pxi" +# package ng?(use 1.8.0?) +include "Features/MomentOfInertiaEstimation_172.pxi" # keyPoint include "KeyPoint/HarrisKeypoint3D_172.pxi" @@ -62,7 +62,10 @@ include "KeyPoint/HarrisKeypoint3D_172.pxi" # Registration include "registration/NormalDistributionsTransform_172.pxi" +# pcl 1.7.2? +# include "registration/NormalDistributionsTransform.pxi" +# visual +# include "Visualization/PointCloudColorHandlerCustoms.pxi" ### - diff --git a/pcl/pxi/pxiInclude_180.pxi b/pcl/pxi/pxiInclude_180.pxi index e44b58ea8..c2a101b19 100644 --- a/pcl/pxi/pxiInclude_180.pxi +++ b/pcl/pxi/pxiInclude_180.pxi @@ -2,17 +2,19 @@ ### include ### # common? +include "Vertices.pxi" include "PointXYZtoPointXYZ.pxi" # Segmentation -include "Segmentation/Segmentation.pxi" -include "Segmentation/SegmentationNormal.pxi" -include "Segmentation/EuclideanClusterExtraction.pxi" +include "Segmentation/Segmentation_180.pxi" +include "Segmentation/SegmentationNormal_180.pxi" +include "Segmentation/EuclideanClusterExtraction_180.pxi" # Filters -include "Filters/StatisticalOutlierRemovalFilter.pxi" +include "Filters/StatisticalOutlierRemovalFilter_180.pxi" include "Filters/VoxelGridFilter_180.pxi" include "Filters/PassThroughFilter_180.pxi" -include "Filters/ApproximateVoxelGrid.pxi" -include "Surface/MovingLeastSquares.pxi" +include "Filters/ApproximateVoxelGrid_180.pxi" +# Kdtree +# same 1.6 to 1.8 # include "KdTree/KdTree.pxi" include "KdTree/KdTree_FLANN.pxi" # Octree @@ -20,21 +22,26 @@ include "Octree/OctreePointCloud_180.pxi" include "Octree/OctreePointCloud2Buf_180.pxi" include "Octree/OctreePointCloudSearch_180.pxi" include "Octree/OctreePointCloudChangeDetector_180.pxi" - -include "Vertices.pxi" +# Filters include "Filters/CropHull_180.pxi" include "Filters/CropBox_180.pxi" -include "Filters/ProjectInliers.pxi" +include "Filters/ProjectInliers_180.pxi" include "Filters/RadiusOutlierRemoval_180.pxi" -include "Filters/ConditionAnd.pxi" -include "Filters/ConditionalRemoval.pxi" -include "Surface/ConcaveHull.pxi" +include "Filters/ConditionAnd_180.pxi" +include "Filters/ConditionalRemoval_180.pxi" +# Surface +include "Surface/ConcaveHull_180.pxi" +include "Surface/MovingLeastSquares_180.pxi" +# RangeImage include "Common/RangeImage/RangeImages_180.pxi" + + # Registration include "registration/GeneralizedIterativeClosestPoint_180.pxi" include "registration/IterativeClosestPoint_180.pxi" include "registration/IterativeClosestPointNonLinear_180.pxi" # SampleConsensus +# same 1.6 to 1.8 include "SampleConsensus/RandomSampleConsensus.pxi" include "SampleConsensus/SampleConsensusModelPlane.pxi" include "SampleConsensus/SampleConsensusModelSphere.pxi" @@ -42,11 +49,6 @@ include "SampleConsensus/SampleConsensusModelCylinder.pxi" include "SampleConsensus/SampleConsensusModelLine.pxi" include "SampleConsensus/SampleConsensusModelRegistration.pxi" include "SampleConsensus/SampleConsensusModelStick.pxi" -# pcl 1.7.2? -# include "registration/NormalDistributionsTransform.pxi" - -# include "Visualization/PointCloudColorHandlerCustoms.pxi" - # Features include "Features/NormalEstimation_180.pxi" include "Features/VFHEstimation_180.pxi" @@ -60,7 +62,10 @@ include "KeyPoint/HarrisKeypoint3D_180.pxi" # Registration include "registration/NormalDistributionsTransform_180.pxi" +# pcl 1.7.2? +# include "registration/NormalDistributionsTransform.pxi" +# visual +# include "Visualization/PointCloudColorHandlerCustoms.pxi" ### - diff --git a/pcl/shared_ptr.pxd b/pcl/shared_ptr.pxd index e13ee4314..29ab9fc66 100644 --- a/pcl/shared_ptr.pxd +++ b/pcl/shared_ptr.pxd @@ -14,3 +14,5 @@ cdef extern from "boost/smart_ptr/shared_ptr.hpp" namespace "boost" nogil: cdef extern from "shared_ptr_assign.h" nogil: #void sp_assign(shared_ptr[cpp.PointCloud[cpp.PointXYZ]] &t, cpp.PointCloud[cpp.PointXYZ] *value) void sp_assign[T](shared_ptr[T] &p, T *value) + + diff --git a/readme.rst b/readme.rst index ceb59c6c4..5b058a20e 100644 --- a/readme.rst +++ b/readme.rst @@ -14,6 +14,7 @@ })(); +
Introduction ============ @@ -97,7 +98,7 @@ and Windows with and Windows with * (Miniconda/Anaconda) - Python 3.5 - * pcl 1.8.0(VS2015) + * pcl 1.8.1(VS2015) * Cython <= 0.25.2 * Gtk+ @@ -107,39 +108,67 @@ Installation Linux(Ubuntu) ------------- -PCL 1.7.0(use apt-get) -^^^^^^^^^^^^^^^^^^^^^^ +before Install module +^^^^^^^^^^^^^^^^^^^^^ - 1. Install PCL Module. + PCL 1.7.0 and Ubuntu14.04 (use apt-get) -.. code-block:: none -       - sudo add-apt-repository ppa:v-launchpad-jochen-sprickerhof-de/pcl -y - - sudo apt-get update -y - - sudo apt-get install libpcl-all -y + 1. Install PCL Module. + + .. code-block:: none + + sudo add-apt-repository ppa:v-launchpad-jochen-sprickerhof-de/pcl -y + + sudo apt-get update -y + + sudo apt-get install libpcl-all -y + + + PCL 1.7.2 and Ubuntu16.04 (use Debian package) + + 1. Install PCL Module.? + + .. code-block:: none -PCL 1.8.0 (build module)([CI Test Timeout]) -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + sudo apt-get update -y - 1. Build Module + sudo apt-get install build-essential devscripts - Reference `here `_. + dget -u https://launchpad.net/ubuntu/+archive/primary/+files/pcl_1.7.2-14ubuntu1.16.04.1.dsc -MacOSX + cd pcl-1.7.2 + + sudo dpkg-buildpackage -r -uc -b + + sudo dpkg -i pcl_*.deb + + * current add ppa + (sudo add-apt-repository -remove ppa:v-launchpad-jochen-sprickerhof-de/pcl -y) + + Reference `here `_. + + + PCL 1.8.0 and Ubuntu16.04(build module)([CI Test Timeout]) + + 1. Build Module + + Reference `here `_. + +MacOSX ------ -use homebrew -^^^^^^^^^^^^ +before Install module +^^^^^^^^^^^^^^^^^^^^^ + + Case1. use homebrew(PCL 1.8.1 - 2017/11/13 current) - 1. Install PCL Module. + 1. Install PCL Module. -.. code-block:: none + .. code-block:: none -       brew tap homebrew/science + brew tap homebrew/science - brew install pcl + brew install pcl Warning: diff --git a/readthedocs.yml b/readthedocs.yml new file mode 100644 index 000000000..e54935a7f --- /dev/null +++ b/readthedocs.yml @@ -0,0 +1,6 @@ +name: python-pcl +type: sphinx +base: docs/source +requirements_file: docs/requirements.txt +python: + setup_py_install: true diff --git a/setup.py b/setup.py index 5704924f2..879677071 100644 --- a/setup.py +++ b/setup.py @@ -541,6 +541,20 @@ def pkgconfig_win(flag, cut): ext_args['include_dirs'].append('/usr/include/ni') # ext_args['library_dirs'].append() # ext_args['libraries'].append() + + # VTK use? + # ext_args['include_dirs'].append('/usr/include/vtk') + # ext_args['include_dirs'].append('/usr/local/include/vtk') + # pcl 1.7(Ubuntu) + ext_args['include_dirs'].append('/usr/include/vtk-5.8') + ext_args['library_dirs'].append('/usr/lib') + # ext_args['libraries'].append('libvtk*.so') + # pcl 1.8.1(MacOSX) + ext_args['include_dirs'].append('/usr/local/include/vtk-8.0') + ext_args['library_dirs'].append('/usr/local/lib') + ext_args['include_dirs'].append('/usr/local/Cellar/vtk/8.0.1/include') + ext_args['library_dirs'].append('/usr/local/Cellar/vtk/8.0.1/lib') + # ext_args['libraries'].append('libvtk*.dylib') for flag in pkgconfig('--cflags-only-other'): if flag.startswith('-D'): @@ -548,6 +562,14 @@ def pkgconfig_win(flag, cut): ext_args['define_macros'].append((macro, value)) else: ext_args['extra_compile_args'].append(flag) + + # clang? + # https://github.com/strawlab/python-pcl/issues/129 + # gcc base libc++, clang base libstdc++ + # gcc5 + # ext_args['extra_compile_args'].append("-stdlib=libstdc++") + # gcc4? + # ext_args['extra_compile_args'].append("-stdlib=libc++") for flag in pkgconfig('--libs-only-l'): if flag == "-lflann_cpp-gd": @@ -600,15 +622,24 @@ def pkgconfig_win(flag, cut): setup(name='python-pcl', description='pcl wrapper', url='http://github.com/strawlab/python-pcl', - version='0.2', + version='0.3', author='John Stowers', author_email='john.stowers@gmail.com', + maintainer='Tooru Oonuma', + maintainer_email='t753github@gmail.com', license='BSD', - packages=["pcl"], + packages=[ + "pcl", + # "pcl.pcl_visualization", + ], zip_safe=False, setup_requires=setup_requires, install_requires=install_requires, + classifiers=[ + 'Programming Language :: Python :: 3.5', + 'Programming Language :: Python :: 3.6', + ], tests_require=['mock', 'nose'], ext_modules=module, - cmdclass={'build_ext': build_ext} - ) + cmdclass={'build_ext': build_ext}, +) diff --git a/tests/test.py b/tests/test.py deleted file mode 100644 index a0e4e2611..000000000 --- a/tests/test.py +++ /dev/null @@ -1,613 +0,0 @@ -import os.path -import pickle -import shutil -import tempfile -import unittest - -import pcl -import numpy as np - -from numpy.testing import assert_array_almost_equal, assert_array_equal - - -_data = [(i, 2 * i, 3 * i + 0.2) for i in range(5)] -_DATA = """0.0, 0.0, 0.2; - 1.0, 2.0, 3.2; - 2.0, 4.0, 6.2; - 3.0, 6.0, 9.2; - 4.0, 8.0, 12.2""" - -# io -class TestListIO(unittest.TestCase): - def setUp(self): - self.p = pcl.PointCloud(_data) - - def testFromList(self): - for i, d in enumerate(_data): - pt = self.p[i] - assert np.allclose(pt, _data[i]) - - def testToList(self): - l = self.p.to_list() - assert np.allclose(l, _data) - - -class TestNumpyIO(unittest.TestCase): - def setUp(self): - self.a = np.array(np.mat(_DATA, dtype=np.float32)) - self.p = pcl.PointCloud(self.a) - - def testFromNumpy(self): - for i, d in enumerate(_data): - pt = self.p[i] - assert np.allclose(pt, _data[i]) - - def testToNumpy(self): - a = self.p.to_array() - self.assertTrue(np.alltrue(a == self.a)) - - def test_asarray(self): - p = pcl.PointCloud(self.p) # copy - # old0 = p[0] - a = np.asarray(p) # view - a[:] += 6 - assert_array_almost_equal(p[0], a[0]) - - # Regression test: deleting a second view would previously - # reset the view count to zero. - b = np.asarray(p) - del b - - self.assertRaises(ValueError, p.resize, 2 * p.size) - - def test_pickle(self): - """Test pickle support.""" - # In this testcase because picking reduces to pickling NumPy arrays. - s = pickle.dumps(self.p) - p = pickle.loads(s) - self.assertTrue(np.all(self.a == p.to_array())) - -# copy the output of seg -SEGDATA = """ 0.352222 -0.151883 2; - -0.106395 -0.397406 1; - -0.473106 0.292602 1; - -0.731898 0.667105 -2; - 0.441304 -0.734766 1; - 0.854581 -0.0361733 1; - -0.4607 -0.277468 4; - -0.916762 0.183749 1; - 0.968809 0.512055 1; - -0.998983 -0.463871 1; - 0.691785 0.716053 1; - 0.525135 -0.523004 1; - 0.439387 0.56706 1; - 0.905417 -0.579787 1; - 0.898706 -0.504929 1""" - -SEGINLIERS = """-0.106395 -0.397406 1; - -0.473106 0.292602 1; - 0.441304 -0.734766 1; - 0.854581 -0.0361733 1; - -0.916762 0.183749 1; - 0.968809 0.512055 1; - -0.998983 -0.463871 1; - 0.691785 0.716053 1; - 0.525135 -0.523004 1; - 0.439387 0.56706 1; - 0.905417 -0.579787 1; - 0.898706 -0.504929 1""" -SEGINLIERSIDX = [1, 2, 4, 5, 7, 8, 9, 10, 11, 12, 13, 14] - -SEGCOEFF = [0.0, 0.0, 1.0, -1.0] - - -class TestSegmentPlane(unittest.TestCase): - def setUp(self): - self.a = np.array(np.mat(SEGDATA, dtype=np.float32)) - self.p = pcl.PointCloud() - self.p.from_array(self.a) - - def testLoad(self): - npts = self.a.shape[0] - self.assertEqual(npts, self.p.size) - self.assertEqual(npts, self.p.width) - self.assertEqual(1, self.p.height) - - def testSegmentPlaneObject(self): - seg = self.p.make_segmenter() - seg.set_optimize_coefficients(True) - seg.set_model_type(pcl.SACMODEL_PLANE) - seg.set_method_type(pcl.SAC_RANSAC) - seg.set_distance_threshold(0.01) - - indices, model = seg.segment() - self.assertListEqual(indices, SEGINLIERSIDX) - self.assertListEqual(model, SEGCOEFF) - - -def test_pcd_read(): - TMPL = """# .PCD v.7 - Point Cloud Data file format -VERSION .7 -FIELDS x y z -SIZE 4 4 4 -TYPE F F F -COUNT 1 1 1 -WIDTH %(npts)d -HEIGHT 1 -VIEWPOINT 0.1 0 0.5 0 1 0 0 -POINTS %(npts)d -DATA ascii -%(data)s""" - - a = np.array(np.mat(SEGDATA, dtype=np.float32)) - npts = a.shape[0] - tmp_file = tempfile.mkstemp(suffix='.pcd')[1] - with open(tmp_file, "w") as f: - f.write(TMPL % {"npts": npts, "data": SEGDATA.replace(";", "")}) - - p = pcl.load(tmp_file) - - assert p.width == npts - assert p.height == 1 - - for i, row in enumerate(a): - pt = np.array(p[i]) - ssd = sum((row - pt) ** 2) - assert ssd < 1e-6 - - assert_array_equal(p.sensor_orientation, - np.array([0, 1, 0, 0], dtype=np.float32)) - assert_array_equal(p.sensor_origin, - np.array([.1, 0, .5, 0], dtype=np.float32)) - - -def test_copy(): - a = np.random.randn(100, 3).astype(np.float32) - p1 = pcl.PointCloud(a) - p2 = pcl.PointCloud(p1) - assert_array_equal(p2.to_array(), a) - - -SEGCYLMOD = [0.0552167, 0.0547035, 0.757707, - -0.0270852, -4.41026, -2.88995, 0.0387603] -# 1.6 - (Only Mac), other -SEGCYLIN = 11461 -# 1.7.2 - (Only Mac) -# SEGCYLIN = 11462 -# 1.8 - (Only Mac) -# SEGCYLIN = 11450 - -class TestSegmentCylinder(unittest.TestCase): - - def setUp(self): - self.p = pcl.load("tests" + os.path.sep + "table_scene_mug_stereo_textured_noplane.pcd") - - def testSegment(self): - seg = self.p.make_segmenter_normals(50) - seg.set_optimize_coefficients(True) - seg.set_model_type(pcl.SACMODEL_CYLINDER) - seg.set_method_type(pcl.SAC_RANSAC) - seg.set_normal_distance_weight(0.1) - seg.set_max_iterations(10000) - seg.set_distance_threshold(0.05) - seg.set_radius_limits(0, 0.1) - - indices, model = seg.segment() - - # MAC NG - # self.assertEqual(len(indices), SEGCYLIN) - - # npexp = np.array(SEGCYLMOD) - # npmod = np.array(model) - # ssd = sum((npexp - npmod) ** 2) - # self.assertLess(ssd, 1e-6) - - -class TestSave(unittest.TestCase): - - def setUp(self): - self.p = pcl.load("tests" + os.path.sep + "table_scene_mug_stereo_textured_noplane.pcd") - self.tmpdir = tempfile.mkdtemp(suffix='pcl-test') - - def tearDown(self): - shutil.rmtree(self.tmpdir) - - def testSave(self): - for ext in ["pcd", "ply"]: - d = os.path.join(self.tmpdir, "foo." + ext) - pcl.save(self.p, d) - p = pcl.load(d) - self.assertEqual(self.p.size, p.size) - - -class TestFilter(unittest.TestCase): - - def setUp(self): - self.p = pcl.load("tests" + os.path.sep + "flydracyl.pcd") - - def testFilter(self): - mls = self.p.make_moving_least_squares() - mls.set_search_radius(0.5) - mls.set_polynomial_order(2) - mls.set_polynomial_fit(True) - f = mls.process() - # new instance is returned - self.assertNotEqual(self.p, f) - # mls filter retains the same number of points - self.assertEqual(self.p.size, f.size) - - -class TestExtract(unittest.TestCase): - - def setUp(self): - self.p = pcl.load("tests" + os.path.sep + "flydracyl.pcd") - - def testExtractPos(self): - p2 = self.p.extract([1, 2, 3], False) - # new instance is returned - self.assertNotEqual(self.p, p2) - self.assertEqual(p2.size, 3) - - def testExtractNeg(self): - p2 = self.p.extract([1, 2, 3], True) - self.assertNotEqual(self.p, p2) - self.assertEqual(p2.size, self.p.size - 3) - - -class TestExceptions(unittest.TestCase): - - def setUp(self): - self.p = pcl.PointCloud(np.arange(9, dtype=np.float32).reshape(3, 3)) - - def testIndex(self): - self.assertRaises(IndexError, self.p.__getitem__, self.p.size) - self.assertRaises(Exception, self.p.get_point, self.p.size, 1) - - def testResize(self): - # XXX MemoryError isn't actually the prettiest exception for a - # negative argument. Don't hesitate to change this test to reflect - # better exceptions. - self.assertRaises(MemoryError, self.p.resize, -1) - - -class TestSegmenterNormal(unittest.TestCase): - - def setUp(self): - self.p = pcl.load("tests" + os.path.sep + "table_scene_mug_stereo_textured_noplane.pcd") - - def _tpos(self, c): - self.assertEqual(c.size, 22745) - self.assertEqual(c.width, 22745) - self.assertEqual(c.height, 1) - self.assertTrue(c.is_dense) - - def _tneg(self, c): - self.assertEqual(c.size, 1015) - self.assertEqual(c.width, 1015) - self.assertEqual(c.height, 1) - self.assertTrue(c.is_dense) - - def testFilterPos(self): - fil = self.p.make_statistical_outlier_filter() - fil.set_mean_k(50) - self.assertEqual(fil.mean_k, 50) - fil.set_std_dev_mul_thresh(1.0) - self.assertEqual(fil.stddev_mul_thresh, 1.0) - c = fil.filter() - self._tpos(c) - - def testFilterNeg(self): - fil = self.p.make_statistical_outlier_filter() - fil.set_mean_k(50) - fil.set_std_dev_mul_thresh(1.0) - self.assertEqual(fil.negative, False) - fil.set_negative(True) - self.assertEqual(fil.negative, True) - c = fil.filter() - self._tneg(c) - - def testFilterPosNeg(self): - fil = self.p.make_statistical_outlier_filter() - fil.set_mean_k(50) - fil.set_std_dev_mul_thresh(1.0) - c = fil.filter() - self._tpos(c) - fil.set_negative(True) - c = fil.filter() - self._tneg(c) - - -class TestVoxelGridFilter(unittest.TestCase): - - def setUp(self): - self.p = pcl.load("tests" + os.path.sep + "table_scene_mug_stereo_textured_noplane.pcd") - - def testFilter(self): - fil = self.p.make_voxel_grid_filter() - fil.set_leaf_size(0.01, 0.01, 0.01) - c = fil.filter() - self.assertTrue(c.size < self.p.size) - self.assertEqual(c.size, 719) - - -class TestPassthroughFilter(unittest.TestCase): - - def setUp(self): - self.p = pcl.load("tests/table_scene_mug_stereo_textured_noplane.pcd") - - def testFilter(self): - fil = self.p.make_passthrough_filter() - fil.set_filter_field_name("z") - fil.set_filter_limits(0, 0.75) - c = fil.filter() - self.assertTrue(c.size < self.p.size) - self.assertEqual(c.size, 7751) - - def testFilterBoth(self): - total = self.p.size - fil = self.p.make_passthrough_filter() - fil.set_filter_field_name("z") - fil.set_filter_limits(0, 0.75) - front = fil.filter().size - fil.set_filter_limits(0.75, 100) - back = fil.filter().size - self.assertEqual(total, front + back) - - -class TestKdTree(unittest.TestCase): - def setUp(self): - rng = np.random.RandomState(42) - # Define two dense sets of points of sizes 30 and 170, resp. - a = rng.randn(100, 3).astype(np.float32) - a[:30] -= 42 - - self.pc = pcl.PointCloud(a) - self.kd = pcl.KdTreeFLANN(self.pc) - - def testException(self): - self.assertRaises(TypeError, pcl.KdTreeFLANN) - self.assertRaises(TypeError, self.kd.nearest_k_search_for_cloud, None) - - def testKNN(self): - # Small cluster - ind, sqdist = self.kd.nearest_k_search_for_point(self.pc, 0, k=2) - for i in ind: - self.assertGreaterEqual(i, 0) - self.assertLess(i, 30) - for d in sqdist: - self.assertGreaterEqual(d, 0) - - # Big cluster - for ref, k in ((80, 1), (59, 3), (60, 10)): - ind, sqdist = self.kd.nearest_k_search_for_point(self.pc, ref, k=k) - for i in ind: - self.assertGreaterEqual(i, 30) - for d in sqdist: - self.assertGreaterEqual(d, 0) - - -# class TestOctreePointCloud(unittest.TestCase): -# -# def setUp(self): -# self.t = pcl.OctreePointCloud(0.1) -# -# def testLoad(self): -# pc = pcl.load("tests" + os.path.sep + "table_scene_mug_stereo_textured_noplane.pcd") -# self.t.set_input_cloud(pc) -# self.t.define_bounding_box() -# self.t.add_points_from_input_cloud() -# good_point = (0.035296999, -0.074322999, 1.2074) -# rs = self.t.is_voxel_occupied_at_point(good_point) -# self.assertTrue(rs) -# bad_point = (0.5, 0.5, 0.5) -# rs = self.t.is_voxel_occupied_at_point(bad_point) -# self.assertFalse(rs) -# voxels_len = 44 -# self.assertEqual(len(self.t.get_occupied_voxel_centers()), voxels_len) -# self.t.delete_voxel_at_point(good_point) -# self.assertEqual( -# len(self.t.get_occupied_voxel_centers()), voxels_len - 1) - - -class TestOctreePointCloudSearch(unittest.TestCase): - - def setUp(self): - self.t = pcl.OctreePointCloudSearch(0.1) - pc = pcl.load("tests" + os.path.sep + "table_scene_mug_stereo_textured_noplane.pcd") - self.t.set_input_cloud(pc) - self.t.define_bounding_box() - self.t.add_points_from_input_cloud() - - def testConstructor(self): - self.assertRaises(ValueError, pcl.OctreePointCloudSearch, 0.) - - def testRadiusSearch(self): - good_point = (0.035296999, -0.074322999, 1.2074) - rs = self.t.radius_search(good_point, 0.5, 1) - self.assertEqual(len(rs[0]), 1) - self.assertEqual(len(rs[1]), 1) - rs = self.t.radius_search(good_point, 0.5) - self.assertEqual(len(rs[0]), 19730) - self.assertEqual(len(rs[1]), 19730) - -# class TestOctreePointCloudChangeDetector(unittest.TestCase): -# -# def setUp(self): -# self.t = pcl.OctreePointCloudSearch(0.1) -# pc = pcl.load("tests" + os.path.sep + "table_scene_mug_stereo_textured_noplane.pcd") -# self.t.set_input_cloud(pc) -# self.t.define_bounding_box() -# self.t.add_points_from_input_cloud() -# -# def testConstructor(self): -# self.assertRaises(ValueError, pcl.OctreePointCloudChangeDetector, 0.) -# -# def testRadiusSearch(self): -# good_point = (0.035296999, -0.074322999, 1.2074) -# rs = self.t.radius_search(good_point, 0.5, 1) -# self.assertEqual(len(rs[0]), 1) -# self.assertEqual(len(rs[1]), 1) -# rs = self.t.radius_search(good_point, 0.5) -# self.assertEqual(len(rs[0]), 19730) -# self.assertEqual(len(rs[1]), 19730) - -# class TestCropHull(unittest.TestCase): -# -# def setUp(self): -# self.pc = pcl.load("tests" + os.path.sep + "tutorials" + os.path.sep + "table_scene_mug_stereo_textured.pcd") -# -# def testException(self): -# self.assertRaises(TypeError, pcl.CropHull) -# -# def testCropHull(self): -# filterCloud = pcl.PointCloud() -# vt = pcl.Vertices() -# # // inside point -# # cloud->push_back(pcl::PointXYZ(M_PI * 0.3, M_PI * 0.3, 0)); -# # // hull points -# # cloud->push_back(pcl::PointXYZ(0,0,0)); -# # cloud->push_back(pcl::PointXYZ(M_PI,0,0)); -# # cloud->push_back(pcl::PointXYZ(M_PI,M_PI*0.5,0)); -# # cloud->push_back(pcl::PointXYZ(0,M_PI*0.5,0)); -# # cloud->push_back(pcl::PointXYZ(0,0,0)); -# # // outside point -# # cloud->push_back(pcl::PointXYZ(-M_PI * 0.3, -M_PI * 0.3, 0)); -# points_2 = np.array([ -# [1 * 0.3, 1 * 0.3, 0], -# [0, 0, 0], -# [1, 0, 0], -# [1, 1 * 0.5, 0], -# [0, 1 * 0.5, 0], -# [0, 0, 0], -# # [-1 * 0.3 , -1 * 0.3, 0] -# ], dtype=np.float32) -# filterCloud.from_array(points_2) -# # print(filterCloud) -# -# vertices_point_1 = np.array([1, 2, 3, 4, 5], dtype=np.int) -# vt.from_array(vertices_point_1) -# # print(vt) -# # vt.vertices.push_back(1) -# # vt.vertices.push_back(2) -# # vt.vertices.push_back(3) -# # vt.vertices.push_back(4) -# # vt.vertices.push_back(5) -# # vertices = vector[pcl.Vertices] -# # vertices.push_back(vt) -# -# outputCloud = pcl.PointCloud() -# # crophull = pcl.CropHull() -# # crophull.setInputCloud(self.pc) -# crophull = self.pc.make_crophull() -# # crophull.setHullIndices(vertices) -# # crophull.setHullIndices(vt) -# # crophull.setHullCloud(filterCloud) -# # crophull.setDim(2) -# # crophull.setCropOutside(false) -# crophull.SetParameter(filterCloud, vt) -# # indices = vector[int] -# # cropHull.filter(indices); -# # outputCloud = cropHull.filter(); -# # print("before: " + outputCloud) -# crophull.Filtering(outputCloud) -# # print(outputCloud) - - -# Viewer -# // pcl::visualization::CloudViewer viewer ("Cluster viewer"); -# // viewer.showCloud(colored_cloud); - -# Write Point -# pcl::PCDWriter writer; -# std::stringstream ss; -# ss << "min_cut_seg" << ".pcd"; -# // writer.write (ss.str (), *cloud, false); -# pcl::io::savePCDFile(ss.str(), *outputCloud, false); - - -# class TestCropBox(unittest.TestCase): -# -# def setUp(self): -# # self.pc = pcl.load("tests" + os.path.sep + "table_scene_mug_stereo_textured_noplane.pcd") -# self.pc = pcl.load("tests" + os.path.sep + "tutorials" + os.path.sep + "table_scene_mug_stereo_textured.pcd") -# -# def testException(self): -# self.assertRaises(TypeError, pcl.CropHull) -# -# def testCrop(self): -# pc = pcl.load("tests" + os.path.sep + "tutorials" + os.path.sep + "table_scene_mug_stereo_textured.pcd") -# clipper = self.pc.make_cropbox() -# outcloud = pcl.PointCloud() -# self.assertEqual(outcloud.size, 0) -# -# # clipper.setTranslation(Eigen::Vector3f(pose->tx, pose->ty, pose->tz)); -# # clipper.setRotation(Eigen::Vector3f(pose->rx, pose->ry, pose->rz)); -# # clipper.setMin(-Eigen::Vector4f(tracklet->l/2, tracklet->w/2, 0, 0)); -# # clipper.setMax(Eigen::Vector4f(tracklet->l/2, tracklet->w/2, tracklet->h, 0)); -# # clipper.filter(*outcloud); -# tx = 0 -# ty = 0 -# tz = 0 -# clipper.set_Translation(tx, ty, tz) -# rx = 0 -# ry = 0 -# rz = 0 -# clipper.set_Rotation(rx, ry, rz) -# minx = -1.5 -# miny = -1.5 -# minz = 0 -# mins = 0 -# maxx = 3.5 -# maxy = 3.5 -# maxz = 2 -# maxs = 0 -# clipper.set_MinMax(minx, miny, minz, mins, maxx, maxy, maxz, maxs) -# clipper.Filtering(outcloud) -# # self.assertNotEqual(outcloud.size, 0) -# self.assertNotEqual(outcloud.size, self.pc.size) - -# Add ProjectInlier -# class TestProjectInlier(unittest.TestCase): -# -# def setUp(self): -# # TestData -# self.pc = pcl.PointCloud(a) -# self.kd = pcl.CropBox(self.pc) -# -# def testException(self): -# self.assertRaises(TypeError, pcl.CropHull) -# self.assertRaises(TypeError, self.kd.nearest_k_search_for_cloud, None) -# -# def testCrop(self): -# # Big cluster -# for ref, k in ((80, 1), (59, 3), (60, 10)): -# ind, sqdist = self.kd.nearest_k_search_for_point(self.pc, ref, k=k) -# for i in ind: -# self.assertGreaterEqual(i, 30) -# for d in sqdist: -# self.assertGreaterEqual(d, 0) -# - -# Add RadiusOutlierRemoval - -# Add ConditionAnd - -def suite(): - suite = unittest.TestSuite() - suite.addTests(unittest.makeSuite(TestListIO)) - suite.addTests(unittest.makeSuite(TestNumpyIO)) - suite.addTests(unittest.makeSuite(TestSegmentPlane)) - suite.addTests(unittest.makeSuite(TestSegmentCylinder)) - suite.addTests(unittest.makeSuite(TestSave)) - suite.addTests(unittest.makeSuite(TestFilter)) - suite.addTests(unittest.makeSuite(TestExtract)) - suite.addTests(unittest.makeSuite(TestExceptions)) - suite.addTests(unittest.makeSuite(TestSegmenterNormal)) - suite.addTests(unittest.makeSuite(TestVoxelGridFilter)) - suite.addTests(unittest.makeSuite(TestPassthroughFilter)) - suite.addTests(unittest.makeSuite(TestKdTree)) - suite.addTests(unittest.makeSuite(TestOctreePointCloudSearch)) - return suite - -if __name__ == '__main__': - unittest.main() \ No newline at end of file diff --git a/tests/test_XYZI.py b/tests/test_XYZI.py deleted file mode 100644 index 420da1b4b..000000000 --- a/tests/test_XYZI.py +++ /dev/null @@ -1,469 +0,0 @@ -import os.path -import pickle -import shutil -import tempfile -import unittest - -import pcl -import numpy as np - -from numpy.testing import assert_array_almost_equal, assert_array_equal - - -_data = [(i, 2 * i, 3 * i + 0.2, 7) for i in range(5)] -_DATA = """0.0, 0.0, 0.2, 7; - 1.0, 2.0, 3.2, 7; - 2.0, 4.0, 6.2, 7; - 3.0, 6.0, 9.2, 7; - 4.0, 8.0, 12.2, 7""" - -# io -class TestListIO(unittest.TestCase): - def setUp(self): - self.p = pcl.PointCloud_PointXYZI(_data) - - def testFromList(self): - for i, d in enumerate(_data): - pt = self.p[i] - assert np.allclose(pt, _data[i]) - - def testToList(self): - l = self.p.to_list() - assert np.allclose(l, _data) - - -class TestNumpyIO(unittest.TestCase): - def setUp(self): - self.a = np.array(np.mat(_DATA, dtype=np.float32)) - self.p = pcl.PointCloud_PointXYZI(self.a) - - def testFromNumpy(self): - for i, d in enumerate(_data): - pt = self.p[i] - assert np.allclose(pt, _data[i]) - - def testToNumpy(self): - a = self.p.to_array() - self.assertTrue(np.alltrue(a == self.a)) - - def test_asarray(self): - p = pcl.PointCloud_PointXYZI(self.p) # copy - # old0 = p[0] - a = np.asarray(p) # view - a[:] += 6 - assert_array_almost_equal(p[0], a[0]) - - def test_pickle(self): - """Test pickle support.""" - # In this testcase because picking reduces to pickling NumPy arrays. - s = pickle.dumps(self.p) - p = pickle.loads(s) - self.assertTrue(np.all(self.a == p.to_array())) - -# copy the output of seg -SEGDATA = """ 0.352222 -0.151883 2 255; - -0.106395 -0.397406 1 255; - -0.473106 0.292602 1 255; - -0.731898 0.667105 -2 255; - 0.441304 -0.734766 1 255; - 0.854581 -0.0361733 1 255; - -0.4607 -0.277468 4 255; - -0.916762 0.183749 1 255; - 0.968809 0.512055 1 255; - -0.998983 -0.463871 1 255; - 0.691785 0.716053 1 255; - 0.525135 -0.523004 1 255; - 0.439387 0.56706 1 255; - 0.905417 -0.579787 1 255; - 0.898706 -0.504929 1 255""" - -SEGINLIERS = """-0.106395 -0.397406 1 255; - -0.473106 0.292602 1 255; - 0.441304 -0.734766 1 255; - 0.854581 -0.0361733 1 255; - -0.916762 0.183749 1 255; - 0.968809 0.512055 1 255; - -0.998983 -0.463871 1 255; - 0.691785 0.716053 1 255; - 0.525135 -0.523004 1 255; - 0.439387 0.56706 1 255; - 0.905417 -0.579787 1 255; - 0.898706 -0.504929 1 255""" -SEGINLIERSIDX = [1, 2, 4, 5, 7, 8, 9, 10, 11, 12, 13, 14] - -SEGCOEFF = [0.0, 0.0, 1.0, -1.0] - - -class TestSegmentPlane(unittest.TestCase): - def setUp(self): - self.a = np.array(np.mat(SEGDATA, dtype=np.float32)) - self.p = pcl.PointCloud_PointXYZI() - self.p.from_array(self.a) - - def testLoad(self): - npts = self.a.shape[0] - self.assertEqual(npts, self.p.size) - self.assertEqual(npts, self.p.width) - self.assertEqual(1, self.p.height) - - def testSegmentPlaneObject(self): - seg = self.p.make_segmenter() - seg.set_optimize_coefficients(True) - seg.set_model_type(pcl.SACMODEL_PLANE) - seg.set_method_type(pcl.SAC_RANSAC) - seg.set_distance_threshold(0.01) - - indices, model = seg.segment() - self.assertListEqual(indices, SEGINLIERSIDX) - self.assertListEqual(model, SEGCOEFF) - - -def test_pcd_read(): - TMPL = """# .PCD v.7 - Point Cloud Data file format -VERSION .7 -FIELDS x y z -SIZE 4 4 4 -TYPE F F F -COUNT 1 1 1 -WIDTH %(npts)d -HEIGHT 1 -VIEWPOINT 0.1 0 0.5 0 1 0 0 -POINTS %(npts)d -DATA ascii -%(data)s""" - - a = np.array(np.mat(SEGDATA, dtype=np.float32)) - npts = a.shape[0] - tmp_file = tempfile.mkstemp(suffix='.pcd')[1] - with open(tmp_file, "w") as f: - f.write(TMPL % {"npts": npts, "data": SEGDATA.replace(";", "")}) - - p = pcl.load_XYZI(tmp_file) - - assert p.width == npts - assert p.height == 1 - - for i, row in enumerate(a): - pt = np.array(p[i]) - ssd = sum((row - pt) ** 2) - assert ssd < 1e-6 - - assert_array_equal(p.sensor_orientation, - np.array([0, 1, 0, 0], dtype=np.float32)) - assert_array_equal(p.sensor_origin, - np.array([.1, 0, .5, 0], dtype=np.float32)) - - -def test_copy(): - a = np.random.randn(100, 3).astype(np.float32) - p1 = pcl.PointCloud_PointXYZI(a) - p2 = pcl.PointCloud_PointXYZI(p1) - assert_array_equal(p2.to_array(), a) - - -SEGCYLMOD = [0.0552167, 0.0547035, 0.757707, - -0.0270852, -4.41026, -2.88995, 0.0387603] -# 1.6 -# SEGCYLIN = 11461 -# 1.7.2 -# SEGCYLIN = 11462 - -class TestSegmentCylinder(unittest.TestCase): - - def setUp(self): - self.p = pcl.load_XYZI("tests" + os.path.sep + "table_scene_mug_stereo_textured_noplane.pcd") - - def testSegment(self): - seg = self.p.make_segmenter_normals(50) - seg.set_optimize_coefficients(True) - seg.set_model_type(pcl.SACMODEL_CYLINDER) - seg.set_method_type(pcl.SAC_RANSAC) - seg.set_normal_distance_weight(0.1) - seg.set_max_iterations(10000) - seg.set_distance_threshold(0.05) - seg.set_radius_limits(0, 0.1) - - indices, model = seg.segment() - - # self.assertEqual(len(indices), SEGCYLIN) - - # npexp = np.array(SEGCYLMOD) - # npmod = np.array(model) - # ssd = sum((npexp - npmod) ** 2) - # self.assertLess(ssd, 1e-6) - - -class TestSave(unittest.TestCase): - - def setUp(self): - self.p = pcl.load_XYZI("tests" + os.path.sep + "table_scene_mug_stereo_textured_noplane.pcd") - self.tmpdir = tempfile.mkdtemp(suffix='pcl-test') - - def tearDown(self): - shutil.rmtree(self.tmpdir) - - def testSave(self): - for ext in ["pcd", "ply"]: - d = os.path.join(self.tmpdir, "foo." + ext) - pcl.save(self.p, d) - p = pcl.load_XYZI(d) - self.assertEqual(self.p.size, p.size) - - -class TestFilter(unittest.TestCase): - - def setUp(self): - self.p = pcl.load_XYZI("tests" + os.path.sep + "flydracyl.pcd") - - def testFilter(self): - mls = self.p.make_moving_least_squares() - mls.set_search_radius(0.5) - mls.set_polynomial_order(2) - mls.set_polynomial_fit(True) - f = mls.process() - # new instance is returned - self.assertNotEqual(self.p, f) - # mls filter retains the same number of points - self.assertEqual(self.p.size, f.size) - - -class TestExtract(unittest.TestCase): - - def setUp(self): - self.p = pcl.load_XYZI("tests" + os.path.sep + "flydracyl.pcd") - - def testExtractPos(self): - p2 = self.p.extract([1, 2, 3], False) - # new instance is returned - self.assertNotEqual(self.p, p2) - self.assertEqual(p2.size, 3) - - def testExtractNeg(self): - p2 = self.p.extract([1, 2, 3], True) - self.assertNotEqual(self.p, p2) - self.assertEqual(p2.size, self.p.size - 3) - - -class TestExceptions(unittest.TestCase): - - def setUp(self): - self.p = pcl.PointCloud_PointXYZI(np.arange(12, dtype=np.float32).reshape(3, 4)) - - def testIndex(self): - self.assertRaises(IndexError, self.p.__getitem__, self.p.size) - self.assertRaises(Exception, self.p.get_point, self.p.size, 1) - - def testResize(self): - # XXX MemoryError isn't actually the prettiest exception for a - # negative argument. Don't hesitate to change this test to reflect - # better exceptions. - self.assertRaises(MemoryError, self.p.resize, -1) - - -class TestSegmenterNormal(unittest.TestCase): - - def setUp(self): - self.p = pcl.load_XYZI("tests" + os.path.sep + "table_scene_mug_stereo_textured_noplane.pcd") - - def _tpos(self, c): - self.assertEqual(c.size, 22745) - self.assertEqual(c.width, 22745) - self.assertEqual(c.height, 1) - self.assertTrue(c.is_dense) - - def _tneg(self, c): - self.assertEqual(c.size, 1015) - self.assertEqual(c.width, 1015) - self.assertEqual(c.height, 1) - self.assertTrue(c.is_dense) - - def testFilterPos(self): - fil = self.p.make_statistical_outlier_filter() - fil.set_mean_k(50) - self.assertEqual(fil.mean_k, 50) - fil.set_std_dev_mul_thresh(1.0) - self.assertEqual(fil.stddev_mul_thresh, 1.0) - c = fil.filter() - self._tpos(c) - - def testFilterNeg(self): - fil = self.p.make_statistical_outlier_filter() - fil.set_mean_k(50) - fil.set_std_dev_mul_thresh(1.0) - self.assertEqual(fil.negative, False) - fil.set_negative(True) - self.assertEqual(fil.negative, True) - c = fil.filter() - self._tneg(c) - - def testFilterPosNeg(self): - fil = self.p.make_statistical_outlier_filter() - fil.set_mean_k(50) - fil.set_std_dev_mul_thresh(1.0) - c = fil.filter() - self._tpos(c) - fil.set_negative(True) - c = fil.filter() - self._tneg(c) - - -class TestVoxelGridFilter(unittest.TestCase): - - def setUp(self): - self.p = pcl.load_XYZI("tests" + os.path.sep + "table_scene_mug_stereo_textured_noplane.pcd") - - def testFilter(self): - fil = self.p.make_voxel_grid_filter() - fil.set_leaf_size(0.01, 0.01, 0.01) - c = fil.filter() - self.assertTrue(c.size < self.p.size) - self.assertEqual(c.size, 719) - - -class TestPassthroughFilter(unittest.TestCase): - - def setUp(self): - self.p = pcl.load("tests/table_scene_mug_stereo_textured_noplane.pcd") - - def testFilter(self): - fil = self.p.make_passthrough_filter() - fil.set_filter_field_name("z") - fil.set_filter_limits(0, 0.75) - c = fil.filter() - self.assertTrue(c.size < self.p.size) - self.assertEqual(c.size, 7751) - - def testFilterBoth(self): - total = self.p.size - fil = self.p.make_passthrough_filter() - fil.set_filter_field_name("z") - fil.set_filter_limits(0, 0.75) - front = fil.filter().size - fil.set_filter_limits(0.75, 100) - back = fil.filter().size - self.assertEqual(total, front + back) - - -class TestKdTree(unittest.TestCase): - - def setUp(self): - rng = np.random.RandomState(42) - # Define two dense sets of points of sizes 30 and 170, resp. - a = rng.randn(100, 4).astype(np.float32) - a[:30] -= 42 - - self.pc = pcl.PointCloud_PointXYZI(a) - self.kd = pcl.KdTreeFLANN_PointXYZI(self.pc) - - def testException(self): - self.assertRaises(TypeError, pcl.KdTreeFLANN_PointXYZI) - self.assertRaises(TypeError, self.kd.nearest_k_search_for_cloud, None) - - def testKNN(self): - # Small cluster - ind, sqdist = self.kd.nearest_k_search_for_point(self.pc, 0, k=2) - for i in ind: - self.assertGreaterEqual(i, 0) - self.assertLess(i, 30) - for d in sqdist: - self.assertGreaterEqual(d, 0) - - # Big cluster - for ref, k in ((80, 1), (59, 3), (60, 10)): - ind, sqdist = self.kd.nearest_k_search_for_point(self.pc, ref, k=k) - for i in ind: - self.assertGreaterEqual(i, 30) - for d in sqdist: - self.assertGreaterEqual(d, 0) - - -# class TestOctreePointCloud(unittest.TestCase): -# -# def setUp(self): -# self.t = pcl.OctreePointCloud_PointXYZI(0.1) -# -# def testLoad(self): -# pc = pcl.load_XYZI("tests" + os.path.sep + "table_scene_mug_stereo_textured_noplane.pcd") -# self.t.set_input_cloud(pc) -# self.t.define_bounding_box() -# self.t.add_points_from_input_cloud() -# good_point = (0.035296999, -0.074322999, 1.2074, 0.0) -# rs = self.t.is_voxel_occupied_at_point(good_point) -# self.assertTrue(rs) -# bad_point = (0.5, 0.5, 0.5, 0.0) -# rs = self.t.is_voxel_occupied_at_point(bad_point) -# self.assertFalse(rs) -# voxels_len = 44 -# self.assertEqual(len(self.t.get_occupied_voxel_centers()), voxels_len) -# self.t.delete_voxel_at_point(good_point) -# self.assertEqual( -# len(self.t.get_occupied_voxel_centers()), voxels_len - 1) - - -class TestOctreePointCloudSearch(unittest.TestCase): - - def setUp(self): - self.t = pcl.OctreePointCloudSearch_PointXYZI(0.1) - pc = pcl.load_XYZI("tests" + os.path.sep + "table_scene_mug_stereo_textured_noplane.pcd") - self.t.set_input_cloud(pc) - self.t.define_bounding_box() - self.t.add_points_from_input_cloud() - - def testConstructor(self): - self.assertRaises(ValueError, pcl.OctreePointCloudSearch_PointXYZI, 0.) - - def testRadiusSearch(self): - good_point = (0.035296999, -0.074322999, 1.2074, 0.1) - rs = self.t.radius_search(good_point, 0.5, 1) - self.assertEqual(len(rs[0]), 1) - self.assertEqual(len(rs[1]), 1) - rs = self.t.radius_search(good_point, 0.5) - self.assertEqual(len(rs[0]), 19730) - self.assertEqual(len(rs[1]), 19730) - -# Add -# class TestCropHull(unittest.TestCase): -# -# def setUp(self): -# # TestData -# self.pc = pcl.PointCloud_PointXYZI(a) -# self.kd = pcl.CropHull(self.pc) -# -# def testException(self): -# self.assertRaises(TypeError, pcl.CropHull) -# self.assertRaises(TypeError, self.) -# -# def testCrop(self): -# # Big cluster -# for ref, k in ((80, 1), (59, 3), (60, 10)): -# ind, sqdist = self.kd.nearest_k_search_for_point(self.pc, ref, k=k) -# for i in ind: -# self.assertGreaterEqual(i, 30) -# for d in sqdist: -# self.assertGreaterEqual(d, 0) -# - -# class TestCropBox(unittest.TestCase): -# -# def setUp(self): -# # TestData -# self.pc = pcl.PointCloud_PointXYZI(a) -# self.kd = pcl.CropBox(self.pc) -# -# def testException(self): -# self.assertRaises(TypeError, pcl.CropHull) -# self.assertRaises(TypeError, self.kd.nearest_k_search_for_cloud, None) -# -# def testCrop(self): -# # Big cluster -# for ref, k in ((80, 1), (59, 3), (60, 10)): -# ind, sqdist = self.kd.nearest_k_search_for_point(self.pc, ref, k=k) -# for i in ind: -# self.assertGreaterEqual(i, 30) -# for d in sqdist: -# self.assertGreaterEqual(d, 0) -# - - -if __name__ == '__main__': - unittest.main() \ No newline at end of file diff --git a/tests/test_XYZRGB.py b/tests/test_XYZRGB.py deleted file mode 100644 index 3f496739d..000000000 --- a/tests/test_XYZRGB.py +++ /dev/null @@ -1,425 +0,0 @@ -import os.path -import pickle -import shutil -import tempfile -import unittest - -import pcl -import numpy as np - -from numpy.testing import assert_array_almost_equal, assert_array_equal - - -_data = [(i, 2 * i, 3 * i + 0.2, 16777215) for i in range(5)] -_DATA = """0.0, 0.0, 0.2, 16777215; - 1.0, 2.0, 3.2, 16777215; - 2.0, 4.0, 6.2, 16777215; - 3.0, 6.0, 9.2, 16777215; - 4.0, 8.0, 12.2, 16777215""" - - -class TestListIO(unittest.TestCase): - def setUp(self): - self.p = pcl.PointCloud_PointXYZRGB(_data) - - def testFromList(self): - for i, d in enumerate(_data): - pt = self.p[i] - assert np.allclose(pt, _data[i]) - - def testToList(self): - l = self.p.to_list() - assert np.allclose(l, _data) - - -class TestNumpyIO(unittest.TestCase): - def setUp(self): - self.a = np.array(np.mat(_DATA, dtype=np.float32)) - self.p = pcl.PointCloud_PointXYZRGB(self.a) - - def testFromNumpy(self): - for i, d in enumerate(_data): - pt = self.p[i] - assert np.allclose(pt, _data[i]) - - def testToNumpy(self): - a = self.p.to_array() - self.assertTrue(np.alltrue(a == self.a)) - - def test_asarray(self): - p = pcl.PointCloud_PointXYZRGB(self.p) # copy - # old0 = p[0] - a = np.asarray(p) # view - a[:] += 0 - assert_array_almost_equal(p[0], a[0]) - - def test_pickle(self): - """Test pickle support.""" - # In this testcase because picking reduces to pickling NumPy arrays. - s = pickle.dumps(self.p) - p = pickle.loads(s) - self.assertTrue(np.all(self.a == p.to_array())) - -# copy the output of seg -SEGDATA = """ 0.352222 -0.151883 2 16777215; - -0.106395 -0.397406 1 16777215; - -0.473106 0.292602 1 16777215; - -0.731898 0.667105 -2 16777215; - 0.441304 -0.734766 1 16777215; - 0.854581 -0.0361733 1 16777215; - -0.4607 -0.277468 4 16777215; - -0.916762 0.183749 1 16777215; - 0.968809 0.512055 1 16777215; - -0.998983 -0.463871 1 16777215; - 0.691785 0.716053 1 16777215; - 0.525135 -0.523004 1 16777215; - 0.439387 0.56706 1 16777215; - 0.905417 -0.579787 1 16777215; - 0.898706 -0.504929 1 16777215""" - -SEGINLIERS = """-0.106395 -0.397406 1 16777215; - -0.473106 0.292602 1 16777215; - 0.441304 -0.734766 1 16777215; - 0.854581 -0.0361733 1 16777215; - -0.916762 0.183749 1 16777215; - 0.968809 0.512055 1 16777215; - -0.998983 -0.463871 1 16777215; - 0.691785 0.716053 1 16777215; - 0.525135 -0.523004 1 16777215; - 0.439387 0.56706 1 16777215; - 0.905417 -0.579787 1 16777215; - 0.898706 -0.504929 1 16777215""" -SEGINLIERSIDX = [1, 2, 4, 5, 7, 8, 9, 10, 11, 12, 13, 14] - -SEGCOEFF = [0.0, 0.0, 1.0, -1.0] - - -class TestSegmentPlane(unittest.TestCase): - def setUp(self): - self.a = np.array(np.mat(SEGDATA, dtype=np.float32)) - self.p = pcl.PointCloud_PointXYZRGB() - self.p.from_array(self.a) - - def testLoad(self): - npts = self.a.shape[0] - self.assertEqual(npts, self.p.size) - self.assertEqual(npts, self.p.width) - self.assertEqual(1, self.p.height) - - def testSegmentPlaneObject(self): - seg = self.p.make_segmenter() - seg.set_optimize_coefficients(True) - seg.set_model_type(pcl.SACMODEL_PLANE) - seg.set_method_type(pcl.SAC_RANSAC) - seg.set_distance_threshold(0.01) - - indices, model = seg.segment() - self.assertListEqual(indices, SEGINLIERSIDX) - self.assertListEqual(model, SEGCOEFF) - - -def test_pcd_read(): - TMPL = """# .PCD v.7 - Point Cloud Data file format -VERSION .7 -FIELDS x y z -SIZE 4 4 4 -TYPE F F F -COUNT 1 1 1 -WIDTH %(npts)d -HEIGHT 1 -VIEWPOINT 0.1 0 0.5 0 1 0 0 -POINTS %(npts)d -DATA ascii -%(data)s""" - - a = np.array(np.mat(SEGDATA, dtype=np.float32)) - npts = a.shape[0] - tmp_file = tempfile.mkstemp(suffix='.pcd')[1] - with open(tmp_file, "w") as f: - f.write(TMPL % {"npts": npts, "data": SEGDATA.replace(";", "")}) - - p = pcl.load_XYZRGB(tmp_file) - - assert p.width == npts - assert p.height == 1 - - for i, row in enumerate(a): - pt = np.array(p[i]) - ssd = sum((row - pt) ** 2) - assert ssd < 1e-6 - - assert_array_equal(p.sensor_orientation, - np.array([0, 1, 0, 0], dtype=np.float32)) - assert_array_equal(p.sensor_origin, - np.array([.1, 0, .5, 0], dtype=np.float32)) - - -def test_copy(): - a = np.random.randn(100, 4).astype(np.float32) - p1 = pcl.PointCloud_PointXYZRGB(a) - p2 = pcl.PointCloud_PointXYZRGB(p1) - assert_array_equal(p2.to_array(), a) - - -SEGCYLMOD = [0.0552167, 0.0547035, 0.757707, - -0.0270852, -4.41026, -2.88995, 0.0387603] -# 1.6 -# SEGCYLIN = 11461 -# 1.7.2 -# SEGCYLIN = 11462 - -class TestSegmentCylinder(unittest.TestCase): - - def setUp(self): - self.p = pcl.load_XYZRGB("tests" + os.path.sep + "table_scene_mug_stereo_textured_noplane.pcd") - - def testSegment(self): - seg = self.p.make_segmenter_normals(50) - seg.set_optimize_coefficients(True) - seg.set_model_type(pcl.SACMODEL_CYLINDER) - seg.set_method_type(pcl.SAC_RANSAC) - seg.set_normal_distance_weight(0.1) - seg.set_max_iterations(10000) - seg.set_distance_threshold(0.05) - seg.set_radius_limits(0, 0.1) - - indices, model = seg.segment() - - # self.assertEqual(len(indices), SEGCYLIN) - - # npexp = np.array(SEGCYLMOD) - # npmod = np.array(model) - # ssd = sum((npexp - npmod) ** 2) - # self.assertLess(ssd, 1e-6) - - -class TestSave(unittest.TestCase): - - def setUp(self): - self.p = pcl.load_XYZRGB("tests" + os.path.sep + "table_scene_mug_stereo_textured_noplane.pcd") - self.tmpdir = tempfile.mkdtemp(suffix='pcl-test') - - def tearDown(self): - shutil.rmtree(self.tmpdir) - - def testSave(self): - for ext in ["pcd", "ply"]: - d = os.path.join(self.tmpdir, "foo." + ext) - pcl.save(self.p, d) - p = pcl.load_XYZRGB(d) - self.assertEqual(self.p.size, p.size) - - -class TestFilter(unittest.TestCase): - - def setUp(self): - self.p = pcl.load_XYZRGB("tests" + os.path.sep + "flydracyl.pcd") - - def testFilter(self): - mls = self.p.make_moving_least_squares() - mls.set_search_radius(0.5) - mls.set_polynomial_order(2) - mls.set_polynomial_fit(True) - f = mls.process() - # new instance is returned - self.assertNotEqual(self.p, f) - # mls filter retains the same number of points - self.assertEqual(self.p.size, f.size) - - -class TestExtract(unittest.TestCase): - - def setUp(self): - self.p = pcl.load_XYZRGB("tests" + os.path.sep + "flydracyl.pcd") - - def testExtractPos(self): - p2 = self.p.extract([1, 2, 3], False) - # new instance is returned - self.assertNotEqual(self.p, p2) - self.assertEqual(p2.size, 3) - - def testExtractNeg(self): - p2 = self.p.extract([1, 2, 3], True) - self.assertNotEqual(self.p, p2) - self.assertEqual(p2.size, self.p.size - 3) - - -class TestExceptions(unittest.TestCase): - - def setUp(self): - self.p = pcl.PointCloud_PointXYZRGB(np.arange(12, dtype=np.float32).reshape(3, 4)) - - def testIndex(self): - self.assertRaises(IndexError, self.p.__getitem__, self.p.size) - self.assertRaises(Exception, self.p.get_point, self.p.size, 1) - - def testResize(self): - # XXX MemoryError isn't actually the prettiest exception for a - # negative argument. Don't hesitate to change this test to reflect - # better exceptions. - self.assertRaises(MemoryError, self.p.resize, -1) - - -class TestSegmenterNormal(unittest.TestCase): - - def setUp(self): - self.p = pcl.load_XYZRGB("tests" + os.path.sep + "table_scene_mug_stereo_textured_noplane.pcd") - - def _tpos(self, c): - self.assertEqual(c.size, 22745) - self.assertEqual(c.width, 22745) - self.assertEqual(c.height, 1) - self.assertTrue(c.is_dense) - - def _tneg(self, c): - self.assertEqual(c.size, 1015) - self.assertEqual(c.width, 1015) - self.assertEqual(c.height, 1) - self.assertTrue(c.is_dense) - - def testFilterPos(self): - fil = self.p.make_statistical_outlier_filter() - fil.set_mean_k(50) - self.assertEqual(fil.mean_k, 50) - fil.set_std_dev_mul_thresh(1.0) - self.assertEqual(fil.stddev_mul_thresh, 1.0) - c = fil.filter() - self._tpos(c) - - def testFilterNeg(self): - fil = self.p.make_statistical_outlier_filter() - fil.set_mean_k(50) - fil.set_std_dev_mul_thresh(1.0) - self.assertEqual(fil.negative, False) - fil.set_negative(True) - self.assertEqual(fil.negative, True) - c = fil.filter() - self._tneg(c) - - def testFilterPosNeg(self): - fil = self.p.make_statistical_outlier_filter() - fil.set_mean_k(50) - fil.set_std_dev_mul_thresh(1.0) - c = fil.filter() - self._tpos(c) - fil.set_negative(True) - c = fil.filter() - self._tneg(c) - - -class TestVoxelGridFilter(unittest.TestCase): - - def setUp(self): - self.p = pcl.load_XYZRGB("tests" + os.path.sep + "table_scene_mug_stereo_textured_noplane.pcd") - - def testFilter(self): - fil = self.p.make_voxel_grid_filter() - fil.set_leaf_size(0.01, 0.01, 0.01) - c = fil.filter() - self.assertTrue(c.size < self.p.size) - self.assertEqual(c.size, 719) - - -class TestPassthroughFilter(unittest.TestCase): - - def setUp(self): - self.p = pcl.load_XYZRGB("tests/table_scene_mug_stereo_textured_noplane.pcd") - - def testFilter(self): - fil = self.p.make_passthrough_filter() - fil.set_filter_field_name("z") - fil.set_filter_limits(0, 0.75) - c = fil.filter() - self.assertTrue(c.size < self.p.size) - self.assertEqual(c.size, 7751) - - def testFilterBoth(self): - total = self.p.size - fil = self.p.make_passthrough_filter() - fil.set_filter_field_name("z") - fil.set_filter_limits(0, 0.75) - front = fil.filter().size - fil.set_filter_limits(0.75, 100) - back = fil.filter().size - self.assertEqual(total, front + back) - - -class TestKdTree(unittest.TestCase): - - def setUp(self): - rng = np.random.RandomState(42) - # Define two dense sets of points of sizes 30 and 170, resp. - a = rng.randn(100, 4).astype(np.float32) - a[:30] -= 42 - - self.pc = pcl.PointCloud_PointXYZRGB(a) - self.kd = pcl.KdTreeFLANN_PointXYZRGB(self.pc) - - def testException(self): - self.assertRaises(TypeError, pcl.KdTreeFLANN_PointXYZRGB) - self.assertRaises(TypeError, self.kd.nearest_k_search_for_cloud, None) - - def testKNN(self): - # Small cluster - ind, sqdist = self.kd.nearest_k_search_for_point(self.pc, 0, k=2) - for i in ind: - self.assertGreaterEqual(i, 0) - self.assertLess(i, 30) - for d in sqdist: - self.assertGreaterEqual(d, 0) - - # Big cluster - for ref, k in ((80, 1), (59, 3), (60, 10)): - ind, sqdist = self.kd.nearest_k_search_for_point(self.pc, ref, k=k) - for i in ind: - self.assertGreaterEqual(i, 30) - for d in sqdist: - self.assertGreaterEqual(d, 0) - - -# class TestOctreePointCloud(unittest.TestCase): -# -# def setUp(self): -# self.t = pcl.OctreePointCloud_PointXYZRGB(0.1) -# -# def testLoad(self): -# pc = pcl.load_XYZRGB("tests" + os.path.sep + "table_scene_mug_stereo_textured_noplane.pcd") -# self.t.set_input_cloud(pc) -# self.t.define_bounding_box() -# self.t.add_points_from_input_cloud() -# good_point = (0.035296999, -0.074322999, 1.2074) -# rs = self.t.is_voxel_occupied_at_point(good_point) -# self.assertTrue(rs) -# bad_point = (0.5, 0.5, 0.5) -# rs = self.t.is_voxel_occupied_at_point(bad_point) -# self.assertFalse(rs) -# voxels_len = 44 -# self.assertEqual(len(self.t.get_occupied_voxel_centers()), voxels_len) -# self.t.delete_voxel_at_point(good_point) -# self.assertEqual( -# len(self.t.get_occupied_voxel_centers()), voxels_len - 1) - - -class TestOctreePointCloudSearch(unittest.TestCase): - - def setUp(self): - self.t = pcl.OctreePointCloudSearch_XYZRGB(0.1) - pc = pcl.load_XYZRGB("tests" + os.path.sep + "table_scene_mug_stereo_textured_noplane.pcd") - self.t.set_input_cloud(pc) - self.t.define_bounding_box() - self.t.add_points_from_input_cloud() - - def testConstructor(self): - self.assertRaises(ValueError, pcl.OctreePointCloudSearch_XYZRGB, 0.) - - def testRadiusSearch(self): - good_point = (0.035296999, -0.074322999, 1.2074) - rs = self.t.radius_search(good_point, 0.5, 1) - self.assertEqual(len(rs[0]), 1) - self.assertEqual(len(rs[1]), 1) - rs = self.t.radius_search(good_point, 0.5) - self.assertEqual(len(rs[0]), 19730) - self.assertEqual(len(rs[1]), 19730) - -if __name__ == '__main__': - unittest.main() \ No newline at end of file diff --git a/tests/test_XYZRGBA.py b/tests/test_XYZRGBA.py deleted file mode 100644 index 39e41f867..000000000 --- a/tests/test_XYZRGBA.py +++ /dev/null @@ -1,425 +0,0 @@ -import os.path -import pickle -import shutil -import tempfile -import unittest - -import pcl -import numpy as np - -from numpy.testing import assert_array_almost_equal, assert_array_equal - - -_data = [(i, 2 * i, 3 * i + 0.2, 16777215) for i in range(5)] -_DATA = """0.0, 0.0, 0.2, 16777215; - 1.0, 2.0, 3.2, 16777215; - 2.0, 4.0, 6.2, 16777215; - 3.0, 6.0, 9.2, 16777215; - 4.0, 8.0, 12.2, 16777215""" - - -class TestListIO(unittest.TestCase): - def setUp(self): - self.p = pcl.PointCloud_PointXYZRGBA(_data) - - def testFromList(self): - for i, d in enumerate(_data): - pt = self.p[i] - assert np.allclose(pt, _data[i]) - - def testToList(self): - l = self.p.to_list() - assert np.allclose(l, _data) - - -class TestNumpyIO(unittest.TestCase): - def setUp(self): - self.a = np.array(np.mat(_DATA, dtype=np.float32)) - self.p = pcl.PointCloud_PointXYZRGBA(self.a) - - def testFromNumpy(self): - for i, d in enumerate(_data): - pt = self.p[i] - assert np.allclose(pt, _data[i]) - - def testToNumpy(self): - a = self.p.to_array() - self.assertTrue(np.alltrue(a == self.a)) - - def test_asarray(self): - p = pcl.PointCloud_PointXYZRGBA(self.p) # copy - # old0 = p[0] - a = np.asarray(p) # view - a[:] += 6 - assert_array_almost_equal(p[0], a[0]) - - def test_pickle(self): - """Test pickle support.""" - # In this testcase because picking reduces to pickling NumPy arrays. - s = pickle.dumps(self.p) - p = pickle.loads(s) - self.assertTrue(np.all(self.a == p.to_array())) - -# copy the output of seg -SEGDATA = """ 0.352222 -0.151883 2 16777215; - -0.106395 -0.397406 1 16777215; - -0.473106 0.292602 1 16777215; - -0.731898 0.667105 -2 16777215; - 0.441304 -0.734766 1 16777215; - 0.854581 -0.0361733 1 16777215; - -0.4607 -0.277468 4 16777215; - -0.916762 0.183749 1 16777215; - 0.968809 0.512055 1 16777215; - -0.998983 -0.463871 1 16777215; - 0.691785 0.716053 1 16777215; - 0.525135 -0.523004 1 16777215; - 0.439387 0.56706 1 16777215; - 0.905417 -0.579787 1 16777215; - 0.898706 -0.504929 1 16777215""" - -SEGINLIERS = """-0.106395 -0.397406 1 16777215; - -0.473106 0.292602 1 16777215; - 0.441304 -0.734766 1 16777215; - 0.854581 -0.0361733 1 16777215; - -0.916762 0.183749 1 16777215; - 0.968809 0.512055 1 16777215; - -0.998983 -0.463871 1 16777215; - 0.691785 0.716053 1 16777215; - 0.525135 -0.523004 1 16777215; - 0.439387 0.56706 1 16777215; - 0.905417 -0.579787 1 16777215; - 0.898706 -0.504929 1 16777215""" -SEGINLIERSIDX = [1, 2, 4, 5, 7, 8, 9, 10, 11, 12, 13, 14] - -SEGCOEFF = [0.0, 0.0, 1.0, -1.0] - - -class TestSegmentPlane(unittest.TestCase): - def setUp(self): - self.a = np.array(np.mat(SEGDATA, dtype=np.float32)) - self.p = pcl.PointCloud_PointXYZRGBA() - self.p.from_array(self.a) - - def testLoad(self): - npts = self.a.shape[0] - self.assertEqual(npts, self.p.size) - self.assertEqual(npts, self.p.width) - self.assertEqual(1, self.p.height) - - def testSegmentPlaneObject(self): - seg = self.p.make_segmenter() - seg.set_optimize_coefficients(True) - seg.set_model_type(pcl.SACMODEL_PLANE) - seg.set_method_type(pcl.SAC_RANSAC) - seg.set_distance_threshold(0.01) - - indices, model = seg.segment() - self.assertListEqual(indices, SEGINLIERSIDX) - self.assertListEqual(model, SEGCOEFF) - - -def test_pcd_read(): - TMPL = """# .PCD v.7 - Point Cloud Data file format -VERSION .7 -FIELDS x y z -SIZE 4 4 4 -TYPE F F F -COUNT 1 1 1 -WIDTH %(npts)d -HEIGHT 1 -VIEWPOINT 0.1 0 0.5 0 1 0 0 -POINTS %(npts)d -DATA ascii -%(data)s""" - - a = np.array(np.mat(SEGDATA, dtype=np.float32)) - npts = a.shape[0] - tmp_file = tempfile.mkstemp(suffix='.pcd')[1] - with open(tmp_file, "w") as f: - f.write(TMPL % {"npts": npts, "data": SEGDATA.replace(";", "")}) - - p = pcl.load_XYZRGBA(tmp_file) - - assert p.width == npts - assert p.height == 1 - - for i, row in enumerate(a): - pt = np.array(p[i]) - ssd = sum((row - pt) ** 2) - assert ssd < 1e-6 - - assert_array_equal(p.sensor_orientation, - np.array([0, 1, 0, 0], dtype=np.float32)) - assert_array_equal(p.sensor_origin, - np.array([.1, 0, .5, 0], dtype=np.float32)) - - -def test_copy(): - a = np.random.randn(100, 4).astype(np.float32) - p1 = pcl.PointCloud_PointXYZRGBA(a) - p2 = pcl.PointCloud_PointXYZRGBA(p1) - assert_array_equal(p2.to_array(), a) - - -SEGCYLMOD = [0.0552167, 0.0547035, 0.757707, - -0.0270852, -4.41026, -2.88995, 0.0387603] -# 1.6 -# SEGCYLIN = 11461 -# 1.7.2 -# SEGCYLIN = 11462 - -class TestSegmentCylinder(unittest.TestCase): - - def setUp(self): - self.p = pcl.load_XYZRGBA("tests" + os.path.sep + "table_scene_mug_stereo_textured_noplane.pcd") - - def testSegment(self): - seg = self.p.make_segmenter_normals(50) - seg.set_optimize_coefficients(True) - seg.set_model_type(pcl.SACMODEL_CYLINDER) - seg.set_method_type(pcl.SAC_RANSAC) - seg.set_normal_distance_weight(0.1) - seg.set_max_iterations(10000) - seg.set_distance_threshold(0.05) - seg.set_radius_limits(0, 0.1) - - indices, model = seg.segment() - - # self.assertEqual(len(indices), SEGCYLIN) - - # npexp = np.array(SEGCYLMOD) - # npmod = np.array(model) - # ssd = sum((npexp - npmod) ** 2) - # self.assertLess(ssd, 1e-6) - - -class TestSave(unittest.TestCase): - - def setUp(self): - self.p = pcl.load_XYZRGBA("tests" + os.path.sep + "table_scene_mug_stereo_textured_noplane.pcd") - self.tmpdir = tempfile.mkdtemp(suffix='pcl-test') - - def tearDown(self): - shutil.rmtree(self.tmpdir) - - def testSave(self): - for ext in ["pcd", "ply"]: - d = os.path.join(self.tmpdir, "foo." + ext) - pcl.save(self.p, d) - p = pcl.load_XYZRGBA(d) - self.assertEqual(self.p.size, p.size) - - -class TestFilter(unittest.TestCase): - - def setUp(self): - self.p = pcl.load_XYZRGBA("tests" + os.path.sep + "flydracyl.pcd") - - def testFilter(self): - mls = self.p.make_moving_least_squares() - mls.set_search_radius(0.5) - mls.set_polynomial_order(2) - mls.set_polynomial_fit(True) - f = mls.process() - # new instance is returned - self.assertNotEqual(self.p, f) - # mls filter retains the same number of points - self.assertEqual(self.p.size, f.size) - - -class TestExtract(unittest.TestCase): - - def setUp(self): - self.p = pcl.load_XYZRGBA("tests" + os.path.sep + "flydracyl.pcd") - - def testExtractPos(self): - p2 = self.p.extract([1, 2, 3], False) - # new instance is returned - self.assertNotEqual(self.p, p2) - self.assertEqual(p2.size, 3) - - def testExtractNeg(self): - p2 = self.p.extract([1, 2, 3], True) - self.assertNotEqual(self.p, p2) - self.assertEqual(p2.size, self.p.size - 3) - - -class TestExceptions(unittest.TestCase): - - def setUp(self): - self.p = pcl.PointCloud_PointXYZRGBA(np.arange(12, dtype=np.float32).reshape(3, 4)) - - def testIndex(self): - self.assertRaises(IndexError, self.p.__getitem__, self.p.size) - self.assertRaises(Exception, self.p.get_point, self.p.size, 1) - - def testResize(self): - # XXX MemoryError isn't actually the prettiest exception for a - # negative argument. Don't hesitate to change this test to reflect - # better exceptions. - self.assertRaises(MemoryError, self.p.resize, -1) - - -class TestSegmenterNormal(unittest.TestCase): - - def setUp(self): - self.p = pcl.load_XYZRGBA("tests" + os.path.sep + "table_scene_mug_stereo_textured_noplane.pcd") - - def _tpos(self, c): - self.assertEqual(c.size, 22745) - self.assertEqual(c.width, 22745) - self.assertEqual(c.height, 1) - self.assertTrue(c.is_dense) - - def _tneg(self, c): - self.assertEqual(c.size, 1015) - self.assertEqual(c.width, 1015) - self.assertEqual(c.height, 1) - self.assertTrue(c.is_dense) - - def testFilterPos(self): - fil = self.p.make_statistical_outlier_filter() - fil.set_mean_k(50) - self.assertEqual(fil.mean_k, 50) - fil.set_std_dev_mul_thresh(1.0) - self.assertEqual(fil.stddev_mul_thresh, 1.0) - c = fil.filter() - self._tpos(c) - - def testFilterNeg(self): - fil = self.p.make_statistical_outlier_filter() - fil.set_mean_k(50) - fil.set_std_dev_mul_thresh(1.0) - self.assertEqual(fil.negative, False) - fil.set_negative(True) - self.assertEqual(fil.negative, True) - c = fil.filter() - self._tneg(c) - - def testFilterPosNeg(self): - fil = self.p.make_statistical_outlier_filter() - fil.set_mean_k(50) - fil.set_std_dev_mul_thresh(1.0) - c = fil.filter() - self._tpos(c) - fil.set_negative(True) - c = fil.filter() - self._tneg(c) - - -class TestVoxelGridFilter(unittest.TestCase): - - def setUp(self): - self.p = pcl.load_XYZRGBA("tests" + os.path.sep + "table_scene_mug_stereo_textured_noplane.pcd") - - def testFilter(self): - fil = self.p.make_voxel_grid_filter() - fil.set_leaf_size(0.01, 0.01, 0.01) - c = fil.filter() - self.assertTrue(c.size < self.p.size) - self.assertEqual(c.size, 719) - - -class TestPassthroughFilter(unittest.TestCase): - - def setUp(self): - self.p = pcl.load_XYZRGBA("tests/table_scene_mug_stereo_textured_noplane.pcd") - - def testFilter(self): - fil = self.p.make_passthrough_filter() - fil.set_filter_field_name("z") - fil.set_filter_limits(0, 0.75) - c = fil.filter() - self.assertTrue(c.size < self.p.size) - self.assertEqual(c.size, 7751) - - def testFilterBoth(self): - total = self.p.size - fil = self.p.make_passthrough_filter() - fil.set_filter_field_name("z") - fil.set_filter_limits(0, 0.75) - front = fil.filter().size - fil.set_filter_limits(0.75, 100) - back = fil.filter().size - self.assertEqual(total, front + back) - - -class TestKdTree(unittest.TestCase): - - def setUp(self): - rng = np.random.RandomState(42) - # Define two dense sets of points of sizes 30 and 170, resp. - a = rng.randn(100, 4).astype(np.float32) - a[:30] -= 42 - - self.pc = pcl.PointCloud_PointXYZRGBA(a) - self.kd = pcl.KdTreeFLANN_PointXYZRGBA(self.pc) - - def testException(self): - self.assertRaises(TypeError, pcl.KdTreeFLANN_PointXYZRGBA) - self.assertRaises(TypeError, self.kd.nearest_k_search_for_cloud, None) - - def testKNN(self): - # Small cluster - ind, sqdist = self.kd.nearest_k_search_for_point(self.pc, 0, k=2) - for i in ind: - self.assertGreaterEqual(i, 0) - self.assertLess(i, 30) - for d in sqdist: - self.assertGreaterEqual(d, 0) - - # Big cluster - for ref, k in ((80, 1), (59, 3), (60, 10)): - ind, sqdist = self.kd.nearest_k_search_for_point(self.pc, ref, k=k) - for i in ind: - self.assertGreaterEqual(i, 30) - for d in sqdist: - self.assertGreaterEqual(d, 0) - - -# class TestOctreePointCloud(unittest.TestCase): -# -# def setUp(self): -# self.t = pcl.OctreePointCloud_PointXYZRGBA(0.1) -# -# def testLoad(self): -# pc = pcl.load_XYZRGBA("tests" + os.path.sep + "table_scene_mug_stereo_textured_noplane.pcd") -# self.t.set_input_cloud(pc) -# self.t.define_bounding_box() -# self.t.add_points_from_input_cloud() -# good_point = (0.035296999, -0.074322999, 1.2074) -# rs = self.t.is_voxel_occupied_at_point(good_point) -# self.assertTrue(rs) -# bad_point = (0.5, 0.5, 0.5) -# rs = self.t.is_voxel_occupied_at_point(bad_point) -# self.assertFalse(rs) -# voxels_len = 44 -# self.assertEqual(len(self.t.get_occupied_voxel_centers()), voxels_len) -# self.t.delete_voxel_at_point(good_point) -# self.assertEqual( -# len(self.t.get_occupied_voxel_centers()), voxels_len - 1) - - -class TestOctreePointCloudSearch(unittest.TestCase): - - def setUp(self): - self.t = pcl.OctreePointCloudSearch_PointXYZRGBA(0.1) - pc = pcl.load_XYZRGBA("tests" + os.path.sep + "table_scene_mug_stereo_textured_noplane.pcd") - self.t.set_input_cloud(pc) - self.t.define_bounding_box() - self.t.add_points_from_input_cloud() - - def testConstructor(self): - self.assertRaises(ValueError, pcl.OctreePointCloudSearch_PointXYZRGBA, 0.) - - def testRadiusSearch(self): - good_point = (0.035296999, -0.074322999, 1.2074) - rs = self.t.radius_search(good_point, 0.5, 1) - self.assertEqual(len(rs[0]), 1) - self.assertEqual(len(rs[1]), 1) - rs = self.t.radius_search(good_point, 0.5) - self.assertEqual(len(rs[0]), 19730) - self.assertEqual(len(rs[1]), 19730) - -if __name__ == '__main__': - unittest.main() \ No newline at end of file diff --git a/tests/test_features.py b/tests/test_features.py new file mode 100644 index 000000000..e697eff25 --- /dev/null +++ b/tests/test_features.py @@ -0,0 +1,326 @@ +import os.path +import pickle +import shutil +import tempfile +import unittest + +import pcl +import numpy as np + +from nose.plugins.attrib import attr + + +_data = [(i, 2 * i, 3 * i + 0.2) for i in range(5)] +_DATA = """0.0, 0.0, 0.2; + 1.0, 2.0, 3.2; + 2.0, 4.0, 6.2; + 3.0, 6.0, 9.2; + 4.0, 8.0, 12.2""" + + +# features +### DifferenceOfNormalsEstimation ### +@attr('pcl_ver_0_4') +class TestDifferenceOfNormalsEstimation(unittest.TestCase): + def setUp(self): + self.p = pcl.PointCloud(_data) + # self.feat = pcl.DifferenceOfNormalsEstimation() + + def testException(self): + # self.assertRaises(TypeError, pcl.DifferenceOfNormalsEstimation) + pass + + +### IntegralImageNormalEstimation ### +@attr('pcl_ver_0_4') +class TestIntegralImageNormalEstimation(unittest.TestCase): + def setUp(self): + # self.p = pcl.PointCloud(_data) + self.p = pcl.load( + "tests" + + os.path.sep + + "tutorials" + + os.path.sep + + "table_scene_mug_stereo_textured.pcd") + # self.feat = pcl.IntegralImageNormalEstimation(self.p) + self.feat = self.p.make_IntegralImageNormalEstimation() + + # base : normal_estimation_using_integral_images.cpp + # @unittest.skip + def test_Tutorial(self): + # before chack + self.assertEqual(self.p.size, 307200) + self.assertEqual(self.p.width, 640) + self.assertEqual(self.p.height, 480) + + self.feat.set_NormalEstimation_Method_AVERAGE_3D_GRADIENT() + self.feat.set_MaxDepthChange_Factor(0.02) + self.feat.set_NormalSmoothingSize(10.0) + # height = 1 pointdata set ng + normals = self.feat.compute() + # print(normals) + + # check - normals data + # 1. return type + # self.assertRaises(normals, pcl.PointCloud_Normal) + # 2. point size + # self.assertEqual(self.p.size, normals.size) + + # 3. same Tutorial data + # size -> + # self.assertEqual(self.p.size, normals.size) + # for i in range(0, normals.size): + # print ('normal_x: ' + str(normals[i][0]) + ', normal_y : ' + str(normals[i][1]) + ', normal_z : ' + str(normals[i][2])) + # print('end') + + +# def test_set_NormalEstimation_Method_AVERAGE_3D_GRADIENT(self): +# self.feat.set_NormalEstimation_Method_AVERAGE_3D_GRADIENT() +# self.feat.setMaxDepthChangeFactor(0.02f) +# self.feat.setNormalSmoothingSize(10.0) +# f = self.feat.compute(self.p) +# +# # check +# # new instance is returned +# # self.assertNotEqual(self.p, f) +# # filter retains the same number of points +# # self.assertEqual(self.p.size, f.size) +# +# +# def test_set_NormalEstimation_Method_COVARIANCE_MATRIX(self): +# self.feat.set_NormalEstimation_Method_COVARIANCE_MATRIX() +# # f = self.feat.compute(self.p) +# +# # check +# # new instance is returned +# # self.assertNotEqual(self.p, f) +# # filter retains the same number of points +# # self.assertEqual(self.p.size, f.size) +# +# def test_set_NormalEstimation_Method_AVERAGE_DEPTH_CHANGE(self): +# self.feat.set_NormalEstimation_Method_AVERAGE_DEPTH_CHANGE() +# # f = self.feat.compute(self.p) +# +# # check +# # new instance is returned +# # self.assertNotEqual(self.p, f) +# # filter retains the same number of points +# # self.assertEqual(self.p.size, f.size) +# +# def test_set_NormalEstimation_Method_SIMPLE_3D_GRADIENT(self): +# self.feat.set_NormalEstimation_Method_SIMPLE_3D_GRADIENT() +# # f = self.feat.compute(self.p) +# +# # check +# # new instance is returned +# # self.assertNotEqual(self.p, f) +# # filter retains the same number of points +# # self.assertEqual(self.p.size, f.size) +# +# # +# def test_set_MaxDepthChange_Factor(self): +# param = 0.0 +# self.feat.set_MaxDepthChange_Factor(param) +# # f = self.feat.compute(self.p) +# +# # check +# # new instance is returned +# # self.assertNotEqual(self.p, f) +# # filter retains the same number of points +# # self.assertEqual(self.p.size, f.size) +# +# def test_set_NormalSmoothingSize(self): +# param = 5.0 # default 10.0 +# self.feat.set_NormalSmoothingSize(param) +# # f = self.feat.compute(self.p) +# # result point param? +# +# # check +# # new instance is returned +# # self.assertNotEqual(self.p, f) +# # filter retains the same number of points +# # self.assertEqual(self.p.size, f.size) + + +### MomentOfInertiaEstimation ### +@attr('pcl_over_18') +class TestMomentOfInertiaEstimation(unittest.TestCase): + def setUp(self): + # self.p = pcl.PointCloud(_data) + self.p = pcl.load( + "tests" + + os.path.sep + + "tutorials" + + os.path.sep + + "lamppost.pcd") + # 1.8.0 + # self.feat = pcl.MomentOfInertiaEstimation() + self.feat = self.p.make_MomentOfInertiaEstimation() + + def test_Tutorials(self): + self.feat.compute() + + # Get Parameters + moment_of_inertia = self.feat.get_MomentOfInertia() + eccentricity = self.feat.get_Eccentricity() + [min_point_AABB, max_point_AABB] = self.feat.get_AABB() + # [min_point_OBB, max_point_OBB, position_OBB, rotational_matrix_OBB] = self.feat.get_OBB () + [major_value, middle_value, minor_value] = self.feat.get_EigenValues() + [major_vector, middle_vector, minor_vector] = self.feat.get_EigenVectors() + mass_center = self.feat.get_MassCenter() + + # check parameter + # printf("%f %f %f.\n", mass_center (0), mass_center (1), mass_center (2)); + # -10.104160 0.074005 -2.144748. + # printf("%f %f %f.\n", major_vector (0), major_vector (1), major_vector (2)); + # 0.164287 -0.044990 -0.985386. + # printf("%f %f %f.\n", middle_vector (0), middle_vector (1), middle_vector (2)); + # 0.920083 -0.353143 0.169523. + # printf("%f %f %f.\n", minor_vector (0), minor_vector (1), minor_vector (2)); + # -0.355608 -0.934488 -0.016622. + + # expected = [-10.104160, 0.074005, -2.144748] + expected = np.array([-10.104160, 0.074005, -2.144748]) + # print(str(mass_center[0][0].dtype)) + datas = np.around(mass_center[0].tolist(), decimals=6) + # print("test : " + str(datas)) + self.assertEqual(datas.tolist(), expected.tolist()) + # self.assertEqual(datas, expected) + + expected2 = np.array([0.164287, -0.044990, -0.985386]) + datas = np.around(major_vector[0].tolist(), decimals=6) + self.assertEqual(datas.tolist(), expected2.tolist()) + + expected3 = np.array([0.920083, -0.353143, 0.169523]) + datas = np.around(middle_vector[0].tolist(), decimals=6) + self.assertEqual(datas.tolist(), expected3.tolist()) + + expected4 = np.array([-0.355608, -0.934488, -0.016622]) + datas = np.around(minor_vector[0].tolist(), decimals=6) + self.assertEqual(datas.tolist(), expected4.tolist()) + + +# def test_get_MomentOfInertia(self): +# param = self.feat.get_MomentOfInertia() +# +# def test_get_Eccentricity(self): +# param = self.feat.get_Eccentricity() +# +# def test_get_AABB(self): +# param = self.feat.get_AABB() +# +# def test_get_EigenValues(self): +# param = self.feat.get_EigenValues() + + +### NormalEstimation ### +class TestNormalEstimation(unittest.TestCase): + def setUp(self): + self.p = pcl.PointCloud(_data) + # self.feat = pcl.NormalEstimation() + # self.feat.setInputCloud(selp.p) + self.feat = self.p.make_NormalEstimation() + + def test_Tutorials_Radius(self): + self.feat.set_RadiusSearch(0.03) + normals = self.feat.compute() + + # check - normals data + # 1. return type + # self.assertEqual(type(normals), type(pcl.PointCloud_Normal)) + # 2. point size + self.assertEqual(self.p.size, normals.size) + + # 3. same Tutorial data + # size -> + # self.assertEqual(self.p.size, normals.size) + # for i in range(0, normals.size): + # print ('normal_x: ' + str(normals[i][0]) + ', normal_y : ' + str(normals[i][1]) + ', normal_z : ' + str(normals[i][2])) + # print('end') + + def test_Tutorials_KSearch(self): + tree = self.p.make_kdtree() + self.feat.set_SearchMethod(tree) + self.feat.set_KSearch(10) + normals = self.feat.compute() + # check - normals data + # 1. return type + # self.assertEqual(type(normals), type(pcl.PointCloud_Normal)) + # 2. point size is same + self.assertEqual(self.p.size, normals.size) + + # 3. same Tutorial data + # size -> + # self.assertEqual(self.p.size, normals.size) + # for i in range(0, normals.size): + # print ('normal_x: ' + str(normals[i][0]) + ', normal_y : ' + str(normals[i][1]) + ', normal_z : ' + str(normals[i][2])) + # print('end') + + +### RangeImageBorderExtractor ### +@attr('pcl_ver_0_4') +class TestRangeImageBorderExtractor(unittest.TestCase): + def setUp(self): + self.p = pcl.PointCloud(_data) + # self.feat = pcl.RangeImageBorderExtractor() + + def test_set_RangeImage(self): + # rangeImage = pcl.RangeImage() + # self.feat.set_RangeImage(rangeImage) + pass + + def test_ClearData(self): + # self.feat.clearData () + pass + + +### VFHEstimation ### +class TestVFHEstimation(unittest.TestCase): + def setUp(self): + self.p = pcl.PointCloud(_data) + # self.feat = pcl.VFHEstimation() + # self.feat.setInputCloud(self.p) + self.feat = self.p.make_VFHEstimation() + + def test_set_SearchMethod(self): + # kdTree = pcl.KdTree() + # self.feat.set_SearchMethod(kdTree) + # f = self.feat.compute() + + # new instance is returned + # self.assertNotEqual(self.p, f) + # filter retains the same number of points + # self.assertEqual(self.p.size, f.size) + pass + + def test_set_KSearch(self): + param = 0.0 + # self.me.set_KSearch (param) + # self.feat.compute() + + # check + # new instance is returned + # self.assertNotEqual(self.p, f) + # filter retains the same number of points + # self.assertEqual(self.p.size, f.size) + pass + + +def suite(): + suite = unittest.TestSuite() + # features + # compute - exception + # suite.addTests(unittest.makeSuite(TestIntegralImageNormalEstimation)) + suite.addTests(unittest.makeSuite(TestMomentOfInertiaEstimation)) + suite.addTests(unittest.makeSuite(TestNormalEstimation)) + suite.addTests(unittest.makeSuite(TestVFHEstimation)) + # no add pxiInclude + # suite.addTests(unittest.makeSuite(TestDifferenceOfNormalsEstimation)) + # suite.addTests(unittest.makeSuite(TestRangeImageBorderExtractor)) + return suite + + +if __name__ == '__main__': + # unittest.main() + testSuite = suite() + unittest.TextTestRunner().run(testSuite) diff --git a/tests/test_filters.py b/tests/test_filters.py new file mode 100644 index 000000000..3c0c605ad --- /dev/null +++ b/tests/test_filters.py @@ -0,0 +1,867 @@ +import os.path +import pickle +import shutil +import tempfile +import unittest + +import pcl +import numpy as np + +from nose.plugins.attrib import attr + + +_data = [(i, 2 * i, 3 * i + 0.2) for i in range(5)] +_DATA = """0.0, 0.0, 0.2; + 1.0, 2.0, 3.2; + 2.0, 4.0, 6.2; + 3.0, 6.0, 9.2; + 4.0, 8.0, 12.2""" + + +_data2 = np.array( + [[0.0080142, 0.694695, -0.26015], + [-0.342265, -0.446349, 0.214207], + [0.173687, -0.84253, -0.400481], + [-0.874475, 0.706127, -0.117635], + [0.908514, -0.598159, 0.744714]], dtype=np.float32) + + +# Filter +### ApproximateVoxelGrid ### + + +class TestApproximateVoxelGrid(unittest.TestCase): + def setUp(self): + self.p = pcl.load( + "tests" + + os.path.sep + + "tutorials" + + os.path.sep + + "table_scene_lms400.pcd") + self.fil = self.p.make_ApproximateVoxelGrid() + # self.fil = pcl.ApproximateVoxelGrid() + # self.fil.set_InputCloud(self.p) + + def test_VoxelGrid(self): + x = 0.01 + y = 0.01 + z = 0.01 + self.fil.set_leaf_size(x, y, z) + result = self.fil.filter() + # check + self.assertTrue(result.size < self.p.size) + # self.assertEqual(result.size, 719) + + +### ConditionalRemoval ### +# Appveyor NG +@attr('pcl_ver_0_4') +@attr('pcl_over_17') +class TestConditionalRemoval(unittest.TestCase): + def setUp(self): + # self.p = pcl.load("tests" + os.path.sep + "flydracyl.pcd") + # self.p = pcl.PointCloud(_data) + self.p = pcl.PointCloud(_data2) + self.fil = self.p.make_ConditionalRemoval(pcl.ConditionAnd()) + + # result + # nan nan nan + # -0.342265 -0.446349 0.214207 + # nan nan nan + # nan nan nan + # 0.908514 -0.598159 0.744714 + def test_Condition(self): + range_cond = self.p.make_ConditionAnd() + range_cond.add_Comparison2('z', pcl.CythonCompareOp_Type.GT, 0.0) + range_cond.add_Comparison2('z', pcl.CythonCompareOp_Type.LT, 0.8) + # build the filter + self.fil.set_KeepOrganized(True) + # apply filter + cloud_filtered = self.fil.filter() + + # check + expected = np.array([-0.342265, -0.446349, 0.214207]) + datas = np.around(cloud_filtered.to_array()[1].tolist(), decimals=6) + self.assertEqual(datas.tolist(), expected.tolist()) + + expected2 = np.array([0.908514, -0.598159, 0.744714]) + datas = np.around(cloud_filtered.to_array()[4].tolist(), decimals=6) + self.assertEqual(datas.tolist(), expected2.tolist()) + + +# def set_KeepOrganized(self, flag): +# self.fil.setKeepOrganized(flag) +# +# def filter(self): +# """ +# Apply the filter according to the previously set parameters and return +# a new pointcloud +# """ +# cdef PointCloud pc = PointCloud() +# self.fil.filter(pc.thisptr()[0]) +# return pc + + +### ConditionAnd ### +class TestConditionAnd(unittest.TestCase): + def setUp(self): + self.p = pcl.load("tests" + os.path.sep + "flydracyl.pcd") + + def test_Tutorial(self): + pass + + +### CropBox ### +# base : pcl/tests cpp source code[TEST (CropBox, Filters)] +class TestCropBox(unittest.TestCase): + + def setUp(self): + input = pcl.PointCloud() + points = np.zeros((9, 3), dtype=np.float32) + points[0] = 0.0, 0.0, 0.0 + points[1] = 0.9, 0.9, 0.9 + points[2] = 0.9, 0.9, -0.9 + points[3] = 0.9, -0.9, 0.9 + points[4] = -0.9, 0.9, 0.9 + points[5] = 0.9, -0.9, -0.9 + points[6] = -0.9, -0.9, 0.9 + points[7] = -0.9, 0.9, -0.9 + points[8] = -0.9, -0.9, -0.9 + input.from_array(points) + self.p = input + + def testException(self): + self.assertRaises(TypeError, pcl.CropHull) + + def testCrop(self): + cropBoxFilter = self.p.make_cropbox() + # Cropbox slighlty bigger then bounding box of points + cropBoxFilter.set_Min(-1.0, -1.0, -1.0, 1.0) + cropBoxFilter.set_Max(1.0, 1.0, 1.0, 1.0) + + # Indices + # vector indices; + # cropBoxFilter.filter(indices) + + # Cloud + cloud_out = cropBoxFilter.filter() + + # Should contain all + # self.assertEqual(indices.size, 9) + self.assertEqual(cloud_out.size, 9) + self.assertEqual(cloud_out.width, 9) + self.assertEqual(cloud_out.height, 1) + + # IndicesConstPtr removed_indices; + # removed_indices = cropBoxFilter.get_RemovedIndices () + cropBoxFilter.get_RemovedIndices() + # self.assertEqual(removed_indices.size, 0) + # self.assertEqual(lemn(removed_indices), 0) + + # Test setNegative + cropBoxFilter.set_Negative(True) + cloud_out_negative = cropBoxFilter.filter() + # self.assertEqual(cloud_out_negative.size, 0) + + # cropBoxFilter.filter(indices) + # self.assertEqual(indices.size, 0) + + cropBoxFilter.set_Negative(False) + cloud_out = cropBoxFilter.filter() + + # Translate crop box up by 1 + tx = 0 + ty = 1 + tz = 0 + cropBoxFilter.set_Translation(tx, ty, tz) + # indices = cropBoxFilter.filter() + cloud_out = cropBoxFilter.filter() + + # self.assertEqual(indices.size, 5) + self.assertEqual(cloud_out.size, 5) + + # removed_indices = cropBoxFilter.get_RemovedIndices () + cropBoxFilter.get_RemovedIndices() + # self.assertEqual(removed_indices.size, 4) + + # Test setNegative + cropBoxFilter.set_Negative(True) + cloud_out_negative = cropBoxFilter.filter() + # self.assertEqual(cloud_out_negative.size, 4) + + # indices = cropBoxFilter.filter() + # self.assertEqual(indices.size, 4) + + cropBoxFilter.set_Negative(False) + cloud_out = cropBoxFilter.filter() + + # Rotate crop box up by 45 + # cropBoxFilter.setRotation (Eigen::Vector3f (0.0, 45.0f * float (M_PI) / 180.0, 0.0f)) + # cropBoxFilter.filter(indices) + # cropBoxFilter.filter(cloud_out) + rx = 0.0 + ry = 45.0 * (3.141592 / 180.0) + rz = 0.0 + cropBoxFilter.set_Rotation(rx, ry, rz) + # indices = cropBoxFilter.filter() + cloud_out = cropBoxFilter.filter() + + # self.assertEqual(indices.size, 1) + self.assertEqual(cloud_out.size, 1) + self.assertEqual(cloud_out.width, 1) + self.assertEqual(cloud_out.height, 1) + + # removed_indices = cropBoxFilter.get_RemovedIndices () + # self.assertEqual(removed_indices.size, 8) + cropBoxFilter.get_RemovedIndices() + + # Test setNegative + cropBoxFilter.set_Negative(True) + cloud_out_negative = cropBoxFilter.filter() + # self.assertEqual(cloud_out_negative.size, 8) + + # indices = cropBoxFilter.filter() + # self.assertEqual(indices.size, 8) + + cropBoxFilter.set_Negative(False) + cloud_out = cropBoxFilter.filter() + + # // Rotate point cloud by -45 + # cropBoxFilter.set_Transform (getTransformation (0.0, 0.0, 0.0, 0.0, 0.0, -45.0f * float (M_PI) / 180.0f)) + # indices = cropBoxFilter.filter() + # cloud_out = cropBoxFilter.filter() + # + # # self.assertEqual(indices.size, 3) + # self.assertEqual(cloud_out.size, 3) + # self.assertEqual(cloud_out.width, 3) + # self.assertEqual(cloud_out.height, 1) + ## + + # removed_indices = cropBoxFilter.get_RemovedIndices () + # self.assertEqual(removed_indices.size, 6) + cropBoxFilter.get_RemovedIndices() + + # // Test setNegative + cropBoxFilter.set_Negative(True) + cloud_out_negative = cropBoxFilter.filter() + # self.assertEqual(cloud_out_negative.size, 6) + + # indices = cropBoxFilter.filter() + # self.assertEqual(indices.size, 6) + + cropBoxFilter.set_Negative(False) + cloud_out = cropBoxFilter.filter() + + # Translate point cloud down by -1 + # # cropBoxFilter.setTransform (getTransformation(0, -1, 0, 0, 0, -45.0 * float (M_PI) / 180.0)) + # # cropBoxFilter.filter(indices) + # cropBoxFilter.filter(cloud_out) + # + # # self.assertEqual(indices.size, 2) + # self.assertEqual(cloud_out.size, 2) + # self.assertEqual(cloud_out.width, 2) + # self.assertEqual(cloud_out.height, 1) + ## + + # removed_indices = cropBoxFilter.get_RemovedIndices () + # self.assertEqual(removed_indices.size, 7) + + # Test setNegative + cropBoxFilter.set_Negative(True) + cloud_out_negative = cropBoxFilter.filter() + # self.assertEqual(cloud_out_negative.size, 7) + + # indices = cropBoxFilter.filter() + # self.assertEqual(indices.size, 7) + + cropBoxFilter.set_Negative(False) + cloud_out = cropBoxFilter.filter() + + # // Remove point cloud rotation + # cropBoxFilter.set_Transform (getTransformation(0, -1, 0, 0, 0, 0)) + # indices = cropBoxFilter.filter() + # cloud_out = cropBoxFilter.filter() + + # self.assertEqual(indices.size, 0) + # self.assertEqual(cloud_out.size, 0) + # self.assertEqual(cloud_out.width, 0) + # self.assertEqual(cloud_out.height, 1) + + # removed_indices = cropBoxFilter.get_RemovedIndices () + # self.assertEqual(removed_indices.size, 9) + + # Test setNegative + cropBoxFilter.set_Negative(True) + cloud_out_negative = cropBoxFilter.filter() + # self.assertEqual(cloud_out_negative.size, 9) + + # indices = cropBoxFilter.filter() + # self.assertEqual(indices.size, 9) + + # PCLPointCloud2 + # // ------------------------------------------------------------------ + # Create cloud with center point and corner points + # PCLPointCloud2::Ptr input2 (new PCLPointCloud2) + # pcl::toPCLPointCloud2 (*input, *input2) + # + # Test the PointCloud method + # CropBox cropBoxFilter2(true) + # cropBoxFilter2.setInputCloud (input2) + # + # Cropbox slighlty bigger then bounding box of points + # cropBoxFilter2.setMin (min_pt) + # cropBoxFilter2.setMax (max_pt) + # + # Indices + # vector indices2; + # cropBoxFilter2.filter (indices2) + # + # Cloud + # PCLPointCloud2 cloud_out2; + # cropBoxFilter2.filter (cloud_out2) + # + # // Should contain all + # self.assertEqual(indices2.size, 9) + # self.assertEqual(indices2.size, int (cloud_out2.width * cloud_out2.height)) + # + # IndicesConstPtr removed_indices2; + # removed_indices2 = cropBoxFilter2.get_RemovedIndices () + # self.assertEqual(removed_indices2.size, 0) + # + # // Test setNegative + # PCLPointCloud2 cloud_out2_negative; + # cropBoxFilter2.setNegative (true) + # cropBoxFilter2.filter (cloud_out2_negative) + # self.assertEqual(cloud_out2_negative.width), 0) + # + # cropBoxFilter2.filter (indices2) + # self.assertEqual(indices2.size, 0) + # + # cropBoxFilter2.setNegative (false) + # cropBoxFilter2.filter (cloud_out2) + # + # // Translate crop box up by 1 + # cropBoxFilter2.setTranslation (Eigen::Vector3f(0, 1, 0)) + # cropBoxFilter2.filter (indices2) + # cropBoxFilter2.filter (cloud_out2) + # + # self.assertEqual(indices2.size, 5) + # self.assertEqual(indices2.size, int (cloud_out2.width * cloud_out2.height)) + # + # removed_indices2 = cropBoxFilter2.get_RemovedIndices () + # self.assertEqual(removed_indices2.size, 4) + # + # // Test setNegative + # cropBoxFilter2.setNegative (true) + # cropBoxFilter2.filter (cloud_out2_negative) + # self.assertEqual(cloud_out2_negative.width), 4) + # + # cropBoxFilter2.filter (indices2) + # self.assertEqual(indices2.size, 4) + # + # cropBoxFilter2.setNegative (false) + # cropBoxFilter2.filter (cloud_out2) + # + # // Rotate crop box up by 45 + # cropBoxFilter2.setRotation (Eigen::Vector3f (0.0, 45.0f * float (M_PI) / 180.0, 0.0f)) + # cropBoxFilter2.filter (indices2) + # cropBoxFilter2.filter (cloud_out2) + # + # self.assertEqual(indices2.size, 1) + # self.assertEqual(indices2.size, int (cloud_out2.width * cloud_out2.height)) + # + # // Rotate point cloud by -45 + # cropBoxFilter2.setTransform (getTransformation (0.0, 0.0, 0.0, 0.0, 0.0, -45.0f * float (M_PI) / 180.0f)) + # cropBoxFilter2.filter (indices2) + # cropBoxFilter2.filter (cloud_out2) + # + # self.assertEqual(indices2.size, 3) + # self.assertEqual(cloud_out2.width * cloud_out2.height), 3) + # + # removed_indices2 = cropBoxFilter2.get_RemovedIndices () + # self.assertEqual(removed_indices2.size, 6) + # + # // Test setNegative + # cropBoxFilter2.setNegative (true) + # cropBoxFilter2.filter (cloud_out2_negative) + # self.assertEqual(cloud_out2_negative.width), 6) + # + # cropBoxFilter2.filter (indices2) + # self.assertEqual(indices2.size, 6) + # + # cropBoxFilter2.setNegative (false) + # cropBoxFilter2.filter (cloud_out2) + # + # // Translate point cloud down by -1 + # cropBoxFilter2.setTransform (getTransformation (0.0, -1.0, 0.0, 0.0, 0.0, -45.0f * float (M_PI) / 180.0f)) + # cropBoxFilter2.filter (indices2) + # cropBoxFilter2.filter (cloud_out2) + # + # self.assertEqual(indices2.size, 2) + # self.assertEqual(cloud_out2.width * cloud_out2.height), 2) + # + # removed_indices2 = cropBoxFilter2.get_RemovedIndices () + # self.assertEqual(removed_indices2.size, 7) + # + # // Test setNegative + # cropBoxFilter2.setNegative (true) + # cropBoxFilter2.filter (cloud_out2_negative) + # self.assertEqual(cloud_out2_negative.width), 7) + # + # cropBoxFilter2.filter (indices2) + # self.assertEqual(indices2.size, 7) + # + # cropBoxFilter2.setNegative (false) + # cropBoxFilter2.filter (cloud_out2) + # + # // Remove point cloud rotation + # cropBoxFilter2.setTransform (getTransformation(0, -1, 0, 0, 0, 0)) + # cropBoxFilter2.filter (indices2) + # cropBoxFilter2.filter (cloud_out2) + # + # self.assertEqual(indices2.size, 0) + # self.assertEqual(cloud_out2.width * cloud_out2.height), 0) + # + # removed_indices2 = cropBoxFilter2.get_RemovedIndices () + # self.assertEqual(removed_indices2.size, 9) + # + # // Test setNegative + # cropBoxFilter2.setNegative (true) + # cropBoxFilter2.filter (cloud_out2_negative) + # self.assertEqual(cloud_out2_negative.width), 9) + # + # cropBoxFilter2.filter (indices2) + # self.assertEqual(indices2.size, 9) + # + # cropBoxFilter2.setNegative (false) + # cropBoxFilter2.filter (cloud_out2) + + +### CropHull ### +class TestCropHull(unittest.TestCase): + + def setUp(self): + self.pc = pcl.load( + "tests" + + os.path.sep + + "tutorials" + + os.path.sep + + "table_scene_mug_stereo_textured.pcd") + + def testException(self): + self.assertRaises(TypeError, pcl.CropHull) + + def testCropHull(self): + filterCloud = pcl.PointCloud() + vt = pcl.Vertices() +# # // inside point +# # cloud->push_back(pcl::PointXYZ(M_PI * 0.3, M_PI * 0.3, 0)) +# # // hull points +# # cloud->push_back(pcl::PointXYZ(0,0,0)) +# # cloud->push_back(pcl::PointXYZ(M_PI,0,0)) +# # cloud->push_back(pcl::PointXYZ(M_PI,M_PI*0.5,0)) +# # cloud->push_back(pcl::PointXYZ(0,M_PI*0.5,0)) +# # cloud->push_back(pcl::PointXYZ(0,0,0)) +# # // outside point +# # cloud->push_back(pcl::PointXYZ(-M_PI * 0.3, -M_PI * 0.3, 0)) +# points_2 = np.array([ +# [1 * 0.3, 1 * 0.3, 0], +# [0, 0, 0], +# [1, 0, 0], +# [1, 1 * 0.5, 0], +# [0, 1 * 0.5, 0], +# [0, 0, 0], +# # [-1 * 0.3 , -1 * 0.3, 0] +# ], dtype=np.float32) +# filterCloud.from_array(points_2) +# # print(filterCloud) +# +# vertices_point_1 = np.array([1, 2, 3, 4, 5], dtype=np.int) +# vt.from_array(vertices_point_1) +# # print(vt) +# # vt.vertices.push_back(1) +# # vt.vertices.push_back(2) +# # vt.vertices.push_back(3) +# # vt.vertices.push_back(4) +# # vt.vertices.push_back(5) +# # vertices = vector[pcl.Vertices] +# # vertices.push_back(vt) +# +# outputCloud = pcl.PointCloud() +# # crophull = pcl.CropHull() +# # crophull.setInputCloud(self.pc) +# crophull = self.pc.make_crophull() +# # crophull.setHullIndices(vertices) +# # crophull.setHullIndices(vt) +# # crophull.setHullCloud(filterCloud) +# # crophull.setDim(2) +# # crophull.setCropOutside(false) +# crophull.SetParameter(filterCloud, vt) +# # indices = vector[int] +# # cropHull.filter(indices) +# # outputCloud = cropHull.filter() +# # print("before: " + outputCloud) +# crophull.filter(outputCloud) +# # print(outputCloud) + + +### FieldComparison ### +class TestFieldComparison(unittest.TestCase): + + def setUp(self): + self.p = pcl.load("tests/table_scene_mug_stereo_textured_noplane.pcd") + compare = CompareOp2 + thresh = 1.0 + self.fil = pcl.FieldComparison(compare, thresh) + + +### PassThroughFilter ### +class TestPassthroughFilter(unittest.TestCase): + + def setUp(self): + self.p = pcl.load("tests/table_scene_mug_stereo_textured_noplane.pcd") + + def testFilter(self): + fil = self.p.make_passthrough_filter() + fil.set_filter_field_name("z") + fil.set_filter_limits(0, 0.75) + c = fil.filter() + self.assertTrue(c.size < self.p.size) + self.assertEqual(c.size, 7751) + + def testFilterBoth(self): + total = self.p.size + fil = self.p.make_passthrough_filter() + fil.set_filter_field_name("z") + fil.set_filter_limits(0, 0.75) + front = fil.filter().size + fil.set_filter_limits(0.75, 100) + back = fil.filter().size + self.assertEqual(total, front + back) + + +### ProjectInliers ### +class TestProjectInliers(unittest.TestCase): + + def setUp(self): + self.p = pcl.load("tests/table_scene_mug_stereo_textured_noplane.pcd") + self.fil = self.p.make_ProjectInliers() + # self.fil = pcl.ProjectInliers() + # self.fil.set_InputCloud(self.p) + + def test_model_type(self): + # param1 + m = pcl.SACMODEL_PLANE + self.fil.set_model_type(m) + result_param = self.fil.get_model_type() + self.assertEqual(result_param, pcl.SACMODEL_PLANE) + + # param2 + m = pcl.SACMODEL_LINE + self.fil.set_model_type(m) + result_param = self.fil.get_model_type() + self.assertEqual(result_param, pcl.SACMODEL_LINE) + + # param3 + m = pcl.SACMODEL_CIRCLE2D + self.fil.set_model_type(m) + result_param = self.fil.get_model_type() + self.assertEqual(result_param, pcl.SACMODEL_CIRCLE2D) + + # param4 + m = pcl.SACMODEL_CIRCLE3D + self.fil.set_model_type(m) + result_param = self.fil.get_model_type() + self.assertEqual(result_param, pcl.SACMODEL_CIRCLE3D) + + # param5 + m = pcl.SACMODEL_SPHERE + self.fil.set_model_type(m) + result_param = self.fil.get_model_type() + self.assertEqual(result_param, pcl.SACMODEL_SPHERE) + + # param6 + m = pcl.SACMODEL_CYLINDER + self.fil.set_model_type(m) + result_param = self.fil.get_model_type() + self.assertEqual(result_param, pcl.SACMODEL_CYLINDER) + + # param7 + m = pcl.SACMODEL_CONE + self.fil.set_model_type(m) + result_param = self.fil.get_model_type() + self.assertEqual(result_param, pcl.SACMODEL_CONE) + + # param8 + m = pcl.SACMODEL_TORUS + self.fil.set_model_type(m) + result_param = self.fil.get_model_type() + self.assertEqual(result_param, pcl.SACMODEL_TORUS) + + # param9 + m = pcl.SACMODEL_PARALLEL_LINE + self.fil.set_model_type(m) + result_param = self.fil.get_model_type() + self.assertEqual(result_param, pcl.SACMODEL_PARALLEL_LINE) + + # param10 + m = pcl.SACMODEL_PERPENDICULAR_PLANE + self.fil.set_model_type(m) + result_param = self.fil.get_model_type() + self.assertEqual(result_param, pcl.SACMODEL_PERPENDICULAR_PLANE) + + # param11 + m = pcl.SACMODEL_PARALLEL_LINES + self.fil.set_model_type(m) + result_param = self.fil.get_model_type() + self.assertEqual(result_param, pcl.SACMODEL_PARALLEL_LINES) + + # param12 + m = pcl.SACMODEL_NORMAL_PLANE + self.fil.set_model_type(m) + result_param = self.fil.get_model_type() + self.assertEqual(result_param, pcl.SACMODEL_NORMAL_PLANE) + + # param13 + m = pcl.SACMODEL_NORMAL_SPHERE + self.fil.set_model_type(m) + result_param = self.fil.get_model_type() + self.assertEqual(result_param, pcl.SACMODEL_NORMAL_SPHERE) + + # param14 + m = pcl.SACMODEL_REGISTRATION + self.fil.set_model_type(m) + result_param = self.fil.get_model_type() + self.assertEqual(result_param, pcl.SACMODEL_REGISTRATION) + + # param15 + m = pcl.SACMODEL_PARALLEL_PLANE + self.fil.set_model_type(m) + result_param = self.fil.get_model_type() + self.assertEqual(result_param, pcl.SACMODEL_PARALLEL_PLANE) + + # param16 + m = pcl.SACMODEL_NORMAL_PARALLEL_PLANE + self.fil.set_model_type(m) + result_param = self.fil.get_model_type() + self.assertEqual(result_param, pcl.SACMODEL_NORMAL_PARALLEL_PLANE) + + # param17 + m = pcl.SACMODEL_STICK + self.fil.set_model_type(m) + result_param = self.fil.get_model_type() + self.assertEqual(result_param, pcl.SACMODEL_STICK) + pass + + def test_copy_all_data(self): + self.fil.set_copy_all_data(True) + datas = self.fil.get_copy_all_data() + # result + self.assertEqual(datas, True) + + self.fil.set_copy_all_data(False) + datas = self.fil.get_copy_all_data() + # result2 + self.assertEqual(datas, False) + + +### RadiusOutlierRemoval ### +class TestRadiusOutlierRemoval(unittest.TestCase): + + def setUp(self): + # self.p = pcl.load("tests/table_scene_mug_stereo_textured_noplane.pcd") + self.p = pcl.PointCloud(_data2) + print(self.p.size) + self.fil = self.p.make_RadiusOutlierRemoval() + # self.fil = pcl.RadiusOutlierRemoval() + # self.fil.set_InputCloud(self.p) + + def test_radius_seach(self): + radius = 15.8 + self.fil.set_radius_search(radius) + result = self.fil.get_radius_search() + self.assertEqual(radius, result) + + min_pts = 2 + self.fil.set_MinNeighborsInRadius(2) + result = self.fil.get_MinNeighborsInRadius() + self.assertEqual(min_pts, result) + + result_point = self.fil.filter() + + # check + # new instance is returned + # self.assertNotEqual(self.p, result) + # filter retains the same number of points + # self.assertNotEqual(result_point.size, 0) + # self.assertNotEqual(self.p.size, result_point.size) + + +### StatisticalOutlierRemovalFilter ### +class TestStatisticalOutlierRemovalFilter(unittest.TestCase): + + def setUp(self): + self.p = pcl.load( + "tests" + + os.path.sep + + "table_scene_mug_stereo_textured_noplane.pcd") + self.fil = self.p.make_statistical_outlier_filter() + # self.fil = pcl.StatisticalOutlierRemovalFilter() + # self.fil.set_InputCloud(self.p) + + def _tpos(self, c): + self.assertEqual(c.size, 22745) + self.assertEqual(c.width, 22745) + self.assertEqual(c.height, 1) + self.assertTrue(c.is_dense) + + def _tneg(self, c): + self.assertEqual(c.size, 1015) + self.assertEqual(c.width, 1015) + self.assertEqual(c.height, 1) + self.assertTrue(c.is_dense) + + def testFilterPos(self): + fil = self.p.make_statistical_outlier_filter() + fil.set_mean_k(50) + self.assertEqual(fil.mean_k, 50) + fil.set_std_dev_mul_thresh(1.0) + self.assertEqual(fil.stddev_mul_thresh, 1.0) + c = fil.filter() + self._tpos(c) + + def testFilterNeg(self): + fil = self.p.make_statistical_outlier_filter() + fil.set_mean_k(50) + fil.set_std_dev_mul_thresh(1.0) + self.assertEqual(fil.negative, False) + fil.set_negative(True) + self.assertEqual(fil.negative, True) + c = fil.filter() + self._tneg(c) + + def testFilterPosNeg(self): + fil = self.p.make_statistical_outlier_filter() + fil.set_mean_k(50) + fil.set_std_dev_mul_thresh(1.0) + c = fil.filter() + self._tpos(c) + fil.set_negative(True) + c = fil.filter() + self._tneg(c) + + +### VoxelGridFilter ### +class TestVoxelGridFilter(unittest.TestCase): + + def setUp(self): + self.p = pcl.load( + "tests" + + os.path.sep + + "table_scene_mug_stereo_textured_noplane.pcd") + self.fil = self.p.make_voxel_grid_filter() + # self.fil = pcl.VoxelGridFilter() + # self.fil.set_InputCloud(self.p) + + def testFilter(self): + self.fil.set_leaf_size(0.01, 0.01, 0.01) + c = self.fil.filter() + self.assertTrue(c.size < self.p.size) + self.assertEqual(c.size, 719) + + +### Official Test Base ### +p_65558 = np.array([-0.058448, -0.189095, 0.723415], dtype=np.float32) +p_84737 = np.array([-0.088929, -0.152957, 0.746095], dtype=np.float32) +p_57966 = np.array([0.123646, -0.397528, 1.393187], dtype=np.float32) +p_39543 = np.array([0.560287, -0.545020, 1.602833], dtype=np.float32) +p_17766 = np.array([0.557854, -0.711976, 1.762013], dtype=np.float32) +p_70202 = np.array([0.150500, -0.160329, 0.646596], dtype=np.float32) +p_102219 = np.array([0.175637, -0.101353, 0.661631], dtype=np.float32) +p_81765 = np.array([0.223189, -0.151714, 0.708332], dtype=np.float32) + +# class TESTFastBilateralFilter(unittest.TestCase): +# def setUp(self): +# self.p = pcl.load("tests" + os.path.sep + "milk_cartoon_all_small_clorox.pcd") +# +# def testFastBilateralFilter(self): +# fbf = pcl.FastBilateralFilter() +# fbf.setInputCloud(cloud) +# fbf.setSigmaS (5) +# fbf.setSigmaR (0.03f) +# cloud_filtered = fbf.filter() +# # for (size_t dim = 0; dim < 3; ++dim): +# for dim range(0:3): +# EXPECT_NEAR (p_84737[dim], cloud_filtered[84737][dim], 1e-3) +# EXPECT_NEAR (p_57966[dim], cloud_filtered[57966][dim], 1e-3) +# EXPECT_NEAR (p_39543[dim], cloud_filtered[39543][dim], 1e-3) +# EXPECT_NEAR (p_17766[dim], cloud_filtered[17766][dim], 1e-3) +# EXPECT_NEAR (p_70202[dim], cloud_filtered[70202][dim], 1e-3) +# EXPECT_NEAR (p_102219[dim], cloud_filtered[102219][dim], 1e-3) +# EXPECT_NEAR (p_81765[dim], cloud_filtered[81765][dim], 1e-3) +# pass + + +# class TESTFastBilateralFilterOMP(unittest.TestCase): +# +# def setUp(self): +# self.p = pcl.load("tests" + os.path.sep + "milk_cartoon_all_small_clorox.pcd") +# +# sigma_s = [2.341, 5.2342, 10.29380] +# sigma_r = [0.0123, 0.023, 0.0345] +# for (size_t i = 0; i < 3; i++) +# FastBilateralFilter fbf; +# fbf.setInputCloud (cloud); +# fbf.setSigmaS (sigma_s[i]); +# fbf.setSigmaR (sigma_r[i]); +# PointCloud::Ptr cloud_filtered (new PointCloud ()); +# fbf.filter (*cloud_filtered); +# +# FastBilateralFilterOMP fbf_omp (0); +# fbf_omp.setInputCloud (cloud); +# fbf_omp.setSigmaS (sigma_s[i]); +# fbf_omp.setSigmaR (sigma_r[i]); +# PointCloud::Ptr cloud_filtered_omp (new PointCloud ()); +# fbf_omp.filter (*cloud_filtered_omp); +# PCL_INFO ("[FastBilateralFilterOMP] filtering took %f ms\n", tt.toc ()); +# +# +# EXPECT_EQ (cloud_filtered_omp->points.size (), cloud_filtered->points.size ()); +# for (size_t j = 0; j < cloud_filtered_omp->size (); ++j) +# { +# if (pcl_isnan (cloud_filtered_omp->at (j).x)) +# EXPECT_TRUE (pcl_isnan (cloud_filtered->at (j).x)); +# else +# { +# EXPECT_NEAR (cloud_filtered_omp->at (j).x, cloud_filtered->at (j).x, 1e-3); +# EXPECT_NEAR (cloud_filtered_omp->at (j).y, cloud_filtered->at (j).y, 1e-3); +# EXPECT_NEAR (cloud_filtered_omp->at (j).z, cloud_filtered->at (j).z, 1e-3); +# } +# } + + +def suite(): + suite = unittest.TestSuite() + + # Filter + suite.addTests(unittest.makeSuite(TestApproximateVoxelGrid)) + suite.addTests(unittest.makeSuite(TestConditionalRemoval)) + # suite.addTests(unittest.makeSuite(TestConditionAnd)) + suite.addTests(unittest.makeSuite(TestCropBox)) + suite.addTests(unittest.makeSuite(TestCropHull)) + suite.addTests(unittest.makeSuite(TestFieldComparison)) + suite.addTests(unittest.makeSuite(TestPassthroughFilter)) + suite.addTests(unittest.makeSuite(TestProjectInliers)) + # suite.addTests(unittest.makeSuite(TestRadiusOutlierRemoval)) + suite.addTests(unittest.makeSuite(TestStatisticalOutlierRemovalFilter)) + suite.addTests(unittest.makeSuite(TestVoxelGridFilter)) + + # PointCloudLibrary Official Base Test? + # suite.addTests(unittest.makeSuite(TestFastBilateralFilter)) + + return suite + + +if __name__ == '__main__': + testSuite = suite() + unittest.TextTestRunner().run(testSuite) diff --git a/tests/test_io.py b/tests/test_io.py new file mode 100644 index 000000000..631fe774b --- /dev/null +++ b/tests/test_io.py @@ -0,0 +1,205 @@ +import os.path +import pickle +import shutil +import tempfile +import unittest + +import pcl +import numpy as np + +from numpy.testing import assert_array_almost_equal, assert_array_equal + +from nose.plugins.attrib import attr + + +_data = [(i, 2 * i, 3 * i + 0.2) for i in range(5)] +_DATA = """0.0, 0.0, 0.2; + 1.0, 2.0, 3.2; + 2.0, 4.0, 6.2; + 3.0, 6.0, 9.2; + 4.0, 8.0, 12.2""" + + +# copy the output of seg +SEGDATA = """ 0.352222 -0.151883 2; + -0.106395 -0.397406 1; + -0.473106 0.292602 1; + -0.731898 0.667105 -2; + 0.441304 -0.734766 1; + 0.854581 -0.0361733 1; + -0.4607 -0.277468 4; + -0.916762 0.183749 1; + 0.968809 0.512055 1; + -0.998983 -0.463871 1; + 0.691785 0.716053 1; + 0.525135 -0.523004 1; + 0.439387 0.56706 1; + 0.905417 -0.579787 1; + 0.898706 -0.504929 1""" + + +### local function ### +def test_pcd_read(): + TMPL = """# .PCD v.7 - Point Cloud Data file format +VERSION .7 +FIELDS x y z +SIZE 4 4 4 +TYPE F F F +COUNT 1 1 1 +WIDTH %(npts)d +HEIGHT 1 +VIEWPOINT 0.1 0 0.5 0 1 0 0 +POINTS %(npts)d +DATA ascii +%(data)s""" + + a = np.array(np.mat(SEGDATA, dtype=np.float32)) + npts = a.shape[0] + tmp_file = tempfile.mkstemp(suffix='.pcd')[1] + with open(tmp_file, "w") as f: + f.write(TMPL % {"npts": npts, "data": SEGDATA.replace(";", "")}) + + p = pcl.load(tmp_file) + + assert p.width == npts + assert p.height == 1 + + for i, row in enumerate(a): + pt = np.array(p[i]) + ssd = sum((row - pt) ** 2) + assert ssd < 1e-6 + + assert_array_equal(p.sensor_orientation, + np.array([0, 1, 0, 0], dtype=np.float32)) + assert_array_equal(p.sensor_origin, + np.array([.1, 0, .5, 0], dtype=np.float32)) + + +def test_copy(): + a = np.random.randn(100, 3).astype(np.float32) + p1 = pcl.PointCloud(a) + p2 = pcl.PointCloud(p1) + assert_array_equal(p2.to_array(), a) + + +### + + +# io +class TestListIO(unittest.TestCase): + def setUp(self): + self.p = pcl.PointCloud(_data) + + def testFromList(self): + for i, d in enumerate(_data): + pt = self.p[i] + assert np.allclose(pt, _data[i]) + + def testToList(self): + l = self.p.to_list() + assert np.allclose(l, _data) + + +class TestNumpyIO(unittest.TestCase): + def setUp(self): + self.a = np.array(np.mat(_DATA, dtype=np.float32)) + self.p = pcl.PointCloud(self.a) + + def testFromNumpy(self): + for i, d in enumerate(_data): + pt = self.p[i] + assert np.allclose(pt, _data[i]) + + def testToNumpy(self): + a = self.p.to_array() + self.assertTrue(np.alltrue(a == self.a)) + + def test_asarray(self): + p = pcl.PointCloud(self.p) # copy + # old0 = p[0] + a = np.asarray(p) # view + a[:] += 6 + assert_array_almost_equal(p[0], a[0]) + + # Regression test: deleting a second view would previously + # reset the view count to zero. + b = np.asarray(p) + del b + + self.assertRaises(ValueError, p.resize, 2 * p.size) + + def test_pickle(self): + """Test pickle support.""" + # In this testcase because picking reduces to pickling NumPy arrays. + s = pickle.dumps(self.p) + p = pickle.loads(s) + self.assertTrue(np.all(self.a == p.to_array())) + + +class TestSave(unittest.TestCase): + + def setUp(self): + self.p = pcl.load( + "tests" + + os.path.sep + + "table_scene_mug_stereo_textured_noplane.pcd") + self.tmpdir = tempfile.mkdtemp(suffix='pcl-test') + + def tearDown(self): + shutil.rmtree(self.tmpdir) + + def testSave(self): + for ext in ["pcd", "ply"]: + d = os.path.join(self.tmpdir, "foo." + ext) + pcl.save(self.p, d) + p = pcl.load(d) + self.assertEqual(self.p.size, p.size) + + +class TestExtract(unittest.TestCase): + + def setUp(self): + self.p = pcl.load("tests" + os.path.sep + "flydracyl.pcd") + + def testExtractPos(self): + p2 = self.p.extract([1, 2, 3], False) + # new instance is returned + self.assertNotEqual(self.p, p2) + self.assertEqual(p2.size, 3) + + def testExtractNeg(self): + p2 = self.p.extract([1, 2, 3], True) + self.assertNotEqual(self.p, p2) + self.assertEqual(p2.size, self.p.size - 3) + + +class TestExceptions(unittest.TestCase): + + def setUp(self): + self.p = pcl.PointCloud(np.arange(9, dtype=np.float32).reshape(3, 3)) + + def testIndex(self): + self.assertRaises(IndexError, self.p.__getitem__, self.p.size) + self.assertRaises(Exception, self.p.get_point, self.p.size, 1) + + def testResize(self): + # XXX MemoryError isn't actually the prettiest exception for a + # negative argument. Don't hesitate to change this test to reflect + # better exceptions. + self.assertRaises(MemoryError, self.p.resize, -1) + + +def suite(): + suite = unittest.TestSuite() + # io + suite.addTests(unittest.makeSuite(TestListIO)) + suite.addTests(unittest.makeSuite(TestNumpyIO)) + suite.addTests(unittest.makeSuite(TestSave)) + suite.addTests(unittest.makeSuite(TestExtract)) + suite.addTests(unittest.makeSuite(TestExceptions)) + return suite + + +if __name__ == '__main__': + testSuite = suite() + unittest.TextTestRunner().run(testSuite) diff --git a/tests/test_kdtree.py b/tests/test_kdtree.py new file mode 100644 index 000000000..cf04a8b63 --- /dev/null +++ b/tests/test_kdtree.py @@ -0,0 +1,87 @@ +import os.path +import pickle +import shutil +import tempfile +import unittest + +import pcl +import numpy as np + +from nose.plugins.attrib import attr + + +class TestKdTree(unittest.TestCase): + def setUp(self): + rng = np.random.RandomState(42) + # Define two dense sets of points of sizes 30 and 170, resp. + a = rng.randn(100, 3).astype(np.float32) + a[:30] -= 42 + + self.pc = pcl.PointCloud(a) + self.kd = pcl.KdTreeFLANN(self.pc) + + def testException(self): + self.assertRaises(TypeError, pcl.KdTreeFLANN) + self.assertRaises(TypeError, self.kd.nearest_k_search_for_cloud, None) + + def testKNN(self): + # Small cluster + ind, sqdist = self.kd.nearest_k_search_for_point(self.pc, 0, k=2) + for i in ind: + self.assertGreaterEqual(i, 0) + self.assertLess(i, 30) + for d in sqdist: + self.assertGreaterEqual(d, 0) + + # Big cluster + for ref, k in ((80, 1), (59, 3), (60, 10)): + ind, sqdist = self.kd.nearest_k_search_for_point(self.pc, ref, k=k) + for i in ind: + self.assertGreaterEqual(i, 30) + for d in sqdist: + self.assertGreaterEqual(d, 0) + + +class TestKdTreeFLANN(unittest.TestCase): + def setUp(self): + rng = np.random.RandomState(42) + # Define two dense sets of points of sizes 30 and 170, resp. + a = rng.randn(100, 3).astype(np.float32) + a[:30] -= 42 + + self.pc = pcl.PointCloud(a) + self.kd = pcl.KdTreeFLANN(self.pc) + + def testException(self): + self.assertRaises(TypeError, pcl.KdTreeFLANN) + self.assertRaises(TypeError, self.kd.nearest_k_search_for_cloud, None) + + def testKNN(self): + # Small cluster + ind, sqdist = self.kd.nearest_k_search_for_point(self.pc, 0, k=2) + for i in ind: + self.assertGreaterEqual(i, 0) + self.assertLess(i, 30) + for d in sqdist: + self.assertGreaterEqual(d, 0) + + # Big cluster + for ref, k in ((80, 1), (59, 3), (60, 10)): + ind, sqdist = self.kd.nearest_k_search_for_point(self.pc, ref, k=k) + for i in ind: + self.assertGreaterEqual(i, 30) + for d in sqdist: + self.assertGreaterEqual(d, 0) + + +def suite(): + suite = unittest.TestSuite() + # ketree + suite.addTests(unittest.makeSuite(TestKdTree)) + suite.addTests(unittest.makeSuite(TestKdTreeFLANN)) + return suite + + +if __name__ == '__main__': + testSuite = suite() + unittest.TextTestRunner().run(testSuite) diff --git a/tests/test_keypoints.py b/tests/test_keypoints.py new file mode 100644 index 000000000..1f64c9cde --- /dev/null +++ b/tests/test_keypoints.py @@ -0,0 +1,134 @@ +import os.path +import pickle +import shutil +import tempfile +import unittest + +import pcl +import numpy as np + + +from nose.plugins.attrib import attr + + +_data = [(i, 2 * i, 3 * i + 0.2) for i in range(5)] +_DATA = """0.0, 0.0, 0.2; + 1.0, 2.0, 3.2; + 2.0, 4.0, 6.2; + 3.0, 6.0, 9.2; + 4.0, 8.0, 12.2""" + + +# keyPoints +### HarrisKeypoint3D ### + + +class TestHarrisKeypoint3D(unittest.TestCase): + def setUp(self): + self.p = pcl.load( + "tests" + + os.path.sep + + "tutorials" + + os.path.sep + + "bunny.pcd") + self.kp = self.p.make_HarrisKeypoint3D() + + def test_HarrisKeyPoint3D(self): + # 397 + base_point_count = 397 + self.assertEqual(self.p.size, base_point_count) + + self.kp.set_NonMaxSupression(True) + self.kp.set_Radius(0.01) + # self.kp.set_RadiusSearch (0.01) + keypoints = self.kp.compute() + + # pcl - 1.8, 51 + # pcl - 1.7, 48 + # keypoint_count = 51 + # self.assertEqual(keypoints.size, keypoint_count) + self.assertNotEqual(keypoints.size, 0) + + count = 0 + minIts = 999.00 + maxIts = -999.00 + points = np.zeros((keypoints.size, 3), dtype=np.float32) + # Generate the data + for i in range(0, keypoints.size): + # set Point Plane + points[i][0] = keypoints[i][0] + points[i][1] = keypoints[i][1] + points[i][2] = keypoints[i][2] + intensity = keypoints[i][3] + if intensity > maxIts: + print("coords: " + + str(keypoints[i][0]) + + ";" + + str(keypoints[i][1]) + + ";" + + str(keypoints[i][2])) + maxIts = intensity + + if intensity < minIts: + minIts = intensity + + count = count + 1 + + # points.resize(count, 3) + # print(points) + # keypoints3D.from_array(points) + # print("maximal responce: " + str(maxIts) + " min responce: " + str(minIts) ) + ## + # coords: 0.008801460266113281;0.12533344328403473;0.03247201442718506 + # coords: 0.02295708656311035;0.12180554866790771;0.029724061489105225 + # coords: -0.06679701805114746;0.15040874481201172;0.03854072093963623 + # coords: -0.0672549456357956;0.11913366615772247;0.05214547738432884 + # coords: -0.05888630822300911;0.1165248453617096;0.03698881343007088 + # coords: 0.04757949709892273;0.07463110238313675;0.018482372164726257 + # maximal responce: 0.0162825807929039 min responce: 0.0 + + # pcl 1.7 : 0.01632295921444893 + # self.assertEqual(maxIts, 0.0162825807929039) + self.assertGreaterEqual(maxIts, 0.0) + self.assertEqual(minIts, 0.0) + + +### NarfKeypoint ### +@attr('pcl_ver_0_4') +class TestNarfKeypoint(unittest.TestCase): + def setUp(self): + self.p = pcl.PointCloud(_data) + # self.kp = pcl.NarfKeypoint() + # self.kp.setInputCloud(self.p) + + def test_NarfKeypoint(self): + pass + + +### UniformSampling ### +@attr('pcl_ver_0_4') +class TestUniformSampling(unittest.TestCase): + def setUp(self): + self.p = pcl.PointCloud(_data) + # self.kp = pcl.UniformSampling() + + def test_UniformSampling(self): + pass + + +def suite(): + suite = unittest.TestSuite() + + # keypoints + suite.addTests(unittest.makeSuite(TestHarrisKeypoint3D)) + # RangeImage no set + # suite.addTests(unittest.makeSuite(TestNarfKeypoint)) + # no add pxiInclude + # suite.addTests(unittest.makeSuite(TestUniformSampling)) + + return suite + + +if __name__ == '__main__': + testSuite = suite() + unittest.TextTestRunner().run(testSuite) diff --git a/tests/test_octree.py b/tests/test_octree.py new file mode 100644 index 000000000..5dc1a592a --- /dev/null +++ b/tests/test_octree.py @@ -0,0 +1,110 @@ +import os.path +import pickle +import shutil +import tempfile +import unittest + +import pcl +import numpy as np + +_data = [(i, 2 * i, 3 * i + 0.2) for i in range(5)] +_DATA = """0.0, 0.0, 0.2; + 1.0, 2.0, 3.2; + 2.0, 4.0, 6.2; + 3.0, 6.0, 9.2; + 4.0, 8.0, 12.2""" + + +from nose.plugins.attrib import attr + + +# class TestOctreePointCloud(unittest.TestCase): +# +# def setUp(self): +# self.p = pcl.load("tests" + os.path.sep + "table_scene_mug_stereo_textured_noplane.pcd") +# self.octree = pcl.OctreePointCloud(0.1) +# +# def testLoad(self): +# self.octree.set_input_cloud(self.p) +# self.octree.define_bounding_box() +# self.octree.add_points_from_input_cloud() +# good_point = [0.035296999, -0.074322999, 1.2074] +# rs = self.octree.is_voxel_occupied_at_point(good_point) +# self.assertTrue(rs) +# bad_point = [0.5, 0.5, 0.5] +# rs = self.octree.is_voxel_occupied_at_point(bad_point) +# self.assertFalse(rs) +# voxels_len = 44 +# self.assertEqual(len(self.octree.get_occupied_voxel_centers()), voxels_len) +# self.octree.delete_voxel_at_point(good_point) +# self.assertEqual(len(self.octree.get_occupied_voxel_centers()), voxels_len - 1) + + +class TestOctreePointCloudSearch(unittest.TestCase): + + def setUp(self): + self.octree = pcl.OctreePointCloudSearch(0.1) + self.p = pcl.load( + "tests" + + os.path.sep + + "tutorials" + + os.path.sep + + "table_scene_mug_stereo_textured_noplane.pcd") + self.octree.set_input_cloud(self.p) + self.octree.define_bounding_box() + self.octree.add_points_from_input_cloud() + + def testConstructor(self): + self.assertRaises(ValueError, pcl.OctreePointCloudSearch, 0.) + + def testRadiusSearch(self): + good_point = (0.035296999, -0.074322999, 1.2074) + rs = self.octree.radius_search(good_point, 0.5, 1) + self.assertEqual(len(rs[0]), 1) + self.assertEqual(len(rs[1]), 1) + rs = self.octree.radius_search(good_point, 0.5) + self.assertEqual(len(rs[0]), 19730) + self.assertEqual(len(rs[1]), 19730) + + +class TestOctreePointCloudChangeDetector(unittest.TestCase): + + def setUp(self): + self.octree = pcl.OctreePointCloudSearch(0.1) + self.p = pcl.load( + "tests" + + os.path.sep + + "tutorials" + + os.path.sep + + "table_scene_mug_stereo_textured_noplane.pcd") + self.octree.set_input_cloud(self.p) + self.octree.define_bounding_box() + self.octree.add_points_from_input_cloud() + + def testConstructor(self): + self.assertRaises(ValueError, pcl.OctreePointCloudChangeDetector, 0.) + + def testRadiusSearch(self): + good_point = (0.035296999, -0.074322999, 1.2074) + rs = self.octree.radius_search(good_point, 0.5, 1) + self.assertEqual(len(rs[0]), 1) + self.assertEqual(len(rs[1]), 1) + rs = self.octree.radius_search(good_point, 0.5) + self.assertEqual(len(rs[0]), 19730) + self.assertEqual(len(rs[1]), 19730) + + +def suite(): + suite = unittest.TestSuite() + # octree + # base class + # suite.addTests(unittest.makeSuite(TestOctreePointCloud)) + suite.addTests(unittest.makeSuite(TestOctreePointCloudSearch)) + suite.addTests(unittest.makeSuite(TestOctreePointCloudChangeDetector)) + return suite + + +if __name__ == '__main__': + # unittest.main() + testSuite = suite() + unittest.TextTestRunner().run(testSuite) diff --git a/tests/test_pcl.py b/tests/test_pcl.py deleted file mode 100644 index c6e6d5447..000000000 --- a/tests/test_pcl.py +++ /dev/null @@ -1,920 +0,0 @@ -import os.path -import pickle -import shutil -import tempfile -import unittest - -import pcl -import numpy as np - -from numpy.testing import assert_array_almost_equal, assert_array_equal - -# common -### - -# features -### - -# filters -### - -# geometry -# grabber_sequences -# kdtree -# keypoints -# octree -# outofcore -# registration -# sample_consensus -# search -# surface - -_data = [(i, 2 * i, 3 * i + 0.2) for i in range(5)] -_DATA = """0.0, 0.0, 0.2; - 1.0, 2.0, 3.2; - 2.0, 4.0, 6.2; - 3.0, 6.0, 9.2; - 4.0, 8.0, 12.2""" - -# io -class TestListIO(unittest.TestCase): - def setUp(self): - self.p = pcl.PointCloud(_data) - - def testFromList(self): - for i, d in enumerate(_data): - pt = self.p[i] - assert np.allclose(pt, _data[i]) - - def testToList(self): - l = self.p.to_list() - assert np.allclose(l, _data) - - -class TestNumpyIO(unittest.TestCase): - def setUp(self): - self.a = np.array(np.mat(_DATA, dtype=np.float32)) - self.p = pcl.PointCloud(self.a) - - def testFromNumpy(self): - for i, d in enumerate(_data): - pt = self.p[i] - assert np.allclose(pt, _data[i]) - - def testToNumpy(self): - a = self.p.to_array() - self.assertTrue(np.alltrue(a == self.a)) - - def test_asarray(self): - p = pcl.PointCloud(self.p) # copy - # old0 = p[0] - a = np.asarray(p) # view - a[:] += 6 - assert_array_almost_equal(p[0], a[0]) - - # Regression test: deleting a second view would previously - # reset the view count to zero. - b = np.asarray(p) - del b - - self.assertRaises(ValueError, p.resize, 2 * p.size) - - def test_pickle(self): - """Test pickle support.""" - # In this testcase because picking reduces to pickling NumPy arrays. - s = pickle.dumps(self.p) - p = pickle.loads(s) - self.assertTrue(np.all(self.a == p.to_array())) - -# copy the output of seg -SEGDATA = """ 0.352222 -0.151883 2; - -0.106395 -0.397406 1; - -0.473106 0.292602 1; - -0.731898 0.667105 -2; - 0.441304 -0.734766 1; - 0.854581 -0.0361733 1; - -0.4607 -0.277468 4; - -0.916762 0.183749 1; - 0.968809 0.512055 1; - -0.998983 -0.463871 1; - 0.691785 0.716053 1; - 0.525135 -0.523004 1; - 0.439387 0.56706 1; - 0.905417 -0.579787 1; - 0.898706 -0.504929 1""" - -SEGINLIERS = """-0.106395 -0.397406 1; - -0.473106 0.292602 1; - 0.441304 -0.734766 1; - 0.854581 -0.0361733 1; - -0.916762 0.183749 1; - 0.968809 0.512055 1; - -0.998983 -0.463871 1; - 0.691785 0.716053 1; - 0.525135 -0.523004 1; - 0.439387 0.56706 1; - 0.905417 -0.579787 1; - 0.898706 -0.504929 1""" -SEGINLIERSIDX = [1, 2, 4, 5, 7, 8, 9, 10, 11, 12, 13, 14] - -SEGCOEFF = [0.0, 0.0, 1.0, -1.0] - - -class TestSegmentPlane(unittest.TestCase): - def setUp(self): - self.a = np.array(np.mat(SEGDATA, dtype=np.float32)) - self.p = pcl.PointCloud() - self.p.from_array(self.a) - - def testLoad(self): - npts = self.a.shape[0] - self.assertEqual(npts, self.p.size) - self.assertEqual(npts, self.p.width) - self.assertEqual(1, self.p.height) - - def testSegmentPlaneObject(self): - seg = self.p.make_segmenter() - seg.set_optimize_coefficients(True) - seg.set_model_type(pcl.SACMODEL_PLANE) - seg.set_method_type(pcl.SAC_RANSAC) - seg.set_distance_threshold(0.01) - - indices, model = seg.segment() - self.assertListEqual(indices, SEGINLIERSIDX) - self.assertListEqual(model, SEGCOEFF) - - -def test_pcd_read(): - TMPL = """# .PCD v.7 - Point Cloud Data file format -VERSION .7 -FIELDS x y z -SIZE 4 4 4 -TYPE F F F -COUNT 1 1 1 -WIDTH %(npts)d -HEIGHT 1 -VIEWPOINT 0.1 0 0.5 0 1 0 0 -POINTS %(npts)d -DATA ascii -%(data)s""" - - a = np.array(np.mat(SEGDATA, dtype=np.float32)) - npts = a.shape[0] - tmp_file = tempfile.mkstemp(suffix='.pcd')[1] - with open(tmp_file, "w") as f: - f.write(TMPL % {"npts": npts, "data": SEGDATA.replace(";", "")}) - - p = pcl.load(tmp_file) - - assert p.width == npts - assert p.height == 1 - - for i, row in enumerate(a): - pt = np.array(p[i]) - ssd = sum((row - pt) ** 2) - assert ssd < 1e-6 - - assert_array_equal(p.sensor_orientation, - np.array([0, 1, 0, 0], dtype=np.float32)) - assert_array_equal(p.sensor_origin, - np.array([.1, 0, .5, 0], dtype=np.float32)) - - -def test_copy(): - a = np.random.randn(100, 3).astype(np.float32) - p1 = pcl.PointCloud(a) - p2 = pcl.PointCloud(p1) - assert_array_equal(p2.to_array(), a) - - -SEGCYLMOD = [0.0552167, 0.0547035, 0.757707, - -0.0270852, -4.41026, -2.88995, 0.0387603] -# 1.6 - (Only Mac), other -SEGCYLIN = 11461 -# 1.7.2 - (Only Mac) -# SEGCYLIN = 11462 -# 1.8 - (Only Mac) -# SEGCYLIN = 11450 - -class TestSegmentCylinder(unittest.TestCase): - - def setUp(self): - self.p = pcl.load("tests" + os.path.sep + "table_scene_mug_stereo_textured_noplane.pcd") - - def testSegment(self): - seg = self.p.make_segmenter_normals(50) - seg.set_optimize_coefficients(True) - seg.set_model_type(pcl.SACMODEL_CYLINDER) - seg.set_method_type(pcl.SAC_RANSAC) - seg.set_normal_distance_weight(0.1) - seg.set_max_iterations(10000) - seg.set_distance_threshold(0.05) - seg.set_radius_limits(0, 0.1) - - indices, model = seg.segment() - - # MAC NG - # self.assertEqual(len(indices), SEGCYLIN) - - # npexp = np.array(SEGCYLMOD) - # npmod = np.array(model) - # ssd = sum((npexp - npmod) ** 2) - # self.assertLess(ssd, 1e-6) - - -class TestSave(unittest.TestCase): - - def setUp(self): - self.p = pcl.load("tests" + os.path.sep + "table_scene_mug_stereo_textured_noplane.pcd") - self.tmpdir = tempfile.mkdtemp(suffix='pcl-test') - - def tearDown(self): - shutil.rmtree(self.tmpdir) - - def testSave(self): - for ext in ["pcd", "ply"]: - d = os.path.join(self.tmpdir, "foo." + ext) - pcl.save(self.p, d) - p = pcl.load(d) - self.assertEqual(self.p.size, p.size) - - -class TestFilter(unittest.TestCase): - - def setUp(self): - self.p = pcl.load("tests" + os.path.sep + "flydracyl.pcd") - - def testFilter(self): - mls = self.p.make_moving_least_squares() - mls.set_search_radius(0.5) - mls.set_polynomial_order(2) - mls.set_polynomial_fit(True) - f = mls.process() - # new instance is returned - self.assertNotEqual(self.p, f) - # mls filter retains the same number of points - self.assertEqual(self.p.size, f.size) - - -class TestExtract(unittest.TestCase): - - def setUp(self): - self.p = pcl.load("tests" + os.path.sep + "flydracyl.pcd") - - def testExtractPos(self): - p2 = self.p.extract([1, 2, 3], False) - # new instance is returned - self.assertNotEqual(self.p, p2) - self.assertEqual(p2.size, 3) - - def testExtractNeg(self): - p2 = self.p.extract([1, 2, 3], True) - self.assertNotEqual(self.p, p2) - self.assertEqual(p2.size, self.p.size - 3) - - -class TestExceptions(unittest.TestCase): - - def setUp(self): - self.p = pcl.PointCloud(np.arange(9, dtype=np.float32).reshape(3, 3)) - - def testIndex(self): - self.assertRaises(IndexError, self.p.__getitem__, self.p.size) - self.assertRaises(Exception, self.p.get_point, self.p.size, 1) - - def testResize(self): - # XXX MemoryError isn't actually the prettiest exception for a - # negative argument. Don't hesitate to change this test to reflect - # better exceptions. - self.assertRaises(MemoryError, self.p.resize, -1) - - -class TestSegmenterNormal(unittest.TestCase): - - def setUp(self): - self.p = pcl.load("tests" + os.path.sep + "table_scene_mug_stereo_textured_noplane.pcd") - - def _tpos(self, c): - self.assertEqual(c.size, 22745) - self.assertEqual(c.width, 22745) - self.assertEqual(c.height, 1) - self.assertTrue(c.is_dense) - - def _tneg(self, c): - self.assertEqual(c.size, 1015) - self.assertEqual(c.width, 1015) - self.assertEqual(c.height, 1) - self.assertTrue(c.is_dense) - - def testFilterPos(self): - fil = self.p.make_statistical_outlier_filter() - fil.set_mean_k(50) - self.assertEqual(fil.mean_k, 50) - fil.set_std_dev_mul_thresh(1.0) - self.assertEqual(fil.stddev_mul_thresh, 1.0) - c = fil.filter() - self._tpos(c) - - def testFilterNeg(self): - fil = self.p.make_statistical_outlier_filter() - fil.set_mean_k(50) - fil.set_std_dev_mul_thresh(1.0) - self.assertEqual(fil.negative, False) - fil.set_negative(True) - self.assertEqual(fil.negative, True) - c = fil.filter() - self._tneg(c) - - def testFilterPosNeg(self): - fil = self.p.make_statistical_outlier_filter() - fil.set_mean_k(50) - fil.set_std_dev_mul_thresh(1.0) - c = fil.filter() - self._tpos(c) - fil.set_negative(True) - c = fil.filter() - self._tneg(c) - - -class TestVoxelGridFilter(unittest.TestCase): - - def setUp(self): - self.p = pcl.load("tests" + os.path.sep + "table_scene_mug_stereo_textured_noplane.pcd") - - def testFilter(self): - fil = self.p.make_voxel_grid_filter() - fil.set_leaf_size(0.01, 0.01, 0.01) - c = fil.filter() - self.assertTrue(c.size < self.p.size) - self.assertEqual(c.size, 719) - - -class TestPassthroughFilter(unittest.TestCase): - - def setUp(self): - self.p = pcl.load("tests/table_scene_mug_stereo_textured_noplane.pcd") - - def testFilter(self): - fil = self.p.make_passthrough_filter() - fil.set_filter_field_name("z") - fil.set_filter_limits(0, 0.75) - c = fil.filter() - self.assertTrue(c.size < self.p.size) - self.assertEqual(c.size, 7751) - - def testFilterBoth(self): - total = self.p.size - fil = self.p.make_passthrough_filter() - fil.set_filter_field_name("z") - fil.set_filter_limits(0, 0.75) - front = fil.filter().size - fil.set_filter_limits(0.75, 100) - back = fil.filter().size - self.assertEqual(total, front + back) - - -class TestKdTree(unittest.TestCase): - def setUp(self): - rng = np.random.RandomState(42) - # Define two dense sets of points of sizes 30 and 170, resp. - a = rng.randn(100, 3).astype(np.float32) - a[:30] -= 42 - - self.pc = pcl.PointCloud(a) - self.kd = pcl.KdTreeFLANN(self.pc) - - def testException(self): - self.assertRaises(TypeError, pcl.KdTreeFLANN) - self.assertRaises(TypeError, self.kd.nearest_k_search_for_cloud, None) - - def testKNN(self): - # Small cluster - ind, sqdist = self.kd.nearest_k_search_for_point(self.pc, 0, k=2) - for i in ind: - self.assertGreaterEqual(i, 0) - self.assertLess(i, 30) - for d in sqdist: - self.assertGreaterEqual(d, 0) - - # Big cluster - for ref, k in ((80, 1), (59, 3), (60, 10)): - ind, sqdist = self.kd.nearest_k_search_for_point(self.pc, ref, k=k) - for i in ind: - self.assertGreaterEqual(i, 30) - for d in sqdist: - self.assertGreaterEqual(d, 0) - - -# class TestOctreePointCloud(unittest.TestCase): -# -# def setUp(self): -# self.t = pcl.OctreePointCloud(0.1) -# -# def testLoad(self): -# pc = pcl.load("tests" + os.path.sep + "table_scene_mug_stereo_textured_noplane.pcd") -# self.t.set_input_cloud(pc) -# self.t.define_bounding_box() -# self.t.add_points_from_input_cloud() -# good_point = (0.035296999, -0.074322999, 1.2074) -# rs = self.t.is_voxel_occupied_at_point(good_point) -# self.assertTrue(rs) -# bad_point = (0.5, 0.5, 0.5) -# rs = self.t.is_voxel_occupied_at_point(bad_point) -# self.assertFalse(rs) -# voxels_len = 44 -# self.assertEqual(len(self.t.get_occupied_voxel_centers()), voxels_len) -# self.t.delete_voxel_at_point(good_point) -# self.assertEqual( -# len(self.t.get_occupied_voxel_centers()), voxels_len - 1) - - -class TestOctreePointCloudSearch(unittest.TestCase): - - def setUp(self): - self.t = pcl.OctreePointCloudSearch(0.1) - pc = pcl.load("tests" + os.path.sep + "table_scene_mug_stereo_textured_noplane.pcd") - self.t.set_input_cloud(pc) - self.t.define_bounding_box() - self.t.add_points_from_input_cloud() - - def testConstructor(self): - self.assertRaises(ValueError, pcl.OctreePointCloudSearch, 0.) - - def testRadiusSearch(self): - good_point = (0.035296999, -0.074322999, 1.2074) - rs = self.t.radius_search(good_point, 0.5, 1) - self.assertEqual(len(rs[0]), 1) - self.assertEqual(len(rs[1]), 1) - rs = self.t.radius_search(good_point, 0.5) - self.assertEqual(len(rs[0]), 19730) - self.assertEqual(len(rs[1]), 19730) - -# class TestOctreePointCloudChangeDetector(unittest.TestCase): -# -# def setUp(self): -# self.t = pcl.OctreePointCloudSearch(0.1) -# pc = pcl.load("tests" + os.path.sep + "table_scene_mug_stereo_textured_noplane.pcd") -# self.t.set_input_cloud(pc) -# self.t.define_bounding_box() -# self.t.add_points_from_input_cloud() -# -# def testConstructor(self): -# self.assertRaises(ValueError, pcl.OctreePointCloudChangeDetector, 0.) -# -# def testRadiusSearch(self): -# good_point = (0.035296999, -0.074322999, 1.2074) -# rs = self.t.radius_search(good_point, 0.5, 1) -# self.assertEqual(len(rs[0]), 1) -# self.assertEqual(len(rs[1]), 1) -# rs = self.t.radius_search(good_point, 0.5) -# self.assertEqual(len(rs[0]), 19730) -# self.assertEqual(len(rs[1]), 19730) - -# class TestCropHull(unittest.TestCase): -# -# def setUp(self): -# self.pc = pcl.load("tests" + os.path.sep + "tutorials" + os.path.sep + "table_scene_mug_stereo_textured.pcd") -# -# def testException(self): -# self.assertRaises(TypeError, pcl.CropHull) -# -# def testCropHull(self): -# filterCloud = pcl.PointCloud() -# vt = pcl.Vertices() -# # // inside point -# # cloud->push_back(pcl::PointXYZ(M_PI * 0.3, M_PI * 0.3, 0)) -# # // hull points -# # cloud->push_back(pcl::PointXYZ(0,0,0)) -# # cloud->push_back(pcl::PointXYZ(M_PI,0,0)) -# # cloud->push_back(pcl::PointXYZ(M_PI,M_PI*0.5,0)) -# # cloud->push_back(pcl::PointXYZ(0,M_PI*0.5,0)) -# # cloud->push_back(pcl::PointXYZ(0,0,0)) -# # // outside point -# # cloud->push_back(pcl::PointXYZ(-M_PI * 0.3, -M_PI * 0.3, 0)) -# points_2 = np.array([ -# [1 * 0.3, 1 * 0.3, 0], -# [0, 0, 0], -# [1, 0, 0], -# [1, 1 * 0.5, 0], -# [0, 1 * 0.5, 0], -# [0, 0, 0], -# # [-1 * 0.3 , -1 * 0.3, 0] -# ], dtype=np.float32) -# filterCloud.from_array(points_2) -# # print(filterCloud) -# -# vertices_point_1 = np.array([1, 2, 3, 4, 5], dtype=np.int) -# vt.from_array(vertices_point_1) -# # print(vt) -# # vt.vertices.push_back(1) -# # vt.vertices.push_back(2) -# # vt.vertices.push_back(3) -# # vt.vertices.push_back(4) -# # vt.vertices.push_back(5) -# # vertices = vector[pcl.Vertices] -# # vertices.push_back(vt) -# -# outputCloud = pcl.PointCloud() -# # crophull = pcl.CropHull() -# # crophull.setInputCloud(self.pc) -# crophull = self.pc.make_crophull() -# # crophull.setHullIndices(vertices) -# # crophull.setHullIndices(vt) -# # crophull.setHullCloud(filterCloud) -# # crophull.setDim(2) -# # crophull.setCropOutside(false) -# crophull.SetParameter(filterCloud, vt) -# # indices = vector[int] -# # cropHull.filter(indices) -# # outputCloud = cropHull.filter() -# # print("before: " + outputCloud) -# crophull.filter(outputCloud) -# # print(outputCloud) - - -# Write Point -# pcl::PCDWriter writer; -# std::stringstream ss; -# ss << "min_cut_seg" << ".pcd"; -# // writer.write (ss.str (), *cloud, false) -# pcl::io::savePCDFile(ss.str(), *outputCloud, false) - -# base : pcl/tests cpp source code[TEST (CropBox, Filters)] -class TestCropBox(unittest.TestCase): - - def setUp(self): - input = pcl.PointCloud() - points = np.zeros((9, 3), dtype=np.float32) - points[0] = 0.0, 0.0, 0.0 - points[1] = 0.9, 0.9, 0.9 - points[2] = 0.9, 0.9, -0.9 - points[3] = 0.9, -0.9, 0.9 - points[4] = -0.9, 0.9, 0.9 - points[5] = 0.9, -0.9, -0.9 - points[6] = -0.9, -0.9, 0.9 - points[7] = -0.9, 0.9, -0.9 - points[8] = -0.9, -0.9, -0.9 - input.from_array(points) - self.p = input - - def testException(self): - self.assertRaises(TypeError, pcl.CropHull) - - def testCrop(self): - cropBoxFilter = self.p.make_cropbox() - # Cropbox slighlty bigger then bounding box of points - cropBoxFilter.set_Min (-1.0, -1.0, -1.0, 1.0) - cropBoxFilter.set_Max ( 1.0, 1.0, 1.0, 1.0) - - # Indices - # vector indices; - # cropBoxFilter.filter(indices) - - # Cloud - cloud_out = cropBoxFilter.filter() - - # Should contain all - # self.assertEqual(indices.size, 9) - self.assertEqual(cloud_out.size, 9) - self.assertEqual(cloud_out.width, 9) - self.assertEqual(cloud_out.height, 1) - - # IndicesConstPtr removed_indices; - # removed_indices = cropBoxFilter.get_RemovedIndices () - cropBoxFilter.get_RemovedIndices () - # self.assertEqual(removed_indices.size, 0) - # self.assertEqual(lemn(removed_indices), 0) - - # Test setNegative - cropBoxFilter.set_Negative (True) - cloud_out_negative = cropBoxFilter.filter() - # self.assertEqual(cloud_out_negative.size, 0) - - # cropBoxFilter.filter(indices) - # self.assertEqual(indices.size, 0) - - cropBoxFilter.set_Negative (False) - cloud_out = cropBoxFilter.filter() - - # Translate crop box up by 1 - tx = 0 - ty = 1 - tz = 0 - cropBoxFilter.set_Translation(tx, ty, tz) - # indices = cropBoxFilter.filter() - cloud_out = cropBoxFilter.filter() - - # self.assertEqual(indices.size, 5) - self.assertEqual(cloud_out.size, 5) - - # removed_indices = cropBoxFilter.get_RemovedIndices () - cropBoxFilter.get_RemovedIndices () - # self.assertEqual(removed_indices.size, 4) - - # Test setNegative - cropBoxFilter.set_Negative (True) - cloud_out_negative = cropBoxFilter.filter() - # self.assertEqual(cloud_out_negative.size, 4) - - # indices = cropBoxFilter.filter() - # self.assertEqual(indices.size, 4) - - cropBoxFilter.set_Negative (False) - cloud_out = cropBoxFilter.filter() - - # Rotate crop box up by 45 - # cropBoxFilter.setRotation (Eigen::Vector3f (0.0f, 45.0f * float (M_PI) / 180.0f, 0.0f)) - # cropBoxFilter.filter(indices) - # cropBoxFilter.filter(cloud_out) - rx = 0.0 - ry = 45.0 * (3.141592 / 180.0) - rz = 0.0 - cropBoxFilter.set_Rotation(rx, ry, rz) - # indices = cropBoxFilter.filter() - cloud_out = cropBoxFilter.filter() - - # self.assertEqual(indices.size, 1) - self.assertEqual(cloud_out.size, 1) - self.assertEqual(cloud_out.width, 1) - self.assertEqual(cloud_out.height, 1) - - # removed_indices = cropBoxFilter.get_RemovedIndices () - # self.assertEqual(removed_indices.size, 8) - cropBoxFilter.get_RemovedIndices () - - # Test setNegative - cropBoxFilter.set_Negative (True) - cloud_out_negative = cropBoxFilter.filter() - # self.assertEqual(cloud_out_negative.size, 8) - - # indices = cropBoxFilter.filter() - # self.assertEqual(indices.size, 8) - - cropBoxFilter.set_Negative (False) - cloud_out = cropBoxFilter.filter() - - # // Rotate point cloud by -45 - # cropBoxFilter.set_Transform (getTransformation (0.0f, 0.0f, 0.0f, 0.0f, 0.0f, -45.0f * float (M_PI) / 180.0f)) - # indices = cropBoxFilter.filter() - # cloud_out = cropBoxFilter.filter() - # - # # self.assertEqual(indices.size, 3) - # self.assertEqual(cloud_out.size, 3) - # self.assertEqual(cloud_out.width, 3) - # self.assertEqual(cloud_out.height, 1) - ## - - # removed_indices = cropBoxFilter.get_RemovedIndices () - # self.assertEqual(removed_indices.size, 6) - cropBoxFilter.get_RemovedIndices () - - # // Test setNegative - cropBoxFilter.set_Negative (True) - cloud_out_negative = cropBoxFilter.filter() - # self.assertEqual(cloud_out_negative.size, 6) - - # indices = cropBoxFilter.filter() - # self.assertEqual(indices.size, 6) - - cropBoxFilter.set_Negative (False) - cloud_out = cropBoxFilter.filter() - - # Translate point cloud down by -1 - # # cropBoxFilter.setTransform (getTransformation(0, -1, 0, 0, 0, -45.0 * float (M_PI) / 180.0)) - # # cropBoxFilter.filter(indices) - # cropBoxFilter.filter(cloud_out) - # - # # self.assertEqual(indices.size, 2) - # self.assertEqual(cloud_out.size, 2) - # self.assertEqual(cloud_out.width, 2) - # self.assertEqual(cloud_out.height, 1) - ## - - # removed_indices = cropBoxFilter.get_RemovedIndices () - # self.assertEqual(removed_indices.size, 7) - - # Test setNegative - cropBoxFilter.set_Negative (True) - cloud_out_negative = cropBoxFilter.filter() - # self.assertEqual(cloud_out_negative.size, 7) - - # indices = cropBoxFilter.filter() - # self.assertEqual(indices.size, 7) - - cropBoxFilter.set_Negative (False) - cloud_out = cropBoxFilter.filter() - - # // Remove point cloud rotation - # cropBoxFilter.set_Transform (getTransformation(0, -1, 0, 0, 0, 0)) - # indices = cropBoxFilter.filter() - # cloud_out = cropBoxFilter.filter() - - # self.assertEqual(indices.size, 0) - # self.assertEqual(cloud_out.size, 0) - # self.assertEqual(cloud_out.width, 0) - # self.assertEqual(cloud_out.height, 1) - - # removed_indices = cropBoxFilter.get_RemovedIndices () - # self.assertEqual(removed_indices.size, 9) - - # Test setNegative - cropBoxFilter.set_Negative (True) - cloud_out_negative = cropBoxFilter.filter() - # self.assertEqual(cloud_out_negative.size, 9) - - # indices = cropBoxFilter.filter() - # self.assertEqual(indices.size, 9) - - # PCLPointCloud2 - # // ------------------------------------------------------------------------- - # Create cloud with center point and corner points - # PCLPointCloud2::Ptr input2 (new PCLPointCloud2) - # pcl::toPCLPointCloud2 (*input, *input2) - # - # Test the PointCloud method - # CropBox cropBoxFilter2(true) - # cropBoxFilter2.setInputCloud (input2) - # - # Cropbox slighlty bigger then bounding box of points - # cropBoxFilter2.setMin (min_pt) - # cropBoxFilter2.setMax (max_pt) - # - # Indices - # vector indices2; - # cropBoxFilter2.filter (indices2) - # - # Cloud - # PCLPointCloud2 cloud_out2; - # cropBoxFilter2.filter (cloud_out2) - # - # // Should contain all - # self.assertEqual(indices2.size, 9) - # self.assertEqual(indices2.size, int (cloud_out2.width * cloud_out2.height)) - # - # IndicesConstPtr removed_indices2; - # removed_indices2 = cropBoxFilter2.get_RemovedIndices () - # self.assertEqual(removed_indices2.size, 0) - # - # // Test setNegative - # PCLPointCloud2 cloud_out2_negative; - # cropBoxFilter2.setNegative (true) - # cropBoxFilter2.filter (cloud_out2_negative) - # self.assertEqual(cloud_out2_negative.width), 0) - # - # cropBoxFilter2.filter (indices2) - # self.assertEqual(indices2.size, 0) - # - # cropBoxFilter2.setNegative (false) - # cropBoxFilter2.filter (cloud_out2) - # - # // Translate crop box up by 1 - # cropBoxFilter2.setTranslation (Eigen::Vector3f(0, 1, 0)) - # cropBoxFilter2.filter (indices2) - # cropBoxFilter2.filter (cloud_out2) - # - # self.assertEqual(indices2.size, 5) - # self.assertEqual(indices2.size, int (cloud_out2.width * cloud_out2.height)) - # - # removed_indices2 = cropBoxFilter2.get_RemovedIndices () - # self.assertEqual(removed_indices2.size, 4) - # - # // Test setNegative - # cropBoxFilter2.setNegative (true) - # cropBoxFilter2.filter (cloud_out2_negative) - # self.assertEqual(cloud_out2_negative.width), 4) - # - # cropBoxFilter2.filter (indices2) - # self.assertEqual(indices2.size, 4) - # - # cropBoxFilter2.setNegative (false) - # cropBoxFilter2.filter (cloud_out2) - # - # // Rotate crop box up by 45 - # cropBoxFilter2.setRotation (Eigen::Vector3f (0.0f, 45.0f * float (M_PI) / 180.0f, 0.0f)) - # cropBoxFilter2.filter (indices2) - # cropBoxFilter2.filter (cloud_out2) - # - # self.assertEqual(indices2.size, 1) - # self.assertEqual(indices2.size, int (cloud_out2.width * cloud_out2.height)) - # - # // Rotate point cloud by -45 - # cropBoxFilter2.setTransform (getTransformation (0.0f, 0.0f, 0.0f, 0.0f, 0.0f, -45.0f * float (M_PI) / 180.0f)) - # cropBoxFilter2.filter (indices2) - # cropBoxFilter2.filter (cloud_out2) - # - # self.assertEqual(indices2.size, 3) - # self.assertEqual(cloud_out2.width * cloud_out2.height), 3) - # - # removed_indices2 = cropBoxFilter2.get_RemovedIndices () - # self.assertEqual(removed_indices2.size, 6) - # - # // Test setNegative - # cropBoxFilter2.setNegative (true) - # cropBoxFilter2.filter (cloud_out2_negative) - # self.assertEqual(cloud_out2_negative.width), 6) - # - # cropBoxFilter2.filter (indices2) - # self.assertEqual(indices2.size, 6) - # - # cropBoxFilter2.setNegative (false) - # cropBoxFilter2.filter (cloud_out2) - # - # // Translate point cloud down by -1 - # cropBoxFilter2.setTransform (getTransformation (0.0f, -1.0f, 0.0f, 0.0f, 0.0f, -45.0f * float (M_PI) / 180.0f)) - # cropBoxFilter2.filter (indices2) - # cropBoxFilter2.filter (cloud_out2) - # - # self.assertEqual(indices2.size, 2) - # self.assertEqual(cloud_out2.width * cloud_out2.height), 2) - # - # removed_indices2 = cropBoxFilter2.get_RemovedIndices () - # self.assertEqual(removed_indices2.size, 7) - # - # // Test setNegative - # cropBoxFilter2.setNegative (true) - # cropBoxFilter2.filter (cloud_out2_negative) - # self.assertEqual(cloud_out2_negative.width), 7) - # - # cropBoxFilter2.filter (indices2) - # self.assertEqual(indices2.size, 7) - # - # cropBoxFilter2.setNegative (false) - # cropBoxFilter2.filter (cloud_out2) - # - # // Remove point cloud rotation - # cropBoxFilter2.setTransform (getTransformation(0, -1, 0, 0, 0, 0)) - # cropBoxFilter2.filter (indices2) - # cropBoxFilter2.filter (cloud_out2) - # - # self.assertEqual(indices2.size, 0) - # self.assertEqual(cloud_out2.width * cloud_out2.height), 0) - # - # removed_indices2 = cropBoxFilter2.get_RemovedIndices () - # self.assertEqual(removed_indices2.size, 9) - # - # // Test setNegative - # cropBoxFilter2.setNegative (true) - # cropBoxFilter2.filter (cloud_out2_negative) - # self.assertEqual(cloud_out2_negative.width), 9) - # - # cropBoxFilter2.filter (indices2) - # self.assertEqual(indices2.size, 9) - # - # cropBoxFilter2.setNegative (false) - # cropBoxFilter2.filter (cloud_out2) - - -### - - -# Add ProjectInlier -# class TestProjectInlier(unittest.TestCase): -# -# def setUp(self): -# # TestData -# self.pc = pcl.PointCloud(a) -# self.kd = pcl.CropBox(self.pc) -# -# def testException(self): -# self.assertRaises(TypeError, pcl.CropHull) -# self.assertRaises(TypeError, self.kd.nearest_k_search_for_cloud, None) -# -# def testCrop(self): -# # Big cluster -# for ref, k in ((80, 1), (59, 3), (60, 10)): -# ind, sqdist = self.kd.nearest_k_search_for_point(self.pc, ref, k=k) -# for i in ind: -# self.assertGreaterEqual(i, 30) -# for d in sqdist: -# self.assertGreaterEqual(d, 0) -# -## - -# Add RadiusOutlierRemoval -### - -# Add ConditionAnd -### - -def suite(): - suite = unittest.TestSuite() - # io - suite.addTests(unittest.makeSuite(TestListIO)) - suite.addTests(unittest.makeSuite(TestNumpyIO)) - suite.addTests(unittest.makeSuite(TestSave)) - # - suite.addTests(unittest.makeSuite(TestSegmentPlane)) - suite.addTests(unittest.makeSuite(TestSegmentCylinder)) - suite.addTests(unittest.makeSuite(TestFilter)) - suite.addTests(unittest.makeSuite(TestExtract)) - suite.addTests(unittest.makeSuite(TestExceptions)) - suite.addTests(unittest.makeSuite(TestSegmenterNormal)) - suite.addTests(unittest.makeSuite(TestVoxelGridFilter)) - suite.addTests(unittest.makeSuite(TestPassthroughFilter)) - suite.addTests(unittest.makeSuite(TestKdTree)) - suite.addTests(unittest.makeSuite(TestOctreePointCloudSearch)) - return suite - -if __name__ == '__main__': - unittest.main() - diff --git a/tests/test_pcl_172.py b/tests/test_pcl_172.py deleted file mode 100644 index 2ed0718a5..000000000 --- a/tests/test_pcl_172.py +++ /dev/null @@ -1,566 +0,0 @@ -import os.path -import pickle -import shutil -import tempfile -import unittest - -import pcl -import numpy as np - -from numpy.testing import assert_array_almost_equal, assert_array_equal - - -_data = [(i, 2 * i, 3 * i + 0.2) for i in range(5)] -_DATA = """0.0, 0.0, 0.2; - 1.0, 2.0, 3.2; - 2.0, 4.0, 6.2; - 3.0, 6.0, 9.2; - 4.0, 8.0, 12.2""" - -# io -class TestListIO(unittest.TestCase): - def setUp(self): - self.p = pcl.PointCloud(_data) - - def testFromList(self): - for i, d in enumerate(_data): - pt = self.p[i] - assert np.allclose(pt, _data[i]) - - def testToList(self): - l = self.p.to_list() - assert np.allclose(l, _data) - - -class TestNumpyIO(unittest.TestCase): - def setUp(self): - self.a = np.array(np.mat(_DATA, dtype=np.float32)) - self.p = pcl.PointCloud(self.a) - - def testFromNumpy(self): - for i, d in enumerate(_data): - pt = self.p[i] - assert np.allclose(pt, _data[i]) - - def testToNumpy(self): - a = self.p.to_array() - self.assertTrue(np.alltrue(a == self.a)) - - def test_asarray(self): - p = pcl.PointCloud(self.p) # copy - # old0 = p[0] - a = np.asarray(p) # view - a[:] += 6 - assert_array_almost_equal(p[0], a[0]) - - def test_pickle(self): - """Test pickle support.""" - # In this testcase because picking reduces to pickling NumPy arrays. - s = pickle.dumps(self.p) - p = pickle.loads(s) - self.assertTrue(np.all(self.a == p.to_array())) - -# copy the output of seg -SEGDATA = """ 0.352222 -0.151883 2; - -0.106395 -0.397406 1; - -0.473106 0.292602 1; - -0.731898 0.667105 -2; - 0.441304 -0.734766 1; - 0.854581 -0.0361733 1; - -0.4607 -0.277468 4; - -0.916762 0.183749 1; - 0.968809 0.512055 1; - -0.998983 -0.463871 1; - 0.691785 0.716053 1; - 0.525135 -0.523004 1; - 0.439387 0.56706 1; - 0.905417 -0.579787 1; - 0.898706 -0.504929 1""" - -SEGINLIERS = """-0.106395 -0.397406 1; - -0.473106 0.292602 1; - 0.441304 -0.734766 1; - 0.854581 -0.0361733 1; - -0.916762 0.183749 1; - 0.968809 0.512055 1; - -0.998983 -0.463871 1; - 0.691785 0.716053 1; - 0.525135 -0.523004 1; - 0.439387 0.56706 1; - 0.905417 -0.579787 1; - 0.898706 -0.504929 1""" -SEGINLIERSIDX = [1, 2, 4, 5, 7, 8, 9, 10, 11, 12, 13, 14] - -SEGCOEFF = [0.0, 0.0, 1.0, -1.0] - - -class TestSegmentPlane(unittest.TestCase): - def setUp(self): - self.a = np.array(np.mat(SEGDATA, dtype=np.float32)) - self.p = pcl.PointCloud() - self.p.from_array(self.a) - - def testLoad(self): - npts = self.a.shape[0] - self.assertEqual(npts, self.p.size) - self.assertEqual(npts, self.p.width) - self.assertEqual(1, self.p.height) - - def testSegmentPlaneObject(self): - seg = self.p.make_segmenter() - seg.set_optimize_coefficients(True) - seg.set_model_type(pcl.SACMODEL_PLANE) - seg.set_method_type(pcl.SAC_RANSAC) - seg.set_distance_threshold(0.01) - - indices, model = seg.segment() - self.assertListEqual(indices, SEGINLIERSIDX) - self.assertListEqual(model, SEGCOEFF) - - -def test_pcd_read(): - TMPL = """# .PCD v.7 - Point Cloud Data file format -VERSION .7 -FIELDS x y z -SIZE 4 4 4 -TYPE F F F -COUNT 1 1 1 -WIDTH %(npts)d -HEIGHT 1 -VIEWPOINT 0.1 0 0.5 0 1 0 0 -POINTS %(npts)d -DATA ascii -%(data)s""" - - a = np.array(np.mat(SEGDATA, dtype=np.float32)) - npts = a.shape[0] - tmp_file = tempfile.mkstemp(suffix='.pcd')[1] - with open(tmp_file, "w") as f: - f.write(TMPL % {"npts": npts, "data": SEGDATA.replace(";", "")}) - - p = pcl.load(tmp_file) - - assert p.width == npts - assert p.height == 1 - - for i, row in enumerate(a): - pt = np.array(p[i]) - ssd = sum((row - pt) ** 2) - assert ssd < 1e-6 - - assert_array_equal(p.sensor_orientation, - np.array([0, 1, 0, 0], dtype=np.float32)) - assert_array_equal(p.sensor_origin, - np.array([.1, 0, .5, 0], dtype=np.float32)) - - -def test_copy(): - a = np.random.randn(100, 3).astype(np.float32) - p1 = pcl.PointCloud(a) - p2 = pcl.PointCloud(p1) - assert_array_equal(p2.to_array(), a) - - -SEGCYLMOD = [0.0552167, 0.0547035, 0.757707, - -0.0270852, -4.41026, -2.88995, 0.0387603] -# 1.7.2 -SEGCYLIN = 11462 - -class TestSegmentCylinder(unittest.TestCase): - - def setUp(self): - self.p = pcl.load("tests" + os.path.sep + "table_scene_mug_stereo_textured_noplane.pcd") - - def testSegment(self): - seg = self.p.make_segmenter_normals(50) - seg.set_optimize_coefficients(True) - seg.set_model_type(pcl.SACMODEL_CYLINDER) - seg.set_method_type(pcl.SAC_RANSAC) - seg.set_normal_distance_weight(0.1) - seg.set_max_iterations(10000) - seg.set_distance_threshold(0.05) - seg.set_radius_limits(0, 0.1) - - indices, model = seg.segment() - - self.assertEqual(len(indices), SEGCYLIN) - - # npexp = np.array(SEGCYLMOD) - # npmod = np.array(model) - # ssd = sum((npexp - npmod) ** 2) - # self.assertLess(ssd, 1e-6) - - -class TestSave(unittest.TestCase): - - def setUp(self): - self.p = pcl.load("tests" + os.path.sep + "table_scene_mug_stereo_textured_noplane.pcd") - self.tmpdir = tempfile.mkdtemp(suffix='pcl-test') - - def tearDown(self): - shutil.rmtree(self.tmpdir) - - def testSave(self): - for ext in ["pcd", "ply"]: - d = os.path.join(self.tmpdir, "foo." + ext) - pcl.save(self.p, d) - p = pcl.load(d) - self.assertEqual(self.p.size, p.size) - - -class TestFilter(unittest.TestCase): - - def setUp(self): - self.p = pcl.load("tests" + os.path.sep + "flydracyl.pcd") - - def testFilter(self): - mls = self.p.make_moving_least_squares() - mls.set_search_radius(0.5) - mls.set_polynomial_order(2) - mls.set_polynomial_fit(True) - f = mls.process() - # new instance is returned - self.assertNotEqual(self.p, f) - # mls filter retains the same number of points - self.assertEqual(self.p.size, f.size) - - -class TestExtract(unittest.TestCase): - - def setUp(self): - self.p = pcl.load("tests" + os.path.sep + "flydracyl.pcd") - - def testExtractPos(self): - p2 = self.p.extract([1, 2, 3], False) - # new instance is returned - self.assertNotEqual(self.p, p2) - self.assertEqual(p2.size, 3) - - def testExtractNeg(self): - p2 = self.p.extract([1, 2, 3], True) - self.assertNotEqual(self.p, p2) - self.assertEqual(p2.size, self.p.size - 3) - - -class TestExceptions(unittest.TestCase): - - def setUp(self): - self.p = pcl.PointCloud(np.arange(9, dtype=np.float32).reshape(3, 3)) - - def testIndex(self): - self.assertRaises(IndexError, self.p.__getitem__, self.p.size) - self.assertRaises(Exception, self.p.get_point, self.p.size, 1) - - def testResize(self): - # XXX MemoryError isn't actually the prettiest exception for a - # negative argument. Don't hesitate to change this test to reflect - # better exceptions. - self.assertRaises(MemoryError, self.p.resize, -1) - - -class TestSegmenterNormal(unittest.TestCase): - - def setUp(self): - self.p = pcl.load("tests" + os.path.sep + "table_scene_mug_stereo_textured_noplane.pcd") - - def _tpos(self, c): - self.assertEqual(c.size, 22745) - self.assertEqual(c.width, 22745) - self.assertEqual(c.height, 1) - self.assertTrue(c.is_dense) - - def _tneg(self, c): - self.assertEqual(c.size, 1015) - self.assertEqual(c.width, 1015) - self.assertEqual(c.height, 1) - self.assertTrue(c.is_dense) - - def testFilterPos(self): - fil = self.p.make_statistical_outlier_filter() - fil.set_mean_k(50) - self.assertEqual(fil.mean_k, 50) - fil.set_std_dev_mul_thresh(1.0) - self.assertEqual(fil.stddev_mul_thresh, 1.0) - c = fil.filter() - self._tpos(c) - - def testFilterNeg(self): - fil = self.p.make_statistical_outlier_filter() - fil.set_mean_k(50) - fil.set_std_dev_mul_thresh(1.0) - self.assertEqual(fil.negative, False) - fil.set_negative(True) - self.assertEqual(fil.negative, True) - c = fil.filter() - self._tneg(c) - - def testFilterPosNeg(self): - fil = self.p.make_statistical_outlier_filter() - fil.set_mean_k(50) - fil.set_std_dev_mul_thresh(1.0) - c = fil.filter() - self._tpos(c) - fil.set_negative(True) - c = fil.filter() - self._tneg(c) - - -class TestVoxelGridFilter(unittest.TestCase): - - def setUp(self): - self.p = pcl.load("tests" + os.path.sep + "table_scene_mug_stereo_textured_noplane.pcd") - - def testFilter(self): - fil = self.p.make_voxel_grid_filter() - fil.set_leaf_size(0.01, 0.01, 0.01) - c = fil.filter() - self.assertTrue(c.size < self.p.size) - self.assertEqual(c.size, 719) - - -class TestPassthroughFilter(unittest.TestCase): - - def setUp(self): - self.p = pcl.load("tests/table_scene_mug_stereo_textured_noplane.pcd") - - def testFilter(self): - fil = self.p.make_passthrough_filter() - fil.set_filter_field_name("z") - fil.set_filter_limits(0, 0.75) - c = fil.filter() - self.assertTrue(c.size < self.p.size) - self.assertEqual(c.size, 7751) - - def testFilterBoth(self): - total = self.p.size - fil = self.p.make_passthrough_filter() - fil.set_filter_field_name("z") - fil.set_filter_limits(0, 0.75) - front = fil.filter().size - fil.set_filter_limits(0.75, 100) - back = fil.filter().size - self.assertEqual(total, front + back) - - -class TestKdTree(unittest.TestCase): - - def setUp(self): - rng = np.random.RandomState(42) - # Define two dense sets of points of sizes 30 and 170, resp. - a = rng.randn(100, 3).astype(np.float32) - a[:30] -= 42 - - self.pc = pcl.PointCloud(a) - self.kd = pcl.KdTreeFLANN(self.pc) - - def testException(self): - self.assertRaises(TypeError, pcl.KdTreeFLANN) - self.assertRaises(TypeError, self.kd.nearest_k_search_for_cloud, None) - - def testKNN(self): - # Small cluster - ind, sqdist = self.kd.nearest_k_search_for_point(self.pc, 0, k=2) - for i in ind: - self.assertGreaterEqual(i, 0) - self.assertLess(i, 30) - for d in sqdist: - self.assertGreaterEqual(d, 0) - - # Big cluster - for ref, k in ((80, 1), (59, 3), (60, 10)): - ind, sqdist = self.kd.nearest_k_search_for_point(self.pc, ref, k=k) - for i in ind: - self.assertGreaterEqual(i, 30) - for d in sqdist: - self.assertGreaterEqual(d, 0) - - -class TestOctreePointCloud(unittest.TestCase): - - def setUp(self): - self.t = pcl.OctreePointCloud(0.1) - - def testLoad(self): - pc = pcl.load("tests" + os.path.sep + "table_scene_mug_stereo_textured_noplane.pcd") - self.t.set_input_cloud(pc) - self.t.define_bounding_box() - self.t.add_points_from_input_cloud() - good_point = (0.035296999, -0.074322999, 1.2074) - rs = self.t.is_voxel_occupied_at_point(good_point) - self.assertTrue(rs) - bad_point = (0.5, 0.5, 0.5) - rs = self.t.is_voxel_occupied_at_point(bad_point) - self.assertFalse(rs) - voxels_len = 44 - self.assertEqual(len(self.t.get_occupied_voxel_centers()), voxels_len) - self.t.delete_voxel_at_point(good_point) - self.assertEqual( - len(self.t.get_occupied_voxel_centers()), voxels_len - 1) - - -class TestOctreePointCloudSearch(unittest.TestCase): - - def setUp(self): - self.t = pcl.OctreePointCloudSearch(0.1) - pc = pcl.load("tests" + os.path.sep + "table_scene_mug_stereo_textured_noplane.pcd") - self.t.set_input_cloud(pc) - self.t.define_bounding_box() - self.t.add_points_from_input_cloud() - - def testConstructor(self): - self.assertRaises(ValueError, pcl.OctreePointCloudSearch, 0.) - - def testRadiusSearch(self): - good_point = (0.035296999, -0.074322999, 1.2074) - rs = self.t.radius_search(good_point, 0.5, 1) - self.assertEqual(len(rs[0]), 1) - self.assertEqual(len(rs[1]), 1) - rs = self.t.radius_search(good_point, 0.5) - self.assertEqual(len(rs[0]), 19730) - self.assertEqual(len(rs[1]), 19730) - -# class TestCropHull(unittest.TestCase): -# -# def setUp(self): -# self.pc = pcl.load("tests" + os.path.sep + "tutorials" + os.path.sep + "table_scene_mug_stereo_textured.pcd") -# -# def testException(self): -# self.assertRaises(TypeError, pcl.CropHull) -# -# def testCropHull(self): -# filterCloud = pcl.PointCloud() -# vt = pcl.Vertices() -# # // inside point -# # cloud->push_back(pcl::PointXYZ(M_PI * 0.3, M_PI * 0.3, 0)); -# # // hull points -# # cloud->push_back(pcl::PointXYZ(0,0,0)); -# # cloud->push_back(pcl::PointXYZ(M_PI,0,0)); -# # cloud->push_back(pcl::PointXYZ(M_PI,M_PI*0.5,0)); -# # cloud->push_back(pcl::PointXYZ(0,M_PI*0.5,0)); -# # cloud->push_back(pcl::PointXYZ(0,0,0)); -# # // outside point -# # cloud->push_back(pcl::PointXYZ(-M_PI * 0.3, -M_PI * 0.3, 0)); -# points_2 = np.array([ -# [1 * 0.3, 1 * 0.3, 0], -# [0, 0, 0], -# [1, 0, 0], -# [1, 1 * 0.5, 0], -# [0, 1 * 0.5, 0], -# [0, 0, 0], -# # [-1 * 0.3 , -1 * 0.3, 0] -# ], dtype=np.float32) -# filterCloud.from_array(points_2) -# # print(filterCloud) -# -# vertices_point_1 = np.array([1, 2, 3, 4, 5], dtype=np.int) -# vt.from_array(vertices_point_1) -# # print(vt) -# # vt.vertices.push_back(1) -# # vt.vertices.push_back(2) -# # vt.vertices.push_back(3) -# # vt.vertices.push_back(4) -# # vt.vertices.push_back(5) -# # vertices = vector[pcl.Vertices] -# # vertices.push_back(vt) -# -# outputCloud = pcl.PointCloud() -# # crophull = pcl.CropHull() -# # crophull.setInputCloud(self.pc) -# crophull = self.pc.make_crophull() -# # crophull.setHullIndices(vertices) -# # crophull.setHullIndices(vt) -# # crophull.setHullCloud(filterCloud) -# # crophull.setDim(2) -# # crophull.setCropOutside(false) -# crophull.SetParameter(filterCloud, vt) -# # indices = vector[int] -# # cropHull.filter(indices); -# # outputCloud = cropHull.filter(); -# # print("before: " + outputCloud) -# crophull.Filtering(outputCloud) -# # print(outputCloud) - - -# Viewer -# // pcl::visualization::CloudViewer viewer ("Cluster viewer"); -# // viewer.showCloud(colored_cloud); - -# Write Point -# pcl::PCDWriter writer; -# std::stringstream ss; -# ss << "min_cut_seg" << ".pcd"; -# // writer.write (ss.str (), *cloud, false); -# pcl::io::savePCDFile(ss.str(), *outputCloud, false); - - -class TestCropBox(unittest.TestCase): - - def setUp(self): - # self.pc = pcl.load("tests" + os.path.sep + "table_scene_mug_stereo_textured_noplane.pcd") - self.pc = pcl.load("tests" + os.path.sep + "tutorials" + os.path.sep + "table_scene_mug_stereo_textured.pcd") - - def testException(self): - self.assertRaises(TypeError, pcl.CropHull) - - def testCrop(self): - # pc = pcl.load("tests" + os.path.sep + "tutorials" + os.path.sep + "table_scene_mug_stereo_textured.pcd") - clipper = self.pc.make_cropbox() - outcloud = pcl.PointCloud() - self.assertEqual(outcloud.size, 0) - - # clipper.setTranslation(Eigen::Vector3f(pose->tx, pose->ty, pose->tz)); - # clipper.setRotation(Eigen::Vector3f(pose->rx, pose->ry, pose->rz)); - # clipper.setMin(-Eigen::Vector4f(tracklet->l/2, tracklet->w/2, 0, 0)); - # clipper.setMax(Eigen::Vector4f(tracklet->l/2, tracklet->w/2, tracklet->h, 0)); - # clipper.filter(*outcloud); - tx = 0 - ty = 0 - tz = 0 - clipper.set_Translation(tx, ty, tz) - rx = 0 - ry = 0 - rz = 0 - clipper.set_Rotation(rx, ry, rz) - minx = -1.5 - miny = -1.5 - minz = 2 - mins = 0 - maxx = 3.5 - maxy = 3.5 - maxz = 3 - maxs = 0 - clipper.set_MinMax(minx, miny, minz, mins, maxx, maxy, maxz, maxs) - clipper.Filtering(outcloud) - self.assertNotEqual(outcloud.size, 0) - self.assertNotEqual(outcloud.size, self.pc.size) - -# Add ProjectInlier -# class TestProjectInlier(unittest.TestCase): -# -# def setUp(self): -# # TestData -# self.pc = pcl.PointCloud(a) -# self.kd = pcl.CropBox(self.pc) -# -# def testException(self): -# self.assertRaises(TypeError, pcl.CropHull) -# self.assertRaises(TypeError, self.kd.nearest_k_search_for_cloud, None) -# -# def testCrop(self): -# # Big cluster -# for ref, k in ((80, 1), (59, 3), (60, 10)): -# ind, sqdist = self.kd.nearest_k_search_for_point(self.pc, ref, k=k) -# for i in ind: -# self.assertGreaterEqual(i, 30) -# for d in sqdist: -# self.assertGreaterEqual(d, 0) -# - -# Add RadiusOutlierRemoval - -# Add ConditionAnd - -# - -if __name__ == '__main__': - unittest.main() \ No newline at end of file diff --git a/tests/test_pcl_180.py b/tests/test_pcl_180.py deleted file mode 100644 index 3f4c552a0..000000000 --- a/tests/test_pcl_180.py +++ /dev/null @@ -1,568 +0,0 @@ -import os.path -import pickle -import shutil -import tempfile -import unittest - -import pcl -import numpy as np - -from numpy.testing import assert_array_almost_equal, assert_array_equal - - -_data = [(i, 2 * i, 3 * i + 0.2) for i in range(5)] -_DATA = """0.0, 0.0, 0.2; - 1.0, 2.0, 3.2; - 2.0, 4.0, 6.2; - 3.0, 6.0, 9.2; - 4.0, 8.0, 12.2""" - -# io -class TestListIO(unittest.TestCase): - def setUp(self): - self.p = pcl.PointCloud(_data) - - def testFromList(self): - for i, d in enumerate(_data): - pt = self.p[i] - assert np.allclose(pt, _data[i]) - - def testToList(self): - l = self.p.to_list() - assert np.allclose(l, _data) - - -class TestNumpyIO(unittest.TestCase): - def setUp(self): - self.a = np.array(np.mat(_DATA, dtype=np.float32)) - self.p = pcl.PointCloud(self.a) - - def testFromNumpy(self): - for i, d in enumerate(_data): - pt = self.p[i] - assert np.allclose(pt, _data[i]) - - def testToNumpy(self): - a = self.p.to_array() - self.assertTrue(np.alltrue(a == self.a)) - - def test_asarray(self): - p = pcl.PointCloud(self.p) # copy - # old0 = p[0] - a = np.asarray(p) # view - a[:] += 6 - assert_array_almost_equal(p[0], a[0]) - - def test_pickle(self): - """Test pickle support.""" - # In this testcase because picking reduces to pickling NumPy arrays. - s = pickle.dumps(self.p) - p = pickle.loads(s) - self.assertTrue(np.all(self.a == p.to_array())) - -# copy the output of seg -SEGDATA = """ 0.352222 -0.151883 2; - -0.106395 -0.397406 1; - -0.473106 0.292602 1; - -0.731898 0.667105 -2; - 0.441304 -0.734766 1; - 0.854581 -0.0361733 1; - -0.4607 -0.277468 4; - -0.916762 0.183749 1; - 0.968809 0.512055 1; - -0.998983 -0.463871 1; - 0.691785 0.716053 1; - 0.525135 -0.523004 1; - 0.439387 0.56706 1; - 0.905417 -0.579787 1; - 0.898706 -0.504929 1""" - -SEGINLIERS = """-0.106395 -0.397406 1; - -0.473106 0.292602 1; - 0.441304 -0.734766 1; - 0.854581 -0.0361733 1; - -0.916762 0.183749 1; - 0.968809 0.512055 1; - -0.998983 -0.463871 1; - 0.691785 0.716053 1; - 0.525135 -0.523004 1; - 0.439387 0.56706 1; - 0.905417 -0.579787 1; - 0.898706 -0.504929 1""" -SEGINLIERSIDX = [1, 2, 4, 5, 7, 8, 9, 10, 11, 12, 13, 14] - -SEGCOEFF = [0.0, 0.0, 1.0, -1.0] - - -class TestSegmentPlane(unittest.TestCase): - def setUp(self): - self.a = np.array(np.mat(SEGDATA, dtype=np.float32)) - self.p = pcl.PointCloud() - self.p.from_array(self.a) - - def testLoad(self): - npts = self.a.shape[0] - self.assertEqual(npts, self.p.size) - self.assertEqual(npts, self.p.width) - self.assertEqual(1, self.p.height) - - def testSegmentPlaneObject(self): - seg = self.p.make_segmenter() - seg.set_optimize_coefficients(True) - seg.set_model_type(pcl.SACMODEL_PLANE) - seg.set_method_type(pcl.SAC_RANSAC) - seg.set_distance_threshold(0.01) - - indices, model = seg.segment() - self.assertListEqual(indices, SEGINLIERSIDX) - self.assertListEqual(model, SEGCOEFF) - - -def test_pcd_read(): - TMPL = """# .PCD v.7 - Point Cloud Data file format -VERSION .7 -FIELDS x y z -SIZE 4 4 4 -TYPE F F F -COUNT 1 1 1 -WIDTH %(npts)d -HEIGHT 1 -VIEWPOINT 0.1 0 0.5 0 1 0 0 -POINTS %(npts)d -DATA ascii -%(data)s""" - - a = np.array(np.mat(SEGDATA, dtype=np.float32)) - npts = a.shape[0] - tmp_file = tempfile.mkstemp(suffix='.pcd')[1] - with open(tmp_file, "w") as f: - f.write(TMPL % {"npts": npts, "data": SEGDATA.replace(";", "")}) - - p = pcl.load(tmp_file) - - assert p.width == npts - assert p.height == 1 - - for i, row in enumerate(a): - pt = np.array(p[i]) - ssd = sum((row - pt) ** 2) - assert ssd < 1e-6 - - assert_array_equal(p.sensor_orientation, - np.array([0, 1, 0, 0], dtype=np.float32)) - assert_array_equal(p.sensor_origin, - np.array([.1, 0, .5, 0], dtype=np.float32)) - - -def test_copy(): - a = np.random.randn(100, 3).astype(np.float32) - p1 = pcl.PointCloud(a) - p2 = pcl.PointCloud(p1) - assert_array_equal(p2.to_array(), a) - - -SEGCYLMOD = [0.0552167, 0.0547035, 0.757707, - -0.0270852, -4.41026, -2.88995, 0.0387603] -# 1.7.2 -# SEGCYLIN = 11462 -# 1.8 -SEGCYLIN = 11450 - -class TestSegmentCylinder(unittest.TestCase): - - def setUp(self): - self.p = pcl.load("tests" + os.path.sep + "table_scene_mug_stereo_textured_noplane.pcd") - - def testSegment(self): - seg = self.p.make_segmenter_normals(50) - seg.set_optimize_coefficients(True) - seg.set_model_type(pcl.SACMODEL_CYLINDER) - seg.set_method_type(pcl.SAC_RANSAC) - seg.set_normal_distance_weight(0.1) - seg.set_max_iterations(10000) - seg.set_distance_threshold(0.05) - seg.set_radius_limits(0, 0.1) - - indices, model = seg.segment() - - self.assertEqual(len(indices), SEGCYLIN) - - # npexp = np.array(SEGCYLMOD) - # npmod = np.array(model) - # ssd = sum((npexp - npmod) ** 2) - # self.assertLess(ssd, 1e-6) - - -class TestSave(unittest.TestCase): - - def setUp(self): - self.p = pcl.load("tests" + os.path.sep + "table_scene_mug_stereo_textured_noplane.pcd") - self.tmpdir = tempfile.mkdtemp(suffix='pcl-test') - - def tearDown(self): - shutil.rmtree(self.tmpdir) - - def testSave(self): - for ext in ["pcd", "ply"]: - d = os.path.join(self.tmpdir, "foo." + ext) - pcl.save(self.p, d) - p = pcl.load(d) - self.assertEqual(self.p.size, p.size) - - -class TestFilter(unittest.TestCase): - - def setUp(self): - self.p = pcl.load("tests" + os.path.sep + "flydracyl.pcd") - - def testFilter(self): - mls = self.p.make_moving_least_squares() - mls.set_search_radius(0.5) - mls.set_polynomial_order(2) - mls.set_polynomial_fit(True) - f = mls.process() - # new instance is returned - self.assertNotEqual(self.p, f) - # mls filter retains the same number of points - self.assertEqual(self.p.size, f.size) - - -class TestExtract(unittest.TestCase): - - def setUp(self): - self.p = pcl.load("tests" + os.path.sep + "flydracyl.pcd") - - def testExtractPos(self): - p2 = self.p.extract([1, 2, 3], False) - # new instance is returned - self.assertNotEqual(self.p, p2) - self.assertEqual(p2.size, 3) - - def testExtractNeg(self): - p2 = self.p.extract([1, 2, 3], True) - self.assertNotEqual(self.p, p2) - self.assertEqual(p2.size, self.p.size - 3) - - -class TestExceptions(unittest.TestCase): - - def setUp(self): - self.p = pcl.PointCloud(np.arange(9, dtype=np.float32).reshape(3, 3)) - - def testIndex(self): - self.assertRaises(IndexError, self.p.__getitem__, self.p.size) - self.assertRaises(Exception, self.p.get_point, self.p.size, 1) - - def testResize(self): - # XXX MemoryError isn't actually the prettiest exception for a - # negative argument. Don't hesitate to change this test to reflect - # better exceptions. - self.assertRaises(MemoryError, self.p.resize, -1) - - -class TestSegmenterNormal(unittest.TestCase): - - def setUp(self): - self.p = pcl.load("tests" + os.path.sep + "table_scene_mug_stereo_textured_noplane.pcd") - - def _tpos(self, c): - self.assertEqual(c.size, 22745) - self.assertEqual(c.width, 22745) - self.assertEqual(c.height, 1) - self.assertTrue(c.is_dense) - - def _tneg(self, c): - self.assertEqual(c.size, 1015) - self.assertEqual(c.width, 1015) - self.assertEqual(c.height, 1) - self.assertTrue(c.is_dense) - - def testFilterPos(self): - fil = self.p.make_statistical_outlier_filter() - fil.set_mean_k(50) - self.assertEqual(fil.mean_k, 50) - fil.set_std_dev_mul_thresh(1.0) - self.assertEqual(fil.stddev_mul_thresh, 1.0) - c = fil.filter() - self._tpos(c) - - def testFilterNeg(self): - fil = self.p.make_statistical_outlier_filter() - fil.set_mean_k(50) - fil.set_std_dev_mul_thresh(1.0) - self.assertEqual(fil.negative, False) - fil.set_negative(True) - self.assertEqual(fil.negative, True) - c = fil.filter() - self._tneg(c) - - def testFilterPosNeg(self): - fil = self.p.make_statistical_outlier_filter() - fil.set_mean_k(50) - fil.set_std_dev_mul_thresh(1.0) - c = fil.filter() - self._tpos(c) - fil.set_negative(True) - c = fil.filter() - self._tneg(c) - - -class TestVoxelGridFilter(unittest.TestCase): - - def setUp(self): - self.p = pcl.load("tests" + os.path.sep + "table_scene_mug_stereo_textured_noplane.pcd") - - def testFilter(self): - fil = self.p.make_voxel_grid_filter() - fil.set_leaf_size(0.01, 0.01, 0.01) - c = fil.filter() - self.assertTrue(c.size < self.p.size) - self.assertEqual(c.size, 719) - - -class TestPassthroughFilter(unittest.TestCase): - - def setUp(self): - self.p = pcl.load("tests/table_scene_mug_stereo_textured_noplane.pcd") - - def testFilter(self): - fil = self.p.make_passthrough_filter() - fil.set_filter_field_name("z") - fil.set_filter_limits(0, 0.75) - c = fil.filter() - self.assertTrue(c.size < self.p.size) - self.assertEqual(c.size, 7751) - - def testFilterBoth(self): - total = self.p.size - fil = self.p.make_passthrough_filter() - fil.set_filter_field_name("z") - fil.set_filter_limits(0, 0.75) - front = fil.filter().size - fil.set_filter_limits(0.75, 100) - back = fil.filter().size - self.assertEqual(total, front + back) - - -class TestKdTree(unittest.TestCase): - - def setUp(self): - rng = np.random.RandomState(42) - # Define two dense sets of points of sizes 30 and 170, resp. - a = rng.randn(100, 3).astype(np.float32) - a[:30] -= 42 - - self.pc = pcl.PointCloud(a) - self.kd = pcl.KdTreeFLANN(self.pc) - - def testException(self): - self.assertRaises(TypeError, pcl.KdTreeFLANN) - self.assertRaises(TypeError, self.kd.nearest_k_search_for_cloud, None) - - def testKNN(self): - # Small cluster - ind, sqdist = self.kd.nearest_k_search_for_point(self.pc, 0, k=2) - for i in ind: - self.assertGreaterEqual(i, 0) - self.assertLess(i, 30) - for d in sqdist: - self.assertGreaterEqual(d, 0) - - # Big cluster - for ref, k in ((80, 1), (59, 3), (60, 10)): - ind, sqdist = self.kd.nearest_k_search_for_point(self.pc, ref, k=k) - for i in ind: - self.assertGreaterEqual(i, 30) - for d in sqdist: - self.assertGreaterEqual(d, 0) - - -class TestOctreePointCloud(unittest.TestCase): - - def setUp(self): - self.t = pcl.OctreePointCloud(0.1) - - def testLoad(self): - pc = pcl.load("tests" + os.path.sep + "table_scene_mug_stereo_textured_noplane.pcd") - self.t.set_input_cloud(pc) - self.t.define_bounding_box() - self.t.add_points_from_input_cloud() - good_point = (0.035296999, -0.074322999, 1.2074) - rs = self.t.is_voxel_occupied_at_point(good_point) - self.assertTrue(rs) - bad_point = (0.5, 0.5, 0.5) - rs = self.t.is_voxel_occupied_at_point(bad_point) - self.assertFalse(rs) - voxels_len = 44 - self.assertEqual(len(self.t.get_occupied_voxel_centers()), voxels_len) - self.t.delete_voxel_at_point(good_point) - self.assertEqual( - len(self.t.get_occupied_voxel_centers()), voxels_len - 1) - - -class TestOctreePointCloudSearch(unittest.TestCase): - - def setUp(self): - self.t = pcl.OctreePointCloudSearch(0.1) - pc = pcl.load("tests" + os.path.sep + "table_scene_mug_stereo_textured_noplane.pcd") - self.t.set_input_cloud(pc) - self.t.define_bounding_box() - self.t.add_points_from_input_cloud() - - def testConstructor(self): - self.assertRaises(ValueError, pcl.OctreePointCloudSearch, 0.) - - def testRadiusSearch(self): - good_point = (0.035296999, -0.074322999, 1.2074) - rs = self.t.radius_search(good_point, 0.5, 1) - self.assertEqual(len(rs[0]), 1) - self.assertEqual(len(rs[1]), 1) - rs = self.t.radius_search(good_point, 0.5) - self.assertEqual(len(rs[0]), 19730) - self.assertEqual(len(rs[1]), 19730) - -# class TestCropHull(unittest.TestCase): -# -# def setUp(self): -# self.pc = pcl.load("tests" + os.path.sep + "tutorials" + os.path.sep + "table_scene_mug_stereo_textured.pcd") -# -# def testException(self): -# self.assertRaises(TypeError, pcl.CropHull) -# -# def testCropHull(self): -# filterCloud = pcl.PointCloud() -# vt = pcl.Vertices() -# # // inside point -# # cloud->push_back(pcl::PointXYZ(M_PI * 0.3, M_PI * 0.3, 0)); -# # // hull points -# # cloud->push_back(pcl::PointXYZ(0,0,0)); -# # cloud->push_back(pcl::PointXYZ(M_PI,0,0)); -# # cloud->push_back(pcl::PointXYZ(M_PI,M_PI*0.5,0)); -# # cloud->push_back(pcl::PointXYZ(0,M_PI*0.5,0)); -# # cloud->push_back(pcl::PointXYZ(0,0,0)); -# # // outside point -# # cloud->push_back(pcl::PointXYZ(-M_PI * 0.3, -M_PI * 0.3, 0)); -# points_2 = np.array([ -# [1 * 0.3, 1 * 0.3, 0], -# [0, 0, 0], -# [1, 0, 0], -# [1, 1 * 0.5, 0], -# [0, 1 * 0.5, 0], -# [0, 0, 0], -# # [-1 * 0.3 , -1 * 0.3, 0] -# ], dtype=np.float32) -# filterCloud.from_array(points_2) -# # print(filterCloud) -# -# vertices_point_1 = np.array([1, 2, 3, 4, 5], dtype=np.int) -# vt.from_array(vertices_point_1) -# # print(vt) -# # vt.vertices.push_back(1) -# # vt.vertices.push_back(2) -# # vt.vertices.push_back(3) -# # vt.vertices.push_back(4) -# # vt.vertices.push_back(5) -# # vertices = vector[pcl.Vertices] -# # vertices.push_back(vt) -# -# outputCloud = pcl.PointCloud() -# # crophull = pcl.CropHull() -# # crophull.setInputCloud(self.pc) -# crophull = self.pc.make_crophull() -# # crophull.setHullIndices(vertices) -# # crophull.setHullIndices(vt) -# # crophull.setHullCloud(filterCloud) -# # crophull.setDim(2) -# # crophull.setCropOutside(false) -# crophull.SetParameter(filterCloud, vt) -# # indices = vector[int] -# # cropHull.filter(indices); -# # outputCloud = cropHull.filter(); -# # print("before: " + outputCloud) -# crophull.Filtering(outputCloud) -# # print(outputCloud) - - -# Viewer -# // pcl::visualization::CloudViewer viewer ("Cluster viewer"); -# // viewer.showCloud(colored_cloud); - -# Write Point -# pcl::PCDWriter writer; -# std::stringstream ss; -# ss << "min_cut_seg" << ".pcd"; -# // writer.write (ss.str (), *cloud, false); -# pcl::io::savePCDFile(ss.str(), *outputCloud, false); - - -class TestCropBox(unittest.TestCase): - - def setUp(self): - # self.pc = pcl.load("tests" + os.path.sep + "table_scene_mug_stereo_textured_noplane.pcd") - self.pc = pcl.load("tests" + os.path.sep + "tutorials" + os.path.sep + "table_scene_mug_stereo_textured.pcd") - - def testException(self): - self.assertRaises(TypeError, pcl.CropHull) - - def testCrop(self): - # pc = pcl.load("tests" + os.path.sep + "tutorials" + os.path.sep + "table_scene_mug_stereo_textured.pcd") - clipper = self.pc.make_cropbox() - outcloud = pcl.PointCloud() - self.assertEqual(outcloud.size, 0) - - # clipper.setTranslation(Eigen::Vector3f(pose->tx, pose->ty, pose->tz)); - # clipper.setRotation(Eigen::Vector3f(pose->rx, pose->ry, pose->rz)); - # clipper.setMin(-Eigen::Vector4f(tracklet->l/2, tracklet->w/2, 0, 0)); - # clipper.setMax(Eigen::Vector4f(tracklet->l/2, tracklet->w/2, tracklet->h, 0)); - # clipper.filter(*outcloud); - tx = 0 - ty = 0 - tz = 0 - clipper.set_Translation(tx, ty, tz) - rx = 0 - ry = 0 - rz = 0 - clipper.set_Rotation(rx, ry, rz) - minx = -1.5 - miny = -1.5 - minz = 2 - mins = 0 - maxx = 3.5 - maxy = 3.5 - maxz = 3 - maxs = 0 - clipper.set_MinMax(minx, miny, minz, mins, maxx, maxy, maxz, maxs) - clipper.Filtering(outcloud) - self.assertNotEqual(outcloud.size, 0) - self.assertNotEqual(outcloud.size, self.pc.size) - -# Add ProjectInlier -# class TestProjectInlier(unittest.TestCase): -# -# def setUp(self): -# # TestData -# self.pc = pcl.PointCloud(a) -# self.kd = pcl.CropBox(self.pc) -# -# def testException(self): -# self.assertRaises(TypeError, pcl.CropHull) -# self.assertRaises(TypeError, self.kd.nearest_k_search_for_cloud, None) -# -# def testCrop(self): -# # Big cluster -# for ref, k in ((80, 1), (59, 3), (60, 10)): -# ind, sqdist = self.kd.nearest_k_search_for_point(self.pc, ref, k=k) -# for i in ind: -# self.assertGreaterEqual(i, 30) -# for d in sqdist: -# self.assertGreaterEqual(d, 0) -# - -# Add RadiusOutlierRemoval - -# Add ConditionAnd - -# - -if __name__ == '__main__': - unittest.main() \ No newline at end of file diff --git a/tests/test_recognition.py b/tests/test_recognition.py new file mode 100644 index 000000000..9f12d5d4c --- /dev/null +++ b/tests/test_recognition.py @@ -0,0 +1,29 @@ +import os.path +import pickle +import shutil +import tempfile +import unittest + +import pcl +import numpy as np + +_data = [(i, 2 * i, 3 * i + 0.2) for i in range(5)] +_DATA = """0.0, 0.0, 0.2; + 1.0, 2.0, 3.2; + 2.0, 4.0, 6.2; + 3.0, 6.0, 9.2; + 4.0, 8.0, 12.2""" + +# recognition + + +def suite(): + suite = unittest.TestSuite() + # recognition + # suite.addTests(unittest.makeSuite(...)) + return suite + + +if __name__ == '__main__': + testSuite = suite() + unittest.TextTestRunner().run(testSuite) diff --git a/tests/test_registration.py b/tests/test_registration.py index c73d96fc5..fe2ced25a 100644 --- a/tests/test_registration.py +++ b/tests/test_registration.py @@ -9,45 +9,47 @@ # from pcl.pcl_registration import icp, gicp, icp_nl from pcl import IterativeClosestPoint, GeneralizedIterativeClosestPoint, IterativeClosestPointNonLinear + class TestICP(unittest.TestCase): def setUp(self): # Check if ICP can find a mild rotation. theta = [-.031, .4, .59] - rot_x = [[1, 0, 0], - [0, cos(theta[0]), -sin(theta[0])], - [0, sin(theta[0]), cos(theta[0])]] - rot_y = [[cos(theta[1]), 0, sin(theta[1])], - [0, 1, 0], - [-sin(theta[1]), 0, cos(theta[1])]] - rot_z = [[cos(theta[2]), -sin(theta[1]), 0], - [sin(theta[2]), cos(theta[1]), 0], - [0, 0, 1]] + rot_x = [[1, 0, 0], + [0, cos(theta[0]), -sin(theta[0])], + [0, sin(theta[0]), cos(theta[0])]] + rot_y = [[cos(theta[1]), 0, sin(theta[1])], + [0, 1, 0], + [-sin(theta[1]), 0, cos(theta[1])]] + rot_z = [[cos(theta[2]), -sin(theta[1]), 0], + [sin(theta[2]), cos(theta[1]), 0], + [0, 0, 1]] transform = np.dot(rot_x, np.dot(rot_y, rot_z)) - + source = np.random.RandomState(42).randn(900, 3) self.source = pcl.PointCloud(source.astype(np.float32)) - + target = np.dot(source, transform) self.target = pcl.PointCloud(target.astype(np.float32)) def testICP(self): icp = self.source.make_IterativeClosestPoint() - converged, transf, estimate, fitness = icp.icp(self.source, self.target, max_iter=1000) - + converged, transf, estimate, fitness = icp.icp( + self.source, self.target, max_iter=1000) + self.assertTrue(converged is True) self.assertLess(fitness, .1) - + self.assertTrue(isinstance(transf, np.ndarray)) self.assertEqual(transf.shape, (4, 4)) - + self.assertFalse(np.any(transf[:3] == 0)) assert_equal(transf[3], [0, 0, 0, 1]) - + # XXX I think I misunderstand fitness, it's not equal to the following MSS. # mss = (np.linalg.norm(estimate.to_array() # - self.source.to_array(), axis=1) ** 2).mean() # self.assertLess(mss, 1) - + # print("------", algo) # print("Converged: ", converged, "Estimate: ", estimate, # "Fitness: ", fitness) @@ -56,46 +58,48 @@ def testICP(self): # print("Translation: ", transf[3, 0:3]) # print("---------") + class TestGICP(unittest.TestCase): def setUp(self): # Check if ICP can find a mild rotation. theta = [-.031, .4, .59] - rot_x = [[1, 0, 0], - [0, cos(theta[0]), -sin(theta[0])], - [0, sin(theta[0]), cos(theta[0])]] - rot_y = [[cos(theta[1]), 0, sin(theta[1])], - [0, 1, 0], - [-sin(theta[1]), 0, cos(theta[1])]] - rot_z = [[cos(theta[2]), -sin(theta[1]), 0], - [sin(theta[2]), cos(theta[1]), 0], - [0, 0, 1]] + rot_x = [[1, 0, 0], + [0, cos(theta[0]), -sin(theta[0])], + [0, sin(theta[0]), cos(theta[0])]] + rot_y = [[cos(theta[1]), 0, sin(theta[1])], + [0, 1, 0], + [-sin(theta[1]), 0, cos(theta[1])]] + rot_z = [[cos(theta[2]), -sin(theta[1]), 0], + [sin(theta[2]), cos(theta[1]), 0], + [0, 0, 1]] transform = np.dot(rot_x, np.dot(rot_y, rot_z)) - + source = np.random.RandomState(42).randn(900, 3) self.source = pcl.PointCloud(source.astype(np.float32)) - + target = np.dot(source, transform) self.target = pcl.PointCloud(target.astype(np.float32)) def testGICP(self): gicp = self.source.make_GeneralizedIterativeClosestPoint() - converged, transf, estimate, fitness = gicp.gicp(self.source, self.target, max_iter=1000) - + converged, transf, estimate, fitness = gicp.gicp( + self.source, self.target, max_iter=1000) + self.assertTrue(converged is True) self.assertLess(fitness, .1) - + self.assertTrue(isinstance(transf, np.ndarray)) self.assertEqual(transf.shape, (4, 4)) - + self.assertFalse(np.any(transf[:3] == 0)) assert_equal(transf[3], [0, 0, 0, 1]) - + # XXX I think I misunderstand fitness, it's not equal to the following # MSS. # mss = (np.linalg.norm(estimate.to_array() # - self.source.to_array(), axis=1) ** 2).mean() # self.assertLess(mss, 1) - + # print("------", algo) # print("Converged: ", converged, "Estimate: ", estimate, "Fitness: ", fitness) # print("Rotation: ") @@ -103,40 +107,42 @@ def testGICP(self): # print("Translation: ", transf[3, 0:3]) # print("---------") + class TestICP_NL(unittest.TestCase): def setUp(self): # Check if ICP can find a mild rotation. theta = [-.031, .4, .59] - rot_x = [[1, 0, 0], - [0, cos(theta[0]), -sin(theta[0])], - [0, sin(theta[0]), cos(theta[0])]] - rot_y = [[cos(theta[1]), 0, sin(theta[1])], - [0, 1, 0], - [-sin(theta[1]), 0, cos(theta[1])]] - rot_z = [[cos(theta[2]), -sin(theta[1]), 0], - [sin(theta[2]), cos(theta[1]), 0], - [0, 0, 1]] + rot_x = [[1, 0, 0], + [0, cos(theta[0]), -sin(theta[0])], + [0, sin(theta[0]), cos(theta[0])]] + rot_y = [[cos(theta[1]), 0, sin(theta[1])], + [0, 1, 0], + [-sin(theta[1]), 0, cos(theta[1])]] + rot_z = [[cos(theta[2]), -sin(theta[1]), 0], + [sin(theta[2]), cos(theta[1]), 0], + [0, 0, 1]] transform = np.dot(rot_x, np.dot(rot_y, rot_z)) - + source = np.random.RandomState(42).randn(900, 3) self.source = pcl.PointCloud(source.astype(np.float32)) - + target = np.dot(source, transform) self.target = pcl.PointCloud(target.astype(np.float32)) def testICP_NL(self): icp_nl = self.source.make_IterativeClosestPointNonLinear() - converged, transf, estimate, fitness = icp_nl.icp_nl(self.source, self.target, max_iter=1000) - + converged, transf, estimate, fitness = icp_nl.icp_nl( + self.source, self.target, max_iter=1000) + self.assertTrue(converged is True) self.assertLess(fitness, .1) - + self.assertTrue(isinstance(transf, np.ndarray)) self.assertEqual(transf.shape, (4, 4)) - + self.assertFalse(np.any(transf[:3] == 0)) assert_equal(transf[3], [0, 0, 0, 1]) - + # XXX I think I misunderstand fitness, it's not equal to the following # MSS. # mss = (np.linalg.norm(estimate.to_array() @@ -150,6 +156,70 @@ def testICP_NL(self): # print("Translation: ", transf[3, 0:3]) # print("---------") + +_data = [(i, 2 * i, 3 * i + 0.2) for i in range(5)] +_DATA = """0.0, 0.0, 0.2; + 1.0, 2.0, 3.2; + 2.0, 4.0, 6.2; + 3.0, 6.0, 9.2; + 4.0, 8.0, 12.2""" + +# registration +### GeneralizedIterativeClosestPoint ### + + +class TestGeneralizedIterativeClosestPoint(unittest.TestCase): + def setUp(self): + self.p = pcl.load("tests" + os.path.sep + "flydracyl.pcd") + self.reg = pcl.GeneralizedIterativeClosestPoint() + + +### IterativeClosestPoint ### +class TestIterativeClosestPoint(unittest.TestCase): + def setUp(self): + self.p = pcl.load("tests" + os.path.sep + "flydracyl.pcd") + self.reg = pcl.IterativeClosestPoint() + +# def set_InputTarget(self, _pcl.PointCloud cloud): +# self.me.setInputTarget (cloud.thisptr_shared) +# pass +# +# # def get_Resolution(self): +# # return self.me.getResolution() +# +# # def get_StepSize(self): +# # return self.me.getStepSize() +# +# # def set_StepSize(self, double step_size): +# # self.me.setStepSize(step_size) +# +# # def get_OulierRatio(self): +# # return self.me.getOulierRatio() +# +# # def set_OulierRatio(self, double outlier_ratio): +# # self.me.setOulierRatio(outlier_ratio) +# +# # def get_TransformationProbability(self): +# # return self.me.getTransformationProbability() +# +# # def get_FinalNumIteration(self): +# # return self.me.getFinalNumIteration() + + +### IterativeClosestPointNonLinear ### +class TestIterativeClosestPointNonLinear(unittest.TestCase): + def setUp(self): + self.p = pcl.load("tests" + os.path.sep + "flydracyl.pcd") + self.reg = pcl.IterativeClosestPointNonLinear() + + +### NormalDistributionsTransform ### +class TestNormalDistributionsTransform(unittest.TestCase): + def setUp(self): + self.p = pcl.load("tests" + os.path.sep + "flydracyl.pcd") + self.reg = pcl.IterativeClosestPointNonLinear() + + def suite(): suite = unittest.TestSuite() suite.addTests(unittest.makeSuite(TestICP)) @@ -157,6 +227,7 @@ def suite(): suite.addTests(unittest.makeSuite(TestICP_NL)) return suite -if __name__ == '__main__': - unittest.main() +if __name__ == '__main__': + testSuite = suite() + unittest.TextTestRunner().run(testSuite) diff --git a/tests/test_registration_160.py b/tests/test_registration_160.py deleted file mode 100644 index 196f16353..000000000 --- a/tests/test_registration_160.py +++ /dev/null @@ -1,72 +0,0 @@ -from __future__ import print_function - -import numpy as np -from numpy import cos, sin -from numpy.testing import assert_equal -import unittest - -import pcl -from pcl.pcl_registration import icp, gicp, icp_nl - - -class TestICP(unittest.TestCase): - def setUp(self): - # Check if ICP can find a mild rotation. - theta = [-.031, .4, .59] - rot_x = [[1, 0, 0], - [0, cos(theta[0]), -sin(theta[0])], - [0, sin(theta[0]), cos(theta[0])]] - rot_y = [[cos(theta[1]), 0, sin(theta[1])], - [0, 1, 0], - [-sin(theta[1]), 0, cos(theta[1])]] - rot_z = [[cos(theta[2]), -sin(theta[1]), 0], - [sin(theta[2]), cos(theta[1]), 0], - [0, 0, 1]] - transform = np.dot(rot_x, np.dot(rot_y, rot_z)) - - source = np.random.RandomState(42).randn(900, 3) - self.source = pcl.PointCloud(source.astype(np.float32)) - - target = np.dot(source, transform) - self.target = pcl.PointCloud(target.astype(np.float32)) - - def check_algo(self, algo): - converged, transf, estimate, fitness = algo(self.source, self.target, max_iter=1000) - - self.assertTrue(converged is True) - self.assertLess(fitness, .1) - - self.assertTrue(isinstance(transf, np.ndarray)) - self.assertEqual(transf.shape, (4, 4)) - - self.assertFalse(np.any(transf[:3] == 0)) - assert_equal(transf[3], [0, 0, 0, 1]) - - # XXX I think I misunderstand fitness, it's not equal to the following - # MSS. - # mss = (np.linalg.norm(estimate.to_array() - # - self.source.to_array(), axis=1) ** 2).mean() - # self.assertLess(mss, 1) - - # print("------", algo) - # print("Converged: ", converged, "Estimate: ", estimate, - # "Fitness: ", fitness) - # print("Rotation: ") - # print(transf[0:3,0:3]) - # print("Translation: ", transf[3, 0:3]) - # print("---------") - - def testICP(self): - print("testICP") - self.check_algo(icp) - - def testGICP(self): - print("testGICP") - self.check_algo(gicp) - - def testICP_NL(self): - print("testICP_NL") - self.check_algo(icp_nl) - -if __name__ == '__main__': - unittest.main() \ No newline at end of file diff --git a/tests/test_sampleconsensus.py b/tests/test_sampleconsensus.py new file mode 100644 index 000000000..401033233 --- /dev/null +++ b/tests/test_sampleconsensus.py @@ -0,0 +1,141 @@ +import os.path +import pickle +import shutil +import tempfile +import unittest + +import pcl +import numpy as np + + +# _data = [(i, 2 * i, 3 * i + 0.2) for i in range(500)] + +import random +_data = [(random.random(), random.random(), random.random()) + for i in range(500)] + + +# sample_consensus + +### RandomSampleConsensus ### +class TestRandomSampleConsensus(unittest.TestCase): + def setUp(self): + self.p = pcl.PointCloud(_data) + + # def test_SampleConsensusModel(self): + # model = pcl.SampleConsensusModel(self.p) + # ransac = pcl.RandomSampleConsensus (model) + # ransac.set_DistanceThreshold (.01) + # ransac.computeModel() + # inliers = ransac.get_Inliers() + # + # # print(str(len(inliers))) + # self.assertNotEqual(len(inliers), 0) + + # def test_SampleConsensusModelCylinder(self): + # model_cy = pcl.SampleConsensusModelCylinder(self.p) + # ransac = pcl.RandomSampleConsensus (model_cy) + # ransac.set_DistanceThreshold (.01) + # ransac.computeModel() + # inliers = ransac.get_Inliers() + # + # # print(str(len(inliers))) + # self.assertNotEqual(len(inliers), 0) + + def test_SampleConsensusModelLine(self): + model_line = pcl.SampleConsensusModelLine(self.p) + ransac = pcl.RandomSampleConsensus(model_line) + ransac.set_DistanceThreshold(.01) + ransac.computeModel() + inliers = ransac.get_Inliers() + + # print(str(len(inliers))) + self.assertNotEqual(len(inliers), 0) + + def test_ModelPlane(self): + model_p = pcl.SampleConsensusModelPlane(self.p) + ransac = pcl.RandomSampleConsensus(model_p) + ransac.set_DistanceThreshold(.01) + ransac.computeModel() + inliers = ransac.get_Inliers() + + # print(str(len(inliers))) + self.assertNotEqual(len(inliers), 0) + + final = pcl.PointCloud() + + if len(inliers) != 0: + finalpoints = np.zeros((len(inliers), 3), dtype=np.float32) + + for i in range(0, len(inliers)): + finalpoints[i][0] = self.p[inliers[i]][0] + finalpoints[i][1] = self.p[inliers[i]][1] + finalpoints[i][2] = self.p[inliers[i]][2] + + final.from_array(finalpoints) + + self.assertNotEqual(final.size, 0) + pass + + # def test_SampleConsensusModelRegistration(self): + # model_reg = pcl.SampleConsensusModelRegistration(self.p) + # ransac = pcl.RandomSampleConsensus (model_reg) + # ransac.set_DistanceThreshold (.01) + # ransac.computeModel() + # inliers = ransac.get_Inliers() + # + # # print(str(len(inliers))) + # self.assertNotEqual(len(inliers), 0) + + def test_ModelSphere(self): + model_s = pcl.SampleConsensusModelSphere(self.p) + ransac = pcl.RandomSampleConsensus(model_s) + ransac.set_DistanceThreshold(.01) + ransac.computeModel() + inliers = ransac.get_Inliers() + + # print(str(len(inliers))) + self.assertNotEqual(len(inliers), 0) + + final = pcl.PointCloud() + + if len(inliers) != 0: + finalpoints = np.zeros((len(inliers), 3), dtype=np.float32) + + for i in range(0, len(inliers)): + finalpoints[i][0] = self.p[inliers[i]][0] + finalpoints[i][1] = self.p[inliers[i]][1] + finalpoints[i][2] = self.p[inliers[i]][2] + + final.from_array(finalpoints) + + self.assertNotEqual(final.size, 0) + pass + + def test_SampleConsensusModelStick(self): + model_st = pcl.SampleConsensusModelStick(self.p) + ransac = pcl.RandomSampleConsensus(model_st) + ransac.set_DistanceThreshold(.01) + ransac.computeModel() + inliers = ransac.get_Inliers() + + # print(str(len(inliers))) + self.assertNotEqual(len(inliers), 0) + + # def testException(self): + # self.assertRaises(TypeError, pcl.RandomSampleConsensus) + # pass + + +def suite(): + suite = unittest.TestSuite() + + # Sampleconsensus + suite.addTests(unittest.makeSuite(TestRandomSampleConsensus)) + + return suite + + +if __name__ == '__main__': + testSuite = suite() + unittest.TextTestRunner().run(testSuite) diff --git a/tests/test_segmentation.py b/tests/test_segmentation.py new file mode 100644 index 000000000..75535dfe7 --- /dev/null +++ b/tests/test_segmentation.py @@ -0,0 +1,260 @@ +import os.path +import pickle +import shutil +import tempfile +import unittest + +import pcl +import numpy as np + + +from nose.plugins.attrib import attr + + +_data = [(i, 2 * i, 3 * i + 0.2) for i in range(5)] +_DATA = """0.0, 0.0, 0.2; + 1.0, 2.0, 3.2; + 2.0, 4.0, 6.2; + 3.0, 6.0, 9.2; + 4.0, 8.0, 12.2""" + +# segmentation + +### ConditionalEuclideanClustering(1.7.2/1.8.0) ### + + +@attr('pcl_over_17') +@attr('pcl_ver_0_4') +class TestConditionalEuclideanClustering(unittest.TestCase): + def setUp(self): + self.p = pcl.PointCloud(_data) + self.segment = pcl.ConditionalEuclideanClustering() + + def testInstance(self): + assertIsInstance(type(self.segment), "ConditionalEuclideanClustering") + + +### EuclideanClusterExtraction ### +class TestEuclideanClusterExtraction(unittest.TestCase): + def setUp(self): + # self.p = pcl.PointCloud(_data) + self.p = pcl.load( + './examples/pcldata/tutorials/table_scene_lms400.pcd') + # self.segment = self.p + + def testTutorial(self): + vg = self.p.make_voxel_grid_filter() + vg.set_leaf_size(0.01, 0.01, 0.01) + cloud_filtered = vg.filter() + tree = cloud_filtered.make_kdtree() + + self.segment = cloud_filtered.make_EuclideanClusterExtraction() + self.segment.set_ClusterTolerance(0.02) + self.segment.set_MinClusterSize(100) + self.segment.set_MaxClusterSize(25000) + self.segment.set_SearchMethod(tree) + cluster_indices = self.segment.Extract() + + cloud_cluster = pcl.PointCloud() + + # print('cluster_indices : ' + str(cluster_indices.count) + " count.") + cloud_cluster = pcl.PointCloud() + for j, indices in enumerate(cluster_indices): + # print('indices = ' + str(len(indices))) + points = np.zeros((len(indices), 3), dtype=np.float32) + + for i, indice in enumerate(indices): + points[i][0] = cloud_filtered[indice][0] + points[i][1] = cloud_filtered[indice][1] + points[i][2] = cloud_filtered[indice][2] + + cloud_cluster.from_array(points) + + +### MinCutSegmentation(1.7.2) ### +@attr('pcl_over_17') +@attr('pcl_ver_0_4') +class TestMinCutSegmentation(unittest.TestCase): + def setUp(self): + self.p = pcl.PointCloud(_data) + self.segment = pcl.MinCutSegmentation() + + def testTutorial(self): + pass + + +### ProgressiveMorphologicalFilter ### +@attr('pcl_over_17') +@attr('pcl_ver_0_4') +class TestProgressiveMorphologicalFilter(unittest.TestCase): + def setUp(self): + self.p = pcl.PointCloud(_data) + self.segment = pcl.ProgressiveMorphologicalFilter() + + def testTutorial(self): + pass + + +# copy the output of seg +SEGDATA = """ 0.352222 -0.151883 2; + -0.106395 -0.397406 1; + -0.473106 0.292602 1; + -0.731898 0.667105 -2; + 0.441304 -0.734766 1; + 0.854581 -0.0361733 1; + -0.4607 -0.277468 4; + -0.916762 0.183749 1; + 0.968809 0.512055 1; + -0.998983 -0.463871 1; + 0.691785 0.716053 1; + 0.525135 -0.523004 1; + 0.439387 0.56706 1; + 0.905417 -0.579787 1; + 0.898706 -0.504929 1""" + +SEGINLIERS = """-0.106395 -0.397406 1; + -0.473106 0.292602 1; + 0.441304 -0.734766 1; + 0.854581 -0.0361733 1; + -0.916762 0.183749 1; + 0.968809 0.512055 1; + -0.998983 -0.463871 1; + 0.691785 0.716053 1; + 0.525135 -0.523004 1; + 0.439387 0.56706 1; + 0.905417 -0.579787 1; + 0.898706 -0.504929 1""" +SEGINLIERSIDX = [1, 2, 4, 5, 7, 8, 9, 10, 11, 12, 13, 14] + +SEGCOEFF = [0.0, 0.0, 1.0, -1.0] + +### Segmentation ### +# class TestSegmentation(unittest.TestCase): + + +class TestSegmentPlane(unittest.TestCase): + + def setUp(self): + self.a = np.array(np.mat(SEGDATA, dtype=np.float32)) + self.p = pcl.PointCloud() + self.p.from_array(self.a) + self.segment = self.p.make_segmenter() + + def testLoad(self): + npts = self.a.shape[0] + self.assertEqual(npts, self.p.size) + self.assertEqual(npts, self.p.width) + self.assertEqual(1, self.p.height) + + def testSegmentPlaneObject(self): + seg = self.p.make_segmenter() + seg.set_optimize_coefficients(True) + seg.set_model_type(pcl.SACMODEL_PLANE) + seg.set_method_type(pcl.SAC_RANSAC) + seg.set_distance_threshold(0.01) + + indices, coefficients = seg.segment() + self.assertListEqual(indices, SEGINLIERSIDX) + self.assertListEqual(coefficients, SEGCOEFF) + pass + + +### SegmentationNormal ### +class TestSegmentationNormal(unittest.TestCase): + def setUp(self): + # self.a = np.array(np.mat(SEGDATA, dtype=np.float32)) + # self.p = pcl.PointCloud() + # self.p.from_array(self.a) + cloud = pcl.load('tests' + os.path.sep + 'tutorials' + os.path.sep + 'table_scene_mug_stereo_textured.pcd') + + fil = cloud.make_passthrough_filter() + fil.set_filter_field_name("z") + fil.set_filter_limits(0, 1.5) + cloud_filtered = fil.filter() + + seg = cloud_filtered.make_segmenter_normals(ksearch=50) + seg.set_optimize_coefficients(True) + seg.set_model_type(pcl.SACMODEL_NORMAL_PLANE) + seg.set_normal_distance_weight(0.1) + seg.set_method_type(pcl.SAC_RANSAC) + seg.set_max_iterations(100) + seg.set_distance_threshold(0.03) + indices, model = seg.segment() + + self.p = cloud_filtered.extract(indices, negative=True) + + self.segment = self.p.make_segmenter_normals(ksearch=50) + # self.segment = pcl.SegmentationNormal() + # self.segment.setInputCloud(self.p) + + # def testLoad(self): + # npts = self.a.shape[0] + # self.assertEqual(npts, self.p.size) + # self.assertEqual(npts, self.p.width) + # self.assertEqual(1, self.p.height) + + + def testSegmentNormalCylinderObject(self): + self.segment.set_optimize_coefficients(True) + self.segment.set_model_type(pcl.SACMODEL_CYLINDER) + self.segment.set_normal_distance_weight(0.1) + self.segment.set_method_type(pcl.SAC_RANSAC) + self.segment.set_max_iterations(10000) + self.segment.set_distance_threshold(0.05) + self.segment.set_radius_limits(0, 0.1) + + self.segment.set_axis(1.0, 0.0, 0.0) + expected = np.array([1.0, 0.0, 0.0]) + param = self.segment.get_axis() + self.assertEqual(param.tolist(), expected.tolist()) + epsAngle = 35.0 + expected = epsAngle / 180.0 * 3.14 + self.segment.set_eps_angle(epsAngle / 180.0 * 3.14) + param = self.segment.get_eps_angle() + self.assertEqual(param, expected) + + indices, coefficients = self.segment.segment() + # self.assertListEqual(indices, SEGINLIERSIDX) + # self.assertListEqual(coefficients, SEGCOEFF) + + epsAngle = 50.0 + expected2 = epsAngle / 180.0 * 3.14 + self.segment.set_eps_angle(epsAngle / 180.0 * 3.14) + param2 = self.segment.get_eps_angle() + self.assertEqual(param2, expected2) + self.assertNotEqual(param, param2) + + indices2, coefficients2 = self.segment.segment() + # self.assertListEqual(indices2, SEGINLIERSIDX) + # self.assertListEqual(coefficients2, SEGCOEFF) + + # print(len(indices)) + # print(coefficients) + + # print(len(indices2)) + # print(coefficients2) + + self.assertNotEqual(len(indices), len(indices2)) + # self.assertListNotEqual(coefficients, coefficients2) + pass + + +def suite(): + suite = unittest.TestSuite() + + # segmentation + suite.addTests(unittest.makeSuite(TestEuclideanClusterExtraction)) + # suite.addTests(unittest.makeSuite(TestSegmentation)) + suite.addTests(unittest.makeSuite(TestSegmentPlane)) + suite.addTests(unittest.makeSuite(TestSegmentationNormal)) + # 1.7.2/1.8.0 + # suite.addTests(unittest.makeSuite(TestConditionalEuclideanClustering)) + # suite.addTests(unittest.makeSuite(TestMinCutSegmentation)) + # suite.addTests(unittest.makeSuite(TestProgressiveMorphologicalFilter)) + + return suite + + +if __name__ == '__main__': + testSuite = suite() + unittest.TextTestRunner().run(testSuite) diff --git a/tests/test_surface.py b/tests/test_surface.py new file mode 100644 index 000000000..3d84c444c --- /dev/null +++ b/tests/test_surface.py @@ -0,0 +1,64 @@ +import os.path +import pickle +import shutil +import tempfile +import unittest + +import pcl +import numpy as np + + +from nose.plugins.attrib import attr + + +# surface +### ConcaveHull ### +class TestConcaveHull(unittest.TestCase): + + def setUp(self): + self.p = pcl.load("tests" + os.path.sep + "flydracyl.pcd") + self.surf = self.p.make_ConcaveHull() + # self.surf = pcl.ConcaveHull() + # self.surf.setInputCloud() + + def testreconstruct(self): + alpha = 1.0 + self.surf.set_Alpha(alpha) + clonepc = self.surf.reconstruct() + # new instance is returned + self.assertNotEqual(self.p, clonepc) + # concavehull retains the same number of points? + self.assertNotEqual(self.p.size, clonepc.size) + + +### MovingLeastSquares ### +class TestMovingLeastSquares(unittest.TestCase): + + def setUp(self): + self.p = pcl.load("tests" + os.path.sep + "flydracyl.pcd") + self.surf = self.p.make_moving_least_squares() + + def testFilter(self): + self.surf.set_search_radius(0.5) + self.surf.set_polynomial_order(2) + self.surf.set_polynomial_fit(True) + f = self.surf.process() + # new instance is returned + self.assertNotEqual(self.p, f) + # mls filter retains the same number of points + self.assertEqual(self.p.size, f.size) + + +def suite(): + suite = unittest.TestSuite() + + # surface + suite.addTests(unittest.makeSuite(TestConcaveHull)) + suite.addTests(unittest.makeSuite(TestMovingLeastSquares)) + + return suite + + +if __name__ == '__main__': + testSuite = suite() + unittest.TextTestRunner().run(testSuite) diff --git a/tests/tutorials/bunny.pcd b/tests/tutorials/bunny.pcd new file mode 100644 index 000000000..e9d522c5a --- /dev/null +++ b/tests/tutorials/bunny.pcd @@ -0,0 +1,408 @@ +# .PCD v0.7 - Point Cloud Data file format +VERSION 0.7 +FIELDS x y z +SIZE 4 4 4 +TYPE F F F +COUNT 1 1 1 +WIDTH 397 +HEIGHT 1 +VIEWPOINT 0 0 0 1 0 0 0 +POINTS 397 +DATA ascii +0.0054215998 0.11349 0.040748999 +-0.0017447 0.11425 0.041273002 +-0.010661 0.11338 0.040916 +0.026422 0.11499 0.032623 +0.024545001 0.12284 0.024255 +0.034136999 0.11316 0.02507 +0.028860001 0.11773 0.027037 +0.02675 0.12234 0.017604999 +0.035750002 0.1123 0.019109 +0.015982 0.12307 0.031279001 +0.0079813004 0.12438 0.032798 +0.018100999 0.11674 0.035493001 +0.0086687002 0.11758 0.037537999 +0.01808 0.12536 0.026132001 +0.0080861002 0.12865999 0.02619 +0.02275 0.12146 0.029671 +-0.0018689 0.12456 0.033183999 +-0.011168 0.12376 0.032519002 +-0.0020063 0.11937 0.038104001 +-0.01232 0.11816 0.037427001 +-0.0016659 0.12879001 0.026782 +-0.011971 0.12723 0.026218999 +0.016484 0.12828 0.01928 +0.0070921001 0.13102999 0.018415 +0.0014615 0.13134 0.017095 +-0.013821 0.12886 0.019265 +-0.01725 0.11202 0.040077001 +-0.074556001 0.13415 0.051045999 +-0.065971002 0.14396 0.04109 +-0.071924999 0.14545 0.043265998 +-0.065509997 0.13624001 0.042195 +-0.071111999 0.13767 0.047518 +-0.079527996 0.13416 0.051194001 +-0.080421001 0.14428 0.042792998 +-0.082672 0.13779999 0.046806 +-0.088129997 0.13514 0.042222001 +-0.066325001 0.12347 0.050728999 +-0.072398998 0.12661999 0.052363999 +-0.066091001 0.11973 0.050880998 +-0.072012 0.11811 0.052294999 +-0.062433001 0.12627 0.043830998 +-0.068325996 0.12998 0.048875 +-0.063093998 0.11811 0.044399001 +-0.071300998 0.11322 0.048409998 +-0.080514997 0.12740999 0.052034002 +-0.078179002 0.1191 0.051116001 +-0.085216001 0.12609001 0.049001001 +-0.089538001 0.12621 0.044589002 +-0.082658999 0.11661 0.047970001 +-0.089535996 0.11784 0.044569999 +-0.056499999 0.15248001 0.030131999 +-0.055516999 0.15312999 0.026915001 +-0.036249999 0.17197999 0.00017688 +-0.037749998 0.17197999 0.00022189 +-0.036249999 0.16935 0.00051957997 +-0.033176001 0.15711001 0.0018682 +-0.051913001 0.15449999 0.011273 +-0.041707002 0.16642 0.0030522 +-0.049467999 0.16414 0.0041987998 +-0.041892 0.15669 0.0054879002 +-0.051224001 0.15877999 0.0080282995 +-0.062417001 0.15317 0.033160999 +-0.071670003 0.15319 0.033700999 +-0.062542997 0.15524 0.027404999 +-0.072109997 0.15549999 0.027644999 +-0.078662999 0.15268999 0.032267999 +-0.081569001 0.15374 0.026085 +-0.087250002 0.1523 0.022135001 +-0.057250001 0.15568 0.010325 +-0.057888001 0.1575 0.0073225 +-0.088500001 0.15222999 0.019215001 +-0.056129001 0.14616001 0.030850001 +-0.054705001 0.13555001 0.032127 +-0.054143999 0.14714 0.026275 +-0.046624999 0.13234 0.021909 +-0.05139 0.13694 0.025787 +-0.018278001 0.12238 0.030773001 +-0.021655999 0.11643 0.035209 +-0.031920999 0.11566 0.032850999 +-0.021348 0.12421 0.024561999 +-0.03241 0.12349 0.023293 +-0.024869001 0.12094 0.028744999 +-0.031746998 0.12039 0.028229 +-0.052912001 0.12685999 0.034968 +-0.041671999 0.11564 0.032997999 +-0.052037001 0.1168 0.034582 +-0.042495001 0.12488 0.024081999 +-0.047945999 0.12736 0.028108001 +-0.042420998 0.12035 0.028633 +-0.047660999 0.12024 0.028871 +-0.035964001 0.1513 0.00053949998 +-0.050597999 0.14740001 0.013881 +-0.046374999 0.13293 0.018289 +-0.049125001 0.13856 0.016269 +-0.042975999 0.14915 0.0054003 +-0.047965001 0.14658999 0.0086783003 +-0.022926001 0.12630001 0.018076999 +-0.031583 0.1259 0.017804001 +-0.041733 0.12796 0.016650001 +-0.061482001 0.14698 0.036168002 +-0.071728997 0.15026 0.038327999 +-0.060525998 0.13680001 0.035999 +-0.082618997 0.14823 0.035955001 +-0.087824002 0.14449 0.033778999 +-0.089000002 0.13828 0.037774 +-0.085662 0.15095 0.028208001 +-0.089601003 0.14725 0.025869001 +-0.090681002 0.13748001 0.02369 +-0.058722001 0.12924001 0.038991999 +-0.060075 0.11512 0.037684999 +-0.091812 0.12767 0.038702998 +-0.091727003 0.11657 0.039618999 +-0.093163997 0.12721001 0.025211001 +-0.093938001 0.12067 0.024398999 +-0.091582999 0.14522 0.019859999 +-0.090929002 0.13666999 0.019817 +-0.093093999 0.11635 0.018959001 +0.024948001 0.10286 0.041418001 +0.033599999 0.092626996 0.040463001 +0.027419999 0.096386001 0.043311998 +0.033920001 0.086911 0.041034002 +0.028155999 0.086837001 0.045084 +0.033810001 0.078603998 0.040854 +0.028124999 0.076874003 0.045058999 +0.0145 0.093278997 0.05088 +0.0074816998 0.094729997 0.052315 +0.017407 0.10535 0.043138999 +0.0079536 0.10633 0.042968001 +0.018510999 0.097194001 0.047253001 +0.0086436002 0.099322997 0.048078999 +-0.0020196999 0.095697999 0.053906001 +-0.011446 0.095169 0.053862002 +-0.001875 0.10691 0.043455001 +-0.011875 0.10688 0.043019 +-0.0017622 0.10071 0.046647999 +-0.012498 0.10008 0.045915999 +0.016380999 0.085894004 0.051642001 +0.0081166998 0.086910002 0.055227999 +0.017643999 0.076954998 0.052372001 +0.0081249997 0.076853 0.055535998 +0.020575 0.088169001 0.049006 +0.022445001 0.075721003 0.049563002 +-0.0017931 0.086848997 0.056843001 +-0.011943 0.086770996 0.057009 +-0.0019567001 0.076862998 0.057803001 +-0.011875 0.076963998 0.057022002 +0.03325 0.067541003 0.040033001 +0.028148999 0.066829003 0.042952999 +0.026760999 0.057829 0.042587999 +0.023571 0.047460001 0.040428001 +0.015831999 0.067418002 0.051639002 +0.0080431001 0.066901997 0.055006001 +0.013984 0.058885999 0.050416 +0.0080973003 0.056887999 0.052949999 +0.020566 0.065958001 0.048300002 +0.018594 0.056538999 0.047878999 +0.012875 0.052652001 0.049688999 +-0.0017852 0.066711999 0.056503002 +-0.011785 0.066885002 0.055015001 +-0.001875 0.056597002 0.054409999 +-0.01184 0.057054002 0.052714001 +-0.015688 0.052469 0.049614999 +0.0066153998 0.049929999 0.051259 +0.018088 0.046654999 0.043320999 +0.0088409996 0.045437001 0.046622999 +0.017688001 0.039719 0.043083999 +0.0081249997 0.039515998 0.045373999 +-0.0016111 0.049844 0.051720001 +-0.01245 0.046773002 0.050903 +-0.013851 0.039778002 0.051036 +-0.0020294001 0.044874001 0.047587 +-0.011653 0.046859998 0.048661001 +-0.0018611 0.039606001 0.047339 +-0.0091545004 0.039579999 0.049415 +0.043660998 0.094028004 0.02252 +0.034642 0.10473 0.031831 +0.028343 0.1072 0.036339 +0.036339 0.096551999 0.034843002 +0.031732999 0.099372 0.038504999 +0.036998 0.10668 0.026781 +0.032875001 0.11108 0.029589999 +0.040938001 0.097131997 0.026663 +0.044153001 0.086465999 0.024241 +0.053750001 0.072221003 0.020429 +0.045159999 0.076573998 0.023593999 +0.038036 0.086663 0.035459001 +0.037861001 0.076624997 0.035657998 +0.042215999 0.087237 0.028254 +0.042355001 0.076747 0.028580001 +0.043875001 0.096228004 0.015269 +0.044374999 0.096796997 0.0086444998 +0.039545 0.1061 0.017655 +0.042312998 0.10009 0.017237 +0.045405999 0.087416999 0.015604 +0.055117998 0.072639003 0.017944001 +0.048721999 0.073760003 0.017433999 +0.045917001 0.086297996 0.0094210999 +0.019432999 0.1096 0.039062999 +0.01097 0.11058 0.039648 +0.046657 0.057153001 0.031337 +0.056079 0.066335 0.024122 +0.048168 0.06701 0.026298 +0.056054998 0.057252999 0.024901999 +0.051162999 0.056662001 0.029137 +0.036913998 0.067032002 0.036122002 +0.033 0.064719997 0.039903 +0.038004 0.056506999 0.033119 +0.030629 0.054915 0.038484 +0.041875001 0.066382997 0.028356999 +0.041434001 0.060880002 0.029632 +0.044921 0.049904 0.031243 +0.054634999 0.050167002 0.022043999 +0.048280001 0.047370002 0.025845001 +0.037973002 0.048347 0.031456001 +0.028053001 0.047061 0.035990998 +0.025595 0.040346 0.034150001 +0.038454998 0.043508999 0.028278001 +0.032031 0.043278001 0.029253 +0.036580998 0.040335 0.025144 +0.03019 0.039321002 0.026846999 +0.059333 0.067891002 0.017361 +0.046500001 0.071451999 0.019710001 +0.059562001 0.057746999 0.018340001 +0.055636 0.049199 0.019173 +0.050500002 0.045063999 0.019181 +0.023 0.047803 0.039776001 +0.022389 0.038860001 0.038795002 +-0.019545 0.093900003 0.052205 +-0.021462001 0.10618 0.042059001 +-0.031027 0.10395 0.041228 +-0.022521 0.097723 0.045194 +-0.031858001 0.097025998 0.043878 +-0.043262001 0.10412 0.040890999 +-0.052154001 0.10404 0.040972002 +-0.041875001 0.096943997 0.042424001 +-0.051918998 0.096966997 0.043563001 +-0.021489 0.086672001 0.054767001 +-0.027000001 0.083086997 0.050283998 +-0.02107 0.077248998 0.054365002 +-0.026010999 0.089634001 0.048981 +-0.031893 0.087035 0.044169001 +-0.025625 0.074891999 0.047102001 +-0.031970002 0.076899998 0.042176999 +-0.041824002 0.086953998 0.043295 +-0.051825002 0.086843997 0.044932999 +-0.041917998 0.076728001 0.042564001 +-0.051849 0.076876998 0.042992 +-0.061338998 0.10393 0.041164 +-0.072672002 0.10976 0.044294 +-0.061783999 0.096825004 0.043327 +-0.070058003 0.096202999 0.041397002 +-0.080439001 0.11091 0.044342998 +-0.061926998 0.086723998 0.044520002 +-0.070344001 0.087352 0.041908 +-0.061409999 0.077489004 0.042178001 +-0.068579003 0.080144003 0.041023999 +-0.019045001 0.067731999 0.052388001 +-0.017742001 0.058908999 0.050809 +-0.023548 0.066381998 0.045226 +-0.033989999 0.067795001 0.040929001 +-0.02169 0.056549001 0.045164 +-0.036111001 0.060706001 0.040406998 +-0.041230999 0.066950999 0.041391999 +-0.048588 0.070955999 0.040357001 +-0.0403 0.059464999 0.040445998 +-0.021919999 0.044964999 0.052258 +-0.029186999 0.043584999 0.051088002 +-0.021919001 0.039825998 0.053521 +-0.030331001 0.039749 0.052133001 +-0.021997999 0.049846999 0.046725001 +-0.031911001 0.046847999 0.045187 +-0.035275999 0.039753001 0.047529001 +-0.042016 0.044822998 0.041593999 +-0.051940002 0.044707 0.043497998 +-0.041928001 0.039326999 0.043582 +-0.051856998 0.039252002 0.046211999 +-0.059452999 0.044240002 0.042862002 +-0.060764998 0.039087001 0.044362999 +-0.024273001 0.11038 0.039129 +-0.032379001 0.10878 0.037951998 +-0.041152 0.10853 0.037969001 +-0.051697999 0.10906 0.038258001 +-0.062091 0.10877 0.038274001 +-0.071654998 0.10596 0.037516002 +-0.074634001 0.097746 0.038346998 +-0.079120003 0.10508 0.032308001 +-0.080202997 0.096758001 0.033592001 +-0.083779998 0.10568 0.025985001 +-0.087292001 0.10314 0.020825 +-0.085210003 0.097079001 0.02781 +-0.088082001 0.096455999 0.022985 +-0.075159997 0.086039998 0.038816001 +-0.064576998 0.073454998 0.038970001 +-0.072278999 0.076416001 0.036412999 +-0.076375 0.072563 0.028729999 +-0.080031 0.087076001 0.034290001 +-0.078919001 0.079370998 0.032476999 +-0.084834002 0.086686 0.026974 +-0.087890998 0.089233004 0.022611 +-0.081047997 0.077169001 0.025829 +-0.086392999 0.10784 0.018634999 +-0.087672003 0.10492 0.017263999 +-0.089332998 0.098483004 0.01761 +-0.086374998 0.083067 0.018607 +-0.089179002 0.089185998 0.018947 +-0.082878999 0.076109 0.017794 +-0.082500003 0.074674003 0.0071175001 +-0.026436999 0.064140998 0.039321002 +-0.030035 0.066129997 0.038942002 +-0.026131 0.056531001 0.038881999 +-0.031663999 0.056657001 0.037742 +-0.045715999 0.064540997 0.039166 +-0.051959001 0.066868998 0.036733001 +-0.042557001 0.055544998 0.039026 +-0.049405999 0.056892 0.034343999 +-0.055500001 0.062391002 0.029498 +-0.053750001 0.058573999 0.026312999 +-0.034060001 0.050136998 0.038577002 +-0.041740999 0.049589999 0.03929 +-0.050974999 0.049435001 0.036965001 +-0.052999999 0.051065002 0.029208999 +-0.054145001 0.054568 0.012257 +-0.055847999 0.054170001 0.0083272001 +-0.054843999 0.049295001 0.011462 +-0.056150001 0.050618999 0.0092928996 +-0.061450999 0.068256997 0.035376001 +-0.069724999 0.069958001 0.032788001 +-0.062822998 0.063322 0.026885999 +-0.071037002 0.066786997 0.025227999 +-0.060857002 0.060568001 0.022643 +-0.067000002 0.061558001 0.020109 +-0.078199998 0.071278997 0.021032 +-0.062116001 0.045145001 0.037802 +-0.065472998 0.039512999 0.037964001 +-0.067249998 0.037420001 0.033413 +-0.072701998 0.065008 0.018701 +-0.061450001 0.059165001 0.018731 +-0.067500003 0.061478999 0.019221 +-0.057411 0.054113999 0.0038256999 +-0.079222001 0.070653997 0.017735001 +-0.062472999 0.044679999 0.01111 +-0.067249998 0.042257998 0.010414 +-0.066389002 0.040514998 0.01316 +-0.068359002 0.038502 0.011958 +-0.061381001 0.047479998 0.0076069999 +-0.068558998 0.043549001 0.0081575997 +-0.070928998 0.039829999 0.0085888002 +-0.016625 0.18375 -0.019734999 +-0.015198 0.17471001 -0.018867999 +-0.015944 0.16264001 -0.0091036996 +-0.015977001 0.16069999 -0.0088072 +-0.013251 0.16708 -0.015264 +-0.014292 0.16098 -0.011252 +-0.013986 0.184 -0.023739001 +-0.011633 0.17699 -0.023349 +-0.0091028996 0.16988 -0.021457 +-0.025562 0.18273 -0.0096247001 +-0.027249999 0.18254 -0.0094384002 +-0.025736 0.17948 -0.0089653004 +-0.031215999 0.17589 -0.0051154001 +-0.020399 0.18449999 -0.014943 +-0.021338999 0.17645 -0.014566 +-0.027124999 0.17234001 -0.010156 +-0.039390001 0.1733 -0.0023574999 +-0.022876 0.16406 -0.0078103002 +-0.031597 0.16651 -0.0049291998 +-0.022600001 0.15911999 -0.0037990001 +-0.030371999 0.15767001 -0.0012672 +-0.021158 0.16848999 -0.012383 +-0.027000001 0.17120001 -0.01022 +-0.041719001 0.16813 -0.00074957998 +-0.048250001 0.16748001 -0.00015191 +-0.037250001 0.16147 -7.2627998e-05 +-0.066428997 0.15783 -0.0085672997 +-0.071284004 0.15839 -0.005998 +-0.065978996 0.16288 -0.017792 +-0.071622998 0.16384 -0.015760001 +-0.066068001 0.16051 -0.013567 +-0.073307 0.16049001 -0.011832 +-0.077 0.16204 -0.019241 +-0.077179 0.15851 -0.01495 +-0.073691003 0.17286 -0.037944 +-0.077550001 0.17220999 -0.039175 +-0.065921001 0.16586 -0.025022 +-0.072094999 0.16784 -0.024724999 +-0.066 0.16808 -0.030916 +-0.073448002 0.17050999 -0.032044999 +-0.077770002 0.16434 -0.025938001 +-0.077892996 0.16039 -0.021299001 +-0.078211002 0.169 -0.034566 +-0.034667 0.15131 -0.00071028998 +-0.066117004 0.17353 -0.047453001 +-0.071985997 0.17612 -0.045384001 +-0.069250003 0.182 -0.055025999 +-0.064992003 0.17802 -0.054644998 +-0.069935001 0.17983 -0.051987998 +-0.077930003 0.17516001 -0.044399999 diff --git a/tests/tutorials/lamppost.pcd b/tests/tutorials/lamppost.pcd new file mode 100644 index 000000000..6c14e8741 --- /dev/null +++ b/tests/tutorials/lamppost.pcd @@ -0,0 +1,1782 @@ +# .PCD v0.7 - Point Cloud Data file format +VERSION 0.7 +FIELDS x y z +SIZE 4 4 4 +TYPE F F F +COUNT 1 1 1 +WIDTH 1771 +HEIGHT 1 +VIEWPOINT 0 0 0 1 0 0 0 +POINTS 1771 +DATA ascii +-10 0 0 +-10.015625 0 0.042999268 +-10.015625 0 0.10300064 +-10.046875 0 0.15100098 +-10.0625 0 0.20299911 +-9.984375 0 -0.125 +-10 0 -0.091999054 +-10.015625 0 -0.041000366 +-10.015625 0 0.012001038 +-10.046875 0 0.076000214 +-10.046875 0.03125 0.12200165 +-10.0625 0.03125 0.16699982 +-10.078125 0.03125 0.2140007 +-10.109375 0.03125 0.26399994 +-9.984375 0 -0.21999741 +-10 0 -0.17300034 +-10.015625 0 -0.13000107 +-10.015625 0 -0.065998077 +-10.015625 0.03125 -0.0060005188 +-10.0625 0.0625 0.14900208 +-10.09375 0.0625 0.19599915 +-10.109375 0.03125 0.22800064 +-10.140625 0.03125 0.26700211 +-9.96875 0 -0.34199905 +-10 0 -0.31499863 +-10 0 -0.26300049 +-10.015625 0 -0.20899963 +-10.015625 0 -0.15200043 +-10.015625 0.03125 -0.085998535 +-10.140625 0.0625 0.25 +-10.171875 0.0625 0.28300095 +-10.1875 0.0625 0.32799911 +-9.96875 0 -0.46199799 +-9.984375 0 -0.43499756 +-10 0 -0.39500046 +-10 0 -0.34499741 +-10.015625 0 -0.29499817 +-10.015625 0.03125 -0.23600006 +-10.15625 0.09375 0.27700043 +-10.1875 0.09375 0.29400253 +-10.21875 0.09375 0.32900238 +-9.984375 0 -0.56399918 +-9.984375 0 -0.52000046 +-10 0 -0.47399902 +-10 0.03125 -0.41799927 +-10 0 -0.36899948 +-10 0.03125 -0.30500031 +-10.21875 0.09375 0.30500031 +-10.25 0.09375 0.33800125 +-9.96875 0 -0.68099976 +-9.984375 0 -0.64699936 +-10 0 -0.60400009 +-10 0 -0.55299759 +-10 0 -0.50600052 +-10 0.03125 -0.44300079 +-10.25 0.125 0.31900024 +-10.265625 0.09375 0.34600067 +-9.96875 0 -0.79399872 +-9.984375 0 -0.75600052 +-9.984375 0 -0.7140007 +-9.984375 0 -0.66999817 +-10 0.03125 -0.62199783 +-10 0.03125 -0.5739975 +-10 0.03125 -0.51900101 +-10.265625 0.125 0.32500076 +-10.3125 0.125 0.34400177 +-9.96875 0 -0.90699768 +-9.984375 0 -0.875 +-9.984375 0 -0.82999802 +-9.984375 0 -0.79000092 +-10 0 -0.74399948 +-10 0.03125 -0.6969986 +-10 0.03125 -0.64699936 +-10.3125 0.15625 0.32699966 +-10.328125 0.125 0.35200119 +-9.953125 0 -1.0149994 +-9.96875 0 -0.97900009 +-9.984375 0 -0.94400024 +-9.984375 0 -0.90100098 +-9.984375 0 -0.85499954 +-10 0.03125 -0.81299973 +-10 0.03125 -0.76699829 +-10.328125 0.15625 0.33300018 +-10.359375 0.15625 0.35499954 +-9.921875 0 -1.1469994 +-9.9375 -0.03125 -1.1240005 +-9.96875 0 -1.0879974 +-9.984375 0 -1.0550003 +-9.984375 0 -1.0109978 +-9.984375 0 -0.97200012 +-10 0.03125 -0.92799759 +-10 0.03125 -0.88499832 +-10.359375 0.1875 0.34000015 +-10.40625 0.15625 0.35900116 +-9.9375 -0.03125 -1.257 +-9.953125 0 -1.2229996 +-9.96875 0 -1.1919975 +-9.96875 0 -1.1529999 +-9.984375 0 -1.1110001 +-9.984375 0 -1.0709991 +-9.984375 0.03125 -1.0330009 +-9.984375 0.03125 -0.98600006 +-10 0.03125 -0.95599747 +-10.40625 0.1875 0.33800125 +-10.421875 0.1875 0.36500168 +-9.90625 -0.03125 -1.3849983 +-9.9375 -0.03125 -1.3610001 +-9.953125 0 -1.3250008 +-9.96875 0 -1.2939987 +-9.96875 0 -1.2529984 +-9.984375 0 -1.2229996 +-9.984375 0 -1.1800003 +-9.984375 0.03125 -1.1380005 +-9.984375 0.03125 -1.093998 +-9.96875 0.0625 -1.0239983 +-10.421875 0.21875 0.34899902 +-10.46875 0.1875 0.36400223 +-9.90625 -0.03125 -1.4799995 +-9.9375 -0.03125 -1.4519997 +-9.9375 -0.03125 -1.4220009 +-9.96875 0 -1.3859978 +-9.96875 0 -1.3499985 +-9.984375 0 -1.3149986 +-9.984375 0 -1.2779999 +-9.984375 0.03125 -1.2369995 +-9.984375 0.03125 -1.1909981 +-10.46875 0.21875 0.34000015 +-10.484375 0.21875 0.3710022 +-9.90625 -0.03125 -1.6049995 +-9.9375 -0.03125 -1.5809975 +-9.9375 -0.03125 -1.5470009 +-9.96875 0 -1.5159988 +-9.96875 0 -1.4829979 +-9.96875 0 -1.4469986 +-9.96875 0 -1.4099998 +-9.984375 0 -1.3730011 +-9.984375 0.03125 -1.3289986 +-9.984375 0.03125 -1.2869987 +-10.484375 0.21875 0.34899902 +-10.5 0.21875 0.38100052 +-10.578125 0.1875 0.37400055 +-10.59375 0.1875 0.41600037 +-9.90625 0 -1.6930008 +-9.921875 -0.03125 -1.6669998 +-9.953125 0 -1.6339989 +-9.953125 0 -1.6020012 +-9.96875 0 -1.5690002 +-9.96875 0 -1.5340004 +-9.96875 0 -1.4980011 +-9.984375 0.03125 -1.4640007 +-9.96875 0.03125 -1.4209976 +-9.96875 0.03125 -1.3829994 +-10.5 0.25 0.35400009 +-10.578125 0.1875 0.32200241 +-10.609375 0.1875 0.35000229 +-10.609375 0.1875 0.41600037 +-9.90625 -0.03125 -1.8110008 +-9.90625 -0.03125 -1.7819977 +-9.9375 -0.03125 -1.7550011 +-9.953125 0 -1.7220001 +-9.953125 0 -1.6899986 +-9.96875 0 -1.6559982 +-9.96875 0 -1.6209984 +-9.96875 0 -1.5879974 +-9.96875 0.03125 -1.5499992 +-9.96875 0.03125 -1.5099983 +-9.96875 0.0625 -1.4640007 +-10.5 0.25 0.32400131 +-10.5625 0.21875 0.32300186 +-10.609375 0.21875 0.32400131 +-10.640625 0.1875 0.34400177 +-10.65625 0.21875 0.40500259 +-9.890625 -0.03125 -1.9239998 +-9.90625 -0.03125 -1.8959999 +-9.921875 -0.03125 -1.8699989 +-9.9375 -0.03125 -1.8400002 +-9.953125 0 -1.8059998 +-9.953125 0 -1.7729988 +-9.96875 0 -1.7410011 +-9.96875 0 -1.7109985 +-9.96875 0.03125 -1.6769981 +-9.96875 0.03125 -1.6380005 +-9.96875 0.03125 -1.5999985 +-10.5625 0.25 0.31800079 +-10.59375 0.25 0.31299973 +-10.640625 0.21875 0.31800079 +-10.671875 0.15625 0.33100128 +-10.6875 0.1875 0.39900208 +-10.140625 -0.34375 -2.6699982 +-10.125 -0.3125 -2.6409988 +-9.890625 0 -2.0309982 +-9.90625 -0.03125 -2.0089989 +-9.921875 -0.03125 -1.9799995 +-9.921875 0 -1.9469986 +-9.953125 0 -1.9189987 +-9.953125 0 -1.8899994 +-9.953125 0 -1.8530006 +-9.96875 0 -1.8250008 +-9.96875 0.03125 -1.7910004 +-9.96875 0.03125 -1.757 +-9.96875 0.03125 -1.7199974 +-9.96875 0.0625 -1.6809998 +-10.546875 0.3125 0.31600189 +-10.578125 0.28125 0.32099915 +-10.640625 0.25 0.31100082 +-10.671875 0.1875 0.30800247 +-10.703125 0.1875 0.32200241 +-10.703125 0.1875 0.38399887 +-10.125 -0.34375 -2.7779999 +-10.140625 -0.34375 -2.7560005 +-10.171875 -0.34375 -2.7340012 +-10.171875 -0.34375 -2.7080002 +-10.140625 -0.3125 -2.6809998 +-10.140625 -0.3125 -2.6559982 +-9.90625 -0.03125 -2.1469994 +-9.90625 -0.03125 -2.1139984 +-9.90625 0 -2.0839996 +-9.921875 0 -2.0579987 +-9.921875 0 -2.0270004 +-9.953125 0 -1.9980011 +-9.921875 0.03125 -1.9529991 +-9.953125 0 -1.9370003 +-9.96875 0 -1.9069977 +-9.96875 0.03125 -1.8730011 +-9.96875 0.03125 -1.8359985 +-9.96875 0.0625 -1.7999992 +-10.5625 0.3125 0.32099915 +-10.609375 0.28125 0.31500244 +-10.65625 0.28125 0.31900024 +-10.6875 0.21875 0.31299973 +-10.75 0.1875 0.31000137 +-10.765625 0.1875 0.36700058 +-10.109375 -0.3125 -2.8069992 +-10.140625 -0.3125 -2.7879982 +-10.140625 -0.3125 -2.762001 +-10.1875 -0.34375 -2.7459984 +-10.140625 -0.3125 -2.7130013 +-10.15625 -0.28125 -2.6870003 +-10.125 -0.28125 -2.6559982 +-9.890625 -0.03125 -2.2439995 +-9.90625 -0.03125 -2.218998 +-9.90625 -0.03125 -2.1930008 +-9.90625 0 -2.1629982 +-9.921875 0 -2.132 +-9.953125 0 -2.1040001 +-9.90625 0.03125 -2.0610008 +-9.953125 0 -2.0400009 +-9.953125 0.03125 -2.012001 +-9.953125 0.03125 -1.9790001 +-9.953125 0.03125 -1.9449997 +-9.953125 0.03125 -1.9139977 +-9.953125 0.0625 -1.8789978 +-10.546875 0.34375 0.33000183 +-10.59375 0.3125 0.31999969 +-10.640625 0.28125 0.31800079 +-10.6875 0.25 0.30500031 +-10.734375 0.21875 0.31000137 +-10.765625 0.1875 0.31399918 +-10.78125 0.21875 0.36299896 +-10.15625 -0.28125 -2.7939987 +-10.125 -0.28125 -2.7669983 +-10.125 -0.28125 -2.7410011 +-10.125 -0.25 -2.7150002 +-10.109375 -0.25 -2.6879997 +-10.109375 -0.25 -2.6619987 +-9.875 -0.03125 -2.3719978 +-9.890625 -0.03125 -2.3479996 +-9.90625 -0.03125 -2.3250008 +-9.921875 -0.03125 -2.2980003 +-9.9375 -0.03125 -2.2700005 +-9.921875 0 -2.2389984 +-9.953125 0 -2.211998 +-9.96875 -0.03125 -2.1919975 +-9.953125 0 -2.1520004 +-9.96875 0 -2.1230011 +-9.96875 0.03125 -2.0900002 +-9.953125 0.03125 -2.0529976 +-9.953125 0.0625 -2.0179977 +-9.953125 0.0625 -1.9869995 +-10.578125 0.375 0.32699966 +-10.609375 0.3125 0.31800079 +-10.671875 0.28125 0.31200027 +-10.734375 0.25 0.30599976 +-10.765625 0.21875 0.30800247 +-10.8125 0.21875 0.31100082 +-10.828125 0.21875 0.35800171 +-10.109375 -0.25 -2.7959976 +-10.15625 -0.25 -2.7779999 +-10.125 -0.25 -2.7480011 +-10.078125 -0.1875 -2.7109985 +-10.078125 -0.1875 -2.6870003 +-10.09375 -0.1875 -2.6660004 +-9.875 -0.03125 -2.473999 +-9.890625 -0.03125 -2.447998 +-9.90625 -0.03125 -2.4209976 +-9.90625 -0.03125 -2.3929977 +-9.90625 0 -2.3660011 +-9.921875 0 -2.3380013 +-9.953125 0 -2.3120003 +-9.890625 0.03125 -2.2679977 +-9.953125 0 -2.2519989 +-9.953125 0.03125 -2.2220001 +-9.953125 0.03125 -2.1909981 +-9.953125 0.03125 -2.1619987 +-9.953125 0.03125 -2.1300011 +-9.953125 0.0625 -2.0929985 +-10.59375 0.34375 0.32400131 +-10.65625 0.3125 0.32200241 +-10.71875 0.28125 0.31000137 +-10.75 0.28125 0.31000137 +-10.78125 0.25 0.31600189 +-10.828125 0.21875 0.31200027 +-10.84375 0.21875 0.35000229 +-10.109375 -0.21875 -2.8029976 +-10.09375 -0.21875 -2.7770004 +-10.09375 -0.1875 -2.7509995 +-10.15625 -0.21875 -2.7340012 +-10.109375 -0.1875 -2.7019997 +-10.078125 -0.15625 -2.6699982 +-9.828125 0 -2.5880013 +-9.890625 -0.03125 -2.5709991 +-9.890625 -0.03125 -2.5429993 +-9.890625 -0.03125 -2.5169983 +-9.90625 0 -2.4899979 +-9.90625 0 -2.4640007 +-9.921875 0 -2.4370003 +-9.953125 0 -2.4090004 +-9.953125 0 -2.3810005 +-9.953125 0 -2.3509979 +-9.953125 0.03125 -2.3219986 +-9.953125 0.03125 -2.2939987 +-9.953125 0.03125 -2.2630005 +-9.953125 0.03125 -2.2350006 +-9.953125 0.0625 -2.2010002 +-10.578125 0.40625 0.33300018 +-10.640625 0.34375 0.31800079 +-10.6875 0.34375 0.32200241 +-10.734375 0.28125 0.3030014 +-10.765625 0.28125 0.31299973 +-10.8125 0.25 0.33100128 +-10.84375 0.21875 0.31900024 +-10.875 0.21875 0.34799957 +-10.078125 -0.1875 -2.8069992 +-10.109375 -0.1875 -2.7879982 +-10.078125 -0.15625 -2.7539978 +-10.109375 -0.15625 -2.7350006 +-10.09375 -0.15625 -2.7060013 +-10.0625 -0.125 -2.6720009 +-9.90625 -0.03125 -2.6149979 +-9.90625 -0.03125 -2.5859985 +-9.90625 0 -2.5589981 +-9.921875 0 -2.5319977 +-9.90625 0 -2.5019989 +-9.921875 0 -2.4749985 +-9.953125 0 -2.447998 +-9.953125 0 -2.4220009 +-9.953125 0.03125 -2.3929977 +-9.953125 0.03125 -2.3619995 +-9.953125 0.03125 -2.3310013 +-9.953125 0.0625 -2.2989998 +-10.625 0.40625 0.31999969 +-10.671875 0.34375 0.31299973 +-10.71875 0.34375 0.31100082 +-10.75 0.3125 0.31299973 +-10.8125 0.28125 0.30599976 +-10.84375 0.28125 0.31900024 +-10.875 0.25 0.31500244 +-10.921875 0.25 0.34300232 +-9.84375 -0.03125 -2.8069992 +-10.0625 -0.125 -2.8120003 +-10.078125 -0.125 -2.7879982 +-10.03125 -0.125 -2.757 +-10.03125 -0.09375 -2.7299995 +-10.03125 -0.09375 -2.7039986 +-10.03125 -0.09375 -2.6759987 +-9.984375 -0.03125 -2.6389999 +-9.921875 0 -2.5950012 +-9.921875 0 -2.5709991 +-9.953125 0 -2.5439987 +-9.921875 0.03125 -2.5139999 +-9.953125 0.03125 -2.4850006 +-9.953125 0.03125 -2.4580002 +-9.953125 0.03125 -2.4290009 +-9.921875 0.0625 -2.3959999 +-10.65625 0.40625 0.31700134 +-10.71875 0.375 0.31100082 +-10.75 0.34375 0.31500244 +-10.78125 0.3125 0.31500244 +-10.78125 0.34375 0.3769989 +-10.84375 0.3125 0.35499954 +-10.921875 0.25 0.31299973 +-10.9375 0.25 0.35300064 +-9.875 -0.03125 -2.8909988 +-9.890625 -0.03125 -2.8660011 +-9.890625 -0.03125 -2.8479996 +-9.890625 -0.03125 -2.8219986 +-10.03125 -0.09375 -2.8159981 +-10.03125 -0.09375 -2.7900009 +-10.03125 -0.09375 -2.7630005 +-10.03125 -0.0625 -2.7360001 +-10.015625 -0.0625 -2.7080002 +-10.015625 -0.03125 -2.6809998 +-10.015625 -0.03125 -2.6529999 +-9.953125 0.03125 -2.6079979 +-9.953125 0.03125 -2.5810013 +-9.953125 0.03125 -2.5519981 +-9.953125 0.03125 -2.5249977 +-9.921875 0.0625 -2.4939995 +-10.6875 0.40625 0.31000137 +-10.734375 0.375 0.31299973 +-10.765625 0.375 0.32900238 +-10.8125 0.34375 0.34000015 +-10.78125 0.375 0.44800186 +-10.859375 0.34375 0.4109993 +-10.9375 0.25 0.30800247 +-10.953125 0.25 0.34600067 +-9.84375 -0.03125 -3.0060005 +-9.875 -0.03125 -2.9799995 +-9.875 -0.03125 -2.9529991 +-9.890625 0 -2.9269981 +-9.890625 0 -2.9020004 +-9.90625 0 -2.8759995 +-9.90625 0 -2.848999 +-9.90625 0 -2.8310013 +-9.90625 0 -2.8040009 +-10.015625 -0.0625 -2.7949982 +-9.984375 -0.03125 -2.762001 +-10 -0.03125 -2.7389984 +-9.984375 0 -2.7080002 +-10 0 -2.6870003 +-9.984375 0 -2.6559982 +-9.921875 0.0625 -2.6139984 +-9.90625 0.09375 -2.579998 +-10.671875 0.4375 0.32099915 +-10.71875 0.40625 0.31500244 +-10.75 0.40625 0.3370018 +-10.8125 0.34375 0.2859993 +-10.859375 0.3125 0.25400162 +-10.859375 0.34375 0.37900162 +-10.890625 0.375 0.43500137 +-10.953125 0.28125 0.3030014 +-10.984375 0.28125 0.35200119 +-9.84375 -0.03125 -3.1199989 +-9.875 -0.03125 -3.093998 +-9.875 -0.03125 -3.0669975 +-9.890625 -0.03125 -3.0419998 +-9.890625 0 -3.0149994 +-9.90625 0 -2.9899979 +-9.90625 0 -2.9640007 +-9.90625 0 -2.9370003 +-9.921875 0 -2.9119987 +-9.890625 0.03125 -2.882 +-9.921875 0 -2.8590012 +-9.921875 0.03125 -2.8409996 +-9.921875 0.03125 -2.8149986 +-10 0 -2.7989998 +-10 0 -2.7729988 +-10.046875 -0.03125 -2.7539978 +-10.015625 0 -2.7220001 +-10.015625 0 -2.6969986 +-9.984375 0.03125 -2.6609993 +-10.703125 0.46875 0.32099915 +-10.734375 0.4375 0.34600067 +-10.828125 0.375 0.23300171 +-10.859375 0.34375 0.2460022 +-10.859375 0.375 0.33200073 +-10.890625 0.375 0.40399933 +-10.90625 0.375 0.44100189 +-11 0.28125 0.31000137 +-11.015625 0.28125 0.35800171 +-9.84375 -0.03125 -3.2329979 +-9.875 -0.03125 -3.2060013 +-9.875 -0.03125 -3.1800003 +-9.890625 -0.03125 -3.1539993 +-9.890625 -0.03125 -3.1279984 +-9.890625 0 -3.1009979 +-9.90625 0 -3.0760002 +-9.90625 0 -3.0499992 +-9.90625 0 -3.0239983 +-9.890625 0.03125 -2.9959984 +-9.921875 0 -2.9720001 +-9.921875 0.03125 -2.9459991 +-9.921875 0.03125 -2.9199982 +-9.921875 0.03125 -2.8929977 +-9.921875 0.03125 -2.8670006 +-9.921875 0.0625 -2.8479996 +-9.921875 0.0625 -2.8209991 +-9.984375 0.03125 -2.8040009 +-9.96875 0.03125 -2.776001 +-9.984375 0.03125 -2.7519989 +-9.96875 0.0625 -2.7220001 +-9.953125 0.0625 -2.6909981 +-9.96875 0.0625 -2.6650009 +-10.734375 0.46875 0.29999924 +-10.796875 0.40625 0.28100204 +-10.84375 0.375 0.25099945 +-10.828125 0.4375 0.39200211 +-10.890625 0.40625 0.35599899 +-10.890625 0.40625 0.44400024 +-10.9375 0.375 0.39699936 +-11.015625 0.3125 0.30800247 +-11.015625 0.3125 0.38299942 +-9.828125 -0.03125 -3.3460007 +-9.84375 -0.03125 -3.3180008 +-9.84375 -0.03125 -3.2919998 +-9.875 -0.03125 -3.2649994 +-9.890625 -0.03125 -3.2389984 +-9.890625 0 -3.2130013 +-9.890625 0 -3.1870003 +-9.90625 0 -3.1609993 +-9.890625 0 -3.1349983 +-9.890625 0 -3.1090012 +-9.921875 0 -3.0830002 +-9.921875 0 -3.0579987 +-9.921875 0.03125 -3.0319977 +-9.921875 0.03125 -3.0050011 +-9.921875 0.03125 -2.9799995 +-9.921875 0.03125 -2.9539986 +-9.921875 0.0625 -2.9269981 +-9.921875 0.0625 -2.8999977 +-9.96875 0.0625 -2.8089981 +-9.96875 0.0625 -2.7819977 +-9.953125 0.09375 -2.7529984 +-9.953125 0.09375 -2.7249985 +-9.921875 0.09375 -2.6949997 +-9.953125 0.09375 -2.6699982 +-10.75 0.46875 0.31900024 +-10.828125 0.40625 0.25 +-10.84375 0.4375 0.31500244 +-10.84375 0.46875 0.41699982 +-10.890625 0.4375 0.40299988 +-10.921875 0.4375 0.44000244 +-10.984375 0.375 0.36999893 +-11.046875 0.3125 0.31999969 +-11.046875 0.3125 0.38600159 +-9.8125 -0.03125 -3.4589996 +-9.84375 -0.03125 -3.4300003 +-9.84375 -0.03125 -3.4029999 +-9.875 -0.03125 -3.3759995 +-9.890625 -0.03125 -3.348999 +-9.890625 0 -3.322998 +-9.890625 0 -3.2970009 +-9.890625 0 -3.2709999 +-9.890625 0 -3.2449989 +-9.890625 0.03125 -3.2200012 +-9.90625 0 -3.1940002 +-9.921875 0 -3.1679993 +-9.921875 0.03125 -3.1429977 +-9.921875 0.03125 -3.1170006 +-9.921875 0.03125 -3.0909996 +-9.921875 0.03125 -3.0649986 +-9.921875 0.0625 -3.0389977 +-9.90625 0.0625 -3.0130005 +-9.890625 0.09375 -2.9850006 +-9.953125 0.09375 -2.8139992 +-9.921875 0.125 -2.7840004 +-9.921875 0.125 -2.757 +-9.96875 0.09375 -2.737999 +-9.921875 0.125 -2.7019997 +-9.9375 0.15625 -2.6749992 +-10.796875 0.5 0.30900192 +-10.828125 0.46875 0.34799957 +-10.84375 0.46875 0.36700058 +-10.859375 0.46875 0.41799927 +-10.953125 0.375 0.28700256 +-10.96875 0.40625 0.3769989 +-11.03125 0.34375 0.30900192 +-11.078125 0.3125 0.31200027 +-11.078125 0.34375 0.40100098 +-9.8125 -0.03125 -3.5719986 +-9.828125 -0.03125 -3.5419998 +-9.84375 -0.03125 -3.5139999 +-9.84375 -0.03125 -3.4869995 +-9.875 -0.03125 -3.4599991 +-9.875 0 -3.4329987 +-9.890625 0 -3.4059982 +-9.890625 0 -3.3810005 +-9.90625 0 -3.3540001 +-9.953125 0 -3.3269997 +-9.890625 0 -3.3040009 +-9.890625 0.03125 -3.2779999 +-9.90625 0.03125 -3.2519989 +-9.921875 0.03125 -3.2270012 +-9.921875 0.03125 -3.2010002 +-9.90625 0.03125 -3.1759987 +-9.921875 0.0625 -3.1499977 +-9.90625 0.0625 -3.1240005 +-9.90625 0.0625 -3.0979996 +-9.921875 0.125 -2.8180008 +-9.9375 0.15625 -2.7910004 +-9.90625 0.15625 -2.762001 +-9.90625 0.15625 -2.7350006 +-9.90625 0.1875 -2.7070007 +-9.90625 0.1875 -2.6790009 +-10.8125 0.5 0.32400131 +-10.84375 0.5 0.36100006 +-10.875 0.5 0.38199997 +-10.90625 0.46875 0.41699982 +-10.96875 0.40625 0.32799911 +-11.015625 0.40625 0.34000015 +-11.0625 0.375 0.3370018 +-11.09375 0.34375 0.31399918 +-9.8125 -0.03125 -3.6849976 +-9.84375 -0.03125 -3.6520004 +-9.84375 -0.03125 -3.625 +-9.875 -0.03125 -3.5960007 +-9.875 -0.03125 -3.5699997 +-9.875 0 -3.5429993 +-9.890625 0 -3.5159988 +-9.890625 0 -3.4899979 +-9.890625 0 -3.4640007 +-9.9375 -0.03125 -3.4339981 +-9.875 0.03125 -3.4160004 +-9.921875 0 -3.3849983 +-9.90625 0.03125 -3.3099976 +-9.90625 0.03125 -3.2849998 +-9.90625 0.0625 -3.2589989 +-9.90625 0.0625 -3.2340012 +-9.90625 0.0625 -3.2089996 +-9.90625 0.1875 -2.8240013 +-9.9375 0.15625 -2.7999992 +-9.890625 0.1875 -2.7679977 +-9.9375 0.1875 -2.7469978 +-9.890625 0.21875 -2.7130013 +-9.890625 0.21875 -2.6829987 +-10.84375 0.53125 0.33100128 +-10.875 0.5 0.36199951 +-10.9375 0.4375 0.28000259 +-10.9375 0.46875 0.37400055 +-11.015625 0.40625 0.30900192 +-11.03125 0.40625 0.34199905 +-11.078125 0.375 0.3390007 +-11.109375 0.34375 0.32300186 +-9.796875 0 -3.8029976 +-9.828125 -0.03125 -3.7669983 +-9.84375 -0.03125 -3.7369995 +-9.84375 -0.03125 -3.7080002 +-9.84375 -0.03125 -3.6809998 +-9.875 0 -3.6539993 +-9.875 0 -3.6269989 +-9.890625 0 -3.5999985 +-9.875 0 -3.5750008 +-9.890625 0 -3.5489998 +-9.875 0.03125 -3.5249977 +-9.890625 0.03125 -3.4969978 +-9.90625 0.03125 -3.4700012 +-9.90625 0.03125 -3.4440002 +-9.921875 0.03125 -3.4179993 +-9.90625 0.03125 -3.3929977 +-9.90625 0.03125 -3.368 +-9.90625 0.0625 -3.3419991 +-9.90625 0.0625 -3.3180008 +-9.875 0.09375 -3.2939987 +-9.875 0.21875 -2.8260002 +-9.890625 0.21875 -2.8009987 +-9.875 0.25 -2.7719994 +-9.859375 0.25 -2.7420006 +-9.875 0.25 -2.7159996 +-9.859375 0.28125 -2.6860008 +-9.859375 0.28125 -2.6559982 +-10.875 0.53125 0.3370018 +-10.890625 0.53125 0.36700058 +-10.921875 0.5 0.38999939 +-11 0.46875 0.32600021 +-11 0.46875 0.39500046 +-11.078125 0.40625 0.32099915 +-11.109375 0.375 0.31399918 +-9.828125 -0.03125 -3.8789978 +-9.84375 -0.03125 -3.8470001 +-9.84375 -0.03125 -3.8190002 +-9.84375 -0.03125 -3.7919998 +-9.875 -0.03125 -3.7630005 +-9.875 0 -3.7369995 +-9.890625 0 -3.7089996 +-9.890625 0 -3.6819992 +-9.890625 0 -3.6549988 +-9.875 0 -3.6329994 +-9.90625 0 -3.6020012 +-9.890625 0.03125 -3.5789986 +-9.890625 0.03125 -3.5540009 +-9.90625 0.03125 -3.5270004 +-9.890625 0.03125 -3.5029984 +-9.90625 0.03125 -3.4759979 +-9.90625 0.0625 -3.4510002 +-9.90625 0.0625 -3.4269981 +-9.875 0.09375 -3.4039993 +-9.859375 0.25 -2.8059998 +-9.859375 0.28125 -2.7779999 +-9.859375 0.28125 -2.75 +-9.875 0.28125 -2.7249985 +-9.84375 0.3125 -2.6909981 +-9.84375 0.3125 -2.6629982 +-10.890625 0.53125 0.32699966 +-10.96875 0.5 0.28499985 +-10.96875 0.5 0.35499954 +-11 0.5 0.37200165 +-11.0625 0.4375 0.33200073 +-11.09375 0.40625 0.30900192 +-9.8125 -0.03125 -3.9969978 +-9.828125 -0.03125 -3.9630013 +-9.84375 -0.03125 -3.9319992 +-9.84375 -0.03125 -3.9049988 +-9.84375 -0.03125 -3.8759995 +-9.875 0 -3.8479996 +-9.875 0 -3.8190002 +-9.875 0 -3.7939987 +-9.890625 0 -3.7669983 +-9.84375 0.03125 -3.7469978 +-9.875 0.03125 -3.7159996 +-9.890625 0.03125 -3.6889992 +-9.890625 0.03125 -3.6619987 +-9.890625 0.03125 -3.6359978 +-9.890625 0.03125 -3.6110001 +-9.90625 0.0625 -3.5859985 +-9.890625 0.0625 -3.5620003 +-9.890625 0.0625 -3.5359993 +-9.890625 0.0625 -3.512001 +-9.84375 0.3125 -2.8099976 +-9.84375 0.3125 -2.7830009 +-9.84375 0.3125 -2.7539978 +-9.84375 0.34375 -2.7249985 +-9.859375 0.3125 -2.7019997 +-9.8125 0.34375 -2.6669998 +-10.9375 0.53125 0.30800247 +-10.96875 0.53125 0.34799957 +-11 0.5 0.31900024 +-11.03125 0.5 0.3370018 +-11.078125 0.4375 0.31700134 +-9.8125 -0.03125 -4.1119995 +-9.828125 -0.03125 -4.0789986 +-9.84375 -0.03125 -4.0459976 +-9.84375 -0.03125 -4.0200005 +-9.84375 -0.03125 -3.9889984 +-9.875 0 -3.9609985 +-9.875 0 -3.9319992 +-9.875 0 -3.9039993 +-9.890625 0 -3.8769989 +-9.875 0 -3.8509979 +-9.890625 0 -3.8250008 +-9.890625 0.03125 -3.7970009 +-9.890625 0.03125 -3.7709999 +-9.890625 0.03125 -3.7439995 +-9.890625 0.03125 -3.7179985 +-9.890625 0.03125 -3.6930008 +-9.90625 0.0625 -3.6679993 +-9.90625 0.0625 -3.6429977 +-9.890625 0.0625 -3.6189995 +-9.8125 0.34375 -2.8169975 +-9.796875 0.375 -2.7840004 +-9.8125 0.375 -2.7589989 +-9.796875 0.375 -2.7290001 +-9.8125 0.375 -2.704998 +-9.796875 0.40625 -2.6720009 +-10.96875 0.5625 0.32500076 +-10.984375 0.53125 0.33600235 +-11.015625 0.53125 0.33499908 +-11.078125 0.5 0.32799911 +-9.78125 -0.03125 -4.2469978 +-9.828125 -0.03125 -4.1959991 +-9.828125 -0.03125 -4.1650009 +-9.84375 -0.03125 -4.1339989 +-9.84375 -0.03125 -4.1049995 +-9.875 -0.03125 -4.072998 +-9.875 0 -4.0459976 +-9.875 0 -4.019001 +-9.875 0 -3.987999 +-9.875 0 -3.9640007 +-9.90625 0 -3.9269981 +-9.890625 0.03125 -3.9080009 +-9.890625 0.03125 -3.8810005 +-9.890625 0.03125 -3.8549995 +-9.890625 0.03125 -3.829998 +-9.890625 0.03125 -3.8040009 +-9.890625 0.0625 -3.7779999 +-9.890625 0.0625 -3.7529984 +-9.890625 0.0625 -3.7280006 +-9.859375 0.09375 -3.7089996 +-9.796875 0.375 -2.8219986 +-9.78125 0.40625 -2.7900009 +-9.765625 0.40625 -2.7599983 +-9.796875 0.40625 -2.7350006 +-9.765625 0.4375 -2.7010002 +-9.78125 0.4375 -2.6759987 +-10.984375 0.5625 0.34000015 +-11.015625 0.5625 0.3409996 +-11.0625 0.53125 0.32699966 +-9.796875 -0.03125 -4.3260002 +-9.828125 -0.03125 -4.2869987 +-9.828125 -0.03125 -4.2550011 +-9.84375 -0.03125 -4.2220001 +-9.84375 -0.03125 -4.1909981 +-9.84375 0 -4.1609993 +-9.875 0 -4.132 +-9.875 0 -4.1040001 +-9.875 0 -4.0760002 +-9.84375 0.03125 -4.0599976 +-9.875 0 -4.0209999 +-9.890625 0.03125 -3.9920006 +-9.890625 0.03125 -3.9640007 +-9.890625 0.03125 -3.9389992 +-9.890625 0.03125 -3.9129982 +-9.890625 0.0625 -3.887001 +-9.890625 0.0625 -3.8639984 +-9.875 0.0625 -3.8380013 +-9.875 0.09375 -3.8169975 +-9.78125 0.40625 -2.8269997 +-9.78125 0.4375 -2.7980003 +-9.78125 0.4375 -2.7700005 +-9.78125 0.4375 -2.7410011 +-9.765625 0.46875 -2.7099991 +-11 0.59375 0.33100128 +-11.046875 0.5625 0.34199905 +-9.8125 -0.03125 -4.4139977 +-9.828125 -0.03125 -4.3769989 +-9.828125 -0.03125 -4.3419991 +-9.84375 -0.03125 -4.3110008 +-9.84375 -0.03125 -4.2799988 +-9.84375 0 -4.25 +-9.875 0 -4.2200012 +-9.875 0 -4.1919975 +-9.875 0 -4.1619987 +-9.875 0 -4.1349983 +-9.890625 0.03125 -4.1040001 +-9.890625 0.03125 -4.0789986 +-9.890625 0.03125 -4.0509987 +-9.890625 0.03125 -4.0249977 +-9.890625 0.0625 -3.9990005 +-9.890625 0.0625 -3.973999 +-9.875 0.0625 -3.9500008 +-9.875 0.0625 -3.9249992 +-9.78125 -0.03125 -4.5589981 +-9.8125 -0.03125 -4.512001 +-9.828125 -0.03125 -4.4710007 +-9.828125 -0.03125 -4.4389992 +-9.84375 -0.03125 -4.4039993 +-9.84375 0 -4.3709984 +-9.84375 0 -4.3400002 +-9.875 0 -4.3110008 +-9.875 0 -4.2799988 +-9.875 0 -4.2509995 +-9.875 0.03125 -4.223999 +-9.875 0.03125 -4.1949997 +-9.875 0.03125 -4.1669998 +-9.875 0.03125 -4.1419983 +-9.890625 0.03125 -4.1119995 +-9.875 0.0625 -4.0890007 +-9.875 0.0625 -4.0599976 +-9.875 0.0625 -4.0369987 +-9.859375 0.09375 -4.0209999 +-9.796875 -0.03125 -4.6499977 +-9.8125 -0.03125 -4.598999 +-9.828125 -0.03125 -4.5639992 +-9.828125 -0.03125 -4.5289993 +-9.84375 -0.03125 -4.4969978 +-9.84375 0 -4.4650002 +-9.84375 0 -4.4319992 +-9.875 0 -4.401001 +-9.875 0 -4.3719978 +-9.875 0 -4.3390007 +-9.875 0.03125 -4.3110008 +-9.875 0.03125 -4.2830009 +-9.890625 0.03125 -4.2539978 +-9.890625 0.03125 -4.2249985 +-9.875 0.0625 -4.2010002 +-9.875 0.0625 -4.1769981 +-9.875 0.0625 -4.151001 +-9.875 0.09375 -4.125 +-9.796875 -0.03125 -4.75 +-9.8125 -0.03125 -4.6959991 +-9.8125 -0.03125 -4.6669998 +-9.828125 -0.03125 -4.6269989 +-9.84375 -0.03125 -4.5909996 +-9.84375 0 -4.5589981 +-9.84375 0 -4.526001 +-9.875 0 -4.4939995 +-9.84375 0 -4.4700012 +-9.875 0 -4.4319992 +-9.875 0.03125 -4.4029999 +-9.875 0.03125 -4.375 +-9.875 0.03125 -4.348999 +-9.875 0.0625 -4.3190002 +-9.875 0.0625 -4.2939987 +-9.875 0.0625 -4.2679977 +-9.859375 0.0625 -4.2439995 +-9.8125 0.09375 -4.2340012 +-9.796875 -0.03125 -4.8499985 +-9.8125 -0.03125 -4.8019981 +-9.8125 -0.03125 -4.7719994 +-9.828125 -0.03125 -4.7259979 +-9.828125 0 -4.6909981 +-9.84375 0 -4.6580009 +-9.84375 0 -4.6199989 +-9.84375 0 -4.5919991 +-9.84375 0 -4.5620003 +-9.875 0.03125 -4.5289993 +-9.875 0.03125 -4.4990005 +-9.875 0.03125 -4.4669991 +-9.875 0.03125 -4.4379997 +-9.875 0.0625 -4.4109993 +-9.875 0.0625 -4.3849983 +-9.859375 0.0625 -4.3610001 +-9.859375 0.09375 -4.3390007 +-9.78125 -0.03125 -4.9599991 +-9.796875 -0.03125 -4.9139977 +-9.8125 -0.03125 -4.875 +-9.828125 -0.03125 -4.8320007 +-9.828125 0 -4.7929993 +-9.84375 0 -4.757 +-9.84375 0 -4.718998 +-9.875 0 -4.6849976 +-9.84375 0 -4.6569977 +-9.875 0.03125 -4.6230011 +-9.875 0.03125 -4.593998 +-9.875 0.03125 -4.5610008 +-9.875 0.03125 -4.5309982 +-9.875 0.0625 -4.507 +-9.875 0.0625 -4.4790001 +-9.859375 0.0625 -4.4539986 +-9.78125 -0.03125 -5.0750008 +-9.796875 -0.03125 -5.0219994 +-9.8125 -0.03125 -4.9829979 +-9.8125 0 -4.9459991 +-9.828125 0 -4.8979988 +-9.828125 0 -4.868 +-9.84375 0 -4.8239975 +-9.84375 0 -4.7949982 +-9.84375 0 -4.7550011 +-9.84375 0.03125 -4.7259979 +-9.875 0.03125 -4.6909981 +-9.84375 0.03125 -4.6619987 +-9.859375 0.0625 -4.6339989 +-9.859375 0.0625 -4.6049995 +-9.859375 0.0625 -4.5769997 +-9.859375 0.09375 -4.5550003 +-9.796875 -0.03125 -5.132 +-9.8125 -0.03125 -5.0919991 +-9.8125 -0.03125 -5.0540009 +-9.828125 0 -5.0099983 +-9.84375 0 -4.961998 +-9.828125 0 -4.9349976 +-9.84375 0 -4.894001 +-9.84375 0.03125 -4.8649979 +-9.84375 0.03125 -4.8250008 +-9.84375 0.03125 -4.7980003 +-9.875 0.03125 -4.7589989 +-9.890625 0.03125 -4.7150002 +-9.859375 0.0625 -4.7059975 +-9.828125 0.0625 -4.6809998 +-9.8125 0.09375 -4.6629982 +-9.78125 -0.03125 -5.2630005 +-9.796875 -0.03125 -5.2089996 +-9.8125 -0.03125 -5.1599998 +-9.828125 0 -5.118 +-9.828125 0 -5.086998 +-9.828125 0 -5.0459976 +-9.828125 0 -5.012001 +-9.84375 0.03125 -4.9710007 +-9.828125 0.03125 -4.9419975 +-9.828125 0.03125 -4.9059982 +-9.84375 0.03125 -4.8699989 +-9.875 0.03125 -4.8219986 +-9.78125 -0.03125 -5.3419991 +-9.8125 -0.03125 -5.2859993 +-9.8125 -0.03125 -5.2389984 +-9.828125 0 -5.1940002 +-9.828125 0 -5.1539993 +-9.828125 0 -5.112999 +-9.828125 0.03125 -5.0839996 +-9.828125 0.03125 -5.0480003 +-9.828125 0.03125 -5.012001 +-9.84375 0.03125 -4.9759979 +-9.859375 0.0625 -4.9319992 +-9.796875 -0.03125 -5.447998 +-9.796875 -0.03125 -5.4139977 +-9.8125 -0.03125 -5.3670006 +-9.8125 0 -5.3180008 +-9.828125 0 -5.2700005 +-9.828125 0 -5.2290001 +-9.828125 0 -5.1909981 +-9.84375 0.03125 -5.1539993 +-9.84375 0.03125 -5.1189995 +-9.828125 0.03125 -5.0880013 +-9.828125 0.0625 -5.0550003 +-9.8125 -0.03125 -5.4389992 +-9.8125 0 -5.4080009 +-9.828125 0 -5.355999 +-9.828125 0 -5.3169975 +-9.828125 0.03125 -5.2729988 +-9.84375 0.03125 -5.230999 +-9.828125 0.03125 -5.2010002 +-9.828125 0.0625 -5.1650009 +-9.828125 0 -5.4349976 +-9.828125 0 -5.3959999 +-9.828125 0.03125 -5.3590012 +-9.828125 0.03125 -5.3190002 +-9.828125 0.03125 -5.2799988 +-9.828125 0.03125 -5.4409981 +-9.828125 0.03125 -5.4029999 +-9.84375 0.03125 -5.348999 +-9.875 0 -5.2719994 +-9.875 0.03125 -5.3989983 +-9.875 0 -5.2270012 +-9.890625 -0.03125 -5.0519981 +-9.875 0.03125 -5.1829987 +-9.890625 0 -5.0109978 +-9.875 0.03125 -5.1409988 +-9.890625 0 -4.9659996 +-9.890625 -0.03125 -4.7939987 +-9.890625 0.03125 -4.9230003 +-9.90625 0 -4.75 +-9.890625 0.03125 -4.8789978 +-9.890625 0 -4.7089996 +-9.875 0.03125 -4.8390007 +-9.890625 -0.03125 -4.5379982 +-9.890625 0 -4.6660004 +-9.90625 -0.03125 -4.4949989 +-9.921875 0 -4.4510002 +-10.1875 -0.375 -2.7039986 +-9.90625 -0.03125 -4.2819977 +-9.90625 0 -4.4099998 +-10.1875 -0.375 -2.6609993 +-10.1875 -0.34375 -2.7929993 +-9.90625 -0.03125 -4.237999 +-9.890625 0.03125 -4.3699989 +-10.171875 -0.3125 -2.75 +-9.90625 0 -4.1959991 +-9.90625 0.03125 -4.3269997 +-9.875 0.0625 -4.4599991 +-10.171875 -0.3125 -2.7070007 +-9.90625 -0.03125 -4.026001 +-9.921875 0 -4.1549988 +-9.90625 0.03125 -4.2859993 +-9.84375 0.03125 -4.4220009 +-10.171875 -0.28125 -2.6650009 +-10.171875 -0.25 -2.7970009 +-9.921875 -0.03125 -3.9829979 +-9.921875 0.03125 -4.112999 +-9.90625 0.0625 -4.2449989 +-9.859375 0.0625 -4.3800011 +-10.125 -0.28125 -2.7529984 +-9.921875 0 -3.9419975 +-9.921875 0.03125 -4.0719986 +-9.890625 0.0625 -4.204998 +-10.171875 -0.21875 -2.7130013 +-9.921875 0 -3.8999977 +-9.90625 0.03125 -4.0309982 +-9.875 0.0625 -4.1639977 +-10.15625 -0.25 -2.6699982 +-10.109375 -0.21875 -2.8009987 +-9.921875 -0.03125 -3.7280006 +-9.921875 0 -3.8590012 +-9.90625 0.03125 -3.9899979 +-9.859375 0.0625 -4.125 +-10.109375 -0.25 -2.6259995 +-10.109375 -0.1875 -2.7599983 +-9.953125 0 -3.6860008 +-9.921875 0.03125 -3.8169975 +-9.890625 0.03125 -3.9500008 +-9.828125 0.03125 -4.086998 +-10.109375 -0.1875 -2.7179985 +-9.953125 0 -3.6429977 +-9.921875 0.03125 -3.776001 +-9.875 0.03125 -3.9099998 +-10.125 -0.15625 -2.6769981 +-10.078125 -0.15625 -2.8079987 +-9.921875 -0.0625 -3.4710007 +-9.953125 0 -3.6040001 +-9.921875 0.03125 -3.7360001 +-9.875 0.03125 -3.8699989 +-10.109375 -0.1875 -2.6349983 +-10.078125 -0.15625 -2.7669983 +-9.9375 -0.03125 -3.4300003 +-9.953125 0.03125 -3.5620003 +-9.90625 0.0625 -3.6959991 +-9.859375 0.0625 -3.829998 +-10.078125 -0.15625 -2.7259979 +-9.96875 0 -3.3899994 +-9.953125 0.03125 -3.5229988 +-9.890625 0.03125 -3.6569977 +-10.078125 -0.125 -2.6860008 +-10.03125 -0.125 -2.8190002 +-9.921875 -0.03125 -3.3499985 +-9.921875 0.03125 -3.4819984 +-9.890625 0.0625 -3.6170006 +-10.078125 -0.125 -2.6459999 +-10.0625 -0.09375 -2.7789993 +-9.9375 -0.03125 -3.1769981 +-9.953125 0 -3.3099976 +-9.90625 0.03125 -3.4440002 +-9.84375 0.03125 -3.5789986 +-10.0625 -0.0625 -2.7389984 +-9.96875 -0.03125 -3.137001 +-9.953125 0.03125 -3.2700005 +-9.921875 0.0625 -3.4039993 +-10.0625 -0.0625 -2.697998 +-9.96875 0 -3.0970001 +-9.953125 0.03125 -3.2299995 +-9.890625 0.03125 -3.362999 +-10.03125 -0.0625 -2.6559982 +-10.046875 -0.03125 -2.7900009 +-9.96875 0 -3.0559998 +-9.953125 0.03125 -3.1889992 +-9.890625 0.03125 -3.322998 +-10.015625 -0.03125 -2.7490005 +-9.96875 -0.03125 -2.8810005 +-9.96875 0.03125 -3.0149994 +-9.921875 0.03125 -3.1489983 +-10.015625 0 -2.7080002 +-9.96875 -0.03125 -2.8400002 +-9.953125 0.03125 -2.973999 +-9.90625 0.03125 -3.1079979 +-10.015625 0 -2.6669998 +-10 0.03125 -2.7999992 +-9.953125 0.03125 -2.9329987 +-9.90625 0.03125 -3.0669975 +-9.96875 -0.0625 -2.6230011 +-9.984375 0.03125 -2.7589989 +-9.953125 0.03125 -2.8929977 +-9.984375 -0.03125 -2.5830002 +-9.984375 0.03125 -2.7200012 +-9.921875 0.03125 -2.8520012 +-9.984375 0 -2.5439987 +-10 0.0625 -2.6800003 +-9.953125 0.0625 -2.8129997 +-9.984375 0 -2.5039978 +-10 0.0625 -2.6399994 +-9.984375 0.09375 -2.7749977 +-9.984375 0 -2.4640007 +-9.953125 0.03125 -2.5979996 +-9.984375 0.09375 -2.7360001 +-9.984375 -0.03125 -2.2869987 +-9.984375 0.03125 -2.4239998 +-9.953125 0.03125 -2.5579987 +-9.96875 0.09375 -2.6949997 +-9.953125 0.125 -2.829998 +-10 0 -2.2480011 +-9.984375 0.03125 -2.3829994 +-9.953125 0.03125 -2.5169983 +-9.96875 0.09375 -2.6549988 +-9.953125 0.125 -2.7889977 +-9.984375 0 -2.2060013 +-9.96875 0.03125 -2.3419991 +-9.921875 0.03125 -2.4759979 +-9.921875 0.125 -2.7490005 +-10 0 -2.1650009 +-9.96875 0.03125 -2.3009987 +-9.921875 0.125 -2.7080002 +-9.984375 0 -2.1230011 +-9.96875 0.03125 -2.2589989 +-9.9375 0.15625 -2.6679993 +-9.90625 0.1875 -2.8019981 +-10 -0.03125 -1.9419975 +-9.984375 0 -2.0820007 +-9.953125 0.03125 -2.2169991 +-9.90625 0.1875 -2.762001 +-10 -0.03125 -1.9020004 +-9.984375 0 -2.0389977 +-9.953125 0.03125 -2.1749992 +-9.90625 0.1875 -2.7210007 +-10 0 -1.8610001 +-9.984375 0.03125 -1.9990005 +-9.921875 0.03125 -2.1329994 +-9.90625 0.21875 -2.6819992 +-9.890625 0.21875 -2.8169975 +-10 0 -1.8199997 +-9.984375 0.03125 -1.9570007 +-9.90625 0.21875 -2.6419983 +-9.890625 0.25 -2.7770004 +-10 0 -1.7779999 +-9.984375 0.03125 -1.9150009 +-9.890625 0.25 -2.7369995 +-10 0 -1.7389984 +-9.984375 0.03125 -1.875 +-9.890625 0.25 -2.697998 +-9.84375 0.25 -2.8330002 +-10 0 -1.6969986 +-9.96875 0.03125 -1.8330002 +-9.890625 0.25 -2.6580009 +-9.875 0.28125 -2.7939987 +-10 -0.03125 -1.5149994 +-10.015625 0 -1.6569977 +-9.96875 0.03125 -1.7919998 +-9.875 0.28125 -2.7539978 +-10 -0.03125 -1.4729996 +-10.015625 0 -1.6149979 +-9.96875 0.03125 -1.75 +-9.875 0.28125 -2.7150002 +-10.015625 -0.03125 -1.4319992 +-10.015625 0 -1.572998 +-9.953125 0.03125 -1.7059975 +-9.875 0.28125 -2.6739998 +-9.859375 0.3125 -2.8099976 +-10.015625 -0.03125 -1.3899994 +-10 0 -1.5299988 +-9.96875 0.03125 -1.6660004 +-9.859375 0.3125 -2.7700005 +-10.015625 -0.03125 -1.3479996 +-10 0 -1.487999 +-9.859375 0.3125 -2.7290001 +-10.015625 -0.03125 -1.3029976 +-10 0 -1.4440002 +-9.859375 0.34375 -2.6879997 +-9.8125 0.34375 -2.8240013 +-10.015625 -0.03125 -1.2599983 +-10 0 -1.3999977 +-9.859375 0.34375 -2.6479988 +-9.84375 0.375 -2.7840004 +-10.015625 -0.03125 -1.2179985 +-10.015625 0.03125 -1.3600006 +-9.84375 0.375 -2.7439995 +-10.015625 0 -1.1759987 +-10 0 -1.3159981 +-9.8125 0.34375 -2.7019997 +-10.015625 -0.03125 -1.132 +-10 0 -1.2719994 +-9.84375 0.375 -2.6619987 +-9.828125 0.40625 -2.7989998 +-11.171875 0.3125 0.35499954 +-10.046875 0 -1.0919991 +-10 0 -1.2299995 +-9.828125 0.40625 -2.7589989 +-10.015625 -0.03125 -1.0470009 +-10 0 -1.1879997 +-9.828125 0.40625 -2.718998 +-11.046875 0.25 0.33200073 +-10.046875 -0.03125 -1.0050011 +-10.015625 0 -1.1459999 +-9.828125 0.40625 -2.6800003 +-11.171875 0.34375 0.3409996 +-10.046875 -0.03125 -0.96199799 +-10.015625 0 -1.1040001 +-9.796875 0.4375 -2.7770004 +-11.109375 0.28125 0.40100098 +-10.046875 -0.03125 -0.91999817 +-10.015625 0 -1.0610008 +-9.796875 0.4375 -2.7369995 +-10.96875 0.21875 0.34500122 +-10.046875 -0.03125 -0.87400055 +-10.015625 0 -1.019001 +-9.796875 0.4375 -2.6969986 +-11.15625 0.34375 0.33600235 +-10.046875 -0.03125 -0.83099747 +-10.015625 0 -0.97399902 +-9.796875 0.4375 -2.6559982 +-11.15625 0.34375 0.37900162 +-10.015625 -0.03125 -0.78499985 +-10.015625 0 -0.93199921 +-11.125 0.3125 0.42900085 +-10.046875 -0.03125 -0.74499893 +-10.046875 0 -0.88899994 +-10.046875 0 -0.84499741 +-9.96875 0 -0.97900009 +-11.15625 0.375 0.36800003 +-10.046875 0 -0.80099869 +-10 0.03125 -0.94099808 +-11.15625 0.34375 0.41600037 +-10.859375 0.15625 0.35800171 +-10.0625 0 -0.76099777 +-10 0 -0.89899826 +-11.015625 0.28125 0.35700226 +-10.046875 0 -0.71500015 +-10 0 -0.85499954 +-11.15625 0.375 0.36000061 +-10.046875 -0.03125 -0.67300034 +-10.015625 0.03125 -0.81599808 +-11.125 0.375 0.4070015 +-10.875 0.21875 0.3390007 +-10.0625 -0.03125 -0.63000107 +-10.015625 0 -0.77099991 +-11.125 0.34375 0.45100021 +-10.90625 0.21875 0.3769989 +-10.046875 -0.03125 -0.58499908 +-10.015625 0 -0.72800064 +-11.125 0.40625 0.34799957 +-10.875 0.25 0.28000259 +-10.046875 -0.03125 -0.54100037 +-10.046875 0 -0.68899918 +-11.109375 0.375 0.39599991 +-10.875 0.21875 0.32500076 +-10.046875 0 -0.64500046 +-11.125 0.375 0.43600082 +-10.859375 0.21875 0.36999893 +-10.0625 0 -0.60699844 +-10.9375 0.25 0.39099884 +-10.046875 0 -0.56299973 +-10.015625 0 -0.70599747 +-11.15625 0.40625 0.36999893 +-10.84375 0.21875 0.31399918 +-10.0625 0 -0.52399826 +-10.015625 0.03125 -0.66699982 +-11.109375 0.375 0.42300034 +-10.84375 0.21875 0.35800171 +-10.0625 -0.03125 -0.48099899 +-10.015625 0 -0.625 +-10.875 0.21875 0.39099884 +-10.0625 -0.03125 -0.43799973 +-10.046875 0 -0.58399963 +-11.125 0.4375 0.35499954 +-10.875 0.28125 0.28800201 +-10.015625 -0.0625 -0.38800049 +-10.046875 0 -0.54000092 +-11.125 0.40625 0.40299988 +-10.84375 0.21875 0.3409996 +-10.046875 0 -0.49900055 +-11.109375 0.375 0.44800186 +-10.90625 0.25 0.37200165 +-10.046875 0 -0.45700073 +-10.015625 0.03125 -0.60200119 +-11.125 0.4375 0.34199905 +-10.90625 0.3125 0.26599884 +-10.0625 -0.03125 -0.41500092 +-10.046875 0.03125 -0.56100082 +-11.109375 0.40625 0.38800049 +-10.859375 0.25 0.31999969 +-10.0625 -0.03125 -0.3730011 +-10.046875 0 -0.51799774 +-11.109375 0.40625 0.43300247 +-10.859375 0.25 0.35900116 +-10.0625 -0.03125 -0.32799911 +-10.046875 0 -0.47599792 +-10.921875 0.28125 0.38600159 +-10.0625 0 -0.43600082 +-11.125 0.4375 0.36800003 +-10.859375 0.28125 0.30200195 +-10.0625 0 -0.39400101 +-10 0 -0.5340004 +-11.125 0.40625 0.4109993 +-10.84375 0.25 0.34799957 +-10.0625 -0.03125 -0.34899902 +-10.015625 0 -0.49499893 +-11.09375 0.375 0.46699905 +-10.875 0.25 0.38199997 +-10.0625 -0.03125 -0.30500031 +-10.046875 0 -0.45299911 +-11.125 0.4375 0.35300064 +-10.84375 0.28125 0.29100037 +-10.0625 -0.03125 -0.26300049 +-10.046875 0 -0.40999985 +-11.109375 0.40625 0.39900208 +-10.84375 0.25 0.33300018 +-10.0625 0 -0.36899948 +-11.109375 0.40625 0.44700241 +-10.859375 0.25 0.3730011 +-10.0625 -0.03125 -0.3219986 +-10 0 -0.46500015 +-11.109375 0.4375 0.34300232 +-10.84375 0.28125 0.27400208 +-10.0625 -0.03125 -0.27999878 +-10.046875 0 -0.42699814 +-11.109375 0.40625 0.38899994 +-10.84375 0.25 0.32099915 +-10.0625 -0.03125 -0.23299789 +-10.046875 0 -0.38399887 +-11.109375 0.40625 0.43199921 +-10.859375 0.28125 0.35900116 +-10.046875 0 -0.3390007 +-11.078125 0.40625 0.34199905 +-10.0625 0 -0.29499817 +-11.125 0.4375 0.3710022 +-10.84375 0.28125 0.30900192 +-10.0625 -0.03125 -0.25 +-10.015625 0 -0.39500046 +-11.109375 0.40625 0.42399979 +-10.84375 0.25 0.35400009 +-10.0625 -0.03125 -0.20399857 +-10.046875 0 -0.35400009 +-10.9375 0.3125 0.3710022 +-10.0625 0 -0.31100082 +-11.125 0.4375 0.36000061 +-10.828125 0.25 0.3030014 +-10.0625 0 -0.26599884 +-9.984375 0 -0.40299988 +-11.109375 0.40625 0.41200256 +-10.84375 0.25 0.34400177 +-10.0625 -0.03125 -0.21999741 +-10.046875 0 -0.36700058 +-11.09375 0.375 0.46300125 +-10.875 0.28125 0.37800217 +-10.0625 -0.03125 -0.17200089 +-10.046875 0 -0.3239975 +-11.125 0.4375 0.35000229 +-10.859375 0.28125 0.28000259 +-10.0625 0 -0.27999878 +-11.109375 0.40625 0.39799881 +-10.828125 0.25 0.33200073 +-10.0625 -0.03125 -0.23400116 +-10.015625 0 -0.3789978 +-11.109375 0.40625 0.44700241 +-10.859375 0.28125 0.36899948 +-10.0625 -0.03125 -0.18799973 +-10.046875 0 -0.3390007 +-11.109375 0.4375 0.34600067 +-10.0625 0 -0.29599762 +-11.109375 0.40625 0.38800049 +-10.84375 0.28125 0.31800079 +-10.0625 0 -0.25 +-11.109375 0.40625 0.43600082 +-10.859375 0.28125 0.35700226 +-10.0625 -0.03125 -0.20399857 +-10.046875 0 -0.35099792 +-10.921875 0.28125 0.38899994 +-10.0625 0 -0.30899811 +-11.125 0.4375 0.37200165 +-10.84375 0.25 0.30599976 +-10.0625 0 -0.26300049 +-11.109375 0.40625 0.42399979 +-10.84375 0.25 0.35000229 +-10.0625 -0.03125 -0.2179985 +-10.046875 0 -0.36700058 +-10.90625 0.25 0.38500214 +-10.046875 0 -0.32299805 +-11.125 0.40625 0.36500168 +-10.828125 0.25 0.3030014 +-10.0625 0 -0.27799988 +-10 0 -0.41999817 +-11.125 0.40625 0.41400146 +-10.84375 0.25 0.3409996 +-10.0625 -0.03125 -0.22800064 +-10.046875 0 -0.38000107 +-10.859375 0.25 0.38500214 +-10.0625 0 -0.33699799 +-11.15625 0.40625 0.35200119 +-10.0625 0 -0.29100037 +-10.015625 0 -0.43600082 +-11.125 0.375 0.40200043 +-10.84375 0.21875 0.33399963 +-10.0625 -0.03125 -0.24300003 +-10.015625 0 -0.39199829 +-11.125 0.375 0.45199966 +-10.875 0.25 0.36899948 +-10.0625 0 -0.35099792 +-11.15625 0.40625 0.3409996 +-10.84375 0.25 0.27600098 +-10.046875 -0.03125 -0.30099869 +-10.015625 0 -0.45000076 +-11.125 0.375 0.39300156 +-10.84375 0.21875 0.31999969 +-10.0625 -0.03125 -0.25500107 +-10.015625 0 -0.40499878 +-11.125 0.34375 0.44100189 +-10.875 0.21875 0.36199951 +-10.0625 0 -0.36399841 +-11.125 0.375 0.3390007 +-10.0625 -0.03125 -0.31499863 +-10.015625 0 -0.4640007 +-11.125 0.375 0.38399887 +-10.828125 0.21875 0.31900024 +-10.046875 0 -0.41999817 +-11.125 0.34375 0.43799973 +-10.859375 0.1875 0.36299896 +-10.0625 0 -0.3730011 +-10 0 -0.51799774 +-10.0625 -0.03125 -0.32299805 +-10.046875 0 -0.47599792 +-11.15625 0.375 0.37900162 +-10.859375 0.21875 0.30200195 +-10.046875 0 -0.43099976 +-11.125 0.3125 0.43300247 +-10.84375 0.1875 0.35700226 +-10.046875 -0.03125 -0.38199997 +-10.015625 0 -0.53300095 +-11.078125 0.3125 0.34199905 +-10.046875 -0.03125 -0.33300018 +-10.046875 0 -0.48799896 +-11.171875 0.375 0.36700058 +-10.046875 0 -0.44300079 +-9.984375 0 -0.58799744 +-11.125 0.3125 0.42499924 +-10.0625 -0.03125 -0.39400101 +-10.015625 0 -0.54700089 +-10.046875 0 -0.50099945 +-11.171875 0.34375 0.36199951 +-10.046875 -0.03125 -0.45100021 +-10.015625 0 -0.60300064 +-10.90625 0.1875 0.33100128 +-10.046875 0 -0.55899811 +-10.046875 -0.03125 -0.50999832 +-10 0 -0.6609993 +-11.171875 0.3125 0.35700226 +-10.046875 -0.03125 -0.46299744 +-10.046875 0 -0.61800003 +-10.046875 0 -0.56900024 +-11.046875 0.25 0.33399963 +-10.046875 -0.03125 -0.51900101 +-10.015625 0 -0.67499924 +-11.171875 0.3125 0.35000229 +-10.0625 0 -0.63100052 +-10.046875 -0.03125 -0.58099747 +-10 0 -0.72999954 +-10.046875 -0.03125 -0.52999878 +-10.046875 0 -0.68799973 +-10.046875 0 -0.63899994 +-10 0 -0.78699875 +-10.046875 -0.03125 -0.5890007 +-10.015625 0 -0.74399948 +-10.046875 0 -0.69799805 +-9.9375 -0.03125 -0.83599854 +-10.046875 -0.03125 -0.64799881 +-10.015625 0 -0.80199814 +-10.046875 0 -0.75999832 +-10.046875 0 -0.78899765 +-10.046875 -0.03125 -0.73799896 +-10.015625 0.03125 -0.89299774 +-10.015625 -0.03125 -0.68600082 +-10.015625 0 -0.84499741 +-10.046875 0 -0.79899979 +-10 0.03125 -0.95199966 +-10.046875 -0.03125 -0.75 +-10.015625 0 -0.90599823 +-10.015625 0 -0.85799789 +-10 0.03125 -1.0109978 +-9.796875 0.4375 -2.6969986 +-10.015625 -0.03125 -0.80999756 +-10.015625 0 -0.96699905 +-9.796875 0.40625 -2.6520004 +-10.015625 0 -0.92099762 +-9.984375 0.03125 -1.072998 +-9.765625 0.4375 -2.7589989 +-10.015625 -0.03125 -0.8730011 +-10.015625 0 -1.0289993 +-9.796875 0.4375 -2.7159996 +-10.015625 0 -0.98099899 +-10 0.03125 -1.1349983 +-9.828125 0.40625 -2.6709976 +-10.015625 -0.03125 -0.93199921 +-10 0 -1.0890007 +-9.796875 0.4375 -2.7789993 +-10.015625 0 -1.0429993 +-9.984375 0.03125 -1.1940002 +-9.796875 0.40625 -2.7350006 +-10.015625 -0.03125 -0.99499893 +-10 0 -1.1499977 +-9.828125 0.40625 -2.6909981 +-10.046875 0 -1.105999 +-9.984375 0.03125 -1.2579994 +-9.84375 0.375 -2.6459999 +-9.828125 0.40625 -2.7989998 +-10.015625 -0.03125 -1.0569992 +-10 0 -1.2129974 +-9.828125 0.40625 -2.7550011 +-10.015625 0 -1.1669998 +-9.984375 0.03125 -1.3219986 +-9.8125 0.375 -2.7109985 +-10 -0.03125 -1.1170006 +-10 0 -1.276001 +-9.84375 0.34375 -2.6669998 +-10.015625 0 -1.2299995 +-10 0.03125 -1.3849983 +-9.8125 0.375 -2.776001 +-10 -0.03125 -1.1779976 +-10 0 -1.3390007 +-9.84375 0.34375 -2.7319984 +-10 0 -1.2910004 +-9.984375 0.03125 -1.4469986 +-9.859375 0.34375 -2.6879997 +-10 0 -1.401001 +-9.953125 0.03125 -1.5519981 +-9.859375 0.3125 -2.6419983 +-9.84375 0.34375 -2.7970009 +-10.015625 0 -1.3540001 +-9.984375 0.03125 -1.5099983 +-9.859375 0.34375 -2.7519989 +-10 0 -1.4650002 +-9.953125 0.03125 -1.6170006 +-9.859375 0.3125 -2.7080002 +-10 -0.03125 -1.4169998 +-9.984375 0.03125 -1.572998 +-9.875 0.28125 -2.6639977 +-9.84375 0.3125 -2.8169975 +-10 0 -1.5289993 +-9.984375 0.03125 -1.6839981 +-9.859375 0.28125 -2.7729988 +-10 -0.03125 -1.480999 +-10 0.03125 -1.6389999 +-9.875 0.28125 -2.7290001 +-10 0 -1.5919991 +-9.984375 0.03125 -1.7480011 +-9.875 0.25 -2.6839981 +-9.875 0.3125 -2.8400002 +-9.984375 -0.0625 -1.5410004 +-10 0 -1.7029991 +-9.953125 0.03125 -1.8579979 +-9.875 0.28125 -2.7949982 +-10 -0.03125 -1.6549988 +-9.984375 0.03125 -1.8120003 +-9.875 0.25 -2.75 +-9.984375 0 -1.7679977 +-9.96875 0.03125 -1.9249992 +-9.875 0.21875 -2.704998 +-9.984375 -0.03125 -1.718998 +-9.984375 0 -1.8789978 +-9.90625 0.21875 -2.6619987 +-9.875 0.25 -2.8159981 +-10 0 -1.8339996 +-9.96875 0.03125 -1.9889984 +-9.890625 0.21875 -2.7729988 +-9.984375 -0.03125 -1.7859993 +-9.984375 0 -1.9449997 +-9.953125 0.03125 -2.098999 +-9.90625 0.21875 -2.7280006 +-9.984375 0 -1.8979988 +-9.984375 0.03125 -2.0559998 +-9.9375 0.1875 -2.6829987 +-9.890625 0.21875 -2.8390007 +-9.984375 0 -2.0099983 +-9.953125 0.03125 -2.1650009 +-9.9375 0.15625 -2.6380005 +-9.90625 0.21875 -2.7949982 +-9.984375 -0.03125 -1.9630013 +-9.984375 0.03125 -2.1209984 +-9.921875 0.03125 -2.276001 +-9.9375 0.1875 -2.75 +-9.984375 0 -2.0760002 +-9.96875 0.03125 -2.2329979 +-9.90625 0.125 -2.7039986 +-9.984375 0 -2.1870003 +-9.953125 0.03125 -2.343998 +-9.953125 0.125 -2.6599998 +-9.90625 0.15625 -2.8159981 +-9.984375 -0.03125 -2.1409988 +-9.96875 0.03125 -2.2999992 +-9.953125 0.15625 -2.7729988 +-9.984375 0 -2.2539978 +-9.953125 0.03125 -2.4109993 +-9.953125 0.125 -2.7280006 +-9.984375 -0.03125 -2.2080002 +-9.984375 0.03125 -2.368 +-9.921875 0.03125 -2.5239983 +-9.96875 0.09375 -2.6839981 +-9.984375 0 -2.3219986 +-9.953125 0.03125 -2.4799995 +-9.984375 0.09375 -2.6399994 +-9.953125 0.125 -2.7970009 +-9.96875 0 -2.4360008 +-9.953125 0.03125 -2.5929985 +-9.96875 0.09375 -2.7529984 +-9.984375 -0.03125 -2.3899994 +-9.96875 0.03125 -2.5489998 +-9.984375 0.09375 -2.7089996 +-9.96875 0 -2.5039978 +-9.984375 0.0625 -2.6639977 +-9.953125 0.0625 -2.8209991 +-9.96875 -0.03125 -2.4580002 +-9.96875 0.03125 -2.618 +-9.96875 0.0625 -2.7770004 +-9.96875 -0.03125 -2.572998 +-9.984375 0.03125 -2.7340012 +-9.875 0.03125 -2.8889999 +-10 0.03125 -2.6899986 +-9.953125 0.03125 -2.8470001 +-10 0 -2.6459999 +-9.96875 0.03125 -2.8029976 +-9.921875 0.0625 -2.9630013 +-10.015625 0 -2.7609978 +-9.953125 0.03125 -2.9199982 +-9.90625 0.0625 -3.0779991 +-10.015625 0 -2.7169991 +-9.96875 0 -2.8759995 +-9.921875 0.03125 -3.0349998 +-10.046875 -0.03125 -2.6739998 +-9.96875 -0.03125 -2.829998 +-9.953125 0.03125 -2.9899979 +-9.90625 0.0625 -3.151001 +-10.015625 -0.03125 -2.7900009 +-9.96875 0 -2.947998 +-9.953125 0.03125 -3.1069984 +-10.046875 -0.03125 -2.7439995 +-9.96875 0.03125 -3.0629997 +-9.890625 0.03125 -3.2229996 +-10.0625 -0.0625 -2.7000008 +-9.9375 -0.03125 -3.0200005 +-9.953125 0.03125 -3.1790009 +-9.90625 0.0625 -3.3390007 +-10.0625 -0.09375 -2.6559982 +-10.015625 -0.0625 -2.8169975 +-9.953125 0 -3.1359978 +-9.921875 0.03125 -3.2959976 +-10.015625 -0.09375 -2.7709999 +-9.921875 -0.03125 -3.0909996 +-9.953125 0.03125 -3.2519989 +-9.90625 0.0625 -3.4119987 +-10.078125 -0.09375 -2.7299995 +-9.9375 -0.03125 -3.2080002 +-9.953125 0.03125 -3.3689995 +-9.875 0.0625 -3.5289993 +-10.078125 -0.125 -2.6839981 +-9.953125 0 -3.3250008 +-9.921875 0.03125 -3.4850006 +-10.09375 -0.15625 -2.6399994 +-10.0625 -0.125 -2.8009987 +-9.921875 -0.03125 -3.2819977 +-9.921875 0 -3.4419975 +-9.890625 0.03125 -3.6030006 +-10.03125 -0.15625 -2.7560005 +-9.953125 0 -3.3989983 +-9.921875 0.03125 -3.5599976 +-9.875 0.0625 -3.7210007 +-10.09375 -0.15625 -2.711998 +-9.953125 0 -3.5169983 +-9.90625 0.03125 -3.6779976 +-10.109375 -0.1875 -2.6709976 +-10.078125 -0.15625 -2.8310013 +-9.921875 -0.03125 -3.473999 +-9.921875 0.03125 -3.6349983 +-9.875 0.03125 -3.7970009 +-10.09375 -0.15625 -2.7869987 +-9.953125 0 -3.5919991 +-9.921875 0.03125 -3.7529984 +-9.859375 0.0625 -3.9160004 +-10.109375 -0.1875 -2.743 +-9.921875 0 -3.7099991 +-9.890625 0.03125 -3.8719978 +-10.125 -0.21875 -2.697998 +-9.921875 -0.03125 -3.6669998 +-9.921875 0.03125 -3.8279991 +-9.875 0.03125 -3.9910011 +-10.125 -0.25 -2.6539993 +-10.109375 -0.21875 -2.8159981 +-9.90625 0 -3.7859993 +-9.90625 0.03125 -3.9469986 +-9.859375 0.0625 -4.112999 +-10.125 -0.21875 -2.7719994 +-9.90625 0 -3.9039993 +-9.890625 0.03125 -4.0669975 +-10.15625 -0.25 -2.7280006 +-9.90625 -0.03125 -3.8619995 +-9.921875 0.03125 -4.0249977 +-9.875 0.0625 -4.1879997 +-10.15625 -0.28125 -2.6829987 +-9.90625 0 -3.9819984 +-9.90625 0.03125 -4.144001 +-9.859375 0.0625 -4.3089981 +-10.1875 -0.3125 -2.637001 +-10.171875 -0.28125 -2.8009987 +-9.90625 0 -4.1009979 +-9.890625 0.03125 -4.2630005 +-9.828125 0.0625 -4.4290009 +-10.171875 -0.3125 -2.7550011 +-9.890625 -0.03125 -4.0579987 +-9.890625 0 -4.2200012 +-9.84375 0.03125 -4.3839989 +-10.1875 -0.3125 -2.7099991 +-9.90625 0 -4.1759987 +-9.90625 0.03125 -4.3380013 +-9.859375 0.0625 -4.5039978 +-10.1875 -0.34375 -2.6650009 +-9.890625 0 -4.2959976 +-9.890625 0.03125 -4.4589996 +-9.8125 0.0625 -4.6259995 +-10.1875 -0.34375 -2.7819977 +-9.890625 -0.03125 -4.2529984 +-9.890625 0 -4.4150009 +-9.84375 0.03125 -4.579998 +-9.890625 -0.03125 -4.3719978 +-9.890625 0.03125 -4.5349998 +-9.859375 0.0625 -4.7010002 +-9.890625 0 -4.4920006 +-9.875 0.03125 -4.6569977 +-9.828125 0.0625 -4.8239975 +-9.875 -0.0625 -4.4500008 +-9.84375 0.03125 -4.7779999 +-9.875 -0.03125 -4.5699997 +-9.828125 0.0625 -4.8999977 +-9.921875 0.0625 -4.848999 +-9.828125 0.0625 -5.0219994 +-9.875 0.0625 -4.973999 +-9.796875 0.0625 -5.1459999 +-9.828125 0.0625 -5.0970001 +-9.8125 0.0625 -5.2210007 +-9.859375 0.0625 -5.2959976 +-9.828125 0.0625 -5.4209976 diff --git a/tests/tutorials/table_scene_lms400.pcd b/tests/tutorials/table_scene_lms400.pcd new file mode 100644 index 000000000..5631e4b0d Binary files /dev/null and b/tests/tutorials/table_scene_lms400.pcd differ diff --git a/tests/tutorials/table_scene_mug_stereo_textured_noplane.pcd b/tests/tutorials/table_scene_mug_stereo_textured_noplane.pcd new file mode 100644 index 000000000..bc9e68f3d --- /dev/null +++ b/tests/tutorials/table_scene_mug_stereo_textured_noplane.pcd @@ -0,0 +1,23771 @@ +# .PCD v0.7 - Point Cloud Data file format +VERSION 0.7 +FIELDS x y z +SIZE 4 4 4 +TYPE F F F +COUNT 1 1 1 +WIDTH 23760 +HEIGHT 1 +VIEWPOINT 0 0 0 0 1 0 0 +POINTS 23760 +DATA ascii +0.035296999 -0.074322999 1.2074 +0.041593 -0.074387997 1.2084 +0.042808998 -0.074322999 1.2074 +0.044061001 -0.074322999 1.2074 +0.045313001 -0.074322999 1.2074 +0.046525002 -0.074258998 1.2063 +0.047734 -0.074193999 1.2053 +0.048942 -0.074129999 1.2042 +0.031514 -0.073008001 1.2063 +0.034104001 -0.073197998 1.2095 +0.035328001 -0.073135003 1.2084 +0.036612999 -0.073197998 1.2095 +0.037834 -0.073135003 1.2084 +0.039120998 -0.073197998 1.2095 +0.040375002 -0.073197998 1.2095 +0.041593 -0.073135003 1.2084 +0.042846002 -0.073135003 1.2084 +0.044098999 -0.073135003 1.2084 +0.045313001 -0.073071003 1.2074 +0.046565 -0.073071003 1.2074 +0.047775999 -0.073008001 1.2063 +0.048983999 -0.072944 1.2053 +0.076282002 -0.072755001 1.2021 +0.016705999 -0.072640002 1.2212 +0.029037001 -0.071819 1.2074 +0.030289 -0.071819 1.2074 +0.031541001 -0.071819 1.2074 +0.032822002 -0.071882002 1.2084 +0.034104001 -0.071943998 1.2095 +0.035358999 -0.071943998 1.2095 +0.036612999 -0.071943998 1.2095 +0.037866998 -0.071943998 1.2095 +0.039154999 -0.072007 1.2105 +0.040410999 -0.072007 1.2105 +0.04163 -0.071943998 1.2095 +0.042846002 -0.071882002 1.2084 +0.044098999 -0.071882002 1.2084 +0.045352999 -0.071882002 1.2084 +0.046606001 -0.071882002 1.2084 +0.047816999 -0.071819 1.2074 +0.049027 -0.071757004 1.2063 +0.050276998 -0.071757004 1.2063 +0.051438998 -0.071631998 1.2042 +0.052597001 -0.071509004 1.2021 +0.053842999 -0.071509004 1.2021 +0.055137001 -0.071570002 1.2032 +0.056384999 -0.071570002 1.2032 +0.057533 -0.071447 1.2011 +0.058828998 -0.071509004 1.2021 +0.061429001 -0.071631998 1.2042 +0.062623002 -0.071570002 1.2032 +0.063871004 -0.071570002 1.2032 +0.065118998 -0.071570002 1.2032 +0.066366002 -0.071570002 1.2032 +0.068801999 -0.071509004 1.2021 +0.069987997 -0.071447 1.2011 +0.071234003 -0.071447 1.2011 +0.072541997 -0.071509004 1.2021 +0.073725 -0.071447 1.2011 +0.075034998 -0.071509004 1.2021 +0.076282002 -0.071509004 1.2021 +0.077595003 -0.071570002 1.2032 +0.079048 -0.071757004 1.2063 +0.080298997 -0.071757004 1.2063 +0.016662 -0.071185999 1.2179 +0.017925 -0.071185999 1.2179 +0.019171 -0.071122997 1.2169 +0.02038 -0.070937 1.2137001 +0.021600001 -0.070813 1.2115999 +0.025325 -0.070689999 1.2095 +0.026556 -0.070629001 1.2084 +0.027834 -0.070689999 1.2095 +0.029088 -0.070689999 1.2095 +0.030342 -0.070689999 1.2095 +0.031569 -0.070629001 1.2084 +0.032878999 -0.070752002 1.2105 +0.034134001 -0.070752002 1.2105 +0.035358999 -0.070689999 1.2095 +0.036644999 -0.070752002 1.2105 +0.037900001 -0.070752002 1.2105 +0.039154999 -0.070752002 1.2105 +0.040410999 -0.070752002 1.2105 +0.041666001 -0.070752002 1.2105 +0.042920999 -0.070752002 1.2105 +0.044176001 -0.070752002 1.2105 +0.045432001 -0.070752002 1.2105 +0.046645999 -0.070689999 1.2095 +0.047858998 -0.070629001 1.2084 +0.049112 -0.070629001 1.2084 +0.050365001 -0.070629001 1.2084 +0.051527999 -0.070505999 1.2063 +0.052687999 -0.070384003 1.2042 +0.053982999 -0.070445001 1.2053 +0.055233002 -0.070445001 1.2053 +0.056434002 -0.070384003 1.2042 +0.057682998 -0.070384003 1.2042 +0.058931001 -0.070384003 1.2042 +0.060180001 -0.070384003 1.2042 +0.061429001 -0.070384003 1.2042 +0.062678002 -0.070384003 1.2042 +0.063925996 -0.070384003 1.2042 +0.065118998 -0.070322998 1.2032 +0.066423997 -0.070384003 1.2042 +0.067555003 -0.070262 1.2021 +0.068801999 -0.070262 1.2021 +0.070049003 -0.070262 1.2021 +0.071356997 -0.070322998 1.2032 +0.072541997 -0.070262 1.2021 +0.073788002 -0.070262 1.2021 +0.075099997 -0.070322998 1.2032 +0.076282002 -0.070262 1.2021 +0.077595003 -0.070322998 1.2032 +0.078979999 -0.070445001 1.2053 +0.080298997 -0.070505999 1.2063 +0.019138001 -0.069738999 1.2148 +0.02038 -0.069678001 1.2137001 +0.021619 -0.069618002 1.2126 +0.022877 -0.069618002 1.2126 +0.024112999 -0.069557004 1.2115999 +0.025347 -0.069495998 1.2105 +0.026579 -0.069435999 1.2095 +0.027858 -0.069495998 1.2105 +0.029113 -0.069495998 1.2105 +0.030368 -0.069495998 1.2105 +0.031596001 -0.069435999 1.2095 +0.032908 -0.069557004 1.2115999 +0.034164 -0.069557004 1.2115999 +0.035388999 -0.069495998 1.2105 +0.036676999 -0.069557004 1.2115999 +0.037932999 -0.069557004 1.2115999 +0.039189 -0.069557004 1.2115999 +0.040445998 -0.069557004 1.2115999 +0.041701999 -0.069557004 1.2115999 +0.042957999 -0.069557004 1.2115999 +0.044215001 -0.069557004 1.2115999 +0.045471001 -0.069557004 1.2115999 +0.046728 -0.069557004 1.2115999 +0.047942001 -0.069495998 1.2105 +0.049197 -0.069495998 1.2105 +0.051617999 -0.069375001 1.2084 +0.052779 -0.069255002 1.2063 +0.054076999 -0.069315001 1.2074 +0.055328999 -0.069315001 1.2074 +0.056581002 -0.069315001 1.2074 +0.058983002 -0.069195002 1.2053 +0.060231999 -0.069195002 1.2053 +0.061482001 -0.069195002 1.2053 +0.062732004 -0.069195002 1.2053 +0.063925996 -0.069135003 1.2042 +0.065174997 -0.069135003 1.2042 +0.066423997 -0.069135003 1.2042 +0.067613997 -0.069075003 1.2032 +0.068801999 -0.069014996 1.2021 +0.070049003 -0.069014996 1.2021 +0.071356997 -0.069075003 1.2032 +0.072541997 -0.069014996 1.2021 +0.073788002 -0.069014996 1.2021 +0.075099997 -0.069075003 1.2032 +0.076282002 -0.069014996 1.2021 +0.077595003 -0.069075003 1.2032 +0.078979999 -0.069195002 1.2053 +0.080298997 -0.069255002 1.2063 +0.1125 -0.060949001 1.0616 +0.11352 -0.060901999 1.0608 +0.11444 -0.060809001 1.0592 +0.11545 -0.060763001 1.0584 +0.11655 -0.060763001 1.0584 +0.11747 -0.060671002 1.0568 +0.11838 -0.060578 1.0552 +0.11948 -0.060578 1.0552 +0.12057 -0.060578 1.0552 +0.12157 -0.060532 1.0544 +0.12348 -0.060394999 1.052 +0.12448 -0.060348999 1.0512 +0.12656 -0.060304001 1.0504 +0.12764999 -0.060304001 1.0504 +0.12913001 -0.060486998 1.0536 +0.020344 -0.068301 1.2115999 +0.029113 -0.068241 1.2105 +0.030368 -0.068241 1.2105 +0.031596001 -0.068181999 1.2095 +0.032935999 -0.068360001 1.2126 +0.034194 -0.068360001 1.2126 +0.035420001 -0.068301 1.2115999 +0.036708999 -0.068360001 1.2126 +0.037966002 -0.068360001 1.2126 +0.039223999 -0.068360001 1.2126 +0.040481001 -0.068360001 1.2126 +0.041738 -0.068360001 1.2126 +0.042996 -0.068360001 1.2126 +0.044252999 -0.068360001 1.2126 +0.045550998 -0.06842 1.2137001 +0.046808999 -0.06842 1.2137001 +0.048025999 -0.068360001 1.2126 +0.055376999 -0.068122 1.2084 +0.059034001 -0.068003997 1.2063 +0.060284998 -0.068003997 1.2063 +0.061535999 -0.068003997 1.2063 +0.062785998 -0.068003997 1.2063 +0.063982002 -0.067945004 1.2053 +0.065174997 -0.067886002 1.2042 +0.066481002 -0.067945004 1.2053 +0.067613997 -0.067828 1.2032 +0.068801999 -0.067768998 1.2021 +0.069987997 -0.067709997 1.2011 +0.071356997 -0.067828 1.2032 +0.072541997 -0.067768998 1.2021 +0.076282002 -0.067768998 1.2021 +0.11233 -0.059756 1.0599999 +0.11334 -0.059711002 1.0592 +0.11435 -0.059664998 1.0584 +0.11545 -0.059664998 1.0584 +0.11646 -0.05962 1.0576 +0.11738 -0.059528999 1.056 +0.11838 -0.059484001 1.0552 +0.11948 -0.059484001 1.0552 +0.12057 -0.059484001 1.0552 +0.12167 -0.059484001 1.0552 +0.12267 -0.059439 1.0544 +0.12367 -0.059393998 1.0536 +0.12466 -0.059349 1.0528001 +0.12585001 -0.059393998 1.0536 +0.12675001 -0.059303999 1.052 +0.12784 -0.059303999 1.052 +0.12922999 -0.059439 1.0544 +0.13042 -0.059484001 1.0552 +0.24459 -0.059574999 1.0568 +-0.037769999 -0.057906002 1.0464 +-0.027961999 -0.057819001 1.0448999 +-0.026838001 -0.057732999 1.0433 +0.01867 -0.057950001 1.0472 +0.019786 -0.058038 1.0488 +0.021961 -0.058038 1.0488 +0.030368 -0.066986002 1.2105 +0.031596001 -0.066927999 1.2095 +0.032935999 -0.067102998 1.2126 +0.034194 -0.067102998 1.2126 +0.035420001 -0.067043997 1.2115999 +0.036708999 -0.067102998 1.2126 +0.037966002 -0.067102998 1.2126 +0.039223999 -0.067102998 1.2126 +0.040516 -0.067161001 1.2137001 +0.041774999 -0.067161001 1.2137001 +0.043033 -0.067161001 1.2137001 +0.045630001 -0.067279004 1.2158 +0.059085 -0.066811003 1.2074 +0.060337 -0.066811003 1.2074 +0.061588999 -0.066811003 1.2074 +0.062840998 -0.066811003 1.2074 +0.064037003 -0.066753 1.2063 +0.065232001 -0.066694997 1.2053 +0.066538997 -0.066753 1.2063 +0.067672998 -0.066638 1.2042 +0.068801999 -0.066522002 1.2021 +0.069987997 -0.066464998 1.2011 +0.11326 -0.058568001 1.0584 +0.11418 -0.058479 1.0568 +0.11528 -0.058479 1.0568 +0.11637 -0.058479 1.0568 +0.11729 -0.058389999 1.0552 +0.11838 -0.058389999 1.0552 +0.11948 -0.058389999 1.0552 +0.12057 -0.058389999 1.0552 +0.12157 -0.058346 1.0544 +0.12267 -0.058346 1.0544 +0.12367 -0.058302 1.0536 +0.12466 -0.058256999 1.0528001 +0.12594999 -0.058346 1.0544 +0.12684999 -0.058256999 1.0528001 +0.12784 -0.058212999 1.052 +0.12922999 -0.058346 1.0544 +0.14508 -0.058125 1.0504 +0.14639001 -0.058212999 1.052 +0.14966001 -0.058212999 1.052 +0.15086 -0.058256999 1.0528001 +0.15196 -0.058256999 1.0528001 +0.15316001 -0.058302 1.0536 +0.15425999 -0.058302 1.0536 +0.15523 -0.058256999 1.0528001 +0.15632001 -0.058256999 1.0528001 +0.1573 -0.058212999 1.052 +0.15827 -0.058169 1.0512 +0.23709001 -0.058522999 1.0576 +0.24038 -0.058522999 1.0576 +0.24147999 -0.058522999 1.0576 +0.24239001 -0.058479 1.0568 +0.24349 -0.058479 1.0568 +0.24459 -0.058479 1.0568 +0.24568 -0.058479 1.0568 +0.24677999 -0.058479 1.0568 +0.24806 -0.058522999 1.0576 +0.24935 -0.058568001 1.0584 +0.26532 -0.058701999 1.0608 +0.26581001 -0.058568001 1.0584 +0.26671001 -0.058522999 1.0576 +0.2676 -0.058479 1.0568 +-0.18657 -0.056864001 1.0472 +-0.18535 -0.056821 1.0464 +-0.18398 -0.056736 1.0448999 +-0.082198001 -0.056779001 1.0457 +-0.046486001 -0.056864001 1.0472 +-0.045400001 -0.056864001 1.0472 +-0.044280998 -0.056821 1.0464 +-0.043163002 -0.056779001 1.0457 +-0.042079002 -0.056779001 1.0457 +-0.040994 -0.056779001 1.0457 +-0.037769999 -0.056821 1.0464 +-0.036657002 -0.056779001 1.0457 +-0.035599999 -0.056821 1.0464 +-0.034488998 -0.056779001 1.0457 +-0.033404 -0.056779001 1.0457 +-0.032295998 -0.056736 1.0448999 +-0.031212 -0.056736 1.0448999 +-0.030129001 -0.056736 1.0448999 +-0.029067 -0.056779001 1.0457 +-0.027961999 -0.056736 1.0448999 +-0.026858 -0.056692999 1.0441 +-0.025775 -0.056692999 1.0441 +-0.024674 -0.056651 1.0433 +0.011077 -0.056906998 1.048 +0.012155 -0.056864001 1.0472 +0.015424 -0.056906998 1.048 +0.016499 -0.056864001 1.0472 +0.017584 -0.056864001 1.0472 +0.01867 -0.056864001 1.0472 +0.019771 -0.056906998 1.048 +0.020873999 -0.056949999 1.0488 +0.021927999 -0.056864001 1.0472 +0.023032 -0.056906998 1.048 +0.0241 -0.056864001 1.0472 +0.030342 -0.065673001 1.2095 +0.031569 -0.065615997 1.2084 +0.032908 -0.065788001 1.2115999 +0.034164 -0.065788001 1.2115999 +0.035388999 -0.065730996 1.2105 +0.036708999 -0.065844998 1.2126 +0.037966002 -0.065844998 1.2126 +0.039223999 -0.065844998 1.2126 +0.040516 -0.065903001 1.2137001 +0.041774999 -0.065903001 1.2137001 +0.043033 -0.065903001 1.2137001 +0.061588999 -0.065559 1.2074 +0.062895998 -0.065615997 1.2084 +0.064037003 -0.065502003 1.2063 +0.065288 -0.065502003 1.2063 +0.066538997 -0.065502003 1.2063 +0.067613997 -0.065332003 1.2032 +0.068801999 -0.065275997 1.2021 +0.064424999 -0.056993 1.0496 +0.065513998 -0.056993 1.0496 +0.066551998 -0.056949999 1.0488 +0.067639999 -0.056949999 1.0488 +0.068727002 -0.056949999 1.0488 +0.069867 -0.056993 1.0496 +0.070955999 -0.056993 1.0496 +0.072044 -0.056993 1.0496 +0.076571003 -0.057122 1.052 +0.077602997 -0.057078999 1.0512 +0.11308 -0.057383001 1.0568 +0.11409 -0.057339001 1.056 +0.11519 -0.057339001 1.056 +0.11619 -0.057296 1.0552 +0.11711 -0.057209 1.0536 +0.11829 -0.057252001 1.0544 +0.11939 -0.057252001 1.0544 +0.12048 -0.057252001 1.0544 +0.12148 -0.057209 1.0536 +0.12257 -0.057209 1.0536 +0.12357 -0.057165999 1.0528001 +0.12466 -0.057165999 1.0528001 +0.12585001 -0.057209 1.0536 +0.12675001 -0.057122 1.052 +0.12774999 -0.057078999 1.0512 +0.12903 -0.057165999 1.0528001 +0.13111 -0.057122 1.052 +0.13211 -0.057078999 1.0512 +0.13657001 -0.057122 1.052 +0.13766 -0.057122 1.052 +0.14004999 -0.057209 1.0536 +0.14104 -0.057165999 1.0528001 +0.14181 -0.057036001 1.0504 +0.14311001 -0.057122 1.052 +0.14421 -0.057122 1.052 +0.14519 -0.057078999 1.0512 +0.14650001 -0.057165999 1.0528001 +0.1477 -0.057209 1.0536 +0.14879 -0.057209 1.0536 +0.14977001 -0.057165999 1.0528001 +0.15098 -0.057209 1.0536 +0.15207 -0.057209 1.0536 +0.15316001 -0.057209 1.0536 +0.15425999 -0.057209 1.0536 +0.15523 -0.057165999 1.0528001 +0.15632001 -0.057165999 1.0528001 +0.1573 -0.057122 1.052 +0.15827 -0.057078999 1.0512 +0.15948001 -0.057122 1.052 +0.16033 -0.057036001 1.0504 +0.16129 -0.056993 1.0496 +0.22308999 -0.057209 1.0536 +0.22452 -0.057296 1.0552 +0.22578 -0.057339001 1.056 +0.22671001 -0.057296 1.0552 +0.23016 -0.057339001 1.056 +0.23108 -0.057296 1.0552 +0.23235001 -0.057339001 1.056 +0.23363 -0.057383001 1.0568 +0.2349 -0.057427 1.0576 +0.23582 -0.057383001 1.0568 +0.23709001 -0.057427 1.0576 +0.23819 -0.057427 1.0576 +0.23947001 -0.057470001 1.0584 +0.24056999 -0.057470001 1.0584 +0.24147999 -0.057427 1.0576 +0.24258 -0.057427 1.0576 +0.24349 -0.057383001 1.0568 +0.24477001 -0.057427 1.0576 +0.24568 -0.057383001 1.0568 +0.24677999 -0.057383001 1.0568 +0.24806 -0.057427 1.0576 +0.24935 -0.057470001 1.0584 +0.25044999 -0.057470001 1.0584 +0.25154001 -0.057470001 1.0584 +0.25264001 -0.057470001 1.0584 +0.25374001 -0.057470001 1.0584 +0.25483999 -0.057470001 1.0584 +0.26512 -0.057558 1.0599999 +0.26581001 -0.057470001 1.0584 +0.2676 -0.057383001 1.0568 +-0.18752 -0.055736002 1.0464 +-0.18643001 -0.055736002 1.0464 +-0.18506999 -0.055652 1.0448999 +-0.18398 -0.055652 1.0448999 +-0.18276 -0.055610999 1.0441 +-0.18167999 -0.055610999 1.0441 +-0.1806 -0.055610999 1.0441 +-0.17938 -0.055569001 1.0433 +-0.17534 -0.055319998 1.0386 +-0.083345003 -0.055736002 1.0464 +-0.082198001 -0.055693999 1.0457 +-0.051876001 -0.055736002 1.0464 +-0.050753001 -0.055693999 1.0457 +-0.049706001 -0.055736002 1.0464 +-0.048620999 -0.055736002 1.0464 +-0.047572002 -0.055778001 1.0472 +-0.046486001 -0.055778001 1.0472 +-0.045366 -0.055736002 1.0464 +-0.044280998 -0.055736002 1.0464 +-0.043163002 -0.055693999 1.0457 +-0.042079002 -0.055693999 1.0457 +-0.040994 -0.055693999 1.0457 +-0.03988 -0.055652 1.0448999 +-0.038826 -0.055693999 1.0457 +-0.037741002 -0.055693999 1.0457 +-0.036657002 -0.055693999 1.0457 +-0.035599999 -0.055736002 1.0464 +-0.034488998 -0.055693999 1.0457 +-0.033379 -0.055652 1.0448999 +-0.032295998 -0.055652 1.0448999 +-0.031212 -0.055652 1.0448999 +-0.030129001 -0.055652 1.0448999 +-0.029067 -0.055693999 1.0457 +-0.027961999 -0.055652 1.0448999 +-0.026877999 -0.055652 1.0448999 +-0.025795 -0.055652 1.0448999 +-0.024692999 -0.055610999 1.0441 +-0.02361 -0.055610999 1.0441 +0.0078110001 -0.055778001 1.0472 +0.0088903001 -0.055736002 1.0464 +0.0099905003 -0.055819999 1.048 +0.011077 -0.055819999 1.048 +0.012155 -0.055778001 1.0472 +0.013241 -0.055778001 1.0472 +0.014348 -0.055861998 1.0488 +0.015413 -0.055778001 1.0472 +0.016486 -0.055736002 1.0464 +0.017584 -0.055778001 1.0472 +0.018656 -0.055736002 1.0464 +0.019741001 -0.055736002 1.0464 +0.020842001 -0.055778001 1.0472 +0.021911999 -0.055736002 1.0464 +0.022996999 -0.055736002 1.0464 +0.024081999 -0.055736002 1.0464 +0.025148001 -0.055693999 1.0457 +0.031514 -0.064250998 1.2063 +0.034104001 -0.064419001 1.2095 +0.035328001 -0.064363003 1.2084 +0.041738 -0.064588003 1.2126 +0.062895998 -0.064363003 1.2084 +0.064037003 -0.064250998 1.2063 +0.065232001 -0.064195998 1.2053 +0.066481002 -0.064195998 1.2053 +0.061207 -0.055946998 1.0504 +0.062295999 -0.055946998 1.0504 +0.063336998 -0.055904999 1.0496 +0.064377002 -0.055861998 1.0488 +0.065463997 -0.055861998 1.0488 +0.066501997 -0.055819999 1.048 +0.067639999 -0.055861998 1.0488 +0.068727002 -0.055861998 1.0488 +0.069815002 -0.055861998 1.0488 +0.070901997 -0.055861998 1.0488 +0.072044 -0.055904999 1.0496 +0.073077001 -0.055861998 1.0488 +0.074276999 -0.055946998 1.0504 +0.075309001 -0.055904999 1.0496 +0.076456003 -0.055946998 1.0504 +0.077545002 -0.055946998 1.0504 +0.078634001 -0.055946998 1.0504 +0.10845 -0.056159001 1.0544 +0.10955 -0.056159001 1.0544 +0.11072 -0.056201998 1.0552 +0.11401 -0.056201998 1.0552 +0.1151 -0.056201998 1.0552 +0.11611 -0.056159001 1.0544 +0.11702 -0.056074001 1.0528001 +0.1182 -0.056116 1.0536 +0.11921 -0.056074001 1.0528001 +0.12039 -0.056116 1.0536 +0.12139 -0.056074001 1.0528001 +0.12239 -0.056031998 1.052 +0.12348 -0.056031998 1.052 +0.12448 -0.055989001 1.0512 +0.12566 -0.056031998 1.052 +0.12666 -0.055989001 1.0512 +0.12764999 -0.055946998 1.0504 +0.12884 -0.055989001 1.0512 +0.13091999 -0.055946998 1.0504 +0.13201 -0.055946998 1.0504 +0.13417999 -0.055946998 1.0504 +0.13538 -0.055989001 1.0512 +0.13647 -0.055989001 1.0512 +0.13756 -0.055989001 1.0512 +0.13875 -0.056031998 1.052 +0.13984001 -0.056031998 1.052 +0.14093 -0.056031998 1.052 +0.14181 -0.055946998 1.0504 +0.14311001 -0.056031998 1.052 +0.14421 -0.056031998 1.052 +0.14519 -0.055989001 1.0512 +0.14639001 -0.056031998 1.052 +0.14759 -0.056074001 1.0528001 +0.14879 -0.056116 1.0536 +0.14977001 -0.056074001 1.0528001 +0.15098 -0.056116 1.0536 +0.15207 -0.056116 1.0536 +0.15316001 -0.056116 1.0536 +0.15414 -0.056074001 1.0528001 +0.15523 -0.056074001 1.0528001 +0.15632001 -0.056074001 1.0528001 +0.15718 -0.055989001 1.0512 +0.15827 -0.055989001 1.0512 +0.15936001 -0.055989001 1.0512 +0.16033 -0.055946998 1.0504 +0.16129 -0.055904999 1.0496 +0.16237999 -0.055904999 1.0496 +0.22124 -0.056201998 1.0552 +0.22216 -0.056159001 1.0544 +0.22308999 -0.056116 1.0536 +0.22452 -0.056201998 1.0552 +0.22578 -0.056244001 1.056 +0.22671001 -0.056201998 1.0552 +0.2278 -0.056201998 1.0552 +0.22906999 -0.056244001 1.056 +0.23016 -0.056244001 1.056 +0.23126 -0.056244001 1.056 +0.23235001 -0.056244001 1.056 +0.23363 -0.056287002 1.0568 +0.2349 -0.056329999 1.0576 +0.23582 -0.056287002 1.0568 +0.23709001 -0.056329999 1.0576 +0.23819 -0.056329999 1.0576 +0.23929 -0.056329999 1.0576 +0.24038 -0.056329999 1.0576 +0.24147999 -0.056329999 1.0576 +0.24258 -0.056329999 1.0576 +0.24349 -0.056287002 1.0568 +0.24477001 -0.056329999 1.0576 +0.24568 -0.056287002 1.0568 +0.24677999 -0.056287002 1.0568 +0.24806 -0.056329999 1.0576 +0.24916001 -0.056329999 1.0576 +0.25026 -0.056329999 1.0576 +0.25134999 -0.056329999 1.0576 +0.25244999 -0.056329999 1.0576 +0.25354999 -0.056329999 1.0576 +0.25464001 -0.056329999 1.0576 +0.25554001 -0.056287002 1.0568 +0.26402 -0.056458998 1.0599999 +0.26581001 -0.056373 1.0584 +0.26978999 -0.056287002 1.0568 +-0.18738 -0.054609999 1.0457 +-0.18629 -0.054609999 1.0457 +-0.18493 -0.054528002 1.0441 +-0.18370999 -0.054487001 1.0433 +-0.18263 -0.054487001 1.0433 +-0.18141 -0.054446001 1.0425 +-0.18046001 -0.054487001 1.0433 +-0.17925 -0.054446001 1.0425 +-0.17776 -0.054324001 1.0402 +-0.17655 -0.054283001 1.0394 +-0.17521 -0.054202002 1.0378 +-0.17400999 -0.054161999 1.0371 +-0.088569999 -0.054528002 1.0441 +-0.087618999 -0.054609999 1.0457 +-0.086599998 -0.054651 1.0464 +-0.085579999 -0.054692 1.0472 +-0.084494002 -0.054692 1.0472 +-0.083345003 -0.054651 1.0464 +-0.082198001 -0.054609999 1.0457 +-0.051837001 -0.054609999 1.0457 +-0.050753001 -0.054609999 1.0457 +-0.049706001 -0.054651 1.0464 +-0.048620999 -0.054651 1.0464 +-0.047572002 -0.054692 1.0472 +-0.046450999 -0.054651 1.0464 +-0.045332 -0.054609999 1.0457 +-0.044247001 -0.054609999 1.0457 +-0.043131001 -0.054568999 1.0448999 +-0.042079002 -0.054609999 1.0457 +-0.040994 -0.054609999 1.0457 +-0.03988 -0.054568999 1.0448999 +-0.038826 -0.054609999 1.0457 +-0.037741002 -0.054609999 1.0457 +-0.036657002 -0.054609999 1.0457 +-0.035572998 -0.054609999 1.0457 +-0.034463 -0.054568999 1.0448999 +-0.033379 -0.054568999 1.0448999 +-0.032295998 -0.054568999 1.0448999 +-0.031189 -0.054528002 1.0441 +-0.030129001 -0.054568999 1.0448999 +-0.029067 -0.054609999 1.0457 +-0.027961999 -0.054568999 1.0448999 +-0.026877999 -0.054568999 1.0448999 +-0.025795 -0.054568999 1.0448999 +-0.024692999 -0.054528002 1.0441 +-0.02361 -0.054528002 1.0441 +0.0045600999 -0.054775 1.0488 +0.0056349002 -0.054651 1.0464 +0.0067250999 -0.054692 1.0472 +0.0078110001 -0.054692 1.0472 +0.0088903001 -0.054651 1.0464 +0.0099828998 -0.054692 1.0472 +0.011069 -0.054692 1.0472 +0.012155 -0.054692 1.0472 +0.013231 -0.054651 1.0464 +0.014337 -0.054733001 1.048 +0.015401 -0.054651 1.0464 +0.016486 -0.054651 1.0464 +0.017571 -0.054651 1.0464 +0.018642001 -0.054609999 1.0457 +0.019726999 -0.054609999 1.0457 +0.020826999 -0.054651 1.0464 +0.021895001 -0.054609999 1.0457 +0.022980001 -0.054609999 1.0457 +0.024064001 -0.054609999 1.0457 +0.025129 -0.054568999 1.0448999 +0.026193 -0.054528002 1.0441 +0.028379999 -0.054568999 1.0448999 +0.033822998 -0.054609999 1.0457 +0.034880999 -0.054568999 1.0448999 +0.038130999 -0.054568999 1.0448999 +0.059028 -0.054857999 1.0504 +0.060116999 -0.054857999 1.0504 +0.061113998 -0.054775 1.0488 +0.062201999 -0.054775 1.0488 +0.063289002 -0.054775 1.0488 +0.064328 -0.054733001 1.048 +0.065415002 -0.054733001 1.048 +0.066501997 -0.054733001 1.048 +0.067589 -0.054733001 1.048 +0.068674996 -0.054733001 1.048 +0.069761999 -0.054733001 1.048 +0.070849001 -0.054733001 1.048 +0.071989998 -0.054775 1.0488 +0.073077001 -0.054775 1.0488 +0.074221 -0.054816 1.0496 +0.075253002 -0.054775 1.0488 +0.076398 -0.054816 1.0496 +0.077486001 -0.054816 1.0496 +0.078575 -0.054816 1.0496 +0.098240003 -0.054857999 1.0504 +0.099404 -0.054899 1.0512 +0.10829 -0.054981999 1.0528001 +0.10938 -0.054981999 1.0528001 +0.11056 -0.055024002 1.0536 +0.11173 -0.055066001 1.0544 +0.11383 -0.055024002 1.0536 +0.11501 -0.055066001 1.0544 +0.11602 -0.055024002 1.0536 +0.11693 -0.054940999 1.052 +0.11811 -0.054981999 1.0528001 +0.11912 -0.054940999 1.052 +0.12021 -0.054940999 1.052 +0.1213 -0.054940999 1.052 +0.1223 -0.054899 1.0512 +0.12339 -0.054899 1.0512 +0.12438 -0.054857999 1.0504 +0.12547 -0.054857999 1.0504 +0.12656 -0.054857999 1.0504 +0.12755001 -0.054816 1.0496 +0.12864 -0.054816 1.0496 +0.12973 -0.054816 1.0496 +0.13082001 -0.054816 1.0496 +0.13191 -0.054816 1.0496 +0.1331 -0.054857999 1.0504 +0.13407999 -0.054816 1.0496 +0.13527 -0.054857999 1.0504 +0.13636 -0.054857999 1.0504 +0.13744999 -0.054857999 1.0504 +0.13865 -0.054899 1.0512 +0.13974001 -0.054899 1.0512 +0.14083 -0.054899 1.0512 +0.14192 -0.054899 1.0512 +0.14311001 -0.054940999 1.052 +0.14421 -0.054940999 1.052 +0.14519 -0.054899 1.0512 +0.14639001 -0.054940999 1.052 +0.14748 -0.054940999 1.052 +0.14857 -0.054940999 1.052 +0.14966001 -0.054940999 1.052 +0.15086 -0.054981999 1.0528001 +0.15196 -0.054981999 1.0528001 +0.15305001 -0.054981999 1.0528001 +0.15402 -0.054940999 1.052 +0.15511 -0.054940999 1.052 +0.15609001 -0.054899 1.0512 +0.15718 -0.054899 1.0512 +0.15815 -0.054857999 1.0504 +0.15924001 -0.054857999 1.0504 +0.16033 -0.054857999 1.0504 +0.16141 -0.054857999 1.0504 +0.16237999 -0.054816 1.0496 +0.16347 -0.054816 1.0496 +0.21855 -0.054981999 1.0528001 +0.21964 -0.054981999 1.0528001 +0.22107001 -0.055066001 1.0544 +0.22216 -0.055066001 1.0544 +0.22308999 -0.055024002 1.0536 +0.22452 -0.055108 1.0552 +0.22578 -0.055149 1.056 +0.22688 -0.055149 1.056 +0.2278 -0.055108 1.0552 +0.22906999 -0.055149 1.056 +0.23016 -0.055149 1.056 +0.23126 -0.055149 1.056 +0.23235001 -0.055149 1.056 +0.23363 -0.055190999 1.0568 +0.23472001 -0.055190999 1.0568 +0.23582 -0.055190999 1.0568 +0.23691 -0.055190999 1.0568 +0.23801 -0.055190999 1.0568 +0.23929 -0.055233002 1.0576 +0.24038 -0.055233002 1.0576 +0.24147999 -0.055233002 1.0576 +0.24239001 -0.055190999 1.0568 +0.24349 -0.055190999 1.0568 +0.24459 -0.055190999 1.0568 +0.24549 -0.055149 1.056 +0.24659 -0.055149 1.056 +0.24787 -0.055190999 1.0568 +0.24897 -0.055190999 1.0568 +0.25005999 -0.055190999 1.0568 +0.25116 -0.055190999 1.0568 +0.25226 -0.055190999 1.0568 +0.25334999 -0.055190999 1.0568 +0.25444999 -0.055190999 1.0568 +0.25554001 -0.055190999 1.0568 +0.25663999 -0.055190999 1.0568 +0.26471001 -0.055275001 1.0584 +0.2665 -0.055190999 1.0568 +-0.18723001 -0.053484999 1.0448999 +-0.18601 -0.053445 1.0441 +-0.18479 -0.053405002 1.0433 +-0.18357 -0.053365 1.0425 +-0.18234999 -0.053325001 1.0417 +-0.18114001 -0.053284999 1.041 +-0.18006 -0.053284999 1.041 +-0.17897999 -0.053284999 1.041 +-0.17763001 -0.053204998 1.0394 +-0.17642 -0.053165998 1.0386 +-0.17521 -0.053126 1.0378 +-0.17400999 -0.053086001 1.0371 +-0.14668 -0.052928001 1.034 +-0.088504001 -0.053405002 1.0433 +-0.087554 -0.053484999 1.0448999 +-0.08647 -0.053484999 1.0448999 +-0.085515 -0.053566001 1.0464 +-0.084430002 -0.053566001 1.0464 +-0.083282001 -0.053525999 1.0457 +-0.082135998 -0.053484999 1.0448999 +-0.081053004 -0.053484999 1.0448999 +-0.078945003 -0.053525999 1.0457 +-0.077861004 -0.053525999 1.0457 +-0.076834001 -0.053566001 1.0464 +-0.049669001 -0.053525999 1.0457 +-0.048548002 -0.053484999 1.0448999 +-0.047536001 -0.053566001 1.0464 +-0.046416 -0.053525999 1.0457 +-0.045297999 -0.053484999 1.0448999 +-0.044213999 -0.053484999 1.0448999 +-0.043097999 -0.053445 1.0441 +-0.042047001 -0.053484999 1.0448999 +-0.040964 -0.053484999 1.0448999 +-0.03985 -0.053445 1.0441 +-0.038796999 -0.053484999 1.0448999 +-0.037712999 -0.053484999 1.0448999 +-0.036630001 -0.053484999 1.0448999 +-0.035546001 -0.053484999 1.0448999 +-0.034437001 -0.053445 1.0441 +-0.033353999 -0.053445 1.0441 +-0.032271001 -0.053445 1.0441 +-0.031165 -0.053405002 1.0433 +-0.030106001 -0.053445 1.0441 +-0.029045001 -0.053484999 1.0448999 +-0.027941 -0.053445 1.0441 +-0.026858 -0.053445 1.0441 +-0.025795 -0.053484999 1.0448999 +-0.024692999 -0.053445 1.0441 +-0.02361 -0.053445 1.0441 +-0.02251 -0.053405002 1.0433 +0.0012954 -0.053606 1.0472 +0.0023814 -0.053606 1.0472 +0.0045567001 -0.053647 1.048 +0.0056349002 -0.053566001 1.0464 +0.0067250999 -0.053606 1.0472 +0.0078051998 -0.053566001 1.0464 +0.0088836001 -0.053525999 1.0457 +0.0099753998 -0.053566001 1.0464 +0.011061 -0.053566001 1.0464 +0.012146 -0.053566001 1.0464 +0.013231 -0.053566001 1.0464 +0.014316 -0.053566001 1.0464 +0.015401 -0.053566001 1.0464 +0.016473999 -0.053525999 1.0457 +0.017557999 -0.053525999 1.0457 +0.018627999 -0.053484999 1.0448999 +0.019711999 -0.053484999 1.0448999 +0.020795001 -0.053484999 1.0448999 +0.021862 -0.053445 1.0441 +0.022945 -0.053445 1.0441 +0.024027999 -0.053445 1.0441 +0.025110001 -0.053445 1.0441 +0.026172999 -0.053405002 1.0433 +0.027276 -0.053445 1.0441 +0.028357999 -0.053445 1.0441 +0.029441001 -0.053445 1.0441 +0.030524001 -0.053445 1.0441 +0.031629998 -0.053484999 1.0448999 +0.032689001 -0.053445 1.0441 +0.033822998 -0.053525999 1.0457 +0.034880999 -0.053484999 1.0448999 +0.035937 -0.053445 1.0441 +0.037048001 -0.053484999 1.0448999 +0.03816 -0.053525999 1.0457 +0.039214998 -0.053484999 1.0448999 +0.057808001 -0.053647 1.048 +0.058938999 -0.053686999 1.0488 +0.060027 -0.053686999 1.0488 +0.061067998 -0.053647 1.048 +0.062155001 -0.053647 1.048 +0.063242003 -0.053647 1.048 +0.064328 -0.053647 1.048 +0.065366 -0.053606 1.0472 +0.066451997 -0.053606 1.0472 +0.067589 -0.053647 1.048 +0.068623997 -0.053606 1.0472 +0.069761999 -0.053647 1.048 +0.070849001 -0.053647 1.048 +0.071935996 -0.053647 1.048 +0.073022 -0.053647 1.048 +0.074165002 -0.053686999 1.0488 +0.075195998 -0.053647 1.048 +0.076339997 -0.053686999 1.0488 +0.077427998 -0.053686999 1.0488 +0.079603001 -0.053686999 1.0488 +0.095844001 -0.053647 1.048 +0.097003996 -0.053686999 1.0488 +0.098091997 -0.053686999 1.0488 +0.099253997 -0.053727999 1.0496 +0.10042 -0.053768001 1.0504 +0.10703 -0.053808998 1.0512 +0.10821 -0.053849999 1.052 +0.1093 -0.053849999 1.052 +0.11047 -0.053890999 1.0528001 +0.11165 -0.053931002 1.0536 +0.11283 -0.053971998 1.0544 +0.11375 -0.053890999 1.0528001 +0.11493 -0.053931002 1.0536 +0.11593 -0.053890999 1.0528001 +0.11685 -0.053808998 1.0512 +0.11802 -0.053849999 1.052 +0.11903 -0.053808998 1.0512 +0.12012 -0.053808998 1.0512 +0.12121 -0.053808998 1.0512 +0.1222 -0.053768001 1.0504 +0.12329 -0.053768001 1.0504 +0.12429 -0.053727999 1.0496 +0.12537999 -0.053727999 1.0496 +0.12646 -0.053727999 1.0496 +0.12746 -0.053686999 1.0488 +0.12853999 -0.053686999 1.0488 +0.12963 -0.053686999 1.0488 +0.13072 -0.053686999 1.0488 +0.13180999 -0.053686999 1.0488 +0.13299 -0.053727999 1.0496 +0.13398001 -0.053686999 1.0488 +0.13517 -0.053727999 1.0496 +0.13626 -0.053727999 1.0496 +0.13744999 -0.053768001 1.0504 +0.13854 -0.053768001 1.0504 +0.13963 -0.053768001 1.0504 +0.14083 -0.053808998 1.0512 +0.14181 -0.053768001 1.0504 +0.14301001 -0.053808998 1.0512 +0.1441 -0.053808998 1.0512 +0.14508 -0.053768001 1.0504 +0.14628001 -0.053808998 1.0512 +0.14737 -0.053808998 1.0512 +0.14846 -0.053808998 1.0512 +0.14955001 -0.053808998 1.0512 +0.15075 -0.053849999 1.052 +0.15173 -0.053808998 1.0512 +0.15282001 -0.053808998 1.0512 +0.15391 -0.053808998 1.0512 +0.155 -0.053808998 1.0512 +0.15597001 -0.053768001 1.0504 +0.15706 -0.053768001 1.0504 +0.15815 -0.053768001 1.0504 +0.15924001 -0.053768001 1.0504 +0.16033 -0.053768001 1.0504 +0.16141 -0.053768001 1.0504 +0.16237999 -0.053727999 1.0496 +0.16347 -0.053727999 1.0496 +0.16468 -0.053768001 1.0504 +0.16576999 -0.053768001 1.0504 +0.18211 -0.053768001 1.0504 +0.21619999 -0.053849999 1.052 +0.21729 -0.053849999 1.052 +0.21838 -0.053849999 1.052 +0.21947999 -0.053849999 1.052 +0.22107001 -0.053971998 1.0544 +0.22216 -0.053971998 1.0544 +0.22308999 -0.053931002 1.0536 +0.22435001 -0.053971998 1.0544 +0.22561 -0.054012999 1.0552 +0.22671001 -0.054012999 1.0552 +0.2278 -0.054012999 1.0552 +0.22906999 -0.054053999 1.056 +0.22999001 -0.054012999 1.0552 +0.23108 -0.054012999 1.0552 +0.23218 -0.054012999 1.0552 +0.23345 -0.054053999 1.056 +0.23472001 -0.054095 1.0568 +0.23582 -0.054095 1.0568 +0.23691 -0.054095 1.0568 +0.23783 -0.054053999 1.056 +0.23910999 -0.054095 1.0568 +0.2402 -0.054095 1.0568 +0.2413 -0.054095 1.0568 +0.24221 -0.054053999 1.056 +0.24330001 -0.054053999 1.056 +0.24439999 -0.054053999 1.056 +0.24530999 -0.054012999 1.0552 +0.2464 -0.054012999 1.0552 +0.24767999 -0.054053999 1.056 +0.24878 -0.054053999 1.056 +0.24987 -0.054053999 1.056 +0.25097001 -0.054053999 1.056 +0.25206 -0.054053999 1.056 +0.25316 -0.054053999 1.056 +0.25424999 -0.054053999 1.056 +0.25624999 -0.054012999 1.0552 +0.26541001 -0.054095 1.0568 +0.26629999 -0.054053999 1.056 +-0.18695 -0.052322999 1.0433 +-0.18573 -0.052283999 1.0425 +-0.18450999 -0.052244999 1.0417 +-0.18316001 -0.052166998 1.0402 +-0.18194 -0.052127998 1.0394 +-0.18087 -0.052127998 1.0394 +-0.17979001 -0.052127998 1.0394 +-0.17871 -0.052127998 1.0394 +-0.17749999 -0.052088998 1.0386 +-0.17629001 -0.052049998 1.0378 +-0.17508 -0.052011002 1.0371 +-0.17400999 -0.052011002 1.0371 +-0.17306 -0.052049998 1.0378 +-0.17199001 -0.052049998 1.0378 +-0.17091 -0.052049998 1.0378 +-0.15176 -0.052127998 1.0394 +-0.14679 -0.051895 1.0348001 +-0.088371001 -0.052244999 1.0417 +-0.087421998 -0.052322999 1.0433 +-0.086405002 -0.052363001 1.0441 +-0.085386999 -0.052402001 1.0448999 +-0.082135998 -0.052402001 1.0448999 +-0.079968996 -0.052402001 1.0448999 +-0.078886002 -0.052402001 1.0448999 +-0.077802002 -0.052402001 1.0448999 +-0.076775998 -0.052441001 1.0457 +-0.075691998 -0.052441001 1.0457 +-0.074552 -0.052402001 1.0448999 +-0.049594 -0.052363001 1.0441 +-0.047499999 -0.052441001 1.0457 +-0.046381 -0.052402001 1.0448999 +-0.045263 -0.052363001 1.0441 +-0.044181 -0.052363001 1.0441 +-0.043065999 -0.052322999 1.0433 +-0.042015001 -0.052363001 1.0441 +-0.040933002 -0.052363001 1.0441 +-0.039820001 -0.052322999 1.0433 +-0.038766999 -0.052363001 1.0441 +-0.037684999 -0.052363001 1.0441 +-0.036602002 -0.052363001 1.0441 +-0.035519 -0.052363001 1.0441 +-0.034410998 -0.052322999 1.0433 +-0.033328999 -0.052322999 1.0433 +-0.032246999 -0.052322999 1.0433 +-0.031165 -0.052322999 1.0433 +-0.030106001 -0.052363001 1.0441 +-0.029022999 -0.052363001 1.0441 +-0.027941 -0.052363001 1.0441 +-0.026858 -0.052363001 1.0441 +-0.025775 -0.052363001 1.0441 +-0.024692999 -0.052363001 1.0441 +-0.02361 -0.052363001 1.0441 +-0.022527 -0.052363001 1.0441 +-0.0052124001 -0.052441001 1.0457 +-0.0019594 -0.052441001 1.0457 +0.0012935 -0.052441001 1.0457 +0.0023777999 -0.052441001 1.0457 +0.0034647 -0.052480999 1.0464 +0.0045532002 -0.052519999 1.0472 +0.0056306999 -0.052441001 1.0457 +0.0067199999 -0.052480999 1.0464 +0.0078051998 -0.052480999 1.0464 +0.0099678999 -0.052441001 1.0457 +0.011061 -0.052480999 1.0464 +0.014305 -0.052441001 1.0457 +0.015389 -0.052441001 1.0457 +0.016461 -0.052402001 1.0448999 +0.017545 -0.052402001 1.0448999 +0.018627999 -0.052402001 1.0448999 +0.019696999 -0.052363001 1.0441 +0.020780001 -0.052363001 1.0441 +0.021846 -0.052322999 1.0433 +0.022927999 -0.052322999 1.0433 +0.024010001 -0.052322999 1.0433 +0.025092 -0.052322999 1.0433 +0.026172999 -0.052322999 1.0433 +0.027255001 -0.052322999 1.0433 +0.028337 -0.052322999 1.0433 +0.029441001 -0.052363001 1.0441 +0.030524001 -0.052363001 1.0441 +0.031629998 -0.052402001 1.0448999 +0.032689001 -0.052363001 1.0441 +0.033822998 -0.052441001 1.0457 +0.034880999 -0.052402001 1.0448999 +0.035964001 -0.052402001 1.0448999 +0.037048001 -0.052402001 1.0448999 +0.03816 -0.052441001 1.0457 +0.039244 -0.052441001 1.0457 +0.040328 -0.052441001 1.0457 +0.041475002 -0.052519999 1.0472 +0.042529002 -0.052480999 1.0464 +0.043614 -0.052480999 1.0464 +0.044767 -0.052560002 1.048 +0.056720998 -0.052560002 1.048 +0.057764001 -0.052519999 1.0472 +0.058894999 -0.052560002 1.048 +0.059981 -0.052560002 1.048 +0.061021999 -0.052519999 1.0472 +0.062107999 -0.052519999 1.0472 +0.063193999 -0.052519999 1.0472 +0.064280003 -0.052519999 1.0472 +0.065366 -0.052519999 1.0472 +0.066402003 -0.052480999 1.0464 +0.067538001 -0.052519999 1.0472 +0.068623997 -0.052519999 1.0472 +0.069710001 -0.052519999 1.0472 +0.070795 -0.052519999 1.0472 +0.071935996 -0.052560002 1.048 +0.072967 -0.052519999 1.0472 +0.074109003 -0.052560002 1.048 +0.075139001 -0.052519999 1.0472 +0.076283 -0.052560002 1.048 +0.077368997 -0.052560002 1.048 +0.078455999 -0.052560002 1.048 +0.079543002 -0.052560002 1.048 +0.080629997 -0.052560002 1.048 +0.081716001 -0.052560002 1.048 +0.082803003 -0.052560002 1.048 +0.083889998 -0.052560002 1.048 +0.084977001 -0.052560002 1.048 +0.086062998 -0.052560002 1.048 +0.087085001 -0.052519999 1.0472 +0.089256003 -0.052519999 1.0472 +0.090342 -0.052519999 1.0472 +0.091427997 -0.052519999 1.0472 +0.092514001 -0.052519999 1.0472 +0.093599997 -0.052519999 1.0472 +0.094686002 -0.052519999 1.0472 +0.095700003 -0.052480999 1.0464 +0.096931003 -0.052560002 1.048 +0.098017998 -0.052560002 1.048 +0.099179 -0.0526 1.0488 +0.10034 -0.052639 1.0496 +0.10143 -0.052639 1.0496 +0.10695 -0.052678999 1.0504 +0.10812 -0.052719001 1.0512 +0.10921 -0.052719001 1.0512 +0.11039 -0.052758999 1.052 +0.11156 -0.052799001 1.0528001 +0.11274 -0.052839 1.0536 +0.11366 -0.052758999 1.052 +0.11484 -0.052799001 1.0528001 +0.11584 -0.052758999 1.052 +0.11676 -0.052678999 1.0504 +0.11794 -0.052719001 1.0512 +0.11894 -0.052678999 1.0504 +0.12002 -0.052678999 1.0504 +0.12111 -0.052678999 1.0504 +0.12211 -0.052639 1.0496 +0.1232 -0.052639 1.0496 +0.12419 -0.0526 1.0488 +0.12527999 -0.0526 1.0488 +0.12637 -0.0526 1.0488 +0.12736 -0.052560002 1.048 +0.12845001 -0.052560002 1.048 +0.12953 -0.052560002 1.048 +0.13062 -0.052560002 1.048 +0.13170999 -0.052560002 1.048 +0.13289 -0.0526 1.0488 +0.13388 -0.052560002 1.048 +0.13507 -0.0526 1.0488 +0.13616 -0.0526 1.0488 +0.13734999 -0.052639 1.0496 +0.13854 -0.052678999 1.0504 +0.13963 -0.052678999 1.0504 +0.14071999 -0.052678999 1.0504 +0.14181 -0.052678999 1.0504 +0.14301001 -0.052719001 1.0512 +0.14399 -0.052678999 1.0504 +0.14497 -0.052639 1.0496 +0.14617001 -0.052678999 1.0504 +0.14726 -0.052678999 1.0504 +0.14834 -0.052678999 1.0504 +0.15379 -0.052678999 1.0504 +0.15488 -0.052678999 1.0504 +0.15584999 -0.052639 1.0496 +0.15694 -0.052639 1.0496 +0.15803 -0.052639 1.0496 +0.15911999 -0.052639 1.0496 +0.1602 -0.052639 1.0496 +0.16141 -0.052678999 1.0504 +0.16237999 -0.052639 1.0496 +0.16347 -0.052639 1.0496 +0.16468 -0.052678999 1.0504 +0.16576999 -0.052678999 1.0504 +0.16686 -0.052678999 1.0504 +0.16769999 -0.0526 1.0488 +0.17993 -0.052678999 1.0504 +0.18102001 -0.052678999 1.0504 +0.18197 -0.052639 1.0496 +0.18306001 -0.052639 1.0496 +0.18429001 -0.052678999 1.0504 +0.18538 -0.052678999 1.0504 +0.18647 -0.052678999 1.0504 +0.18756001 -0.052678999 1.0504 +0.18878999 -0.052719001 1.0512 +0.18988 -0.052719001 1.0512 +0.20405 -0.052719001 1.0512 +0.2095 -0.052719001 1.0512 +0.21402 -0.052758999 1.052 +0.21511 -0.052758999 1.052 +0.21604 -0.052719001 1.0512 +0.21729 -0.052758999 1.052 +0.21822 -0.052719001 1.0512 +0.21947999 -0.052758999 1.052 +0.22073001 -0.052799001 1.0528001 +0.22199 -0.052839 1.0536 +0.22292 -0.052799001 1.0528001 +0.22418 -0.052839 1.0536 +0.22544 -0.052878998 1.0544 +0.22654 -0.052878998 1.0544 +0.22763 -0.052878998 1.0544 +0.22871999 -0.052878998 1.0544 +0.22982 -0.052878998 1.0544 +0.23091 -0.052878998 1.0544 +0.23199999 -0.052878998 1.0544 +0.23327 -0.052919 1.0552 +0.23454 -0.052958999 1.056 +0.23655 -0.052919 1.0552 +0.23765001 -0.052919 1.0552 +0.24002001 -0.052958999 1.056 +0.24111 -0.052958999 1.056 +0.24202999 -0.052919 1.0552 +0.24312 -0.052919 1.0552 +0.24421 -0.052919 1.0552 +-0.18639 -0.051088002 1.0402 +-0.18532 -0.051088002 1.0402 +-0.1841 -0.05105 1.0394 +-0.18288 -0.051011998 1.0386 +-0.18181001 -0.051011998 1.0386 +-0.18073 -0.051011998 1.0386 +-0.17964999 -0.051011998 1.0386 +-0.17844 -0.050972998 1.0378 +-0.17737 -0.050972998 1.0378 +-0.17615999 -0.050935 1.0371 +-0.17508 -0.050935 1.0371 +-0.17388 -0.050896998 1.0362999 +-0.17293 -0.050935 1.0371 +-0.17185999 -0.050935 1.0371 +-0.17078 -0.050935 1.0371 +-0.16971 -0.050935 1.0371 +-0.15176 -0.05105 1.0394 +-0.15069 -0.05105 1.0394 +-0.14939 -0.050972998 1.0378 +-0.14820001 -0.050935 1.0371 +-0.1469 -0.050859999 1.0355 +-0.14561 -0.050783999 1.034 +-0.089250997 -0.05105 1.0394 +-0.088304996 -0.051126 1.041 +-0.087357 -0.051203001 1.0425 +-0.086340003 -0.051240999 1.0433 +-0.085322 -0.051279999 1.0441 +-0.082074001 -0.051279999 1.0441 +-0.080931 -0.051240999 1.0433 +-0.079908997 -0.051279999 1.0441 +-0.077744 -0.051279999 1.0441 +-0.075635001 -0.051318001 1.0448999 +-0.074496001 -0.051279999 1.0441 +-0.073523998 -0.051357001 1.0457 +-0.072439 -0.051357001 1.0457 +-0.071194001 -0.051240999 1.0433 +-0.070165001 -0.051279999 1.0441 +-0.043033 -0.051203001 1.0425 +-0.041983999 -0.051240999 1.0433 +-0.040902 -0.051240999 1.0433 +-0.039820001 -0.051240999 1.0433 +-0.038738001 -0.051240999 1.0433 +-0.037656002 -0.051240999 1.0433 +-0.036575001 -0.051240999 1.0433 +-0.035493001 -0.051240999 1.0433 +-0.034384999 -0.051203001 1.0425 +-0.033303998 -0.051203001 1.0425 +-0.032223001 -0.051203001 1.0425 +-0.031142 -0.051203001 1.0425 +-0.030083001 -0.051240999 1.0433 +-0.029022999 -0.051279999 1.0441 +-0.02792 -0.051240999 1.0433 +-0.026858 -0.051279999 1.0441 +-0.025775 -0.051279999 1.0441 +-0.024692999 -0.051279999 1.0441 +-0.02361 -0.051279999 1.0441 +-0.022527 -0.051279999 1.0441 +-0.021429 -0.051240999 1.0433 +-0.019278999 -0.051279999 1.0441 +-0.013876 -0.051318001 1.0448999 +-0.012783 -0.051279999 1.0441 +-0.010634 -0.051357001 1.0457 +-0.0095352 -0.051279999 1.0441 +-0.0073810001 -0.051357001 1.0457 +-0.0062918998 -0.051318001 1.0448999 +-0.0052084001 -0.051318001 1.0448999 +-0.0041280999 -0.051357001 1.0457 +-0.0030437 -0.051357001 1.0457 +-0.001958 -0.051318001 1.0448999 +-0.00087448 -0.051318001 1.0448999 +0.00020916 -0.051357001 1.0457 +0.0045498 -0.051396001 1.0464 +0.0056265001 -0.051318001 1.0448999 +0.0067150001 -0.051357001 1.0457 +0.0077934 -0.051318001 1.0448999 +0.017532 -0.051279999 1.0441 +0.0186 -0.051240999 1.0433 +0.020748001 -0.051203001 1.0425 +0.023992 -0.051203001 1.0425 +0.025092 -0.051240999 1.0433 +0.026154 -0.051203001 1.0425 +0.027234999 -0.051203001 1.0425 +0.028337 -0.051240999 1.0433 +0.029441001 -0.051279999 1.0441 +0.030501001 -0.051240999 1.0433 +0.031606 -0.051279999 1.0441 +0.032689001 -0.051279999 1.0441 +0.033797 -0.051318001 1.0448999 +0.034880999 -0.051318001 1.0448999 +0.035964001 -0.051318001 1.0448999 +0.037075002 -0.051357001 1.0457 +0.03816 -0.051357001 1.0457 +0.039244 -0.051357001 1.0457 +0.040359002 -0.051396001 1.0464 +0.041475002 -0.051433999 1.0472 +0.042529002 -0.051396001 1.0464 +0.043614 -0.051396001 1.0464 +0.044767 -0.051472999 1.048 +0.045818999 -0.051433999 1.0472 +0.046939999 -0.051472999 1.048 +0.05342 -0.051433999 1.0472 +0.054506 -0.051433999 1.0472 +0.055592 -0.051433999 1.0472 +0.056678001 -0.051433999 1.0472 +0.057721 -0.051396001 1.0464 +0.058850002 -0.051433999 1.0472 +0.059981 -0.051472999 1.048 +0.060975999 -0.051396001 1.0464 +0.062107999 -0.051433999 1.0472 +0.063193999 -0.051433999 1.0472 +0.064231001 -0.051396001 1.0464 +0.065316997 -0.051396001 1.0464 +0.066402003 -0.051396001 1.0464 +0.067538001 -0.051433999 1.0472 +0.068623997 -0.051433999 1.0472 +0.069710001 -0.051433999 1.0472 +0.070795 -0.051433999 1.0472 +0.071881004 -0.051433999 1.0472 +0.072967 -0.051433999 1.0472 +0.074109003 -0.051472999 1.048 +0.075083002 -0.051396001 1.0464 +0.076224998 -0.051433999 1.0472 +0.077311002 -0.051433999 1.0472 +0.078396998 -0.051433999 1.0472 +0.079483002 -0.051433999 1.0472 +0.080568999 -0.051433999 1.0472 +0.081655003 -0.051433999 1.0472 +0.082741 -0.051433999 1.0472 +0.083826996 -0.051433999 1.0472 +0.084849 -0.051396001 1.0464 +0.085933998 -0.051396001 1.0464 +0.087018996 -0.051396001 1.0464 +0.088104002 -0.051396001 1.0464 +0.089189 -0.051396001 1.0464 +0.090273999 -0.051396001 1.0464 +0.091358997 -0.051396001 1.0464 +0.092445001 -0.051396001 1.0464 +0.093529999 -0.051396001 1.0464 +0.094544001 -0.051357001 1.0457 +0.095628001 -0.051357001 1.0457 +0.096858002 -0.051433999 1.0472 +0.097943999 -0.051433999 1.0472 +0.099105 -0.051472999 1.048 +0.10027 -0.051511999 1.0488 +0.10135 -0.051511999 1.0488 +0.10244 -0.051511999 1.0488 +0.1057 -0.051511999 1.0488 +0.10687 -0.051550999 1.0496 +0.10804 -0.051589999 1.0504 +0.10913 -0.051589999 1.0504 +0.1103 -0.051628999 1.0512 +0.11148 -0.051667999 1.052 +0.11257 -0.051667999 1.052 +0.11357 -0.051628999 1.0512 +0.11475 -0.051667999 1.052 +0.11576 -0.051628999 1.0512 +0.11667 -0.051550999 1.0496 +0.11785 -0.051589999 1.0504 +0.11885 -0.051550999 1.0496 +0.11993 -0.051550999 1.0496 +0.12102 -0.051550999 1.0496 +0.12202 -0.051511999 1.0488 +0.12311 -0.051511999 1.0488 +0.1241 -0.051472999 1.048 +0.12519 -0.051472999 1.048 +0.12627 -0.051472999 1.048 +0.12726 -0.051433999 1.0472 +0.12845001 -0.051472999 1.048 +0.12953 -0.051472999 1.048 +0.13062 -0.051472999 1.048 +0.13161001 -0.051433999 1.0472 +0.13279 -0.051472999 1.048 +0.13388 -0.051472999 1.048 +0.13496999 -0.051472999 1.048 +0.13605 -0.051472999 1.048 +0.13723999 -0.051511999 1.0488 +0.13844 -0.051550999 1.0496 +0.13952 -0.051550999 1.0496 +0.14060999 -0.051550999 1.0496 +0.1417 -0.051550999 1.0496 +0.1429 -0.051589999 1.0504 +0.14387999 -0.051550999 1.0496 +0.15476 -0.051550999 1.0496 +0.15572999 -0.051511999 1.0488 +0.15682 -0.051511999 1.0488 +0.15791 -0.051511999 1.0488 +0.15899999 -0.051511999 1.0488 +0.16008 -0.051511999 1.0488 +0.16129 -0.051550999 1.0496 +0.16226 -0.051511999 1.0488 +0.16335 -0.051511999 1.0488 +0.16456001 -0.051550999 1.0496 +0.16565 -0.051550999 1.0496 +0.16673 -0.051550999 1.0496 +0.16769999 -0.051511999 1.0488 +0.16891 -0.051550999 1.0496 +0.17857 -0.051511999 1.0488 +0.18291999 -0.051511999 1.0488 +0.18415 -0.051550999 1.0496 +0.18524 -0.051550999 1.0496 +0.18633001 -0.051550999 1.0496 +0.18741 -0.051550999 1.0496 +0.18865 -0.051589999 1.0504 +0.18973 -0.051589999 1.0504 +0.20296 -0.051628999 1.0512 +0.20389 -0.051589999 1.0504 +0.20607001 -0.051589999 1.0504 +0.20716 -0.051589999 1.0504 +0.20825 -0.051589999 1.0504 +0.20934001 -0.051589999 1.0504 +0.21059 -0.051628999 1.0512 +0.21152 -0.051589999 1.0504 +0.21261001 -0.051589999 1.0504 +0.21386001 -0.051628999 1.0512 +0.21479 -0.051589999 1.0504 +0.21588001 -0.051589999 1.0504 +0.21713001 -0.051628999 1.0512 +0.21822 -0.051628999 1.0512 +0.21931 -0.051628999 1.0512 +0.22057 -0.051667999 1.052 +0.22166 -0.051667999 1.052 +0.22274999 -0.051667999 1.052 +0.22384 -0.051667999 1.052 +0.2251 -0.051707 1.0528001 +0.22635999 -0.051746 1.0536 +0.22855 -0.051746 1.0536 +0.23183 -0.051746 1.0536 +0.23292001 -0.051746 1.0536 +0.23419 -0.051786002 1.0544 +-0.18517999 -0.049972001 1.0394 +-0.18381999 -0.049897 1.0378 +-0.18261001 -0.049860001 1.0371 +-0.18154 -0.049860001 1.0371 +-0.1806 -0.049897 1.0378 +-0.17938 -0.049860001 1.0371 +-0.17831001 -0.049860001 1.0371 +-0.17723 -0.049860001 1.0371 +-0.17615999 -0.049860001 1.0371 +-0.17495 -0.049823001 1.0362999 +-0.17388 -0.049823001 1.0362999 +-0.17293 -0.049860001 1.0371 +-0.17173 -0.049823001 1.0362999 +-0.17065001 -0.049823001 1.0362999 +-0.16958 -0.049823001 1.0362999 +-0.16851 -0.049823001 1.0362999 +-0.16756 -0.049860001 1.0371 +-0.15165 -0.049934998 1.0386 +-0.15057001 -0.049934998 1.0386 +-0.14927 -0.049860001 1.0371 +-0.14820001 -0.049860001 1.0371 +-0.1469 -0.049786001 1.0355 +-0.14572001 -0.049749002 1.0348001 +-0.14465 -0.049749002 1.0348001 +-0.14358 -0.049749002 1.0348001 +-0.1425 -0.049749002 1.0348001 +-0.14111 -0.049637999 1.0325 +-0.10226 -0.050009001 1.0402 +-0.10111 -0.049972001 1.0394 +-0.097873002 -0.049972001 1.0394 +-0.096795999 -0.049972001 1.0394 +-0.095717996 -0.049972001 1.0394 +-0.094710998 -0.050009001 1.0402 +-0.093561999 -0.049972001 1.0394 +-0.092552997 -0.050009001 1.0402 +-0.089250997 -0.049972001 1.0394 +-0.088238999 -0.050009001 1.0402 +-0.087226003 -0.050046999 1.041 +-0.086211003 -0.050083999 1.0417 +-0.085193999 -0.050122 1.0425 +-0.080870003 -0.050122 1.0425 +-0.079848997 -0.050159 1.0433 +-0.078708 -0.050122 1.0425 +-0.077684999 -0.050159 1.0433 +-0.076603003 -0.050159 1.0433 +-0.075521998 -0.050159 1.0433 +-0.074440002 -0.050159 1.0433 +-0.073413 -0.050197002 1.0441 +-0.072329998 -0.050197002 1.0441 +-0.071140997 -0.050122 1.0425 +-0.07006 -0.050122 1.0425 +-0.068979003 -0.050122 1.0425 +-0.067846999 -0.050083999 1.0417 +-0.066766001 -0.050083999 1.0417 +-0.065686002 -0.050083999 1.0417 +-0.041921001 -0.050083999 1.0417 +-0.040871002 -0.050122 1.0425 +-0.039790001 -0.050122 1.0425 +-0.038709 -0.050122 1.0425 +-0.037627999 -0.050122 1.0425 +-0.036547001 -0.050122 1.0425 +-0.035466 -0.050122 1.0425 +-0.034359001 -0.050083999 1.0417 +-0.033279002 -0.050083999 1.0417 +-0.032198999 -0.050083999 1.0417 +-0.031119 -0.050083999 1.0417 +-0.030060999 -0.050122 1.0425 +-0.029002 -0.050159 1.0433 +-0.02792 -0.050159 1.0433 +-0.026858 -0.050197002 1.0441 +-0.025775 -0.050197002 1.0441 +-0.024692999 -0.050197002 1.0441 +-0.02361 -0.050197002 1.0441 +-0.022527 -0.050197002 1.0441 +-0.021445001 -0.050197002 1.0441 +-0.020346999 -0.050159 1.0433 +-0.019278999 -0.050197002 1.0441 +-0.018197 -0.050197002 1.0441 +-0.017114 -0.050197002 1.0441 +-0.016031001 -0.050197002 1.0441 +-0.014949 -0.050197002 1.0441 +-0.013866 -0.050197002 1.0441 +-0.012783 -0.050197002 1.0441 +-0.011692 -0.050159 1.0433 +-0.010626 -0.050235 1.0448999 +-0.0095352 -0.050197002 1.0441 +-0.0084525002 -0.050197002 1.0441 +-0.0073754 -0.050235 1.0448999 +-0.0062871999 -0.050197002 1.0441 +-0.0052045002 -0.050197002 1.0441 +-0.0041248999 -0.050235 1.0448999 +-0.0030415 -0.050235 1.0448999 +-0.0019565001 -0.050197002 1.0441 +-0.00087381998 -0.050197002 1.0441 +0.0067048999 -0.050197002 1.0441 +0.0077817002 -0.050159 1.0433 +0.023974 -0.050083999 1.0417 +0.025072999 -0.050122 1.0425 +0.026154 -0.050122 1.0425 +0.027234999 -0.050122 1.0425 +0.028337 -0.050159 1.0433 +0.029418999 -0.050159 1.0433 +0.030501001 -0.050159 1.0433 +0.031606 -0.050197002 1.0441 +0.032689001 -0.050197002 1.0441 +0.033797 -0.050235 1.0448999 +0.034880999 -0.050235 1.0448999 +0.035964001 -0.050235 1.0448999 +0.037075002 -0.050273001 1.0457 +0.03816 -0.050273001 1.0457 +0.039214998 -0.050235 1.0448999 +0.040328 -0.050273001 1.0457 +0.041444 -0.050310999 1.0464 +0.042529002 -0.050310999 1.0464 +0.043614 -0.050310999 1.0464 +0.044732999 -0.050347999 1.0472 +0.045818999 -0.050347999 1.0472 +0.046939999 -0.050386 1.048 +0.047991 -0.050347999 1.0472 +0.050124999 -0.050310999 1.0464 +0.052335002 -0.050347999 1.0472 +0.053380001 -0.050310999 1.0464 +0.054465 -0.050310999 1.0464 +0.055592 -0.050347999 1.0472 +0.056678001 -0.050347999 1.0472 +0.057677001 -0.050273001 1.0457 +0.058850002 -0.050347999 1.0472 +0.059935998 -0.050347999 1.0472 +0.060975999 -0.050310999 1.0464 +0.062061001 -0.050310999 1.0464 +0.063146003 -0.050310999 1.0464 +0.064182997 -0.050273001 1.0457 +0.065316997 -0.050310999 1.0464 +0.066352002 -0.050273001 1.0457 +0.067487001 -0.050310999 1.0464 +0.068572 -0.050310999 1.0464 +0.069656998 -0.050310999 1.0464 +0.070742004 -0.050310999 1.0464 +0.071881004 -0.050347999 1.0472 +0.072967 -0.050347999 1.0472 +0.074052997 -0.050347999 1.0472 +0.075025998 -0.050273001 1.0457 +0.076168001 -0.050310999 1.0464 +0.077252999 -0.050310999 1.0464 +0.078337997 -0.050310999 1.0464 +0.079423003 -0.050310999 1.0464 +0.080508001 -0.050310999 1.0464 +0.081592999 -0.050310999 1.0464 +0.082677998 -0.050310999 1.0464 +0.083764002 -0.050310999 1.0464 +0.084849 -0.050310999 1.0464 +0.085933998 -0.050310999 1.0464 +0.086952999 -0.050273001 1.0457 +0.088037997 -0.050273001 1.0457 +0.089121997 -0.050273001 1.0457 +0.090205997 -0.050273001 1.0457 +0.091291003 -0.050273001 1.0457 +0.092375003 -0.050273001 1.0457 +0.093459003 -0.050273001 1.0457 +0.094544001 -0.050273001 1.0457 +0.095628001 -0.050273001 1.0457 +0.096785001 -0.050310999 1.0464 +0.09787 -0.050310999 1.0464 +0.099030003 -0.050347999 1.0472 +0.10019 -0.050386 1.048 +0.10128 -0.050386 1.048 +0.10563 -0.050386 1.048 +0.10905 -0.050462998 1.0496 +0.11022 -0.050501 1.0504 +0.11139 -0.050539002 1.0512 +0.11248 -0.050539002 1.0512 +0.11458 -0.050501 1.0504 +0.11567 -0.050501 1.0504 +0.11658 -0.050423998 1.0488 +0.11776 -0.050462998 1.0496 +0.11876 -0.050423998 1.0488 +0.11984 -0.050423998 1.0488 +0.12093 -0.050423998 1.0488 +0.12193 -0.050386 1.048 +0.12301 -0.050386 1.048 +0.1241 -0.050386 1.048 +0.12509 -0.050347999 1.0472 +0.12627 -0.050386 1.048 +0.12726 -0.050347999 1.0472 +0.12835 -0.050347999 1.0472 +0.12943999 -0.050347999 1.0472 +0.13052 -0.050347999 1.0472 +0.13161001 -0.050347999 1.0472 +0.13279 -0.050386 1.048 +0.13378 -0.050347999 1.0472 +0.13496999 -0.050386 1.048 +0.13605 -0.050386 1.048 +0.13714001 -0.050386 1.048 +0.13833 -0.050423998 1.0488 +0.13942 -0.050423998 1.0488 +0.15779001 -0.050386 1.048 +0.15888 -0.050386 1.048 +0.15996 -0.050386 1.048 +0.16117001 -0.050423998 1.0488 +0.16214 -0.050386 1.048 +0.16322 -0.050386 1.048 +0.16443001 -0.050423998 1.0488 +0.16552 -0.050423998 1.0488 +0.16661 -0.050423998 1.0488 +0.18075 -0.050423998 1.0488 +0.18184 -0.050423998 1.0488 +0.18278 -0.050386 1.048 +0.18401 -0.050423998 1.0488 +0.1851 -0.050423998 1.0488 +0.18741 -0.050462998 1.0496 +0.1885 -0.050462998 1.0496 +0.20374 -0.050462998 1.0496 +0.20483001 -0.050462998 1.0496 +0.20592 -0.050462998 1.0496 +0.20701 -0.050462998 1.0496 +0.20809001 -0.050462998 1.0496 +0.20918 -0.050462998 1.0496 +0.21135999 -0.050462998 1.0496 +0.21261001 -0.050501 1.0504 +0.2137 -0.050501 1.0504 +0.21461999 -0.050462998 1.0496 +0.21571 -0.050462998 1.0496 +0.21697 -0.050501 1.0504 +0.21805 -0.050501 1.0504 +0.21913999 -0.050501 1.0504 +0.22023 -0.050501 1.0504 +0.22149 -0.050539002 1.0512 +0.22240999 -0.050501 1.0504 +0.2235 -0.050501 1.0504 +0.22476 -0.050539002 1.0512 +0.22694001 -0.050539002 1.0512 +-0.18369 -0.048785001 1.0371 +-0.18246999 -0.048748001 1.0362999 +-0.1814 -0.048748001 1.0362999 +-0.18046001 -0.048785001 1.0371 +-0.17925 -0.048748001 1.0362999 +-0.17817999 -0.048748001 1.0362999 +-0.1771 -0.048748001 1.0362999 +-0.17603 -0.048748001 1.0362999 +-0.17495 -0.048748001 1.0362999 +-0.17375 -0.048712 1.0355 +-0.1728 -0.048748001 1.0362999 +-0.1716 -0.048712 1.0355 +-0.17065001 -0.048748001 1.0362999 +-0.16945 -0.048712 1.0355 +-0.16838001 -0.048712 1.0355 +-0.16743 -0.048748001 1.0362999 +-0.15261 -0.048820999 1.0378 +-0.15154 -0.048820999 1.0378 +-0.15046 -0.048820999 1.0378 +-0.14927 -0.048785001 1.0371 +-0.14820001 -0.048785001 1.0371 +-0.1469 -0.048712 1.0355 +-0.14572001 -0.048675999 1.0348001 +-0.14465 -0.048675999 1.0348001 +-0.14358 -0.048675999 1.0348001 +-0.1425 -0.048675999 1.0348001 +-0.14122 -0.048602998 1.0332 +-0.14025 -0.048638999 1.034 +-0.13908 -0.048602998 1.0332 +-0.13704 -0.048638999 1.034 +-0.10741 -0.048820999 1.0378 +-0.10634 -0.048820999 1.0378 +-0.10426 -0.048858002 1.0386 +-0.10218 -0.048893999 1.0394 +-0.10103 -0.048858002 1.0386 +-0.099880002 -0.048820999 1.0378 +-0.098950997 -0.048893999 1.0394 +-0.097800002 -0.048858002 1.0386 +-0.096722998 -0.048858002 1.0386 +-0.095646001 -0.048858002 1.0386 +-0.094640002 -0.048893999 1.0394 +-0.093492001 -0.048858002 1.0386 +-0.092414998 -0.048858002 1.0386 +-0.091338001 -0.048858002 1.0386 +-0.090328999 -0.048893999 1.0394 +-0.089184001 -0.048858002 1.0386 +-0.088106997 -0.048858002 1.0386 +-0.087095 -0.048893999 1.0394 +-0.086081997 -0.048930999 1.0402 +-0.085003003 -0.048930999 1.0402 +-0.08405 -0.049004 1.0417 +-0.078648999 -0.049004 1.0417 +-0.077627003 -0.049040999 1.0425 +-0.076545998 -0.049040999 1.0425 +-0.075465001 -0.049040999 1.0425 +-0.074383996 -0.049040999 1.0425 +-0.073357999 -0.049077999 1.0433 +-0.072276004 -0.049077999 1.0433 +-0.071087003 -0.049004 1.0417 +-0.070006996 -0.049004 1.0417 +-0.068926997 -0.049004 1.0417 +-0.067795999 -0.048967 1.041 +-0.066716 -0.048967 1.041 +-0.065587997 -0.048930999 1.0402 +-0.064508997 -0.048930999 1.0402 +-0.063382998 -0.048893999 1.0394 +-0.040840998 -0.049004 1.0417 +-0.039760001 -0.049004 1.0417 +-0.038679998 -0.049004 1.0417 +-0.037599999 -0.049004 1.0417 +-0.036520001 -0.049004 1.0417 +-0.035440002 -0.049004 1.0417 +-0.034334 -0.048967 1.041 +-0.033254001 -0.048967 1.041 +-0.032175001 -0.048967 1.041 +-0.031095 -0.048967 1.041 +-0.030037999 -0.049004 1.0417 +-0.029002 -0.049077999 1.0433 +-0.027899001 -0.049040999 1.0425 +-0.026838001 -0.049077999 1.0433 +-0.025775 -0.049114998 1.0441 +-0.024692999 -0.049114998 1.0441 +-0.02361 -0.049114998 1.0441 +-0.022527 -0.049114998 1.0441 +-0.021445001 -0.049114998 1.0441 +-0.020346999 -0.049077999 1.0433 +-0.019278999 -0.049114998 1.0441 +-0.018197 -0.049114998 1.0441 +-0.017114 -0.049114998 1.0441 +-0.016019 -0.049077999 1.0433 +-0.014949 -0.049114998 1.0441 +-0.013866 -0.049114998 1.0441 +-0.012774 -0.049077999 1.0433 +-0.011692 -0.049077999 1.0433 +-0.010626 -0.049151 1.0448999 +-0.0095280996 -0.049077999 1.0433 +-0.0084461998 -0.049077999 1.0433 +-0.0073699001 -0.049114998 1.0441 +-0.0062825 -0.049077999 1.0433 +-0.0052005998 -0.049077999 1.0433 +-0.0041218 -0.049114998 1.0441 +-0.0030369 -0.049077999 1.0433 +-0.001955 -0.049077999 1.0433 +-0.00087316998 -0.049077999 1.0433 +0.00020885 -0.049114998 1.0441 +0.0012906 -0.049077999 1.0433 +0.0023705999 -0.049040999 1.0425 +0.0034543001 -0.049077999 1.0433 +0.0056095999 -0.049004 1.0417 +0.0088437004 -0.048967 1.041 +0.020686001 -0.048893999 1.0394 +0.022859 -0.048930999 1.0402 +0.023938 -0.048930999 1.0402 +0.025034999 -0.048967 1.041 +0.026133999 -0.049004 1.0417 +0.027214 -0.049004 1.0417 +0.028316 -0.049040999 1.0425 +0.029418999 -0.049077999 1.0433 +0.030501001 -0.049077999 1.0433 +0.031606 -0.049114998 1.0441 +0.032664999 -0.049077999 1.0433 +0.033797 -0.049151 1.0448999 +0.034853999 -0.049114998 1.0441 +0.035937 -0.049114998 1.0441 +0.037048001 -0.049151 1.0448999 +0.03816 -0.049187999 1.0457 +0.039214998 -0.049151 1.0448999 +0.040328 -0.049187999 1.0457 +0.041444 -0.049224999 1.0464 +0.042529002 -0.049224999 1.0464 +0.043581001 -0.049187999 1.0457 +0.044698998 -0.049224999 1.0464 +0.045784 -0.049224999 1.0464 +0.046905 -0.049263 1.0472 +0.047991 -0.049263 1.0472 +0.049077 -0.049263 1.0472 +0.050124999 -0.049224999 1.0464 +0.055550002 -0.049224999 1.0464 +0.056635998 -0.049224999 1.0464 +0.057677001 -0.049187999 1.0457 +0.058805998 -0.049224999 1.0464 +0.059891 -0.049224999 1.0464 +0.060929999 -0.049187999 1.0457 +0.062013999 -0.049187999 1.0457 +0.063098997 -0.049187999 1.0457 +0.064182997 -0.049187999 1.0457 +0.065266997 -0.049187999 1.0457 +0.066302001 -0.049151 1.0448999 +0.067487001 -0.049224999 1.0464 +0.068572 -0.049224999 1.0464 +0.069656998 -0.049224999 1.0464 +0.070742004 -0.049224999 1.0464 +0.071827002 -0.049224999 1.0464 +0.072912 -0.049224999 1.0464 +0.073997997 -0.049224999 1.0464 +0.075025998 -0.049187999 1.0457 +0.076109998 -0.049187999 1.0457 +0.077252999 -0.049224999 1.0464 +0.078279004 -0.049187999 1.0457 +0.079363003 -0.049187999 1.0457 +0.080508001 -0.049224999 1.0464 +0.081532001 -0.049187999 1.0457 +0.082677998 -0.049224999 1.0464 +0.083701 -0.049187999 1.0457 +0.084784999 -0.049187999 1.0457 +0.085868999 -0.049187999 1.0457 +0.086888 -0.049151 1.0448999 +0.088037997 -0.049187999 1.0457 +0.089055002 -0.049151 1.0448999 +0.090139002 -0.049151 1.0448999 +0.091291003 -0.049187999 1.0457 +0.092375003 -0.049187999 1.0457 +0.093388997 -0.049151 1.0448999 +0.094472997 -0.049151 1.0448999 +0.095555998 -0.049151 1.0448999 +0.096712001 -0.049187999 1.0457 +0.097796999 -0.049187999 1.0457 +0.098954998 -0.049224999 1.0464 +0.10004 -0.049224999 1.0464 +0.1012 -0.049263 1.0472 +0.10555 -0.049263 1.0472 +0.10889 -0.0493 1.048 +0.11006 -0.049337 1.0488 +0.11131 -0.049410999 1.0504 +0.11449 -0.049373999 1.0496 +0.11558 -0.049373999 1.0496 +0.11649 -0.0493 1.048 +0.11767 -0.049337 1.0488 +0.11867 -0.0493 1.048 +0.11984 -0.049337 1.0488 +0.12084 -0.0493 1.048 +0.12193 -0.0493 1.048 +0.12292 -0.049263 1.0472 +0.12401 -0.049263 1.0472 +0.12509 -0.049263 1.0472 +0.12617999 -0.049263 1.0472 +0.12717 -0.049224999 1.0464 +0.12825 -0.049224999 1.0464 +0.12933999 -0.049224999 1.0464 +0.13042 -0.049224999 1.0464 +0.13151 -0.049224999 1.0464 +0.13269 -0.049263 1.0472 +0.13368 -0.049224999 1.0464 +0.13476001 -0.049224999 1.0464 +0.13595 -0.049263 1.0472 +0.18605 -0.0493 1.048 +0.18727 -0.049337 1.0488 +0.18836001 -0.049337 1.0488 +0.18945 -0.049337 1.0488 +0.20359001 -0.049337 1.0488 +0.20592 -0.049373999 1.0496 +0.20685001 -0.049337 1.0488 +0.20918 -0.049373999 1.0496 +0.21027 -0.049373999 1.0496 +0.21245 -0.049373999 1.0496 +0.21354 -0.049373999 1.0496 +0.21461999 -0.049373999 1.0496 +0.21555001 -0.049337 1.0488 +0.2168 -0.049373999 1.0496 +0.21788999 -0.049373999 1.0496 +0.21898 -0.049373999 1.0496 +0.22023 -0.049410999 1.0504 +0.22132 -0.049410999 1.0504 +0.22677 -0.049410999 1.0504 +-0.18234 -0.047637999 1.0355 +-0.18127 -0.047637999 1.0355 +-0.18032999 -0.047674 1.0362999 +-0.17925 -0.047674 1.0362999 +-0.17804 -0.047637999 1.0355 +-0.17697001 -0.047637999 1.0355 +-0.1759 -0.047637999 1.0355 +-0.17482001 -0.047637999 1.0355 +-0.17375 -0.047637999 1.0355 +-0.17267001 -0.047637999 1.0355 +-0.1716 -0.047637999 1.0355 +-0.17053001 -0.047637999 1.0355 +-0.16933 -0.047603 1.0348001 +-0.16824999 -0.047603 1.0348001 +-0.16731 -0.047637999 1.0355 +-0.15358 -0.047708999 1.0371 +-0.15239 -0.047674 1.0362999 +-0.15142 -0.047708999 1.0371 +-0.15024 -0.047674 1.0362999 +-0.14916 -0.047674 1.0362999 +-0.14809 -0.047674 1.0362999 +-0.1469 -0.047637999 1.0355 +-0.14561 -0.047566999 1.034 +-0.14465 -0.047603 1.0348001 +-0.14358 -0.047603 1.0348001 +-0.1425 -0.047603 1.0348001 +-0.14122 -0.047532 1.0332 +-0.14036 -0.047603 1.0348001 +-0.13918 -0.047566999 1.034 +-0.13789999 -0.047497001 1.0325 +-0.13704 -0.047566999 1.034 +-0.13586 -0.047532 1.0332 +-0.13177 -0.047603 1.0348001 +-0.10733 -0.047708999 1.0371 +-0.10626 -0.047708999 1.0371 +-0.10526 -0.047745001 1.0378 +-0.10418 -0.047745001 1.0378 +-0.10311 -0.047745001 1.0378 +-0.10211 -0.047781002 1.0386 +-0.10096 -0.047745001 1.0378 +-0.099804997 -0.047708999 1.0371 +-0.098876998 -0.047781002 1.0386 +-0.097727001 -0.047745001 1.0378 +-0.096651003 -0.047745001 1.0378 +-0.095574997 -0.047745001 1.0378 +-0.094568998 -0.047781002 1.0386 +-0.093422003 -0.047745001 1.0378 +-0.092345998 -0.047745001 1.0378 +-0.091201998 -0.047708999 1.0371 +-0.090194002 -0.047745001 1.0378 +-0.089117996 -0.047745001 1.0378 +-0.088041 -0.047745001 1.0378 +-0.087030001 -0.047781002 1.0386 +-0.085952997 -0.047781002 1.0386 +-0.084940001 -0.047816001 1.0394 +-0.083925001 -0.047851998 1.0402 +-0.082846001 -0.047851998 1.0402 +-0.081828997 -0.047888 1.041 +-0.080810003 -0.047924001 1.0417 +-0.079728998 -0.047924001 1.0417 +-0.078648999 -0.047924001 1.0417 +-0.077569 -0.047924001 1.0417 +-0.076545998 -0.047959998 1.0425 +-0.075465001 -0.047959998 1.0425 +-0.074327998 -0.047924001 1.0417 +-0.073357999 -0.047995999 1.0433 +-0.072276004 -0.047995999 1.0433 +-0.071087003 -0.047924001 1.0417 +-0.070006996 -0.047924001 1.0417 +-0.068926997 -0.047924001 1.0417 +-0.067795999 -0.047888 1.041 +-0.066666998 -0.047851998 1.0402 +-0.065539002 -0.047816001 1.0394 +-0.064461 -0.047816001 1.0394 +-0.063336 -0.047781002 1.0386 +-0.062212002 -0.047745001 1.0378 +-0.04078 -0.047851998 1.0402 +-0.039731 -0.047888 1.041 +-0.038651001 -0.047888 1.041 +-0.037599999 -0.047924001 1.0417 +-0.036492001 -0.047888 1.041 +-0.035413001 -0.047888 1.041 +-0.034308001 -0.047851998 1.0402 +-0.033204 -0.047816001 1.0394 +-0.031072 -0.047851998 1.0402 +-0.030015999 -0.047888 1.041 +-0.02898 -0.047959998 1.0425 +-0.027899001 -0.047959998 1.0425 +-0.026838001 -0.047995999 1.0433 +-0.025775 -0.048032001 1.0441 +-0.024674 -0.047995999 1.0433 +-0.023592001 -0.047995999 1.0433 +-0.022527 -0.048032001 1.0441 +-0.021429 -0.047995999 1.0433 +-0.020346999 -0.047995999 1.0433 +-0.019265 -0.047995999 1.0433 +-0.018183 -0.047995999 1.0433 +-0.017114 -0.048032001 1.0441 +-0.016019 -0.047995999 1.0433 +-0.014937 -0.047995999 1.0433 +-0.013856 -0.047995999 1.0433 +-0.012774 -0.047995999 1.0433 +-0.011683 -0.047959998 1.0425 +-0.010618 -0.048032001 1.0441 +-0.0095209004 -0.047959998 1.0425 +-0.0084399004 -0.047959998 1.0425 +-0.0062778001 -0.047959998 1.0425 +-0.0041188002 -0.047995999 1.0433 +0.00020869001 -0.047995999 1.0433 +0.0012896 -0.047959998 1.0425 +0.0045361002 -0.047995999 1.0433 +0.0056054001 -0.047888 1.041 +0.0066897999 -0.047924001 1.0417 +0.0077701001 -0.047924001 1.0417 +0.0088369995 -0.047851998 1.0402 +0.010994 -0.047851998 1.0402 +0.018545 -0.047851998 1.0402 +0.019609001 -0.047816001 1.0394 +0.020671001 -0.047781002 1.0386 +0.022825001 -0.047781002 1.0386 +0.02392 -0.047816001 1.0394 +0.025016 -0.047851998 1.0402 +0.026094999 -0.047851998 1.0402 +0.027194001 -0.047888 1.041 +0.028294999 -0.047924001 1.0417 +0.029397 -0.047959998 1.0425 +0.030478001 -0.047959998 1.0425 +0.031583 -0.047995999 1.0433 +0.032664999 -0.047995999 1.0433 +0.033771999 -0.048032001 1.0441 +0.034853999 -0.048032001 1.0441 +0.035937 -0.048032001 1.0441 +0.037048001 -0.048067998 1.0448999 +0.038130999 -0.048067998 1.0448999 +0.039184999 -0.048032001 1.0441 +0.040298 -0.048067998 1.0448999 +0.041413002 -0.048103999 1.0457 +0.042497002 -0.048103999 1.0457 +0.043581001 -0.048103999 1.0457 +0.044698998 -0.048140001 1.0464 +0.04575 -0.048103999 1.0457 +0.046870001 -0.048140001 1.0464 +0.047954999 -0.048140001 1.0464 +0.049003001 -0.048103999 1.0457 +0.056593001 -0.048103999 1.0457 +0.058761999 -0.048103999 1.0457 +0.059845999 -0.048103999 1.0457 +0.060883999 -0.048067998 1.0448999 +0.061967999 -0.048067998 1.0448999 +0.063051 -0.048067998 1.0448999 +0.064087003 -0.048032001 1.0441 +0.065168999 -0.048032001 1.0441 +0.066252001 -0.048032001 1.0441 +0.067436002 -0.048103999 1.0457 +0.068520002 -0.048103999 1.0457 +0.069605 -0.048103999 1.0457 +0.070689 -0.048103999 1.0457 +0.071827002 -0.048140001 1.0464 +0.072857998 -0.048103999 1.0457 +0.073997997 -0.048140001 1.0464 +0.074969999 -0.048067998 1.0448999 +0.076053001 -0.048067998 1.0448999 +0.077195004 -0.048103999 1.0457 +0.078220002 -0.048067998 1.0448999 +0.079304002 -0.048067998 1.0448999 +0.080448002 -0.048103999 1.0457 +0.081532001 -0.048103999 1.0457 +0.082616001 -0.048103999 1.0457 +0.083637998 -0.048067998 1.0448999 +0.084720999 -0.048067998 1.0448999 +0.085804999 -0.048067998 1.0448999 +0.086823002 -0.048032001 1.0441 +0.087972 -0.048067998 1.0448999 +0.089055002 -0.048067998 1.0448999 +0.090139002 -0.048067998 1.0448999 +0.091222003 -0.048067998 1.0448999 +0.092306003 -0.048067998 1.0448999 +0.093388997 -0.048067998 1.0448999 +0.094402 -0.048032001 1.0441 +0.095484003 -0.048032001 1.0441 +0.096639 -0.048067998 1.0448999 +0.097796999 -0.048103999 1.0457 +0.098880999 -0.048103999 1.0457 +0.099964999 -0.048103999 1.0457 +0.1088 -0.048177 1.0472 +0.10997 -0.048213001 1.048 +0.11558 -0.048285998 1.0496 +0.11758 -0.048213001 1.048 +0.11867 -0.048213001 1.048 +0.11975 -0.048213001 1.048 +0.12075 -0.048177 1.0472 +0.12183 -0.048177 1.0472 +0.12292 -0.048177 1.0472 +0.12391 -0.048140001 1.0464 +0.125 -0.048140001 1.0464 +0.12608001 -0.048140001 1.0464 +0.12706999 -0.048103999 1.0457 +0.12816 -0.048103999 1.0457 +0.12924001 -0.048103999 1.0457 +0.20902 -0.048248999 1.0488 +0.21337 -0.048248999 1.0488 +0.21446 -0.048248999 1.0488 +0.21664 -0.048248999 1.0488 +0.21773 -0.048248999 1.0488 +0.21881001 -0.048248999 1.0488 +0.22007 -0.048285998 1.0496 +-0.18113001 -0.046530001 1.0348001 +-0.18019 -0.046564002 1.0355 +-0.17912 -0.046564002 1.0355 +-0.17791 -0.046530001 1.0348001 +-0.17684001 -0.046530001 1.0348001 +-0.17577 -0.046530001 1.0348001 +-0.17468999 -0.046530001 1.0348001 +-0.17362 -0.046530001 1.0348001 +-0.17254999 -0.046530001 1.0348001 +-0.17147 -0.046530001 1.0348001 +-0.17039999 -0.046530001 1.0348001 +-0.1692 -0.046495002 1.034 +-0.16813 -0.046495002 1.034 +-0.16706 -0.046495002 1.034 +-0.16610999 -0.046530001 1.0348001 +-0.16491 -0.046495002 1.034 +-0.16384 -0.046495002 1.034 +-0.15645 -0.046530001 1.0348001 +-0.15549 -0.046564002 1.0355 +-0.15442 -0.046564002 1.0355 +-0.15335 -0.046564002 1.0355 +-0.15227 -0.046564002 1.0355 +-0.15131 -0.046599001 1.0362999 +-0.15012001 -0.046564002 1.0355 +-0.14905 -0.046564002 1.0355 +-0.14798 -0.046564002 1.0355 +-0.14679 -0.046530001 1.0348001 +-0.14561 -0.046495002 1.034 +-0.14454 -0.046495002 1.034 +-0.14358 -0.046530001 1.0348001 +-0.1424 -0.046495002 1.034 +-0.14122 -0.046459999 1.0332 +-0.14036 -0.046530001 1.0348001 +-0.13918 -0.046495002 1.034 +-0.13789999 -0.046425998 1.0325 +-0.13704 -0.046495002 1.034 +-0.13586 -0.046459999 1.0332 +-0.10733 -0.046634 1.0371 +-0.10518 -0.046634 1.0371 +-0.10411 -0.046634 1.0371 +-0.10303 -0.046634 1.0371 +-0.10203 -0.046668999 1.0378 +-0.10088 -0.046634 1.0371 +-0.099730998 -0.046599001 1.0362999 +-0.098802999 -0.046668999 1.0378 +-0.097654 -0.046634 1.0371 +-0.096579 -0.046634 1.0371 +-0.095503002 -0.046634 1.0371 +-0.094498999 -0.046668999 1.0378 +-0.093353003 -0.046634 1.0371 +-0.092276998 -0.046634 1.0371 +-0.091201998 -0.046634 1.0371 +-0.090126 -0.046634 1.0371 +-0.089051001 -0.046634 1.0371 +-0.087976001 -0.046634 1.0371 +-0.086965002 -0.046668999 1.0378 +-0.085888997 -0.046668999 1.0378 +-0.084876001 -0.046704002 1.0386 +-0.083861999 -0.046737999 1.0394 +-0.082783997 -0.046737999 1.0394 +-0.081767 -0.046773002 1.0402 +-0.080688998 -0.046773002 1.0402 +-0.079669997 -0.046808001 1.041 +-0.078589998 -0.046808001 1.041 +-0.077510998 -0.046808001 1.041 +-0.076489002 -0.046844002 1.0417 +-0.075407997 -0.046844002 1.0417 +-0.074327998 -0.046844002 1.0417 +-0.073302999 -0.046879001 1.0425 +-0.072276004 -0.046914 1.0433 +-0.071087003 -0.046844002 1.0417 +-0.069954999 -0.046808001 1.041 +-0.068926997 -0.046844002 1.0417 +-0.067795999 -0.046808001 1.041 +-0.066616997 -0.046737999 1.0394 +-0.06549 -0.046704002 1.0386 +-0.064413004 -0.046704002 1.0386 +-0.063289002 -0.046668999 1.0378 +-0.062166002 -0.046634 1.0371 +-0.061090998 -0.046634 1.0371 +-0.060015 -0.046634 1.0371 +-0.039671 -0.046737999 1.0394 +-0.037572 -0.046808001 1.041 +-0.035360001 -0.046737999 1.0394 +-0.034256998 -0.046704002 1.0386 +-0.031049 -0.046737999 1.0394 +-0.029971 -0.046737999 1.0394 +-0.028958 -0.046844002 1.0417 +-0.027857 -0.046808001 1.041 +-0.026818 -0.046879001 1.0425 +-0.025756 -0.046914 1.0433 +-0.024656 -0.046879001 1.0425 +-0.023575 -0.046879001 1.0425 +-0.02251 -0.046914 1.0433 +-0.021412 -0.046879001 1.0425 +-0.020331001 -0.046879001 1.0425 +-0.019265 -0.046914 1.0433 +-0.018183 -0.046914 1.0433 +-0.017100999 -0.046914 1.0433 +-0.016007001 -0.046879001 1.0425 +-0.014937 -0.046914 1.0433 +-0.013856 -0.046914 1.0433 +-0.012764 -0.046879001 1.0425 +-0.011674 -0.046844002 1.0417 +-0.01061 -0.046914 1.0433 +-0.0095138 -0.046844002 1.0417 +-0.0073588002 -0.046879001 1.0425 +-0.0041188002 -0.046914 1.0433 +-0.0030346001 -0.046879001 1.0425 +-0.00087186001 -0.046844002 1.0417 +0.00020854 -0.046879001 1.0425 +0.0023689 -0.046844002 1.0417 +0.0034491001 -0.046844002 1.0417 +0.0045326999 -0.046879001 1.0425 +0.0056011998 -0.046773002 1.0402 +0.0066848001 -0.046808001 1.041 +0.0077642002 -0.046808001 1.041 +0.0088369995 -0.046773002 1.0402 +0.017453 -0.046737999 1.0394 +0.018531 -0.046737999 1.0394 +0.019594001 -0.046704002 1.0386 +0.020671001 -0.046704002 1.0386 +0.021732001 -0.046668999 1.0378 +0.024979001 -0.046704002 1.0386 +0.026075 -0.046737999 1.0394 +0.027174 -0.046773002 1.0402 +0.028294999 -0.046844002 1.0417 +0.029375 -0.046844002 1.0417 +0.030455001 -0.046844002 1.0417 +0.031559002 -0.046879001 1.0425 +0.032639999 -0.046879001 1.0425 +0.033746 -0.046914 1.0433 +0.034828 -0.046914 1.0433 +0.035909999 -0.046914 1.0433 +0.037020002 -0.046948999 1.0441 +0.038102001 -0.046948999 1.0441 +0.039184999 -0.046948999 1.0441 +0.040268 -0.046948999 1.0441 +0.041382 -0.046983998 1.0448999 +0.042465001 -0.046983998 1.0448999 +0.043549001 -0.046983998 1.0448999 +0.044666 -0.047019999 1.0457 +0.046833999 -0.047019999 1.0457 +0.066202 -0.046914 1.0433 +0.067385003 -0.046983998 1.0448999 +0.068469003 -0.046983998 1.0448999 +0.069551997 -0.046983998 1.0448999 +0.070635997 -0.046983998 1.0448999 +0.071773 -0.047019999 1.0457 +0.072802998 -0.046983998 1.0448999 +0.073941998 -0.047019999 1.0457 +0.074913003 -0.046948999 1.0441 +0.075995997 -0.046948999 1.0441 +0.077137001 -0.046983998 1.0448999 +0.078161001 -0.046948999 1.0441 +0.079244003 -0.046948999 1.0441 +0.080387004 -0.046983998 1.0448999 +0.081471004 -0.046983998 1.0448999 +0.082553998 -0.046983998 1.0448999 +0.083575003 -0.046948999 1.0441 +0.084656999 -0.046948999 1.0441 +0.085804999 -0.046983998 1.0448999 +0.087904997 -0.046948999 1.0441 +0.088987999 -0.046948999 1.0441 +0.090071 -0.046948999 1.0441 +0.091154002 -0.046948999 1.0441 +0.092235997 -0.046948999 1.0441 +0.094330996 -0.046914 1.0433 +0.095412999 -0.046914 1.0433 +0.096566997 -0.046948999 1.0441 +0.097723 -0.046983998 1.0448999 +0.098806001 -0.046983998 1.0448999 +0.12066 -0.047054999 1.0464 +0.12174 -0.047054999 1.0464 +0.12283 -0.047054999 1.0464 +0.12382 -0.047019999 1.0457 +0.1249 -0.047019999 1.0457 +-0.18006 -0.045457002 1.0348001 +-0.17885 -0.045423001 1.034 +-0.17778 -0.045423001 1.034 +-0.17670999 -0.045423001 1.034 +-0.17563 -0.045423001 1.034 +-0.17456 -0.045423001 1.034 +-0.17349 -0.045423001 1.034 +-0.17242 -0.045423001 1.034 +-0.17135 -0.045423001 1.034 +-0.17027 -0.045423001 1.034 +-0.1692 -0.045423001 1.034 +-0.168 -0.045389 1.0332 +-0.16706 -0.045423001 1.034 +-0.16598 -0.045423001 1.034 +-0.15848 -0.045423001 1.034 +-0.15752 -0.045457002 1.0348001 +-0.15633 -0.045423001 1.034 +-0.15538 -0.045457002 1.0348001 +-0.15431 -0.045457002 1.0348001 +-0.15335 -0.045490999 1.0355 +-0.15227 -0.045490999 1.0355 +-0.1512 -0.045490999 1.0355 +-0.15001 -0.045457002 1.0348001 +-0.14894 -0.045457002 1.0348001 +-0.14787 -0.045457002 1.0348001 +-0.14668 -0.045423001 1.034 +-0.1455 -0.045389 1.0332 +-0.14454 -0.045423001 1.034 +-0.14347 -0.045423001 1.034 +-0.1424 -0.045423001 1.034 +-0.14111 -0.045355 1.0325 +-0.14025 -0.045423001 1.034 +-0.13908 -0.045389 1.0332 +-0.13779999 -0.045322001 1.0317 +-0.1051 -0.045524001 1.0362999 +-0.10403 -0.045524001 1.0362999 +-0.10295 -0.045524001 1.0362999 +-0.10196 -0.045558002 1.0371 +-0.10081 -0.045524001 1.0362999 +-0.099730998 -0.045524001 1.0362999 +-0.098729998 -0.045558002 1.0371 +-0.097580999 -0.045524001 1.0362999 +-0.096506998 -0.045524001 1.0362999 +-0.095503002 -0.045558002 1.0371 +-0.094428003 -0.045558002 1.0371 +-0.093353003 -0.045558002 1.0371 +-0.092276998 -0.045558002 1.0371 +-0.091133997 -0.045524001 1.0362999 +-0.090126 -0.045558002 1.0371 +-0.088985004 -0.045524001 1.0362999 +-0.087976001 -0.045558002 1.0371 +-0.086965002 -0.045591999 1.0378 +-0.085825004 -0.045558002 1.0371 +-0.084812999 -0.045591999 1.0378 +-0.083798997 -0.045627002 1.0386 +-0.082722001 -0.045627002 1.0386 +-0.081706002 -0.045660999 1.0394 +-0.079609998 -0.045694999 1.0402 +-0.076430999 -0.045729 1.041 +-0.075351998 -0.045729 1.041 +-0.072168 -0.045763001 1.0417 +-0.070981003 -0.045694999 1.0402 +-0.069849998 -0.045660999 1.0394 +-0.068824001 -0.045694999 1.0402 +-0.067694001 -0.045660999 1.0394 +-0.066566996 -0.045627002 1.0386 +-0.065440997 -0.045591999 1.0378 +-0.064365 -0.045591999 1.0378 +-0.063240997 -0.045558002 1.0371 +-0.028914999 -0.045694999 1.0402 +-0.027836001 -0.045694999 1.0402 +-0.026777999 -0.045729 1.041 +-0.025737001 -0.045798 1.0425 +-0.023557 -0.045763001 1.0417 +-0.022493999 -0.045798 1.0425 +-0.021396 -0.045763001 1.0417 +-0.01925 -0.045798 1.0425 +-0.018155999 -0.045763001 1.0417 +-0.017088 -0.045798 1.0425 +-0.015995 -0.045763001 1.0417 +-0.014926 -0.045798 1.0425 +0.0045258999 -0.045729 1.041 +0.020656001 -0.045591999 1.0378 +0.026055999 -0.045627002 1.0386 +0.027153 -0.045660999 1.0394 +0.028272999 -0.045729 1.041 +0.029353 -0.045729 1.041 +0.030455001 -0.045763001 1.0417 +0.031535 -0.045763001 1.0417 +0.032616001 -0.045763001 1.0417 +0.033746 -0.045832001 1.0433 +0.034802001 -0.045798 1.0425 +0.035882998 -0.045798 1.0425 +0.036991999 -0.045832001 1.0433 +0.038074002 -0.045832001 1.0433 +0.039156001 -0.045832001 1.0433 +0.040238 -0.045832001 1.0433 +0.04135 -0.045866001 1.0441 +0.042433001 -0.045866001 1.0441 +0.067335002 -0.045866001 1.0441 +0.068416998 -0.045866001 1.0441 +0.069499999 -0.045866001 1.0441 +0.071718998 -0.045901 1.0448999 +0.082492001 -0.045866001 1.0441 +-0.17336001 -0.044318002 1.0332 +-0.17242 -0.044351 1.034 +-0.17122 -0.044318002 1.0332 +-0.17027 -0.044351 1.034 +-0.16908 -0.044318002 1.0332 +-0.168 -0.044318002 1.0332 +-0.16693 -0.044318002 1.0332 +-0.16586 -0.044318002 1.0332 +-0.16479 -0.044318002 1.0332 +-0.16372 -0.044318002 1.0332 +-0.1617 -0.044351 1.034 +-0.15622 -0.044318002 1.0332 +-0.15526 -0.044351 1.034 +-0.15419 -0.044351 1.034 +-0.15323 -0.044383999 1.0348001 +-0.15216 -0.044383999 1.0348001 +-0.15109 -0.044383999 1.0348001 +-0.1499 -0.044351 1.034 +-0.14883 -0.044351 1.034 +-0.14776 -0.044351 1.034 +-0.14658 -0.044318002 1.0332 +-0.1454 -0.044284999 1.0325 +-0.14443 -0.044318002 1.0332 +-0.14336 -0.044318002 1.0332 +-0.14229 -0.044318002 1.0332 +-0.14101 -0.044252001 1.0317 +-0.14015 -0.044318002 1.0332 +-0.13887 -0.044252001 1.0317 +-0.10188 -0.04445 1.0362999 +-0.10073 -0.044417001 1.0355 +-0.099656001 -0.044417001 1.0355 +-0.098655999 -0.04445 1.0362999 +-0.097508997 -0.044417001 1.0355 +-0.096506998 -0.04445 1.0362999 +-0.095431998 -0.04445 1.0362999 +-0.094357997 -0.04445 1.0362999 +-0.093282998 -0.04445 1.0362999 +-0.092207998 -0.04445 1.0362999 +-0.091066003 -0.044417001 1.0355 +-0.090058997 -0.04445 1.0362999 +-0.088918 -0.044417001 1.0355 +-0.087909997 -0.04445 1.0362999 +-0.086900003 -0.044482999 1.0371 +-0.085825004 -0.044482999 1.0371 +-0.084748998 -0.044482999 1.0371 +-0.083736002 -0.044516001 1.0378 +-0.067644 -0.044550002 1.0386 +-0.066517003 -0.044516001 1.0378 +-0.065392002 -0.044482999 1.0371 +-0.064317003 -0.044482999 1.0371 +0.028231001 -0.044583 1.0394 +-0.17109001 -0.043214001 1.0325 +-0.17015 -0.043246001 1.0332 +-0.16895001 -0.043214001 1.0325 +-0.16788 -0.043214001 1.0325 +-0.16681001 -0.043214001 1.0325 +-0.14872 -0.043246001 1.0332 +-0.14754 -0.043214001 1.0325 +-0.14647 -0.043214001 1.0325 +-0.14529 -0.043182001 1.0317 +-0.099582002 -0.043311 1.0348001 +-0.098582 -0.043343 1.0355 +-0.096363001 -0.043311 1.0348001 +-0.095361002 -0.043343 1.0355 +-0.094287001 -0.043343 1.0355 +-0.093212999 -0.043343 1.0355 +-0.092139997 -0.043343 1.0355 +-0.090998001 -0.043311 1.0348001 +-0.089992002 -0.043343 1.0355 +-0.088852003 -0.043311 1.0348001 +-0.087843999 -0.043343 1.0355 +-0.086770996 -0.043343 1.0355 +-0.085697003 -0.043343 1.0355 +-0.084686004 -0.043375 1.0362999 +-0.094217002 -0.042238001 1.0348001 +-0.09093 -0.042206001 1.034 +-0.089924999 -0.042238001 1.0348001 +-0.088785999 -0.042206001 1.034 +-0.087714002 -0.042206001 1.034 +-0.089858003 -0.041134 1.034 +-0.087451003 -0.02438 1.0063 +-0.086158 -0.023269 1.0034 +0.036695998 -0.023319 1.0056 +0.038837999 -0.023352999 1.007 +0.034536 -0.022228001 1.0034 +0.035627998 -0.022260999 1.0048 +0.036669999 -0.022260999 1.0048 +0.037739001 -0.022276999 1.0056 +0.03881 -0.022293 1.0063 +0.034511 -0.021173 1.0027 +0.035602 -0.021203 1.0041 +0.036642998 -0.021203 1.0041 +0.037712 -0.021219 1.0048 +0.038782001 -0.021234 1.0056 +0.035551 -0.020133 1.0027 +0.036589999 -0.020133 1.0027 +0.037657 -0.020148 1.0034 +0.038725998 -0.020161999 1.0041 +0.039795998 -0.020176999 1.0048 +0.03867 -0.019092999 1.0027 +0.27908 -0.015928 0.99976999 +0.27557001 -0.01487 0.99833 +0.27680001 -0.014881 0.99905002 +0.27764001 -0.01487 0.99833 +0.27888 -0.014881 0.99905002 +0.27991 -0.014881 0.99905002 +0.28095001 -0.014881 0.99905002 +0.28198001 -0.014881 0.99905002 +0.28301999 -0.014881 0.99905002 +-0.0049339002 -0.013717 0.98979998 +-0.0039102999 -0.013726 0.99050999 +-0.0018548 -0.013717 0.98979998 +0.27434 -0.013825 0.99761999 +0.27537 -0.013825 0.99761999 +0.27660999 -0.013835 0.99833 +0.27764001 -0.013835 0.99833 +0.27868 -0.013835 0.99833 +0.27970999 -0.013835 0.99833 +0.28095001 -0.013845 0.99905002 +0.28178 -0.013835 0.99833 +0.28281999 -0.013835 0.99833 +0.28385001 -0.013835 0.99833 +-0.0080073997 -0.012681 0.98909998 +-0.0069817002 -0.012681 0.98909998 +-0.0059603001 -0.01269 0.98979998 +-0.0049303998 -0.012681 0.98909998 +-0.0039074998 -0.01269 0.98979998 +-0.0028812001 -0.01269 0.98979998 +-0.0018548 -0.01269 0.98979998 +-0.00082839001 -0.01269 0.98979998 +0.0084031001 -0.012681 0.98909998 +0.082309 -0.01269 0.98979998 +0.27518001 -0.012781 0.99690002 +0.27641001 -0.01279 0.99761999 +0.27744001 -0.01279 0.99761999 +0.27847999 -0.01279 0.99761999 +0.27950999 -0.01279 0.99761999 +0.28075001 -0.0128 0.99833 +0.28158 -0.01279 0.99761999 +0.28261 -0.01279 0.99761999 +0.28365001 -0.01279 0.99761999 +0.28448001 -0.012781 0.99690002 +-0.0090266 -0.011647 0.98839003 +-0.0080017 -0.011647 0.98839003 +-0.0069766999 -0.011647 0.98839003 +-0.0059560998 -0.011656 0.98909998 +-0.0049268999 -0.011647 0.98839003 +-0.0039047999 -0.011656 0.98909998 +-0.0028790999 -0.011656 0.98909998 +-0.0018535 -0.011656 0.98909998 +-0.00082721002 -0.011647 0.98839003 +0.079117 -0.011647 0.98839003 +0.080199003 -0.011656 0.98909998 +0.081166998 -0.011647 0.98839003 +0.082249999 -0.011656 0.98909998 +0.083334997 -0.011664 0.98979998 +0.27621001 -0.011748 0.99690002 +0.27724001 -0.011748 0.99690002 +0.27827999 -0.011748 0.99690002 +0.27950999 -0.011756 0.99761999 +0.28055 -0.011756 0.99761999 +0.28241 -0.011748 0.99690002 +0.28345001 -0.011748 0.99690002 +0.28428 -0.011739 0.99619001 +-0.0090202 -0.010615 0.98768997 +-0.0079960003 -0.010615 0.98768997 +-0.0069717998 -0.010615 0.98768997 +-0.0059517999 -0.010622 0.98839003 +-0.0049234 -0.010615 0.98768997 +-0.0039019999 -0.010622 0.98839003 +-0.0028770999 -0.010622 0.98839003 +-0.0018508 -0.010615 0.98768997 +0.082190998 -0.010622 0.98839003 +0.28406999 -0.010698 0.99546999 +-0.01003 -0.0095769996 0.98628998 +-0.0090073999 -0.0095769996 0.98628998 +-0.0079902997 -0.0095838001 0.98698997 +-0.0069668 -0.0095838001 0.98698997 +-0.0059476001 -0.0095905997 0.98768997 +-0.0049199001 -0.0095838001 0.98698997 +-0.0038991999 -0.0095905997 0.98768997 +-0.002875 -0.0095905997 0.98768997 +0.080085002 -0.0095905997 0.98768997 +-0.0090009999 -0.0085482001 0.98558998 +-0.0069618998 -0.0085541997 0.98628998 +-0.0038964001 -0.0085602999 0.98698997 +-0.002873 -0.0085602999 0.98698997 +-0.0018482 -0.0085541997 0.98628998 +-0.00082545 -0.0085541997 0.98628998 +0.00019729001 -0.0085541997 0.98628998 +0.047293 0.0026415 0.96640003 +0.048328001 0.0026434001 0.96706998 +0.049330998 0.0026434001 0.96706998 +0.050333999 0.0026434001 0.96706998 +0.051337 0.0026434001 0.96706998 +0.052340001 0.0026434001 0.96706998 +0.053342 0.0026434001 0.96706998 +0.054345001 0.0026434001 0.96706998 +0.055348001 0.0026434001 0.96706998 +0.056350999 0.0026434001 0.96706998 +0.058357 0.0026434001 0.96706998 +-0.024755999 0.0036285 0.96237999 +-0.023742 0.0036259999 0.96171999 +-0.022729 0.0036235 0.96104997 +0.046193998 0.003636 0.96438998 +0.047260001 0.0036410999 0.96573001 +0.048294999 0.0036436 0.96640003 +0.049297001 0.0036436 0.96640003 +0.050333999 0.0036462001 0.96706998 +0.051337 0.0036462001 0.96706998 +0.052303001 0.0036436 0.96640003 +0.053305 0.0036436 0.96640003 +0.054345001 0.0036462001 0.96706998 +0.05531 0.0036436 0.96640003 +0.056311999 0.0036436 0.96640003 +0.057353999 0.0036462001 0.96706998 +0.077248998 0.0036386 0.96506 +0.080306999 0.0036410999 0.96573001 +0.081252001 0.0036386 0.96506 +0.082252003 0.0036386 0.96506 +0.083253004 0.0036386 0.96506 +0.084253997 0.0036386 0.96506 +-0.024738999 0.0046231998 0.96171999 +-0.023708999 0.0046168999 0.96038997 +-0.022697 0.0046136999 0.95972002 +-0.016714999 0.0046104998 0.95906001 +0.046162002 0.0046329 0.96372002 +0.047226999 0.0046393001 0.96506 +0.048261002 0.0046425001 0.96573001 +0.049263 0.0046425001 0.96573001 +0.050299 0.0046457001 0.96640003 +0.051300999 0.0046457001 0.96640003 +0.052267 0.0046425001 0.96573001 +0.053268 0.0046425001 0.96573001 +0.054306999 0.0046457001 0.96640003 +0.055271 0.0046425001 0.96573001 +0.056272998 0.0046425001 0.96573001 +0.057314001 0.0046457001 0.96640003 +0.058274999 0.0046425001 0.96573001 +0.059277002 0.0046425001 0.96573001 +0.060277998 0.0046425001 0.96573001 +0.061280001 0.0046425001 0.96573001 +0.062238 0.0046393001 0.96506 +0.065195002 0.0046361 0.96438998 +0.066241004 0.0046393001 0.96506 +0.067240998 0.0046393001 0.96506 +0.068195 0.0046361 0.96438998 +0.069242999 0.0046393001 0.96506 +0.070243999 0.0046393001 0.96506 +0.071194999 0.0046361 0.96438998 +0.072195001 0.0046361 0.96438998 +0.073246002 0.0046393001 0.96506 +0.074194998 0.0046361 0.96438998 +0.075195 0.0046361 0.96438998 +0.076247998 0.0046393001 0.96506 +0.077195004 0.0046361 0.96438998 +0.078194998 0.0046361 0.96438998 +0.07925 0.0046393001 0.96506 +0.080251001 0.0046393001 0.96506 +0.081194997 0.0046361 0.96438998 +0.082194999 0.0046361 0.96438998 +0.083195001 0.0046361 0.96438998 +0.084195003 0.0046361 0.96438998 +0.085194997 0.0046361 0.96438998 +0.086195 0.0046361 0.96438998 +0.087195002 0.0046361 0.96438998 +0.088133998 0.0046329 0.96372002 +0.10527 0.0046393001 0.96506 +0.10627 0.0046393001 0.96506 +0.10734 0.0046425001 0.96573001 +0.10835 0.0046425001 0.96573001 +-0.059519999 0.0056089 0.95972002 +-0.058483999 0.0056050001 0.95906001 +-0.05745 0.0056011002 0.95840001 +-0.024705 0.0056126998 0.96038997 +-0.023693001 0.0056089 0.95972002 +-0.022666 0.0056011002 0.95840001 +-0.016703 0.0056011002 0.95840001 +0.045132 0.0056282999 0.96305001 +0.046098001 0.0056244 0.96237999 +0.047129001 0.0056282999 0.96305001 +0.048193999 0.0056361002 0.96438998 +0.049228001 0.0056400001 0.96506 +0.050264001 0.0056439 0.96573001 +0.051229998 0.0056400001 0.96506 +0.052230999 0.0056400001 0.96506 +0.053231001 0.0056400001 0.96506 +0.054232001 0.0056400001 0.96506 +0.055233002 0.0056400001 0.96506 +0.056233 0.0056400001 0.96506 +0.057234 0.0056400001 0.96506 +0.058235001 0.0056400001 0.96506 +0.059195001 0.0056361002 0.96438998 +0.060236 0.0056400001 0.96506 +0.061237 0.0056400001 0.96506 +0.062194999 0.0056361002 0.96438998 +0.063194998 0.0056361002 0.96438998 +0.064195 0.0056361002 0.96438998 +0.06515 0.0056321998 0.96372002 +0.066195004 0.0056361002 0.96438998 +0.067194998 0.0056361002 0.96438998 +0.068148002 0.0056321998 0.96372002 +0.069195002 0.0056361002 0.96438998 +0.070194997 0.0056361002 0.96438998 +0.071145996 0.0056321998 0.96372002 +0.072195001 0.0056361002 0.96438998 +0.073246002 0.0056400001 0.96506 +0.074194998 0.0056361002 0.96438998 +0.075143002 0.0056321998 0.96372002 +0.076195002 0.0056361002 0.96438998 +0.077195004 0.0056361002 0.96438998 +0.078194998 0.0056361002 0.96438998 +0.079195 0.0056361002 0.96438998 +0.080195002 0.0056361002 0.96438998 +0.081194997 0.0056361002 0.96438998 +0.082138002 0.0056321998 0.96372002 +0.083137996 0.0056321998 0.96372002 +0.084137 0.0056321998 0.96372002 +0.085077003 0.0056282999 0.96305001 +0.086135998 0.0056321998 0.96372002 +0.087073997 0.0056282999 0.96305001 +0.088073 0.0056282999 0.96305001 +0.1022 0.0056361002 0.96438998 +0.1032 0.0056361002 0.96438998 +0.1042 0.0056361002 0.96438998 +0.1052 0.0056361002 0.96438998 +0.1062 0.0056361002 0.96438998 +0.10727 0.0056400001 0.96506 +0.1082 0.0056361002 0.96438998 +-0.059438001 0.0065949 0.95840001 +-0.058403 0.0065903999 0.95774001 +-0.054319002 0.0065767998 0.95576 +-0.053327002 0.0065767998 0.95576 +-0.052372001 0.0065812999 0.95642 +-0.051344998 0.0065767998 0.95576 +-0.050354 0.0065767998 0.95576 +-0.024670999 0.0065994998 0.95906001 +-0.023644 0.0065903999 0.95774001 +-0.022651 0.0065903999 0.95774001 +-0.016692 0.0065903999 0.95774001 +0.0451 0.0066223 0.96237999 +0.046066001 0.0066177999 0.96171999 +0.047095999 0.0066223 0.96237999 +0.048161 0.0066315001 0.96372002 +0.049194001 0.0066360999 0.96438998 +0.050229002 0.0066407002 0.96506 +0.051194001 0.0066360999 0.96438998 +0.052193999 0.0066360999 0.96438998 +0.053194001 0.0066360999 0.96438998 +0.054232001 0.0066407002 0.96506 +0.055194002 0.0066360999 0.96438998 +0.056194 0.0066360999 0.96438998 +0.057193998 0.0066360999 0.96438998 +0.058194999 0.0066360999 0.96438998 +0.059153002 0.0066315001 0.96372002 +0.060153 0.0066315001 0.96372002 +0.061195001 0.0066360999 0.96438998 +0.062151 0.0066315001 0.96372002 +0.066148996 0.0066315001 0.96372002 +0.067194998 0.0066360999 0.96438998 +0.069195002 0.0066360999 0.96438998 +0.070194997 0.0066360999 0.96438998 +0.071096003 0.0066268998 0.96305001 +0.072145 0.0066315001 0.96372002 +0.073195003 0.0066360999 0.96438998 +0.074143998 0.0066315001 0.96372002 +0.075143002 0.0066315001 0.96372002 +0.076195002 0.0066360999 0.96438998 +0.077142 0.0066315001 0.96372002 +0.078140996 0.0066315001 0.96372002 +0.07914 0.0066315001 0.96372002 +0.080140002 0.0066315001 0.96372002 +0.081138998 0.0066315001 0.96372002 +0.082080998 0.0066268998 0.96305001 +0.083137996 0.0066315001 0.96372002 +0.084078997 0.0066268998 0.96305001 +0.085077003 0.0066268998 0.96305001 +0.086075999 0.0066268998 0.96305001 +0.087013997 0.0066223 0.96237999 +0.088012002 0.0066223 0.96237999 +0.089071997 0.0066268998 0.96305001 +0.090007998 0.0066223 0.96237999 +0.090943001 0.0066177999 0.96171999 +0.092068002 0.0066268998 0.96305001 +-0.054281 0.0075627002 0.95511001 +-0.053291 0.0075627002 0.95511001 +-0.052299999 0.0075627002 0.95511001 +-0.051309999 0.0075627002 0.95511001 +-0.050319999 0.0075627002 0.95511001 +-0.049329001 0.0075627002 0.95511001 +-0.048339002 0.0075627002 0.95511001 +0.046002999 0.0076044998 0.96038997 +0.047031 0.0076098 0.96104997 +0.048126999 0.0076255999 0.96305001 +0.049125999 0.0076255999 0.96305001 +0.050193999 0.0076362002 0.96438998 +0.053157002 0.0076309 0.96372002 +0.054194 0.0076362002 0.96438998 +0.055156 0.0076309 0.96372002 +0.058114 0.0076255999 0.96305001 +0.059113 0.0076255999 0.96305001 +0.061110001 0.0076255999 0.96305001 +0.062107999 0.0076255999 0.96305001 +0.063106999 0.0076255999 0.96305001 +0.064061001 0.0076203002 0.96237999 +0.065058999 0.0076203002 0.96237999 +0.066102996 0.0076255999 0.96305001 +0.067102 0.0076255999 0.96305001 +0.068099998 0.0076255999 0.96305001 +0.069099002 0.0076255999 0.96305001 +0.070146002 0.0076309 0.96372002 +0.071047001 0.0076203002 0.96237999 +0.072094999 0.0076255999 0.96305001 +0.073143996 0.0076309 0.96372002 +0.074143998 0.0076309 0.96372002 +0.075090997 0.0076255999 0.96305001 +0.076141998 0.0076309 0.96372002 +0.077087998 0.0076255999 0.96305001 +0.078140996 0.0076309 0.96372002 +0.07914 0.0076309 0.96372002 +0.080140002 0.0076309 0.96372002 +0.081138998 0.0076309 0.96372002 +0.082080998 0.0076255999 0.96305001 +0.083080001 0.0076255999 0.96305001 +0.084078997 0.0076255999 0.96305001 +0.085018001 0.0076203002 0.96237999 +0.086075999 0.0076255999 0.96305001 +0.087013997 0.0076203002 0.96237999 +0.087950997 0.007615 0.96171999 +0.08901 0.0076203002 0.96237999 +0.090007998 0.0076203002 0.96237999 +0.090943001 0.007615 0.96171999 +0.092004001 0.0076203002 0.96237999 +0.092937998 0.007615 0.96171999 +-0.054244 0.0085471999 0.95445001 +-0.053291 0.0085530998 0.95511001 +-0.052299999 0.0085530998 0.95511001 +-0.051275 0.0085471999 0.95445001 +-0.050285 0.0085471999 0.95445001 +-0.049295001 0.0085471999 0.95445001 +-0.048305999 0.0085471999 0.95445001 +0.048060998 0.0086123003 0.96171999 +0.054118998 0.0086241998 0.96305001 +0.055117998 0.0086241998 0.96305001 +0.056116998 0.0086241998 0.96305001 +0.057115 0.0086241998 0.96305001 +0.058074001 0.0086182002 0.96237999 +0.059071999 0.0086182002 0.96237999 +0.060070001 0.0086182002 0.96237999 +0.061067 0.0086182002 0.96237999 +0.062065002 0.0086182002 0.96237999 +0.063063003 0.0086182002 0.96237999 +0.064061001 0.0086182002 0.96237999 +0.069050997 0.0086182002 0.96237999 +0.070097998 0.0086241998 0.96305001 +0.072044998 0.0086182002 0.96237999 +0.073092997 0.0086241998 0.96305001 +0.074092001 0.0086241998 0.96305001 +0.075090997 0.0086241998 0.96305001 +0.076089002 0.0086241998 0.96305001 +0.077087998 0.0086241998 0.96305001 +0.078087002 0.0086241998 0.96305001 +0.079085 0.0086241998 0.96305001 +0.080084004 0.0086241998 0.96305001 +0.081083 0.0086241998 0.96305001 +0.082024001 0.0086182002 0.96237999 +0.083021998 0.0086182002 0.96237999 +0.084020004 0.0086182002 0.96237999 +0.084959 0.0086123003 0.96171999 +0.086015999 0.0086182002 0.96237999 +0.086953998 0.0086123003 0.96171999 +0.087889999 0.0086062998 0.96104997 +0.088947996 0.0086123003 0.96171999 +0.089946002 0.0086123003 0.96171999 +0.090879999 0.0086062998 0.96104997 +0.091940001 0.0086123003 0.96171999 +0.092873 0.0086062998 0.96104997 +-0.054207001 0.0095303999 0.95380002 +-0.053254001 0.0095368996 0.95445001 +-0.052265 0.0095368996 0.95445001 +-0.051240001 0.0095303999 0.95380002 +-0.050285 0.0095368996 0.95445001 +-0.049261998 0.0095303999 0.95380002 +-0.048271999 0.0095303999 0.95380002 +0.037992999 0.0077574002 0.77635998 +0.038733002 0.0077443998 0.77506 +0.041924 0.0077400999 0.77463001 +0.054081999 0.0096161999 0.96237999 +0.055041999 0.0096094999 0.96171999 +0.056078002 0.0096161999 0.96237999 +0.057076 0.0096161999 0.96237999 +0.058033001 0.0096094999 0.96171999 +0.058990002 0.0096028997 0.96104997 +0.060028002 0.0096094999 0.96171999 +0.061025001 0.0096094999 0.96171999 +0.062022001 0.0096094999 0.96171999 +0.062976003 0.0096028997 0.96104997 +0.063973002 0.0096028997 0.96104997 +0.064924002 0.0095963003 0.96038997 +0.078033 0.0096161999 0.96237999 +0.079030998 0.0096161999 0.96237999 +0.080029003 0.0096161999 0.96237999 +0.081026003 0.0096161999 0.96237999 +0.082024001 0.0096161999 0.96237999 +0.083021998 0.0096161999 0.96237999 +0.083962001 0.0096094999 0.96171999 +0.084900998 0.0096028997 0.96104997 +0.085956998 0.0096094999 0.96171999 +0.086893998 0.0096028997 0.96104997 +0.08783 0.0095963003 0.96038997 +0.088886999 0.0096028997 0.96104997 +0.089821003 0.0095963003 0.96038997 +0.091876999 0.0096028997 0.96104997 +0.037229002 0.0085720997 0.77723002 +0.037971001 0.0085576996 0.77591997 +0.038754001 0.0085528996 0.77548999 +0.039514001 0.0085434001 0.77463001 +0.040385 0.0085576996 0.77591997 +0.041166998 0.0085528996 0.77548999 +0.041948002 0.0085480995 0.77506 +0.042750999 0.0085480995 0.77506 +0.056039002 0.010607 0.96171999 +0.057036001 0.010607 0.96171999 +0.057992999 0.010599 0.96104997 +0.058990002 0.010599 0.96104997 +0.059985999 0.010599 0.96104997 +0.060982998 0.010599 0.96104997 +0.061980002 0.010599 0.96104997 +0.062932998 0.010592 0.96038997 +0.063928001 0.010592 0.96038997 +0.064879999 0.010585 0.95972002 +0.065875001 0.010585 0.95972002 +0.080969997 0.010607 0.96171999 +0.081968002 0.010607 0.96171999 +0.082965001 0.010607 0.96171999 +0.083903998 0.010599 0.96104997 +0.084841996 0.010592 0.96038997 +0.087707996 0.010578 0.95906001 +0.088763997 0.010585 0.95972002 +0.037188001 0.0093675004 0.77635998 +0.037950002 0.0093571004 0.77548999 +0.038754001 0.0093571004 0.77548999 +0.039535999 0.0093518002 0.77506 +0.040385 0.0093622999 0.77591997 +0.041189998 0.0093622999 0.77591997 +0.041971002 0.0093571004 0.77548999 +0.042799 0.0093622999 0.77591997 +0.043628 0.0093675004 0.77635998 +0.044383001 0.0093571004 0.77548999 +0.056997001 0.011596 0.96104997 +0.057992999 0.011596 0.96104997 +0.058949001 0.011588 0.96038997 +0.059944998 0.011588 0.96038997 +0.060941 0.011588 0.96038997 +0.061937001 0.011588 0.96038997 +0.062889002 0.01158 0.95972002 +0.063883997 0.01158 0.95972002 +0.064834997 0.011572 0.95906001 +0.065829001 0.011572 0.95906001 +0.066777997 0.011564 0.95840001 +0.081910998 0.011596 0.96104997 +0.087647997 0.011564 0.95840001 +0.11607 0.011524 0.95511001 +0.034889001 0.010207 0.77897 +0.035617001 0.010184 0.77723002 +0.036382999 0.010173 0.77635998 +0.037188001 0.010173 0.77635998 +0.037971001 0.010167 0.77591997 +0.038754001 0.010161 0.77548999 +0.039558999 0.010161 0.77548999 +0.040408 0.010173 0.77635998 +0.041212998 0.010173 0.77635998 +0.042018 0.010173 0.77635998 +0.042823002 0.010173 0.77635998 +0.043652002 0.010178 0.77679002 +0.044433001 0.010173 0.77635998 +0.045263 0.010178 0.77679002 +0.058949001 0.012584 0.96038997 +0.059904002 0.012575 0.95972002 +0.060899001 0.012575 0.95972002 +0.061937001 0.012584 0.96038997 +0.062845998 0.012567 0.95906001 +0.063883997 0.012575 0.95972002 +0.064790003 0.012558 0.95840001 +0.071845002 0.010178 0.77679002 +0.074261002 0.010178 0.77679002 +0.076591998 0.010167 0.77591997 +0.077353999 0.010161 0.77548999 +0.11508 0.012515 0.95511001 +0.11583 0.012489 0.95314002 +0.11674 0.01248 0.95248997 +0.011879 0.010662 0.75402999 +0.013436 0.010656 0.75362003 +0.017286999 0.010622 0.75117999 +0.034850001 0.011002 0.77810001 +0.035597 0.010984 0.77679002 +0.036382999 0.010978 0.77635998 +0.037188001 0.010978 0.77635998 +0.037971001 0.010971 0.77591997 +0.038775999 0.010971 0.77591997 +0.039581001 0.010971 0.77591997 +0.040408 0.010978 0.77635998 +0.041235998 0.010984 0.77679002 +0.042018 0.010978 0.77635998 +0.042847 0.010984 0.77679002 +0.043701001 0.010996 0.77766001 +0.044458002 0.010984 0.77679002 +0.045288999 0.01099 0.77723002 +0.059820998 0.013552 0.95840001 +0.060857002 0.013561 0.95906001 +0.061894 0.01357 0.95972002 +0.062845998 0.013561 0.95906001 +0.063840002 0.013561 0.95906001 +0.064790003 0.013552 0.95840001 +0.068777002 0.011008 0.77853 +0.069545001 0.011002 0.77810001 +0.070312999 0.010996 0.77766001 +0.071079001 0.01099 0.77723002 +0.071845002 0.010984 0.77679002 +0.072568998 0.010971 0.77591997 +0.073415004 0.010978 0.77635998 +0.074220002 0.010978 0.77635998 +0.074941002 0.010965 0.77548999 +0.075787999 0.010971 0.77591997 +0.076591998 0.010971 0.77591997 +0.077353999 0.010965 0.77548999 +0.078070998 0.010953 0.77463001 +0.079588003 0.010941 0.77376002 +0.080168001 0.010911 0.77161998 +0.080922998 0.010905 0.77118999 +0.11385 0.013477 0.95314002 +0.11484 0.013477 0.95314002 +0.11567 0.013459 0.95183998 +0.1165 0.01344 0.95052999 +0.11748 0.01344 0.95052999 +0.0021497 0.014348 0.94536 +0.0031300001 0.014348 0.94536 +0.011103 0.01145 0.75444001 +0.011879 0.011444 0.75402999 +0.012654 0.011438 0.75362003 +0.013436 0.011438 0.75362003 +0.01421 0.011431 0.75321001 +0.014983 0.011425 0.75281 +0.015755 0.011419 0.75239998 +0.016517 0.011407 0.75158 +0.017286999 0.011401 0.75117999 +0.018037001 0.011382 0.74996001 +0.018794 0.01137 0.74914998 +0.034042999 0.011809 0.77810001 +0.034811001 0.011796 0.77723002 +0.035578001 0.011783 0.77635998 +0.036362 0.011776 0.77591997 +0.037167002 0.011776 0.77591997 +0.037971001 0.011776 0.77591997 +0.038775999 0.011776 0.77591997 +0.039581001 0.011776 0.77591997 +0.040408 0.011783 0.77635998 +0.041235998 0.011789 0.77679002 +0.042041 0.011789 0.77679002 +0.042870998 0.011796 0.77723002 +0.043701001 0.011802 0.77766001 +0.044482999 0.011796 0.77723002 +0.045313999 0.011802 0.77766001 +0.046146002 0.011809 0.77810001 +0.059739001 0.014525 0.95708001 +0.060773 0.014535 0.95774001 +0.061850999 0.014556 0.95906001 +0.062758997 0.014535 0.95774001 +0.053587999 0.011849 0.78072 +0.054366998 0.011842 0.78027999 +0.055176001 0.011842 0.78027999 +0.055954002 0.011836 0.77983999 +0.056793999 0.011842 0.78027999 +0.060805999 0.011836 0.77983999 +0.061544999 0.011822 0.77897 +0.063196003 0.011829 0.77941 +0.064039998 0.011836 0.77983999 +0.064813003 0.011829 0.77941 +0.065511003 0.011809 0.77810001 +0.067124002 0.011809 0.77810001 +0.067892998 0.011802 0.77766001 +0.068737999 0.011809 0.77810001 +0.069505997 0.011802 0.77766001 +0.070272997 0.011796 0.77723002 +0.071079001 0.011796 0.77723002 +0.071805 0.011783 0.77635998 +0.072568998 0.011776 0.77591997 +0.073374003 0.011776 0.77591997 +0.074178003 0.011776 0.77591997 +0.074941002 0.01177 0.77548999 +0.075787999 0.011776 0.77591997 +0.076591998 0.011776 0.77591997 +0.077396996 0.011776 0.77591997 +0.078070998 0.011756 0.77463001 +0.078873999 0.011756 0.77463001 +0.079632998 0.01175 0.77419001 +0.080346003 0.011737 0.77332997 +0.081058003 0.011724 0.77247 +0.081859 0.011724 0.77247 +0.082705997 0.01173 0.77289999 +0.083461002 0.011724 0.77247 +0.1137 0.014446 0.95183998 +0.11461 0.014436 0.95117998 +0.11551 0.014426 0.95052999 +0.11626 0.014397 0.94858998 +0.29155999 0.014456 0.95248997 +-0.036033001 0.015307 0.94408 +-0.035053998 0.015307 0.94408 +0.0021482001 0.015317 0.94471997 +0.0031279 0.015317 0.94471997 +0.0041075 0.015317 0.94471997 +0.0050837002 0.015307 0.94408 +0.010304 0.012212 0.75321001 +0.011097 0.012226 0.75402999 +0.011873 0.012219 0.75362003 +0.012654 0.012219 0.75362003 +0.013436 0.012219 0.75362003 +0.01421 0.012212 0.75321001 +0.014983 0.012206 0.75281 +0.015755 0.012199 0.75239998 +0.016517 0.012186 0.75158 +0.017286999 0.012179 0.75117999 +0.018037001 0.01216 0.74996001 +0.018794 0.012147 0.74914998 +0.030747 0.012588 0.77635998 +0.031552002 0.012588 0.77635998 +0.032393999 0.012602 0.77723002 +0.033199001 0.012602 0.77723002 +0.033985998 0.012595 0.77679002 +0.034772001 0.012588 0.77635998 +0.035558 0.012581 0.77591997 +0.036341999 0.012574 0.77548999 +0.037145998 0.012574 0.77548999 +0.037950002 0.012574 0.77548999 +0.038775999 0.012581 0.77591997 +0.039581001 0.012581 0.77591997 +0.040408 0.012588 0.77635998 +0.041235998 0.012595 0.77679002 +0.042041 0.012595 0.77679002 +0.042870998 0.012602 0.77723002 +0.043726001 0.012616 0.77810001 +0.044482999 0.012602 0.77723002 +0.045313999 0.012609 0.77766001 +0.046172 0.012623 0.77853 +0.046978999 0.012623 0.77853 +0.059696998 0.015507 0.95642 +0.052777998 0.012658 0.78072 +0.053587999 0.012658 0.78072 +0.054366998 0.012651 0.78027999 +0.055206999 0.012658 0.78072 +0.055954002 0.012644 0.77983999 +0.056793999 0.012651 0.78027999 +0.057571001 0.012644 0.77983999 +0.05838 0.012644 0.77983999 +0.059122 0.01263 0.77897 +0.059997 0.012644 0.77983999 +0.060805999 0.012644 0.77983999 +0.061544999 0.01263 0.77897 +0.062387999 0.012637 0.77941 +0.063196003 0.012637 0.77941 +0.064039998 0.012644 0.77983999 +0.064813003 0.012637 0.77941 +0.065511003 0.012616 0.77810001 +0.066317998 0.012616 0.77810001 +0.067124002 0.012616 0.77810001 +0.067892998 0.012609 0.77766001 +0.068700001 0.012609 0.77766001 +0.069505997 0.012609 0.77766001 +0.070272997 0.012602 0.77723002 +0.071079001 0.012602 0.77723002 +0.071805 0.012588 0.77635998 +0.072568998 0.012581 0.77591997 +0.073374003 0.012581 0.77591997 +0.074178003 0.012581 0.77591997 +0.074941002 0.012574 0.77548999 +0.075745001 0.012574 0.77548999 +0.076549999 0.012574 0.77548999 +0.077396996 0.012581 0.77591997 +0.078070998 0.01256 0.77463001 +0.078873999 0.01256 0.77463001 +0.079632998 0.012553 0.77419001 +0.080390997 0.012546 0.77376002 +0.081102997 0.012532 0.77289999 +0.081904002 0.012532 0.77289999 +0.082797997 0.012546 0.77376002 +0.083507001 0.012532 0.77289999 +0.084215 0.012518 0.77204001 +0.085063003 0.012525 0.77247 +0.11263 0.015422 0.95117998 +0.11354 0.015412 0.95052999 +0.11437 0.015391 0.94923002 +0.11528 0.01538 0.94858998 +0.1161 0.015359 0.94729 +-0.036008 0.016275 0.94343001 +-0.03503 0.016275 0.94343001 +-0.034051999 0.016275 0.94343001 +-0.033073999 0.016275 0.94343001 +0.0031256999 0.016286001 0.94408 +0.0041046999 0.016286001 0.94408 +0.0050801998 0.016275 0.94343001 +0.0060585001 0.016275 0.94343001 +0.0087328004 0.012979 0.75239998 +0.009513 0.012979 0.75239998 +0.010299 0.012986 0.75281 +0.011091 0.013001 0.75362003 +0.011873 0.013001 0.75362003 +0.012647 0.012994 0.75321001 +0.013429 0.012994 0.75321001 +0.014202 0.012986 0.75281 +0.014974 0.012979 0.75239998 +0.015755 0.012979 0.75239998 +0.016517 0.012965 0.75158 +0.017286999 0.012958 0.75117999 +0.018037001 0.012937 0.74996001 +0.018794 0.012923 0.74914998 +0.029153001 0.0134 0.77679002 +0.029925 0.013385 0.77591997 +0.030679001 0.013363 0.77463001 +0.031482 0.013363 0.77463001 +0.032320999 0.013378 0.77548999 +0.033124998 0.013378 0.77548999 +0.033929002 0.013378 0.77548999 +0.034752999 0.013385 0.77591997 +0.035537999 0.013378 0.77548999 +0.036322001 0.01337 0.77506 +0.037145998 0.013378 0.77548999 +0.037950002 0.013378 0.77548999 +0.038775999 0.013385 0.77591997 +0.039581001 0.013385 0.77591997 +0.040408 0.013393 0.77635998 +0.041235998 0.0134 0.77679002 +0.042064998 0.013408 0.77723002 +0.042895 0.013415 0.77766001 +0.043726001 0.013423 0.77810001 +0.044507999 0.013415 0.77766001 +0.045338999 0.013423 0.77810001 +0.046197999 0.013438 0.77897 +0.047006 0.013438 0.77897 +0.047839999 0.013445 0.77941 +0.049485002 0.013453 0.77983999 +0.050321002 0.01346 0.78027999 +0.051130999 0.01346 0.78027999 +0.051940002 0.01346 0.78027999 +0.052777998 0.013468 0.78072 +0.053587999 0.013468 0.78072 +0.054366998 0.01346 0.78027999 +0.055206999 0.013468 0.78072 +0.055985 0.01346 0.78027999 +0.056793999 0.01346 0.78027999 +0.057603002 0.01346 0.78027999 +0.05838 0.013453 0.77983999 +0.059122 0.013438 0.77897 +0.059997 0.013453 0.77983999 +0.060805999 0.013453 0.77983999 +0.061579999 0.013445 0.77941 +0.062387999 0.013445 0.77941 +0.063196003 0.013445 0.77941 +0.064039998 0.013453 0.77983999 +0.064776003 0.013438 0.77897 +0.065511003 0.013423 0.77810001 +0.066317998 0.013423 0.77810001 +0.067087002 0.013415 0.77766001 +0.067855 0.013408 0.77723002 +0.068700001 0.013415 0.77766001 +0.069467001 0.013408 0.77723002 +0.070234001 0.0134 0.77679002 +0.071038999 0.0134 0.77679002 +0.071805 0.013393 0.77635998 +0.072568998 0.013385 0.77591997 +0.073374003 0.013385 0.77591997 +0.074178003 0.013385 0.77591997 +0.074899003 0.01337 0.77506 +0.075745001 0.013378 0.77548999 +0.076549999 0.013378 0.77548999 +0.077353999 0.013378 0.77548999 +0.078070998 0.013363 0.77463001 +0.078873999 0.013363 0.77463001 +0.079677001 0.013363 0.77463001 +0.080390997 0.013348 0.77376002 +0.081147999 0.013341 0.77332997 +0.081950001 0.013341 0.77332997 +0.082797997 0.013348 0.77376002 +0.083507001 0.013333 0.77289999 +0.084261999 0.013326 0.77247 +0.085063003 0.013326 0.77247 +0.085864 0.013326 0.77247 +0.086617 0.013318 0.77204001 +0.08732 0.013304 0.77118999 +0.11157 0.016396999 0.95052999 +0.1124 0.016375 0.94923002 +0.11331 0.016364001 0.94858998 +0.11421 0.016353 0.94793999 +0.11512 0.016341999 0.94729 +0.11594 0.016318999 0.94599998 +-0.035006002 0.017242 0.94278997 +-0.034029 0.017242 0.94278997 +-0.033050999 0.017242 0.94278997 +-0.032051999 0.01723 0.94216001 +-0.023212001 0.017194999 0.94024003 +0.0031236 0.017253 0.94343001 +0.0041018999 0.017253 0.94343001 +0.0050768 0.017242 0.94278997 +0.0060544 0.017242 0.94278997 +0.0070321001 0.017242 0.94278997 +0.0079482999 0.013752 0.75199002 +0.0087280003 0.013752 0.75199002 +0.0095078005 0.013752 0.75199002 +0.010293 0.01376 0.75239998 +0.011085 0.013775 0.75321001 +0.011866 0.013775 0.75321001 +0.012641 0.013767 0.75281 +0.013429 0.013775 0.75321001 +0.014194 0.01376 0.75239998 +0.014974 0.01376 0.75239998 +0.015755 0.01376 0.75239998 +0.016517 0.013745 0.75158 +0.017278001 0.01373 0.75076997 +0.018037001 0.013715 0.74996001 +0.018784 0.013693 0.74874997 +0.029105 0.014182 0.77548999 +0.029874999 0.014166 0.77463001 +0.030644 0.01415 0.77376002 +0.031429 0.014143 0.77332997 +0.032285001 0.014166 0.77463001 +0.033087999 0.014166 0.77463001 +0.033891998 0.014166 0.77463001 +0.034713998 0.014174 0.77506 +0.035518002 0.014174 0.77506 +0.036322001 0.014174 0.77506 +0.037124999 0.014174 0.77506 +0.037950002 0.014182 0.77548999 +0.038775999 0.01419 0.77591997 +0.039581001 0.01419 0.77591997 +0.040408 0.014198 0.77635998 +0.041235998 0.014206 0.77679002 +0.042064998 0.014214 0.77723002 +0.042895 0.014222 0.77766001 +0.043726001 0.01423 0.77810001 +0.044507999 0.014222 0.77766001 +0.045364998 0.014238 0.77853 +0.046197999 0.014246 0.77897 +0.047031999 0.014254 0.77941 +0.047839999 0.014254 0.77941 +0.048675999 0.014262 0.77983999 +0.049511999 0.01427 0.78027999 +0.050321002 0.01427 0.78027999 +0.051130999 0.01427 0.78027999 +0.051940002 0.01427 0.78027999 +0.052777998 0.014278 0.78072 +0.053587999 0.014278 0.78072 +0.054366998 0.01427 0.78027999 +0.055206999 0.014278 0.78072 +0.055985 0.01427 0.78027999 +0.056793999 0.01427 0.78027999 +0.057603002 0.01427 0.78027999 +0.058412999 0.01427 0.78027999 +0.059154999 0.014254 0.77941 +0.059997 0.014262 0.77983999 +0.060839999 0.01427 0.78027999 +0.061579999 0.014254 0.77941 +0.062387999 0.014254 0.77941 +0.063231997 0.014262 0.77983999 +0.064039998 0.014262 0.77983999 +0.064776003 0.014246 0.77897 +0.065511003 0.01423 0.77810001 +0.066317998 0.01423 0.77810001 +0.067087002 0.014222 0.77766001 +0.067855 0.014214 0.77723002 +0.068700001 0.014222 0.77766001 +0.069467001 0.014214 0.77723002 +0.070234001 0.014206 0.77679002 +0.071038999 0.014206 0.77679002 +0.071805 0.014198 0.77635998 +0.072568998 0.01419 0.77591997 +0.073374003 0.01419 0.77591997 +0.074137002 0.014182 0.77548999 +0.074899003 0.014174 0.77506 +0.075703003 0.014174 0.77506 +0.076507002 0.014174 0.77506 +0.077353999 0.014182 0.77548999 +0.078070998 0.014166 0.77463001 +0.078873999 0.014166 0.77463001 +0.079677001 0.014166 0.77463001 +0.080435999 0.014158 0.77419001 +0.081147999 0.014143 0.77332997 +0.081904002 0.014135 0.77289999 +0.082751997 0.014143 0.77332997 +0.083461002 0.014127 0.77247 +0.084215 0.014119 0.77204001 +0.085015997 0.014119 0.77204001 +0.085816003 0.014119 0.77204001 +0.086617 0.014119 0.77204001 +0.08732 0.014103 0.77118999 +0.088169001 0.014111 0.77161998 +0.11134 0.017348001 0.94858998 +0.11217 0.017324001 0.94729 +0.11308 0.017312 0.94665003 +0.11406 0.017312 0.94665003 +0.11496 0.0173 0.94599998 +0.11579 0.017277 0.94471997 +0.11677 0.017277 0.94471997 +0.11774 0.017277 0.94471997 +0.11864 0.017264999 0.94408 +0.0070273001 0.018207001 0.94216001 +0.007944 0.014524 0.75158 +0.0087233 0.014524 0.75158 +0.0095026996 0.014524 0.75158 +0.010288 0.014532 0.75199002 +0.011079 0.014548 0.75281 +0.01186 0.014548 0.75281 +0.012641 0.014548 0.75281 +0.013421 0.014548 0.75281 +0.014194 0.01454 0.75239998 +0.014974 0.01454 0.75239998 +0.015755 0.01454 0.75239998 +0.016517 0.014524 0.75158 +0.017286999 0.014516 0.75117999 +0.018045999 0.014501 0.75037003 +0.018794 0.014477 0.74914998 +0.026691999 0.014986 0.77548999 +0.027465999 0.014969 0.77463001 +0.028269 0.014969 0.77463001 +0.029039999 0.014953 0.77376002 +0.029809 0.014936 0.77289999 +0.030593 0.014928 0.77247 +0.031376999 0.01492 0.77204001 +0.032249 0.014953 0.77376002 +0.033070002 0.014961 0.77419001 +0.033872999 0.014961 0.77419001 +0.034694999 0.014969 0.77463001 +0.035518002 0.014978 0.77506 +0.036322001 0.014978 0.77506 +0.037124999 0.014978 0.77506 +0.037950002 0.014986 0.77548999 +0.038775999 0.014994 0.77591997 +0.039581001 0.014994 0.77591997 +0.040408 0.015003 0.77635998 +0.041235998 0.015011 0.77679002 +0.042064998 0.01502 0.77723002 +0.042895 0.015028 0.77766001 +0.043726001 0.015036 0.77810001 +0.044507999 0.015028 0.77766001 +0.045338999 0.015036 0.77810001 +0.046197999 0.015053 0.77897 +0.047031999 0.015062 0.77941 +0.047839999 0.015062 0.77941 +0.048675999 0.01507 0.77983999 +0.049485002 0.01507 0.77983999 +0.050321002 0.015079 0.78027999 +0.051130999 0.015079 0.78027999 +0.051940002 0.015079 0.78027999 +0.052777998 0.015087 0.78072 +0.053587999 0.015087 0.78072 +0.054398 0.015087 0.78072 +0.055206999 0.015087 0.78072 +0.055985 0.015079 0.78027999 +0.056793999 0.015079 0.78027999 +0.057636 0.015087 0.78072 +0.058412999 0.015079 0.78027999 +0.059188001 0.01507 0.77983999 +0.060031001 0.015079 0.78027999 +0.060839999 0.015079 0.78027999 +0.061613999 0.01507 0.77983999 +0.062422998 0.01507 0.77983999 +0.063231997 0.01507 0.77983999 +0.064075999 0.015079 0.78027999 +0.064813003 0.015062 0.77941 +0.065546997 0.015045 0.77853 +0.066354997 0.015045 0.77853 +0.067124002 0.015036 0.77810001 +0.067892998 0.015028 0.77766001 +0.068700001 0.015028 0.77766001 +0.069467001 0.01502 0.77723002 +0.070272997 0.01502 0.77723002 +0.071038999 0.015011 0.77679002 +0.071805 0.015003 0.77635998 +0.072568998 0.014994 0.77591997 +0.073374003 0.014994 0.77591997 +0.074137002 0.014986 0.77548999 +0.074899003 0.014978 0.77506 +0.075703003 0.014978 0.77506 +0.076507002 0.014978 0.77506 +0.077311002 0.014978 0.77506 +0.078070998 0.014969 0.77463001 +0.078873999 0.014969 0.77463001 +0.079677001 0.014969 0.77463001 +0.080435999 0.014961 0.77419001 +0.081147999 0.014944 0.77332997 +0.081904002 0.014936 0.77289999 +0.082705997 0.014936 0.77289999 +0.083415002 0.01492 0.77204001 +0.084168002 0.014911 0.77161998 +0.084968001 0.014911 0.77161998 +0.085768998 0.014911 0.77161998 +0.086521 0.014903 0.77118999 +0.087272003 0.014895 0.77076 +0.088119999 0.014903 0.77118999 +0.088869996 0.014895 0.77076 +0.089670002 0.014895 0.77076 +0.11202 0.018281 0.94599998 +0.11292 0.018269001 0.94536 +0.1139 0.018269001 0.94536 +0.11481 0.018255999 0.94471997 +0.11571 0.018244 0.94408 +0.11669 0.018244 0.94408 +0.11766 0.018244 0.94408 +0.11856 0.018231999 0.94343001 +0.11954 0.018231999 0.94343001 +0.12052 0.018231999 0.94343001 +0.1215 0.018231999 0.94343001 +0.12248 0.018231999 0.94343001 +-0.025162 0.019145001 0.94024003 +0.002296 0.01412 0.69344997 +0.0037397 0.014141 0.69449002 +0.0044598999 0.014141 0.69449002 +0.007944 0.015304 0.75158 +0.0087185996 0.015295 0.75117999 +0.0095026996 0.015304 0.75158 +0.010282 0.015304 0.75158 +0.011079 0.015328 0.75281 +0.01186 0.015328 0.75281 +0.012641 0.015328 0.75281 +0.013429 0.015337 0.75321001 +0.014202 0.015328 0.75281 +0.014974 0.01532 0.75239998 +0.015755 0.01532 0.75239998 +0.016526001 0.015312 0.75199002 +0.017295999 0.015304 0.75158 +0.018056 0.015287 0.75076997 +0.018813999 0.01527 0.74996001 +0.024118001 0.015685 0.77033001 +0.024876 0.015659001 0.76905 +0.025715999 0.015685 0.77033001 +0.026559001 0.015711 0.77161998 +0.027388999 0.015729001 0.77247 +0.02819 0.015729001 0.77247 +0.028991001 0.015729001 0.77247 +0.029758999 0.015711 0.77161998 +0.030559 0.015711 0.77161998 +0.03136 0.015711 0.77161998 +0.032212999 0.015737999 0.77289999 +0.033052001 0.015755 0.77376002 +0.033854 0.015755 0.77376002 +0.034694999 0.015773 0.77463001 +0.035518002 0.015781 0.77506 +0.036322001 0.015781 0.77506 +0.037145998 0.015790001 0.77548999 +0.037971001 0.015799001 0.77591997 +0.038798001 0.015807999 0.77635998 +0.039602999 0.015807999 0.77635998 +0.040429998 0.015817 0.77679002 +0.041258998 0.015826 0.77723002 +0.042064998 0.015826 0.77723002 +0.042895 0.015834 0.77766001 +0.043749999 0.015852001 0.77853 +0.044532999 0.015843 0.77810001 +0.045364998 0.015852001 0.77853 +0.046197999 0.015861001 0.77897 +0.047031999 0.015869999 0.77941 +0.047839999 0.015869999 0.77941 +0.048675999 0.015879 0.77983999 +0.049511999 0.015888 0.78027999 +0.050321002 0.015888 0.78027999 +0.051130999 0.015888 0.78027999 +0.051940002 0.015888 0.78027999 +0.052777998 0.015897 0.78072 +0.053587999 0.015897 0.78072 +0.054398 0.015897 0.78072 +0.055238001 0.015906001 0.78116 +0.056017 0.015897 0.78072 +0.056825999 0.015897 0.78072 +0.057636 0.015897 0.78072 +0.058444999 0.015897 0.78072 +0.059188001 0.015879 0.77983999 +0.060065001 0.015897 0.78072 +0.060874 0.015897 0.78072 +0.061648998 0.015888 0.78027999 +0.062458001 0.015888 0.78027999 +0.063267 0.015888 0.78027999 +0.064075999 0.015888 0.78027999 +0.064848997 0.015879 0.77983999 +0.065583996 0.015861001 0.77897 +0.066391997 0.015861001 0.77897 +0.067162 0.015852001 0.77853 +0.067930996 0.015843 0.77810001 +0.068737999 0.015843 0.77810001 +0.069505997 0.015834 0.77766001 +0.070272997 0.015826 0.77723002 +0.071038999 0.015817 0.77679002 +0.071805 0.015807999 0.77635998 +0.072568998 0.015799001 0.77591997 +0.073374003 0.015799001 0.77591997 +0.074178003 0.015799001 0.77591997 +0.074899003 0.015781 0.77506 +0.075703003 0.015781 0.77506 +0.076507002 0.015781 0.77506 +0.077311002 0.015781 0.77506 +0.078070998 0.015773 0.77463001 +0.078829996 0.015764 0.77419001 +0.079632998 0.015764 0.77419001 +0.080435999 0.015764 0.77419001 +0.081102997 0.015737999 0.77289999 +0.081904002 0.015737999 0.77289999 +0.082659997 0.015729001 0.77247 +0.083322003 0.015703 0.77118999 +0.084122002 0.015703 0.77118999 +0.084873997 0.015694 0.77076 +0.085625999 0.015685 0.77033001 +0.086424999 0.015685 0.77033001 +0.087223999 0.015685 0.77033001 +0.088022001 0.015685 0.77033001 +0.088771999 0.015676999 0.76990998 +0.089570001 0.015676999 0.76990998 +0.090369001 0.015676999 0.76990998 +0.11375 0.019223001 0.94408 +0.11473 0.019223001 0.94408 +0.11555 0.019197 0.94278997 +0.11661 0.01921 0.94343001 +0.11759 0.01921 0.94343001 +0.11848 0.019197 0.94278997 +0.11946 0.019197 0.94278997 +0.12044 0.019197 0.94278997 +0.12142 0.019197 0.94278997 +0.12231 0.019184001 0.94216001 +0.0015761 0.014832 0.69310999 +0.002296 0.014839 0.69344997 +0.0030181 0.014854 0.69414997 +0.0037397 0.014861 0.69449002 +0.0044598999 0.014861 0.69449002 +0.0071645998 0.016083 0.75158 +0.0079397 0.016074 0.75117999 +0.0087185996 0.016074 0.75117999 +0.0094975 0.016074 0.75117999 +0.010282 0.016083 0.75158 +0.011079 0.016109001 0.75281 +0.01186 0.016109001 0.75281 +0.012647 0.016117999 0.75321001 +0.013436 0.016125999 0.75362003 +0.014202 0.016109001 0.75281 +0.014983 0.016109001 0.75281 +0.015763 0.016109001 0.75281 +0.016535001 0.016100001 0.75239998 +0.017315 0.016100001 0.75239998 +0.018076001 0.016083 0.75158 +0.018844999 0.016074 0.75117999 +0.024064999 0.016448 0.76863003 +0.024847999 0.016438 0.76819998 +0.025673 0.016457001 0.76905 +0.026515 0.016484 0.77033001 +0.027344 0.016502 0.77118999 +0.028143 0.016502 0.77118999 +0.028959 0.016511999 0.77161998 +0.029743001 0.016502 0.77118999 +0.030541999 0.016502 0.77118999 +0.031342 0.016502 0.77118999 +0.032195002 0.01653 0.77247 +0.033032998 0.016548 0.77332997 +0.033835001 0.016548 0.77332997 +0.034694999 0.016576 0.77463001 +0.035518002 0.016585 0.77506 +0.036322001 0.016585 0.77506 +0.037145998 0.016594 0.77548999 +0.037971001 0.016604001 0.77591997 +0.038798001 0.016612999 0.77635998 +0.039625 0.016621999 0.77679002 +0.040429998 0.016621999 0.77679002 +0.041258998 0.016632 0.77723002 +0.042087998 0.016641 0.77766001 +0.042918999 0.016650001 0.77810001 +0.043749999 0.016659999 0.77853 +0.044532999 0.016650001 0.77810001 +0.045364998 0.016659999 0.77853 +0.046197999 0.016669 0.77897 +0.047031999 0.016678 0.77941 +0.047839999 0.016678 0.77941 +0.048675999 0.016688 0.77983999 +0.049511999 0.016697001 0.78027999 +0.050321002 0.016697001 0.78027999 +0.051130999 0.016697001 0.78027999 +0.051940002 0.016697001 0.78027999 +0.052777998 0.016705999 0.78072 +0.053587999 0.016705999 0.78072 +0.054398 0.016705999 0.78072 +0.055238001 0.016716 0.78116 +0.056017 0.016705999 0.78072 +0.056825999 0.016705999 0.78072 +0.057636 0.016705999 0.78072 +0.058444999 0.016705999 0.78072 +0.059222002 0.016697001 0.78027999 +0.060065001 0.016705999 0.78072 +0.060874 0.016705999 0.78072 +0.061648998 0.016697001 0.78027999 +0.062458001 0.016697001 0.78027999 +0.063267 0.016697001 0.78027999 +0.064075999 0.016697001 0.78027999 +0.064848997 0.016688 0.77983999 +0.065621004 0.016678 0.77941 +0.066391997 0.016669 0.77897 +0.067162 0.016659999 0.77853 +0.067930996 0.016650001 0.77810001 +0.068737999 0.016650001 0.77810001 +0.069505997 0.016641 0.77766001 +0.070272997 0.016632 0.77723002 +0.071038999 0.016621999 0.77679002 +0.071805 0.016612999 0.77635998 +0.072568998 0.016604001 0.77591997 +0.073374003 0.016604001 0.77591997 +0.074178003 0.016604001 0.77591997 +0.074941002 0.016594 0.77548999 +0.075745001 0.016594 0.77548999 +0.076507002 0.016585 0.77506 +0.077311002 0.016585 0.77506 +0.078070998 0.016576 0.77463001 +0.078829996 0.016566999 0.77419001 +0.079632998 0.016566999 0.77419001 +0.080390997 0.016557001 0.77376002 +0.081102997 0.016539 0.77289999 +0.081859 0.01653 0.77247 +0.082613997 0.016520999 0.77204001 +0.083276004 0.016493 0.77076 +0.084027998 0.016484 0.77033001 +0.084826998 0.016484 0.77033001 +0.085579 0.016474999 0.76990998 +0.086377002 0.016474999 0.76990998 +0.087127 0.016465999 0.76947999 +0.087973997 0.016474999 0.76990998 +0.088722996 0.016465999 0.76947999 +0.089470997 0.016457001 0.76905 +0.090319 0.016465999 0.76947999 +0.091016002 0.016448 0.76863003 +0.091863997 0.016457001 0.76905 +0.11465 0.020188 0.94343001 +0.11555 0.020175001 0.94278997 +0.11653 0.020175001 0.94278997 +0.11751 0.020175001 0.94278997 +0.1184 0.020160999 0.94216001 +0.11946 0.020175001 0.94278997 +0.12036 0.020160999 0.94216001 +0.12133 0.020160999 0.94216001 +0.2931 0.020215999 0.94471997 +0.29387999 0.020202 0.94408 +0.00085736997 0.01555 0.69310999 +0.0015753 0.015543 0.69275999 +0.002296 0.015558 0.69344997 +0.0030165 0.015566 0.69379997 +0.0037397 0.015581 0.69449002 +0.0044577001 0.015574 0.69414997 +0.0063749002 0.016835 0.75037003 +0.0071569001 0.016844001 0.75076997 +0.0079354001 0.016844001 0.75076997 +0.0087139001 0.016844001 0.75076997 +0.0094873002 0.016835 0.75037003 +0.010271 0.016844001 0.75076997 +0.011073 0.01688 0.75239998 +0.01186 0.016890001 0.75281 +0.012647 0.016899001 0.75321001 +0.013436 0.016907999 0.75362003 +0.01421 0.016899001 0.75321001 +0.014983 0.016890001 0.75281 +0.015772 0.016899001 0.75321001 +0.016553 0.016899001 0.75321001 +0.017333999 0.016899001 0.75321001 +0.018095 0.01688 0.75239998 +0.018874999 0.01688 0.75239998 +0.022274001 0.017092999 0.76188999 +0.024038 0.017225999 0.76778001 +0.024821 0.017216001 0.76735002 +0.025645001 0.017235 0.76819998 +0.026485 0.017263999 0.76947999 +0.027313 0.017283 0.77033001 +0.028112 0.017283 0.77033001 +0.028927 0.017292 0.77076 +0.029726001 0.017292 0.77076 +0.030525999 0.017292 0.77076 +0.031342 0.017302001 0.77118999 +0.032178 0.017321 0.77204001 +0.033032998 0.017349999 0.77332997 +0.033835001 0.017349999 0.77332997 +0.034676 0.01737 0.77419001 +0.035518002 0.017388999 0.77506 +0.036322001 0.017388999 0.77506 +0.037145998 0.017399 0.77548999 +0.037971001 0.017408 0.77591997 +0.038798001 0.017418001 0.77635998 +0.039625 0.017428 0.77679002 +0.040429998 0.017428 0.77679002 +0.041258998 0.017438 0.77723002 +0.042087998 0.017447 0.77766001 +0.042918999 0.017457001 0.77810001 +0.043749999 0.017467 0.77853 +0.044558 0.017467 0.77853 +0.045389999 0.017477 0.77897 +0.046224002 0.017486 0.77941 +0.047031999 0.017486 0.77941 +0.047867 0.017495999 0.77983999 +0.048675999 0.017495999 0.77983999 +0.049511999 0.017506 0.78027999 +0.050321002 0.017506 0.78027999 +0.051130999 0.017506 0.78027999 +0.051968999 0.017516 0.78072 +0.052808002 0.017526001 0.78116 +0.053617999 0.017526001 0.78116 +0.054398 0.017516 0.78072 +0.055238001 0.017526001 0.78116 +0.056047998 0.017526001 0.78116 +0.056825999 0.017516 0.78072 +0.057668 0.017526001 0.78116 +0.058478002 0.017526001 0.78116 +0.059222002 0.017506 0.78027999 +0.060065001 0.017516 0.78072 +0.060874 0.017516 0.78072 +0.061684001 0.017516 0.78072 +0.062493 0.017516 0.78072 +0.063303001 0.017516 0.78072 +0.064075999 0.017506 0.78027999 +0.064848997 0.017495999 0.77983999 +0.065621004 0.017486 0.77941 +0.066428997 0.017486 0.77941 +0.067162 0.017467 0.77853 +0.067930996 0.017457001 0.77810001 +0.068737999 0.017457001 0.77810001 +0.069505997 0.017447 0.77766001 +0.070272997 0.017438 0.77723002 +0.071038999 0.017428 0.77679002 +0.071805 0.017418001 0.77635998 +0.072609998 0.017418001 0.77635998 +0.073374003 0.017408 0.77591997 +0.074178003 0.017408 0.77591997 +0.074941002 0.017399 0.77548999 +0.075745001 0.017399 0.77548999 +0.076507002 0.017388999 0.77506 +0.077311002 0.017388999 0.77506 +0.078070998 0.017379001 0.77463001 +0.078829996 0.01737 0.77419001 +0.079632998 0.01737 0.77419001 +0.080390997 0.01736 0.77376002 +0.081058003 0.017331 0.77247 +0.081813 0.017321 0.77204001 +0.082567997 0.017312 0.77161998 +0.083276004 0.017292 0.77076 +0.084027998 0.017283 0.77033001 +0.08478 0.017273 0.76990998 +0.085530996 0.017263999 0.76947999 +0.086328998 0.017263999 0.76947999 +0.087127 0.017263999 0.76947999 +0.087925002 0.017263999 0.76947999 +0.088674001 0.017254001 0.76905 +0.089422002 0.017245 0.76863003 +0.090268999 0.017254001 0.76905 +0.090965003 0.017235 0.76819998 +0.091812998 0.017245 0.76863003 +0.092559002 0.017235 0.76819998 +0.11547 0.021137999 0.94216001 +0.11653 0.021152001 0.94278997 +0.11743 0.021137999 0.94216001 +0.11832 0.021122999 0.94151998 +0.11938 0.021137999 0.94216001 +0.12036 0.021137999 0.94216001 +0.12125 0.021122999 0.94151998 +0.12214 0.021109 0.94088 +0.29368001 0.021167001 0.94343001 +0.00085736997 0.016269 0.69310999 +0.0015745 0.016253 0.69242001 +0.0022948 0.016269 0.69310999 +0.0030165 0.016285 0.69379997 +0.0037378999 0.016293 0.69414997 +0.0044577001 0.016293 0.69414997 +0.0063680001 0.017594 0.74956 +0.0071490998 0.017604001 0.74996001 +0.0079268003 0.017604001 0.74996001 +0.0087045003 0.017604001 0.74996001 +0.0094771003 0.017594 0.74956 +0.01026 0.017604001 0.74996001 +0.011061 0.017642001 0.75158 +0.011854 0.017661 0.75239998 +0.012647 0.017680001 0.75321001 +0.013436 0.017689001 0.75362003 +0.01421 0.017680001 0.75321001 +0.014991 0.017680001 0.75321001 +0.015789 0.017698999 0.75402999 +0.016571 0.017698999 0.75402999 +0.017353 0.017698999 0.75402999 +0.018124999 0.017689001 0.75362003 +0.019817 0.017805001 0.75856 +0.020637 0.017835001 0.75980002 +0.02146 0.017864 0.76104999 +0.022298001 0.017903 0.76271999 +0.023165001 0.017961999 0.76524001 +0.024025001 0.018012 0.76735002 +0.024807001 0.018002 0.76692998 +0.025630999 0.018022001 0.76778001 +0.026471 0.018052001 0.76905 +0.027298 0.018072 0.76990998 +0.028112 0.018082 0.77033001 +0.028927 0.018092001 0.77076 +0.029726001 0.018092001 0.77076 +0.030525999 0.018092001 0.77076 +0.031342 0.018102 0.77118999 +0.032178 0.018122001 0.77204001 +0.033032998 0.018152 0.77332997 +0.033835001 0.018152 0.77332997 +0.034676 0.018172 0.77419001 +0.035518002 0.018193001 0.77506 +0.036322001 0.018193001 0.77506 +0.037145998 0.018203 0.77548999 +0.037971001 0.018213 0.77591997 +0.038819 0.018232999 0.77679002 +0.039625 0.018232999 0.77679002 +0.040429998 0.018232999 0.77679002 +0.041258998 0.018243 0.77723002 +0.042087998 0.018254001 0.77766001 +0.042918999 0.018263999 0.77810001 +0.043749999 0.018274 0.77853 +0.044558 0.018274 0.77853 +0.045389999 0.018284 0.77897 +0.046224002 0.018294999 0.77941 +0.047059 0.018305 0.77983999 +0.047894001 0.018315 0.78027999 +0.048703 0.018315 0.78027999 +0.049539998 0.018324999 0.78072 +0.050349999 0.018324999 0.78072 +0.051158998 0.018324999 0.78072 +0.051968999 0.018324999 0.78072 +0.052838001 0.018346 0.7816 +0.053617999 0.018336 0.78116 +0.054428 0.018336 0.78116 +0.055238001 0.018336 0.78116 +0.056047998 0.018336 0.78116 +0.056857999 0.018336 0.78116 +0.057668 0.018336 0.78116 +0.058478002 0.018336 0.78116 +0.059255 0.018324999 0.78072 +0.060098 0.018336 0.78116 +0.060908001 0.018336 0.78116 +0.061684001 0.018324999 0.78072 +0.062493 0.018324999 0.78072 +0.063303001 0.018324999 0.78072 +0.064112 0.018324999 0.78072 +0.064885996 0.018315 0.78027999 +0.065658003 0.018305 0.77983999 +0.066428997 0.018294999 0.77941 +0.067199998 0.018284 0.77897 +0.067969002 0.018274 0.77853 +0.068737999 0.018263999 0.77810001 +0.069505997 0.018254001 0.77766001 +0.070312999 0.018254001 0.77766001 +0.071079001 0.018243 0.77723002 +0.071845002 0.018232999 0.77679002 +0.072609998 0.018223001 0.77635998 +0.073374003 0.018213 0.77591997 +0.074178003 0.018213 0.77591997 +0.074941002 0.018203 0.77548999 +0.075745001 0.018203 0.77548999 +0.076507002 0.018193001 0.77506 +0.077311002 0.018193001 0.77506 +0.078070998 0.018182 0.77463001 +0.078829996 0.018172 0.77419001 +0.079588003 0.018162001 0.77376002 +0.080346003 0.018152 0.77332997 +0.081058003 0.018131999 0.77247 +0.081813 0.018122001 0.77204001 +0.082567997 0.018112 0.77161998 +0.083276004 0.018092001 0.77076 +0.084027998 0.018082 0.77033001 +0.08478 0.018072 0.76990998 +0.085530996 0.018061999 0.76947999 +0.086281002 0.018052001 0.76905 +0.087079003 0.018052001 0.76905 +0.087925002 0.018061999 0.76947999 +0.088624999 0.018042 0.76863003 +0.089372002 0.018031999 0.76819998 +0.090168998 0.018031999 0.76819998 +0.090865001 0.018012 0.76735002 +0.091711 0.018022001 0.76778001 +0.092455998 0.018012 0.76735002 +0.093148999 0.017991999 0.76651001 +0.11645 0.022115 0.94216001 +0.11735 0.0221 0.94151998 +0.11824 0.022085 0.94088 +0.1193 0.0221 0.94151998 +0.12019 0.022085 0.94088 +0.00085693999 0.016979 0.69275999 +0.0015737 0.016961999 0.69207001 +0.0022936999 0.016979 0.69275999 +0.0030149999 0.016996 0.69344997 +0.003736 0.017005 0.69379997 +0.0044554002 0.017005 0.69379997 +0.0063542998 0.018332001 0.74794 +0.0071414001 0.018361 0.74914998 +0.0079140002 0.018351 0.74874997 +0.0086951004 0.018361 0.74914998 +0.0094667999 0.018351 0.74874997 +0.010243 0.018351 0.74874997 +0.011038 0.018381 0.74996001 +0.011834 0.018410999 0.75117999 +0.012634 0.018440999 0.75239998 +0.013429 0.018461 0.75321001 +0.01421 0.018461 0.75321001 +0.014991 0.018461 0.75321001 +0.015797 0.018491 0.75444001 +0.016580001 0.018491 0.75444001 +0.017362 0.018491 0.75444001 +0.018154001 0.018501 0.75484997 +0.01902 0.018581999 0.75814003 +0.019849 0.018622 0.75980002 +0.02066 0.018642999 0.76063001 +0.021484001 0.018673001 0.76188999 +0.022298001 0.018694 0.76271999 +0.023153 0.018745 0.76481998 +0.024011999 0.018797001 0.76692998 +0.024793001 0.018787 0.76651001 +0.025630999 0.018818 0.76778001 +0.026456 0.018839 0.76863003 +0.027283 0.018859999 0.76947999 +0.028097 0.01887 0.76990998 +0.028911 0.01888 0.77033001 +0.029726001 0.018890999 0.77076 +0.030541999 0.018901 0.77118999 +0.031342 0.018901 0.77118999 +0.032178 0.018921999 0.77204001 +0.033032998 0.018954 0.77332997 +0.033854 0.018965 0.77376002 +0.034676 0.018975001 0.77419001 +0.035518002 0.018996 0.77506 +0.036322001 0.018996 0.77506 +0.037145998 0.019006999 0.77548999 +0.037992999 0.019028001 0.77635998 +0.038819 0.019038999 0.77679002 +0.039625 0.019038999 0.77679002 +0.040453002 0.019049 0.77723002 +0.041281998 0.019060001 0.77766001 +0.042112 0.019071 0.77810001 +0.042918999 0.019071 0.77810001 +0.043775 0.019091999 0.77897 +0.044581998 0.019091999 0.77897 +0.045416001 0.019103 0.77941 +0.046250001 0.019114001 0.77983999 +0.047084998 0.019123999 0.78027999 +0.047920998 0.019135 0.78072 +0.048730999 0.019135 0.78072 +0.049568001 0.019145999 0.78116 +0.050349999 0.019135 0.78072 +0.051158998 0.019135 0.78072 +0.051998001 0.019145999 0.78116 +0.052838001 0.019157 0.7816 +0.053647999 0.019157 0.7816 +0.054428 0.019145999 0.78116 +0.055268999 0.019157 0.7816 +0.056079999 0.019157 0.7816 +0.056857999 0.019145999 0.78116 +0.057700999 0.019157 0.7816 +0.058511 0.019157 0.7816 +0.059287999 0.019145999 0.78116 +0.060098 0.019145999 0.78116 +0.060943 0.019157 0.7816 +0.061717998 0.019145999 0.78116 +0.062527999 0.019145999 0.78116 +0.063337997 0.019145999 0.78116 +0.064148001 0.019145999 0.78116 +0.064921997 0.019135 0.78072 +0.065695003 0.019123999 0.78027999 +0.066466004 0.019114001 0.77983999 +0.067236997 0.019103 0.77941 +0.068046004 0.019103 0.77941 +0.068777002 0.019081 0.77853 +0.069545001 0.019071 0.77810001 +0.070312999 0.019060001 0.77766001 +0.071079001 0.019049 0.77723002 +0.071845002 0.019038999 0.77679002 +0.072609998 0.019028001 0.77635998 +0.073415004 0.019028001 0.77635998 +0.074178003 0.019018 0.77591997 +0.074941002 0.019006999 0.77548999 +0.075745001 0.019006999 0.77548999 +0.076507002 0.018996 0.77506 +0.077311002 0.018996 0.77506 +0.078070998 0.018986 0.77463001 +0.078829996 0.018975001 0.77419001 +0.079588003 0.018965 0.77376002 +0.080346003 0.018954 0.77332997 +0.081058003 0.018933 0.77247 +0.081767999 0.018912001 0.77161998 +0.082567997 0.018912001 0.77161998 +0.083276004 0.018890999 0.77076 +0.083981998 0.01887 0.76990998 +0.08478 0.01887 0.76990998 +0.085530996 0.018859999 0.76947999 +0.086281002 0.018849 0.76905 +0.087030999 0.018839 0.76863003 +0.087828003 0.018839 0.76863003 +0.088527001 0.018818 0.76778001 +0.089273997 0.018807 0.76735002 +0.090118997 0.018818 0.76778001 +0.090764999 0.018787 0.76651001 +0.091559999 0.018787 0.76651001 +0.092303999 0.018776 0.76608998 +0.092995003 0.018756 0.76524001 +0.093686 0.018735001 0.76440001 +0.11727 0.02306 0.94088 +0.11816 0.023045 0.94024003 +0.11914 0.023045 0.94024003 +0.12011 0.023045 0.94024003 +0.00085608999 0.017680001 0.69207001 +0.001573 0.017671 0.69173002 +0.0022925001 0.017689001 0.69242001 +0.0030135 0.017705999 0.69310999 +0.0037340999 0.017715 0.69344997 +0.0063441 0.019076999 0.74673998 +0.0071337 0.019118 0.74835002 +0.0079055 0.019107001 0.74794 +0.0086856997 0.019118 0.74835002 +0.0094515998 0.019097 0.74754 +0.010227 0.019097 0.74754 +0.011026 0.019138001 0.74914998 +0.011815 0.019159 0.74996001 +0.012613 0.01919 0.75117999 +0.013421 0.019231999 0.75281 +0.014202 0.019231999 0.75281 +0.014991 0.019242 0.75321001 +0.015797 0.019273 0.75444001 +0.016589001 0.019284001 0.75484997 +0.017371001 0.019284001 0.75484997 +0.018174 0.019305 0.75567001 +0.01904 0.019389 0.75897002 +0.019871 0.019432001 0.76063001 +0.020682 0.019453 0.76147002 +0.021495 0.019474 0.76230001 +0.022298001 0.019485001 0.76271999 +0.02314 0.019528 0.76440001 +0.023998 0.019582 0.76651001 +0.024793001 0.019582 0.76651001 +0.025615999 0.019602999 0.76735002 +0.026456 0.019636 0.76863003 +0.027283 0.019657001 0.76947999 +0.028097 0.019668 0.76990998 +0.028911 0.019679001 0.77033001 +0.029726001 0.01969 0.77076 +0.030541999 0.019701 0.77118999 +0.03136 0.019711999 0.77161998 +0.032195002 0.019734001 0.77247 +0.033052001 0.019766999 0.77376002 +0.033854 0.019766999 0.77376002 +0.034694999 0.019788999 0.77463001 +0.035518002 0.0198 0.77506 +0.036322001 0.0198 0.77506 +0.037167002 0.019822 0.77591997 +0.037992999 0.019833 0.77635998 +0.038819 0.019843999 0.77679002 +0.039647002 0.019855 0.77723002 +0.040476002 0.019866001 0.77766001 +0.041305002 0.019878 0.77810001 +0.042135999 0.019889001 0.77853 +0.042943001 0.019889001 0.77853 +0.043799002 0.019911001 0.77941 +0.044633001 0.019921999 0.77983999 +0.045441002 0.019921999 0.77983999 +0.046275999 0.019933 0.78027999 +0.047111001 0.019944999 0.78072 +0.047947999 0.019956 0.78116 +0.048758 0.019956 0.78116 +0.049568001 0.019956 0.78116 +0.050377999 0.019956 0.78116 +0.051188 0.019956 0.78116 +0.052026998 0.019966999 0.7816 +0.052868001 0.019978 0.78204 +0.053647999 0.019966999 0.7816 +0.054458998 0.019966999 0.7816 +0.055300001 0.019978 0.78204 +0.056111 0.019978 0.78204 +0.05689 0.019966999 0.7816 +0.057732999 0.019978 0.78204 +0.058543999 0.019978 0.78204 +0.059322 0.019966999 0.7816 +0.060132001 0.019966999 0.7816 +0.060943 0.019966999 0.7816 +0.061753001 0.019966999 0.7816 +0.062564 0.019966999 0.7816 +0.063373998 0.019966999 0.7816 +0.064148001 0.019956 0.78116 +0.064958997 0.019956 0.78116 +0.065732002 0.019944999 0.78072 +0.066541001 0.019944999 0.78072 +0.067313001 0.019933 0.78027999 +0.068084002 0.019921999 0.77983999 +0.068853997 0.019911001 0.77941 +0.069583997 0.019889001 0.77853 +0.070352003 0.019878 0.77810001 +0.071079001 0.019855 0.77723002 +0.071845002 0.019843999 0.77679002 +0.072609998 0.019833 0.77635998 +0.073415004 0.019833 0.77635998 +0.074178003 0.019822 0.77591997 +0.074983001 0.019822 0.77591997 +0.075745001 0.019811001 0.77548999 +0.076507002 0.0198 0.77506 +0.077311002 0.0198 0.77506 +0.078070998 0.019788999 0.77463001 +0.078873999 0.019788999 0.77463001 +0.079588003 0.019766999 0.77376002 +0.080346003 0.019756 0.77332997 +0.081058003 0.019734001 0.77247 +0.081813 0.019723 0.77204001 +0.082567997 0.019711999 0.77161998 +0.083276004 0.01969 0.77076 +0.083981998 0.019668 0.76990998 +0.084733002 0.019657001 0.76947999 +0.085530996 0.019657001 0.76947999 +0.086234003 0.019636 0.76863003 +0.086981997 0.019625001 0.76819998 +0.087779 0.019625001 0.76819998 +0.088477999 0.019602999 0.76735002 +0.089224003 0.019592 0.76692998 +0.090020001 0.019592 0.76692998 +0.090614997 0.019548999 0.76524001 +0.091407999 0.019548999 0.76524001 +0.092151001 0.019538 0.76481998 +0.092892997 0.019528 0.76440001 +0.093583003 0.019506 0.76356 +0.094374999 0.019506 0.76356 +0.11995 0.023987001 0.93897003 +0.00085523003 0.018378999 0.69138002 +0.0015714 0.018370001 0.69103998 +0.0022914 0.018398 0.69207001 +0.0030119999 0.018416001 0.69275999 +0.0037322999 0.018425001 0.69310999 +0.0063339001 0.019819001 0.74554002 +0.0071260999 0.019872 0.74754 +0.0079012001 0.019872 0.74754 +0.0086764004 0.019872 0.74754 +0.0094464999 0.019862 0.74713999 +0.010216 0.019850999 0.74673998 +0.011008 0.019882999 0.74794 +0.011796 0.019904001 0.74874997 +0.012586 0.019926 0.74956 +0.013407 0.019990001 0.75199002 +0.014194 0.020001 0.75239998 +0.014991 0.020022999 0.75321001 +0.015797 0.020056 0.75444001 +0.016589001 0.020066001 0.75484997 +0.01739 0.020088 0.75567001 +0.018204 0.020121001 0.75691003 +0.019051 0.020187 0.75939 +0.019881999 0.020230999 0.76104999 +0.020682 0.020242 0.76147002 +0.021495 0.020265 0.76230001 +0.022298001 0.020276001 0.76271999 +0.023114 0.020298 0.76356 +0.023985 0.020365 0.76608998 +0.02478 0.020365 0.76608998 +0.025602 0.020388 0.76692998 +0.026456 0.020432999 0.76863003 +0.027268 0.020444 0.76905 +0.028081 0.020455001 0.76947999 +0.028895 0.020467 0.76990998 +0.02971 0.020478001 0.77033001 +0.030541999 0.020501001 0.77118999 +0.03136 0.020512 0.77161998 +0.032195002 0.020535 0.77247 +0.033052001 0.020569 0.77376002 +0.033854 0.020569 0.77376002 +0.034694999 0.020592 0.77463001 +0.035537999 0.020615 0.77548999 +0.036341999 0.020615 0.77548999 +0.037167002 0.020626999 0.77591997 +0.038013998 0.020649999 0.77679002 +0.038841002 0.020661 0.77723002 +0.039669 0.020672999 0.77766001 +0.040498 0.020684 0.77810001 +0.041351002 0.020708 0.77897 +0.042158999 0.020708 0.77897 +0.042991001 0.020718999 0.77941 +0.043823998 0.020731 0.77983999 +0.044658002 0.020742999 0.78027999 +0.045492001 0.020754 0.78072 +0.046301998 0.020754 0.78072 +0.047138002 0.020765999 0.78116 +0.047975 0.020778 0.7816 +0.048785001 0.020778 0.7816 +0.049596 0.020778 0.7816 +0.050406002 0.020778 0.7816 +0.051217001 0.020778 0.7816 +0.052026998 0.020778 0.7816 +0.052868001 0.020788999 0.78204 +0.053677998 0.020788999 0.78204 +0.054489002 0.020788999 0.78204 +0.055330999 0.020801 0.78248 +0.056143001 0.020801 0.78248 +0.056922 0.020788999 0.78204 +0.057732999 0.020788999 0.78204 +0.058543999 0.020788999 0.78204 +0.059354998 0.020788999 0.78204 +0.060166001 0.020788999 0.78204 +0.060977001 0.020788999 0.78204 +0.061788 0.020788999 0.78204 +0.062599003 0.020788999 0.78204 +0.063373998 0.020778 0.7816 +0.064185001 0.020778 0.7816 +0.064958997 0.020765999 0.78116 +0.065769002 0.020765999 0.78116 +0.066541001 0.020754 0.78072 +0.067313001 0.020742999 0.78027999 +0.068122 0.020742999 0.78027999 +0.068892002 0.020731 0.77983999 +0.069623001 0.020708 0.77897 +0.070390999 0.020695999 0.77853 +0.071119003 0.020672999 0.77766001 +0.071884997 0.020661 0.77723002 +0.07265 0.020649999 0.77679002 +0.073415004 0.020638 0.77635998 +0.074178003 0.020626999 0.77591997 +0.074983001 0.020626999 0.77591997 +0.075787999 0.020626999 0.77591997 +0.076507002 0.020603999 0.77506 +0.077311002 0.020603999 0.77506 +0.078070998 0.020592 0.77463001 +0.078873999 0.020592 0.77463001 +0.079632998 0.020581 0.77419001 +0.080346003 0.020558 0.77332997 +0.081102997 0.020546 0.77289999 +0.081813 0.020524001 0.77204001 +0.082567997 0.020512 0.77161998 +0.083276004 0.020489 0.77076 +0.083981998 0.020467 0.76990998 +0.084733002 0.020455001 0.76947999 +0.085483998 0.020444 0.76905 +0.086234003 0.020432999 0.76863003 +0.086981997 0.020421 0.76819998 +0.087730996 0.020409999 0.76778001 +0.088428997 0.020388 0.76692998 +0.089175001 0.020376001 0.76651001 +0.08997 0.020376001 0.76651001 +0.090565003 0.020331999 0.76481998 +0.091357999 0.020331999 0.76481998 +0.092100002 0.02032 0.76440001 +0.092790999 0.020298 0.76356 +0.093530998 0.020287 0.76314002 +0.094323002 0.020287 0.76314002 +0.095009997 0.020265 0.76230001 +0.095748 0.020253999 0.76188999 +0.11971 0.024910999 0.93707001 +0.00013802 0.019058 0.69001001 +0.00085481 0.019087 0.69103998 +0.0015714 0.019087 0.69103998 +0.0022902 0.019106001 0.69173002 +0.0030119999 0.019134 0.69275999 +0.0037322999 0.019144 0.69310999 +0.0063236998 0.020559 0.74434 +0.0071184002 0.020625001 0.74673998 +0.0078926999 0.020625001 0.74673998 +0.0086671002 0.020625001 0.74673998 +0.0094312998 0.020602999 0.74594003 +0.010205 0.020602999 0.74594003 +0.010996 0.020636 0.74713999 +0.011783 0.020657999 0.74794 +0.012566 0.02067 0.74835002 +0.013392 0.020748001 0.75117999 +0.014187 0.02077 0.75199002 +0.014991 0.020803999 0.75321001 +0.015806001 0.020849001 0.75484997 +0.016616 0.020883 0.75607997 +0.017428 0.020917 0.75731999 +0.018253 0.020963 0.75897002 +0.019072 0.020997999 0.76021999 +0.019893 0.021032 0.76147002 +0.020694001 0.021043999 0.76188999 +0.021507001 0.021067001 0.76271999 +0.022298001 0.021067001 0.76271999 +0.023114 0.021090001 0.76356 +0.023959 0.021136001 0.76524001 +0.024766 0.021148 0.76565999 +0.025588 0.021171 0.76651001 +0.026441 0.021218 0.76819998 +0.027268 0.021242 0.76905 +0.028081 0.021252999 0.76947999 +0.028895 0.021265 0.76990998 +0.02971 0.021276999 0.77033001 +0.030541999 0.021299999 0.77118999 +0.031376999 0.021323999 0.77204001 +0.032212999 0.021348 0.77289999 +0.033052001 0.021372 0.77376002 +0.033872999 0.021384001 0.77419001 +0.034713998 0.021407001 0.77506 +0.035537999 0.021419 0.77548999 +0.036341999 0.021419 0.77548999 +0.037188001 0.021443 0.77635998 +0.038035002 0.021467 0.77723002 +0.038863 0.021478999 0.77766001 +0.039691001 0.021491 0.77810001 +0.040544 0.021515001 0.77897 +0.041375 0.021527 0.77941 +0.042206999 0.021539999 0.77983999 +0.043014999 0.021539999 0.77983999 +0.043848 0.021552 0.78027999 +0.044682998 0.021563999 0.78072 +0.045518 0.021576 0.78116 +0.046328001 0.021576 0.78116 +0.047138002 0.021576 0.78116 +0.047975 0.021588 0.7816 +0.048785001 0.021588 0.7816 +0.049624 0.021600001 0.78204 +0.050406002 0.021588 0.7816 +0.051245999 0.021600001 0.78204 +0.052057002 0.021600001 0.78204 +0.052896999 0.021612 0.78248 +0.053677998 0.021600001 0.78204 +0.054489002 0.021600001 0.78204 +0.055330999 0.021612 0.78248 +0.056143001 0.021612 0.78248 +0.056922 0.021600001 0.78204 +0.057732999 0.021600001 0.78204 +0.058577001 0.021612 0.78248 +0.059354998 0.021600001 0.78204 +0.060166001 0.021600001 0.78204 +0.060977001 0.021600001 0.78204 +0.061788 0.021600001 0.78204 +0.062599003 0.021600001 0.78204 +0.063409999 0.021600001 0.78204 +0.064185001 0.021588 0.7816 +0.064994998 0.021588 0.7816 +0.065806001 0.021588 0.7816 +0.066578999 0.021576 0.78116 +0.067350999 0.021563999 0.78072 +0.068159997 0.021563999 0.78072 +0.068930998 0.021552 0.78027999 +0.069661997 0.021527 0.77941 +0.070431001 0.021515001 0.77897 +0.071158998 0.021491 0.77810001 +0.071884997 0.021467 0.77723002 +0.07265 0.021454999 0.77679002 +0.073415004 0.021443 0.77635998 +0.074178003 0.021431001 0.77591997 +0.074983001 0.021431001 0.77591997 +0.075787999 0.021431001 0.77591997 +0.076507002 0.021407001 0.77506 +0.077311002 0.021407001 0.77506 +0.078070998 0.021395 0.77463001 +0.078873999 0.021395 0.77463001 +0.079632998 0.021384001 0.77419001 +0.080346003 0.021360001 0.77332997 +0.081058003 0.021336 0.77247 +0.081813 0.021323999 0.77204001 +0.082521997 0.021299999 0.77118999 +0.083276004 0.021289 0.77076 +0.083981998 0.021265 0.76990998 +0.084733002 0.021252999 0.76947999 +0.085483998 0.021242 0.76905 +0.086234003 0.021229999 0.76863003 +0.086934 0.021206001 0.76778001 +0.087730996 0.021206001 0.76778001 +0.088428997 0.021183001 0.76692998 +0.089175001 0.021171 0.76651001 +0.08997 0.021171 0.76651001 +0.090565003 0.021125 0.76481998 +0.091307998 0.021113001 0.76440001 +0.092050001 0.021101 0.76397997 +0.092739999 0.021078 0.76314002 +0.093479998 0.021067001 0.76271999 +0.094270997 0.021067001 0.76271999 +0.095009997 0.021055 0.76230001 +0.095694996 0.021032 0.76147002 +0.096432 0.021020999 0.76104999 +0.12044 0.025830001 0.93518001 +0.12132 0.025813 0.93454999 +0.12229 0.025813 0.93454999 +0.00013802 0.019773999 0.69001001 +0.00085481 0.019803001 0.69103998 +0.0015706 0.019793 0.69069999 +0.0022902 0.019823 0.69173002 +0.0030119999 0.019853 0.69275999 +0.0037322999 0.019863 0.69310999 +0.0086623998 0.021388 0.74633998 +0.0094261998 0.021365 0.74554002 +0.010194 0.021353999 0.74514002 +0.010984 0.021388 0.74633998 +0.011771 0.021411 0.74713999 +0.012552 0.021423001 0.74754 +0.013378 0.021504 0.75037003 +0.014179 0.021538001 0.75158 +0.014991 0.021585001 0.75321001 +0.015806001 0.021632001 0.75484997 +0.016634 0.021691 0.75691003 +0.017457001 0.021738 0.75856 +0.018273 0.021774 0.75980002 +0.019082 0.021798 0.76063001 +0.019893 0.021822 0.76147002 +0.020694001 0.021833999 0.76188999 +0.021495 0.021846 0.76230001 +0.022298001 0.021857999 0.76271999 +0.023102 0.02187 0.76314002 +0.023959 0.02193 0.76524001 +0.024766 0.021942001 0.76565999 +0.025588 0.021965999 0.76651001 +0.026441 0.022015 0.76819998 +0.027253 0.022027001 0.76863003 +0.028081 0.022050999 0.76947999 +0.028895 0.022063 0.76990998 +0.02971 0.022076 0.77033001 +0.030541999 0.0221 0.77118999 +0.031376999 0.022125 0.77204001 +0.032212999 0.022149 0.77289999 +0.033070002 0.022186 0.77419001 +0.033891998 0.022198999 0.77463001 +0.034713998 0.022211 0.77506 +0.035558 0.022236001 0.77591997 +0.036362 0.022236001 0.77591997 +0.037207998 0.022260999 0.77679002 +0.038056001 0.022286 0.77766001 +0.038885001 0.022298001 0.77810001 +0.039714001 0.022311 0.77853 +0.040566001 0.022336001 0.77941 +0.041398 0.022348 0.77983999 +0.042206999 0.022348 0.77983999 +0.043014999 0.022348 0.77983999 +0.043873001 0.022373 0.78072 +0.044707999 0.022386 0.78116 +0.045543 0.022398001 0.7816 +0.046328001 0.022386 0.78116 +0.047164001 0.022398001 0.7816 +0.048002001 0.022411 0.78204 +0.048813 0.022411 0.78204 +0.049624 0.022411 0.78204 +0.050434999 0.022411 0.78204 +0.051245999 0.022411 0.78204 +0.052057002 0.022411 0.78204 +0.052896999 0.022423999 0.78248 +0.053677998 0.022411 0.78204 +0.05452 0.022423999 0.78248 +0.055330999 0.022423999 0.78248 +0.056143001 0.022423999 0.78248 +0.056922 0.022411 0.78204 +0.057766002 0.022423999 0.78248 +0.058577001 0.022423999 0.78248 +0.059354998 0.022411 0.78204 +0.060199998 0.022423999 0.78248 +0.060977001 0.022411 0.78204 +0.061788 0.022411 0.78204 +0.062633999 0.022423999 0.78248 +0.063409999 0.022411 0.78204 +0.064185001 0.022398001 0.7816 +0.064994998 0.022398001 0.7816 +0.065806001 0.022398001 0.7816 +0.066578999 0.022386 0.78116 +0.067350999 0.022373 0.78072 +0.068159997 0.022373 0.78072 +0.068930998 0.022360999 0.78027999 +0.069661997 0.022336001 0.77941 +0.070469998 0.022336001 0.77941 +0.071158998 0.022298001 0.77810001 +0.071884997 0.022273 0.77723002 +0.072691001 0.022273 0.77723002 +0.073455997 0.022260999 0.77679002 +0.074220002 0.022248 0.77635998 +0.075025 0.022248 0.77635998 +0.075787999 0.022236001 0.77591997 +0.076549999 0.022222999 0.77548999 +0.077311002 0.022211 0.77506 +0.078070998 0.022198999 0.77463001 +0.078873999 0.022198999 0.77463001 +0.079632998 0.022186 0.77419001 +0.080346003 0.022162 0.77332997 +0.081058003 0.022136999 0.77247 +0.081813 0.022125 0.77204001 +0.082521997 0.0221 0.77118999 +0.083230004 0.022076 0.77033001 +0.083981998 0.022063 0.76990998 +0.084733002 0.022050999 0.76947999 +0.085483998 0.022039 0.76905 +0.086185999 0.022015 0.76819998 +0.086934 0.022002 0.76778001 +0.087730996 0.022002 0.76778001 +0.088428997 0.021978 0.76692998 +0.089125998 0.021954 0.76608998 +0.089919999 0.021954 0.76608998 +0.090565003 0.021918001 0.76481998 +0.091257997 0.021894 0.76397997 +0.091999002 0.021881999 0.76356 +0.092689 0.021857999 0.76271999 +0.093428999 0.021846 0.76230001 +0.094218999 0.021846 0.76230001 +0.094906002 0.021822 0.76147002 +0.095642999 0.021810001 0.76104999 +0.096378997 0.021798 0.76063001 +0.12027 0.026764 0.93392003 +0.12116 0.026745999 0.93330002 +0.12213 0.026745999 0.93330002 +0.12301 0.026728 0.93267 +0.1239 0.02671 0.93204999 +0.12486 0.02671 0.93204999 +0.12575001 0.026691999 0.93142003 +0.00013809001 0.020500001 0.69035 +0.00085481 0.02052 0.69103998 +0.0015706 0.020509999 0.69069999 +0.0022914 0.020551 0.69207001 +0.0030135 0.020581 0.69310999 +0.0037322999 0.020581 0.69310999 +0.0094160996 0.022113999 0.74474001 +0.010188 0.022113999 0.74474001 +0.013371 0.02227 0.74996001 +0.014171 0.022306001 0.75117999 +0.014991 0.022366 0.75321001 +0.015814999 0.022427 0.75525999 +0.016634 0.022476001 0.75691003 +0.017465999 0.022537 0.75897002 +0.018273 0.022562001 0.75980002 +0.019072 0.022574 0.76021999 +0.019881999 0.022599 0.76104999 +0.020694001 0.022624001 0.76188999 +0.021495 0.022636 0.76230001 +0.022298001 0.022647999 0.76271999 +0.023114 0.022673 0.76356 +0.023959 0.022723 0.76524001 +0.024766 0.022736 0.76565999 +0.025588 0.022761 0.76651001 +0.026441 0.022810999 0.76819998 +0.027253 0.022824001 0.76863003 +0.028066 0.022836 0.76905 +0.028895 0.022862 0.76990998 +0.02971 0.022874 0.77033001 +0.030559 0.022913 0.77161998 +0.031394001 0.022938 0.77247 +0.032230999 0.022964001 0.77332997 +0.033070002 0.022988999 0.77419001 +0.033891998 0.023002001 0.77463001 +0.034734 0.023027999 0.77548999 +0.035558 0.023041001 0.77591997 +0.036362 0.023041001 0.77591997 +0.037207998 0.023065999 0.77679002 +0.038077999 0.023104999 0.77810001 +0.038885001 0.023104999 0.77810001 +0.039714001 0.023118 0.77853 +0.040589001 0.023157001 0.77983999 +0.041421 0.02317 0.78027999 +0.042229999 0.02317 0.78027999 +0.043039002 0.02317 0.78027999 +0.043898001 0.023196001 0.78116 +0.044732999 0.023209 0.7816 +0.045543 0.023209 0.7816 +0.046354 0.023209 0.7816 +0.047191001 0.023221999 0.78204 +0.048002001 0.023221999 0.78204 +0.048840001 0.023235001 0.78248 +0.049651999 0.023235001 0.78248 +0.050462998 0.023235001 0.78248 +0.051274002 0.023235001 0.78248 +0.052085999 0.023235001 0.78248 +0.052926999 0.023248 0.78292 +0.053709 0.023235001 0.78248 +0.05452 0.023235001 0.78248 +0.055362999 0.023248 0.78292 +0.056173999 0.023248 0.78292 +0.056954 0.023235001 0.78248 +0.057766002 0.023235001 0.78248 +0.05861 0.023248 0.78292 +0.059388001 0.023235001 0.78248 +0.060199998 0.023235001 0.78248 +0.061011001 0.023235001 0.78248 +0.061822999 0.023235001 0.78248 +0.062633999 0.023235001 0.78248 +0.063445002 0.023235001 0.78248 +0.064221002 0.023221999 0.78204 +0.065031998 0.023221999 0.78204 +0.065843001 0.023221999 0.78204 +0.066615999 0.023209 0.7816 +0.067388996 0.023196001 0.78116 +0.068199001 0.023196001 0.78116 +0.068970002 0.023182999 0.78072 +0.069701001 0.023157001 0.77983999 +0.070469998 0.023143999 0.77941 +0.071199 0.023118 0.77853 +0.071924999 0.023092 0.77766001 +0.072691001 0.023079 0.77723002 +0.073455997 0.023065999 0.77679002 +0.074220002 0.023053 0.77635998 +0.075025 0.023053 0.77635998 +0.075829998 0.023053 0.77635998 +0.076549999 0.023027999 0.77548999 +0.077353999 0.023027999 0.77548999 +0.078114003 0.023015 0.77506 +0.078873999 0.023002001 0.77463001 +0.079632998 0.022988999 0.77419001 +0.080390997 0.022976 0.77376002 +0.081102997 0.022950999 0.77289999 +0.081813 0.022925001 0.77204001 +0.082521997 0.0229 0.77118999 +0.083230004 0.022874 0.77033001 +0.083981998 0.022862 0.76990998 +0.084733002 0.022848999 0.76947999 +0.085483998 0.022836 0.76905 +0.086185999 0.022810999 0.76819998 +0.086934 0.022799 0.76778001 +0.087682001 0.022786001 0.76735002 +0.088428997 0.022772999 0.76692998 +0.089125998 0.022748001 0.76608998 +0.089870997 0.022736 0.76565999 +0.090515003 0.022698 0.76440001 +0.091206998 0.022673 0.76356 +0.091949001 0.022661 0.76314002 +0.092689 0.022647999 0.76271999 +0.093378 0.022624001 0.76188999 +0.094218999 0.022636 0.76230001 +0.094906002 0.022611 0.76147002 +0.095642999 0.022599 0.76104999 +0.096326999 0.022574 0.76021999 +0.097061999 0.022562001 0.75980002 +0.12108 0.027695 0.93267 +0.12205 0.027695 0.93267 +0.12293 0.027675999 0.93204999 +0.12373 0.027639 0.93080002 +0.12478 0.027658001 0.93142003 +0.12558 0.027620999 0.93017 +0.12646 0.027602 0.92954999 +0.00085481 0.021236001 0.69103998 +0.0015714 0.021236001 0.69103998 +0.0022914 0.021268001 0.69207001 +0.0030135 0.021299999 0.69310999 +0.010183 0.022874 0.74434 +0.010967 0.022899 0.74514002 +0.013371 0.023047 0.74996001 +0.014171 0.023085 0.75117999 +0.014999 0.023159999 0.75362003 +0.015814999 0.02321 0.75525999 +0.016634 0.023260999 0.75691003 +0.017465999 0.023324 0.75897002 +0.018262999 0.023336999 0.75939 +0.019072 0.023362 0.76021999 +0.019881999 0.023388 0.76104999 +0.020694001 0.023414001 0.76188999 +0.021495 0.023427 0.76230001 +0.022298001 0.023438999 0.76271999 +0.023114 0.023465 0.76356 +0.023959 0.023517 0.76524001 +0.024766 0.023530001 0.76565999 +0.025588 0.023556 0.76651001 +0.026441 0.023607999 0.76819998 +0.027253 0.023621 0.76863003 +0.028081 0.023646999 0.76947999 +0.028895 0.02366 0.76990998 +0.029726001 0.023685999 0.77076 +0.030559 0.023713 0.77161998 +0.031412002 0.023752 0.77289999 +0.032249 0.023778999 0.77376002 +0.033087999 0.023805 0.77463001 +0.033911001 0.023819 0.77506 +0.034752999 0.023845 0.77591997 +0.035578001 0.023858 0.77635998 +0.036382999 0.023858 0.77635998 +0.037229002 0.023885 0.77723002 +0.038077999 0.023912 0.77810001 +0.038906001 0.023925001 0.77853 +0.039735999 0.023939 0.77897 +0.040612001 0.023979001 0.78027999 +0.041444 0.023992 0.78072 +0.042254001 0.023992 0.78072 +0.043063998 0.023992 0.78072 +0.043922 0.024018999 0.7816 +0.044757999 0.024033001 0.78204 +0.045568999 0.024033001 0.78204 +0.046379998 0.024033001 0.78204 +0.047191001 0.024033001 0.78204 +0.048029002 0.024047 0.78248 +0.048868001 0.02406 0.78292 +0.049679998 0.02406 0.78292 +0.050462998 0.024047 0.78248 +0.051302999 0.02406 0.78292 +0.052115001 0.02406 0.78292 +0.052956998 0.024073999 0.78336 +0.053739 0.02406 0.78292 +0.054551002 0.02406 0.78292 +0.055394001 0.024073999 0.78336 +0.056205999 0.024073999 0.78336 +0.056986 0.02406 0.78292 +0.057797998 0.02406 0.78292 +0.058642998 0.024073999 0.78336 +0.059422001 0.02406 0.78292 +0.060233999 0.02406 0.78292 +0.061046001 0.02406 0.78292 +0.061857 0.02406 0.78292 +0.062669002 0.02406 0.78292 +0.063445002 0.024047 0.78248 +0.064221002 0.024033001 0.78204 +0.065031998 0.024033001 0.78204 +0.065880001 0.024047 0.78248 +0.066652998 0.024033001 0.78204 +0.067426004 0.024018999 0.7816 +0.068199001 0.024006 0.78116 +0.068970002 0.023992 0.78072 +0.069739997 0.023979001 0.78027999 +0.07051 0.023965999 0.77983999 +0.071239002 0.023939 0.77897 +0.071924999 0.023898 0.77766001 +0.072732002 0.023898 0.77766001 +0.073496997 0.023885 0.77723002 +0.074261002 0.023871999 0.77679002 +0.075025 0.023858 0.77635998 +0.075829998 0.023858 0.77635998 +0.076549999 0.023832001 0.77548999 +0.077353999 0.023832001 0.77548999 +0.078114003 0.023819 0.77506 +0.078873999 0.023805 0.77463001 +0.079632998 0.023792 0.77419001 +0.080346003 0.023765 0.77332997 +0.081102997 0.023752 0.77289999 +0.081813 0.023726 0.77204001 +0.082521997 0.023700001 0.77118999 +0.083276004 0.023685999 0.77076 +0.083981998 0.02366 0.76990998 +0.084733002 0.023646999 0.76947999 +0.085483998 0.023634 0.76905 +0.086185999 0.023607999 0.76819998 +0.086934 0.023595 0.76778001 +0.087682001 0.023582 0.76735002 +0.088380001 0.023556 0.76651001 +0.089077003 0.023530001 0.76565999 +0.089821003 0.023517 0.76524001 +0.090465002 0.023477999 0.76397997 +0.091206998 0.023465 0.76356 +0.091949001 0.023452001 0.76314002 +0.092638001 0.023427 0.76230001 +0.093326002 0.023401 0.76147002 +0.094116002 0.023401 0.76147002 +0.094802 0.023375001 0.76063001 +0.095537998 0.023362 0.76021999 +0.096221 0.023336999 0.75939 +0.096956 0.023324 0.75897002 +0.12188 0.028624 0.93142003 +0.12277 0.028604999 0.93080002 +0.12365 0.028585 0.93017 +0.12461 0.028585 0.93017 +0.12541001 0.028547 0.92892998 +0.0022925001 0.021996999 0.69242001 +0.0030149999 0.02203 0.69344997 +0.0066940002 0.022307999 0.70221001 +0.0074109002 0.022274001 0.70115 +0.0081297001 0.022252001 0.70043999 +0.010961 0.023659 0.74474001 +0.013371 0.023824999 0.74996001 +0.014187 0.023889 0.75199002 +0.015007 0.023954 0.75402999 +0.015814999 0.023993 0.75525999 +0.016634 0.024046 0.75691003 +0.017465999 0.024111001 0.75897002 +0.018262999 0.024124 0.75939 +0.019072 0.024150999 0.76021999 +0.019881999 0.024177 0.76104999 +0.020694001 0.024204001 0.76188999 +0.021495 0.024217 0.76230001 +0.022298001 0.02423 0.76271999 +0.023114 0.024257001 0.76356 +0.023946 0.024297001 0.76481998 +0.024766 0.024324 0.76565999 +0.025588 0.024351001 0.76651001 +0.026441 0.024404 0.76819998 +0.027253 0.024418 0.76863003 +0.028081 0.024444999 0.76947999 +0.028911 0.024472 0.77033001 +0.029743001 0.024498999 0.77118999 +0.030593 0.02454 0.77247 +0.031429 0.024567001 0.77332997 +0.032267001 0.024595 0.77419001 +0.033107001 0.024622001 0.77506 +0.033929002 0.024636 0.77548999 +0.034772001 0.024662999 0.77635998 +0.035597 0.024676999 0.77679002 +0.036403 0.024676999 0.77679002 +0.037250001 0.024705 0.77766001 +0.038120002 0.024746001 0.77897 +0.038927998 0.024746001 0.77897 +0.039758001 0.02476 0.77941 +0.040635001 0.024801999 0.78072 +0.041444 0.024801999 0.78072 +0.042277999 0.024816001 0.78116 +0.043088 0.024816001 0.78116 +0.043922 0.02483 0.7816 +0.044757999 0.024844 0.78204 +0.045595001 0.024858 0.78248 +0.046379998 0.024844 0.78204 +0.047217999 0.024858 0.78248 +0.048029002 0.024858 0.78248 +0.048868001 0.024871999 0.78292 +0.049679998 0.024871999 0.78292 +0.050492 0.024871999 0.78292 +0.051302999 0.024871999 0.78292 +0.052145001 0.024886001 0.78336 +0.052987002 0.024900001 0.78380001 +0.053769 0.024886001 0.78336 +0.054582 0.024886001 0.78336 +0.055424999 0.024900001 0.78380001 +0.056237999 0.024900001 0.78380001 +0.057018001 0.024886001 0.78336 +0.057831001 0.024886001 0.78336 +0.058642998 0.024886001 0.78336 +0.059455 0.024886001 0.78336 +0.060268 0.024886001 0.78336 +0.061046001 0.024871999 0.78292 +0.061891999 0.024886001 0.78336 +0.062705003 0.024886001 0.78336 +0.063481003 0.024871999 0.78292 +0.064257003 0.024858 0.78248 +0.065067999 0.024858 0.78248 +0.065917 0.024871999 0.78292 +0.066690996 0.024858 0.78248 +0.067464001 0.024844 0.78204 +0.068236999 0.02483 0.7816 +0.069008999 0.024816001 0.78116 +0.069779001 0.024801999 0.78072 +0.070548996 0.024788 0.78027999 +0.071277998 0.02476 0.77941 +0.071966 0.024719 0.77810001 +0.072772004 0.024719 0.77810001 +0.073537998 0.024705 0.77766001 +0.074261002 0.024676999 0.77679002 +0.075066999 0.024676999 0.77679002 +0.075829998 0.024662999 0.77635998 +0.076591998 0.02465 0.77591997 +0.077353999 0.024636 0.77548999 +0.078114003 0.024622001 0.77506 +0.078918003 0.024622001 0.77506 +0.079632998 0.024595 0.77419001 +0.080390997 0.024581 0.77376002 +0.081102997 0.024553999 0.77289999 +0.081859 0.02454 0.77247 +0.082567997 0.024513001 0.77161998 +0.083276004 0.024486 0.77076 +0.083981998 0.024459001 0.76990998 +0.084733002 0.024444999 0.76947999 +0.085483998 0.024431 0.76905 +0.086185999 0.024404 0.76819998 +0.086934 0.024390999 0.76778001 +0.087682001 0.024377 0.76735002 +0.088380001 0.024351001 0.76651001 +0.089077003 0.024324 0.76565999 +0.089772001 0.024297001 0.76481998 +0.090465002 0.02427 0.76397997 +0.091156997 0.024243999 0.76314002 +0.091898002 0.02423 0.76271999 +0.092588 0.024204001 0.76188999 +0.093275003 0.024177 0.76104999 +0.094063997 0.024177 0.76104999 +0.094750002 0.024150999 0.76021999 +0.095486 0.024138 0.75980002 +0.096115999 0.024098 0.75856 +0.09685 0.024085 0.75814003 +0.09753 0.024058999 0.75731999 +0.098260999 0.024046 0.75691003 +0.12268 0.029549999 0.93017 +0.12348 0.029510001 0.92892998 +0.12445 0.029510001 0.92892998 +0.0022914 0.022704 0.69207001 +0.0030181 0.022771999 0.69414997 +0.0066940002 0.023035999 0.70221001 +0.0074145999 0.023012999 0.7015 +0.0081337998 0.02299 0.7008 +0.0088515999 0.022967 0.70008999 +0.011745 0.024457 0.74554002 +0.013371 0.024603 0.74996001 +0.014194 0.024683001 0.75239998 +0.015015 0.02475 0.75444001 +0.015822999 0.02479 0.75567001 +0.016634 0.02483 0.75691003 +0.017465999 0.024898 0.75897002 +0.018262999 0.024912 0.75939 +0.019072 0.024939001 0.76021999 +0.019881999 0.024966 0.76104999 +0.020682 0.024979999 0.76147002 +0.021495 0.025007 0.76230001 +0.022298001 0.025021 0.76271999 +0.023102 0.025034999 0.76314002 +0.023946 0.02509 0.76481998 +0.024766 0.025118001 0.76565999 +0.025588 0.025145 0.76651001 +0.026441 0.025201 0.76819998 +0.027253 0.025215 0.76863003 +0.028081 0.025242999 0.76947999 +0.028911 0.025271 0.77033001 +0.029758999 0.025312999 0.77161998 +0.030610001 0.025355 0.77289999 +0.031447001 0.025382999 0.77376002 +0.032285001 0.025412001 0.77463001 +0.033124998 0.02544 0.77548999 +0.033948001 0.025454 0.77591997 +0.034772001 0.025469 0.77635998 +0.035597 0.025482999 0.77679002 +0.036423001 0.025497001 0.77723002 +0.037292 0.02554 0.77853 +0.038141999 0.025568999 0.77941 +0.03895 0.025568999 0.77941 +0.039781 0.025583001 0.77983999 +0.040658001 0.025626 0.78116 +0.041467998 0.025626 0.78116 +0.042300999 0.02564 0.7816 +0.043088 0.025626 0.78116 +0.043947 0.025655 0.78204 +0.044783 0.025668999 0.78248 +0.045595001 0.025668999 0.78248 +0.046406001 0.025668999 0.78248 +0.047217999 0.025668999 0.78248 +0.048055999 0.025684001 0.78292 +0.048895001 0.025698001 0.78336 +0.049708001 0.025698001 0.78336 +0.050519999 0.025698001 0.78336 +0.051332001 0.025698001 0.78336 +0.052173998 0.025713 0.78380001 +0.052987002 0.025713 0.78380001 +0.053769 0.025698001 0.78336 +0.054612 0.025713 0.78380001 +0.055424999 0.025713 0.78380001 +0.056237999 0.025713 0.78380001 +0.057050999 0.025713 0.78380001 +0.057863001 0.025713 0.78380001 +0.058676001 0.025713 0.78380001 +0.059489001 0.025713 0.78380001 +0.060302 0.025713 0.78380001 +0.061080001 0.025698001 0.78336 +0.061926998 0.025713 0.78380001 +0.062739998 0.025713 0.78380001 +0.063516997 0.025698001 0.78336 +0.064292997 0.025684001 0.78292 +0.065104999 0.025684001 0.78292 +0.065954 0.025698001 0.78336 +0.066729002 0.025684001 0.78292 +0.067501999 0.025668999 0.78248 +0.068274997 0.025655 0.78204 +0.069046997 0.02564 0.7816 +0.069819003 0.025626 0.78116 +0.070629001 0.025626 0.78116 +0.071359001 0.025597 0.78027999 +0.072045997 0.025553999 0.77897 +0.072812997 0.02554 0.77853 +0.073578998 0.025526 0.77810001 +0.074303001 0.025497001 0.77723002 +0.075108998 0.025497001 0.77723002 +0.075871997 0.025482999 0.77679002 +0.076591998 0.025454 0.77591997 +0.077353999 0.02544 0.77548999 +0.078157999 0.02544 0.77548999 +0.078918003 0.025426 0.77506 +0.079677001 0.025412001 0.77463001 +0.080390997 0.025382999 0.77376002 +0.081147999 0.025369 0.77332997 +0.081859 0.025341 0.77247 +0.082567997 0.025312999 0.77161998 +0.083276004 0.025285 0.77076 +0.083981998 0.025257001 0.76990998 +0.084733002 0.025242999 0.76947999 +0.085483998 0.025229 0.76905 +0.086185999 0.025201 0.76819998 +0.086934 0.025187001 0.76778001 +0.087682001 0.025172999 0.76735002 +0.088380001 0.025145 0.76651001 +0.089028001 0.025103999 0.76524001 +0.089772001 0.02509 0.76481998 +0.090415999 0.025048999 0.76356 +0.091107003 0.025021 0.76271999 +0.091848001 0.025007 0.76230001 +0.092537001 0.024979999 0.76147002 +0.093223996 0.024953 0.76063001 +0.093961999 0.024939001 0.76021999 +0.094645999 0.024912 0.75939 +0.095381998 0.024898 0.75897002 +0.096064001 0.024870999 0.75814003 +0.096744001 0.024844 0.75731999 +0.097476996 0.02483 0.75691003 +0.098208003 0.024816999 0.75648999 +0.098939002 0.024803 0.75607997 +0.12252 0.030474 0.92892998 +0.0030211001 0.023514999 0.69484001 +0.0059627998 0.023752 0.70186001 +0.0066940002 0.023763999 0.70221001 +0.0074145999 0.023739999 0.7015 +0.0081337998 0.023716001 0.7008 +0.0088561 0.023704 0.70043999 +0.011758 0.025257999 0.74633998 +0.012559 0.025312001 0.74794 +0.014202 0.025477 0.75281 +0.015015 0.025532 0.75444001 +0.015814999 0.025560001 0.75525999 +0.016634 0.025614999 0.75691003 +0.017465999 0.025684999 0.75897002 +0.018262999 0.025699001 0.75939 +0.019072 0.025727 0.76021999 +0.019871 0.025741 0.76063001 +0.020682 0.025769999 0.76147002 +0.021484001 0.025784001 0.76188999 +0.022298001 0.025812 0.76271999 +0.023102 0.025826 0.76314002 +0.023932001 0.025869001 0.76440001 +0.024766 0.025912 0.76565999 +0.025574001 0.025926 0.76608998 +0.026427001 0.025983 0.76778001 +0.027253 0.026012 0.76863003 +0.028081 0.026040999 0.76947999 +0.028927 0.026084 0.77076 +0.029758999 0.026113 0.77161998 +0.030626999 0.026171001 0.77332997 +0.031463999 0.0262 0.77419001 +0.032303002 0.02623 0.77506 +0.033144001 0.026258999 0.77591997 +0.033967 0.026273999 0.77635998 +0.034791999 0.026288001 0.77679002 +0.035617001 0.026303001 0.77723002 +0.036444001 0.026318001 0.77766001 +0.037333999 0.026377 0.77941 +0.038185 0.026405999 0.78027999 +0.038993999 0.026405999 0.78027999 +0.039825 0.026420999 0.78072 +0.040681001 0.026450999 0.7816 +0.041491002 0.026450999 0.7816 +0.042325001 0.026466001 0.78204 +0.043136001 0.026466001 0.78204 +0.043947 0.026466001 0.78204 +0.044808999 0.026496001 0.78292 +0.045620002 0.026496001 0.78292 +0.046432 0.026496001 0.78292 +0.047244001 0.026496001 0.78292 +0.048083 0.026511 0.78336 +0.048923001 0.026525 0.78380001 +0.049736001 0.026525 0.78380001 +0.050547998 0.026525 0.78380001 +0.051360998 0.026525 0.78380001 +0.052203 0.02654 0.78424001 +0.053017002 0.02654 0.78424001 +0.053830002 0.02654 0.78424001 +0.054643001 0.02654 0.78424001 +0.055456001 0.02654 0.78424001 +0.056301001 0.026555 0.78469002 +0.057082999 0.02654 0.78424001 +0.057895999 0.02654 0.78424001 +0.058708999 0.02654 0.78424001 +0.059556 0.026555 0.78469002 +0.060336001 0.02654 0.78424001 +0.061149001 0.02654 0.78424001 +0.061962001 0.02654 0.78424001 +0.062811002 0.026555 0.78469002 +0.063588999 0.02654 0.78424001 +0.064328998 0.026511 0.78336 +0.065141998 0.026511 0.78336 +0.065990999 0.026525 0.78380001 +0.066766001 0.026511 0.78336 +0.067539997 0.026496001 0.78292 +0.068351999 0.026496001 0.78292 +0.069124997 0.026481001 0.78248 +0.069858 0.026450999 0.7816 +0.070667997 0.026450999 0.7816 +0.071399003 0.026420999 0.78072 +0.072126999 0.026392 0.77983999 +0.072894998 0.026377 0.77941 +0.073620997 0.026347 0.77853 +0.074345 0.026318001 0.77766001 +0.075108998 0.026303001 0.77723002 +0.075915001 0.026303001 0.77723002 +0.076635003 0.026273999 0.77635998 +0.077396996 0.026258999 0.77591997 +0.078157999 0.026244 0.77548999 +0.078918003 0.02623 0.77506 +0.079677001 0.026215 0.77463001 +0.080435999 0.0262 0.77419001 +0.081147999 0.026171001 0.77332997 +0.081904002 0.026156999 0.77289999 +0.082567997 0.026113 0.77161998 +0.083322003 0.026099 0.77118999 +0.083981998 0.026055001 0.76990998 +0.084733002 0.026040999 0.76947999 +0.085483998 0.026025999 0.76905 +0.086185999 0.025998 0.76819998 +0.086934 0.025983 0.76778001 +0.087682001 0.025969001 0.76735002 +0.088380001 0.025939999 0.76651001 +0.089028001 0.025897 0.76524001 +0.089722 0.025869001 0.76440001 +0.090365998 0.025826 0.76314002 +0.091057003 0.025798 0.76230001 +0.091797002 0.025784001 0.76188999 +0.092486002 0.025756 0.76104999 +0.093172997 0.025727 0.76021999 +0.093910001 0.025713 0.75980002 +0.094595 0.025684999 0.75897002 +0.09533 0.025671 0.75856 +0.096010998 0.025643 0.75773001 +0.096692003 0.025614999 0.75691003 +0.097423002 0.025601 0.75648999 +0.098154999 0.025587 0.75607997 +0.098885 0.025574001 0.75567001 +-0.094871998 0.031973001 0.91667998 +-0.093032002 0.031994 0.91728002 +0.0023029 0.024259999 0.69554001 +0.0030241001 0.024259999 0.69554001 +0.005235 0.02448 0.70186001 +0.0059568002 0.024455 0.70115 +0.0066906 0.02448 0.70186001 +0.0074109002 0.024455 0.70115 +0.0081337998 0.024443001 0.7008 +0.0088515999 0.024419 0.70008999 +0.011764 0.026046 0.74673998 +0.012573 0.026116 0.74874997 +0.013371 0.026157999 0.74996001 +0.014194 0.026242999 0.75239998 +0.015007 0.0263 0.75402999 +0.015806001 0.026327999 0.75484997 +0.016616 0.026371 0.75607997 +0.017447 0.026443001 0.75814003 +0.018253 0.026472 0.75897002 +0.019060999 0.026501 0.75980002 +0.019871 0.026529999 0.76063001 +0.020671001 0.026544999 0.76104999 +0.021472 0.026559001 0.76147002 +0.022298001 0.026603 0.76271999 +0.023102 0.026618 0.76314002 +0.023932001 0.026662 0.76440001 +0.024766 0.026706001 0.76565999 +0.025574001 0.02672 0.76608998 +0.026441 0.026794 0.76819998 +0.027268 0.026823999 0.76905 +0.028097 0.026853999 0.76990998 +0.028943 0.026898 0.77118999 +0.029792 0.026943 0.77247 +0.030644 0.026988 0.77376002 +0.031482 0.027017999 0.77463001 +0.032320999 0.027047999 0.77548999 +0.033162002 0.027078999 0.77635998 +0.034005001 0.027109001 0.77723002 +0.034811001 0.027109001 0.77723002 +0.035636999 0.027124001 0.77766001 +0.036463998 0.027139001 0.77810001 +0.037354998 0.0272 0.77983999 +0.038185 0.027215 0.78027999 +0.039016001 0.027231 0.78072 +0.039848 0.027246 0.78116 +0.040681001 0.027261 0.7816 +0.041514002 0.027277 0.78204 +0.042349 0.027292 0.78248 +0.043161001 0.027292 0.78248 +0.043972 0.027292 0.78248 +0.044833999 0.027323 0.78336 +0.045646001 0.027323 0.78336 +0.046457998 0.027323 0.78336 +0.047270998 0.027323 0.78336 +0.048110001 0.027338 0.78380001 +0.048951 0.027354 0.78424001 +0.049764 0.027354 0.78424001 +0.050577 0.027354 0.78424001 +0.051419001 0.027369 0.78469002 +0.052232999 0.027369 0.78469002 +0.053077001 0.027385 0.78513002 +0.053860001 0.027369 0.78469002 +0.054674 0.027369 0.78469002 +0.055519 0.027385 0.78513002 +0.056333002 0.027385 0.78513002 +0.057115 0.027369 0.78469002 +0.057929002 0.027369 0.78469002 +0.058742002 0.027369 0.78469002 +0.059590001 0.027385 0.78513002 +0.060369998 0.027369 0.78469002 +0.061183002 0.027369 0.78469002 +0.062031999 0.027385 0.78513002 +0.062845998 0.027385 0.78513002 +0.063625 0.027369 0.78469002 +0.064401999 0.027354 0.78424001 +0.065214999 0.027354 0.78424001 +0.066027999 0.027354 0.78424001 +0.066803999 0.027338 0.78380001 +0.067579001 0.027323 0.78336 +0.068391003 0.027323 0.78336 +0.069164 0.027307 0.78292 +0.069936998 0.027292 0.78248 +0.070707999 0.027277 0.78204 +0.071438998 0.027246 0.78116 +0.072168 0.027215 0.78027999 +0.072976999 0.027215 0.78027999 +0.073702998 0.027185 0.77941 +0.074386001 0.027139001 0.77810001 +0.075193003 0.027139001 0.77810001 +0.075957 0.027124001 0.77766001 +0.076635003 0.027078999 0.77635998 +0.077396996 0.027063999 0.77591997 +0.078157999 0.027047999 0.77548999 +0.078961998 0.027047999 0.77548999 +0.079722002 0.027032999 0.77506 +0.080435999 0.027003 0.77419001 +0.081193 0.026988 0.77376002 +0.081904002 0.026958 0.77289999 +0.082613997 0.026928 0.77204001 +0.083322003 0.026898 0.77118999 +0.084027998 0.026868001 0.77033001 +0.084733002 0.026838999 0.76947999 +0.085483998 0.026823999 0.76905 +0.086185999 0.026794 0.76819998 +0.086934 0.026779 0.76778001 +0.087682001 0.026765 0.76735002 +0.088380001 0.026735 0.76651001 +0.089028001 0.026691001 0.76524001 +0.089722 0.026662 0.76440001 +0.090365998 0.026618 0.76314002 +0.091057003 0.026588 0.76230001 +0.091747001 0.026559001 0.76147002 +0.092486002 0.026544999 0.76104999 +0.093121998 0.026501 0.75980002 +0.093859002 0.026487 0.75939 +0.094543003 0.026458001 0.75856 +0.095278002 0.026443001 0.75814003 +0.095959 0.026415 0.75731999 +0.096639 0.026386 0.75648999 +0.097369999 0.026371 0.75607997 +0.098100998 0.026357001 0.75567001 +0.098830998 0.026342999 0.75525999 +-0.094810002 0.032901999 0.91606998 +-0.093920998 0.032923002 0.91667998 +-0.092970997 0.032923002 0.91667998 +-0.092019998 0.032923002 0.91667998 +-0.091009997 0.032901999 0.91606998 +0.00085865002 0.024931001 0.69414997 +0.0015785 0.024931001 0.69414997 +0.0023040001 0.024993001 0.69588 +0.0030241001 0.024981 0.69554001 +0.0052271001 0.02517 0.7008 +0.0059477999 0.025144 0.70008999 +0.0066837999 0.025183 0.70115 +0.0074072001 0.02517 0.7008 +0.0081297001 0.025157001 0.70043999 +0.0088472003 0.025132 0.69973999 +0.011777 0.026849 0.74754 +0.012579 0.026907001 0.74914998 +0.013363 0.026921 0.74956 +0.014187 0.027008999 0.75199002 +0.014999 0.027067 0.75362003 +0.015797 0.027097 0.75444001 +0.016597999 0.027125999 0.75525999 +0.017418999 0.027185 0.75691003 +0.018243 0.027244 0.75856 +0.019051 0.027274 0.75939 +0.019849 0.027288999 0.75980002 +0.02066 0.027318999 0.76063001 +0.02146 0.027334001 0.76104999 +0.022286 0.027379001 0.76230001 +0.023088999 0.027394 0.76271999 +0.023932001 0.027454 0.76440001 +0.024766 0.0275 0.76565999 +0.025588 0.02753 0.76651001 +0.026441 0.027590999 0.76819998 +0.027268 0.027620999 0.76905 +0.028112 0.027667001 0.77033001 +0.028959 0.027713001 0.77161998 +0.029809 0.027760001 0.77289999 +0.030662 0.027806001 0.77419001 +0.031498998 0.027837001 0.77506 +0.032320999 0.027853001 0.77548999 +0.033181001 0.027899001 0.77679002 +0.034024 0.027930001 0.77766001 +0.034830999 0.027930001 0.77766001 +0.035657 0.027946001 0.77810001 +0.036483999 0.027961999 0.77853 +0.037354998 0.028008999 0.77983999 +0.038206 0.028039999 0.78072 +0.039016001 0.028039999 0.78072 +0.039848 0.028055999 0.78116 +0.040702999 0.028088 0.78204 +0.041538 0.028103 0.78248 +0.042373002 0.028119 0.78292 +0.043161001 0.028103 0.78248 +0.043997001 0.028119 0.78292 +0.044859 0.028151 0.78380001 +0.045671999 0.028151 0.78380001 +0.046484999 0.028151 0.78380001 +0.047297001 0.028151 0.78380001 +0.048137002 0.028167 0.78424001 +0.049006 0.028199 0.78513002 +0.049819998 0.028199 0.78513002 +0.050634 0.028199 0.78513002 +0.051447999 0.028199 0.78513002 +0.052292001 0.028215 0.78557003 +0.053137001 0.028231001 0.78601998 +0.053920999 0.028215 0.78557003 +0.054736 0.028215 0.78557003 +0.055550002 0.028215 0.78557003 +0.056364998 0.028215 0.78557003 +0.057179999 0.028215 0.78557003 +0.057994001 0.028215 0.78557003 +0.058809001 0.028215 0.78557003 +0.059657 0.028231001 0.78601998 +0.060438 0.028215 0.78557003 +0.061218001 0.028199 0.78513002 +0.062066998 0.028215 0.78557003 +0.062917002 0.028231001 0.78601998 +0.063695997 0.028215 0.78557003 +0.064438 0.028183 0.78469002 +0.065251999 0.028183 0.78469002 +0.066065997 0.028183 0.78469002 +0.066878997 0.028183 0.78469002 +0.067616999 0.028151 0.78380001 +0.068429001 0.028151 0.78380001 +0.069202997 0.028135 0.78336 +0.069976002 0.028119 0.78292 +0.070748001 0.028103 0.78248 +0.071479 0.028072 0.7816 +0.072249003 0.028055999 0.78116 +0.073018 0.028039999 0.78072 +0.073743999 0.028008999 0.77983999 +0.074469998 0.027977001 0.77897 +0.075235002 0.027961999 0.77853 +0.075999998 0.027946001 0.77810001 +0.076678 0.027899001 0.77679002 +0.077440001 0.027884001 0.77635998 +0.078201003 0.027868001 0.77591997 +0.079006001 0.027868001 0.77591997 +0.079722002 0.027837001 0.77506 +0.080435999 0.027806001 0.77419001 +0.081193 0.027791001 0.77376002 +0.081950001 0.027775001 0.77332997 +0.082613997 0.027729001 0.77204001 +0.083368003 0.027713001 0.77161998 +0.084027998 0.027667001 0.77033001 +0.08478 0.027651999 0.76990998 +0.085483998 0.027620999 0.76905 +0.086234003 0.027605999 0.76863003 +0.086934 0.027575999 0.76778001 +0.087682001 0.027559999 0.76735002 +0.088380001 0.02753 0.76651001 +0.089028001 0.027484 0.76524001 +0.089672998 0.027439 0.76397997 +0.090315998 0.027394 0.76271999 +0.091007002 0.027364001 0.76188999 +0.091747001 0.027349001 0.76147002 +0.092435002 0.027318999 0.76063001 +0.093070999 0.027274 0.75939 +0.093808003 0.027259 0.75897002 +0.094439998 0.027215 0.75773001 +0.095225997 0.027215 0.75773001 +0.095907003 0.027185 0.75691003 +0.096639 0.027170001 0.75648999 +0.097318001 0.027140999 0.75567001 +0.098048002 0.027125999 0.75525999 +0.098777004 0.027110999 0.75484997 +0.099451996 0.027082 0.75402999 +0.17793 0.033098001 0.92154002 +-0.094746999 0.033829 0.91547 +-0.093797997 0.033829 0.91547 +-0.092909999 0.033852 0.91606998 +-0.091959998 0.033852 0.91606998 +-0.090060003 0.033852 0.91606998 +-0.089051001 0.033829 0.91547 +0.00013892 0.025664 0.69449002 +0.00085908 0.025664 0.69449002 +0.0015792 0.025664 0.69449002 +0.0023040001 0.025715001 0.69588 +0.0030241001 0.025702 0.69554001 +0.0037566 0.02578 0.69762999 +0.0044868002 0.025818 0.69867998 +0.0052217999 0.025869999 0.70008999 +0.0059417998 0.025844 0.69938999 +0.0066805002 0.025897 0.7008 +0.0074072001 0.025897 0.7008 +0.0081257001 0.025869999 0.70008999 +0.0088472003 0.025857 0.69973999 +0.010984 0.027579 0.74633998 +0.01179 0.027654 0.74835002 +0.012593 0.027713001 0.74996001 +0.013363 0.027698001 0.74956 +0.014179 0.027773 0.75158 +0.014991 0.027834 0.75321001 +0.015789 0.027864 0.75402999 +0.016580001 0.027879 0.75444001 +0.01739 0.027923999 0.75567001 +0.018214 0.027984999 0.75731999 +0.019029999 0.028031001 0.75856 +0.019838 0.028062001 0.75939 +0.020637 0.028077001 0.75980002 +0.021447999 0.028108001 0.76063001 +0.022274001 0.028154001 0.76188999 +0.023088999 0.028185001 0.76271999 +0.023946 0.028262001 0.76481998 +0.024766 0.028294001 0.76565999 +0.025602 0.028340001 0.76692998 +0.026456 0.028403001 0.76863003 +0.027283 0.028434999 0.76947999 +0.028143 0.028498 0.77118999 +0.028991001 0.028545 0.77247 +0.029826 0.028577 0.77332997 +0.030679001 0.028625 0.77463001 +0.031535 0.028673001 0.77591997 +0.032357 0.028689001 0.77635998 +0.033218 0.028736999 0.77766001 +0.034063 0.028769 0.77853 +0.034869999 0.028769 0.77853 +0.035677001 0.028769 0.77853 +0.036504999 0.028785 0.77897 +0.037397001 0.02885 0.78072 +0.038228001 0.028866 0.78116 +0.039037999 0.028866 0.78116 +0.039870001 0.028882001 0.7816 +0.040725999 0.028914999 0.78248 +0.041561 0.028930999 0.78292 +0.042397 0.028946999 0.78336 +0.043184999 0.028930999 0.78292 +0.044020999 0.028946999 0.78336 +0.044884 0.02898 0.78424001 +0.045722999 0.028997 0.78469002 +0.046510998 0.02898 0.78424001 +0.047350999 0.028997 0.78469002 +0.048165001 0.028997 0.78469002 +0.049033999 0.029029001 0.78557003 +0.049876001 0.029046001 0.78601998 +0.050691001 0.029046001 0.78601998 +0.051507 0.029046001 0.78601998 +0.052351002 0.029061999 0.78645998 +0.053167 0.029061999 0.78645998 +0.053982001 0.029061999 0.78645998 +0.054798 0.029061999 0.78645998 +0.055645 0.029079 0.78691 +0.056460999 0.029079 0.78691 +0.057211999 0.029046001 0.78601998 +0.058060002 0.029061999 0.78645998 +0.058874998 0.029061999 0.78645998 +0.059725001 0.029079 0.78691 +0.060506001 0.029061999 0.78645998 +0.061287001 0.029046001 0.78601998 +0.062137999 0.029061999 0.78645998 +0.062953003 0.029061999 0.78645998 +0.063768998 0.029061999 0.78645998 +0.064511001 0.029029001 0.78557003 +0.065288998 0.029013 0.78513002 +0.066102996 0.029013 0.78513002 +0.066917002 0.029013 0.78513002 +0.067654997 0.02898 0.78424001 +0.068467997 0.02898 0.78424001 +0.069242001 0.028964 0.78380001 +0.070014998 0.028946999 0.78336 +0.070788004 0.028930999 0.78292 +0.071519002 0.028898999 0.78204 +0.072288997 0.028882001 0.7816 +0.073059 0.028866 0.78116 +0.073826998 0.02885 0.78072 +0.074510999 0.028801 0.77941 +0.075277001 0.028785 0.77897 +0.076041996 0.028769 0.77853 +0.076720998 0.028720999 0.77723002 +0.077482998 0.028705001 0.77679002 +0.078244999 0.028689001 0.77635998 +0.079006001 0.028673001 0.77591997 +0.079765998 0.028657001 0.77548999 +0.080480002 0.028625 0.77463001 +0.081238002 0.028609 0.77419001 +0.081996001 0.028593 0.77376002 +0.082659997 0.028545 0.77247 +0.083415002 0.028529 0.77204001 +0.084074996 0.028481999 0.77076 +0.08478 0.028449999 0.76990998 +0.085530996 0.028434999 0.76947999 +0.086234003 0.028403001 0.76863003 +0.086934 0.028372001 0.76778001 +0.087633997 0.028340001 0.76692998 +0.088331997 0.028309001 0.76608998 +0.088978998 0.028262001 0.76481998 +0.089624003 0.028216001 0.76356 +0.090267003 0.028169001 0.76230001 +0.090957999 0.028139001 0.76147002 +0.091697 0.028123001 0.76104999 +0.092385001 0.028092001 0.76021999 +0.093070999 0.028062001 0.75939 +0.093704998 0.028015999 0.75814003 +0.094388001 0.027984999 0.75731999 +0.095122002 0.027969999 0.75691003 +0.095854998 0.027954999 0.75648999 +0.096585996 0.027939999 0.75607997 +0.097318001 0.027923999 0.75567001 +0.097994998 0.027894 0.75484997 +0.098724 0.027879 0.75444001 +0.099344 0.027834 0.75321001 +0.14133 0.033985998 0.91970998 +0.14218999 0.033964001 0.91909999 +0.17685001 0.034031 0.92093003 +0.17757 0.033985998 0.91970998 +-0.096455 0.034710001 0.91365999 +-0.095569998 0.034733001 0.91426003 +-0.094622001 0.034733001 0.91426003 +-0.093736 0.034756001 0.91486001 +-0.092848003 0.034779001 0.91547 +-0.091899 0.034779001 0.91547 +-0.089941002 0.034756001 0.91486001 +-0.088992998 0.034756001 0.91486001 +-0.087986 0.034733001 0.91426003 +-0.086980999 0.034710001 0.91365999 +0.00013892 0.026384 0.69449002 +0.00085950998 0.026396999 0.69484001 +0.00158 0.026396999 0.69484001 +0.0023040001 0.026436999 0.69588 +0.0030241001 0.026423 0.69554001 +0.0037547001 0.026489999 0.69727999 +0.0044844998 0.026529999 0.69832999 +0.0052164998 0.02657 0.69938999 +0.0059357998 0.026543001 0.69867998 +0.0066771 0.02661 0.70043999 +0.0074033998 0.02661 0.70043999 +0.0081257001 0.026596 0.70008999 +0.0088472003 0.026582999 0.69973999 +0.010996 0.028384 0.74713999 +0.011802 0.02846 0.74914998 +0.0126 0.028506 0.75037003 +0.013363 0.028476 0.74956 +0.014179 0.028553 0.75158 +0.014983 0.028599 0.75281 +0.01578 0.02863 0.75362003 +0.016562 0.02863 0.75362003 +0.017371001 0.028677 0.75484997 +0.018193999 0.028739 0.75648999 +0.018998999 0.02877 0.75731999 +0.019817 0.028818 0.75856 +0.020614 0.028833 0.75897002 +0.021424999 0.028865 0.75980002 +0.022260999 0.028928 0.76147002 +0.023088999 0.028976001 0.76271999 +0.023959 0.029072 0.76524001 +0.02478 0.029104 0.76608998 +0.025615999 0.029152 0.76735002 +0.026471 0.029216001 0.76905 +0.027313 0.029265 0.77033001 +0.028175 0.02933 0.77204001 +0.029023999 0.029379001 0.77332997 +0.029859001 0.029412 0.77419001 +0.030712999 0.029461 0.77548999 +0.031552002 0.029494001 0.77635998 +0.032375 0.029510001 0.77679002 +0.033255 0.029576 0.77853 +0.034100998 0.029610001 0.77941 +0.034908999 0.029610001 0.77941 +0.035716999 0.029610001 0.77941 +0.036545999 0.029626001 0.77983999 +0.037418 0.029676 0.78116 +0.038249001 0.029693 0.7816 +0.039081998 0.02971 0.78204 +0.039891999 0.02971 0.78204 +0.040748999 0.029743001 0.78292 +0.041584998 0.029759999 0.78336 +0.042420998 0.029777 0.78380001 +0.043209001 0.029759999 0.78336 +0.044046 0.029777 0.78380001 +0.044909999 0.02981 0.78469002 +0.045749001 0.029827001 0.78513002 +0.046537001 0.02981 0.78469002 +0.047378 0.029827001 0.78513002 +0.048191998 0.029827001 0.78513002 +0.049089 0.029878 0.78645998 +0.049904998 0.029878 0.78645998 +0.050719999 0.029878 0.78645998 +0.051564999 0.029895 0.78691 +0.052411001 0.029912001 0.78735 +0.053227 0.029912001 0.78735 +0.054042999 0.029912001 0.78735 +0.05486 0.029912001 0.78735 +0.055707999 0.029928001 0.78780001 +0.056492999 0.029912001 0.78735 +0.057277001 0.029895 0.78691 +0.058093 0.029895 0.78691 +0.058942001 0.029912001 0.78735 +0.059758998 0.029912001 0.78735 +0.060541 0.029895 0.78691 +0.061356999 0.029895 0.78691 +0.062208001 0.029912001 0.78735 +0.063023999 0.029912001 0.78735 +0.063804999 0.029895 0.78691 +0.064548001 0.029860999 0.78601998 +0.065362997 0.029860999 0.78601998 +0.066140004 0.029843999 0.78557003 +0.066955 0.029843999 0.78557003 +0.067693003 0.02981 0.78469002 +0.068507001 0.02981 0.78469002 +0.069280997 0.029793 0.78424001 +0.070055 0.029777 0.78380001 +0.070827998 0.029759999 0.78336 +0.071558997 0.029726001 0.78248 +0.072329998 0.02971 0.78204 +0.073100001 0.029693 0.7816 +0.073868997 0.029676 0.78116 +0.074594997 0.029642999 0.78027999 +0.075361997 0.029626001 0.77983999 +0.076127999 0.029610001 0.77941 +0.076764002 0.029542999 0.77766001 +0.077527002 0.029526999 0.77723002 +0.078289002 0.029510001 0.77679002 +0.079049997 0.029494001 0.77635998 +0.079810999 0.029477 0.77591997 +0.080525003 0.029444 0.77506 +0.081284001 0.029428 0.77463001 +0.081996001 0.029394999 0.77376002 +0.082705997 0.029363001 0.77289999 +0.083461002 0.029346 0.77247 +0.084122002 0.029297 0.77118999 +0.084826998 0.029265 0.77033001 +0.085530996 0.029231999 0.76947999 +0.086234003 0.029200001 0.76863003 +0.086934 0.029168 0.76778001 +0.087633997 0.029136 0.76692998 +0.088283002 0.029088 0.76565999 +0.088930003 0.029039999 0.76440001 +0.089575 0.028991999 0.76314002 +0.090217002 0.028944001 0.76188999 +0.090907998 0.028912 0.76104999 +0.091646999 0.028896 0.76063001 +0.092334002 0.028865 0.75980002 +0.093020998 0.028833 0.75897002 +0.093653999 0.028786 0.75773001 +0.094337001 0.028755 0.75691003 +0.095069997 0.028739 0.75648999 +0.095802002 0.028724 0.75607997 +0.096533999 0.028708 0.75567001 +0.097264998 0.028692 0.75525999 +0.097940996 0.028661 0.75444001 +0.098617002 0.02863 0.75362003 +0.099289998 0.028599 0.75281 +0.10002 0.028584 0.75239998 +0.10069 0.028553 0.75158 +0.14114 0.034892999 0.91848999 +0.17649999 0.034917001 0.91909999 +-0.097274996 0.035611 0.91246003 +-0.096327998 0.035611 0.91246003 +-0.095445 0.035634 0.91306001 +-0.094559997 0.035657 0.91365999 +-0.093673997 0.035681002 0.91426003 +-0.092726 0.035681002 0.91426003 +-0.091778003 0.035681002 0.91426003 +-0.090829998 0.035681002 0.91426003 +-0.089882001 0.035681002 0.91426003 +-0.088876002 0.035657 0.91365999 +-0.087927997 0.035657 0.91365999 +-0.086924002 0.035634 0.91306001 +-0.085977003 0.035634 0.91306001 +-0.084973998 0.035611 0.91246003 +-0.084027998 0.035611 0.91246003 +-0.0013014 0.027104 0.69449002 +-0.00058123999 0.027104 0.69449002 +0.00013892 0.027104 0.69449002 +0.00085950998 0.027117001 0.69484001 +0.00158 0.027117001 0.69484001 +0.0023040001 0.027158 0.69588 +0.0030241001 0.027145 0.69554001 +0.0037547001 0.027213 0.69727999 +0.0044823 0.027240001 0.69797999 +0.0052113002 0.027267 0.69867998 +0.0059298002 0.027240001 0.69797999 +0.0066704 0.027309 0.69973999 +0.0074033998 0.027336 0.70043999 +0.0081257001 0.027322 0.70008999 +0.0088427002 0.027295001 0.69938999 +0.011014 0.029206 0.74835002 +0.011809 0.029253 0.74956 +0.012606 0.029300001 0.75076997 +0.013371 0.029269001 0.74996001 +0.014179 0.029332001 0.75158 +0.014974 0.029363999 0.75239998 +0.015763 0.029379999 0.75281 +0.016543999 0.029379999 0.75281 +0.017343 0.029412 0.75362003 +0.018164 0.029475 0.75525999 +0.018978 0.029524 0.75648999 +0.019784 0.029556001 0.75731999 +0.020592 0.029588001 0.75814003 +0.02139 0.029603999 0.75856 +0.022260999 0.029718 0.76147002 +0.023088999 0.029766999 0.76271999 +0.023972001 0.029881001 0.76565999 +0.024793001 0.029913999 0.76651001 +0.025630999 0.029964 0.76778001 +0.026485 0.030029999 0.76947999 +0.027329 0.03008 0.77076 +0.02819 0.030146999 0.77247 +0.029039999 0.030198 0.77376002 +0.029891999 0.030247999 0.77506 +0.03073 0.030282 0.77591997 +0.031587999 0.030332999 0.77723002 +0.032412 0.03035 0.77766001 +0.033293001 0.030417999 0.77941 +0.034120001 0.030435 0.77983999 +0.034929 0.030435 0.77983999 +0.035757001 0.030452 0.78027999 +0.036587 0.030469 0.78072 +0.037439 0.030502999 0.7816 +0.038270999 0.03052 0.78204 +0.039104 0.030538 0.78248 +0.039914999 0.030538 0.78248 +0.040771998 0.030572001 0.78336 +0.041607998 0.030588999 0.78380001 +0.042445 0.030607 0.78424001 +0.043234002 0.030588999 0.78380001 +0.044071 0.030607 0.78424001 +0.044961002 0.030658999 0.78557003 +0.045775 0.030658999 0.78557003 +0.046562999 0.030641001 0.78513002 +0.047403999 0.030658999 0.78557003 +0.048246 0.030676 0.78601998 +0.049144998 0.030727999 0.78735 +0.049933001 0.030711001 0.78691 +0.050749 0.030711001 0.78691 +0.051623002 0.030745 0.78780001 +0.052439999 0.030745 0.78780001 +0.053257 0.030745 0.78780001 +0.054074001 0.030745 0.78780001 +0.054891001 0.030745 0.78780001 +0.055739 0.030763 0.78825003 +0.056524999 0.030745 0.78780001 +0.057342 0.030745 0.78780001 +0.058125999 0.030727999 0.78735 +0.058975998 0.030745 0.78780001 +0.059792001 0.030745 0.78780001 +0.060609002 0.030745 0.78780001 +0.061391 0.030727999 0.78735 +0.062243 0.030745 0.78780001 +0.063060001 0.030745 0.78780001 +0.063841 0.030727999 0.78735 +0.064621001 0.030711001 0.78691 +0.065399997 0.030693 0.78645998 +0.066215001 0.030693 0.78645998 +0.067031004 0.030693 0.78645998 +0.067731 0.030641001 0.78513002 +0.068544999 0.030641001 0.78513002 +0.069360003 0.030641001 0.78513002 +0.070093997 0.030607 0.78424001 +0.070868 0.030588999 0.78380001 +0.07164 0.030572001 0.78336 +0.072370999 0.030538 0.78248 +0.073141001 0.03052 0.78204 +0.073909998 0.030502999 0.7816 +0.074637003 0.030469 0.78072 +0.075404003 0.030452 0.78027999 +0.076169997 0.030435 0.77983999 +0.076849997 0.030384 0.77853 +0.077569999 0.03035 0.77766001 +0.078332998 0.030332999 0.77723002 +0.079094 0.030316001 0.77679002 +0.079855002 0.030299 0.77635998 +0.080569997 0.030265 0.77548999 +0.081329003 0.030247999 0.77506 +0.082087003 0.030231001 0.77463001 +0.082751997 0.030181 0.77332997 +0.083507001 0.030164 0.77289999 +0.084168002 0.030114001 0.77161998 +0.084873997 0.03008 0.77076 +0.085579 0.030046999 0.76990998 +0.086234003 0.029997 0.76863003 +0.086934 0.029964 0.76778001 +0.087633997 0.029931 0.76692998 +0.088283002 0.029881001 0.76565999 +0.088930003 0.029832 0.76440001 +0.089525998 0.029766999 0.76271999 +0.090167999 0.029718 0.76147002 +0.090857998 0.029685 0.76063001 +0.091596998 0.029669 0.76021999 +0.092334002 0.029653 0.75980002 +0.092969999 0.029603999 0.75856 +0.093603 0.029556001 0.75731999 +0.094286002 0.029524 0.75648999 +0.095017999 0.029508 0.75607997 +0.095749997 0.029492 0.75567001 +0.096481003 0.029475 0.75525999 +0.097212002 0.029459 0.75484997 +0.097888 0.029428 0.75402999 +0.098563001 0.029395999 0.75321001 +0.099183001 0.029348001 0.75199002 +0.099909 0.029332001 0.75158 +0.10063 0.029316001 0.75117999 +0.10163 0.029379999 0.75281 +-0.098091997 0.036509 0.91127002 +-0.097211003 0.036533002 0.91185999 +-0.096265003 0.036533002 0.91185999 +-0.095381998 0.036557 0.91246003 +-0.094435997 0.036557 0.91246003 +-0.093612999 0.036605 0.91365999 +-0.092665002 0.036605 0.91365999 +-0.091718003 0.036605 0.91365999 +-0.090769999 0.036605 0.91365999 +-0.089823 0.036605 0.91365999 +-0.088817 0.036580998 0.91306001 +-0.087812997 0.036557 0.91246003 +-0.08681 0.036533002 0.91185999 +-0.085864 0.036533002 0.91185999 +-0.084918 0.036533002 0.91185999 +-0.083972998 0.036533002 0.91185999 +-0.010219 0.036533002 0.91185999 +-0.0092610996 0.036485001 0.91066998 +-0.0013021 0.027837999 0.69484001 +-0.00058123999 0.027824 0.69449002 +0.00013899 0.027837999 0.69484001 +0.00085950998 0.027837999 0.69484001 +0.00158 0.027837999 0.69484001 +0.0023040001 0.02788 0.69588 +0.0030241001 0.027866 0.69554001 +0.0037527999 0.027922001 0.69692999 +0.0044800001 0.02795 0.69762999 +0.0052061002 0.027964 0.69797999 +0.0059209 0.027922001 0.69692999 +0.0066637001 0.028006 0.69902998 +0.0073997001 0.028047999 0.70008999 +0.0081216004 0.028034 0.69973999 +0.0088382997 0.028006 0.69902998 +0.01102 0.029998001 0.74874997 +0.011815 0.030045999 0.74996001 +0.012606 0.030079 0.75076997 +0.013363 0.030029999 0.74956 +0.014171 0.030095 0.75117999 +0.014966 0.030128 0.75199002 +0.015755 0.030144 0.75239998 +0.016526001 0.030128 0.75199002 +0.017315 0.030144 0.75239998 +0.018144 0.030226 0.75444001 +0.018958 0.030275 0.75567001 +0.019763 0.030308001 0.75648999 +0.020558 0.030324999 0.75691003 +0.021354999 0.030340999 0.75731999 +0.023985 0.030692 0.76608998 +0.024807001 0.030726001 0.76692998 +0.025645001 0.030777 0.76819998 +0.0265 0.030844999 0.76990998 +0.027344 0.030897001 0.77118999 +0.028206 0.030965 0.77289999 +0.029056 0.031017 0.77419001 +0.029909 0.031068999 0.77548999 +0.030747 0.031104 0.77635998 +0.031605002 0.031156 0.77766001 +0.032430001 0.031174 0.77810001 +0.033330001 0.031261001 0.78027999 +0.034157999 0.031279001 0.78072 +0.034968 0.031279001 0.78072 +0.035776999 0.031279001 0.78072 +0.036607999 0.031296 0.78116 +0.037459999 0.031330999 0.78204 +0.038291998 0.031349 0.78248 +0.039126001 0.031367 0.78292 +0.039937001 0.031367 0.78292 +0.040794998 0.031401999 0.78380001 +0.041632 0.03142 0.78424001 +0.042468999 0.031438001 0.78469002 +0.043258 0.03142 0.78424001 +0.044096 0.031438001 0.78469002 +0.044985998 0.031491 0.78601998 +0.045827001 0.031509001 0.78645998 +0.046615999 0.031491 0.78601998 +0.047458 0.031509001 0.78645998 +0.048301 0.031527001 0.78691 +0.049173001 0.031562001 0.78780001 +0.049989 0.031562001 0.78780001 +0.050806001 0.031562001 0.78780001 +0.051653001 0.031580001 0.78825003 +0.052469999 0.031580001 0.78825003 +0.053286999 0.031580001 0.78825003 +0.054104999 0.031580001 0.78825003 +0.054922 0.031580001 0.78825003 +0.055771001 0.031598002 0.78868997 +0.056557 0.031580001 0.78825003 +0.057342 0.031562001 0.78780001 +0.058159001 0.031562001 0.78780001 +0.059009001 0.031580001 0.78825003 +0.059826002 0.031580001 0.78825003 +0.060644001 0.031580001 0.78825003 +0.061425999 0.031562001 0.78780001 +0.062279001 0.031580001 0.78825003 +0.063096002 0.031580001 0.78825003 +0.063877001 0.031562001 0.78780001 +0.064657003 0.031544 0.78735 +0.065474004 0.031544 0.78735 +0.066252999 0.031527001 0.78691 +0.067069001 0.031527001 0.78691 +0.067808002 0.031491 0.78601998 +0.068622999 0.031491 0.78601998 +0.069398999 0.031473 0.78557003 +0.070174001 0.031454999 0.78513002 +0.070908003 0.03142 0.78424001 +0.07164 0.031383999 0.78336 +0.072411999 0.031367 0.78292 +0.073223002 0.031367 0.78292 +0.073951997 0.031330999 0.78204 +0.074679002 0.031296 0.78116 +0.075446002 0.031279001 0.78072 +0.076256 0.031279001 0.78072 +0.076893002 0.031207999 0.77897 +0.077614002 0.031174 0.77810001 +0.078377001 0.031156 0.77766001 +0.079182997 0.031156 0.77766001 +0.079899997 0.031121001 0.77679002 +0.080614999 0.031087 0.77591997 +0.081373997 0.031068999 0.77548999 +0.082087003 0.031035 0.77463001 +0.082843997 0.031017 0.77419001 +0.083554 0.030982999 0.77332997 +0.084215 0.030931 0.77204001 +0.084968001 0.030913999 0.77161998 +0.085579 0.030844999 0.76990998 +0.086281002 0.030811001 0.76905 +0.086981997 0.030777 0.76819998 +0.087633997 0.030726001 0.76692998 +0.088331997 0.030692 0.76608998 +0.088930003 0.030625001 0.76440001 +0.089525998 0.030557999 0.76271999 +0.090118997 0.030491 0.76104999 +0.090807997 0.030456999 0.76021999 +0.091546997 0.030440999 0.75980002 +0.092284001 0.030424001 0.75939 +0.092918999 0.030374 0.75814003 +0.093552001 0.030324999 0.75691003 +0.094182998 0.030275 0.75567001 +0.094915003 0.030259 0.75525999 +0.095697999 0.030259 0.75525999 +0.096428998 0.030242 0.75484997 +0.097158998 0.030226 0.75444001 +0.097782001 0.030177001 0.75321001 +0.098509997 0.030160001 0.75281 +0.099128999 0.030111 0.75158 +0.099854998 0.030095 0.75117999 +0.10052 0.030063 0.75037003 +0.10158 0.030144 0.75239998 +-0.097962998 0.037404999 0.91007 +-0.097147003 0.037454002 0.91127002 +-0.096202001 0.037454002 0.91127002 +-0.095320001 0.037478 0.91185999 +-0.094374001 0.037478 0.91185999 +-0.093551002 0.037528001 0.91306001 +-0.092665002 0.037551999 0.91365999 +-0.091658004 0.037528001 0.91306001 +-0.090710998 0.037528001 0.91306001 +-0.089763999 0.037528001 0.91306001 +-0.088758998 0.037503 0.91246003 +-0.087755002 0.037478 0.91185999 +-0.086753003 0.037454002 0.91127002 +-0.085808001 0.037454002 0.91127002 +-0.084863 0.037454002 0.91127002 +-0.011142 0.037404999 0.91007 +-0.010179 0.037331 0.90829003 +-0.0092248004 0.037283 0.90710002 +-0.0013021 0.028558001 0.69484001 +-0.00058152998 0.028558001 0.69484001 +0.00013899 0.028558001 0.69484001 +0.00085950998 0.028558001 0.69484001 +0.0015808 0.028573001 0.69519001 +0.0023040001 0.028601 0.69588 +0.0030241001 0.028587 0.69554001 +0.0037509999 0.02863 0.69657999 +0.0044755 0.028643999 0.69692999 +0.0052008 0.028658999 0.69727999 +0.0059119998 0.028601 0.69588 +0.007396 0.028759999 0.69973999 +0.0081174998 0.028744999 0.69938999 +0.011026 0.030791 0.74914998 +0.011815 0.030824 0.74996001 +0.012606 0.030857 0.75076997 +0.01495 0.030874001 0.75117999 +0.015737999 0.030890999 0.75158 +0.016508 0.030874001 0.75117999 +0.017295999 0.030890999 0.75158 +0.018124999 0.030974999 0.75362003 +0.018947 0.031042 0.75525999 +0.019741001 0.031059001 0.75567001 +0.020536 0.031075999 0.75607997 +0.021331999 0.031093 0.75648999 +0.023998 0.031504001 0.76651001 +0.024821 0.031539001 0.76735002 +0.025645001 0.031574 0.76819998 +0.0265 0.031644002 0.76990998 +0.027358999 0.031714 0.77161998 +0.028222 0.031785 0.77332997 +0.029072 0.031838 0.77463001 +0.029925 0.031891 0.77591997 +0.030764 0.031927001 0.77679002 +0.031640999 0.031998001 0.77853 +0.032466002 0.032016002 0.77897 +0.033349 0.032088 0.78072 +0.034177002 0.032106001 0.78116 +0.034986999 0.032106001 0.78116 +0.035797 0.032106001 0.78116 +0.036628 0.032124002 0.7816 +0.037480999 0.032159999 0.78248 +0.038314 0.032179002 0.78292 +0.039147999 0.032196999 0.78336 +0.039960001 0.032196999 0.78336 +0.040817998 0.032233 0.78424001 +0.041655 0.032251 0.78469002 +0.042493001 0.032269001 0.78513002 +0.043306999 0.032269001 0.78513002 +0.044146001 0.032288 0.78557003 +0.045037001 0.032343 0.78691 +0.045878999 0.032361001 0.78735 +0.046668999 0.032343 0.78691 +0.047485001 0.032343 0.78691 +0.048328001 0.032361001 0.78735 +0.049199998 0.032398 0.78825003 +0.050018001 0.032398 0.78825003 +0.050834998 0.032398 0.78825003 +0.051681999 0.032416001 0.78868997 +0.052499998 0.032416001 0.78868997 +0.053318001 0.032416001 0.78868997 +0.054134998 0.032416001 0.78868997 +0.054953001 0.032416001 0.78868997 +0.055771001 0.032416001 0.78868997 +0.056589 0.032416001 0.78868997 +0.057374001 0.032398 0.78825003 +0.058192 0.032398 0.78825003 +0.059041999 0.032416001 0.78868997 +0.059859999 0.032416001 0.78868997 +0.060678001 0.032416001 0.78868997 +0.061461002 0.032398 0.78825003 +0.062314 0.032416001 0.78868997 +0.063132003 0.032416001 0.78868997 +0.063913003 0.032398 0.78825003 +0.064694002 0.032379001 0.78780001 +0.065511003 0.032379001 0.78780001 +0.066289999 0.032361001 0.78735 +0.067106999 0.032361001 0.78735 +0.067846 0.032324001 0.78645998 +0.068662003 0.032324001 0.78645998 +0.069476999 0.032324001 0.78645998 +0.070212997 0.032288 0.78557003 +0.070947997 0.032251 0.78469002 +0.071680002 0.032214999 0.78380001 +0.072452001 0.032196999 0.78336 +0.073223002 0.032179002 0.78292 +0.073951997 0.032141998 0.78204 +0.074721001 0.032124002 0.7816 +0.075488999 0.032106001 0.78116 +0.076298997 0.032106001 0.78116 +0.076978996 0.032051999 0.77983999 +0.077701002 0.032016002 0.77897 +0.078419998 0.03198 0.77810001 +0.079227 0.03198 0.77810001 +0.079989001 0.031962 0.77766001 +0.08066 0.031909 0.77635998 +0.081419997 0.031891 0.77591997 +0.082133003 0.031856 0.77506 +0.082843997 0.031819999 0.77419001 +0.0836 0.031801999 0.77376002 +0.084308997 0.031767 0.77289999 +0.085015997 0.031732 0.77204001 +0.085625999 0.031661 0.77033001 +0.086328998 0.031626001 0.76947999 +0.087030999 0.031590998 0.76863003 +0.087682001 0.031539001 0.76735002 +0.088331997 0.031486999 0.76608998 +0.088978998 0.031435002 0.76481998 +0.089475997 0.031330999 0.76230001 +0.090069003 0.031263001 0.76063001 +0.090709001 0.031211 0.75939 +0.091447003 0.031194 0.75897002 +0.092183001 0.031176999 0.75856 +0.092817999 0.031126 0.75731999 +0.093450002 0.031075999 0.75607997 +0.094131999 0.031042 0.75525999 +0.094864003 0.031025 0.75484997 +0.095593996 0.031008 0.75444001 +0.096377 0.031008 0.75444001 +0.097106002 0.030990999 0.75402999 +0.097728997 0.030941 0.75281 +0.098402999 0.030906999 0.75199002 +0.099076003 0.030874001 0.75117999 +0.099800996 0.030857 0.75076997 +0.10052 0.030841 0.75037003 +0.10147 0.030890999 0.75158 +-0.09702 0.038348 0.91007 +-0.096075997 0.038348 0.91007 +-0.095195003 0.038373999 0.91066998 +-0.094311997 0.038399 0.91127002 +-0.093489997 0.038449001 0.91246003 +-0.092603996 0.038474001 0.91306001 +-0.091596998 0.038449001 0.91246003 +-0.090650998 0.038449001 0.91246003 +-0.089704998 0.038449001 0.91246003 +-0.088701002 0.038424 0.91185999 +-0.087697998 0.038399 0.91127002 +-0.086695999 0.038373999 0.91066998 +-0.085750997 0.038373999 0.91066998 +-0.084752001 0.038348 0.91007 +-0.083807997 0.038348 0.91007 +-0.012062 0.038272999 0.90829003 +-0.011113 0.038247999 0.90768999 +-0.010152 0.038173001 0.90592003 +-0.0092067998 0.038148999 0.90533 +-0.0082625998 0.038123999 0.90473998 +-0.0034653 0.029293999 0.69519001 +-0.0027445001 0.029293999 0.69519001 +-0.0020226 0.029278999 0.69484001 +-0.0013021 0.029278999 0.69484001 +-0.00058152998 0.029278999 0.69484001 +0.00013899 0.029278999 0.69484001 +0.00085950998 0.029278999 0.69484001 +0.0015808 0.029293999 0.69519001 +0.0023040001 0.029323 0.69588 +0.0030241001 0.029308001 0.69554001 +0.0037509999 0.029352 0.69657999 +0.0044733002 0.029352 0.69657999 +0.0051930002 0.029338 0.69622999 +0.0059060999 0.029293999 0.69519001 +0.0066368999 0.029338 0.69622999 +0.0073847999 0.029441001 0.69867998 +0.011026 0.031567998 0.74914998 +0.011815 0.031601999 0.74996001 +0.015721001 0.031636 0.75076997 +0.016489999 0.031619001 0.75037003 +0.017268 0.031619001 0.75037003 +0.018076001 0.03167 0.75158 +0.018916 0.031773001 0.75402999 +0.019709 0.031789999 0.75444001 +0.020491 0.031789999 0.75444001 +0.021297 0.031824999 0.75525999 +0.024025001 0.032334998 0.76735002 +0.024847999 0.032370001 0.76819998 +0.025673 0.032405999 0.76905 +0.026515 0.03246 0.77033001 +0.027373999 0.032531999 0.77204001 +0.028237 0.032605 0.77376002 +0.029088 0.032659002 0.77506 +0.029942 0.032714002 0.77635998 +0.030781999 0.032751001 0.77723002 +0.031658001 0.032823998 0.77897 +0.032483999 0.032841999 0.77941 +0.033367001 0.032915998 0.78116 +0.034196999 0.032935001 0.7816 +0.035007 0.032935001 0.7816 +0.035817999 0.032935001 0.7816 +0.036649 0.032953002 0.78204 +0.037501998 0.032990001 0.78292 +0.038334999 0.033009 0.78336 +0.039170001 0.033027999 0.78380001 +0.039981999 0.033027999 0.78380001 +0.040840998 0.033064999 0.78469002 +0.041678999 0.033084001 0.78513002 +0.042516999 0.033101998 0.78557003 +0.043356001 0.033121001 0.78601998 +0.044195998 0.03314 0.78645998 +0.045088001 0.033195999 0.78780001 +0.045905001 0.033195999 0.78780001 +0.046695001 0.033177 0.78735 +0.047538999 0.033195999 0.78780001 +0.048383001 0.033215001 0.78825003 +0.049228001 0.033234 0.78868997 +0.050046001 0.033234 0.78868997 +0.050864 0.033234 0.78868997 +0.051711001 0.033252999 0.78913999 +0.052530002 0.033252999 0.78913999 +0.053348001 0.033252999 0.78913999 +0.054166 0.033252999 0.78913999 +0.055016 0.033271998 0.78959 +0.055833999 0.033271998 0.78959 +0.056621 0.033252999 0.78913999 +0.057438999 0.033252999 0.78913999 +0.058258001 0.033252999 0.78913999 +0.059076 0.033252999 0.78913999 +0.059893999 0.033252999 0.78913999 +0.060713001 0.033252999 0.78913999 +0.061496001 0.033234 0.78868997 +0.062348999 0.033252999 0.78913999 +0.063167997 0.033252999 0.78913999 +0.063950002 0.033234 0.78868997 +0.064731002 0.033215001 0.78825003 +0.065548003 0.033215001 0.78825003 +0.066365004 0.033215001 0.78825003 +0.067144997 0.033195999 0.78780001 +0.067923002 0.033177 0.78735 +0.068700999 0.033158999 0.78691 +0.069517002 0.033158999 0.78691 +0.070293002 0.03314 0.78645998 +0.070987999 0.033084001 0.78513002 +0.071721002 0.033046 0.78424001 +0.072493002 0.033027999 0.78380001 +0.073265001 0.033009 0.78336 +0.073994003 0.032972001 0.78248 +0.074763 0.032953002 0.78204 +0.075530998 0.032935001 0.7816 +0.076342002 0.032935001 0.7816 +0.077022001 0.032878999 0.78027999 +0.077744 0.032841999 0.77941 +0.078507997 0.032823998 0.77897 +0.079272002 0.032806002 0.77853 +0.080034003 0.032786999 0.77810001 +0.080751002 0.032751001 0.77723002 +0.081419997 0.032696001 0.77591997 +0.082179002 0.032676999 0.77548999 +0.082889996 0.032641001 0.77463001 +0.083646998 0.032623 0.77419001 +0.084308997 0.032568 0.77289999 +0.085063003 0.03255 0.77247 +0.085672997 0.032478001 0.77076 +0.086377002 0.032442 0.76990998 +0.087079003 0.032405999 0.76905 +0.087730996 0.032352 0.76778001 +0.088380001 0.032299001 0.76651001 +0.089028001 0.032246001 0.76524001 +0.089525998 0.032139 0.76271999 +0.090069003 0.032051001 0.76063001 +0.090709001 0.031998999 0.75939 +0.091397002 0.031964 0.75856 +0.092133 0.031947002 0.75814003 +0.092817999 0.031911999 0.75731999 +0.093400002 0.031842001 0.75567001 +0.094080999 0.031808 0.75484997 +0.094811998 0.031789999 0.75444001 +0.095542997 0.031773001 0.75402999 +0.096323997 0.031773001 0.75402999 +0.097053997 0.031755999 0.75362003 +0.097622998 0.031686999 0.75199002 +0.098297 0.031652998 0.75117999 +0.099022001 0.031636 0.75076997 +0.099747002 0.031619001 0.75037003 +0.10047 0.031601999 0.74996001 +0.10141 0.031652998 0.75117999 +-0.096892998 0.039241001 0.90888 +-0.09595 0.039241001 0.90888 +-0.095069997 0.039266001 0.90947998 +-0.094189003 0.039292 0.91007 +-0.087640002 0.039317999 0.91066998 +-0.011092 0.039113 0.90592003 +-0.010139 0.039062001 0.90473998 +-0.0091947997 0.039035998 0.90415001 +-0.0082518999 0.039011002 0.90355998 +-0.0034636001 0.029999999 0.69484001 +-0.0027431 0.029999999 0.69484001 +-0.0020216 0.029984999 0.69449002 +-0.0013021 0.029999999 0.69484001 +-0.00058152998 0.029999999 0.69484001 +0.00013899 0.029999999 0.69484001 +0.00085950998 0.029999999 0.69484001 +0.0015808 0.030014999 0.69519001 +0.0023029 0.030029999 0.69554001 +0.0030226 0.030014999 0.69519001 +0.0037471999 0.030045001 0.69588 +0.0044710999 0.030060001 0.69622999 +0.0051903999 0.030045001 0.69588 +0.0059002 0.029984999 0.69449002 +0.011809 0.032361999 0.74956 +0.0126 0.032396998 0.75037003 +0.015712 0.032396998 0.75037003 +0.016481001 0.032379001 0.74996001 +0.01725 0.032361999 0.74956 +0.018045999 0.032396998 0.75037003 +0.024876 0.033204 0.76905 +0.025715999 0.033259001 0.77033001 +0.026559001 0.033314001 0.77161998 +0.027404999 0.033369999 0.77289999 +0.028269 0.033443999 0.77463001 +0.029121 0.033500001 0.77591997 +0.029959001 0.033537999 0.77679002 +0.030816 0.033594001 0.77810001 +0.031676002 0.033651002 0.77941 +0.032503001 0.033670001 0.77983999 +0.033386 0.033744998 0.7816 +0.034216002 0.033764001 0.78204 +0.035027001 0.033764001 0.78204 +0.035838 0.033764001 0.78204 +0.036669001 0.033783 0.78248 +0.037523001 0.033821002 0.78336 +0.038357001 0.033840001 0.78380001 +0.039191999 0.033860002 0.78424001 +0.040027998 0.033879001 0.78469002 +0.040863998 0.033898 0.78513002 +0.041701999 0.033916999 0.78557003 +0.042564999 0.033955 0.78645998 +0.04338 0.033955 0.78645998 +0.044245999 0.033994 0.78735 +0.045139 0.034051999 0.78868997 +0.045956999 0.034051999 0.78868997 +0.046748001 0.034031998 0.78825003 +0.047593001 0.034051999 0.78868997 +0.048438001 0.034070998 0.78913999 +0.049284 0.034090001 0.78959 +0.050074998 0.034070998 0.78913999 +0.050921999 0.034090001 0.78959 +0.051770002 0.034109998 0.79004002 +0.052588999 0.034109998 0.79004002 +0.053408999 0.034109998 0.79004002 +0.054228 0.034109998 0.79004002 +0.055047002 0.034109998 0.79004002 +0.055865999 0.034109998 0.79004002 +0.056685001 0.034109998 0.79004002 +0.057505 0.034109998 0.79004002 +0.058290999 0.034090001 0.78959 +0.059110001 0.034090001 0.78959 +0.059962001 0.034109998 0.79004002 +0.060747001 0.034090001 0.78959 +0.061531 0.034070998 0.78913999 +0.062385 0.034090001 0.78959 +0.063203 0.034090001 0.78959 +0.063986003 0.034070998 0.78913999 +0.064767003 0.034051999 0.78868997 +0.065585002 0.034051999 0.78868997 +0.066403002 0.034051999 0.78868997 +0.067183003 0.034031998 0.78825003 +0.067961998 0.034012999 0.78780001 +0.068740003 0.033994 0.78735 +0.069555998 0.033994 0.78735 +0.070332997 0.033975001 0.78691 +0.071107998 0.033955 0.78645998 +0.071801998 0.033898 0.78513002 +0.072575003 0.033879001 0.78469002 +0.073347002 0.033860002 0.78424001 +0.074034996 0.033801999 0.78292 +0.074804999 0.033783 0.78248 +0.075574003 0.033764001 0.78204 +0.076384999 0.033764001 0.78204 +0.077109002 0.033725999 0.78116 +0.077831 0.033688001 0.78027999 +0.078596003 0.033670001 0.77983999 +0.079360999 0.033651002 0.77941 +0.080078997 0.033613 0.77853 +0.080796003 0.033574998 0.77766001 +0.081510998 0.033537999 0.77679002 +0.082223997 0.033500001 0.77591997 +0.082983002 0.033482 0.77548999 +0.083692998 0.033443999 0.77463001 +0.084403001 0.033406999 0.77376002 +0.085110001 0.033369999 0.77289999 +0.085721001 0.033296 0.77118999 +0.086424999 0.033259001 0.77033001 +0.087127 0.033222001 0.76947999 +0.087730996 0.033149 0.76778001 +0.088428997 0.033112001 0.76692998 +0.089077003 0.033057 0.76565999 +0.089525998 0.032930002 0.76271999 +0.090020001 0.032822002 0.76021999 +0.090659998 0.032768 0.75897002 +0.091347001 0.032733001 0.75814003 +0.092083 0.032715 0.75773001 +0.092767 0.032678999 0.75691003 +0.093400002 0.032625999 0.75567001 +0.09403 0.032573 0.75444001 +0.094760999 0.032554999 0.75402999 +0.095491 0.032536998 0.75362003 +0.096220002 0.03252 0.75321001 +0.096949004 0.032501999 0.75281 +0.097517997 0.032432001 0.75117999 +0.098191001 0.032396998 0.75037003 +0.098915003 0.032379001 0.74996001 +0.099693 0.032379001 0.74996001 +0.10042 0.032361999 0.74956 +0.10141 0.032432001 0.75117999 +-0.094821997 0.040105 0.90710002 +-0.093943 0.040130999 0.90768999 +-0.0091829002 0.039921999 0.90298003 +-0.0082411999 0.039896 0.90239 +-0.0034618999 0.030704999 0.69449002 +-0.0027431 0.030719999 0.69484001 +-0.0020204999 0.030688999 0.69414997 +-0.0013014 0.030704999 0.69449002 +-0.00058152998 0.030719999 0.69484001 +0.00013892 0.030704999 0.69449002 +0.00085908 0.030704999 0.69449002 +0.00158 0.030719999 0.69484001 +0.0023004999 0.030719999 0.69484001 +0.0030195999 0.030704999 0.69449002 +0.0037416001 0.030719999 0.69484001 +0.0044665998 0.030750999 0.69554001 +0.0051826001 0.030719999 0.69484001 +0.011802 0.033121001 0.74914998 +0.012586 0.033139002 0.74956 +0.015695 0.033139002 0.74956 +0.016464001 0.033121001 0.74914998 +0.017231001 0.033103999 0.74874997 +0.018017 0.033121001 0.74914998 +0.024902999 0.034038998 0.76990998 +0.025744 0.034095999 0.77118999 +0.026573 0.034132998 0.77204001 +0.027404999 0.034171 0.77289999 +0.028285 0.034267001 0.77506 +0.029137 0.034324002 0.77635998 +0.029975999 0.034361999 0.77723002 +0.030833 0.034419999 0.77853 +0.031693999 0.034478001 0.77983999 +0.032520998 0.034497999 0.78027999 +0.033404998 0.034575 0.78204 +0.034235001 0.034595001 0.78248 +0.035046998 0.034595001 0.78248 +0.035858002 0.034595001 0.78248 +0.03669 0.034614 0.78292 +0.037544001 0.034653001 0.78380001 +0.038378999 0.034673002 0.78424001 +0.039236002 0.034712002 0.78513002 +0.04005 0.034712002 0.78513002 +0.040886998 0.034731999 0.78557003 +0.041749001 0.034770999 0.78645998 +0.042613 0.034809999 0.78735 +0.043430001 0.034809999 0.78735 +0.044296 0.034850001 0.78825003 +0.045164999 0.034889001 0.78913999 +0.045983002 0.034889001 0.78913999 +0.046774998 0.034869999 0.78868997 +0.047619998 0.034889001 0.78913999 +0.048466001 0.034908999 0.78959 +0.049311999 0.034929 0.79004002 +0.050131999 0.034929 0.79004002 +0.050951 0.034929 0.79004002 +0.051798999 0.034949001 0.79048997 +0.052618999 0.034949001 0.79048997 +0.053438999 0.034949001 0.79048997 +0.054258998 0.034949001 0.79048997 +0.055078 0.034949001 0.79048997 +0.055898 0.034949001 0.79048997 +0.056717999 0.034949001 0.79048997 +0.057537001 0.034949001 0.79048997 +0.058324002 0.034929 0.79004002 +0.059142999 0.034929 0.79004002 +0.059962001 0.034929 0.79004002 +0.060782 0.034929 0.79004002 +0.061565999 0.034908999 0.78959 +0.062419999 0.034929 0.79004002 +0.063239001 0.034929 0.79004002 +0.064021997 0.034908999 0.78959 +0.064804003 0.034889001 0.78913999 +0.065622002 0.034889001 0.78913999 +0.066441 0.034889001 0.78913999 +0.067221001 0.034869999 0.78868997 +0.068000004 0.034850001 0.78825003 +0.068778999 0.03483 0.78780001 +0.069595002 0.03483 0.78780001 +0.070412003 0.03483 0.78780001 +0.071148999 0.034791 0.78691 +0.071883 0.034751002 0.78601998 +0.072656997 0.034731999 0.78557003 +0.073389001 0.034692001 0.78469002 +0.074119002 0.034653001 0.78380001 +0.074846998 0.034614 0.78292 +0.075658999 0.034614 0.78292 +0.076428004 0.034595001 0.78248 +0.077196002 0.034575 0.78204 +0.077918999 0.034536 0.78116 +0.078640997 0.034497999 0.78027999 +0.079449996 0.034497999 0.78027999 +0.080169 0.034458999 0.77941 +0.080885999 0.034419999 0.77853 +0.081556 0.034361999 0.77723002 +0.082269996 0.034324002 0.77635998 +0.083029002 0.034304999 0.77591997 +0.083740003 0.034267001 0.77506 +0.084449999 0.034228001 0.77419001 +0.085157998 0.034189999 0.77332997 +0.085768998 0.034113999 0.77161998 +0.086473003 0.034077 0.77076 +0.087174997 0.034038998 0.76990998 +0.087828003 0.033982001 0.76863003 +0.088477999 0.033925999 0.76735002 +0.089077003 0.033851001 0.76565999 +0.089525998 0.033721 0.76271999 +0.090069003 0.033629 0.76063001 +0.091347001 0.033519 0.75814003 +0.092083 0.033500999 0.75773001 +0.092767 0.033464 0.75691003 +0.093349002 0.033390999 0.75525999 +0.093979001 0.033337001 0.75402999 +0.094709001 0.033319 0.75362003 +0.095439002 0.033301 0.75321001 +0.096167997 0.033282999 0.75281 +0.096844003 0.033247001 0.75199002 +0.097465001 0.033193 0.75076997 +0.098137997 0.033156998 0.74996001 +0.098862 0.033139002 0.74956 +0.099584997 0.033121001 0.74914998 +0.10042 0.033139002 0.74956 +0.10136 0.033193 0.75076997 +-0.092880003 0.041018002 0.90651 +-0.0091709001 0.040805001 0.90179998 +-0.0082304999 0.040778998 0.90122002 +-0.0034600999 0.031408999 0.69414997 +-0.0027417 0.031424999 0.69449002 +-0.0020204999 0.031408999 0.69414997 +-0.0013007 0.031408999 0.69414997 +-0.00058123999 0.031424999 0.69449002 +0.00158 0.031440999 0.69484001 +0.0022982999 0.031408999 0.69414997 +0.0030165 0.031392999 0.69379997 +0.003736 0.031392999 0.69379997 +0.0044621001 0.031440999 0.69484001 +0.0051748999 0.031392999 0.69379997 +0.01102 0.033879999 0.74874997 +0.011796 0.033879999 0.74874997 +0.012579 0.033898 0.74914998 +0.013342 0.033861998 0.74835002 +0.015687 0.033898 0.74914998 +0.016455 0.033879999 0.74874997 +0.017213 0.033842999 0.74794 +0.017998001 0.033861998 0.74835002 +0.024917001 0.034857001 0.77033001 +0.025759 0.034915 0.77161998 +0.026588 0.034952998 0.77247 +0.027419999 0.034991998 0.77332997 +0.028316 0.035110001 0.77591997 +0.029153001 0.035149001 0.77679002 +0.030009 0.035208002 0.77810001 +0.030867999 0.035266999 0.77941 +0.031711999 0.035307001 0.78027999 +0.032556999 0.035346001 0.78116 +0.033424001 0.035406001 0.78248 +0.034254 0.035425998 0.78292 +0.035066001 0.035425998 0.78292 +0.035877999 0.035425998 0.78292 +0.036711 0.035445999 0.78336 +0.037565 0.035486002 0.78424001 +0.038422 0.035526 0.78513002 +0.039258 0.035546001 0.78557003 +0.040096 0.035565998 0.78601998 +0.040934 0.035585999 0.78645998 +0.041797001 0.035627 0.78735 +0.042661 0.035666998 0.78825003 +0.043478999 0.035666998 0.78825003 +0.044346001 0.035707999 0.78913999 +0.045189999 0.035728 0.78959 +0.046009 0.035728 0.78959 +0.046828002 0.035728 0.78959 +0.047646999 0.035728 0.78959 +0.048493002 0.035748001 0.79004002 +0.049339999 0.035769001 0.79048997 +0.050159998 0.035769001 0.79048997 +0.050980002 0.035769001 0.79048997 +0.051828999 0.035789002 0.79093999 +0.052648999 0.035789002 0.79093999 +0.053468999 0.035789002 0.79093999 +0.054258998 0.035769001 0.79048997 +0.05511 0.035789002 0.79093999 +0.05593 0.035789002 0.79093999 +0.05675 0.035789002 0.79093999 +0.057569999 0.035789002 0.79093999 +0.058389999 0.035789002 0.79093999 +0.059177 0.035769001 0.79048997 +0.059997 0.035769001 0.79048997 +0.060816001 0.035769001 0.79048997 +0.061601002 0.035748001 0.79004002 +0.062456001 0.035769001 0.79048997 +0.063275002 0.035769001 0.79048997 +0.064058997 0.035748001 0.79004002 +0.064841002 0.035728 0.78959 +0.06566 0.035728 0.78959 +0.066478997 0.035728 0.78959 +0.067258999 0.035707999 0.78913999 +0.068039 0.035687 0.78868997 +0.068818003 0.035666998 0.78825003 +0.069634996 0.035666998 0.78825003 +0.070412003 0.035647001 0.78780001 +0.071189001 0.035627 0.78735 +0.071924001 0.035585999 0.78645998 +0.072738998 0.035585999 0.78645998 +0.073430002 0.035526 0.78513002 +0.074161001 0.035486002 0.78424001 +0.074888997 0.035445999 0.78336 +0.075701997 0.035445999 0.78336 +0.076471001 0.035425998 0.78292 +0.077238999 0.035406001 0.78248 +0.077963002 0.035365999 0.7816 +0.078685001 0.035326 0.78072 +0.079493999 0.035326 0.78072 +0.080214001 0.035287 0.77983999 +0.080977 0.035266999 0.77941 +0.081602 0.035188001 0.77766001 +0.082315996 0.035149001 0.77679002 +0.083075002 0.035129 0.77635998 +0.083787002 0.035089999 0.77548999 +0.084449999 0.035030998 0.77419001 +0.085157998 0.034991998 0.77332997 +0.085816003 0.034933999 0.77204001 +0.086521 0.034894999 0.77118999 +0.087223999 0.034857001 0.77033001 +0.087828003 0.034779001 0.76863003 +0.088527001 0.034740999 0.76778001 +0.089175001 0.034683 0.76651001 +0.089575 0.034531001 0.76314002 +0.091397002 0.034324002 0.75856 +0.092083 0.034286 0.75773001 +0.092767 0.034249 0.75691003 +0.093349002 0.034175001 0.75525999 +0.093928002 0.0341 0.75362003 +0.094607003 0.034063 0.75281 +0.095386997 0.034063 0.75281 +0.096115999 0.034045 0.75239998 +0.096739002 0.033989999 0.75117999 +0.09736 0.033934999 0.74996001 +0.098031998 0.033898 0.74914998 +0.098755002 0.033879999 0.74874997 +0.099532001 0.033879999 0.74874997 +0.10036 0.033898 0.74914998 +0.1013 0.033953 0.75037003 +0.10186 0.033879999 0.74874997 +-0.091820002 0.041903999 0.90533 +-0.089826003 0.041848999 0.90415001 +-0.088830002 0.041822001 0.90355998 +-0.086842999 0.041768 0.90239 +-0.0082198 0.041659001 0.90004998 +-0.0027417 0.032145001 0.69449002 +-0.0020194999 0.032113001 0.69379997 +-0.0013007 0.032129001 0.69414997 +-0.00058095 0.032129001 0.69414997 +0.00013878 0.032113001 0.69379997 +0.0015785 0.032129001 0.69414997 +0.002296 0.032097001 0.69344997 +0.0030135 0.032081001 0.69310999 +0.0037285001 0.032049 0.69242001 +0.0044577001 0.032129001 0.69414997 +0.01102 0.034655999 0.74874997 +0.011796 0.034655999 0.74874997 +0.012573 0.034655999 0.74874997 +0.013335 0.034619 0.74794 +0.01411 0.034619 0.74794 +0.014894 0.034637999 0.74835002 +0.015678 0.034655999 0.74874997 +0.016446 0.034637999 0.74835002 +0.017202999 0.034600001 0.74754 +0.017978 0.034600001 0.74754 +0.018764 0.034619 0.74794 +0.024931001 0.035675 0.77076 +0.025787 0.035753999 0.77247 +0.026618 0.035794001 0.77332997 +0.027450001 0.035834 0.77419001 +0.028348001 0.035953999 0.77679002 +0.029201999 0.036015 0.77810001 +0.030060001 0.036075 0.77941 +0.030903 0.036116 0.78027999 +0.03173 0.036136001 0.78072 +0.032575998 0.036176998 0.7816 +0.033443 0.036238 0.78292 +0.034274001 0.036258001 0.78336 +0.035085998 0.036258001 0.78336 +0.035898 0.036258001 0.78336 +0.036752 0.036299001 0.78424001 +0.037608001 0.036339998 0.78513002 +0.038465001 0.036380999 0.78601998 +0.039303001 0.036401998 0.78645998 +0.040141001 0.036423001 0.78691 +0.04098 0.036442999 0.78735 +0.041843999 0.036485001 0.78825003 +0.042686 0.036504999 0.78868997 +0.043503001 0.036504999 0.78868997 +0.044372 0.036547001 0.78959 +0.045216002 0.036566999 0.79004002 +0.046034999 0.036566999 0.79004002 +0.046854999 0.036566999 0.79004002 +0.047701001 0.036587998 0.79048997 +0.048521001 0.036587998 0.79048997 +0.049368002 0.036609001 0.79093999 +0.050189 0.036609001 0.79093999 +0.051008999 0.036609001 0.79093999 +0.051858 0.036630001 0.79139 +0.052678999 0.036630001 0.79139 +0.0535 0.036630001 0.79139 +0.054288998 0.036609001 0.79093999 +0.05511 0.036609001 0.79093999 +0.055962 0.036630001 0.79139 +0.056782 0.036630001 0.79139 +0.057603002 0.036630001 0.79139 +0.058424 0.036630001 0.79139 +0.059211001 0.036609001 0.79093999 +0.060031001 0.036609001 0.79093999 +0.060851 0.036609001 0.79093999 +0.061636001 0.036587998 0.79048997 +0.062491 0.036609001 0.79093999 +0.063311003 0.036609001 0.79093999 +0.064058997 0.036566999 0.79004002 +0.064841002 0.036547001 0.78959 +0.06566 0.036547001 0.78959 +0.066478997 0.036547001 0.78959 +0.067258999 0.036525998 0.78913999 +0.068039 0.036504999 0.78868997 +0.068818003 0.036485001 0.78825003 +0.069674 0.036504999 0.78868997 +0.070451997 0.036485001 0.78825003 +0.071229003 0.036463998 0.78780001 +0.071965002 0.036423001 0.78691 +0.072738998 0.036401998 0.78645998 +0.073472001 0.036361001 0.78557003 +0.074161001 0.036299001 0.78424001 +0.074932002 0.036279 0.78380001 +0.075744003 0.036279 0.78380001 +0.076513998 0.036258001 0.78336 +0.077283002 0.036238 0.78292 +0.078006998 0.036196999 0.78204 +0.078772999 0.036176998 0.7816 +0.079539001 0.036155999 0.78116 +0.080303997 0.036136001 0.78072 +0.081022002 0.036095999 0.77983999 +0.081648 0.036015 0.77810001 +0.082362004 0.035974 0.77723002 +0.083122 0.035953999 0.77679002 +0.083834 0.035914 0.77591997 +0.084496997 0.035854001 0.77463001 +0.085205004 0.035813998 0.77376002 +0.085864 0.035753999 0.77247 +0.086568996 0.035714999 0.77161998 +0.087272003 0.035675 0.77076 +0.087876 0.035595998 0.76905 +0.088575996 0.035557002 0.76819998 +0.089175001 0.035478 0.76651001 +0.091496997 0.035149001 0.75939 +0.092133 0.035091002 0.75814003 +0.092767 0.035034001 0.75691003 +0.093349002 0.034958001 0.75525999 +0.093877003 0.034862999 0.75321001 +0.094503999 0.034805998 0.75199002 +0.095284 0.034805998 0.75199002 +0.096012004 0.034788001 0.75158 +0.096634001 0.034731001 0.75037003 +0.097254999 0.034674998 0.74914998 +0.097979002 0.034655999 0.74874997 +0.098701999 0.034637999 0.74835002 +0.099477999 0.034637999 0.74835002 +0.10031 0.034655999 0.74874997 +0.1013 0.034731001 0.75037003 +0.10186 0.034655999 0.74874997 +-0.0082039004 0.042509999 0.89831001 +-0.0054092999 0.042509999 0.89831001 +-0.0027403 0.032848999 0.69414997 +-0.0020194999 0.032832 0.69379997 +-0.0013001 0.032832 0.69379997 +-0.00058095 0.032848999 0.69414997 +0.00013871001 0.032816 0.69344997 +0.00085821998 0.032832 0.69379997 +0.0015785 0.032848999 0.69414997 +0.0022936999 0.032783002 0.69275999 +0.01102 0.035433002 0.74874997 +0.01179 0.035413999 0.74835002 +0.012566 0.035413999 0.74835002 +0.013327 0.035376001 0.74754 +0.01411 0.035395 0.74794 +0.014886 0.035395 0.74794 +0.01567 0.035413999 0.74835002 +0.016437 0.035395 0.74794 +0.017193999 0.035356998 0.74713999 +0.017968999 0.035356998 0.74713999 +0.018743999 0.035356998 0.74713999 +0.019529 0.035376001 0.74754 +0.024157999 0.036515001 0.77161998 +0.024945 0.036495 0.77118999 +0.025815999 0.036596 0.77332997 +0.026633 0.036616001 0.77376002 +0.027465999 0.036657002 0.77463001 +0.028364001 0.03678 0.77723002 +0.029219 0.036842 0.77853 +0.030060001 0.036883 0.77941 +0.030920001 0.036945999 0.78072 +0.031746998 0.036966 0.78116 +0.032593999 0.037007999 0.78204 +0.033443 0.037050001 0.78292 +0.034293 0.037090998 0.78380001 +0.035106 0.037090998 0.78380001 +0.035939001 0.037112001 0.78424001 +0.036773 0.037133001 0.78469002 +0.03765 0.037195999 0.78601998 +0.038486999 0.037216999 0.78645998 +0.039347 0.03726 0.78735 +0.040185999 0.037280999 0.78780001 +0.041026998 0.037301999 0.78825003 +0.041892 0.037344001 0.78913999 +0.042734001 0.037365001 0.78959 +0.043552998 0.037365001 0.78959 +0.044397 0.037386999 0.79004002 +0.045242 0.037408002 0.79048997 +0.046062 0.037408002 0.79048997 +0.046907999 0.037429001 0.79093999 +0.047727998 0.037429001 0.79093999 +0.048576001 0.037450999 0.79139 +0.049424998 0.037471998 0.79184002 +0.050216999 0.037450999 0.79139 +0.051038001 0.037450999 0.79139 +0.051918 0.037493002 0.79228997 +0.052739002 0.037493002 0.79228997 +0.05353 0.037471998 0.79184002 +0.054350998 0.037471998 0.79184002 +0.055172 0.037471998 0.79184002 +0.056024998 0.037493002 0.79228997 +0.056846999 0.037493002 0.79228997 +0.057636 0.037471998 0.79184002 +0.058456998 0.037471998 0.79184002 +0.059243999 0.037450999 0.79139 +0.060065001 0.037450999 0.79139 +0.060885999 0.037450999 0.79139 +0.061671 0.037429001 0.79093999 +0.062527001 0.037450999 0.79139 +0.063346997 0.037450999 0.79139 +0.064094998 0.037408002 0.79048997 +0.064878002 0.037386999 0.79004002 +0.065696999 0.037386999 0.79004002 +0.066515997 0.037386999 0.79004002 +0.067296997 0.037365001 0.78959 +0.068076998 0.037344001 0.78913999 +0.068856999 0.037323002 0.78868997 +0.069674 0.037323002 0.78868997 +0.070491999 0.037323002 0.78868997 +0.071229003 0.037280999 0.78780001 +0.072005004 0.03726 0.78735 +0.072780997 0.037239 0.78691 +0.073513001 0.037195999 0.78601998 +0.074202001 0.037133001 0.78469002 +0.074974 0.037112001 0.78424001 +0.075787 0.037112001 0.78424001 +0.076557003 0.037090998 0.78380001 +0.077326 0.037071001 0.78336 +0.078051001 0.037029002 0.78248 +0.078818001 0.037007999 0.78204 +0.079584002 0.036986999 0.7816 +0.080348998 0.036966 0.78116 +0.081068002 0.036924999 0.78027999 +0.081739001 0.036862999 0.77897 +0.082409002 0.036800999 0.77766001 +0.083122 0.036759999 0.77679002 +0.083880998 0.036738999 0.77635998 +0.084544003 0.036678001 0.77506 +0.085205004 0.036616001 0.77376002 +0.085864 0.036555 0.77247 +0.086617 0.036534999 0.77204001 +0.08732 0.036495 0.77118999 +0.087876 0.036394 0.76905 +0.088575996 0.036353 0.76819998 +0.089224003 0.036293 0.76692998 +0.092817999 0.035838 0.75731999 +0.093349002 0.035741001 0.75525999 +0.093877003 0.035643999 0.75321001 +0.094453 0.035567001 0.75158 +0.095232002 0.035567001 0.75158 +0.095959999 0.035548002 0.75117999 +0.096582003 0.035489999 0.74996001 +0.097203001 0.035433002 0.74874997 +0.097925998 0.035413999 0.74835002 +0.098701999 0.035413999 0.74835002 +0.099425003 0.035395 0.74794 +0.10031 0.035433002 0.74874997 +0.1013 0.035509001 0.75037003 +0.10186 0.035433002 0.74874997 +-0.081018001 0.043526001 0.90004998 +-0.0081986003 0.043414 0.89772999 +-0.0072677 0.043414 0.89772999 +-0.0054024002 0.043386001 0.89714998 +-0.0044662999 0.043329999 0.89599001 +-0.0013001 0.033551998 0.69379997 +-0.00058095 0.033569001 0.69414997 +0.00013871001 0.033535 0.69344997 +0.011026 0.036228999 0.74914998 +0.011796 0.036208998 0.74874997 +0.012566 0.036189999 0.74835002 +0.013327 0.036150999 0.74754 +0.014103 0.036150999 0.74754 +0.014878 0.036150999 0.74754 +0.015660999 0.036169998 0.74794 +0.016427999 0.036150999 0.74754 +0.017185001 0.036111999 0.74673998 +0.017959001 0.036111999 0.74673998 +0.018723 0.036093 0.74633998 +0.019497 0.036093 0.74633998 +0.024185 0.037356 0.77247 +0.024958 0.037315 0.77161998 +0.025815999 0.037397999 0.77332997 +0.026648 0.037439998 0.77419001 +0.027496001 0.037501998 0.77548999 +0.028395999 0.037627999 0.77810001 +0.029235 0.037671 0.77897 +0.030076999 0.037712999 0.77983999 +0.030920001 0.037755001 0.78072 +0.031764999 0.037797999 0.7816 +0.032593999 0.037819002 0.78204 +0.033461001 0.037882999 0.78336 +0.034311999 0.037926 0.78424001 +0.035126001 0.037926 0.78424001 +0.035959002 0.037946999 0.78469002 +0.036793999 0.037969001 0.78513002 +0.037693001 0.038054999 0.78691 +0.038509 0.038054999 0.78691 +0.03937 0.038098 0.78780001 +0.040208999 0.038118999 0.78825003 +0.041049998 0.038141001 0.78868997 +0.041914999 0.038183998 0.78959 +0.042757999 0.038206 0.79004002 +0.043577999 0.038206 0.79004002 +0.044422001 0.038228001 0.79048997 +0.045293 0.038270999 0.79139 +0.046114001 0.038270999 0.79139 +0.046960998 0.038293 0.79184002 +0.047782999 0.038293 0.79184002 +0.048604 0.038293 0.79184002 +0.049481001 0.038337 0.79273999 +0.050303001 0.038337 0.79273999 +0.051096 0.038314998 0.79228997 +0.051977001 0.038359001 0.79320002 +0.052799001 0.038359001 0.79320002 +0.053591002 0.038337 0.79273999 +0.054382 0.038314998 0.79228997 +0.055234998 0.038337 0.79273999 +0.056056999 0.038337 0.79273999 +0.056912001 0.038359001 0.79320002 +0.057702001 0.038337 0.79273999 +0.058524001 0.038337 0.79273999 +0.059312001 0.038314998 0.79228997 +0.060132999 0.038314998 0.79228997 +0.060954999 0.038314998 0.79228997 +0.061740998 0.038293 0.79184002 +0.062561996 0.038293 0.79184002 +0.063419998 0.038314998 0.79228997 +0.064131998 0.038249001 0.79093999 +0.064878002 0.038206 0.79004002 +0.065733999 0.038228001 0.79048997 +0.066554002 0.038228001 0.79048997 +0.067336001 0.038206 0.79004002 +0.068116002 0.038183998 0.78959 +0.068896003 0.038162999 0.78913999 +0.069714002 0.038162999 0.78913999 +0.070491999 0.038141001 0.78868997 +0.071269996 0.038118999 0.78825003 +0.072045997 0.038098 0.78780001 +0.072821997 0.038075998 0.78735 +0.073596999 0.038054999 0.78691 +0.074285999 0.03799 0.78557003 +0.075058997 0.037969001 0.78513002 +0.075829998 0.037946999 0.78469002 +0.0766 0.037926 0.78424001 +0.077370003 0.037904002 0.78380001 +0.078094997 0.037861999 0.78292 +0.078861997 0.037840001 0.78248 +0.079628997 0.037819002 0.78204 +0.080394 0.037797999 0.7816 +0.081113003 0.037755001 0.78072 +0.081785001 0.037691999 0.77941 +0.082455002 0.037627999 0.77810001 +0.083168 0.037586 0.77723002 +0.083926998 0.037565 0.77679002 +0.084591001 0.037501998 0.77548999 +0.085205004 0.037418999 0.77376002 +0.085864 0.037356 0.77247 +0.086617 0.037335999 0.77204001 +0.087272003 0.037273999 0.77076 +0.087876 0.037191 0.76905 +0.088575996 0.037149999 0.76819998 +0.089224003 0.037087999 0.76692998 +0.093298003 0.036504 0.75484997 +0.093826003 0.036405001 0.75281 +0.094402 0.036327001 0.75117999 +0.095129997 0.036307 0.75076997 +0.095856003 0.036286999 0.75037003 +0.096529998 0.036247998 0.74956 +0.097149998 0.036189999 0.74835002 +0.097820997 0.036150999 0.74754 +0.098595999 0.036150999 0.74754 +0.099425003 0.036169998 0.74794 +0.10025 0.036189999 0.74835002 +0.10125 0.036268 0.74996001 +0.10181 0.036189999 0.74835002 +0.22267 0.043781001 0.90533 +-0.080808997 0.044344999 0.89772999 +-0.079878002 0.044344999 0.89772999 +-0.078997999 0.044372998 0.89831001 +-0.0091295 0.044344999 0.89772999 +-0.0081933001 0.044316001 0.89714998 +-0.0072630001 0.044316001 0.89714998 +-0.0063327001 0.044316001 0.89714998 +-0.0054024002 0.044316001 0.89714998 +-0.0044662999 0.044259001 0.89599001 +-0.00058095 0.034288 0.69414997 +0.011032 0.037025999 0.74956 +0.011802 0.037005998 0.74914998 +0.012573 0.036986001 0.74874997 +0.013327 0.036926001 0.74754 +0.014103 0.036926001 0.74754 +0.01487 0.036906 0.74713999 +0.015652999 0.036926001 0.74754 +0.016419001 0.036906 0.74713999 +0.017176 0.036866002 0.74633998 +0.01794 0.036846999 0.74594003 +0.018693 0.036807001 0.74514002 +0.019466 0.036807001 0.74514002 +0.020238999 0.036807001 0.74514002 +0.024212001 0.038199998 0.77332997 +0.024986001 0.038157001 0.77247 +0.025845001 0.038242999 0.77419001 +0.026676999 0.038284998 0.77506 +0.027512001 0.038327999 0.77591997 +0.028426999 0.038477998 0.77897 +0.029251 0.0385 0.77941 +0.030092999 0.038543001 0.78027999 +0.030955 0.038608 0.7816 +0.031783 0.038630001 0.78204 +0.032612 0.038651999 0.78248 +0.03348 0.038717002 0.78380001 +0.034332 0.038761001 0.78469002 +0.035146002 0.038761001 0.78469002 +0.035980001 0.038782999 0.78513002 +0.036835 0.038826998 0.78601998 +0.037714001 0.038892999 0.78735 +0.038531002 0.038892999 0.78735 +0.039391998 0.038936999 0.78825003 +0.040231999 0.038959 0.78868997 +0.041072998 0.038981002 0.78913999 +0.041939002 0.039025001 0.79004002 +0.042783 0.039046999 0.79048997 +0.043602001 0.039046999 0.79048997 +0.044473 0.039092001 0.79139 +0.045318998 0.039113998 0.79184002 +0.04614 0.039113998 0.79184002 +0.046987999 0.039136 0.79228997 +0.047837 0.039159 0.79273999 +0.048659001 0.039159 0.79273999 +0.049538001 0.039202999 0.79364997 +0.050361 0.039202999 0.79364997 +0.051183999 0.039202999 0.79364997 +0.052035999 0.039225999 0.79409999 +0.052859999 0.039225999 0.79409999 +0.053683002 0.039225999 0.79409999 +0.054476 0.039202999 0.79364997 +0.055298001 0.039202999 0.79364997 +0.056154002 0.039225999 0.79409999 +0.056977 0.039225999 0.79409999 +0.057799999 0.039225999 0.79409999 +0.058623999 0.039225999 0.79409999 +0.059413001 0.039202999 0.79364997 +0.060236 0.039202999 0.79364997 +0.061059002 0.039202999 0.79364997 +0.061811998 0.039159 0.79273999 +0.06267 0.039181001 0.79320002 +0.063492 0.039181001 0.79320002 +0.064241 0.039136 0.79228997 +0.064952001 0.039069999 0.79093999 +0.065808997 0.039092001 0.79139 +0.066629998 0.039092001 0.79139 +0.067411996 0.039069999 0.79093999 +0.068154998 0.039025001 0.79004002 +0.068934999 0.039003 0.78959 +0.069753997 0.039003 0.78959 +0.070532002 0.038981002 0.78913999 +0.071309999 0.038959 0.78868997 +0.072086997 0.038936999 0.78825003 +0.072862998 0.038915001 0.78780001 +0.073638 0.038892999 0.78735 +0.074327998 0.038826998 0.78601998 +0.075101003 0.038805 0.78557003 +0.075873002 0.038782999 0.78513002 +0.076687001 0.038782999 0.78513002 +0.077413999 0.038739 0.78424001 +0.078139 0.038695 0.78336 +0.078906 0.038672999 0.78292 +0.079673 0.038651999 0.78248 +0.080439001 0.038630001 0.78204 +0.081159003 0.038586002 0.78116 +0.081831001 0.038520999 0.77983999 +0.082501002 0.038456999 0.77853 +0.083214998 0.038414001 0.77766001 +0.083926998 0.038371 0.77679002 +0.084638 0.038327999 0.77591997 +0.085252002 0.038242999 0.77419001 +0.085911997 0.038178999 0.77289999 +0.086664997 0.038157001 0.77247 +0.08732 0.038093999 0.77118999 +0.087876 0.037989002 0.76905 +0.088575996 0.037946999 0.76819998 +0.089224003 0.037884001 0.76692998 +0.093298003 0.037287001 0.75484997 +0.093774997 0.037165999 0.75239998 +0.094351001 0.037085999 0.75076997 +0.095077999 0.037064999 0.75037003 +0.095804997 0.037044998 0.74996001 +0.096478 0.037005998 0.74914998 +0.097098 0.036945999 0.74794 +0.097768001 0.036906 0.74713999 +0.098543003 0.036906 0.74713999 +0.099371001 0.036926001 0.74754 +0.10025 0.036966 0.74835002 +0.10125 0.037044998 0.74996001 +0.10181 0.036966 0.74835002 +0.13127001 0.044604 0.90298003 +0.22159 0.044691 0.90473998 +0.22253001 0.044691 0.90473998 +0.22361 0.044720002 0.90533 +-0.014696 0.045217 0.89657003 +-0.013766 0.045217 0.89657003 +-0.012845 0.045246001 0.89714998 +-0.010991 0.045274999 0.89772999 +-0.01006 0.045274999 0.89772999 +-0.0091236001 0.045246001 0.89714998 +-0.0081879999 0.045217 0.89657003 +-0.0072583002 0.045217 0.89657003 +-0.0063286 0.045217 0.89657003 +-0.0053988998 0.045217 0.89657003 +-0.0044634002 0.045159001 0.89541 +-0.0035371999 0.045187999 0.89599001 +-0.0026064001 0.045159001 0.89541 +0.011038 0.037822999 0.74996001 +0.011802 0.037781999 0.74914998 +0.012573 0.037762001 0.74874997 +0.013327 0.037701 0.74754 +0.014095 0.037680998 0.74713999 +0.01487 0.037680998 0.74713999 +0.015652999 0.037701 0.74754 +0.016419001 0.037680998 0.74713999 +0.017166 0.037620001 0.74594003 +0.017929999 0.037599999 0.74554002 +0.018683 0.037560001 0.74474001 +0.019435 0.037519 0.74394 +0.020195 0.037498999 0.74353999 +0.020943999 0.037459001 0.74274999 +0.024239 0.039044999 0.77419001 +0.025028 0.039023999 0.77376002 +0.025874 0.039089002 0.77506 +0.026691999 0.039111 0.77548999 +0.027558001 0.039198 0.77723002 +0.028442999 0.039308 0.77941 +0.029284 0.039352 0.78027999 +0.030127 0.039395999 0.78116 +0.030972 0.039441001 0.78204 +0.031801 0.039462999 0.78248 +0.032648999 0.039508 0.78336 +0.033498999 0.039551999 0.78424001 +0.034350999 0.039597001 0.78513002 +0.035185002 0.039618999 0.78557003 +0.035999998 0.039618999 0.78557003 +0.036855999 0.039664 0.78645998 +0.037735999 0.039731 0.78780001 +0.038552999 0.039731 0.78780001 +0.039414 0.039777 0.78868997 +0.040254999 0.039799001 0.78913999 +0.041097 0.039822001 0.78959 +0.041939002 0.039843999 0.79004002 +0.042807002 0.039889999 0.79093999 +0.043627001 0.039889999 0.79093999 +0.044498 0.039935 0.79184002 +0.045371 0.039981 0.79273999 +0.046193 0.039981 0.79273999 +0.047042001 0.040004 0.79320002 +0.047892001 0.040026002 0.79364997 +0.048714999 0.040026002 0.79364997 +0.049594 0.040072002 0.79456002 +0.050418001 0.040072002 0.79456002 +0.051242001 0.040072002 0.79456002 +0.052065998 0.040072002 0.79456002 +0.052919999 0.040095001 0.79500997 +0.053714 0.040072002 0.79456002 +0.054538 0.040072002 0.79456002 +0.055362001 0.040072002 0.79456002 +0.056217998 0.040095001 0.79500997 +0.057041999 0.040095001 0.79500997 +0.057867002 0.040095001 0.79500997 +0.058690999 0.040095001 0.79500997 +0.059514999 0.040095001 0.79500997 +0.060304999 0.040072002 0.79456002 +0.061129 0.040072002 0.79456002 +0.061953001 0.040072002 0.79456002 +0.062740996 0.040049002 0.79409999 +0.063601002 0.040072002 0.79456002 +0.064351 0.040026002 0.79364997 +0.065026 0.039935 0.79184002 +0.065847002 0.039935 0.79184002 +0.066706002 0.039958 0.79228997 +0.067451 0.039912 0.79139 +0.068194002 0.039866999 0.79048997 +0.068974003 0.039843999 0.79004002 +0.069793001 0.039843999 0.79004002 +0.070572004 0.039822001 0.78959 +0.071350999 0.039799001 0.78913999 +0.072127998 0.039777 0.78868997 +0.072903998 0.039754 0.78825003 +0.073679999 0.039731 0.78780001 +0.074413002 0.039686002 0.78691 +0.075185999 0.039664 0.78645998 +0.075958997 0.039641999 0.78601998 +0.077457003 0.039574001 0.78469002 +0.078183003 0.039530002 0.78380001 +0.078951001 0.039508 0.78336 +0.079718001 0.039485 0.78292 +0.080439001 0.039441001 0.78204 +0.081159003 0.039395999 0.78116 +0.081831001 0.039329998 0.77983999 +0.082547002 0.039285999 0.77897 +0.083261997 0.039241999 0.77810001 +0.083973996 0.039198 0.77723002 +0.084638 0.039133001 0.77591997 +0.085299999 0.039067 0.77463001 +0.085960001 0.039002001 0.77332997 +0.086713001 0.03898 0.77289999 +0.087416999 0.038936999 0.77204001 +0.087925002 0.038807999 0.76947999 +0.088575996 0.038743 0.76819998 +0.089224003 0.038679 0.76692998 +0.093246996 0.038049001 0.75444001 +0.093723997 0.037926 0.75199002 +0.094300002 0.037843999 0.75037003 +0.095027 0.037822999 0.74996001 +0.095752999 0.037803002 0.74956 +0.096426003 0.037762001 0.74874997 +0.097046003 0.037701 0.74754 +0.097716004 0.037661001 0.74673998 +0.098543003 0.037680998 0.74713999 +0.099371001 0.037701 0.74754 +0.10025 0.037742 0.74835002 +0.10125 0.037822999 0.74996001 +0.10181 0.037742 0.74835002 +0.12829 0.045481 0.90179998 +0.12922999 0.045481 0.90179998 +0.13025001 0.045511 0.90239 +0.13118 0.045511 0.90239 +0.13212 0.045511 0.90239 +0.13314 0.045540001 0.90298003 +0.13399 0.045511 0.90239 +0.13501 0.045540001 0.90298003 +0.22145 0.045598999 0.90415001 +0.22238 0.045598999 0.90415001 +-0.026765 0.046117 0.89599001 +-0.025836 0.046117 0.89599001 +-0.024907 0.046117 0.89599001 +-0.023993 0.046147 0.89657003 +-0.023048 0.046117 0.89599001 +-0.022119001 0.046117 0.89599001 +-0.021176999 0.046087001 0.89541 +-0.020261001 0.046117 0.89599001 +-0.019319 0.046087001 0.89541 +-0.018391 0.046087001 0.89541 +-0.017462 0.046087001 0.89541 +-0.016534001 0.046087001 0.89541 +-0.015605 0.046087001 0.89541 +-0.014677 0.046087001 0.89541 +-0.013757 0.046117 0.89599001 +-0.012837 0.046147 0.89657003 +-0.011899 0.046117 0.89599001 +-0.010984 0.046176001 0.89714998 +-0.010054 0.046176001 0.89714998 +-0.0091177002 0.046147 0.89657003 +-0.0081826998 0.046117 0.89599001 +-0.0072535998 0.046117 0.89599001 +-0.0063244998 0.046117 0.89599001 +-0.0053953999 0.046117 0.89599001 +-0.0044634002 0.046087001 0.89541 +-0.0035349 0.046087001 0.89541 +-0.0026064001 0.046087001 0.89541 +0.011043 0.038621999 0.75037003 +0.011809 0.03858 0.74956 +0.012573 0.038538001 0.74874997 +0.013335 0.038497001 0.74794 +0.014095 0.038456 0.74713999 +0.014854 0.038414001 0.74633998 +0.015644999 0.038456 0.74713999 +0.016410001 0.038435001 0.74673998 +0.017157 0.038373001 0.74554002 +0.017911 0.038332 0.74474001 +0.018663 0.038291 0.74394 +0.019414 0.038249999 0.74313998 +0.020163 0.038208999 0.74234998 +0.020899 0.038148001 0.74115998 +0.021655999 0.038128 0.74076998 +0.024266001 0.039893001 0.77506 +0.025056001 0.039870001 0.77463001 +0.025916999 0.039958999 0.77635998 +0.026737001 0.039981999 0.77679002 +0.027604001 0.040070999 0.77853 +0.028475 0.040160999 0.78027999 +0.029301001 0.040183999 0.78072 +0.030144 0.040229 0.7816 +0.030990001 0.040274002 0.78248 +0.031819001 0.040297002 0.78292 +0.032667998 0.040343001 0.78380001 +0.033537 0.040410999 0.78513002 +0.034389999 0.040456999 0.78601998 +0.035204999 0.040456999 0.78601998 +0.03602 0.040456999 0.78601998 +0.036876999 0.040502001 0.78691 +0.037757002 0.040571 0.78825003 +0.038596001 0.040594 0.78868997 +0.039437 0.040617 0.78913999 +0.040277999 0.040640999 0.78959 +0.04112 0.040663999 0.79004002 +0.041963 0.040686999 0.79048997 +0.042831 0.040732998 0.79139 +0.043652002 0.040732998 0.79139 +0.044549 0.040803 0.79273999 +0.045396999 0.040826 0.79320002 +0.046246 0.040849 0.79364997 +0.047095999 0.040872999 0.79409999 +0.047945999 0.040895998 0.79456002 +0.048769999 0.040895998 0.79456002 +0.049623001 0.040920001 0.79500997 +0.050476 0.040943 0.79547 +0.051270999 0.040920001 0.79500997 +0.052126002 0.040943 0.79547 +0.052951001 0.040943 0.79547 +0.053775001 0.040943 0.79547 +0.054568999 0.040920001 0.79500997 +0.055392999 0.040920001 0.79500997 +0.056249999 0.040943 0.79547 +0.057075001 0.040943 0.79547 +0.0579 0.040943 0.79547 +0.058758002 0.040966 0.79592001 +0.059549 0.040943 0.79547 +0.060373999 0.040943 0.79547 +0.061198998 0.040943 0.79547 +0.062024001 0.040943 0.79547 +0.062812999 0.040920001 0.79500997 +0.063674003 0.040943 0.79547 +0.064424999 0.040895998 0.79456002 +0.065099999 0.040803 0.79273999 +0.065922 0.040803 0.79273999 +0.066781998 0.040826 0.79320002 +0.067528002 0.04078 0.79228997 +0.068271004 0.040732998 0.79139 +0.069013 0.040686999 0.79048997 +0.069833003 0.040686999 0.79048997 +0.070612997 0.040663999 0.79004002 +0.071391001 0.040640999 0.78959 +0.072168998 0.040617 0.78913999 +0.072945997 0.040594 0.78868997 +0.073721997 0.040571 0.78825003 +0.074455 0.040525001 0.78735 +0.075228997 0.040502001 0.78691 +0.076002002 0.040479999 0.78645998 +0.076816998 0.040479999 0.78645998 +0.077500999 0.040410999 0.78513002 +0.078226998 0.040364999 0.78424001 +0.078994997 0.040343001 0.78380001 +0.079763003 0.040320002 0.78336 +0.080485001 0.040274002 0.78248 +0.081205003 0.040229 0.7816 +0.081877001 0.040160999 0.78027999 +0.082593001 0.040116001 0.77941 +0.083307996 0.040070999 0.77853 +0.084021002 0.040027 0.77766001 +0.084686004 0.039958999 0.77635998 +0.085348003 0.039893001 0.77506 +0.086006999 0.039825998 0.77376002 +0.086760998 0.039804 0.77332997 +0.093145996 0.038789 0.75362003 +0.093673997 0.038683999 0.75158 +0.094300002 0.038621999 0.75037003 +0.094976 0.03858 0.74956 +0.095752999 0.03858 0.74956 +0.096373998 0.038518 0.74835002 +0.096993998 0.038456 0.74713999 +0.097663 0.038414001 0.74633998 +0.09849 0.038435001 0.74673998 +0.099425003 0.038497001 0.74794 +0.10025 0.038518 0.74835002 +0.10125 0.038601 0.74996001 +0.10186 0.038538001 0.74874997 +0.10264 0.038538001 0.74874997 +0.12728 0.046386 0.90122002 +0.12820999 0.046386 0.90122002 +0.12914 0.046386 0.90122002 +0.13016 0.046416 0.90179998 +0.1311 0.046416 0.90179998 +0.13203 0.046416 0.90179998 +0.13305999 0.046445999 0.90239 +0.13399 0.046445999 0.90239 +0.13493 0.046445999 0.90239 +0.13586 0.046445999 0.90239 +0.13671 0.046416 0.90179998 +0.22036999 0.046507001 0.90355998 +0.22115999 0.046477001 0.90298003 +0.22224 0.046507001 0.90355998 +-0.028623 0.047045998 0.89599001 +-0.027694 0.047045998 0.89599001 +-0.026748 0.047015999 0.89541 +-0.025836 0.047045998 0.89599001 +-0.024891 0.047015999 0.89541 +-0.023977 0.047045998 0.89599001 +-0.023034001 0.047015999 0.89541 +-0.022105001 0.047015999 0.89541 +-0.021163 0.046985 0.89484 +-0.020248 0.047015999 0.89541 +-0.019307001 0.046985 0.89484 +-0.018378999 0.046985 0.89484 +-0.017450999 0.046985 0.89484 +-0.016523 0.046985 0.89484 +-0.015595 0.046985 0.89484 +-0.014677 0.047015999 0.89541 +-0.013748 0.047015999 0.89541 +-0.012828 0.047045998 0.89599001 +-0.011891 0.047015999 0.89541 +-0.010977 0.047076002 0.89657003 +-0.010047 0.047076002 0.89657003 +-0.0091177002 0.047076002 0.89657003 +-0.0081826998 0.047045998 0.89599001 +-0.0072535998 0.047045998 0.89599001 +-0.0063244998 0.047045998 0.89599001 +-0.0053919 0.047015999 0.89541 +-0.0044634002 0.047015999 0.89541 +-0.0035349 0.047015999 0.89541 +0.011043 0.0394 0.75037003 +0.011809 0.039356999 0.74956 +0.012579 0.039336 0.74914998 +0.013335 0.039273001 0.74794 +0.014087 0.039209001 0.74673998 +0.014846 0.039167002 0.74594003 +0.015636001 0.039209001 0.74673998 +0.016402001 0.039188001 0.74633998 +0.017139001 0.039104 0.74474001 +0.017891999 0.039062001 0.74394 +0.018642999 0.039021 0.74313998 +0.019393001 0.038979001 0.74234998 +0.020130999 0.038915999 0.74115998 +0.024293 0.040741999 0.77591997 +0.025111999 0.040764 0.77635998 +0.025946001 0.04081 0.77723002 +0.026782 0.040856 0.77810001 +0.027651001 0.040947001 0.77983999 +0.028507 0.041017 0.78116 +0.029333999 0.04104 0.7816 +0.030177999 0.041085999 0.78248 +0.031006999 0.041108999 0.78292 +0.031837001 0.041131999 0.78336 +0.032685999 0.041179001 0.78424001 +0.033574998 0.041271999 0.78601998 +0.034428999 0.041317999 0.78691 +0.035245001 0.041317999 0.78691 +0.036061 0.041317999 0.78691 +0.036897998 0.041342001 0.78735 +0.037779 0.041412 0.78868997 +0.038617998 0.041436002 0.78913999 +0.039459001 0.041459002 0.78959 +0.040300999 0.041483 0.79004002 +0.041143 0.041506 0.79048997 +0.042011 0.041554 0.79139 +0.042856 0.041577 0.79184002 +0.043701999 0.041600998 0.79228997 +0.044599999 0.041671999 0.79364997 +0.045449 0.041696001 0.79409999 +0.046298999 0.041719999 0.79456002 +0.047148999 0.041744001 0.79500997 +0.047974002 0.041744001 0.79500997 +0.048826002 0.041768 0.79547 +0.049651001 0.041768 0.79547 +0.050505001 0.041792002 0.79592001 +0.051300999 0.041768 0.79547 +0.052154999 0.041792002 0.79592001 +0.052981 0.041792002 0.79592001 +0.053805999 0.041792002 0.79592001 +0.0546 0.041768 0.79547 +0.055457 0.041792002 0.79592001 +0.056281999 0.041792002 0.79592001 +0.057108 0.041792002 0.79592001 +0.057932999 0.041792002 0.79592001 +0.058791999 0.041816 0.79637998 +0.059583999 0.041792002 0.79592001 +0.060373999 0.041768 0.79547 +0.061234001 0.041792002 0.79592001 +0.062059999 0.041792002 0.79592001 +0.062849 0.041768 0.79547 +0.063709997 0.041792002 0.79592001 +0.064498998 0.041768 0.79547 +0.065211996 0.041696001 0.79409999 +0.066035002 0.041696001 0.79409999 +0.066858001 0.041696001 0.79409999 +0.067643002 0.041671999 0.79364997 +0.068348996 0.041600998 0.79228997 +0.069091998 0.041554 0.79139 +0.069872998 0.041529998 0.79093999 +0.070652999 0.041506 0.79048997 +0.071471997 0.041506 0.79048997 +0.072251 0.041483 0.79004002 +0.073028997 0.041459002 0.78959 +0.073806003 0.041436002 0.78913999 +0.074538998 0.041389 0.78825003 +0.075314 0.041365001 0.78780001 +0.076087996 0.041342001 0.78735 +0.076861002 0.041317999 0.78691 +0.077588998 0.041271999 0.78601998 +0.078271002 0.041202001 0.78469002 +0.079039998 0.041179001 0.78424001 +0.079763003 0.041131999 0.78336 +0.080530003 0.041108999 0.78292 +0.081249997 0.041063 0.78204 +0.081923001 0.040993001 0.78072 +0.08264 0.040947001 0.77983999 +0.083355002 0.040902 0.77897 +0.084068 0.040856 0.77810001 +0.084686004 0.040764 0.77635998 +0.085395001 0.040718999 0.77548999 +0.086103 0.040674001 0.77463001 +0.08681 0.040628001 0.77376002 +0.093145996 0.039570998 0.75362003 +0.093673997 0.039464001 0.75158 +0.094249003 0.039379001 0.74996001 +0.094976 0.039356999 0.74956 +0.095701002 0.039336 0.74914998 +0.096373998 0.039294001 0.74835002 +0.096993998 0.03923 0.74713999 +0.097663 0.039188001 0.74633998 +0.098543003 0.03923 0.74713999 +0.099425003 0.039273001 0.74794 +0.10031 0.039315 0.74874997 +0.10125 0.039379001 0.74996001 +0.10192 0.039336 0.74914998 +0.10269 0.039336 0.74914998 +0.10347 0.039336 0.74914998 +0.12642001 0.047350999 0.90179998 +0.12728 0.047320999 0.90122002 +0.12813 0.047290001 0.90063 +0.12914 0.047320999 0.90122002 +0.13008 0.047320999 0.90122002 +0.13101 0.047320999 0.90122002 +0.13203 0.047350999 0.90179998 +0.13297001 0.047350999 0.90179998 +0.1339 0.047350999 0.90179998 +0.13484 0.047350999 0.90179998 +0.13576999 0.047350999 0.90179998 +0.13653 0.047290001 0.90063 +0.13756 0.047320999 0.90122002 +0.13849001 0.047320999 0.90122002 +0.22022 0.047412999 0.90298003 +0.22102 0.047382001 0.90239 +0.2221 0.047412999 0.90298003 +-0.033183001 0.047851998 0.89367998 +-0.032276999 0.047883 0.89425999 +-0.031369999 0.047913 0.89484 +-0.028586 0.047913 0.89484 +-0.027675999 0.047944002 0.89541 +-0.026729999 0.047913 0.89484 +-0.025819 0.047944002 0.89541 +-0.024891 0.047944002 0.89541 +-0.023962 0.047944002 0.89541 +-0.023019001 0.047913 0.89484 +-0.022105001 0.047944002 0.89541 +-0.021163 0.047913 0.89484 +-0.020235 0.047913 0.89484 +-0.019307001 0.047913 0.89484 +-0.018367 0.047883 0.89425999 +-0.017440001 0.047883 0.89425999 +-0.016512999 0.047883 0.89425999 +-0.015595 0.047913 0.89484 +-0.014668 0.047913 0.89484 +-0.01374 0.047913 0.89484 +-0.01282 0.047944002 0.89541 +-0.011891 0.047944002 0.89541 +-0.01097 0.047975 0.89599001 +-0.010041 0.047975 0.89599001 +-0.0091118002 0.047975 0.89599001 +-0.0081773996 0.047944002 0.89541 +-0.0072488999 0.047944002 0.89541 +-0.0063204002 0.047944002 0.89541 +-0.0053919 0.047944002 0.89541 +-0.0044605001 0.047913 0.89484 +-0.0035325999 0.047913 0.89484 +0.011043 0.040178001 0.75037003 +0.011802 0.040112998 0.74914998 +0.012573 0.040091 0.74874997 +0.013335 0.040047999 0.74794 +0.01408 0.039962001 0.74633998 +0.014838 0.039919 0.74554002 +0.015619 0.039941002 0.74594003 +0.016384 0.039919 0.74554002 +0.01712 0.039834 0.74394 +0.017873 0.039790999 0.74313998 +0.018623 0.039749 0.74234998 +0.019371999 0.039705999 0.74155998 +0.020098999 0.039622001 0.73997998 +0.025154 0.041639 0.77766001 +0.02599 0.041685998 0.77853 +0.026827 0.041733 0.77941 +0.027682001 0.041802999 0.78072 +0.028523 0.041850001 0.7816 +0.029367 0.041896999 0.78248 +0.030212 0.041944001 0.78336 +0.031042 0.041967999 0.78380001 +0.031872999 0.041992001 0.78424001 +0.032722998 0.042038999 0.78513002 +0.033594001 0.042110998 0.78645998 +0.034449 0.042158 0.78735 +0.035264999 0.042158 0.78735 +0.036081001 0.042158 0.78735 +0.036940001 0.042206001 0.78825003 +0.037799999 0.042254001 0.78913999 +0.03864 0.042277999 0.78959 +0.039480999 0.042302001 0.79004002 +0.040323999 0.042326 0.79048997 +0.041166998 0.042350002 0.79093999 +0.042034999 0.042399 0.79184002 +0.042904999 0.042447001 0.79273999 +0.043752 0.042470999 0.79320002 +0.044624999 0.042520002 0.79409999 +0.045474999 0.042544 0.79456002 +0.046324998 0.042567998 0.79500997 +0.047148999 0.042567998 0.79500997 +0.048000999 0.042592999 0.79547 +0.048826002 0.042592999 0.79547 +0.049679 0.042617001 0.79592001 +0.050505001 0.042617001 0.79592001 +0.05133 0.042617001 0.79592001 +0.052154999 0.042617001 0.79592001 +0.052981 0.042617001 0.79592001 +0.053837001 0.042642001 0.79637998 +0.054632001 0.042617001 0.79592001 +0.055457 0.042617001 0.79592001 +0.056313999 0.042642001 0.79637998 +0.05714 0.042642001 0.79637998 +0.057966001 0.042642001 0.79637998 +0.058791999 0.042642001 0.79637998 +0.059618 0.042642001 0.79637998 +0.060408998 0.042617001 0.79592001 +0.061234001 0.042617001 0.79592001 +0.062095001 0.042642001 0.79637998 +0.062885001 0.042617001 0.79592001 +0.063747004 0.042642001 0.79637998 +0.064535998 0.042617001 0.79592001 +0.065286003 0.042567998 0.79500997 +0.066073 0.042544 0.79456002 +0.066935003 0.042567998 0.79500997 +0.067721002 0.042544 0.79456002 +0.068426996 0.042470999 0.79320002 +0.069170997 0.042422999 0.79228997 +0.069952004 0.042399 0.79184002 +0.070733003 0.042374 0.79139 +0.071512997 0.042350002 0.79093999 +0.072292 0.042326 0.79048997 +0.073069997 0.042302001 0.79004002 +0.073847003 0.042277999 0.78959 +0.074582003 0.042229999 0.78868997 +0.075356998 0.042206001 0.78825003 +0.076131001 0.042181998 0.78780001 +0.076948002 0.042181998 0.78780001 +0.077633001 0.042110998 0.78645998 +0.078359 0.042063002 0.78557003 +0.079129003 0.042038999 0.78513002 +0.079807997 0.041967999 0.78380001 +0.080574997 0.041944001 0.78336 +0.081295997 0.041896999 0.78248 +0.081969 0.041827001 0.78116 +0.08264 0.041756 0.77983999 +0.083402 0.041733 0.77941 +0.084068 0.041662998 0.77810001 +0.084733002 0.041593 0.77679002 +0.085395001 0.041522998 0.77548999 +0.086150996 0.041499998 0.77506 +0.086857997 0.041453999 0.77419001 +0.093145996 0.040352002 0.75362003 +0.093673997 0.040243 0.75158 +0.094249003 0.040155999 0.74996001 +0.094976 0.040135 0.74956 +0.095752999 0.040135 0.74956 +0.096373998 0.040070001 0.74835002 +0.096941002 0.039983999 0.74673998 +0.097716004 0.039983999 0.74673998 +0.098595999 0.040027 0.74754 +0.099532001 0.040091 0.74874997 +0.10036 0.040112998 0.74914998 +0.1013 0.040178001 0.75037003 +0.10197 0.040135 0.74956 +0.1028 0.040155999 0.74996001 +0.10358 0.040155999 0.74996001 +0.10453 0.040220998 0.75117999 +0.13008 0.048255 0.90122002 +0.13101 0.048255 0.90122002 +0.13195001 0.048255 0.90122002 +0.13297001 0.048285998 0.90179998 +0.13382 0.048255 0.90122002 +0.13484 0.048285998 0.90179998 +0.13569 0.048255 0.90122002 +-0.088388003 0.048560001 0.88968003 +-0.086543001 0.048560001 0.88968003 +-0.082800001 0.048528999 0.88911003 +-0.081825003 0.048498001 0.88854003 +-0.034022 0.048652999 0.89139003 +-0.033119 0.048684999 0.89196002 +-0.032235 0.048746999 0.89310998 +-0.031330001 0.048778001 0.89367998 +-0.030422 0.048810001 0.89425999 +-0.029495001 0.048810001 0.89425999 +-0.028568 0.048810001 0.89425999 +-0.02764 0.048810001 0.89425999 +-0.026713001 0.048810001 0.89425999 +-0.025801999 0.048841 0.89484 +-0.024875 0.048841 0.89484 +-0.023947001 0.048841 0.89484 +-0.023003999 0.048810001 0.89425999 +-0.022090999 0.048841 0.89484 +-0.021149 0.048810001 0.89425999 +-0.020222001 0.048810001 0.89425999 +-0.019295 0.048810001 0.89425999 +-0.018367 0.048810001 0.89425999 +-0.017429 0.048778001 0.89367998 +-0.016502 0.048778001 0.89367998 +-0.015585 0.048810001 0.89425999 +-0.014658 0.048810001 0.89425999 +-0.013731 0.048810001 0.89425999 +-0.01282 0.048873 0.89541 +-0.010963 0.048873 0.89541 +-0.010034 0.048873 0.89541 +-0.0091059003 0.048873 0.89541 +-0.0081722001 0.048841 0.89484 +-0.0072443001 0.048841 0.89484 +-0.0063164001 0.048841 0.89484 +-0.0053849998 0.048810001 0.89425999 +-0.0044605001 0.048841 0.89484 +-0.0035325999 0.048841 0.89484 +0.011043 0.040956002 0.75037003 +0.011796 0.040867999 0.74874997 +0.012559 0.040824 0.74794 +0.013335 0.040824 0.74794 +0.014065 0.040692002 0.74554002 +0.014822 0.040649001 0.74474001 +0.015603 0.040670998 0.74514002 +0.016357999 0.040626999 0.74434 +0.017101999 0.040562 0.74313998 +0.017854 0.040518001 0.74234998 +0.018603001 0.040475 0.74155998 +0.019340999 0.040410001 0.74036998 +0.020066001 0.040325001 0.73879999 +0.020777 0.040217999 0.73684001 +0.021519 0.040174998 0.73606002 +0.02227 0.040153999 0.73566997 +0.023045 0.040174998 0.73606002 +0.026032999 0.042564999 0.77983999 +0.026857 0.042589001 0.78027999 +0.027713001 0.042661 0.7816 +0.028555 0.042709 0.78248 +0.0294 0.042757001 0.78336 +0.030246001 0.042805001 0.78424001 +0.031076999 0.042828999 0.78469002 +0.031909 0.042853002 0.78513002 +0.032760002 0.042902 0.78601998 +0.033631999 0.042975001 0.78735 +0.034488 0.043024 0.78825003 +0.035305001 0.043024 0.78825003 +0.036122002 0.043024 0.78825003 +0.036961 0.043048002 0.78868997 +0.037820999 0.043097001 0.78959 +0.038662001 0.043120999 0.79004002 +0.039503999 0.043145999 0.79048997 +0.040346999 0.043170001 0.79093999 +0.041214 0.043219998 0.79184002 +0.042082999 0.043269001 0.79273999 +0.042954002 0.043318 0.79364997 +0.043802001 0.043343 0.79409999 +0.044675998 0.043393001 0.79500997 +0.045527 0.043418001 0.79547 +0.046351999 0.043418001 0.79547 +0.047176 0.043418001 0.79547 +0.048029002 0.043442 0.79592001 +0.048854001 0.043442 0.79592001 +0.049679 0.043442 0.79592001 +0.050533999 0.043467 0.79637998 +0.05136 0.043467 0.79637998 +0.052184999 0.043467 0.79637998 +0.053011 0.043467 0.79637998 +0.053867999 0.043492001 0.79683 +0.054662999 0.043467 0.79637998 +0.055489 0.043467 0.79637998 +0.056347001 0.043492001 0.79683 +0.057172999 0.043492001 0.79683 +0.057999 0.043492001 0.79683 +0.058825999 0.043492001 0.79683 +0.059652001 0.043492001 0.79683 +0.060442999 0.043467 0.79637998 +0.061269 0.043467 0.79637998 +0.062130999 0.043492001 0.79683 +0.062921003 0.043467 0.79637998 +0.063782997 0.043492001 0.79683 +0.064572997 0.043467 0.79637998 +0.065323003 0.043418001 0.79547 +0.066147998 0.043418001 0.79547 +0.066973001 0.043418001 0.79547 +0.067798004 0.043418001 0.79547 +0.068504997 0.043343 0.79409999 +0.069250003 0.043294001 0.79320002 +0.070032001 0.043269001 0.79273999 +0.070772998 0.043219998 0.79184002 +0.071553998 0.043195002 0.79139 +0.072333001 0.043170001 0.79093999 +0.073112004 0.043145999 0.79048997 +0.073889002 0.043120999 0.79004002 +0.074624002 0.043072 0.78913999 +0.075398996 0.043048002 0.78868997 +0.076173998 0.043024 0.78825003 +0.076990999 0.043024 0.78825003 +0.077721 0.042975001 0.78735 +0.078404002 0.042902 0.78601998 +0.079173997 0.042877998 0.78557003 +0.079852998 0.042805001 0.78424001 +0.080574997 0.042757001 0.78336 +0.081295997 0.042709 0.78248 +0.081969 0.042637002 0.78116 +0.08264 0.042564999 0.77983999 +0.083402 0.042541001 0.77941 +0.084068 0.042468999 0.77810001 +0.084733002 0.042397998 0.77679002 +0.085395001 0.042327002 0.77548999 +0.086150996 0.042304002 0.77506 +0.086906999 0.04228 0.77463001 +0.085528001 0.039423 0.72228998 +0.093572997 0.040978 0.75076997 +0.094198003 0.040911999 0.74956 +0.094924003 0.040890001 0.74914998 +0.095752999 0.040911999 0.74956 +0.096373998 0.040846001 0.74835002 +0.096941002 0.040757999 0.74673998 +0.097768001 0.04078 0.74713999 +0.098701999 0.040846001 0.74835002 +0.099584997 0.040890001 0.74914998 +0.10042 0.040911999 0.74956 +0.1013 0.040956002 0.75037003 +0.10203 0.040934 0.74996001 +0.10286 0.040956002 0.75037003 +0.10358 0.040934 0.74996001 +0.10453 0.041000001 0.75117999 +0.13093001 0.049157999 0.90063 +0.13288 0.04919 0.90122002 +0.13372999 0.049157999 0.90063 +0.13474999 0.04919 0.90122002 +0.1356 0.049157999 0.90063 +-0.088330999 0.049451001 0.88911003 +-0.087408997 0.049451001 0.88911003 +-0.086487003 0.049451001 0.88911003 +-0.085565001 0.049451001 0.88911003 +-0.084642999 0.049451001 0.88911003 +-0.083720997 0.049451001 0.88911003 +-0.082746997 0.049419001 0.88854003 +-0.081772998 0.049387999 0.88796997 +-0.080852002 0.049387999 0.88796997 +-0.033978999 0.049513999 0.89025003 +-0.033077002 0.049546 0.89082003 +-0.032194 0.049609002 0.89196002 +-0.031309001 0.049672998 0.89310998 +-0.030402999 0.049704999 0.89367998 +-0.029476 0.049704999 0.89367998 +-0.028549001 0.049704999 0.89367998 +-0.027623 0.049704999 0.89367998 +-0.026696 0.049704999 0.89367998 +-0.025785999 0.049736999 0.89425999 +-0.024858 0.049736999 0.89425999 +-0.023931 0.049736999 0.89425999 +-0.022988999 0.049704999 0.89367998 +-0.022062 0.049704999 0.89367998 +-0.021136001 0.049704999 0.89367998 +-0.020209 0.049704999 0.89367998 +-0.019282 0.049704999 0.89367998 +-0.018355999 0.049704999 0.89367998 +-0.017418001 0.049672998 0.89310998 +-0.016491 0.049672998 0.89310998 +-0.014649 0.049704999 0.89367998 +-0.013722 0.049704999 0.89367998 +-0.012803 0.049736999 0.89425999 +-0.010956 0.049768999 0.89484 +-0.0091001 0.049768999 0.89484 +-0.0081668999 0.049736999 0.89425999 +-0.0063081998 0.049704999 0.89367998 +-0.0053814999 0.049704999 0.89367998 +-0.0044547999 0.049704999 0.89367998 +0.011038 0.041712001 0.74996001 +0.01179 0.041622002 0.74835002 +0.012545 0.041554999 0.74713999 +0.013335 0.041599002 0.74794 +0.014065 0.041464999 0.74554002 +0.014814 0.041398998 0.74434 +0.015594 0.041421 0.74474001 +0.016349001 0.041377001 0.74394 +0.017092999 0.041310001 0.74274999 +0.017835001 0.041244 0.74155998 +0.018594 0.041221999 0.74115998 +0.019311 0.041113 0.73918998 +0.020024 0.041003 0.73723 +0.020744 0.040917002 0.73566997 +0.021473 0.040851999 0.73449999 +0.022222999 0.040830001 0.73411 +0.022984 0.040830001 0.73411 +0.026887 0.043446999 0.78116 +0.027744001 0.04352 0.78248 +0.028588001 0.043568999 0.78336 +0.029449999 0.043643001 0.78469002 +0.030298 0.043692 0.78557003 +0.031129999 0.043717001 0.78601998 +0.031962998 0.043742001 0.78645998 +0.032797001 0.043765999 0.78691 +0.033670001 0.043841001 0.78825003 +0.034506999 0.043866001 0.78868997 +0.035324998 0.043866001 0.78868997 +0.036143001 0.043866001 0.78868997 +0.036982 0.043891001 0.78913999 +0.037843 0.043940999 0.79004002 +0.038683999 0.043965999 0.79048997 +0.039549001 0.044016 0.79139 +0.040369999 0.044016 0.79139 +0.041237 0.044066001 0.79228997 +0.042130999 0.044140998 0.79364997 +0.042978 0.044167001 0.79409999 +0.043827001 0.044192001 0.79456002 +0.044702001 0.044241998 0.79547 +0.045552999 0.044268001 0.79592001 +0.046378002 0.044268001 0.79592001 +0.047203001 0.044268001 0.79592001 +0.048055999 0.044293001 0.79637998 +0.048882 0.044293001 0.79637998 +0.049708001 0.044293001 0.79637998 +0.050563 0.044319 0.79683 +0.051389001 0.044319 0.79683 +0.052214999 0.044319 0.79683 +0.053041998 0.044319 0.79683 +0.053867999 0.044319 0.79683 +0.054694001 0.044319 0.79683 +0.055520002 0.044319 0.79683 +0.056379002 0.044344001 0.79729003 +0.057206001 0.044344001 0.79729003 +0.058033001 0.044344001 0.79729003 +0.058859002 0.044344001 0.79729003 +0.059719998 0.044369001 0.79775 +0.060478002 0.044319 0.79683 +0.061303999 0.044319 0.79683 +0.062166002 0.044344001 0.79729003 +0.062957004 0.044319 0.79683 +0.063819997 0.044344001 0.79729003 +0.064609997 0.044319 0.79683 +0.065361001 0.044268001 0.79592001 +0.066186003 0.044268001 0.79592001 +0.067011997 0.044268001 0.79592001 +0.067837 0.044268001 0.79592001 +0.068584003 0.044217002 0.79500997 +0.069329001 0.044167001 0.79409999 +0.070111997 0.044140998 0.79364997 +0.070854001 0.044091001 0.79273999 +0.071635 0.044066001 0.79228997 +0.072416 0.044041 0.79184002 +0.073152997 0.043990999 0.79093999 +0.073932 0.043965999 0.79048997 +0.074708998 0.043940999 0.79004002 +0.075442001 0.043891001 0.78913999 +0.076217003 0.043866001 0.78868997 +0.077035002 0.043866001 0.78868997 +0.077765003 0.043816 0.78780001 +0.078447998 0.043742001 0.78645998 +0.079218999 0.043717001 0.78601998 +0.079898 0.043643001 0.78469002 +0.080620997 0.043593999 0.78380001 +0.081341997 0.043545 0.78292 +0.081969 0.043446999 0.78116 +0.08264 0.043373 0.77983999 +0.083402 0.043349002 0.77941 +0.084068 0.043276001 0.77810001 +0.084686004 0.04318 0.77635998 +0.085395001 0.043131001 0.77548999 +0.084647 0.040109999 0.72115999 +0.085573003 0.040192999 0.72266001 +0.086322002 0.040192999 0.72266001 +0.094148003 0.041666999 0.74914998 +0.094924003 0.041666999 0.74914998 +0.095752999 0.041689001 0.74956 +0.096373998 0.041622002 0.74835002 +0.096888997 0.041510001 0.74633998 +0.097820997 0.041577 0.74754 +0.098755002 0.041644 0.74874997 +0.099584997 0.041666999 0.74914998 +0.10047 0.041712001 0.74996001 +0.1013 0.041733999 0.75037003 +0.10203 0.041712001 0.74996001 +0.1028 0.041712001 0.74996001 +0.10358 0.041712001 0.74996001 +0.10442 0.041733999 0.75037003 +0.10525 0.041756999 0.75076997 +-0.089195997 0.050340999 0.88854003 +-0.088275 0.050340999 0.88854003 +-0.087352999 0.050340999 0.88854003 +-0.086487003 0.050372999 0.88911003 +-0.085510999 0.050340999 0.88854003 +-0.084535003 0.050308 0.88796997 +-0.083668001 0.050340999 0.88854003 +-0.082694001 0.050308 0.88796997 +-0.081669003 0.050244 0.88683999 +-0.080748998 0.050244 0.88683999 +-0.079879999 0.050276 0.88740999 +-0.033957001 0.050404999 0.88968003 +-0.033055 0.050437 0.89025003 +-0.032173 0.050501999 0.89139003 +-0.031289 0.050567001 0.89253998 +-0.030383 0.050599001 0.89310998 +-0.029456999 0.050599001 0.89310998 +-0.028531 0.050599001 0.89310998 +-0.027623 0.050632 0.89367998 +-0.026679 0.050599001 0.89310998 +-0.025769001 0.050632 0.89367998 +-0.024843 0.050632 0.89367998 +-0.023916001 0.050632 0.89367998 +-0.022973999 0.050599001 0.89310998 +-0.022048 0.050599001 0.89310998 +-0.021121999 0.050599001 0.89310998 +-0.020196 0.050599001 0.89310998 +-0.019269999 0.050599001 0.89310998 +-0.018344 0.050599001 0.89310998 +-0.017406 0.050567001 0.89253998 +-0.0044518998 0.050599001 0.89310998 +0.011038 0.042489 0.74996001 +0.011783 0.042374998 0.74794 +0.013327 0.042351998 0.74754 +0.014057 0.042215999 0.74514002 +0.014814 0.042171001 0.74434 +0.015586 0.042171001 0.74434 +0.016331 0.042103 0.74313998 +0.017075 0.042036001 0.74194998 +0.017816 0.041967999 0.74076998 +0.018573999 0.041946001 0.74036998 +0.01928 0.041811999 0.73800999 +0.019991999 0.041701999 0.73606002 +0.020710999 0.041613001 0.73449999 +0.021415999 0.041503999 0.73256999 +0.022164 0.041482002 0.73218 +0.022936 0.041503999 0.73256999 +0.027775001 0.044381 0.78336 +0.028620001 0.044431001 0.78424001 +0.0295 0.044532001 0.78601998 +0.030348999 0.044581998 0.78691 +0.031165 0.044581998 0.78691 +0.031980999 0.044581998 0.78691 +0.032834001 0.044633001 0.78780001 +0.033689 0.044684 0.78868997 +0.034527 0.044709001 0.78913999 +0.035344999 0.044709001 0.78913999 +0.036162999 0.044709001 0.78913999 +0.037023999 0.04476 0.79004002 +0.037865002 0.044785 0.79048997 +0.038727999 0.044836 0.79139 +0.039570998 0.044861998 0.79184002 +0.040415999 0.044886999 0.79228997 +0.041283999 0.044939 0.79320002 +0.042179 0.045015998 0.79456002 +0.043026999 0.045042001 0.79500997 +0.043852001 0.045042001 0.79500997 +0.044727001 0.045093 0.79592001 +0.045579001 0.045118999 0.79637998 +0.046404999 0.045118999 0.79637998 +0.047231 0.045118999 0.79637998 +0.048055999 0.045118999 0.79637998 +0.048909999 0.045145001 0.79683 +0.049736001 0.045145001 0.79683 +0.050592002 0.045171 0.79729003 +0.051419001 0.045171 0.79729003 +0.052244999 0.045171 0.79729003 +0.053072002 0.045171 0.79729003 +0.053899001 0.045171 0.79729003 +0.054726001 0.045171 0.79729003 +0.055551998 0.045171 0.79729003 +0.056379002 0.045171 0.79729003 +0.057206001 0.045171 0.79729003 +0.058033001 0.045171 0.79729003 +0.058892999 0.045196999 0.79775 +0.059755001 0.045223001 0.79821002 +0.060513001 0.045171 0.79729003 +0.06134 0.045171 0.79729003 +0.062201999 0.045196999 0.79775 +0.062992997 0.045171 0.79729003 +0.063819997 0.045171 0.79729003 +0.064646997 0.045171 0.79729003 +0.065398 0.045118999 0.79637998 +0.066224001 0.045118999 0.79637998 +0.067050003 0.045118999 0.79637998 +0.067876004 0.045118999 0.79637998 +0.068622999 0.045067001 0.79547 +0.069367997 0.045015998 0.79456002 +0.070152 0.044989999 0.79409999 +0.070935003 0.044964001 0.79364997 +0.071717001 0.044939 0.79320002 +0.072498001 0.044913001 0.79273999 +0.073237002 0.044861998 0.79184002 +0.073973998 0.044810999 0.79093999 +0.074750997 0.044785 0.79048997 +0.075528003 0.04476 0.79004002 +0.07626 0.044709001 0.78913999 +0.077078998 0.044709001 0.78913999 +0.077808999 0.044658002 0.78825003 +0.078537002 0.044608001 0.78735 +0.079309002 0.044581998 0.78691 +0.079943001 0.044482 0.78513002 +0.080711998 0.044457 0.78469002 +0.081387997 0.044381 0.78336 +0.082015 0.044282001 0.7816 +0.082686 0.044206999 0.78027999 +0.083402 0.044156998 0.77941 +0.084114999 0.044108 0.77853 +0.084733002 0.044009 0.77679002 +0.081656002 0.040858001 0.72115999 +0.084734999 0.040899999 0.72191 +0.085662 0.040984999 0.72341001 +0.086411998 0.040984999 0.72341001 +0.087298997 0.041049 0.72455001 +0.094097003 0.042420998 0.74874997 +0.094873004 0.042420998 0.74874997 +0.095701002 0.042443 0.74914998 +0.096322 0.042374998 0.74794 +0.096888997 0.042284001 0.74633998 +0.097874001 0.042374998 0.74794 +0.098755002 0.042420998 0.74874997 +0.099584997 0.042443 0.74914998 +0.10042 0.042466 0.74956 +0.10125 0.042489 0.74996001 +0.10197 0.042466 0.74956 +0.10275 0.042466 0.74956 +0.10353 0.042466 0.74956 +0.10436 0.042489 0.74996001 +0.10519 0.042512 0.75037003 +0.1058 0.042443 0.74914998 +0.11118 0.042420998 0.74874997 +-0.088218004 0.051229 0.88796997 +-0.087297998 0.051229 0.88796997 +-0.086377002 0.051229 0.88796997 +-0.085455999 0.051229 0.88796997 +-0.084481001 0.051196001 0.88740999 +-0.083613999 0.051229 0.88796997 +-0.082588002 0.051164001 0.88683999 +-0.081615999 0.051130999 0.88628 +-0.080697 0.051130999 0.88628 +-0.079778001 0.051130999 0.88628 +-0.050402001 0.051164001 0.88683999 +-0.048593 0.051196001 0.88740999 +-0.047672998 0.051196001 0.88740999 +-0.046723001 0.051164001 0.88683999 +-0.045802999 0.051164001 0.88683999 +-0.044884 0.051164001 0.88683999 +-0.043963999 0.051164001 0.88683999 +-0.043072 0.051196001 0.88740999 +-0.042179 0.051229 0.88796997 +-0.041232001 0.051196001 0.88740999 +-0.033034001 0.051328 0.88968003 +-0.032132 0.05136 0.89025003 +-0.031268999 0.051459 0.89196002 +-0.030363999 0.051492002 0.89253998 +0.011049 0.043313999 0.75076997 +0.01179 0.043173999 0.74835002 +0.01405 0.042966001 0.74474001 +0.014798 0.042897001 0.74353999 +0.015569 0.042897001 0.74353999 +0.016314 0.042828001 0.74234998 +0.017055999 0.042759001 0.74115998 +0.017797001 0.042691 0.73997998 +0.018544 0.042645998 0.73918998 +0.019259 0.042532001 0.73723 +0.019959999 0.042397 0.73488998 +0.020679001 0.042307999 0.73334002 +0.021405 0.042241 0.73218 +0.022141 0.042197 0.73141003 +0.022887999 0.042174 0.73102999 +0.024378 0.042130001 0.73026001 +0.025109001 0.042086001 0.72948998 +0.028635999 0.04527 0.78469002 +0.029533001 0.045398001 0.78691 +0.030383 0.045449998 0.78780001 +0.031199999 0.045449998 0.78780001 +0.032017 0.045449998 0.78780001 +0.032853 0.045476001 0.78825003 +0.033707999 0.045527 0.78913999 +0.034545999 0.045552999 0.78959 +0.035365 0.045552999 0.78959 +0.036205001 0.045579001 0.79004002 +0.037044998 0.045605 0.79048997 +0.037907999 0.045657001 0.79139 +0.03875 0.045683 0.79184002 +0.039616998 0.045735002 0.79273999 +0.040461998 0.045761 0.79320002 +0.041331001 0.045814 0.79409999 +0.042203002 0.045866001 0.79500997 +0.043051999 0.045892 0.79547 +0.043877002 0.045892 0.79547 +0.044753 0.045945 0.79637998 +0.045605 0.045970999 0.79683 +0.046431001 0.045970999 0.79683 +0.047258001 0.045970999 0.79683 +0.048083998 0.045970999 0.79683 +0.048937999 0.045997001 0.79729003 +0.049736001 0.045970999 0.79683 +0.050592002 0.045997001 0.79729003 +0.051447999 0.046023998 0.79775 +0.052244999 0.045997001 0.79729003 +0.053072002 0.045997001 0.79729003 +0.053929999 0.046023998 0.79775 +0.054756999 0.046023998 0.79775 +0.055583999 0.046023998 0.79775 +0.056411002 0.046023998 0.79775 +0.057239 0.046023998 0.79775 +0.058065999 0.046023998 0.79775 +0.058927 0.046050001 0.79821002 +0.059755001 0.046050001 0.79821002 +0.060548 0.046023998 0.79775 +0.061375 0.046023998 0.79775 +0.062238 0.046050001 0.79821002 +0.062992997 0.045997001 0.79729003 +0.063856997 0.046023998 0.79775 +0.064646997 0.045997001 0.79729003 +0.065435998 0.045970999 0.79683 +0.066261999 0.045970999 0.79683 +0.067088 0.045970999 0.79683 +0.067915 0.045970999 0.79683 +0.068662003 0.045917999 0.79592001 +0.069408 0.045866001 0.79500997 +0.070231996 0.045866001 0.79500997 +0.071015999 0.045839999 0.79456002 +0.071799003 0.045814 0.79409999 +0.07254 0.045761 0.79320002 +0.073279001 0.045708999 0.79228997 +0.074015997 0.045657001 0.79139 +0.074836001 0.045657001 0.79139 +0.075571001 0.045605 0.79048997 +0.076304004 0.045552999 0.78959 +0.077123001 0.045552999 0.78959 +0.077853002 0.045501001 0.78868997 +0.078582004 0.045449998 0.78780001 +0.079352997 0.045423999 0.78735 +0.079989001 0.045320999 0.78557003 +0.080711998 0.04527 0.78469002 +0.081387997 0.045194 0.78336 +0.082015 0.045092002 0.7816 +0.082686 0.045015998 0.78027999 +0.083402 0.044966001 0.77941 +0.084114999 0.044915002 0.77853 +0.08478 0.044840001 0.77723002 +0.081740998 0.041648999 0.72191 +0.082404003 0.041604999 0.72115999 +0.083986998 0.041648999 0.72191 +0.084867999 0.041714001 0.72303998 +0.085707001 0.041756999 0.72378999 +0.086502001 0.041779 0.72417003 +0.087389998 0.041843999 0.72530001 +0.094770998 0.04315 0.74794 +0.095650002 0.043196999 0.74874997 +0.096271001 0.043127 0.74754 +0.096888997 0.043058001 0.74633998 +0.097874001 0.04315 0.74794 +0.098755002 0.043196999 0.74874997 +0.099532001 0.043196999 0.74874997 +0.10042 0.043244001 0.74956 +0.10119 0.043244001 0.74956 +0.10192 0.043219998 0.74914998 +0.10275 0.043244001 0.74956 +0.10347 0.043219998 0.74914998 +0.1043 0.043244001 0.74956 +0.10514 0.043267 0.74996001 +0.1058 0.043219998 0.74914998 +0.10652 0.043196999 0.74874997 +0.1073 0.043196999 0.74874997 +0.11034 0.043173999 0.74835002 +0.11112 0.043173999 0.74835002 +0.11177 0.043127 0.74754 +-0.084426999 0.052083001 0.88683999 +-0.083508 0.052083001 0.88683999 +-0.082534999 0.052049998 0.88628 +-0.081564002 0.052017 0.88571 +-0.080595002 0.051984001 0.88515002 +-0.079728 0.052017 0.88571 +-0.052173998 0.052017 0.88571 +-0.051288001 0.052049998 0.88628 +-0.050368998 0.052049998 0.88628 +-0.049481999 0.052083001 0.88683999 +-0.048562001 0.052083001 0.88683999 +-0.047642998 0.052083001 0.88683999 +-0.046693001 0.052049998 0.88628 +-0.045774002 0.052049998 0.88628 +-0.044826999 0.052017 0.88571 +-0.043017 0.052049998 0.88628 +-0.042125002 0.052083001 0.88683999 +-0.032090999 0.052216999 0.88911003 +-0.031208999 0.052283999 0.89025003 +-0.030305 0.052317001 0.89082003 +0.014035 0.043691002 0.74394 +0.014774 0.043598 0.74234998 +0.015544 0.043598 0.74234998 +0.016287999 0.043528002 0.74115998 +0.017029 0.043458 0.73997998 +0.017778 0.043412 0.73918998 +0.018515 0.043343 0.73800999 +0.019238999 0.043251 0.73645002 +0.019928999 0.043090999 0.73373002 +0.020668 0.043046001 0.73294997 +0.021393999 0.042978 0.73180002 +0.022128999 0.042932 0.73102999 +0.022875 0.042909998 0.73063999 +0.023633 0.042909998 0.73063999 +0.024365 0.042865001 0.72987002 +0.025095999 0.042819999 0.72911 +0.029567 0.046266999 0.78780001 +0.030417999 0.046319 0.78868997 +0.031236 0.046319 0.78868997 +0.032035001 0.046293002 0.78825003 +0.032871 0.046319 0.78868997 +0.033746999 0.046397999 0.79004002 +0.034586001 0.046425 0.79048997 +0.035404999 0.046425 0.79048997 +0.036224999 0.046425 0.79048997 +0.037087001 0.046478 0.79139 +0.037951 0.046530999 0.79228997 +0.038795002 0.046557002 0.79273999 +0.039662 0.046610001 0.79364997 +0.040507998 0.046636999 0.79409999 +0.041379001 0.046689998 0.79500997 +0.042227 0.046716999 0.79547 +0.043076999 0.046744 0.79592001 +0.043926999 0.046771001 0.79637998 +0.044778999 0.046797 0.79683 +0.045630999 0.046824001 0.79729003 +0.046457998 0.046824001 0.79729003 +0.047285002 0.046824001 0.79729003 +0.048110999 0.046824001 0.79729003 +0.048966002 0.046851002 0.79775 +0.049764998 0.046824001 0.79729003 +0.050620999 0.046851002 0.79775 +0.051477998 0.046877999 0.79821002 +0.052274998 0.046851002 0.79775 +0.053102002 0.046851002 0.79775 +0.053961001 0.046877999 0.79821002 +0.054820001 0.046905 0.79866999 +0.055615999 0.046877999 0.79821002 +0.056444 0.046877999 0.79821002 +0.057271998 0.046877999 0.79821002 +0.058099002 0.046877999 0.79821002 +0.058961 0.046905 0.79866999 +0.059788998 0.046905 0.79866999 +0.060582001 0.046877999 0.79821002 +0.061409999 0.046877999 0.79821002 +0.062274002 0.046905 0.79866999 +0.063028999 0.046851002 0.79775 +0.063892998 0.046877999 0.79821002 +0.064684004 0.046851002 0.79775 +0.065472998 0.046824001 0.79729003 +0.066299997 0.046824001 0.79729003 +0.067088 0.046797 0.79683 +0.067915 0.046797 0.79683 +0.068701997 0.046771001 0.79637998 +0.069487996 0.046744 0.79592001 +0.070272997 0.046716999 0.79547 +0.071056999 0.046689998 0.79500997 +0.071840003 0.046664 0.79456002 +0.072623 0.046636999 0.79409999 +0.073320001 0.046557002 0.79273999 +0.074100003 0.046530999 0.79228997 +0.074878998 0.046503998 0.79184002 +0.075613998 0.046450999 0.79093999 +0.076347001 0.046397999 0.79004002 +0.077165999 0.046397999 0.79004002 +0.077896997 0.046346001 0.78913999 +0.078625999 0.046293002 0.78825003 +0.079397999 0.046266999 0.78780001 +0.080034003 0.046162002 0.78601998 +0.080711998 0.046084002 0.78469002 +0.081387997 0.046006002 0.78336 +0.082061 0.045928001 0.78204 +0.082686 0.045825001 0.78027999 +0.080991998 0.042397 0.72191 +0.081782997 0.042419001 0.72228998 +0.082489997 0.042397 0.72191 +0.083281003 0.042419001 0.72228998 +0.084073998 0.042440999 0.72266001 +0.084912002 0.042486001 0.72341001 +0.085750997 0.04253 0.72417003 +0.086547002 0.042552002 0.72455001 +0.087435 0.042619001 0.72567999 +0.095546998 0.043926001 0.74794 +0.096271001 0.043901999 0.74754 +0.096836999 0.043807998 0.74594003 +0.097874001 0.043926001 0.74794 +0.098755002 0.043972999 0.74874997 +0.099532001 0.043972999 0.74874997 +0.10042 0.044020999 0.74956 +0.10119 0.044020999 0.74956 +0.10192 0.043997001 0.74914998 +0.10269 0.043997001 0.74914998 +0.10347 0.043997001 0.74914998 +0.1043 0.044020999 0.74956 +0.10514 0.044045001 0.74996001 +0.1058 0.043997001 0.74914998 +0.10652 0.043972999 0.74874997 +0.1073 0.043972999 0.74874997 +0.10807 0.043972999 0.74874997 +0.10968 0.043997001 0.74914998 +0.1104 0.043972999 0.74874997 +0.11112 0.043949999 0.74835002 +0.11177 0.043901999 0.74754 +0.11243 0.043855 0.74673998 +0.11302 0.043784998 0.74554002 +0.11355 0.043691002 0.74394 +-0.083453998 0.052969001 0.88628 +-0.082483001 0.052935001 0.88571 +-0.081460997 0.052868001 0.88458002 +-0.080491997 0.052834 0.88401997 +-0.079626001 0.052868001 0.88458002 +-0.052141 0.052901998 0.88515002 +-0.051222999 0.052901998 0.88515002 +-0.050337002 0.052935001 0.88571 +-0.049449999 0.052969001 0.88628 +-0.048531 0.052969001 0.88628 +-0.047612 0.052969001 0.88628 +-0.046664 0.052935001 0.88571 +-0.045745 0.052935001 0.88571 +-0.044798002 0.052901998 0.88515002 +-0.043908 0.052935001 0.88571 +-0.042989999 0.052935001 0.88571 +-0.042098001 0.052969001 0.88628 +0.01402 0.044415001 0.74313998 +0.014759 0.044319998 0.74155998 +0.015528 0.044319998 0.74155998 +0.016271001 0.044248998 0.74036998 +0.017011 0.044179 0.73918998 +0.01774 0.044085 0.73762 +0.018485 0.044038001 0.73684001 +0.019207999 0.043945 0.73527998 +0.019897001 0.043783002 0.73256999 +0.020656999 0.043783002 0.73256999 +0.021383001 0.043714002 0.73141003 +0.022118 0.043667998 0.73063999 +0.022851 0.043621998 0.72987002 +0.0296 0.047137 0.78868997 +0.030435 0.047164001 0.78913999 +0.031254001 0.047164001 0.78913999 +0.032072 0.047164001 0.78913999 +0.032889999 0.047164001 0.78913999 +0.033766001 0.047244001 0.79048997 +0.034605 0.047270998 0.79093999 +0.035425998 0.047270998 0.79093999 +0.036246002 0.047270998 0.79093999 +0.037129 0.047352001 0.79228997 +0.037973002 0.047378998 0.79273999 +0.038839001 0.047433 0.79364997 +0.039707001 0.047488 0.79456002 +0.040553998 0.047515001 0.79500997 +0.041425999 0.047568999 0.79592001 +0.042275999 0.047596 0.79637998 +0.043101002 0.047596 0.79637998 +0.043951999 0.047623999 0.79683 +0.044803999 0.047651 0.79729003 +0.045657001 0.047678001 0.79775 +0.046484999 0.047678001 0.79775 +0.047311999 0.047678001 0.79775 +0.048167001 0.047706001 0.79821002 +0.048994001 0.047706001 0.79821002 +0.049794 0.047678001 0.79775 +0.050650001 0.047706001 0.79821002 +0.051507 0.047733001 0.79866999 +0.052335002 0.047733001 0.79866999 +0.053164002 0.047733001 0.79866999 +0.054023001 0.047761001 0.79913002 +0.054850999 0.047761001 0.79913002 +0.055647999 0.047733001 0.79866999 +0.056508999 0.047761001 0.79913002 +0.057337001 0.047761001 0.79913002 +0.058132999 0.047733001 0.79866999 +0.058995001 0.047761001 0.79913002 +0.059858002 0.047788002 0.79958999 +0.060617 0.047733001 0.79866999 +0.061445002 0.047733001 0.79866999 +0.062274002 0.047733001 0.79866999 +0.063065 0.047706001 0.79821002 +0.063892998 0.047706001 0.79821002 +0.064721003 0.047706001 0.79821002 +0.065511003 0.047678001 0.79775 +0.066338003 0.047678001 0.79775 +0.067126997 0.047651 0.79729003 +0.067953996 0.047651 0.79729003 +0.068741001 0.047623999 0.79683 +0.069527 0.047596 0.79637998 +0.070312999 0.047568999 0.79592001 +0.071098 0.047541998 0.79547 +0.071881004 0.047515001 0.79500997 +0.072705999 0.047515001 0.79500997 +0.073403999 0.047433 0.79364997 +0.074142002 0.047378998 0.79273999 +0.074964002 0.047378998 0.79273999 +0.075657003 0.047297999 0.79139 +0.076390997 0.047244001 0.79048997 +0.077210002 0.047244001 0.79048997 +0.077941 0.047191001 0.78959 +0.078671001 0.047137 0.78868997 +0.079397999 0.047084 0.78780001 +0.080078997 0.047003999 0.78645998 +0.080711998 0.046898 0.78469002 +0.081433997 0.046845 0.78380001 +0.082061 0.046739001 0.78204 +0.080949999 0.043122999 0.72153997 +0.081740998 0.043145999 0.72191 +0.082489997 0.043145999 0.72191 +0.083281003 0.043168001 0.72228998 +0.084073998 0.043191001 0.72266001 +0.084912002 0.043235999 0.72341001 +0.085750997 0.043281 0.72417003 +0.086547002 0.043303002 0.72455001 +0.087389998 0.043347999 0.72530001 +0.094314002 0.044486001 0.74434 +0.095393002 0.044629999 0.74673998 +0.096115001 0.044606 0.74633998 +0.096732996 0.044534001 0.74514002 +0.097820997 0.044677999 0.74754 +0.098755002 0.044750001 0.74874997 +0.099532001 0.044750001 0.74874997 +0.10042 0.044798002 0.74956 +0.10114 0.044774 0.74914998 +0.10192 0.044774 0.74914998 +0.10269 0.044774 0.74914998 +0.10347 0.044774 0.74914998 +0.1043 0.044798002 0.74956 +0.10519 0.044845998 0.75037003 +0.10586 0.044798002 0.74956 +0.10658 0.044774 0.74914998 +0.10735 0.044774 0.74914998 +0.10813 0.044774 0.74914998 +0.10903 0.044822 0.74996001 +0.10968 0.044774 0.74914998 +0.1104 0.044750001 0.74874997 +0.11112 0.044725999 0.74835002 +0.11177 0.044677999 0.74754 +0.11249 0.044654001 0.74713999 +0.11308 0.044581998 0.74594003 +0.11367 0.044509999 0.74474001 +-0.082378 0.053785 0.88458002 +-0.081409 0.053750999 0.88401997 +-0.072104 0.053649001 0.88234001 +-0.052074999 0.053750999 0.88401997 +-0.05119 0.053785 0.88458002 +-0.050305001 0.053819999 0.88515002 +-0.049419001 0.053854 0.88571 +-0.048500001 0.053854 0.88571 +-0.047582 0.053854 0.88571 +-0.046634 0.053819999 0.88515002 +-0.045715999 0.053819999 0.88515002 +-0.044769999 0.053785 0.88458002 +-0.043880001 0.053819999 0.88515002 +-0.042962 0.053819999 0.88515002 +0.014012 0.045161001 0.74274999 +0.014751 0.045065001 0.74115998 +0.015519 0.045065001 0.74115998 +0.016262 0.044992998 0.73997998 +0.016992999 0.044897001 0.73841 +0.017720999 0.044801999 0.73684001 +0.018466 0.044755001 0.73606002 +0.019177999 0.044636 0.73411 +0.019887 0.044519 0.73218 +0.020646 0.044519 0.73218 +0.021383001 0.044472001 0.73141003 +0.022105999 0.044402 0.73026001 +0.022839 0.044355001 0.72948998 +0.025043 0.044238999 0.72758001 +0.030470001 0.048037 0.79004002 +0.031289 0.048037 0.79004002 +0.032108001 0.048037 0.79004002 +0.032928001 0.048037 0.79004002 +0.033785 0.048091002 0.79093999 +0.034625001 0.048119001 0.79139 +0.035445999 0.048119001 0.79139 +0.036286999 0.048145998 0.79184002 +0.037172001 0.048229001 0.79320002 +0.038015999 0.048255999 0.79364997 +0.038883001 0.048310999 0.79456002 +0.039730001 0.048339002 0.79500997 +0.040601 0.048393998 0.79592001 +0.041450001 0.048422001 0.79637998 +0.042300001 0.048450001 0.79683 +0.043125998 0.048450001 0.79683 +0.043977998 0.048478 0.79729003 +0.044829998 0.048505999 0.79775 +0.045683999 0.048533 0.79821002 +0.046510998 0.048533 0.79821002 +0.047339 0.048533 0.79821002 +0.048193999 0.048560999 0.79866999 +0.049022999 0.048560999 0.79866999 +0.049821999 0.048533 0.79821002 +0.050678998 0.048560999 0.79866999 +0.051566001 0.048617002 0.79958999 +0.052365001 0.048588999 0.79913002 +0.053194001 0.048588999 0.79913002 +0.054053999 0.048617002 0.79958999 +0.054915 0.048645001 0.80005002 +0.055712 0.048617002 0.79958999 +0.056541 0.048617002 0.79958999 +0.05737 0.048617002 0.79958999 +0.058166001 0.048588999 0.79913002 +0.059029002 0.048617002 0.79958999 +0.059891999 0.048645001 0.80005002 +0.060651999 0.048588999 0.79913002 +0.061480999 0.048588999 0.79913002 +0.062345002 0.048617002 0.79958999 +0.063101999 0.048560999 0.79866999 +0.063929997 0.048560999 0.79866999 +0.064758003 0.048560999 0.79866999 +0.065549001 0.048533 0.79821002 +0.066376001 0.048533 0.79821002 +0.067165002 0.048505999 0.79775 +0.067953996 0.048478 0.79729003 +0.068779998 0.048478 0.79729003 +0.069567002 0.048450001 0.79683 +0.070353001 0.048422001 0.79637998 +0.071138002 0.048393998 0.79592001 +0.071921997 0.048367001 0.79547 +0.072747 0.048367001 0.79547 +0.073487997 0.048310999 0.79456002 +0.074226998 0.048255999 0.79364997 +0.075049996 0.048255999 0.79364997 +0.0757 0.048145998 0.79184002 +0.076477997 0.048119001 0.79139 +0.077253997 0.048091002 0.79093999 +0.077986002 0.048037 0.79004002 +0.078714997 0.047982 0.78913999 +0.079489 0.047954999 0.78868997 +0.080124997 0.047846001 0.78691 +0.080802999 0.047765002 0.78557003 +0.081525996 0.047711 0.78469002 +0.082153998 0.047603998 0.78292 +0.081740998 0.043894 0.72191 +0.082447 0.043871999 0.72153997 +0.083237998 0.043894 0.72191 +0.084073998 0.04394 0.72266001 +0.084912002 0.043986 0.72341001 +0.085707001 0.044009 0.72378999 +0.086502001 0.044032 0.72417003 +0.087389998 0.044101 0.72530001 +0.094213001 0.04521 0.74353999 +0.095238999 0.045331001 0.74554002 +0.095960997 0.045306999 0.74514002 +0.096681997 0.045281999 0.74474001 +0.097820997 0.045453001 0.74754 +0.098755002 0.045526002 0.74874997 +0.099532001 0.045526002 0.74874997 +0.10042 0.045575 0.74956 +0.10114 0.045550998 0.74914998 +0.10192 0.045550998 0.74914998 +0.10269 0.045550998 0.74914998 +0.10347 0.045550998 0.74914998 +0.10436 0.045600001 0.74996001 +0.10519 0.045625001 0.75037003 +0.10586 0.045575 0.74956 +0.10663 0.045575 0.74956 +0.10735 0.045550998 0.74914998 +0.10813 0.045550998 0.74914998 +0.10903 0.045600001 0.74996001 +0.10974 0.045575 0.74956 +0.1104 0.045526002 0.74874997 +0.11112 0.045502 0.74835002 +0.11183 0.045476999 0.74794 +0.11255 0.045453001 0.74754 +0.1132 0.045403998 0.74673998 +0.11379 0.045331001 0.74554002 +0.11438 0.045258 0.74434 +-0.072972998 0.054529 0.88178003 +-0.072012998 0.054494001 0.88121998 +-0.071098998 0.054494001 0.88121998 +-0.070184998 0.054494001 0.88121998 +-0.069270998 0.054494001 0.88121998 +-0.068357997 0.054494001 0.88121998 +-0.052042 0.054632999 0.88345999 +-0.051158 0.054668002 0.88401997 +-0.050241001 0.054668002 0.88401997 +-0.048470002 0.054737002 0.88515002 +-0.047552001 0.054737002 0.88515002 +-0.046604 0.054703001 0.88458002 +-0.045687001 0.054703001 0.88458002 +-0.044741001 0.054668002 0.88401997 +0.014005 0.045906998 0.74234998 +0.014743 0.045809001 0.74076998 +0.015503 0.045784999 0.74036998 +0.016253 0.045736 0.73957998 +0.016975001 0.045614999 0.73762 +0.017693 0.045494001 0.73566997 +0.018436 0.045446001 0.73488998 +0.019148 0.045325998 0.73294997 +0.019876 0.045254 0.73180002 +0.020634999 0.045254 0.73180002 +0.021371 0.045207001 0.73102999 +0.022095 0.045134999 0.72987002 +0.022826999 0.045088001 0.72911 +0.024313999 0.045040999 0.72834003 +0.02503 0.044969998 0.72719997 +0.025757 0.044923 0.72644001 +0.026469 0.044853002 0.72530001 +0.030505 0.048912 0.79093999 +0.031307001 0.048884001 0.79048997 +0.032127 0.048884001 0.79048997 +0.032946002 0.048884001 0.79048997 +0.033803999 0.048939999 0.79139 +0.034644999 0.048967 0.79184002 +0.035466 0.048967 0.79184002 +0.036308002 0.048994999 0.79228997 +0.037193 0.049079001 0.79364997 +0.038059 0.049135 0.79456002 +0.038906001 0.049162999 0.79500997 +0.039774999 0.049219999 0.79592001 +0.040647 0.049276002 0.79683 +0.041497 0.049304999 0.79729003 +0.042323999 0.049304999 0.79729003 +0.043175999 0.049332999 0.79775 +0.044002999 0.049332999 0.79775 +0.044881999 0.049389999 0.79866999 +0.045736 0.049417999 0.79913002 +0.046565 0.049417999 0.79913002 +0.047366001 0.049389999 0.79866999 +0.048222002 0.049417999 0.79913002 +0.049051002 0.049417999 0.79913002 +0.049879 0.049417999 0.79913002 +0.050737001 0.049446002 0.79958999 +0.051596001 0.049474999 0.80005002 +0.052395999 0.049446002 0.79958999 +0.053224999 0.049446002 0.79958999 +0.054085001 0.049474999 0.80005002 +0.054946002 0.049502999 0.80050999 +0.055744 0.049474999 0.80005002 +0.056573998 0.049474999 0.80005002 +0.057402998 0.049474999 0.80005002 +0.058200002 0.049446002 0.79958999 +0.059062999 0.049474999 0.80005002 +0.059927002 0.049502999 0.80050999 +0.060687002 0.049446002 0.79958999 +0.061516002 0.049446002 0.79958999 +0.062380999 0.049474999 0.80005002 +0.063138001 0.049417999 0.79913002 +0.063966997 0.049417999 0.79913002 +0.064758003 0.049389999 0.79866999 +0.065586001 0.049389999 0.79866999 +0.066376001 0.049361002 0.79821002 +0.067203999 0.049361002 0.79821002 +0.067993 0.049332999 0.79775 +0.068779998 0.049304999 0.79729003 +0.069567002 0.049276002 0.79683 +0.070394002 0.049276002 0.79683 +0.071179003 0.049247999 0.79637998 +0.071964003 0.049219999 0.79592001 +0.072830997 0.049247999 0.79637998 +0.073572002 0.049192 0.79547 +0.074312001 0.049135 0.79456002 +0.075135998 0.049135 0.79456002 +0.075786002 0.049022999 0.79273999 +0.076521002 0.048967 0.79184002 +0.077298 0.048939999 0.79139 +0.078029998 0.048884001 0.79048997 +0.078759998 0.048827998 0.78959 +0.079489 0.048772998 0.78868997 +0.080169998 0.048689999 0.78735 +0.081572004 0.048551999 0.78513002 +0.082245998 0.048470002 0.78380001 +0.081740998 0.044643 0.72191 +0.082489997 0.044643 0.72191 +0.083281003 0.044666 0.72228998 +0.084118001 0.044713002 0.72303998 +0.084912002 0.044736002 0.72341001 +0.085707001 0.044759002 0.72378999 +0.086502001 0.044783 0.72417003 +0.087435 0.044876002 0.72567999 +0.094213001 0.045981001 0.74353999 +0.095137 0.046055 0.74474001 +0.095960997 0.046078999 0.74514002 +0.096681997 0.046055 0.74474001 +0.097820997 0.046227999 0.74754 +0.098755002 0.046303 0.74874997 +0.099532001 0.046303 0.74874997 +0.10042 0.046353001 0.74956 +0.10114 0.046328001 0.74914998 +0.10192 0.046328001 0.74914998 +0.10269 0.046328001 0.74914998 +0.10347 0.046328001 0.74914998 +0.10436 0.046378002 0.74996001 +0.10519 0.046402998 0.75037003 +0.10586 0.046353001 0.74956 +0.10663 0.046353001 0.74956 +0.10735 0.046328001 0.74914998 +0.10813 0.046328001 0.74914998 +0.10903 0.046378002 0.74996001 +0.10968 0.046328001 0.74914998 +0.1104 0.046303 0.74874997 +0.11112 0.046278 0.74835002 +0.11183 0.046252999 0.74794 +0.11255 0.046227999 0.74754 +0.1132 0.046177998 0.74673998 +0.11392 0.046153001 0.74633998 +0.11444 0.046055 0.74474001 +0.11515 0.04603 0.74434 +0.1158 0.045981001 0.74353999 +-0.071966998 0.055373002 0.88066 +-0.071053997 0.055373002 0.88066 +-0.070141003 0.055373002 0.88066 +-0.069228001 0.055373002 0.88066 +-0.068314001 0.055373002 0.88066 +-0.066529997 0.055408001 0.88121998 +-0.051975001 0.055479001 0.88234001 +-0.051093001 0.055514 0.8829 +0.013997 0.046652 0.74194998 +0.014727 0.046528 0.73997998 +0.015478 0.046478 0.73918998 +0.016226999 0.046429001 0.73841 +0.016957 0.046330001 0.73684001 +0.017673999 0.046208002 0.73488998 +0.018387999 0.046085998 0.73294997 +0.019138001 0.046062 0.73256999 +0.019866001 0.045988999 0.73141003 +0.020624001 0.045988999 0.73141003 +0.021360001 0.045940001 0.73063999 +0.022082999 0.045867998 0.72948998 +0.022816001 0.045820002 0.72873002 +0.023571 0.045820002 0.72873002 +0.024313999 0.045795999 0.72834003 +0.025017001 0.045699999 0.72681999 +0.025744 0.045651998 0.72605997 +0.026469 0.045605 0.72530001 +0.027178001 0.045534 0.72417003 +0.032145001 0.049732 0.79093999 +0.032965001 0.049732 0.79093999 +0.033803999 0.049759999 0.79139 +0.034665 0.049817 0.79228997 +0.035486002 0.049817 0.79228997 +0.036327999 0.049844999 0.79273999 +0.037214 0.049931001 0.79409999 +0.038081001 0.049988002 0.79500997 +0.038927998 0.050016999 0.79547 +0.039797999 0.050074 0.79637998 +0.040670998 0.050131001 0.79729003 +0.041521002 0.050159998 0.79775 +0.042348001 0.050159998 0.79775 +0.043200001 0.050189 0.79821002 +0.044027999 0.050189 0.79821002 +0.044907 0.050246999 0.79913002 +0.045761999 0.050276 0.79958999 +0.046592001 0.050276 0.79958999 +0.047393002 0.050246999 0.79913002 +0.048250001 0.050276 0.79958999 +0.049107 0.050303999 0.80005002 +0.049908001 0.050276 0.79958999 +0.050767001 0.050303999 0.80005002 +0.051656 0.050361998 0.80097002 +0.052455999 0.050333001 0.80050999 +0.053286001 0.050333001 0.80050999 +0.054147001 0.050361998 0.80097002 +0.055009998 0.050391 0.80142999 +0.055808 0.050361998 0.80097002 +0.056639001 0.050361998 0.80097002 +0.057470001 0.050361998 0.80097002 +0.058267001 0.050333001 0.80050999 +0.059096999 0.050333001 0.80050999 +0.059960999 0.050361998 0.80097002 +0.060757 0.050333001 0.80050999 +0.061551001 0.050303999 0.80005002 +0.062417001 0.050333001 0.80050999 +0.063174002 0.050276 0.79958999 +0.064002998 0.050276 0.79958999 +0.064833 0.050276 0.79958999 +0.065623999 0.050246999 0.79913002 +0.066453002 0.050246999 0.79913002 +0.067243002 0.050218001 0.79866999 +0.068031996 0.050189 0.79821002 +0.06882 0.050159998 0.79775 +0.069606997 0.050131001 0.79729003 +0.070433997 0.050131001 0.79729003 +0.071220003 0.050103001 0.79683 +0.072045997 0.050103001 0.79683 +0.072871998 0.050103001 0.79683 +0.073614001 0.050044999 0.79592001 +0.074396998 0.050016999 0.79547 +0.075222 0.050016999 0.79547 +0.075873002 0.049902 0.79364997 +0.076651998 0.049874 0.79320002 +0.077385999 0.049817 0.79228997 +0.078119002 0.049759999 0.79139 +0.078850001 0.049704 0.79048997 +0.079579003 0.049647 0.78959 +0.080261 0.049563002 0.78825003 +0.075792 0.044971 0.71521997 +0.076416001 0.044902001 0.71411997 +0.077037998 0.044833001 0.71302003 +0.081782997 0.045414999 0.72228998 +0.082532004 0.045414999 0.72228998 +0.083324999 0.045439001 0.72266001 +0.084161997 0.045485999 0.72341001 +0.084955998 0.045510001 0.72378999 +0.085707001 0.045510001 0.72378999 +0.086502001 0.045534 0.72417003 +0.087481 0.045651998 0.72605997 +0.093193002 0.046627 0.74155998 +0.094213001 0.046751998 0.74353999 +0.095086001 0.046801999 0.74434 +0.095858 0.046801999 0.74434 +0.09663 0.046801999 0.74434 +0.097768001 0.046978001 0.74713999 +0.098755002 0.047079001 0.74874997 +0.099532001 0.047079001 0.74874997 +0.10036 0.047104001 0.74914998 +0.10114 0.047104001 0.74914998 +0.10192 0.047104001 0.74914998 +0.10264 0.047079001 0.74874997 +0.10347 0.047104001 0.74914998 +0.1043 0.04713 0.74956 +0.10514 0.047155 0.74996001 +0.1058 0.047104001 0.74914998 +0.10652 0.047079001 0.74874997 +0.1073 0.047079001 0.74874997 +0.10807 0.047079001 0.74874997 +0.10897 0.04713 0.74956 +0.10968 0.047104001 0.74914998 +0.1104 0.047079001 0.74874997 +0.11112 0.047054 0.74835002 +0.11177 0.047003001 0.74754 +0.11249 0.046978001 0.74713999 +0.11314 0.046927001 0.74633998 +0.11385 0.046902001 0.74594003 +0.11451 0.046852 0.74514002 +0.11515 0.046801999 0.74434 +0.11586 0.046776999 0.74394 +0.1167 0.046801999 0.74434 +-0.070096001 0.056251001 0.88010001 +-0.069183998 0.056251001 0.88010001 +-0.068271004 0.056251001 0.88010001 +-0.067358002 0.056251001 0.88010001 +-0.066487998 0.056286 0.88066 +-0.064662002 0.056286 0.88066 +-0.063748002 0.056286 0.88066 +-0.062756002 0.056214999 0.87954003 +0.01399 0.047396 0.74155998 +0.014712 0.047245 0.73918998 +0.01547 0.047219001 0.73879999 +0.016218999 0.047169 0.73800999 +0.016948 0.047068998 0.73645002 +0.017665001 0.046944998 0.73449999 +0.018378001 0.046820998 0.73256999 +0.019127 0.046797 0.73218 +0.019866001 0.046746999 0.73141003 +0.020613 0.046723001 0.73102999 +0.021349 0.046673998 0.73026001 +0.022071 0.046599999 0.72911 +0.022816001 0.046576001 0.72873002 +0.023559 0.046551 0.72834003 +0.024301 0.046526998 0.72795999 +0.025017001 0.046454001 0.72681999 +0.025744 0.046404999 0.72605997 +0.026455 0.046333 0.72491997 +0.027178001 0.046284001 0.72417003 +0.032145001 0.050551999 0.79093999 +0.032965001 0.050551999 0.79093999 +0.033803999 0.050581001 0.79139 +0.034665 0.050638001 0.79228997 +0.035486002 0.050638001 0.79228997 +0.036327999 0.050666999 0.79273999 +0.037234999 0.050783001 0.79456002 +0.038081001 0.050811999 0.79500997 +0.03895 0.050870001 0.79592001 +0.039797999 0.050900001 0.79637998 +0.040670998 0.050958 0.79729003 +0.041545 0.051017001 0.79821002 +0.042373002 0.051017001 0.79821002 +0.043200001 0.051017001 0.79821002 +0.044078998 0.051075 0.79913002 +0.044932999 0.051105 0.79958999 +0.045789 0.051134001 0.80005002 +0.046645001 0.051164001 0.80050999 +0.047448002 0.051134001 0.80005002 +0.048305001 0.051164001 0.80050999 +0.049164001 0.051192999 0.80097002 +0.049966 0.051164001 0.80050999 +0.050825 0.051192999 0.80097002 +0.051685002 0.051222999 0.80142999 +0.052515998 0.051222999 0.80142999 +0.053346999 0.051222999 0.80142999 +0.054179002 0.051222999 0.80142999 +0.055041 0.051252 0.80189002 +0.055872999 0.051252 0.80189002 +0.056671999 0.051222999 0.80142999 +0.057503 0.051222999 0.80142999 +0.0583 0.051192999 0.80097002 +0.059165001 0.051222999 0.80142999 +0.059996001 0.051222999 0.80142999 +0.060791999 0.051192999 0.80097002 +0.061622001 0.051192999 0.80097002 +0.062453002 0.051192999 0.80097002 +0.063247003 0.051164001 0.80050999 +0.064039998 0.051134001 0.80005002 +0.06487 0.051134001 0.80005002 +0.065661997 0.051105 0.79958999 +0.066491 0.051105 0.79958999 +0.067281 0.051075 0.79913002 +0.068031996 0.051017001 0.79821002 +0.068859003 0.051017001 0.79821002 +0.069646999 0.050987002 0.79775 +0.070473999 0.050987002 0.79775 +0.071261004 0.050958 0.79729003 +0.072045997 0.050928999 0.79683 +0.072913997 0.050958 0.79729003 +0.073656 0.050900001 0.79637998 +0.074440002 0.050870001 0.79592001 +0.075264998 0.050870001 0.79592001 +0.075916 0.050754 0.79409999 +0.076651998 0.050696 0.79320002 +0.077385999 0.050638001 0.79228997 +0.078119002 0.050581001 0.79139 +0.078850001 0.050523002 0.79048997 +0.079579003 0.050466001 0.78959 +0.075714 0.045666002 0.71449 +0.076376997 0.045619 0.71375 +0.076958999 0.045524999 0.71228999 +0.077896997 0.045642 0.71411997 +0.081782997 0.046163999 0.72228998 +0.082489997 0.04614 0.72191 +0.083368003 0.046211999 0.72303998 +0.084205002 0.046259999 0.72378999 +0.084955998 0.046259999 0.72378999 +0.085662 0.046236001 0.72341001 +0.086456999 0.046259999 0.72378999 +0.093243003 0.047421001 0.74194998 +0.094163001 0.047497001 0.74313998 +0.095035002 0.047548 0.74394 +0.095858 0.047573999 0.74434 +0.09663 0.047573999 0.74434 +0.097716004 0.047727 0.74673998 +0.098701999 0.047830001 0.74835002 +0.099477999 0.047830001 0.74835002 +0.10031 0.047855999 0.74874997 +0.10108 0.047855999 0.74874997 +0.10186 0.047855999 0.74874997 +0.10258 0.047830001 0.74835002 +0.10336 0.047830001 0.74835002 +0.10425 0.047881 0.74914998 +0.10508 0.047906999 0.74956 +0.10574 0.047855999 0.74874997 +0.10646 0.047830001 0.74835002 +0.10724 0.047830001 0.74835002 +0.10801 0.047830001 0.74835002 +0.10891 0.047881 0.74914998 +0.10957 0.047830001 0.74835002 +0.11034 0.047830001 0.74835002 +0.11106 0.047804002 0.74794 +0.11171 0.047752999 0.74713999 +0.11237 0.047701001 0.74633998 +0.11308 0.047676001 0.74594003 +0.11379 0.047649998 0.74554002 +0.11451 0.047625002 0.74514002 +0.11515 0.047573999 0.74434 +0.11586 0.047548 0.74394 +0.1167 0.047573999 0.74434 +0.1176 0.047625002 0.74514002 +0.11843 0.047649998 0.74554002 +-0.070051998 0.057126999 0.87954003 +-0.069140002 0.057126999 0.87954003 +-0.068227999 0.057126999 0.87954003 +-0.067316003 0.057126999 0.87954003 +-0.066445999 0.057163 0.88010001 +-0.065491997 0.057126999 0.87954003 +-0.064580001 0.057126999 0.87954003 +-0.063708 0.057163 0.88010001 +-0.062716 0.057091001 0.87898999 +-0.061804 0.057091001 0.87898999 +-0.060853999 0.057055 0.87843001 +-0.059981 0.057091001 0.87898999 +0.013242 0.048241999 0.74274999 +0.013982 0.048138998 0.74115998 +0.014719 0.048037 0.73957998 +0.015478 0.048011001 0.73918998 +0.016218999 0.047935002 0.73800999 +0.016948 0.047832999 0.73645002 +0.017665001 0.047706999 0.73449999 +0.018368 0.047556002 0.73218 +0.019117 0.047531001 0.73180002 +0.019866001 0.047506001 0.73141003 +0.020613 0.047481 0.73102999 +0.021349 0.047431 0.73026001 +0.022071 0.047355998 0.72911 +0.022803999 0.047307 0.72834003 +0.023559 0.047307 0.72834003 +0.024301 0.047281999 0.72795999 +0.025017001 0.047208 0.72681999 +0.025744 0.047157999 0.72605997 +0.026455 0.047084 0.72491997 +0.027178001 0.047035001 0.72417003 +0.027915001 0.047010999 0.72378999 +0.033803999 0.051401 0.79139 +0.034665 0.051460002 0.79228997 +0.035486002 0.051460002 0.79228997 +0.036348999 0.051518999 0.79320002 +0.037234999 0.051607002 0.79456002 +0.038102999 0.051665999 0.79547 +0.03895 0.051695999 0.79592001 +0.039820999 0.051755 0.79683 +0.040693998 0.051814999 0.79775 +0.041545 0.051844001 0.79821002 +0.042373002 0.051844001 0.79821002 +0.043225002 0.051874001 0.79866999 +0.044078998 0.051904 0.79913002 +0.044959001 0.051964 0.80005002 +0.045841999 0.052023999 0.80097002 +0.046672001 0.052023999 0.80097002 +0.047474999 0.051994 0.80050999 +0.048333 0.052023999 0.80097002 +0.049192 0.052053999 0.80142999 +0.050023001 0.052053999 0.80142999 +0.050884001 0.052083999 0.80189002 +0.051745001 0.052113999 0.80236 +0.052577 0.052113999 0.80236 +0.053378001 0.052083999 0.80189002 +0.054241002 0.052113999 0.80236 +0.055105001 0.052143998 0.80282003 +0.055904999 0.052113999 0.80236 +0.056736998 0.052113999 0.80236 +0.057569001 0.052113999 0.80236 +0.058366999 0.052083999 0.80189002 +0.059232999 0.052113999 0.80236 +0.060065001 0.052113999 0.80236 +0.060862001 0.052083999 0.80189002 +0.061694 0.052083999 0.80189002 +0.062524997 0.052083999 0.80189002 +0.063284002 0.052023999 0.80097002 +0.064113997 0.052023999 0.80097002 +0.064906999 0.051994 0.80050999 +0.065737002 0.051994 0.80050999 +0.066528998 0.051964 0.80005002 +0.067319997 0.051934 0.79958999 +0.068071 0.051874001 0.79866999 +0.068898998 0.051874001 0.79866999 +0.069687001 0.051844001 0.79821002 +0.070473999 0.051814999 0.79775 +0.071261004 0.051785 0.79729003 +0.072045997 0.051755 0.79683 +0.072913997 0.051785 0.79729003 +0.073656 0.051725 0.79637998 +0.074440002 0.051695999 0.79592001 +0.075264998 0.051695999 0.79592001 +0.075916 0.051578 0.79409999 +0.075714 0.046406999 0.71449 +0.076376997 0.046358999 0.71375 +0.076958999 0.046264 0.71228999 +0.077817 0.046335001 0.71338999 +0.081698999 0.046863999 0.72153997 +0.082404003 0.046840001 0.72115999 +0.083281003 0.046913002 0.72228998 +0.084161997 0.046985999 0.72341001 +0.084867999 0.046962 0.72303998 +0.085616998 0.046962 0.72303998 +0.086411998 0.046985999 0.72341001 +0.092326 0.048113 0.74076998 +0.093292996 0.048216 0.74234998 +0.094213001 0.048294 0.74353999 +0.095035002 0.048319999 0.74394 +0.095858 0.048345 0.74434 +0.09663 0.048345 0.74434 +0.097716004 0.048501 0.74673998 +0.098701999 0.048606001 0.74835002 +0.099425003 0.048579998 0.74794 +0.10025 0.048606001 0.74835002 +0.10108 0.048632 0.74874997 +0.10181 0.048606001 0.74835002 +0.10258 0.048606001 0.74835002 +0.10336 0.048606001 0.74835002 +0.10419 0.048632 0.74874997 +0.10502 0.048657998 0.74914998 +0.10569 0.048606001 0.74835002 +0.1064 0.048579998 0.74794 +0.10718 0.048579998 0.74794 +0.10801 0.048606001 0.74835002 +0.10885 0.048632 0.74874997 +0.10951 0.048579998 0.74794 +0.11028 0.048579998 0.74794 +0.111 0.048553001 0.74754 +0.11165 0.048501 0.74673998 +0.11231 0.048448998 0.74594003 +0.11302 0.048423 0.74554002 +0.11373 0.048397001 0.74514002 +0.11444 0.048370998 0.74474001 +0.11515 0.048345 0.74434 +0.11586 0.048319999 0.74394 +0.1167 0.048345 0.74434 +0.11753 0.048370998 0.74474001 +0.11837 0.048397001 0.74514002 +0.11908 0.048370998 0.74474001 +0.11979 0.048345 0.74434 +-0.067272998 0.058001999 0.87898999 +-0.066404 0.058038998 0.87954003 +-0.065449998 0.058001999 0.87898999 +-0.064580001 0.058038998 0.87954003 +-0.063667998 0.058038998 0.87954003 +-0.062675998 0.057966001 0.87843001 +-0.061804 0.058001999 0.87898999 +-0.060853999 0.057966001 0.87843001 +-0.059944 0.057966001 0.87843001 +-0.059032999 0.057966001 0.87843001 +0.013242 0.049012002 0.74274999 +0.013982 0.048907999 0.74115998 +0.014719 0.048804 0.73957998 +0.015486 0.048804 0.73957998 +0.016236 0.048751999 0.73879999 +0.016957 0.048622001 0.73684001 +0.017673999 0.048494 0.73488998 +0.018378001 0.048340999 0.73256999 +0.019127 0.048315 0.73218 +0.019866001 0.048264001 0.73141003 +0.020613 0.048239 0.73102999 +0.021349 0.048188001 0.73026001 +0.022071 0.048112001 0.72911 +0.022803999 0.048062 0.72834003 +0.023559 0.048062 0.72834003 +0.024301 0.048037 0.72795999 +0.025003999 0.047936 0.72644001 +0.025730001 0.047885999 0.72567999 +0.026441 0.047811002 0.72455001 +0.027163999 0.047761001 0.72378999 +0.027915001 0.047761001 0.72378999 +0.028635999 0.047711998 0.72303998 +0.029370001 0.047687002 0.72266001 +0.030088 0.047637001 0.72191 +0.036327999 0.052310999 0.79273999 +0.037234999 0.052430999 0.79456002 +0.038102999 0.052491002 0.79547 +0.03895 0.052521002 0.79592001 +0.039820999 0.052581001 0.79683 +0.040693998 0.052641999 0.79775 +0.041568998 0.052701999 0.79866999 +0.042397 0.052701999 0.79866999 +0.043249998 0.052733 0.79913002 +0.044130001 0.052793 0.80005002 +0.045010999 0.052854002 0.80097002 +0.045867998 0.052885 0.80142999 +0.046698999 0.052885 0.80142999 +0.047529999 0.052885 0.80142999 +0.048388999 0.052914999 0.80189002 +0.049249001 0.052946001 0.80236 +0.050081 0.052946001 0.80236 +0.050912999 0.052946001 0.80236 +0.051775001 0.052976001 0.80282003 +0.052607 0.052976001 0.80282003 +0.053440001 0.052976001 0.80282003 +0.054272 0.052976001 0.80282003 +0.055137001 0.053006999 0.80328 +0.055969998 0.053006999 0.80328 +0.056770001 0.052976001 0.80282003 +0.057601999 0.052976001 0.80282003 +0.058435 0.052976001 0.80282003 +0.059266999 0.052976001 0.80282003 +0.0601 0.052976001 0.80282003 +0.060897 0.052946001 0.80236 +0.061728999 0.052946001 0.80236 +0.062560998 0.052946001 0.80236 +0.063357003 0.052914999 0.80189002 +0.064150997 0.052885 0.80142999 +0.064944997 0.052854002 0.80097002 +0.065775 0.052854002 0.80097002 +0.066566996 0.052824002 0.80050999 +0.067319997 0.052763 0.79958999 +0.068109997 0.052733 0.79913002 +0.068898998 0.052701999 0.79866999 +0.069687001 0.052671999 0.79821002 +0.070514999 0.052671999 0.79821002 +0.071301997 0.052641999 0.79775 +0.072086997 0.052611999 0.79729003 +0.072956003 0.052641999 0.79775 +0.073698997 0.052581001 0.79683 +0.074482001 0.052551001 0.79637998 +0.075753003 0.047171999 0.71486002 +0.076454997 0.047148 0.71449 +0.077037998 0.047051001 0.71302003 +0.077896997 0.047123 0.71411997 +0.081698999 0.047612999 0.72153997 +0.082404003 0.047587998 0.72115999 +0.083281003 0.047662001 0.72228998 +0.084118001 0.047711998 0.72303998 +0.084822997 0.047687002 0.72266001 +0.085573003 0.047687002 0.72266001 +0.086322002 0.047687002 0.72266001 +0.090788998 0.048882 0.74076998 +0.091508999 0.048856001 0.74036998 +0.092423998 0.048934001 0.74155998 +0.093341999 0.049012002 0.74274999 +0.094264001 0.049091 0.74394 +0.095086001 0.049116999 0.74434 +0.095858 0.049116999 0.74434 +0.096681997 0.049144 0.74474001 +0.097768001 0.049302001 0.74713999 +0.098649003 0.049355 0.74794 +0.099425003 0.049355 0.74794 +0.10025 0.049382001 0.74835002 +0.10103 0.049382001 0.74835002 +0.10181 0.049382001 0.74835002 +0.10258 0.049382001 0.74835002 +0.10336 0.049382001 0.74835002 +0.10419 0.049408 0.74874997 +0.10497 0.049408 0.74874997 +0.10563 0.049355 0.74794 +0.1064 0.049355 0.74794 +0.10718 0.049355 0.74794 +0.10796 0.049355 0.74794 +0.10885 0.049408 0.74874997 +0.10951 0.049355 0.74794 +0.11022 0.049329001 0.74754 +0.11094 0.049302001 0.74713999 +0.11159 0.049249001 0.74633998 +0.11225 0.049196001 0.74554002 +0.11296 0.049169999 0.74514002 +0.11367 0.049144 0.74474001 +0.11444 0.049144 0.74474001 +0.11509 0.049091 0.74394 +0.11586 0.049091 0.74394 +0.11664 0.049091 0.74394 +0.11747 0.049116999 0.74434 +0.1183 0.049144 0.74474001 +0.11901 0.049116999 0.74434 +0.11972 0.049091 0.74394 +0.12049 0.049091 0.74394 +0.12126 0.049091 0.74394 +0.12666 0.050000999 0.75773001 +0.12737 0.049973998 0.75731999 +0.12802 0.049919002 0.75648999 +0.12901001 0.050000999 0.75773001 +-0.067230999 0.058876999 0.87843001 +-0.066362001 0.058913998 0.87898999 +-0.065408997 0.058876999 0.87843001 +-0.064539 0.058913998 0.87898999 +-0.063626997 0.058913998 0.87898999 +-0.062637001 0.058839999 0.87787998 +-0.061765 0.058876999 0.87843001 +-0.060816001 0.058839999 0.87787998 +-0.059905998 0.058839999 0.87787998 +-0.058995001 0.058839999 0.87787998 +-0.058084998 0.058839999 0.87787998 +-0.028864 0.058653999 0.87510997 +-0.027921 0.05858 0.87401003 +0.013242 0.049782 0.74274999 +0.013982 0.049676001 0.74115998 +0.014719 0.049571 0.73957998 +0.015486 0.049571 0.73957998 +0.016245 0.049543999 0.73918998 +0.016966 0.049412999 0.73723 +0.017684 0.049281999 0.73527998 +0.018387999 0.049125999 0.73294997 +0.019127 0.049074002 0.73218 +0.019866001 0.049022999 0.73141003 +0.020624001 0.049022999 0.73141003 +0.021360001 0.048971001 0.73063999 +0.022082999 0.048893999 0.72948998 +0.022803999 0.048817001 0.72834003 +0.023545999 0.048792001 0.72795999 +0.024289001 0.048765998 0.72758001 +0.025003999 0.048689 0.72644001 +0.025717 0.048613001 0.72530001 +0.026441 0.048563 0.72455001 +0.02715 0.048487 0.72341001 +0.027899999 0.048487 0.72341001 +0.028635999 0.048461001 0.72303998 +0.029370001 0.048436001 0.72266001 +0.030088 0.048386 0.72191 +0.030789001 0.048310999 0.72079003 +0.031520002 0.048285998 0.72040999 +0.037234999 0.053254999 0.79456002 +0.038081001 0.053284999 0.79500997 +0.03895 0.053346001 0.79592001 +0.039820999 0.053408001 0.79683 +0.040693998 0.053468999 0.79775 +0.041568998 0.05353 0.79866999 +0.042397 0.05353 0.79866999 +0.043249998 0.053560998 0.79913002 +0.044130001 0.053622998 0.80005002 +0.045010999 0.053684998 0.80097002 +0.045894999 0.053746998 0.80189002 +0.046726 0.053746998 0.80189002 +0.047529999 0.053716 0.80142999 +0.048416998 0.053778 0.80236 +0.049249001 0.053778 0.80236 +0.050110001 0.053808998 0.80282003 +0.050942 0.053808998 0.80282003 +0.051805001 0.05384 0.80328 +0.052668002 0.053870998 0.80374998 +0.053470999 0.05384 0.80328 +0.054304 0.05384 0.80328 +0.055169001 0.053870998 0.80374998 +0.056001998 0.053870998 0.80374998 +0.056836002 0.053870998 0.80374998 +0.057668999 0.053870998 0.80374998 +0.058469001 0.05384 0.80328 +0.059301998 0.05384 0.80328 +0.060134999 0.05384 0.80328 +0.060931999 0.053808998 0.80282003 +0.061765 0.053808998 0.80282003 +0.062596999 0.053808998 0.80282003 +0.063357003 0.053746998 0.80189002 +0.064188004 0.053746998 0.80189002 +0.064981997 0.053716 0.80142999 +0.065775 0.053684998 0.80097002 +0.066606 0.053684998 0.80097002 +0.067359 0.053622998 0.80005002 +0.068109997 0.053560998 0.79913002 +0.068898998 0.05353 0.79866999 +0.069687001 0.0535 0.79821002 +0.070514999 0.0535 0.79821002 +0.071342997 0.0535 0.79821002 +0.072129004 0.053468999 0.79775 +0.072956003 0.053468999 0.79775 +0.073740996 0.053438 0.79729003 +0.074482001 0.053376999 0.79637998 +0.075089 0.047961999 0.71559 +0.07587 0.047986999 0.71596003 +0.076613002 0.047986999 0.71596003 +0.077275001 0.047938 0.71521997 +0.078138001 0.048012 0.71632999 +0.079043999 0.048110999 0.71780998 +0.079787999 0.048110999 0.71780998 +0.080614999 0.048161 0.71855003 +0.081740998 0.048386 0.72191 +0.082447 0.048361 0.72153997 +0.083324999 0.048436001 0.72266001 +0.084118001 0.048461001 0.72303998 +0.084867999 0.048461001 0.72303998 +0.085573003 0.048436001 0.72266001 +0.086322002 0.048436001 0.72266001 +0.090069003 0.049676001 0.74115998 +0.090838 0.049676001 0.74115998 +0.091605999 0.049676001 0.74115998 +0.092473 0.049729001 0.74194998 +0.093392 0.049809001 0.74313998 +0.094264001 0.049862001 0.74394 +0.095086001 0.049888998 0.74434 +0.095908999 0.049915999 0.74474001 +0.096681997 0.049915999 0.74474001 +0.097768001 0.050076999 0.74713999 +0.098649003 0.050131001 0.74794 +0.099425003 0.050131001 0.74794 +0.1002 0.050131001 0.74794 +0.10103 0.050158001 0.74835002 +0.10181 0.050158001 0.74835002 +0.10253 0.050131001 0.74794 +0.1033 0.050131001 0.74794 +0.10413 0.050158001 0.74835002 +0.10491 0.050158001 0.74835002 +0.10563 0.050131001 0.74794 +0.10635 0.050104 0.74754 +0.10712 0.050104 0.74754 +0.10796 0.050131001 0.74794 +0.10879 0.050158001 0.74835002 +0.10945 0.050104 0.74754 +0.11022 0.050104 0.74754 +0.11088 0.050050002 0.74673998 +0.11153 0.049996 0.74594003 +0.11219 0.049943 0.74514002 +0.1129 0.049915999 0.74474001 +0.11361 0.049888998 0.74434 +0.11438 0.049888998 0.74434 +0.11509 0.049862001 0.74394 +0.1158 0.049835999 0.74353999 +0.11664 0.049862001 0.74394 +0.11747 0.049888998 0.74434 +0.11824 0.049888998 0.74434 +0.11901 0.049888998 0.74434 +0.11972 0.049862001 0.74394 +0.12043 0.049835999 0.74353999 +0.12126 0.049862001 0.74394 +0.12217 0.049915999 0.74474001 +0.1232 0.050023001 0.74633998 +0.12631001 0.050648998 0.75567001 +0.12703 0.050620999 0.75525999 +0.12781 0.050620999 0.75525999 +0.12865999 0.050648998 0.75567001 +-0.063587002 0.059788 0.87843001 +-0.061726 0.059749998 0.87787998 +-0.060777999 0.059712 0.87731999 +-0.030678 0.059562001 0.87510997 +-0.029751999 0.059524 0.87456 +-0.028809 0.059448998 0.87345999 +-0.027868001 0.059374999 0.87237 +0.013235 0.050526001 0.74234998 +0.013982 0.050445002 0.74115998 +0.014719 0.050337002 0.73957998 +0.015486 0.050337002 0.73957998 +0.016245 0.050310999 0.73918998 +0.016975001 0.050204001 0.73762 +0.017693 0.050071001 0.73566997 +0.018417001 0.049965002 0.73411 +0.019138001 0.049860001 0.73256999 +0.019876 0.049807001 0.73180002 +0.020634999 0.049807001 0.73180002 +0.021371 0.049755 0.73102999 +0.022095 0.049676001 0.72987002 +0.022816001 0.049598001 0.72873002 +0.023545999 0.049546 0.72795999 +0.024289001 0.049520001 0.72758001 +0.025003999 0.049442999 0.72644001 +0.025717 0.049364999 0.72530001 +0.026427999 0.049288001 0.72417003 +0.02715 0.049237002 0.72341001 +0.027899999 0.049237002 0.72341001 +0.028635999 0.049210999 0.72303998 +0.029370001 0.049185999 0.72266001 +0.030088 0.049135 0.72191 +0.030789001 0.049058001 0.72079003 +0.031520002 0.049033001 0.72040999 +0.032233 0.048982002 0.71967 +0.032979999 0.048982002 0.71967 +0.038081001 0.054110002 0.79500997 +0.038927998 0.054141 0.79547 +0.039820999 0.054234002 0.79683 +0.040693998 0.054296002 0.79775 +0.041568998 0.054359 0.79866999 +0.042373002 0.054327 0.79821002 +0.043249998 0.054389998 0.79913002 +0.044130001 0.054453 0.80005002 +0.045010999 0.054515 0.80097002 +0.045894999 0.054577999 0.80189002 +0.046726 0.054577999 0.80189002 +0.047557998 0.054577999 0.80189002 +0.048416998 0.054609999 0.80236 +0.049249001 0.054609999 0.80236 +0.050110001 0.054641001 0.80282003 +0.050972 0.054673001 0.80328 +0.051835001 0.054703999 0.80374998 +0.052668002 0.054703999 0.80374998 +0.053470999 0.054673001 0.80328 +0.054335002 0.054703999 0.80374998 +0.055201001 0.054736 0.80421001 +0.056035001 0.054736 0.80421001 +0.056836002 0.054703999 0.80374998 +0.057702001 0.054736 0.80421001 +0.058502 0.054703999 0.80374998 +0.059335999 0.054703999 0.80374998 +0.060169 0.054703999 0.80374998 +0.060968 0.054673001 0.80328 +0.061801001 0.054673001 0.80328 +0.062596999 0.054641001 0.80282003 +0.063392997 0.054609999 0.80236 +0.064188004 0.054577999 0.80189002 +0.064981997 0.054547001 0.80142999 +0.065812998 0.054547001 0.80142999 +0.066606 0.054515 0.80097002 +0.067359 0.054453 0.80005002 +0.068109997 0.054389998 0.79913002 +0.068898998 0.054359 0.79866999 +0.069687001 0.054327 0.79821002 +0.070514999 0.054327 0.79821002 +0.071301997 0.054296002 0.79775 +0.072129004 0.054296002 0.79775 +0.072956003 0.054296002 0.79775 +0.073740996 0.054265 0.79729003 +0.074524999 0.054234002 0.79683 +0.072825 0.048679002 0.71521997 +0.073528998 0.048654001 0.71486002 +0.074308999 0.048679002 0.71521997 +0.075167 0.048755001 0.71632999 +0.075909004 0.048755001 0.71632999 +0.076651998 0.048755001 0.71632999 +0.077395 0.048755001 0.71632999 +0.078258999 0.048829999 0.71744001 +0.079125002 0.048905998 0.71855003 +0.07987 0.048905998 0.71855003 +0.080698997 0.048957001 0.71929997 +0.081782997 0.04916 0.72228998 +0.082489997 0.049135 0.72191 +0.083324999 0.049185999 0.72266001 +0.084118001 0.049210999 0.72303998 +0.084867999 0.049210999 0.72303998 +0.085573003 0.049185999 0.72266001 +0.086277001 0.04916 0.72228998 +0.089253001 0.050418001 0.74076998 +0.090117 0.050471999 0.74155998 +0.090885997 0.050471999 0.74155998 +0.091704004 0.050499 0.74194998 +0.092523001 0.050526001 0.74234998 +0.093442 0.050607 0.74353999 +0.094314002 0.050661001 0.74434 +0.095137 0.050687999 0.74474001 +0.095960997 0.050714999 0.74514002 +0.096732996 0.050714999 0.74514002 +0.097768001 0.050852001 0.74713999 +0.098595999 0.050879002 0.74754 +0.099425003 0.050905999 0.74794 +0.1002 0.050905999 0.74794 +0.10103 0.050934002 0.74835002 +0.10175 0.050905999 0.74794 +0.10253 0.050905999 0.74794 +0.1033 0.050905999 0.74794 +0.10408 0.050905999 0.74794 +0.10491 0.050934002 0.74835002 +0.10557 0.050879002 0.74754 +0.10635 0.050879002 0.74754 +0.10712 0.050879002 0.74754 +0.1079 0.050879002 0.74754 +0.10873 0.050905999 0.74794 +0.10939 0.050852001 0.74713999 +0.11016 0.050852001 0.74713999 +0.11088 0.050824001 0.74673998 +0.11147 0.050742999 0.74554002 +0.11219 0.050714999 0.74514002 +0.1129 0.050687999 0.74474001 +0.11361 0.050661001 0.74434 +0.11438 0.050661001 0.74434 +0.11503 0.050607 0.74353999 +0.1158 0.050607 0.74353999 +0.11664 0.050634 0.74394 +0.11747 0.050661001 0.74434 +0.11824 0.050661001 0.74434 +0.11901 0.050661001 0.74434 +0.11972 0.050634 0.74394 +0.12049 0.050634 0.74394 +0.12126 0.050634 0.74394 +0.12223 0.050714999 0.74514002 +0.1232 0.050797001 0.74633998 +0.12438 0.050960999 0.74874997 +0.12604 0.051321 0.75402999 +0.12682 0.051321 0.75402999 +0.1276 0.051321 0.75402999 +0.12838 0.051321 0.75402999 +0.12944999 0.051431999 0.75567001 +0.1303 0.051460002 0.75607997 +0.13136999 0.051573001 0.75773001 +0.1323 0.051628999 0.75856 +0.13316 0.051656999 0.75897002 +0.19049001 0.060052998 0.88234001 +0.19152001 0.060091998 0.8829 +-0.03064 0.060392998 0.87401003 +-0.029715 0.060355 0.87345999 +-0.028773 0.060279001 0.87237 +-0.027851 0.060242001 0.87181997 +0.012478 0.051350001 0.74313998 +0.013235 0.051295001 0.74234998 +0.013982 0.051213 0.74115998 +0.014727 0.051132001 0.73997998 +0.015486 0.051104002 0.73957998 +0.016253 0.051104002 0.73957998 +0.016984001 0.050996002 0.73800999 +0.017712001 0.050887998 0.73645002 +0.018436 0.050779998 0.73488998 +0.019158 0.050673001 0.73334002 +0.019887 0.050593 0.73218 +0.020656999 0.050618999 0.73256999 +0.021383001 0.05054 0.73141003 +0.022105999 0.05046 0.73026001 +0.022816001 0.050354 0.72873002 +0.023559 0.050328001 0.72834003 +0.024301 0.050301 0.72795999 +0.025003999 0.050195999 0.72644001 +0.025717 0.050117001 0.72530001 +0.026427999 0.050039001 0.72417003 +0.02715 0.049986999 0.72341001 +0.027899999 0.049986999 0.72341001 +0.028635999 0.049961001 0.72303998 +0.029355001 0.049908999 0.72228998 +0.030088 0.049883001 0.72191 +0.030789001 0.049805999 0.72079003 +0.031520002 0.04978 0.72040999 +0.032233 0.049727999 0.71967 +0.032963 0.049702 0.71929997 +0.033691 0.049676999 0.71891999 +0.039820999 0.055059999 0.79683 +0.040693998 0.055123001 0.79775 +0.041568998 0.055187002 0.79866999 +0.042373002 0.055155002 0.79821002 +0.043225002 0.055187002 0.79866999 +0.044155002 0.055314001 0.80050999 +0.045010999 0.055346001 0.80097002 +0.045894999 0.055410001 0.80189002 +0.046726 0.055410001 0.80189002 +0.047557998 0.055410001 0.80189002 +0.048416998 0.055442002 0.80236 +0.049249001 0.055442002 0.80236 +0.050110001 0.055473998 0.80282003 +0.050972 0.055505998 0.80328 +0.051805001 0.055505998 0.80328 +0.052668002 0.055537999 0.80374998 +0.053470999 0.055505998 0.80328 +0.054304 0.055505998 0.80328 +0.055201001 0.055569999 0.80421001 +0.056035001 0.055569999 0.80421001 +0.056868002 0.055569999 0.80421001 +0.057702001 0.055569999 0.80421001 +0.058502 0.055537999 0.80374998 +0.05937 0.055569999 0.80421001 +0.060169 0.055537999 0.80374998 +0.060968 0.055505998 0.80328 +0.061836001 0.055537999 0.80374998 +0.062633999 0.055505998 0.80328 +0.063429996 0.055473998 0.80282003 +0.064225003 0.055442002 0.80236 +0.065020002 0.055410001 0.80189002 +0.065851003 0.055410001 0.80189002 +0.066683002 0.055410001 0.80189002 +0.067397997 0.055314001 0.80050999 +0.068109997 0.055218998 0.79913002 +0.068898998 0.055187002 0.79866999 +0.069687001 0.055155002 0.79821002 +0.070514999 0.055155002 0.79821002 +0.071301997 0.055123001 0.79775 +0.072086997 0.055091999 0.79729003 +0.072913997 0.055091999 0.79729003 +0.072121002 0.049446002 0.71559 +0.072862998 0.049446002 0.71559 +0.073605001 0.049446002 0.71559 +0.074346997 0.049446002 0.71559 +0.075167 0.049497001 0.71632999 +0.075948 0.049523 0.71670002 +0.076730996 0.049548998 0.71706998 +0.077514999 0.049573999 0.71744001 +0.078340001 0.049625002 0.71818 +0.079207003 0.049702 0.71929997 +0.079994 0.049727999 0.71967 +0.080783002 0.049754001 0.72004002 +0.081826001 0.049934998 0.72266001 +0.082532004 0.049908999 0.72228998 +0.083368003 0.049961001 0.72303998 +0.084118001 0.049961001 0.72303998 +0.084867999 0.049961001 0.72303998 +0.085573003 0.049934998 0.72266001 +0.089348003 0.051240999 0.74155998 +0.090164997 0.051268 0.74194998 +0.090934999 0.051268 0.74194998 +0.091752999 0.051295001 0.74234998 +0.092572004 0.051323 0.74274999 +0.093492001 0.051405001 0.74394 +0.094365001 0.051460002 0.74474001 +0.095187999 0.051488001 0.74514002 +0.095960997 0.051488001 0.74514002 +0.096732996 0.051488001 0.74514002 +0.097768001 0.051626001 0.74713999 +0.098595999 0.051654 0.74754 +0.099371001 0.051654 0.74754 +0.1002 0.051681999 0.74794 +0.10098 0.051681999 0.74794 +0.10175 0.051681999 0.74794 +0.10253 0.051681999 0.74794 +0.10325 0.051654 0.74754 +0.10408 0.051681999 0.74794 +0.10485 0.051681999 0.74794 +0.10557 0.051654 0.74754 +0.10629 0.051626001 0.74713999 +0.10707 0.051626001 0.74713999 +0.10784 0.051626001 0.74713999 +0.10867 0.051654 0.74754 +0.10933 0.051599 0.74673998 +0.11011 0.051599 0.74673998 +0.11076 0.051543001 0.74594003 +0.11141 0.051488001 0.74514002 +0.11213 0.051460002 0.74474001 +0.11284 0.051433001 0.74434 +0.11355 0.051405001 0.74394 +0.11432 0.051405001 0.74394 +0.11503 0.051378001 0.74353999 +0.1158 0.051378001 0.74353999 +0.11657 0.051378001 0.74353999 +0.11741 0.051405001 0.74394 +0.11824 0.051433001 0.74434 +0.11901 0.051433001 0.74434 +0.11972 0.051405001 0.74394 +0.12049 0.051405001 0.74394 +0.12126 0.051405001 0.74394 +0.12223 0.051488001 0.74514002 +0.12327 0.051599 0.74673998 +0.12438 0.051738001 0.74874997 +0.12597001 0.052074 0.75362003 +0.12675001 0.052074 0.75362003 +0.12752999 0.052074 0.75362003 +0.12830999 0.052074 0.75362003 +0.12937 0.052188002 0.75525999 +0.13022999 0.052216001 0.75567001 +0.1313 0.052329998 0.75731999 +0.1323 0.052414998 0.75856 +0.13316 0.052444 0.75897002 +0.18921 0.060851999 0.88066 +0.19024 0.060890999 0.88121998 +-0.031525999 0.061260998 0.87345999 +-0.030582 0.061184 0.87237 +-0.029658999 0.061145999 0.87181997 +-0.028736999 0.061106998 0.87127 +-0.027815999 0.061069001 0.87072998 +-0.026896 0.061030999 0.87018001 +0.012478 0.052120999 0.74313998 +0.013235 0.052065 0.74234998 +0.013982 0.051982 0.74115998 +0.015486 0.051871002 0.73957998 +0.016253 0.051871002 0.73957998 +0.016992999 0.051789001 0.73841 +0.017720999 0.051679 0.73684001 +0.02069 0.051460002 0.73373002 +0.021405 0.051352002 0.73218 +0.022118 0.051244002 0.73063999 +0.022826999 0.051135998 0.72911 +0.023559 0.051082999 0.72834003 +0.024301 0.051056001 0.72795999 +0.025017001 0.050976001 0.72681999 +0.025717 0.050870001 0.72530001 +0.026427999 0.050790001 0.72417003 +0.02715 0.050737001 0.72341001 +0.027899999 0.050737001 0.72341001 +0.028620999 0.050684001 0.72266001 +0.029355001 0.050657999 0.72228998 +0.030088 0.050632 0.72191 +0.030789001 0.050553001 0.72079003 +0.031520002 0.050526999 0.72040999 +0.032233 0.050473999 0.71967 +0.032963 0.050448 0.71929997 +0.033691 0.050422002 0.71891999 +0.034437001 0.050422002 0.71891999 +0.035146002 0.05037 0.71818 +0.040693998 0.055950999 0.79775 +0.041568998 0.056015 0.79866999 +0.042348001 0.055950999 0.79775 +0.043225002 0.056015 0.79866999 +0.044130001 0.056111999 0.80005002 +0.044985 0.056143999 0.80050999 +0.045867998 0.056209002 0.80142999 +0.046698999 0.056209002 0.80142999 +0.047529999 0.056209002 0.80142999 +0.048388999 0.056240998 0.80189002 +0.049221002 0.056240998 0.80189002 +0.050081 0.056274001 0.80236 +0.050942 0.056306001 0.80282003 +0.051805001 0.056338999 0.80328 +0.052638002 0.056338999 0.80328 +0.053440001 0.056306001 0.80282003 +0.054304 0.056338999 0.80328 +0.055201001 0.056403998 0.80421001 +0.056035001 0.056403998 0.80421001 +0.056836002 0.056371 0.80374998 +0.057702001 0.056403998 0.80421001 +0.058502 0.056371 0.80374998 +0.05937 0.056403998 0.80421001 +0.060169 0.056371 0.80374998 +0.060968 0.056338999 0.80328 +0.061836001 0.056371 0.80374998 +0.062633999 0.056338999 0.80328 +0.063429996 0.056306001 0.80282003 +0.064225003 0.056274001 0.80236 +0.065020002 0.056240998 0.80189002 +0.065851003 0.056240998 0.80189002 +0.066683002 0.056240998 0.80189002 +0.067397997 0.056143999 0.80050999 +0.068109997 0.056047 0.79913002 +0.068898998 0.056015 0.79866999 +0.069687001 0.055983 0.79821002 +0.070473999 0.055950999 0.79775 +0.071301997 0.055950999 0.79775 +0.072086997 0.055918999 0.79729003 +0.071378998 0.050189 0.71559 +0.072158001 0.050214 0.71596003 +0.072901003 0.050214 0.71596003 +0.073605001 0.050189 0.71559 +0.074385002 0.050214 0.71596003 +0.075204998 0.050266001 0.71670002 +0.075988002 0.050292 0.71706998 +0.076770999 0.050317999 0.71744001 +0.077555001 0.050344002 0.71780998 +0.078420997 0.050422002 0.71891999 +0.079288997 0.050501 0.72004002 +0.080077 0.050526999 0.72040999 +0.080824003 0.050526999 0.72040999 +0.081826001 0.050684001 0.72266001 +0.082575001 0.050684001 0.72266001 +0.083368003 0.050710998 0.72303998 +0.084118001 0.050710998 0.72303998 +0.084867999 0.050710998 0.72303998 +0.085573003 0.050684001 0.72266001 +0.089348003 0.05201 0.74155998 +0.090164997 0.052037001 0.74194998 +0.090983003 0.052065 0.74234998 +0.091802001 0.052092999 0.74274999 +0.092621997 0.052120999 0.74313998 +0.093492001 0.052177001 0.74394 +0.094365001 0.052232999 0.74474001 +0.095187999 0.052260999 0.74514002 +0.095960997 0.052260999 0.74514002 +0.096732996 0.052260999 0.74514002 +0.097768001 0.052400999 0.74713999 +0.098543003 0.052400999 0.74713999 +0.099371001 0.052429002 0.74754 +0.10015 0.052429002 0.74754 +0.10098 0.052457999 0.74794 +0.10175 0.052457999 0.74794 +0.10247 0.052429002 0.74754 +0.10325 0.052429002 0.74754 +0.10408 0.052457999 0.74794 +0.10485 0.052457999 0.74794 +0.10552 0.052400999 0.74713999 +0.10623 0.052372999 0.74673998 +0.10701 0.052372999 0.74673998 +0.10778 0.052372999 0.74673998 +0.10861 0.052400999 0.74713999 +0.10921 0.052317001 0.74594003 +0.11005 0.052345 0.74633998 +0.1107 0.052289002 0.74554002 +0.11135 0.052232999 0.74474001 +0.11213 0.052232999 0.74474001 +0.11284 0.052205 0.74434 +0.11355 0.052177001 0.74394 +0.11432 0.052177001 0.74394 +0.11503 0.052149002 0.74353999 +0.11574 0.052120999 0.74313998 +0.11657 0.052149002 0.74353999 +0.11741 0.052177001 0.74394 +0.11824 0.052205 0.74434 +0.11895 0.052177001 0.74394 +0.11972 0.052177001 0.74394 +0.12049 0.052177001 0.74394 +0.12126 0.052177001 0.74394 +0.1223 0.052289002 0.74554002 +0.12327 0.052372999 0.74673998 +0.12424 0.052457999 0.74794 +0.12576 0.05277 0.75239998 +0.12654001 0.05277 0.75239998 +0.12739 0.052799001 0.75281 +0.12803 0.052740999 0.75199002 +0.12916 0.052884001 0.75402999 +0.13001999 0.052912999 0.75444001 +0.13108 0.053027999 0.75607997 +0.13215999 0.053144 0.75773001 +0.13301 0.053173002 0.75814003 +0.19012 0.061765999 0.88066 +-0.031486999 0.062089 0.87237 +-0.030544 0.062011 0.87127 +-0.02964 0.062011 0.87127 +-0.028719001 0.061972 0.87072998 +-0.027798999 0.061933 0.87018001 +-0.026879 0.061894 0.86963999 +0.012478 0.052891999 0.74313998 +0.013242 0.052863002 0.74274999 +0.01399 0.052779 0.74155998 +0.016253 0.052638002 0.73957998 +0.017002 0.052581999 0.73879999 +0.017729999 0.052471001 0.73723 +0.022128999 0.052028999 0.73102999 +0.024313999 0.051837999 0.72834003 +0.02503 0.051757 0.72719997 +0.025717 0.051622 0.72530001 +0.026441 0.051568002 0.72455001 +0.027163999 0.051514 0.72378999 +0.027899999 0.051486999 0.72341001 +0.028620999 0.051433999 0.72266001 +0.029355001 0.051406998 0.72228998 +0.030088 0.051380001 0.72191 +0.030789001 0.0513 0.72079003 +0.031520002 0.051274002 0.72040999 +0.032233 0.051220998 0.71967 +0.032963 0.051194001 0.71929997 +0.033707999 0.051194001 0.71929997 +0.034437001 0.051167998 0.71891999 +0.035146002 0.051114999 0.71818 +0.035872001 0.051088002 0.71780998 +0.036596999 0.051061999 0.71744001 +0.041568998 0.056843001 0.79866999 +0.042348001 0.056777999 0.79775 +0.043200001 0.056811001 0.79821002 +0.044155002 0.056974001 0.80050999 +0.044985 0.056974001 0.80050999 +0.045867998 0.057039998 0.80142999 +0.046698999 0.057039998 0.80142999 +0.047529999 0.057039998 0.80142999 +0.048388999 0.057073001 0.80189002 +0.049192 0.057039998 0.80142999 +0.050051998 0.057073001 0.80189002 +0.050942 0.057139002 0.80282003 +0.051775001 0.057139002 0.80282003 +0.052638002 0.057172 0.80328 +0.053440001 0.057139002 0.80282003 +0.054272 0.057139002 0.80282003 +0.055169001 0.057204999 0.80374998 +0.056035001 0.057238001 0.80421001 +0.056836002 0.057204999 0.80374998 +0.057702001 0.057238001 0.80421001 +0.060203999 0.057238001 0.80421001 +0.060968 0.057172 0.80328 +0.061836001 0.057204999 0.80374998 +0.062633999 0.057172 0.80328 +0.063429996 0.057139002 0.80282003 +0.064225003 0.057105999 0.80236 +0.065020002 0.057073001 0.80189002 +0.065889001 0.057105999 0.80236 +0.066683002 0.057073001 0.80189002 +0.067397997 0.056974001 0.80050999 +0.068071 0.056843001 0.79866999 +0.068898998 0.056843001 0.79866999 +0.069687001 0.056811001 0.79821002 +0.070473999 0.056777999 0.79775 +0.071301997 0.056777999 0.79775 +0.072045997 0.056713 0.79683 +0.069858998 0.050903998 0.71521997 +0.070601001 0.050903998 0.71521997 +0.071378998 0.050930999 0.71559 +0.072158001 0.050957002 0.71596003 +0.072901003 0.050957002 0.71596003 +0.073642999 0.050957002 0.71596003 +0.074423999 0.050983001 0.71632999 +0.075204998 0.051008999 0.71670002 +0.075988002 0.051036 0.71706998 +0.076770999 0.051061999 0.71744001 +0.077595003 0.051114999 0.71818 +0.078420997 0.051167998 0.71891999 +0.079288997 0.051247001 0.72004002 +0.080118999 0.0513 0.72079003 +0.080866002 0.0513 0.72079003 +0.081868999 0.051461 0.72303998 +0.082575001 0.051433999 0.72266001 +0.083411001 0.051486999 0.72341001 +0.084118001 0.051461 0.72303998 +0.084912002 0.051486999 0.72341001 +0.085616998 0.051461 0.72303998 +0.089348003 0.052779 0.74155998 +0.090213001 0.052834999 0.74234998 +0.091031998 0.052863002 0.74274999 +0.091851003 0.052891999 0.74313998 +0.092670999 0.052919999 0.74353999 +0.093542002 0.052976999 0.74434 +0.094365001 0.053004999 0.74474001 +0.095187999 0.053033002 0.74514002 +0.095960997 0.053033002 0.74514002 +0.096785001 0.053061999 0.74554002 +0.097716004 0.053146999 0.74673998 +0.098543003 0.053176001 0.74713999 +0.099371001 0.053204 0.74754 +0.1002 0.053233001 0.74794 +0.10098 0.053233001 0.74794 +0.10175 0.053233001 0.74794 +0.10247 0.053204 0.74754 +0.10325 0.053204 0.74754 +0.10408 0.053233001 0.74794 +0.10485 0.053233001 0.74794 +0.10546 0.053146999 0.74673998 +0.10618 0.053119 0.74633998 +0.10695 0.053119 0.74633998 +0.10778 0.053146999 0.74673998 +0.10856 0.053146999 0.74673998 +0.10915 0.053061999 0.74554002 +0.10999 0.053089999 0.74594003 +0.1107 0.053061999 0.74554002 +0.11135 0.053004999 0.74474001 +0.11213 0.053004999 0.74474001 +0.11284 0.052976999 0.74434 +0.11355 0.052948002 0.74394 +0.11438 0.052976999 0.74434 +0.11503 0.052919999 0.74353999 +0.1158 0.052919999 0.74353999 +0.11657 0.052919999 0.74353999 +0.11747 0.052976999 0.74434 +0.11824 0.052976999 0.74434 +0.11901 0.052976999 0.74434 +0.11979 0.052976999 0.74434 +0.12056 0.052976999 0.74434 +0.12133 0.052976999 0.74434 +0.12243 0.053119 0.74633998 +0.1234 0.053204 0.74754 +0.12424 0.053233001 0.74794 +0.12548999 0.053433999 0.75076997 +0.12627 0.053433999 0.75076997 +0.12718999 0.053491998 0.75158 +0.12783 0.053433999 0.75076997 +0.12887999 0.053550001 0.75239998 +0.12988 0.053637002 0.75362003 +0.13094001 0.053754002 0.75525999 +0.13201 0.053870998 0.75691003 +0.1328 0.053870998 0.75691003 +0.13350999 0.053842001 0.75648999 +-0.030525001 0.062875003 0.87072998 +-0.029603001 0.062835 0.87018001 +-0.028682999 0.062795997 0.86963999 +0.012478 0.053661998 0.74313998 +0.013242 0.053633001 0.74274999 +0.013997 0.053576 0.74194998 +0.016253 0.053405002 0.73957998 +0.017002 0.053348001 0.73879999 +0.01774 0.053263001 0.73762 +0.02434 0.052648999 0.72911 +0.025043 0.052538 0.72758001 +0.025730001 0.052400999 0.72567999 +0.026441 0.052319001 0.72455001 +0.027163999 0.052265 0.72378999 +0.027899999 0.052237 0.72341001 +0.028620999 0.052182999 0.72266001 +0.029355001 0.052156001 0.72228998 +0.030088 0.052129 0.72191 +0.030804999 0.052074999 0.72115999 +0.031520002 0.052021001 0.72040999 +0.032233 0.051966999 0.71967 +0.032979999 0.051966999 0.71967 +0.033707999 0.051940002 0.71929997 +0.034453999 0.051940002 0.71929997 +0.035163999 0.051886 0.71855003 +0.035890002 0.051860001 0.71818 +0.036616001 0.051833 0.71780998 +0.037340999 0.051805999 0.71744001 +0.044959001 0.057771001 0.80005002 +0.045814998 0.057804 0.80050999 +0.046645001 0.057804 0.80050999 +0.047448002 0.057771001 0.80005002 +0.048361 0.057870999 0.80142999 +0.049136002 0.057804 0.80050999 +0.050023001 0.057870999 0.80142999 +0.050884001 0.057904001 0.80189002 +0.051745001 0.057937998 0.80236 +0.052607 0.057971001 0.80282003 +0.053408999 0.057937998 0.80236 +0.056035001 0.058072001 0.80421001 +0.068031996 0.057638001 0.79821002 +0.068859003 0.057638001 0.79821002 +0.069646999 0.057604998 0.79775 +0.068130001 0.051461 0.71266001 +0.068903998 0.051486999 0.71302003 +0.069822997 0.051619001 0.71486002 +0.070564002 0.051619001 0.71486002 +0.071378998 0.051672999 0.71559 +0.072158001 0.051699001 0.71596003 +0.072901003 0.051699001 0.71596003 +0.073642999 0.051699001 0.71596003 +0.074423999 0.051725999 0.71632999 +0.075204998 0.051752999 0.71670002 +0.075988002 0.051778998 0.71706998 +0.076810002 0.051833 0.71780998 +0.077634998 0.051886 0.71855003 +0.078460999 0.051940002 0.71929997 +0.079329997 0.052021001 0.72040999 +0.080159999 0.052074999 0.72115999 +0.080949999 0.052102 0.72153997 +0.081868999 0.052209999 0.72303998 +0.082575001 0.052182999 0.72266001 +0.083411001 0.052237 0.72341001 +0.084118001 0.052209999 0.72303998 +0.084912002 0.052237 0.72341001 +0.085616998 0.052209999 0.72303998 +0.089396 0.053576 0.74194998 +0.090213001 0.053605001 0.74234998 +0.091031998 0.053633001 0.74274999 +0.091851003 0.053661998 0.74313998 +0.092670999 0.053691 0.74353999 +0.093542002 0.053748 0.74434 +0.094365001 0.053777002 0.74474001 +0.095238999 0.053835001 0.74554002 +0.096012004 0.053835001 0.74554002 +0.096785001 0.053835001 0.74554002 +0.097716004 0.053922001 0.74673998 +0.098543003 0.053950999 0.74713999 +0.099371001 0.05398 0.74754 +0.1002 0.054009002 0.74794 +0.10098 0.054009002 0.74794 +0.10181 0.054037999 0.74835002 +0.10253 0.054009002 0.74794 +0.10325 0.05398 0.74754 +0.10413 0.054037999 0.74835002 +0.10485 0.054009002 0.74794 +0.10552 0.053950999 0.74713999 +0.10623 0.053922001 0.74673998 +0.10695 0.053893 0.74633998 +0.10778 0.053922001 0.74673998 +0.10856 0.053922001 0.74673998 +0.10915 0.053835001 0.74554002 +0.11005 0.053893 0.74633998 +0.1107 0.053835001 0.74554002 +0.11141 0.053805999 0.74514002 +0.11219 0.053805999 0.74514002 +0.1129 0.053777002 0.74474001 +0.11361 0.053748 0.74434 +0.11444 0.053777002 0.74474001 +0.11509 0.053720001 0.74394 +0.11586 0.053720001 0.74394 +0.11664 0.053720001 0.74394 +0.11747 0.053748 0.74434 +0.1183 0.053777002 0.74474001 +0.11908 0.053777002 0.74474001 +0.11985 0.053777002 0.74474001 +0.12062 0.053777002 0.74474001 +0.12139 0.053777002 0.74474001 +0.12243 0.053893 0.74633998 +0.12334 0.053950999 0.74713999 +0.12418 0.05398 0.74754 +0.12529001 0.054125 0.74956 +0.12613 0.054154001 0.74996001 +0.12698001 0.054184001 0.75037003 +0.12775999 0.054184001 0.75037003 +0.12875 0.054272 0.75158 +0.12981001 0.054389 0.75321001 +0.13087 0.054506999 0.75484997 +0.13194001 0.054625999 0.75648999 +0.13271999 0.054625999 0.75648999 +0.13336 0.054567002 0.75567001 +0.22656 0.063311003 0.87677002 +0.22761001 0.063350998 0.87731999 +0.22837999 0.063311003 0.87677002 +0.22943 0.063350998 0.87731999 +-0.063732997 0.063579001 0.86800998 +-0.062910996 0.063657999 0.86909002 +-0.061971001 0.063617997 0.86855 +-0.0034224 0.063499004 0.86691999 +0.012485 0.054462001 0.74353999 +0.013249 0.054432999 0.74313998 +0.016262 0.054200999 0.73997998 +0.017011 0.054143 0.73918998 +0.01774 0.054028001 0.73762 +0.024365 0.053461 0.72987002 +0.025069 0.053348999 0.72834003 +0.025744 0.053181 0.72605997 +0.026455 0.053098001 0.72491997 +0.027178001 0.053043 0.72417003 +0.027899999 0.052988 0.72341001 +0.028620999 0.052933 0.72266001 +0.029355001 0.052905001 0.72228998 +0.030088 0.052878 0.72191 +0.030804999 0.052823 0.72115999 +0.031536002 0.052795 0.72079003 +0.032249998 0.052740999 0.72004002 +0.032979999 0.052712999 0.71967 +0.033725999 0.052712999 0.71967 +0.034472 0.052712999 0.71967 +0.035163999 0.052630998 0.71855003 +0.035890002 0.052604001 0.71818 +0.036616001 0.052577 0.71780998 +0.037361 0.052577 0.71780998 +0.038066 0.052522998 0.71706998 +0.038789 0.052496001 0.71670002 +0.039512001 0.052469 0.71632999 +0.043071002 0.052280001 0.71375 +0.043811001 0.052280001 0.71375 +0.044551 0.052280001 0.71375 +0.067322001 0.052145999 0.71192998 +0.068130001 0.052200001 0.71266001 +0.068869002 0.052200001 0.71266001 +0.069787003 0.052333999 0.71449 +0.070564002 0.052361 0.71486002 +0.071378998 0.052414998 0.71559 +0.072195001 0.052469 0.71632999 +0.072901003 0.052441999 0.71596003 +0.073680997 0.052469 0.71632999 +0.074423999 0.052469 0.71632999 +0.075204998 0.052496001 0.71670002 +0.076026998 0.052549999 0.71744001 +0.076849997 0.052604001 0.71818 +0.077675 0.052659001 0.71891999 +0.078460999 0.052685998 0.71929997 +0.079329997 0.052767999 0.72040999 +0.080159999 0.052823 0.72115999 +0.080949999 0.052850001 0.72153997 +0.081868999 0.052960001 0.72303998 +0.082575001 0.052933 0.72266001 +0.083411001 0.052988 0.72341001 +0.084161997 0.052988 0.72341001 +0.089396 0.054345999 0.74194998 +0.090262003 0.054404002 0.74274999 +0.091081001 0.054432999 0.74313998 +0.091851003 0.054432999 0.74313998 +0.092721 0.054490998 0.74394 +0.093542002 0.05452 0.74434 +0.094365001 0.054549001 0.74474001 +0.095238999 0.054607999 0.74554002 +0.095960997 0.054579001 0.74514002 +0.096785001 0.054607999 0.74554002 +0.097716004 0.054696001 0.74673998 +0.098543003 0.054724999 0.74713999 +0.099371001 0.054754999 0.74754 +0.1002 0.054784 0.74794 +0.10098 0.054784 0.74794 +0.10181 0.054814 0.74835002 +0.10253 0.054784 0.74794 +0.1033 0.054784 0.74794 +0.10413 0.054814 0.74835002 +0.10485 0.054784 0.74794 +0.10552 0.054724999 0.74713999 +0.10623 0.054696001 0.74673998 +0.10701 0.054696001 0.74673998 +0.10778 0.054696001 0.74673998 +0.10856 0.054696001 0.74673998 +0.10915 0.054607999 0.74554002 +0.11005 0.054667 0.74633998 +0.11076 0.054637 0.74594003 +0.11141 0.054579001 0.74514002 +0.11219 0.054579001 0.74514002 +0.1129 0.054549001 0.74474001 +0.11361 0.05452 0.74434 +0.11451 0.054579001 0.74514002 +0.11515 0.05452 0.74434 +0.11593 0.05452 0.74434 +0.1167 0.05452 0.74434 +0.11753 0.054549001 0.74474001 +0.11837 0.054579001 0.74514002 +0.11908 0.054549001 0.74474001 +0.11985 0.054549001 0.74474001 +0.12062 0.054549001 0.74474001 +0.12146 0.054579001 0.74514002 +0.12243 0.054667 0.74633998 +0.12334 0.054724999 0.74713999 +0.12418 0.054754999 0.74754 +0.12515 0.054843001 0.74874997 +0.12606999 0.054901998 0.74956 +0.12691 0.054931998 0.74996001 +0.12769 0.054931998 0.74996001 +0.12868001 0.055020999 0.75117999 +0.12973 0.05514 0.75281 +0.13073 0.055229999 0.75402999 +0.13187 0.055380002 0.75607997 +0.13265 0.055380002 0.75607997 +0.13328999 0.055319998 0.75525999 +0.13406999 0.055319998 0.75525999 +-0.062753998 0.064397998 0.86691999 +-0.061855 0.064397998 0.86691999 +-0.060993999 0.064438 0.86747003 +-0.0034182 0.064318001 0.86584002 +-0.00072329998 0.064198002 0.86422998 +0.012485 0.055233002 0.74353999 +0.013249 0.055202998 0.74313998 +0.025082 0.054132 0.72873002 +0.025770999 0.053991001 0.72681999 +0.026469 0.053877998 0.72530001 +0.027193001 0.053822 0.72455001 +0.027915001 0.053766001 0.72378999 +0.028635999 0.053709999 0.72303998 +0.029370001 0.053681999 0.72266001 +0.030104 0.053654 0.72228998 +0.030820999 0.053598002 0.72153997 +0.031552002 0.053569999 0.72115999 +0.032267001 0.053514998 0.72040999 +0.032997001 0.053486999 0.72004002 +0.033743002 0.053486999 0.72004002 +0.034472 0.053459 0.71967 +0.035181999 0.053404 0.71891999 +0.035909001 0.053376999 0.71855003 +0.036635 0.053348999 0.71818 +0.037361 0.053321 0.71780998 +0.038084999 0.053293999 0.71744001 +0.038789 0.053238999 0.71670002 +0.039512001 0.053211 0.71632999 +0.040254999 0.053211 0.71632999 +0.040955 0.053157002 0.71559 +0.041696999 0.053157002 0.71559 +0.042417999 0.053128999 0.71521997 +0.043136999 0.053102002 0.71486002 +0.043855999 0.053075001 0.71449 +0.044597 0.053075001 0.71449 +0.045361001 0.053102002 0.71486002 +0.061448 0.052910998 0.71228999 +0.063695997 0.052939001 0.71266001 +0.064401999 0.052910998 0.71228999 +0.066652 0.052939001 0.71266001 +0.067357004 0.052910998 0.71228999 +0.068164997 0.052965999 0.71302003 +0.068939999 0.052993 0.71338999 +0.069822997 0.053102002 0.71486002 +0.070601001 0.053128999 0.71521997 +0.071415998 0.053183999 0.71596003 +0.072195001 0.053211 0.71632999 +0.072938003 0.053211 0.71632999 +0.073719002 0.053238999 0.71670002 +0.074461997 0.053238999 0.71670002 +0.075244002 0.053266 0.71706998 +0.076066002 0.053321 0.71780998 +0.076889999 0.053376999 0.71855003 +0.077675 0.053404 0.71891999 +0.078460999 0.053431999 0.71929997 +0.079329997 0.053514998 0.72040999 +0.080201998 0.053598002 0.72153997 +0.080991998 0.053626001 0.72191 +0.081868999 0.053709999 0.72303998 +0.082575001 0.053681999 0.72266001 +0.083454996 0.053766001 0.72378999 +0.084205002 0.053766001 0.72378999 +0.088674001 0.055144001 0.74234998 +0.089443997 0.055144001 0.74234998 +0.090262003 0.055174001 0.74274999 +0.091081001 0.055202998 0.74313998 +0.091899998 0.055233002 0.74353999 +0.092721 0.055261999 0.74394 +0.093542002 0.055291999 0.74434 +0.094365001 0.055321999 0.74474001 +0.095238999 0.055381 0.74554002 +0.096012004 0.055381 0.74554002 +0.096785001 0.055381 0.74554002 +0.097716004 0.055470001 0.74673998 +0.098543003 0.055500001 0.74713999 +0.099425003 0.05556 0.74794 +0.1002 0.05556 0.74794 +0.10103 0.05559 0.74835002 +0.10181 0.05559 0.74835002 +0.10258 0.05559 0.74835002 +0.1033 0.05556 0.74794 +0.10413 0.05559 0.74835002 +0.1048 0.05553 0.74754 +0.10552 0.055500001 0.74713999 +0.10618 0.055441 0.74633998 +0.10689 0.055411 0.74594003 +0.10772 0.055441 0.74633998 +0.10838 0.055381 0.74554002 +0.1091 0.055351 0.74514002 +0.10999 0.055411 0.74594003 +0.11076 0.055411 0.74594003 +0.11141 0.055351 0.74514002 +0.11219 0.055351 0.74514002 +0.11296 0.055351 0.74514002 +0.11367 0.055321999 0.74474001 +0.11451 0.055351 0.74514002 +0.11528 0.055351 0.74514002 +0.11599 0.055321999 0.74474001 +0.1167 0.055291999 0.74434 +0.11753 0.055321999 0.74474001 +0.11837 0.055351 0.74514002 +0.11914 0.055351 0.74514002 +0.11991 0.055351 0.74514002 +0.12069 0.055351 0.74514002 +0.12146 0.055351 0.74514002 +0.12249 0.055470001 0.74673998 +0.1234 0.05553 0.74754 +0.12418 0.05553 0.74754 +0.12509 0.05559 0.74835002 +0.126 0.05565 0.74914998 +0.12684 0.055679999 0.74956 +0.12769 0.055709999 0.74996001 +0.12868001 0.055799998 0.75117999 +0.12966 0.055891 0.75239998 +0.13066 0.055982001 0.75362003 +0.1318 0.056134 0.75567001 +0.13258 0.056134 0.75567001 +0.13322 0.056072999 0.75484997 +0.13393 0.056042001 0.75444001 +-0.060842 0.065174997 0.8653 +-0.059982002 0.065215997 0.86584002 +-0.059195001 0.065338001 0.86747003 +-0.0043187002 0.065256 0.86637998 +-0.0034139 0.065135002 0.86477 +-0.0016195 0.065094002 0.86422998 +-0.00072284997 0.065053999 0.86369002 +0.012485 0.056003999 0.74353999 +0.013249 0.055973999 0.74313998 +0.025095999 0.054917 0.72911 +0.025798 0.054802001 0.72758001 +0.026497001 0.054687001 0.72605997 +0.027207 0.054602001 0.72491997 +0.027944 0.054572999 0.72455001 +0.028650001 0.054488 0.72341001 +0.029385 0.05446 0.72303998 +0.030119 0.054430999 0.72266001 +0.030853 0.054403 0.72228998 +0.031569 0.054345999 0.72153997 +0.032283999 0.05429 0.72079003 +0.033031002 0.05429 0.72079003 +0.033760998 0.054262001 0.72040999 +0.03449 0.054234002 0.72004002 +0.035181999 0.05415 0.71891999 +0.035909001 0.054122001 0.71855003 +0.036635 0.054094002 0.71818 +0.037361 0.054065999 0.71780998 +0.038084999 0.054037999 0.71744001 +0.038789 0.053982001 0.71670002 +0.039531998 0.053982001 0.71670002 +0.040275 0.053982001 0.71670002 +0.040975999 0.053925999 0.71596003 +0.041719001 0.053925999 0.71596003 +0.042461 0.053925999 0.71596003 +0.043159001 0.053870998 0.71521997 +0.043901 0.053870998 0.71521997 +0.044643 0.053870998 0.71521997 +0.045384001 0.053870998 0.71521997 +0.046126001 0.053870998 0.71521997 +0.058552999 0.053704999 0.71302003 +0.059232 0.053649999 0.71228999 +0.059969999 0.053649999 0.71228999 +0.061478999 0.053677998 0.71266001 +0.062217999 0.053677998 0.71266001 +0.062957004 0.053677998 0.71266001 +0.063695997 0.053677998 0.71266001 +0.064434998 0.053677998 0.71266001 +0.065208003 0.053704999 0.71302003 +0.065981001 0.053732999 0.71338999 +0.066685997 0.053704999 0.71302003 +0.067391001 0.053677998 0.71266001 +0.0682 0.053732999 0.71338999 +0.068975002 0.05376 0.71375 +0.069858998 0.053870998 0.71521997 +0.070637003 0.053899001 0.71559 +0.071451999 0.053954002 0.71632999 +0.072232999 0.053982001 0.71670002 +0.072976001 0.053982001 0.71670002 +0.073719002 0.053982001 0.71670002 +0.074501 0.05401 0.71706998 +0.075282998 0.054037999 0.71744001 +0.076066002 0.054065999 0.71780998 +0.076889999 0.054122001 0.71855003 +0.077715002 0.054177999 0.71929997 +0.078501999 0.054205999 0.71967 +0.079329997 0.054262001 0.72040999 +0.080243997 0.054375 0.72191 +0.081033997 0.054403 0.72228998 +0.081868999 0.05446 0.72303998 +0.082617998 0.05446 0.72303998 +0.088721 0.055943999 0.74274999 +0.089443997 0.055914 0.74234998 +0.090262003 0.055943999 0.74274999 +0.091081001 0.055973999 0.74313998 +0.091899998 0.056003999 0.74353999 +0.092771001 0.056063998 0.74434 +0.093593001 0.056093998 0.74474001 +0.094415002 0.056124002 0.74514002 +0.095289998 0.056184001 0.74594003 +0.096064001 0.056184001 0.74594003 +0.096836999 0.056184001 0.74594003 +0.097768001 0.056274999 0.74713999 +0.098595999 0.056304999 0.74754 +0.099477999 0.056366 0.74835002 +0.10025 0.056366 0.74835002 +0.10103 0.056366 0.74835002 +0.10186 0.056396 0.74874997 +0.10258 0.056366 0.74835002 +0.1033 0.056334998 0.74794 +0.10413 0.056366 0.74835002 +0.10474 0.056274999 0.74713999 +0.10546 0.056244999 0.74673998 +0.10612 0.056184001 0.74594003 +0.10678 0.056124002 0.74514002 +0.10755 0.056124002 0.74514002 +0.10827 0.056093998 0.74474001 +0.10898 0.056063998 0.74434 +0.10987 0.056124002 0.74514002 +0.1107 0.056154002 0.74554002 +0.11141 0.056124002 0.74514002 +0.11219 0.056124002 0.74514002 +0.1129 0.056093998 0.74474001 +0.11361 0.056063998 0.74434 +0.11451 0.056124002 0.74514002 +0.11534 0.056154002 0.74554002 +0.11605 0.056124002 0.74514002 +0.11676 0.056093998 0.74474001 +0.1176 0.056124002 0.74514002 +0.11843 0.056154002 0.74554002 +0.11921 0.056154002 0.74554002 +0.11998 0.056154002 0.74554002 +0.12075 0.056154002 0.74554002 +0.12152 0.056154002 0.74554002 +0.12249 0.056244999 0.74673998 +0.1234 0.056304999 0.74754 +0.12424 0.056334998 0.74794 +0.12509 0.056366 0.74835002 +0.126 0.056426998 0.74914998 +0.12684 0.056457002 0.74956 +0.12762 0.056457002 0.74956 +0.12861 0.056549001 0.75076997 +0.12966 0.056671001 0.75239998 +0.13066 0.056763001 0.75362003 +0.13172001 0.056887001 0.75525999 +0.13251001 0.056887001 0.75525999 +0.13315 0.056825001 0.75444001 +0.13386001 0.056793999 0.75402999 +0.13463999 0.056793999 0.75402999 +-0.15509 0.065704003 0.86048001 +-0.15419 0.065704003 0.86048001 +-0.059833001 0.065949 0.86369002 +-0.059048001 0.066072002 0.8653 +-0.058223002 0.066155002 0.86637998 +-0.0043132999 0.066072002 0.8653 +-0.0034117999 0.065990001 0.86422998 +-0.0025140999 0.065949 0.86369002 +-0.0016175 0.065908 0.86316001 +-0.00072239997 0.065908 0.86316001 +0.00017244001 0.065826997 0.86207998 +0.012485 0.056775 0.74353999 +0.013256 0.056775 0.74353999 +0.025122 0.055730999 0.72987002 +0.025824999 0.055613998 0.72834003 +0.026524 0.055498 0.72681999 +0.027221 0.055381998 0.72530001 +0.027959 0.055353001 0.72491997 +0.028665001 0.055266999 0.72378999 +0.029401001 0.055238001 0.72341001 +0.030135 0.055209 0.72303998 +0.030853 0.055151999 0.72228998 +0.031585 0.055123001 0.72191 +0.032299999 0.055066001 0.72115999 +0.033048 0.055066001 0.72115999 +0.033778001 0.055038001 0.72079003 +0.034508001 0.055009 0.72040999 +0.0352 0.054924 0.71929997 +0.035909001 0.054866999 0.71855003 +0.036653999 0.054866999 0.71855003 +0.037379999 0.054838002 0.71818 +0.038105 0.054809999 0.71780998 +0.038809001 0.054754 0.71706998 +0.039531998 0.054724999 0.71670002 +0.040295999 0.054754 0.71706998 +0.040998001 0.054696999 0.71632999 +0.04174 0.054696999 0.71632999 +0.042461 0.054669 0.71596003 +0.043180998 0.054641001 0.71559 +0.043923002 0.054641001 0.71559 +0.044665001 0.054641001 0.71559 +0.045407999 0.054641001 0.71559 +0.046126001 0.054613002 0.71521997 +0.048425999 0.054696999 0.71632999 +0.049143001 0.054669 0.71596003 +0.057902999 0.054528002 0.71411997 +0.058582999 0.054471999 0.71338999 +0.059262 0.054416999 0.71266001 +0.060001001 0.054416999 0.71266001 +0.060802002 0.054471999 0.71338999 +0.061510999 0.054444999 0.71302003 +0.062249999 0.054444999 0.71302003 +0.062988997 0.054444999 0.71302003 +0.063729003 0.054444999 0.71302003 +0.064501002 0.054471999 0.71338999 +0.065274999 0.054499999 0.71375 +0.066082999 0.054556001 0.71449 +0.066789001 0.054528002 0.71411997 +0.067495003 0.054499999 0.71375 +0.068340003 0.054584999 0.71486002 +0.069153003 0.054641001 0.71559 +0.069931 0.054669 0.71596003 +0.070745997 0.054724999 0.71670002 +0.071525998 0.054754 0.71706998 +0.072306998 0.054781999 0.71744001 +0.073013 0.054754 0.71706998 +0.073794998 0.054781999 0.71744001 +0.074577004 0.054809999 0.71780998 +0.075322002 0.054809999 0.71780998 +0.076104999 0.054838002 0.71818 +0.076930001 0.054894999 0.71891999 +0.077715002 0.054924 0.71929997 +0.078501999 0.054951999 0.71967 +0.079370998 0.055038001 0.72079003 +0.080243997 0.055123001 0.72191 +0.081077002 0.055181 0.72266001 +0.081910998 0.055238001 0.72341001 +0.082661003 0.055238001 0.72341001 +0.087857001 0.056653999 0.74194998 +0.088721 0.056713998 0.74274999 +0.089492001 0.056713998 0.74274999 +0.09031 0.056745 0.74313998 +0.091128998 0.056775 0.74353999 +0.091949999 0.056805 0.74394 +0.092820004 0.056866001 0.74474001 +0.093643002 0.056896999 0.74514002 +0.094466001 0.056926999 0.74554002 +0.095393002 0.057018999 0.74673998 +0.096115001 0.056988001 0.74633998 +0.096888997 0.056988001 0.74633998 +0.097820997 0.057080001 0.74754 +0.098595999 0.057080001 0.74754 +0.099477999 0.057142001 0.74835002 +0.10025 0.057142001 0.74835002 +0.10103 0.057142001 0.74835002 +0.10186 0.057172999 0.74874997 +0.10258 0.057142001 0.74835002 +0.1033 0.057110999 0.74794 +0.10408 0.057110999 0.74794 +0.10468 0.057018999 0.74673998 +0.10535 0.056958001 0.74594003 +0.10601 0.056896999 0.74514002 +0.10666 0.056836002 0.74434 +0.10744 0.056836002 0.74434 +0.10809 0.056775 0.74353999 +0.10886 0.056775 0.74353999 +0.10969 0.056805 0.74394 +0.11058 0.056866001 0.74474001 +0.11135 0.056866001 0.74474001 +0.11213 0.056866001 0.74474001 +0.11284 0.056836002 0.74434 +0.11355 0.056805 0.74394 +0.11457 0.056926999 0.74554002 +0.1154 0.056958001 0.74594003 +0.11611 0.056926999 0.74554002 +0.11682 0.056896999 0.74514002 +0.11766 0.056926999 0.74554002 +0.1185 0.056958001 0.74594003 +0.11927 0.056958001 0.74594003 +0.11998 0.056926999 0.74554002 +0.12075 0.056926999 0.74554002 +0.12159 0.056958001 0.74594003 +0.12256 0.057050001 0.74713999 +0.12347 0.057110999 0.74794 +0.12424 0.057110999 0.74794 +0.12515 0.057172999 0.74874997 +0.12606999 0.057234 0.74956 +0.12684 0.057234 0.74956 +0.12762 0.057234 0.74956 +0.12861 0.057326999 0.75076997 +0.12966 0.057450999 0.75239998 +0.13059001 0.057512999 0.75321001 +0.13172001 0.057670001 0.75525999 +0.13251001 0.057670001 0.75525999 +0.13307001 0.057576001 0.75402999 +0.13386001 0.057576001 0.75402999 +0.13463999 0.057576001 0.75402999 +-0.15499 0.066555001 0.85995001 +-0.1541 0.066555001 0.85995001 +-0.15321 0.066555001 0.85995001 +-0.15231 0.066555001 0.85995001 +-0.15132999 0.066514 0.85942 +-0.069554999 0.066720001 0.86207998 +-0.058077998 0.066886 0.86422998 +-0.057181999 0.066886 0.86422998 +-0.0043107001 0.066927999 0.86477 +-0.0034076001 0.066803001 0.86316001 +-0.0025124999 0.066803001 0.86316001 +-0.0016164 0.066762 0.86262 +-0.00072195003 0.066762 0.86262 +0.00017234001 0.066679001 0.86154997 +0.012485 0.057546001 0.74353999 +0.013256 0.057546001 0.74353999 +0.022222999 0.056816 0.73411 +0.025122 0.056488 0.72987002 +0.025838001 0.056398999 0.72873002 +0.026538 0.056281 0.72719997 +0.027234999 0.056164 0.72567999 +0.027959 0.056104999 0.72491997 +0.02868 0.056047 0.72417003 +0.029416 0.056017 0.72378999 +0.030151 0.055987999 0.72341001 +0.030869 0.05593 0.72266001 +0.031601999 0.055900998 0.72228998 +0.032334 0.055872001 0.72191 +0.033064999 0.055842999 0.72153997 +0.033813 0.055842999 0.72153997 +0.034543999 0.055814002 0.72115999 +0.035218 0.055698 0.71967 +0.035928 0.055640999 0.71891999 +0.036653999 0.055612002 0.71855003 +0.037379999 0.055583 0.71818 +0.038105 0.055553999 0.71780998 +0.038828999 0.055526 0.71744001 +0.039553002 0.055497002 0.71706998 +0.040295999 0.055497002 0.71706998 +0.041019 0.055468 0.71670002 +0.041762002 0.055468 0.71670002 +0.042482998 0.055440001 0.71632999 +0.043203998 0.055411 0.71596003 +0.043946002 0.055411 0.71596003 +0.044689 0.055411 0.71596003 +0.045407999 0.055383001 0.71559 +0.046149999 0.055383001 0.71559 +0.047658 0.055411 0.71596003 +0.048401002 0.055411 0.71596003 +0.049143001 0.055411 0.71596003 +0.049807999 0.055326 0.71486002 +0.050524 0.055296998 0.71449 +0.054940999 0.055268999 0.71411997 +0.055681001 0.055268999 0.71411997 +0.056451 0.055296998 0.71449 +0.057133 0.055241 0.71375 +0.057902999 0.055268999 0.71411997 +0.058582999 0.055211999 0.71338999 +0.059292998 0.055183999 0.71302003 +0.060031999 0.055183999 0.71302003 +0.060834002 0.055241 0.71375 +0.061542001 0.055211999 0.71338999 +0.062282 0.055211999 0.71338999 +0.063022003 0.055211999 0.71338999 +0.063794002 0.055241 0.71375 +0.064567998 0.055268999 0.71411997 +0.065375 0.055326 0.71486002 +0.066151001 0.055353999 0.71521997 +0.066891998 0.055353999 0.71521997 +0.067598999 0.055326 0.71486002 +0.068446003 0.055411 0.71596003 +0.069224 0.055440001 0.71632999 +0.070003003 0.055468 0.71670002 +0.070782997 0.055497002 0.71706998 +0.071562998 0.055526 0.71744001 +0.072343998 0.055553999 0.71780998 +0.073089004 0.055553999 0.71780998 +0.073833004 0.055553999 0.71780998 +0.074616 0.055583 0.71818 +0.075360999 0.055583 0.71818 +0.076145001 0.055612002 0.71855003 +0.076970004 0.055668999 0.71929997 +0.077756003 0.055698 0.71967 +0.078543 0.055727001 0.72004002 +0.079370998 0.055785 0.72079003 +0.080284998 0.055900998 0.72228998 +0.081077002 0.05593 0.72266001 +0.081868999 0.055959001 0.72303998 +0.082617998 0.055959001 0.72303998 +0.087903999 0.057454001 0.74234998 +0.088768996 0.057514999 0.74313998 +0.089538999 0.057514999 0.74313998 +0.09031 0.057514999 0.74313998 +0.091178 0.057576999 0.74394 +0.091999002 0.057608001 0.74434 +0.092869997 0.057668999 0.74514002 +0.093693003 0.057700001 0.74554002 +0.094517 0.057730999 0.74594003 +0.095393002 0.057792999 0.74673998 +0.096115001 0.057762001 0.74633998 +0.096941002 0.057792999 0.74673998 +0.097820997 0.057856001 0.74754 +0.098649003 0.057886999 0.74794 +0.099532001 0.057948999 0.74874997 +0.10025 0.057918001 0.74835002 +0.10103 0.057918001 0.74835002 +0.10186 0.057948999 0.74874997 +0.10258 0.057918001 0.74835002 +0.1033 0.057886999 0.74794 +0.10402 0.057856001 0.74754 +0.10463 0.057762001 0.74633998 +0.10529 0.057700001 0.74554002 +0.10589 0.057608001 0.74434 +0.10661 0.057576999 0.74394 +0.10732 0.057546001 0.74353999 +0.10798 0.057484001 0.74274999 +0.10869 0.057454001 0.74234998 +0.10952 0.057484001 0.74274999 +0.11046 0.057576999 0.74394 +0.11129 0.057608001 0.74434 +0.11201 0.057576999 0.74394 +0.11284 0.057608001 0.74434 +0.11355 0.057576999 0.74394 +0.11463 0.057730999 0.74594003 +0.11553 0.057792999 0.74673998 +0.11624 0.057762001 0.74633998 +0.11689 0.057700001 0.74554002 +0.11772 0.057730999 0.74594003 +0.11856 0.057762001 0.74633998 +0.11933 0.057762001 0.74633998 +0.12004 0.057730999 0.74594003 +0.12088 0.057762001 0.74633998 +0.12165 0.057762001 0.74633998 +0.12263 0.057856001 0.74754 +0.12353 0.057918001 0.74835002 +0.12438 0.057948999 0.74874997 +0.12522 0.057980001 0.74914998 +0.12606999 0.058012001 0.74956 +0.12691 0.058042999 0.74996001 +0.12762 0.058012001 0.74956 +0.12861 0.058106001 0.75076997 +0.12966 0.058231 0.75239998 +0.13059001 0.058295 0.75321001 +0.13165 0.058421001 0.75484997 +0.13244 0.058421001 0.75484997 +0.13307001 0.058357999 0.75402999 +0.13386001 0.058357999 0.75402999 +0.13463999 0.058357999 0.75402999 +0.13527 0.058295 0.75321001 +-0.15489 0.067405 0.85942 +-0.154 0.067405 0.85942 +-0.15311 0.067405 0.85942 +-0.15212999 0.067364 0.85889 +-0.15124001 0.067364 0.85889 +-0.069512002 0.067571998 0.86154997 +-0.067682996 0.067530997 0.86102003 +-0.066790998 0.067530997 0.86102003 +-0.0043080002 0.067782998 0.86422998 +-0.0034055 0.067656003 0.86262 +-0.0025094 0.067613997 0.86207998 +-0.0016154 0.067613997 0.86207998 +-0.00072150002 0.067613997 0.86207998 +0.00017222999 0.067530997 0.86102003 +0.0010644 0.067488998 0.86048001 +0.012485 0.058316998 0.74353999 +0.013256 0.058316998 0.74353999 +0.022222999 0.057578001 0.73411 +0.025134999 0.057275001 0.73026001 +0.025838001 0.057154998 0.72873002 +0.026551999 0.057064999 0.72758001 +0.027248999 0.056945998 0.72605997 +0.027973 0.056885999 0.72530001 +0.028695 0.056827001 0.72455001 +0.029431 0.056798 0.72417003 +0.030166 0.056768 0.72378999 +0.030885 0.056708999 0.72303998 +0.031617999 0.056678999 0.72266001 +0.032350998 0.056650002 0.72228998 +0.033082001 0.056620002 0.72191 +0.033831 0.056620002 0.72191 +0.034561999 0.056591 0.72153997 +0.035236999 0.056474 0.72004002 +0.035946 0.056414999 0.71929997 +0.036672998 0.056386001 0.71891999 +0.037399001 0.056357 0.71855003 +0.038125001 0.056327999 0.71818 +0.038828999 0.05627 0.71744001 +0.039553002 0.056240998 0.71706998 +0.040316999 0.05627 0.71744001 +0.04104 0.056240998 0.71706998 +0.041783001 0.056240998 0.71706998 +0.042482998 0.056182999 0.71632999 +0.043226 0.056182999 0.71632999 +0.043969002 0.056182999 0.71632999 +0.044712 0.056182999 0.71632999 +0.045430999 0.056154002 0.71596003 +0.046149999 0.056125 0.71559 +0.046916001 0.056154002 0.71596003 +0.047683001 0.056182999 0.71632999 +0.048401002 0.056154002 0.71596003 +0.049143001 0.056154002 0.71596003 +0.049834002 0.056095999 0.71521997 +0.050576001 0.056095999 0.71521997 +0.051291 0.056067001 0.71486002 +0.054256 0.056067001 0.71486002 +0.054940999 0.056008998 0.71411997 +0.055681001 0.056008998 0.71411997 +0.056451 0.056038 0.71449 +0.057162002 0.056008998 0.71411997 +0.057902999 0.056008998 0.71411997 +0.058612999 0.055980999 0.71375 +0.059323002 0.055952001 0.71338999 +0.060063001 0.055952001 0.71338999 +0.060834002 0.055980999 0.71375 +0.061542001 0.055952001 0.71338999 +0.062314 0.055980999 0.71375 +0.063054003 0.055980999 0.71375 +0.063827001 0.056008998 0.71411997 +0.064634003 0.056067001 0.71486002 +0.065408997 0.056095999 0.71521997 +0.066184998 0.056125 0.71559 +0.066927001 0.056125 0.71559 +0.067704 0.056154002 0.71596003 +0.068516999 0.056212001 0.71670002 +0.069260001 0.056212001 0.71670002 +0.070038997 0.056240998 0.71706998 +0.070818998 0.05627 0.71744001 +0.071599998 0.056299001 0.71780998 +0.072382003 0.056327999 0.71818 +0.073089004 0.056299001 0.71780998 +0.073871002 0.056327999 0.71818 +0.074616 0.056327999 0.71818 +0.075400002 0.056357 0.71855003 +0.076183997 0.056386001 0.71891999 +0.076970004 0.056414999 0.71929997 +0.077756003 0.056444999 0.71967 +0.078543 0.056474 0.72004002 +0.079370998 0.056531999 0.72079003 +0.080243997 0.056620002 0.72191 +0.081077002 0.056678999 0.72266001 +0.081826001 0.056678999 0.72266001 +0.082575001 0.056678999 0.72266001 +0.088816002 0.058316998 0.74353999 +0.089587003 0.058316998 0.74353999 +0.090406999 0.058348 0.74394 +0.091227002 0.058378998 0.74434 +0.092047997 0.058410998 0.74474001 +0.092969999 0.058504999 0.74594003 +0.093742996 0.058504999 0.74594003 +0.094618 0.058568001 0.74673998 +0.095495 0.058630999 0.74754 +0.096166998 0.058568001 0.74673998 +0.096993998 0.058598999 0.74713999 +0.097874001 0.058662001 0.74794 +0.098649003 0.058662001 0.74794 +0.099584997 0.058757 0.74914998 +0.10031 0.058724999 0.74874997 +0.10108 0.058724999 0.74874997 +0.10192 0.058757 0.74914998 +0.10264 0.058724999 0.74874997 +0.10336 0.058694001 0.74835002 +0.10408 0.058662001 0.74794 +0.10474 0.058598999 0.74713999 +0.10535 0.058504999 0.74594003 +0.10601 0.058442 0.74514002 +0.10666 0.058378998 0.74434 +0.10732 0.058316998 0.74353999 +0.10952 0.058254998 0.74274999 +0.11046 0.058348 0.74394 +0.11135 0.058410998 0.74474001 +0.11207 0.058378998 0.74434 +0.1129 0.058410998 0.74474001 +0.11367 0.058410998 0.74474001 +0.11481 0.058598999 0.74713999 +0.11571 0.058662001 0.74794 +0.11642 0.058630999 0.74754 +0.11707 0.058568001 0.74673998 +0.11785 0.058568001 0.74673998 +0.11862 0.058568001 0.74673998 +0.1194 0.058568001 0.74673998 +0.12011 0.058536001 0.74633998 +0.12088 0.058536001 0.74633998 +0.12172 0.058568001 0.74673998 +0.12276 0.058694001 0.74835002 +0.12367 0.058757 0.74914998 +0.12444 0.058757 0.74914998 +0.12529001 0.058789 0.74956 +0.12613 0.058821 0.74996001 +0.12691 0.058821 0.74996001 +0.12769 0.058821 0.74996001 +0.12861 0.058883999 0.75076997 +0.12966 0.059012 0.75239998 +0.13052 0.059044 0.75281 +0.13165 0.059204001 0.75484997 +0.13244 0.059204001 0.75484997 +0.13307001 0.05914 0.75402999 +0.13386001 0.05914 0.75402999 +0.13471 0.059172001 0.75444001 +0.13535 0.059108 0.75362003 +-0.15301999 0.068254001 0.85889 +-0.070362002 0.068423003 0.86102003 +-0.069468997 0.068423003 0.86102003 +-0.068576001 0.068423003 0.86102003 +-0.067642003 0.068380997 0.86048001 +-0.066707999 0.068338998 0.85995001 +-0.065857001 0.068380997 0.86048001 +-0.064924002 0.068338998 0.85995001 +-0.0043025999 0.068593003 0.86316001 +-0.0034033 0.068507999 0.86207998 +-0.0025078 0.068466 0.86154997 +-0.0016144 0.068466 0.86154997 +-0.00072061003 0.068423003 0.86102003 +0.00017212 0.068380997 0.86048001 +0.0010637 0.068338998 0.85995001 +0.0019543001 0.068296999 0.85942 +0.012485 0.059087999 0.74353999 +0.013263 0.059119999 0.74394 +0.022235001 0.058370002 0.73449999 +0.024429001 0.058155 0.73180002 +0.025148001 0.058063 0.73063999 +0.025852 0.057941001 0.72911 +0.02658 0.057879999 0.72834003 +0.027264001 0.057728998 0.72644001 +0.027988 0.057668999 0.72567999 +0.02871 0.057608001 0.72491997 +0.029447 0.057578001 0.72455001 +0.030182 0.057548001 0.72417003 +0.030901 0.057489 0.72341001 +0.031635001 0.057459 0.72303998 +0.032366998 0.057429001 0.72266001 +0.033100002 0.057399001 0.72228998 +0.033849001 0.057399001 0.72228998 +0.03458 0.057369001 0.72191 +0.035255 0.057250001 0.72040999 +0.035964999 0.057190999 0.71967 +0.036672998 0.057131998 0.71891999 +0.037418999 0.057131998 0.71891999 +0.038125001 0.057073001 0.71818 +0.038849 0.057043001 0.71780998 +0.039572999 0.057014 0.71744001 +0.040316999 0.057014 0.71744001 +0.04104 0.056984 0.71706998 +0.041783001 0.056984 0.71706998 +0.042505 0.056954999 0.71670002 +0.043226 0.056924999 0.71632999 +0.043969002 0.056924999 0.71632999 +0.044735 0.056954999 0.71670002 +0.045453999 0.056924999 0.71632999 +0.046172999 0.056896001 0.71596003 +0.046939999 0.056924999 0.71632999 +0.047706999 0.056954999 0.71670002 +0.048425999 0.056924999 0.71632999 +0.049168002 0.056924999 0.71632999 +0.049885001 0.056896001 0.71596003 +0.050627999 0.056896001 0.71596003 +0.051344 0.056867 0.71559 +0.052085999 0.056867 0.71559 +0.052801002 0.056837998 0.71521997 +0.053541999 0.056837998 0.71521997 +0.054283999 0.056837998 0.71521997 +0.054969002 0.056779001 0.71449 +0.055709999 0.056779001 0.71449 +0.056451 0.056779001 0.71449 +0.057162002 0.05675 0.71411997 +0.057902999 0.05675 0.71411997 +0.058612999 0.056720998 0.71375 +0.059323002 0.056692 0.71338999 +0.060063001 0.056692 0.71338999 +0.060865 0.05675 0.71411997 +0.061574001 0.056720998 0.71375 +0.062314 0.056720998 0.71375 +0.063087001 0.05675 0.71411997 +0.063859999 0.056779001 0.71449 +0.064634003 0.056807999 0.71486002 +0.065443002 0.056867 0.71559 +0.066219002 0.056896001 0.71596003 +0.066960998 0.056896001 0.71596003 +0.067737997 0.056924999 0.71632999 +0.068516999 0.056954999 0.71670002 +0.069296002 0.056984 0.71706998 +0.070038997 0.056984 0.71706998 +0.070855998 0.057043001 0.71780998 +0.071636997 0.057073001 0.71818 +0.072382003 0.057073001 0.71818 +0.073089004 0.057043001 0.71780998 +0.073871002 0.057073001 0.71818 +0.074654996 0.057101998 0.71855003 +0.075400002 0.057101998 0.71855003 +0.076183997 0.057131998 0.71891999 +0.076970004 0.057161 0.71929997 +0.077756003 0.057190999 0.71967 +0.078543 0.057220001 0.72004002 +0.079370998 0.05728 0.72079003 +0.080284998 0.057399001 0.72228998 +0.081077002 0.057429001 0.72266001 +0.081826001 0.057429001 0.72266001 +0.082532004 0.057399001 0.72228998 +0.089587003 0.059087999 0.74353999 +0.090406999 0.059119999 0.74394 +0.091275997 0.059183002 0.74474001 +0.092147 0.059246 0.74554002 +0.09302 0.05931 0.74633998 +0.093843997 0.059342001 0.74673998 +0.094668999 0.059374001 0.74713999 +0.095546998 0.059438001 0.74794 +0.096271001 0.059406001 0.74754 +0.097046003 0.059406001 0.74754 +0.097925998 0.059470002 0.74835002 +0.098755002 0.059502002 0.74874997 +0.099638999 0.059565999 0.74956 +0.10042 0.059565999 0.74956 +0.10114 0.059533998 0.74914998 +0.10203 0.059597999 0.74996001 +0.1028 0.059597999 0.74996001 +0.10353 0.059565999 0.74956 +0.10425 0.059533998 0.74914998 +0.10491 0.059470002 0.74835002 +0.10557 0.059406001 0.74754 +0.10618 0.05931 0.74633998 +0.11058 0.059183002 0.74474001 +0.11147 0.059246 0.74554002 +0.11661 0.059502002 0.74874997 +0.11726 0.059438001 0.74794 +0.1181 0.059470002 0.74835002 +0.11875 0.059406001 0.74754 +0.11953 0.059406001 0.74754 +0.12024 0.059374001 0.74713999 +0.12101 0.059374001 0.74713999 +0.12179 0.059374001 0.74713999 +0.12289 0.059533998 0.74914998 +0.1238 0.059597999 0.74996001 +0.12458 0.059597999 0.74996001 +0.12536 0.059597999 0.74996001 +0.12620001 0.059629999 0.75037003 +0.12698001 0.059629999 0.75037003 +0.12775999 0.059629999 0.75037003 +0.12868001 0.059695002 0.75117999 +0.12966 0.059792001 0.75239998 +0.13052 0.059824001 0.75281 +0.13158 0.059953999 0.75444001 +0.13236 0.059953999 0.75444001 +0.13307001 0.059921999 0.75402999 +0.13386001 0.059921999 0.75402999 +0.13471 0.059953999 0.75444001 +0.13549 0.059953999 0.75444001 +-0.070317999 0.069273002 0.86048001 +-0.069383003 0.069231004 0.85995001 +-0.068534002 0.069273002 0.86048001 +-0.067599997 0.069231004 0.85995001 +-0.066666998 0.069187999 0.85942 +-0.065816 0.069231004 0.85995001 +-0.064884 0.069187999 0.85942 +-0.063954003 0.069145001 0.85889 +-0.0051945001 0.069444999 0.86262 +-0.0043000001 0.069444999 0.86262 +-0.0034012001 0.069358997 0.86154997 +-0.0025063001 0.069316 0.86102003 +-0.0016124001 0.069273002 0.86048001 +-0.00072016002 0.069273002 0.86048001 +0.00017201999 0.069231004 0.85995001 +0.0010630999 0.069187999 0.85942 +0.0019531 0.069145001 0.85889 +0.012485 0.059859 0.74353999 +0.013263 0.059891 0.74394 +0.022247 0.059163 0.73488998 +0.024442 0.058944002 0.73218 +0.025148001 0.058820002 0.73063999 +0.025865 0.058727998 0.72948998 +0.026594 0.058665998 0.72873002 +0.027292 0.058543 0.72719997 +0.028001999 0.058451999 0.72605997 +0.028725 0.058391001 0.72530001 +0.029462 0.058359999 0.72491997 +0.030198 0.058329999 0.72455001 +0.030917 0.058269002 0.72378999 +0.031668 0.058269002 0.72378999 +0.032384001 0.058208 0.72303998 +0.033117 0.058178 0.72266001 +0.033865999 0.058178 0.72266001 +0.034598 0.058148 0.72228998 +0.035273001 0.058026999 0.72079003 +0.036001999 0.057996999 0.72040999 +0.036711 0.057937 0.71967 +0.037418999 0.057877 0.71891999 +0.038144 0.057847001 0.71855003 +0.038849 0.057787001 0.71780998 +0.039572999 0.057758 0.71744001 +0.040337998 0.057787001 0.71780998 +0.041060999 0.057758 0.71744001 +0.041804999 0.057758 0.71744001 +0.042505 0.057698 0.71670002 +0.043248001 0.057698 0.71670002 +0.043990999 0.057698 0.71670002 +0.044735 0.057698 0.71670002 +0.045478001 0.057698 0.71670002 +0.046197001 0.057668 0.71632999 +0.046964001 0.057698 0.71670002 +0.047706999 0.057698 0.71670002 +0.048450999 0.057698 0.71670002 +0.049194001 0.057698 0.71670002 +0.049911 0.057668 0.71632999 +0.050654002 0.057668 0.71632999 +0.051369999 0.057638999 0.71596003 +0.052113 0.057638999 0.71596003 +0.052827999 0.057608999 0.71559 +0.053598002 0.057638999 0.71596003 +0.054311998 0.057608999 0.71559 +0.054997001 0.057549998 0.71486002 +0.055709999 0.057519998 0.71449 +0.056480002 0.057549998 0.71486002 +0.057162002 0.057489999 0.71411997 +0.057932999 0.057519998 0.71449 +0.058612999 0.057461001 0.71375 +0.059323002 0.057431001 0.71338999 +0.060063001 0.057431001 0.71338999 +0.060896002 0.057519998 0.71449 +0.061604999 0.057489999 0.71411997 +0.062346 0.057489999 0.71411997 +0.063087001 0.057489999 0.71411997 +0.063892998 0.057549998 0.71486002 +0.064667001 0.057579 0.71521997 +0.065443002 0.057608999 0.71559 +0.066219002 0.057638999 0.71596003 +0.066996001 0.057668 0.71632999 +0.067737997 0.057668 0.71632999 +0.068552002 0.057728 0.71706998 +0.069330998 0.057758 0.71744001 +0.070074998 0.057758 0.71744001 +0.070855998 0.057787001 0.71780998 +0.071636997 0.057817001 0.71818 +0.072382003 0.057817001 0.71818 +0.073127002 0.057817001 0.71818 +0.073909 0.057847001 0.71855003 +0.074654996 0.057847001 0.71855003 +0.075400002 0.057847001 0.71855003 +0.076223999 0.057907 0.71929997 +0.077009 0.057937 0.71967 +0.077795997 0.057967 0.72004002 +0.078583002 0.057996999 0.72040999 +0.079453997 0.058086999 0.72153997 +0.080326997 0.058178 0.72266001 +0.081119001 0.058208 0.72303998 +0.081826001 0.058178 0.72266001 +0.082575001 0.058178 0.72266001 +0.090406999 0.059891 0.74394 +0.091275997 0.059955001 0.74474001 +0.092147 0.06002 0.74554002 +0.09307 0.060116 0.74673998 +0.093895003 0.060148999 0.74713999 +0.094719999 0.060180999 0.74754 +0.095597997 0.060245998 0.74835002 +0.096271001 0.060180999 0.74754 +0.097098 0.060213 0.74794 +0.097979002 0.060277998 0.74874997 +0.098808996 0.060311001 0.74914998 +0.099693 0.060376 0.74996001 +0.10047 0.060376 0.74996001 +0.10119 0.060343001 0.74956 +0.10208 0.060408 0.75037003 +0.10291 0.060440999 0.75076997 +0.10364 0.060408 0.75037003 +0.10436 0.060376 0.74996001 +0.10502 0.060311001 0.74914998 +0.10569 0.060245998 0.74835002 +0.10629 0.060148999 0.74713999 +0.11153 0.060052 0.74594003 +0.11562 0.060571998 0.75239998 +0.1164 0.060571998 0.75239998 +0.11705 0.060506001 0.75158 +0.11771 0.060440999 0.75076997 +0.11842 0.060408 0.75037003 +0.11901 0.060311001 0.74914998 +0.11972 0.060277998 0.74874997 +0.12043 0.060245998 0.74835002 +0.12121 0.060245998 0.74835002 +0.12198 0.060245998 0.74835002 +0.12302 0.060376 0.74996001 +0.124 0.060474001 0.75117999 +0.12471 0.060440999 0.75076997 +0.12548999 0.060440999 0.75076997 +0.12627 0.060440999 0.75076997 +0.12705 0.060440999 0.75076997 +0.12783 0.060440999 0.75076997 +0.12868001 0.060474001 0.75117999 +0.12966 0.060571998 0.75239998 +0.13052 0.060605001 0.75281 +0.13158 0.060736001 0.75444001 +0.13236 0.060736001 0.75444001 +0.13307001 0.060702998 0.75402999 +0.13393 0.060736001 0.75444001 +0.13478 0.060768999 0.75484997 +0.13564 0.060802002 0.75525999 +-0.068490997 0.070122004 0.85995001 +-0.067557998 0.070078999 0.85942 +-0.065734997 0.070036002 0.85889 +-0.064843997 0.070036002 0.85889 +-0.0051911999 0.070295997 0.86207998 +-0.0042972998 0.070295997 0.86207998 +-0.0033990999 0.070208997 0.86102003 +-0.0025047001 0.070165999 0.86048001 +-0.0016114 0.070122004 0.85995001 +-0.00071971997 0.070122004 0.85995001 +0.00017191 0.070078999 0.85942 +0.0010624001 0.070036002 0.85889 +0.0019519 0.069991998 0.85835999 +0.012492 0.060662001 0.74394 +0.013263 0.060662001 0.74394 +0.014035 0.060662001 0.74394 +0.022247 0.059925001 0.73488998 +0.024442 0.059703998 0.73218 +0.025148001 0.059578001 0.73063999 +0.025878999 0.059516001 0.72987002 +0.026608 0.059452999 0.72911 +0.027307 0.059328999 0.72758001 +0.028031999 0.059266001 0.72681999 +0.02874 0.059174001 0.72567999 +0.029477 0.059142999 0.72530001 +0.030214 0.059112001 0.72491997 +0.030933 0.059050001 0.72417003 +0.031668 0.059020001 0.72378999 +0.032400999 0.058989 0.72341001 +0.033133999 0.058958001 0.72303998 +0.033884 0.058958001 0.72303998 +0.034616001 0.058927 0.72266001 +0.035292 0.058805 0.72115999 +0.036021002 0.058775 0.72079003 +0.036729999 0.058713999 0.72004002 +0.037438001 0.058653001 0.71929997 +0.038164001 0.058623001 0.71891999 +0.038869001 0.058561999 0.71818 +0.039593998 0.058532 0.71780998 +0.040337998 0.058532 0.71780998 +0.041081998 0.058532 0.71780998 +0.041827001 0.058532 0.71780998 +0.042527001 0.058471002 0.71706998 +0.043271001 0.058471002 0.71706998 +0.044013999 0.058471002 0.71706998 +0.044757999 0.058471002 0.71706998 +0.045501001 0.058471002 0.71706998 +0.046220999 0.058440998 0.71670002 +0.046964001 0.058440998 0.71670002 +0.047731999 0.058471002 0.71706998 +0.048475999 0.058471002 0.71706998 +0.049219001 0.058471002 0.71706998 +0.049911 0.058410998 0.71632999 +0.05068 0.058440998 0.71670002 +0.051397 0.058410998 0.71632999 +0.052140001 0.058410998 0.71632999 +0.052855 0.058380999 0.71596003 +0.053624999 0.058410998 0.71632999 +0.054340001 0.058380999 0.71596003 +0.055025999 0.058320999 0.71521997 +0.055739 0.058290999 0.71486002 +0.056480002 0.058290999 0.71486002 +0.057192001 0.058261 0.71449 +0.057962 0.058290999 0.71486002 +0.058642998 0.058231 0.71411997 +0.059353001 0.058201 0.71375 +0.060093999 0.058201 0.71375 +0.060927998 0.058290999 0.71486002 +0.061636999 0.058261 0.71449 +0.062378 0.058261 0.71449 +0.063119002 0.058261 0.71449 +0.063925996 0.058320999 0.71521997 +0.064700998 0.058350999 0.71559 +0.065476 0.058380999 0.71596003 +0.066252999 0.058410998 0.71632999 +0.067029998 0.058440998 0.71670002 +0.067772999 0.058440998 0.71670002 +0.068552002 0.058471002 0.71706998 +0.069366999 0.058532 0.71780998 +0.070110999 0.058532 0.71780998 +0.070891999 0.058561999 0.71818 +0.071673997 0.058591999 0.71855003 +0.072419003 0.058591999 0.71855003 +0.073164001 0.058591999 0.71855003 +0.073948003 0.058623001 0.71891999 +0.074693002 0.058623001 0.71891999 +0.075438999 0.058623001 0.71891999 +0.076263003 0.058683001 0.71967 +0.077088997 0.058743998 0.72040999 +0.077835999 0.058743998 0.72040999 +0.078624003 0.058775 0.72079003 +0.079494998 0.058866002 0.72191 +0.080411002 0.058989 0.72341001 +0.081202999 0.059020001 0.72378999 +0.081868999 0.058958001 0.72303998 +0.082617998 0.058958001 0.72303998 +0.091275997 0.060727999 0.74474001 +0.092147 0.060793001 0.74554002 +0.09307 0.060890999 0.74673998 +0.093895003 0.060922999 0.74713999 +0.094770998 0.060989 0.74794 +0.095650002 0.061055001 0.74874997 +0.096322 0.060989 0.74794 +0.097149998 0.061021999 0.74835002 +0.098031998 0.061087999 0.74914998 +0.098808996 0.061087999 0.74914998 +0.099747002 0.061186999 0.75037003 +0.10052 0.061186999 0.75037003 +0.10125 0.061154 0.74996001 +0.10219 0.061253 0.75117999 +0.10303 0.061285999 0.75158 +0.10375 0.061253 0.75117999 +0.10442 0.061186999 0.75037003 +0.11575 0.061418999 0.75321001 +0.11653 0.061418999 0.75321001 +0.11724 0.061384998 0.75281 +0.11803 0.061384998 0.75281 +0.11874 0.061352 0.75239998 +0.11933 0.061253 0.75117999 +0.12004 0.061220001 0.75076997 +0.12076 0.061186999 0.75037003 +0.12153 0.061186999 0.75037003 +0.12225 0.061154 0.74996001 +0.12322 0.061253 0.75117999 +0.12414 0.061319001 0.75199002 +0.12485 0.061285999 0.75158 +0.12563001 0.061285999 0.75158 +0.12640999 0.061285999 0.75158 +0.12712 0.061253 0.75117999 +0.1279 0.061253 0.75117999 +0.12875 0.061285999 0.75158 +0.12966 0.061352 0.75239998 +0.13059001 0.061418999 0.75321001 +0.13158 0.061519001 0.75444001 +0.13236 0.061519001 0.75444001 +0.13307001 0.061485 0.75402999 +0.134 0.061551999 0.75484997 +0.13493 0.061618999 0.75567001 +0.13586 0.061686002 0.75648999 +-0.017663 0.071014002 0.85995001 +-0.0051847999 0.071102001 0.86102003 +-0.0042945999 0.071145996 0.86154997 +-0.003397 0.071057998 0.86048001 +-0.0025032 0.071014002 0.85995001 +-0.0016105 0.070969999 0.85942 +-0.00071927003 0.070969999 0.85942 +0.0001718 0.070926003 0.85889 +0.0010618001 0.070882 0.85835999 +0.0019507 0.070839003 0.85782999 +0.012498 0.061466999 0.74434 +0.01327 0.061466999 0.74434 +0.014042 0.061466999 0.74434 +0.014798 0.061400998 0.74353999 +0.022258 0.060718998 0.73527998 +0.02296 0.060559001 0.73334002 +0.02372 0.060559001 0.73334002 +0.024442 0.060463 0.73218 +0.025162 0.060366999 0.73102999 +0.025892001 0.060304001 0.73026001 +0.026608 0.060208999 0.72911 +0.027321 0.060114998 0.72795999 +0.028046001 0.060052 0.72719997 +0.028755 0.059957001 0.72605997 +0.029493 0.059925999 0.72567999 +0.030229 0.059895001 0.72530001 +0.030949 0.059831999 0.72455001 +0.031684 0.059801001 0.72417003 +0.032418001 0.059769999 0.72378999 +0.033151001 0.059739001 0.72341001 +0.033884 0.059707999 0.72303998 +0.034634002 0.059707999 0.72303998 +0.03531 0.059583999 0.72153997 +0.036038999 0.059553001 0.72115999 +0.036749002 0.059491001 0.72040999 +0.037457 0.059429999 0.71967 +0.038183998 0.059399001 0.71929997 +0.038888998 0.059337001 0.71855003 +0.039613999 0.059307002 0.71818 +0.040359002 0.059307002 0.71818 +0.041103002 0.059307002 0.71818 +0.041848 0.059307002 0.71818 +0.042548999 0.059246 0.71744001 +0.043271001 0.059215002 0.71706998 +0.044013999 0.059215002 0.71706998 +0.044780999 0.059246 0.71744001 +0.045501001 0.059215002 0.71706998 +0.046245001 0.059215002 0.71706998 +0.046987999 0.059215002 0.71706998 +0.047731999 0.059215002 0.71706998 +0.048475999 0.059215002 0.71706998 +0.049219001 0.059215002 0.71706998 +0.049936999 0.059184 0.71670002 +0.05068 0.059184 0.71670002 +0.051422998 0.059184 0.71670002 +0.052140001 0.059154 0.71632999 +0.052855 0.059122998 0.71596003 +0.053624999 0.059154 0.71632999 +0.054340001 0.059122998 0.71596003 +0.055025999 0.059062999 0.71521997 +0.055739 0.059032001 0.71486002 +0.056508999 0.059062999 0.71521997 +0.057220999 0.059032001 0.71486002 +0.057962 0.059032001 0.71486002 +0.058674 0.059002001 0.71449 +0.059384 0.058972001 0.71411997 +0.060123999 0.058972001 0.71411997 +0.060959 0.059062999 0.71521997 +0.061701 0.059062999 0.71521997 +0.062410001 0.059032001 0.71486002 +0.063151002 0.059032001 0.71486002 +0.063959002 0.059092999 0.71559 +0.064767003 0.059154 0.71632999 +0.065509997 0.059154 0.71632999 +0.066287003 0.059184 0.71670002 +0.067065001 0.059215002 0.71706998 +0.067808002 0.059215002 0.71706998 +0.068586998 0.059246 0.71744001 +0.069366999 0.059276 0.71780998 +0.070147999 0.059307002 0.71818 +0.070928998 0.059337001 0.71855003 +0.071710996 0.059367999 0.71891999 +0.072419003 0.059337001 0.71855003 +0.073201999 0.059367999 0.71891999 +0.073986001 0.059399001 0.71929997 +0.074771002 0.059429999 0.71967 +0.075516999 0.059429999 0.71967 +0.076302998 0.059459999 0.72004002 +0.077169001 0.059553001 0.72115999 +0.077877 0.059521999 0.72079003 +0.078665003 0.059553001 0.72115999 +0.079577997 0.059677001 0.72266001 +0.080495 0.059801001 0.72417003 +0.081246004 0.059801001 0.72417003 +0.081910998 0.059739001 0.72341001 +0.082661003 0.059739001 0.72341001 +0.092147 0.061565999 0.74554002 +0.093120001 0.061698001 0.74713999 +0.093996003 0.061765 0.74794 +0.094873004 0.061831001 0.74874997 +0.095701002 0.061864 0.74914998 +0.096373998 0.061797999 0.74835002 +0.097149998 0.061797999 0.74835002 +0.098085001 0.061898001 0.74956 +0.098915003 0.061930999 0.74996001 +0.099800996 0.061997999 0.75076997 +0.10058 0.061997999 0.75076997 +0.10136 0.061997999 0.75076997 +0.1023 0.062098999 0.75199002 +0.10325 0.062199999 0.75321001 +0.10386 0.062098999 0.75199002 +0.11575 0.062199999 0.75321001 +0.11659 0.062233999 0.75362003 +0.11731 0.062199999 0.75321001 +0.11809 0.062199999 0.75321001 +0.11881 0.062166002 0.75281 +0.11946 0.062098999 0.75199002 +0.12024 0.062098999 0.75199002 +0.12095 0.062065002 0.75158 +0.12173 0.062065002 0.75158 +0.12244 0.062031999 0.75117999 +0.12336 0.062098999 0.75199002 +0.1242 0.062132001 0.75239998 +0.12498 0.062132001 0.75239998 +0.12576 0.062132001 0.75239998 +0.12648 0.062098999 0.75199002 +0.12718999 0.062065002 0.75158 +0.1279 0.062031999 0.75117999 +0.12875 0.062065002 0.75158 +0.12966 0.062132001 0.75239998 +0.13059001 0.062199999 0.75321001 +0.13151 0.062267002 0.75402999 +0.13229001 0.062267002 0.75402999 +0.13307001 0.062267002 0.75402999 +0.134 0.062334999 0.75484997 +0.13500001 0.062437002 0.75607997 +0.13608 0.062573001 0.75773001 +0.13672 0.062504999 0.75691003 +-0.0033948999 0.071906 0.85995001 +-0.0025016 0.071860999 0.85942 +-0.0016095 0.071817003 0.85889 +-0.00071882998 0.071817003 0.85889 +0.0001717 0.071772002 0.85835999 +0.0010611 0.071727999 0.85782999 +0.0019494999 0.071684003 0.85729998 +0.013277 0.062272001 0.74474001 +0.01405 0.062272001 0.74474001 +0.014806 0.062205002 0.74394 +0.015553 0.062105998 0.74274999 +0.02227 0.061514001 0.73566997 +0.022984 0.061384 0.73411 +0.023732999 0.061351001 0.73373002 +0.024455 0.061253998 0.73256999 +0.025162 0.061126001 0.73102999 +0.025892001 0.061060999 0.73026001 +0.026621999 0.060997002 0.72948998 +0.027334999 0.060901001 0.72834003 +0.028061001 0.060837001 0.72758001 +0.02877 0.060741998 0.72644001 +0.029508 0.060710002 0.72605997 +0.030229 0.060647 0.72530001 +0.030949 0.060584001 0.72455001 +0.031700999 0.060584001 0.72455001 +0.032435 0.060552001 0.72417003 +0.033169001 0.060520999 0.72378999 +0.033900999 0.060488999 0.72341001 +0.034634002 0.060458001 0.72303998 +0.035347 0.060394999 0.72228998 +0.036077 0.060362998 0.72191 +0.036787 0.060300998 0.72115999 +0.037496001 0.060238 0.72040999 +0.038203999 0.060176 0.71967 +0.038908999 0.060114 0.71891999 +0.039634001 0.060083002 0.71855003 +0.040380001 0.060083002 0.71855003 +0.041125 0.060083002 0.71855003 +0.041870002 0.060083002 0.71855003 +0.042548999 0.059989002 0.71744001 +0.043292999 0.059989002 0.71744001 +0.044036999 0.059989002 0.71744001 +0.044780999 0.059989002 0.71744001 +0.045524999 0.059989002 0.71744001 +0.046245001 0.059959002 0.71706998 +0.047013 0.059989002 0.71744001 +0.047757 0.059989002 0.71744001 +0.048501 0.059989002 0.71744001 +0.049219001 0.059959002 0.71706998 +0.049936999 0.059928 0.71670002 +0.05068 0.059928 0.71670002 +0.051422998 0.059928 0.71670002 +0.052140001 0.059897002 0.71632999 +0.052882001 0.059897002 0.71632999 +0.053624999 0.059897002 0.71632999 +0.054340001 0.059866 0.71596003 +0.055054002 0.059835002 0.71559 +0.055767 0.059804 0.71521997 +0.056508999 0.059804 0.71521997 +0.057250999 0.059804 0.71521997 +0.057992 0.059804 0.71521997 +0.058704 0.059773002 0.71486002 +0.059413999 0.059742998 0.71449 +0.060155001 0.059742998 0.71449 +0.060989998 0.059835002 0.71559 +0.061732002 0.059835002 0.71559 +0.062442001 0.059804 0.71521997 +0.063216001 0.059835002 0.71559 +0.063991003 0.059866 0.71596003 +0.064801 0.059928 0.71670002 +0.065544002 0.059928 0.71670002 +0.066321 0.059959002 0.71706998 +0.067098998 0.059989002 0.71744001 +0.067878 0.06002 0.71780998 +0.068622999 0.06002 0.71780998 +0.069439001 0.060083002 0.71855003 +0.070184 0.060083002 0.71855003 +0.070965998 0.060114 0.71891999 +0.071748003 0.060145002 0.71929997 +0.072494 0.060145002 0.71929997 +0.073239997 0.060145002 0.71929997 +0.074023999 0.060176 0.71967 +0.074809 0.060206998 0.72004002 +0.075556003 0.060206998 0.72004002 +0.076382004 0.06027 0.72079003 +0.077209003 0.060332 0.72153997 +0.077956997 0.060332 0.72153997 +0.078746997 0.060362998 0.72191 +0.079660997 0.060488999 0.72341001 +0.080620997 0.060647 0.72530001 +0.081330001 0.060614999 0.72491997 +0.081997 0.060552001 0.72417003 +0.082704 0.060520999 0.72378999 +0.095412001 0.065650001 0.78513002 +0.096118003 0.065575004 0.78424001 +0.093120001 0.062472999 0.74713999 +0.094097003 0.062608004 0.74874997 +0.094976 0.062674999 0.74956 +0.095752999 0.062674999 0.74956 +0.096373998 0.062573999 0.74835002 +0.097203001 0.062608004 0.74874997 +0.098137997 0.062709004 0.74996001 +0.098968998 0.062743001 0.75037003 +0.099909 0.062844999 0.75158 +0.10069 0.062844999 0.75158 +0.10141 0.062811002 0.75117999 +0.11581 0.063014999 0.75362003 +0.11659 0.063014999 0.75362003 +0.11737 0.063014999 0.75362003 +0.11809 0.062981002 0.75321001 +0.11887 0.062981002 0.75321001 +0.11959 0.062946998 0.75281 +0.12037 0.062946998 0.75281 +0.12108 0.062913001 0.75239998 +0.12186 0.062913001 0.75239998 +0.12258 0.062879004 0.75199002 +0.12342 0.062913001 0.75239998 +0.12427 0.062946998 0.75281 +0.12504999 0.062946998 0.75281 +0.12582999 0.062946998 0.75281 +0.12661 0.062946998 0.75281 +0.12732001 0.062913001 0.75239998 +0.12803 0.062879004 0.75199002 +0.12881 0.062879004 0.75199002 +0.12973 0.062946998 0.75281 +0.13059001 0.062981002 0.75321001 +0.13151 0.063049003 0.75402999 +0.13229001 0.063049003 0.75402999 +0.133 0.063014999 0.75362003 +0.13406999 0.063152 0.75525999 +0.13507999 0.063254997 0.75648999 +0.13631 0.063461997 0.75897002 +0.13702001 0.063428 0.75856 +0.18242 0.072039001 0.86154997 +-0.0024985 0.072663002 0.85835999 +-0.0016075 0.072618 0.85782999 +-0.00071793998 0.072618 0.85782999 +0.00017149 0.072572999 0.85729998 +0.0010598 0.072527997 0.85676998 +0.001947 0.072483003 0.85623997 +0.013299 0.063146003 0.74594003 +0.014822 0.063043997 0.74474001 +0.022282001 0.062309999 0.73606002 +0.022984 0.062144998 0.73411 +0.023745 0.062144998 0.73411 +0.024455 0.062013999 0.73256999 +0.025175 0.061916001 0.73141003 +0.025906 0.061850999 0.73063999 +0.026636001 0.061786 0.72987002 +0.027349001 0.061689001 0.72873002 +0.028076001 0.061624002 0.72795999 +0.0288 0.061560001 0.72719997 +0.029524 0.061494999 0.72644001 +0.030245 0.061430998 0.72567999 +0.030965 0.061367001 0.72491997 +0.031700999 0.061335001 0.72455001 +0.032451998 0.061335001 0.72455001 +0.033169001 0.061271001 0.72378999 +0.033918999 0.061271001 0.72378999 +0.034651998 0.061239 0.72341001 +0.035365 0.061175998 0.72266001 +0.036095999 0.061144002 0.72228998 +0.036825001 0.061112002 0.72191 +0.037535001 0.061048999 0.72115999 +0.038242999 0.060984999 0.72040999 +0.03895 0.060922001 0.71967 +0.039675999 0.060890999 0.71929997 +0.040399998 0.060858998 0.71891999 +0.041145999 0.060858998 0.71891999 +0.041891001 0.060858998 0.71891999 +0.042592999 0.060796 0.71818 +0.043315001 0.060764998 0.71780998 +0.044059999 0.060764998 0.71780998 +0.044803999 0.060764998 0.71780998 +0.045547999 0.060764998 0.71780998 +0.046269 0.060733002 0.71744001 +0.047013 0.060733002 0.71744001 +0.047757 0.060733002 0.71744001 +0.048501 0.060733002 0.71744001 +0.049245 0.060733002 0.71744001 +0.049963001 0.060702 0.71706998 +0.050705999 0.060702 0.71706998 +0.051449999 0.060702 0.71706998 +0.052166 0.060671002 0.71670002 +0.052882001 0.06064 0.71632999 +0.053653002 0.060671002 0.71670002 +0.054368 0.06064 0.71632999 +0.055082001 0.060608 0.71596003 +0.055796001 0.060577001 0.71559 +0.056566998 0.060608 0.71596003 +0.05728 0.060577001 0.71559 +0.058022 0.060577001 0.71559 +0.058763999 0.060577001 0.71559 +0.059475999 0.060546 0.71521997 +0.060217001 0.060546 0.71521997 +0.061021999 0.060608 0.71596003 +0.061764002 0.060608 0.71596003 +0.062507004 0.060608 0.71596003 +0.063248999 0.060608 0.71596003 +0.064057 0.060671002 0.71670002 +0.064833999 0.060702 0.71706998 +0.065577999 0.060702 0.71706998 +0.06639 0.060764998 0.71780998 +0.067169003 0.060796 0.71818 +0.067913003 0.060796 0.71818 +0.068694003 0.060828 0.71855003 +0.069475003 0.060858998 0.71891999 +0.070257001 0.060890999 0.71929997 +0.071038999 0.060922001 0.71967 +0.071823001 0.060954001 0.72004002 +0.072568998 0.060954001 0.72004002 +0.073316 0.060954001 0.72004002 +0.074101001 0.060984999 0.72040999 +0.074887 0.061016999 0.72079003 +0.075634003 0.061016999 0.72079003 +0.076461002 0.061080001 0.72153997 +0.077289999 0.061144002 0.72228998 +0.078038998 0.061144002 0.72228998 +0.078828 0.061175998 0.72266001 +0.079744004 0.061303001 0.72417003 +0.080747001 0.061494999 0.72644001 +0.081458002 0.061462998 0.72605997 +0.082038999 0.061335001 0.72455001 +0.082746997 0.061303001 0.72417003 +0.095357999 0.066426001 0.78469002 +0.096009001 0.066313997 0.78336 +0.096712999 0.066238999 0.78248 +0.094198003 0.063451998 0.74956 +0.095129997 0.063555002 0.75076997 +0.095804997 0.063487001 0.74996001 +0.096426003 0.063383996 0.74874997 +0.097203001 0.063383996 0.74874997 +0.098191001 0.063520998 0.75037003 +0.099022001 0.063555002 0.75076997 +0.10002 0.063693002 0.75239998 +0.11553 0.072439 0.85571003 +0.11641 0.072439 0.85571003 +0.11737 0.072483003 0.85623997 +0.11819 0.072439 0.85571003 +0.119 0.072393999 0.85518998 +0.11659 0.063795999 0.75362003 +0.11737 0.063795999 0.75362003 +0.11809 0.063762002 0.75321001 +0.11887 0.063762002 0.75321001 +0.11972 0.063795999 0.75362003 +0.1205 0.063795999 0.75362003 +0.12121 0.063762002 0.75321001 +0.12199 0.063762002 0.75321001 +0.12264 0.063693002 0.75239998 +0.12349 0.063726999 0.75281 +0.12434 0.063762002 0.75321001 +0.12512 0.063762002 0.75321001 +0.1259 0.063762002 0.75321001 +0.12668 0.063762002 0.75321001 +0.12739 0.063726999 0.75281 +0.12809999 0.063693002 0.75239998 +0.12887999 0.063693002 0.75239998 +0.12981001 0.063762002 0.75321001 +0.13066 0.063795999 0.75362003 +0.13151 0.063831002 0.75402999 +0.13229001 0.063831002 0.75402999 +0.133 0.063795999 0.75362003 +0.13406999 0.063934997 0.75525999 +0.13507999 0.064039998 0.75648999 +0.13631 0.064249001 0.75897002 +0.13702001 0.064213999 0.75856 +0.1841 0.072888002 0.86102003 +-0.0016045 0.073371001 0.85623997 +-0.00071661 0.073371001 0.85623997 +0.00017117 0.073325999 0.85571003 +0.0010585 0.073325999 0.85571003 +0.0019423 0.073191002 0.85413998 +0.022282001 0.063073002 0.73606002 +0.022995999 0.062940001 0.73449999 +0.023758 0.062940001 0.73449999 +0.024467999 0.062807001 0.73294997 +0.025188001 0.062707998 0.73180002 +0.02592 0.062642001 0.73102999 +0.02665 0.062576003 0.73026001 +0.027364001 0.062477 0.72911 +0.02809 0.062412001 0.72834003 +0.028814999 0.062346 0.72758001 +0.029554 0.062314 0.72719997 +0.030261001 0.062215999 0.72605997 +0.030982001 0.062151 0.72530001 +0.031716999 0.062119 0.72491997 +0.032451998 0.062086001 0.72455001 +0.033186 0.062054001 0.72417003 +0.033918999 0.062022001 0.72378999 +0.034651998 0.061988998 0.72341001 +0.035383001 0.061957002 0.72303998 +0.036114 0.061925001 0.72266001 +0.036844999 0.061893001 0.72228998 +0.037555002 0.061829001 0.72153997 +0.038283002 0.061795998 0.72115999 +0.038989998 0.061732002 0.72040999 +0.039717 0.061700001 0.72004002 +0.040442001 0.061668001 0.71967 +0.041189 0.061668001 0.71967 +0.041912999 0.061636001 0.71929997 +0.042615 0.061572999 0.71855003 +0.043338001 0.061540999 0.71818 +0.044082001 0.061540999 0.71818 +0.044826999 0.061540999 0.71818 +0.045572001 0.061540999 0.71818 +0.046293002 0.061508998 0.71780998 +0.047037002 0.061508998 0.71780998 +0.047757 0.061477002 0.71744001 +0.048526 0.061508998 0.71780998 +0.049245 0.061477002 0.71744001 +0.049963001 0.061446 0.71706998 +0.050705999 0.061446 0.71706998 +0.051449999 0.061446 0.71706998 +0.052166 0.061414 0.71670002 +0.05291 0.061414 0.71670002 +0.053681001 0.061446 0.71706998 +0.054396 0.061414 0.71670002 +0.055110998 0.061381999 0.71632999 +0.055824999 0.061351001 0.71596003 +0.056566998 0.061351001 0.71596003 +0.05731 0.061351001 0.71596003 +0.058081999 0.061381999 0.71632999 +0.058795001 0.061351001 0.71596003 +0.059505999 0.061319001 0.71559 +0.060279001 0.061351001 0.71596003 +0.061085001 0.061414 0.71670002 +0.061827999 0.061414 0.71670002 +0.062570997 0.061414 0.71670002 +0.063313998 0.061414 0.71670002 +0.064124003 0.061477002 0.71744001 +0.064868003 0.061477002 0.71744001 +0.065645002 0.061508998 0.71780998 +0.066423997 0.061540999 0.71818 +0.067203999 0.061572999 0.71855003 +0.067984 0.061604999 0.71891999 +0.068728998 0.061604999 0.71891999 +0.069546998 0.061668001 0.71967 +0.070293002 0.061668001 0.71967 +0.071112998 0.061732002 0.72040999 +0.071897 0.061764002 0.72079003 +0.072645001 0.061764002 0.72079003 +0.073391996 0.061764002 0.72079003 +0.074138999 0.061764002 0.72079003 +0.074965 0.061829001 0.72153997 +0.075751998 0.061861001 0.72191 +0.076500997 0.061861001 0.72191 +0.077330001 0.061925001 0.72266001 +0.078120001 0.061957002 0.72303998 +0.078910999 0.061988998 0.72341001 +0.079827003 0.062119 0.72491997 +0.080959 0.062412001 0.72834003 +0.081628002 0.062346 0.72758001 +0.082082003 0.062119 0.72491997 +0.095305003 0.067202002 0.78424001 +0.095900998 0.067051001 0.78248 +0.095908001 0.064333998 0.75076997 +0.11464 0.073325999 0.85571003 +0.11545 0.073280998 0.85518998 +0.11634 0.073280998 0.85518998 +0.1173 0.073325999 0.85571003 +0.11811 0.073280998 0.85518998 +0.11893 0.073236004 0.85465997 +0.11974 0.073191002 0.85413998 +0.12063 0.073191002 0.85413998 +0.12144 0.073146001 0.85360998 +0.12225 0.073100999 0.85308999 +0.11737 0.064577997 0.75362003 +0.11809 0.064543001 0.75321001 +0.11893 0.064577997 0.75362003 +0.11978 0.064613 0.75402999 +0.12056 0.064613 0.75402999 +0.12128 0.064577997 0.75362003 +0.12206 0.064577997 0.75362003 +0.12278 0.064543001 0.75321001 +0.12356 0.064543001 0.75321001 +0.12441 0.064577997 0.75362003 +0.12519 0.064577997 0.75362003 +0.12597001 0.064577997 0.75362003 +0.12675001 0.064577997 0.75362003 +0.12752999 0.064577997 0.75362003 +0.12830999 0.064577997 0.75362003 +0.12902001 0.064543001 0.75321001 +0.12995 0.064613 0.75402999 +0.13073 0.064613 0.75402999 +0.13158 0.064648002 0.75444001 +0.13229001 0.064613 0.75402999 +0.13307001 0.064613 0.75402999 +0.13406999 0.064718001 0.75525999 +0.13515 0.064859003 0.75691003 +0.13638 0.065072 0.75939 +0.13709 0.065035999 0.75897002 +0.13781001 0.065001003 0.75856 +0.1822 0.073734999 0.86048001 +0.18309 0.073734999 0.86048001 +0.18476 0.073688999 0.85995001 +-0.0024893 0.074167997 0.85518998 +-0.0015996 0.074031003 0.85360998 +-0.00071353 0.073940001 0.85255998 +0.00017042999 0.073895 0.85203999 +0.0010533 0.073849998 0.85152 +0.0019351 0.073803999 0.85100001 +0.01114 0.065644003 0.75691003 +0.011899 0.065500997 0.75525999 +0.022294 0.063869998 0.73645002 +0.023009 0.063735001 0.73488998 +0.023770999 0.063735001 0.73488998 +0.024481 0.063600004 0.73334002 +0.025201 0.063500002 0.73218 +0.025932999 0.063432999 0.73141003 +0.026664 0.063366003 0.73063999 +0.027378 0.063267 0.72948998 +0.028105 0.063199997 0.72873002 +0.028831 0.063134 0.72795999 +0.02957 0.063101001 0.72758001 +0.030277001 0.063001998 0.72644001 +0.030998001 0.062936001 0.72567999 +0.031734001 0.062903002 0.72530001 +0.032469001 0.062870003 0.72491997 +0.033202998 0.062838003 0.72455001 +0.033937 0.062804997 0.72417003 +0.034669999 0.062771998 0.72378999 +0.035383001 0.062706999 0.72303998 +0.036132999 0.062706999 0.72303998 +0.036864001 0.062674001 0.72266001 +0.037574001 0.062609002 0.72191 +0.038323 0.062609002 0.72191 +0.039030999 0.062544003 0.72115999 +0.039737001 0.062479001 0.72040999 +0.040463001 0.062447 0.72004002 +0.041189 0.062415 0.71967 +0.041935001 0.062415 0.71967 +0.042615 0.062318001 0.71855003 +0.043359999 0.062318001 0.71855003 +0.044082001 0.062286001 0.71818 +0.044849999 0.062318001 0.71855003 +0.045572001 0.062286001 0.71818 +0.046293002 0.062252998 0.71780998 +0.047037002 0.062252998 0.71780998 +0.047781002 0.062252998 0.71780998 +0.048526 0.062252998 0.71780998 +0.04927 0.062252998 0.71780998 +0.049988002 0.062221002 0.71744001 +0.050732002 0.062221002 0.71744001 +0.051476002 0.062221002 0.71744001 +0.052193001 0.062189002 0.71706998 +0.05291 0.062157001 0.71670002 +0.053681001 0.062189002 0.71706998 +0.054423999 0.062189002 0.71706998 +0.055139001 0.062157001 0.71670002 +0.055854 0.062125001 0.71632999 +0.056626 0.062157001 0.71670002 +0.057369001 0.062157001 0.71670002 +0.058111999 0.062157001 0.71670002 +0.058855001 0.062157001 0.71670002 +0.059567999 0.062125001 0.71632999 +0.060341999 0.062157001 0.71670002 +0.061147999 0.062221002 0.71744001 +0.061859999 0.062189002 0.71706998 +0.062602997 0.062189002 0.71706998 +0.063380003 0.062221002 0.71744001 +0.064157002 0.062252998 0.71780998 +0.064934999 0.062286001 0.71818 +0.065678999 0.062286001 0.71818 +0.066458002 0.062318001 0.71855003 +0.067272998 0.062382001 0.71929997 +0.068019003 0.062382001 0.71929997 +0.068800002 0.062415 0.71967 +0.069582999 0.062447 0.72004002 +0.070366003 0.062479001 0.72040999 +0.071149997 0.062512003 0.72079003 +0.071934998 0.062544003 0.72115999 +0.072682001 0.062544003 0.72115999 +0.073468 0.062577002 0.72153997 +0.074216001 0.062577002 0.72153997 +0.075043 0.062642001 0.72228998 +0.075792 0.062642001 0.72228998 +0.076580003 0.062674001 0.72266001 +0.077370003 0.062706999 0.72303998 +0.078160003 0.062739998 0.72341001 +0.078952 0.062771998 0.72378999 +0.079952002 0.062968999 0.72605997 +0.081129 0.063299999 0.72987002 +0.081713997 0.063166998 0.72834003 +0.082125001 0.062903002 0.72530001 +0.095197 0.067938 0.78336 +0.095793001 0.067786001 0.7816 +0.096064001 0.067405999 0.77723002 +0.096116997 0.066882998 0.77118999 +0.11354 0.074077003 0.85413998 +0.11457 0.074167997 0.85518998 +0.11538 0.074121997 0.85465997 +0.11627 0.074121997 0.85465997 +0.11723 0.074167997 0.85518998 +0.11804 0.074121997 0.85465997 +0.11886 0.074077003 0.85413998 +0.11974 0.074077003 0.85413998 +0.12055 0.074031003 0.85360998 +0.12144 0.074031003 0.85360998 +0.12225 0.073986001 0.85308999 +0.12313 0.073986001 0.85308999 +0.11978 0.065394998 0.75402999 +0.12056 0.065394998 0.75402999 +0.12135 0.065394998 0.75402999 +0.12213 0.065394998 0.75402999 +0.12284 0.065358996 0.75362003 +0.12362 0.065358996 0.75362003 +0.12447 0.065394998 0.75402999 +0.12525 0.065394998 0.75402999 +0.12604 0.065394998 0.75402999 +0.12689 0.06543 0.75444001 +0.1276 0.065394998 0.75402999 +0.12838 0.065394998 0.75402999 +0.12916 0.065394998 0.75402999 +0.13001999 0.06543 0.75444001 +0.13079999 0.06543 0.75444001 +0.13165 0.065466002 0.75484997 +0.13236 0.06543 0.75444001 +0.13315 0.06543 0.75444001 +0.13415 0.065536998 0.75567001 +0.13515 0.065644003 0.75691003 +0.13646001 0.065894999 0.75980002 +0.13717 0.065858997 0.75939 +0.13788 0.065823004 0.75897002 +0.17495 0.074580997 0.85995001 +0.18119 0.074580997 0.85995001 +0.18197 0.074534997 0.85942 +0.18298 0.074580997 0.85995001 +0.18453 0.074488997 0.85889 +-0.0033698999 0.074915998 0.85360998 +-0.0024832 0.074869998 0.85308999 +-0.0015956 0.074732997 0.85152 +-0.00071135 0.074596003 0.84996003 +0.00016980999 0.074504003 0.84891999 +0.0010495 0.074459001 0.8484 +0.0019292 0.074459001 0.8484 +0.011152 0.066501997 0.75773001 +0.011912 0.066357002 0.75607997 +0.022294 0.064634003 0.73645002 +0.023009 0.064497001 0.73488998 +0.023770999 0.064497001 0.73488998 +0.024481 0.064360999 0.73334002 +0.025201 0.064259 0.73218 +0.025947001 0.064225003 0.73180002 +0.026664 0.064124003 0.73063999 +0.027407 0.064089999 0.73026001 +0.028135 0.064023003 0.72948998 +0.028860999 0.063956 0.72873002 +0.029601 0.063922003 0.72834003 +0.030308999 0.063822001 0.72719997 +0.031013999 0.063722 0.72605997 +0.031767 0.063722 0.72605997 +0.032485999 0.063654996 0.72530001 +0.033220999 0.063621998 0.72491997 +0.033955 0.063588999 0.72455001 +0.034688 0.063556001 0.72417003 +0.035402 0.063490003 0.72341001 +0.036152001 0.063490003 0.72341001 +0.036883 0.063456997 0.72303998 +0.037594002 0.063391 0.72228998 +0.038343001 0.063391 0.72228998 +0.039051 0.063325003 0.72153997 +0.039778002 0.063291997 0.72115999 +0.040484 0.063225999 0.72040999 +0.041209999 0.063193999 0.72004002 +0.041956998 0.063193999 0.72004002 +0.042637002 0.063096002 0.71891999 +0.043382 0.063096002 0.71891999 +0.044105001 0.063063003 0.71855003 +0.044849999 0.063063003 0.71855003 +0.045595001 0.063063003 0.71855003 +0.046317 0.063029997 0.71818 +0.047061 0.063029997 0.71818 +0.047805998 0.063029997 0.71818 +0.048551001 0.063029997 0.71818 +0.04927 0.062997997 0.71780998 +0.049988002 0.062964998 0.71744001 +0.050758999 0.062997997 0.71780998 +0.051502999 0.062997997 0.71780998 +0.052220002 0.062964998 0.71744001 +0.052937001 0.062932998 0.71706998 +0.053707998 0.062964998 0.71744001 +0.054451998 0.062964998 0.71744001 +0.055167999 0.062932998 0.71706998 +0.055881999 0.062899999 0.71670002 +0.056655001 0.062932998 0.71706998 +0.057397999 0.062932998 0.71706998 +0.058171999 0.062964998 0.71744001 +0.058885999 0.062932998 0.71706998 +0.059629001 0.062932998 0.71706998 +0.060373001 0.062932998 0.71706998 +0.061179001 0.062997997 0.71780998 +0.061923999 0.062997997 0.71780998 +0.062668003 0.062997997 0.71780998 +0.063412003 0.062997997 0.71780998 +0.064222999 0.063063003 0.71855003 +0.064967997 0.063063003 0.71855003 +0.065747 0.063096002 0.71891999 +0.066527002 0.063128002 0.71929997 +0.067308001 0.063161001 0.71967 +0.068089001 0.063193999 0.72004002 +0.068836004 0.063193999 0.72004002 +0.069655001 0.063258998 0.72079003 +0.070401996 0.063258998 0.72079003 +0.071223997 0.063325003 0.72153997 +0.071971998 0.063325003 0.72153997 +0.072757997 0.063358001 0.72191 +0.073505998 0.063358001 0.72191 +0.074254997 0.063358001 0.72191 +0.075081997 0.063423999 0.72266001 +0.07587 0.063456997 0.72303998 +0.076619998 0.063456997 0.72303998 +0.077409998 0.063490003 0.72341001 +0.078201003 0.063523002 0.72378999 +0.079034001 0.063588999 0.72455001 +0.080077998 0.063822001 0.72719997 +0.081214003 0.064124003 0.73063999 +0.081757002 0.063956 0.72873002 +0.082167998 0.063689001 0.72567999 +0.095197 0.068751 0.78336 +0.095686004 0.068519004 0.78072 +0.095903002 0.068098001 0.77591997 +0.095957004 0.067570001 0.76990998 +0.096329004 0.067272 0.76651001 +0.097122997 0.067272 0.76651001 +0.11347 0.074915998 0.85360998 +0.1145 0.075007997 0.85465997 +0.11531 0.074961998 0.85413998 +0.1162 0.074961998 0.85413998 +0.11723 0.075055003 0.85518998 +0.11797 0.074961998 0.85413998 +0.11886 0.074961998 0.85413998 +0.11974 0.074961998 0.85413998 +0.12055 0.074915998 0.85360998 +0.12136 0.074869998 0.85308999 +0.12225 0.074869998 0.85308999 +0.12313 0.074869998 0.85308999 +0.12394 0.074823998 0.85255998 +0.11985 0.066212997 0.75444001 +0.12056 0.066177003 0.75402999 +0.12135 0.066177003 0.75402999 +0.12219 0.066212997 0.75444001 +0.12284 0.066141002 0.75362003 +0.12362 0.066141002 0.75362003 +0.12447 0.066177003 0.75402999 +0.12525 0.066177003 0.75402999 +0.12604 0.066177003 0.75402999 +0.12689 0.066212997 0.75444001 +0.12767 0.066212997 0.75444001 +0.12852 0.066248998 0.75484997 +0.12922999 0.066212997 0.75444001 +0.13009 0.066248998 0.75484997 +0.13087 0.066248998 0.75484997 +0.13165 0.066248998 0.75484997 +0.13244 0.066248998 0.75484997 +0.13328999 0.066284999 0.75525999 +0.13422 0.066357002 0.75607997 +0.13522001 0.066464998 0.75731999 +0.13646001 0.066683002 0.75980002 +0.13717 0.066647001 0.75939 +0.13796 0.066647001 0.75939 +0.26646999 0.075378999 0.85889 +0.26736 0.075378999 0.85889 +0.26842001 0.075425997 0.85942 +-0.0042498 0.075708002 0.85255998 +-0.0033616 0.075616002 0.85152 +-0.0024770999 0.075568996 0.85100001 +-0.0015917 0.075430997 0.84943998 +-0.00070918002 0.075246997 0.84737003 +0.00016939999 0.075200997 0.84684998 +0.0010469001 0.075154997 0.84632999 +0.0019233 0.075108998 0.84582001 +0.0027987 0.075064003 0.84530002 +0.011158 0.067323998 0.75814003 +0.011925 0.067213997 0.75691003 +0.012689 0.067103997 0.75567001 +0.013465 0.067068003 0.75525999 +0.014225 0.066959001 0.75402999 +0.022305001 0.065431997 0.73684001 +0.023033001 0.065328002 0.73566997 +0.023783 0.065293998 0.73527998 +0.024494 0.065155998 0.73373002 +0.025215 0.065053001 0.73256999 +0.025961 0.065017998 0.73218 +0.026678 0.064916 0.73102999 +0.027420999 0.064882003 0.73063999 +0.028148999 0.064813003 0.72987002 +0.028875999 0.064745001 0.72911 +0.029616 0.064710997 0.72873002 +0.030339999 0.064644001 0.72795999 +0.031045999 0.064542003 0.72681999 +0.031783 0.064508997 0.72644001 +0.03252 0.064475 0.72605997 +0.033238001 0.064407997 0.72530001 +0.033955 0.064340003 0.72455001 +0.034688 0.064306997 0.72417003 +0.035420001 0.064273 0.72378999 +0.036152001 0.064240001 0.72341001 +0.036901999 0.064240001 0.72341001 +0.037613001 0.064172998 0.72266001 +0.038362 0.064172998 0.72266001 +0.039071001 0.064106002 0.72191 +0.039799001 0.064072996 0.72153997 +0.040504999 0.064006999 0.72079003 +0.041253 0.064006999 0.72079003 +0.041999999 0.064006999 0.72079003 +0.042681001 0.063906997 0.71967 +0.043405 0.063873999 0.71929997 +0.044128001 0.063841 0.71891999 +0.044872999 0.063841 0.71891999 +0.045619 0.063841 0.71891999 +0.04634 0.063808002 0.71855003 +0.047086 0.063808002 0.71855003 +0.047830999 0.063808002 0.71855003 +0.048576001 0.063808002 0.71855003 +0.049295001 0.063775003 0.71818 +0.050039999 0.063775003 0.71818 +0.050785001 0.063775003 0.71818 +0.05153 0.063775003 0.71818 +0.052246999 0.063741997 0.71780998 +0.052963998 0.063708998 0.71744001 +0.053736001 0.063741997 0.71780998 +0.054480001 0.063741997 0.71780998 +0.055225 0.063741997 0.71780998 +0.055939998 0.063708998 0.71744001 +0.056683999 0.063708998 0.71744001 +0.057427999 0.063708998 0.71744001 +0.058201998 0.063741997 0.71780998 +0.058945999 0.063741997 0.71780998 +0.059659999 0.063708998 0.71744001 +0.060435001 0.063741997 0.71780998 +0.061211001 0.063775003 0.71818 +0.061956 0.063775003 0.71818 +0.062700003 0.063775003 0.71818 +0.063478 0.063808002 0.71855003 +0.064255998 0.063841 0.71891999 +0.065002002 0.063841 0.71891999 +0.065780997 0.063873999 0.71929997 +0.066561997 0.063906997 0.71967 +0.067377999 0.063973002 0.72040999 +0.068125002 0.063973002 0.72040999 +0.068907 0.064006999 0.72079003 +0.069691002 0.064039998 0.72115999 +0.070474997 0.064072996 0.72153997 +0.071261004 0.064106002 0.72191 +0.072008997 0.064106002 0.72191 +0.072796002 0.064139999 0.72228998 +0.073545001 0.064139999 0.72228998 +0.074331999 0.064172998 0.72266001 +0.075121 0.064205997 0.72303998 +0.075910002 0.064240001 0.72341001 +0.07666 0.064240001 0.72341001 +0.077450998 0.064273 0.72378999 +0.078241996 0.064306997 0.72417003 +0.079116002 0.064407997 0.72530001 +0.080160998 0.064644001 0.72795999 +0.081214003 0.064882003 0.73063999 +0.081799999 0.064745001 0.72911 +0.082167998 0.064441003 0.72567999 +0.095251001 0.069601998 0.78380001 +0.095686004 0.069329001 0.78072 +0.095849 0.068864003 0.77548999 +0.095957004 0.068368003 0.76990998 +0.096276 0.068029001 0.76608998 +0.097070001 0.068029001 0.76608998 +0.1134 0.075755 0.85308999 +0.11436 0.075801 0.85360998 +0.11524 0.075801 0.85360998 +0.11613 0.075801 0.85360998 +0.11716 0.075894997 0.85465997 +0.11797 0.075847998 0.85413998 +0.11878 0.075801 0.85360998 +0.11967 0.075801 0.85360998 +0.12055 0.075801 0.85360998 +0.12136 0.075755 0.85308999 +0.12225 0.075755 0.85308999 +0.12306 0.075708002 0.85255998 +0.12386 0.075662002 0.85203999 +0.12651999 0.075662002 0.85203999 +0.12056 0.066959001 0.75402999 +0.12135 0.066959001 0.75402999 +0.12219 0.066995002 0.75444001 +0.12284 0.066922002 0.75362003 +0.12369 0.066959001 0.75402999 +0.12454 0.066995002 0.75444001 +0.12525 0.066959001 0.75402999 +0.12604 0.066959001 0.75402999 +0.12695999 0.067031004 0.75484997 +0.12774 0.067031004 0.75484997 +0.12859 0.067068003 0.75525999 +0.1293 0.067031004 0.75484997 +0.13016 0.067068003 0.75525999 +0.13094001 0.067068003 0.75525999 +0.1318 0.067103997 0.75567001 +0.13251001 0.067068003 0.75525999 +0.13344 0.067140996 0.75607997 +0.13437 0.067213997 0.75691003 +0.1353 0.067286998 0.75773001 +0.13653 0.067507997 0.76021999 +0.13723999 0.067470998 0.75980002 +0.13811 0.067507997 0.76021999 +0.2642 0.076128997 0.85729998 +0.26525 0.076176003 0.85782999 +0.26631001 0.076223001 0.85835999 +0.26703 0.076176003 0.85782999 +0.26824999 0.076269999 0.85889 +-0.0042420002 0.076452002 0.85100001 +-0.0033555001 0.076357998 0.84996003 +-0.0024726 0.076311998 0.84943998 +-0.0015888 0.076172002 0.84788001 +-0.00070789002 0.075986996 0.84582001 +0.00016909 0.075939998 0.84530002 +0.001045 0.075893998 0.84478998 +0.001921 0.075893998 0.84478998 +0.0027953 0.075847998 0.84428 +0.011158 0.068109997 0.75814003 +0.011925 0.067998998 0.75691003 +0.012696 0.067924999 0.75607997 +0.01348 0.067924999 0.75607997 +0.01424 0.067814 0.75484997 +0.022317 0.066230997 0.73723 +0.023045 0.066125996 0.73606002 +0.023796 0.066091001 0.73566997 +0.02452 0.065986 0.73449999 +0.025241001 0.065881997 0.73334002 +0.025988 0.065847002 0.73294997 +0.026691999 0.065707996 0.73141003 +0.027435999 0.065673999 0.73102999 +0.028178999 0.065638997 0.73063999 +0.028906001 0.065569997 0.72987002 +0.029648 0.065536 0.72948998 +0.030355999 0.065433003 0.72834003 +0.031079 0.065364003 0.72758001 +0.031817 0.065329999 0.72719997 +0.032536998 0.065261997 0.72644001 +0.033255 0.065194003 0.72567999 +0.033971999 0.065126002 0.72491997 +0.034706 0.065091997 0.72455001 +0.035439 0.065058 0.72417003 +0.036171 0.065024003 0.72378999 +0.036901999 0.064989999 0.72341001 +0.037633002 0.064956002 0.72303998 +0.038362 0.064921997 0.72266001 +0.039092001 0.064888999 0.72228998 +0.039820001 0.064855002 0.72191 +0.040546998 0.064820997 0.72153997 +0.041274 0.064787999 0.72115999 +0.042022001 0.064787999 0.72115999 +0.042702999 0.064686999 0.72004002 +0.043427002 0.064653002 0.71967 +0.044151001 0.064620003 0.71929997 +0.044897001 0.064620003 0.71929997 +0.045643002 0.064620003 0.71929997 +0.046363998 0.064586997 0.71891999 +0.047086 0.064553 0.71855003 +0.047830999 0.064553 0.71855003 +0.048576001 0.064553 0.71855003 +0.049321 0.064553 0.71855003 +0.050039999 0.064520001 0.71818 +0.050811 0.064553 0.71855003 +0.051555999 0.064553 0.71855003 +0.052301001 0.064553 0.71855003 +0.052992001 0.064485997 0.71780998 +0.053792 0.064553 0.71855003 +0.054508001 0.064520001 0.71818 +0.055252999 0.064520001 0.71818 +0.055969 0.064485997 0.71780998 +0.056743 0.064520001 0.71818 +0.057487 0.064520001 0.71818 +0.058262002 0.064553 0.71855003 +0.059007 0.064553 0.71855003 +0.059721999 0.064520001 0.71818 +0.060465999 0.064520001 0.71818 +0.061274 0.064586997 0.71891999 +0.061988 0.064553 0.71855003 +0.062733002 0.064553 0.71855003 +0.063510999 0.064586997 0.71891999 +0.064290002 0.064620003 0.71929997 +0.065068997 0.064653002 0.71967 +0.065815002 0.064653002 0.71967 +0.066630997 0.064721003 0.72040999 +0.067413002 0.064754002 0.72079003 +0.068195 0.064787999 0.72115999 +0.068943001 0.064787999 0.72115999 +0.069727004 0.064820997 0.72153997 +0.070511997 0.064855002 0.72191 +0.071298003 0.064888999 0.72228998 +0.072047003 0.064888999 0.72228998 +0.072834 0.064921997 0.72266001 +0.073582999 0.064921997 0.72266001 +0.074371003 0.064956002 0.72303998 +0.075159997 0.064989999 0.72341001 +0.075948998 0.065024003 0.72378999 +0.076700002 0.065024003 0.72378999 +0.077491 0.065058 0.72417003 +0.078322999 0.065126002 0.72491997 +0.079158001 0.065194003 0.72567999 +0.080246001 0.065467 0.72873002 +0.081214003 0.065638997 0.73063999 +0.081799999 0.065502003 0.72911 +0.082211003 0.065228 0.72605997 +0.093625002 0.070414998 0.78380001 +0.094332002 0.070335999 0.78292 +0.095142998 0.070335999 0.78292 +0.095686004 0.070138 0.78072 +0.095903002 0.069706999 0.77591997 +0.09601 0.069205001 0.77033001 +0.096435003 0.068938002 0.76735002 +0.097231001 0.068938002 0.76735002 +0.11326 0.076545998 0.85203999 +0.11429 0.076640002 0.85308999 +0.11517 0.076640002 0.85308999 +0.11606 0.076640002 0.85308999 +0.11701 0.076687001 0.85360998 +0.1179 0.076687001 0.85360998 +0.11871 0.076640002 0.85308999 +0.11959 0.076640002 0.85308999 +0.12048 0.076640002 0.85308999 +0.12129 0.076592997 0.85255998 +0.12217 0.076592997 0.85255998 +0.12298 0.076545998 0.85203999 +0.12386 0.076545998 0.85203999 +0.12475 0.076545998 0.85203999 +0.12644 0.076499 0.85152 +0.12056 0.067740999 0.75402999 +0.12135 0.067740999 0.75402999 +0.12213 0.067740999 0.75402999 +0.12284 0.067704 0.75362003 +0.12369 0.067740999 0.75402999 +0.12454 0.067777 0.75444001 +0.12525 0.067740999 0.75402999 +0.12604 0.067740999 0.75402999 +0.12695999 0.067814 0.75484997 +0.12774 0.067814 0.75484997 +0.12859 0.067851 0.75525999 +0.1293 0.067814 0.75484997 +0.13016 0.067851 0.75525999 +0.13101 0.067887999 0.75567001 +0.13187 0.067924999 0.75607997 +0.13258 0.067887999 0.75567001 +0.13350999 0.067961998 0.75648999 +0.13444 0.068035997 0.75731999 +0.13545001 0.068147004 0.75856 +0.13653 0.068296 0.76021999 +0.13732 0.068296 0.76021999 +0.13818 0.068333998 0.76063001 +0.13905001 0.068370998 0.76104999 +0.26387 0.076922998 0.85623997 +0.26508999 0.077018 0.85729998 +0.26598001 0.077018 0.85729998 +0.26686999 0.077018 0.85729998 +-0.063896 0.076909997 0.84632999 +-0.0042341999 0.077192001 0.84943998 +-0.0033493 0.077097997 0.8484 +-0.0024681001 0.077050999 0.84788001 +-0.0015859 0.076909997 0.84632999 +-0.00070703001 0.07677 0.84478998 +0.00016888 0.076724 0.84428 +0.0010437 0.076677002 0.84376001 +0.0019187001 0.076677002 0.84376001 +0.0027919 0.076629996 0.84324998 +0.011931 0.068820998 0.75731999 +0.012696 0.068709001 0.75607997 +0.01348 0.068709001 0.75607997 +0.014248 0.068634003 0.75525999 +0.015007 0.068521999 0.75402999 +0.01578 0.068484999 0.75362003 +0.016580001 0.068559997 0.75444001 +0.022329001 0.067031004 0.73762 +0.023057001 0.066924997 0.73645002 +0.023808001 0.066889003 0.73606002 +0.024545999 0.066817999 0.73527998 +0.025268 0.066712998 0.73411 +0.026015 0.066676997 0.73373002 +0.02672 0.066537 0.73218 +0.027465001 0.066501997 0.73180002 +0.028193999 0.066431999 0.73102999 +0.028921001 0.066362001 0.73026001 +0.029663 0.066326998 0.72987002 +0.030371999 0.066223003 0.72873002 +0.031095 0.066152997 0.72795999 +0.031849999 0.066152997 0.72795999 +0.032570999 0.066083997 0.72719997 +0.033273 0.065981001 0.72605997 +0.033989999 0.065912001 0.72530001 +0.034724001 0.065876998 0.72491997 +0.035457 0.065843001 0.72455001 +0.036189999 0.065808997 0.72417003 +0.036920998 0.065774001 0.72378999 +0.037652001 0.065739997 0.72341001 +0.038382001 0.065706 0.72303998 +0.039112002 0.065672003 0.72266001 +0.039840002 0.065637998 0.72228998 +0.040568002 0.065604001 0.72191 +0.041296002 0.065569997 0.72153997 +0.042043999 0.065569997 0.72153997 +0.042725001 0.065467998 0.72040999 +0.043450002 0.065434001 0.72004002 +0.044174001 0.065399997 0.71967 +0.044920001 0.065399997 0.71967 +0.045666002 0.065399997 0.71967 +0.046388 0.065366 0.71929997 +0.047109999 0.065332003 0.71891999 +0.047855001 0.065332003 0.71891999 +0.048601002 0.065332003 0.71891999 +0.049346 0.065332003 0.71891999 +0.050066002 0.065297998 0.71855003 +0.050836999 0.065332003 0.71891999 +0.051583 0.065332003 0.71891999 +0.052301001 0.065297998 0.71855003 +0.053018998 0.065265 0.71818 +0.053792 0.065297998 0.71855003 +0.054536998 0.065297998 0.71855003 +0.055282 0.065297998 0.71855003 +0.055998001 0.065265 0.71818 +0.056772001 0.065297998 0.71855003 +0.057517 0.065297998 0.71855003 +0.058292001 0.065332003 0.71891999 +0.059037998 0.065332003 0.71891999 +0.059783 0.065332003 0.71891999 +0.060529001 0.065332003 0.71891999 +0.061306 0.065366 0.71929997 +0.06202 0.065332003 0.71891999 +0.062798001 0.065366 0.71929997 +0.063543998 0.065366 0.71929997 +0.064355999 0.065434001 0.72004002 +0.065136999 0.065467998 0.72040999 +0.065884002 0.065467998 0.72040999 +0.066665001 0.065502003 0.72079003 +0.067483 0.065569997 0.72153997 +0.068231001 0.065569997 0.72153997 +0.068979003 0.065569997 0.72153997 +0.069762997 0.065604001 0.72191 +0.070548996 0.065637998 0.72228998 +0.071335003 0.065672003 0.72266001 +0.072084002 0.065672003 0.72266001 +0.072871 0.065706 0.72303998 +0.073620997 0.065706 0.72303998 +0.074409999 0.065739997 0.72341001 +0.075199001 0.065774001 0.72378999 +0.075989 0.065808997 0.72417003 +0.076739997 0.065808997 0.72417003 +0.077531002 0.065843001 0.72455001 +0.078364 0.065912001 0.72530001 +0.079282001 0.06605 0.72681999 +0.080288 0.066257998 0.72911 +0.081214003 0.066396996 0.73063999 +0.081799999 0.066257998 0.72911 +0.082211003 0.065981001 0.72605997 +0.093466997 0.071107 0.78248 +0.093961 0.070868 0.77983999 +0.094930001 0.070987999 0.78116 +0.095632002 0.070908003 0.78027999 +0.095903002 0.070511997 0.77591997 +0.096064001 0.070042998 0.77076 +0.096542001 0.069810003 0.76819998 +0.097337998 0.069810003 0.76819998 +0.098624997 0.070159003 0.77204001 +0.11864 0.077477001 0.85255998 +0.11952 0.077477001 0.85255998 +0.1204 0.077477001 0.85255998 +0.12121 0.077428997 0.85203999 +0.1221 0.077428997 0.85203999 +0.12298 0.077428997 0.85203999 +0.12379 0.077381998 0.85152 +0.12467 0.077381998 0.85152 +0.12563001 0.077428997 0.85203999 +0.12644 0.077381998 0.85152 +0.1205 0.068484999 0.75362003 +0.12128 0.068484999 0.75362003 +0.12213 0.068521999 0.75402999 +0.12284 0.068484999 0.75362003 +0.12369 0.068521999 0.75402999 +0.12454 0.068559997 0.75444001 +0.12525 0.068521999 0.75402999 +0.12604 0.068521999 0.75402999 +0.12695999 0.068596996 0.75484997 +0.12781 0.068634003 0.75525999 +0.12865999 0.068672001 0.75567001 +0.12937 0.068634003 0.75525999 +0.13022999 0.068672001 0.75567001 +0.13108 0.068709001 0.75607997 +0.13194001 0.068746001 0.75648999 +0.13265 0.068709001 0.75607997 +0.13365 0.068820998 0.75731999 +0.13459 0.068896003 0.75814003 +0.13552 0.068971999 0.75897002 +0.13661 0.069123 0.76063001 +0.13739 0.069123 0.76063001 +0.13826001 0.069159999 0.76104999 +0.13912 0.069197997 0.76147002 +0.26475999 0.077811003 0.85623997 +0.26581001 0.077858999 0.85676998 +-0.065491997 0.077598996 0.84428 +-0.064655997 0.077646002 0.84478998 +-0.063818999 0.077693 0.84530002 +-0.0042265002 0.077930003 0.84788001 +-0.0033452001 0.077882998 0.84737003 +-0.0024635 0.077788003 0.84632999 +-0.001584 0.077693 0.84530002 +-0.00070616999 0.077551998 0.84376001 +0.00016868 0.077505 0.84324998 +0.0010431 0.077505 0.84324998 +0.0019175 0.077505 0.84324998 +0.0027902001 0.077458002 0.84274 +0.011925 0.069568999 0.75691003 +0.012696 0.069493003 0.75607997 +0.013472 0.069454998 0.75567001 +0.014256 0.069454998 0.75567001 +0.015015 0.069342002 0.75444001 +0.015797 0.069342002 0.75444001 +0.016571 0.069303997 0.75402999 +0.017333999 0.069228999 0.75321001 +0.022341 0.067832001 0.73800999 +0.023081999 0.067759998 0.73723 +0.023821 0.067688003 0.73645002 +0.024559001 0.067616999 0.73566997 +0.025295001 0.067544997 0.73488998 +0.026043 0.067509003 0.73449999 +0.026734 0.067332 0.73256999 +0.027479 0.067295998 0.73218 +0.028209001 0.067225002 0.73141003 +0.028952001 0.067189999 0.73102999 +0.029679 0.067119002 0.73026001 +0.030404 0.067048997 0.72948998 +0.031128 0.066978 0.72873002 +0.031867001 0.066942997 0.72834003 +0.032588001 0.066872999 0.72758001 +0.033307001 0.066803001 0.72681999 +0.034008 0.066698998 0.72567999 +0.034724001 0.066629 0.72491997 +0.035475999 0.066629 0.72491997 +0.036208 0.066593997 0.72455001 +0.036940999 0.06656 0.72417003 +0.037671998 0.066524997 0.72378999 +0.038401999 0.066490002 0.72341001 +0.039112002 0.066421002 0.72266001 +0.039861001 0.066421002 0.72266001 +0.040589001 0.066386998 0.72228998 +0.041317001 0.066352002 0.72191 +0.042066 0.066352002 0.72191 +0.042769998 0.066283002 0.72115999 +0.043494999 0.066248998 0.72079003 +0.044197001 0.066179998 0.72004002 +0.044943001 0.066179998 0.72004002 +0.04569 0.066179998 0.72004002 +0.046411999 0.066146001 0.71967 +0.047134001 0.066111997 0.71929997 +0.047880001 0.066111997 0.71929997 +0.048625998 0.066111997 0.71929997 +0.049371999 0.066111997 0.71929997 +0.050092001 0.066078 0.71891999 +0.050836999 0.066078 0.71891999 +0.051583 0.066078 0.71891999 +0.052328002 0.066078 0.71891999 +0.053045999 0.066042997 0.71855003 +0.053819001 0.066078 0.71891999 +0.054565001 0.066078 0.71891999 +0.05531 0.066078 0.71891999 +0.056026999 0.066042997 0.71855003 +0.056800999 0.066078 0.71891999 +0.057546999 0.066078 0.71891999 +0.058323 0.066111997 0.71929997 +0.059068002 0.066111997 0.71929997 +0.059813999 0.066111997 0.71929997 +0.060559999 0.066111997 0.71929997 +0.061338 0.066146001 0.71967 +0.062084001 0.066146001 0.71967 +0.062830001 0.066146001 0.71967 +0.063610002 0.066179998 0.72004002 +0.064423002 0.066248998 0.72079003 +0.065204002 0.066283002 0.72115999 +0.065952003 0.066283002 0.72115999 +0.066734001 0.066317998 0.72153997 +0.067518003 0.066352002 0.72191 +0.068265997 0.066352002 0.72191 +0.069050997 0.066386998 0.72228998 +0.069835998 0.066421002 0.72266001 +0.070584998 0.066421002 0.72266001 +0.071372002 0.066455998 0.72303998 +0.072122 0.066455998 0.72303998 +0.072908998 0.066490002 0.72341001 +0.073659003 0.066490002 0.72341001 +0.074447997 0.066524997 0.72378999 +0.075237997 0.06656 0.72417003 +0.076029003 0.066593997 0.72455001 +0.076779999 0.066593997 0.72455001 +0.077611998 0.066664003 0.72530001 +0.078446001 0.066734001 0.72605997 +0.079406999 0.066908002 0.72795999 +0.080371998 0.067084 0.72987002 +0.081214003 0.067155004 0.73063999 +0.081799999 0.067014001 0.72911 +0.082296997 0.066803001 0.72681999 +0.093362004 0.071837999 0.7816 +0.093803003 0.071556002 0.77853 +0.094769999 0.071676999 0.77983999 +0.095578 0.071676999 0.77983999 +0.095903002 0.071317002 0.77591997 +0.096064001 0.070841998 0.77076 +0.096594997 0.070646003 0.76863003 +0.097392 0.070646003 0.76863003 +0.098789997 0.071078002 0.77332997 +0.12033 0.078313001 0.85203999 +0.12202 0.078264996 0.85152 +0.12291 0.078264996 0.85152 +0.12371 0.078217 0.85100001 +0.12555 0.078264996 0.85152 +0.12121 0.069228999 0.75321001 +0.12206 0.069266997 0.75362003 +0.12284 0.069266997 0.75362003 +0.12362 0.069266997 0.75362003 +0.12447 0.069303997 0.75402999 +0.12525 0.069303997 0.75402999 +0.12604 0.069303997 0.75402999 +0.12695999 0.06938 0.75484997 +0.12781 0.069417 0.75525999 +0.12865999 0.069454998 0.75567001 +0.12937 0.069417 0.75525999 +0.13022999 0.069454998 0.75567001 +0.13115001 0.069531001 0.75648999 +0.13194001 0.069531001 0.75648999 +0.13271999 0.069531001 0.75648999 +0.13372999 0.069643997 0.75773001 +0.13459 0.069682002 0.75814003 +0.13552 0.069758996 0.75897002 +0.13661 0.069911003 0.76063001 +0.13739 0.069911003 0.76063001 +0.13826001 0.069949999 0.76104999 +0.13912 0.069987997 0.76147002 +-0.067161001 0.078378998 0.84324998 +-0.065452002 0.078427002 0.84376001 +-0.064576998 0.078427002 0.84376001 +-0.063780002 0.078521997 0.84478998 +-0.062941998 0.078570001 0.84530002 +-0.0042188 0.078666002 0.84632999 +-0.0033390999 0.078617997 0.84582001 +-0.0024605 0.078570001 0.84530002 +-0.0015829999 0.078521997 0.84478998 +-0.00070574001 0.078378998 0.84324998 +0.00016857 0.078331999 0.84274 +0.0010425 0.078331999 0.84274 +0.0019163 0.078331999 0.84274 +0.0027884999 0.078284003 0.84223002 +0.011925 0.070353001 0.75691003 +0.012696 0.070276998 0.75607997 +0.013472 0.070239 0.75567001 +0.014248 0.070201002 0.75525999 +0.015015 0.070124 0.75444001 +0.015797 0.070124 0.75444001 +0.016571 0.070086002 0.75402999 +0.017333999 0.070009999 0.75321001 +0.022341 0.068596996 0.73800999 +0.023094 0.068561003 0.73762 +0.023833999 0.068488002 0.73684001 +0.024572 0.068415999 0.73606002 +0.025320999 0.068379998 0.73566997 +0.026071001 0.068342999 0.73527998 +0.02679 0.068235002 0.73411 +0.027523 0.068163 0.73334002 +0.028253 0.068090998 0.73256999 +0.028982 0.068019003 0.73180002 +0.02971 0.067947999 0.73102999 +0.030436 0.067877002 0.73026001 +0.031160001 0.067805 0.72948998 +0.0319 0.067769997 0.72911 +0.032621998 0.067699 0.72834003 +0.033360001 0.067662999 0.72795999 +0.034042999 0.067521997 0.72644001 +0.034759998 0.067451 0.72567999 +0.035494 0.067415997 0.72530001 +0.036226999 0.067381002 0.72491997 +0.036959998 0.067345999 0.72455001 +0.037691001 0.067310996 0.72417003 +0.038422 0.067276001 0.72378999 +0.039131999 0.067206003 0.72303998 +0.039882001 0.067206003 0.72303998 +0.040610999 0.067171 0.72266001 +0.041338 0.067135997 0.72228998 +0.042087 0.067135997 0.72228998 +0.042792 0.067065999 0.72153997 +0.043517999 0.067031004 0.72115999 +0.044241998 0.066996001 0.72079003 +0.044966999 0.066962004 0.72040999 +0.045713998 0.066962004 0.72040999 +0.046436999 0.066927001 0.72004002 +0.047159001 0.066891998 0.71967 +0.047905002 0.066891998 0.71967 +0.048650999 0.066891998 0.71967 +0.049398001 0.066891998 0.71967 +0.050117999 0.066858001 0.71929997 +0.050864 0.066858001 0.71929997 +0.05161 0.066858001 0.71929997 +0.052354999 0.066858001 0.71929997 +0.053073999 0.066822998 0.71891999 +0.053847 0.066858001 0.71929997 +0.054593001 0.066858001 0.71929997 +0.055339001 0.066858001 0.71929997 +0.056056 0.066822998 0.71891999 +0.056830999 0.066858001 0.71929997 +0.057576999 0.066858001 0.71929997 +0.058352999 0.066891998 0.71967 +0.059099 0.066891998 0.71967 +0.059845001 0.066891998 0.71967 +0.060591999 0.066891998 0.71967 +0.06137 0.066927001 0.72004002 +0.062116001 0.066927001 0.72004002 +0.062863 0.066927001 0.72004002 +0.063642003 0.066962004 0.72040999 +0.064489998 0.067065999 0.72153997 +0.065237999 0.067065999 0.72153997 +0.065986 0.067065999 0.72153997 +0.066803999 0.067135997 0.72228998 +0.067588001 0.067171 0.72266001 +0.068301998 0.067135997 0.72228998 +0.069086999 0.067171 0.72266001 +0.069871999 0.067206003 0.72303998 +0.070621997 0.067206003 0.72303998 +0.071409002 0.06724 0.72341001 +0.072159 0.06724 0.72341001 +0.072947003 0.067276001 0.72378999 +0.073697999 0.067276001 0.72378999 +0.074487001 0.067310996 0.72417003 +0.075277001 0.067345999 0.72455001 +0.076067999 0.067381002 0.72491997 +0.076820001 0.067381002 0.72491997 +0.077652998 0.067451 0.72567999 +0.078487001 0.067521997 0.72644001 +0.079489999 0.067734003 0.72873002 +0.080413997 0.067877002 0.73026001 +0.081257001 0.067947999 0.73102999 +0.081843004 0.067805 0.72948998 +0.082340002 0.067592002 0.72719997 +0.083007 0.067521997 0.72644001 +0.093309 0.072608002 0.78116 +0.093803003 0.072364002 0.77853 +0.094663002 0.072403997 0.77897 +0.095578 0.072485 0.77983999 +0.095903002 0.072121002 0.77591997 +0.096116997 0.071681 0.77118999 +0.096648 0.071483001 0.76905 +0.097499996 0.071521997 0.76947999 +0.098899998 0.071960002 0.77419001 +0.12115 0.069972001 0.75281 +0.12206 0.070047997 0.75362003 +0.12284 0.070047997 0.75362003 +0.12362 0.070047997 0.75362003 +0.12447 0.070086002 0.75402999 +0.12525 0.070086002 0.75402999 +0.12604 0.070086002 0.75402999 +0.12695999 0.070161998 0.75484997 +0.12788001 0.070239 0.75567001 +0.12873 0.070276998 0.75607997 +0.12944999 0.070239 0.75567001 +0.1303 0.070276998 0.75607997 +0.13123 0.070353001 0.75691003 +0.13201 0.070353001 0.75691003 +0.1328 0.070353001 0.75691003 +0.1338 0.070468999 0.75814003 +0.13466001 0.070506997 0.75856 +0.13559 0.070583999 0.75939 +0.13661 0.070699997 0.76063001 +0.13739 0.070699997 0.76063001 +0.13833 0.070777997 0.76147002 +0.1392 0.070816003 0.76188999 +-0.065412998 0.079254001 0.84324998 +-0.064538002 0.079254001 0.84324998 +-0.063702002 0.079301998 0.84376001 +-0.0042136 0.079446003 0.84530002 +-0.0033370999 0.079446003 0.84530002 +-0.0024576001 0.079350002 0.84428 +-0.0015821001 0.079350002 0.84428 +-0.00070531003 0.079205997 0.84274 +0.00016847 0.079158001 0.84223002 +0.0010418 0.079158001 0.84223002 +0.0019152 0.079158001 0.84223002 +0.0027868999 0.079109997 0.84171999 +0.0036597 0.079109997 0.84171999 +0.012682 0.070983998 0.75525999 +0.013465 0.070983998 0.75525999 +0.014248 0.070983998 0.75525999 +0.015015 0.070906997 0.75444001 +0.015789 0.070868 0.75402999 +0.016562 0.070830002 0.75362003 +0.022352999 0.069399998 0.73841 +0.023105999 0.069362998 0.73800999 +0.023846 0.069288999 0.73723 +0.024584999 0.069215998 0.73645002 +0.025335001 0.069178998 0.73606002 +0.026084 0.069141999 0.73566997 +0.026805 0.069032997 0.73449999 +0.027551999 0.068995997 0.73411 +0.028283 0.068922997 0.73334002 +0.029013 0.068851002 0.73256999 +0.029741 0.068778001 0.73180002 +0.030452 0.068669997 0.73063999 +0.031192999 0.068634003 0.73026001 +0.031916998 0.068562001 0.72948998 +0.032655999 0.068526 0.72911 +0.033395 0.068489999 0.72873002 +0.034079 0.068346001 0.72719997 +0.034797002 0.068274997 0.72644001 +0.035530999 0.068239003 0.72605997 +0.036246002 0.068167999 0.72530001 +0.036979001 0.068132997 0.72491997 +0.037710998 0.068097003 0.72455001 +0.038442001 0.068062 0.72417003 +0.039152998 0.067991003 0.72341001 +0.039903 0.067991003 0.72341001 +0.040631998 0.067955002 0.72303998 +0.041359998 0.067919999 0.72266001 +0.042109001 0.067919999 0.72266001 +0.042835999 0.067884997 0.72228998 +0.043563001 0.067849003 0.72191 +0.044287998 0.067814 0.72153997 +0.045012999 0.067778997 0.72115999 +0.045761 0.067778997 0.72115999 +0.046461001 0.067708999 0.72040999 +0.047183 0.067674004 0.72004002 +0.047929998 0.067674004 0.72004002 +0.048675999 0.067674004 0.72004002 +0.049423002 0.067674004 0.72004002 +0.050144002 0.067639001 0.71967 +0.050889999 0.067639001 0.71967 +0.051663 0.067674004 0.72004002 +0.052382998 0.067639001 0.71967 +0.053100999 0.067603998 0.71929997 +0.053874999 0.067639001 0.71967 +0.054621 0.067639001 0.71967 +0.055367999 0.067639001 0.71967 +0.056085002 0.067603998 0.71929997 +0.05686 0.067639001 0.71967 +0.057636 0.067674004 0.72004002 +0.058412999 0.067708999 0.72040999 +0.059160002 0.067708999 0.72040999 +0.059875999 0.067674004 0.72004002 +0.060623001 0.067674004 0.72004002 +0.061400998 0.067708999 0.72040999 +0.062148001 0.067708999 0.72040999 +0.062927999 0.067744002 0.72079003 +0.063708998 0.067778997 0.72115999 +0.064522997 0.067849003 0.72191 +0.065272003 0.067849003 0.72191 +0.066055 0.067884997 0.72228998 +0.066839002 0.067919999 0.72266001 +0.067622997 0.067955002 0.72303998 +0.068337001 0.067919999 0.72266001 +0.069123 0.067955002 0.72303998 +0.069908999 0.067991003 0.72341001 +0.070658997 0.067991003 0.72341001 +0.071446002 0.068025999 0.72378999 +0.072196998 0.068025999 0.72378999 +0.072985001 0.068062 0.72417003 +0.073735997 0.068062 0.72417003 +0.074525997 0.068097003 0.72455001 +0.075317003 0.068132997 0.72491997 +0.076108001 0.068167999 0.72530001 +0.076899998 0.068204001 0.72567999 +0.077734001 0.068274997 0.72644001 +0.078569002 0.068346001 0.72719997 +0.079531997 0.068526 0.72911 +0.080456004 0.068669997 0.73063999 +0.081299998 0.068742 0.73141003 +0.081886001 0.068598002 0.72987002 +0.082469001 0.068453997 0.72834003 +0.083094001 0.068346001 0.72719997 +0.093257003 0.073376 0.78072 +0.093750998 0.073129997 0.77810001 +0.094557002 0.073129997 0.77810001 +0.095471002 0.073211998 0.77897 +0.095903002 0.072926 0.77591997 +0.096170001 0.072521001 0.77161998 +0.096702002 0.072319999 0.76947999 +0.099010997 0.072843999 0.77506 +0.12213 0.070868 0.75402999 +0.12284 0.070830002 0.75362003 +0.12369 0.070868 0.75402999 +0.12454 0.070906997 0.75444001 +0.12532 0.070906997 0.75444001 +0.12604 0.070868 0.75402999 +0.12703 0.070983998 0.75525999 +0.12795 0.071061 0.75607997 +0.1288 0.071099997 0.75648999 +0.12952 0.071061 0.75607997 +0.13037001 0.071099997 0.75648999 +0.13136999 0.071216002 0.75773001 +0.13208 0.071176998 0.75731999 +0.13287 0.071176998 0.75731999 +0.13387001 0.071294002 0.75856 +0.13473 0.071332999 0.75897002 +0.13559 0.071372002 0.75939 +0.13661 0.071488999 0.76063001 +0.13739 0.071488999 0.76063001 +0.13833 0.071566999 0.76147002 +0.1392 0.071606003 0.76188999 +-0.065333001 0.080031 0.84223002 +-0.064460002 0.080031 0.84223002 +-0.0042085 0.080224998 0.84428 +-0.003333 0.080224998 0.84428 +-0.0024546001 0.080127999 0.84324998 +-0.0015802 0.080127999 0.84324998 +-0.00070489 0.080031 0.84223002 +0.00016837 0.079981998 0.84171999 +0.0010406 0.079934001 0.84121001 +0.0019129 0.079934001 0.84121001 +0.0027852 0.079934001 0.84121001 +0.0036553 0.079885997 0.84069997 +0.011912 0.071845002 0.75607997 +0.012675 0.071727999 0.75484997 +0.01345 0.071689002 0.75444001 +0.014248 0.071767002 0.75525999 +0.015015 0.071689002 0.75444001 +0.015789 0.071649998 0.75402999 +0.016553 0.071571998 0.75321001 +0.022365 0.070202999 0.73879999 +0.023119001 0.070165001 0.73841 +0.023859 0.070091002 0.73762 +0.024598001 0.070015997 0.73684001 +0.025348 0.069978997 0.73645002 +0.026098 0.069941998 0.73606002 +0.026819 0.069830999 0.73488998 +0.027566001 0.069793999 0.73449999 +0.028313 0.069757998 0.73411 +0.029044 0.069683999 0.73334002 +0.029773001 0.06961 0.73256999 +0.030484 0.069500998 0.73141003 +0.03121 0.069426998 0.73063999 +0.031950001 0.069390997 0.73026001 +0.03269 0.069355004 0.72987002 +0.033411998 0.069282003 0.72911 +0.034115002 0.069173001 0.72795999 +0.034832999 0.069100998 0.72719997 +0.035567999 0.069063999 0.72681999 +0.036284 0.068991996 0.72605997 +0.037018001 0.068956003 0.72567999 +0.037730999 0.068884 0.72491997 +0.038462002 0.068847999 0.72455001 +0.039173 0.068777002 0.72378999 +0.039923001 0.068777002 0.72378999 +0.040653002 0.068741001 0.72341001 +0.041381001 0.068705 0.72303998 +0.042130999 0.068705 0.72303998 +0.042858999 0.068668999 0.72266001 +0.043584999 0.068634003 0.72228998 +0.044310998 0.068598002 0.72191 +0.045060001 0.068598002 0.72191 +0.045784999 0.068562001 0.72153997 +0.046509001 0.068526998 0.72115999 +0.047231998 0.068490997 0.72079003 +0.047954999 0.068456002 0.72040999 +0.048726998 0.068490997 0.72079003 +0.049474001 0.068490997 0.72079003 +0.050195999 0.068456002 0.72040999 +0.050916001 0.06842 0.72004002 +0.051690001 0.068456002 0.72040999 +0.052437 0.068456002 0.72040999 +0.053128999 0.068384998 0.71967 +0.053902999 0.06842 0.72004002 +0.054650001 0.06842 0.72004002 +0.055396002 0.06842 0.72004002 +0.056143001 0.06842 0.72004002 +0.056919001 0.068456002 0.72040999 +0.057666 0.068456002 0.72040999 +0.058474001 0.068526998 0.72115999 +0.059191 0.068490997 0.72079003 +0.059937999 0.068490997 0.72079003 +0.060686 0.068490997 0.72079003 +0.061464999 0.068526998 0.72115999 +0.062213 0.068526998 0.72115999 +0.062992997 0.068562001 0.72153997 +0.063741997 0.068562001 0.72153997 +0.06459 0.068668999 0.72266001 +0.065339997 0.068668999 0.72266001 +0.066088997 0.068668999 0.72266001 +0.066872999 0.068705 0.72303998 +0.067658 0.068741001 0.72341001 +0.068373002 0.068705 0.72303998 +0.069159001 0.068741001 0.72341001 +0.069945 0.068777002 0.72378999 +0.070695996 0.068777002 0.72378999 +0.071483001 0.068811998 0.72417003 +0.072233997 0.068811998 0.72417003 +0.072985001 0.068811998 0.72417003 +0.073775001 0.068847999 0.72455001 +0.074565001 0.068884 0.72491997 +0.075355999 0.068920001 0.72530001 +0.076187998 0.068991996 0.72605997 +0.07694 0.068991996 0.72605997 +0.077775002 0.069063999 0.72681999 +0.078652002 0.069173001 0.72795999 +0.079572998 0.069317997 0.72948998 +0.080499001 0.069463998 0.73102999 +0.081341997 0.069536999 0.73180002 +0.081972003 0.069426998 0.73063999 +0.082556002 0.069282003 0.72911 +0.083181001 0.069173001 0.72795999 +0.093309 0.074228004 0.78116 +0.093803003 0.073977999 0.77853 +0.094609998 0.073977999 0.77853 +0.095524997 0.074060999 0.77941 +0.095955998 0.073771998 0.77635998 +0.096170001 0.073321 0.77161998 +0.096809 0.073198996 0.77033001 +0.099065997 0.073688999 0.77548999 +0.12219 0.071689002 0.75444001 +0.12291 0.071649998 0.75402999 +0.12376 0.071689002 0.75444001 +0.12461 0.071727999 0.75484997 +0.12538999 0.071727999 0.75484997 +0.1261 0.071689002 0.75444001 +0.12709001 0.071805999 0.75567001 +0.12802 0.071883999 0.75648999 +0.12887 0.071923003 0.75691003 +0.12959 0.071883999 0.75648999 +0.13051 0.071961999 0.75731999 +0.13144 0.072040997 0.75814003 +0.13223 0.072040997 0.75814003 +0.13301 0.072040997 0.75814003 +0.13395 0.072120003 0.75897002 +0.13473 0.072120003 0.75897002 +0.13559 0.072159 0.75939 +0.13653 0.072237998 0.76021999 +0.13739 0.072278 0.76063001 +0.13833 0.072356999 0.76147002 +0.1392 0.072396003 0.76188999 +0.25784999 0.080863997 0.85100001 +0.25889 0.080913998 0.85152 +0.25977001 0.080913998 0.85152 +-0.051422 0.081001997 0.84324998 +-0.050577998 0.081051998 0.84376001 +-0.049702998 0.081051998 0.84376001 +-0.048827998 0.081051998 0.84376001 +-0.048012 0.081150003 0.84478998 +-0.047107 0.081101 0.84428 +-0.045356002 0.081101 0.84428 +-0.044454001 0.081051998 0.84376001 +-0.0042059999 0.081051998 0.84376001 +-0.003331 0.081051998 0.84376001 +-0.0024530999 0.080953002 0.84274 +-0.0015792 0.080953002 0.84274 +-0.00070489 0.080904 0.84223002 +0.00016826999 0.080806002 0.84121001 +0.0010399 0.080757 0.84069997 +0.0019117 0.080757 0.84069997 +0.0027834999 0.080757 0.84069997 +0.0036530001 0.080709003 0.84018999 +0.011912 0.072628997 0.75607997 +0.012668 0.072471 0.75444001 +0.01345 0.072471 0.75444001 +0.014248 0.072549999 0.75525999 +0.015015 0.072471 0.75444001 +0.01578 0.072393 0.75362003 +0.016543999 0.072314002 0.75281 +0.017306 0.072236001 0.75199002 +0.022400999 0.071082003 0.73997998 +0.023155 0.071043998 0.73957998 +0.023897 0.070969 0.73879999 +0.024623999 0.070855998 0.73762 +0.025374999 0.070818 0.73723 +0.026125999 0.070781 0.73684001 +0.026846999 0.070667997 0.73566997 +0.027595 0.070630997 0.73527998 +0.028328 0.070556 0.73449999 +0.029074 0.070519 0.73411 +0.029788001 0.070407003 0.73294997 +0.0305 0.070295997 0.73180002 +0.031226 0.070221998 0.73102999 +0.031966999 0.070184998 0.73063999 +0.03269 0.070110999 0.72987002 +0.033429999 0.070074998 0.72948998 +0.034132 0.069963999 0.72834003 +0.034851 0.069890998 0.72758001 +0.035587002 0.069854997 0.72719997 +0.036284 0.069744997 0.72605997 +0.037018001 0.069709003 0.72567999 +0.037751 0.069672003 0.72530001 +0.038462002 0.069600001 0.72455001 +0.039193001 0.069563001 0.72417003 +0.039944001 0.069563001 0.72417003 +0.040674001 0.069527 0.72378999 +0.041402999 0.069490999 0.72341001 +0.042153001 0.069490999 0.72341001 +0.042881001 0.069454998 0.72303998 +0.043607999 0.069418997 0.72266001 +0.044334002 0.069383003 0.72228998 +0.045083001 0.069383003 0.72228998 +0.045832001 0.069383003 0.72228998 +0.046557002 0.069347002 0.72191 +0.047281001 0.069311 0.72153997 +0.048004001 0.069274999 0.72115999 +0.048751999 0.069274999 0.72115999 +0.0495 0.069274999 0.72115999 +0.050248001 0.069274999 0.72115999 +0.050969001 0.069238998 0.72079003 +0.051743999 0.069274999 0.72115999 +0.052491002 0.069274999 0.72115999 +0.053183999 0.069202997 0.72040999 +0.053959001 0.069238998 0.72079003 +0.054706 0.069238998 0.72079003 +0.055454001 0.069238998 0.72079003 +0.056201 0.069238998 0.72079003 +0.056977998 0.069274999 0.72115999 +0.057726 0.069274999 0.72115999 +0.058504 0.069311 0.72153997 +0.059252001 0.069311 0.72153997 +0.060001001 0.069311 0.72153997 +0.060749002 0.069311 0.72153997 +0.061528999 0.069347002 0.72191 +0.062277999 0.069347002 0.72191 +0.063026004 0.069347002 0.72191 +0.063808002 0.069383003 0.72228998 +0.064623997 0.069454998 0.72303998 +0.065374002 0.069454998 0.72303998 +0.066124 0.069454998 0.72303998 +0.066908002 0.069490999 0.72341001 +0.067694001 0.069527 0.72378999 +0.068407997 0.069490999 0.72341001 +0.069195002 0.069527 0.72378999 +0.069982 0.069563001 0.72417003 +0.070733003 0.069563001 0.72417003 +0.071520999 0.069600001 0.72455001 +0.072272003 0.069600001 0.72455001 +0.073022999 0.069600001 0.72455001 +0.073812999 0.069636002 0.72491997 +0.074603997 0.069672003 0.72530001 +0.075395003 0.069709003 0.72567999 +0.076227002 0.069781996 0.72644001 +0.077021003 0.069817998 0.72681999 +0.077855997 0.069890998 0.72758001 +0.078693002 0.069963999 0.72834003 +0.079657003 0.070147999 0.73026001 +0.080541 0.070258997 0.73141003 +0.081385002 0.070332997 0.73218 +0.082015 0.070221998 0.73102999 +0.082598999 0.070074998 0.72948998 +0.083268002 0.070000999 0.72873002 +0.093415 0.075121999 0.78204 +0.093907997 0.074868999 0.77941 +0.094663002 0.074827 0.77897 +0.095578 0.074910998 0.77983999 +0.09601 0.074617997 0.77679002 +0.096224003 0.074161999 0.77204001 +0.096863002 0.074038997 0.77076 +0.099065997 0.074492998 0.77548999 +0.12233 0.072549999 0.75525999 +0.12298 0.072471 0.75444001 +0.12389 0.072549999 0.75525999 +0.12474 0.072590001 0.75567001 +0.12553 0.072590001 0.75567001 +0.12616999 0.072511002 0.75484997 +0.12723 0.072668999 0.75648999 +0.12816 0.072747998 0.75731999 +0.12901001 0.072787002 0.75773001 +0.12966 0.072708003 0.75691003 +0.13057999 0.072787002 0.75773001 +0.13151 0.072866999 0.75856 +0.1323 0.072866999 0.75856 +0.13309 0.072866999 0.75856 +0.13395 0.072907001 0.75897002 +0.13481 0.072947003 0.75939 +0.13567001 0.072985999 0.75980002 +0.13653 0.073026001 0.76021999 +0.13739 0.073066004 0.76063001 +0.25769001 0.081697002 0.85048002 +0.25872999 0.081747003 0.85100001 +0.25961 0.081747003 0.85100001 +-0.052265 0.081827 0.84274 +-0.051391002 0.081827 0.84274 +-0.050547998 0.081877001 0.84324998 +-0.049672998 0.081877001 0.84324998 +-0.048799001 0.081877001 0.84324998 +-0.047952998 0.081927001 0.84376001 +-0.047077999 0.081927001 0.84376001 +-0.046202999 0.081927001 0.84376001 +-0.045301002 0.081877001 0.84324998 +-0.044399999 0.081827 0.84274 +-0.043526001 0.081827 0.84274 +-0.003329 0.081877001 0.84324998 +-0.0024516 0.081777997 0.84223002 +-0.0015782 0.081777997 0.84223002 +-0.00070402998 0.081679001 0.84121001 +0.00016806 0.081579998 0.84018999 +0.0010387 0.081531003 0.83969003 +0.0019094 0.081531003 0.83969003 +0.0027801001 0.081531003 0.83969003 +0.0036508001 0.081531003 0.83969003 +0.011918 0.073453002 0.75648999 +0.012668 0.073253997 0.75444001 +0.01345 0.073253997 0.75444001 +0.014248 0.073333003 0.75525999 +0.015015 0.073253997 0.75444001 +0.01578 0.073174 0.75362003 +0.016543999 0.073095001 0.75281 +0.017295999 0.072976001 0.75158 +0.018105 0.073095001 0.75281 +0.022423999 0.071925998 0.74076998 +0.02318 0.071888 0.74036998 +0.023910001 0.071773 0.73918998 +0.02465 0.071696997 0.73841 +0.025402 0.071658999 0.73800999 +0.026140001 0.071583003 0.73723 +0.026861001 0.071469001 0.73606002 +0.02761 0.071431004 0.73566997 +0.028357999 0.071392998 0.73527998 +0.029105 0.071355 0.73488998 +0.029835001 0.071280003 0.73411 +0.030532001 0.07113 0.73256999 +0.031259 0.071055003 0.73180002 +0.031984001 0.070979998 0.73102999 +0.032708 0.070905 0.73026001 +0.033447001 0.070868 0.72987002 +0.034150001 0.070757002 0.72873002 +0.034869 0.070683002 0.72795999 +0.035606001 0.070646003 0.72758001 +0.036302999 0.070534997 0.72644001 +0.037037 0.070497997 0.72605997 +0.037769999 0.070460998 0.72567999 +0.038483001 0.070387997 0.72491997 +0.039214 0.070350997 0.72455001 +0.039944001 0.070313998 0.72417003 +0.040695 0.070313998 0.72417003 +0.041425001 0.070277996 0.72378999 +0.042153001 0.070240997 0.72341001 +0.042902999 0.070240997 0.72341001 +0.043630999 0.070205003 0.72303998 +0.044357002 0.070168003 0.72266001 +0.045107 0.070168003 0.72266001 +0.045855999 0.070168003 0.72266001 +0.046581 0.070132002 0.72228998 +0.047306001 0.070095003 0.72191 +0.048053999 0.070095003 0.72191 +0.048803002 0.070095003 0.72191 +0.049550999 0.070095003 0.72191 +0.050299998 0.070095003 0.72191 +0.051022001 0.070059001 0.72153997 +0.051770002 0.070059001 0.72153997 +0.052519001 0.070059001 0.72153997 +0.053238999 0.070022002 0.72115999 +0.053987 0.070022002 0.72115999 +0.054735001 0.070022002 0.72115999 +0.055482998 0.070022002 0.72115999 +0.056230001 0.070022002 0.72115999 +0.057007998 0.070059001 0.72153997 +0.057755999 0.070059001 0.72153997 +0.058534998 0.070095003 0.72191 +0.059282999 0.070095003 0.72191 +0.060031999 0.070095003 0.72191 +0.060812 0.070132002 0.72228998 +0.061561 0.070132002 0.72228998 +0.062309999 0.070132002 0.72228998 +0.063092001 0.070168003 0.72266001 +0.063841 0.070168003 0.72266001 +0.064658001 0.070240997 0.72341001 +0.065407999 0.070240997 0.72341001 +0.066157997 0.070240997 0.72341001 +0.066942997 0.070277996 0.72378999 +0.067728996 0.070313998 0.72417003 +0.06848 0.070313998 0.72417003 +0.069231004 0.070313998 0.72417003 +0.070018001 0.070350997 0.72455001 +0.070768997 0.070350997 0.72455001 +0.071520999 0.070350997 0.72455001 +0.072310001 0.070387997 0.72491997 +0.073060997 0.070387997 0.72491997 +0.073852003 0.070423998 0.72530001 +0.074643001 0.070460998 0.72567999 +0.075474001 0.070534997 0.72644001 +0.076306999 0.070609003 0.72719997 +0.077142 0.070683002 0.72795999 +0.077937998 0.070720002 0.72834003 +0.078776002 0.070794001 0.72911 +0.079699002 0.070942998 0.73063999 +0.080583997 0.071055003 0.73180002 +0.081427999 0.07113 0.73256999 +0.082057998 0.071016997 0.73141003 +0.082686 0.070905 0.73026001 +0.083311997 0.070794001 0.72911 +0.093571998 0.076062001 0.78336 +0.094172001 0.075889997 0.7816 +0.094875999 0.075805001 0.78072 +0.095686004 0.075805001 0.78072 +0.09601 0.075424001 0.77679002 +0.096331 0.075046003 0.77289999 +0.096863002 0.074837998 0.77076 +0.099065997 0.075297996 0.77548999 +0.12259 0.073492996 0.75691003 +0.12318 0.073372997 0.75567001 +0.12416 0.073492996 0.75691003 +0.1256 0.073413 0.75607997 +0.12631001 0.073372997 0.75567001 +0.12737 0.073532999 0.75731999 +0.1283 0.073613003 0.75814003 +0.12908 0.073613003 0.75814003 +0.12973 0.073532999 0.75731999 +0.13073 0.073652998 0.75856 +0.13166 0.073734 0.75939 +0.13237 0.073693998 0.75897002 +0.13316 0.073693998 0.75897002 +0.13402 0.073734 0.75939 +0.13481 0.073734 0.75939 +0.13567001 0.073774002 0.75980002 +-0.05136 0.082650997 0.84223002 +-0.050485998 0.082650997 0.84223002 +-0.049612999 0.082650997 0.84223002 +-0.048769001 0.082700998 0.84274 +-0.047924001 0.082750998 0.84324998 +-0.046174999 0.082750998 0.84324998 +-0.045274001 0.082700998 0.84274 +-0.044372998 0.082650997 0.84223002 +-0.043473002 0.082601003 0.84171999 +-0.042599998 0.082601003 0.84171999 +-0.041676998 0.082501002 0.84069997 +-0.038121 0.082351997 0.83917999 +-0.037227999 0.082301997 0.83867002 +-0.0024486 0.082551003 0.84121001 +-0.0015763 0.082551003 0.84121001 +-0.00070361001 0.082501002 0.84069997 +0.00016785999 0.082351997 0.83917999 +0.0010374 0.082301997 0.83867002 +0.0019082 0.082351997 0.83917999 +0.0027768 0.082301997 0.83867002 +0.0036464001 0.082301997 0.83867002 +0.011918 0.074236996 0.75648999 +0.012661 0.073996 0.75402999 +0.01345 0.074036002 0.75444001 +0.014248 0.074115999 0.75525999 +0.015015 0.074036002 0.75444001 +0.01578 0.073955998 0.75362003 +0.016535001 0.073835999 0.75239998 +0.017295999 0.073756002 0.75158 +0.018105 0.073876001 0.75281 +0.022448 0.072772004 0.74155998 +0.023193 0.072694004 0.74076998 +0.023934999 0.072617002 0.73997998 +0.024676001 0.072539002 0.73918998 +0.025428999 0.072500996 0.73879999 +0.026154 0.072384998 0.73762 +0.026876001 0.072269998 0.73645002 +0.027639 0.072269998 0.73645002 +0.028372999 0.072194003 0.73566997 +0.02912 0.072155997 0.73527998 +0.029851001 0.072079003 0.73449999 +0.030580999 0.072002999 0.73373002 +0.031291999 0.071888998 0.73256999 +0.032017998 0.071814001 0.73180002 +0.032742001 0.071737997 0.73102999 +0.033465002 0.071663 0.73026001 +0.034168001 0.071549997 0.72911 +0.034887999 0.071474999 0.72834003 +0.035624001 0.071438 0.72795999 +0.036322001 0.071324997 0.72681999 +0.037055999 0.071287997 0.72644001 +0.037810002 0.071287997 0.72644001 +0.038502999 0.071176998 0.72530001 +0.039234001 0.071139 0.72491997 +0.039965 0.071102001 0.72455001 +0.040716 0.071102001 0.72455001 +0.041446 0.071065001 0.72417003 +0.042174999 0.071028002 0.72378999 +0.042925999 0.071028002 0.72378999 +0.043653 0.070991002 0.72341001 +0.044404 0.070991002 0.72341001 +0.04513 0.070954002 0.72303998 +0.045880001 0.070954002 0.72303998 +0.046629999 0.070954002 0.72303998 +0.047355 0.070917003 0.72266001 +0.048103999 0.070917003 0.72266001 +0.048827998 0.070881002 0.72228998 +0.049577001 0.070881002 0.72228998 +0.050326001 0.070881002 0.72228998 +0.051075 0.070881002 0.72228998 +0.051824 0.070881002 0.72228998 +0.052572999 0.070881002 0.72228998 +0.053293999 0.070844002 0.72191 +0.054042999 0.070844002 0.72191 +0.054792002 0.070844002 0.72191 +0.055539999 0.070844002 0.72191 +0.056288999 0.070844002 0.72191 +0.057066999 0.070881002 0.72228998 +0.057815999 0.070881002 0.72228998 +0.058564998 0.070881002 0.72228998 +0.059314001 0.070881002 0.72228998 +0.060093999 0.070917003 0.72266001 +0.060844 0.070917003 0.72266001 +0.061625 0.070954002 0.72303998 +0.062341999 0.070917003 0.72266001 +0.063124999 0.070954002 0.72303998 +0.063908003 0.070991002 0.72341001 +0.064691 0.071028002 0.72378999 +0.065442003 0.071028002 0.72378999 +0.066192001 0.071028002 0.72378999 +0.066978 0.071065001 0.72417003 +0.067763999 0.071102001 0.72455001 +0.06848 0.071065001 0.72417003 +0.069266997 0.071102001 0.72455001 +0.070055 0.071139 0.72491997 +0.070805997 0.071139 0.72491997 +0.071594998 0.071176998 0.72530001 +0.072347 0.071176998 0.72530001 +0.073137999 0.071213998 0.72567999 +0.073928997 0.071250997 0.72605997 +0.074681997 0.071250997 0.72605997 +0.075514004 0.071324997 0.72681999 +0.076387003 0.071438 0.72795999 +0.077223003 0.071511999 0.72873002 +0.078019001 0.071549997 0.72911 +0.078858003 0.071625002 0.72987002 +0.079783 0.071776003 0.73141003 +0.080626003 0.071851999 0.73218 +0.081471004 0.071927004 0.73294997 +0.082101002 0.071814001 0.73180002 +0.082728997 0.071699999 0.73063999 +0.083356 0.071586996 0.72948998 +0.093731001 0.077004001 0.78469002 +0.094332002 0.076830998 0.78292 +0.095090002 0.076787002 0.78248 +0.095739998 0.076658003 0.78116 +0.096064001 0.076272003 0.77723002 +0.096383996 0.075889997 0.77332997 +0.096969999 0.075721003 0.77161998 +0.099120997 0.076144002 0.77591997 +0.1258 0.074317999 0.75731999 +0.12645 0.074236996 0.75648999 +0.12758 0.074440002 0.75856 +0.12851 0.074520998 0.75939 +0.12921999 0.074481003 0.75897002 +0.12987 0.074399002 0.75814003 +0.13079999 0.074481003 0.75897002 +0.13173001 0.074561998 0.75980002 +0.13252001 0.074561998 0.75980002 +0.13323 0.074520998 0.75939 +0.13402 0.074520998 0.75939 +0.13481 0.074520998 0.75939 +0.13574 0.074602999 0.76021999 +-0.04874 0.083524004 0.84223002 +-0.047894999 0.083575003 0.84274 +-0.046992999 0.083524004 0.84223002 +-0.046119001 0.083524004 0.84223002 +-0.045219 0.083474003 0.84171999 +-0.044319 0.083423004 0.84121001 +-0.043419998 0.083373003 0.84069997 +-0.042548999 0.083373003 0.84069997 +-0.041627001 0.083272003 0.83969003 +-0.040755998 0.083272003 0.83969003 +-0.039861001 0.083222002 0.83917999 +-0.038966998 0.083172001 0.83867002 +-0.038075 0.083121002 0.83816999 +-0.037183002 0.083071001 0.83766001 +-0.036313999 0.083071001 0.83766001 +-0.0015744 0.083322003 0.84018999 +-0.00070276001 0.083272003 0.83969003 +0.00016765999 0.083121002 0.83816999 +0.0019059 0.083121002 0.83816999 +0.012641 0.074656002 0.75281 +0.013443 0.074777998 0.75402999 +0.01424 0.074859001 0.75484997 +0.015015 0.074818 0.75444001 +0.015772 0.074697003 0.75321001 +0.016526001 0.074575 0.75199002 +0.017286999 0.074495003 0.75117999 +0.018105 0.074656002 0.75281 +0.018824 0.074414 0.75037003 +0.022448 0.073541 0.74155998 +0.023205001 0.073500998 0.74115998 +0.023948001 0.073422998 0.74036998 +0.024702 0.073384002 0.73997998 +0.025456 0.073344998 0.73957998 +0.026180999 0.073228002 0.73841 +0.02689 0.073073 0.73684001 +0.027654 0.073073 0.73684001 +0.028403001 0.073034003 0.73645002 +0.029151 0.072995 0.73606002 +0.029882999 0.072917998 0.73527998 +0.030613 0.072841004 0.73449999 +0.031325001 0.072725996 0.73334002 +0.032051001 0.072649002 0.73256999 +0.032777 0.072572999 0.73180002 +0.033500001 0.072495997 0.73102999 +0.034203999 0.072382003 0.72987002 +0.034924001 0.072306 0.72911 +0.035661999 0.072268002 0.72873002 +0.036359999 0.072154999 0.72758001 +0.037094999 0.072117001 0.72719997 +0.037849002 0.072117001 0.72719997 +0.038543001 0.072003998 0.72605997 +0.039255001 0.071929 0.72530001 +0.040006999 0.071929 0.72530001 +0.040738001 0.071891002 0.72491997 +0.041467998 0.071854003 0.72455001 +0.042197 0.071815997 0.72417003 +0.042948 0.071815997 0.72417003 +0.043676 0.071778998 0.72378999 +0.044404 0.071741 0.72341001 +0.045154002 0.071741 0.72341001 +0.045903999 0.071741 0.72341001 +0.046654001 0.071741 0.72341001 +0.04738 0.071704 0.72303998 +0.048129 0.071704 0.72303998 +0.048854001 0.071667001 0.72266001 +0.049603 0.071667001 0.72266001 +0.050352 0.071667001 0.72266001 +0.051102001 0.071667001 0.72266001 +0.051851001 0.071667001 0.72266001 +0.052600998 0.071667001 0.72266001 +0.053321999 0.071630001 0.72228998 +0.054071002 0.071630001 0.72228998 +0.054820001 0.071630001 0.72228998 +0.055569001 0.071630001 0.72228998 +0.056318 0.071630001 0.72228998 +0.057096999 0.071667001 0.72266001 +0.057845999 0.071667001 0.72266001 +0.058595002 0.071667001 0.72266001 +0.059376001 0.071704 0.72303998 +0.060125001 0.071704 0.72303998 +0.060906999 0.071741 0.72341001 +0.061657 0.071741 0.72341001 +0.062375002 0.071704 0.72303998 +0.063157 0.071741 0.72341001 +0.063941002 0.071778998 0.72378999 +0.064724997 0.071815997 0.72417003 +0.065476 0.071815997 0.72417003 +0.066226996 0.071815997 0.72417003 +0.067013003 0.071854003 0.72455001 +0.067799002 0.071891002 0.72491997 +0.068550996 0.071891002 0.72491997 +0.069302998 0.071891002 0.72491997 +0.070128001 0.071966 0.72567999 +0.070880003 0.071966 0.72567999 +0.071633004 0.071966 0.72567999 +0.072384998 0.071966 0.72567999 +0.073175997 0.072003998 0.72605997 +0.073968001 0.072040997 0.72644001 +0.074759997 0.072079003 0.72681999 +0.075593002 0.072154999 0.72758001 +0.076467 0.072268002 0.72873002 +0.077303998 0.072343998 0.72948998 +0.078101002 0.072382003 0.72987002 +0.078900002 0.072420001 0.73026001 +0.079824999 0.072572999 0.73180002 +0.080669001 0.072649002 0.73256999 +0.081471004 0.072687 0.73294997 +0.082144998 0.072610997 0.73218 +0.082773 0.072495997 0.73102999 +0.083398998 0.072382003 0.72987002 +0.093837 0.077905998 0.78557003 +0.094384998 0.077685997 0.78336 +0.095197 0.077685997 0.78336 +0.095793001 0.077510998 0.7816 +0.096116997 0.077120997 0.77766001 +0.096492 0.076777004 0.77419001 +0.097024001 0.076563999 0.77204001 +0.098757997 0.077293999 0.77941 +0.099120997 0.076949 0.77591997 +0.12504999 0.075598001 0.76230001 +0.12556 0.075433001 0.76063001 +0.12608001 0.075268 0.75897002 +0.12651999 0.075062998 0.75691003 +0.12772 0.075309001 0.75939 +0.12858 0.075350001 0.75980002 +0.12929 0.075309001 0.75939 +0.13000999 0.075268 0.75897002 +0.13087 0.075309001 0.75939 +0.1318 0.075391002 0.76021999 +0.13259 0.075391002 0.76021999 +0.13330001 0.075350001 0.75980002 +0.13409001 0.075350001 0.75980002 +0.13488001 0.075350001 0.75980002 +0.13574 0.075391002 0.76021999 +-0.045191001 0.084296003 0.84121001 +-0.044291999 0.084244996 0.84069997 +-0.043368001 0.084142998 0.83969003 +-0.042497002 0.084142998 0.83969003 +-0.041576002 0.084040999 0.83867002 +-0.040707 0.084040999 0.83867002 +-0.039813001 0.083990999 0.83816999 +-0.038943999 0.083990999 0.83816999 +-0.038029 0.083889 0.83715999 +-0.037138 0.083838999 0.83665001 +-0.036293 0.083889 0.83715999 +-0.035402998 0.083838999 0.83665001 +0.013436 0.075519003 0.75362003 +0.01424 0.075641997 0.75484997 +0.015015 0.075600997 0.75444001 +0.015772 0.075478002 0.75321001 +0.016526001 0.075355001 0.75199002 +0.017286999 0.075273998 0.75117999 +0.018095 0.075396001 0.75239998 +0.018835001 0.075232998 0.75076997 +0.022460001 0.074349001 0.74194998 +0.023217 0.074309997 0.74155998 +0.023961 0.07423 0.74076998 +0.024729 0.07423 0.74076998 +0.02547 0.074151002 0.73997998 +0.026180999 0.073994003 0.73841 +0.026904 0.073876001 0.73723 +0.027654 0.073836997 0.73684001 +0.028403001 0.073798001 0.73645002 +0.029151 0.073758997 0.73606002 +0.029898999 0.073720001 0.73566997 +0.030629 0.073642001 0.73488998 +0.031358 0.073564 0.73411 +0.032085001 0.073486 0.73334002 +0.032793999 0.073370002 0.73218 +0.033518001 0.073293 0.73141003 +0.03424 0.073215999 0.73063999 +0.034961 0.073138997 0.72987002 +0.035698999 0.073100001 0.72948998 +0.036417 0.073023997 0.72873002 +0.037154 0.072985001 0.72834003 +0.037909001 0.072985001 0.72834003 +0.038603 0.072871 0.72719997 +0.039296001 0.072756998 0.72605997 +0.040049002 0.072756998 0.72605997 +0.04078 0.072719 0.72567999 +0.041489001 0.072642997 0.72491997 +0.042219002 0.072604999 0.72455001 +0.042970002 0.072604999 0.72455001 +0.043699 0.072567001 0.72417003 +0.044427 0.072529003 0.72378999 +0.045177002 0.072529003 0.72378999 +0.045928001 0.072529003 0.72378999 +0.046654001 0.072492003 0.72341001 +0.04738 0.072453998 0.72303998 +0.048129 0.072453998 0.72303998 +0.048879001 0.072453998 0.72303998 +0.049603 0.072416 0.72266001 +0.050352 0.072416 0.72266001 +0.051102001 0.072416 0.72266001 +0.051851001 0.072416 0.72266001 +0.052600998 0.072416 0.72266001 +0.053321999 0.072379 0.72228998 +0.054071002 0.072379 0.72228998 +0.054848999 0.072416 0.72266001 +0.055597998 0.072416 0.72266001 +0.056347001 0.072416 0.72266001 +0.057126001 0.072453998 0.72303998 +0.057875998 0.072453998 0.72303998 +0.058626 0.072453998 0.72303998 +0.059376001 0.072453998 0.72303998 +0.060157001 0.072492003 0.72341001 +0.060938999 0.072529003 0.72378999 +0.061689001 0.072529003 0.72378999 +0.062407002 0.072492003 0.72341001 +0.063189998 0.072529003 0.72378999 +0.063974001 0.072567001 0.72417003 +0.064759001 0.072604999 0.72455001 +0.065509997 0.072604999 0.72455001 +0.066261001 0.072604999 0.72455001 +0.067083001 0.072681002 0.72530001 +0.067835003 0.072681002 0.72530001 +0.068586998 0.072681002 0.72530001 +0.069375001 0.072719 0.72567999 +0.070164002 0.072756998 0.72605997 +0.070917003 0.072756998 0.72605997 +0.071708001 0.072795004 0.72644001 +0.072461002 0.072795004 0.72644001 +0.073252998 0.072833002 0.72681999 +0.074045002 0.072871 0.72719997 +0.074877001 0.072947003 0.72795999 +0.075672001 0.072985001 0.72834003 +0.076548003 0.073100001 0.72948998 +0.077344999 0.073138997 0.72987002 +0.078142002 0.073177002 0.73026001 +0.078941002 0.073215999 0.73063999 +0.079866998 0.073370002 0.73218 +0.080669001 0.073408999 0.73256999 +0.081514001 0.073486 0.73334002 +0.082188003 0.073408999 0.73256999 +0.082815997 0.073293 0.73141003 +0.083398998 0.073138997 0.72987002 +0.093889996 0.078764997 0.78601998 +0.094438002 0.078543 0.78380001 +0.095197 0.078497998 0.78336 +0.095847003 0.078365996 0.78204 +0.096116997 0.077927001 0.77766001 +0.096598998 0.077666998 0.77506 +0.097131997 0.077450998 0.77289999 +0.098757997 0.078102 0.77941 +0.099120997 0.077753 0.77591997 +0.12525 0.076513998 0.76356 +0.12577 0.076347001 0.76188999 +0.12621 0.076137997 0.75980002 +0.12679 0.076012999 0.75856 +0.12785999 0.076180004 0.76021999 +0.12872 0.076220997 0.76063001 +0.12943999 0.076180004 0.76021999 +0.13008 0.076095998 0.75939 +0.13101 0.076180004 0.76021999 +0.13187 0.076220997 0.76063001 +0.13266 0.076220997 0.76063001 +0.13338 0.076180004 0.76021999 +0.13409001 0.076137997 0.75980002 +0.13488001 0.076137997 0.75980002 +0.13582 0.076220997 0.76063001 +-0.045136999 0.085065 0.84018999 +-0.044238999 0.085013002 0.83969003 +-0.043315999 0.084911004 0.83867002 +-0.042445999 0.084911004 0.83867002 +-0.041526001 0.084807999 0.83766001 +-0.040658001 0.084807999 0.83766001 +-0.039765 0.084757 0.83715999 +-0.038897 0.084757 0.83715999 +-0.038006 0.084706001 0.83665001 +-0.037115999 0.084655002 0.83614999 +-0.036249001 0.084655002 0.83614999 +-0.035360999 0.084605001 0.83565003 +-0.034494001 0.084605001 0.83565003 +-0.033606999 0.084554002 0.83513999 +0.013429 0.076259002 0.75321001 +0.014233 0.076383002 0.75444001 +0.015007 0.076341003 0.75402999 +0.015755 0.076176003 0.75239998 +0.016508 0.076053001 0.75117999 +0.017278001 0.076012 0.75076997 +0.018084999 0.076135002 0.75199002 +0.018835001 0.076012 0.75076997 +0.022472 0.075158998 0.74234998 +0.023229999 0.075119004 0.74194998 +0.023986001 0.075079001 0.74155998 +0.024742 0.075038999 0.74115998 +0.025482999 0.074959002 0.74036998 +0.026195001 0.074799001 0.73879999 +0.026918 0.074680001 0.73762 +0.027669 0.074639998 0.73723 +0.028418001 0.074601002 0.73684001 +0.029167 0.074561 0.73645002 +0.029913999 0.074522004 0.73606002 +0.030645 0.074442998 0.73527998 +0.031390999 0.074404001 0.73488998 +0.032118998 0.074325003 0.73411 +0.032827999 0.074207 0.73294997 +0.033553001 0.074129 0.73218 +0.034258001 0.074011996 0.73102999 +0.034979001 0.073934004 0.73026001 +0.035737 0.073934004 0.73026001 +0.036456 0.073857002 0.72948998 +0.037193 0.073817998 0.72911 +0.037949 0.073817998 0.72911 +0.038644001 0.073702 0.72795999 +0.039356999 0.073624998 0.72719997 +0.040112 0.073624998 0.72719997 +0.040844001 0.073586002 0.72681999 +0.041554 0.073509999 0.72605997 +0.042263001 0.073432997 0.72530001 +0.042993002 0.073394999 0.72491997 +0.043745 0.073394999 0.72491997 +0.04445 0.073317997 0.72417003 +0.045201 0.073317997 0.72417003 +0.045952 0.073317997 0.72417003 +0.046677999 0.073279999 0.72378999 +0.047403999 0.073242001 0.72341001 +0.048154 0.073242001 0.72341001 +0.048905 0.073242001 0.72341001 +0.049628999 0.073204003 0.72303998 +0.050379001 0.073204003 0.72303998 +0.051128 0.073204003 0.72303998 +0.051878002 0.073204003 0.72303998 +0.052627999 0.073204003 0.72303998 +0.053350002 0.073165998 0.72266001 +0.054099001 0.073165998 0.72266001 +0.054877002 0.073204003 0.72303998 +0.055627 0.073204003 0.72303998 +0.056377001 0.073204003 0.72303998 +0.057156 0.073242001 0.72341001 +0.057906002 0.073242001 0.72341001 +0.058656 0.073242001 0.72341001 +0.059406999 0.073242001 0.72341001 +0.060187999 0.073279999 0.72378999 +0.060970001 0.073317997 0.72417003 +0.061721001 0.073317997 0.72417003 +0.062472001 0.073317997 0.72417003 +0.063222997 0.073317997 0.72417003 +0.064006999 0.073356003 0.72455001 +0.064792998 0.073394999 0.72491997 +0.065544002 0.073394999 0.72491997 +0.066295996 0.073394999 0.72491997 +0.067117997 0.073471002 0.72567999 +0.067906 0.073509999 0.72605997 +0.068622999 0.073471002 0.72567999 +0.069448002 0.073547997 0.72644001 +0.070275001 0.073624998 0.72719997 +0.071029 0.073624998 0.72719997 +0.071782999 0.073624998 0.72719997 +0.072575003 0.073664002 0.72758001 +0.073329002 0.073664002 0.72758001 +0.074161001 0.073740996 0.72834003 +0.074956 0.073779002 0.72873002 +0.075750999 0.073817998 0.72911 +0.076587997 0.073895998 0.72987002 +0.077385001 0.073934004 0.73026001 +0.078184001 0.073973 0.73063999 +0.078983001 0.074011996 0.73102999 +0.079908997 0.074167997 0.73256999 +0.080711 0.074207 0.73294997 +0.081600003 0.074325003 0.73411 +0.082275003 0.074247003 0.73334002 +0.08286 0.074089997 0.73180002 +0.083486997 0.073973 0.73063999 +0.093889996 0.079580002 0.78601998 +0.094438002 0.079356 0.78380001 +0.095197 0.079310998 0.78336 +0.095900998 0.079221003 0.78248 +0.096170999 0.078777999 0.77810001 +0.096653 0.078514002 0.77548999 +0.097185999 0.078295998 0.77332997 +0.098757997 0.078910001 0.77941 +0.099120997 0.078557998 0.77591997 +0.12532 0.077349 0.76397997 +0.12583999 0.077179 0.76230001 +0.12627999 0.076967999 0.76021999 +0.12693 0.076884001 0.75939 +0.12800001 0.077051997 0.76104999 +0.12879001 0.077051997 0.76104999 +0.12951 0.077009998 0.76063001 +0.13022 0.076967999 0.76021999 +0.13108 0.077009998 0.76063001 +0.13202 0.077094004 0.76147002 +0.13273001 0.077051997 0.76104999 +0.13345 0.077009998 0.76063001 +0.13417 0.076967999 0.76021999 +0.13495 0.076967999 0.76021999 +0.13589001 0.077051997 0.76104999 +-0.045109 0.085883997 0.83969003 +-0.044211999 0.085832 0.83917999 +-0.043263 0.085676998 0.83766001 +-0.042394999 0.085676998 0.83766001 +-0.041501001 0.085625999 0.83715999 +-0.040633 0.085625999 0.83715999 +-0.039740998 0.085574001 0.83665001 +-0.038872998 0.085574001 0.83665001 +-0.037983 0.085522003 0.83614999 +-0.037094001 0.085470997 0.83565003 +-0.036226999 0.085470997 0.83565003 +-0.035339002 0.085419998 0.83513999 +-0.034453001 0.085368 0.83464003 +-0.033587001 0.085368 0.83464003 +-0.032722 0.085368 0.83464003 +-0.031837001 0.085317001 0.83414 +-0.030972 0.085317001 0.83414 +0.0019002 0.085470997 0.83565003 +0.0027651 0.085419998 0.83513999 +0.014225 0.077123001 0.75402999 +0.015007 0.077123001 0.75402999 +0.015755 0.076955996 0.75239998 +0.016508 0.076831996 0.75117999 +0.017278001 0.076789998 0.75076997 +0.018076001 0.076872997 0.75158 +0.018824 0.076748997 0.75037003 +0.022496 0.076010004 0.74313998 +0.023255 0.075969003 0.74274999 +0.023999 0.075888 0.74194998 +0.024768 0.075888 0.74194998 +0.025497001 0.075767003 0.74076998 +0.026223 0.075645998 0.73957998 +0.026932999 0.075484999 0.73800999 +0.027698001 0.075484999 0.73800999 +0.028448001 0.075444996 0.73762 +0.029198 0.075405002 0.73723 +0.029929999 0.075324997 0.73645002 +0.030678 0.075285003 0.73606002 +0.031408001 0.075204998 0.73527998 +0.032136001 0.075126 0.73449999 +0.032862999 0.075047001 0.73373002 +0.033571001 0.074928001 0.73256999 +0.034276001 0.074809998 0.73141003 +0.034998 0.074731 0.73063999 +0.035755001 0.074731 0.73063999 +0.036474999 0.074652001 0.72987002 +0.037232 0.074652001 0.72987002 +0.037988 0.074652001 0.72987002 +0.038683999 0.074534997 0.72873002 +0.039399002 0.074456997 0.72795999 +0.040132999 0.074418001 0.72758001 +0.040886998 0.074418001 0.72758001 +0.041598 0.074340001 0.72681999 +0.042307001 0.074262001 0.72605997 +0.043037999 0.074224003 0.72567999 +0.043790001 0.074224003 0.72567999 +0.044496 0.074146003 0.72491997 +0.045224 0.074107997 0.72455001 +0.045976002 0.074107997 0.72455001 +0.046727002 0.074107997 0.72455001 +0.047454 0.074069001 0.72417003 +0.048204999 0.074069001 0.72417003 +0.048930001 0.074029997 0.72378999 +0.049655002 0.073991999 0.72341001 +0.050404999 0.073991999 0.72341001 +0.051155001 0.073991999 0.72341001 +0.051904999 0.073991999 0.72341001 +0.052655 0.073991999 0.72341001 +0.053405002 0.073991999 0.72341001 +0.054156002 0.073991999 0.72341001 +0.054905999 0.073991999 0.72341001 +0.055656001 0.073991999 0.72341001 +0.056405999 0.073991999 0.72341001 +0.057156 0.073991999 0.72341001 +0.057906002 0.073991999 0.72341001 +0.058687001 0.074029997 0.72378999 +0.059438001 0.074029997 0.72378999 +0.060219001 0.074069001 0.72417003 +0.061002001 0.074107997 0.72455001 +0.061753999 0.074107997 0.72455001 +0.062504999 0.074107997 0.72455001 +0.063256003 0.074107997 0.72455001 +0.064041004 0.074146003 0.72491997 +0.064825997 0.074184999 0.72530001 +0.065578997 0.074184999 0.72530001 +0.066330999 0.074184999 0.72530001 +0.067152999 0.074262001 0.72605997 +0.067941003 0.074300997 0.72644001 +0.068695001 0.074300997 0.72644001 +0.069519997 0.074378997 0.72719997 +0.070348002 0.074456997 0.72795999 +0.071102999 0.074456997 0.72795999 +0.071857996 0.074456997 0.72795999 +0.072613001 0.074456997 0.72795999 +0.073406003 0.074496001 0.72834003 +0.074199997 0.074534997 0.72873002 +0.074995004 0.074574001 0.72911 +0.075791001 0.074612997 0.72948998 +0.076587997 0.074652001 0.72987002 +0.077426001 0.074731 0.73063999 +0.078225002 0.074770004 0.73102999 +0.079024002 0.074809998 0.73141003 +0.080035001 0.075047001 0.73373002 +0.080881998 0.075126 0.73449999 +0.081772998 0.075245 0.73566997 +0.082448997 0.075166002 0.73488998 +0.082947001 0.074928001 0.73256999 +0.083575003 0.074809998 0.73141003 +0.093889996 0.080394998 0.78601998 +0.094438002 0.080168001 0.78380001 +0.095142998 0.080077998 0.78292 +0.095900998 0.080032997 0.78248 +0.096225001 0.079628997 0.77853 +0.096653 0.079318002 0.77548999 +0.097240001 0.079141997 0.77376002 +0.098701999 0.079673998 0.77897 +0.099120997 0.079363003 0.77591997 +0.12466 0.079230003 0.77463001 +0.12538999 0.078184001 0.76440001 +0.12591 0.078011997 0.76271999 +0.12642001 0.077840999 0.76104999 +0.12706999 0.077756003 0.76021999 +0.12807 0.077884004 0.76147002 +0.12886 0.077884004 0.76147002 +0.12958001 0.077840999 0.76104999 +0.1303 0.077799 0.76063001 +0.13116001 0.077840999 0.76104999 +0.13209 0.077927001 0.76188999 +0.13281 0.077884004 0.76147002 +0.13345 0.077799 0.76063001 +0.13424 0.077799 0.76063001 +0.13503 0.077799 0.76063001 +0.13597 0.077884004 0.76147002 +-0.038826998 0.086337999 0.83565003 +-0.03796 0.086337999 0.83565003 +-0.037048999 0.086234003 0.83464003 +-0.036184002 0.086234003 0.83464003 +-0.035317998 0.086234003 0.83464003 +-0.034432001 0.086181998 0.83414 +-0.033546999 0.086130001 0.83363998 +-0.032682002 0.086130001 0.83363998 +-0.031799 0.086079001 0.83314002 +-0.030935001 0.086079001 0.83314002 +-0.030071 0.086079001 0.83314002 +-0.029172 0.085975997 0.83214003 +0.0018979 0.086234003 0.83464003 +0.0027634001 0.086234003 0.83464003 +0.0036289 0.086234003 0.83464003 +0.0044944002 0.086234003 0.83464003 +0.014225 0.077904999 0.75402999 +0.015007 0.077904999 0.75402999 +0.015745999 0.077693999 0.75199002 +0.016499 0.077569 0.75076997 +0.017278001 0.077569 0.75076997 +0.022496 0.076779999 0.74313998 +0.023255 0.076738998 0.74274999 +0.024011999 0.076697998 0.74234998 +0.024782 0.076697998 0.74234998 +0.025511 0.076576002 0.74115998 +0.026237 0.076453 0.73997998 +0.026961001 0.076330997 0.73879999 +0.027713001 0.076291002 0.73841 +0.028463 0.076250002 0.73800999 +0.029213 0.07621 0.73762 +0.029945999 0.076128997 0.73684001 +0.030694 0.076089002 0.73645002 +0.031424001 0.076007999 0.73566997 +0.032170001 0.075967997 0.73527998 +0.032898001 0.075888 0.73449999 +0.033606 0.075767003 0.73334002 +0.034294002 0.075608 0.73180002 +0.035016 0.075528003 0.73102999 +0.035774 0.075528003 0.73102999 +0.036513001 0.075488999 0.73063999 +0.037250999 0.075448997 0.73026001 +0.038008001 0.075448997 0.73026001 +0.038704999 0.075329997 0.72911 +0.039439999 0.075291 0.72873002 +0.040174998 0.075250998 0.72834003 +0.040908001 0.075212002 0.72795999 +0.041641001 0.075172 0.72758001 +0.042351998 0.075094 0.72681999 +0.043083001 0.075055003 0.72644001 +0.043813001 0.075015001 0.72605997 +0.044519 0.074937001 0.72530001 +0.045272 0.074937001 0.72530001 +0.046023998 0.074937001 0.72530001 +0.046751 0.074897997 0.72491997 +0.047478002 0.074859001 0.72455001 +0.04823 0.074859001 0.72455001 +0.048955001 0.074819997 0.72417003 +0.049681 0.074781001 0.72378999 +0.050430998 0.074781001 0.72378999 +0.051182002 0.074781001 0.72378999 +0.051932 0.074781001 0.72378999 +0.052683 0.074781001 0.72378999 +0.053433001 0.074781001 0.72378999 +0.054184001 0.074781001 0.72378999 +0.054933999 0.074781001 0.72378999 +0.055684999 0.074781001 0.72378999 +0.056435 0.074781001 0.72378999 +0.057186 0.074781001 0.72378999 +0.057936002 0.074781001 0.72378999 +0.058718 0.074819997 0.72417003 +0.059469 0.074819997 0.72417003 +0.060251001 0.074859001 0.72455001 +0.061034001 0.074897997 0.72491997 +0.061786 0.074897997 0.72491997 +0.062537 0.074897997 0.72491997 +0.063289002 0.074897997 0.72491997 +0.064074002 0.074937001 0.72530001 +0.064860001 0.074975997 0.72567999 +0.065613002 0.074975997 0.72567999 +0.066399999 0.075015001 0.72605997 +0.067222998 0.075094 0.72681999 +0.068011999 0.075133003 0.72719997 +0.068765998 0.075133003 0.72719997 +0.069592997 0.075212002 0.72795999 +0.070385002 0.075250998 0.72834003 +0.071177997 0.075291 0.72873002 +0.071896002 0.075250998 0.72834003 +0.072688997 0.075291 0.72873002 +0.073482998 0.075329997 0.72911 +0.074239001 0.075329997 0.72911 +0.075034998 0.075369999 0.72948998 +0.075831003 0.075409003 0.72987002 +0.076628 0.075448997 0.73026001 +0.077426001 0.075488999 0.73063999 +0.078225002 0.075528003 0.73102999 +0.079066001 0.075608 0.73180002 +0.080162004 0.075928003 0.73488998 +0.081053004 0.076048002 0.73606002 +0.081990004 0.07621 0.73762 +0.082535997 0.076007999 0.73566997 +0.083079003 0.075806998 0.73373002 +0.083663002 0.075648002 0.73218 +0.093943 0.081256002 0.78645998 +0.094384998 0.080935001 0.78336 +0.095090002 0.080844 0.78248 +0.095900998 0.080844 0.78248 +0.096332997 0.080527 0.77941 +0.096707001 0.080167003 0.77591997 +0.097295001 0.079989001 0.77419001 +0.098701999 0.080481999 0.77897 +0.099120997 0.080167003 0.77591997 +0.12604 0.086493999 0.83715999 +0.12466 0.080032997 0.77463001 +0.12553 0.079063997 0.76524001 +0.12598 0.078846 0.76314002 +0.12649 0.078674003 0.76147002 +0.12714 0.078588001 0.76063001 +0.12814 0.078717001 0.76188999 +0.12893 0.078717001 0.76188999 +0.12965 0.078674003 0.76147002 +0.13037001 0.078630999 0.76104999 +0.1313 0.078717001 0.76188999 +0.13215999 0.078759998 0.76230001 +0.13281 0.078674003 0.76147002 +0.13352001 0.078630999 0.76104999 +0.13424 0.078588001 0.76063001 +0.13510001 0.078630999 0.76104999 +0.13604 0.078717001 0.76188999 +-0.037914999 0.087099001 0.83464003 +-0.036162 0.087047003 0.83414 +-0.035275999 0.086994998 0.83363998 +-0.034410998 0.086994998 0.83363998 +-0.033527002 0.086943001 0.83314002 +-0.032662999 0.086943001 0.83314002 +-0.031780001 0.086891003 0.83263999 +-0.030916 0.086891003 0.83263999 +-0.030035 0.086838998 0.83214003 +-0.029137 0.086735003 0.83115 +-0.028275 0.086735003 0.83115 +0.0018968 0.087047003 0.83414 +0.0027618001 0.087047003 0.83414 +0.0036267 0.087047003 0.83414 +0.014233 0.078730002 0.75444001 +0.015007 0.078686997 0.75402999 +0.015755 0.078516997 0.75239998 +0.02252 0.077633999 0.74394 +0.023279 0.077592999 0.74353999 +0.024038 0.077551 0.74313998 +0.024795 0.077509999 0.74274999 +0.025524 0.077385999 0.74155998 +0.026250999 0.077261999 0.74036998 +0.026976001 0.077138998 0.73918998 +0.027727 0.077097997 0.73879999 +0.028478 0.077056997 0.73841 +0.029229 0.077016003 0.73800999 +0.029962 0.076934002 0.73723 +0.030710001 0.076893002 0.73684001 +0.031458002 0.076852001 0.73645002 +0.032187 0.076770999 0.73566997 +0.032915 0.076690003 0.73488998 +0.033642001 0.076609001 0.73411 +0.034329999 0.076447003 0.73256999 +0.035053 0.076366998 0.73180002 +0.035812002 0.076366998 0.73180002 +0.036532 0.076286003 0.73102999 +0.037271 0.076246001 0.73063999 +0.038028002 0.076246001 0.73063999 +0.038745001 0.076165996 0.72987002 +0.039461002 0.076086 0.72911 +0.040196002 0.076045997 0.72873002 +0.040950999 0.076045997 0.72873002 +0.041685 0.076007001 0.72834003 +0.042396002 0.075926997 0.72758001 +0.043127999 0.075887002 0.72719997 +0.043882001 0.075887002 0.72719997 +0.044566002 0.075768001 0.72605997 +0.045295 0.075728998 0.72567999 +0.046048 0.075728998 0.72567999 +0.046776 0.075689003 0.72530001 +0.047527999 0.075689003 0.72530001 +0.048280001 0.075689003 0.72530001 +0.049006999 0.075649999 0.72491997 +0.049732 0.075609997 0.72455001 +0.050457001 0.075571001 0.72417003 +0.051208001 0.075571001 0.72417003 +0.051959001 0.075571001 0.72417003 +0.052683 0.075530998 0.72378999 +0.053461 0.075571001 0.72417003 +0.054212 0.075571001 0.72417003 +0.054963 0.075571001 0.72417003 +0.055714 0.075571001 0.72417003 +0.056465 0.075571001 0.72417003 +0.057216 0.075571001 0.72417003 +0.057996999 0.075609997 0.72455001 +0.058747999 0.075609997 0.72455001 +0.059500001 0.075609997 0.72455001 +0.060281999 0.075649999 0.72491997 +0.061066002 0.075689003 0.72530001 +0.061818 0.075689003 0.72530001 +0.062602997 0.075728998 0.72567999 +0.063354999 0.075728998 0.72567999 +0.064140998 0.075768001 0.72605997 +0.064928003 0.075808004 0.72644001 +0.065681003 0.075808004 0.72644001 +0.066468999 0.075847 0.72681999 +0.067293003 0.075926997 0.72758001 +0.068084002 0.075966999 0.72795999 +0.068838 0.075966999 0.72795999 +0.069665998 0.076045997 0.72873002 +0.070459001 0.076086 0.72911 +0.071214996 0.076086 0.72911 +0.071970999 0.076086 0.72911 +0.072727002 0.076086 0.72911 +0.073522002 0.076126002 0.72948998 +0.074277997 0.076126002 0.72948998 +0.075074002 0.076165996 0.72987002 +0.075870998 0.076205999 0.73026001 +0.076628 0.076205999 0.73026001 +0.077467002 0.076286003 0.73102999 +0.078266002 0.076327004 0.73141003 +0.079108 0.076407 0.73218 +0.080289997 0.076811999 0.73606002 +0.081225 0.076975003 0.73762 +0.082121 0.077097997 0.73879999 +0.082667001 0.076893002 0.73684001 +0.083210997 0.076690003 0.73488998 +0.083839998 0.076568 0.73373002 +0.093943 0.082071997 0.78645998 +0.094384998 0.081748001 0.78336 +0.095036 0.081610002 0.78204 +0.095900998 0.081656002 0.78248 +0.096386999 0.081381001 0.77983999 +0.096761003 0.081017002 0.77635998 +0.097349003 0.080835998 0.77463001 +0.098646998 0.081243999 0.77853 +0.099120997 0.080972001 0.77591997 +0.12589 0.087256998 0.83614999 +0.12466 0.080835998 0.77463001 +0.12477 0.080388002 0.77033001 +0.12567 0.079944998 0.76608998 +0.12605 0.079682 0.76356 +0.12656 0.079507001 0.76188999 +0.12728 0.079462998 0.76147002 +0.12820999 0.079549998 0.76230001 +0.12893 0.079507001 0.76188999 +0.12965 0.079462998 0.76147002 +0.13044 0.079462998 0.76147002 +0.13136999 0.079549998 0.76230001 +0.13223 0.079594001 0.76271999 +0.13288 0.079507001 0.76188999 +0.13352001 0.07942 0.76104999 +0.13431001 0.07942 0.76104999 +0.13518 0.079462998 0.76147002 +0.13610999 0.079549998 0.76230001 +-0.035255 0.087807 0.83314002 +-0.032643002 0.087754004 0.83263999 +-0.031741999 0.087649003 0.83165002 +-0.030897999 0.087701 0.83214003 +-0.030017 0.087649003 0.83165002 +-0.02912 0.087544002 0.83064997 +-0.028258 0.087544002 0.83064997 +0.0027600999 0.087858997 0.83363998 +0.0036245999 0.087858997 0.83363998 +0.015007 0.079469003 0.75402999 +0.022531999 0.078446999 0.74434 +0.023291999 0.078405 0.74394 +0.024049999 0.078364 0.74353999 +0.024821 0.078364 0.74353999 +0.025537999 0.078195997 0.74194998 +0.026265001 0.078070998 0.74076998 +0.027004 0.077987999 0.73997998 +0.027757 0.077946 0.73957998 +0.028509 0.077904999 0.73918998 +0.029244 0.077822 0.73841 +0.029978 0.077739999 0.73762 +0.030727001 0.077698 0.73723 +0.031474002 0.077656999 0.73684001 +0.032203998 0.077574998 0.73606002 +0.032933 0.077492997 0.73527998 +0.033659 0.077411003 0.73449999 +0.034348998 0.077248 0.73294997 +0.035071999 0.077165999 0.73218 +0.03585 0.077206999 0.73256999 +0.036571 0.077125996 0.73180002 +0.037310001 0.077085003 0.73141003 +0.038047999 0.077044003 0.73102999 +0.038766 0.076963 0.73026001 +0.039501999 0.076922998 0.72987002 +0.040238 0.076883003 0.72948998 +0.040994 0.076883003 0.72948998 +0.041728999 0.076842003 0.72911 +0.042440001 0.076761998 0.72834003 +0.043173 0.076722004 0.72795999 +0.043928001 0.076722004 0.72795999 +0.044613 0.076600999 0.72681999 +0.045366 0.076600999 0.72681999 +0.046096001 0.076560996 0.72644001 +0.046824999 0.076521002 0.72605997 +0.047578 0.076521002 0.72605997 +0.048305001 0.076481 0.72567999 +0.049031999 0.076440997 0.72530001 +0.049757998 0.076401003 0.72491997 +0.05051 0.076401003 0.72491997 +0.051261999 0.076401003 0.72491997 +0.051986001 0.076361999 0.72455001 +0.05271 0.076321997 0.72417003 +0.053489 0.076361999 0.72455001 +0.05424 0.076361999 0.72455001 +0.054992002 0.076361999 0.72455001 +0.055743001 0.076361999 0.72455001 +0.056494001 0.076361999 0.72455001 +0.057246 0.076361999 0.72455001 +0.058026999 0.076401003 0.72491997 +0.058779001 0.076401003 0.72491997 +0.059531 0.076401003 0.72491997 +0.060314 0.076440997 0.72530001 +0.061097998 0.076481 0.72567999 +0.061882999 0.076521002 0.72605997 +0.062634997 0.076521002 0.72605997 +0.063422002 0.076560996 0.72644001 +0.064208001 0.076600999 0.72681999 +0.065030001 0.076681003 0.72758001 +0.065750003 0.076641001 0.72719997 +0.066538997 0.076681003 0.72758001 +0.067364 0.076761998 0.72834003 +0.068154998 0.076802 0.72873002 +0.068911001 0.076802 0.72873002 +0.069702998 0.076842003 0.72911 +0.070496 0.076883003 0.72948998 +0.071252003 0.076883003 0.72948998 +0.072008997 0.076883003 0.72948998 +0.072802998 0.076922998 0.72987002 +0.073559999 0.076922998 0.72987002 +0.074355997 0.076963 0.73026001 +0.075112998 0.076963 0.73026001 +0.075911 0.077004001 0.73063999 +0.076668002 0.077004001 0.73063999 +0.077506997 0.077085003 0.73141003 +0.078307003 0.077125996 0.73180002 +0.080503002 0.077780999 0.73800999 +0.081398003 0.077904999 0.73918998 +0.082208 0.077946 0.73957998 +0.082754999 0.077739999 0.73762 +0.083342999 0.077574998 0.73606002 +0.084151 0.077615999 0.73645002 +0.093889996 0.082840003 0.78601998 +0.094384998 0.082560003 0.78336 +0.095036 0.082420997 0.78204 +0.095900998 0.082466997 0.78248 +0.096386999 0.082189001 0.77983999 +0.096761003 0.081822 0.77635998 +0.097456999 0.081730999 0.77548999 +0.098646998 0.082051001 0.77853 +0.099120997 0.081776001 0.77591997 +0.12574001 0.088018 0.83513999 +0.12653001 0.087964997 0.83464003 +0.12466 0.081639998 0.77463001 +0.12477 0.081187002 0.77033001 +0.12574001 0.080784 0.76651001 +0.12605 0.080472998 0.76356 +0.12662999 0.080340996 0.76230001 +0.12735 0.080297001 0.76188999 +0.12828 0.080385 0.76271999 +0.12899999 0.080340996 0.76230001 +0.12972 0.080297001 0.76188999 +0.13051 0.080297001 0.76188999 +0.13144 0.080385 0.76271999 +0.13231 0.080429003 0.76314002 +0.13294999 0.080340996 0.76230001 +0.1336 0.080252998 0.76147002 +0.13439 0.080252998 0.76147002 +0.13518 0.080252998 0.76147002 +0.13619 0.080385 0.76271999 +-0.045566998 0.088564001 0.83214003 +-0.030861 0.088458002 0.83115 +-0.029981 0.088405997 0.83064997 +-0.029101999 0.088353001 0.83016002 +-0.028224999 0.088299997 0.82966 +0.015023 0.080338001 0.75484997 +0.022531999 0.079218999 0.74434 +0.023304 0.079218999 0.74434 +0.024063 0.079177 0.74394 +0.024835 0.079177 0.74394 +0.025551001 0.079007998 0.74234998 +0.026279001 0.078881003 0.74115998 +0.027019 0.078796998 0.74036998 +0.027772 0.078754999 0.73997998 +0.028524 0.078713 0.73957998 +0.02926 0.07863 0.73879999 +0.03001 0.078588001 0.73841 +0.030742999 0.078505002 0.73762 +0.031491 0.078463003 0.73723 +0.032221001 0.078380004 0.73645002 +0.032949999 0.078296997 0.73566997 +0.033695001 0.078254998 0.73527998 +0.034384999 0.078089997 0.73373002 +0.035108998 0.078008004 0.73294997 +0.035888001 0.078048997 0.73334002 +0.036609001 0.077967003 0.73256999 +0.037349001 0.077924997 0.73218 +0.038088001 0.077884004 0.73180002 +0.038805999 0.077802002 0.73102999 +0.039544001 0.077762 0.73063999 +0.040259 0.077679999 0.72987002 +0.041016001 0.077679999 0.72987002 +0.041772999 0.077679999 0.72987002 +0.042484999 0.077597998 0.72911 +0.043218002 0.077558003 0.72873002 +0.043974001 0.077558003 0.72873002 +0.044682998 0.077476002 0.72795999 +0.045414001 0.077436 0.72758001 +0.046144001 0.077395 0.72719997 +0.046874002 0.077354997 0.72681999 +0.047626998 0.077354997 0.72681999 +0.048381001 0.077354997 0.72681999 +0.049082998 0.077274002 0.72605997 +0.04981 0.077234 0.72567999 +0.050535999 0.077192999 0.72530001 +0.051288001 0.077192999 0.72530001 +0.052041002 0.077192999 0.72530001 +0.052765001 0.077152997 0.72491997 +0.053516999 0.077152997 0.72491997 +0.054269001 0.077152997 0.72491997 +0.055020001 0.077152997 0.72491997 +0.055801 0.077192999 0.72530001 +0.056524001 0.077152997 0.72491997 +0.057305001 0.077192999 0.72530001 +0.058056999 0.077192999 0.72530001 +0.058809999 0.077192999 0.72530001 +0.059562001 0.077192999 0.72530001 +0.060345002 0.077234 0.72567999 +0.061129998 0.077274002 0.72605997 +0.061914999 0.077313997 0.72644001 +0.062701002 0.077354997 0.72681999 +0.063487999 0.077395 0.72719997 +0.064276002 0.077436 0.72758001 +0.065063998 0.077476002 0.72795999 +0.065819003 0.077476002 0.72795999 +0.066609003 0.077517003 0.72834003 +0.067399003 0.077558003 0.72873002 +0.068190999 0.077597998 0.72911 +0.068983003 0.077638999 0.72948998 +0.069775999 0.077679999 0.72987002 +0.070533 0.077679999 0.72987002 +0.071290001 0.077679999 0.72987002 +0.072084002 0.077721 0.73026001 +0.072842002 0.077721 0.73026001 +0.073638 0.077762 0.73063999 +0.074395001 0.077762 0.73063999 +0.075153001 0.077762 0.73063999 +0.075951003 0.077802002 0.73102999 +0.076709002 0.077802002 0.73102999 +0.077547997 0.077884004 0.73180002 +0.078390002 0.077967003 0.73256999 +0.080631003 0.078671999 0.73918998 +0.081485003 0.078754999 0.73997998 +0.082252003 0.078754999 0.73997998 +0.082842998 0.078588001 0.73841 +0.083476 0.078463003 0.73723 +0.084284998 0.078505002 0.73762 +0.093783997 0.083561003 0.78513002 +0.094332002 0.083324999 0.78292 +0.094982997 0.083185002 0.7816 +0.095793001 0.083185002 0.7816 +0.096386999 0.082998 0.77983999 +0.096814997 0.082672998 0.77679002 +0.097456999 0.082534999 0.77548999 +0.098480999 0.082719997 0.77723002 +0.099065997 0.082534999 0.77548999 +0.12559 0.088776998 0.83414 +0.12459 0.082396999 0.77419001 +0.1247 0.081940003 0.76990998 +0.12536 0.08185 0.76905 +0.12581 0.081624001 0.76692998 +0.12612 0.081309997 0.76397997 +0.1267 0.081175998 0.76271999 +0.12749 0.081175998 0.76271999 +0.12835 0.081220001 0.76314002 +0.12907 0.081175998 0.76271999 +0.12978999 0.081130996 0.76230001 +0.13057999 0.081130996 0.76230001 +0.13152 0.081220001 0.76314002 +0.13237999 0.081265002 0.76356 +0.13294999 0.081130996 0.76230001 +0.13367 0.081087001 0.76188999 +0.13439 0.081041999 0.76147002 +0.13525 0.081087001 0.76188999 +0.13626 0.081220001 0.76314002 +-0.092528 0.088947996 0.82767999 +-0.077124998 0.089001 0.82818002 +-0.048012 0.089160003 0.82966 +-0.047208 0.089267001 0.83064997 +-0.046291001 0.089160003 0.82966 +-0.04535 0.089001 0.82818002 +-0.044544 0.089106999 0.82915998 +-0.043683998 0.089106999 0.82915998 +-0.042849999 0.089160003 0.82966 +-0.030824 0.089213997 0.83016002 +-0.029944999 0.089160003 0.82966 +-0.029084999 0.089160003 0.82966 +0.01504 0.081208996 0.75567001 +0.022545001 0.080034003 0.74474001 +0.023317 0.080034003 0.74474001 +0.024076 0.079990998 0.74434 +0.024847999 0.079990998 0.74434 +0.025565 0.07982 0.74274999 +0.026293 0.079691999 0.74155998 +0.027047999 0.07965 0.74115998 +0.027801 0.079607002 0.74076998 +0.028554 0.079565004 0.74036998 +0.029291 0.07948 0.73957998 +0.030042 0.079438001 0.73918998 +0.030758999 0.079310998 0.73800999 +0.031507999 0.079268999 0.73762 +0.032237999 0.079185002 0.73684001 +0.032968 0.079101004 0.73606002 +0.033713002 0.079060003 0.73566997 +0.034421001 0.078933999 0.73449999 +0.035146002 0.078850999 0.73373002 +0.035905998 0.078850999 0.73373002 +0.036628999 0.078768 0.73294997 +0.037369002 0.078726001 0.73256999 +0.038109001 0.078685001 0.73218 +0.038826998 0.078602001 0.73141003 +0.039563999 0.078561001 0.73102999 +0.040300999 0.078519002 0.73063999 +0.041037001 0.078478001 0.73026001 +0.041795 0.078478001 0.73026001 +0.042507 0.078396 0.72948998 +0.043241002 0.078354001 0.72911 +0.043997001 0.078354001 0.72911 +0.04473 0.078313001 0.72873002 +0.045460999 0.078272 0.72834003 +0.046192002 0.078230999 0.72795999 +0.046898 0.078148998 0.72719997 +0.047651999 0.078148998 0.72719997 +0.048406001 0.078148998 0.72719997 +0.049135 0.078109004 0.72681999 +0.049862001 0.078068003 0.72644001 +0.050563 0.077986002 0.72567999 +0.051341999 0.078027003 0.72605997 +0.052067999 0.077986002 0.72567999 +0.052793 0.077945001 0.72530001 +0.053544998 0.077945001 0.72530001 +0.054297 0.077945001 0.72530001 +0.055048998 0.077945001 0.72530001 +0.055830002 0.077986002 0.72567999 +0.056582998 0.077986002 0.72567999 +0.057335 0.077986002 0.72567999 +0.058088001 0.077986002 0.72567999 +0.058839999 0.077986002 0.72567999 +0.059593 0.077986002 0.72567999 +0.060377002 0.078027003 0.72605997 +0.061161999 0.078068003 0.72644001 +0.061980002 0.078148998 0.72719997 +0.062766999 0.078189999 0.72758001 +0.063553996 0.078230999 0.72795999 +0.064342998 0.078272 0.72834003 +0.065132 0.078313001 0.72873002 +0.065888003 0.078313001 0.72873002 +0.066643998 0.078313001 0.72873002 +0.067434996 0.078354001 0.72911 +0.068227001 0.078396 0.72948998 +0.069018997 0.078437001 0.72987002 +0.069812998 0.078478001 0.73026001 +0.07057 0.078478001 0.73026001 +0.071364999 0.078519002 0.73063999 +0.072122 0.078519002 0.73063999 +0.07288 0.078519002 0.73063999 +0.073675998 0.078561001 0.73102999 +0.074433997 0.078561001 0.73102999 +0.075231999 0.078602001 0.73141003 +0.075990997 0.078602001 0.73141003 +0.076748997 0.078602001 0.73141003 +0.077547997 0.078643002 0.73180002 +0.078390002 0.078726001 0.73256999 +0.079907 0.07948 0.73957998 +0.080716997 0.079522997 0.73997998 +0.081572004 0.079607002 0.74076998 +0.082252003 0.079522997 0.73997998 +0.082842998 0.079354003 0.73841 +0.083563998 0.079310998 0.73800999 +0.084329002 0.079310998 0.73800999 +0.093677998 0.084279999 0.78424001 +0.094332002 0.084137 0.78292 +0.094982997 0.083995 0.7816 +0.095686004 0.083901003 0.78072 +0.096386999 0.083806999 0.77983999 +0.096814997 0.083479002 0.77679002 +0.097456999 0.083338998 0.77548999 +0.098370999 0.083431996 0.77635998 +0.099065997 0.083338998 0.77548999 +0.12445 0.083107002 0.77332997 +0.12463 0.082693003 0.76947999 +0.12522 0.082556002 0.76819998 +0.12574001 0.082373999 0.76651001 +0.12617999 0.082147002 0.76440001 +0.12677 0.082011998 0.76314002 +0.12756 0.082011998 0.76314002 +0.12842 0.082056999 0.76356 +0.12907 0.081967004 0.76271999 +0.12978999 0.081922002 0.76230001 +0.13065 0.081967004 0.76271999 +0.13158999 0.082056999 0.76356 +0.13245 0.082102001 0.76397997 +0.13303 0.081967004 0.76271999 +0.13367 0.081877001 0.76188999 +0.13446 0.081877001 0.76188999 +0.13525 0.081877001 0.76188999 +0.13634001 0.082056999 0.76356 +-0.077936999 0.089805998 0.82767999 +-0.076220997 0.089805998 0.82767999 +-0.046983 0.089699 0.82669997 +-0.046099 0.089645997 0.82621002 +-0.042697001 0.089699 0.82669997 +-0.041889999 0.089805998 0.82767999 +-0.041056 0.08986 0.82818002 +-0.040245 0.089966998 0.82915998 +0.022545001 0.080806002 0.74474001 +0.023317 0.080806002 0.74474001 +0.024088999 0.080806002 0.74474001 +0.024847999 0.080762997 0.74434 +0.025579 0.080633 0.74313998 +0.026320999 0.080546997 0.74234998 +0.027062001 0.080461003 0.74155998 +0.027815999 0.080417998 0.74115998 +0.028585 0.080417998 0.74115998 +0.029322 0.080333002 0.74036998 +0.030074 0.080289997 0.73997998 +0.030792 0.080162004 0.73879999 +0.031523999 0.080077 0.73800999 +0.032256 0.079991996 0.73723 +0.032985002 0.079907 0.73645002 +0.033730999 0.079865001 0.73606002 +0.034439001 0.079737999 0.73488998 +0.035163999 0.079654001 0.73411 +0.035925001 0.079654001 0.73411 +0.036667001 0.079612002 0.73373002 +0.037408002 0.079570003 0.73334002 +0.038129002 0.079485998 0.73256999 +0.038867999 0.079443999 0.73218 +0.039585002 0.079360001 0.73141003 +0.040323 0.079319 0.73102999 +0.041081 0.079319 0.73102999 +0.041816998 0.079277001 0.73063999 +0.04253 0.079194002 0.72987002 +0.043264002 0.079152003 0.72948998 +0.044020001 0.079152003 0.72948998 +0.044753 0.079109997 0.72911 +0.045485001 0.079069003 0.72873002 +0.046216998 0.079028003 0.72834003 +0.046946999 0.078985997 0.72795999 +0.047702 0.078985997 0.72795999 +0.048457 0.078985997 0.72795999 +0.04916 0.078902997 0.72719997 +0.049888 0.078861997 0.72681999 +0.050588999 0.078780003 0.72605997 +0.051369 0.078821003 0.72644001 +0.052095 0.078780003 0.72605997 +0.052820001 0.078739002 0.72567999 +0.053601 0.078780003 0.72605997 +0.054324999 0.078739002 0.72567999 +0.055107001 0.078780003 0.72605997 +0.055858999 0.078780003 0.72605997 +0.056612 0.078780003 0.72605997 +0.057365 0.078780003 0.72605997 +0.058148 0.078821003 0.72644001 +0.058901999 0.078821003 0.72644001 +0.059655 0.078821003 0.72644001 +0.06044 0.078861997 0.72681999 +0.061225999 0.078902997 0.72719997 +0.062045 0.078985997 0.72795999 +0.062799998 0.078985997 0.72795999 +0.063588001 0.079028003 0.72834003 +0.064377002 0.079069003 0.72873002 +0.065167002 0.079109997 0.72911 +0.065922998 0.079109997 0.72911 +0.066679001 0.079109997 0.72911 +0.067469999 0.079152003 0.72948998 +0.068262003 0.079194002 0.72987002 +0.069054998 0.079235002 0.73026001 +0.069848999 0.079277001 0.73063999 +0.070606999 0.079277001 0.73063999 +0.071401998 0.079319 0.73102999 +0.072159998 0.079319 0.73102999 +0.072957002 0.079360001 0.73141003 +0.073753998 0.079402 0.73180002 +0.074513003 0.079402 0.73180002 +0.075272001 0.079402 0.73180002 +0.076030999 0.079402 0.73180002 +0.076788999 0.079402 0.73180002 +0.077629998 0.079485998 0.73256999 +0.079993002 0.080333002 0.74036998 +0.080802999 0.080375999 0.74076998 +0.081615001 0.080417998 0.74115998 +0.082295999 0.080333002 0.74036998 +0.082887001 0.080162004 0.73879999 +0.083653003 0.080162004 0.73879999 +0.084329002 0.080077 0.73800999 +0.093625002 0.085045002 0.78380001 +0.094278 0.084900998 0.78248 +0.094930001 0.084757999 0.78116 +0.095632002 0.084663004 0.78027999 +0.096386999 0.084615 0.77983999 +0.096869998 0.084330998 0.77723002 +0.097511999 0.084190004 0.77591997 +0.098315999 0.084190004 0.77591997 +0.099065997 0.084142998 0.77548999 +0.12438 0.083861999 0.77289999 +0.12456 0.083444998 0.76905 +0.12522 0.083352 0.76819998 +0.12581 0.083214 0.76692998 +0.12617999 0.082939997 0.76440001 +0.12691 0.082893997 0.76397997 +0.1277 0.082893997 0.76397997 +0.12849 0.082893997 0.76397997 +0.12914 0.082803003 0.76314002 +0.12993 0.082803003 0.76314002 +0.13079999 0.082849003 0.76356 +0.13173001 0.082939997 0.76440001 +0.13253 0.082939997 0.76440001 +0.1331 0.082803003 0.76314002 +0.13373999 0.082712002 0.76230001 +0.13452999 0.082712002 0.76230001 +0.13531999 0.082712002 0.76230001 +0.13641 0.082893997 0.76397997 +-0.077032998 0.090609998 0.82718998 +-0.041765001 0.090395004 0.82523 +-0.040957998 0.090503 0.82621002 +-0.040125001 0.090557002 0.82669997 +0.024861 0.081579 0.74474001 +0.025591999 0.081448004 0.74353999 +0.026334999 0.081361003 0.74274999 +0.027091 0.081317 0.74234998 +0.027845999 0.081274003 0.74194998 +0.0286 0.08123 0.74155998 +0.029353 0.081187002 0.74115998 +0.03009 0.081100002 0.74036998 +0.030808 0.080971003 0.73918998 +0.031558 0.080927998 0.73879999 +0.032272998 0.080798998 0.73762 +0.033002 0.080712996 0.73684001 +0.033748999 0.080670998 0.73645002 +0.034458 0.080542997 0.73527998 +0.035183001 0.080458 0.73449999 +0.035944 0.080458 0.73449999 +0.036687002 0.080415003 0.73411 +0.037427999 0.080372997 0.73373002 +0.038169 0.080329999 0.73334002 +0.038888 0.080245003 0.73256999 +0.039627001 0.080202997 0.73218 +0.040344 0.080118999 0.73141003 +0.041102 0.080118999 0.73141003 +0.041839 0.080077 0.73102999 +0.042552002 0.079991996 0.73026001 +0.043285999 0.079949997 0.72987002 +0.044043001 0.079949997 0.72987002 +0.044776998 0.079907998 0.72948998 +0.045508999 0.079866998 0.72911 +0.046241 0.079824999 0.72873002 +0.046971999 0.079783 0.72834003 +0.047727 0.079783 0.72834003 +0.048482001 0.079783 0.72834003 +0.049212001 0.079741001 0.72795999 +0.049941 0.079699002 0.72758001 +0.050641999 0.079616003 0.72681999 +0.051422998 0.079658002 0.72719997 +0.052149002 0.079616003 0.72681999 +0.052875001 0.079573996 0.72644001 +0.053629 0.079573996 0.72644001 +0.054382 0.079573996 0.72644001 +0.055135 0.079573996 0.72644001 +0.055918001 0.079616003 0.72681999 +0.056671999 0.079616003 0.72681999 +0.057425 0.079616003 0.72681999 +0.058208998 0.079658002 0.72719997 +0.058933001 0.079616003 0.72681999 +0.059686001 0.079616003 0.72681999 +0.060472 0.079658002 0.72719997 +0.06129 0.079741001 0.72795999 +0.062077001 0.079783 0.72834003 +0.062864996 0.079824999 0.72873002 +0.063620999 0.079824999 0.72873002 +0.064410001 0.079866998 0.72911 +0.065200999 0.079907998 0.72948998 +0.065957002 0.079907998 0.72948998 +0.066714004 0.079907998 0.72948998 +0.067506 0.079949997 0.72987002 +0.068297997 0.079991996 0.73026001 +0.069091998 0.080035001 0.73063999 +0.069885999 0.080077 0.73102999 +0.070643999 0.080077 0.73102999 +0.071439996 0.080118999 0.73141003 +0.072198004 0.080118999 0.73141003 +0.073034003 0.080202997 0.73218 +0.073831998 0.080245003 0.73256999 +0.074591003 0.080245003 0.73256999 +0.075351 0.080245003 0.73256999 +0.076110996 0.080245003 0.73256999 +0.076870002 0.080245003 0.73256999 +0.077711999 0.080329999 0.73334002 +0.080077998 0.081187002 0.74115998 +0.08089 0.08123 0.74155998 +0.081658997 0.08123 0.74155998 +0.082340002 0.081143998 0.74076998 +0.082930997 0.080971003 0.73918998 +0.083742 0.081014 0.73957998 +0.084329002 0.080842003 0.73800999 +0.093571998 0.085809 0.78336 +0.094224997 0.085663997 0.78204 +0.094930001 0.085568003 0.78116 +0.095578 0.085423999 0.77983999 +0.096386999 0.085423999 0.77983999 +0.096869998 0.085137002 0.77723002 +0.097566001 0.085042 0.77635998 +0.098315999 0.084995002 0.77591997 +0.099010997 0.084899999 0.77506 +0.12445 0.084711 0.77332997 +0.12456 0.084242001 0.76905 +0.12529001 0.084196001 0.76863003 +0.12588 0.084055997 0.76735002 +0.12632 0.083825 0.76524001 +0.12698001 0.083732001 0.76440001 +0.12791 0.083825 0.76524001 +0.12856001 0.083732001 0.76440001 +0.12921 0.083640002 0.76356 +0.13 0.083640002 0.76356 +0.13087 0.083686002 0.76397997 +0.13188 0.083825 0.76524001 +0.13267 0.083825 0.76524001 +0.13316999 0.083640002 0.76356 +0.13382 0.083549 0.76271999 +0.13461 0.083549 0.76271999 +0.1354 0.083549 0.76271999 +0.13649 0.083732001 0.76440001 +-0.047699001 0.091142997 0.82424998 +-0.046789002 0.091035001 0.82327002 +0.024875 0.082395002 0.74514002 +0.025606001 0.082263 0.74394 +0.026349001 0.082175002 0.74313998 +0.027105 0.082130998 0.74274999 +0.027860999 0.082087003 0.74234998 +0.028615 0.082043 0.74194998 +0.029369 0.081998996 0.74155998 +0.030106001 0.081912003 0.74076998 +0.030841 0.081825003 0.73997998 +0.031575002 0.081738003 0.73918998 +0.032306999 0.081651002 0.73841 +0.033020001 0.081520997 0.73723 +0.033767 0.081478 0.73684001 +0.034476001 0.081348002 0.73566997 +0.035200998 0.081262 0.73488998 +0.035962999 0.081262 0.73488998 +0.036706001 0.081219003 0.73449999 +0.037468001 0.081219003 0.73449999 +0.038208999 0.081175998 0.73411 +0.038929 0.081091002 0.73334002 +0.039669 0.081047997 0.73294997 +0.040364999 0.080920003 0.73180002 +0.041124001 0.080920003 0.73180002 +0.041882999 0.080920003 0.73180002 +0.042574 0.080792002 0.73063999 +0.043308999 0.080750003 0.73026001 +0.044066001 0.080750003 0.73026001 +0.044799998 0.080706999 0.72987002 +0.045533001 0.080665 0.72948998 +0.046289001 0.080665 0.72948998 +0.046997 0.080580004 0.72873002 +0.047752 0.080580004 0.72873002 +0.048533 0.080623001 0.72911 +0.049263999 0.080580004 0.72873002 +0.049993001 0.080537997 0.72834003 +0.050694998 0.080453999 0.72758001 +0.051477 0.080495998 0.72795999 +0.052230999 0.080495998 0.72795999 +0.052958999 0.080453999 0.72758001 +0.053713001 0.080453999 0.72758001 +0.054467 0.080453999 0.72758001 +0.055250999 0.080495998 0.72795999 +0.056005999 0.080495998 0.72795999 +0.056761 0.080495998 0.72795999 +0.057484999 0.080453999 0.72758001 +0.05827 0.080495998 0.72795999 +0.059025001 0.080495998 0.72795999 +0.059780002 0.080495998 0.72795999 +0.060534999 0.080495998 0.72795999 +0.061354 0.080580004 0.72873002 +0.062142 0.080623001 0.72911 +0.062898003 0.080623001 0.72911 +0.063688003 0.080665 0.72948998 +0.064443998 0.080665 0.72948998 +0.065234996 0.080706999 0.72987002 +0.065991998 0.080706999 0.72987002 +0.066748999 0.080706999 0.72987002 +0.067541003 0.080750003 0.73026001 +0.068333998 0.080792002 0.73063999 +0.069127999 0.080835 0.73102999 +0.069885999 0.080835 0.73102999 +0.070680998 0.080876999 0.73141003 +0.071477003 0.080920003 0.73180002 +0.072236001 0.080920003 0.73180002 +0.073110998 0.081047997 0.73294997 +0.073909998 0.081091002 0.73334002 +0.074709997 0.081133001 0.73373002 +0.075470001 0.081133001 0.73373002 +0.076231003 0.081133001 0.73373002 +0.076991998 0.081133001 0.73373002 +0.077835001 0.081219003 0.73449999 +0.080163002 0.082043 0.74194998 +0.080976002 0.082087003 0.74234998 +0.081745997 0.082087003 0.74234998 +0.082383998 0.081955999 0.74115998 +0.082975 0.081781 0.73957998 +0.083787002 0.081825003 0.73997998 +0.093520001 0.086572997 0.78292 +0.094172001 0.086427003 0.7816 +0.094875999 0.086329997 0.78072 +0.095578 0.086232997 0.77983999 +0.096332997 0.086184002 0.77941 +0.096869998 0.085942999 0.77723002 +0.097566001 0.085846998 0.77635998 +0.098261997 0.085750997 0.77548999 +0.099010997 0.085703999 0.77506 +0.12459 0.085607998 0.77419001 +0.1247 0.085134 0.76990998 +0.12549999 0.085134 0.76990998 +0.12609001 0.084992997 0.76863003 +0.1266 0.084804997 0.76692998 +0.12733001 0.084757999 0.76651001 +0.12833001 0.084899001 0.76778001 +0.1287 0.084618002 0.76524001 +0.12936001 0.084524997 0.76440001 +0.13015001 0.084524997 0.76440001 +0.13101 0.084572002 0.76481998 +0.13217001 0.084804997 0.76692998 +0.13282 0.084711 0.76608998 +0.13325 0.084478997 0.76397997 +0.13389 0.084385999 0.76314002 +0.13468 0.084385999 0.76314002 +0.13547 0.084385999 0.76314002 +0.13655999 0.084572002 0.76481998 +-0.048554 0.091996998 0.82424998 +-0.047614001 0.091834001 0.82278001 +-0.046760999 0.091834001 0.82278001 +0.024901001 0.083256997 0.74594003 +0.025606001 0.083034001 0.74394 +0.026363 0.082989998 0.74353999 +0.02712 0.082944997 0.74313998 +0.027876001 0.082901001 0.74274999 +0.028631 0.082856998 0.74234998 +0.029385 0.082811996 0.74194998 +0.030122001 0.082723998 0.74115998 +0.030841 0.082592003 0.73997998 +0.031592 0.082548 0.73957998 +0.032324001 0.082460001 0.73879999 +0.033038002 0.082328998 0.73762 +0.033783998 0.082285002 0.73723 +0.034494001 0.082154997 0.73606002 +0.035239 0.082111001 0.73566997 +0.035982002 0.082068004 0.73527998 +0.036725 0.082024001 0.73488998 +0.037487999 0.082024001 0.73488998 +0.038229 0.081981003 0.73449999 +0.03895 0.081894003 0.73373002 +0.039689999 0.081850998 0.73334002 +0.040408 0.081765004 0.73256999 +0.041145001 0.081721999 0.73218 +0.041905001 0.081721999 0.73218 +0.042597 0.081592999 0.73102999 +0.043331999 0.081550002 0.73063999 +0.044089999 0.081550002 0.73063999 +0.044824 0.081506997 0.73026001 +0.045581002 0.081506997 0.73026001 +0.046314001 0.081464 0.72987002 +0.047045998 0.081421003 0.72948998 +0.047802001 0.081421003 0.72948998 +0.048558999 0.081421003 0.72948998 +0.049315002 0.081421003 0.72948998 +0.050044999 0.081378996 0.72911 +0.050774999 0.081335999 0.72873002 +0.051557999 0.081378996 0.72911 +0.052285999 0.081335999 0.72873002 +0.053041998 0.081335999 0.72873002 +0.053796999 0.081335999 0.72873002 +0.054552998 0.081335999 0.72873002 +0.055309001 0.081335999 0.72873002 +0.056063998 0.081335999 0.72873002 +0.056820001 0.081335999 0.72873002 +0.057546001 0.081293002 0.72834003 +0.058331002 0.081335999 0.72873002 +0.059087001 0.081335999 0.72873002 +0.059811 0.081293002 0.72834003 +0.060598001 0.081335999 0.72873002 +0.061386 0.081378996 0.72911 +0.062174998 0.081421003 0.72948998 +0.062931001 0.081421003 0.72948998 +0.063721001 0.081464 0.72987002 +0.064478002 0.081464 0.72987002 +0.065234996 0.081464 0.72987002 +0.066027001 0.081506997 0.73026001 +0.066784002 0.081506997 0.73026001 +0.067576997 0.081550002 0.73063999 +0.06837 0.081592999 0.73102999 +0.069164999 0.081635997 0.73141003 +0.069922999 0.081635997 0.73141003 +0.070719004 0.081679001 0.73180002 +0.071515001 0.081721999 0.73218 +0.072311997 0.081765004 0.73256999 +0.073149003 0.081850998 0.73334002 +0.073987998 0.081937999 0.73411 +0.074789003 0.081981003 0.73449999 +0.075549997 0.081981003 0.73449999 +0.076311998 0.081981003 0.73449999 +0.077114001 0.082024001 0.73488998 +0.077959001 0.082111001 0.73566997 +0.080248997 0.082901001 0.74274999 +0.081063002 0.082944997 0.74313998 +0.08179 0.082901001 0.74274999 +0.082428001 0.082768001 0.74155998 +0.083063997 0.082635999 0.74036998 +0.083875999 0.082680002 0.74076998 +0.093415 0.087286003 0.78204 +0.094120003 0.087187998 0.78116 +0.094875999 0.087139003 0.78072 +0.095524997 0.086993001 0.77941 +0.096332997 0.086993001 0.77941 +0.096923999 0.086797997 0.77766001 +0.097621001 0.086700998 0.77679002 +0.098315999 0.086603999 0.77591997 +0.12727 0.092436001 0.82818002 +0.12466 0.086459003 0.77463001 +0.12484 0.086028002 0.77076 +0.12628999 0.085932001 0.76990998 +0.12688001 0.085790001 0.76863003 +0.12774999 0.085836999 0.76905 +0.12854999 0.085836999 0.76905 +0.12906 0.085648 0.76735002 +0.12957001 0.085459001 0.76565999 +0.13036001 0.085459001 0.76565999 +0.1313 0.085552998 0.76651001 +0.13232 0.085694999 0.76778001 +0.13296001 0.085600004 0.76692998 +0.13338999 0.085364997 0.76481998 +0.13404 0.085271001 0.76397997 +0.13483 0.085271001 0.76397997 +0.13555001 0.085224003 0.76356 +0.13679001 0.085506 0.76608998 +-0.047557998 0.092578001 0.82181001 +-0.046705998 0.092578001 0.82181001 +0.023379 0.084120996 0.74673998 +0.024915 0.084076002 0.74633998 +0.025634 0.083894998 0.74474001 +0.026392 0.083849996 0.74434 +0.027133999 0.083760999 0.74353999 +0.027891001 0.083715998 0.74313998 +0.028646 0.083671004 0.74274999 +0.0294 0.083626002 0.74234998 +0.030138001 0.083536997 0.74155998 +0.030858001 0.083403997 0.74036998 +0.031608 0.083359003 0.73997998 +0.032341 0.083270997 0.73918998 +0.033055 0.083137996 0.73800999 +0.033801999 0.083094001 0.73762 +0.034511998 0.082961999 0.73645002 +0.035239 0.082874 0.73566997 +0.036001999 0.082874 0.73566997 +0.036745001 0.082829997 0.73527998 +0.037507001 0.082829997 0.73527998 +0.038229 0.082741998 0.73449999 +0.038970001 0.082699001 0.73411 +0.039710999 0.082654998 0.73373002 +0.040429 0.082567997 0.73294997 +0.041166998 0.082524002 0.73256999 +0.041926999 0.082524002 0.73256999 +0.042619001 0.082393996 0.73141003 +0.043331999 0.082307003 0.73063999 +0.044112999 0.082350999 0.73102999 +0.044870999 0.082350999 0.73102999 +0.045605 0.082307003 0.73063999 +0.046337999 0.082263999 0.73026001 +0.047070999 0.082221001 0.72987002 +0.047853 0.082263999 0.73026001 +0.048610002 0.082263999 0.73026001 +0.049341001 0.082221001 0.72987002 +0.050097998 0.082221001 0.72987002 +0.050827999 0.082177997 0.72948998 +0.051612001 0.082221001 0.72987002 +0.052340999 0.082177997 0.72948998 +0.053098001 0.082177997 0.72948998 +0.053854 0.082177997 0.72948998 +0.054609999 0.082177997 0.72948998 +0.055367 0.082177997 0.72948998 +0.056123 0.082177997 0.72948998 +0.056880001 0.082177997 0.72948998 +0.057606 0.082134999 0.72911 +0.058393002 0.082177997 0.72948998 +0.059117999 0.082134999 0.72911 +0.059873998 0.082134999 0.72911 +0.060630001 0.082134999 0.72911 +0.061450999 0.082221001 0.72987002 +0.062208001 0.082221001 0.72987002 +0.062964 0.082221001 0.72987002 +0.063754998 0.082263999 0.73026001 +0.064511999 0.082263999 0.73026001 +0.065269001 0.082263999 0.73026001 +0.066060998 0.082307003 0.73063999 +0.066818997 0.082307003 0.73063999 +0.067612 0.082350999 0.73102999 +0.068406001 0.082393996 0.73141003 +0.069201 0.082437001 0.73180002 +0.069959998 0.082437001 0.73180002 +0.070756003 0.082480997 0.73218 +0.071552999 0.082524002 0.73256999 +0.072351001 0.082567997 0.73294997 +0.073227003 0.082699001 0.73411 +0.074065998 0.082786001 0.73488998 +0.074868001 0.082829997 0.73527998 +0.075669996 0.082874 0.73566997 +0.076433003 0.082874 0.73566997 +0.077237003 0.082918003 0.73606002 +0.078083001 0.083006002 0.73684001 +0.080378003 0.083806001 0.74394 +0.081193 0.083849996 0.74434 +0.081920996 0.083806001 0.74394 +0.082516 0.083626002 0.74234998 +0.083196998 0.083536997 0.74155998 +0.084009998 0.083581999 0.74194998 +0.086053997 0.084076002 0.74633998 +0.093362004 0.088048004 0.7816 +0.094013996 0.087898999 0.78027999 +0.094875999 0.087949 0.78072 +0.095471002 0.087751999 0.77897 +0.096332997 0.087801002 0.77941 +0.096923999 0.087604001 0.77766001 +0.097676001 0.087554999 0.77723002 +0.12633 0.093239002 0.82767999 +0.12711 0.093184002 0.82718998 +0.12774 0.093018003 0.82572001 +0.12427 0.087554999 0.77723002 +0.12473 0.087311 0.77506 +0.12498 0.086923003 0.77161998 +0.12599 0.087067999 0.77289999 +0.12650999 0.086874999 0.77118999 +0.12709001 0.086731002 0.76990998 +0.12803 0.086827002 0.77076 +0.12869 0.086731002 0.76990998 +0.12927 0.086586997 0.76863003 +0.12986 0.086443 0.76735002 +0.13057999 0.086396001 0.76692998 +0.13152 0.086491004 0.76778001 +0.13246 0.086586997 0.76863003 +0.13304 0.086443 0.76735002 +0.13347 0.086204998 0.76524001 +0.13417999 0.086158 0.76481998 +0.13497999 0.086158 0.76481998 +0.13562 0.086062998 0.76397997 +0.13687 0.086347997 0.76651001 +0.023405001 0.084986001 0.74754 +0.024166999 0.084941 0.74713999 +0.024928 0.084895 0.74673998 +0.025646999 0.084712997 0.74514002 +0.026405999 0.084668003 0.74474001 +0.027148999 0.084577002 0.74394 +0.027891001 0.084486999 0.74313998 +0.028661 0.084486999 0.74313998 +0.029416 0.084440999 0.74274999 +0.030153999 0.084351003 0.74194998 +0.030874001 0.084215999 0.74076998 +0.031624999 0.084170997 0.74036998 +0.032359 0.084082 0.73957998 +0.033073001 0.083948001 0.73841 +0.03382 0.083903 0.73800999 +0.034531001 0.083769999 0.73684001 +0.035257 0.083681002 0.73606002 +0.036021002 0.083681002 0.73606002 +0.036764 0.083636999 0.73566997 +0.037526999 0.083636999 0.73566997 +0.038249999 0.083548002 0.73488998 +0.038991001 0.083503999 0.73449999 +0.039732002 0.083460003 0.73411 +0.040449999 0.083371997 0.73334002 +0.041211002 0.083371997 0.73334002 +0.041971002 0.083371997 0.73334002 +0.042642001 0.083195999 0.73180002 +0.043354999 0.083108999 0.73102999 +0.044158999 0.083195999 0.73180002 +0.044893999 0.083153002 0.73141003 +0.045628998 0.083108999 0.73102999 +0.046386998 0.083108999 0.73102999 +0.047120001 0.083065003 0.73063999 +0.047878001 0.083065003 0.73063999 +0.048634999 0.083065003 0.73063999 +0.049392998 0.083065003 0.73063999 +0.050124001 0.083021 0.73026001 +0.050882 0.083021 0.73026001 +0.051639002 0.083021 0.73026001 +0.052395999 0.083021 0.73026001 +0.053125001 0.082978003 0.72987002 +0.053911 0.083021 0.73026001 +0.054668002 0.083021 0.73026001 +0.055424999 0.083021 0.73026001 +0.056182001 0.083021 0.73026001 +0.056940001 0.083021 0.73026001 +0.057666 0.082978003 0.72987002 +0.058423001 0.082978003 0.72987002 +0.059179999 0.082978003 0.72987002 +0.059937 0.082978003 0.72987002 +0.060694002 0.082978003 0.72987002 +0.061482999 0.083021 0.73026001 +0.062240001 0.083021 0.73026001 +0.062997997 0.083021 0.73026001 +0.063787997 0.083065003 0.73063999 +0.064545996 0.083065003 0.73063999 +0.065304004 0.083065003 0.73063999 +0.066096 0.083108999 0.73102999 +0.066854 0.083108999 0.73102999 +0.067648001 0.083153002 0.73141003 +0.068442002 0.083195999 0.73180002 +0.069237001 0.083240002 0.73218 +0.070033997 0.083283998 0.73256999 +0.070831001 0.083328001 0.73294997 +0.071627997 0.083371997 0.73334002 +0.072426997 0.083416 0.73373002 +0.073303998 0.083548002 0.73488998 +0.074105002 0.083591998 0.73527998 +0.074906997 0.083636999 0.73566997 +0.075750001 0.083724998 0.73645002 +0.076513998 0.083724998 0.73645002 +0.077319004 0.083769999 0.73684001 +0.078166001 0.083858997 0.73762 +0.079649001 0.084622003 0.74434 +0.08055 0.084757999 0.74554002 +0.081324004 0.084757999 0.74554002 +0.082009003 0.084668003 0.74474001 +0.082648002 0.084532 0.74353999 +0.083463997 0.084577002 0.74394 +0.084190004 0.084532 0.74353999 +0.085510001 0.085078001 0.74835002 +0.086193003 0.084986001 0.74754 +0.093855999 0.088559002 0.77897 +0.094823003 0.088707998 0.78027999 +0.095471002 0.088559002 0.77897 +0.096332997 0.088609003 0.77941 +0.096923999 0.088411003 0.77766001 +0.097676001 0.088361003 0.77723002 +0.098480999 0.088361003 0.77723002 +0.12532 0.093985997 0.82669997 +0.12617999 0.093985997 0.82669997 +0.12695999 0.093929999 0.82621002 +0.12767 0.093818001 0.82523 +0.1242 0.088312 0.77679002 +0.1248 0.088164002 0.77548999 +0.12546 0.088065997 0.77463001 +0.12640999 0.088164002 0.77548999 +0.12679 0.087870002 0.77289999 +0.12723 0.087626003 0.77076 +0.12825 0.087771997 0.77204001 +0.12883 0.087626003 0.77076 +0.12942 0.087481 0.76947999 +0.13007 0.087384 0.76863003 +0.13079999 0.087334998 0.76819998 +0.13166 0.087384 0.76863003 +0.13253 0.087431997 0.76905 +0.13318001 0.087334998 0.76819998 +0.13369 0.087142996 0.76651001 +0.13440999 0.087095 0.76608998 +0.13513 0.087047003 0.76565999 +0.13576999 0.086951002 0.76481998 +0.13687 0.087142996 0.76651001 +0.023417 0.085808001 0.74794 +0.024180001 0.085762002 0.74754 +0.024941999 0.085715003 0.74713999 +0.025660999 0.085532002 0.74554002 +0.026419999 0.085486002 0.74514002 +0.027163999 0.085394002 0.74434 +0.027906001 0.085303001 0.74353999 +0.028677 0.085303001 0.74353999 +0.029416 0.085212 0.74274999 +0.030153999 0.085120998 0.74194998 +0.030889999 0.085029997 0.74115998 +0.031642001 0.084983997 0.74076998 +0.032375999 0.084894001 0.73997998 +0.033108 0.084803998 0.73918998 +0.033838 0.084714003 0.73841 +0.034549002 0.084578998 0.73723 +0.035275999 0.084489003 0.73645002 +0.036040001 0.084489003 0.73645002 +0.036784001 0.084444001 0.73606002 +0.037547 0.084444001 0.73606002 +0.038290001 0.084399998 0.73566997 +0.039012 0.084310003 0.73488998 +0.039753001 0.084265999 0.73449999 +0.040493 0.084220998 0.73411 +0.041232001 0.084177002 0.73373002 +0.042015001 0.084220998 0.73411 +0.042663999 0.083999 0.73218 +0.043400001 0.083954997 0.73180002 +0.044181999 0.083999 0.73218 +0.044918001 0.083954997 0.73180002 +0.045653 0.083911002 0.73141003 +0.046411 0.083911002 0.73141003 +0.047145002 0.083866999 0.73102999 +0.047903001 0.083866999 0.73102999 +0.048687 0.083911002 0.73141003 +0.049419001 0.083866999 0.73102999 +0.050151002 0.083823003 0.73063999 +0.050907999 0.083823003 0.73063999 +0.051693 0.083866999 0.73102999 +0.052423999 0.083823003 0.73063999 +0.053181 0.083823003 0.73063999 +0.053966999 0.083866999 0.73102999 +0.054696999 0.083823003 0.73063999 +0.055454001 0.083823003 0.73063999 +0.056212001 0.083823003 0.73063999 +0.056968998 0.083823003 0.73063999 +0.057697002 0.083779 0.73026001 +0.058453999 0.083779 0.73026001 +0.059211001 0.083779 0.73026001 +0.059969001 0.083779 0.73026001 +0.060726002 0.083779 0.73026001 +0.061515 0.083823003 0.73063999 +0.062272999 0.083823003 0.73063999 +0.063031003 0.083823003 0.73063999 +0.063822001 0.083866999 0.73102999 +0.064580001 0.083866999 0.73102999 +0.065338001 0.083866999 0.73102999 +0.066131003 0.083911002 0.73141003 +0.066923998 0.083954997 0.73180002 +0.067682996 0.083954997 0.73180002 +0.068478003 0.083999 0.73218 +0.069310002 0.084087998 0.73294997 +0.070106998 0.084132001 0.73334002 +0.070905 0.084177002 0.73373002 +0.071704 0.084220998 0.73411 +0.072503999 0.084265999 0.73449999 +0.073343001 0.084354997 0.73527998 +0.074143998 0.084399998 0.73566997 +0.074987002 0.084489003 0.73645002 +0.075791001 0.084533997 0.73684001 +0.076595001 0.084578998 0.73723 +0.077400997 0.084624 0.73762 +0.078290001 0.084758997 0.73879999 +0.079862997 0.085623004 0.74633998 +0.080637001 0.085623004 0.74633998 +0.081410997 0.085623004 0.74633998 +0.082140997 0.085577004 0.74594003 +0.082824998 0.085486002 0.74514002 +0.083687998 0.085577004 0.74594003 +0.084416002 0.085532002 0.74554002 +0.085556 0.085900001 0.74874997 +0.086240001 0.085808001 0.74794 +0.094823003 0.089518003 0.78027999 +0.095471002 0.089367002 0.77897 +0.096332997 0.089417003 0.77941 +0.096978001 0.089267001 0.77810001 +0.097730003 0.089217 0.77766001 +0.098536998 0.089217 0.77766001 +0.099232003 0.089116998 0.77679002 +0.12518001 0.094729997 0.82572001 +0.12603 0.094729997 0.82572001 +0.12689 0.094729997 0.82572001 +0.12751999 0.094562002 0.82424998 +0.12333 0.089066997 0.77635998 +0.12406 0.089018002 0.77591997 +0.12473 0.088918 0.77506 +0.12553 0.088918 0.77506 +0.12634 0.088918 0.77506 +0.12685999 0.088721 0.77332997 +0.12738 0.088523 0.77161998 +0.12825 0.088573001 0.77204001 +0.12890001 0.088473998 0.77118999 +0.12949 0.088326998 0.76990998 +0.13021 0.088278003 0.76947999 +0.13094001 0.088229999 0.76905 +0.13174 0.088229999 0.76905 +0.13260999 0.088278003 0.76947999 +0.13326 0.088180996 0.76863003 +0.13383 0.088035002 0.76735002 +0.13456 0.087986 0.76692998 +0.13528 0.087938003 0.76651001 +0.13600001 0.087889001 0.76608998 +0.13679001 0.087889001 0.76608998 +-0.095054999 0.094910003 0.81987 +0.023429999 0.086630002 0.74835002 +0.024193 0.086583003 0.74794 +0.024955001 0.086537004 0.74754 +0.025689 0.086397 0.74633998 +0.026434001 0.086305 0.74554002 +0.027178001 0.086212002 0.74474001 +0.02792 0.086120002 0.74394 +0.028677 0.086074002 0.74353999 +0.029432001 0.086028002 0.74313998 +0.030169999 0.085936002 0.74234998 +0.030906999 0.085844003 0.74155998 +0.031659 0.085798003 0.74115998 +0.03241 0.085753001 0.74076998 +0.033142999 0.085661002 0.73997998 +0.033856001 0.085524999 0.73879999 +0.034566998 0.085387997 0.73762 +0.035312999 0.085343003 0.73723 +0.036077999 0.085343003 0.73723 +0.036803 0.085253 0.73645002 +0.037567001 0.085253 0.73645002 +0.038309999 0.085207999 0.73606002 +0.039053001 0.085161999 0.73566997 +0.039795 0.085116997 0.73527998 +0.040536001 0.085072003 0.73488998 +0.041276 0.085027002 0.73449999 +0.042059999 0.085072003 0.73488998 +0.042709 0.084848002 0.73294997 +0.043423001 0.084758997 0.73218 +0.044229001 0.084848002 0.73294997 +0.044964999 0.084803 0.73256999 +0.045676999 0.084714003 0.73180002 +0.046459999 0.084758997 0.73218 +0.047194999 0.084714003 0.73180002 +0.047952998 0.084714003 0.73180002 +0.048712 0.084714003 0.73180002 +0.049470998 0.084714003 0.73180002 +0.050202999 0.084669001 0.73141003 +0.050962001 0.084669001 0.73141003 +0.051720001 0.084669001 0.73141003 +0.052451 0.084624998 0.73102999 +0.053208999 0.084624998 0.73102999 +0.053996 0.084669001 0.73141003 +0.054754 0.084669001 0.73141003 +0.055482998 0.084624998 0.73102999 +0.056240998 0.084624998 0.73102999 +0.057029001 0.084669001 0.73141003 +0.057758 0.084624998 0.73102999 +0.058515999 0.084624998 0.73102999 +0.059273999 0.084624998 0.73102999 +0.060031999 0.084624998 0.73102999 +0.060789999 0.084624998 0.73102999 +0.061579999 0.084669001 0.73141003 +0.062339 0.084669001 0.73141003 +0.063064002 0.084624998 0.73102999 +0.063855 0.084669001 0.73141003 +0.064613998 0.084669001 0.73141003 +0.065407 0.084714003 0.73180002 +0.066200003 0.084758997 0.73218 +0.06696 0.084758997 0.73218 +0.067718998 0.084758997 0.73218 +0.068513997 0.084803 0.73256999 +0.069347002 0.084893003 0.73334002 +0.070143998 0.084937997 0.73373002 +0.070942998 0.084982 0.73411 +0.071704 0.084982 0.73411 +0.072541997 0.085072003 0.73488998 +0.073381998 0.085161999 0.73566997 +0.074184 0.085207999 0.73606002 +0.074987002 0.085253 0.73645002 +0.075831003 0.085343003 0.73723 +0.076636001 0.085387997 0.73762 +0.077482998 0.085478999 0.73841 +0.078414999 0.085661002 0.73997998 +0.079862997 0.086397 0.74633998 +0.080679998 0.086443998 0.74673998 +0.081410997 0.086397 0.74633998 +0.082185 0.086397 0.74633998 +0.082869999 0.086305 0.74554002 +0.083778001 0.086443998 0.74673998 +0.084507003 0.086397 0.74633998 +0.085602 0.086723 0.74914998 +0.086286001 0.086630002 0.74835002 +0.086969003 0.086537004 0.74754 +0.094823003 0.090327002 0.78027999 +0.095417999 0.090124004 0.77853 +0.096332997 0.090225004 0.77941 +0.097032003 0.090124004 0.77853 +0.097785003 0.090074003 0.77810001 +0.098536998 0.090023004 0.77766001 +0.099287003 0.089973003 0.77723002 +0.10026 0.090124004 0.77853 +0.1013 0.090327002 0.78027999 +0.12089 0.095586002 0.82572001 +0.12439 0.095642999 0.82621002 +0.1251 0.095530003 0.82523 +0.12596001 0.095530003 0.82523 +0.12681 0.095530003 0.82523 +0.12751999 0.095416002 0.82424998 +0.12319 0.089772001 0.77548999 +0.12393 0.089722 0.77506 +0.12466 0.089671999 0.77463001 +0.12553 0.089722 0.77506 +0.12634 0.089722 0.77506 +0.12693 0.089571998 0.77376002 +0.12745 0.089373 0.77204001 +0.12825 0.089373 0.77204001 +0.12890001 0.089273997 0.77118999 +0.12955999 0.089175001 0.77033001 +0.13021 0.089075997 0.76947999 +0.13094001 0.089027002 0.76905 +0.13180999 0.089075997 0.76947999 +0.13260999 0.089075997 0.76947999 +0.13326 0.088978 0.76863003 +0.13391 0.088878997 0.76778001 +0.13462999 0.088830002 0.76735002 +0.13535 0.088780999 0.76692998 +0.13615 0.088780999 0.76692998 +0.13671 0.088634998 0.76565999 +0.24492 0.095871001 0.82818002 +0.24592 0.095927998 0.82867002 +0.24834999 0.095871001 0.82818002 +-0.094999 0.095702998 0.81939 +-0.093355 0.095760003 0.81987 +-0.092505001 0.095760003 0.81987 +0.020458 0.087973997 0.75321001 +0.021215999 0.087879002 0.75239998 +0.023442 0.087453 0.74874997 +0.024205999 0.087406002 0.74835002 +0.024968 0.087359004 0.74794 +0.025702 0.087218001 0.74673998 +0.026463 0.087171003 0.74633998 +0.027193001 0.087030999 0.74514002 +0.02795 0.086984001 0.74474001 +0.028692 0.086891003 0.74394 +0.029448001 0.086845003 0.74353999 +0.030185999 0.086751997 0.74274999 +0.030923 0.086658999 0.74194998 +0.031659 0.086567 0.74115998 +0.032428 0.086567 0.74115998 +0.033160999 0.086475 0.74036998 +0.033891998 0.086383 0.73957998 +0.034604002 0.086245 0.73841 +0.035332002 0.086153001 0.73762 +0.036097001 0.086153001 0.73762 +0.036842 0.086107999 0.73723 +0.037606999 0.086107999 0.73723 +0.038350999 0.086061999 0.73684001 +0.039094001 0.086015999 0.73645002 +0.039816 0.085924998 0.73566997 +0.040557001 0.085879996 0.73527998 +0.041297998 0.085833997 0.73488998 +0.042082001 0.085879996 0.73527998 +0.042753998 0.085698001 0.73373002 +0.043469001 0.085607998 0.73294997 +0.044275999 0.085698001 0.73373002 +0.044989001 0.085607998 0.73294997 +0.045724999 0.085562997 0.73256999 +0.046509001 0.085607998 0.73294997 +0.047244001 0.085562997 0.73256999 +0.048004001 0.085562997 0.73256999 +0.048764002 0.085562997 0.73256999 +0.049523 0.085562997 0.73256999 +0.050255999 0.085518003 0.73218 +0.051015999 0.085518003 0.73218 +0.051775001 0.085518003 0.73218 +0.052506 0.085473001 0.73180002 +0.053293001 0.085518003 0.73218 +0.054081 0.085562997 0.73256999 +0.054811999 0.085518003 0.73218 +0.055542 0.085473001 0.73180002 +0.056329999 0.085518003 0.73218 +0.057089999 0.085518003 0.73218 +0.057817999 0.085473001 0.73180002 +0.058577001 0.085473001 0.73180002 +0.059335999 0.085473001 0.73180002 +0.060095001 0.085473001 0.73180002 +0.060853999 0.085473001 0.73180002 +0.061613001 0.085473001 0.73180002 +0.062371001 0.085473001 0.73180002 +0.063129999 0.085473001 0.73180002 +0.063923001 0.085518003 0.73218 +0.064681999 0.085518003 0.73218 +0.065440997 0.085518003 0.73218 +0.066234998 0.085562997 0.73256999 +0.067029998 0.085607998 0.73294997 +0.067790002 0.085607998 0.73294997 +0.068586998 0.085653 0.73334002 +0.069384001 0.085698001 0.73373002 +0.070182003 0.085744001 0.73411 +0.070979998 0.085789002 0.73449999 +0.071741998 0.085789002 0.73449999 +0.072618999 0.085924998 0.73566997 +0.073420003 0.085970998 0.73606002 +0.074222997 0.086015999 0.73645002 +0.075025998 0.086061999 0.73684001 +0.075870998 0.086153001 0.73762 +0.076677002 0.086199 0.73800999 +0.077523999 0.086291 0.73879999 +0.078414999 0.086429 0.73997998 +0.079906002 0.087218001 0.74673998 +0.080724001 0.087265 0.74713999 +0.081455 0.087218001 0.74673998 +0.082185 0.087171003 0.74633998 +0.082958996 0.087171003 0.74633998 +0.083823003 0.087265 0.74713999 +0.084596999 0.087265 0.74713999 +0.085602 0.087499999 0.74914998 +0.086286001 0.087406002 0.74835002 +0.086969003 0.087311998 0.74754 +0.087838002 0.087406002 0.74835002 +0.094769999 0.091085002 0.77983999 +0.095417999 0.090931997 0.77853 +0.096279003 0.090983003 0.77897 +0.097032003 0.090931997 0.77853 +0.097840004 0.090931997 0.77853 +0.098591998 0.090880997 0.77810001 +0.099343002 0.090829998 0.77766001 +0.10037 0.091034003 0.77941 +0.1013 0.091136001 0.78027999 +0.1189 0.096213996 0.82375997 +0.11982 0.096271001 0.82424998 +0.12075 0.096327998 0.82473999 +0.12168 0.096385002 0.82523 +0.12432 0.096442997 0.82572001 +0.1251 0.096385002 0.82523 +0.12588 0.096327998 0.82473999 +0.12673999 0.096327998 0.82473999 +0.12744001 0.096213996 0.82375997 +0.12225 0.090475 0.77463001 +0.12298 0.090425 0.77419001 +0.12372 0.090374999 0.77376002 +0.12452 0.090374999 0.77376002 +0.12546 0.090475 0.77463001 +0.12627 0.090475 0.77463001 +0.12693 0.090374999 0.77376002 +0.12745 0.090173997 0.77204001 +0.12825 0.090173997 0.77204001 +0.12890001 0.090074003 0.77118999 +0.12955999 0.089974001 0.77033001 +0.13029 0.089924 0.76990998 +0.13101 0.089873999 0.76947999 +0.13180999 0.089873999 0.76947999 +0.13260999 0.089873999 0.76947999 +0.13333 0.089824997 0.76905 +0.13406 0.089775003 0.76863003 +0.13478 0.089725003 0.76819998 +0.13542999 0.089625999 0.76735002 +0.13621999 0.089625999 0.76735002 +0.13664 0.089378998 0.76524001 +0.24664 0.096730001 0.82818002 +0.2475 0.096730001 0.82818002 +-0.09245 0.096552998 0.81939 +-0.091545999 0.096496001 0.81889999 +-0.090696998 0.096496001 0.81889999 +0.020479999 0.088852003 0.75402999 +0.021238999 0.088756002 0.75321001 +0.023468001 0.088325001 0.74956 +0.024219001 0.088229001 0.74874997 +0.024982 0.088182002 0.74835002 +0.025715999 0.088040002 0.74713999 +0.026490999 0.088040002 0.74713999 +0.027222 0.087898001 0.74594003 +0.027965 0.087803997 0.74514002 +0.028706999 0.087710001 0.74434 +0.029463001 0.087663002 0.74394 +0.030201999 0.087568998 0.74313998 +0.03094 0.087475002 0.74234998 +0.031676002 0.087382004 0.74155998 +0.032444999 0.087382004 0.74155998 +0.033195999 0.087334998 0.74115998 +0.033927999 0.087242 0.74036998 +0.034621999 0.087057002 0.73879999 +0.03537 0.087011002 0.73841 +0.036134999 0.087011002 0.73841 +0.036862001 0.086917996 0.73762 +0.037627 0.086917996 0.73762 +0.038371 0.086871997 0.73723 +0.039115001 0.086825997 0.73684001 +0.039836999 0.086733997 0.73606002 +0.040578999 0.086687997 0.73566997 +0.04132 0.086641997 0.73527998 +0.042103998 0.086687997 0.73566997 +0.042799 0.086551003 0.73449999 +0.043515 0.086459003 0.73373002 +0.044298999 0.086505003 0.73411 +0.045037001 0.086459003 0.73373002 +0.045773 0.086414002 0.73334002 +0.046558 0.086459003 0.73373002 +0.047293998 0.086414002 0.73334002 +0.048055001 0.086414002 0.73334002 +0.048815001 0.086414002 0.73334002 +0.049575999 0.086414002 0.73334002 +0.050308999 0.086368002 0.73294997 +0.051068999 0.086368002 0.73294997 +0.051801998 0.086323 0.73256999 +0.052561998 0.086323 0.73256999 +0.053321 0.086323 0.73256999 +0.054138001 0.086414002 0.73334002 +0.054899 0.086414002 0.73334002 +0.055571001 0.086277001 0.73218 +0.056389999 0.086368002 0.73294997 +0.057179999 0.086414002 0.73334002 +0.057879001 0.086323 0.73256999 +0.058639001 0.086323 0.73256999 +0.059399001 0.086323 0.73256999 +0.060157999 0.086323 0.73256999 +0.060918 0.086323 0.73256999 +0.061678 0.086323 0.73256999 +0.062437002 0.086323 0.73256999 +0.063162997 0.086277001 0.73218 +0.063989997 0.086368002 0.73294997 +0.064750001 0.086368002 0.73294997 +0.065476 0.086323 0.73256999 +0.066270001 0.086368002 0.73294997 +0.067101002 0.086459003 0.73373002 +0.067861997 0.086459003 0.73373002 +0.068622999 0.086459003 0.73373002 +0.069457002 0.086551003 0.73449999 +0.070219003 0.086551003 0.73449999 +0.071018003 0.086595997 0.73488998 +0.071818002 0.086641997 0.73527998 +0.072656997 0.086733997 0.73606002 +0.073498003 0.086825997 0.73684001 +0.074302003 0.086871997 0.73723 +0.075106002 0.086917996 0.73762 +0.075952001 0.087011002 0.73841 +0.076757997 0.087057002 0.73879999 +0.077564999 0.087103002 0.73918998 +0.078498997 0.087288998 0.74076998 +0.079991996 0.088087 0.74754 +0.080811001 0.088134997 0.74794 +0.081497997 0.088040002 0.74713999 +0.082272999 0.088040002 0.74713999 +0.083048001 0.088040002 0.74713999 +0.083912998 0.088134997 0.74794 +0.084734 0.088182002 0.74835002 +0.085648999 0.088325001 0.74956 +0.086286001 0.088182002 0.74835002 +0.086969003 0.088087 0.74754 +0.094717003 0.091842003 0.77941 +0.095363997 0.091688 0.77810001 +0.096225001 0.091738999 0.77853 +0.097032003 0.091738999 0.77853 +0.097785003 0.091688 0.77810001 +0.098591998 0.091688 0.77810001 +0.099399 0.091688 0.77810001 +0.10037 0.091842003 0.77941 +0.1013 0.091945 0.78027999 +0.10199 0.091842003 0.77941 +0.11705 0.096952997 0.82278001 +0.11784 0.096896 0.82230002 +0.11876 0.096952997 0.82278001 +0.11968 0.097011 0.82327002 +0.12068 0.097126 0.82424998 +0.12161 0.097182997 0.82473999 +0.12246 0.097182997 0.82473999 +0.12332 0.097182997 0.82473999 +0.12417 0.097182997 0.82473999 +0.12495 0.097126 0.82424998 +0.12581 0.097126 0.82424998 +0.12666 0.097126 0.82424998 +0.12737 0.097011 0.82327002 +0.12218 0.091228001 0.77419001 +0.12285 0.091126002 0.77332997 +0.12365 0.091126002 0.77332997 +0.12438 0.091076002 0.77289999 +0.12538999 0.091228001 0.77419001 +0.12620001 0.091228001 0.77419001 +0.12693 0.091177002 0.77376002 +0.12751999 0.091025002 0.77247 +0.12825 0.090974003 0.77204001 +0.12890001 0.090873003 0.77118999 +0.12963 0.090823002 0.77076 +0.13036001 0.090773001 0.77033001 +0.13101 0.090672001 0.76947999 +0.13188 0.090722002 0.76990998 +0.13260999 0.090672001 0.76947999 +0.13341001 0.090672001 0.76947999 +0.13413 0.090622 0.76905 +0.13485 0.090572 0.76863003 +0.13557 0.090521999 0.76819998 +0.1363 0.090471998 0.76778001 +0.24649 0.097530998 0.82767999 +0.2472 0.097473003 0.82718998 +0.0052494998 0.097174004 0.81746 +0.020501999 0.089731 0.75484997 +0.021261999 0.089634001 0.75402999 +0.02348 0.089149997 0.74996001 +0.024232 0.089054003 0.74914998 +0.024994999 0.089005999 0.74874997 +0.025744 0.088909999 0.74794 +0.026505001 0.088862002 0.74754 +0.027251 0.088767 0.74673998 +0.027995 0.088670999 0.74594003 +0.028723 0.088528998 0.74474001 +0.029463001 0.088434003 0.74394 +0.030201999 0.088339999 0.74313998 +0.03094 0.088244997 0.74234998 +0.031693 0.088197999 0.74194998 +0.032462001 0.088197999 0.74194998 +0.033213999 0.088151 0.74155998 +0.033946998 0.088056996 0.74076998 +0.034658998 0.087916002 0.73957998 +0.035406999 0.087870002 0.73918998 +0.036155 0.087823004 0.73879999 +0.036881998 0.087729998 0.73800999 +0.037647001 0.087729998 0.73800999 +0.038392 0.087683 0.73762 +0.039136 0.087637 0.73723 +0.039857998 0.087544002 0.73645002 +0.040600002 0.087497003 0.73606002 +0.041342001 0.087451003 0.73566997 +0.042126998 0.087497003 0.73606002 +0.042845 0.087405004 0.73527998 +0.043561 0.087311998 0.73449999 +0.044346001 0.087359004 0.73488998 +0.045084 0.087311998 0.73449999 +0.045797002 0.087219998 0.73373002 +0.046608001 0.087311998 0.73449999 +0.047343999 0.087265998 0.73411 +0.048105001 0.087265998 0.73411 +0.048866998 0.087265998 0.73411 +0.049601998 0.087219998 0.73373002 +0.050336 0.087173998 0.73334002 +0.051096 0.087173998 0.73334002 +0.051856998 0.087173998 0.73334002 +0.052590001 0.087127998 0.73294997 +0.053378001 0.087173998 0.73334002 +0.054166999 0.087219998 0.73373002 +0.054928001 0.087219998 0.73373002 +0.055629998 0.087127998 0.73294997 +0.056419 0.087173998 0.73334002 +0.057209998 0.087219998 0.73373002 +0.057909999 0.087127998 0.73294997 +0.058669999 0.087127998 0.73294997 +0.059461001 0.087173998 0.73334002 +0.06019 0.087127998 0.73294997 +0.06095 0.087127998 0.73294997 +0.06171 0.087127998 0.73294997 +0.06247 0.087127998 0.73294997 +0.06323 0.087127998 0.73294997 +0.064024001 0.087173998 0.73334002 +0.064819001 0.087219998 0.73373002 +0.065545 0.087173998 0.73334002 +0.066339999 0.087219998 0.73373002 +0.067171998 0.087311998 0.73449999 +0.067933999 0.087311998 0.73449999 +0.068695001 0.087311998 0.73449999 +0.069494002 0.087359004 0.73488998 +0.070293002 0.087405004 0.73527998 +0.071093 0.087451003 0.73566997 +0.071893997 0.087497003 0.73606002 +0.072773002 0.087637 0.73723 +0.073576003 0.087683 0.73762 +0.074381001 0.087729998 0.73800999 +0.075185999 0.087775998 0.73841 +0.076031998 0.087870002 0.73918998 +0.076921999 0.088009998 0.74036998 +0.077688999 0.088009998 0.74036998 +0.080121003 0.089005999 0.74874997 +0.080898002 0.089005999 0.74874997 +0.081586003 0.088909999 0.74794 +0.082362004 0.088909999 0.74794 +0.083182 0.088958003 0.74835002 +0.084049001 0.089054003 0.74914998 +0.084871002 0.089102 0.74956 +0.085786998 0.089245997 0.75076997 +0.086425997 0.089102 0.74956 +0.094609998 0.092546001 0.77853 +0.095363997 0.092494003 0.77810001 +0.096170999 0.092494003 0.77810001 +0.096978001 0.092494003 0.77810001 +0.097785003 0.092494003 0.77810001 +0.098591998 0.092494003 0.77810001 +0.099399 0.092494003 0.77810001 +0.10032 0.092597999 0.77897 +0.1013 0.092753999 0.78027999 +0.10193 0.092597999 0.77897 +0.10274 0.092597999 0.77897 +0.1135 0.097691 0.82181001 +0.11436 0.097691 0.82181001 +0.11528 0.097749002 0.82230002 +0.11613 0.097749002 0.82230002 +0.11691 0.097691 0.82181001 +0.11777 0.097691 0.82181001 +0.11862 0.097691 0.82181001 +0.11954 0.097749002 0.82230002 +0.12061 0.097921997 0.82375997 +0.12153 0.09798 0.82424998 +0.12239 0.09798 0.82424998 +0.12324 0.09798 0.82424998 +0.1241 0.09798 0.82424998 +0.1248 0.097864002 0.82327002 +0.12558 0.097805999 0.82278001 +0.12644 0.097805999 0.82278001 +0.12714 0.097691 0.82181001 +0.12211 0.091978997 0.77376002 +0.12278 0.091876999 0.77289999 +0.12358 0.091876999 0.77289999 +0.12431 0.091825999 0.77247 +0.12532 0.091978997 0.77376002 +0.12613 0.091978997 0.77376002 +0.12693 0.091978997 0.77376002 +0.12751999 0.091825999 0.77247 +0.12825 0.091775 0.77204001 +0.12898 0.091724001 0.77161998 +0.12963 0.091622002 0.77076 +0.13036001 0.091571003 0.77033001 +0.13101 0.091470003 0.76947999 +0.13188 0.091521002 0.76990998 +0.13260999 0.091470003 0.76947999 +0.13341001 0.091470003 0.76947999 +0.13420001 0.091470003 0.76947999 +0.13493 0.091418996 0.76905 +0.13557 0.091317996 0.76819998 +0.0043993001 0.097964004 0.81698 +0.0052434001 0.097906001 0.81650001 +0.021261999 0.090415999 0.75402999 +0.023492999 0.089975998 0.75037003 +0.024245 0.089878999 0.74956 +0.025009001 0.089831002 0.74914998 +0.025758 0.089734003 0.74835002 +0.026520001 0.089685999 0.74794 +0.027265999 0.089589 0.74713999 +0.02801 0.089492999 0.74633998 +0.028737999 0.089349002 0.74514002 +0.029479001 0.089253001 0.74434 +0.030219 0.089157999 0.74353999 +0.030956 0.089063004 0.74274999 +0.031709999 0.089015 0.74234998 +0.032462001 0.088967003 0.74194998 +0.033232 0.088967003 0.74194998 +0.033964999 0.088872999 0.74115998 +0.034696002 0.088777997 0.74036998 +0.035445001 0.088730998 0.73997998 +0.036192998 0.088683002 0.73957998 +0.036920998 0.088588998 0.73879999 +0.037687 0.088588998 0.73879999 +0.038412001 0.088495001 0.73800999 +0.039156999 0.088448003 0.73762 +0.039900001 0.088400997 0.73723 +0.040622 0.088307001 0.73645002 +0.041363001 0.088261001 0.73606002 +0.042149 0.088307001 0.73645002 +0.042867001 0.088214003 0.73566997 +0.043584 0.088120997 0.73488998 +0.044369001 0.088166997 0.73527998 +0.045108002 0.088120997 0.73488998 +0.045846 0.088073999 0.73449999 +0.046631999 0.088120997 0.73488998 +0.047394 0.088120997 0.73488998 +0.048131 0.088073999 0.73449999 +0.048891999 0.088073999 0.73449999 +0.049654 0.088073999 0.73449999 +0.050388999 0.088027 0.73411 +0.051150002 0.088027 0.73411 +0.051883999 0.087981001 0.73373002 +0.052645002 0.087981001 0.73373002 +0.053406 0.087981001 0.73373002 +0.054195002 0.088027 0.73411 +0.054956999 0.088027 0.73411 +0.055659 0.087935001 0.73334002 +0.056449 0.087981001 0.73373002 +0.057240002 0.088027 0.73411 +0.057971001 0.087981001 0.73373002 +0.058731999 0.087981001 0.73373002 +0.059493002 0.087981001 0.73373002 +0.060254 0.087981001 0.73373002 +0.061014 0.087981001 0.73373002 +0.061774999 0.087981001 0.73373002 +0.062536001 0.087981001 0.73373002 +0.063297004 0.087981001 0.73373002 +0.064092003 0.088027 0.73411 +0.064887002 0.088073999 0.73449999 +0.065614 0.088027 0.73411 +0.066409998 0.088073999 0.73449999 +0.067243002 0.088166997 0.73527998 +0.068006001 0.088166997 0.73527998 +0.068768002 0.088166997 0.73527998 +0.069567002 0.088214003 0.73566997 +0.070367001 0.088261001 0.73606002 +0.071130998 0.088261001 0.73606002 +0.071970001 0.088353999 0.73684001 +0.072889 0.088541999 0.73841 +0.073693998 0.088588998 0.73879999 +0.07446 0.088588998 0.73879999 +0.075346 0.088730998 0.73997998 +0.076195002 0.088825002 0.74076998 +0.077086002 0.088967003 0.74194998 +0.077854998 0.088967003 0.74194998 +0.079131998 0.089541003 0.74673998 +0.080251001 0.089928001 0.74996001 +0.080985002 0.089878999 0.74956 +0.081674002 0.089782 0.74874997 +0.082451001 0.089782 0.74874997 +0.083272003 0.089831002 0.74914998 +0.084138997 0.089928001 0.74996001 +0.085009001 0.090025 0.75076997 +0.085927002 0.090171002 0.75199002 +0.086519003 0.089975998 0.75037003 +0.095363997 0.093300998 0.77810001 +0.096170999 0.093300998 0.77810001 +0.096978001 0.093300998 0.77810001 +0.097840004 0.093354002 0.77853 +0.098646998 0.093354002 0.77853 +0.099399 0.093300998 0.77810001 +0.10032 0.093405999 0.77897 +0.1013 0.093562998 0.78027999 +0.10199 0.093457997 0.77941 +0.10274 0.093405999 0.77897 +0.11265 0.098543003 0.82181001 +0.11429 0.098485 0.82132 +0.11514 0.098485 0.82132 +0.11606 0.098543003 0.82181001 +0.11691 0.098543003 0.82181001 +0.1177 0.098485 0.82132 +0.11855 0.098485 0.82132 +0.11954 0.098600999 0.82230002 +0.12061 0.098777004 0.82375997 +0.12146 0.098777004 0.82375997 +0.12232 0.098777004 0.82375997 +0.1231 0.098718002 0.82327002 +0.12395 0.098718002 0.82327002 +0.12466 0.098600999 0.82230002 +0.12544 0.098543003 0.82181001 +0.12628999 0.098543003 0.82181001 +0.12706 0.098485 0.82132 +0.12118 0.092679001 0.77289999 +0.12211 0.092781998 0.77376002 +0.12285 0.092730001 0.77332997 +0.12358 0.092679001 0.77289999 +0.12431 0.092626996 0.77247 +0.12525 0.092730001 0.77332997 +0.12613 0.092781998 0.77376002 +0.12693 0.092781998 0.77376002 +0.12751999 0.092626996 0.77247 +0.12825 0.092575997 0.77204001 +0.12898 0.092524 0.77161998 +0.12970001 0.092473 0.77118999 +0.13036001 0.092370003 0.77033001 +0.13109 0.092318997 0.76990998 +0.13196 0.092370003 0.77033001 +0.13260999 0.092267998 0.76947999 +0.13348 0.092318997 0.76990998 +0.13428 0.092318997 0.76990998 +0.13485 0.092165999 0.76863003 +0.1355 0.092064001 0.76778001 +0.0035542001 0.098869003 0.81746 +0.0043941 0.098695002 0.81602001 +0.0052371998 0.098637 0.81554002 +0.010263 0.098176003 0.81173003 +0.012454 0.095606998 0.79048997 +0.021274 0.091247 0.75444001 +0.022019999 0.091099001 0.75321001 +0.022752 0.090902001 0.75158 +0.023506001 0.090802997 0.75076997 +0.024245 0.090655997 0.74956 +0.025022 0.090655997 0.74956 +0.025772 0.090558998 0.74874997 +0.026534 0.090510003 0.74835002 +0.027295001 0.090461001 0.74794 +0.028041 0.090364002 0.74713999 +0.028769 0.090218 0.74594003 +0.029510999 0.090121999 0.74514002 +0.030251 0.090025 0.74434 +0.030990001 0.089929 0.74353999 +0.031744 0.089881003 0.74313998 +0.032497 0.089832999 0.74274999 +0.033248998 0.089785002 0.74234998 +0.034001 0.089736998 0.74194998 +0.034733001 0.089640997 0.74115998 +0.035502002 0.089640997 0.74115998 +0.036231998 0.089546002 0.74036998 +0.036979999 0.089497998 0.73997998 +0.037746999 0.089497998 0.73997998 +0.038453002 0.089354999 0.73879999 +0.039198 0.089308001 0.73841 +0.039921001 0.089212999 0.73762 +0.040642999 0.089117996 0.73684001 +0.041407 0.089117996 0.73684001 +0.042171001 0.089117996 0.73684001 +0.042913001 0.089070998 0.73645002 +0.043607 0.088930003 0.73527998 +0.044392999 0.088977002 0.73566997 +0.045132 0.088930003 0.73527998 +0.045869999 0.088882998 0.73488998 +0.046657 0.088930003 0.73527998 +0.047419 0.088930003 0.73527998 +0.048156001 0.088882998 0.73488998 +0.048918001 0.088882998 0.73488998 +0.049679998 0.088882998 0.73488998 +0.050416 0.088835999 0.73449999 +0.051176999 0.088835999 0.73449999 +0.051911999 0.088789001 0.73411 +0.052673001 0.088789001 0.73411 +0.053433999 0.088789001 0.73411 +0.054223999 0.088835999 0.73449999 +0.054986 0.088835999 0.73449999 +0.055718001 0.088789001 0.73411 +0.056479 0.088789001 0.73411 +0.057271 0.088835999 0.73449999 +0.058001999 0.088789001 0.73411 +0.058763001 0.088789001 0.73411 +0.059524 0.088789001 0.73411 +0.060284998 0.088789001 0.73411 +0.061046999 0.088789001 0.73411 +0.061808001 0.088789001 0.73411 +0.062569 0.088789001 0.73411 +0.063330002 0.088789001 0.73411 +0.064125001 0.088835999 0.73449999 +0.064920999 0.088882998 0.73488998 +0.065683 0.088882998 0.73488998 +0.066481002 0.088930003 0.73527998 +0.067279004 0.088977002 0.73566997 +0.068077996 0.089024 0.73606002 +0.068876997 0.089070998 0.73645002 +0.069641002 0.089070998 0.73645002 +0.070404999 0.089070998 0.73645002 +0.071206003 0.089117996 0.73684001 +0.072085001 0.089259997 0.73800999 +0.073044002 0.089497998 0.73997998 +0.073811002 0.089497998 0.73997998 +0.074617997 0.089546002 0.74036998 +0.075507 0.089689001 0.74155998 +0.076398 0.089832999 0.74274999 +0.077251002 0.089929 0.74353999 +0.078064002 0.089977004 0.74394 +0.079259001 0.090461001 0.74794 +0.080293998 0.090754002 0.75037003 +0.081072003 0.090754002 0.75037003 +0.081762001 0.090655997 0.74956 +0.082539 0.090655997 0.74956 +0.083361998 0.090705 0.74996001 +0.084275998 0.090852 0.75117999 +0.085147001 0.090951003 0.75199002 +0.086066 0.091099001 0.75321001 +0.086612999 0.090852 0.75117999 +0.095311001 0.094054997 0.77766001 +0.096116997 0.094054997 0.77766001 +0.096978001 0.094108 0.77810001 +0.097785003 0.094108 0.77810001 +0.098646998 0.094160996 0.77853 +0.099399 0.094108 0.77810001 +0.10026 0.094160996 0.77853 +0.1013 0.094371997 0.78027999 +0.10193 0.094214 0.77897 +0.10274 0.094214 0.77897 +0.10355 0.094214 0.77897 +0.11259 0.099335998 0.82132 +0.11344 0.099335998 0.82132 +0.11429 0.099335998 0.82132 +0.11514 0.099335998 0.82132 +0.11599 0.099335998 0.82132 +0.11691 0.099394999 0.82181001 +0.11777 0.099394999 0.82181001 +0.11855 0.099335998 0.82132 +0.11954 0.099454001 0.82230002 +0.12061 0.099630997 0.82375997 +0.12153 0.099689998 0.82424998 +0.12224 0.099572003 0.82327002 +0.12317 0.099630997 0.82375997 +0.12395 0.099572003 0.82327002 +0.12466 0.099454001 0.82230002 +0.12544 0.099394999 0.82181001 +0.12621 0.099335998 0.82132 +0.12706 0.099335998 0.82132 +0.12131 0.093584001 0.77376002 +0.12211 0.093584001 0.77376002 +0.12285 0.093532003 0.77332997 +0.12365 0.093532003 0.77332997 +0.12431 0.093428001 0.77247 +0.12532 0.093584001 0.77376002 +0.12613 0.093584001 0.77376002 +0.12693 0.093584001 0.77376002 +0.12759 0.093479998 0.77289999 +0.12825 0.093376003 0.77204001 +0.12905 0.093376003 0.77204001 +0.12970001 0.093272999 0.77118999 +0.13043 0.093221001 0.77076 +0.13116001 0.093169004 0.77033001 +0.13196 0.093169004 0.77033001 +0.13268 0.093116999 0.76990998 +0.13348 0.093116999 0.76990998 +0.13420001 0.093065999 0.76947999 +0.1347 0.092859998 0.76778001 +0.0035520999 0.099657997 0.81698 +0.0043890001 0.099423997 0.81506002 +0.0052311001 0.099366002 0.81458002 +0.0060721999 0.099307999 0.81410998 +0.0077470001 0.099133 0.81268001 +0.0085896999 0.099133 0.81268001 +0.0094269002 0.099074997 0.81220001 +0.010245 0.098843999 0.81031001 +0.010983 0.097930998 0.80282003 +0.011714 0.097089 0.79592001 +0.012461 0.096482001 0.79093999 +0.022019999 0.091880001 0.75321001 +0.022763999 0.091730997 0.75199002 +0.023506001 0.091582 0.75076997 +0.024258001 0.091482997 0.74996001 +0.025036 0.091482997 0.74996001 +0.025785999 0.091384001 0.74914998 +0.026548 0.091334999 0.74874997 +0.027310001 0.091286004 0.74835002 +0.028055999 0.091187999 0.74754 +0.0288 0.091090001 0.74673998 +0.029541999 0.090992004 0.74594003 +0.030283 0.090893999 0.74514002 +0.031005999 0.090747997 0.74394 +0.031761002 0.090700001 0.74353999 +0.032513998 0.090650998 0.74313998 +0.033284999 0.090650998 0.74313998 +0.034019001 0.090554997 0.74234998 +0.034770001 0.090506002 0.74194998 +0.035521001 0.090457998 0.74155998 +0.03627 0.090410002 0.74115998 +0.037018999 0.090360999 0.74076998 +0.037767 0.090313002 0.74036998 +0.038493998 0.090217002 0.73957998 +0.039239999 0.090168998 0.73918998 +0.039942998 0.090025999 0.73800999 +0.040686 0.089978002 0.73762 +0.041429002 0.089929998 0.73723 +0.042194001 0.089929998 0.73723 +0.042934999 0.089882001 0.73684001 +0.04363 0.089740001 0.73566997 +0.044415999 0.089786999 0.73606002 +0.045155998 0.089740001 0.73566997 +0.045894001 0.089691997 0.73527998 +0.046682 0.089740001 0.73566997 +0.047444001 0.089740001 0.73566997 +0.048181999 0.089691997 0.73527998 +0.048944 0.089691997 0.73527998 +0.049706999 0.089691997 0.73527998 +0.050441999 0.089644998 0.73488998 +0.051204 0.089644998 0.73488998 +0.051938999 0.089597002 0.73449999 +0.052701 0.089597002 0.73449999 +0.053461999 0.089597002 0.73449999 +0.054253001 0.089644998 0.73488998 +0.055015001 0.089644998 0.73488998 +0.055746999 0.089597002 0.73449999 +0.056508999 0.089597002 0.73449999 +0.057301 0.089644998 0.73488998 +0.058031999 0.089597002 0.73449999 +0.058793999 0.089597002 0.73449999 +0.059556 0.089597002 0.73449999 +0.060316999 0.089597002 0.73449999 +0.061078999 0.089597002 0.73449999 +0.061840001 0.089597002 0.73449999 +0.062601998 0.089597002 0.73449999 +0.063363999 0.089597002 0.73449999 +0.064193003 0.089691997 0.73527998 +0.064989999 0.089740001 0.73566997 +0.065752998 0.089740001 0.73566997 +0.066551 0.089786999 0.73606002 +0.06735 0.089835003 0.73645002 +0.068113998 0.089835003 0.73645002 +0.068949997 0.089929998 0.73723 +0.069715001 0.089929998 0.73723 +0.070478998 0.089929998 0.73723 +0.071319997 0.090025999 0.73800999 +0.0722 0.090168998 0.73918998 +0.073160999 0.090410002 0.74115998 +0.073930003 0.090410002 0.74115998 +0.074738003 0.090457998 0.74155998 +0.075668 0.090650998 0.74313998 +0.076603003 0.090846002 0.74474001 +0.077458002 0.090943001 0.74554002 +0.078272998 0.090992004 0.74594003 +0.079345003 0.091334999 0.74874997 +0.080338001 0.091582 0.75076997 +0.081115998 0.091582 0.75076997 +0.081850998 0.091531999 0.75037003 +0.082629003 0.091531999 0.75037003 +0.083452001 0.091582 0.75076997 +0.084367 0.091730997 0.75199002 +0.085239001 0.09183 0.75281 +0.086159997 0.091978997 0.75402999 +0.094452001 0.094809003 0.77723002 +0.095257998 0.094809003 0.77723002 +0.096116997 0.094861999 0.77766001 +0.096923999 0.094861999 0.77766001 +0.097785003 0.094915003 0.77810001 +0.098646998 0.094967999 0.77853 +0.099399 0.094915003 0.77810001 +0.10026 0.094967999 0.77853 +0.10124 0.095128 0.77983999 +0.10193 0.095021002 0.77897 +0.10274 0.095021002 0.77897 +0.10355 0.095021002 0.77897 +0.10442 0.095074996 0.77941 +0.10522 0.095074996 0.77941 +0.11259 0.10019 0.82132 +0.11344 0.10019 0.82132 +0.11429 0.10019 0.82132 +0.11514 0.10019 0.82132 +0.11599 0.10019 0.82132 +0.11698 0.10031 0.82230002 +0.11777 0.10025 0.82181001 +0.11862 0.10025 0.82181001 +0.11954 0.10031 0.82230002 +0.12068 0.10054 0.82424998 +0.12153 0.10054 0.82424998 +0.12224 0.10043 0.82327002 +0.12317 0.10048 0.82375997 +0.12395 0.10043 0.82327002 +0.12466 0.10031 0.82230002 +0.12544 0.10025 0.82181001 +0.12628999 0.10025 0.82181001 +0.12138 0.094439 0.77419001 +0.12218 0.094439 0.77419001 +0.12292 0.094385996 0.77376002 +0.12372 0.094385996 0.77376002 +0.12438 0.094281003 0.77289999 +0.12532 0.094385996 0.77376002 +0.12620001 0.094439 0.77419001 +0.12693 0.094385996 0.77376002 +0.12759 0.094281003 0.77289999 +0.12831999 0.094228998 0.77247 +0.12905 0.094177 0.77204001 +0.12970001 0.094071999 0.77118999 +0.13043 0.094020002 0.77076 +0.13123 0.094020002 0.77076 +0.13196 0.093967997 0.77033001 +0.13268 0.093915999 0.76990998 +0.13348 0.093915999 0.76990998 +0.13413 0.093811996 0.76905 +0.13448 0.093501002 0.76651001 +-0.094056003 0.099800996 0.81124997 +-0.093269996 0.099858999 0.81173003 +-0.092482001 0.099918 0.81220001 +-0.091640003 0.099918 0.81220001 +-0.090797 0.099918 0.81220001 +-0.089798003 0.099743001 0.81077999 +-0.089112997 0.099918 0.81220001 +-0.088219002 0.099858999 0.81173003 +0.0035478999 0.10039 0.81602001 +0.0043863999 0.10021 0.81458002 +0.005225 0.10009 0.81362998 +0.0060651 0.10003 0.81314999 +0.0069082999 0.10003 0.81314999 +0.0077379001 0.099858999 0.81173003 +0.0085747 0.099800996 0.81124997 +0.0094048996 0.099684998 0.81031001 +0.010227 0.099510998 0.80888999 +0.01097 0.098649003 0.80189002 +0.011714 0.097915001 0.79592001 +0.012468 0.097356997 0.79139 +0.022032 0.092711002 0.75362003 +0.022776 0.092560001 0.75239998 +0.023518 0.092409998 0.75117999 +0.024271 0.092311002 0.75037003 +0.025048999 0.092311002 0.75037003 +0.025800001 0.092211001 0.74956 +0.026562 0.092161 0.74914998 +0.027325001 0.092111997 0.74874997 +0.028085999 0.092061996 0.74835002 +0.028814999 0.091913998 0.74713999 +0.029557999 0.091815002 0.74633998 +0.030316001 0.091766 0.74594003 +0.031056 0.091666996 0.74514002 +0.031794999 0.091568999 0.74434 +0.032531999 0.091471002 0.74353999 +0.033303 0.091471002 0.74353999 +0.034054998 0.091421999 0.74313998 +0.034807 0.091372997 0.74274999 +0.035558999 0.091324002 0.74234998 +0.036309 0.091275997 0.74194998 +0.037039001 0.091178 0.74115998 +0.037806999 0.091178 0.74115998 +0.038534999 0.091081001 0.74036998 +0.039282002 0.091032997 0.73997998 +0.039985001 0.090887003 0.73879999 +0.040708002 0.090791002 0.73800999 +0.041451 0.090742998 0.73762 +0.042238999 0.090791002 0.73800999 +0.042980999 0.090742998 0.73762 +0.043676 0.090598002 0.73645002 +0.044440001 0.090598002 0.73645002 +0.04518 0.090549998 0.73606002 +0.045919001 0.090502001 0.73566997 +0.046705998 0.090549998 0.73606002 +0.047444001 0.090502001 0.73566997 +0.048207 0.090502001 0.73566997 +0.048944 0.090455003 0.73527998 +0.049733002 0.090502001 0.73566997 +0.050469 0.090455003 0.73527998 +0.051231999 0.090455003 0.73527998 +0.051994 0.090455003 0.73527998 +0.052728999 0.090406999 0.73488998 +0.053491 0.090406999 0.73488998 +0.054253001 0.090406999 0.73488998 +0.055043999 0.090455003 0.73527998 +0.055776998 0.090406999 0.73488998 +0.056538999 0.090406999 0.73488998 +0.057331 0.090455003 0.73527998 +0.058063 0.090406999 0.73488998 +0.058825001 0.090406999 0.73488998 +0.059587002 0.090406999 0.73488998 +0.060348999 0.090406999 0.73488998 +0.061110999 0.090406999 0.73488998 +0.061873 0.090406999 0.73488998 +0.062634997 0.090406999 0.73488998 +0.063431002 0.090455003 0.73527998 +0.064227 0.090502001 0.73566997 +0.065025002 0.090549998 0.73606002 +0.065823004 0.090598002 0.73645002 +0.066621996 0.090645999 0.73684001 +0.067420997 0.090695001 0.73723 +0.068186 0.090695001 0.73723 +0.069059998 0.090838999 0.73841 +0.069825999 0.090838999 0.73841 +0.070592001 0.090838999 0.73841 +0.071433 0.090935998 0.73918998 +0.072392002 0.091178 0.74115998 +0.073278002 0.091324002 0.74234998 +0.074047998 0.091324002 0.74234998 +0.074858002 0.091372997 0.74274999 +0.075790003 0.091568999 0.74434 +0.076725997 0.091766 0.74594003 +0.077541001 0.091815002 0.74633998 +0.078357004 0.091863997 0.74673998 +0.079388 0.092161 0.74914998 +0.080380999 0.092409998 0.75117999 +0.081115998 0.092359997 0.75076997 +0.081895001 0.092359997 0.75076997 +0.082718 0.092409998 0.75117999 +0.083586998 0.09251 0.75199002 +0.084458001 0.092611 0.75281 +0.085331999 0.092711002 0.75362003 +0.086253002 0.092862003 0.75484997 +0.086893998 0.092711002 0.75362003 +0.094398998 0.095560998 0.77679002 +0.095257998 0.095615 0.77723002 +0.096064001 0.095615 0.77723002 +0.096923999 0.095668003 0.77766001 +0.097785003 0.095721997 0.77810001 +0.098646998 0.095775001 0.77853 +0.099399 0.095721997 0.77810001 +0.10032 0.095829003 0.77897 +0.1013 0.095991001 0.78027999 +0.10199 0.095882997 0.77941 +0.1028 0.095882997 0.77941 +0.10361 0.095882997 0.77941 +0.10447 0.095936999 0.77983999 +0.10528 0.095936999 0.77983999 +0.10609 0.095936999 0.77983999 +0.10696 0.095991001 0.78027999 +0.11514 0.10104 0.82132 +0.11599 0.10104 0.82132 +0.11777 0.1011 0.82181001 +0.11862 0.1011 0.82181001 +0.11954 0.10116 0.82230002 +0.12068 0.1014 0.82424998 +0.12146 0.10134 0.82375997 +0.12232 0.10134 0.82375997 +0.12317 0.10134 0.82375997 +0.12395 0.10128 0.82327002 +0.12466 0.10116 0.82230002 +0.12544 0.1011 0.82181001 +0.12628999 0.1011 0.82181001 +0.12151 0.095348001 0.77506 +0.12225 0.095294997 0.77463001 +0.12298 0.095242001 0.77419001 +0.12379 0.095242001 0.77419001 +0.12452 0.095188998 0.77376002 +0.12538999 0.095242001 0.77419001 +0.12627 0.095294997 0.77463001 +0.127 0.095242001 0.77419001 +0.12766001 0.095136002 0.77332997 +0.12839 0.095082998 0.77289999 +0.12912001 0.095030002 0.77247 +0.12970001 0.094871998 0.77118999 +0.13043 0.094819002 0.77076 +0.13123 0.094819002 0.77076 +0.13203 0.094819002 0.77076 +0.13268 0.094714001 0.76990998 +0.13348 0.094714001 0.76990998 +0.13406 0.094557002 0.76863003 +-0.087224998 0.10052 0.81031001 +0.0035459001 0.10117 0.81554002 +0.0043813 0.10094 0.81362998 +0.0052188002 0.10082 0.81268001 +0.006058 0.10076 0.81220001 +0.0069002002 0.10076 0.81220001 +0.0077334 0.10064 0.81124997 +0.0085647004 0.10052 0.81031001 +0.0093994001 0.10047 0.80984002 +0.010221 0.10029 0.80842 +0.01097 0.099481001 0.80189002 +0.011721 0.098797001 0.79637998 +0.012475 0.098233998 0.79184002 +0.022056 0.093594 0.75444001 +0.022789 0.093391001 0.75281 +0.023530999 0.09324 0.75158 +0.024284 0.093139 0.75076997 +0.025048999 0.093088999 0.75037003 +0.025813 0.093038 0.74996001 +0.026590999 0.093038 0.74996001 +0.027354 0.092987999 0.74956 +0.028100999 0.092887998 0.74874997 +0.028845999 0.092788003 0.74794 +0.029589999 0.092688002 0.74713999 +0.030347999 0.092638001 0.74673998 +0.031089 0.092538998 0.74594003 +0.031829 0.092440002 0.74514002 +0.032566998 0.092340998 0.74434 +0.033337999 0.092340998 0.74434 +0.034074001 0.092242002 0.74353999 +0.034825999 0.092193 0.74313998 +0.035578001 0.092142999 0.74274999 +0.036327999 0.092093997 0.74234998 +0.037078001 0.092045002 0.74194998 +0.037827998 0.091995999 0.74155998 +0.038555 0.091898002 0.74076998 +0.039324 0.091898002 0.74076998 +0.040049002 0.091799997 0.73997998 +0.040750999 0.091652997 0.73879999 +0.041494999 0.091605 0.73841 +0.042261001 0.091605 0.73841 +0.043026999 0.091605 0.73841 +0.043699 0.091410004 0.73684001 +0.044464 0.091410004 0.73684001 +0.045203999 0.091362 0.73645002 +0.045942999 0.091314003 0.73606002 +0.046705998 0.091314003 0.73606002 +0.04747 0.091314003 0.73606002 +0.048232999 0.091314003 0.73606002 +0.048969999 0.091265 0.73566997 +0.049733002 0.091265 0.73566997 +0.050496001 0.091265 0.73566997 +0.051259 0.091265 0.73566997 +0.052021999 0.091265 0.73566997 +0.052756 0.091216996 0.73527998 +0.053518999 0.091216996 0.73527998 +0.054281 0.091216996 0.73527998 +0.055073 0.091265 0.73566997 +0.055806 0.091216996 0.73527998 +0.056568999 0.091216996 0.73527998 +0.057362001 0.091265 0.73566997 +0.058093999 0.091216996 0.73527998 +0.058855999 0.091216996 0.73527998 +0.05965 0.091265 0.73566997 +0.060380999 0.091216996 0.73527998 +0.061143 0.091216996 0.73527998 +0.061939001 0.091265 0.73566997 +0.062702 0.091265 0.73566997 +0.063464001 0.091265 0.73566997 +0.064295001 0.091362 0.73645002 +0.065094002 0.091410004 0.73684001 +0.065893002 0.091458999 0.73723 +0.066692002 0.091508001 0.73762 +0.067456998 0.091508001 0.73762 +0.068258002 0.091555998 0.73800999 +0.069170997 0.091751002 0.73957998 +0.069937997 0.091751002 0.73957998 +0.070703998 0.091751002 0.73957998 +0.071585998 0.091898002 0.74076998 +0.072508 0.092093997 0.74234998 +0.073357001 0.092193 0.74313998 +0.074127004 0.092193 0.74313998 +0.074978001 0.092290998 0.74394 +0.075870998 0.092440002 0.74514002 +0.076766998 0.092588998 0.74633998 +0.077583 0.092638001 0.74673998 +0.078399003 0.092688002 0.74713999 +0.079388 0.092937998 0.74914998 +0.080380999 0.093189001 0.75117999 +0.081160001 0.093189001 0.75117999 +0.081938997 0.093189001 0.75117999 +0.082763001 0.09324 0.75158 +0.083678 0.093391001 0.75281 +0.084550001 0.093493 0.75362003 +0.085423999 0.093594 0.75444001 +0.086346999 0.093746997 0.75567001 +0.094346002 0.096313 0.77635998 +0.095204003 0.096367002 0.77679002 +0.096064001 0.096421003 0.77723002 +0.096923999 0.096474998 0.77766001 +0.097785003 0.096529 0.77810001 +0.098646998 0.096583001 0.77853 +0.099399 0.096529 0.77810001 +0.10032 0.096637003 0.77897 +0.1013 0.096799999 0.78027999 +0.10205 0.096744999 0.77983999 +0.10286 0.096744999 0.77983999 +0.10367 0.096744999 0.77983999 +0.10447 0.096744999 0.77983999 +0.10534 0.096799999 0.78027999 +0.10615 0.096799999 0.78027999 +0.10702 0.096854001 0.78072 +0.10783 0.096854001 0.78072 +0.10864 0.096854001 0.78072 +0.11961 0.10207 0.82278001 +0.12068 0.10225 0.82424998 +0.12146 0.10219 0.82375997 +0.12224 0.10213 0.82327002 +0.12317 0.10219 0.82375997 +0.12388 0.10207 0.82278001 +0.12458 0.10195 0.82181001 +0.12544 0.10195 0.82181001 +0.12085 0.096258998 0.77591997 +0.12165 0.096258998 0.77591997 +0.12239 0.096205004 0.77548999 +0.12312 0.096152 0.77506 +0.12393 0.096152 0.77506 +0.12466 0.096097998 0.77463001 +0.12553 0.096152 0.77506 +0.12634 0.096152 0.77506 +0.12706999 0.096097998 0.77463001 +0.12773 0.095991001 0.77376002 +0.12853 0.095991001 0.77376002 +0.12926 0.095937997 0.77332997 +0.12977999 0.095725 0.77161998 +0.1305 0.095671996 0.77118999 +0.1313 0.095671996 0.77118999 +0.13203 0.095619 0.77076 +0.13268 0.095513001 0.76990998 +0.13348 0.095513001 0.76990998 +0.13406 0.095353998 0.76863003 +0.0035417001 0.1019 0.81458002 +0.0043787002 0.10172 0.81314999 +0.0052157999 0.1016 0.81220001 +0.0060509001 0.10148 0.81124997 +0.0077244001 0.10137 0.81031001 +0.0085597001 0.10131 0.80984002 +0.0093940003 0.10125 0.80936003 +0.010221 0.10113 0.80842 +0.010958 0.1002 0.80097002 +0.011721 0.099621996 0.79637998 +0.012482 0.099110998 0.79228997 +0.022067999 0.094428003 0.75484997 +0.022801001 0.094223 0.75321001 +0.023544 0.094070002 0.75199002 +0.024284 0.093916997 0.75076997 +0.025063001 0.093916997 0.75076997 +0.025827 0.093866996 0.75037003 +0.026590999 0.093815997 0.74996001 +0.027369 0.093815997 0.74996001 +0.028116001 0.093714997 0.74914998 +0.028862 0.093613997 0.74835002 +0.029606 0.093512997 0.74754 +0.030365 0.093463004 0.74713999 +0.031122999 0.093413003 0.74673998 +0.031863 0.093313001 0.74594003 +0.032584 0.093162 0.74474001 +0.033356 0.093162 0.74474001 +0.034092002 0.093062997 0.74394 +0.034844998 0.093013003 0.74353999 +0.035597 0.092963003 0.74313998 +0.036348 0.092914 0.74274999 +0.037098002 0.092863999 0.74234998 +0.037847999 0.092813998 0.74194998 +0.038596999 0.092765003 0.74155998 +0.039345 0.092715003 0.74115998 +0.040070001 0.092616998 0.74036998 +0.040794998 0.092518002 0.73957998 +0.041538998 0.092468999 0.73918998 +0.042282999 0.092419997 0.73879999 +0.043049999 0.092419997 0.73879999 +0.043722998 0.092223004 0.73723 +0.044487 0.092223004 0.73723 +0.045203999 0.092125997 0.73645002 +0.045942999 0.092077002 0.73606002 +0.046730999 0.092125997 0.73645002 +0.047495 0.092125997 0.73645002 +0.048232999 0.092077002 0.73606002 +0.048996001 0.092077002 0.73606002 +0.049759001 0.092077002 0.73606002 +0.050523002 0.092077002 0.73606002 +0.051286001 0.092077002 0.73606002 +0.052049 0.092077002 0.73606002 +0.052784 0.092027999 0.73566997 +0.053546999 0.092027999 0.73566997 +0.054310001 0.092027999 0.73566997 +0.055101998 0.092077002 0.73606002 +0.055836 0.092027999 0.73566997 +0.056598999 0.092027999 0.73566997 +0.057392001 0.092077002 0.73606002 +0.058123998 0.092027999 0.73566997 +0.058887001 0.092027999 0.73566997 +0.059682 0.092077002 0.73606002 +0.060412999 0.092027999 0.73566997 +0.061175998 0.092027999 0.73566997 +0.061972 0.092077002 0.73606002 +0.062734999 0.092077002 0.73606002 +0.063497998 0.092077002 0.73606002 +0.064328998 0.092174999 0.73684001 +0.065163001 0.092271999 0.73762 +0.065927997 0.092271999 0.73762 +0.066728003 0.092321001 0.73800999 +0.067529 0.092370003 0.73841 +0.068331003 0.092419997 0.73879999 +0.069317997 0.092715003 0.74115998 +0.070087001 0.092715003 0.74115998 +0.070854999 0.092715003 0.74115998 +0.071739003 0.092863999 0.74234998 +0.072624996 0.093013003 0.74353999 +0.073473997 0.093112998 0.74434 +0.074207 0.093062997 0.74394 +0.075057998 0.093162 0.74474001 +0.075994 0.093363002 0.74633998 +0.076849997 0.093463004 0.74713999 +0.077666 0.093512997 0.74754 +0.078483999 0.093564004 0.74794 +0.079472996 0.093815997 0.74996001 +0.080467999 0.094070002 0.75199002 +0.081203997 0.094019003 0.75158 +0.082028002 0.094070002 0.75199002 +0.082851999 0.094121002 0.75239998 +0.083769001 0.094273999 0.75362003 +0.084642 0.094375998 0.75444001 +0.085516997 0.094479002 0.75525999 +0.086393997 0.094581999 0.75607997 +0.094346002 0.097117998 0.77635998 +0.095204003 0.097172 0.77679002 +0.09601 0.097172 0.77679002 +0.096923999 0.097281002 0.77766001 +0.097785003 0.097336002 0.77810001 +0.098646998 0.097390004 0.77853 +0.099399 0.097336002 0.77810001 +0.10032 0.097445004 0.77897 +0.10124 0.097553998 0.77983999 +0.10205 0.097553998 0.77983999 +0.10286 0.097553998 0.77983999 +0.10367 0.097553998 0.77983999 +0.10447 0.097553998 0.77983999 +0.10534 0.097608998 0.78027999 +0.10615 0.097608998 0.78027999 +0.10696 0.097608998 0.78027999 +0.10783 0.097663999 0.78072 +0.10864 0.097663999 0.78072 +0.10939 0.097608998 0.78027999 +0.11013 0.097553998 0.77983999 +0.11101 0.097608998 0.78027999 +0.11188 0.097663999 0.78072 +0.11262 0.097608998 0.78027999 +0.12068 0.10311 0.82424998 +0.12146 0.10305 0.82375997 +0.12224 0.10299 0.82327002 +0.12317 0.10305 0.82375997 +0.12388 0.10293 0.82278001 +0.12458 0.1028 0.82181001 +0.11944 0.097227 0.77723002 +0.12011 0.097117998 0.77635998 +0.12091 0.097117998 0.77635998 +0.12172 0.097117998 0.77635998 +0.12239 0.097010002 0.77548999 +0.12312 0.096956 0.77506 +0.12399 0.097010002 0.77548999 +0.12473 0.096956 0.77506 +0.12553 0.096956 0.77506 +0.12634 0.096956 0.77506 +0.12714 0.096956 0.77506 +0.12773 0.096794002 0.77376002 +0.12853 0.096794002 0.77376002 +0.12919 0.096685998 0.77289999 +0.12970001 0.096470997 0.77118999 +0.13043 0.096418001 0.77076 +0.13123 0.096418001 0.77076 +0.13203 0.096418001 0.77076 +0.13276 0.096363999 0.77033001 +0.13341001 0.096258 0.76947999 +-0.0057263998 0.10232 0.81124997 +-0.004888 0.10238 0.81173003 +0.0035375999 0.10262 0.81362998 +0.0043760999 0.1025 0.81268001 +0.0052127 0.10238 0.81173003 +0.0060438998 0.10221 0.81031001 +0.0077153998 0.10209 0.80936003 +0.0085496996 0.10203 0.80888999 +0.0093884999 0.10203 0.80888999 +0.010209 0.10185 0.80747998 +0.010951 0.10097 0.80050999 +0.011727 0.10051 0.79683 +0.012496 0.10005 0.79320002 +0.02208 0.095261998 0.75525999 +0.022814 0.095054999 0.75362003 +0.023557 0.094901003 0.75239998 +0.024297001 0.094746999 0.75117999 +0.025076 0.094746999 0.75117999 +0.025841 0.094696 0.75076997 +0.026605001 0.094645001 0.75037003 +0.027384 0.094645001 0.75037003 +0.028131001 0.094543003 0.74956 +0.028876999 0.094440997 0.74874997 +0.029622 0.094338998 0.74794 +0.030381 0.094287999 0.74754 +0.03114 0.094237998 0.74713999 +0.031863 0.094085999 0.74594003 +0.032600999 0.093984999 0.74514002 +0.033374 0.093984999 0.74514002 +0.034092002 0.093833998 0.74394 +0.034862999 0.093833998 0.74394 +0.035615999 0.093783997 0.74353999 +0.036348 0.093684003 0.74274999 +0.037098002 0.093634002 0.74234998 +0.037847999 0.093584001 0.74194998 +0.038596999 0.093534 0.74155998 +0.039345 0.093483999 0.74115998 +0.040091999 0.093433999 0.74076998 +0.040816002 0.093335003 0.73997998 +0.041561998 0.093285002 0.73957998 +0.042305999 0.093235001 0.73918998 +0.043072 0.093235001 0.73918998 +0.043768998 0.093087003 0.73800999 +0.044487 0.092987999 0.73723 +0.045228001 0.092938997 0.73684001 +0.045967001 0.092889003 0.73645002 +0.046755999 0.092938997 0.73684001 +0.04752 0.092938997 0.73684001 +0.048257999 0.092889003 0.73645002 +0.049022 0.092889003 0.73645002 +0.049786001 0.092889003 0.73645002 +0.050549001 0.092889003 0.73645002 +0.051313002 0.092889003 0.73645002 +0.052076999 0.092889003 0.73645002 +0.052811999 0.092840001 0.73606002 +0.053576 0.092840001 0.73606002 +0.054338999 0.092840001 0.73606002 +0.055131 0.092889003 0.73645002 +0.055865001 0.092840001 0.73606002 +0.056628998 0.092840001 0.73606002 +0.057422001 0.092889003 0.73645002 +0.058185998 0.092889003 0.73645002 +0.058917999 0.092840001 0.73606002 +0.059712999 0.092889003 0.73645002 +0.060477 0.092889003 0.73645002 +0.061207999 0.092840001 0.73606002 +0.062004 0.092889003 0.73645002 +0.062767997 0.092889003 0.73645002 +0.063532002 0.092889003 0.73645002 +0.064364001 0.092987999 0.73723 +0.065196998 0.093087003 0.73800999 +0.065998003 0.093135998 0.73841 +0.066799 0.093185998 0.73879999 +0.067601003 0.093235001 0.73918998 +0.068439998 0.093335003 0.73997998 +0.069392003 0.093584001 0.74194998 +0.070161998 0.093584001 0.74194998 +0.071006998 0.093684003 0.74274999 +0.071854003 0.093783997 0.74353999 +0.072702996 0.093883999 0.74434 +0.073553003 0.093984999 0.74514002 +0.074326001 0.093984999 0.74514002 +0.075179003 0.094085999 0.74594003 +0.076075003 0.094237998 0.74713999 +0.076932997 0.094338998 0.74794 +0.077749997 0.094389997 0.74835002 +0.078525998 0.094389997 0.74835002 +0.079558998 0.094696 0.75076997 +0.080554999 0.094952002 0.75281 +0.081292003 0.094901003 0.75239998 +0.082116999 0.094952002 0.75281 +0.082987003 0.095054999 0.75362003 +0.083860002 0.095159002 0.75444001 +0.084688 0.095210001 0.75484997 +0.094292998 0.097868003 0.77591997 +0.095204003 0.097978003 0.77679002 +0.09601 0.097978003 0.77679002 +0.096923999 0.098086998 0.77766001 +0.097785003 0.098141998 0.77810001 +0.098646998 0.098196998 0.77853 +0.099454001 0.098196998 0.77853 +0.10032 0.098251998 0.77897 +0.10124 0.098362997 0.77983999 +0.10205 0.098362997 0.77983999 +0.10286 0.098362997 0.77983999 +0.10367 0.098362997 0.77983999 +0.10447 0.098362997 0.77983999 +0.10534 0.098417997 0.78027999 +0.10615 0.098417997 0.78027999 +0.10696 0.098417997 0.78027999 +0.10783 0.098472998 0.78072 +0.10858 0.098417997 0.78027999 +0.10933 0.098362997 0.77983999 +0.11013 0.098362997 0.77983999 +0.11094 0.098362997 0.77983999 +0.11181 0.098417997 0.78027999 +0.11256 0.098362997 0.77983999 +0.11337 0.098362997 0.77983999 +0.12153 0.10396 0.82424998 +0.12232 0.1039 0.82375997 +0.12324 0.10396 0.82424998 +0.12388 0.10378 0.82278001 +0.1187 0.098086998 0.77766001 +0.11944 0.098033004 0.77723002 +0.12011 0.097923003 0.77635998 +0.12091 0.097923003 0.77635998 +0.12172 0.097923003 0.77635998 +0.12239 0.097814001 0.77548999 +0.12319 0.097814001 0.77548999 +0.12399 0.097814001 0.77548999 +0.12473 0.097759001 0.77506 +0.12553 0.097759001 0.77506 +0.12634 0.097759001 0.77506 +0.12706999 0.097704999 0.77463001 +0.12766001 0.097542003 0.77332997 +0.12846 0.097542003 0.77332997 +0.12912001 0.097433001 0.77247 +0.12963 0.097217001 0.77076 +0.13036001 0.097162999 0.77033001 +0.13116001 0.097162999 0.77033001 +0.13196 0.097162999 0.77033001 +0.13268 0.097108997 0.76990998 +0.13333 0.097002 0.76905 +-0.005723 0.10311 0.81077999 +-0.0048850998 0.10317 0.81124997 +0.0035333999 0.10335 0.81268001 +0.004371 0.10323 0.81173003 +0.0052066999 0.10311 0.81077999 +0.0060367999 0.10293 0.80936003 +0.0077064 0.10281 0.80842 +0.0085348003 0.10269 0.80747998 +0.0093721002 0.10269 0.80747998 +0.010945 0.10174 0.80005002 +0.011727 0.10133 0.79683 +0.012503 0.10093 0.79364997 +0.017061001 0.098728001 0.77635998 +0.020102 0.097852997 0.76947999 +0.022104001 0.096150003 0.75607997 +0.022838 0.095941 0.75444001 +0.023582 0.095784999 0.75321001 +0.024324 0.095628999 0.75199002 +0.02509 0.095578 0.75158 +0.025854999 0.095526002 0.75117999 +0.026634 0.095526002 0.75117999 +0.027398 0.095475003 0.75076997 +0.028146001 0.095371 0.74996001 +0.028893 0.095269002 0.74914998 +0.029638 0.095165998 0.74835002 +0.030397 0.095114999 0.74794 +0.031156 0.095063999 0.74754 +0.031897001 0.094961002 0.74673998 +0.032618999 0.094809003 0.74554002 +0.033392001 0.094809003 0.74554002 +0.034109998 0.094655998 0.74434 +0.034862999 0.094605997 0.74394 +0.035615999 0.094554998 0.74353999 +0.036366999 0.094503999 0.74313998 +0.037098002 0.094402999 0.74234998 +0.037868001 0.094402999 0.74234998 +0.038596999 0.094302997 0.74155998 +0.039365999 0.094302997 0.74155998 +0.040112998 0.094251998 0.74115998 +0.040837999 0.094152004 0.74036998 +0.041584 0.094102003 0.73997998 +0.042328 0.094052002 0.73957998 +0.043095 0.094052002 0.73957998 +0.043791998 0.093901999 0.73841 +0.044511002 0.093801998 0.73762 +0.045276001 0.093801998 0.73762 +0.045991998 0.093703002 0.73684001 +0.046781 0.093751997 0.73723 +0.047545001 0.093751997 0.73723 +0.048284002 0.093703002 0.73684001 +0.049047999 0.093703002 0.73684001 +0.049812 0.093703002 0.73684001 +0.050549001 0.093653001 0.73645002 +0.051339999 0.093703002 0.73684001 +0.052104 0.093703002 0.73684001 +0.052839998 0.093653001 0.73645002 +0.053603999 0.093653001 0.73645002 +0.054368 0.093653001 0.73645002 +0.055160999 0.093703002 0.73684001 +0.055895001 0.093653001 0.73645002 +0.056659002 0.093653001 0.73645002 +0.057452999 0.093703002 0.73684001 +0.058217 0.093703002 0.73684001 +0.058981001 0.093703002 0.73684001 +0.059744999 0.093703002 0.73684001 +0.060509 0.093703002 0.73684001 +0.061273001 0.093703002 0.73684001 +0.062070001 0.093751997 0.73723 +0.062835 0.093751997 0.73723 +0.063598998 0.093751997 0.73723 +0.064432003 0.093851998 0.73800999 +0.065266997 0.093952 0.73879999 +0.066068001 0.094002001 0.73918998 +0.066869996 0.094052002 0.73957998 +0.067672998 0.094102003 0.73997998 +0.068549998 0.094251998 0.74115998 +0.069504 0.094503999 0.74313998 +0.070274003 0.094503999 0.74313998 +0.071121 0.094605997 0.74394 +0.071930997 0.094655998 0.74434 +0.072780997 0.094757996 0.74514002 +0.073632002 0.094860002 0.74594003 +0.074446 0.094910003 0.74633998 +0.075259998 0.094961002 0.74673998 +0.076157004 0.095114999 0.74794 +0.077016003 0.095216997 0.74874997 +0.077791996 0.095216997 0.74874997 +0.078611001 0.095269002 0.74914998 +0.079602003 0.095526002 0.75117999 +0.080599003 0.095784999 0.75321001 +0.081335999 0.095733002 0.75281 +0.082161002 0.095784999 0.75321001 +0.083031997 0.095889002 0.75402999 +0.083904997 0.095992997 0.75484997 +0.094292998 0.098673001 0.77591997 +0.095204003 0.098783001 0.77679002 +0.09601 0.098783001 0.77679002 +0.096923999 0.098894 0.77766001 +0.097785003 0.098949 0.77810001 +0.098646998 0.099004999 0.77853 +0.099454001 0.099004999 0.77853 +0.10032 0.099059999 0.77897 +0.10124 0.099170998 0.77983999 +0.10205 0.099170998 0.77983999 +0.10286 0.099170998 0.77983999 +0.10367 0.099170998 0.77983999 +0.10447 0.099170998 0.77983999 +0.10534 0.099226996 0.78027999 +0.10609 0.099170998 0.77983999 +0.1069 0.099170998 0.77983999 +0.10777 0.099226996 0.78027999 +0.10852 0.099170998 0.77983999 +0.10926 0.099115998 0.77941 +0.11007 0.099115998 0.77941 +0.11094 0.099170998 0.77983999 +0.11175 0.099170998 0.77983999 +0.1125 0.099115998 0.77941 +0.11331 0.099115998 0.77941 +0.12161 0.10488 0.82473999 +0.12239 0.10482 0.82424998 +0.11715 0.098949 0.77810001 +0.11789 0.098894 0.77766001 +0.1187 0.098894 0.77766001 +0.11944 0.098839 0.77723002 +0.12011 0.098728001 0.77635998 +0.12091 0.098728001 0.77635998 +0.12172 0.098728001 0.77635998 +0.12239 0.098618001 0.77548999 +0.12319 0.098618001 0.77548999 +0.12399 0.098618001 0.77548999 +0.12473 0.098563001 0.77506 +0.12553 0.098563001 0.77506 +0.12634 0.098563001 0.77506 +0.12706999 0.098508 0.77463001 +0.12759 0.098288998 0.77289999 +0.12839 0.098288998 0.77289999 +0.12898 0.098125003 0.77161998 +0.12955999 0.097961999 0.77033001 +0.13029 0.097907998 0.76990998 +0.13109 0.097907998 0.76990998 +0.13188 0.097907998 0.76990998 +0.13260999 0.097852997 0.76947999 +-0.093347996 0.10322 0.80514002 +-0.092459001 0.10316 0.80467999 +-0.091624998 0.10316 0.80467999 +-0.090791002 0.10316 0.80467999 +-0.089904003 0.1031 0.80421001 +-0.088235997 0.1031 0.80421001 +0.0035293 0.10407 0.81173003 +0.0043684999 0.10401 0.81124997 +0.0052005998 0.10383 0.80984002 +0.0060298 0.10364 0.80842 +0.0076885 0.1034 0.80655003 +0.0085051004 0.10316 0.80467999 +0.0093449997 0.10322 0.80514002 +0.010139 0.10281 0.80189002 +0.010939 0.10251 0.79958999 +0.011727 0.10216 0.79683 +0.012511 0.10181 0.79409999 +0.017033 0.099367 0.77506 +0.017827 0.099311002 0.77463001 +0.018650999 0.099422 0.77548999 +0.020102 0.098650999 0.76947999 +0.020749999 0.097946003 0.76397997 +0.022128001 0.097038999 0.75691003 +0.022863001 0.096827999 0.75525999 +0.023607999 0.096671 0.75402999 +0.024350001 0.096514001 0.75281 +0.025117001 0.096460998 0.75239998 +0.027412999 0.096304998 0.75117999 +0.028162001 0.096201003 0.75037003 +0.028909 0.096097 0.74956 +0.029654 0.095994003 0.74874997 +0.030414 0.095941998 0.74835002 +0.031173 0.09589 0.74794 +0.031913999 0.095787004 0.74713999 +0.032636002 0.095633 0.74594003 +0.033410002 0.095633 0.74594003 +0.034127999 0.095478997 0.74474001 +0.034882002 0.095427997 0.74434 +0.035634998 0.095376998 0.74394 +0.036366999 0.095275 0.74313998 +0.037117999 0.095224001 0.74274999 +0.037868001 0.095173001 0.74234998 +0.038617 0.095122002 0.74194998 +0.039386999 0.095122002 0.74194998 +0.040135 0.095072001 0.74155998 +0.040860001 0.094970003 0.74076998 +0.041606002 0.094920002 0.74036998 +0.042351 0.094869003 0.73997998 +0.043118 0.094869003 0.73997998 +0.043816 0.094718002 0.73879999 +0.044534001 0.094617002 0.73800999 +0.045299999 0.094617002 0.73800999 +0.046016 0.094517 0.73723 +0.046805002 0.094567001 0.73762 +0.047570001 0.094567001 0.73762 +0.04831 0.094517 0.73723 +0.049047999 0.094466999 0.73684001 +0.049839001 0.094517 0.73723 +0.050576001 0.094466999 0.73684001 +0.051367 0.094517 0.73723 +0.052131999 0.094517 0.73723 +0.052868001 0.094466999 0.73684001 +0.053631999 0.094466999 0.73684001 +0.054397002 0.094466999 0.73684001 +0.055190001 0.094517 0.73723 +0.055925 0.094466999 0.73684001 +0.056689002 0.094466999 0.73684001 +0.057482999 0.094517 0.73723 +0.058247998 0.094517 0.73723 +0.059012 0.094517 0.73723 +0.059808001 0.094567001 0.73762 +0.060541 0.094517 0.73723 +0.061306 0.094517 0.73723 +0.062103 0.094567001 0.73762 +0.062900998 0.094617002 0.73800999 +0.063666999 0.094617002 0.73800999 +0.064499997 0.094718002 0.73879999 +0.065370999 0.094869003 0.73997998 +0.066173002 0.094920002 0.74036998 +0.066977002 0.094970003 0.74076998 +0.067781001 0.095021002 0.74115998 +0.068659 0.095173001 0.74234998 +0.069614999 0.095427997 0.74434 +0.070386998 0.095427997 0.74434 +0.071235001 0.095530003 0.74514002 +0.072047003 0.095582001 0.74554002 +0.072858997 0.095633 0.74594003 +0.073671997 0.095683999 0.74633998 +0.074486002 0.095735997 0.74673998 +0.075341001 0.095839001 0.74754 +0.076197997 0.095941998 0.74835002 +0.077056997 0.096045002 0.74914998 +0.077834003 0.096045002 0.74914998 +0.078611001 0.096045002 0.74914998 +0.079645 0.096357003 0.75158 +0.080599003 0.096565999 0.75321001 +0.081380002 0.096565999 0.75321001 +0.082206003 0.096617997 0.75362003 +0.083076999 0.096722998 0.75444001 +0.083950996 0.096827999 0.75525999 +0.094241001 0.099422 0.77548999 +0.095204003 0.099588998 0.77679002 +0.096064001 0.099643998 0.77723002 +0.096923999 0.099699996 0.77766001 +0.097785003 0.099756002 0.77810001 +0.098646998 0.099812001 0.77853 +0.099454001 0.099812001 0.77853 +0.10026 0.099812001 0.77853 +0.10124 0.099979997 0.77983999 +0.10205 0.099979997 0.77983999 +0.10286 0.099979997 0.77983999 +0.10361 0.099923998 0.77941 +0.10442 0.099923998 0.77941 +0.10528 0.099979997 0.77983999 +0.10609 0.099979997 0.77983999 +0.1069 0.099979997 0.77983999 +0.10771 0.099979997 0.77983999 +0.10852 0.099979997 0.77983999 +0.10926 0.099923998 0.77941 +0.11001 0.099868 0.77897 +0.11088 0.099923998 0.77941 +0.11175 0.099979997 0.77983999 +0.11243 0.099868 0.77897 +0.11331 0.099923998 0.77941 +0.11405 0.099868 0.77897 +0.11641 0.099812001 0.77853 +0.11708 0.099699996 0.77766001 +0.11782 0.099643998 0.77723002 +0.1187 0.099699996 0.77766001 +0.11944 0.099643998 0.77723002 +0.12017 0.099588998 0.77679002 +0.12091 0.099532999 0.77635998 +0.12172 0.099532999 0.77635998 +0.12245 0.099477999 0.77591997 +0.12319 0.099422 0.77548999 +0.12399 0.099422 0.77548999 +0.12473 0.099367 0.77506 +0.12553 0.099367 0.77506 +0.12634 0.099367 0.77506 +0.12706999 0.099311002 0.77463001 +0.12759 0.099090002 0.77289999 +0.12831999 0.099035002 0.77247 +0.12890001 0.098870002 0.77118999 +0.12942 0.098650999 0.76947999 +0.13014001 0.098596998 0.76905 +0.13094001 0.098596998 0.76905 +0.13174 0.098596998 0.76905 +0.13253 0.098596998 0.76905 +-0.092405997 0.10394 0.80421001 +-0.090737998 0.10394 0.80421001 +-0.089019001 0.10388 0.80374998 +-0.088184997 0.10388 0.80374998 +-0.087402001 0.10394 0.80421001 +-0.086567998 0.10394 0.80421001 +0.0035252001 0.10479 0.81077999 +0.0043633999 0.10473 0.81031001 +0.0051976 0.1046 0.80936003 +0.0060192998 0.1043 0.80700999 +0.0068482002 0.10418 0.80607998 +0.0076751998 0.10406 0.80514002 +0.0084904004 0.10382 0.80328 +0.0093288003 0.10388 0.80374998 +0.010121 0.10346 0.80050999 +0.010939 0.10334 0.79958999 +0.011727 0.10298 0.79683 +0.012511 0.10263 0.79409999 +0.017014001 0.10006 0.77419001 +0.017797001 0.099946998 0.77332997 +0.018599 0.099946998 0.77332997 +0.019358 0.099725001 0.77161998 +0.020090999 0.099394001 0.76905 +0.020772999 0.098847002 0.76481998 +0.022164 0.097984001 0.75814003 +0.022887999 0.097718 0.75607997 +0.023633 0.097558998 0.75484997 +0.024375999 0.097400002 0.75362003 +0.025144 0.097346999 0.75321001 +0.025911 0.097294003 0.75281 +0.026676999 0.097241998 0.75239998 +0.027427999 0.097135998 0.75158 +0.028177001 0.097032003 0.75076997 +0.028924 0.096927002 0.74996001 +0.02967 0.096822001 0.74914998 +0.030447001 0.096822001 0.74914998 +0.03119 0.096717998 0.74835002 +0.031931002 0.096614003 0.74754 +0.032671001 0.096510001 0.74673998 +0.033445999 0.096510001 0.74673998 +0.034164999 0.096354999 0.74554002 +0.034919001 0.096303001 0.74514002 +0.035654001 0.096199997 0.74434 +0.036405999 0.096147999 0.74394 +0.037138 0.096046001 0.74313998 +0.037888002 0.095994003 0.74274999 +0.038637999 0.095942996 0.74234998 +0.039407998 0.095942996 0.74234998 +0.040155999 0.095891997 0.74194998 +0.040902998 0.095840998 0.74155998 +0.041627999 0.095738001 0.74076998 +0.042374 0.095687002 0.74036998 +0.043141 0.095687002 0.74036998 +0.043862 0.095586002 0.73957998 +0.044581998 0.095484003 0.73879999 +0.045348 0.095484003 0.73879999 +0.046041001 0.095331997 0.73762 +0.046829998 0.095383003 0.73800999 +0.047570001 0.095331997 0.73762 +0.048335001 0.095331997 0.73762 +0.049074002 0.095280997 0.73723 +0.049865 0.095331997 0.73762 +0.050602999 0.095280997 0.73723 +0.051367 0.095280997 0.73723 +0.052159999 0.095331997 0.73762 +0.052896 0.095280997 0.73723 +0.053661 0.095280997 0.73723 +0.054425001 0.095280997 0.73723 +0.055218998 0.095331997 0.73762 +0.055954002 0.095280997 0.73723 +0.056719001 0.095280997 0.73723 +0.057514001 0.095331997 0.73762 +0.058279 0.095331997 0.73762 +0.059044 0.095331997 0.73762 +0.059840001 0.095383003 0.73800999 +0.060605001 0.095383003 0.73800999 +0.061370999 0.095383003 0.73800999 +0.062169001 0.095432997 0.73841 +0.062968001 0.095484003 0.73879999 +0.063734002 0.095484003 0.73879999 +0.064603001 0.095637001 0.73997998 +0.065439999 0.095738001 0.74076998 +0.066243999 0.095789999 0.74115998 +0.067047998 0.095840998 0.74155998 +0.067852996 0.095891997 0.74194998 +0.068769999 0.096097 0.74353999 +0.069727004 0.096354999 0.74554002 +0.070463002 0.096303001 0.74514002 +0.071312003 0.096407004 0.74594003 +0.072123997 0.096458003 0.74633998 +0.072898 0.096458003 0.74633998 +0.073711 0.096510001 0.74673998 +0.074525997 0.096561998 0.74713999 +0.075382002 0.096666001 0.74794 +0.076238997 0.096770003 0.74874997 +0.077056997 0.096822001 0.74914998 +0.077876002 0.096874997 0.74956 +0.078653 0.096874997 0.74956 +0.079645 0.097135998 0.75158 +0.080599003 0.097346999 0.75321001 +0.081423998 0.097400002 0.75362003 +0.082249999 0.097452998 0.75402999 +0.083122 0.097558998 0.75484997 +0.083995998 0.097664997 0.75567001 +0.095204003 0.10039 0.77679002 +0.096064001 0.10045 0.77723002 +0.096923999 0.10051 0.77766001 +0.097785003 0.10056 0.77810001 +0.098701999 0.10068 0.77897 +0.099454001 0.10062 0.77853 +0.10026 0.10062 0.77853 +0.10118 0.10073 0.77941 +0.10205 0.10079 0.77983999 +0.10286 0.10079 0.77983999 +0.10361 0.10073 0.77941 +0.10442 0.10073 0.77941 +0.10534 0.10085 0.78027999 +0.10609 0.10079 0.77983999 +0.1069 0.10079 0.77983999 +0.10771 0.10079 0.77983999 +0.10852 0.10079 0.77983999 +0.10926 0.10073 0.77941 +0.11001 0.10068 0.77897 +0.11088 0.10073 0.77941 +0.11175 0.10079 0.77983999 +0.11243 0.10068 0.77897 +0.11331 0.10073 0.77941 +0.11405 0.10068 0.77897 +0.11554 0.10056 0.77810001 +0.11641 0.10062 0.77853 +0.11708 0.10051 0.77766001 +0.11782 0.10045 0.77723002 +0.1187 0.10051 0.77766001 +0.11944 0.10045 0.77723002 +0.12017 0.10039 0.77679002 +0.12091 0.10034 0.77635998 +0.12172 0.10034 0.77635998 +0.12245 0.10028 0.77591997 +0.12319 0.10023 0.77548999 +0.12399 0.10023 0.77548999 +0.12473 0.10017 0.77506 +0.12546 0.10011 0.77463001 +0.12627 0.10011 0.77463001 +0.127 0.10006 0.77419001 +0.12745 0.099780999 0.77204001 +0.12825 0.099780999 0.77204001 +0.12883 0.099615 0.77076 +0.12935001 0.099394001 0.76905 +0.13007 0.099339001 0.76863003 +0.13087 0.099339001 0.76863003 +0.13166 0.099339001 0.76863003 +0.13246 0.099339001 0.76863003 +-0.087352 0.10471 0.80374998 +0.0035230999 0.10557 0.81031001 +0.0043608001 0.1055 0.80984002 +0.0051914998 0.10532 0.80842 +0.0060123 0.10502 0.80607998 +0.0068362998 0.10483 0.80467999 +0.0076663001 0.10477 0.80421001 +0.0084806001 0.10453 0.80236 +0.0093179997 0.10459 0.80282003 +0.010115 0.10423 0.80005002 +0.010932 0.10411 0.79913002 +0.011727 0.10381 0.79683 +0.012518 0.10351 0.79456002 +0.016976001 0.10064 0.77247 +0.017766999 0.10058 0.77204001 +0.018557001 0.10053 0.77161998 +0.019324999 0.10036 0.77033001 +0.02008 0.10014 0.76863003 +0.020795999 0.099749997 0.76565999 +0.021519 0.099421002 0.76314002 +0.022913 0.098609 0.75691003 +0.023659 0.098448001 0.75567001 +0.024416 0.098341003 0.75484997 +0.025185 0.098288 0.75444001 +0.025953 0.098235004 0.75402999 +0.026721001 0.098181002 0.75362003 +0.027473001 0.098075002 0.75281 +0.028207 0.097916 0.75158 +0.02894 0.097756997 0.75037003 +0.029702 0.097704001 0.74996001 +0.030463001 0.097652003 0.74956 +0.031222999 0.097599 0.74914998 +0.031948999 0.097442001 0.74794 +0.032689001 0.097337 0.74713999 +0.033464 0.097337 0.74713999 +0.034201998 0.097231999 0.74633998 +0.034956999 0.097180001 0.74594003 +0.035691999 0.097075999 0.74514002 +0.036426 0.096972004 0.74434 +0.037158001 0.096868001 0.74353999 +0.037909001 0.096816003 0.74313998 +0.038658001 0.096764997 0.74274999 +0.039429002 0.096764997 0.74274999 +0.040176999 0.096712999 0.74234998 +0.040925 0.096661001 0.74194998 +0.041671999 0.096610002 0.74155998 +0.042396002 0.096506998 0.74076998 +0.043187 0.096557997 0.74115998 +0.043908998 0.096455 0.74036998 +0.044605002 0.096300997 0.73918998 +0.045372002 0.096300997 0.73918998 +0.046089001 0.096198998 0.73841 +0.046854999 0.096198998 0.73841 +0.047596 0.096147999 0.73800999 +0.048361 0.096147999 0.73800999 +0.0491 0.096097 0.73762 +0.049890999 0.096147999 0.73800999 +0.050629999 0.096097 0.73762 +0.051394999 0.096097 0.73762 +0.052186999 0.096147999 0.73800999 +0.052924 0.096097 0.73762 +0.053688999 0.096097 0.73762 +0.054453999 0.096097 0.73762 +0.055248 0.096147999 0.73800999 +0.055984002 0.096097 0.73762 +0.056749001 0.096097 0.73762 +0.057574999 0.096198998 0.73841 +0.058341 0.096198998 0.73841 +0.059106 0.096198998 0.73841 +0.059904002 0.096249998 0.73879999 +0.06067 0.096249998 0.73879999 +0.061436001 0.096249998 0.73879999 +0.062268 0.096353002 0.73957998 +0.063034996 0.096353002 0.73957998 +0.063836001 0.096404001 0.73997998 +0.064638004 0.096455 0.74036998 +0.065475002 0.096557997 0.74115998 +0.066315003 0.096661001 0.74194998 +0.067084 0.096661001 0.74194998 +0.067925997 0.096764997 0.74274999 +0.068843 0.096972004 0.74434 +0.069765002 0.097180001 0.74594003 +0.070537999 0.097180001 0.74594003 +0.071350001 0.097231999 0.74633998 +0.072163001 0.097283997 0.74673998 +0.072936997 0.097283997 0.74673998 +0.073751003 0.097337 0.74713999 +0.074565999 0.097388998 0.74754 +0.075382002 0.097442001 0.74794 +0.076238997 0.097547002 0.74874997 +0.077056997 0.097599 0.74914998 +0.077876002 0.097652003 0.74956 +0.078653 0.097652003 0.74956 +0.079645 0.097916 0.75158 +0.080642998 0.098181002 0.75362003 +0.081468001 0.098235004 0.75402999 +0.082295001 0.098288 0.75444001 +0.083168 0.098394997 0.75525999 +0.084041998 0.098502003 0.75607997 +0.084872 0.098554999 0.75648999 +0.095257998 0.10126 0.77723002 +0.096064001 0.10126 0.77723002 +0.096978001 0.10137 0.77810001 +0.097785003 0.10137 0.77810001 +0.098701999 0.10148 0.77897 +0.099454001 0.10143 0.77853 +0.10026 0.10143 0.77853 +0.10118 0.10154 0.77941 +0.10199 0.10154 0.77941 +0.10286 0.1016 0.77983999 +0.10361 0.10154 0.77941 +0.10442 0.10154 0.77941 +0.10534 0.10165 0.78027999 +0.10609 0.1016 0.77983999 +0.1069 0.1016 0.77983999 +0.10771 0.1016 0.77983999 +0.10852 0.1016 0.77983999 +0.10926 0.10154 0.77941 +0.11007 0.10154 0.77941 +0.11094 0.1016 0.77983999 +0.11175 0.1016 0.77983999 +0.1125 0.10154 0.77941 +0.11337 0.1016 0.77983999 +0.11411 0.10154 0.77941 +0.11486 0.10148 0.77897 +0.11554 0.10137 0.77810001 +0.11634 0.10137 0.77810001 +0.11708 0.10131 0.77766001 +0.11782 0.10126 0.77723002 +0.1187 0.10131 0.77766001 +0.11944 0.10126 0.77723002 +0.12017 0.1012 0.77679002 +0.12091 0.10114 0.77635998 +0.12179 0.1012 0.77679002 +0.12245 0.10109 0.77591997 +0.12319 0.10103 0.77548999 +0.12406 0.10109 0.77591997 +0.12473 0.10097 0.77506 +0.12546 0.10092 0.77463001 +0.12627 0.10092 0.77463001 +0.127 0.10086 0.77419001 +0.12738 0.10053 0.77161998 +0.12809999 0.10047 0.77118999 +0.12876 0.10036 0.77033001 +0.1292 0.10008 0.76819998 +0.13 0.10008 0.76819998 +0.13079999 0.10008 0.76819998 +0.13158999 0.10008 0.76819998 +0.13991 0.10514 0.80700999 +0.14083 0.1052 0.80747998 +0.0043557999 0.10622 0.80888999 +0.0051854998 0.10604 0.80747998 +0.0060053999 0.10573 0.80514002 +0.0068244999 0.10548 0.80328 +0.0076529998 0.10542 0.80282003 +0.0084707998 0.10524 0.80142999 +0.0093018999 0.10524 0.80142999 +0.01011 0.105 0.79958999 +0.010926 0.10488 0.79866999 +0.011727 0.10464 0.79683 +0.012518 0.10434 0.79456002 +0.016957 0.10133 0.77161998 +0.017747 0.10127 0.77118999 +0.018537 0.10121 0.77076 +0.019315001 0.1011 0.76990998 +0.02008 0.10093 0.76863003 +0.020808 0.1006 0.76608998 +0.021554001 0.10038 0.76440001 +0.022260999 0.099992998 0.76147002 +0.022938 0.099501997 0.75773001 +0.023685001 0.099339999 0.75648999 +0.024443001 0.099232003 0.75567001 +0.025212999 0.099178001 0.75525999 +0.025982 0.099123999 0.75484997 +0.02675 0.099069998 0.75444001 +0.027502 0.098963 0.75362003 +0.028238 0.098802 0.75239998 +0.028971 0.098641999 0.75117999 +0.029718 0.098535001 0.75037003 +0.030495999 0.098535001 0.75037003 +0.031239999 0.098429002 0.74956 +0.031966001 0.098269999 0.74835002 +0.032724001 0.098217003 0.74794 +0.033482 0.098164 0.74754 +0.034239002 0.098112002 0.74713999 +0.034995001 0.098058999 0.74673998 +0.035730001 0.097953998 0.74594003 +0.036444999 0.097796001 0.74474001 +0.037198 0.097744003 0.74434 +0.037949 0.097691 0.74394 +0.038699999 0.097639002 0.74353999 +0.039450001 0.097586997 0.74313998 +0.040199 0.097534999 0.74274999 +0.040947001 0.097483002 0.74234998 +0.041694999 0.097430997 0.74194998 +0.042440999 0.097378999 0.74155998 +0.04321 0.097378999 0.74155998 +0.043956 0.097327001 0.74115998 +0.044677 0.097222999 0.74036998 +0.045419998 0.097171001 0.73997998 +0.046138 0.097067997 0.73918998 +0.046905 0.097067997 0.73918998 +0.047646001 0.097015999 0.73879999 +0.048386998 0.096965 0.73841 +0.049125999 0.096913002 0.73800999 +0.049918 0.096965 0.73841 +0.050684001 0.096965 0.73841 +0.051449001 0.096965 0.73841 +0.052214999 0.096965 0.73841 +0.052981 0.096965 0.73841 +0.053746 0.096965 0.73841 +0.054483 0.096913002 0.73800999 +0.055277999 0.096965 0.73841 +0.056044001 0.096965 0.73841 +0.056809001 0.096965 0.73841 +0.057636 0.097067997 0.73918998 +0.058403 0.097067997 0.73918998 +0.059168998 0.097067997 0.73918998 +0.059967998 0.097119004 0.73957998 +0.060766999 0.097171001 0.73997998 +0.061533999 0.097171001 0.73997998 +0.062334999 0.097222999 0.74036998 +0.063135996 0.097274996 0.74076998 +0.063904002 0.097274996 0.74076998 +0.064707004 0.097327001 0.74115998 +0.065545 0.097430997 0.74194998 +0.066349998 0.097483002 0.74234998 +0.067120001 0.097483002 0.74234998 +0.067961998 0.097586997 0.74313998 +0.068916999 0.097848997 0.74514002 +0.069802001 0.098006003 0.74633998 +0.070614003 0.098058999 0.74673998 +0.071387999 0.098058999 0.74673998 +0.072200999 0.098112002 0.74713999 +0.072976001 0.098112002 0.74713999 +0.073790997 0.098164 0.74754 +0.074606001 0.098217003 0.74794 +0.075421996 0.098269999 0.74835002 +0.076279998 0.098375998 0.74914998 +0.077099003 0.098429002 0.74956 +0.077918001 0.098481998 0.74996001 +0.078695998 0.098481998 0.74996001 +0.079687998 0.098748997 0.75199002 +0.080642998 0.098963 0.75362003 +0.081468001 0.099017002 0.75402999 +0.082340002 0.099123999 0.75484997 +0.083213001 0.099232003 0.75567001 +0.084087998 0.099339999 0.75648999 +0.084918 0.099394001 0.75691003 +0.085844003 0.099556997 0.75814003 +0.095204003 0.10201 0.77679002 +0.096064001 0.10206 0.77723002 +0.096923999 0.10212 0.77766001 +0.097785003 0.10218 0.77810001 +0.098646998 0.10223 0.77853 +0.099454001 0.10223 0.77853 +0.10026 0.10223 0.77853 +0.10118 0.10235 0.77941 +0.10199 0.10235 0.77941 +0.1028 0.10235 0.77941 +0.10361 0.10235 0.77941 +0.10442 0.10235 0.77941 +0.10534 0.10246 0.78027999 +0.10609 0.10241 0.77983999 +0.1069 0.10241 0.77983999 +0.10771 0.10241 0.77983999 +0.10852 0.10241 0.77983999 +0.10933 0.10241 0.77983999 +0.11007 0.10235 0.77941 +0.11094 0.10241 0.77983999 +0.11181 0.10246 0.78027999 +0.1125 0.10235 0.77941 +0.11337 0.10241 0.77983999 +0.11411 0.10235 0.77941 +0.11486 0.10229 0.77897 +0.11554 0.10218 0.77810001 +0.11634 0.10218 0.77810001 +0.11708 0.10212 0.77766001 +0.11782 0.10206 0.77723002 +0.1187 0.10212 0.77766001 +0.11944 0.10206 0.77723002 +0.12017 0.10201 0.77679002 +0.12091 0.10195 0.77635998 +0.12172 0.10195 0.77635998 +0.12245 0.10189 0.77591997 +0.12326 0.10189 0.77591997 +0.12406 0.10189 0.77591997 +0.12473 0.10178 0.77506 +0.12546 0.10172 0.77463001 +0.12634 0.10178 0.77506 +0.127 0.10166 0.77419001 +0.12745 0.10138 0.77204001 +0.13481 0.10591 0.80655003 +0.13557 0.10585 0.80607998 +0.13816001 0.10591 0.80655003 +0.13891999 0.10585 0.80607998 +0.13982999 0.10591 0.80655003 +0.14075001 0.10597 0.80700999 +0.14159 0.10597 0.80700999 +0.14251 0.10604 0.80747998 +0.24006 0.10659 0.81173003 +0.0043481998 0.10687 0.80747998 +0.0051795002 0.10675 0.80655003 +0.0059984 0.10644 0.80421001 +0.0068126 0.10613 0.80189002 +0.0076442002 0.10613 0.80189002 +0.0084610004 0.10595 0.80050999 +0.0092858002 0.10589 0.80005002 +0.010104 0.10577 0.79913002 +0.01092 0.10565 0.79821002 +0.011727 0.10546 0.79683 +0.012518 0.10516 0.79456002 +0.016948 0.10207 0.77118999 +0.017728001 0.10196 0.77033001 +0.018516 0.1019 0.76990998 +0.019304 0.10184 0.76947999 +0.020068999 0.10167 0.76819998 +0.020808 0.10139 0.76608998 +0.021566 0.10123 0.76481998 +0.022286 0.10089 0.76230001 +0.022949999 0.10034 0.75814003 +0.023724001 0.10029 0.75773001 +0.024468999 0.10012 0.75648999 +0.02524 0.10007 0.75607997 +0.026009999 0.10002 0.75567001 +0.026779 0.099960998 0.75525999 +0.027532 0.099853002 0.75444001 +0.028269 0.099689998 0.75321001 +0.028987 0.099474996 0.75158 +0.029750001 0.099421002 0.75117999 +0.030512 0.099367 0.75076997 +0.031257 0.099260002 0.74996001 +0.032000002 0.099152997 0.74914998 +0.032742001 0.099045999 0.74835002 +0.033518001 0.099045999 0.74835002 +0.034274999 0.098993003 0.74794 +0.035032 0.098939002 0.74754 +0.035769001 0.098833002 0.74673998 +0.036483999 0.098673999 0.74554002 +0.037237 0.098621003 0.74514002 +0.03799 0.098568 0.74474001 +0.038741 0.098516002 0.74434 +0.039471 0.098410003 0.74353999 +0.040242001 0.098410003 0.74353999 +0.040991001 0.098356999 0.74313998 +0.041738998 0.098305002 0.74274999 +0.042463999 0.098200001 0.74194998 +0.043257002 0.098251998 0.74234998 +0.044025999 0.098251998 0.74234998 +0.044723999 0.098095 0.74115998 +0.045469001 0.098043002 0.74076998 +0.046211999 0.097990997 0.74036998 +0.046955001 0.097939 0.73997998 +0.047697 0.097886004 0.73957998 +0.048464 0.097886004 0.73957998 +0.049178001 0.097782001 0.73879999 +0.049970999 0.097833999 0.73918998 +0.050737999 0.097833999 0.73918998 +0.051504001 0.097833999 0.73918998 +0.052271001 0.097833999 0.73918998 +0.053036999 0.097833999 0.73918998 +0.053803999 0.097833999 0.73918998 +0.054540999 0.097782001 0.73879999 +0.055337001 0.097833999 0.73918998 +0.056132998 0.097886004 0.73957998 +0.056899998 0.097886004 0.73957998 +0.057698 0.097939 0.73997998 +0.058465 0.097939 0.73997998 +0.059264001 0.097990997 0.74036998 +0.060031001 0.097990997 0.74036998 +0.060798999 0.097990997 0.74036998 +0.0616 0.098043002 0.74076998 +0.062368002 0.098043002 0.74076998 +0.063170001 0.098095 0.74115998 +0.063937999 0.098095 0.74115998 +0.064741001 0.098148003 0.74155998 +0.065580003 0.098251998 0.74234998 +0.066385999 0.098305002 0.74274999 +0.067192003 0.098356999 0.74313998 +0.067961998 0.098356999 0.74313998 +0.068953998 0.098673999 0.74554002 +0.069839999 0.098833002 0.74673998 +0.070652001 0.098885998 0.74713999 +0.071427003 0.098885998 0.74713999 +0.072240002 0.098939002 0.74754 +0.073014997 0.098939002 0.74754 +0.073830001 0.098993003 0.74794 +0.074646004 0.099045999 0.74835002 +0.075462997 0.099099003 0.74874997 +0.076279998 0.099152997 0.74914998 +0.077140003 0.099260002 0.74996001 +0.077918001 0.099260002 0.74996001 +0.078737997 0.099312998 0.75037003 +0.079731002 0.099582002 0.75239998 +0.080686003 0.099798001 0.75402999 +0.081513003 0.099853002 0.75444001 +0.082383998 0.099960998 0.75525999 +0.083302997 0.10012 0.75648999 +0.084133998 0.10018 0.75691003 +0.084964998 0.10023 0.75731999 +0.095204003 0.10281 0.77679002 +0.096064001 0.10287 0.77723002 +0.096923999 0.10293 0.77766001 +0.097730003 0.10293 0.77766001 +0.098646998 0.10304 0.77853 +0.099454001 0.10304 0.77853 +0.10026 0.10304 0.77853 +0.10113 0.1031 0.77897 +0.10199 0.10316 0.77941 +0.1028 0.10316 0.77941 +0.10361 0.10316 0.77941 +0.10442 0.10316 0.77941 +0.10534 0.10327 0.78027999 +0.10615 0.10327 0.78027999 +0.10696 0.10327 0.78027999 +0.10777 0.10327 0.78027999 +0.10858 0.10327 0.78027999 +0.10939 0.10327 0.78027999 +0.11013 0.10321 0.77983999 +0.11094 0.10321 0.77983999 +0.11181 0.10327 0.78027999 +0.1125 0.10316 0.77941 +0.11337 0.10321 0.77983999 +0.11418 0.10321 0.77983999 +0.11486 0.1031 0.77897 +0.11554 0.10298 0.77810001 +0.11641 0.10304 0.77853 +0.11708 0.10293 0.77766001 +0.11782 0.10287 0.77723002 +0.1187 0.10293 0.77766001 +0.11944 0.10287 0.77723002 +0.12017 0.10281 0.77679002 +0.12091 0.10275 0.77635998 +0.12172 0.10275 0.77635998 +0.12245 0.1027 0.77591997 +0.12326 0.1027 0.77591997 +0.12413 0.10275 0.77635998 +0.1248 0.10264 0.77548999 +0.12553 0.10258 0.77506 +0.12634 0.10258 0.77506 +0.12706999 0.10252 0.77463001 +0.13474 0.10669 0.80607998 +0.13549 0.10663 0.80561 +0.13641 0.10669 0.80607998 +0.13723999 0.10669 0.80607998 +0.13808 0.10669 0.80607998 +0.13891999 0.10669 0.80607998 +0.13975 0.10669 0.80607998 +0.14067 0.10675 0.80655003 +0.14150999 0.10675 0.80655003 +0.14241999 0.10681 0.80700999 +0.14326 0.10681 0.80700999 +0.23473001 0.10731 0.81077999 +0.23571 0.10737 0.81124997 +0.23655 0.10737 0.81124997 +0.23837 0.10743 0.81173003 +0.23907 0.10737 0.81124997 +0.23991001 0.10737 0.81124997 +0.0043430999 0.10759 0.80655003 +0.0051765 0.10752 0.80607998 +0.0059949001 0.10721 0.80374998 +0.0068048001 0.10684 0.80097002 +0.0076310001 0.10678 0.80050999 +0.0084562004 0.10672 0.80005002 +0.0092804004 0.10666 0.79958999 +0.010098 0.10653 0.79866999 +0.01092 0.10647 0.79821002 +0.011727 0.10629 0.79683 +0.012525 0.10605 0.79500997 +0.016147999 0.10287 0.77118999 +0.016929001 0.10275 0.77033001 +0.017718 0.1027 0.76990998 +0.018495999 0.10258 0.76905 +0.019283 0.10253 0.76863003 +0.020057 0.10241 0.76778001 +0.020808 0.10219 0.76608998 +0.021566 0.10202 0.76481998 +0.022298001 0.10174 0.76271999 +0.023001 0.10135 0.75980002 +0.023762999 0.10124 0.75897002 +0.024496 0.10102 0.75731999 +0.025268 0.10096 0.75691003 +0.026024001 0.10085 0.75607997 +0.026794 0.1008 0.75567001 +0.027562 0.10074 0.75525999 +0.028299 0.10058 0.75402999 +0.029018 0.10036 0.75239998 +0.029782001 0.10031 0.75199002 +0.030545 0.10025 0.75158 +0.031291001 0.10015 0.75076997 +0.032017998 0.099983998 0.74956 +0.032777 0.099930003 0.74914998 +0.033553999 0.099930003 0.74914998 +0.034294002 0.099822 0.74835002 +0.035069998 0.099822 0.74835002 +0.035806999 0.099715002 0.74754 +0.036543 0.099606998 0.74673998 +0.037296999 0.099554002 0.74633998 +0.038031001 0.099446997 0.74554002 +0.038782999 0.099394001 0.74514002 +0.039512999 0.099287003 0.74434 +0.040284999 0.099287003 0.74434 +0.041035 0.099234 0.74394 +0.041762002 0.099128 0.74313998 +0.042509001 0.099074997 0.74274999 +0.043280002 0.099074997 0.74274999 +0.044073001 0.099128 0.74313998 +0.044796001 0.099022001 0.74234998 +0.045517001 0.098917 0.74155998 +0.046262 0.098863997 0.74115998 +0.047005001 0.098811001 0.74076998 +0.047773 0.098811001 0.74076998 +0.048514999 0.098757997 0.74036998 +0.049231 0.098653004 0.73957998 +0.050023999 0.098706 0.73997998 +0.050792001 0.098706 0.73997998 +0.051559001 0.098706 0.73997998 +0.052326001 0.098706 0.73997998 +0.053094 0.098706 0.73997998 +0.053831998 0.098653004 0.73957998 +0.054598998 0.098653004 0.73957998 +0.055396002 0.098706 0.73997998 +0.056163002 0.098706 0.73997998 +0.056961 0.098757997 0.74036998 +0.057759002 0.098811001 0.74076998 +0.058527 0.098811001 0.74076998 +0.059326999 0.098863997 0.74115998 +0.060095999 0.098863997 0.74115998 +0.060864002 0.098863997 0.74115998 +0.061632998 0.098863997 0.74115998 +0.062433999 0.098917 0.74155998 +0.063236997 0.098968998 0.74194998 +0.064006999 0.098968998 0.74194998 +0.064810999 0.099022001 0.74234998 +0.065614998 0.099074997 0.74274999 +0.066421002 0.099128 0.74313998 +0.067227997 0.099180996 0.74353999 +0.067998998 0.099180996 0.74353999 +0.068990998 0.099500999 0.74594003 +0.069876999 0.099661 0.74713999 +0.070689999 0.099715002 0.74754 +0.071465001 0.099715002 0.74754 +0.072278999 0.099767998 0.74794 +0.073054999 0.099767998 0.74794 +0.073870003 0.099822 0.74835002 +0.074685998 0.099876001 0.74874997 +0.075462997 0.099876001 0.74874997 +0.076320998 0.099983998 0.74956 +0.077140003 0.10004 0.74996001 +0.077959999 0.10009 0.75037003 +0.078737997 0.10009 0.75037003 +0.079774998 0.10042 0.75281 +0.080686003 0.10058 0.75402999 +0.081556998 0.10069 0.75484997 +0.082428999 0.1008 0.75567001 +0.083348997 0.10096 0.75691003 +0.084178999 0.10102 0.75731999 +0.085056998 0.10113 0.75814003 +0.095204003 0.10362 0.77679002 +0.096064001 0.10367 0.77723002 +0.096923999 0.10373 0.77766001 +0.097785003 0.10379 0.77810001 +0.098757997 0.10396 0.77941 +0.099509999 0.10391 0.77897 +0.10032 0.10391 0.77897 +0.10118 0.10396 0.77941 +0.10205 0.10402 0.77983999 +0.10286 0.10402 0.77983999 +0.10367 0.10402 0.77983999 +0.10447 0.10402 0.77983999 +0.1054 0.10414 0.78072 +0.10621 0.10414 0.78072 +0.10702 0.10414 0.78072 +0.10783 0.10414 0.78072 +0.10864 0.10414 0.78072 +0.10945 0.10414 0.78072 +0.1102 0.10408 0.78027999 +0.11101 0.10408 0.78027999 +0.11188 0.10414 0.78072 +0.11256 0.10402 0.77983999 +0.11343 0.10408 0.78027999 +0.11418 0.10402 0.77983999 +0.11492 0.10396 0.77941 +0.1156 0.10385 0.77853 +0.11641 0.10385 0.77853 +0.11708 0.10373 0.77766001 +0.11789 0.10373 0.77766001 +0.1187 0.10373 0.77766001 +0.11944 0.10367 0.77723002 +0.12017 0.10362 0.77679002 +0.12098 0.10362 0.77679002 +0.12179 0.10362 0.77679002 +0.12252 0.10356 0.77635998 +0.12333 0.10356 0.77635998 +0.12413 0.10356 0.77635998 +0.1248 0.10344 0.77548999 +0.12553 0.10339 0.77506 +0.12648 0.1035 0.77591997 +0.13641 0.10752 0.80607998 +0.13716 0.10746 0.80561 +0.138 0.10746 0.80561 +0.13884 0.10746 0.80561 +0.13967 0.10746 0.80561 +0.14059 0.10752 0.80607998 +0.14150999 0.10759 0.80655003 +0.14234 0.10759 0.80655003 +0.14318 0.10759 0.80655003 +0.23375 0.10809 0.81031001 +0.23458999 0.10809 0.81031001 +0.23543 0.10809 0.81031001 +0.23627 0.10809 0.81031001 +0.23725 0.10815 0.81077999 +0.0043381001 0.1083 0.80561 +0.0051704999 0.10823 0.80514002 +0.0059914999 0.10798 0.80328 +0.0067969002 0.10755 0.80005002 +0.0076266001 0.10755 0.80005002 +0.0084512997 0.10749 0.79958999 +0.0092804004 0.10749 0.79958999 +0.010098 0.10736 0.79866999 +0.01092 0.1073 0.79821002 +0.011727 0.10712 0.79683 +0.012525 0.10687 0.79500997 +0.016121 0.1035 0.76990998 +0.01692 0.1035 0.76990998 +0.017708 0.10344 0.76947999 +0.018486001 0.10332 0.76863003 +0.019272 0.10327 0.76819998 +0.020057 0.10321 0.76778001 +0.020795999 0.10293 0.76565999 +0.021566 0.10281 0.76481998 +0.022298001 0.10253 0.76271999 +0.023012999 0.10219 0.76021999 +0.023789 0.10214 0.75980002 +0.024522999 0.10192 0.75814003 +0.025281001 0.1018 0.75731999 +0.026038 0.10169 0.75648999 +0.026807999 0.10164 0.75607997 +0.027577 0.10158 0.75567001 +0.028315 0.10142 0.75444001 +0.02905 0.10125 0.75321001 +0.029797999 0.10114 0.75239998 +0.030579001 0.10114 0.75239998 +0.031325001 0.10103 0.75158 +0.032035001 0.10082 0.74996001 +0.032813001 0.10082 0.74996001 +0.033572 0.10076 0.74956 +0.034331001 0.10071 0.74914998 +0.035089001 0.10065 0.74874997 +0.035827 0.10054 0.74794 +0.036563002 0.10044 0.74713999 +0.037338 0.10044 0.74713999 +0.038070999 0.10033 0.74633998 +0.038823999 0.10027 0.74594003 +0.039556 0.10017 0.74514002 +0.040307 0.10011 0.74474001 +0.041079 0.10011 0.74474001 +0.041806001 0.10001 0.74394 +0.042555001 0.099951997 0.74353999 +0.043326002 0.099951997 0.74353999 +0.044096999 0.099951997 0.74353999 +0.044844002 0.099899001 0.74313998 +0.045566 0.099792004 0.74234998 +0.046286002 0.099684998 0.74155998 +0.047054999 0.099684998 0.74155998 +0.047798999 0.099632002 0.74115998 +0.048540998 0.099578999 0.74076998 +0.049283002 0.099526003 0.74036998 +0.050051 0.099526003 0.74036998 +0.050818998 0.099526003 0.74036998 +0.051585998 0.099526003 0.74036998 +0.052354001 0.099526003 0.74036998 +0.053121999 0.099526003 0.74036998 +0.053890001 0.099526003 0.74036998 +0.054628 0.099473 0.73997998 +0.055424999 0.099526003 0.74036998 +0.056193002 0.099526003 0.74036998 +0.056991 0.099578999 0.74076998 +0.05779 0.099632002 0.74115998 +0.058557998 0.099632002 0.74115998 +0.059326999 0.099632002 0.74115998 +0.060128 0.099684998 0.74155998 +0.060897 0.099684998 0.74155998 +0.061666001 0.099684998 0.74155998 +0.062468 0.099739 0.74194998 +0.063271001 0.099792004 0.74234998 +0.064041004 0.099792004 0.74234998 +0.064845003 0.099845 0.74274999 +0.065650001 0.099899001 0.74313998 +0.066457003 0.099951997 0.74353999 +0.067263998 0.10001 0.74394 +0.068034999 0.10001 0.74394 +0.069027998 0.10033 0.74633998 +0.069876999 0.10044 0.74713999 +0.070727997 0.10054 0.74794 +0.071503997 0.10054 0.74794 +0.072278999 0.10054 0.74794 +0.073054999 0.10054 0.74794 +0.073870003 0.1006 0.74835002 +0.074685998 0.10065 0.74874997 +0.075502999 0.10071 0.74914998 +0.076320998 0.10076 0.74956 +0.077140003 0.10082 0.74996001 +0.077959999 0.10087 0.75037003 +0.078781001 0.10092 0.75076997 +0.079774998 0.1012 0.75281 +0.080729999 0.10142 0.75444001 +0.081601001 0.10153 0.75525999 +0.082519002 0.10169 0.75648999 +0.083439998 0.10186 0.75773001 +0.084270999 0.10192 0.75814003 +0.085150003 0.10203 0.75897002 +0.086126 0.10225 0.76063001 +0.096064001 0.10448 0.77723002 +0.098812997 0.10483 0.77983999 +0.099565998 0.10477 0.77941 +0.10037 0.10477 0.77941 +0.10124 0.10483 0.77983999 +0.10216 0.10495 0.78072 +0.10297 0.10495 0.78072 +0.10378 0.10495 0.78072 +0.10465 0.10501 0.78116 +0.10552 0.10507 0.7816 +0.10633 0.10507 0.7816 +0.10714 0.10507 0.7816 +0.10795 0.10507 0.7816 +0.10882 0.10513 0.78204 +0.11113 0.10501 0.78116 +0.11194 0.10501 0.78116 +0.11343 0.10489 0.78027999 +0.1156 0.10466 0.77853 +0.11634 0.1046 0.77810001 +0.11708 0.10454 0.77766001 +0.11789 0.10454 0.77766001 +0.1187 0.10454 0.77766001 +0.11944 0.10448 0.77723002 +0.12017 0.10442 0.77679002 +0.12098 0.10442 0.77679002 +0.12179 0.10442 0.77679002 +0.12252 0.10436 0.77635998 +0.12333 0.10436 0.77635998 +0.12413 0.10436 0.77635998 +0.1248 0.10425 0.77548999 +0.12553 0.10419 0.77506 +0.13185 0.10805 0.80374998 +0.13276 0.10811 0.80421001 +0.13350999 0.10805 0.80374998 +0.13784 0.10817 0.80467999 +0.13875 0.10823 0.80514002 +0.13959 0.10823 0.80514002 +0.14050999 0.1083 0.80561 +0.14134 0.1083 0.80561 +0.14226 0.10836 0.80607998 +0.14301001 0.1083 0.80561 +0.2353 0.10886 0.80984002 +-0.0031767001 0.109 0.80467999 +0.0043356 0.10907 0.80514002 +0.0051675001 0.109 0.80467999 +0.005988 0.10875 0.80282003 +0.0067890999 0.10825 0.79913002 +0.0076222001 0.10832 0.79958999 +0.0084464997 0.10825 0.79913002 +0.0092751002 0.10825 0.79913002 +0.010098 0.10819 0.79866999 +0.01092 0.10813 0.79821002 +0.011734 0.108 0.79729003 +0.012532 0.10776 0.79547 +0.01534 0.10441 0.77076 +0.016121 0.10429 0.76990998 +0.01691 0.10424 0.76947999 +0.017697999 0.10418 0.76905 +0.018475 0.10406 0.76819998 +0.019261001 0.10401 0.76778001 +0.020035001 0.10389 0.76692998 +0.020785 0.10366 0.76524001 +0.021554001 0.10355 0.76440001 +0.022298001 0.10332 0.76271999 +0.023038 0.1031 0.76104999 +0.023801999 0.10298 0.76021999 +0.02455 0.10281 0.75897002 +0.025309 0.1027 0.75814003 +0.026067 0.10259 0.75731999 +0.026822999 0.10248 0.75648999 +0.027592 0.10242 0.75607997 +0.02833 0.10226 0.75484997 +0.029081 0.10214 0.75402999 +0.029831 0.10203 0.75321001 +0.030595001 0.10198 0.75281 +0.031342 0.10187 0.75199002 +0.032069001 0.1017 0.75076997 +0.03283 0.10165 0.75037003 +0.03359 0.10159 0.74996001 +0.034348998 0.10154 0.74956 +0.035108 0.10148 0.74914998 +0.035865001 0.10143 0.74874997 +0.036602002 0.10132 0.74794 +0.037377998 0.10132 0.74794 +0.038132999 0.10126 0.74754 +0.038865998 0.10116 0.74673998 +0.039618999 0.1011 0.74633998 +0.040371001 0.10105 0.74594003 +0.041122999 0.10099 0.74554002 +0.041873999 0.10094 0.74514002 +0.042601001 0.10083 0.74434 +0.043372001 0.10083 0.74434 +0.044144001 0.10083 0.74434 +0.044868 0.10072 0.74353999 +0.045589998 0.10062 0.74274999 +0.046310998 0.10051 0.74194998 +0.047079999 0.10051 0.74194998 +0.047850002 0.10051 0.74194998 +0.048567001 0.1004 0.74115998 +0.049309 0.10035 0.74076998 +0.050078001 0.10035 0.74076998 +0.050845999 0.10035 0.74076998 +0.051585998 0.10029 0.74036998 +0.052354001 0.10029 0.74036998 +0.053121999 0.10029 0.74036998 +0.053890001 0.10029 0.74036998 +0.054657001 0.10029 0.74036998 +0.055454999 0.10035 0.74076998 +0.056223001 0.10035 0.74076998 +0.057020999 0.1004 0.74115998 +0.05779 0.1004 0.74115998 +0.058589999 0.10045 0.74155998 +0.059358999 0.10045 0.74155998 +0.06016 0.10051 0.74194998 +0.060929 0.10051 0.74194998 +0.061698001 0.10051 0.74194998 +0.062500998 0.10056 0.74234998 +0.063304998 0.10062 0.74274999 +0.064075001 0.10062 0.74274999 +0.064879999 0.10067 0.74313998 +0.065686002 0.10072 0.74353999 +0.066491999 0.10078 0.74394 +0.067299999 0.10083 0.74434 +0.068108 0.10089 0.74474001 +0.069064997 0.10116 0.74673998 +0.069914997 0.10126 0.74754 +0.070727997 0.10132 0.74794 +0.071542002 0.10137 0.74835002 +0.072318003 0.10137 0.74835002 +0.073094003 0.10137 0.74835002 +0.073909998 0.10143 0.74874997 +0.074726999 0.10148 0.74914998 +0.075544 0.10154 0.74956 +0.076362997 0.10159 0.74996001 +0.077182002 0.10165 0.75037003 +0.078001998 0.1017 0.75076997 +0.078781001 0.1017 0.75076997 +0.079774998 0.10198 0.75281 +0.080774002 0.10226 0.75484997 +0.081646003 0.10237 0.75567001 +0.082608998 0.10259 0.75731999 +0.083576001 0.10281 0.75897002 +0.084362999 0.10281 0.75897002 +0.08529 0.10298 0.76021999 +0.086220004 0.10315 0.76147002 +0.087104999 0.10326 0.76230001 +0.087944001 0.10332 0.76271999 +0.096064001 0.10529 0.77723002 +0.10135 0.10576 0.78072 +0.10228 0.10588 0.7816 +0.10477 0.10594 0.78204 +0.1057 0.10606 0.78292 +0.11789 0.10535 0.77766001 +0.11863 0.10529 0.77723002 +0.11944 0.10529 0.77723002 +0.12017 0.10523 0.77679002 +0.12091 0.10517 0.77635998 +0.12179 0.10523 0.77679002 +0.12259 0.10523 0.77679002 +0.12333 0.10517 0.77635998 +0.1242 0.10523 0.77679002 +0.12487 0.10511 0.77591997 +0.12980001 0.10856 0.80142999 +0.13048001 0.10844 0.80050999 +0.13162 0.10869 0.80236 +0.13245 0.10869 0.80236 +0.13327999 0.10869 0.80236 +0.13427 0.10882 0.80328 +0.14034 0.109 0.80467999 +0.14126 0.10907 0.80514002 +-0.0040064999 0.10971 0.80374998 +-0.0031729999 0.10971 0.80374998 +-0.0023382001 0.10965 0.80328 +0.00099423004 0.10971 0.80374998 +0.0043330998 0.10984 0.80467999 +0.0051644999 0.10978 0.80421001 +0.0076222001 0.10914 0.79958999 +0.0084464997 0.10908 0.79913002 +0.0092751002 0.10908 0.79913002 +0.010098 0.10902 0.79866999 +0.010926 0.10902 0.79866999 +0.011741 0.10889 0.79775 +0.012539 0.10864 0.79592001 +0.015331 0.10515 0.77033001 +0.016112 0.10503 0.76947999 +0.016900999 0.10498 0.76905 +0.017697999 0.10498 0.76905 +0.018475 0.10486 0.76819998 +0.019251 0.10474 0.76735002 +0.020035001 0.10469 0.76692998 +0.020785 0.10446 0.76524001 +0.021554001 0.10434 0.76440001 +0.02231 0.10417 0.76314002 +0.023038 0.10388 0.76104999 +0.023801999 0.10377 0.76021999 +0.02455 0.1036 0.75897002 +0.025323 0.10354 0.75856 +0.026067 0.10337 0.75731999 +0.026837001 0.10332 0.75691003 +0.027607 0.10326 0.75648999 +0.028345 0.10309 0.75525999 +0.029097 0.10298 0.75444001 +0.029863 0.10293 0.75402999 +0.030627999 0.10287 0.75362003 +0.031376 0.10276 0.75281 +0.032104 0.10259 0.75158 +0.032866001 0.10254 0.75117999 +0.033645 0.10254 0.75117999 +0.034386002 0.10243 0.75037003 +0.035165001 0.10243 0.75037003 +0.035904001 0.10232 0.74956 +0.036642 0.10221 0.74874997 +0.037418 0.10221 0.74874997 +0.038174 0.10215 0.74835002 +0.038929 0.1021 0.74794 +0.039662 0.10199 0.74713999 +0.040437002 0.10199 0.74713999 +0.041189 0.10193 0.74673998 +0.041917998 0.10182 0.74594003 +0.042668998 0.10177 0.74554002 +0.043419 0.10171 0.74514002 +0.044192001 0.10171 0.74514002 +0.044916 0.1016 0.74434 +0.045614999 0.10144 0.74313998 +0.046360001 0.10139 0.74274999 +0.047130998 0.10139 0.74274999 +0.047874998 0.10133 0.74234998 +0.048618998 0.10128 0.74194998 +0.049336001 0.10117 0.74115998 +0.050104 0.10117 0.74115998 +0.050873 0.10117 0.74115998 +0.051614001 0.10112 0.74076998 +0.052382 0.10112 0.74076998 +0.053179 0.10117 0.74115998 +0.053947002 0.10117 0.74115998 +0.054685999 0.10112 0.74076998 +0.055484001 0.10117 0.74115998 +0.056253001 0.10117 0.74115998 +0.057052001 0.10122 0.74155998 +0.057852 0.10128 0.74194998 +0.058621 0.10128 0.74194998 +0.059390001 0.10128 0.74194998 +0.060192 0.10133 0.74234998 +0.060961999 0.10133 0.74234998 +0.061764002 0.10139 0.74274999 +0.062535003 0.10139 0.74274999 +0.063339002 0.10144 0.74313998 +0.064144 0.10149 0.74353999 +0.064915001 0.10149 0.74353999 +0.065720998 0.10155 0.74394 +0.066528 0.1016 0.74434 +0.067372002 0.10171 0.74514002 +0.068181001 0.10177 0.74554002 +0.069101997 0.10199 0.74713999 +0.069952004 0.1021 0.74794 +0.070766002 0.10215 0.74835002 +0.071542002 0.10215 0.74835002 +0.072318003 0.10215 0.74835002 +0.073132999 0.10221 0.74874997 +0.07395 0.10226 0.74914998 +0.074767001 0.10232 0.74956 +0.075544 0.10232 0.74956 +0.076403998 0.10243 0.75037003 +0.077224001 0.10248 0.75076997 +0.078001998 0.10248 0.75076997 +0.078781001 0.10248 0.75076997 +0.079818003 0.10281 0.75321001 +0.080817997 0.10309 0.75525999 +0.081734002 0.10326 0.75648999 +0.082788996 0.1036 0.75897002 +0.083668001 0.10371 0.75980002 +0.084455997 0.10371 0.75980002 +0.085383996 0.10388 0.76104999 +0.086314 0.10406 0.76230001 +0.087200999 0.10417 0.76314002 +0.088040002 0.10423 0.76356 +0.089077003 0.10451 0.76565999 +0.096116997 0.10615 0.77766001 +0.11863 0.10609 0.77723002 +0.11944 0.10609 0.77723002 +0.12017 0.10603 0.77679002 +0.12091 0.10597 0.77635998 +0.12179 0.10603 0.77679002 +0.12266 0.10609 0.77723002 +0.1234 0.10603 0.77679002 +0.1242 0.10603 0.77679002 +0.12951 0.10914 0.79958999 +0.13026001 0.10908 0.79913002 +0.13139001 0.10933 0.80097002 +0.13222 0.10933 0.80097002 +0.13304999 0.10933 0.80097002 +0.13411 0.10952 0.80236 +0.13495 0.10952 0.80236 +-0.0040042 0.11048 0.80328 +-0.0031711999 0.11048 0.80328 +-0.0023382001 0.11048 0.80328 +0.0076178 0.10991 0.79913002 +0.0084464997 0.10991 0.79913002 +0.0092751002 0.10991 0.79913002 +0.010098 0.10985 0.79866999 +0.010926 0.10985 0.79866999 +0.011741 0.10972 0.79775 +0.012546 0.10953 0.79637998 +0.015314 0.10583 0.76947999 +0.016093999 0.10572 0.76863003 +0.016891001 0.10572 0.76863003 +0.017689001 0.10572 0.76863003 +0.018464999 0.1056 0.76778001 +0.019251 0.10554 0.76735002 +0.020024 0.10542 0.76651001 +0.020785 0.10525 0.76524001 +0.021543 0.10508 0.76397997 +0.02231 0.10496 0.76314002 +0.023064001 0.10479 0.76188999 +0.023815 0.10462 0.76063001 +0.024576001 0.1045 0.75980002 +0.025350001 0.10444 0.75939 +0.026081 0.10422 0.75773001 +0.026852001 0.10416 0.75731999 +0.027621999 0.1041 0.75691003 +0.028376 0.10399 0.75607997 +0.029113 0.10382 0.75484997 +0.029879 0.10376 0.75444001 +0.030645 0.10371 0.75402999 +0.031410001 0.10365 0.75362003 +0.032139 0.10348 0.75239998 +0.032919001 0.10348 0.75239998 +0.033681002 0.10343 0.75199002 +0.034423999 0.10332 0.75117999 +0.035202999 0.10332 0.75117999 +0.035943002 0.1032 0.75037003 +0.036660999 0.10304 0.74914998 +0.037457999 0.10309 0.74956 +0.038215 0.10304 0.74914998 +0.03895 0.10293 0.74835002 +0.039705001 0.10287 0.74794 +0.040479999 0.10287 0.74794 +0.041234002 0.10282 0.74754 +0.041963998 0.1027 0.74673998 +0.042715002 0.10265 0.74633998 +0.043465 0.10259 0.74594003 +0.044215001 0.10254 0.74554002 +0.044939999 0.10243 0.74474001 +0.045662999 0.10232 0.74394 +0.046385001 0.10221 0.74313998 +0.047155999 0.10221 0.74313998 +0.047926001 0.10221 0.74313998 +0.048618998 0.10205 0.74194998 +0.049362 0.10199 0.74155998 +0.050131001 0.10199 0.74155998 +0.050900001 0.10199 0.74155998 +0.051640999 0.10194 0.74115998 +0.052409999 0.10194 0.74115998 +0.053206999 0.10199 0.74155998 +0.053975999 0.10199 0.74155998 +0.054745 0.10199 0.74155998 +0.055514 0.10199 0.74155998 +0.056283001 0.10199 0.74155998 +0.057082001 0.10205 0.74194998 +0.057882 0.1021 0.74234998 +0.058651999 0.1021 0.74234998 +0.059454001 0.10216 0.74274999 +0.060256001 0.10221 0.74313998 +0.061027002 0.10221 0.74313998 +0.061797 0.10221 0.74313998 +0.062601998 0.10227 0.74353999 +0.063405998 0.10232 0.74394 +0.064177997 0.10232 0.74394 +0.064948998 0.10232 0.74394 +0.065756001 0.10237 0.74434 +0.066598997 0.10248 0.74514002 +0.067443997 0.10259 0.74594003 +0.068291001 0.1027 0.74673998 +0.069140002 0.10282 0.74754 +0.069990002 0.10293 0.74835002 +0.070804 0.10298 0.74874997 +0.071580999 0.10298 0.74874997 +0.072396003 0.10304 0.74914998 +0.073173001 0.10304 0.74914998 +0.073990002 0.10309 0.74956 +0.074807003 0.10315 0.74996001 +0.075626001 0.1032 0.75037003 +0.076444998 0.10326 0.75076997 +0.077265002 0.10332 0.75117999 +0.078043997 0.10332 0.75117999 +0.078865997 0.10337 0.75158 +0.079948001 0.10376 0.75444001 +0.080949999 0.10405 0.75648999 +0.081913002 0.10427 0.75814003 +0.082879998 0.1045 0.75980002 +0.083759002 0.10462 0.76063001 +0.084593996 0.10467 0.76104999 +0.085477002 0.10479 0.76188999 +0.086409003 0.10496 0.76314002 +0.087200999 0.10496 0.76314002 +0.088088997 0.10508 0.76397997 +0.089125998 0.10537 0.76608998 +0.089919999 0.10537 0.76608998 +0.1187 0.10696 0.77766001 +0.1195 0.10696 0.77766001 +0.12024 0.1069 0.77723002 +0.12098 0.10684 0.77679002 +0.12192 0.10696 0.77766001 +0.12673 0.10972 0.79775 +0.12733001 0.10953 0.79637998 +0.12845001 0.10978 0.79821002 +0.12936001 0.10985 0.79866999 +0.13011 0.10978 0.79821002 +0.13116001 0.10997 0.79958999 +0.13207 0.11004 0.80005002 +0.1329 0.11004 0.80005002 +0.13395999 0.11023 0.80142999 +0.13479 0.11023 0.80142999 +0.0076134 0.11068 0.79866999 +0.0084464997 0.11074 0.79913002 +0.0092751002 0.11074 0.79913002 +0.010092 0.11061 0.79821002 +0.01092 0.11061 0.79821002 +0.011748 0.11061 0.79821002 +0.012546 0.11036 0.79637998 +0.015306 0.10657 0.76905 +0.016093999 0.10651 0.76863003 +0.016891001 0.10651 0.76863003 +0.017689001 0.10651 0.76863003 +0.018464999 0.10639 0.76778001 +0.019239999 0.10628 0.76692998 +0.020024 0.10622 0.76651001 +0.020795999 0.1061 0.76565999 +0.021554001 0.10593 0.76440001 +0.022322999 0.10581 0.76356 +0.023076 0.10564 0.76230001 +0.023840999 0.10552 0.76147002 +0.024603 0.1054 0.76063001 +0.025378 0.10535 0.76021999 +0.026109001 0.10512 0.75856 +0.026881 0.10506 0.75814003 +0.027636999 0.10495 0.75731999 +0.028392 0.10483 0.75648999 +0.029129 0.10466 0.75525999 +0.029895 0.1046 0.75484997 +0.030662 0.10455 0.75444001 +0.031427 0.10449 0.75402999 +0.032173999 0.10438 0.75321001 +0.032937001 0.10432 0.75281 +0.033718001 0.10432 0.75281 +0.034460999 0.10421 0.75199002 +0.035222001 0.10415 0.75158 +0.035982002 0.10409 0.75117999 +0.036681 0.10387 0.74956 +0.037478998 0.10393 0.74996001 +0.038236 0.10387 0.74956 +0.038970999 0.10376 0.74874997 +0.039726 0.1037 0.74835002 +0.040502001 0.1037 0.74835002 +0.041255999 0.10365 0.74794 +0.041986 0.10353 0.74713999 +0.042761002 0.10353 0.74713999 +0.043489002 0.10342 0.74633998 +0.044263002 0.10342 0.74633998 +0.044987999 0.10331 0.74554002 +0.045688 0.10315 0.74434 +0.046434999 0.10309 0.74394 +0.047205999 0.10309 0.74394 +0.047952 0.10304 0.74353999 +0.048645001 0.10287 0.74234998 +0.049387999 0.10282 0.74194998 +0.050158001 0.10282 0.74194998 +0.050926998 0.10282 0.74194998 +0.051669002 0.10276 0.74155998 +0.052437998 0.10276 0.74155998 +0.053235002 0.10282 0.74194998 +0.054005001 0.10282 0.74194998 +0.054774001 0.10282 0.74194998 +0.055543002 0.10282 0.74194998 +0.056313001 0.10282 0.74194998 +0.057112999 0.10287 0.74234998 +0.057913002 0.10293 0.74274999 +0.058683999 0.10293 0.74274999 +0.059486002 0.10298 0.74313998 +0.060288001 0.10304 0.74353999 +0.061059002 0.10304 0.74353999 +0.061864 0.10309 0.74394 +0.062634997 0.10309 0.74394 +0.063474 0.1032 0.74474001 +0.064246997 0.1032 0.74474001 +0.065018997 0.1032 0.74474001 +0.065862 0.10331 0.74554002 +0.066706002 0.10342 0.74633998 +0.067552999 0.10353 0.74713999 +0.068401001 0.10365 0.74794 +0.069177002 0.10365 0.74794 +0.070028 0.10376 0.74874997 +0.070841998 0.10381 0.74914998 +0.071618997 0.10381 0.74914998 +0.072434999 0.10387 0.74956 +0.073211998 0.10387 0.74956 +0.074029997 0.10393 0.74996001 +0.074848004 0.10398 0.75037003 +0.075667001 0.10404 0.75076997 +0.076485999 0.10409 0.75117999 +0.077307001 0.10415 0.75158 +0.078129001 0.10421 0.75199002 +0.078951001 0.10426 0.75239998 +0.080077998 0.10472 0.75567001 +0.081082001 0.105 0.75773001 +0.082047001 0.10523 0.75939 +0.082970999 0.1054 0.76063001 +0.083851002 0.10552 0.76147002 +0.084687002 0.10558 0.76188999 +0.085570998 0.10569 0.76271999 +0.086503997 0.10587 0.76397997 +0.087249003 0.10581 0.76356 +0.088137001 0.10593 0.76440001 +0.089224003 0.10628 0.76692998 +0.08997 0.10622 0.76651001 +0.098205999 0.11011 0.79456002 +0.099086002 0.11017 0.79500997 +0.099910997 0.11017 0.79500997 +0.10068 0.11011 0.79456002 +0.10156 0.11017 0.79500997 +0.10238 0.11017 0.79500997 +0.10327 0.11023 0.79547 +0.10403 0.11017 0.79500997 +0.10492 0.11023 0.79547 +0.10574 0.11023 0.79547 +0.10651 0.11017 0.79500997 +0.10733 0.11017 0.79500997 +0.10809 0.11011 0.79456002 +0.12471 0.11023 0.79547 +0.12575001 0.11042 0.79683 +0.12665001 0.11048 0.79729003 +0.12733001 0.11036 0.79637998 +0.12838 0.11055 0.79775 +0.12928 0.11061 0.79821002 +0.13011 0.11061 0.79821002 +0.13109 0.11074 0.79913002 +0.13191999 0.11074 0.79913002 +0.13282 0.1108 0.79958999 +0.1338 0.11093 0.80050999 +0.13463999 0.11093 0.80050999 +0.1357 0.11112 0.80189002 +0.20924 0.11131 0.80328 +0.21257 0.11131 0.80328 +0.0076134 0.1115 0.79866999 +0.0084416 0.1115 0.79866999 +0.0092698 0.1115 0.79866999 +0.010092 0.11144 0.79821002 +0.01092 0.11144 0.79821002 +0.011748 0.11144 0.79821002 +0.012554 0.11125 0.79683 +0.015306 0.10737 0.76905 +0.016102999 0.10737 0.76905 +0.016900999 0.10737 0.76905 +0.017689001 0.10731 0.76863003 +0.018464999 0.10719 0.76778001 +0.019251 0.10713 0.76735002 +0.020035001 0.10707 0.76692998 +0.020808 0.10695 0.76608998 +0.021566 0.10678 0.76481998 +0.022335 0.10666 0.76397997 +0.023088999 0.10649 0.76271999 +0.023840999 0.10631 0.76147002 +0.024617 0.10625 0.76104999 +0.025392 0.10619 0.76063001 +0.026138 0.10602 0.75939 +0.026896 0.1059 0.75856 +0.027651999 0.10579 0.75773001 +0.028392 0.10562 0.75648999 +0.029144 0.1055 0.75567001 +0.029912001 0.10544 0.75525999 +0.030678 0.10539 0.75484997 +0.031443998 0.10533 0.75444001 +0.032191001 0.10521 0.75362003 +0.032954998 0.10516 0.75321001 +0.033736002 0.10516 0.75321001 +0.034480002 0.10504 0.75239998 +0.035259999 0.10504 0.75239998 +0.036001001 0.10493 0.75158 +0.036701001 0.1047 0.74996001 +0.037478998 0.1047 0.74996001 +0.038256001 0.1047 0.74996001 +0.038991999 0.10459 0.74914998 +0.039769001 0.10459 0.74914998 +0.040523998 0.10453 0.74874997 +0.041278001 0.10448 0.74835002 +0.042031001 0.10442 0.74794 +0.042784002 0.10437 0.74754 +0.043536 0.10431 0.74713999 +0.04431 0.10431 0.74713999 +0.045037001 0.1042 0.74633998 +0.045736998 0.10403 0.74514002 +0.046484999 0.10397 0.74474001 +0.047231998 0.10392 0.74434 +0.048002999 0.10392 0.74434 +0.048671 0.1037 0.74274999 +0.049415 0.10364 0.74234998 +0.050184999 0.10364 0.74234998 +0.050953999 0.10364 0.74234998 +0.051697001 0.10359 0.74194998 +0.052466001 0.10359 0.74194998 +0.053264 0.10364 0.74234998 +0.054033998 0.10364 0.74234998 +0.054802999 0.10364 0.74234998 +0.055603001 0.1037 0.74274999 +0.056343 0.10364 0.74234998 +0.057142999 0.1037 0.74274999 +0.057944 0.10375 0.74313998 +0.058745999 0.10381 0.74353999 +0.059517 0.10381 0.74353999 +0.060320999 0.10386 0.74394 +0.061092 0.10386 0.74394 +0.061896998 0.10392 0.74434 +0.062702 0.10397 0.74474001 +0.063542999 0.10409 0.74554002 +0.064315997 0.10409 0.74554002 +0.065089002 0.10409 0.74554002 +0.065932997 0.1042 0.74633998 +0.066777997 0.10431 0.74713999 +0.067589 0.10437 0.74754 +0.068438001 0.10448 0.74835002 +0.069214001 0.10448 0.74835002 +0.070028 0.10453 0.74874997 +0.070841998 0.10459 0.74914998 +0.071658 0.10465 0.74956 +0.072434999 0.10465 0.74956 +0.073252 0.1047 0.74996001 +0.074069999 0.10476 0.75037003 +0.074887998 0.10482 0.75076997 +0.075707003 0.10487 0.75117999 +0.076527998 0.10493 0.75158 +0.077349 0.10499 0.75199002 +0.078171 0.10504 0.75239998 +0.079080001 0.10521 0.75362003 +0.080165997 0.10562 0.75648999 +0.081215002 0.10596 0.75897002 +0.082181998 0.10619 0.76063001 +0.083061002 0.10631 0.76147002 +0.083897002 0.10637 0.76188999 +0.084734 0.10643 0.76230001 +0.085665002 0.1066 0.76356 +0.086552002 0.10672 0.76440001 +0.087297 0.10666 0.76397997 +0.088283002 0.1069 0.76565999 +0.089273997 0.10713 0.76735002 +0.090020001 0.10707 0.76692998 +0.097437002 0.11099 0.79500997 +0.098205999 0.11093 0.79456002 +0.099086002 0.11099 0.79500997 +0.099910997 0.11099 0.79500997 +0.10074 0.11099 0.79500997 +0.10156 0.11099 0.79500997 +0.10244 0.11106 0.79547 +0.10327 0.11106 0.79547 +0.10397 0.11093 0.79456002 +0.10492 0.11106 0.79547 +0.10574 0.11106 0.79547 +0.10651 0.11099 0.79500997 +0.10739 0.11106 0.79547 +0.10815 0.11099 0.79500997 +0.10892 0.11093 0.79456002 +0.12396 0.11112 0.79592001 +0.12471 0.11106 0.79547 +0.12568 0.11118 0.79637998 +0.12658 0.11125 0.79683 +0.12733001 0.11118 0.79637998 +0.12830999 0.11131 0.79729003 +0.12921 0.11138 0.79775 +0.13004 0.11138 0.79775 +0.13094001 0.11144 0.79821002 +0.13184001 0.1115 0.79866999 +0.13275 0.11157 0.79913002 +0.13365 0.11163 0.79958999 +0.13456 0.1117 0.80005002 +0.20828 0.11208 0.80282003 +0.20912001 0.11208 0.80282003 +0.21007 0.11215 0.80328 +0.21089999 0.11215 0.80328 +0.21174 0.11215 0.80328 +0.21245 0.11208 0.80282003 +0.21328001 0.11208 0.80282003 +0.21411 0.11208 0.80282003 +0.007609 0.11227 0.79821002 +0.0084367003 0.11227 0.79821002 +0.0092644999 0.11227 0.79821002 +0.010086 0.1122 0.79775 +0.010914 0.1122 0.79775 +0.011748 0.11227 0.79821002 +0.012546 0.11201 0.79637998 +0.014638 0.10913 0.77591997 +0.015314 0.10823 0.76947999 +0.016102999 0.10817 0.76905 +0.016900999 0.10817 0.76905 +0.017697999 0.10817 0.76905 +0.018475 0.10805 0.76819998 +0.019251 0.10793 0.76735002 +0.020045999 0.10793 0.76735002 +0.020819001 0.10781 0.76651001 +0.021578001 0.10763 0.76524001 +0.022346999 0.10751 0.76440001 +0.023102 0.10733 0.76314002 +0.023867 0.10722 0.76230001 +0.024644 0.10716 0.76188999 +0.025405999 0.10704 0.76104999 +0.026152 0.10687 0.75980002 +0.026911 0.10675 0.75897002 +0.027682999 0.10669 0.75856 +0.028407 0.10646 0.75691003 +0.02916 0.10634 0.75607997 +0.029928001 0.10628 0.75567001 +0.030695001 0.10623 0.75525999 +0.031461 0.10617 0.75484997 +0.032209001 0.10605 0.75402999 +0.032972999 0.106 0.75362003 +0.033753999 0.106 0.75362003 +0.034497999 0.10588 0.75281 +0.035278998 0.10588 0.75281 +0.03602 0.10577 0.75199002 +0.036720999 0.10554 0.75037003 +0.037498999 0.10554 0.75037003 +0.038277 0.10554 0.75037003 +0.039012998 0.10542 0.74956 +0.039790001 0.10542 0.74956 +0.040546 0.10537 0.74914998 +0.041299999 0.10531 0.74874997 +0.042054001 0.10525 0.74835002 +0.042807002 0.1052 0.74794 +0.043559 0.10514 0.74754 +0.044334002 0.10514 0.74754 +0.045061 0.10503 0.74673998 +0.045786001 0.10492 0.74594003 +0.046535 0.10486 0.74554002 +0.047308002 0.10486 0.74554002 +0.048055001 0.1048 0.74514002 +0.048723001 0.10458 0.74353999 +0.049440999 0.10447 0.74274999 +0.050211001 0.10447 0.74274999 +0.050981998 0.10447 0.74274999 +0.051724002 0.10441 0.74234998 +0.052494001 0.10441 0.74234998 +0.053291999 0.10447 0.74274999 +0.054062001 0.10447 0.74274999 +0.054832999 0.10447 0.74274999 +0.055633001 0.10452 0.74313998 +0.056373 0.10447 0.74274999 +0.057174001 0.10452 0.74313998 +0.057975002 0.10458 0.74353999 +0.058777999 0.10463 0.74394 +0.059549 0.10463 0.74394 +0.060353 0.10469 0.74434 +0.061124999 0.10469 0.74434 +0.061930001 0.10475 0.74474001 +0.062735997 0.1048 0.74514002 +0.063576996 0.10492 0.74594003 +0.064350002 0.10492 0.74594003 +0.065159 0.10497 0.74633998 +0.066003002 0.10508 0.74713999 +0.066813998 0.10514 0.74754 +0.067625999 0.1052 0.74794 +0.068512 0.10537 0.74914998 +0.069251001 0.10531 0.74874997 +0.070065998 0.10537 0.74914998 +0.070881002 0.10542 0.74956 +0.071658 0.10542 0.74956 +0.072474003 0.10548 0.74996001 +0.073291004 0.10554 0.75037003 +0.074069999 0.10554 0.75037003 +0.074887998 0.1056 0.75076997 +0.075747997 0.10571 0.75158 +0.076610997 0.10582 0.75239998 +0.077432998 0.10588 0.75281 +0.078298002 0.106 0.75362003 +0.080209002 0.10646 0.75691003 +0.081349 0.10692 0.76021999 +0.082272001 0.1071 0.76147002 +0.083153002 0.10722 0.76230001 +0.084035002 0.10733 0.76314002 +0.084872998 0.10739 0.76356 +0.085805997 0.10757 0.76481998 +0.086695001 0.10769 0.76565999 +0.087393001 0.10757 0.76481998 +0.088380001 0.10781 0.76651001 +0.089273997 0.10793 0.76735002 +0.08997 0.10781 0.76651001 +0.097437002 0.11182 0.79500997 +0.098205999 0.11175 0.79456002 +0.099030003 0.11175 0.79456002 +0.099910997 0.11182 0.79500997 +0.10074 0.11182 0.79500997 +0.10156 0.11182 0.79500997 +0.10244 0.11188 0.79547 +0.10327 0.11188 0.79547 +0.10403 0.11182 0.79500997 +0.10492 0.11188 0.79547 +0.10574 0.11188 0.79547 +0.10651 0.11182 0.79500997 +0.10739 0.11188 0.79547 +0.10815 0.11182 0.79500997 +0.10892 0.11175 0.79456002 +0.10974 0.11175 0.79456002 +0.1221 0.11175 0.79456002 +0.12306 0.11188 0.79547 +0.12396 0.11195 0.79592001 +0.12471 0.11188 0.79547 +0.12568 0.11201 0.79637998 +0.12658 0.11207 0.79683 +0.12726 0.11195 0.79592001 +0.12823001 0.11207 0.79683 +0.12913001 0.11214 0.79729003 +0.12996 0.11214 0.79729003 +0.13086 0.1122 0.79775 +0.13169 0.1122 0.79775 +0.13259 0.11227 0.79821002 +0.13349999 0.11233 0.79866999 +0.1344 0.1124 0.79913002 +0.20733 0.11285 0.80236 +0.20816 0.11285 0.80236 +0.20898999 0.11285 0.80236 +0.20995 0.11292 0.80282003 +0.21077999 0.11292 0.80282003 +0.21161 0.11292 0.80282003 +0.21232 0.11285 0.80236 +0.21314999 0.11285 0.80236 +0.21399 0.11285 0.80236 +0.21494 0.11292 0.80282003 +0.0076003 0.11296 0.79729003 +0.0084319003 0.11303 0.79775 +0.0092591001 0.11303 0.79775 +0.010081 0.11296 0.79729003 +0.010907 0.11296 0.79729003 +0.011748 0.11309 0.79821002 +0.012539 0.11277 0.79592001 +0.01463 0.10988 0.77548999 +0.015314 0.10902 0.76947999 +0.016102999 0.10896 0.76905 +0.01691 0.10902 0.76947999 +0.017697999 0.10896 0.76905 +0.018475 0.10884 0.76819998 +0.019261001 0.10878 0.76778001 +0.020045999 0.10872 0.76735002 +0.020819001 0.1086 0.76651001 +0.02159 0.10848 0.76565999 +0.022359001 0.10836 0.76481998 +0.023114 0.10819 0.76356 +0.023879999 0.10807 0.76271999 +0.024657 0.10801 0.76230001 +0.025434 0.10795 0.76188999 +0.026180999 0.10777 0.76063001 +0.026939999 0.10765 0.75980002 +0.027698001 0.10754 0.75897002 +0.028423 0.1073 0.75731999 +0.029176001 0.10718 0.75648999 +0.029944001 0.10713 0.75607997 +0.030711999 0.10707 0.75567001 +0.031477999 0.10701 0.75525999 +0.032226 0.10689 0.75444001 +0.032991 0.10684 0.75402999 +0.033771999 0.10684 0.75402999 +0.034536 0.10678 0.75362003 +0.035298001 0.10672 0.75321001 +0.036059 0.10666 0.75281 +0.036759999 0.10643 0.75117999 +0.037519 0.10637 0.75076997 +0.038298 0.10637 0.75076997 +0.039055001 0.10632 0.75037003 +0.039811999 0.10626 0.74996001 +0.040589001 0.10626 0.74996001 +0.041322 0.10614 0.74914998 +0.042077001 0.10609 0.74874997 +0.042830002 0.10603 0.74835002 +0.043582 0.10597 0.74794 +0.044358 0.10597 0.74794 +0.045109 0.10592 0.74754 +0.045835 0.1058 0.74673998 +0.046585001 0.10575 0.74633998 +0.047357999 0.10575 0.74633998 +0.048131999 0.10575 0.74633998 +0.048749 0.10541 0.74394 +0.049493998 0.10535 0.74353999 +0.050237998 0.10529 0.74313998 +0.051008999 0.10529 0.74313998 +0.051752001 0.10524 0.74274999 +0.052522 0.10524 0.74274999 +0.053321 0.10529 0.74313998 +0.054062001 0.10524 0.74274999 +0.054832999 0.10524 0.74274999 +0.055661999 0.10535 0.74353999 +0.056403 0.10529 0.74313998 +0.057204001 0.10535 0.74353999 +0.058006 0.10541 0.74394 +0.058809001 0.10546 0.74434 +0.059581 0.10546 0.74434 +0.060385 0.10552 0.74474001 +0.061158001 0.10552 0.74474001 +0.061962999 0.10558 0.74514002 +0.062735997 0.10558 0.74514002 +0.063611001 0.10575 0.74633998 +0.064384997 0.10575 0.74633998 +0.065159 0.10575 0.74633998 +0.066003002 0.10586 0.74713999 +0.066849999 0.10597 0.74794 +0.067662001 0.10603 0.74835002 +0.068549 0.1062 0.74956 +0.069288999 0.10614 0.74914998 +0.070102997 0.1062 0.74956 +0.070919 0.10626 0.74996001 +0.071696997 0.10626 0.74996001 +0.072512999 0.10632 0.75037003 +0.073291004 0.10632 0.75037003 +0.074110001 0.10637 0.75076997 +0.074928999 0.10643 0.75117999 +0.075871997 0.10666 0.75281 +0.076693997 0.10672 0.75321001 +0.077559002 0.10684 0.75402999 +0.078468002 0.10701 0.75525999 +0.079467997 0.1073 0.75731999 +0.080339998 0.10742 0.75814003 +0.081572004 0.10801 0.76230001 +0.082497999 0.10819 0.76356 +0.083334997 0.10825 0.76397997 +0.084266998 0.10842 0.76524001 +0.08506 0.10842 0.76524001 +0.085947998 0.10854 0.76608998 +0.086791001 0.1086 0.76651001 +0.087489001 0.10848 0.76565999 +0.088428997 0.10866 0.76692998 +0.089273997 0.10872 0.76735002 +0.097382002 0.11258 0.79456002 +0.09815 0.11251 0.79409999 +0.099030003 0.11258 0.79456002 +0.099910997 0.11264 0.79500997 +0.10074 0.11264 0.79500997 +0.10156 0.11264 0.79500997 +0.10244 0.11271 0.79547 +0.10327 0.11271 0.79547 +0.10403 0.11264 0.79500997 +0.10492 0.11271 0.79547 +0.10574 0.11271 0.79547 +0.10651 0.11264 0.79500997 +0.10739 0.11271 0.79547 +0.10822 0.11271 0.79547 +0.10898 0.11264 0.79500997 +0.10974 0.11258 0.79456002 +0.11063 0.11264 0.79500997 +0.11304 0.11258 0.79456002 +0.12121 0.11251 0.79409999 +0.1221 0.11258 0.79456002 +0.12306 0.11271 0.79547 +0.12396 0.11277 0.79592001 +0.12471 0.11271 0.79547 +0.12568 0.11284 0.79637998 +0.12650999 0.11284 0.79637998 +0.12726 0.11277 0.79592001 +0.12816 0.11284 0.79637998 +0.12906 0.1129 0.79683 +0.12988999 0.1129 0.79683 +0.13071001 0.1129 0.79683 +0.13161001 0.11296 0.79729003 +0.13252001 0.11303 0.79775 +0.20637999 0.11362 0.80189002 +0.20721 0.11362 0.80189002 +0.20792 0.11355 0.80142999 +0.20886999 0.11362 0.80189002 +0.20983 0.11368 0.80236 +0.21077999 0.11375 0.80282003 +0.21149001 0.11368 0.80236 +0.21232 0.11368 0.80236 +0.21303 0.11362 0.80189002 +0.21386001 0.11362 0.80189002 +0.0084271003 0.11379 0.79729003 +0.0092537999 0.11379 0.79729003 +0.010081 0.11379 0.79729003 +0.010901 0.11373 0.79683 +0.011754 0.11399 0.79866999 +0.012525 0.11347 0.79500997 +0.013289 0.11295 0.79139 +0.01463 0.11068 0.77548999 +0.015314 0.10982 0.76947999 +0.016102999 0.10976 0.76905 +0.01691 0.10982 0.76947999 +0.017697999 0.10976 0.76905 +0.018475 0.10964 0.76819998 +0.019261001 0.10958 0.76778001 +0.020045999 0.10952 0.76735002 +0.020819001 0.1094 0.76651001 +0.02159 0.10928 0.76565999 +0.022383999 0.10928 0.76565999 +0.02314 0.1091 0.76440001 +0.023906 0.10898 0.76356 +0.024684001 0.10892 0.76314002 +0.025448 0.1088 0.76230001 +0.026209 0.10868 0.76147002 +0.026969999 0.10856 0.76063001 +0.027728001 0.10844 0.75980002 +0.028454 0.1082 0.75814003 +0.029192001 0.10803 0.75691003 +0.029960999 0.10797 0.75648999 +0.030711999 0.10785 0.75567001 +0.031477999 0.10779 0.75525999 +0.032244001 0.10773 0.75484997 +0.033009 0.10768 0.75444001 +0.033771999 0.10762 0.75402999 +0.034536 0.10756 0.75362003 +0.035317 0.10756 0.75362003 +0.036059 0.10744 0.75281 +0.03678 0.10727 0.75158 +0.037539002 0.10721 0.75117999 +0.038318001 0.10721 0.75117999 +0.039055001 0.10709 0.75037003 +0.039833002 0.10709 0.75037003 +0.040589001 0.10704 0.74996001 +0.041345 0.10698 0.74956 +0.042098999 0.10692 0.74914998 +0.042853002 0.10686 0.74874997 +0.043629002 0.10686 0.74874997 +0.044381998 0.10681 0.74835002 +0.045134 0.10675 0.74794 +0.04586 0.10663 0.74713999 +0.046634998 0.10663 0.74713999 +0.047409002 0.10663 0.74713999 +0.048184 0.10663 0.74713999 +0.048801001 0.10629 0.74474001 +0.049520999 0.10618 0.74394 +0.050264999 0.10612 0.74353999 +0.051064 0.10618 0.74394 +0.051778998 0.10606 0.74313998 +0.052549999 0.10606 0.74313998 +0.053348999 0.10612 0.74353999 +0.054090999 0.10606 0.74313998 +0.054891001 0.10612 0.74353999 +0.055691998 0.10618 0.74394 +0.056433 0.10612 0.74353999 +0.057234999 0.10618 0.74394 +0.058068998 0.10629 0.74474001 +0.058841001 0.10629 0.74474001 +0.059613001 0.10629 0.74474001 +0.060417999 0.10635 0.74514002 +0.061223 0.1064 0.74554002 +0.062029999 0.10646 0.74594003 +0.062803 0.10646 0.74594003 +0.063644998 0.10658 0.74673998 +0.064419001 0.10658 0.74673998 +0.065194003 0.10658 0.74673998 +0.066039003 0.10669 0.74754 +0.066886 0.10681 0.74835002 +0.067662001 0.10681 0.74835002 +0.068622999 0.10709 0.75037003 +0.069325998 0.10698 0.74956 +0.070141003 0.10704 0.74996001 +0.070956998 0.10709 0.75037003 +0.071735002 0.10709 0.75037003 +0.072553001 0.10715 0.75076997 +0.073371001 0.10721 0.75117999 +0.074189998 0.10727 0.75158 +0.075090997 0.10744 0.75281 +0.081886001 0.10922 0.76524001 +0.082725003 0.10928 0.76565999 +0.083564997 0.10934 0.76608998 +0.084406003 0.1094 0.76651001 +0.085201003 0.1094 0.76651001 +0.086043 0.10946 0.76692998 +0.086886004 0.10952 0.76735002 +0.087585002 0.1094 0.76651001 +0.088477999 0.10952 0.76735002 +0.089273997 0.10952 0.76735002 +0.096502997 0.11334 0.79409999 +0.097326003 0.11334 0.79409999 +0.098094001 0.11327 0.79364997 +0.098972999 0.11334 0.79409999 +0.099854 0.1134 0.79456002 +0.10068 0.1134 0.79456002 +0.10156 0.11347 0.79500997 +0.10238 0.11347 0.79500997 +0.10321 0.11347 0.79500997 +0.10403 0.11347 0.79500997 +0.10492 0.11353 0.79547 +0.10568 0.11347 0.79500997 +0.10651 0.11347 0.79500997 +0.10739 0.11353 0.79547 +0.10815 0.11347 0.79500997 +0.10898 0.11347 0.79500997 +0.10974 0.1134 0.79456002 +0.11063 0.11347 0.79500997 +0.11139 0.1134 0.79456002 +0.11221 0.1134 0.79456002 +0.1131 0.11347 0.79500997 +0.12031 0.11327 0.79364997 +0.12121 0.11334 0.79409999 +0.1221 0.1134 0.79456002 +0.12299 0.11347 0.79500997 +0.12389 0.11353 0.79547 +0.12471 0.11353 0.79547 +0.12560999 0.1136 0.79592001 +0.12650999 0.11366 0.79637998 +0.12718999 0.11353 0.79547 +0.12808999 0.1136 0.79592001 +0.12898999 0.11366 0.79637998 +0.12981001 0.11366 0.79637998 +0.13064 0.11366 0.79637998 +0.20709001 0.11438 0.80142999 +0.2078 0.11432 0.80097002 +0.20863 0.11432 0.80097002 +0.20971 0.11445 0.80189002 +0.21066 0.11451 0.80236 +0.21137001 0.11445 0.80189002 +0.2122 0.11445 0.80189002 +-0.0023141999 0.11429 0.79500997 +-0.00066575001 0.11436 0.79547 +0.0084221996 0.11455 0.79683 +0.010069 0.11449 0.79637998 +0.010895 0.11449 0.79637998 +0.011748 0.11475 0.79821002 +0.012511 0.11416 0.79409999 +0.013266 0.11358 0.79004002 +0.014638 0.11155 0.77591997 +0.016112 0.11062 0.76947999 +0.01692 0.11068 0.76990998 +0.017708 0.11062 0.76947999 +0.018475 0.11044 0.76819998 +0.019261001 0.11038 0.76778001 +0.020045999 0.11031 0.76735002 +0.020831 0.11025 0.76692998 +0.021601999 0.11013 0.76608998 +0.022383999 0.11007 0.76565999 +0.02314 0.10989 0.76440001 +0.023918999 0.10983 0.76397997 +0.024698 0.10977 0.76356 +0.025462 0.10965 0.76271999 +0.026224 0.10953 0.76188999 +0.026999 0.10947 0.76147002 +0.027743001 0.10929 0.76021999 +0.028469 0.10905 0.75856 +0.029208001 0.10887 0.75731999 +0.029993 0.10887 0.75731999 +0.030727999 0.10869 0.75607997 +0.031495001 0.10864 0.75567001 +0.032260999 0.10858 0.75525999 +0.033009 0.10846 0.75444001 +0.033790998 0.10846 0.75444001 +0.034554001 0.1084 0.75402999 +0.035317 0.10834 0.75362003 +0.036079001 0.10828 0.75321001 +0.036800001 0.10811 0.75199002 +0.037560001 0.10805 0.75158 +0.038339 0.10805 0.75158 +0.039076 0.10793 0.75076997 +0.039833002 0.10787 0.75037003 +0.040610999 0.10787 0.75037003 +0.041345 0.10776 0.74956 +0.042098999 0.1077 0.74914998 +0.042876001 0.1077 0.74914998 +0.043653 0.1077 0.74914998 +0.044429999 0.1077 0.74914998 +0.045157999 0.10758 0.74835002 +0.045908999 0.10752 0.74794 +0.046684999 0.10752 0.74794 +0.047435001 0.10747 0.74754 +0.048209999 0.10747 0.74754 +0.048854001 0.10718 0.74554002 +0.049600001 0.10712 0.74514002 +0.050319001 0.10701 0.74434 +0.051118001 0.10706 0.74474001 +0.051835001 0.10695 0.74394 +0.052606001 0.10695 0.74394 +0.053406 0.10701 0.74434 +0.054149002 0.10695 0.74394 +0.054949999 0.10701 0.74434 +0.055721998 0.10701 0.74434 +0.056464002 0.10695 0.74394 +0.057296 0.10706 0.74474001 +0.0581 0.10712 0.74514002 +0.058871999 0.10712 0.74514002 +0.059677001 0.10718 0.74554002 +0.060515001 0.10729 0.74633998 +0.061289001 0.10729 0.74633998 +0.062096 0.10735 0.74673998 +0.062871002 0.10735 0.74673998 +0.063712999 0.10747 0.74754 +0.064489 0.10747 0.74754 +0.065264001 0.10747 0.74754 +0.06611 0.10758 0.74835002 +0.066922002 0.10764 0.74874997 +0.067699 0.10764 0.74874997 +0.068659998 0.10793 0.75076997 +0.069362998 0.10781 0.74996001 +0.070179 0.10787 0.75037003 +0.070995003 0.10793 0.75076997 +0.071773998 0.10793 0.75076997 +0.072631001 0.10805 0.75158 +0.073490001 0.10816 0.75239998 +0.074309997 0.10822 0.75281 +0.079026997 0.10935 0.76063001 +0.079990998 0.10959 0.76230001 +0.081003003 0.10989 0.76440001 +0.081975996 0.11013 0.76608998 +0.082815997 0.11019 0.76651001 +0.083656996 0.11025 0.76692998 +0.084499002 0.11031 0.76735002 +0.085294999 0.11031 0.76735002 +0.086138003 0.11038 0.76778001 +0.086934 0.11038 0.76778001 +0.087682001 0.11031 0.76735002 +0.088575996 0.11044 0.76819998 +0.089322999 0.11038 0.76778001 +0.094586 0.11383 0.79184002 +0.095514998 0.11396 0.79273999 +0.096391998 0.11403 0.79320002 +0.097271003 0.11409 0.79364997 +0.098038003 0.11403 0.79320002 +0.098916002 0.11409 0.79364997 +0.099795997 0.11416 0.79409999 +0.10062 0.11416 0.79409999 +0.1015 0.11423 0.79456002 +0.10233 0.11423 0.79456002 +0.10321 0.11429 0.79500997 +0.10397 0.11423 0.79456002 +0.10486 0.11429 0.79500997 +0.10568 0.11429 0.79500997 +0.10644 0.11423 0.79456002 +0.10733 0.11429 0.79500997 +0.10815 0.11429 0.79500997 +0.10892 0.11423 0.79456002 +0.10968 0.11416 0.79409999 +0.11056 0.11423 0.79456002 +0.11132 0.11416 0.79409999 +0.11221 0.11423 0.79456002 +0.1131 0.11429 0.79500997 +0.11386 0.11423 0.79456002 +0.11468 0.11423 0.79456002 +0.11551 0.11423 0.79456002 +0.11791 0.11416 0.79409999 +0.1188 0.11423 0.79456002 +0.11949 0.11409 0.79364997 +0.12031 0.11409 0.79364997 +0.12114 0.11409 0.79364997 +0.1221 0.11423 0.79456002 +0.12292 0.11423 0.79456002 +0.12382 0.11429 0.79500997 +0.12464 0.11429 0.79500997 +0.12554 0.11436 0.79547 +0.12644 0.11442 0.79592001 +0.12712 0.11429 0.79500997 +0.12794 0.11429 0.79500997 +0.12884 0.11436 0.79547 +0.20958 0.11521 0.80142999 +0.21042 0.11521 0.80142999 +-0.0064250999 0.11492 0.79364997 +-0.0047819 0.11498 0.79409999 +-0.0039539002 0.11485 0.79320002 +-0.0031314001 0.11485 0.79320002 +-0.0023089 0.11485 0.79320002 +-0.0014872 0.11492 0.79364997 +-0.00066423003 0.11492 0.79364997 +0.010882 0.11518 0.79547 +0.011748 0.11558 0.79821002 +0.012503 0.11492 0.79364997 +0.013243 0.1142 0.78868997 +0.014646 0.11241 0.77635998 +0.015391 0.11198 0.77332997 +0.01613 0.11154 0.77033001 +0.016938001 0.1116 0.77076 +0.017718 0.11148 0.76990998 +0.018486001 0.11129 0.76863003 +0.019283 0.11129 0.76863003 +0.020068999 0.11123 0.76819998 +0.020842001 0.11111 0.76735002 +0.021614 0.11099 0.76651001 +0.022396 0.11093 0.76608998 +0.023165001 0.1108 0.76524001 +0.023946 0.11074 0.76481998 +0.024738999 0.11074 0.76481998 +0.025490001 0.11056 0.76356 +0.026253 0.11044 0.76271999 +0.027029 0.11038 0.76230001 +0.027773 0.1102 0.76104999 +0.0285 0.10996 0.75939 +0.029224001 0.10972 0.75773001 +0.03001 0.10972 0.75773001 +0.030762 0.1096 0.75691003 +0.031512 0.10948 0.75607997 +0.032260999 0.10936 0.75525999 +0.033025999 0.1093 0.75484997 +0.033790998 0.10924 0.75444001 +0.034554001 0.10918 0.75402999 +0.035335999 0.10918 0.75402999 +0.036099002 0.10912 0.75362003 +0.036819998 0.10894 0.75239998 +0.037599999 0.10894 0.75239998 +0.03836 0.10889 0.75199002 +0.039097 0.10877 0.75117999 +0.039875999 0.10877 0.75117999 +0.040633 0.10871 0.75076997 +0.041389 0.10865 0.75037003 +0.042121999 0.10853 0.74956 +0.042899001 0.10853 0.74956 +0.043653 0.10847 0.74914998 +0.044454001 0.10853 0.74956 +0.045207001 0.10847 0.74914998 +0.045933999 0.10836 0.74835002 +0.046709999 0.10836 0.74835002 +0.047460001 0.1083 0.74794 +0.048236001 0.1083 0.74794 +0.048905998 0.10807 0.74633998 +0.049654 0.10801 0.74594003 +0.050372999 0.10789 0.74514002 +0.051173002 0.10795 0.74554002 +0.051918 0.10789 0.74514002 +0.052691001 0.10789 0.74514002 +0.053491998 0.10795 0.74554002 +0.054207001 0.10784 0.74474001 +0.055068001 0.10801 0.74594003 +0.055812001 0.10795 0.74554002 +0.056524001 0.10784 0.74474001 +0.057358 0.10795 0.74554002 +0.058192998 0.10807 0.74633998 +0.058967002 0.10807 0.74633998 +0.059773002 0.10813 0.74673998 +0.06058 0.10818 0.74713999 +0.061354998 0.10818 0.74713999 +0.062162999 0.10824 0.74754 +0.062937997 0.10824 0.74754 +0.063748002 0.1083 0.74794 +0.064522997 0.1083 0.74794 +0.065334 0.10836 0.74835002 +0.066146001 0.10842 0.74874997 +0.066958003 0.10847 0.74914998 +0.067735001 0.10847 0.74914998 +0.068696998 0.10877 0.75117999 +0.069438003 0.10871 0.75076997 +0.070254996 0.10877 0.75117999 +0.071071997 0.10883 0.75158 +0.071851999 0.10883 0.75158 +0.072748996 0.109 0.75281 +0.073648997 0.10918 0.75402999 +0.074472003 0.10924 0.75444001 +0.075459003 0.10954 0.75648999 +0.076451004 0.10984 0.75856 +0.07728 0.1099 0.75897002 +0.078238003 0.11014 0.76063001 +0.079157002 0.11032 0.76188999 +0.080123 0.11056 0.76356 +0.081092998 0.1108 0.76524001 +0.082021996 0.11099 0.76651001 +0.082861997 0.11105 0.76692998 +0.083704002 0.11111 0.76735002 +0.084499002 0.11111 0.76735002 +0.085341997 0.11117 0.76778001 +0.086185999 0.11123 0.76819998 +0.086981997 0.11123 0.76819998 +0.087779 0.11123 0.76819998 +0.094586 0.11466 0.79184002 +0.095461003 0.11472 0.79228997 +0.096337996 0.11479 0.79273999 +0.097214997 0.11485 0.79320002 +0.098038003 0.11485 0.79320002 +0.098860003 0.11485 0.79320002 +0.099739 0.11492 0.79364997 +0.10056 0.11492 0.79364997 +0.10144 0.11498 0.79409999 +0.10233 0.11505 0.79456002 +0.10315 0.11505 0.79456002 +0.10397 0.11505 0.79456002 +0.10486 0.11511 0.79500997 +0.10562 0.11505 0.79456002 +0.10638 0.11498 0.79409999 +0.10733 0.11511 0.79500997 +0.10815 0.11511 0.79500997 +0.10892 0.11505 0.79456002 +0.10962 0.11492 0.79364997 +0.11056 0.11505 0.79456002 +0.11132 0.11498 0.79409999 +0.11221 0.11505 0.79456002 +0.11304 0.11505 0.79456002 +0.11386 0.11505 0.79456002 +0.11462 0.11498 0.79409999 +0.11551 0.11505 0.79456002 +0.11633 0.11505 0.79456002 +0.11696 0.11485 0.79320002 +0.11785 0.11492 0.79364997 +0.1188 0.11505 0.79456002 +0.11949 0.11492 0.79364997 +0.12025 0.11485 0.79320002 +0.12107 0.11485 0.79320002 +0.12203 0.11498 0.79409999 +0.12285 0.11498 0.79409999 +0.12375 0.11505 0.79456002 +0.12457 0.11505 0.79456002 +0.12540001 0.11505 0.79456002 +0.12628999 0.11511 0.79500997 +-0.0072397999 0.11561 0.79273999 +-0.0064067999 0.11541 0.79139 +-0.0055892998 0.11548 0.79184002 +-0.0047654998 0.11541 0.79139 +-0.0039404002 0.11528 0.79048997 +-0.0031188999 0.11521 0.79004002 +-0.0023010001 0.11528 0.79048997 +-0.0014821 0.11535 0.79093999 +-0.00066158001 0.11528 0.79048997 +0.01004 0.11581 0.79409999 +0.01087 0.11587 0.79456002 +0.011734 0.11627 0.79729003 +0.012482 0.11554 0.79228997 +0.013228 0.11489 0.78780001 +0.014646 0.11322 0.77635998 +0.015408 0.1129 0.77419001 +0.016957 0.11253 0.77161998 +0.017738 0.1124 0.77076 +0.018495999 0.11215 0.76905 +0.019293001 0.11215 0.76905 +0.02008 0.11209 0.76863003 +0.020854 0.11197 0.76778001 +0.021625999 0.11184 0.76692998 +0.022409 0.11178 0.76651001 +0.023178 0.11166 0.76565999 +0.023959 0.1116 0.76524001 +0.024766 0.11166 0.76565999 +0.025504 0.11141 0.76397997 +0.026267 0.11129 0.76314002 +0.027044 0.11123 0.76271999 +0.027789 0.11105 0.76147002 +0.028531 0.11087 0.76021999 +0.029255999 0.11062 0.75856 +0.030026 0.11056 0.75814003 +0.030762 0.11038 0.75691003 +0.031528998 0.11032 0.75648999 +0.032279 0.1102 0.75567001 +0.033043999 0.11014 0.75525999 +0.033808999 0.11008 0.75484997 +0.034573 0.11002 0.75444001 +0.035335999 0.10996 0.75402999 +0.036099002 0.1099 0.75362003 +0.036839999 0.10978 0.75281 +0.037599999 0.10972 0.75239998 +0.038380999 0.10972 0.75239998 +0.039140001 0.10967 0.75199002 +0.039898001 0.10961 0.75158 +0.040677 0.10961 0.75158 +0.041412 0.10949 0.75076997 +0.042167 0.10943 0.75037003 +0.042922001 0.10937 0.74996001 +0.043676 0.10931 0.74956 +0.044477999 0.10937 0.74996001 +0.045207001 0.10925 0.74914998 +0.045959 0.10919 0.74874997 +0.046735 0.10919 0.74874997 +0.047486 0.10913 0.74835002 +0.048262 0.10913 0.74835002 +0.048958998 0.10896 0.74713999 +0.049734 0.10896 0.74713999 +0.050453998 0.10884 0.74633998 +0.051228002 0.10884 0.74633998 +0.051973999 0.10878 0.74594003 +0.052804001 0.1089 0.74673998 +0.053578999 0.1089 0.74673998 +0.054295 0.10878 0.74594003 +0.055126999 0.1089 0.74673998 +0.055902001 0.1089 0.74673998 +0.056614999 0.10878 0.74594003 +0.05745 0.1089 0.74673998 +0.058256 0.10896 0.74713999 +0.059030998 0.10896 0.74713999 +0.059838001 0.10902 0.74754 +0.060644999 0.10908 0.74794 +0.061420999 0.10908 0.74794 +0.062229998 0.10913 0.74835002 +0.063005999 0.10913 0.74835002 +0.063816004 0.10919 0.74874997 +0.064593002 0.10919 0.74874997 +0.065369003 0.10919 0.74874997 +0.066216998 0.10931 0.74956 +0.066993997 0.10931 0.74956 +0.067772001 0.10931 0.74956 +0.068696998 0.10955 0.75117999 +0.069476001 0.10955 0.75117999 +0.070293002 0.10961 0.75158 +0.071148999 0.10972 0.75239998 +0.071891002 0.10967 0.75199002 +0.072828002 0.1099 0.75362003 +0.073729001 0.11008 0.75484997 +0.074593 0.1102 0.75567001 +0.075581998 0.1105 0.75773001 +0.076577 0.1108 0.75980002 +0.077407002 0.11087 0.76021999 +0.078367002 0.11111 0.76188999 +0.079244003 0.11123 0.76271999 +0.080255002 0.11154 0.76481998 +0.081137002 0.11166 0.76565999 +0.082021996 0.11178 0.76651001 +0.082907997 0.11191 0.76735002 +0.083750002 0.11197 0.76778001 +0.084546 0.11197 0.76778001 +0.085341997 0.11197 0.76778001 +0.086234003 0.11209 0.76863003 +0.087030999 0.11209 0.76863003 +0.087876 0.11215 0.76905 +0.093658 0.11535 0.79093999 +0.094531998 0.11541 0.79139 +0.095407002 0.11548 0.79184002 +0.096283004 0.11554 0.79228997 +0.097159997 0.11561 0.79273999 +0.097981997 0.11561 0.79273999 +0.098803997 0.11561 0.79273999 +0.099683002 0.11567 0.79320002 +0.10051 0.11567 0.79320002 +0.10144 0.11581 0.79409999 +0.10227 0.11581 0.79409999 +0.10309 0.11581 0.79409999 +0.10391 0.11581 0.79409999 +0.1048 0.11587 0.79456002 +0.10556 0.11581 0.79409999 +0.10632 0.11574 0.79364997 +0.10727 0.11587 0.79456002 +0.10815 0.11594 0.79500997 +0.10892 0.11587 0.79456002 +0.10962 0.11574 0.79364997 +0.1105 0.11581 0.79409999 +0.11132 0.11581 0.79409999 +0.11215 0.11581 0.79409999 +0.11304 0.11587 0.79456002 +0.11386 0.11587 0.79456002 +0.11462 0.11581 0.79409999 +0.11551 0.11587 0.79456002 +0.11627 0.11581 0.79409999 +0.11689 0.11561 0.79273999 +0.11785 0.11574 0.79364997 +0.11874 0.11581 0.79409999 +0.11942 0.11567 0.79320002 +0.12018 0.11561 0.79273999 +0.121 0.11561 0.79273999 +0.12196 0.11574 0.79364997 +0.12285 0.11581 0.79409999 +0.12368 0.11581 0.79409999 +-0.0096837999 0.11617 0.79093999 +-0.0088636996 0.11617 0.79093999 +-0.0080434997 0.11617 0.79093999 +-0.0072150999 0.11603 0.79004002 +-0.0063886 0.1159 0.78913999 +-0.0055670999 0.11584 0.78868997 +-0.0047493 0.11584 0.78868997 +-0.0039269999 0.1157 0.78780001 +-0.0031047999 0.11551 0.78645998 +-0.0014753999 0.11564 0.78735 +0.0092115002 0.11656 0.79364997 +0.010017 0.11636 0.79228997 +0.010851 0.1165 0.79320002 +0.01168 0.11656 0.79364997 +0.012468 0.11623 0.79139 +0.013206 0.11551 0.78645998 +0.01395 0.11492 0.78248 +0.014654 0.11409 0.77679002 +0.015425 0.11383 0.77506 +0.016984999 0.11352 0.77289999 +0.017766999 0.11339 0.77204001 +0.018516 0.11308 0.76990998 +0.019315001 0.11308 0.76990998 +0.020102 0.11301 0.76947999 +0.020865001 0.11283 0.76819998 +0.021638 0.1127 0.76735002 +0.022421001 0.11264 0.76692998 +0.023190999 0.11252 0.76608998 +0.023972001 0.11245 0.76565999 +0.024766 0.11245 0.76565999 +0.025518 0.11227 0.76440001 +0.026280999 0.11214 0.76356 +0.027044 0.11202 0.76271999 +0.027789 0.11184 0.76147002 +0.028547 0.11171 0.76063001 +0.029287999 0.11153 0.75939 +0.030042 0.11141 0.75856 +0.030795 0.11129 0.75773001 +0.031546999 0.11117 0.75691003 +0.032295998 0.11105 0.75607997 +0.033062 0.11099 0.75567001 +0.033808999 0.11087 0.75484997 +0.034573 0.11081 0.75444001 +0.035355002 0.11081 0.75444001 +0.036118001 0.11075 0.75402999 +0.03686 0.11062 0.75321001 +0.037620999 0.11057 0.75281 +0.038401 0.11057 0.75281 +0.039161 0.11051 0.75239998 +0.039919 0.11045 0.75199002 +0.040699001 0.11045 0.75199002 +0.041434001 0.11033 0.75117999 +0.04219 0.11027 0.75076997 +0.042946 0.11021 0.75037003 +0.043699998 0.11015 0.74996001 +0.044477999 0.11015 0.74996001 +0.045255002 0.11015 0.74996001 +0.045983002 0.11003 0.74914998 +0.04676 0.11003 0.74914998 +0.047511999 0.10997 0.74874997 +0.048314001 0.11003 0.74914998 +0.049012002 0.10985 0.74794 +0.049787 0.10985 0.74794 +0.050508 0.10973 0.74713999 +0.051311001 0.10979 0.74754 +0.052058 0.10973 0.74713999 +0.052889999 0.10985 0.74794 +0.053665001 0.10985 0.74794 +0.054382 0.10973 0.74713999 +0.055215999 0.10985 0.74794 +0.055992 0.10985 0.74794 +0.056736998 0.10979 0.74754 +0.057542998 0.10985 0.74794 +0.058350001 0.10991 0.74835002 +0.059126001 0.10991 0.74835002 +0.059934001 0.10997 0.74874997 +0.060711 0.10997 0.74874997 +0.061487 0.10997 0.74874997 +0.062263999 0.10997 0.74874997 +0.063074 0.11003 0.74914998 +0.063850999 0.11003 0.74914998 +0.064627998 0.11003 0.74914998 +0.065403998 0.11003 0.74914998 +0.066252999 0.11015 0.74996001 +0.067029998 0.11015 0.74996001 +0.067808002 0.11015 0.74996001 +0.068733998 0.11039 0.75158 +0.069513999 0.11039 0.75158 +0.070331 0.11045 0.75199002 +0.071188003 0.11057 0.75281 +0.071967997 0.11057 0.75281 +0.072985999 0.11093 0.75525999 +0.073849998 0.11105 0.75607997 +0.074795999 0.11129 0.75773001 +0.075705998 0.11147 0.75897002 +0.076660998 0.11171 0.76063001 +0.077491999 0.11178 0.76104999 +0.078452997 0.11202 0.76271999 +0.079331003 0.11214 0.76356 +0.080343001 0.11245 0.76565999 +0.081182003 0.11252 0.76608998 +0.082066998 0.11264 0.76692998 +0.082907997 0.1127 0.76735002 +0.083750002 0.11276 0.76778001 +0.084546 0.11276 0.76778001 +0.085389003 0.11283 0.76819998 +0.086234003 0.11289 0.76863003 +0.087030999 0.11289 0.76863003 +0.087973997 0.11308 0.76990998 +0.092785001 0.1161 0.79048997 +0.093658 0.11617 0.79093999 +0.094531998 0.11623 0.79139 +0.095352001 0.11623 0.79139 +0.096228004 0.1163 0.79184002 +0.097103998 0.11636 0.79228997 +0.097925998 0.11636 0.79228997 +0.098747 0.11636 0.79228997 +0.099625997 0.11643 0.79273999 +0.10045 0.11643 0.79273999 +0.10139 0.11656 0.79364997 +0.10221 0.11656 0.79364997 +0.10303 0.11656 0.79364997 +0.10474 0.11663 0.79409999 +0.1055 0.11656 0.79364997 +0.10721 0.11663 0.79409999 +0.10809 0.1167 0.79456002 +0.10885 0.11663 0.79409999 +0.10955 0.1165 0.79320002 +0.11044 0.11656 0.79364997 +0.11126 0.11656 0.79364997 +0.11215 0.11663 0.79409999 +0.11297 0.11663 0.79409999 +0.1138 0.11663 0.79409999 +0.11455 0.11656 0.79364997 +0.11544 0.11663 0.79409999 +0.11627 0.11663 0.79409999 +0.11778 0.1165 0.79320002 +0.11874 0.11663 0.79409999 +0.11935 0.11643 0.79273999 +0.12093 0.11636 0.79228997 +0.12278 0.11656 0.79364997 +-0.0096618002 0.11672 0.78913999 +-0.0088435002 0.11672 0.78913999 +-0.0080252001 0.11672 0.78913999 +-0.0071947002 0.11652 0.78780001 +-0.0063669002 0.11632 0.78645998 +0.0083694002 0.11712 0.79184002 +0.0091957999 0.11719 0.79228997 +0.010006 0.11705 0.79139 +0.010833 0.11712 0.79184002 +0.011654 0.11712 0.79184002 +0.012447 0.11685 0.79004002 +0.013191 0.11619 0.78557003 +0.013942 0.11567 0.78204 +0.014663 0.11496 0.77723002 +0.015434 0.1147 0.77548999 +0.017004 0.11445 0.77376002 +0.017787 0.11432 0.77289999 +0.018547 0.11406 0.77118999 +0.019336 0.114 0.77076 +0.020124 0.11394 0.77033001 +0.020888001 0.11375 0.76905 +0.02165 0.11356 0.76778001 +0.022445999 0.11356 0.76778001 +0.023216 0.11343 0.76692998 +0.023998 0.11337 0.76651001 +0.02478 0.11331 0.76608998 +0.025545999 0.11319 0.76524001 +0.026310001 0.11306 0.76440001 +0.027058 0.11287 0.76314002 +0.027819 0.11275 0.76230001 +0.028578 0.11263 0.76147002 +0.02932 0.11244 0.76021999 +0.030075001 0.11232 0.75939 +0.030812001 0.11214 0.75814003 +0.031564001 0.11201 0.75731999 +0.032313999 0.11189 0.75648999 +0.03308 0.11183 0.75607997 +0.033828001 0.11171 0.75525999 +0.034591999 0.11165 0.75484997 +0.035374999 0.11165 0.75484997 +0.036138002 0.11159 0.75444001 +0.036880001 0.11147 0.75362003 +0.037641 0.11141 0.75321001 +0.038422 0.11141 0.75321001 +0.039202999 0.11141 0.75321001 +0.039963 0.11135 0.75281 +0.040743001 0.11135 0.75281 +0.041457001 0.11117 0.75158 +0.042213 0.1111 0.75117999 +0.042992 0.1111 0.75117999 +0.043724 0.11098 0.75037003 +0.044502001 0.11098 0.75037003 +0.045279998 0.11098 0.75037003 +0.046032999 0.11093 0.74996001 +0.046785999 0.11087 0.74956 +0.047563002 0.11087 0.74956 +0.04834 0.11087 0.74956 +0.049063999 0.11075 0.74874997 +0.049841002 0.11075 0.74874997 +0.050590001 0.11069 0.74835002 +0.051366001 0.11069 0.74835002 +0.052142002 0.11069 0.74835002 +0.052946001 0.11075 0.74874997 +0.053752001 0.11081 0.74914998 +0.054469999 0.11069 0.74835002 +0.055275999 0.11075 0.74874997 +0.056081999 0.11081 0.74914998 +0.056798 0.11069 0.74835002 +0.057604998 0.11075 0.74874997 +0.058412999 0.11081 0.74914998 +0.059158001 0.11075 0.74874997 +0.059999 0.11087 0.74956 +0.060775999 0.11087 0.74956 +0.061519999 0.11081 0.74914998 +0.062330998 0.11087 0.74956 +0.063107997 0.11087 0.74956 +0.063919999 0.11093 0.74996001 +0.064696997 0.11093 0.74996001 +0.065475002 0.11093 0.74996001 +0.066324003 0.11104 0.75076997 +0.067102998 0.11104 0.75076997 +0.067881003 0.11104 0.75076997 +0.068846002 0.11135 0.75281 +0.069627002 0.11135 0.75281 +0.070482999 0.11147 0.75362003 +0.071304001 0.11153 0.75402999 +0.072163999 0.11165 0.75484997 +0.073184997 0.11201 0.75731999 +0.073969997 0.11201 0.75731999 +0.074919 0.11226 0.75897002 +0.075788997 0.11238 0.75980002 +0.076702997 0.11257 0.76104999 +0.077577002 0.11269 0.76188999 +0.078496002 0.11287 0.76314002 +0.079461999 0.11312 0.76481998 +0.080388002 0.11331 0.76608998 +0.081226997 0.11337 0.76651001 +0.082111999 0.1135 0.76735002 +0.082953997 0.11356 0.76778001 +0.083796002 0.11362 0.76819998 +0.084592998 0.11362 0.76819998 +0.085389003 0.11362 0.76819998 +0.086234003 0.11369 0.76863003 +0.087079003 0.11375 0.76905 +0.091859996 0.11679 0.78959 +0.092731997 0.11685 0.79004002 +0.093551002 0.11685 0.79004002 +0.094424002 0.11692 0.79048997 +0.095298 0.11699 0.79093999 +0.096118003 0.11699 0.79093999 +0.096993998 0.11705 0.79139 +0.11202 0.11732 0.79320002 +0.11291 0.11739 0.79364997 +0.1162 0.11739 0.79364997 +0.1186 0.11732 0.79320002 +-0.058727 0.11747 0.78868997 +-0.057909001 0.11747 0.78868997 +-0.057091001 0.11747 0.78868997 +-0.0096345004 0.11721 0.78691 +-0.0088184997 0.11721 0.78691 +-0.0080025 0.11721 0.78691 +-0.0030942999 0.11674 0.78380001 +0.0091749001 0.11774 0.79048997 +0.0099889003 0.11767 0.79004002 +0.010808 0.11767 0.79004002 +0.011621 0.11761 0.78959 +0.012425 0.11747 0.78868997 +0.013176 0.11687 0.78469002 +0.013935 0.11641 0.7816 +0.014663 0.11576 0.77723002 +0.015443 0.11557 0.77591997 +0.016210999 0.11531 0.77419001 +0.017023001 0.11538 0.77463001 +0.017806999 0.11525 0.77376002 +0.018568 0.11499 0.77204001 +0.019347001 0.11486 0.77118999 +0.020135 0.1148 0.77076 +0.0209 0.11461 0.76947999 +0.021674 0.11448 0.76863003 +0.022458 0.11442 0.76819998 +0.023242 0.11436 0.76778001 +0.024025001 0.11429 0.76735002 +0.024807001 0.11423 0.76692998 +0.025574001 0.1141 0.76608998 +0.027088 0.11379 0.76397997 +0.027834 0.1136 0.76271999 +0.028594 0.11348 0.76188999 +0.029352 0.11335 0.76104999 +0.030091999 0.11317 0.75980002 +0.030846 0.11304 0.75897002 +0.031580999 0.11286 0.75773001 +0.032331001 0.11274 0.75691003 +0.033098001 0.11268 0.75648999 +0.033845998 0.11255 0.75567001 +0.034611002 0.11249 0.75525999 +0.035394002 0.11249 0.75525999 +0.036157001 0.11243 0.75484997 +0.03692 0.11237 0.75444001 +0.037682001 0.11231 0.75402999 +0.038463999 0.11231 0.75402999 +0.039223999 0.11225 0.75362003 +0.039983999 0.11219 0.75321001 +0.040764999 0.11219 0.75321001 +0.041501001 0.11207 0.75239998 +0.042259 0.112 0.75199002 +0.043039002 0.112 0.75199002 +0.043770999 0.11188 0.75117999 +0.044550002 0.11188 0.75117999 +0.045329001 0.11188 0.75117999 +0.046057999 0.11176 0.75037003 +0.046811 0.1117 0.74996001 +0.047587998 0.1117 0.74996001 +0.048365999 0.1117 0.74996001 +0.049116999 0.11164 0.74956 +0.049867999 0.11158 0.74914998 +0.050645001 0.11158 0.74914998 +0.051421002 0.11158 0.74914998 +0.052198 0.11158 0.74914998 +0.052974999 0.11158 0.74914998 +0.053780999 0.11164 0.74956 +0.054529 0.11158 0.74914998 +0.055335 0.11164 0.74956 +0.056113001 0.11164 0.74956 +0.056859002 0.11158 0.74914998 +0.057666998 0.11164 0.74956 +0.058444001 0.11164 0.74956 +0.059222002 0.11164 0.74956 +0.060063999 0.11176 0.75037003 +0.060809001 0.1117 0.74996001 +0.061586998 0.1117 0.74996001 +0.062398002 0.11176 0.75037003 +0.063175999 0.11176 0.75037003 +0.063988999 0.11182 0.75076997 +0.064767003 0.11182 0.75076997 +0.065545999 0.11182 0.75076997 +0.066395998 0.11194 0.75158 +0.067175001 0.11194 0.75158 +0.067992002 0.112 0.75199002 +0.068957999 0.11231 0.75402999 +0.069739997 0.11231 0.75402999 +0.070597999 0.11243 0.75484997 +0.071459003 0.11255 0.75567001 +0.072360002 0.11274 0.75691003 +0.073385 0.11311 0.75939 +0.074173003 0.11311 0.75939 +0.075042002 0.11323 0.76021999 +0.075871997 0.11329 0.76063001 +0.076745003 0.11342 0.76147002 +0.077661999 0.1136 0.76271999 +0.078582004 0.11379 0.76397997 +0.079504997 0.11398 0.76524001 +0.080431998 0.11417 0.76651001 +0.081271999 0.11423 0.76692998 +0.082111999 0.11429 0.76735002 +0.082953997 0.11436 0.76778001 +0.083796002 0.11442 0.76819998 +0.084592998 0.11442 0.76819998 +0.085437 0.11448 0.76863003 +0.086281002 0.11455 0.76905 +0.087079003 0.11455 0.76905 +0.091756001 0.11747 0.78868997 +-0.0055326 0.11756 0.78380001 +-0.0047197999 0.11756 0.78380001 +-0.0039070998 0.11756 0.78380001 +-0.0030924999 0.11749 0.78336 +-0.0022801999 0.11749 0.78336 +-0.0014679 0.11749 0.78336 +0.0091487998 0.11822 0.78825003 +0.0099662002 0.11822 0.78825003 +0.01079 0.11829 0.78868997 +0.011581 0.11802 0.78691 +0.01239 0.11795 0.78645998 +0.013161 0.11756 0.78380001 +0.013935 0.11723 0.7816 +0.014671 0.11663 0.77766001 +0.015451 0.11644 0.77635998 +0.016229 0.11624 0.77506 +0.017033 0.11624 0.77506 +0.017817 0.11611 0.77419001 +0.018578 0.11586 0.77247 +0.019368 0.11579 0.77204001 +0.020158 0.11573 0.77161998 +0.020923 0.11554 0.77033001 +0.021686001 0.11534 0.76905 +0.022471 0.11528 0.76863003 +0.023255 0.11522 0.76819998 +0.024038 0.11515 0.76778001 +0.024821 0.11509 0.76735002 +0.025588 0.11496 0.76651001 +0.026368 0.1149 0.76608998 +0.027117999 0.11471 0.76481998 +0.02785 0.11446 0.76314002 +0.028625 0.11439 0.76271999 +0.029368 0.11421 0.76147002 +0.030125 0.11408 0.76063001 +0.030863 0.11389 0.75939 +0.031615 0.11377 0.75856 +0.032366998 0.11365 0.75773001 +0.033116002 0.11352 0.75691003 +0.033883002 0.11346 0.75648999 +0.034648001 0.1134 0.75607997 +0.035413001 0.11334 0.75567001 +0.036176998 0.11328 0.75525999 +0.036940001 0.11321 0.75484997 +0.037702002 0.11315 0.75444001 +0.038485002 0.11315 0.75444001 +0.039267 0.11315 0.75444001 +0.040027998 0.11309 0.75402999 +0.04081 0.11309 0.75402999 +0.041545998 0.11297 0.75321001 +0.042327002 0.11297 0.75321001 +0.043085001 0.11291 0.75281 +0.043818001 0.11278 0.75199002 +0.044574 0.11272 0.75158 +0.045352999 0.11272 0.75158 +0.046083 0.1126 0.75076997 +0.046861 0.1126 0.75076997 +0.047614001 0.11254 0.75037003 +0.048392002 0.11254 0.75037003 +0.049169999 0.11254 0.75037003 +0.049920999 0.11248 0.74996001 +0.050698999 0.11248 0.74996001 +0.051477 0.11248 0.74996001 +0.052226 0.11242 0.74956 +0.053032 0.11248 0.74996001 +0.053839002 0.11254 0.75037003 +0.054558001 0.11242 0.74956 +0.055365 0.11248 0.74996001 +0.056173 0.11254 0.75037003 +0.056921002 0.11248 0.74996001 +0.057728998 0.11254 0.75037003 +0.058508001 0.11254 0.75037003 +0.059285998 0.11254 0.75037003 +0.060129002 0.11266 0.75117999 +0.060874999 0.1126 0.75076997 +0.061652999 0.1126 0.75076997 +0.062431999 0.1126 0.75076997 +0.063210003 0.1126 0.75076997 +0.064023003 0.11266 0.75117999 +0.064801998 0.11266 0.75117999 +0.065617003 0.11272 0.75158 +0.066504002 0.11291 0.75281 +0.067285001 0.11291 0.75281 +0.068139002 0.11303 0.75362003 +0.069032997 0.11321 0.75484997 +0.069816001 0.11321 0.75484997 +0.070675001 0.11334 0.75567001 +0.071575999 0.11352 0.75691003 +0.072558001 0.11383 0.75897002 +0.073505998 0.11408 0.76063001 +0.074294001 0.11408 0.76063001 +0.075124003 0.11414 0.76104999 +0.075912997 0.11414 0.76104999 +0.076829001 0.11433 0.76230001 +0.077747002 0.11452 0.76356 +0.078668997 0.11471 0.76481998 +0.079593003 0.1149 0.76608998 +0.080476001 0.11503 0.76692998 +0.081316002 0.11509 0.76735002 +0.082157999 0.11515 0.76778001 +0.082999997 0.11522 0.76819998 +0.083842002 0.11528 0.76863003 +0.084638998 0.11528 0.76863003 +0.085437 0.11528 0.76863003 +0.086328998 0.11541 0.76947999 +0.087127 0.11541 0.76947999 +0.090425 0.11762 0.78424001 +0.091651998 0.11816 0.78780001 +0.092522003 0.11822 0.78825003 +0.21096 0.1191 0.79409999 +-0.0063418001 0.1183 0.78336 +-0.0055295001 0.1183 0.78336 +-0.0047172001 0.1183 0.78336 +-0.0039049 0.1183 0.78336 +-0.0030908 0.11824 0.78292 +-0.0022789999 0.11824 0.78292 +-0.0014671 0.11824 0.78292 +-0.00065488002 0.11817 0.78248 +0.0082751 0.11824 0.78292 +0.0091177998 0.11864 0.78557003 +0.010765 0.11884 0.78691 +0.011555 0.11857 0.78513002 +0.012369 0.11857 0.78513002 +0.013154 0.1183 0.78336 +0.013927 0.11797 0.78116 +0.014679 0.11751 0.77810001 +0.01546 0.11731 0.77679002 +0.016238 0.11711 0.77548999 +0.017042 0.11711 0.77548999 +0.017827 0.11698 0.77463001 +0.018599 0.11679 0.77332997 +0.019378999 0.11666 0.77247 +0.020168999 0.11659 0.77204001 +0.020935001 0.1164 0.77076 +0.021698 0.11621 0.76947999 +0.022483001 0.11614 0.76905 +0.023281001 0.11614 0.76905 +0.024064999 0.11608 0.76863003 +0.024834 0.11595 0.76778001 +0.025615999 0.11588 0.76735002 +0.026382999 0.11576 0.76651001 +0.027132999 0.11557 0.76524001 +0.027865 0.11531 0.76356 +0.028641 0.11525 0.76314002 +0.0294 0.11512 0.76230001 +0.030158 0.115 0.76147002 +0.030896001 0.11481 0.76021999 +0.031667002 0.11474 0.75980002 +0.032402001 0.11456 0.75856 +0.033151999 0.11443 0.75773001 +0.033920001 0.11437 0.75731999 +0.034667 0.11424 0.75648999 +0.035432 0.11418 0.75607997 +0.036215998 0.11418 0.75607997 +0.036979999 0.11412 0.75567001 +0.037723001 0.114 0.75484997 +0.038506001 0.114 0.75484997 +0.039287999 0.114 0.75484997 +0.040049002 0.11393 0.75444001 +0.040832002 0.11393 0.75444001 +0.041568998 0.11381 0.75362003 +0.042350002 0.11381 0.75362003 +0.043108001 0.11375 0.75321001 +0.043866001 0.11369 0.75281 +0.044622 0.11363 0.75239998 +0.045402002 0.11363 0.75239998 +0.046108 0.11344 0.75117999 +0.046886999 0.11344 0.75117999 +0.047665998 0.11344 0.75117999 +0.048445001 0.11344 0.75117999 +0.049224 0.11344 0.75117999 +0.049947999 0.11332 0.75037003 +0.050726999 0.11332 0.75037003 +0.051504999 0.11332 0.75037003 +0.052283 0.11332 0.75037003 +0.053061001 0.11332 0.75037003 +0.053867999 0.11338 0.75076997 +0.054588001 0.11326 0.74996001 +0.055395 0.11332 0.75037003 +0.056203999 0.11338 0.75076997 +0.056981999 0.11338 0.75076997 +0.057792 0.11344 0.75117999 +0.058571 0.11344 0.75117999 +0.059317999 0.11338 0.75076997 +0.060160998 0.1135 0.75158 +0.060908001 0.11344 0.75117999 +0.061687 0.11344 0.75117999 +0.062465999 0.11344 0.75117999 +0.063279003 0.1135 0.75158 +0.064093001 0.11356 0.75199002 +0.064871997 0.11356 0.75199002 +0.065687999 0.11363 0.75239998 +0.066540003 0.11375 0.75321001 +0.067358002 0.11381 0.75362003 +0.06825 0.114 0.75484997 +0.069069996 0.11406 0.75525999 +0.069891997 0.11412 0.75567001 +0.070752002 0.11424 0.75648999 +0.071693003 0.11449 0.75814003 +0.072636999 0.11474 0.75980002 +0.073546 0.11493 0.76104999 +0.074376002 0.115 0.76147002 +0.075165004 0.115 0.76147002 +0.075955003 0.115 0.76147002 +0.076871 0.11519 0.76271999 +0.07779 0.11538 0.76397997 +0.078668997 0.1155 0.76481998 +0.079593003 0.11569 0.76608998 +0.080521002 0.11588 0.76735002 +0.081361003 0.11595 0.76778001 +0.082203001 0.11601 0.76819998 +0.083044998 0.11608 0.76863003 +0.083842002 0.11608 0.76863003 +0.084638998 0.11608 0.76863003 +0.085530996 0.11621 0.76947999 +0.086377002 0.11627 0.76990998 +0.087174997 0.11627 0.76990998 +0.090272002 0.11824 0.78292 +0.091548003 0.11884 0.78691 +0.092417002 0.1189 0.78735 +0.20814 0.11972 0.79273999 +0.20896 0.11972 0.79273999 +0.20965999 0.11965 0.79228997 +0.21036001 0.11958 0.79184002 +0.21106 0.11951 0.79139 +-0.0063382001 0.11905 0.78292 +-0.0055264002 0.11905 0.78292 +-0.0047145002 0.11905 0.78292 +-0.0039027 0.11905 0.78292 +-0.0030890999 0.11898 0.78248 +-0.0022777 0.11898 0.78248 +-0.0014663 0.11898 0.78248 +-0.00065450999 0.11891 0.78204 +0.00015643 0.11891 0.78204 +0.00096792 0.11898 0.78248 +0.0082612 0.11885 0.7816 +0.0090971999 0.11918 0.78380001 +0.0099155996 0.11925 0.78424001 +0.010747 0.11945 0.78557003 +0.011542 0.11925 0.78424001 +0.012355 0.11925 0.78424001 +0.013146 0.11905 0.78292 +0.013927 0.11878 0.78116 +0.014687 0.11838 0.77853 +0.015469 0.11818 0.77723002 +0.016247001 0.11798 0.77591997 +0.017052 0.11798 0.77591997 +0.017836999 0.11785 0.77506 +0.018609 0.11765 0.77376002 +0.019378999 0.11746 0.77247 +0.020168999 0.11739 0.77204001 +0.020946 0.11726 0.77118999 +0.021709999 0.11707 0.76990998 +0.022496 0.117 0.76947999 +0.023294 0.117 0.76947999 +0.024078 0.11694 0.76905 +0.024847999 0.11681 0.76819998 +0.025630999 0.11674 0.76778001 +0.026397999 0.11662 0.76692998 +0.027163001 0.11649 0.76608998 +0.027896 0.11623 0.76440001 +0.028657001 0.1161 0.76356 +0.029432001 0.11604 0.76314002 +0.030191001 0.11591 0.76230001 +0.030929999 0.11572 0.76104999 +0.031702001 0.11566 0.76063001 +0.032455001 0.11553 0.75980002 +0.033206999 0.11541 0.75897002 +0.033957001 0.11528 0.75814003 +0.034705002 0.11515 0.75731999 +0.035471 0.11509 0.75691003 +0.036235999 0.11503 0.75648999 +0.037 0.11497 0.75607997 +0.037742998 0.11484 0.75525999 +0.038527001 0.11484 0.75525999 +0.039310001 0.11484 0.75525999 +0.040070999 0.11478 0.75484997 +0.040854 0.11478 0.75484997 +0.041614 0.11472 0.75444001 +0.042373002 0.11465 0.75402999 +0.043155 0.11465 0.75402999 +0.043889999 0.11453 0.75321001 +0.044670999 0.11453 0.75321001 +0.045451999 0.11453 0.75321001 +0.046158001 0.11434 0.75199002 +0.046937 0.11434 0.75199002 +0.047717001 0.11434 0.75199002 +0.048496999 0.11434 0.75199002 +0.049302999 0.11441 0.75239998 +0.050002001 0.11422 0.75117999 +0.050781 0.11422 0.75117999 +0.05156 0.11422 0.75117999 +0.052310999 0.11416 0.75076997 +0.053089999 0.11416 0.75076997 +0.053897001 0.11422 0.75117999 +0.054646999 0.11416 0.75076997 +0.055454999 0.11422 0.75117999 +0.056263998 0.11428 0.75158 +0.057043999 0.11428 0.75158 +0.057854 0.11434 0.75199002 +0.058634002 0.11434 0.75199002 +0.059381999 0.11428 0.75158 +0.060194001 0.11434 0.75199002 +0.060941 0.11428 0.75158 +0.061753001 0.11434 0.75199002 +0.062532999 0.11434 0.75199002 +0.063346997 0.11441 0.75239998 +0.064162001 0.11447 0.75281 +0.064978004 0.11453 0.75321001 +0.065759003 0.11453 0.75321001 +0.066611998 0.11465 0.75402999 +0.067431003 0.11472 0.75444001 +0.068361998 0.11497 0.75607997 +0.069146 0.11497 0.75607997 +0.069968 0.11503 0.75648999 +0.070868 0.11522 0.75773001 +0.07181 0.11547 0.75939 +0.072717004 0.11566 0.76063001 +0.073586002 0.11579 0.76147002 +0.074417002 0.11585 0.76188999 +0.075207002 0.11585 0.76188999 +0.075997002 0.11585 0.76188999 +0.076912999 0.11604 0.76314002 +0.07779 0.11617 0.76397997 +0.078668997 0.1163 0.76481998 +0.079593003 0.11649 0.76608998 +0.080521002 0.11668 0.76735002 +0.081405997 0.11681 0.76819998 +0.082248002 0.11687 0.76863003 +0.083090998 0.11694 0.76905 +0.083889 0.11694 0.76905 +0.084686004 0.11694 0.76905 +0.085579 0.11707 0.76990998 +0.086424999 0.11713 0.77033001 +0.08732 0.11726 0.77118999 +0.089208998 0.11871 0.78072 +0.090171002 0.11891 0.78204 +0.091444999 0.11952 0.78601998 +0.092312001 0.11959 0.78645998 +0.20766 0.12027 0.79093999 +0.20836 0.1202 0.79048997 +0.20906 0.12013 0.79004002 +-0.036396999 0.11993 0.78336 +-0.0079573998 0.11979 0.78248 +-0.0071459999 0.11979 0.78248 +-0.0063311001 0.11972 0.78204 +-0.0055200998 0.11972 0.78204 +-0.0047118999 0.11979 0.78248 +-0.0039005 0.11979 0.78248 +-0.0030873001 0.11972 0.78204 +-0.0022764001 0.11972 0.78204 +-0.0014654 0.11972 0.78204 +-0.00065414002 0.11966 0.7816 +0.00015634 0.11966 0.7816 +0.00096683 0.11966 0.7816 +0.0017773 0.11966 0.7816 +0.0090819001 0.11979 0.78248 +0.010729 0.12006 0.78424001 +0.012341 0.11993 0.78336 +0.013131 0.11972 0.78204 +0.013919 0.11952 0.78072 +0.014679 0.11912 0.77810001 +0.015469 0.11899 0.77723002 +0.016247001 0.11879 0.77591997 +0.017052 0.11879 0.77591997 +0.017836999 0.11866 0.77506 +0.018609 0.11846 0.77376002 +0.01939 0.11833 0.77289999 +0.020168999 0.11819 0.77204001 +0.020946 0.11806 0.77118999 +0.021709999 0.11787 0.76990998 +0.022496 0.1178 0.76947999 +0.023294 0.1178 0.76947999 +0.024078 0.11774 0.76905 +0.024862001 0.11767 0.76863003 +0.025630999 0.11754 0.76778001 +0.026412001 0.11748 0.76735002 +0.027178001 0.11735 0.76651001 +0.027911 0.11709 0.76481998 +0.028673001 0.11696 0.76397997 +0.029448999 0.1169 0.76356 +0.030207001 0.11677 0.76271999 +0.030964 0.11664 0.76188999 +0.031737 0.11657 0.76147002 +0.032490999 0.11645 0.76063001 +0.033243001 0.11632 0.75980002 +0.034012001 0.11626 0.75939 +0.034743 0.11607 0.75814003 +0.03551 0.116 0.75773001 +0.036276001 0.11594 0.75731999 +0.037041001 0.11588 0.75691003 +0.037764002 0.11569 0.75567001 +0.038548 0.11569 0.75567001 +0.039331 0.11569 0.75567001 +0.040093001 0.11562 0.75525999 +0.040876001 0.11562 0.75525999 +0.041637 0.11556 0.75484997 +0.042419001 0.11556 0.75484997 +0.043179002 0.1155 0.75444001 +0.043912999 0.11537 0.75362003 +0.044695001 0.11537 0.75362003 +0.045476001 0.11537 0.75362003 +0.046208002 0.11525 0.75281 +0.046987999 0.11525 0.75281 +0.047768999 0.11525 0.75281 +0.048549999 0.11525 0.75281 +0.049357001 0.11531 0.75321001 +0.050057001 0.11512 0.75199002 +0.050836001 0.11512 0.75199002 +0.051615998 0.11512 0.75199002 +0.052368 0.11506 0.75158 +0.053146999 0.11506 0.75158 +0.053985 0.11519 0.75239998 +0.054706 0.11506 0.75158 +0.055514999 0.11512 0.75199002 +0.056356002 0.11525 0.75281 +0.057135999 0.11525 0.75281 +0.057948001 0.11531 0.75321001 +0.058729999 0.11531 0.75321001 +0.059478 0.11525 0.75281 +0.060292002 0.11531 0.75321001 +0.061039999 0.11525 0.75281 +0.061854001 0.11531 0.75321001 +0.062634997 0.11531 0.75321001 +0.063450001 0.11537 0.75362003 +0.064267002 0.11544 0.75402999 +0.065048002 0.11544 0.75402999 +0.065866001 0.1155 0.75444001 +0.066684999 0.11556 0.75484997 +0.067541003 0.11569 0.75567001 +0.068435997 0.11588 0.75691003 +0.069259003 0.11594 0.75731999 +0.070082001 0.116 0.75773001 +0.070983998 0.11619 0.75897002 +0.071888998 0.11638 0.76021999 +0.072756998 0.11651 0.76104999 +0.073625997 0.11664 0.76188999 +0.074456997 0.1167 0.76230001 +0.075248003 0.1167 0.76230001 +0.076038003 0.1167 0.76230001 +0.076912999 0.11683 0.76314002 +0.07779 0.11696 0.76397997 +0.078712001 0.11715 0.76524001 +0.079636998 0.11735 0.76651001 +0.080564998 0.11754 0.76778001 +0.081405997 0.11761 0.76819998 +0.082294002 0.11774 0.76905 +0.083090998 0.11774 0.76905 +0.083935 0.1178 0.76947999 +0.08478 0.11787 0.76990998 +0.085672997 0.118 0.77076 +0.086568996 0.11813 0.77161998 +0.089208998 0.11952 0.78072 +0.090120003 0.11966 0.7816 +0.091136001 0.11993 0.78336 +0.092051998 0.12006 0.78424001 +0.093021996 0.12027 0.78557003 +-0.038768999 0.12053 0.78204 +-0.038001001 0.12067 0.78292 +-0.037188999 0.12067 0.78292 +-0.036377002 0.12067 0.78292 +-0.035585001 0.12074 0.78336 +-0.0079485001 0.12047 0.7816 +-0.0071419999 0.12053 0.78204 +-0.0063275001 0.12047 0.7816 +-0.0055169999 0.12047 0.7816 +-0.0047092 0.12053 0.78204 +-0.0038983 0.12053 0.78204 +-0.0030856 0.12047 0.7816 +-0.0022751 0.12047 0.7816 +-0.0014646 0.12047 0.7816 +-0.00065377 0.1204 0.78116 +0.00015625999 0.1204 0.78116 +0.012327 0.1206 0.78248 +0.013124 0.12047 0.7816 +0.013911 0.12026 0.78027999 +0.014679 0.11993 0.77810001 +0.015469 0.11979 0.77723002 +0.016247001 0.11959 0.77591997 +0.017052 0.11959 0.77591997 +0.017836999 0.11946 0.77506 +0.018609 0.11926 0.77376002 +0.01939 0.11913 0.77289999 +0.020168999 0.11899 0.77204001 +0.020946 0.11886 0.77118999 +0.021722 0.11873 0.77033001 +0.022496 0.1186 0.76947999 +0.023305999 0.11867 0.76990998 +0.024091 0.1186 0.76947999 +0.024862001 0.11847 0.76863003 +0.025645001 0.1184 0.76819998 +0.026427001 0.11834 0.76778001 +0.027193001 0.11821 0.76692998 +0.027942 0.11801 0.76565999 +0.028688001 0.11782 0.76440001 +0.029464999 0.11775 0.76397997 +0.030239999 0.11769 0.76356 +0.030981001 0.11749 0.76230001 +0.031753998 0.11743 0.76188999 +0.032526001 0.11736 0.76147002 +0.03328 0.11724 0.76063001 +0.034049999 0.11717 0.76021999 +0.0348 0.11704 0.75939 +0.035548002 0.11692 0.75856 +0.036334999 0.11692 0.75856 +0.037080999 0.11679 0.75773001 +0.037804998 0.1166 0.75648999 +0.038589999 0.1166 0.75648999 +0.039374001 0.1166 0.75648999 +0.040137 0.11653 0.75607997 +0.040897999 0.11647 0.75567001 +0.041659001 0.11641 0.75525999 +0.042442001 0.11641 0.75525999 +0.043202002 0.11634 0.75484997 +0.043961 0.11628 0.75444001 +0.044743001 0.11628 0.75444001 +0.045526002 0.11628 0.75444001 +0.046232998 0.11609 0.75321001 +0.047014002 0.11609 0.75321001 +0.047795001 0.11609 0.75321001 +0.048576001 0.11609 0.75321001 +0.049384002 0.11616 0.75362003 +0.050110999 0.11603 0.75281 +0.050891001 0.11603 0.75281 +0.051672 0.11603 0.75281 +0.052453 0.11603 0.75281 +0.053204 0.11597 0.75239998 +0.054042999 0.11609 0.75321001 +0.054795001 0.11603 0.75281 +0.055605002 0.11609 0.75321001 +0.056417 0.11616 0.75362003 +0.057197999 0.11616 0.75362003 +0.058010999 0.11622 0.75402999 +0.058793001 0.11622 0.75402999 +0.059542999 0.11616 0.75362003 +0.060323998 0.11616 0.75362003 +0.061106 0.11616 0.75362003 +0.061921 0.11622 0.75402999 +0.062702999 0.11622 0.75402999 +0.063519001 0.11628 0.75444001 +0.064336002 0.11634 0.75484997 +0.065118998 0.11634 0.75484997 +0.065938003 0.11641 0.75525999 +0.066721 0.11641 0.75525999 +0.067613997 0.1166 0.75648999 +0.068511002 0.11679 0.75773001 +0.069334 0.11685 0.75814003 +0.070159003 0.11692 0.75856 +0.071061999 0.11711 0.75980002 +0.071928002 0.11724 0.76063001 +0.072797 0.11736 0.76147002 +0.073625997 0.11743 0.76188999 +0.074456997 0.11749 0.76230001 +0.075289004 0.11756 0.76271999 +0.076038003 0.11749 0.76230001 +0.076912999 0.11762 0.76314002 +0.077832997 0.11782 0.76440001 +0.078712001 0.11795 0.76524001 +0.079636998 0.11814 0.76651001 +0.080564998 0.11834 0.76778001 +0.081450999 0.11847 0.76863003 +0.082294002 0.11853 0.76905 +0.083136998 0.1186 0.76947999 +0.084027998 0.11873 0.77033001 +0.084873997 0.1188 0.77076 +0.085768998 0.11893 0.77161998 +0.086713001 0.11913 0.77289999 +0.087954998 0.11973 0.77679002 +0.089158997 0.12026 0.78027999 +0.090069003 0.1204 0.78116 +0.091032997 0.1206 0.78248 +0.092 0.12081 0.78380001 +0.092917003 0.12094 0.78469002 +-0.037978999 0.12141 0.78248 +-0.037168 0.12141 0.78248 +-0.036355998 0.12141 0.78248 +-0.035565 0.12148 0.78292 +-0.007944 0.12121 0.78116 +-0.0071379999 0.12128 0.7816 +-0.0063240002 0.12121 0.78116 +-0.0055169999 0.12128 0.7816 +-0.0047066002 0.12128 0.7816 +-0.0038961 0.12128 0.7816 +-0.0030839001 0.12121 0.78116 +-0.0022751 0.12128 0.7816 +-0.0014638 0.12121 0.78116 +-0.00065340003 0.12114 0.78072 +0.00015608 0.12107 0.78027999 +0.00096520002 0.12107 0.78027999 +0.012307 0.12121 0.78116 +0.013109 0.12114 0.78072 +0.013895 0.12094 0.77941 +0.014671 0.12067 0.77766001 +0.015469 0.1206 0.77723002 +0.016247001 0.1204 0.77591997 +0.017052 0.1204 0.77591997 +0.017836999 0.12026 0.77506 +0.018609 0.12006 0.77376002 +0.01939 0.11993 0.77289999 +0.020168999 0.1198 0.77204001 +0.020958001 0.11973 0.77161998 +0.021722 0.11953 0.77033001 +0.022507999 0.11946 0.76990998 +0.023305999 0.11946 0.76990998 +0.024091 0.1194 0.76947999 +0.024876 0.11933 0.76905 +0.025645001 0.1192 0.76819998 +0.026427001 0.11913 0.76778001 +0.027193001 0.119 0.76692998 +0.027957 0.11887 0.76608998 +0.028704001 0.11867 0.76481998 +0.029496999 0.11867 0.76481998 +0.030257 0.11854 0.76397997 +0.030998001 0.11835 0.76271999 +0.031771999 0.11828 0.76230001 +0.032543998 0.11822 0.76188999 +0.033298001 0.11809 0.76104999 +0.034068 0.11802 0.76063001 +0.034837998 0.11796 0.76021999 +0.035587002 0.11783 0.75939 +0.036375001 0.11783 0.75939 +0.037142001 0.11777 0.75897002 +0.037845999 0.11751 0.75731999 +0.038610999 0.11745 0.75691003 +0.039395001 0.11745 0.75691003 +0.040158 0.11738 0.75648999 +0.040920999 0.11732 0.75607997 +0.041682001 0.11725 0.75567001 +0.042489 0.11732 0.75607997 +0.043226 0.11719 0.75525999 +0.043985002 0.11713 0.75484997 +0.044743001 0.11706 0.75444001 +0.045526002 0.11706 0.75444001 +0.046257999 0.11694 0.75362003 +0.047038998 0.11694 0.75362003 +0.047821 0.11694 0.75362003 +0.048602 0.11694 0.75362003 +0.04941 0.117 0.75402999 +0.050165001 0.11694 0.75362003 +0.050919 0.11687 0.75321001 +0.0517 0.11687 0.75321001 +0.052480999 0.11687 0.75321001 +0.053261999 0.11687 0.75321001 +0.054072998 0.11694 0.75362003 +0.054854002 0.11694 0.75362003 +0.055635002 0.11694 0.75362003 +0.056448001 0.117 0.75402999 +0.057261001 0.11706 0.75444001 +0.058042999 0.11706 0.75444001 +0.058825001 0.11706 0.75444001 +0.059574999 0.117 0.75402999 +0.060389999 0.11706 0.75444001 +0.061172001 0.11706 0.75444001 +0.061953999 0.11706 0.75444001 +0.062737003 0.11706 0.75444001 +0.063588001 0.11719 0.75525999 +0.064370997 0.11719 0.75525999 +0.065190002 0.11725 0.75567001 +0.065973997 0.11725 0.75567001 +0.066757001 0.11725 0.75567001 +0.067688003 0.11751 0.75731999 +0.068585001 0.1177 0.75856 +0.069371998 0.1177 0.75856 +0.070234999 0.11783 0.75939 +0.071099997 0.11796 0.76021999 +0.071966998 0.11809 0.76104999 +0.072797 0.11815 0.76147002 +0.073666997 0.11828 0.76230001 +0.074456997 0.11828 0.76230001 +0.075289004 0.11835 0.76271999 +0.076038003 0.11828 0.76230001 +0.076954998 0.11848 0.76356 +0.077832997 0.11861 0.76440001 +0.078712001 0.11874 0.76524001 +0.079636998 0.11894 0.76651001 +0.08061 0.1192 0.76819998 +0.081450999 0.11927 0.76863003 +0.082339004 0.1194 0.76947999 +0.083182998 0.11946 0.76990998 +0.084074996 0.1196 0.77076 +0.084921002 0.11966 0.77118999 +0.085864 0.11986 0.77247 +0.08681 0.12006 0.77376002 +0.088004 0.1206 0.77723002 +0.089158997 0.12107 0.78027999 +0.090019003 0.12114 0.78072 +0.090981998 0.12135 0.78204 +0.091948003 0.12155 0.78336 +0.092864998 0.12169 0.78424001 +-0.037958 0.12216 0.78204 +-0.037147 0.12216 0.78204 +-0.036336001 0.12216 0.78204 +-0.0087540997 0.12202 0.78116 +-0.007944 0.12202 0.78116 +-0.0071339998 0.12202 0.78116 +-0.0063240002 0.12202 0.78116 +-0.0055139 0.12202 0.78116 +-0.0047038998 0.12202 0.78116 +-0.0038939 0.12202 0.78116 +-0.0030821001 0.12195 0.78072 +-0.0022738001 0.12202 0.78116 +-0.001463 0.12195 0.78072 +-0.00065266999 0.12181 0.77983999 +0.00015599 0.12181 0.77983999 +0.00096411997 0.12175 0.77941 +0.0049939998 0.12147 0.77766001 +0.0066030999 0.12141 0.77723002 +0.0074089998 0.12141 0.77723002 +0.0082149999 0.12141 0.77723002 +0.0090260003 0.12147 0.77766001 +0.01308 0.12168 0.77897 +0.013872 0.12154 0.77810001 +0.014663 0.12141 0.77723002 +0.01546 0.12134 0.77679002 +0.016247001 0.1212 0.77591997 +0.017052 0.1212 0.77591997 +0.017836999 0.12107 0.77506 +0.018609 0.12086 0.77376002 +0.01939 0.12073 0.77289999 +0.02018 0.12066 0.77247 +0.020958001 0.12053 0.77161998 +0.021722 0.12033 0.77033001 +0.022507999 0.12026 0.76990998 +0.023305999 0.12026 0.76990998 +0.024104999 0.12026 0.76990998 +0.024876 0.12013 0.76905 +0.025645001 0.12 0.76819998 +0.026441 0.12 0.76819998 +0.027208 0.11986 0.76735002 +0.027973 0.11973 0.76651001 +0.028720001 0.11953 0.76524001 +0.029496999 0.11947 0.76481998 +0.030274 0.1194 0.76440001 +0.031014999 0.11921 0.76314002 +0.031789001 0.11914 0.76271999 +0.032561999 0.11907 0.76230001 +0.033316001 0.11894 0.76147002 +0.034086999 0.11888 0.76104999 +0.034857001 0.11881 0.76063001 +0.035606999 0.11868 0.75980002 +0.036394998 0.11868 0.75980002 +0.037183002 0.11868 0.75980002 +0.037888002 0.11842 0.75814003 +0.038653001 0.11836 0.75773001 +0.039438002 0.11836 0.75773001 +0.040201999 0.1183 0.75731999 +0.040964998 0.11823 0.75691003 +0.041726999 0.11817 0.75648999 +0.042512 0.11817 0.75648999 +0.043272998 0.1181 0.75607997 +0.044009 0.11797 0.75525999 +0.044767998 0.11791 0.75484997 +0.04555 0.11791 0.75484997 +0.046282999 0.11778 0.75402999 +0.047065001 0.11778 0.75402999 +0.047846999 0.11778 0.75402999 +0.048629001 0.11778 0.75402999 +0.049437001 0.11785 0.75444001 +0.050191998 0.11778 0.75402999 +0.050974 0.11778 0.75402999 +0.051755998 0.11778 0.75402999 +0.052538 0.11778 0.75402999 +0.053320002 0.11778 0.75402999 +0.054102 0.11778 0.75402999 +0.054884002 0.11778 0.75402999 +0.055666 0.11778 0.75402999 +0.056478001 0.11785 0.75444001 +0.057291999 0.11791 0.75484997 +0.058074001 0.11791 0.75484997 +0.058857001 0.11791 0.75484997 +0.059608001 0.11785 0.75444001 +0.060389999 0.11785 0.75444001 +0.061205 0.11791 0.75484997 +0.061988 0.11791 0.75484997 +0.062771 0.11791 0.75484997 +0.063588001 0.11797 0.75525999 +0.064370997 0.11797 0.75525999 +0.065190002 0.11804 0.75567001 +0.065973997 0.11804 0.75567001 +0.066793002 0.1181 0.75607997 +0.067725003 0.11836 0.75773001 +0.068622999 0.11855 0.75897002 +0.069410004 0.11855 0.75897002 +0.070234999 0.11862 0.75939 +0.071139 0.11881 0.76063001 +0.071966998 0.11888 0.76104999 +0.072835997 0.11901 0.76188999 +0.073666997 0.11907 0.76230001 +0.074497998 0.11914 0.76271999 +0.075289004 0.11914 0.76271999 +0.076080002 0.11914 0.76271999 +0.076954998 0.11927 0.76356 +0.07779 0.11934 0.76397997 +0.078712001 0.11953 0.76524001 +0.079636998 0.11973 0.76651001 +0.08061 0.12 0.76819998 +0.081450999 0.12006 0.76863003 +0.082339004 0.1202 0.76947999 +0.083182998 0.12026 0.76990998 +0.084074996 0.1204 0.77076 +0.084921002 0.12046 0.77118999 +0.085864 0.12066 0.77247 +0.086857997 0.12093 0.77419001 +0.088004 0.12141 0.77723002 +0.089109004 0.12181 0.77983999 +0.090019003 0.12195 0.78072 +0.090879001 0.12202 0.78116 +0.091844 0.12223 0.78248 +0.092759997 0.12236 0.78336 +0.093625002 0.12243 0.78380001 +-0.0079396004 0.12276 0.78072 +-0.0071299998 0.12276 0.78072 +-0.0063204002 0.12276 0.78072 +-0.0055108001 0.12276 0.78072 +-0.0038939 0.12283 0.78116 +-0.0030803999 0.12269 0.78027999 +-0.0022726001 0.12276 0.78072 +-0.0014613 0.12262 0.77983999 +-0.00065194 0.12249 0.77897 +0.00015573 0.12242 0.77853 +0.00096249999 0.12235 0.77810001 +0.0017684 0.12228 0.77766001 +0.0025748 0.12228 0.77766001 +0.0033793 0.12221 0.77723002 +0.0041852002 0.12221 0.77723002 +0.0049911998 0.12221 0.77723002 +0.0057939002 0.12214 0.77679002 +0.0065994002 0.12214 0.77679002 +0.0074049002 0.12214 0.77679002 +0.0082104001 0.12214 0.77679002 +0.0090159001 0.12214 0.77679002 +0.0098269004 0.12221 0.77723002 +0.013058 0.12228 0.77766001 +0.013864 0.12228 0.77766001 +0.014654 0.12214 0.77679002 +0.01546 0.12214 0.77679002 +0.016247001 0.12201 0.77591997 +0.017052 0.12201 0.77591997 +0.017836999 0.12187 0.77506 +0.018619001 0.12173 0.77419001 +0.019401001 0.1216 0.77332997 +0.02018 0.12146 0.77247 +0.020958001 0.12133 0.77161998 +0.021733999 0.12119 0.77076 +0.022507999 0.12106 0.76990998 +0.023319 0.12113 0.77033001 +0.024104999 0.12106 0.76990998 +0.024876 0.12093 0.76905 +0.025645001 0.12079 0.76819998 +0.026441 0.12079 0.76819998 +0.027208 0.12066 0.76735002 +0.027973 0.12053 0.76651001 +0.028720001 0.12033 0.76524001 +0.029496999 0.12026 0.76481998 +0.030274 0.12019 0.76440001 +0.031014999 0.12 0.76314002 +0.031789001 0.11993 0.76271999 +0.032561999 0.11986 0.76230001 +0.033316001 0.11973 0.76147002 +0.034106001 0.11973 0.76147002 +0.034876 0.11967 0.76104999 +0.035645999 0.1196 0.76063001 +0.036415 0.11954 0.76021999 +0.037202999 0.11954 0.76021999 +0.037928998 0.11934 0.75897002 +0.038695 0.11928 0.75856 +0.039480999 0.11928 0.75856 +0.040224001 0.11915 0.75773001 +0.040987 0.11908 0.75731999 +0.041749999 0.11902 0.75691003 +0.042535 0.11902 0.75691003 +0.043272998 0.11889 0.75607997 +0.044032998 0.11882 0.75567001 +0.044792 0.11876 0.75525999 +0.045575 0.11876 0.75525999 +0.046308 0.11863 0.75444001 +0.047090001 0.11863 0.75444001 +0.047899 0.11869 0.75484997 +0.048680998 0.11869 0.75484997 +0.049463999 0.11869 0.75484997 +0.050220001 0.11863 0.75444001 +0.051002 0.11863 0.75444001 +0.051784001 0.11863 0.75444001 +0.052567001 0.11863 0.75444001 +0.053348999 0.11863 0.75444001 +0.054131001 0.11863 0.75444001 +0.054914001 0.11863 0.75444001 +0.055695999 0.11863 0.75444001 +0.056508999 0.11869 0.75484997 +0.057291999 0.11869 0.75484997 +0.058106001 0.11876 0.75525999 +0.058889002 0.11876 0.75525999 +0.059640002 0.11869 0.75484997 +0.060423002 0.11869 0.75484997 +0.061205 0.11869 0.75484997 +0.062022001 0.11876 0.75525999 +0.062804997 0.11876 0.75525999 +0.063623004 0.11882 0.75567001 +0.064406 0.11882 0.75567001 +0.065224998 0.11889 0.75607997 +0.066009 0.11889 0.75607997 +0.066830002 0.11895 0.75648999 +0.067799002 0.11928 0.75856 +0.068659998 0.11941 0.75939 +0.069448002 0.11941 0.75939 +0.070274003 0.11947 0.75980002 +0.071177997 0.11967 0.76104999 +0.072007 0.11973 0.76147002 +0.072835997 0.1198 0.76188999 +0.073666997 0.11986 0.76230001 +0.074497998 0.11993 0.76271999 +0.075329997 0.12 0.76314002 +0.076080002 0.11993 0.76271999 +0.076954998 0.12006 0.76356 +0.077832997 0.12019 0.76440001 +0.078712001 0.12033 0.76524001 +0.079681002 0.12059 0.76692998 +0.08061 0.12079 0.76819998 +0.081496 0.12093 0.76905 +0.082339004 0.12099 0.76947999 +0.083230004 0.12113 0.77033001 +0.084122002 0.12126 0.77118999 +0.085015997 0.1214 0.77204001 +0.085960001 0.1216 0.77332997 +0.086906999 0.1218 0.77463001 +0.087954998 0.12214 0.77679002 +0.089059003 0.12255 0.77941 +0.089918002 0.12262 0.77983999 +0.090828001 0.12276 0.78072 +0.091688998 0.12283 0.78116 +0.092656001 0.12304 0.78248 +0.093520001 0.12311 0.78292 +0.19452 0.12331 0.78424001 +0.21229 0.12325 0.78380001 +-0.064140998 0.12267 0.77506 +-0.063337997 0.12267 0.77506 +-0.0022700001 0.12343 0.77983999 +-0.0014597001 0.12329 0.77897 +-0.00065121002 0.12315 0.77810001 +0.00015556 0.12309 0.77766001 +0.00096196 0.12309 0.77766001 +0.0017674 0.12302 0.77723002 +0.0025732999 0.12302 0.77723002 +0.0033774001 0.12295 0.77679002 +0.0041828998 0.12295 0.77679002 +0.0049883998 0.12295 0.77679002 +0.0057906001 0.12288 0.77635998 +0.0065994002 0.12295 0.77679002 +0.0074006999 0.12288 0.77635998 +0.0082058003 0.12288 0.77635998 +0.0090159001 0.12295 0.77679002 +0.0098214 0.12295 0.77679002 +0.010633 0.12302 0.77723002 +0.011432 0.12295 0.77679002 +0.012238 0.12295 0.77679002 +0.013051 0.12302 0.77723002 +0.013849 0.12295 0.77679002 +0.014646 0.12288 0.77635998 +0.015451 0.12288 0.77635998 +0.016247001 0.12281 0.77591997 +0.017052 0.12281 0.77591997 +0.017845999 0.12274 0.77548999 +0.018619001 0.12254 0.77419001 +0.019410999 0.12247 0.77376002 +0.020191001 0.12233 0.77289999 +0.020981001 0.12226 0.77247 +0.021746 0.12206 0.77118999 +0.022521 0.12193 0.77033001 +0.023319 0.12193 0.77033001 +0.024104999 0.12186 0.76990998 +0.024876 0.12172 0.76905 +0.025645001 0.12159 0.76819998 +0.026441 0.12159 0.76819998 +0.027208 0.12145 0.76735002 +0.027973 0.12132 0.76651001 +0.028720001 0.12112 0.76524001 +0.029513 0.12112 0.76524001 +0.03029 0.12105 0.76481998 +0.031014999 0.12079 0.76314002 +0.031789001 0.12072 0.76271999 +0.032579999 0.12072 0.76271999 +0.033333998 0.12059 0.76188999 +0.034124002 0.12059 0.76188999 +0.034876 0.12046 0.76104999 +0.035645999 0.12039 0.76063001 +0.036433998 0.12039 0.76063001 +0.037223 0.12039 0.76063001 +0.037969999 0.12026 0.75980002 +0.038736999 0.12019 0.75939 +0.039524999 0.12019 0.75939 +0.040268 0.12006 0.75856 +0.041032001 0.12 0.75814003 +0.041795999 0.11993 0.75773001 +0.042580999 0.11993 0.75773001 +0.04332 0.1198 0.75691003 +0.044057 0.11967 0.75607997 +0.044815999 0.11961 0.75567001 +0.045600001 0.11961 0.75567001 +0.046333 0.11948 0.75484997 +0.047116 0.11948 0.75484997 +0.047924999 0.11954 0.75525999 +0.048707999 0.11954 0.75525999 +0.049490999 0.11954 0.75525999 +0.050246999 0.11948 0.75484997 +0.051029999 0.11948 0.75484997 +0.051812001 0.11948 0.75484997 +0.052595001 0.11948 0.75484997 +0.053348999 0.11941 0.75444001 +0.054161001 0.11948 0.75484997 +0.054942999 0.11948 0.75484997 +0.055725999 0.11948 0.75484997 +0.056540001 0.11954 0.75525999 +0.057323001 0.11954 0.75525999 +0.058106001 0.11954 0.75525999 +0.058889002 0.11954 0.75525999 +0.059640002 0.11948 0.75484997 +0.060423002 0.11948 0.75484997 +0.061239 0.11954 0.75525999 +0.062022001 0.11954 0.75525999 +0.062804997 0.11954 0.75525999 +0.063623004 0.11961 0.75567001 +0.064441003 0.11967 0.75607997 +0.065260999 0.11974 0.75648999 +0.066045001 0.11974 0.75648999 +0.066830002 0.11974 0.75648999 +0.067836002 0.12013 0.75897002 +0.068697996 0.12026 0.75980002 +0.069486 0.12026 0.75980002 +0.070312001 0.12033 0.76021999 +0.071177997 0.12046 0.76104999 +0.072045997 0.12059 0.76188999 +0.072875999 0.12066 0.76230001 +0.073706999 0.12072 0.76271999 +0.074497998 0.12072 0.76271999 +0.075329997 0.12079 0.76314002 +0.076122001 0.12079 0.76314002 +0.076998003 0.12092 0.76397997 +0.077876002 0.12105 0.76481998 +0.078754999 0.12119 0.76565999 +0.079724997 0.12145 0.76735002 +0.08061 0.12159 0.76819998 +0.081496 0.12172 0.76905 +0.082385004 0.12186 0.76990998 +0.083276004 0.12199 0.77076 +0.084168002 0.12213 0.77161998 +0.085063003 0.12226 0.77247 +0.086055003 0.12254 0.77419001 +0.086906999 0.12261 0.77463001 +0.087954998 0.12295 0.77679002 +0.089009002 0.12329 0.77897 +0.089867003 0.12336 0.77941 +0.090726003 0.12343 0.77983999 +0.091586001 0.1235 0.78027999 +0.092551 0.12371 0.7816 +0.093415 0.12378 0.78204 +0.19267 0.12399 0.78336 +0.19441 0.12406 0.78380001 +0.20857 0.12378 0.78204 +0.20938 0.12378 0.78204 +0.21123999 0.12392 0.78292 +0.21205001 0.12392 0.78292 +-0.065748997 0.12348 0.77506 +-0.064104997 0.12341 0.77463001 +-0.063302003 0.12341 0.77463001 +-0.0014581 0.12396 0.77810001 +0.00015538 0.12375 0.77679002 +0.00096088002 0.12375 0.77679002 +0.0017654001 0.12368 0.77635998 +0.0025718999 0.12375 0.77679002 +0.0033755 0.12368 0.77635998 +0.0041804998 0.12368 0.77635998 +0.0049855998 0.12368 0.77635998 +0.0057906001 0.12368 0.77635998 +0.0065957 0.12368 0.77635998 +0.0074006999 0.12368 0.77635998 +0.0082011996 0.12362 0.77591997 +0.0090108002 0.12368 0.77635998 +0.0098158997 0.12368 0.77635998 +0.010621 0.12368 0.77635998 +0.011426 0.12368 0.77635998 +0.012231 0.12368 0.77635998 +0.013036 0.12368 0.77635998 +0.013841 0.12368 0.77635998 +0.014638 0.12362 0.77591997 +0.015443 0.12362 0.77591997 +0.016238 0.12355 0.77548999 +0.017042 0.12355 0.77548999 +0.017836999 0.12348 0.77506 +0.018619001 0.12334 0.77419001 +0.019410999 0.12327 0.77376002 +0.020203 0.1232 0.77332997 +0.020981001 0.12307 0.77247 +0.021757999 0.12293 0.77161998 +0.022533 0.12279 0.77076 +0.023332 0.12279 0.77076 +0.024118001 0.12272 0.77033001 +0.024876 0.12252 0.76905 +0.025659001 0.12245 0.76863003 +0.026441 0.12239 0.76819998 +0.027208 0.12225 0.76735002 +0.027973 0.12212 0.76651001 +0.028736001 0.12198 0.76565999 +0.029513 0.12191 0.76524001 +0.03029 0.12185 0.76481998 +0.031032 0.12165 0.76356 +0.031806 0.12158 0.76314002 +0.032579999 0.12151 0.76271999 +0.033333998 0.12138 0.76188999 +0.034124002 0.12138 0.76188999 +0.034894999 0.12131 0.76147002 +0.035665002 0.12125 0.76104999 +0.036454 0.12125 0.76104999 +0.037244 0.12125 0.76104999 +0.037990998 0.12111 0.76021999 +0.038757998 0.12105 0.75980002 +0.039546002 0.12105 0.75980002 +0.040312 0.12098 0.75939 +0.041076999 0.12092 0.75897002 +0.041841 0.12085 0.75856 +0.042628001 0.12085 0.75856 +0.043343 0.12065 0.75731999 +0.044105001 0.12059 0.75691003 +0.044865001 0.12052 0.75648999 +0.045625001 0.12045 0.75607997 +0.046358 0.12032 0.75525999 +0.047141999 0.12032 0.75525999 +0.047951002 0.12039 0.75567001 +0.048734002 0.12039 0.75567001 +0.049518 0.12039 0.75567001 +0.050274 0.12032 0.75525999 +0.051084999 0.12039 0.75567001 +0.051840998 0.12032 0.75525999 +0.052623998 0.12032 0.75525999 +0.053378001 0.12026 0.75484997 +0.054189999 0.12032 0.75525999 +0.054972999 0.12032 0.75525999 +0.055755999 0.12032 0.75525999 +0.056540001 0.12032 0.75525999 +0.057353999 0.12039 0.75567001 +0.058138002 0.12039 0.75567001 +0.058921002 0.12039 0.75567001 +0.059672002 0.12032 0.75525999 +0.060454998 0.12032 0.75525999 +0.061239 0.12032 0.75525999 +0.062056001 0.12039 0.75567001 +0.062839001 0.12039 0.75567001 +0.063657001 0.12045 0.75607997 +0.064441003 0.12045 0.75607997 +0.065260999 0.12052 0.75648999 +0.066045001 0.12052 0.75648999 +0.066866003 0.12059 0.75691003 +0.067873001 0.12098 0.75939 +0.068735003 0.12111 0.76021999 +0.069523998 0.12111 0.76021999 +0.070350997 0.12118 0.76063001 +0.071217 0.12131 0.76147002 +0.072045997 0.12138 0.76188999 +0.072875999 0.12145 0.76230001 +0.073706999 0.12151 0.76271999 +0.074538998 0.12158 0.76314002 +0.075329997 0.12158 0.76314002 +0.076164 0.12165 0.76356 +0.077040002 0.12178 0.76440001 +0.077876002 0.12185 0.76481998 +0.078799002 0.12205 0.76608998 +0.079769 0.12232 0.76778001 +0.080654003 0.12245 0.76863003 +0.081542 0.12259 0.76947999 +0.082431003 0.12272 0.77033001 +0.083322003 0.12286 0.77118999 +0.084215 0.123 0.77204001 +0.085157998 0.1232 0.77332997 +0.086055003 0.12334 0.77419001 +0.086955003 0.12348 0.77506 +0.087906003 0.12368 0.77635998 +0.088909999 0.12396 0.77810001 +0.089767002 0.12403 0.77853 +0.090625003 0.1241 0.77897 +0.091484003 0.12417 0.77941 +0.092446998 0.12438 0.78072 +0.093309 0.12445 0.78116 +0.19186001 0.1248 0.78336 +0.19257 0.12473 0.78292 +0.20845 0.12452 0.7816 +0.20926 0.12452 0.7816 +0.21043 0.12473 0.78292 +0.21111999 0.12466 0.78248 +0.21193001 0.12466 0.78248 +0.21286 0.12473 0.78292 +-0.066477999 0.12414 0.77419001 +-0.065674998 0.12414 0.77419001 +-0.064909004 0.12421 0.77463001 +-0.064034 0.12407 0.77376002 +-0.063231997 0.12407 0.77376002 +0.00096034998 0.12449 0.77635998 +0.0017644 0.12442 0.77591997 +0.0025704 0.12449 0.77635998 +0.0033736001 0.12442 0.77591997 +0.0041781999 0.12442 0.77591997 +0.0049828002 0.12442 0.77591997 +0.0057874001 0.12442 0.77591997 +0.0065919999 0.12442 0.77591997 +0.0073966002 0.12442 0.77591997 +0.0082011996 0.12442 0.77591997 +0.0090057999 0.12442 0.77591997 +0.0098104002 0.12442 0.77591997 +0.010615 0.12442 0.77591997 +0.01142 0.12442 0.77591997 +0.012217 0.12435 0.77548999 +0.013029 0.12442 0.77591997 +0.013826 0.12435 0.77548999 +0.01463 0.12435 0.77548999 +0.015443 0.12442 0.77591997 +0.016229 0.12428 0.77506 +0.017042 0.12435 0.77548999 +0.017836999 0.12428 0.77506 +0.018619001 0.12414 0.77419001 +0.019401001 0.124 0.77332997 +0.020191001 0.12394 0.77289999 +0.020981001 0.12387 0.77247 +0.021757999 0.12373 0.77161998 +0.022533 0.12359 0.77076 +0.023332 0.12359 0.77076 +0.024118001 0.12352 0.77033001 +0.024876 0.12332 0.76905 +0.025659001 0.12325 0.76863003 +0.026441 0.12318 0.76819998 +0.027208 0.12305 0.76735002 +0.027973 0.12291 0.76651001 +0.028736001 0.12277 0.76565999 +0.02953 0.12277 0.76565999 +0.03029 0.12264 0.76481998 +0.031032 0.12244 0.76356 +0.031806 0.12237 0.76314002 +0.032579999 0.1223 0.76271999 +0.033353001 0.12224 0.76230001 +0.034143001 0.12224 0.76230001 +0.034914002 0.12217 0.76188999 +0.035684999 0.1221 0.76147002 +0.036474001 0.1221 0.76147002 +0.037264001 0.1221 0.76147002 +0.038012002 0.12197 0.76063001 +0.03878 0.1219 0.76021999 +0.039588999 0.12197 0.76063001 +0.040355999 0.1219 0.76021999 +0.041099001 0.12177 0.75939 +0.041887 0.12177 0.75939 +0.042698 0.12184 0.75980002 +0.043414 0.12164 0.75856 +0.044201002 0.12164 0.75856 +0.044939 0.1215 0.75773001 +0.045674 0.12137 0.75691003 +0.046434 0.1213 0.75648999 +0.047192998 0.12124 0.75607997 +0.048002999 0.1213 0.75648999 +0.048787002 0.1213 0.75648999 +0.049571998 0.1213 0.75648999 +0.050329 0.12124 0.75607997 +0.051112998 0.12124 0.75607997 +0.051897001 0.12124 0.75607997 +0.052680999 0.12124 0.75607997 +0.053436 0.12117 0.75567001 +0.054219998 0.12117 0.75567001 +0.055002999 0.12117 0.75567001 +0.055787001 0.12117 0.75567001 +0.056570001 0.12117 0.75567001 +0.057385001 0.12124 0.75607997 +0.058169 0.12124 0.75607997 +0.058952998 0.12124 0.75607997 +0.059705 0.12117 0.75567001 +0.060488001 0.12117 0.75567001 +0.061271999 0.12117 0.75567001 +0.062089 0.12124 0.75607997 +0.062872998 0.12124 0.75607997 +0.063692003 0.1213 0.75648999 +0.064475998 0.1213 0.75648999 +0.065296002 0.12137 0.75691003 +0.066081002 0.12137 0.75691003 +0.066903003 0.12144 0.75731999 +0.067910001 0.12184 0.75980002 +0.068773001 0.12197 0.76063001 +0.069562003 0.12197 0.76063001 +0.070350997 0.12197 0.76063001 +0.071217 0.1221 0.76147002 +0.072085999 0.12224 0.76230001 +0.072916001 0.1223 0.76271999 +0.073748 0.12237 0.76314002 +0.074538998 0.12237 0.76314002 +0.075372003 0.12244 0.76356 +0.076164 0.12244 0.76356 +0.077082001 0.12264 0.76481998 +0.077918001 0.12271 0.76524001 +0.078799002 0.12284 0.76608998 +0.079813004 0.12318 0.76819998 +0.080698997 0.12332 0.76905 +0.081587002 0.12346 0.76990998 +0.082475998 0.12359 0.77076 +0.083368003 0.12373 0.77161998 +0.084261999 0.12387 0.77247 +0.085205004 0.12407 0.77376002 +0.086055003 0.12414 0.77419001 +0.086906999 0.12421 0.77463001 +0.087906003 0.12449 0.77635998 +0.088809997 0.12463 0.77723002 +0.089666001 0.1247 0.77766001 +0.090522997 0.12477 0.77810001 +0.091380998 0.12484 0.77853 +0.092344001 0.12504999 0.77983999 +0.093204997 0.12512 0.78027999 +0.20845 0.12533 0.7816 +0.20914 0.12526 0.78116 +0.21031 0.12547 0.78248 +0.211 0.12540001 0.78204 +0.21180999 0.12540001 0.78204 +-0.067244001 0.12488 0.77376002 +-0.065638997 0.12488 0.77376002 +-0.064873002 0.12495 0.77419001 +-0.063997999 0.12481 0.77332997 +-0.063197002 0.12481 0.77332997 +0.0017634 0.12515 0.77548999 +0.002569 0.12522 0.77591997 +0.0033716999 0.12515 0.77548999 +0.0041781999 0.12522 0.77591997 +0.0049828002 0.12522 0.77591997 +0.0057842 0.12515 0.77548999 +0.0065919999 0.12522 0.77591997 +0.0073925001 0.12515 0.77548999 +0.0081965998 0.12515 0.77548999 +0.0090057999 0.12522 0.77591997 +0.0098048998 0.12515 0.77548999 +0.010615 0.12522 0.77591997 +0.011413 0.12515 0.77548999 +0.012211 0.12509 0.77506 +0.013022 0.12515 0.77548999 +0.013818 0.12509 0.77506 +0.014622 0.12509 0.77506 +0.015434 0.12515 0.77548999 +0.01622 0.12502 0.77463001 +0.017023001 0.12502 0.77463001 +0.017827 0.12502 0.77463001 +0.018609 0.12488 0.77376002 +0.01939 0.12474 0.77289999 +0.02018 0.12467 0.77247 +0.020969 0.1246 0.77204001 +0.021746 0.12446 0.77118999 +0.022533 0.12439 0.77076 +0.023332 0.12439 0.77076 +0.024118001 0.12432 0.77033001 +0.024876 0.12412 0.76905 +0.025645001 0.12398 0.76819998 +0.026441 0.12398 0.76819998 +0.027208 0.12384 0.76735002 +0.027973 0.12371 0.76651001 +0.028736001 0.12357 0.76565999 +0.02953 0.12357 0.76565999 +0.030307001 0.1235 0.76524001 +0.031049 0.1233 0.76397997 +0.031824 0.12323 0.76356 +0.032598 0.12316 0.76314002 +0.033353001 0.12303 0.76230001 +0.034162 0.12309 0.76271999 +0.034933001 0.12303 0.76230001 +0.035704002 0.12296 0.76188999 +0.036494002 0.12296 0.76188999 +0.037284002 0.12296 0.76188999 +0.038033001 0.12282 0.76104999 +0.038821999 0.12282 0.76104999 +0.039611001 0.12282 0.76104999 +0.040378001 0.12276 0.76063001 +0.041143999 0.12269 0.76021999 +0.041933 0.12269 0.76021999 +0.042744 0.12276 0.76063001 +0.043485999 0.12262 0.75980002 +0.044248998 0.12256 0.75939 +0.045012001 0.12249 0.75897002 +0.045724001 0.12229 0.75773001 +0.046484999 0.12222 0.75731999 +0.047244001 0.12216 0.75691003 +0.048055001 0.12222 0.75731999 +0.048841 0.12222 0.75731999 +0.049598999 0.12216 0.75691003 +0.050384 0.12216 0.75691003 +0.051169001 0.12216 0.75691003 +0.051925 0.12209 0.75648999 +0.05271 0.12209 0.75648999 +0.053465001 0.12202 0.75607997 +0.054249 0.12202 0.75607997 +0.055032998 0.12202 0.75607997 +0.055787001 0.12196 0.75567001 +0.056600999 0.12202 0.75607997 +0.057385001 0.12202 0.75607997 +0.058169 0.12202 0.75607997 +0.058984999 0.12209 0.75648999 +0.059705 0.12196 0.75567001 +0.060488001 0.12196 0.75567001 +0.061305001 0.12202 0.75607997 +0.062089 0.12202 0.75607997 +0.062872998 0.12202 0.75607997 +0.063692003 0.12209 0.75648999 +0.064511999 0.12216 0.75691003 +0.065332003 0.12222 0.75731999 +0.066117004 0.12222 0.75731999 +0.066938996 0.12229 0.75773001 +0.067947 0.12269 0.76021999 +0.068810999 0.12282 0.76104999 +0.069562003 0.12276 0.76063001 +0.070389003 0.12282 0.76104999 +0.071255997 0.12296 0.76188999 +0.072085999 0.12303 0.76230001 +0.072916001 0.12309 0.76271999 +0.073748 0.12316 0.76314002 +0.074579999 0.12323 0.76356 +0.075413004 0.1233 0.76397997 +0.076246999 0.12337 0.76440001 +0.077166997 0.12357 0.76565999 +0.078004003 0.12364 0.76608998 +0.078886002 0.12377 0.76692998 +0.079856999 0.12405 0.76863003 +0.080698997 0.12412 0.76905 +0.081587002 0.12425 0.76990998 +0.082475998 0.12439 0.77076 +0.083368003 0.12453 0.77161998 +0.084261999 0.12467 0.77247 +0.085157998 0.12481 0.77332997 +0.086055003 0.12495 0.77419001 +0.086906999 0.12502 0.77463001 +0.087857001 0.12522 0.77591997 +0.088760003 0.12536 0.77679002 +0.089616001 0.12543 0.77723002 +0.090421997 0.12543 0.77723002 +0.091279 0.12551001 0.77766001 +0.092239998 0.12571999 0.77897 +0.093099996 0.12579 0.77941 +0.20833001 0.12606999 0.78116 +0.20914 0.12606999 0.78116 +0.21019 0.12621 0.78204 +0.21088 0.12614 0.7816 +0.21168999 0.12614 0.7816 +0.21424 0.12621 0.78204 +0.21668001 0.12621 0.78204 +0.21749 0.12621 0.78204 +0.21842 0.12627999 0.78248 +0.21923 0.12627999 0.78248 +0.21991999 0.12621 0.78204 +0.22073001 0.12621 0.78204 +-0.067206003 0.12560999 0.77332997 +-0.066404 0.12560999 0.77332997 +-0.065601997 0.12560999 0.77332997 +-0.064836003 0.12568 0.77376002 +-0.063963003 0.12554 0.77289999 +-0.063197002 0.12560999 0.77332997 +0.0017624 0.12589 0.77506 +0.0025676 0.12596001 0.77548999 +0.0033698 0.12589 0.77506 +0.0041759 0.12596001 0.77548999 +0.0049800002 0.12596001 0.77548999 +0.0057842 0.12596001 0.77548999 +0.0065883002 0.12596001 0.77548999 +0.0073925001 0.12596001 0.77548999 +0.0081965998 0.12596001 0.77548999 +0.0090007996 0.12596001 0.77548999 +0.0098048998 0.12596001 0.77548999 +0.010609 0.12596001 0.77548999 +0.011407 0.12589 0.77506 +0.012204 0.12582 0.77463001 +0.013014 0.12589 0.77506 +0.01381 0.12582 0.77463001 +0.014605 0.12575001 0.77419001 +0.015417 0.12582 0.77463001 +0.016210999 0.12575001 0.77419001 +0.017014001 0.12575001 0.77419001 +0.017806999 0.12568 0.77376002 +0.018588001 0.12554 0.77289999 +0.019378999 0.12547 0.77247 +0.020168999 0.12540001 0.77204001 +0.020958001 0.12533 0.77161998 +0.021746 0.12526 0.77118999 +0.022521 0.12512 0.77033001 +0.023319 0.12512 0.77033001 +0.024118001 0.12512 0.77033001 +0.024876 0.12491 0.76905 +0.025645001 0.12478 0.76819998 +0.026441 0.12478 0.76819998 +0.027223 0.12471 0.76778001 +0.027988 0.12457 0.76692998 +0.028751999 0.12443 0.76608998 +0.029546 0.12443 0.76608998 +0.030324001 0.12436 0.76565999 +0.031066 0.12416 0.76440001 +0.031840999 0.12409 0.76397997 +0.032616001 0.12402 0.76356 +0.033371001 0.12389 0.76271999 +0.034162 0.12389 0.76271999 +0.034952998 0.12389 0.76271999 +0.035723999 0.12382 0.76230001 +0.036513999 0.12382 0.76230001 +0.037305001 0.12382 0.76230001 +0.038075 0.12375 0.76188999 +0.038842998 0.12368 0.76147002 +0.039632998 0.12368 0.76147002 +0.040422 0.12368 0.76147002 +0.041189998 0.12361 0.76104999 +0.041979 0.12361 0.76104999 +0.042791001 0.12368 0.76147002 +0.043533001 0.12355 0.76063001 +0.044298001 0.12348 0.76021999 +0.045086 0.12348 0.76021999 +0.045798998 0.12328 0.75897002 +0.046560999 0.12321 0.75856 +0.047322001 0.12314 0.75814003 +0.048133999 0.12321 0.75856 +0.048866998 0.12307 0.75773001 +0.049653001 0.12307 0.75773001 +0.050411001 0.12301 0.75731999 +0.051197 0.12301 0.75731999 +0.051982 0.12301 0.75731999 +0.052738 0.12294 0.75691003 +0.053493999 0.12287 0.75648999 +0.054279 0.12287 0.75648999 +0.055063002 0.12287 0.75648999 +0.055817001 0.12281 0.75607997 +0.056632001 0.12287 0.75648999 +0.057415999 0.12287 0.75648999 +0.058201 0.12287 0.75648999 +0.058984999 0.12287 0.75648999 +0.059737001 0.12281 0.75607997 +0.060520999 0.12281 0.75607997 +0.061338998 0.12287 0.75648999 +0.062123001 0.12287 0.75648999 +0.062908001 0.12287 0.75648999 +0.063726999 0.12294 0.75691003 +0.064547002 0.12301 0.75731999 +0.065403 0.12314 0.75814003 +0.066188999 0.12314 0.75814003 +0.067011997 0.12321 0.75856 +0.067984 0.12355 0.76063001 +0.068847999 0.12368 0.76147002 +0.069600001 0.12361 0.76104999 +0.070427999 0.12368 0.76147002 +0.071295001 0.12382 0.76230001 +0.072125003 0.12389 0.76271999 +0.072996996 0.12402 0.76356 +0.073829003 0.12409 0.76397997 +0.074662 0.12416 0.76440001 +0.075496003 0.12423 0.76481998 +0.076330997 0.12429 0.76524001 +0.077210002 0.12443 0.76608998 +0.078047 0.1245 0.76651001 +0.078929 0.12464 0.76735002 +0.079856999 0.12484 0.76863003 +0.080743998 0.12498 0.76947999 +0.081632003 0.12512 0.77033001 +0.082475998 0.12519 0.77076 +0.083368003 0.12533 0.77161998 +0.084215 0.12540001 0.77204001 +0.085157998 0.12560999 0.77332997 +0.086006999 0.12568 0.77376002 +0.086857997 0.12575001 0.77419001 +0.087807998 0.12596001 0.77548999 +0.088661 0.12603 0.77591997 +0.089515999 0.1261 0.77635998 +0.090320997 0.1261 0.77635998 +0.091177002 0.12616999 0.77679002 +0.092137001 0.12638 0.77810001 +0.20995 0.12688001 0.78116 +0.21065 0.12681 0.78072 +0.21145 0.12681 0.78072 +0.21493 0.12695 0.7816 +0.21574999 0.12695 0.7816 +0.21656001 0.12695 0.7816 +0.21818 0.12695 0.7816 +0.21899 0.12695 0.7816 +0.2198 0.12695 0.7816 +0.22060999 0.12695 0.7816 +0.22154 0.12702 0.78204 +-0.064800002 0.12640999 0.77332997 +-0.063161001 0.12634 0.77289999 +-0.057392001 0.12599 0.77076 +-0.056591999 0.12599 0.77076 +-0.055792999 0.12599 0.77076 +-0.054963 0.12592 0.77033001 +0.0017615 0.12661999 0.77463001 +0.0025661001 0.12669 0.77506 +0.003368 0.12661999 0.77463001 +0.0041736001 0.12669 0.77506 +0.0049800002 0.12676001 0.77548999 +0.0057842 0.12676001 0.77548999 +0.0065883002 0.12676001 0.77548999 +0.0073925001 0.12676001 0.77548999 +0.0081965998 0.12676001 0.77548999 +0.0090007996 0.12676001 0.77548999 +0.0097995 0.12669 0.77506 +0.010603 0.12669 0.77506 +0.011401 0.12661999 0.77463001 +0.012204 0.12661999 0.77463001 +0.013007 0.12661999 0.77463001 +0.013803 0.12655 0.77419001 +0.014597 0.12648 0.77376002 +0.015408 0.12655 0.77419001 +0.016202001 0.12648 0.77376002 +0.016984999 0.12634 0.77289999 +0.017777 0.12627 0.77247 +0.018568 0.12620001 0.77204001 +0.019358 0.12613 0.77161998 +0.020145999 0.12605999 0.77118999 +0.020946 0.12605999 0.77118999 +0.021733999 0.12599 0.77076 +0.022521 0.12592 0.77033001 +0.023319 0.12592 0.77033001 +0.024104999 0.12585001 0.76990998 +0.024876 0.12571 0.76905 +0.025645001 0.12557 0.76819998 +0.026456 0.12564 0.76863003 +0.027223 0.12549999 0.76778001 +0.028004 0.12543 0.76735002 +0.028767001 0.12529001 0.76651001 +0.029562 0.12529001 0.76651001 +0.030339999 0.12523 0.76608998 +0.031101 0.12509 0.76524001 +0.031858999 0.12495 0.76440001 +0.032634001 0.12488 0.76397997 +0.033388998 0.12474 0.76314002 +0.034180999 0.12474 0.76314002 +0.034952998 0.12468 0.76271999 +0.035744 0.12468 0.76271999 +0.036534 0.12468 0.76271999 +0.037324999 0.12468 0.76271999 +0.038095001 0.12461 0.76230001 +0.038865 0.12454 0.76188999 +0.039655 0.12454 0.76188999 +0.040445 0.12454 0.76188999 +0.041212 0.12447 0.76147002 +0.042002 0.12447 0.76147002 +0.042815 0.12454 0.76188999 +0.043556999 0.1244 0.76104999 +0.044321999 0.12433 0.76063001 +0.045111001 0.12433 0.76063001 +0.045848999 0.1242 0.75980002 +0.046611998 0.12413 0.75939 +0.047373001 0.12406 0.75897002 +0.048186999 0.12413 0.75939 +0.048921 0.124 0.75856 +0.049706999 0.124 0.75856 +0.050466001 0.12393 0.75814003 +0.051252 0.12393 0.75814003 +0.05201 0.12386 0.75773001 +0.052795999 0.12386 0.75773001 +0.053523 0.12373 0.75691003 +0.054308001 0.12373 0.75691003 +0.055093002 0.12373 0.75691003 +0.055847 0.12366 0.75648999 +0.056632001 0.12366 0.75648999 +0.057448 0.12373 0.75691003 +0.058233 0.12373 0.75691003 +0.059016999 0.12373 0.75691003 +0.059769999 0.12366 0.75648999 +0.060554001 0.12366 0.75648999 +0.061372001 0.12373 0.75691003 +0.062157001 0.12373 0.75691003 +0.062941998 0.12373 0.75691003 +0.063795999 0.12386 0.75773001 +0.064581998 0.12386 0.75773001 +0.065439001 0.124 0.75856 +0.066298001 0.12413 0.75939 +0.067121997 0.1242 0.75980002 +0.068058997 0.12447 0.76147002 +0.068885997 0.12454 0.76188999 +0.069675997 0.12454 0.76188999 +0.070465997 0.12454 0.76188999 +0.071373999 0.12474 0.76314002 +0.072205 0.12481 0.76356 +0.073036999 0.12488 0.76397997 +0.073868997 0.12495 0.76440001 +0.074703 0.12502 0.76481998 +0.075579002 0.12515999 0.76565999 +0.076373003 0.12515999 0.76565999 +0.077252999 0.12529001 0.76651001 +0.078089997 0.12536 0.76692998 +0.078973003 0.12549999 0.76778001 +0.079901002 0.12571 0.76905 +0.080788001 0.12585001 0.76990998 +0.081632003 0.12592 0.77033001 +0.082475998 0.12599 0.77076 +0.083368003 0.12613 0.77161998 +0.084215 0.12620001 0.77204001 +0.085110001 0.12634 0.77289999 +0.086006999 0.12648 0.77376002 +0.086857997 0.12655 0.77419001 +0.087759003 0.12669 0.77506 +0.088611998 0.12676001 0.77548999 +0.089415997 0.12676001 0.77548999 +0.090269998 0.12683 0.77591997 +0.21724001 0.12769 0.78116 +0.21805 0.12769 0.78116 +0.21886 0.12769 0.78116 +0.21967 0.12769 0.78116 +0.22048 0.12769 0.78116 +0.22142 0.12775999 0.7816 +0.22223 0.12775999 0.7816 +0.22304 0.12775999 0.7816 +0.22372 0.12769 0.78116 +0.22453 0.12769 0.78116 +-0.058191001 0.12679 0.77076 +-0.057360001 0.12672 0.77033001 +-0.056561001 0.12672 0.77033001 +-0.055762 0.12672 0.77033001 +-0.054933 0.12665001 0.76990998 +-0.053335998 0.12665001 0.76990998 +-0.0014467 0.127 0.77204001 +-0.00064649998 0.12706999 0.77247 +0.00015469 0.12721001 0.77332997 +0.00095714 0.12728 0.77376002 +0.0017595 0.12728 0.77376002 +0.0025633001 0.12735 0.77419001 +0.0033660999 0.12735 0.77419001 +0.0041712001 0.12743001 0.77463001 +0.0049772998 0.1275 0.77506 +0.005781 0.1275 0.77506 +0.0065883002 0.12757 0.77548999 +0.0073883999 0.1275 0.77506 +0.0081920996 0.1275 0.77506 +0.0089958003 0.1275 0.77506 +0.0097995 0.1275 0.77506 +0.010603 0.1275 0.77506 +0.011401 0.12743001 0.77463001 +0.012197 0.12735 0.77419001 +0.013 0.12735 0.77419001 +0.013795 0.12728 0.77376002 +0.014589 0.12721001 0.77332997 +0.015391 0.12721001 0.77332997 +0.016184 0.12714 0.77289999 +0.016967 0.127 0.77204001 +0.017747 0.12685999 0.77118999 +0.018547 0.12685999 0.77118999 +0.019336 0.12679 0.77076 +0.020135 0.12679 0.77076 +0.020923 0.12672 0.77033001 +0.021722 0.12672 0.77033001 +0.022507999 0.12665001 0.76990998 +0.023305999 0.12665001 0.76990998 +0.024104999 0.12665001 0.76990998 +0.024876 0.12650999 0.76905 +0.025645001 0.12637 0.76819998 +0.026456 0.12644 0.76863003 +0.027238 0.12637 0.76819998 +0.028004 0.12623 0.76735002 +0.028782999 0.12616 0.76692998 +0.029579001 0.12616 0.76692998 +0.030339999 0.12602 0.76608998 +0.031118 0.12594999 0.76565999 +0.031876002 0.12581 0.76481998 +0.032652002 0.12574001 0.76440001 +0.033408001 0.1256 0.76356 +0.034198999 0.1256 0.76356 +0.034972001 0.12554 0.76314002 +0.035762999 0.12554 0.76314002 +0.036534 0.12547 0.76271999 +0.037346002 0.12554 0.76314002 +0.038095001 0.12540001 0.76230001 +0.038865 0.12533 0.76188999 +0.039655 0.12533 0.76188999 +0.040445 0.12533 0.76188999 +0.041212 0.12526 0.76147002 +0.042002 0.12526 0.76147002 +0.042815 0.12533 0.76188999 +0.043556999 0.12519 0.76104999 +0.044346001 0.12519 0.76104999 +0.045134999 0.12519 0.76104999 +0.045874 0.12506001 0.76021999 +0.046636999 0.12499 0.75980002 +0.047425002 0.12499 0.75980002 +0.048213001 0.12499 0.75980002 +0.048974 0.12492 0.75939 +0.049734 0.12485 0.75897002 +0.050521001 0.12485 0.75897002 +0.051279999 0.12478 0.75856 +0.052039001 0.12471 0.75814003 +0.052825 0.12471 0.75814003 +0.053552002 0.12458 0.75731999 +0.054338001 0.12458 0.75731999 +0.055123001 0.12458 0.75731999 +0.055907998 0.12458 0.75731999 +0.056662999 0.12451 0.75691003 +0.057479002 0.12458 0.75731999 +0.058263998 0.12458 0.75731999 +0.059050001 0.12458 0.75731999 +0.059801999 0.12451 0.75691003 +0.060619999 0.12458 0.75731999 +0.061406001 0.12458 0.75731999 +0.062190998 0.12458 0.75731999 +0.06301 0.12465 0.75773001 +0.063831002 0.12471 0.75814003 +0.064652003 0.12478 0.75856 +0.065545999 0.12499 0.75980002 +0.066371001 0.12506001 0.76021999 +0.067195997 0.12512 0.76063001 +0.068095997 0.12533 0.76188999 +0.068924002 0.12540001 0.76230001 +0.069714002 0.12540001 0.76230001 +0.070543997 0.12547 0.76271999 +0.071413003 0.1256 0.76356 +0.072244003 0.12567 0.76397997 +0.073117003 0.12581 0.76481998 +0.073950998 0.12588 0.76524001 +0.074786 0.12594999 0.76565999 +0.075663 0.12609001 0.76651001 +0.076458 0.12609001 0.76651001 +0.077294998 0.12616 0.76692998 +0.078134 0.12623 0.76735002 +0.079016998 0.12637 0.76819998 +0.079901002 0.12650999 0.76905 +0.080788001 0.12665001 0.76990998 +0.081632003 0.12672 0.77033001 +0.082475998 0.12679 0.77076 +0.083322003 0.12685999 0.77118999 +0.084215 0.127 0.77204001 +0.085063003 0.12706999 0.77247 +0.085960001 0.12721001 0.77332997 +0.086760998 0.12721001 0.77332997 +0.087660998 0.12735 0.77419001 +0.088513002 0.12743001 0.77463001 +0.089316003 0.12743001 0.77463001 +0.21793 0.12842999 0.78072 +0.21886 0.1285 0.78116 +-0.058159001 0.12751999 0.77033001 +-0.057328001 0.12745 0.76990998 +-0.056529999 0.12745 0.76990998 +-0.055730999 0.12745 0.76990998 +-0.054901998 0.12738 0.76947999 +-0.054074999 0.12730999 0.76905 +-0.053307001 0.12738 0.76947999 +-0.0022436001 0.12759 0.77076 +-0.0014450999 0.12766001 0.77118999 +-0.00064579002 0.12773 0.77161998 +0.0001546 0.12794 0.77289999 +0.00095661002 0.12801 0.77332997 +0.0017585 0.12801 0.77332997 +0.0025619001 0.12808999 0.77376002 +0.0033642 0.12808999 0.77376002 +0.0041712001 0.12823001 0.77463001 +0.0049772998 0.1283 0.77506 +0.005781 0.1283 0.77506 +0.0065847002 0.1283 0.77506 +0.0073883999 0.1283 0.77506 +0.0081874998 0.12823001 0.77463001 +0.0089958003 0.1283 0.77506 +0.0097939996 0.12823001 0.77463001 +0.010597 0.12823001 0.77463001 +0.011394 0.12816 0.77419001 +0.01219 0.12808999 0.77376002 +0.012993 0.12808999 0.77376002 +0.013787 0.12801 0.77332997 +0.014581 0.12794 0.77289999 +0.015374 0.12786999 0.77247 +0.016166 0.1278 0.77204001 +0.016948 0.12766001 0.77118999 +0.017738 0.12759 0.77076 +0.018526999 0.12751999 0.77033001 +0.019315001 0.12745 0.76990998 +0.020124 0.12751999 0.77033001 +0.020911001 0.12745 0.76990998 +0.021709999 0.12745 0.76990998 +0.022496 0.12738 0.76947999 +0.023305999 0.12745 0.76990998 +0.024091 0.12738 0.76947999 +0.024876 0.12730999 0.76905 +0.025645001 0.12717 0.76819998 +0.026456 0.12724 0.76863003 +0.027238 0.12717 0.76819998 +0.028019 0.12709001 0.76778001 +0.028798999 0.12702 0.76735002 +0.029595001 0.12702 0.76735002 +0.030356999 0.12688001 0.76651001 +0.031135 0.12681 0.76608998 +0.031911999 0.12673999 0.76565999 +0.032669999 0.12661 0.76481998 +0.033408001 0.12639999 0.76356 +0.034217998 0.12647 0.76397997 +0.034991 0.12639999 0.76356 +0.035783 0.12639999 0.76356 +0.036555 0.12633 0.76314002 +0.037346002 0.12633 0.76314002 +0.038116001 0.12626 0.76271999 +0.038885999 0.12619001 0.76230001 +0.039675999 0.12619001 0.76230001 +0.040467001 0.12619001 0.76230001 +0.041235 0.12612 0.76188999 +0.042025 0.12612 0.76188999 +0.042838 0.12619001 0.76230001 +0.043581001 0.12605 0.76147002 +0.044371001 0.12605 0.76147002 +0.045159999 0.12605 0.76147002 +0.045899 0.12591 0.76063001 +0.046688002 0.12591 0.76063001 +0.047451001 0.12583999 0.76021999 +0.048239 0.12583999 0.76021999 +0.049001001 0.12577 0.75980002 +0.049761001 0.12571 0.75939 +0.050549001 0.12571 0.75939 +0.051336002 0.12571 0.75939 +0.052095 0.12564 0.75897002 +0.052854002 0.12557 0.75856 +0.053582001 0.12543 0.75773001 +0.054366998 0.12543 0.75773001 +0.055153001 0.12543 0.75773001 +0.055939 0.12543 0.75773001 +0.056694001 0.12536 0.75731999 +0.057479002 0.12536 0.75731999 +0.058263998 0.12536 0.75731999 +0.059082001 0.12543 0.75773001 +0.059868 0.12543 0.75773001 +0.060653001 0.12543 0.75773001 +0.061439 0.12543 0.75773001 +0.062259 0.12549999 0.75814003 +0.063045003 0.12549999 0.75814003 +0.063901 0.12564 0.75897002 +0.064723 0.12571 0.75939 +0.065654002 0.12598 0.76104999 +0.066480003 0.12605 0.76147002 +0.067305997 0.12612 0.76188999 +0.068171002 0.12626 0.76271999 +0.068999998 0.12633 0.76314002 +0.069790997 0.12633 0.76314002 +0.070620999 0.12639999 0.76356 +0.071492001 0.12654001 0.76440001 +0.072324 0.12661 0.76481998 +0.073197998 0.12673999 0.76565999 +0.073991999 0.12673999 0.76565999 +0.074868001 0.12688001 0.76651001 +0.075704999 0.12695 0.76692998 +0.076499999 0.12695 0.76692998 +0.077338003 0.12702 0.76735002 +0.078176998 0.12709001 0.76778001 +0.079016998 0.12717 0.76819998 +0.079901002 0.12730999 0.76905 +0.080788001 0.12745 0.76990998 +0.081587002 0.12745 0.76990998 +0.082431003 0.12751999 0.77033001 +0.083276004 0.12759 0.77076 +0.084168002 0.12773 0.77161998 +0.085015997 0.1278 0.77204001 +0.085864 0.12786999 0.77247 +0.086713001 0.12794 0.77289999 +0.087612003 0.12808999 0.77376002 +-0.056467 0.12809999 0.76905 +-0.055670001 0.12809999 0.76905 +-0.054044999 0.12803 0.76863003 +-0.053277001 0.12809999 0.76905 +-0.0022423 0.12831999 0.77033001 +-0.0014443001 0.12839 0.77076 +-0.00064543 0.12846 0.77118999 +0.00015443 0.1286 0.77204001 +0.00095553999 0.12867001 0.77247 +0.0017575 0.12874 0.77289999 +0.0025603999 0.12882 0.77332997 +0.0033623001 0.12882 0.77332997 +0.0041689002 0.12896 0.77419001 +0.0049744998 0.12903 0.77463001 +0.0057776999 0.12903 0.77463001 +0.0065847002 0.12909999 0.77506 +0.0073842001 0.12903 0.77463001 +0.0081874998 0.12903 0.77463001 +0.0089908 0.12903 0.77463001 +0.0097885998 0.12896 0.77419001 +0.010591 0.12896 0.77419001 +0.011388 0.12888999 0.77376002 +0.012183 0.12882 0.77332997 +0.012978 0.12874 0.77289999 +0.01378 0.12874 0.77289999 +0.014565 0.1286 0.77204001 +0.015357 0.12853 0.77161998 +0.016147999 0.12846 0.77118999 +0.016929001 0.12831999 0.77033001 +0.017718 0.12825 0.76990998 +0.018516 0.12825 0.76990998 +0.019304 0.12817 0.76947999 +0.020113001 0.12825 0.76990998 +0.0209 0.12817 0.76947999 +0.021698 0.12817 0.76947999 +0.022496 0.12817 0.76947999 +0.023294 0.12817 0.76947999 +0.024078 0.12809999 0.76905 +0.024862001 0.12803 0.76863003 +0.025645001 0.12796 0.76819998 +0.026456 0.12803 0.76863003 +0.027238 0.12796 0.76819998 +0.028019 0.12789001 0.76778001 +0.028798999 0.12782 0.76735002 +0.029595001 0.12782 0.76735002 +0.030356999 0.12768 0.76651001 +0.031135 0.12761 0.76608998 +0.031911999 0.12754001 0.76565999 +0.032687999 0.12747 0.76524001 +0.033426002 0.12726 0.76397997 +0.034217998 0.12726 0.76397997 +0.035009999 0.12726 0.76397997 +0.035783 0.12718999 0.76356 +0.036575001 0.12718999 0.76356 +0.037365999 0.12718999 0.76356 +0.038137 0.12712 0.76314002 +0.038906999 0.12705 0.76271999 +0.039698001 0.12705 0.76271999 +0.040488999 0.12705 0.76271999 +0.041257001 0.12698001 0.76230001 +0.042048 0.12698001 0.76230001 +0.042862002 0.12705 0.76271999 +0.043605 0.12691 0.76188999 +0.044395 0.12691 0.76188999 +0.045185 0.12691 0.76188999 +0.045924999 0.12677 0.76104999 +0.046714 0.12677 0.76104999 +0.047476999 0.1267 0.76063001 +0.048266001 0.1267 0.76063001 +0.049028002 0.12662999 0.76021999 +0.049789 0.12656 0.75980002 +0.050604001 0.12662999 0.76021999 +0.051364001 0.12656 0.75980002 +0.052124001 0.12649 0.75939 +0.052910998 0.12649 0.75939 +0.053640001 0.12636 0.75856 +0.054397002 0.12628999 0.75814003 +0.055183001 0.12628999 0.75814003 +0.055969 0.12628999 0.75814003 +0.056756001 0.12628999 0.75814003 +0.057542 0.12628999 0.75814003 +0.058327999 0.12628999 0.75814003 +0.059145998 0.12636 0.75856 +0.059932999 0.12636 0.75856 +0.060752999 0.12642001 0.75897002 +0.06154 0.12642001 0.75897002 +0.062327001 0.12642001 0.75897002 +0.063114002 0.12642001 0.75897002 +0.063970998 0.12656 0.75980002 +0.064828999 0.1267 0.76063001 +0.065725997 0.12691 0.76188999 +0.066515997 0.12691 0.76188999 +0.067380004 0.12705 0.76271999 +0.068246 0.12718999 0.76356 +0.069076002 0.12726 0.76397997 +0.069829002 0.12718999 0.76356 +0.070698999 0.12733001 0.76440001 +0.071530998 0.1274 0.76481998 +0.072364002 0.12747 0.76524001 +0.073238 0.12761 0.76608998 +0.074032001 0.12761 0.76608998 +0.074868001 0.12768 0.76651001 +0.075704999 0.12774999 0.76692998 +0.076541997 0.12782 0.76735002 +0.077381 0.12789001 0.76778001 +0.078176998 0.12789001 0.76778001 +0.079016998 0.12796 0.76819998 +0.079901002 0.12809999 0.76905 +0.080743998 0.12817 0.76947999 +0.081587002 0.12825 0.76990998 +0.082431003 0.12831999 0.77033001 +0.083230004 0.12831999 0.77033001 +0.084122002 0.12846 0.77118999 +0.084968001 0.12853 0.77161998 +0.085816003 0.1286 0.77204001 +0.086617 0.1286 0.77204001 +-0.0030394001 0.12904 0.76990998 +-0.0022411 0.12904 0.76990998 +-0.0014427 0.12904 0.76990998 +-0.00064470997 0.12912001 0.77033001 +0.00015425999 0.12926 0.77118999 +0.00095448003 0.12932999 0.77161998 +0.0017556 0.1294 0.77204001 +0.0025589999 0.12955 0.77289999 +0.0033605001 0.12955 0.77289999 +0.0041665998 0.12969001 0.77376002 +0.0049716998 0.12976 0.77419001 +0.0057744998 0.12976 0.77419001 +0.0065810001 0.12983 0.77463001 +0.0073801 0.12976 0.77419001 +0.0081829 0.12976 0.77419001 +0.0089857001 0.12976 0.77419001 +0.0097831003 0.12969001 0.77376002 +0.010585 0.12969001 0.77376002 +0.011381 0.12962 0.77332997 +0.012177 0.12955 0.77289999 +0.012971 0.12947001 0.77247 +0.013772 0.12947001 0.77247 +0.014549 0.12926 0.77118999 +0.01534 0.12919 0.77076 +0.01613 0.12912001 0.77033001 +0.01692 0.12904 0.76990998 +0.017708 0.12897 0.76947999 +0.018506 0.12897 0.76947999 +0.019293001 0.12890001 0.76905 +0.020090999 0.12890001 0.76905 +0.020888001 0.12890001 0.76905 +0.021686001 0.12890001 0.76905 +0.022483001 0.12890001 0.76905 +0.023281001 0.12890001 0.76905 +0.024078 0.12890001 0.76905 +0.024862001 0.12883 0.76863003 +0.025645001 0.12876 0.76819998 +0.026441 0.12876 0.76819998 +0.027238 0.12876 0.76819998 +0.028019 0.12869 0.76778001 +0.028798999 0.12862 0.76735002 +0.029595001 0.12862 0.76735002 +0.030356999 0.12847 0.76651001 +0.031135 0.1284 0.76608998 +0.031929001 0.1284 0.76608998 +0.032687999 0.12826 0.76524001 +0.033443999 0.12812001 0.76440001 +0.034237001 0.12812001 0.76440001 +0.035009999 0.12805 0.76397997 +0.035803001 0.12805 0.76397997 +0.036575001 0.12797999 0.76356 +0.037365999 0.12797999 0.76356 +0.038158 0.12797999 0.76356 +0.038929 0.12791 0.76314002 +0.039698001 0.12784 0.76271999 +0.040511001 0.12791 0.76314002 +0.041280001 0.12784 0.76271999 +0.042071 0.12784 0.76271999 +0.042885002 0.12791 0.76314002 +0.043629002 0.12777001 0.76230001 +0.044419002 0.12777001 0.76230001 +0.04521 0.12777001 0.76230001 +0.045975 0.1277 0.76188999 +0.046739001 0.12763 0.76147002 +0.047502998 0.12756 0.76104999 +0.048319001 0.12763 0.76147002 +0.049081001 0.12756 0.76104999 +0.049842998 0.12749 0.76063001 +0.050632 0.12749 0.76063001 +0.051421002 0.12749 0.76063001 +0.052181002 0.12741999 0.76021999 +0.05294 0.12735 0.75980002 +0.053699002 0.12728 0.75939 +0.054455999 0.12721001 0.75897002 +0.055243 0.12721001 0.75897002 +0.056030001 0.12721001 0.75897002 +0.056818001 0.12721001 0.75897002 +0.057604998 0.12721001 0.75897002 +0.058391999 0.12721001 0.75897002 +0.059211001 0.12728 0.75939 +0.059997998 0.12728 0.75939 +0.060819 0.12735 0.75980002 +0.061606999 0.12735 0.75980002 +0.062394999 0.12735 0.75980002 +0.063183002 0.12735 0.75980002 +0.064041004 0.12749 0.76063001 +0.064900003 0.12763 0.76147002 +0.065761998 0.12777001 0.76230001 +0.066588998 0.12784 0.76271999 +0.067454003 0.12797999 0.76356 +0.068320997 0.12812001 0.76440001 +0.069114 0.12812001 0.76440001 +0.069905996 0.12812001 0.76440001 +0.070738003 0.12819 0.76481998 +0.071610004 0.12833001 0.76565999 +0.072403997 0.12833001 0.76565999 +0.073238 0.1284 0.76608998 +0.074073002 0.12847 0.76651001 +0.074909002 0.12854999 0.76692998 +0.075746 0.12862 0.76735002 +0.076541997 0.12862 0.76735002 +0.077381 0.12869 0.76778001 +0.078176998 0.12869 0.76778001 +0.079016998 0.12876 0.76819998 +0.079856999 0.12883 0.76863003 +0.080698997 0.12890001 0.76905 +0.081542 0.12897 0.76947999 +0.082385004 0.12904 0.76990998 +0.083182998 0.12904 0.76990998 +0.084027998 0.12912001 0.77033001 +0.084873997 0.12919 0.77076 +0.085721001 0.12926 0.77118999 +-0.0030361 0.12970001 0.76905 +-0.0022386 0.12970001 0.76905 +-0.0014419 0.12977 0.76947999 +-0.00064400001 0.12977 0.76947999 +0.00015409 0.12991001 0.77033001 +0.00095289003 0.12991001 0.77033001 +0.0017527 0.12999 0.77076 +0.0025547 0.13012999 0.77161998 +0.0033567001 0.1302 0.77204001 +0.0041618999 0.13034999 0.77289999 +0.0049688998 0.13049001 0.77376002 +0.0057712998 0.13049001 0.77376002 +0.0065772999 0.13056999 0.77419001 +0.0073759998 0.13049001 0.77376002 +0.0081783999 0.13049001 0.77376002 +0.0089806998 0.13049001 0.77376002 +0.0097776996 0.13042 0.77332997 +0.010574 0.13034999 0.77289999 +0.011369 0.13028 0.77247 +0.012163 0.1302 0.77204001 +0.012956 0.13012999 0.77161998 +0.013757 0.13012999 0.77161998 +0.014533 0.12991001 0.77033001 +0.015323 0.12984 0.76990998 +0.016121 0.12984 0.76990998 +0.016900999 0.12970001 0.76905 +0.017689001 0.12963 0.76863003 +0.018495999 0.12970001 0.76905 +0.019283 0.12963 0.76863003 +0.02008 0.12963 0.76863003 +0.020877 0.12963 0.76863003 +0.021686001 0.12970001 0.76905 +0.022471 0.12963 0.76863003 +0.023267999 0.12963 0.76863003 +0.024064999 0.12963 0.76863003 +0.024847999 0.12955 0.76819998 +0.025630999 0.12948 0.76778001 +0.026441 0.12955 0.76819998 +0.027223 0.12948 0.76778001 +0.028004 0.12941 0.76735002 +0.028798999 0.12941 0.76735002 +0.029595001 0.12941 0.76735002 +0.030356999 0.12927 0.76651001 +0.031135 0.1292 0.76608998 +0.031929001 0.1292 0.76608998 +0.032687999 0.12906 0.76524001 +0.033443999 0.12891001 0.76440001 +0.034237001 0.12891001 0.76440001 +0.03503 0.12891001 0.76440001 +0.035822 0.12891001 0.76440001 +0.036595002 0.12884 0.76397997 +0.037365999 0.12876999 0.76356 +0.038158 0.12876999 0.76356 +0.038929 0.1287 0.76314002 +0.039719999 0.1287 0.76314002 +0.040511001 0.1287 0.76314002 +0.041303001 0.1287 0.76314002 +0.042071 0.12863 0.76271999 +0.042885002 0.1287 0.76314002 +0.043653 0.12863 0.76271999 +0.044419002 0.12856001 0.76230001 +0.04521 0.12856001 0.76230001 +0.045975 0.12849 0.76188999 +0.046765 0.12849 0.76188999 +0.047529001 0.12842 0.76147002 +0.048345 0.12849 0.76188999 +0.049107999 0.12842 0.76147002 +0.049869999 0.12835 0.76104999 +0.050659999 0.12835 0.76104999 +0.051449001 0.12835 0.76104999 +0.052209001 0.12828 0.76063001 +0.052969001 0.12820999 0.76021999 +0.053727999 0.12814 0.75980002 +0.054515999 0.12814 0.75980002 +0.055303998 0.12814 0.75980002 +0.056092001 0.12814 0.75980002 +0.056880001 0.12814 0.75980002 +0.057668 0.12814 0.75980002 +0.058455002 0.12814 0.75980002 +0.059276 0.12820999 0.76021999 +0.060063999 0.12820999 0.76021999 +0.060885999 0.12828 0.76063001 +0.061673999 0.12828 0.76063001 +0.062463 0.12828 0.76063001 +0.063252002 0.12828 0.76063001 +0.064111002 0.12842 0.76147002 +0.064971998 0.12856001 0.76230001 +0.065798 0.12863 0.76271999 +0.066625997 0.1287 0.76314002 +0.067528002 0.12891001 0.76440001 +0.068359002 0.12898 0.76481998 +0.069151998 0.12898 0.76481998 +0.069905996 0.12891001 0.76440001 +0.070776999 0.12906 0.76524001 +0.071610004 0.12913001 0.76565999 +0.072403997 0.12913001 0.76565999 +0.073278002 0.12927 0.76651001 +0.074073002 0.12927 0.76651001 +0.074909002 0.12933999 0.76692998 +0.075746 0.12941 0.76735002 +0.076541997 0.12941 0.76735002 +0.077381 0.12948 0.76778001 +0.078176998 0.12948 0.76778001 +0.078973003 0.12948 0.76778001 +0.079856999 0.12963 0.76863003 +0.080654003 0.12963 0.76863003 +0.081496 0.12970001 0.76905 +0.082339004 0.12977 0.76947999 +0.083136998 0.12977 0.76947999 +0.083981998 0.12984 0.76990998 +0.084826998 0.12991001 0.77033001 +0.085625999 0.12991001 0.77033001 +0.0017506999 0.13064 0.76990998 +0.0025505 0.13071001 0.77033001 +0.0033511999 0.13079 0.77076 +0.0041550002 0.13093001 0.77161998 +0.0049633998 0.13115001 0.77289999 +0.0097668003 0.13108 0.77247 +0.010562 0.131 0.77204001 +0.011344 0.13079 0.77076 +0.012136 0.13071001 0.77033001 +0.012935 0.13071001 0.77033001 +0.013734 0.13071001 0.77033001 +0.017679 0.13034999 0.76819998 +0.018486001 0.13042 0.76863003 +0.019272 0.13034999 0.76819998 +0.020068999 0.13034999 0.76819998 +0.020865001 0.13034999 0.76819998 +0.021674 0.13042 0.76863003 +0.022471 0.13042 0.76863003 +0.023255 0.13034999 0.76819998 +0.024052 0.13034999 0.76819998 +0.024834 0.13028 0.76778001 +0.025615999 0.13021 0.76735002 +0.026427001 0.13028 0.76778001 +0.027223 0.13028 0.76778001 +0.028004 0.13021 0.76735002 +0.028782999 0.13014001 0.76692998 +0.029595001 0.13021 0.76735002 +0.030356999 0.13006 0.76651001 +0.031135 0.12999 0.76608998 +0.031929001 0.12999 0.76608998 +0.032687999 0.12985 0.76524001 +0.033443999 0.12971 0.76440001 +0.034237001 0.12971 0.76440001 +0.03503 0.12971 0.76440001 +0.035822 0.12971 0.76440001 +0.036595002 0.12963 0.76397997 +0.037365999 0.12955999 0.76356 +0.038158 0.12955999 0.76356 +0.03895 0.12955999 0.76356 +0.039719999 0.12949 0.76314002 +0.040511001 0.12949 0.76314002 +0.041303001 0.12949 0.76314002 +0.042094 0.12949 0.76314002 +0.042885002 0.12949 0.76314002 +0.043653 0.12942 0.76271999 +0.044443998 0.12942 0.76271999 +0.045233998 0.12942 0.76271999 +0.046 0.12935001 0.76230001 +0.046765 0.12928 0.76188999 +0.047555 0.12928 0.76188999 +0.048345 0.12928 0.76188999 +0.049107999 0.12921 0.76147002 +0.049869999 0.12914 0.76104999 +0.050687 0.12921 0.76147002 +0.051477 0.12921 0.76147002 +0.052237999 0.12914 0.76104999 +0.052997999 0.12907 0.76063001 +0.053787 0.12907 0.76063001 +0.054545999 0.12899999 0.76021999 +0.055334002 0.12899999 0.76021999 +0.056152999 0.12907 0.76063001 +0.056942001 0.12907 0.76063001 +0.057730999 0.12907 0.76063001 +0.058518998 0.12907 0.76063001 +0.059308 0.12907 0.76063001 +0.060097001 0.12907 0.76063001 +0.060919002 0.12914 0.76104999 +0.061742 0.12921 0.76147002 +0.062497001 0.12914 0.76104999 +0.063286997 0.12914 0.76104999 +0.064145997 0.12928 0.76188999 +0.065007001 0.12942 0.76271999 +0.065834001 0.12949 0.76314002 +0.066625997 0.12949 0.76314002 +0.067528002 0.12971 0.76440001 +0.068359002 0.12977999 0.76481998 +0.069190003 0.12985 0.76524001 +0.069945 0.12977999 0.76481998 +0.070776999 0.12985 0.76524001 +0.071610004 0.12992001 0.76565999 +0.072403997 0.12992001 0.76565999 +0.073278002 0.13006 0.76651001 +0.074073002 0.13006 0.76651001 +0.074868001 0.13006 0.76651001 +0.075704999 0.13014001 0.76692998 +0.076499999 0.13014001 0.76692998 +0.077338003 0.13021 0.76735002 +0.078134 0.13021 0.76735002 +0.078973003 0.13028 0.76778001 +0.079813004 0.13034999 0.76819998 +0.08061 0.13034999 0.76819998 +0.081450999 0.13042 0.76863003 +0.082294002 0.1305 0.76905 +0.083090998 0.1305 0.76905 +0.083935 0.13056999 0.76947999 +0.084733002 0.13056999 0.76947999 +0.0041458001 0.13144 0.76990998 +0.0049550999 0.13173001 0.77161998 +0.0089507997 0.13166 0.77118999 +0.0097450996 0.13158 0.77076 +0.010527 0.13136999 0.76947999 +0.011319 0.13129 0.76905 +0.012116 0.13129 0.76905 +0.012906 0.13122 0.76863003 +0.019261001 0.13108 0.76778001 +0.020057 0.13108 0.76778001 +0.020854 0.13108 0.76778001 +0.021662001 0.13115001 0.76819998 +0.022458 0.13115001 0.76819998 +0.023242 0.13108 0.76778001 +0.024038 0.13108 0.76778001 +0.024821 0.131 0.76735002 +0.025602 0.13093001 0.76692998 +0.026412001 0.131 0.76735002 +0.027208 0.131 0.76735002 +0.027988 0.13093001 0.76692998 +0.028782999 0.13093001 0.76692998 +0.029579001 0.13093001 0.76692998 +0.030339999 0.13079 0.76608998 +0.031118 0.13071001 0.76565999 +0.031911999 0.13071001 0.76565999 +0.032669999 0.13056999 0.76481998 +0.033443999 0.1305 0.76440001 +0.034237001 0.1305 0.76440001 +0.03503 0.1305 0.76440001 +0.035822 0.1305 0.76440001 +0.036595002 0.13043 0.76397997 +0.037365999 0.13036001 0.76356 +0.038158 0.13036001 0.76356 +0.03895 0.13036001 0.76356 +0.039719999 0.13028 0.76314002 +0.040511001 0.13028 0.76314002 +0.041303001 0.13028 0.76314002 +0.042094 0.13028 0.76314002 +0.042885002 0.13028 0.76314002 +0.043653 0.13021 0.76271999 +0.044443998 0.13021 0.76271999 +0.045233998 0.13021 0.76271999 +0.046 0.13014001 0.76230001 +0.046790998 0.13014001 0.76230001 +0.047555 0.13007 0.76188999 +0.048372 0.13014001 0.76230001 +0.049135 0.13007 0.76188999 +0.049897999 0.13 0.76147002 +0.050687 0.13 0.76147002 +0.051477 0.13 0.76147002 +0.052237999 0.12993 0.76104999 +0.052997999 0.12986 0.76063001 +0.053787 0.12986 0.76063001 +0.054575998 0.12986 0.76063001 +0.055364002 0.12986 0.76063001 +0.056184001 0.12993 0.76104999 +0.056972999 0.12993 0.76104999 +0.057762001 0.12993 0.76104999 +0.058550999 0.12993 0.76104999 +0.059340999 0.12993 0.76104999 +0.06013 0.12993 0.76104999 +0.060952 0.13 0.76147002 +0.061742 0.13 0.76147002 +0.062532 0.13 0.76147002 +0.063321002 0.13 0.76147002 +0.064145997 0.13007 0.76188999 +0.065007001 0.13021 0.76271999 +0.065834001 0.13028 0.76314002 +0.066661999 0.13036001 0.76356 +0.067528002 0.1305 0.76440001 +0.068359002 0.13056999 0.76481998 +0.069190003 0.13064 0.76524001 +0.069945 0.13056999 0.76481998 +0.070776999 0.13064 0.76524001 +0.071610004 0.13071001 0.76565999 +0.072403997 0.13071001 0.76565999 +0.073278002 0.13086 0.76651001 +0.074032001 0.13079 0.76608998 +0.074868001 0.13086 0.76651001 +0.075704999 0.13093001 0.76692998 +0.076499999 0.13093001 0.76692998 +0.077338003 0.131 0.76735002 +0.078134 0.131 0.76735002 +0.078929 0.131 0.76735002 +0.079769 0.13108 0.76778001 +0.080564998 0.13108 0.76778001 +0.081405997 0.13115001 0.76819998 +0.082248002 0.13122 0.76863003 +0.083044998 0.13122 0.76863003 +0.083889 0.13129 0.76905 +0.084686004 0.13129 0.76905 +0.0049442002 0.13224 0.76990998 +0.0057393 0.13215999 0.76947999 +0.0065445001 0.13231 0.77033001 +0.0073392 0.13224 0.76990998 +0.0081286002 0.13209 0.76905 +0.0089210998 0.13202 0.76863003 +0.0097128004 0.13194001 0.76819998 +0.010498 0.1318 0.76735002 +0.011294 0.1318 0.76735002 +0.020842001 0.1318 0.76735002 +0.021638 0.1318 0.76735002 +0.022434 0.1318 0.76735002 +0.023228999 0.1318 0.76735002 +0.024011999 0.13173001 0.76692998 +0.024807001 0.13173001 0.76692998 +0.025588 0.13165 0.76651001 +0.026397999 0.13173001 0.76692998 +0.027178001 0.13165 0.76651001 +0.027973 0.13165 0.76651001 +0.028767001 0.13165 0.76651001 +0.029562 0.13165 0.76651001 +0.030324001 0.13151 0.76565999 +0.031101 0.13144 0.76524001 +0.031893998 0.13144 0.76524001 +0.032652002 0.13129 0.76440001 +0.033426002 0.13122 0.76397997 +0.034217998 0.13122 0.76397997 +0.03503 0.13129 0.76440001 +0.035822 0.13129 0.76440001 +0.036595002 0.13122 0.76397997 +0.037365999 0.13115001 0.76356 +0.038158 0.13115001 0.76356 +0.03895 0.13115001 0.76356 +0.039719999 0.13108 0.76314002 +0.040511001 0.13108 0.76314002 +0.041280001 0.131 0.76271999 +0.042094 0.13108 0.76314002 +0.042885002 0.13108 0.76314002 +0.043653 0.131 0.76271999 +0.044443998 0.131 0.76271999 +0.045233998 0.131 0.76271999 +0.046 0.13093001 0.76230001 +0.046790998 0.13093001 0.76230001 +0.047555 0.13086 0.76188999 +0.048372 0.13093001 0.76230001 +0.049135 0.13086 0.76188999 +0.049897999 0.13079 0.76147002 +0.050687 0.13079 0.76147002 +0.051504999 0.13086 0.76188999 +0.052267 0.13079 0.76147002 +0.053027 0.13072 0.76104999 +0.053816002 0.13072 0.76104999 +0.054606002 0.13072 0.76104999 +0.055364002 0.13064 0.76063001 +0.056184001 0.13072 0.76104999 +0.056972999 0.13072 0.76104999 +0.057762001 0.13072 0.76104999 +0.058550999 0.13072 0.76104999 +0.059340999 0.13072 0.76104999 +0.06013 0.13072 0.76104999 +0.060986001 0.13086 0.76188999 +0.061776001 0.13086 0.76188999 +0.062565997 0.13086 0.76188999 +0.063355997 0.13086 0.76188999 +0.064181 0.13093001 0.76230001 +0.065043002 0.13108 0.76314002 +0.065834001 0.13108 0.76314002 +0.066661999 0.13115001 0.76356 +0.067528002 0.13129 0.76440001 +0.068359002 0.13135999 0.76481998 +0.069151998 0.13135999 0.76481998 +0.069945 0.13135999 0.76481998 +0.070776999 0.13144 0.76524001 +0.071610004 0.13151 0.76565999 +0.072364002 0.13144 0.76524001 +0.073238 0.13158 0.76608998 +0.074032001 0.13158 0.76608998 +0.074868001 0.13165 0.76651001 +0.075704999 0.13173001 0.76692998 +0.076499999 0.13173001 0.76692998 +0.077338003 0.1318 0.76735002 +0.078089997 0.13173001 0.76692998 +0.078929 0.1318 0.76735002 +0.079769 0.13187 0.76778001 +0.080564998 0.13187 0.76778001 +0.081361003 0.13187 0.76778001 +0.082203001 0.13194001 0.76819998 +0.082999997 0.13194001 0.76819998 +0.083796002 0.13194001 0.76819998 +0.0065227998 0.13267 0.76778001 +0.0073148999 0.13259 0.76735002 +0.0081016999 0.13245 0.76651001 +0.0088964999 0.13245 0.76651001 +0.0096806996 0.1323 0.76565999 +0.023985 0.13237999 0.76608998 +0.027163001 0.13237999 0.76608998 +0.027957 0.13237999 0.76608998 +0.028751999 0.13237999 0.76608998 +0.029546 0.13237999 0.76608998 +0.030307001 0.13223 0.76524001 +0.031083001 0.13215999 0.76481998 +0.031876002 0.13215999 0.76481998 +0.032652002 0.13208 0.76440001 +0.033426002 0.13201 0.76397997 +0.034217998 0.13201 0.76397997 +0.035009999 0.13201 0.76397997 +0.035803001 0.13201 0.76397997 +0.036575001 0.13194001 0.76356 +0.037365999 0.13194001 0.76356 +0.038158 0.13194001 0.76356 +0.038929 0.13187 0.76314002 +0.039719999 0.13187 0.76314002 +0.040488999 0.13179 0.76271999 +0.041280001 0.13179 0.76271999 +0.042071 0.13179 0.76271999 +0.042885002 0.13187 0.76314002 +0.043629002 0.13172001 0.76230001 +0.044419002 0.13172001 0.76230001 +0.04521 0.13172001 0.76230001 +0.046 0.13172001 0.76230001 +0.046765 0.13165 0.76188999 +0.047555 0.13165 0.76188999 +0.048372 0.13172001 0.76230001 +0.049135 0.13165 0.76188999 +0.049897999 0.13158 0.76147002 +0.050687 0.13158 0.76147002 +0.051504999 0.13165 0.76188999 +0.052267 0.13158 0.76147002 +0.053027 0.13151 0.76104999 +0.053846002 0.13158 0.76147002 +0.054606002 0.13151 0.76104999 +0.055395 0.13151 0.76104999 +0.056214999 0.13158 0.76147002 +0.057004001 0.13158 0.76147002 +0.057794001 0.13158 0.76147002 +0.058584001 0.13158 0.76147002 +0.059372999 0.13158 0.76147002 +0.060162999 0.13158 0.76147002 +0.060986001 0.13165 0.76188999 +0.061776001 0.13165 0.76188999 +0.062565997 0.13165 0.76188999 +0.063355997 0.13165 0.76188999 +0.064181 0.13172001 0.76230001 +0.065007001 0.13179 0.76271999 +0.065834001 0.13187 0.76314002 +0.066625997 0.13187 0.76314002 +0.067528002 0.13208 0.76440001 +0.068320997 0.13208 0.76440001 +0.069151998 0.13215999 0.76481998 +0.069905996 0.13208 0.76440001 +0.070776999 0.13223 0.76524001 +0.071610004 0.1323 0.76565999 +0.072364002 0.13223 0.76524001 +0.073238 0.13237999 0.76608998 +0.074032001 0.13237999 0.76608998 +0.074868001 0.13245 0.76651001 +0.075663 0.13245 0.76651001 +0.076499999 0.13252001 0.76692998 +0.077294998 0.13252001 0.76692998 +0.078089997 0.13252001 0.76692998 +0.078886002 0.13252001 0.76692998 +0.079724997 0.13259 0.76735002 +0.080521002 0.13259 0.76735002 +0.081316002 0.13259 0.76735002 +0.082157999 0.13267 0.76778001 +0.082907997 0.13259 0.76735002 +0.083750002 0.13267 0.76778001 +0.0057108998 0.1331 0.76565999 +0.0065012998 0.13302 0.76524001 +0.0072908001 0.13294999 0.76481998 +0.0080749998 0.1328 0.76397997 +0.0088672005 0.1328 0.76397997 +0.028736001 0.1331 0.76565999 +0.02953 0.1331 0.76565999 +0.030274 0.13288 0.76440001 +0.031066 0.13288 0.76440001 +0.031876002 0.13294999 0.76481998 +0.032634001 0.1328 0.76397997 +0.033426002 0.1328 0.76397997 +0.034198999 0.13273001 0.76356 +0.035009999 0.1328 0.76397997 +0.035803001 0.1328 0.76397997 +0.036575001 0.13273001 0.76356 +0.037346002 0.13266 0.76314002 +0.038137 0.13266 0.76314002 +0.038929 0.13266 0.76314002 +0.039698001 0.13259 0.76271999 +0.040488999 0.13259 0.76271999 +0.041280001 0.13259 0.76271999 +0.042071 0.13259 0.76271999 +0.042862002 0.13259 0.76271999 +0.043629002 0.13251001 0.76230001 +0.044419002 0.13251001 0.76230001 +0.04521 0.13251001 0.76230001 +0.045975 0.13244 0.76188999 +0.046765 0.13244 0.76188999 +0.047555 0.13244 0.76188999 +0.048345 0.13244 0.76188999 +0.049135 0.13244 0.76188999 +0.049897999 0.13237 0.76147002 +0.050687 0.13237 0.76147002 +0.051504999 0.13244 0.76188999 +0.052267 0.13237 0.76147002 +0.053027 0.13229001 0.76104999 +0.053846002 0.13237 0.76147002 +0.054606002 0.13229001 0.76104999 +0.055395 0.13229001 0.76104999 +0.056214999 0.13237 0.76147002 +0.057004001 0.13237 0.76147002 +0.057794001 0.13237 0.76147002 +0.058584001 0.13237 0.76147002 +0.059372999 0.13237 0.76147002 +0.060162999 0.13237 0.76147002 +0.060986001 0.13244 0.76188999 +0.061776001 0.13244 0.76188999 +0.062565997 0.13244 0.76188999 +0.063355997 0.13244 0.76188999 +0.064181 0.13251001 0.76230001 +0.065007001 0.13259 0.76271999 +0.065798 0.13259 0.76271999 +0.066625997 0.13266 0.76314002 +0.067491002 0.1328 0.76397997 +0.068282999 0.1328 0.76397997 +0.069114 0.13288 0.76440001 +0.069867998 0.1328 0.76397997 +0.070738003 0.13294999 0.76481998 +0.071570002 0.13302 0.76524001 +0.072324 0.13294999 0.76481998 +0.073197998 0.1331 0.76565999 +0.073991999 0.1331 0.76565999 +0.074827 0.13316999 0.76608998 +0.075663 0.13324 0.76651001 +0.076458 0.13324 0.76651001 +0.077252999 0.13324 0.76651001 +0.078047 0.13324 0.76651001 +0.078841999 0.13324 0.76651001 +0.079681002 0.13332 0.76692998 +0.080431998 0.13324 0.76651001 +0.082066998 0.13332 0.76692998 +0.23059 0.13413 0.77161998 +0.23126 0.13406 0.77118999 +0.23232 0.13421001 0.77204001 +0.23286 0.13406 0.77118999 +0.0064869998 0.13352001 0.76356 +0.0072748 0.13345 0.76314002 +0.0080573 0.13330001 0.76230001 +0.028704001 0.13373999 0.76481998 +0.029513 0.13382 0.76524001 +0.030257 0.1336 0.76397997 +0.031049 0.1336 0.76397997 +0.031858999 0.13367 0.76440001 +0.032634001 0.1336 0.76397997 +0.033408001 0.13352001 0.76356 +0.034198999 0.13352001 0.76356 +0.034991 0.13352001 0.76356 +0.035783 0.13352001 0.76356 +0.036555 0.13345 0.76314002 +0.037346002 0.13345 0.76314002 +0.038137 0.13345 0.76314002 +0.038906999 0.13338 0.76271999 +0.039698001 0.13338 0.76271999 +0.040467001 0.13330001 0.76230001 +0.041257001 0.13330001 0.76230001 +0.042048 0.13330001 0.76230001 +0.042838 0.13330001 0.76230001 +0.043605 0.13323 0.76188999 +0.044395 0.13323 0.76188999 +0.045185 0.13323 0.76188999 +0.045975 0.13323 0.76188999 +0.046765 0.13323 0.76188999 +0.047555 0.13323 0.76188999 +0.048345 0.13323 0.76188999 +0.049107999 0.13316 0.76147002 +0.049897999 0.13316 0.76147002 +0.050687 0.13316 0.76147002 +0.051504999 0.13323 0.76188999 +0.052267 0.13316 0.76147002 +0.053027 0.13308001 0.76104999 +0.053846002 0.13316 0.76147002 +0.054634999 0.13316 0.76147002 +0.055395 0.13308001 0.76104999 +0.056214999 0.13316 0.76147002 +0.057004001 0.13316 0.76147002 +0.057794001 0.13316 0.76147002 +0.058584001 0.13316 0.76147002 +0.059372999 0.13316 0.76147002 +0.060162999 0.13316 0.76147002 +0.060986001 0.13323 0.76188999 +0.061776001 0.13323 0.76188999 +0.062565997 0.13323 0.76188999 +0.063321002 0.13316 0.76147002 +0.064145997 0.13323 0.76188999 +0.065007001 0.13338 0.76271999 +0.065798 0.13338 0.76271999 +0.066588998 0.13338 0.76271999 +0.067454003 0.13352001 0.76356 +0.068246 0.13352001 0.76356 +0.069076002 0.1336 0.76397997 +0.069867998 0.1336 0.76397997 +0.070698999 0.13367 0.76440001 +0.071530998 0.13373999 0.76481998 +0.072283998 0.13367 0.76440001 +0.073156998 0.13382 0.76524001 +0.073950998 0.13382 0.76524001 +0.074786 0.13389 0.76565999 +0.075621001 0.13395999 0.76608998 +0.076416001 0.13395999 0.76608998 +0.077210002 0.13395999 0.76608998 +0.078799002 0.13395999 0.76608998 +0.23168001 0.13462999 0.76990998 +-0.033782002 0.13387001 0.76104999 +-0.032221999 0.13395 0.76147002 +-0.031431999 0.13395 0.76147002 +-0.030658999 0.13402 0.76188999 +0.029480999 0.13446 0.76440001 +0.030239999 0.13431001 0.76356 +0.031032 0.13431001 0.76356 +0.031840999 0.13439 0.76397997 +0.032616001 0.13431001 0.76356 +0.033388998 0.13424 0.76314002 +0.034180999 0.13424 0.76314002 +0.034972001 0.13424 0.76314002 +0.035762999 0.13424 0.76314002 +0.036534 0.13417 0.76271999 +0.037324999 0.13417 0.76271999 +0.038116001 0.13417 0.76271999 +0.038906999 0.13417 0.76271999 +0.039675999 0.13409001 0.76230001 +0.040445 0.13402 0.76188999 +0.041235 0.13402 0.76188999 +0.042048 0.13409001 0.76230001 +0.042838 0.13409001 0.76230001 +0.043581001 0.13395 0.76147002 +0.044371001 0.13395 0.76147002 +0.045185 0.13402 0.76188999 +0.045949999 0.13395 0.76147002 +0.046739001 0.13395 0.76147002 +0.047529001 0.13395 0.76147002 +0.048345 0.13402 0.76188999 +0.049107999 0.13395 0.76147002 +0.049897999 0.13395 0.76147002 +0.050687 0.13395 0.76147002 +0.051477 0.13395 0.76147002 +0.052267 0.13395 0.76147002 +0.053027 0.13387001 0.76104999 +0.053816002 0.13387001 0.76104999 +0.054606002 0.13387001 0.76104999 +0.055395 0.13387001 0.76104999 +0.056214999 0.13395 0.76147002 +0.056972999 0.13387001 0.76104999 +0.057762001 0.13387001 0.76104999 +0.058550999 0.13387001 0.76104999 +0.059340999 0.13387001 0.76104999 +0.06013 0.13387001 0.76104999 +0.060952 0.13395 0.76147002 +0.061742 0.13395 0.76147002 +0.062532 0.13395 0.76147002 +0.063321002 0.13395 0.76147002 +0.064145997 0.13402 0.76188999 +0.064971998 0.13409001 0.76230001 +0.065761998 0.13409001 0.76230001 +0.066588998 0.13417 0.76271999 +0.067454003 0.13431001 0.76356 +0.068208002 0.13424 0.76314002 +0.069038004 0.13431001 0.76356 +0.069829002 0.13431001 0.76356 +0.070660003 0.13439 0.76397997 +0.071492001 0.13446 0.76440001 +0.072283998 0.13446 0.76440001 +0.073117003 0.13454001 0.76481998 +0.073909998 0.13454001 0.76481998 +0.074744001 0.13461 0.76524001 +0.075579002 0.13468 0.76565999 +0.076373003 0.13468 0.76565999 +-0.035321999 0.13451 0.76021999 +-0.034552999 0.13459 0.76063001 +-0.033744998 0.13451 0.76021999 +-0.032203998 0.13466001 0.76104999 +-0.031397998 0.13459 0.76063001 +-0.030642999 0.13474 0.76147002 +0.031824 0.13511001 0.76356 +0.032598 0.13503 0.76314002 +0.033371001 0.13496 0.76271999 +0.034162 0.13496 0.76271999 +0.034952998 0.13496 0.76271999 +0.035744 0.13496 0.76271999 +0.036513999 0.13488001 0.76230001 +0.037284002 0.13481 0.76188999 +0.038095001 0.13488001 0.76230001 +0.038885999 0.13488001 0.76230001 +0.039655 0.13481 0.76188999 +0.040422 0.13474 0.76147002 +0.041235 0.13481 0.76188999 +0.042025 0.13481 0.76188999 +0.042815 0.13481 0.76188999 +0.043581001 0.13474 0.76147002 +0.044346001 0.13466001 0.76104999 +0.045159999 0.13474 0.76147002 +0.045949999 0.13474 0.76147002 +0.046739001 0.13474 0.76147002 +0.047529001 0.13474 0.76147002 +0.048319001 0.13474 0.76147002 +0.049107999 0.13474 0.76147002 +0.049869999 0.13466001 0.76104999 +0.050659999 0.13466001 0.76104999 +0.051477 0.13474 0.76147002 +0.052237999 0.13466001 0.76104999 +0.053027 0.13466001 0.76104999 +0.053816002 0.13466001 0.76104999 +0.054606002 0.13466001 0.76104999 +0.055364002 0.13459 0.76063001 +0.056184001 0.13466001 0.76104999 +0.056972999 0.13466001 0.76104999 +0.057730999 0.13459 0.76063001 +0.058518998 0.13459 0.76063001 +0.059308 0.13459 0.76063001 +0.060097001 0.13459 0.76063001 +0.060952 0.13474 0.76147002 +0.061742 0.13474 0.76147002 +0.062497001 0.13466001 0.76104999 +0.063286997 0.13466001 0.76104999 +0.064111002 0.13474 0.76147002 +0.064971998 0.13488001 0.76230001 +0.065761998 0.13488001 0.76230001 +0.066552997 0.13488001 0.76230001 +0.067417003 0.13503 0.76314002 +0.068208002 0.13503 0.76314002 +0.068999998 0.13503 0.76314002 +0.069790997 0.13503 0.76314002 +0.070620999 0.13511001 0.76356 +0.071451999 0.13518 0.76397997 +0.072244003 0.13518 0.76397997 +0.073077001 0.13525 0.76440001 +0.073868997 0.13525 0.76440001 +0.074703 0.13533001 0.76481998 +-0.036031999 0.13501 0.75856 +-0.035303 0.13523 0.75980002 +-0.034515001 0.13523 0.75980002 +-0.033727001 0.13523 0.75980002 +-0.032956999 0.1353 0.76021999 +0.031789001 0.13575 0.76271999 +0.032561999 0.13567001 0.76230001 +0.033353001 0.13567001 0.76230001 +0.034124002 0.1356 0.76188999 +0.034933001 0.13567001 0.76230001 +0.035723999 0.13567001 0.76230001 +0.036474001 0.13552999 0.76147002 +0.037264001 0.13552999 0.76147002 +0.038075 0.1356 0.76188999 +0.038842998 0.13552999 0.76147002 +0.039611001 0.13545001 0.76104999 +0.040399998 0.13545001 0.76104999 +0.041189998 0.13545001 0.76104999 +0.042002 0.13552999 0.76147002 +0.042791001 0.13552999 0.76147002 +0.043533001 0.13538 0.76063001 +0.044321999 0.13538 0.76063001 +0.045159999 0.13552999 0.76147002 +0.045924999 0.13545001 0.76104999 +0.046714 0.13545001 0.76104999 +0.047502998 0.13545001 0.76104999 +0.048319001 0.13552999 0.76147002 +0.049081001 0.13545001 0.76104999 +0.049842998 0.13538 0.76063001 +0.050659999 0.13545001 0.76104999 +0.051477 0.13552999 0.76147002 +0.052237999 0.13545001 0.76104999 +0.052997999 0.13538 0.76063001 +0.053787 0.13538 0.76063001 +0.054575998 0.13538 0.76063001 +0.055364002 0.13538 0.76063001 +0.056184001 0.13545001 0.76104999 +0.056942001 0.13538 0.76063001 +0.057730999 0.13538 0.76063001 +0.058518998 0.13538 0.76063001 +0.059276 0.1353 0.76021999 +0.060097001 0.13538 0.76063001 +0.060919002 0.13545001 0.76104999 +0.061708 0.13545001 0.76104999 +0.062497001 0.13545001 0.76104999 +0.063286997 0.13545001 0.76104999 +0.064111002 0.13552999 0.76147002 +0.064935997 0.1356 0.76188999 +0.065725997 0.1356 0.76188999 +0.066552997 0.13567001 0.76230001 +0.067380004 0.13575 0.76271999 +0.068171002 0.13575 0.76271999 +0.068962 0.13575 0.76271999 +0.069790997 0.13582 0.76314002 +0.070620999 0.13590001 0.76356 +0.071413003 0.13590001 0.76356 +0.072164997 0.13582 0.76314002 +0.072996996 0.13590001 0.76356 +-0.037542999 0.13557 0.75731999 +-0.036818001 0.13579001 0.75856 +-0.036012001 0.13572 0.75814003 +-0.035264 0.13586999 0.75897002 +-0.034495998 0.13594 0.75939 +0.041979 0.13624001 0.76104999 +0.045111001 0.13617 0.76063001 +0.045899 0.13617 0.76063001 +0.046688002 0.13617 0.76063001 +0.047476999 0.13617 0.76063001 +0.048266001 0.13617 0.76063001 +0.049054001 0.13617 0.76063001 +0.049816001 0.13609 0.76021999 +0.050632 0.13617 0.76063001 +0.051449001 0.13624001 0.76104999 +0.052209001 0.13617 0.76063001 +0.052969001 0.13609 0.76021999 +0.053787 0.13617 0.76063001 +0.054575998 0.13617 0.76063001 +0.055334002 0.13609 0.76021999 +0.056152999 0.13617 0.76063001 +0.056910999 0.13609 0.76021999 +0.057698999 0.13609 0.76021999 +0.058487002 0.13609 0.76021999 +0.059243001 0.13602 0.75980002 +0.060063999 0.13609 0.76021999 +0.060919002 0.13624001 0.76104999 +0.061708 0.13624001 0.76104999 +0.062463 0.13617 0.76063001 +0.063252002 0.13617 0.76063001 +0.064075999 0.13624001 0.76104999 +0.064900003 0.13631999 0.76147002 +0.065690003 0.13631999 0.76147002 +0.066515997 0.13639 0.76188999 +0.067380004 0.13654 0.76271999 +0.068134002 0.13646001 0.76230001 +0.068924002 0.13646001 0.76230001 +0.069752999 0.13654 0.76271999 +0.070582002 0.13661 0.76314002 +0.071413003 0.13669001 0.76356 +0.072125003 0.13654 0.76271999 +-0.038307998 0.13628 0.75691003 +-0.037523001 0.13628 0.75691003 +-0.036777999 0.13643 0.75773001 +-0.035973001 0.13636 0.75731999 +-0.035245001 0.13658001 0.75856 +0.0064375 0.13643 0.75773001 +0.0072193001 0.13636 0.75731999 +0.048239 0.13688 0.76021999 +0.049028002 0.13688 0.76021999 +0.050604001 0.13688 0.76021999 +0.051421002 0.13695 0.76063001 +0.052181002 0.13688 0.76021999 +0.05294 0.13680001 0.75980002 +0.053757001 0.13688 0.76021999 +0.054545999 0.13688 0.76021999 +0.055303998 0.13680001 0.75980002 +0.056122001 0.13688 0.76021999 +0.056880001 0.13680001 0.75980002 +0.057636 0.13673 0.75939 +0.060851999 0.13688 0.76021999 +0.061641 0.13688 0.76021999 +0.062429 0.13688 0.76021999 +0.064006001 0.13688 0.76021999 +0.064865001 0.13703001 0.76104999 +0.065654002 0.13703001 0.76104999 +0.066443004 0.13703001 0.76104999 +0.067305997 0.13718 0.76188999 +0.068058997 0.1371 0.76147002 +0.068885997 0.13718 0.76188999 +0.069675997 0.13718 0.76188999 +-0.039050002 0.13692001 0.75607997 +-0.038286999 0.13699 0.75648999 +-0.037501998 0.13699 0.75648999 +-0.036757998 0.13714001 0.75731999 +-0.035953 0.13707 0.75691003 +-0.035207 0.13722 0.75773001 +0.051392999 0.13767 0.76021999 +0.052152 0.13759001 0.75980002 +0.16712999 0.1382 0.76314002 +0.21258 0.13843 0.76440001 +-0.038245 0.13763 0.75567001 +-0.036718 0.13778 0.75648999 +0.0064269002 0.13778 0.75648999 +-0.018665001 0.13849001 0.75607997 +-0.017881 0.13849001 0.75607997 +-0.017088 0.13841 0.75567001 +-0.016295999 0.13834 0.75525999 +-0.018665001 0.13926999 0.75607997 +-0.017872 0.1392 0.75567001 +-0.017078999 0.13912 0.75525999 +-0.016287001 0.13903999 0.75484997 +-0.015512 0.13912 0.75525999 +-0.1382 0.13885 0.74956 +-0.1375 0.13891999 0.74996001 +-0.13672 0.13891999 0.74996001 +-0.1358 0.13877 0.74914998 +-0.13439 0.13891999 0.74996001 +-0.13347 0.13877 0.74914998 +-0.017862 0.1399 0.75525999 +-0.017069001 0.13982999 0.75484997 +-0.015504 0.13982999 0.75484997 +-0.13812999 0.13955 0.74914998 +-0.13743 0.13962001 0.74956 +-0.13657001 0.13955 0.74914998 +-0.13572 0.13947 0.74874997 +-0.13502 0.13955 0.74914998 +-0.13424 0.13955 0.74914998 +-0.13338999 0.13947 0.74874997 +-0.13191 0.13955 0.74914998 +-0.13113999 0.13955 0.74914998 +-0.12951 0.13947 0.74874997 +0.13963 0.14076 0.75567001 +0.14049 0.14083999 0.75607997 +0.14128 0.14083999 0.75607997 +0.14198001 0.14076 0.75567001 +0.17596 0.14099 0.75691003 +0.17675 0.14099 0.75691003 +0.17753001 0.14099 0.75691003 +0.17832001 0.14099 0.75691003 +0.18066999 0.14099 0.75691003 +-0.13805 0.14025 0.74874997 +-0.13734999 0.14033 0.74914998 +-0.13564999 0.14016999 0.74835002 +-0.13488001 0.14016999 0.74835002 +-0.13417 0.14025 0.74874997 +-0.13332 0.14016999 0.74835002 +-0.13262001 0.14025 0.74874997 +-0.13184001 0.14025 0.74874997 +-0.131 0.14016999 0.74835002 +0.14042 0.14155 0.75567001 +0.14120001 0.14155 0.75567001 +0.14191 0.14147 0.75525999 +0.14277001 0.14155 0.75567001 +0.14363 0.14162 0.75607997 +0.17439 0.14178 0.75691003 +0.17518 0.14178 0.75691003 +0.17587 0.1417 0.75648999 +0.17665 0.1417 0.75648999 +0.17744 0.1417 0.75648999 +0.17822 0.1417 0.75648999 +0.17901 0.1417 0.75648999 +0.17979001 0.1417 0.75648999 +0.18058001 0.1417 0.75648999 +0.18136001 0.1417 0.75648999 +-0.13558 0.14087 0.74794 +-0.1348 0.14087 0.74794 +-0.13410001 0.14094999 0.74835002 +-0.13255 0.14094999 0.74835002 +-0.13177 0.14094999 0.74835002 +0.13869999 0.14218 0.75484997 +0.13947999 0.14218 0.75484997 +0.14026 0.14218 0.75484997 +0.14112 0.14225 0.75525999 +0.14183 0.14218 0.75484997 +0.14261 0.14218 0.75484997 +0.17352 0.14248 0.75648999 +0.1743 0.14248 0.75648999 +0.17499 0.14241 0.75607997 +0.17577 0.14241 0.75607997 +0.17656 0.14241 0.75607997 +0.17734 0.14241 0.75607997 +0.17813 0.14241 0.75607997 +0.17891 0.14241 0.75607997 +0.17969 0.14241 0.75607997 +0.18048 0.14241 0.75607997 +0.18126 0.14241 0.75607997 +0.18205 0.14241 0.75607997 +0.18273 0.14233001 0.75567001 +-0.13403 0.14165001 0.74794 +0.0086951004 0.14188001 0.74914998 +0.14019001 0.14287999 0.75444001 +0.14174999 0.14287999 0.75444001 +0.14252999 0.14287999 0.75444001 +0.17421 0.14319 0.75607997 +0.17489 0.14311001 0.75567001 +0.17568 0.14311001 0.75567001 +0.17646 0.14311001 0.75567001 +0.17724 0.14311001 0.75567001 +0.17803 0.14311001 0.75567001 +0.17881 0.14311001 0.75567001 +0.17969 0.14319 0.75607997 +0.18038 0.14311001 0.75567001 +0.18116 0.14311001 0.75567001 +0.18195 0.14311001 0.75567001 +0.18263 0.14304 0.75525999 +0.18341 0.14304 0.75525999 +0.0094667999 0.14258 0.74874997 +0.17479999 0.14382 0.75525999 +0.17557999 0.14382 0.75525999 +0.17636999 0.14382 0.75525999 +0.17715 0.14382 0.75525999 +0.17793 0.14382 0.75525999 +0.17881 0.14390001 0.75567001 +0.1796 0.14390001 0.75567001 +0.18028 0.14382 0.75525999 +0.18106 0.14382 0.75525999 +0.18185 0.14382 0.75525999 +0.18253 0.14374 0.75484997 +0.18331 0.14374 0.75484997 +0.1841 0.14374 0.75484997 +0.24137001 0.14382 0.75525999 +0.013349 0.14336 0.74874997 +0.17626999 0.14452 0.75484997 +0.17704999 0.14452 0.75484997 +0.17783 0.14452 0.75484997 +0.17871 0.1446 0.75525999 +0.1795 0.1446 0.75525999 +0.18018 0.14452 0.75484997 +0.18097 0.14452 0.75484997 +0.18175 0.14452 0.75484997 +0.18243 0.14444999 0.75444001 +0.18321 0.14444999 0.75444001 +0.184 0.14444999 0.75444001 +0.24123999 0.14452 0.75484997 +0.24202 0.14452 0.75484997 +0.015678 0.14413001 0.74874997 +0.016446 0.14405 0.74835002 +0.017222 0.14405 0.74835002 +0.17617001 0.14523 0.75444001 +0.17696001 0.14523 0.75444001 +0.17773999 0.14523 0.75444001 +0.17862 0.14531 0.75484997 +0.1794 0.14531 0.75484997 +0.18018 0.14531 0.75484997 +0.18087 0.14523 0.75444001 +0.18165 0.14523 0.75444001 +0.18233 0.14515001 0.75402999 +0.18312 0.14515001 0.75402999 +0.1839 0.14515001 0.75402999 +0.016437 0.14475 0.74794 +0.17764001 0.14593001 0.75402999 +0.1793 0.14601 0.75444001 +0.18009 0.14601 0.75444001 +0.18076999 0.14593001 0.75402999 +0.18155 0.14593001 0.75402999 +0.18223 0.14585 0.75362003 +0.18302 0.14585 0.75362003 +0.1837 0.14577 0.75321001 +0.22629 0.14554 0.75199002 +-0.019951001 0.14506 0.74554002 +-0.019168001 0.14498 0.74514002 +0.17133 0.146 0.75037003 +0.1723 0.14616001 0.75117999 +0.18213999 0.14655 0.75321001 +0.22526 0.14616001 0.75117999 +0.22604001 0.14616001 0.75117999 +-0.021485999 0.14575 0.74514002 +-0.020713 0.14575 0.74514002 +-0.019897999 0.14544 0.74353999 +0.17192 0.14662001 0.74956 +0.1727 0.14662001 0.74956 +0.17357001 0.14669999 0.74996001 +0.17454 0.14686 0.75076997 +0.21413 0.14678 0.75037003 +-0.021439999 0.14621 0.74353999 +-0.020669 0.14621 0.74353999 +0.17242 0.14715999 0.74835002 +0.1732 0.14715999 0.74835002 +0.17407 0.14724 0.74874997 +0.17494 0.14732 0.74914998 +0.17580999 0.14740001 0.74956 +0.17678 0.14756 0.75037003 +0.17756 0.14756 0.75037003 +0.21223 0.14732 0.74914998 +0.21323 0.14748 0.74996001 +0.21401 0.14748 0.74996001 +-0.039859001 0.14667 0.74194998 +-0.03909 0.14667 0.74194998 +-0.038341001 0.14675 0.74234998 +-0.037590999 0.14683001 0.74274999 +-0.036800999 0.14675 0.74234998 +0.17543 0.14785001 0.74794 +0.1763 0.14793 0.74835002 +0.17698 0.14785001 0.74794 +0.17805 0.14809 0.74914998 +0.17892 0.14816999 0.74956 +0.1795 0.14801 0.74874997 +0.18047 0.14816999 0.74956 +0.20889001 0.14793 0.74835002 +0.20967001 0.14793 0.74835002 +0.21044999 0.14793 0.74835002 +0.21134 0.14801 0.74874997 +0.21211 0.14801 0.74874997 +0.213 0.14809 0.74914998 +0.21378 0.14809 0.74914998 +0.21456 0.14809 0.74914998 +-0.038238999 0.14713 0.74036998 +-0.037491001 0.1472 0.74076998 +0.17747 0.14839 0.74673998 +0.17834 0.14847 0.74713999 +0.17902 0.14839 0.74673998 +0.17998999 0.14855 0.74754 +0.20789 0.14855 0.74754 +0.20878001 0.14862999 0.74794 +0.20956001 0.14862999 0.74794 +0.21032999 0.14862999 0.74794 +0.21122 0.14871 0.74835002 +0.212 0.14871 0.74835002 +0.213 0.14887001 0.74914998 +0.21378 0.14887001 0.74914998 +0.21444 0.14879 0.74874997 +0.1796 0.149 0.74594003 +0.20778 0.14925 0.74713999 +0.20867001 0.14933001 0.74754 +0.20945001 0.14933001 0.74754 +0.21021999 0.14933001 0.74754 +0.21111 0.14940999 0.74794 +0.21188 0.14940999 0.74794 +0.21277 0.14949 0.74835002 +0.20856 0.15002 0.74713999 +0.20922001 0.14994 0.74673998 +-0.018934 0.15085 0.73606002 +0.18306001 0.15188999 0.74115998 +0.18392999 0.15198 0.74155998 +0.1847 0.15198 0.74155998 +0.21272001 0.15222 0.74274999 +0.21348999 0.15222 0.74274999 +0.21415 0.15214001 0.74234998 +0.21503 0.15222 0.74274999 +-0.087258004 0.15097 0.73294997 +0.18124001 0.15242 0.73997998 +0.1821 0.1525 0.74036998 +0.18287 0.1525 0.74036998 +0.18373001 0.15257999 0.74076998 +0.1846 0.15266 0.74115998 +0.18537 0.15266 0.74115998 +0.18624 0.15274 0.74155998 +0.21096 0.15283 0.74194998 +0.21161 0.15274 0.74155998 +0.21216001 0.15257999 0.74076998 +-0.087879002 0.15149 0.73180002 +-0.087165996 0.15157001 0.73218 +0.02227 0.15229 0.73566997 +0.024545999 0.15221 0.73527998 +0.18009 0.15286 0.73841 +0.18114001 0.1531 0.73957998 +0.18190999 0.1531 0.73957998 +0.18267 0.1531 0.73957998 +0.18364 0.15327001 0.74036998 +0.18440001 0.15327001 0.74036998 +0.21062 0.15335 0.74076998 +-0.087075002 0.15217 0.73141003 +0.022258 0.15298 0.73527998 +0.023783 0.15298 0.73527998 +0.024533 0.15289 0.73488998 +0.025295001 0.15289 0.73488998 +0.17998999 0.15354 0.73800999 +0.18095 0.15370999 0.73879999 +0.18181001 0.15379 0.73918998 +0.18257999 0.15379 0.73918998 +0.18344 0.15387 0.73957998 +0.18431 0.15395001 0.73997998 +0.18506999 0.15395001 0.73997998 +-0.031741999 0.15309 0.73218 +0.022247 0.15366 0.73488998 +0.023009 0.15366 0.73488998 +0.023770999 0.15366 0.73488998 +0.02452 0.15358 0.73449999 +0.025281001 0.15358 0.73449999 +0.026029 0.15349001 0.73411 +0.02679 0.15349001 0.73411 +0.18085 0.15439001 0.73841 +0.18162 0.15439001 0.73841 +0.18248001 0.15447 0.73879999 +0.18325 0.15447 0.73879999 +0.18421 0.15464 0.73957998 +0.015356 0.15409 0.73334002 +0.022995999 0.15434 0.73449999 +0.023758 0.15434 0.73449999 +0.024506999 0.15425999 0.73411 +0.025268 0.15425999 0.73411 +0.026015 0.15417001 0.73373002 +0.18065999 0.15499 0.73762 +0.18152 0.15508001 0.73800999 +0.18229 0.15508001 0.73800999 +0.18305001 0.15508001 0.73800999 +0.025255 0.15493999 0.73373002 +0.026001999 0.15485001 0.73334002 +0.18133 0.15568 0.73723 +0.18209 0.15568 0.73723 +0.21604 0.15611 0.73566997 +0.21691 0.15618999 0.73606002 +0.21778999 0.15627 0.73645002 +0.21856 0.15627 0.73645002 +0.21944 0.15636 0.73684001 +0.21592 0.15679 0.73527998 +0.2168 0.15686999 0.73566997 +0.21755999 0.15686999 0.73566997 +0.21844 0.15695 0.73606002 +0.2192 0.15695 0.73606002 +-0.098380998 0.15541001 0.72530001 +-0.097680002 0.15549 0.72567999 +-0.096928 0.15549 0.72567999 +0.21657 0.15747 0.73488998 +0.21732999 0.15747 0.73488998 +-0.099082001 0.15607999 0.72491997 +-0.098329999 0.15607999 0.72491997 +-0.097629003 0.15616 0.72530001 +-0.096826002 0.15607999 0.72491997 +-0.095422998 0.15625 0.72567999 +-0.10053 0.15674999 0.72455001 +-0.099780999 0.15674999 0.72455001 +-0.099030003 0.15674999 0.72455001 +-0.098278999 0.15674999 0.72455001 +-0.097577997 0.15684 0.72491997 +-0.096776001 0.15674999 0.72455001 +-0.096024998 0.15674999 0.72455001 +0.18529999 0.15831999 0.73180002 +-0.099729002 0.15741999 0.72417003 +-0.098977998 0.15741999 0.72417003 +-0.098227002 0.15741999 0.72417003 +-0.097475998 0.15741999 0.72417003 +-0.098926999 0.15809 0.72378999 +-0.097425997 0.15809 0.72378999 +0.15295 0.15933999 0.72948998 +0.15362 0.15925001 0.72911 +0.024964999 0.15917 0.72530001 +0.15287 0.16001 0.72911 +0.1543 0.15992001 0.72873002 +0.15572999 0.15984 0.72834003 +0.024162 0.15959001 0.72378999 +0.024913 0.15959001 0.72378999 +0.025703 0.15984 0.72491997 +0.026441 0.15976 0.72455001 +0.027178001 0.15967999 0.72417003 +0.15279 0.16068 0.72873002 +0.15422 0.16060001 0.72834003 +0.15489 0.16051 0.72795999 +0.15557 0.16043 0.72758001 +0.1564 0.16051 0.72795999 +0.025636001 0.16018 0.72303998 +0.026386 0.16018 0.72303998 +0.15338001 0.16126999 0.72795999 +0.15414 0.16126999 0.72795999 +0.1575 0.16235 0.72605997 +0.12261 0.16276 0.72455001 +0.12343 0.16285001 0.72491997 +0.15667 0.16302 0.72567999 +0.15741999 0.16302 0.72567999 +0.15809 0.16293 0.72530001 +0.15959001 0.16293 0.72530001 +0.1233 0.16343001 0.72417003 +0.12405 0.16343001 0.72417003 +0.15658 0.16369 0.72530001 +0.15734001 0.16369 0.72530001 +0.15876 0.1636 0.72491997 +0.15951 0.1636 0.72491997 +0.022508999 0.16299 0.71891999 +0.12092 0.16401 0.72341001 +0.15567 0.16427 0.72455001 +-0.038502 0.16323 0.71670002 +0.022484999 0.16357 0.71818 +0.11911 0.16433001 0.72153997 +0.11992 0.16441999 0.72191 +0.22167 0.16493 0.72417003 +0.11892 0.16482 0.72040999 +0.11973 0.16491 0.72079003 +0.22069 0.16551 0.72341001 +0.22144 0.16551 0.72341001 +0.11874 0.16531 0.71929997 +0.11955 0.1654 0.71967 +0.12054 0.16574 0.72115999 +0.12714 0.16557001 0.72040999 +0.22921 0.16591001 0.72191 +0.23007999 0.16599999 0.72228998 +0.23047 0.16574 0.72115999 +0.23109999 0.16565999 0.72079003 +0.1193 0.16580001 0.71818 +0.12023 0.16606 0.71929997 +0.12104 0.16615 0.71967 +0.12558 0.16622999 0.72004002 +0.12620001 0.16606 0.71929997 +0.13507999 0.16597 0.71891999 +0.22835 0.16658001 0.72153997 +0.22886001 0.1664 0.72079003 +0.2296 0.1664 0.72079003 +0.23011 0.16622999 0.72004002 +0.068480998 0.16611999 0.71632999 +0.069224 0.16611999 0.71632999 +0.11998 0.16646001 0.71780998 +0.12085 0.16663 0.71855003 +0.12166 0.16672 0.71891999 +0.12315 0.16672 0.71891999 +0.1239 0.16672 0.71891999 +0.13501 0.16663 0.71855003 +0.068411 0.16669001 0.71559 +0.1206 0.16703001 0.71706998 +0.12128 0.16695 0.71670002 +0.12228 0.16729 0.71818 +0.12283 0.16703001 0.71706998 +0.12364 0.16711999 0.71744001 +0.13418999 0.16729 0.71818 +0.13494 0.16729 0.71818 +0.13561 0.16721 0.71780998 +0.067495003 0.167 0.71375 +0.13412 0.16795 0.71780998 +0.15437999 0.16812 0.71855003 +0.065981001 0.16765 0.71338999 +0.066721 0.16765 0.71338999 +0.067460001 0.16765 0.71338999 +0.22345001 0.16869 0.71780998 +0.066685997 0.16831 0.71302003 +0.11105 0.16831 0.71302003 +0.10866 0.16879 0.71192998 +0.10957 0.16904999 0.71302003 +0.11031 0.16904999 0.71302003 +0.11179 0.16904999 0.71302003 +0.11253 0.16904999 0.71302003 +0.11321 0.16896001 0.71266001 +0.11395 0.16896001 0.71266001 +0.11469 0.16896001 0.71266001 +-0.079101004 0.16848999 0.70757997 +0.10719 0.16953 0.71192998 +0.10793 0.16953 0.71192998 +0.10861 0.16944 0.71156001 +0.10946 0.16960999 0.71228999 +0.11025 0.1697 0.71266001 +0.11088 0.16953 0.71192998 +0.11173 0.1697 0.71266001 +0.11247 0.1697 0.71266001 +0.11315 0.16960999 0.71228999 +0.11389 0.16960999 0.71228999 +0.11463 0.16960999 0.71228999 +0.11531 0.16953 0.71192998 +0.11611 0.16960999 0.71228999 +0.036903001 0.16957 0.70902002 +0.10713 0.17017999 0.71156001 +0.10787 0.17017999 0.71156001 +0.10855 0.17009 0.7112 +0.1094 0.17026 0.71192998 +0.1102 0.17035 0.71228999 +0.11088 0.17026 0.71192998 +0.11167 0.17035 0.71228999 +0.11241 0.17035 0.71228999 +0.11309 0.17026 0.71192998 +0.11383 0.17026 0.71192998 +0.11457 0.17026 0.71192998 +0.11525 0.17017999 0.71156001 +0.11605 0.17026 0.71192998 +0.11678 0.17026 0.71192998 +0.13686 0.17044 0.71266001 +0.025139 0.17030001 0.70902002 +0.036168002 0.17030001 0.70902002 +0.036865 0.17013 0.70829999 +0.037599999 0.17013 0.70829999 +0.10708 0.17083 0.7112 +0.10781 0.17083 0.7112 +0.1085 0.17073999 0.71082997 +0.10935 0.17091 0.71156001 +0.11014 0.171 0.71192998 +0.11082 0.17091 0.71156001 +0.11162 0.171 0.71192998 +0.11235 0.171 0.71192998 +0.11303 0.17091 0.71156001 +0.11377 0.17091 0.71156001 +0.11451 0.17091 0.71156001 +0.11519 0.17083 0.7112 +0.11599 0.17091 0.71156001 +0.11672 0.17091 0.71156001 +0.13530999 0.17109001 0.71228999 +0.13598 0.171 0.71192998 +0.13658001 0.17083 0.7112 +0.13738 0.17091 0.71156001 +0.036846999 0.17078 0.70793998 +0.1077 0.17139 0.71047002 +0.10844 0.17139 0.71047002 +0.10929 0.17156 0.7112 +0.11003 0.17156 0.7112 +0.11071 0.17148 0.71082997 +0.11156 0.17165001 0.71156001 +0.1123 0.17165001 0.71156001 +0.11298 0.17156 0.7112 +0.11371 0.17156 0.7112 +0.11445 0.17156 0.7112 +0.13349 0.17139 0.71047002 +0.13416 0.17129999 0.71011001 +0.13496 0.17139 0.71047002 +0.1357 0.17139 0.71047002 +0.20694999 0.17183 0.71228999 +0.20769 0.17183 0.71228999 +0.20843001 0.17183 0.71228999 +0.20917 0.17183 0.71228999 +0.037542999 0.17134 0.70722002 +0.038276002 0.17134 0.70722002 +0.039009001 0.17134 0.70722002 +0.039721999 0.17125 0.70686001 +0.040454999 0.17125 0.70686001 +0.10997 0.17220999 0.71082997 +0.11366 0.17220999 0.71082997 +0.13269 0.17204 0.71011001 +0.13322 0.17177001 0.70902002 +0.20601 0.17239 0.71156001 +0.20674001 0.17239 0.71156001 +0.20759 0.17248 0.71192998 +0.20822001 0.17239 0.71156001 +0.038256001 0.17197999 0.70686001 +0.038989 0.17197999 0.70686001 +0.040435001 0.1719 0.70649999 +0.11839 0.17233001 0.70829999 +0.2059 0.17304 0.7112 +0.20664001 0.17304 0.7112 +0.20737 0.17304 0.7112 +0.20811 0.17304 0.7112 +0.20885 0.17304 0.7112 +0.041857 0.17245001 0.70578003 +0.042589001 0.17245001 0.70578003 +0.043320999 0.17245001 0.70578003 +0.11827 0.17288999 0.70757997 +0.20727 0.17369001 0.71082997 +0.20801 0.17369001 0.71082997 +0.042567998 0.17309999 0.70542002 +0.043299001 0.17309999 0.70542002 +0.044031002 0.17309999 0.70542002 +0.043276999 0.17374 0.70506001 +0.13992999 0.17392001 0.70578003 +0.14959 0.17409 0.70649999 +0.15025 0.17400999 0.70613998 +-0.059418999 0.17332999 0.70043999 +0.1346 0.17438 0.70471001 +0.13533001 0.17438 0.70471001 +0.13613001 0.17447001 0.70506001 +0.13693 0.17456 0.70542002 +0.13759001 0.17447001 0.70506001 +0.13832 0.17447001 0.70506001 +0.13986 0.17456 0.70542002 +0.14066 0.17465 0.70578003 +0.14146 0.17474 0.70613998 +0.14293 0.17474 0.70613998 +0.14725 0.17465 0.70578003 +0.14879 0.17474 0.70613998 +0.14951999 0.17474 0.70613998 +0.15017 0.17465 0.70578003 +0.13226999 0.17494 0.70398998 +0.133 0.17494 0.70398998 +0.1338 0.17502999 0.70434999 +0.13452999 0.17502999 0.70434999 +0.13526 0.17502999 0.70434999 +0.13606 0.17511 0.70471001 +0.13686 0.1752 0.70506001 +0.13752 0.17511 0.70471001 +0.13824999 0.17511 0.70471001 +0.13905001 0.1752 0.70506001 +0.13979 0.1752 0.70506001 +0.14059 0.17529 0.70542002 +0.14139 0.17538001 0.70578003 +0.14205 0.17529 0.70542002 +0.14285 0.17538001 0.70578003 +0.14365999 0.17546999 0.70613998 +-0.046321999 0.17468999 0.70008999 +-0.038277999 0.17443 0.69902998 +0.12935001 0.17567 0.70398998 +0.13154 0.17567 0.70398998 +0.13221 0.17557999 0.70363998 +0.13293999 0.17557999 0.70363998 +0.13372999 0.17567 0.70398998 +0.13452999 0.17576 0.70434999 +0.13526 0.17576 0.70434999 +0.13598999 0.17576 0.70434999 +0.13679001 0.17584001 0.70471001 +0.13970999 0.17584001 0.70471001 +0.14052001 0.17592999 0.70506001 +0.14132001 0.17602 0.70542002 +0.14191 0.17584001 0.70471001 +-0.033911999 0.17507 0.69867998 +-0.032496002 0.17524 0.69938999 +-0.026706999 0.17533 0.69973999 +0.029935 0.17560001 0.7008 +0.12696999 0.17613 0.70292002 +0.1277 0.17613 0.70292002 +0.12921999 0.17622 0.70327997 +0.13075 0.17631 0.70363998 +0.13147999 0.17631 0.70363998 +0.13207 0.17613 0.70292002 +0.13287 0.17622 0.70327997 +0.13366 0.17631 0.70363998 +0.13439 0.17631 0.70363998 +0.13519 0.17640001 0.70398998 +0.13592 0.17640001 0.70398998 +0.13672 0.17648999 0.70434999 +-0.022309 0.17569999 0.69832999 +0.027741 0.17623 0.70043999 +0.057578001 0.17641 0.70115 +0.058334999 0.17649999 0.7015 +0.082257003 0.17632 0.7008 +0.12611 0.17668 0.70221001 +0.12691 0.17677 0.70257002 +0.12757 0.17668 0.70221001 +0.12842999 0.17686 0.70292002 +0.13201 0.17677 0.70257002 +0.1336 0.17694999 0.70327997 +0.13433 0.17694999 0.70327997 +-0.022286 0.17625 0.69762999 +0.02696 0.17659999 0.69902998 +0.027685 0.17659999 0.69902998 +0.057461999 0.17678 0.69973999 +0.058247 0.17696001 0.70043999 +0.058972999 0.17696001 0.70043999 +0.1252 0.17714 0.70115 +0.12599 0.17723 0.7015 +0.12684 0.17741001 0.70221001 +0.12751 0.17732 0.70186001 +-0.11005 0.17618001 0.69449002 +-0.10933 0.17618001 0.69449002 +-0.099963002 0.17618001 0.69449002 +-0.084881999 0.17626999 0.69484001 +-0.06831 0.17626999 0.69484001 +-0.067589998 0.17626999 0.69484001 +-0.030244 0.17697001 0.69762999 +-0.013585 0.17670999 0.69657999 +0.025459001 0.17697001 0.69762999 +0.058129001 0.17733 0.69902998 +0.058853999 0.17733 0.69902998 +0.059609 0.17742001 0.69938999 +0.12513 0.17778 0.7008 +0.12592 0.17787001 0.70115 +0.12671 0.17795999 0.7015 +0.12738 0.17787001 0.70115 +0.12823001 0.17805 0.70186001 +-0.10922 0.17671999 0.69379997 +-0.080439001 0.17671999 0.69379997 +-0.068276003 0.1769 0.69449002 +-0.067521997 0.17681 0.69414997 +-0.056867 0.17725 0.69588 +-0.038125001 0.17734 0.69622999 +-0.030920999 0.17743 0.69657999 +-0.012134 0.17734 0.69622999 +-0.011418 0.17743 0.69657999 +-0.0056308 0.17715999 0.69554001 +-0.0049096001 0.17715999 0.69554001 +-0.0034688001 0.17725 0.69588 +-0.0027458 0.17715999 0.69554001 +0.058766 0.17779 0.69797999 +0.060213 0.17779 0.69797999 +0.060968 0.17787001 0.69832999 +0.061691999 0.17787001 0.69832999 +0.12501 0.17832001 0.70008999 +0.1258 0.17840999 0.70043999 +0.12665001 0.17859 0.70115 +0.12725 0.17840999 0.70043999