diff --git a/.github/workflows/python-app.yml b/.github/workflows/python-app.yml index 4bf2ff8..72e811a 100644 --- a/.github/workflows/python-app.yml +++ b/.github/workflows/python-app.yml @@ -27,7 +27,7 @@ jobs: run: | sudo apt-get install freeglut3-dev python -m pip install --upgrade pip - pip install point-cloud-registration + pip install -e . pykdtree pip install q3dviewer==1.1.6 pip install pytest - name: Test with pytest diff --git a/README.md b/README.md index 57572b8..b1800f7 100644 --- a/README.md +++ b/README.md @@ -71,6 +71,7 @@ print("Estimated Transform matrix:\n", T_new) - [x] **Point-to-Plane ICP** – Improved accuracy using normal constraints - [ ] **Generalized ICP (GICP)** – Handles anisotropic noise and improves robustness - [x] **Normal Distributions Transform (NDT)** – Grid-based registration for high-noise environments +- [x] **Degeneracy detection + solution remapping** – Hold unobservable DOFs instead of drifting along them - [ ] **Further optimizations** while staying pure Python ### Demo @@ -106,6 +107,38 @@ python3 demo_matching.py ![demo](imgs/demo.png) +#### Degeneracy Detection & Solution Remapping + +Real-world geometry often under-constrains registration — a featureless +seafloor, a straight corridor, a staircase. On such scenes the +unconstrained Gauss-Newton solve slides the estimate along the +unobservable directions, driven by nothing but noise. `align()` can +instead eigendecompose its 6×6 Hessian, flag the degenerate directions, +and hold them at the initial guess while the constrained ones converge +(solution remapping: Zhang, Kaess & Singh, ICRA 2016; Hinduja, Ho & +Kaess, IROS 2019): + +```python +icp = PlaneICP(max_iter=50, max_dist=1.0) +icp.set_target(target) +T = icp.align(scan, use_solution_remapping=True, lm_damping=True) +print(icp.last_hessian) # inspect the observability yourself +``` + +```bash +python3 demo_degeneracy.py --save # writes imgs/degeneracy_*.png (needs matplotlib) +``` + +![Degeneracy demo](imgs/degeneracy_stair.png) + +On the synthetic staircase in `data/` only cross-step translation is +unobservable: plain plane-ICP drifts centimetres along it, solution +remapping holds it near the initial value while the other five DOFs +still converge. On a flat plane three DOFs (tx, ty, yaw) are degenerate +and the effect is an order of magnitude larger. matplotlib is needed +only by this demo — the feature itself adds no dependencies to the +library. + ### Comparison of Registration Methods | Method | Objective Function* | Data Representation | Speed | Precision | diff --git a/data/README.md b/data/README.md index 7c7ae3d..7cd61fd 100644 --- a/data/README.md +++ b/data/README.md @@ -1,4 +1,6 @@ -# License Information for B-01.pcd +# Data + +## B-01.pcd The file `B-01.pcd` is used to test our algorithms and is sourced from the following dataset: @@ -21,4 +23,24 @@ Under the terms of the license, you must: 2. **Provide a link to the license**: [CC BY 4.0](https://opendefinition.org/licenses/cc-by/). 3. **Indicate changes**: If any modifications were made to the original data. -For more details, visit the [license page](https://opendefinition.org/licenses/cc-by/). \ No newline at end of file +For more details, visit the [license page](https://opendefinition.org/licenses/cc-by/). +## Synthetic degeneracy clouds + +`synthetic_staircase_{target,source}.pcd` and +`synthetic_plane_{target,source}.pcd` are generated by +[`generate_synthetic.py`](generate_synthetic.py) with fixed seeds — +regeneration is byte-identical: + +```bash +python3 data/generate_synthetic.py +``` + +They are used by `demo_degeneracy.py` and by the test suite +(`tests/test_synthetic_data.py`). The staircase constrains every DOF +except cross-step translation (one degenerate direction); the flat +plane leaves tx, ty and yaw unobservable (three degenerate directions). +Target and source are independent samplings of the same surface, so +registration sees realistic correspondence noise. + +This is original synthetic data, licensed with the repository (MIT). +No attribution requirements. diff --git a/data/generate_synthetic.py b/data/generate_synthetic.py new file mode 100644 index 0000000..c8a5bb8 --- /dev/null +++ b/data/generate_synthetic.py @@ -0,0 +1,158 @@ +#!/usr/bin/env python3 +""" +Deterministic generators for the synthetic degenerate test clouds. + +Two scenes, each under-constraining registration in a known way: + +* staircase — treads (normals +z) and risers (normals +x) constrain + tx, tz and all three rotations, but nothing observes translation + across the stair width: exactly one degenerate DOF (ty). +* plane — a featureless flat seafloor. Only tz, roll and pitch are + observable: three degenerate DOFs (tx, ty, yaw). + +Regeneration is byte-identical (fixed seeds, fixed format string), so +the committed .pcd files can always be reproduced with + + python3 data/generate_synthetic.py + +Design notes that carry the demo's story: + +* Faces keep a margin (~ the k-NN neighborhood radius) away from the + concave tread/riser folds. Without it, PCA normal estimation blends + the two faces at the fold, the blended normals pick up spurious + y-components, and the ty direction stops being flagged as degenerate. +* Centering is deterministic (never the empirical mean), so clouds + sampled with different seeds lie on the *same* surface — required for + target/source pairs that emulate two scans of one scene. + +NumPy only; no external point-cloud dependencies. +""" +import argparse +import os + +import numpy as np + + +def make_staircase(n_steps=6, tread=1.0, riser=0.5, width=6.0, + pts_per_face=220, margin=0.10, noise=0.01, seed=42): + """ + Point cloud of a staircase marching along +x and rising in +z. + + Step k contributes a tread (horizontal, normal +z) at height + (k+1)*riser and a riser (vertical, normal +x) at x = k*tread. + Returns an (N, 3) float64 array centered deterministically. + """ + rng = np.random.default_rng(seed) + faces = [] + for k in range(n_steps): + # Tread: z = (k+1)*riser, x in [k*tread+margin, (k+1)*tread-margin]. + u = rng.uniform(k * tread + margin, (k + 1) * tread - margin, + pts_per_face) + v = rng.uniform(0.0, width, pts_per_face) + tread_face = np.column_stack([ + u, v, np.full(pts_per_face, (k + 1) * riser)]) + # Riser: x = k*tread, z in [k*riser+margin, (k+1)*riser-margin]. + w = rng.uniform(k * riser + margin, (k + 1) * riser - margin, + pts_per_face) + v2 = rng.uniform(0.0, width, pts_per_face) + riser_face = np.column_stack([ + np.full(pts_per_face, k * tread), v2, w]) + faces.extend([tread_face, riser_face]) + points = np.vstack(faces) + points += rng.normal(0.0, noise, points.shape) + center = np.array([n_steps * tread / 2.0, width / 2.0, + n_steps * riser / 2.0]) + return points - center + + +def make_plane(half_extent=6.0, num_points=2500, noise=0.01, seed=7): + """ + A featureless flat seafloor: uniform samples of z = 0 over + [-half_extent, half_extent]^2 with Gaussian surface noise. + """ + rng = np.random.default_rng(seed) + xy = rng.uniform(-half_extent, half_extent, (num_points, 2)) + z = rng.normal(0.0, noise, num_points) + return np.column_stack([xy, z]) + + +def save_pcd(path, points): + """ + Write an Nx3 array as an ASCII PCD v0.7 file (x y z). + + Coordinates are stored at float32 / six-decimal precision — the PCD + FIELDS declare SIZE 4 — so a save/load roundtrip is exact to ~1e-6, + not bit-exact against float64 input. Regeneration from the fixed + seeds is byte-identical because the quantization itself is + deterministic. + """ + points = np.asarray(points, dtype=np.float32) + n = points.shape[0] + header = "\n".join([ + "# .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", + f"WIDTH {n}", + "HEIGHT 1", + "VIEWPOINT 0 0 0 1 0 0 0", + f"POINTS {n}", + "DATA ascii", + ]) + with open(path, "w") as f: + f.write(header + "\n") + for x, y, z in points: + f.write(f"{x:.6f} {y:.6f} {z:.6f}\n") + + +def load_pcd(path): + """Read an ASCII PCD file with x y z fields into an (N, 3) array.""" + points = [] + with open(path) as f: + in_data = False + for line in f: + if in_data: + parts = line.split() + if len(parts) >= 3: + points.append([float(parts[0]), float(parts[1]), + float(parts[2])]) + elif line.startswith("DATA"): + if line.split()[1] != "ascii": + raise ValueError(f"{path}: only ASCII PCD is supported") + in_data = True + return np.array(points) + + +# (filename, generator, kwargs) — target/source pairs are independent +# samplings of the same surface, so registration sees realistic +# correspondence noise instead of a permutation of identical points. +CLOUDS = [ + ("synthetic_staircase_target.pcd", make_staircase, + dict(seed=42, pts_per_face=220)), + ("synthetic_staircase_source.pcd", make_staircase, + dict(seed=2024, pts_per_face=220)), + ("synthetic_plane_target.pcd", make_plane, + dict(seed=7, num_points=2500)), + ("synthetic_plane_source.pcd", make_plane, + dict(seed=99, num_points=2000)), +] + + +def main(): + parser = argparse.ArgumentParser(description=__doc__.splitlines()[1]) + parser.add_argument("--out-dir", + default=os.path.dirname(os.path.abspath(__file__)), + help="Directory to write the .pcd files into " + "(default: this file's directory).") + args = parser.parse_args() + for name, generator, kwargs in CLOUDS: + path = os.path.join(args.out_dir, name) + points = generator(**kwargs) + save_pcd(path, points) + print(f"wrote {path} ({points.shape[0]} points)") + + +if __name__ == "__main__": + main() diff --git a/data/synthetic_plane_source.pcd b/data/synthetic_plane_source.pcd new file mode 100644 index 0000000..faab0f7 --- /dev/null +++ b/data/synthetic_plane_source.pcd @@ -0,0 +1,2011 @@ +# .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 2000 +HEIGHT 1 +VIEWPOINT 0 0 0 1 0 0 0 +POINTS 2000 +DATA ascii +0.072368 0.781100 0.000728 +0.142992 5.666236 -0.007988 +1.378838 0.819402 0.004378 +-2.558559 0.654137 -0.011940 +-0.389718 1.320696 -0.000500 +5.165310 -3.049375 -0.011467 +-2.286740 -1.307044 0.009018 +-2.756739 -1.799821 -0.006728 +5.234756 -1.465389 -0.001771 +3.295790 -5.513193 -0.002201 +-2.416133 2.431094 -0.010026 +-0.572969 4.678295 0.008631 +-0.778800 1.482718 -0.010687 +1.024557 1.189581 0.002653 +1.868228 0.135384 0.001307 +-3.675843 -5.172391 -0.012161 +-2.975452 -4.857686 -0.000934 +-4.642447 -2.632970 0.008556 +1.110196 -1.881330 0.004853 +3.334191 5.584626 -0.001879 +-2.017920 -3.164590 -0.006694 +2.253976 0.871990 0.001442 +3.234686 1.402989 -0.012977 +-2.645778 4.933276 -0.006088 +0.875238 2.619726 0.020997 +2.068496 3.237530 -0.003107 +3.028871 -1.076353 0.007518 +-5.544888 -0.180300 0.009067 +4.744181 -4.265388 0.013362 +3.384149 1.864391 -0.010372 +2.468199 -3.382743 0.001022 +-5.096036 -2.786614 -0.009736 +1.478797 -1.337020 0.000372 +-2.942440 -1.235274 0.001636 +2.734685 -2.933793 -0.008029 +0.536608 -1.123345 -0.000125 +5.916842 4.246292 0.002552 +2.670093 0.607472 -0.005161 +-1.220837 2.133612 -0.006554 +4.106029 -4.320102 -0.010751 +-5.521239 -0.484581 -0.000211 +-2.763490 4.621891 -0.010267 +-2.834004 4.957170 0.005728 +0.012580 4.020020 0.003139 +-0.562290 2.593792 0.012480 +5.735511 -4.007091 -0.012504 +-2.903904 0.187445 -0.008341 +-1.457823 3.618368 0.005818 +5.081238 0.871519 0.000509 +-4.407509 -1.481550 0.000970 +-2.334546 1.739459 0.002733 +-2.952070 -4.979592 -0.004934 +0.126071 -2.641675 -0.005976 +-0.032545 -1.850376 -0.013900 +3.181396 -2.898271 -0.007331 +2.769828 -4.620245 0.001451 +3.365503 5.966552 0.017085 +-2.622047 5.996248 -0.014260 +1.463237 0.842352 -0.007445 +-2.932577 2.042011 0.007726 +-0.641391 1.121450 0.003427 +-0.246439 3.385421 -0.000433 +0.324216 -2.001203 -0.005202 +-2.179302 0.725531 0.016247 +5.606191 -4.781792 0.001451 +-5.748271 -0.600401 -0.007619 +-3.830430 4.891269 0.012034 +0.815717 3.836069 0.001424 +3.810008 -5.863203 0.004264 +4.560303 -0.894261 0.000554 +-3.281998 4.414766 0.007906 +4.007016 4.468929 -0.000184 +4.628622 5.500307 0.018724 +-2.934466 -3.092970 0.002874 +-5.314658 2.997115 -0.008175 +-1.507206 2.039219 -0.001980 +3.627499 -2.933217 -0.006722 +5.915602 1.180669 0.018656 +4.691567 0.177733 0.004844 +4.930606 -0.142709 0.007121 +3.714362 -1.471625 0.011887 +-5.995962 2.702466 -0.010032 +-4.626405 5.341190 0.012980 +0.794271 -1.670730 -0.007620 +3.254998 5.425445 -0.004287 +-1.115432 2.402436 0.005817 +-0.889575 -4.528747 -0.008470 +-3.966484 4.217542 0.006261 +-0.508883 -1.808468 0.020601 +-2.125397 -1.832383 0.008007 +-2.475579 3.490838 0.013924 +2.446613 1.151434 0.021557 +3.512406 -4.661728 0.004639 +4.056604 -3.081482 0.009719 +-4.637762 0.270870 -0.023778 +-1.643105 2.552085 0.002507 +3.055861 4.133214 0.001944 +-3.835186 1.898251 -0.003014 +-1.900638 2.036370 -0.000363 +2.755140 3.865992 0.011620 +-0.786135 0.012401 0.011612 +0.822617 0.478909 0.007098 +3.733237 -1.947384 -0.013064 +4.181163 -4.144407 -0.010974 +2.643413 2.738252 0.007686 +1.133222 -2.887969 -0.006398 +1.304137 -3.450953 -0.000695 +-5.398204 3.179846 0.000146 +-1.079294 -3.124692 -0.013840 +2.612826 -1.609282 -0.013193 +0.862841 -2.267236 -0.009455 +-4.327248 -3.412772 -0.015310 +-2.608063 0.078968 0.018140 +1.806771 5.591465 -0.017759 +1.103721 5.594922 0.000026 +-3.995188 -4.993833 0.005545 +-4.798156 -1.176182 0.005628 +-1.501663 3.506076 0.001220 +-5.633439 1.115721 -0.008212 +5.687453 -1.854233 -0.015628 +0.316641 1.460941 -0.011203 +1.375591 0.518506 0.001639 +-1.031247 -1.283633 0.003455 +-4.480171 3.550163 0.010413 +5.011734 -4.026075 0.002764 +-4.141653 5.927744 0.003893 +-5.935002 4.091512 0.014348 +5.501629 2.917618 0.005975 +-2.932350 3.304558 0.004278 +1.369534 2.683291 -0.002687 +-0.143585 -2.378187 -0.027423 +5.184429 0.740912 -0.016815 +-1.891124 -3.782119 0.005525 +2.113549 -4.647910 -0.017380 +1.037032 0.300097 0.003456 +5.666338 3.870300 -0.007737 +-2.037895 -0.362288 -0.006779 +5.799027 3.964598 0.002832 +-4.904436 2.576867 -0.001615 +3.341536 5.964762 0.006344 +3.784696 5.236027 -0.006118 +5.536566 -4.262980 0.003181 +5.117399 -5.618357 0.004313 +2.141443 4.201124 -0.009569 +-1.221714 4.280787 0.000473 +2.036289 1.825150 0.001726 +1.095834 -4.233022 -0.001128 +5.707170 2.243680 -0.011722 +4.292418 -1.952390 -0.006521 +-4.270973 2.224740 0.000710 +-3.429167 3.020321 -0.021160 +1.415696 4.848692 0.003098 +4.539927 -1.884691 0.013497 +-3.011563 -5.649906 -0.008059 +0.399953 -5.838774 -0.004777 +-0.058261 -1.907025 -0.010481 +-2.066351 4.435187 0.013100 +3.045801 1.996961 0.011420 +-0.729020 0.869009 -0.000137 +1.271744 -2.328152 0.003533 +3.725705 -4.680943 -0.008146 +-4.857507 -5.529613 0.006018 +4.975359 -2.480604 -0.000848 +-5.074774 1.498212 0.000907 +1.698800 -3.491163 0.011777 +5.698810 -3.218897 -0.020519 +-0.933056 0.812435 0.005175 +2.090798 -1.233461 0.008871 +-3.708470 -0.850409 0.011450 +-0.563191 2.219709 0.002426 +5.311704 5.480489 -0.002921 +5.560805 -0.450205 -0.016465 +-3.471267 0.453878 0.013311 +-2.020287 -0.197372 -0.019604 +1.156312 2.720165 -0.000339 +1.104905 -2.206542 0.002791 +5.945177 -1.712854 0.007920 +5.852610 -3.100112 0.002783 +-3.180676 3.675963 0.008429 +-2.235269 -5.767323 0.009725 +-1.326243 5.725745 -0.003960 +-5.579357 -1.644401 0.014556 +0.271845 1.500580 0.009675 +-2.812703 3.094486 -0.010819 +2.094934 4.720349 0.011157 +5.574983 -0.871330 -0.001260 +-4.572487 -3.862725 -0.014470 +2.569056 -0.598495 0.001594 +0.518658 5.943697 0.007736 +3.228362 -2.705186 -0.010049 +5.754436 -2.192100 -0.006183 +3.111136 -1.595670 -0.007224 +2.720980 -0.330454 -0.011672 +-0.271079 -1.543743 0.002432 +0.268648 5.715260 -0.008625 +-3.844510 4.457431 0.009155 +-5.841242 -3.718158 0.006604 +4.573268 5.019965 -0.003484 +-1.986340 -3.409453 -0.014833 +2.543595 3.586716 0.008851 +-4.769151 0.527355 0.010074 +-3.876215 1.015222 -0.003134 +3.082570 -2.458747 -0.002655 +4.448225 -4.834669 -0.004524 +-3.704482 -5.755310 -0.005160 +5.584048 0.361136 -0.000999 +3.673040 3.680841 0.010590 +1.974677 3.706607 -0.005624 +-1.438841 -2.102796 0.008329 +3.527279 -1.803580 -0.000629 +-2.510629 2.809153 -0.007645 +-2.410542 3.562820 0.004844 +5.571482 -3.584598 -0.010183 +-3.423577 -1.665845 -0.014960 +-5.831252 -4.713657 -0.008702 +-2.210318 1.949280 0.009390 +3.315545 1.730275 -0.008837 +1.812380 3.482141 0.018960 +-2.132823 1.252713 0.022913 +4.427251 -4.592703 -0.016865 +1.782638 -0.459362 0.001165 +-0.448097 -0.112224 -0.007369 +-0.939836 2.778065 -0.009952 +-2.054189 -3.091859 -0.002316 +0.198831 3.516196 0.005772 +4.052893 -3.304938 -0.010003 +-1.402748 -2.980288 -0.010313 +-5.918910 -2.262052 -0.016701 +-2.785024 4.471647 0.000971 +-3.281499 5.980390 0.016998 +-4.973851 -5.985679 0.002774 +3.351808 -3.100933 -0.013710 +-3.905940 5.346045 0.004416 +4.890481 -2.285045 0.002039 +-0.594110 -3.755892 -0.004057 +1.953076 5.930994 0.014683 +-5.064487 -5.904392 -0.011400 +-5.693944 1.913327 -0.020374 +-1.817989 5.687791 0.000200 +4.893250 -4.345270 0.011477 +5.732780 4.706671 0.016770 +-0.811909 1.745778 -0.009131 +0.885803 0.806736 -0.008108 +-3.951833 4.547562 -0.002512 +-5.073703 4.294389 -0.003949 +-5.688577 2.924400 0.017335 +4.582348 4.946700 0.013424 +1.486791 -4.381102 -0.009547 +-0.342794 -2.337742 -0.014929 +5.986688 -5.552368 0.010807 +1.054579 -2.533357 -0.003790 +-2.735917 -4.892220 -0.007015 +-4.208851 3.081711 0.000002 +1.011042 -1.472000 -0.002342 +2.931254 -3.130916 0.002593 +0.678657 1.274245 -0.021198 +-4.478805 5.158466 0.011340 +-1.982067 -4.842821 -0.005735 +-3.693656 1.138137 0.001693 +2.608928 -0.652658 -0.009560 +-4.128369 2.590674 -0.004624 +3.202680 0.239986 0.004760 +-1.783851 2.574401 -0.012235 +-3.480763 -4.925753 -0.011768 +-1.079803 5.250845 -0.003353 +-3.201757 -3.623103 0.000417 +-3.661808 4.125368 0.014965 +0.349534 4.444848 0.003115 +3.167478 -0.617643 -0.006334 +3.184726 3.426398 0.019813 +4.435773 0.696839 -0.010304 +3.889423 0.664298 0.000665 +-1.742147 4.035299 0.009038 +-2.675280 -5.316223 -0.008492 +-0.511919 0.783010 -0.012889 +-3.702260 4.327257 -0.009705 +-1.669087 -2.256498 -0.011722 +5.132189 -3.681168 0.001706 +-3.435308 -2.092590 0.005483 +4.266973 2.746327 -0.004544 +4.365759 -1.053038 0.009287 +2.770014 -0.759094 -0.017835 +-2.941767 -4.116470 0.000003 +5.242061 1.835144 0.013343 +-1.293731 -4.878150 0.001296 +3.273621 -3.348817 0.001109 +1.234965 0.670550 -0.020559 +5.130172 4.663978 0.019156 +5.695197 0.982547 -0.005034 +2.238370 -4.287963 -0.003509 +2.142763 4.653882 0.018174 +-5.779891 2.147621 -0.000908 +1.389643 4.622320 -0.009784 +4.214334 0.175389 0.010435 +-1.686113 0.832117 0.013685 +2.772136 0.445083 -0.000872 +4.095211 -1.615545 0.007824 +3.347408 -0.381823 0.010742 +-1.710043 0.395731 -0.002850 +4.085697 3.043577 0.006836 +0.497641 1.561398 -0.001090 +-5.079322 3.832752 -0.019241 +5.581656 4.294205 0.006111 +4.731174 -3.278768 -0.001967 +0.247095 1.193461 0.013020 +3.252862 5.798430 -0.014277 +0.779004 -2.789161 0.003904 +5.549451 -2.369370 -0.014965 +1.386925 1.831957 0.004616 +-4.531683 5.653984 0.000843 +-1.310123 -0.614433 -0.024383 +-5.007987 -5.363449 -0.004212 +-1.511864 5.465042 0.002845 +5.394587 -0.924738 0.010134 +4.931525 1.393674 -0.009797 +1.798846 -1.726543 -0.015239 +5.051176 -3.970654 0.010073 +-3.327595 -0.729685 0.004814 +-3.554953 -1.080724 -0.004389 +-4.504110 -3.595431 -0.002245 +-0.481907 -1.022283 0.010909 +0.711121 3.441442 0.005305 +-0.887092 4.691203 0.014735 +-2.241355 2.600175 0.004066 +-1.997008 1.057341 0.008787 +-1.576545 5.988257 -0.008342 +-5.575815 -1.428334 0.000630 +-0.800686 2.331746 -0.005636 +4.515738 5.692810 0.003125 +0.718903 -0.101480 -0.002688 +4.974352 1.921414 -0.000822 +-3.054205 5.400553 0.005301 +-1.484367 -1.011849 -0.013074 +3.851714 -4.854442 -0.005669 +5.957712 1.659635 -0.002978 +2.585164 3.372126 0.003454 +1.050636 3.787556 0.001783 +4.754947 4.570027 -0.000029 +1.897284 -5.057639 -0.000017 +-0.568378 -0.841905 -0.002177 +-1.783060 2.621276 -0.003201 +-2.512868 0.876537 0.004437 +4.625724 1.203925 -0.005247 +3.238436 -0.549735 -0.007426 +-4.209086 2.599258 0.012223 +3.479972 5.018335 0.002334 +0.892156 -1.243887 -0.005381 +4.729086 4.695515 -0.004544 +-2.340201 4.192855 -0.013861 +-3.823963 1.155994 -0.016614 +-3.919478 -2.649683 0.011765 +-3.807617 0.779874 0.002181 +1.061579 5.756372 -0.005169 +-3.537654 2.452246 0.001821 +3.957118 4.457202 -0.008402 +-5.437506 -3.642345 0.001064 +-1.941893 0.533819 0.012207 +-1.390181 5.536052 -0.000333 +2.178303 -2.759366 -0.009761 +5.779566 3.794745 -0.006601 +3.369695 -1.707954 0.003904 +4.909593 2.709257 -0.016570 +-5.095910 3.594120 0.014907 +5.553215 2.693411 0.004296 +0.306432 5.252116 0.011028 +-0.158004 2.220424 -0.015506 +5.475739 -2.329560 -0.004953 +4.845753 -1.571609 0.003661 +1.704197 3.157912 -0.002711 +1.414911 2.271257 0.002647 +-1.316299 -0.064650 0.004731 +3.874506 5.286756 -0.012152 +-5.882830 0.400755 -0.011325 +-2.650362 1.803184 -0.009441 +-3.493388 -5.469157 0.000933 +-4.444324 4.514269 0.017127 +-2.387648 -0.816646 -0.003542 +-5.630342 2.736185 0.007302 +-0.725229 4.851404 -0.003420 +-2.683424 -4.932764 -0.011830 +2.289121 0.435089 -0.008601 +-3.935582 -4.589486 0.007548 +4.538905 -0.352289 0.000563 +-5.085390 -5.986804 -0.007422 +5.761791 1.754803 -0.008505 +-3.234133 3.900424 0.017360 +5.313955 1.838131 -0.015958 +-4.756937 3.962811 0.006214 +5.895139 -0.852977 -0.007502 +3.009768 0.817198 -0.009752 +2.422332 2.601443 0.005998 +3.200503 -3.251788 -0.014003 +1.289244 -1.490653 -0.019032 +-3.795325 4.843072 0.000464 +5.818147 -3.756857 0.012146 +-5.449104 5.380802 -0.008533 +-2.721013 2.897185 -0.005210 +-2.538735 1.212093 -0.002518 +1.748768 0.656891 0.008211 +4.904185 -4.234541 0.014177 +-2.750158 -2.698818 0.003276 +-4.819036 1.933649 0.002749 +-4.989261 3.438371 -0.008969 +-5.720566 -2.410913 -0.005234 +-5.452746 -4.949393 -0.013589 +-0.500548 2.172257 0.017876 +5.192394 -4.343949 0.017346 +4.319496 0.860055 -0.010426 +-4.164598 1.101931 0.011134 +1.287272 1.186112 0.002593 +-5.509328 -2.666586 -0.009131 +0.665519 4.036851 0.015535 +3.348620 -1.848990 -0.006912 +5.960760 -4.952284 -0.001515 +-0.811720 -0.306544 0.003947 +-2.305818 0.690624 0.005102 +4.889316 -2.002208 -0.019448 +2.886412 1.509962 0.000873 +-4.534275 -4.934856 0.014239 +0.576488 3.387130 -0.004950 +5.016475 0.107242 -0.018459 +4.863965 -3.372983 0.005145 +-1.600240 -2.133334 0.015312 +3.409147 -1.973100 -0.017972 +4.154092 -4.484194 -0.016639 +-2.520937 4.300745 -0.012902 +-4.300354 2.801723 0.017393 +-1.280318 -5.371601 0.012710 +3.549891 3.721209 0.013805 +-3.031331 -3.513129 -0.016454 +-5.665631 4.603077 0.004093 +-3.487406 0.861690 0.001970 +-4.448645 5.323664 -0.001732 +0.856054 4.524395 -0.001153 +0.133757 3.180264 -0.000437 +3.190712 -0.988924 -0.015071 +5.556874 -1.223777 0.004042 +-1.221573 2.703867 0.017598 +-2.962579 2.996103 -0.015507 +-4.702894 -5.286955 -0.000430 +1.464818 -3.577589 0.006833 +-4.687490 -1.940346 0.001470 +1.762920 -3.077275 -0.019432 +0.487469 -5.383824 0.003646 +1.968238 -3.968039 0.017934 +-4.328020 1.939083 -0.014871 +0.303753 -1.112890 -0.005245 +0.749216 2.060963 -0.002524 +-3.538823 0.521617 -0.007434 +-4.776995 -3.147851 0.003851 +2.972248 -5.537274 -0.002021 +0.437134 4.282043 0.004255 +0.695833 -4.071578 0.012556 +-1.707704 -1.074929 -0.009268 +-1.391420 -2.880535 -0.001258 +2.441444 4.291270 0.005012 +1.742501 4.805957 -0.006640 +1.182901 -4.076150 0.011821 +5.600181 -4.346873 0.003567 +-0.921588 -0.940923 -0.014116 +-1.199324 0.180300 -0.003137 +-3.752500 -4.211313 -0.020281 +2.133271 -3.644068 -0.000610 +3.259566 -4.191053 -0.008450 +2.369205 -2.571111 -0.013552 +0.673835 4.905334 0.016913 +5.290331 -0.477075 0.027575 +3.796760 -0.158703 0.007286 +1.030225 -4.204071 -0.004687 +-3.982567 -3.353337 -0.006030 +2.814927 -0.673906 0.003885 +-3.887022 4.932317 0.012716 +-2.989667 -0.492193 0.005675 +-2.868316 -2.327265 -0.016608 +-3.192685 2.089387 -0.000103 +-1.493233 0.190328 -0.007443 +-1.223628 -1.134820 -0.008096 +1.740932 5.543330 0.002312 +-0.924366 -2.765124 0.003459 +-3.590608 -0.097003 0.010212 +3.282074 4.109132 -0.010466 +-0.296191 -3.969578 0.001795 +2.647001 -2.862906 0.016150 +-4.742156 -3.358761 -0.000223 +1.096168 -1.146258 -0.002637 +3.328459 0.810153 0.000830 +-1.534479 -3.714199 0.002294 +4.201875 -3.945540 0.017338 +5.630920 -0.197868 0.003598 +1.315413 5.487675 -0.011125 +4.895089 -1.132585 0.000884 +5.223174 -0.993789 -0.022982 +-4.489148 -4.819590 -0.005031 +2.377215 0.220752 -0.006512 +4.840429 0.396382 -0.012874 +3.489568 5.568960 0.009821 +5.978566 -5.145437 0.006548 +5.775397 0.282835 0.009456 +-1.036707 3.922219 0.006938 +3.390289 4.304086 -0.005162 +1.414380 1.782178 0.018135 +1.542009 4.690060 0.002599 +0.502679 -5.777317 -0.013386 +-5.652182 -1.970865 -0.002790 +-5.816519 -5.451686 -0.009326 +-3.632823 -5.663248 0.005009 +0.342886 3.899859 -0.013384 +5.761981 2.873639 -0.000224 +0.719160 1.639400 -0.001585 +0.125849 1.115943 -0.003261 +-1.504821 -5.273584 0.004096 +-2.590195 -4.236727 -0.011368 +-2.404379 1.170631 -0.018192 +-0.425788 3.181798 -0.003655 +5.525223 -2.429195 0.016862 +3.741512 2.625907 -0.020788 +3.606948 4.488428 -0.008073 +2.556861 2.927999 0.017014 +-4.592368 0.582210 0.006308 +-0.656054 -5.449147 0.009028 +-0.320407 4.678449 0.008550 +1.923840 -4.139005 -0.006156 +2.355892 0.177421 -0.001996 +-5.277465 -5.986325 -0.019917 +-0.920690 1.437805 -0.013897 +4.419106 -4.449255 -0.020408 +3.925303 -3.576212 -0.009834 +-1.893773 -4.760933 0.012554 +-1.032114 -3.642163 -0.004518 +2.749770 3.357947 0.009386 +1.136412 0.731119 -0.001363 +-4.079444 5.104723 0.007293 +5.935849 -0.201542 -0.013956 +5.576318 -3.250823 -0.008613 +-5.624814 5.239245 -0.001319 +-5.341104 -3.975801 0.006287 +-5.819515 3.077008 0.003829 +-3.185509 -2.990457 0.011528 +-3.823222 -5.462239 0.008811 +4.650481 1.010081 0.000119 +0.306353 -0.526804 0.006218 +5.720415 -3.713217 0.002888 +-4.394016 1.909063 -0.009176 +-4.367632 -3.051719 0.008540 +0.409602 -1.255641 0.002651 +0.724456 -1.566002 0.002333 +-0.754030 0.317054 -0.007720 +-0.693460 -0.015336 -0.003886 +-2.028320 -2.974792 0.010329 +0.508055 -5.799694 0.000757 +-4.233415 2.288088 0.002874 +-5.351081 2.058457 0.000481 +5.467501 -3.507133 0.002882 +-1.766423 1.710763 -0.018638 +1.131088 -3.596918 0.016013 +0.841485 -2.171425 0.001867 +-1.143511 1.682247 -0.005427 +-5.416269 1.628364 -0.008547 +5.626980 -5.785556 -0.006465 +-3.950596 2.282956 -0.005742 +-4.825058 0.421822 -0.006120 +-0.199367 0.393827 -0.021680 +5.460375 1.157266 -0.001279 +-3.044766 -5.533192 -0.005010 +-4.265393 1.963316 0.008750 +-0.986441 1.853710 0.006944 +2.683339 4.800272 -0.005789 +1.984713 -1.699476 0.005262 +-0.679520 2.806054 0.011611 +-5.177118 4.197435 -0.001793 +-1.073903 1.613145 0.002047 +-0.247275 1.779598 -0.003419 +-5.683478 -0.191387 -0.002950 +5.617734 -4.933423 -0.009688 +4.787935 3.625372 0.001840 +-5.654475 1.906238 0.001046 +0.698025 3.455168 0.011183 +-0.029040 -4.983922 0.007726 +-4.700506 -0.717458 0.004839 +-1.998511 4.113701 0.007277 +0.491989 2.398656 0.008520 +-4.777837 0.172265 -0.007479 +0.947263 1.781588 0.020188 +-5.801866 -5.300205 0.003645 +3.172501 -4.795135 -0.001908 +1.320447 4.388840 -0.000086 +5.911412 2.819890 0.004773 +-0.776209 -1.976722 0.012429 +-0.010405 -4.822700 0.003850 +4.259858 5.403339 0.019864 +-0.339822 1.811548 -0.004149 +-0.893413 -4.411865 0.014783 +2.163911 5.905877 -0.011604 +-4.063950 3.130243 -0.001512 +-1.317950 -3.022831 0.018070 +-3.357178 -0.500258 -0.021810 +1.668195 5.128694 -0.013562 +4.771809 2.485396 0.012564 +-2.371886 -4.951762 0.010109 +4.366116 -5.548704 -0.021416 +-3.284532 1.892920 0.012497 +-3.383854 5.369614 -0.013488 +-0.965824 1.202849 0.011219 +-3.953515 3.867165 -0.000744 +3.592515 2.078300 0.008005 +0.857715 -4.175175 -0.009000 +2.658640 3.857539 0.018904 +-2.676116 1.508591 0.001189 +-3.860918 -5.707357 -0.009135 +-0.407117 4.243243 -0.015243 +-5.362644 4.721357 0.002880 +-3.859080 5.597405 0.000602 +-3.277047 -1.584021 -0.008129 +-3.168440 2.826475 0.010143 +-4.047298 5.143383 -0.014024 +-3.957816 -5.800765 0.019019 +5.256644 2.788387 -0.006910 +-2.297048 -0.499759 0.002509 +-0.444596 4.808383 0.010733 +0.724867 -4.414979 -0.007644 +2.152868 -1.934127 -0.004015 +2.281635 -1.939139 0.012901 +-0.331239 -3.640604 -0.009116 +-4.722882 -1.809374 -0.011014 +1.462311 -2.177776 -0.001331 +-3.030533 3.573525 0.001912 +-2.987448 5.619660 0.016118 +0.859790 2.543004 0.013191 +4.020384 -0.689810 0.012756 +3.095177 -1.362601 0.008608 +4.730316 5.911315 0.010601 +1.009201 -4.625865 -0.011281 +3.167876 2.694113 0.001606 +-2.223363 -2.551268 0.025713 +4.542214 -4.415916 0.010226 +5.602940 5.068053 -0.003130 +0.630991 -5.495284 -0.001186 +-5.576516 -2.717968 -0.000710 +-2.099243 3.226180 0.025057 +5.647027 1.565542 -0.013164 +2.651252 5.196127 -0.006754 +-0.286678 3.103223 0.013216 +-2.970318 -3.624142 -0.005197 +0.526315 2.435292 0.004413 +4.541876 2.915038 0.005014 +2.104590 -4.000811 -0.007073 +-4.818588 -4.816224 -0.007311 +2.873801 0.240588 -0.010865 +0.816007 5.505981 0.008340 +-4.563426 -5.565263 -0.016670 +2.103291 5.430372 0.012545 +-1.412461 3.109285 -0.013665 +4.806499 -1.526754 0.010003 +-5.799828 -0.565093 0.002844 +-3.735523 -2.447439 0.004373 +4.582641 2.369738 0.013116 +-5.250819 -2.490880 -0.013222 +-3.975216 2.089721 0.005524 +-0.088210 0.535227 -0.014352 +-3.095563 -1.648878 0.003874 +-4.535654 -2.855509 0.015492 +-1.611987 -4.954972 0.001633 +3.192237 3.029026 -0.004748 +-0.479618 4.776267 -0.002549 +5.038680 0.128610 -0.001862 +-5.727035 4.173701 -0.007799 +0.390117 -1.522936 0.000756 +-4.628475 3.568744 -0.006277 +0.377476 5.171546 -0.012165 +-2.331471 -1.529232 0.001095 +1.122470 -2.898245 -0.005850 +-4.391388 3.501431 0.007679 +1.302885 -0.073216 0.001157 +-5.452789 -1.456996 0.005510 +5.108168 5.434133 -0.010003 +-3.943828 -4.913854 -0.009641 +3.172439 4.536399 0.003256 +-0.188798 -2.516162 0.013782 +-0.456090 -4.792469 0.005478 +2.217393 -5.950741 0.001987 +3.535692 5.778484 0.019004 +-5.772014 -3.307419 -0.001026 +-5.124451 -2.623690 0.004906 +4.186309 -4.524368 -0.008818 +1.162537 3.586863 0.001092 +-2.619895 -5.301751 -0.003591 +3.491455 1.511075 0.009318 +-4.706058 -1.953106 -0.004790 +2.871915 1.144574 -0.009084 +5.217752 -3.710673 -0.003390 +-3.342757 -4.901484 0.012342 +1.822357 2.519347 0.021226 +-1.467124 4.541947 -0.014001 +3.092939 0.091793 -0.005850 +1.934012 -1.924906 0.003874 +3.470152 -4.441532 -0.003994 +-3.427284 4.451216 0.012994 +4.304904 -5.319980 0.003464 +0.424882 1.558414 -0.034440 +-1.765360 1.183380 -0.003808 +3.902955 3.550254 -0.000228 +2.232894 5.491656 0.025866 +-4.104256 2.144851 0.001640 +-4.757781 -3.949527 0.009929 +-2.018863 -2.815682 0.009002 +0.670519 0.038207 -0.016564 +0.400037 3.583880 0.019371 +-2.986454 -1.449070 0.004211 +1.601102 0.345041 -0.003957 +-5.983464 1.236092 -0.015858 +4.298292 4.362288 0.012280 +5.309491 -1.545956 0.004778 +5.279413 -1.005368 -0.008246 +-4.816950 3.332777 -0.001539 +4.720375 1.193753 -0.011594 +-5.508114 -5.482422 -0.007124 +-1.855502 0.113289 -0.004276 +0.959533 4.492633 -0.000925 +-5.222318 3.067610 -0.001417 +-0.353457 0.610752 0.009899 +-3.208919 -3.570657 -0.009761 +-1.053126 5.521002 0.013775 +1.778581 2.434397 0.014162 +0.947217 -4.809803 -0.009625 +-0.274343 -1.271035 0.014408 +4.127611 2.464648 0.010987 +0.953000 1.747768 -0.015208 +-4.034654 -0.875365 0.004040 +-5.459721 4.753453 0.001770 +-3.787213 1.526913 -0.006378 +1.949281 -3.870450 0.007639 +0.866641 3.465892 0.010569 +4.713624 2.987262 -0.002332 +4.390610 4.352390 0.012606 +0.081224 -1.892683 0.010970 +3.320563 1.761799 0.006549 +2.726470 2.644297 0.020148 +3.242183 2.716186 0.012256 +-0.888885 3.576166 -0.000243 +-1.712247 5.302031 -0.000404 +2.903777 -4.575384 -0.004664 +0.467715 -4.826226 -0.005820 +2.802797 -1.372269 0.011418 +4.879071 -4.014900 -0.000652 +-5.494632 -1.301998 -0.007609 +-2.752626 2.394463 -0.004817 +5.436054 2.800236 -0.012864 +0.938163 -4.469029 0.000007 +5.694986 -0.740272 0.006985 +3.710427 -4.040878 0.007867 +2.769090 5.769139 0.014420 +2.270217 3.328219 -0.002004 +-2.727146 -3.846395 -0.005637 +2.353976 5.899843 -0.013013 +2.249506 -3.217811 0.021759 +-2.882894 -1.119381 -0.013219 +1.224711 -5.665606 -0.020675 +0.782828 -0.922929 0.002555 +-4.233389 5.024539 0.002234 +-2.635695 2.466851 -0.012963 +-0.442650 0.093388 0.007409 +5.620704 -2.848298 0.004082 +3.371426 -4.770434 -0.005738 +-0.344211 -0.694523 0.012908 +-5.409094 1.687905 0.004040 +0.373119 -0.930492 0.002352 +-0.376519 1.749264 0.005636 +3.831302 -2.792428 -0.017733 +-3.810929 1.928498 -0.001149 +2.309195 -3.993739 -0.003595 +0.537390 5.341530 0.003104 +5.738678 2.105726 -0.006058 +4.305454 -0.096450 0.004581 +-0.913315 0.301809 0.022804 +-5.234199 2.150947 0.004697 +2.917320 -2.196151 0.001508 +-0.100961 -2.876184 0.005662 +-3.448711 3.607799 -0.003889 +-4.072272 5.314509 0.002155 +1.654451 -3.290606 0.002762 +5.959440 3.610247 0.003873 +-4.435076 -2.189988 -0.011576 +1.808050 1.384350 -0.001993 +-1.959914 3.283014 -0.000887 +-5.017498 2.292908 -0.008348 +-5.073751 2.837632 0.004605 +4.976004 0.105515 0.001005 +-3.028542 -3.306847 0.003879 +-1.791889 -3.150010 -0.001851 +4.477909 -5.135145 -0.000026 +-3.325468 3.543221 0.014063 +5.575940 -0.888166 0.014338 +-3.871410 -1.188655 0.007105 +2.946359 3.908361 -0.005247 +0.042014 2.496625 0.010089 +3.415853 5.532000 0.016526 +-4.392177 2.625856 0.011775 +0.997004 -1.630863 0.005906 +4.233537 -4.721711 -0.000334 +1.548512 -3.623795 -0.002501 +-5.260730 -4.614111 -0.020103 +0.857580 -3.611334 0.008372 +4.266164 0.029592 -0.017681 +2.773422 4.869738 -0.011442 +5.507676 4.701791 0.007323 +-2.679735 5.633781 0.009686 +-5.907064 3.029954 -0.008643 +-1.734921 -1.945204 0.001208 +-3.844485 -0.105782 -0.012192 +4.250407 2.686400 0.009644 +4.398981 5.028946 -0.014868 +5.324614 0.494527 -0.008075 +-1.667556 -0.308233 0.006741 +-2.553854 0.512034 -0.001233 +-4.882881 -0.712646 0.009202 +1.254566 -2.037243 -0.006811 +3.940325 5.752584 -0.009220 +-0.511096 1.593606 -0.004945 +3.155552 2.890109 0.010816 +-2.107481 -0.898064 0.015022 +3.922604 -3.248433 -0.010634 +-4.264873 5.148503 0.002064 +2.975658 1.674604 -0.004667 +5.607063 -5.240345 0.002823 +3.209840 -5.267673 0.011833 +3.532310 -4.436959 -0.002315 +-2.380760 -2.863070 0.014385 +-5.640348 4.938300 -0.012780 +3.865744 5.523124 -0.012986 +0.261036 2.452138 -0.005793 +-1.011099 -1.863481 0.005801 +4.178342 -5.815988 -0.006573 +0.120254 -0.403391 -0.002219 +-4.436188 -4.840348 0.011587 +-0.987744 5.733260 -0.010254 +-2.129822 -1.804594 0.000483 +3.040822 -4.760281 0.006619 +3.953321 -0.801477 0.016318 +4.604378 -1.568668 0.009777 +2.220433 -5.429073 0.003850 +4.830256 -4.423586 0.019315 +-3.091266 -0.544618 0.000406 +2.462957 2.743409 -0.014041 +-1.951034 4.529752 0.004434 +-5.934628 3.320291 -0.000825 +1.023506 5.181271 0.005042 +-4.912481 4.915884 0.006056 +2.659578 2.751938 -0.019822 +-4.622830 -0.773137 -0.018756 +-1.006465 -1.575544 0.019381 +-1.225851 2.508569 0.001942 +2.919387 4.955029 -0.004663 +-2.487255 -5.521262 0.012205 +1.827601 1.898740 0.001495 +5.916093 4.555044 -0.010182 +-3.981421 -0.753260 0.002191 +-3.319200 3.986196 0.001695 +1.648928 -2.297381 -0.005305 +-0.528634 5.600822 -0.013515 +4.396539 -0.629574 -0.018882 +3.038087 -1.390326 0.009811 +-3.254791 4.163170 0.005510 +0.131367 0.196349 -0.011901 +1.711112 -1.406695 0.006147 +3.740431 4.325923 0.005179 +1.294488 3.516878 -0.001879 +2.582487 3.295057 -0.000683 +4.698118 1.254376 -0.006059 +-4.690272 2.996970 -0.005124 +-0.573292 -1.831676 0.012002 +2.722531 3.349063 -0.009705 +-1.316095 -5.305851 0.001660 +-2.893823 2.325320 -0.003910 +5.072527 -2.564331 0.010278 +-5.495273 4.212298 -0.002739 +-4.231955 -0.913443 -0.007402 +1.996008 -0.301876 -0.003069 +-0.374787 5.177905 -0.009816 +-3.629602 0.319034 -0.010580 +-0.204632 -3.616170 0.004497 +-3.828168 0.093981 0.018000 +5.713291 3.440204 0.014745 +-3.421388 -3.708167 -0.004065 +5.492495 0.044430 -0.005799 +-2.189968 -4.666633 -0.021286 +-4.025912 3.524934 -0.011495 +-2.567191 -2.347874 -0.007737 +-2.926309 -1.326900 -0.005284 +-4.877348 -2.367469 0.019691 +5.976517 -4.937283 -0.000387 +5.501310 2.149780 -0.002006 +0.898169 0.846757 -0.002726 +-4.276495 5.734299 0.006686 +-5.608046 -5.333184 -0.012236 +-2.736626 0.153938 -0.016759 +-3.776055 0.273532 -0.003609 +5.772405 2.053510 0.001825 +4.214844 -3.136112 0.001792 +-0.833442 4.314761 0.018566 +-4.818782 3.827590 0.006048 +1.090780 -4.302607 -0.013059 +4.254345 -3.010049 -0.010614 +2.755966 3.976558 0.017258 +-2.375006 4.776276 0.016431 +5.363186 -2.112497 0.014256 +-1.541196 1.041978 0.007698 +3.541942 -2.706747 -0.015020 +-2.180539 -4.776343 0.002234 +-4.954939 -4.751439 -0.001231 +-5.259641 5.787296 -0.004861 +3.905886 5.695796 0.001978 +2.726687 0.285110 0.019094 +3.663170 -3.186007 0.003477 +-4.310215 2.715388 0.010526 +3.569293 -2.093673 -0.008800 +1.413450 -4.239029 -0.007521 +2.877897 1.188100 0.018571 +4.943457 -4.042483 0.002188 +5.125470 0.627603 0.005362 +5.079349 -0.624891 -0.015513 +0.749013 4.697148 -0.021328 +-5.836474 5.518094 -0.003839 +3.580029 5.735790 0.027659 +-3.236030 -4.155559 0.004382 +-0.364179 0.743095 -0.008678 +0.355908 1.632828 -0.010416 +-3.080309 1.861914 -0.018587 +-3.012820 -1.841296 0.012488 +3.195903 -4.742097 0.007263 +-5.086709 2.395168 -0.023740 +-5.350025 -5.458980 0.022076 +4.186771 5.406271 -0.001214 +-0.914531 -3.448651 0.013353 +-5.656314 4.797406 -0.009200 +-1.223943 3.108387 -0.006597 +4.830480 4.071361 -0.005205 +0.633144 -4.338535 -0.005564 +1.469366 5.103023 -0.019627 +5.442649 -1.703855 0.004862 +-5.473726 5.664958 -0.003149 +1.429873 -1.300587 -0.005133 +4.782141 1.449422 -0.001132 +-3.357140 4.611488 -0.007879 +-1.897080 4.709913 -0.003460 +-4.666994 5.520883 0.012623 +5.731546 1.115865 0.002241 +2.970147 5.806924 -0.006273 +-5.431823 -5.826256 0.006742 +-2.429455 -5.896910 -0.008855 +4.832421 -2.269823 0.003682 +1.737056 -4.487658 0.007107 +-1.739464 -4.600012 0.005278 +-2.409354 5.637580 0.007639 +2.393562 3.016819 0.004664 +-3.106445 2.109728 0.002079 +-1.684544 -0.439898 0.003453 +3.302280 -1.961165 0.005552 +-0.543561 5.205388 0.000961 +4.715535 3.978371 -0.033399 +-5.687092 -1.945695 0.001194 +4.003985 4.488478 -0.012126 +-3.948554 4.107207 0.001536 +-1.568028 -3.945014 0.002685 +1.907180 -4.710715 0.007467 +-2.055691 -4.813258 0.005429 +2.451757 -5.418463 -0.013602 +3.574199 3.060542 -0.001984 +1.501230 -3.528589 -0.001661 +0.160697 0.753960 -0.003519 +-4.510364 3.171689 -0.001457 +5.061499 -5.991936 -0.004412 +-4.768407 1.382000 -0.003647 +-2.250274 4.576099 -0.007813 +2.197736 4.136912 0.008743 +5.292226 -4.102739 -0.003449 +-4.507466 -3.153689 -0.021353 +1.012875 1.851928 0.000934 +4.268867 0.241499 0.005285 +0.908477 -1.297219 -0.004862 +-3.519625 1.243786 -0.004944 +-5.004888 -0.074608 0.008456 +-1.592218 -5.227361 -0.022307 +-5.914189 -0.512487 0.016861 +1.230540 -4.860461 0.004376 +1.875136 1.785626 -0.000107 +1.558062 -2.361182 -0.001491 +-1.775713 -3.801839 0.012780 +-5.433930 -4.157226 -0.009770 +5.414735 -4.641701 -0.007808 +1.607503 -5.338401 -0.013883 +2.516012 -4.952134 0.000800 +-5.886288 -0.584597 0.016102 +-1.651140 3.040263 0.000644 +3.792409 5.335428 -0.017581 +1.433233 2.933471 0.013670 +0.990004 0.358389 0.003917 +-0.818642 -0.794930 -0.000252 +1.485241 0.219769 -0.007178 +2.327266 2.829588 -0.011901 +-1.035468 0.732142 0.003439 +-4.895086 -4.651171 0.006547 +-4.221040 -5.470695 0.011459 +-4.748532 0.683801 0.004966 +-0.111245 0.708507 0.009674 +1.036211 -1.173565 -0.000854 +-2.621109 -2.560453 -0.005114 +-3.014515 0.604118 0.001096 +-1.880425 -4.959496 0.012123 +-2.911094 -0.035042 0.025200 +-1.143701 1.645792 -0.001293 +2.305699 3.838597 -0.008258 +-2.885290 0.428617 -0.015664 +1.841128 -5.486391 0.014292 +-0.903028 -5.600367 -0.006869 +-3.602161 2.899590 -0.001312 +1.904655 5.643783 -0.009165 +3.578809 5.499597 -0.006339 +5.531939 0.550096 -0.003125 +-5.213595 -3.631476 -0.001954 +-4.859863 -2.763018 -0.007604 +5.472933 -1.224886 -0.006175 +0.614479 -3.896185 -0.012210 +4.620362 0.755355 0.006421 +0.664988 1.703686 -0.000107 +0.837971 5.347728 0.002362 +3.359543 -1.171293 0.002395 +-4.417400 -4.527775 -0.014853 +-1.180572 0.592313 -0.014269 +-1.103555 -5.296124 0.004278 +-4.524160 3.745951 -0.020379 +-0.718272 -5.296644 0.009216 +2.449793 -2.645123 -0.006963 +5.603004 0.934776 -0.007521 +2.729626 -1.962818 -0.002575 +-0.827814 4.162882 0.024840 +-0.044753 5.442372 -0.001154 +2.865804 -1.683255 0.001467 +-5.663843 -5.642270 -0.005799 +-4.823738 -4.929405 -0.006412 +-5.373342 4.392064 -0.015172 +1.722346 1.147302 0.012506 +2.630274 -0.084349 -0.004714 +-3.401646 0.413962 0.004701 +1.405248 3.762597 0.006565 +1.260948 -1.666764 -0.004584 +-5.590154 -0.955841 0.004654 +-4.851286 -4.709990 0.000603 +-4.644539 1.680359 -0.002636 +0.093291 -2.106937 0.008099 +4.111065 1.105334 0.002121 +-5.228182 -1.828776 0.000932 +0.757522 2.815500 -0.002134 +3.555168 3.784260 -0.016437 +-0.538437 5.816764 0.004286 +-0.599574 -1.104654 0.001979 +1.234919 -2.814036 0.015865 +5.033193 5.353384 0.002430 +-3.155585 -0.377002 -0.022884 +-4.559614 -4.964618 0.004001 +5.288737 -0.399940 0.013363 +3.946507 3.714611 0.004850 +-5.311103 -0.933328 -0.026754 +-0.535826 0.491198 -0.000787 +5.289544 0.093308 -0.000411 +-5.002037 4.500338 0.006726 +-4.588750 3.703978 -0.005446 +3.753889 0.980805 0.001472 +-4.356730 1.635014 0.003486 +-4.287004 0.705020 -0.012522 +-5.807026 3.250794 0.007114 +4.429915 -3.285731 -0.004437 +2.447132 -0.888167 -0.011721 +-5.729279 3.231192 0.000687 +-5.476424 3.004817 0.011705 +2.491429 -1.164396 -0.003479 +-2.570862 1.742518 0.012175 +3.563306 5.732116 0.022957 +5.737454 -1.363462 -0.000433 +-1.535851 0.112074 0.008751 +-4.070247 4.813633 0.006641 +5.655715 3.373273 0.004846 +1.198685 5.165610 0.001343 +1.782993 2.299270 -0.010205 +-5.369826 2.248470 -0.012348 +-4.552684 5.741957 0.003718 +1.865843 -5.246656 -0.017259 +-2.137476 -4.710132 -0.001158 +2.492448 -4.032792 0.005076 +-3.995222 -3.190578 -0.010906 +4.616126 -4.295303 0.003649 +4.184445 4.342920 0.004995 +-5.045348 2.175024 0.002839 +-4.451796 1.790189 0.007625 +2.259504 -1.709968 -0.014357 +-3.445390 -2.747101 -0.013681 +5.825418 -4.067857 -0.000929 +5.927350 1.530962 -0.007815 +-4.758403 2.147881 0.006607 +2.033136 -5.296454 -0.001591 +1.520667 -1.356878 -0.022563 +-5.297732 -4.096852 0.001391 +0.895595 5.941401 0.004040 +-1.264841 -2.072947 0.004050 +2.842463 -5.307550 0.012118 +4.883129 -5.067167 0.003040 +1.375111 1.374595 -0.004533 +-1.287736 -5.188314 -0.010563 +-5.268395 1.399101 -0.012338 +-2.720471 2.226580 -0.003521 +5.923113 2.495443 -0.011377 +-4.028672 -1.073561 -0.000687 +3.858347 4.892333 -0.000640 +4.899678 4.564316 0.010377 +-0.915408 5.378023 0.002584 +-0.854944 0.766616 0.001045 +-5.085243 5.676932 0.003328 +-1.287328 -3.621554 -0.001872 +-0.233910 0.159079 -0.015766 +-4.368291 2.750975 0.008855 +-2.860397 -0.302989 0.000596 +5.019196 1.029974 0.001938 +3.070751 0.545501 0.008205 +2.399651 4.830579 -0.011568 +5.472506 -5.511273 -0.008482 +-4.352365 -5.874390 -0.000345 +-0.929396 1.915197 0.008372 +1.411639 3.124789 0.004558 +5.531715 -5.036832 0.018924 +3.381711 -1.753435 -0.002354 +-3.258013 -2.329855 0.002365 +-0.602599 1.155808 0.008638 +0.551217 -3.316454 -0.001988 +-4.739261 -4.214358 -0.002018 +0.755744 -5.343258 0.004232 +-3.294414 -1.350728 -0.004665 +-1.296094 2.919484 0.003450 +-3.952507 1.792303 -0.011552 +1.453010 -3.468355 0.000684 +-5.912511 4.805812 -0.006376 +-2.170907 -0.395630 -0.006000 +2.374714 5.836568 0.009003 +-1.048552 1.597987 0.000130 +-4.459319 1.016726 0.002706 +-0.841562 -3.143600 0.002263 +0.377855 -4.694298 0.007647 +-3.428687 3.174201 0.006722 +-3.643450 -3.973258 0.015999 +4.108074 -4.366130 0.000532 +0.639046 -0.519970 -0.006701 +4.111756 -3.226799 0.002415 +4.867029 3.010188 0.008527 +3.665500 0.162896 0.016129 +-2.490988 -0.278930 -0.008091 +2.890399 0.751076 -0.001874 +-3.852476 -4.431871 -0.000040 +3.324407 -0.445198 -0.006373 +4.866678 4.969893 -0.009439 +1.709017 4.507229 -0.003425 +-5.456824 5.345916 -0.014606 +-3.372297 5.190542 -0.010765 +1.207421 0.100336 -0.002187 +-1.656408 -5.321274 0.011022 +-0.738500 0.038943 -0.007278 +-0.181741 -1.650576 0.010846 +-5.771268 3.164063 -0.013043 +2.992108 -2.841480 -0.001579 +1.304452 1.932535 -0.005629 +-5.963433 -0.811621 0.000449 +-0.933781 -4.541530 0.011502 +-1.514755 0.697910 0.011791 +-2.212167 2.738878 0.009286 +-5.146570 1.681648 -0.005299 +0.562377 3.525309 -0.003572 +-0.333847 -4.621020 0.008214 +-2.815956 2.586454 -0.004564 +2.720621 -5.001396 0.015060 +-4.844630 0.593641 0.001558 +4.531141 0.463828 -0.015744 +-3.220979 5.764131 -0.002064 +-4.959365 -1.315586 -0.008778 +4.359106 -2.114851 0.016584 +3.145108 1.986138 -0.017109 +0.267205 2.285866 0.021274 +-2.112469 3.869151 -0.010700 +-4.616749 -5.305515 0.000548 +-2.648808 -1.120605 0.006919 +-1.738046 2.143307 0.009257 +-1.531548 -2.664282 0.014909 +-5.425394 -5.183365 -0.004725 +0.170660 -4.384672 0.008395 +-4.854821 0.046659 0.004327 +4.421187 1.114533 0.004665 +3.224888 3.667463 0.015356 +1.766162 0.722081 0.001750 +2.374686 5.799340 -0.004791 +-3.184542 -5.657522 -0.001742 +4.527150 -0.558640 -0.002516 +-1.986427 -3.504267 -0.002944 +2.481419 -2.219985 0.002637 +-5.544161 -5.018958 0.003265 +-3.222442 3.379719 -0.003578 +-4.718450 -2.323997 -0.001144 +5.896046 5.067615 -0.006908 +-0.283993 -5.286470 -0.010604 +5.464669 3.363329 -0.000475 +4.339660 1.465706 0.017333 +-3.411020 5.932398 -0.007856 +-4.910403 3.349016 0.002733 +4.200621 3.369953 -0.008507 +-3.705029 4.173832 -0.014844 +-1.398760 -4.443717 0.000194 +-2.127072 -1.968251 -0.015134 +-5.268716 -5.599274 -0.003131 +-0.633279 -2.938328 0.002495 +-2.161856 4.650056 -0.010044 +-0.662251 -0.995443 0.002811 +4.245475 -5.043962 0.003275 +-5.378490 -4.363550 0.012225 +2.545035 -3.253565 0.003085 +5.821127 0.826232 0.001982 +-5.878005 -5.479719 -0.016764 +5.798928 -5.558054 -0.009986 +3.232909 3.045024 -0.004077 +-1.178473 4.452299 0.001006 +-0.999686 2.101242 0.024434 +-0.917930 -4.177816 -0.007748 +0.265468 5.639212 0.010216 +2.590121 5.115024 -0.002537 +-2.818797 2.358684 0.009988 +-1.861677 4.663080 0.012686 +5.923107 -5.328111 -0.015507 +-2.978280 0.236794 0.016327 +2.780143 -5.008618 0.003912 +1.377752 1.819951 -0.000610 +2.641045 -0.845951 0.008979 +-5.518157 0.100055 0.006210 +-0.876000 -4.314745 0.004787 +0.973671 -3.009240 -0.003638 +5.212978 -1.070226 -0.006128 +4.953888 4.946400 -0.008763 +1.140219 5.265564 0.009232 +1.691385 0.668293 -0.008946 +3.409162 -5.367709 -0.001177 +-5.664889 3.995534 -0.006306 +-1.677515 3.043500 -0.002947 +-0.975657 0.643629 -0.029222 +-2.057268 4.740197 0.019581 +4.370741 -4.876245 0.019128 +-0.833507 1.390370 -0.017578 +-5.455646 0.150563 0.008565 +5.066843 0.855919 0.004506 +4.807385 -5.168762 0.008735 +3.140667 -4.610938 0.002143 +2.083990 5.023097 0.013735 +-4.941023 1.212310 0.000748 +4.746831 5.440393 -0.000095 +3.634025 -2.744116 0.003771 +3.548805 3.558950 -0.002382 +5.215574 -5.129352 -0.011194 +3.853313 -2.327628 -0.018441 +-2.599418 -2.676904 -0.008952 +5.937422 -2.287831 -0.003067 +-2.438507 0.516567 0.000067 +3.814695 3.231661 0.001557 +3.932979 4.652551 -0.000508 +-3.262398 5.602278 0.005532 +-4.153719 -1.445719 0.014628 +-0.471849 -2.605178 -0.017253 +5.477246 2.353489 0.008527 +3.113518 0.061084 0.002105 +-5.574637 5.368398 -0.009063 +-0.380655 -1.221345 0.009612 +-0.121451 1.547759 -0.001245 +2.119325 4.818627 0.021495 +-4.351614 -0.892610 -0.006830 +0.648865 2.392276 -0.005254 +1.876227 3.264367 -0.013835 +-5.386653 -5.459013 0.015119 +3.086511 1.400971 0.010521 +-2.950199 5.336365 0.007584 +4.731437 5.455466 -0.001140 +-2.713071 3.929304 -0.015787 +-3.630940 -5.077857 -0.002061 +1.458032 -0.535601 -0.005374 +5.413333 -4.770997 -0.013351 +-1.472822 -1.678103 -0.005893 +4.636466 -1.145360 0.012426 +4.707598 -3.811271 -0.003498 +-5.446362 -3.204441 -0.005734 +-5.702450 -4.490378 -0.013291 +0.529796 -5.812348 -0.007251 +-0.234502 5.364790 -0.000319 +4.020463 -4.063741 -0.004226 +0.407917 -4.821233 -0.009161 +5.730221 3.865852 -0.016660 +1.406129 1.382606 0.002386 +-0.404416 0.881769 0.016275 +-5.209722 5.981728 -0.003105 +-3.642497 -2.226042 -0.017554 +-3.074644 5.423983 -0.003061 +2.941076 3.209752 -0.003162 +2.386572 3.807949 -0.001526 +-1.356053 -1.986376 -0.006798 +1.241006 5.959415 -0.010221 +0.855968 -2.669387 -0.008076 +-4.007268 -4.373049 0.011690 +-0.820738 1.430299 0.007189 +-1.761260 0.088407 -0.005551 +-1.608684 2.444909 -0.007822 +-2.274499 3.671514 0.023237 +1.154833 -0.216081 -0.007554 +-5.970865 0.182417 0.014981 +4.989104 1.713709 0.018767 +5.670908 -2.119845 0.013071 +-1.782071 0.879042 -0.003240 +3.588212 -5.864017 0.004752 +1.835681 2.444903 0.014722 +-1.336618 0.956208 -0.016873 +-3.211210 -1.831477 -0.001662 +2.177038 1.104340 0.014413 +-1.035614 -1.462078 -0.005322 +3.269026 0.030377 -0.000989 +0.822763 -0.109320 -0.001989 +4.534960 4.287900 -0.008130 +1.693388 -2.407561 0.005494 +4.652251 -3.063676 0.008301 +3.095866 4.166894 -0.005206 +-5.153472 1.572888 -0.003794 +3.342366 2.241307 -0.008594 +4.170689 4.340744 -0.008281 +5.465667 5.834418 -0.002294 +0.083005 0.560803 -0.004302 +3.217679 -4.141944 -0.002258 +-5.471689 -3.154592 -0.017703 +3.470454 2.256473 -0.006318 +-0.221458 -2.725000 0.006106 +-1.877900 -4.225738 -0.022951 +2.832193 -1.882548 0.000955 +0.888005 -1.637491 0.001476 +0.109136 3.239851 -0.010329 +-1.511765 1.310308 -0.024334 +2.965998 -2.282355 0.008789 +-4.607064 5.643311 -0.011828 +-3.666570 4.541928 0.015255 +0.988363 -0.651664 0.004122 +-5.572691 -4.383205 -0.006158 +0.841987 -1.656922 0.008985 +1.311693 -5.484073 -0.000683 +-1.143332 -5.585823 0.005420 +-2.616879 1.873800 -0.003579 +-3.818887 -1.711488 -0.004149 +4.678184 0.757146 -0.029081 +-3.206338 -4.852078 0.002060 +-2.132597 -5.142905 -0.009360 +-0.544010 -4.540617 -0.005822 +5.403113 0.840608 -0.007258 +1.798256 1.511281 0.006374 +-5.974223 3.471453 0.009696 +0.019108 0.858030 -0.002057 +2.668815 -5.943317 -0.004749 +-0.209592 0.746122 0.015417 +-4.132495 5.518588 -0.000179 +-1.529850 -0.411702 0.003347 +-0.146680 -0.735790 -0.001742 +-4.628785 0.505311 0.002543 +3.613441 0.663038 -0.004901 +-1.967294 -0.386928 -0.011641 +-4.373435 -0.807743 0.004080 +-1.366657 -4.238264 0.014561 +1.234566 0.485444 0.004895 +-3.740425 -4.349938 -0.005012 +5.421085 -1.036903 0.003519 +3.952250 -2.610344 0.001761 +3.215512 0.144717 -0.009029 +0.163210 -4.074722 -0.012193 +1.996816 2.629543 -0.013843 +3.912536 -1.700241 0.007453 +-0.301639 -2.703431 -0.008687 +5.027412 5.758094 -0.005135 +5.733653 -5.303395 0.000267 +2.655708 4.043443 0.005946 +4.348425 5.442437 0.003487 +-4.784642 -5.439112 -0.002047 +-4.468539 -1.232252 0.018271 +-4.825592 0.504345 0.000293 +2.272446 0.350700 0.001285 +0.434358 -4.373877 0.000441 +-5.857000 1.256592 -0.003174 +5.502544 3.241883 -0.003426 +2.901955 -4.534763 -0.017483 +3.095015 1.364561 -0.012870 +-0.544982 5.462107 -0.006265 +5.465380 2.581189 0.001470 +4.875973 -0.957791 -0.000730 +2.826042 -3.362193 -0.012217 +0.037962 5.526900 0.005971 +1.926785 0.198718 0.017722 +-0.108482 0.331348 -0.002308 +-0.947506 5.393285 -0.015299 +2.608222 1.000090 -0.012875 +3.198307 -0.387644 0.009403 +-2.657054 0.742269 0.005800 +-1.645714 -2.334286 -0.004322 +-3.155458 -3.271773 -0.001594 +4.014822 -5.530110 -0.007879 +0.763837 -3.593950 -0.000026 +4.131804 -5.189293 -0.010884 +-4.748853 5.895759 0.002733 +3.352932 3.459988 -0.004452 +0.541148 -5.838812 0.012145 +-3.983182 2.251758 -0.003273 +4.558634 -5.877783 0.003884 +-0.266891 -3.643400 -0.000577 +-5.762880 0.900958 -0.007587 +2.525307 1.667613 0.006492 +1.079746 -0.201605 0.005818 +-3.378036 -4.550591 -0.002364 +4.516876 0.435281 0.014854 +5.655914 5.199918 0.005116 +-3.615457 -1.980339 -0.011903 +1.708986 0.157176 0.001950 +-5.367948 -2.264752 0.006191 +3.017617 -2.990419 -0.001840 +0.086091 2.883343 0.002572 +3.238914 -4.216391 0.012663 +-1.511074 -4.445349 0.004860 +0.512058 2.148201 0.011608 +-2.783691 -5.399298 0.002085 +-3.106675 2.138191 -0.020968 +4.713380 3.152840 -0.006795 +-2.991149 -5.835577 -0.020538 +-2.030608 2.722083 0.012572 +1.002625 -1.147829 -0.005206 +4.489558 -3.698616 -0.001300 +1.603298 1.025709 -0.009103 +-2.139836 0.972164 -0.012401 +-1.867998 4.955400 -0.016804 +3.912574 -4.209239 -0.000805 +0.944388 -1.210699 -0.000806 +1.821889 0.174798 0.003129 +-4.141921 -5.818469 0.003300 +-1.210911 5.072269 -0.024417 +-5.122197 -1.425057 0.001432 +-1.138384 -5.175695 -0.000868 +4.456821 2.139848 0.001686 +2.029644 -5.808487 0.003287 +3.459564 2.141851 -0.002991 +2.255265 -1.134313 0.010736 +-1.434169 -2.246205 0.004650 +-3.590765 4.492726 -0.005696 +-2.529458 0.129792 0.004522 +-2.542971 5.571176 -0.012579 +-0.535520 -3.016751 0.018165 +-4.182866 0.067359 -0.014377 +-1.433339 2.523050 0.016270 +-2.256404 0.677836 0.001100 +0.644638 -4.463829 -0.014534 +0.634520 5.772985 0.003667 +3.185461 3.485050 -0.001318 +3.211577 -3.700266 0.007865 +4.796715 -1.170283 0.006229 +1.343450 0.920461 -0.005238 +1.314898 -2.853407 0.003992 +-3.264432 -5.407032 0.013263 +-1.228049 5.883141 -0.002703 +2.036468 -1.814870 0.009679 +-2.717765 -5.016849 -0.010191 +0.377300 -5.302200 -0.020648 +4.962169 -5.346403 -0.006291 +-1.757489 -3.992354 0.001899 +-5.376771 1.698615 0.004940 +5.099044 1.582319 0.012624 +1.511454 3.885104 -0.006380 +-0.895011 -2.024392 -0.003149 +0.164546 -3.410915 0.000599 +-4.177854 -2.085786 0.012324 +3.779786 0.862077 -0.002735 +2.642095 -5.189441 -0.003903 +-2.820419 -0.990670 0.011646 +1.274061 -0.143178 -0.003851 +5.731315 -4.896710 0.006729 +-1.509447 5.632576 -0.012141 +-1.884497 -0.095529 -0.002196 +-3.951104 1.673474 -0.000661 +-3.768595 -3.583501 -0.020622 +0.105280 -2.171234 0.023248 +1.355967 2.626534 0.001120 +-4.093055 -5.265711 0.002345 +0.235904 -4.508209 -0.004242 +5.904934 2.724624 0.012122 +-0.190382 -1.586852 -0.000149 +-5.512924 2.468685 0.008239 +-5.076301 -4.603559 0.002261 +4.783384 -3.013469 -0.000556 +4.850877 5.300051 -0.011460 +2.390659 -0.741609 -0.005730 +-0.877203 4.872556 0.012579 +-5.799971 0.166464 0.022563 +5.350770 1.573042 0.001601 +-0.018272 -1.236432 0.000154 +5.787592 5.974254 0.007497 +4.401314 4.939910 0.008010 +0.544935 -4.663386 -0.001399 +-0.931263 -3.265739 -0.003723 +-1.043860 4.962618 0.024011 +-1.362837 -4.489021 0.003526 +-5.766616 -3.088877 0.004960 +4.792142 -5.435493 -0.004293 +3.720474 1.441042 -0.015353 +4.985052 0.885117 -0.007041 +-0.940281 -5.618931 -0.010183 +5.618703 -0.215398 0.000678 +-4.684299 4.423215 -0.002112 +-3.376987 5.023779 -0.021708 +2.105701 2.653236 0.002640 +-1.031144 0.194964 -0.009624 +1.994821 -2.920390 -0.008506 +-0.413750 5.965150 0.012441 +2.188932 2.165805 -0.005645 +0.645652 0.394671 -0.002378 +-1.066901 1.165261 0.002158 +-3.220616 4.279150 0.001899 +4.751239 -3.362435 -0.001141 +-2.725979 5.080229 0.003021 +2.884236 -2.370730 0.005543 +-0.990740 -3.755435 -0.019014 +2.638351 1.043581 0.007647 +-4.834654 4.896779 0.006285 +-4.080954 1.361452 0.004588 +3.057249 -4.589040 0.005007 +-2.461929 -2.317977 -0.000498 +3.822510 -4.443645 -0.022164 +-5.444548 4.477206 0.007622 +-0.784144 3.670035 -0.000525 +-4.835753 -4.018095 -0.002252 +0.708311 -4.222950 -0.007479 +3.716553 1.034586 -0.016022 +-2.615694 -3.257417 -0.005805 +-5.236117 3.646860 -0.000732 +5.369534 -2.082478 -0.002195 +-4.396522 0.533124 -0.015911 +-3.946873 -0.386670 -0.004024 +-1.844935 -0.388096 0.004357 +4.178250 1.584660 0.007602 +3.468706 3.526819 0.003799 +2.155255 -1.033102 -0.003780 +-3.842510 3.557395 -0.005319 +-0.730658 0.585696 0.000356 +-5.719720 4.614043 0.015052 +-4.853420 -1.583390 -0.003338 +-3.013094 -4.248309 0.002117 +0.621830 3.838510 -0.003534 +-1.945250 1.483544 -0.020903 +1.313864 -4.310547 0.006994 +2.760756 -5.666704 0.003381 +1.638040 5.978474 -0.002257 +5.270144 2.856170 -0.006409 +-4.030151 -1.809718 0.000991 +3.595063 2.212880 -0.003862 +-4.410685 1.037731 -0.003026 +-0.228077 4.824313 -0.006043 +-1.039755 5.526040 0.005050 +1.282660 4.033979 -0.011636 +-3.369686 -0.197883 -0.013200 +-4.432327 -0.099866 0.003932 +-3.671014 -4.785420 -0.013763 +-5.154343 -2.358989 0.000956 +-5.505404 -1.412253 -0.002151 +-3.270268 -3.897903 -0.001319 +-2.219258 -4.250709 -0.013936 +1.847604 -0.232873 -0.001882 +-1.188049 -5.615490 0.008314 +-1.636859 -3.341229 -0.010485 +2.641254 5.764628 0.001727 +3.275326 -4.936204 -0.000673 +-3.776756 1.456786 -0.009082 +4.407114 -5.031819 0.004405 +-5.028265 -2.540821 0.001736 +-4.692832 4.845896 -0.018031 +-5.071556 1.690758 0.005304 +-4.384686 5.855498 -0.000443 +-4.264958 2.569832 0.000592 +2.363820 -2.000842 0.006850 +-3.479991 0.176021 -0.004629 +-5.517663 0.893068 0.003351 +-2.866574 -5.434821 -0.000748 +-4.786587 1.953457 -0.010593 +1.574095 3.634002 -0.006997 +-4.654078 -4.064320 0.013447 +3.979261 4.513559 -0.001197 +-0.032006 -4.387125 -0.007792 +-5.884050 2.674865 0.001150 +-3.381121 2.191430 -0.013619 +3.860754 -2.495888 0.001155 +-1.353182 0.324892 -0.000743 +5.590065 -3.141430 -0.011782 +0.162388 -5.698773 0.009120 +5.400461 1.881665 0.010368 +5.239900 1.953813 -0.002402 +2.447475 5.131073 -0.008207 +4.444817 -3.042521 -0.005229 +-0.238440 3.660862 0.010849 +2.777036 5.869525 -0.011546 +1.201912 -4.131310 0.015176 +-3.077651 5.567318 0.002192 +-0.918353 -5.148748 -0.018212 +3.066818 -2.376135 0.018555 +3.718382 -2.831939 -0.002763 +2.896986 -5.088662 0.001772 +-4.059394 0.780533 -0.011569 +4.605081 -4.564919 0.006351 +-4.128016 5.341903 0.000996 +-3.366087 3.676120 0.017465 +-1.994873 -0.642635 -0.009962 +4.304553 1.754525 0.001561 +-2.652626 -3.165521 -0.003737 +1.897684 -5.824379 -0.002332 +1.083220 -3.352940 -0.019652 +2.098155 3.909626 0.010151 +-4.518497 2.970257 0.019514 +-3.036614 -3.431025 -0.003206 +-1.773055 2.153587 0.006637 +0.452976 1.566462 0.009313 +0.344764 -2.002668 -0.017412 +-3.709394 -4.444545 0.006929 +2.347296 -0.004151 0.009250 +0.717901 4.219857 -0.000979 +-5.005452 -4.487578 -0.007663 +2.945465 -1.428430 0.003953 +-0.888049 3.744221 0.004672 +5.634240 -3.072826 -0.008345 +-3.760580 -3.245665 -0.004555 +4.814946 -0.055864 -0.008640 +-3.613744 1.476401 -0.012343 +4.382672 2.273670 -0.004199 +0.374620 -2.731257 -0.009951 +0.836550 3.411341 -0.005127 +2.267249 4.101072 -0.005714 +-1.023713 -5.937220 -0.007412 +-3.892050 -3.757238 0.012951 +0.383058 -0.419297 -0.012791 +-3.451988 -2.469488 -0.000002 +0.347968 4.987584 -0.009672 +-1.039280 0.839276 -0.011587 +4.570017 -2.830993 0.000892 +-3.845272 -0.752714 -0.019745 +4.238846 -1.714675 -0.013317 +1.491673 0.762672 0.003367 +-3.211512 1.681447 -0.005006 +0.576688 -3.167016 0.004121 +0.760602 5.061755 0.000773 +1.450943 -5.859650 -0.013496 +5.866721 -1.992046 -0.016009 +-0.108888 -5.853268 0.002152 +1.631031 -3.382379 0.010963 +-1.851906 2.797514 0.003044 +-2.591998 0.371499 0.007325 +3.151613 4.866749 0.004325 +-0.584722 -4.521942 -0.019857 +0.151373 5.841096 0.010437 +-4.893333 -5.881657 -0.011028 +-3.316485 -0.834407 0.004582 +2.592278 -3.041135 -0.017156 +2.286215 1.519086 -0.006625 +-3.203748 -1.742922 0.000755 +3.857997 1.269700 0.014796 +-2.975480 4.477575 -0.002818 +-4.070202 -1.492823 -0.005809 +-2.993489 5.539003 -0.008398 +3.207777 4.998817 0.009354 +4.388710 -4.978267 -0.004860 +2.630916 -5.099138 0.008505 +2.095580 -2.072940 -0.012603 +-2.430290 -4.336669 0.012232 +-3.358504 -1.511412 -0.002741 +-1.410542 -1.238511 0.018218 +-2.510618 -1.162432 -0.002099 +-4.091683 -5.730842 0.008719 +-2.295942 -1.114517 -0.018297 +3.147798 1.372375 -0.004370 +5.599817 -4.175898 -0.009923 +-3.206102 -0.648585 -0.026091 +-0.140036 2.114144 -0.000012 +1.023573 -0.013783 -0.012774 +-5.587737 -1.754469 0.009000 +-0.478681 -1.427498 0.003155 +3.323209 3.377665 -0.005230 +-2.306741 2.167134 -0.009369 +4.700195 1.456684 -0.005254 +5.657763 -3.779237 -0.019312 +-2.782566 1.718686 -0.008070 +-0.249123 2.267076 0.006597 +1.961188 1.229203 -0.001385 +3.280361 2.356699 0.001532 +-2.066203 4.559162 0.002737 +-2.217416 -2.571871 -0.012944 +1.110074 -4.473546 0.011683 +3.913816 1.078981 0.000385 +-2.300388 2.865855 0.008134 +3.269932 0.353758 0.000587 +2.052035 -3.945452 -0.000504 +1.680916 2.578346 -0.016056 +-2.536719 3.554304 -0.003117 +4.655109 5.063885 -0.018588 +4.512258 -0.519704 -0.003510 +-1.010351 -1.063349 0.002660 +3.408702 1.451914 0.003543 +-4.338352 1.552673 -0.008169 +5.506882 4.303967 -0.017125 +-2.125094 -4.847222 0.012703 +-3.502026 -0.199867 -0.007623 +-0.461153 2.294648 -0.003027 +1.055665 -5.937343 0.001039 +4.058399 -5.361378 -0.015751 +-2.170079 3.831606 -0.000989 +-3.553200 -2.246148 0.003396 +-4.196532 5.587817 0.001406 +2.862930 -0.781094 -0.006643 +0.607735 -5.869221 -0.000076 +-2.675029 -1.363626 0.016953 +-1.999538 2.360683 0.002512 +5.517264 1.935985 0.009991 +-5.801706 0.625439 -0.000876 +3.673144 -0.349821 0.000032 +-0.631554 0.841319 0.013235 +-5.879018 -3.018111 -0.015772 +3.214243 -0.778507 0.002026 +3.891751 5.144116 0.001737 +0.511643 5.127402 0.002384 +-5.285007 5.306839 -0.005278 +2.204950 -4.247582 -0.011825 +-3.596522 -5.051738 0.004889 +5.180061 2.399778 -0.004399 +2.221108 -0.018769 0.000646 +3.377808 5.355571 0.005207 +-2.312384 -3.670393 0.001306 +-5.024642 -3.518420 0.016841 +2.863127 -5.385334 0.007592 +5.991076 0.457151 -0.001786 +-0.132023 3.434694 -0.000150 +-5.242161 -2.453338 0.002322 +4.418685 -2.757839 0.001393 +-1.195653 -5.409440 0.000011 +-5.457042 -4.497706 0.004634 +-4.413805 -0.933870 -0.007302 +5.472836 -1.593129 -0.001241 +-3.632256 -0.101255 -0.003107 +-4.617520 -3.449065 0.024323 +1.951246 -0.785789 0.008097 +-3.162618 -5.293628 -0.008754 +3.153985 3.552002 -0.003832 +-4.937581 4.602098 0.013813 +2.186863 -3.599283 0.003784 +1.231103 -2.792175 -0.017912 +1.984209 3.355381 -0.000375 +2.741055 1.623992 0.004365 +-1.991599 5.503272 0.001251 +4.392150 -0.686215 -0.015462 +-0.802122 -5.432542 -0.014386 +2.363765 -4.919870 -0.002717 +5.461562 5.863395 -0.007590 +-5.000724 2.338876 -0.012470 +4.440708 1.365012 -0.000081 +0.574012 4.844899 0.000138 +3.094038 -0.948920 0.010753 +-5.702486 -2.820121 -0.006522 +-1.083340 -0.453263 -0.000576 +3.392573 -2.802144 0.011204 +4.047450 -3.801945 0.007863 +5.237276 -0.032088 0.001515 +-0.902818 1.592508 0.003566 +-1.199828 -3.500497 0.003398 +5.990553 -3.548895 0.019115 +1.414390 5.208118 0.000361 +-5.798382 2.503268 0.014263 +-3.065666 -2.392472 -0.022439 +-3.664286 3.123353 0.015575 +-0.562696 -3.517961 0.001418 +-1.236603 1.778118 -0.003914 +-4.413337 -0.318984 0.017831 +3.489241 4.440290 0.009706 +2.489993 -0.335283 -0.033057 +3.583342 3.113792 -0.004161 +1.097529 3.815599 0.008072 +-2.170208 -2.683663 0.006149 +4.405684 -3.618505 0.012247 +2.003148 4.224930 0.011655 +-0.460096 4.821511 -0.007242 +-4.380359 -4.774740 0.012552 +-4.655126 -0.351797 -0.004426 +0.624749 -4.702487 0.022227 +5.622294 1.066392 0.000362 +-2.105171 -5.783931 0.002775 +0.079010 -0.656557 -0.001949 +-4.981186 -2.875192 0.009309 +1.577158 -0.260854 -0.007429 +-5.017328 -0.585407 -0.006610 +-1.934278 0.578841 0.025894 +2.024923 1.213170 -0.002693 +1.751386 1.066633 0.016143 +0.745363 2.901225 -0.009966 +-1.639495 -4.510731 -0.023476 +-1.701749 4.985648 0.003365 +-1.059772 -0.126914 -0.007449 +-4.724884 -2.472483 0.013652 +0.407773 -5.123981 -0.014565 +-5.774478 -4.524105 -0.020542 +-4.167485 -5.178091 -0.000565 +-2.512371 -3.060123 0.000993 +0.691913 -4.837879 0.006291 +-0.552766 5.230447 -0.001655 +5.306978 2.003221 0.008562 +3.332004 5.172506 0.000436 +-0.639026 4.017172 -0.000958 +3.734724 5.639986 0.003543 +-5.551913 -4.535817 -0.008572 +3.234952 2.600901 0.003659 +-4.516990 1.105079 0.002759 +-4.762755 -4.132927 -0.005207 +1.956456 -1.207109 -0.003045 +2.490796 -1.431367 0.014250 +-1.561605 1.305481 -0.003438 +-4.606647 -1.946677 -0.009882 +1.973673 -1.879245 -0.005485 +2.799532 5.216812 -0.005927 +1.234668 0.171787 -0.003296 +3.700519 4.463864 -0.008033 +-4.012897 -1.692115 0.016564 +1.430347 5.817675 -0.003594 +4.502442 4.672822 -0.014137 +-3.969117 2.537071 0.008549 +-4.205889 -5.705764 0.007644 +-2.406255 -1.184385 0.001310 +3.958272 -4.977075 -0.008141 +2.578376 -1.633160 0.020946 +0.047649 2.587646 0.009952 +5.858668 -0.025277 -0.006568 +4.676898 -4.603219 -0.002048 +0.239070 3.784858 0.007199 +-1.549400 2.307848 0.005962 +-3.546851 -5.581864 0.000756 +2.639753 -0.596633 -0.010054 +1.202535 3.250014 -0.013389 +4.123248 -1.290442 0.006128 +0.557981 -3.795615 -0.006848 +5.115794 3.182708 0.022448 +-5.215434 5.925501 0.012735 +-0.891497 -2.923295 -0.013684 +-4.146189 4.026829 -0.019405 +4.700500 2.197004 -0.003170 +5.311190 5.947689 -0.000720 +0.541504 4.046453 0.014020 +5.528671 -4.945944 0.004134 +-1.257261 4.807096 0.008960 +-1.517909 -5.550453 0.014988 +-4.157640 -1.230889 0.011169 +1.986555 5.724683 -0.009426 +-5.785126 0.307183 0.006649 +-0.097508 -5.853880 -0.013826 +-5.828393 -2.274249 0.005257 +4.140595 -5.401967 0.003436 +-0.614054 4.148149 0.023445 +5.047597 -4.414957 -0.000052 +-4.923009 -1.928197 0.005489 +-0.550305 -0.996603 -0.002669 +-4.393132 -4.311475 -0.005363 +1.689237 2.162619 0.005795 +-5.426593 -1.731911 0.007060 +3.771875 3.073308 0.000692 +-2.194359 -5.530604 0.003424 +3.978034 -2.761283 -0.003029 +-0.485200 1.087308 -0.016877 +-2.520085 -3.742643 0.012066 +5.146738 -3.680069 0.003683 +1.629364 4.235469 0.008812 +-1.269015 0.677443 -0.002582 +1.054179 -4.133743 0.001052 +-3.736186 -0.119746 -0.000896 +3.676670 5.892393 0.016777 +-2.579827 2.470629 0.018188 +-0.378611 1.498751 -0.002380 +5.799040 5.864985 -0.013186 +1.269140 -0.850736 -0.007626 +0.283346 5.000819 0.021543 +3.529635 -1.199875 -0.005186 +2.132908 -0.790431 0.008146 +5.069567 0.774168 -0.001963 +-0.136297 -4.217760 -0.000829 +4.837756 5.113278 -0.014065 +-1.820366 0.932255 -0.027482 +3.889824 1.255580 0.002911 +2.479326 -3.537576 0.018933 +-5.471640 5.890713 0.013103 +1.967785 -2.086119 0.006223 +-3.798856 -2.665071 0.011007 +-2.135153 4.976815 -0.003124 +0.920180 -2.245338 -0.005458 +3.187306 4.216876 -0.001504 +-1.504795 4.719497 -0.005395 +1.186479 -4.930740 0.007388 +-0.153409 3.530762 -0.009922 +0.166682 5.101483 -0.013594 +-5.118159 4.452660 0.006445 +-4.942437 -3.998774 -0.013107 +-2.160715 -4.549829 0.009940 +3.324171 4.658228 -0.006651 +-4.930157 -3.519255 -0.007922 +3.106010 3.383964 -0.016122 +-4.880348 -4.441035 -0.005079 +-4.634124 0.701438 0.003830 +3.223724 -3.756967 0.007537 +0.316779 -2.943798 0.011672 +-4.548247 -2.283015 -0.003890 +1.689230 2.308697 0.004246 +3.728576 -1.307222 -0.021143 +-4.840883 1.012665 0.026721 +5.991465 1.540782 -0.003388 +-1.417948 -1.464596 -0.006158 +-1.182093 -2.791765 0.001386 +-3.355493 1.705855 0.011916 +3.862984 -5.196532 0.002989 +-2.206767 -4.230973 0.002425 +3.639419 0.095111 0.011137 +4.273474 5.294081 0.008382 +2.566628 -4.717612 0.000137 +-1.952790 -0.590454 0.011476 +4.129560 -5.657998 -0.008702 +4.542161 -5.007085 -0.002423 +1.886981 -3.684472 0.001069 +-1.224041 0.615875 0.006099 +0.819828 5.114068 0.001119 +-4.577501 1.279438 0.018040 +0.339533 3.315050 0.004561 +4.486518 1.835022 0.020160 +-0.585735 -4.066012 0.000967 +3.273229 -0.245324 0.001410 +5.141953 0.087326 -0.003399 +1.510917 -0.163334 -0.002653 +-1.966401 -2.071064 -0.014891 +-1.391939 3.963160 0.002596 +-1.297312 1.230227 0.003206 +-2.026960 4.994483 0.012466 +4.641998 -4.358520 -0.009528 +4.560181 -2.200009 0.001593 +0.291621 4.495953 0.003453 +-3.686123 -3.135421 -0.006024 +-0.184745 5.905976 -0.006085 +-1.519173 4.387639 -0.005905 +0.808941 3.168120 0.004108 +-1.342792 3.959477 0.002185 +2.931448 0.252870 -0.005096 +-0.294121 -5.327131 -0.016420 +4.812683 0.384739 -0.002870 +2.958405 1.443245 0.013334 +2.000018 4.132828 0.005064 +-0.836128 0.477987 0.015639 +-2.360830 -2.008631 -0.019683 +4.544147 -0.911468 -0.007271 +5.386036 0.247695 0.015882 +1.849473 5.339615 -0.009844 +-1.384107 -4.439355 -0.011578 +-5.100609 -3.081147 0.000952 +3.681277 -3.310250 0.000235 +0.422553 -5.781243 -0.015014 +-2.008623 -3.237251 0.018189 +-4.039270 -3.267353 -0.011319 +0.610750 4.218791 0.011013 +-1.147727 -3.429448 0.008277 +0.986926 -1.358036 0.004067 +1.226795 3.369681 -0.012839 +-5.746950 1.813148 0.000829 +-1.380823 2.914589 -0.002494 +0.667519 -0.749630 -0.005920 +-5.400898 0.171182 -0.007211 +5.796584 0.333836 0.011313 +3.634438 1.019924 -0.011588 +1.950093 5.111379 -0.004301 +4.759637 0.547065 0.008068 +-4.545669 -4.586518 -0.001579 +-1.229092 4.795581 -0.006700 +-0.237295 -1.637343 -0.014596 +0.767021 3.162136 -0.012660 +-5.840199 -2.363291 0.012537 +-4.879282 2.677317 0.012003 +4.891264 4.527806 0.008000 +5.216148 -4.172072 -0.006193 +-0.408101 5.324183 0.006272 +-5.582752 -5.262726 -0.000849 +2.282357 -1.523303 0.003341 +5.449580 -4.617638 -0.003064 +-4.836003 -5.580007 -0.000055 +-3.210482 0.096099 0.009940 +-3.605377 -5.499505 -0.007786 +2.798053 3.425555 -0.005553 +2.389884 1.698686 0.007864 +5.306202 0.770329 -0.020103 +2.324860 5.834778 0.003065 +-0.367678 1.546823 0.014625 +-5.063420 3.867366 -0.001273 +0.186611 -1.115502 -0.001867 diff --git a/data/synthetic_plane_target.pcd b/data/synthetic_plane_target.pcd new file mode 100644 index 0000000..545a563 --- /dev/null +++ b/data/synthetic_plane_target.pcd @@ -0,0 +1,2511 @@ +# .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 2500 +HEIGHT 1 +VIEWPOINT 0 0 0 1 0 0 0 +POINTS 2500 +DATA ascii +1.501146 4.766566 0.004265 +3.308228 -3.297514 0.008355 +-2.398005 4.482641 0.007627 +-5.936816 3.854741 -0.003017 +3.564833 -0.384781 0.004319 +-2.363611 -2.658893 0.008440 +-2.941565 -0.659084 0.007650 +0.054579 0.641968 -0.030863 +5.946003 3.511943 -0.008903 +1.466151 5.867522 -0.007759 +-3.416296 -4.077456 -0.002303 +1.350475 -5.472696 0.001791 +-5.571836 0.178666 0.009214 +-0.405528 5.006013 0.006177 +1.550715 0.169412 -0.001270 +-0.037519 -3.029821 0.000231 +-5.858472 -3.691174 0.017591 +2.304385 -3.592719 -0.006128 +-1.565564 -5.955189 0.003045 +3.960573 -4.146467 0.015655 +-2.788808 4.563986 0.003459 +0.117490 4.165803 -0.020435 +1.676606 2.901251 0.003749 +-4.902053 0.493726 -0.003874 +0.093267 4.456072 -0.001131 +-1.664831 1.178209 0.010510 +-5.288980 -1.348418 0.004695 +-2.123564 -4.197603 -0.002640 +3.796057 -1.446646 0.008920 +5.744975 1.079900 0.004353 +1.260675 1.655959 0.001051 +2.117403 -4.190544 0.003010 +-0.716238 -3.125232 0.002531 +-1.170020 -4.839551 -0.003395 +5.613936 -3.419951 -0.004591 +2.061182 -2.394959 0.000252 +4.488925 1.946577 -0.009542 +-4.420610 4.140892 -0.012589 +5.339378 4.847002 0.013009 +0.836630 -4.254480 -0.002397 +-3.690438 5.134868 -0.000240 +0.627918 -3.833370 -0.001350 +4.608683 1.698860 0.000234 +0.836331 -1.484546 0.000227 +-1.068537 -3.126129 0.000651 +-5.543313 4.514626 -0.008049 +-0.387237 0.571622 0.009320 +-2.134040 3.015899 -0.006921 +-5.697638 -1.533777 0.010349 +-5.635797 -4.525295 -0.019188 +5.605779 1.893129 -0.010615 +-0.861357 0.284881 0.009921 +4.473711 -1.869472 -0.001482 +1.083492 2.204212 -0.006710 +-1.735035 0.229182 0.003752 +3.182969 4.910152 -0.010455 +-4.187253 5.201033 0.000769 +-5.937854 3.035730 -0.022152 +3.726322 -4.358831 -0.004524 +-0.973156 3.783075 -0.006498 +-5.828746 1.541543 0.005396 +3.516284 0.156043 0.008758 +2.710193 -3.282918 -0.008545 +-3.617746 -1.642477 0.016089 +-3.847128 -1.847263 -0.005920 +5.377489 0.879993 -0.020559 +-1.919183 -2.741704 -0.023797 +5.424474 -0.666261 0.015390 +5.764737 0.186272 -0.000875 +0.253994 4.758486 -0.006473 +2.913209 0.967834 -0.007479 +-0.880206 4.538254 -0.010922 +-1.060246 5.073115 0.013522 +-5.175416 -0.840038 -0.000839 +0.234178 5.411258 0.017902 +-2.988009 3.672470 -0.001990 +2.117654 2.605031 -0.023503 +1.555466 5.658729 0.008444 +-2.007823 -1.220693 -0.003682 +-3.565059 -5.391551 -0.002371 +-3.445102 4.985573 0.015673 +4.082026 -4.651131 -0.002634 +1.245348 -0.249642 0.011620 +1.136218 1.911300 -0.000050 +-2.320086 5.536210 -0.007520 +-0.409920 1.537210 0.005073 +1.622714 -3.793327 -0.006007 +-5.257615 -1.061798 0.012283 +3.168361 3.782661 0.009599 +2.759871 -4.641541 0.000627 +4.960258 3.624439 0.006099 +4.532296 0.279650 0.005646 +4.987625 -5.440173 -0.002756 +-5.636534 -5.757413 0.008951 +-2.966776 -3.017163 -0.002273 +-3.749960 0.804670 0.006162 +-5.532170 1.084654 -0.009503 +-4.007866 2.134485 0.001020 +-5.747096 -2.273158 0.004161 +5.260096 0.460757 -0.007885 +3.739049 1.896313 -0.004143 +1.329009 -3.704968 -0.005310 +0.892737 -5.523763 0.007306 +3.619973 5.520851 -0.007168 +4.248109 -5.391484 0.004417 +-1.936079 -2.183962 0.015288 +-4.647396 1.519342 0.003611 +3.569498 -2.235342 -0.016069 +4.353711 3.565523 0.001310 +-4.450345 3.202310 0.010466 +4.591449 -3.632609 -0.002801 +0.883694 1.665000 0.011157 +1.312011 -4.845052 0.006249 +1.934298 1.583457 0.004282 +3.886626 3.642152 -0.002539 +-2.073982 2.664568 -0.005046 +4.407280 4.715373 -0.002480 +-4.061852 -5.679572 0.000715 +1.809689 -3.423885 0.005319 +0.764517 5.337655 0.004297 +-1.448164 -2.966705 -0.002913 +-0.521879 1.886927 0.000754 +-4.786812 -1.432983 0.003981 +-4.395346 1.949355 -0.016141 +3.966630 -1.477755 -0.007570 +-1.539313 0.474260 -0.007874 +-3.419307 -3.031085 -0.001920 +-2.041773 -0.510892 -0.002633 +-5.021623 3.032786 -0.002453 +0.948655 -2.403673 -0.008598 +-5.069441 3.158171 0.006860 +-4.427052 -4.401520 0.002914 +-4.431789 -5.024852 -0.016289 +4.876709 -2.769068 0.000275 +-2.323073 3.993532 -0.011119 +1.439082 -3.754279 0.017170 +-0.782239 4.607069 -0.004407 +-1.495512 2.530579 -0.003786 +-4.838307 2.727897 0.000993 +3.317682 3.909201 -0.001844 +2.090412 -1.551206 -0.000425 +-5.229456 0.225315 0.015634 +3.089519 -3.709942 0.002423 +-2.805153 0.433441 0.008514 +2.979979 4.759041 0.011439 +-4.491102 -3.788758 -0.009579 +3.594444 1.734259 0.017062 +2.651674 5.961254 0.007053 +5.270160 4.116301 0.009744 +3.325390 -1.259769 -0.008460 +1.694749 -3.786652 0.008349 +3.113934 3.092288 0.004311 +2.655543 -0.662412 -0.005193 +-1.461836 -0.962749 0.023008 +-5.599929 4.131841 0.005849 +0.508439 -1.349776 -0.002212 +0.576345 2.659683 0.002123 +-1.422470 3.967688 0.009287 +5.033560 -1.350812 0.011489 +-4.346206 3.124480 0.006004 +5.915386 -4.224142 0.012361 +2.552108 3.903881 0.014892 +5.046864 -4.519423 -0.012156 +-4.898281 5.854459 -0.004664 +-4.598922 -3.878309 -0.009202 +0.899435 -0.644724 0.001167 +3.004706 -3.713313 0.014628 +4.973133 -3.393662 0.006728 +3.229332 -5.188758 -0.010259 +-0.319169 -5.609300 -0.002738 +-2.234272 -2.253232 0.010485 +2.636981 -0.539790 -0.005115 +-5.318707 5.944340 -0.000767 +4.664392 4.995887 0.003244 +-3.041094 -1.270677 -0.018015 +-3.273846 -4.501123 0.007996 +-5.603713 0.040037 0.003623 +-4.522396 -3.884347 0.005885 +4.325708 -0.189087 -0.009587 +-3.795558 2.038375 -0.007480 +-2.809622 0.323246 -0.005768 +-2.604566 0.193934 0.002706 +1.542403 0.434497 0.000903 +-1.252751 3.489766 0.001478 +4.481249 -3.847545 0.018117 +-4.364295 -4.641700 0.013255 +5.755161 5.299096 -0.006990 +-3.231994 5.638891 -0.006335 +-3.506188 0.077712 0.017357 +-0.031379 4.979471 -0.002970 +-5.513654 -2.215790 0.013988 +1.199696 -5.203221 0.016186 +-3.161393 -0.419239 -0.005223 +4.570284 3.131514 -0.002495 +3.947766 3.132837 0.001028 +2.492649 4.196320 -0.008438 +2.177720 2.828197 -0.009579 +-2.380266 -3.988311 -0.003812 +3.078300 -4.009953 0.008727 +5.033470 1.159714 -0.004279 +-2.046791 5.239718 -0.001863 +-4.138437 0.173596 -0.004452 +-4.901351 5.585133 -0.013448 +0.904513 3.643999 0.015044 +-2.616931 3.621560 -0.023222 +2.434103 1.724178 -0.006341 +5.406754 -0.798104 0.005787 +-1.018939 2.305454 -0.013758 +4.020664 -1.979088 0.006247 +2.035885 -3.491551 0.012723 +0.620400 3.230060 -0.008398 +-5.216220 2.734105 0.002285 +-5.814810 5.500200 -0.010907 +-0.375962 -1.091150 0.005267 +2.645336 0.279586 0.001080 +2.770186 -4.982905 0.002351 +0.753502 0.697304 0.013857 +5.185367 -5.524733 0.004907 +-0.566164 1.572875 0.013654 +0.608963 -5.110067 0.006536 +1.118741 -3.333637 -0.011802 +-3.653410 4.544291 0.002808 +-3.625895 -0.548511 0.005089 +3.003443 2.487785 -0.014262 +0.641508 3.684549 0.013529 +-0.410206 1.444625 0.000874 +3.827000 2.137100 0.003874 +1.701940 -1.126455 -0.008772 +0.699881 -1.247008 0.000919 +2.931507 -1.434838 0.003192 +-0.400546 3.065485 -0.003069 +0.043870 -1.943609 0.000999 +3.921827 -1.428449 -0.021003 +4.136749 3.422885 0.013812 +-0.632534 2.554691 -0.010950 +-5.587324 -1.322419 -0.021631 +4.324004 0.954472 -0.009414 +0.693910 1.976867 -0.008159 +2.132060 1.003179 0.005626 +-0.952448 -3.798196 -0.008950 +-2.488296 -2.484934 0.003030 +-0.831061 5.988705 -0.009409 +-1.769377 -0.631449 0.022256 +-1.540469 0.977133 0.005638 +5.374783 4.668875 0.019746 +-1.474335 -2.797186 -0.009963 +4.612783 -0.074000 0.006818 +2.226494 -5.120503 -0.009382 +4.398692 -2.244418 0.005963 +-0.065677 -3.623747 0.006957 +-0.957089 3.936587 -0.015770 +3.930951 -0.315936 -0.011193 +3.214928 -0.503198 -0.011493 +-1.519724 0.550668 -0.014869 +-3.583911 -2.201262 -0.007146 +2.478345 3.246168 -0.009441 +-5.319502 2.793914 -0.014293 +3.809159 -0.657677 0.001133 +-5.250553 2.194959 0.005608 +-3.046036 1.720288 -0.012998 +-1.480530 1.645962 -0.005424 +-2.902381 -0.281556 0.000222 +0.296097 1.572158 -0.002178 +-3.561986 5.544613 -0.006870 +-2.530343 -2.327758 0.008237 +-2.924251 -5.190285 0.008601 +-0.924925 3.262036 0.006926 +2.514803 -3.653131 -0.001957 +-4.356817 -2.142865 0.019988 +3.219062 -0.143062 0.017527 +5.078210 1.876605 -0.003900 +1.450881 3.212294 -0.001084 +3.003099 -1.873942 0.011999 +-2.915899 -0.748543 -0.007881 +-0.129034 -4.299327 0.004097 +-0.704014 1.677879 0.000571 +-4.371426 -4.343545 -0.006925 +-3.915343 -2.600023 -0.002210 +5.540511 -5.690505 -0.015612 +-3.795130 -4.019426 -0.005328 +-0.307824 -5.819127 -0.019853 +-0.501921 -4.044930 0.022899 +-2.764317 3.509287 0.015154 +-3.791193 1.405546 0.012380 +-1.124253 -0.988853 0.003111 +3.802145 -4.069021 0.010074 +5.085723 4.721890 0.012808 +2.019864 -5.406632 0.010242 +1.959702 1.204172 0.009263 +3.266471 -3.434021 -0.009045 +5.440272 4.634366 0.004359 +-4.627714 -2.217578 -0.005276 +-5.610670 3.971367 -0.011739 +4.981137 5.877711 -0.011350 +1.343100 1.991827 0.004338 +2.140867 0.841781 0.010588 +5.429075 1.294335 -0.013624 +-1.971287 0.154527 0.017507 +-5.776045 2.689516 0.014741 +2.327053 -0.947386 -0.003760 +4.217773 3.066313 -0.004588 +-1.959785 -5.070024 -0.000690 +-4.413324 -3.788733 0.009851 +-2.352984 -0.629811 -0.003796 +5.135959 -2.658985 -0.011032 +4.783028 2.165546 0.003464 +4.241915 -1.160959 -0.020628 +-5.960679 3.443608 0.001429 +-3.054290 -4.290237 0.011608 +3.593899 2.235944 0.003070 +-3.451018 -2.789018 0.007815 +5.270638 -2.777544 0.004947 +2.428870 -4.445361 0.007286 +3.780430 -4.588920 0.001457 +0.192494 -5.577388 -0.008291 +0.600943 4.159460 -0.002243 +-4.987218 -2.708921 -0.000733 +3.176317 1.297180 0.012589 +-2.246437 1.546847 0.016261 +-0.543476 4.348275 0.004206 +-2.484721 3.092767 -0.007528 +1.628090 2.885144 -0.007297 +-1.460861 2.699052 -0.001875 +2.381113 -1.350133 0.013888 +-5.682573 5.554960 0.003346 +2.563205 -3.543136 -0.000553 +2.769686 -2.655800 -0.007650 +-0.368575 4.318658 0.008824 +-0.623135 -2.543921 0.002894 +-2.334107 -5.075793 -0.000508 +-3.365933 -2.746725 0.001034 +-3.924371 -5.243211 0.016865 +-0.410530 -3.427246 -0.001604 +2.865246 5.070333 0.016885 +-2.724184 0.866979 0.012423 +0.080708 -5.098698 0.000523 +-4.501507 4.617353 0.008839 +-0.310176 3.655319 -0.001238 +-5.201031 1.137758 -0.008284 +4.383743 4.404793 -0.002679 +-5.931331 0.260641 -0.009072 +-1.571943 3.120504 0.005114 +-5.121372 -2.820881 0.000147 +3.751714 -0.365325 0.005678 +-0.562196 5.622704 0.008267 +-2.161312 -5.499335 -0.031202 +-1.293590 -4.159517 0.003115 +-5.017298 0.814324 -0.018017 +5.442907 0.952891 0.001666 +1.765375 -2.116454 -0.008774 +0.853474 3.026934 0.001042 +1.071418 3.633341 0.013655 +0.605648 -3.622271 -0.017078 +0.992715 -0.108770 0.001907 +-4.008774 1.429990 -0.000784 +3.803526 -4.378948 -0.018922 +0.539350 2.804246 0.006480 +-1.163789 -2.759445 0.000342 +-1.532635 0.500382 -0.005087 +2.239924 0.710103 -0.007218 +-4.715700 3.814637 0.032126 +5.086317 -4.784486 -0.003939 +-3.005766 -3.915826 -0.018003 +4.189862 4.923345 -0.009309 +-5.468715 -2.010967 -0.003666 +-3.690065 -0.365608 -0.003844 +5.059085 -5.157921 -0.000789 +-3.944651 -0.155649 -0.010470 +0.288416 2.946015 0.005415 +-0.747768 -4.306359 -0.004838 +-1.756657 5.785118 -0.013607 +3.008666 -4.603868 -0.008156 +3.698510 -2.268883 -0.003847 +3.376758 -5.847342 0.008486 +4.455242 -4.052276 0.004845 +-0.530993 1.941067 -0.003380 +0.094435 -4.015227 0.000197 +-4.330578 -2.585587 0.002151 +-5.371299 -3.401463 0.020387 +-4.438740 -0.422436 -0.006176 +-1.721881 1.041987 0.004671 +-2.629454 -5.593068 0.007264 +-2.026678 3.062168 -0.009531 +-2.929942 -1.145419 0.001892 +3.059693 -1.119825 0.001634 +4.645490 5.016822 -0.004698 +-2.273644 2.831564 0.005676 +-2.962596 -4.325719 0.010285 +-0.745427 1.229669 0.011302 +5.227091 -4.249182 -0.001918 +2.548352 -0.294426 0.001899 +-4.419488 5.671896 0.023507 +2.349227 -4.453696 -0.011036 +4.869065 -4.762870 0.002219 +-4.888089 -2.021388 0.008900 +5.255510 -5.603706 0.001501 +5.018487 1.339339 0.006560 +-5.195380 0.823101 0.001727 +-0.494511 0.767815 0.007537 +2.846442 2.143429 0.012826 +5.966731 -4.119971 -0.002214 +3.754265 -1.066884 0.001975 +3.399690 4.701350 -0.000552 +5.903978 -2.807498 -0.004036 +-0.564741 5.313351 -0.000196 +5.348861 -1.525514 -0.011316 +5.282514 -1.129306 0.007445 +-1.502807 3.079433 0.017024 +-0.345458 -0.621619 0.017045 +-1.366572 -0.806353 0.012759 +-4.322188 -5.267554 -0.009641 +3.047918 0.773999 0.015198 +2.062688 3.628026 -0.007154 +-3.238726 -3.194725 -0.000531 +-2.665097 -2.352900 0.018462 +3.128291 -1.509821 -0.010719 +-2.121734 1.635619 0.008413 +-3.761154 -4.722958 0.002813 +2.365599 3.077344 -0.001521 +-2.443625 1.632494 -0.008760 +-5.591081 -1.148172 0.004225 +0.935500 -2.958978 -0.004638 +-1.821421 1.314595 0.010453 +1.078774 -4.149711 0.012243 +2.478983 -5.039649 -0.013793 +5.636696 -3.571656 -0.005053 +-2.957422 -3.596393 -0.003191 +5.897987 -2.560861 -0.011817 +1.263507 5.887610 -0.011179 +5.400814 -5.491802 0.000887 +0.254209 1.215656 -0.002081 +2.428741 -1.969088 -0.016518 +-2.065097 -5.948592 -0.005381 +-5.577159 0.600686 0.005189 +-5.089355 -3.570225 -0.012062 +-2.000737 -5.154345 -0.009236 +-5.629682 5.123045 0.015877 +-0.777496 -3.541386 0.013172 +2.501422 -5.886656 -0.016210 +-3.059793 5.528996 -0.013510 +4.772282 1.631103 0.003773 +-4.881567 -2.183390 -0.011915 +-5.664809 -3.369708 -0.002528 +-5.694790 -4.486036 -0.004513 +1.598575 -4.794686 0.005602 +-4.130843 4.833696 -0.025287 +-1.974571 -2.004037 -0.022025 +-4.961526 3.551166 -0.012262 +2.116527 0.565594 0.010139 +1.414954 -4.795432 -0.001543 +-2.876327 1.003698 -0.017082 +5.426783 3.805583 0.004930 +1.688716 0.225823 0.007077 +-5.818414 4.688595 -0.002459 +-5.197751 -4.451027 -0.003306 +2.316861 3.745728 0.004376 +3.438608 -0.571151 0.012095 +-3.875331 -5.576374 0.001524 +4.216555 5.732369 0.005331 +-3.070374 4.392916 -0.000482 +-1.169629 -2.263875 -0.003813 +0.061852 -5.901982 -0.009159 +-0.687426 -3.605340 0.002563 +2.549486 0.030857 -0.003002 +4.426231 4.759778 -0.002436 +-2.198893 -2.635394 0.009297 +5.269565 0.047971 0.004880 +-4.841814 -5.449378 0.008701 +5.885106 0.949964 -0.015756 +-5.346084 0.135065 0.005584 +0.049254 -0.775346 -0.005899 +5.415365 5.385264 -0.008082 +-4.500388 -4.179352 -0.008522 +-1.110137 4.008317 0.012114 +1.485031 2.757962 0.008279 +0.912701 -3.479317 -0.007169 +3.813185 -5.831748 -0.011376 +2.381811 -3.667925 0.000137 +-0.346902 5.701599 -0.004596 +0.468430 -5.316614 0.016596 +-0.854642 1.923205 -0.014613 +-5.319520 -2.968155 -0.018299 +-5.779966 0.480819 -0.002558 +-1.422269 0.044280 0.000107 +-2.449958 1.881684 0.001326 +-3.922966 4.879824 0.007534 +5.520977 -0.084076 0.020733 +-0.415318 4.315401 -0.003423 +-2.521946 3.637268 -0.005444 +-2.552309 2.639578 -0.017592 +-1.991864 1.231220 0.002434 +5.110419 -5.348103 0.008534 +3.687056 0.502147 -0.002604 +-1.451188 -1.796695 0.011806 +-5.167056 -2.899456 0.000303 +1.477644 -4.828920 0.015149 +2.032888 5.547040 0.003331 +5.769313 4.670895 -0.010572 +3.679330 -3.864560 -0.006368 +5.641871 -3.567322 -0.015337 +4.428597 4.534484 -0.017371 +1.462900 0.255681 0.002669 +-3.594898 0.233620 0.008696 +-2.512561 -4.489431 0.019543 +-4.461706 3.614052 -0.000552 +5.068841 -4.297575 -0.002369 +-5.840868 -2.836408 -0.011090 +-4.386732 -3.736482 0.009873 +0.999923 -0.932471 0.003892 +-0.849251 -3.532648 -0.005951 +1.975065 -2.525877 0.006885 +-1.210238 -0.439032 0.005613 +4.853094 -3.043732 -0.018700 +2.623992 -2.287575 0.007427 +4.733116 -1.271046 0.001361 +0.061941 4.526583 -0.003915 +2.073131 -4.867694 -0.004171 +-4.357970 5.888789 0.017484 +-5.650737 -2.389537 0.015360 +5.506732 -5.818727 0.018259 +-4.063225 -3.439629 -0.011487 +-4.963311 -0.336464 -0.006545 +1.109255 -2.180141 0.009055 +-4.696204 3.731473 -0.012085 +3.653656 0.745199 -0.007202 +-4.347095 0.502936 -0.018043 +1.554287 -0.860492 0.018531 +4.366361 -1.319455 0.010627 +0.130645 -4.630280 0.004585 +0.762610 3.197376 0.002192 +2.775100 -2.916230 -0.004171 +5.902395 2.639210 -0.003979 +-0.914971 -1.021098 0.006157 +3.351904 -3.891812 -0.007118 +1.675529 2.626074 0.012274 +0.196080 4.478381 -0.004926 +-0.376368 -0.421287 -0.008735 +-2.583844 5.032460 0.012980 +-2.204762 2.343255 -0.001440 +-1.087765 5.225090 0.005549 +5.375513 -5.639577 -0.004149 +5.934403 1.259233 -0.022501 +-5.113758 -0.035630 0.005472 +-5.406337 0.586726 -0.013467 +-3.774546 -1.584716 0.010822 +-2.343599 1.226544 -0.015508 +3.868344 5.238440 -0.018649 +-2.053703 0.836279 0.003076 +-5.929210 -1.534038 0.004253 +5.528446 -4.573937 0.001067 +4.437933 1.830062 -0.012136 +-2.473275 3.337931 0.008885 +-2.528624 4.737781 -0.014647 +-5.006890 -4.572083 -0.004643 +3.000146 -0.609860 -0.007881 +-4.230440 0.161209 -0.003777 +-2.436371 0.591783 0.008528 +2.924567 4.282073 -0.006341 +-5.291998 1.108257 0.005644 +5.803990 -0.482431 0.006941 +3.234797 -4.832872 -0.017110 +4.482095 0.984634 -0.011666 +4.659158 3.445415 -0.003834 +4.430877 -5.312449 -0.005921 +2.586289 -3.636229 0.003077 +-2.810276 -2.102605 -0.019317 +1.095776 1.534331 0.007206 +5.177310 -5.847379 0.007446 +-3.678738 -1.655970 -0.001682 +3.816082 0.598905 -0.013831 +0.143887 3.122231 0.000056 +1.860711 -2.521730 -0.005375 +-4.954603 -0.452319 0.005666 +4.561997 1.177693 -0.000854 +-5.360531 -0.719075 0.007282 +-1.384655 0.989099 -0.004333 +1.045521 5.415984 0.014426 +-1.942874 -1.102854 -0.023048 +1.362167 4.636687 -0.010162 +2.473727 -0.349375 0.004908 +3.774793 -0.176327 -0.015109 +5.562275 -2.610007 0.007359 +-4.471297 3.964799 -0.012167 +-2.432412 4.168755 0.000932 +1.312858 0.107512 -0.009148 +-4.955618 3.435786 -0.004412 +-5.208908 5.581814 0.001746 +4.523695 -2.364377 -0.001047 +-4.465606 4.628093 -0.003813 +-0.241793 -4.501514 0.021531 +-0.017734 -3.038169 0.000085 +-1.105975 1.682893 -0.009700 +4.984377 3.611158 0.009276 +-4.067893 -0.271971 0.008207 +-0.096864 5.873793 0.012229 +-4.957226 0.129212 0.017873 +4.972357 -1.213809 -0.009393 +-2.859386 0.671202 0.010595 +-2.158939 5.124949 0.011396 +-4.982415 -3.519506 0.000004 +-4.993548 2.542670 0.002452 +-2.482298 4.802028 -0.030028 +4.723577 5.236640 -0.005739 +-2.926458 -5.992119 0.017880 +-1.348735 5.550756 -0.017868 +3.164903 -5.284081 -0.005357 +2.430867 5.004762 0.002879 +5.612639 2.591864 0.005756 +4.355945 4.100425 0.016315 +-1.699947 -4.811474 -0.017628 +2.729570 -4.357040 0.000428 +-1.389615 5.948832 0.008597 +0.717426 0.260880 -0.013136 +5.374559 -2.591519 -0.000397 +5.993171 4.943758 0.018848 +-1.633152 -2.073122 0.013165 +-4.481240 4.987681 0.005395 +-3.770281 -5.892256 -0.026141 +4.680919 1.177382 -0.001303 +2.062184 2.797694 0.003864 +-5.488061 -4.897740 -0.003085 +-0.001957 -5.396869 -0.000654 +0.051859 2.836064 0.030834 +1.888910 1.399772 -0.002145 +-5.443131 -3.160141 -0.009696 +4.769937 -4.521354 0.002429 +0.398685 -5.399419 -0.003157 +5.270432 -3.941238 -0.003097 +-1.079737 0.561374 -0.000871 +2.623820 5.249428 0.007740 +2.836359 -1.831580 0.002375 +-5.095925 2.488861 -0.012014 +5.670124 -5.795807 -0.001327 +3.296155 -3.886297 0.004744 +-0.480556 0.271640 -0.004677 +1.373115 5.874442 0.011489 +2.248825 -1.291351 0.007771 +2.580250 -0.399225 -0.009908 +-1.042560 -1.612161 0.003198 +-0.079127 -2.625814 0.019838 +-3.094796 -4.218400 0.015602 +-0.717305 -2.480864 -0.000563 +4.043298 4.174730 0.008976 +-1.873480 1.429705 -0.006739 +4.827490 -1.690057 -0.014481 +0.656589 -0.677297 0.005543 +1.803183 5.517251 0.002465 +-4.336516 5.584624 0.005142 +1.988802 3.550446 -0.000247 +1.621462 4.443804 0.003260 +-2.085135 2.496572 -0.005129 +-2.830644 0.103887 0.004733 +2.177886 -3.586509 0.008331 +-5.266087 3.491377 -0.000584 +3.707355 1.987978 0.008141 +-2.142821 1.898076 -0.017709 +-4.993435 1.950116 -0.007862 +0.914383 1.406452 0.014445 +-0.636189 -3.298100 0.017617 +2.710526 -0.430436 0.002506 +2.944559 -1.629839 -0.001034 +-4.946529 0.509491 -0.012680 +1.473136 5.061326 0.003636 +4.653057 -5.314210 0.007784 +3.262085 -2.863647 -0.014818 +2.366380 -1.446216 0.005589 +-2.135060 -0.140595 0.004907 +0.366374 2.333799 0.004409 +1.654601 2.139066 -0.011275 +-1.391078 2.128084 0.005418 +-1.855352 1.290399 -0.014979 +-0.485604 0.753583 0.014886 +-5.789542 -0.014563 0.001352 +-3.360385 -1.370250 -0.011637 +-5.114751 1.882813 0.013452 +4.722260 -1.744834 0.011540 +-4.739187 1.443214 -0.006504 +-4.475563 4.699456 0.022041 +-4.530518 -1.657554 -0.010041 +-0.064083 -4.585526 0.003134 +-2.175029 -2.696651 0.011824 +2.559605 5.835281 -0.022707 +-1.645952 3.488634 0.010015 +-4.315908 0.958965 -0.000647 +-0.807441 -2.541795 -0.000157 +3.860524 2.957061 -0.010769 +-4.392037 -2.491114 0.003315 +3.834059 5.909179 -0.011098 +1.338779 4.460385 -0.009685 +5.810658 2.886546 -0.004477 +1.736786 -3.345131 -0.012273 +-1.554905 1.482656 0.015727 +5.116816 -2.377834 -0.013287 +-1.257491 -5.733157 -0.007548 +2.360724 -0.677157 -0.003164 +3.572783 -3.196140 0.000036 +1.915754 2.077111 0.007923 +-0.428110 -3.736731 0.008183 +-1.165211 2.940515 -0.003029 +-3.729773 -4.919508 -0.003841 +-0.446611 -3.185744 0.000350 +3.606613 3.806952 0.008220 +5.343365 4.077148 0.006975 +1.769326 -3.755377 -0.005164 +3.876078 2.737133 -0.020592 +2.962399 2.369205 0.021431 +3.960278 -2.425879 0.009514 +2.069408 0.207589 0.002633 +-1.945874 -2.077927 0.003404 +-4.134385 -0.101576 -0.005216 +-1.575390 -0.941804 -0.010011 +4.220015 2.178145 -0.003325 +2.162980 5.808553 -0.002225 +-3.386096 0.094745 -0.006252 +-4.889776 -1.286505 -0.014572 +5.404219 -4.968956 -0.003126 +3.092673 4.385210 0.005766 +0.107354 3.571328 -0.004949 +-0.707452 -1.759748 0.000220 +0.068770 -3.663080 -0.020707 +-2.310164 -2.335486 -0.002076 +5.860904 -1.978043 -0.001220 +-3.253577 5.277205 -0.012261 +-4.337012 5.589615 -0.017295 +4.239737 1.764703 0.004118 +-0.866305 -3.633116 -0.008097 +-4.725562 -4.755896 0.004884 +-1.810297 -1.114219 -0.004202 +5.084522 0.434729 0.006232 +5.887569 2.650658 -0.003388 +-4.244465 0.642808 -0.015066 +-4.087554 -5.529569 -0.000865 +5.325446 -1.945752 -0.003283 +-3.724968 -4.778500 0.006574 +1.825689 -0.466212 -0.004506 +-5.859889 2.582176 -0.003931 +-2.919848 3.366696 0.008599 +-0.136731 0.426972 0.011663 +-0.513625 2.111783 0.007594 +5.880542 3.574471 0.010378 +-5.170778 -0.062373 0.004542 +-3.188549 -4.771213 0.007704 +-3.657893 -3.022628 0.008783 +5.516736 2.938376 0.004038 +4.235631 2.385868 0.000629 +-2.212151 -1.306734 0.001422 +-0.711822 -2.479111 0.024049 +-0.942690 3.254242 0.000137 +-5.091559 -2.681102 -0.002368 +-0.251688 2.114697 -0.003643 +1.751141 2.699827 -0.000333 +-4.736855 -3.830965 0.002442 +-2.292237 -2.619748 -0.011311 +3.067092 5.919814 -0.019806 +2.197376 -5.603443 0.002953 +-2.428867 3.636327 -0.016061 +5.092081 1.138947 0.002587 +-1.814129 -1.738580 0.001406 +1.601272 4.370287 0.011529 +-1.910024 -3.711623 0.016702 +-5.966514 -4.350350 0.003677 +4.214254 1.495016 -0.005539 +5.887648 -5.166459 -0.011748 +-1.607804 3.548511 -0.007918 +1.934476 -5.199951 0.000400 +-1.182720 1.651591 -0.020694 +2.253053 -0.579705 0.000752 +-3.741989 5.591127 -0.000121 +-0.401990 2.608122 0.006444 +0.417928 -5.031682 -0.003346 +-3.159684 -5.243696 0.001020 +-3.710668 -3.597759 -0.007361 +-1.021675 -2.139630 -0.004640 +-1.649362 3.802646 -0.017732 +-5.743681 -4.759254 0.001236 +3.693636 0.407581 0.015487 +-0.733327 -2.792193 0.001626 +0.507842 -3.341238 0.003658 +4.300329 3.888476 -0.009816 +-2.137789 -5.706003 0.014313 +4.652013 -2.415938 -0.007670 +1.882507 4.297866 0.008018 +3.580343 4.350012 0.001073 +-0.130387 4.107514 -0.009591 +-0.466127 -2.834187 0.010272 +-0.228402 -1.975271 0.000154 +3.205762 3.980506 0.001787 +-4.305992 -4.026878 0.004521 +-1.396064 -0.440564 -0.000215 +5.475858 5.300305 -0.003787 +5.604487 2.757065 0.004662 +2.126726 -2.755306 -0.004048 +-1.528145 -5.967800 0.000654 +3.995463 -2.686979 -0.006677 +-5.048627 -2.212906 -0.014901 +-2.121960 2.687828 -0.006732 +-5.931520 -3.239838 -0.004951 +4.757631 4.258513 0.000148 +1.548376 0.707399 0.011844 +-3.328590 4.501170 -0.016895 +3.128658 0.155192 0.001286 +-4.067780 -3.409930 -0.022119 +-1.448478 -2.026505 -0.010459 +-5.267327 -1.123484 -0.005071 +-0.615393 -2.555042 -0.022531 +-1.388365 -2.011467 -0.018577 +-1.477972 1.428372 0.001540 +-0.032032 -3.628927 0.000778 +3.543116 0.158238 -0.001138 +-0.499623 2.560113 -0.008037 +3.025656 4.188714 0.021544 +3.734960 2.028183 -0.001612 +2.653552 -4.114478 -0.008621 +2.391038 -2.946506 0.016784 +-2.905971 -4.558419 0.006143 +-1.237092 -5.761468 -0.003709 +1.883754 2.977232 0.011927 +3.306595 -4.453656 0.001567 +1.693039 4.059519 0.006431 +-5.568364 -3.679575 0.002348 +-2.786690 -0.456185 -0.010284 +-3.934018 0.466463 0.009712 +-1.872579 1.861326 0.001605 +0.375895 2.235575 -0.010094 +-3.043907 2.484826 -0.007629 +2.815637 2.663610 0.009553 +-5.178599 5.353804 -0.003694 +0.922366 -2.732171 0.000464 +-0.790362 0.211219 0.006545 +0.213236 -3.024498 0.001283 +-2.820429 -1.636945 -0.015266 +3.371098 -0.750671 0.006374 +-5.536424 -0.573482 0.009384 +-3.583649 -5.851051 0.008666 +5.724360 -2.475354 0.016168 +0.449958 -1.701603 0.003643 +-5.359119 4.810607 0.007770 +5.227889 -3.762807 0.015893 +-0.984037 -1.516311 -0.002907 +-3.993396 1.939928 0.017364 +3.383953 3.116376 0.017346 +2.103024 -5.790115 0.007831 +-3.244831 0.175214 0.018397 +2.434087 -1.362916 0.008519 +-0.608798 4.088630 -0.008807 +-5.717436 -2.776933 0.011374 +-2.520778 5.913392 0.003264 +-3.269567 -5.434642 0.004135 +-1.002429 1.794346 0.001546 +-4.158992 4.076338 0.013596 +-3.642524 2.451351 0.005524 +-4.058304 4.580702 -0.006958 +-3.584155 2.776307 0.004858 +4.064329 -2.940643 0.007293 +-4.886087 1.033695 -0.007256 +-0.011748 -0.248164 -0.004343 +3.376013 -0.442684 -0.003831 +-0.035623 -0.152829 -0.006073 +-0.544942 -1.131264 0.003488 +-4.069149 -2.456274 0.010177 +-2.821301 -3.021836 0.018924 +3.393897 -4.631546 0.011947 +-3.534956 0.316965 0.010221 +-2.249502 -3.118047 0.011432 +-1.519404 0.024255 0.013353 +2.092021 5.666665 -0.003767 +4.231666 -0.840091 0.006936 +-0.580356 -1.011440 0.003222 +-3.132796 5.421185 -0.001293 +-5.176083 -3.540632 -0.004550 +1.943774 1.074749 -0.005053 +-2.656233 5.243455 -0.002680 +-1.086541 1.155043 -0.012348 +-4.907684 4.690666 0.005217 +-4.763957 -1.271439 -0.000219 +4.626891 5.339928 0.001060 +4.847708 3.931118 0.003387 +-3.200391 -5.617752 0.007249 +-0.578285 -5.241845 -0.005918 +5.526411 -5.901751 -0.001063 +-2.094233 -3.560492 -0.016085 +-5.835709 -0.011063 -0.022199 +-5.087402 4.799270 -0.019405 +2.251535 -1.559991 0.015368 +4.098769 3.562292 -0.018264 +-2.082707 4.166738 0.004722 +5.152773 1.438701 0.014772 +-1.778604 4.807033 -0.004578 +5.314397 -1.832593 0.016298 +-4.964497 4.413722 0.018473 +1.977520 -3.216026 0.009453 +0.803127 -2.301676 0.023726 +5.030261 -1.894623 0.006227 +-3.644904 -5.481490 -0.007285 +-1.889795 5.873368 0.005241 +-3.379923 -0.503384 -0.004407 +5.665279 -5.919430 -0.012999 +-2.459242 3.854209 -0.012723 +-4.851220 5.139554 0.023161 +4.014689 -4.283380 -0.005361 +1.108151 0.665979 -0.000183 +2.324322 -2.317916 -0.006570 +-1.390145 -3.110388 0.001452 +-2.497206 -3.891255 -0.002303 +4.852836 4.649090 -0.004011 +-1.679801 2.318615 -0.012018 +-0.116694 -2.630607 -0.014026 +-1.804749 5.581868 -0.007330 +-1.902462 0.943997 0.003044 +5.341230 -2.428874 0.020887 +3.707280 -4.631031 0.010662 +2.799966 3.680253 0.018367 +4.049325 5.700636 0.004994 +2.531265 5.726533 -0.000723 +-2.659760 0.258731 -0.013097 +-3.431110 -4.997655 0.000181 +-0.732764 2.636164 -0.021282 +3.341362 -5.796138 -0.002835 +5.306629 -3.033199 0.016454 +-2.493598 3.988944 0.003467 +4.730578 2.837242 0.011468 +-2.006201 -0.445890 -0.003631 +4.015261 -1.712297 -0.013568 +3.663672 3.384114 -0.004591 +-0.375943 4.758661 -0.003763 +-1.385763 2.998984 0.012264 +1.676986 -2.024992 0.019967 +0.381407 1.272479 -0.007187 +0.441911 -4.671371 -0.003369 +5.897407 5.599255 -0.001229 +-5.550306 5.331357 -0.003259 +0.377866 -4.491546 -0.012206 +3.846829 -0.804419 0.001167 +2.558288 3.926680 0.003862 +0.456476 -5.404016 0.004103 +3.869650 2.328460 -0.011816 +4.921697 -2.758355 -0.000887 +3.422056 4.477412 -0.017144 +-1.739387 -1.077744 0.009392 +-1.992150 -5.931270 -0.009936 +-3.221311 -2.021564 -0.002480 +-4.699154 3.186675 -0.004222 +-0.876569 0.818571 -0.005562 +-2.584721 -1.675820 -0.010315 +3.040609 -0.362184 -0.017397 +1.158264 -0.927834 0.017612 +0.684418 4.768300 0.002843 +-2.791179 0.228744 0.002945 +2.246713 -4.958526 0.021282 +5.544091 -0.014907 -0.000711 +-3.055953 3.125169 0.005823 +3.786971 1.567437 0.000509 +4.993953 -4.933072 0.012175 +0.331182 2.914681 0.005323 +5.001818 1.697361 0.003452 +1.227742 -1.341264 -0.002244 +0.859320 0.657563 0.003109 +4.860300 3.925215 0.011951 +2.846346 5.085418 -0.020453 +-5.206050 3.235411 -0.000974 +-0.436600 3.021657 -0.003860 +-2.445870 -0.391941 -0.002683 +3.895089 -5.577837 -0.019438 +-2.506481 -0.138458 0.007636 +4.218026 -2.759602 -0.008132 +3.876893 -3.065467 -0.001945 +-2.362189 0.645817 -0.004713 +1.846862 4.560840 -0.016374 +4.553605 -2.998059 -0.004136 +2.947226 1.619916 -0.018092 +-1.366278 3.312502 -0.009099 +4.770233 -0.249665 -0.002824 +4.993264 -4.468551 0.000282 +-4.005712 3.170413 0.000882 +-2.333380 1.024390 -0.001047 +-0.035147 -4.250575 0.021707 +3.050804 2.897191 0.004684 +-4.257559 -2.882740 -0.011886 +3.607016 4.946771 -0.005791 +4.441082 0.022343 -0.006243 +-1.591255 -0.656977 -0.001443 +-3.883338 -0.048134 -0.005702 +-3.229350 -4.056604 -0.008222 +-1.432526 -5.232775 0.016823 +-0.355750 2.353640 0.000772 +1.816878 5.703105 -0.003039 +4.629535 1.605021 -0.002190 +4.771472 -0.666640 -0.001835 +3.586489 -2.586245 0.014263 +0.320434 5.758416 0.005119 +1.185596 0.081496 0.011568 +3.447691 -2.251713 -0.030843 +3.972528 -5.777451 0.003602 +-3.140924 -3.873034 0.010934 +-2.911795 5.346378 0.020078 +-5.713260 -2.415059 0.000639 +0.892689 2.437073 -0.016822 +3.285407 -1.400564 0.006237 +-3.357914 4.228231 -0.005642 +-4.534894 -5.219738 -0.017569 +-3.221043 -0.088957 -0.005837 +5.305904 2.746225 0.010913 +0.767668 0.254629 0.012372 +2.321009 1.517600 0.007571 +-1.964264 -4.887239 -0.010124 +-3.588936 3.392501 0.025529 +1.613439 3.566131 -0.011333 +-5.466108 4.809836 -0.000414 +-1.412980 5.114009 -0.014084 +1.134226 0.567754 0.013540 +3.816927 1.505176 0.004830 +2.094862 -4.108783 0.009255 +1.253484 -1.722007 0.001279 +-5.092947 -4.401708 -0.000303 +-0.242410 -2.849943 0.002126 +3.183874 -4.531218 -0.018498 +-5.834173 5.963756 0.010329 +-2.244336 0.117478 0.009524 +-3.479434 -3.494415 -0.003531 +-1.172358 3.477589 0.000271 +-5.531971 4.047647 0.003396 +5.883209 0.709947 0.016104 +-1.679865 -3.192770 0.004725 +-3.804588 -2.119971 0.000834 +4.219886 -5.960932 -0.004678 +3.431743 2.009176 -0.014619 +-5.771808 -5.165426 -0.005543 +2.820747 2.078052 0.001137 +-2.238088 4.335481 -0.002095 +-3.478115 -0.877094 0.001186 +-4.619948 1.748333 0.007888 +-4.955718 -3.846216 0.004792 +3.196203 0.002864 0.003194 +1.942411 2.807438 0.007007 +1.278611 -3.626882 0.002311 +2.381938 -4.608746 0.000142 +-2.762252 -0.622355 0.005150 +-4.626708 -4.728112 -0.016821 +1.827240 2.903490 0.012987 +-1.551710 -1.321747 -0.012430 +-3.508788 0.259534 0.008835 +0.964422 5.203278 0.000598 +-5.513040 4.904700 0.011553 +5.887772 -1.844592 0.000828 +2.709695 3.898136 -0.008963 +1.813518 -2.533145 0.011217 +1.474879 4.522905 0.002333 +-4.715430 -0.240321 0.001675 +-5.728255 4.139522 0.001304 +3.341881 -5.447595 0.010509 +2.949736 2.298685 0.008677 +-4.484985 0.302021 0.002805 +2.272318 -1.974174 -0.015003 +0.046780 5.711187 -0.003531 +1.628182 0.023920 0.001570 +-5.208031 -4.545943 0.018466 +4.209241 2.911183 0.004364 +4.021138 0.937027 -0.000398 +0.912113 0.366929 0.012486 +2.820980 -2.037474 -0.000585 +-0.039528 -0.362786 0.000251 +1.939647 -3.405471 0.002104 +-5.699109 -4.937275 -0.014443 +-3.849093 4.286936 0.010112 +2.602044 2.999652 0.004797 +-0.669253 -4.766746 -0.002285 +-0.416722 4.355843 -0.010879 +0.109859 1.582043 0.002681 +-1.509679 -4.198959 0.014547 +1.519543 -0.180269 -0.005864 +-1.852486 -2.897765 -0.010067 +2.351896 -2.185062 0.004752 +0.911598 -2.883102 -0.015412 +3.040940 -1.500601 -0.021656 +-0.258073 5.130952 -0.003889 +2.620582 2.835981 -0.006342 +-1.927898 4.084049 -0.002208 +-1.370898 5.859670 -0.004951 +4.750795 1.909496 0.003889 +3.977567 0.528521 -0.001643 +2.797036 -4.502708 -0.005421 +5.863028 3.602535 -0.004007 +-4.290691 -3.088627 0.006887 +0.899665 3.153017 0.010160 +-4.213755 5.527652 0.009618 +-1.848704 5.939694 0.007549 +3.031029 -0.173738 -0.032401 +-1.647594 -4.842138 -0.009439 +-4.945194 1.553439 -0.002564 +3.282251 4.890505 0.002642 +-1.620128 5.251563 -0.015589 +-2.437499 5.278593 0.014810 +5.026025 -4.140014 0.003624 +4.329528 2.444293 -0.005620 +2.429253 4.084949 0.002228 +0.439969 0.081216 -0.002870 +-1.595642 4.383002 -0.007001 +4.813179 -4.073462 0.005658 +3.266030 -2.693864 -0.003938 +-3.793712 -3.633499 -0.013516 +0.879667 -2.642758 -0.005749 +-3.092654 -4.818048 -0.000543 +-2.103456 3.289125 -0.010193 +-5.740816 -0.208077 0.013219 +1.233675 -5.404570 -0.010284 +-2.472333 4.877714 0.018185 +5.932043 4.203688 0.009559 +-3.963623 3.169882 -0.008798 +-0.589611 -3.952268 0.001921 +-0.229381 5.074566 0.012443 +4.527032 -1.301580 -0.001284 +-5.239774 4.806639 -0.011300 +5.835425 0.136731 0.001751 +-3.296641 0.525514 0.020536 +2.355283 -0.213513 -0.014262 +-1.769421 -3.026588 0.006189 +-2.437679 -5.402152 0.000745 +-2.939110 5.437562 -0.000527 +-5.902829 2.729621 -0.003243 +3.466956 -1.143480 -0.002534 +1.142889 -3.349410 0.011041 +2.016543 2.493909 0.006635 +2.814820 -0.099279 -0.009303 +5.644991 4.395786 0.016262 +0.869496 2.188352 -0.012294 +-2.702564 5.323535 0.007309 +1.741707 4.739089 0.002523 +-2.536507 5.788575 0.012673 +-4.734673 0.364189 0.004252 +-4.674331 -3.722546 0.011256 +3.169808 -5.206860 0.000454 +-1.407476 -3.700133 0.010429 +4.203257 -5.011494 0.004149 +-1.961077 4.274925 0.022197 +2.242967 2.439938 -0.006248 +5.894260 -5.718952 0.012654 +1.977819 2.939491 0.005360 +2.978087 2.568258 0.002481 +-5.133450 -4.992739 -0.004945 +3.273624 1.341245 0.005194 +-2.847911 -5.888515 -0.014014 +0.401496 -4.914915 -0.012961 +2.980581 -1.911337 0.007847 +3.689743 -4.853331 -0.014820 +-0.072287 -4.802820 0.015101 +3.364321 0.719797 -0.002010 +-3.183749 5.554236 0.003233 +2.183939 -1.963895 0.001492 +4.263989 -1.440212 0.004945 +5.309580 -2.434611 -0.002047 +5.812334 -5.250204 -0.002930 +2.814850 -2.503189 -0.000513 +-0.913174 1.634225 0.011242 +-5.450039 -3.317525 0.012084 +-4.751798 2.875747 0.013491 +-3.345100 -0.020011 0.004407 +-2.057839 -3.166599 -0.001251 +5.222134 0.089934 -0.016041 +1.805642 2.452596 0.007187 +3.853815 -2.841369 0.009164 +-5.056863 -0.393051 -0.003273 +-3.959926 -5.754817 0.008830 +5.036211 1.519030 0.013650 +-1.027623 -4.362659 0.001706 +3.134983 0.396063 0.011330 +-3.908463 5.787262 0.003840 +5.409777 5.125693 -0.016585 +3.919791 0.379008 -0.003962 +-2.394593 1.820499 -0.003336 +-4.183818 1.401752 0.006060 +-5.207191 -5.836977 -0.007868 +2.586195 -1.887471 -0.003622 +2.367012 3.359362 -0.008857 +4.023644 1.389952 0.000381 +4.160847 1.906437 0.001464 +5.127365 4.762197 0.010514 +-5.480618 -2.788229 0.008738 +-1.334087 -2.973611 0.002414 +-3.877304 4.481681 0.003180 +-5.699982 -3.817687 0.001857 +3.122917 -3.320270 0.001895 +-2.899763 5.609660 0.016236 +3.151825 -0.616019 -0.024092 +-4.365579 -2.771441 -0.000986 +5.773957 3.492937 0.003898 +-5.161454 2.482113 0.012069 +-1.487632 2.638855 -0.010172 +-2.454647 -4.438020 0.004239 +-5.763601 -2.451771 0.009390 +4.324129 4.694770 -0.003683 +2.198067 2.974636 -0.018317 +-3.664455 -1.748854 -0.002827 +4.790799 5.835362 -0.011237 +-0.683342 3.311696 0.007281 +5.201361 5.964027 -0.007738 +-2.450926 1.848848 0.018577 +-1.320245 -0.418997 0.002186 +-0.456977 -2.657816 -0.007283 +-5.771220 3.198378 -0.004275 +2.351610 4.087165 -0.010150 +-4.160350 -3.155568 0.004667 +1.153560 5.239521 0.015683 +-0.338705 -3.590071 -0.001384 +1.136286 5.490055 0.010020 +4.416906 4.787480 -0.008652 +-1.073735 -2.852463 0.003852 +4.446999 3.457045 0.023810 +4.216527 -1.305277 -0.013285 +-2.566104 -3.116405 0.013094 +4.447444 5.033068 0.012508 +-1.594029 4.494497 -0.018029 +-1.423287 -0.625094 -0.013573 +0.797778 -3.344387 -0.008991 +-2.790606 -2.800186 0.010458 +-2.879153 0.186250 -0.003519 +-4.793978 3.364553 -0.000905 +-3.902421 -0.672395 0.007843 +1.701869 -4.343715 0.001947 +-1.089696 0.757942 0.003024 +0.603702 4.710288 -0.002446 +3.420105 -4.549084 0.012007 +3.998683 0.597523 -0.007015 +2.137960 -4.080285 0.017514 +-0.336231 2.398990 -0.002618 +3.569432 3.669737 -0.007217 +-3.394423 3.992709 0.007225 +0.821127 2.024254 0.005267 +4.218628 -1.134384 -0.019047 +5.035650 4.575060 0.002966 +3.692939 -1.440702 -0.012748 +0.338481 -3.922575 -0.007545 +3.112489 4.691216 0.008615 +-4.069867 2.936966 -0.007879 +2.330047 -5.561743 0.004295 +5.003119 -0.250221 -0.003059 +-2.769850 -5.637762 0.020065 +3.382133 -1.946487 -0.000229 +0.161927 -3.663129 -0.011023 +1.283976 -1.233176 -0.010323 +3.679205 1.995971 -0.008339 +2.660748 -2.986183 0.001986 +-5.233780 4.559512 0.000677 +5.227803 1.722026 0.010394 +5.061125 2.475534 0.002368 +1.269865 -0.971394 0.001978 +-1.732670 -0.123989 0.003925 +-3.330743 -0.867862 -0.000614 +0.091698 -5.625453 0.003600 +-1.276823 -2.586529 0.008504 +1.609958 3.741357 0.008502 +1.373296 1.967348 -0.004786 +1.366822 -2.925097 -0.017018 +-1.484447 4.130392 -0.007425 +5.352288 -3.825582 0.003471 +-5.873090 5.537528 -0.024238 +4.315303 1.291127 -0.004112 +3.803012 1.131120 0.005131 +4.857747 -3.079854 -0.005004 +-0.670423 2.046933 -0.010551 +-3.412431 2.577821 0.018164 +-2.851513 2.520262 0.014470 +3.650593 -0.909874 -0.001966 +5.881336 1.576416 0.013839 +3.078992 -5.752859 0.013594 +-4.646260 2.537841 -0.010694 +5.317386 1.538747 0.027403 +4.954124 -5.289895 -0.008774 +4.699795 4.527774 -0.002040 +1.546415 -0.846322 -0.010368 +2.459375 -3.072994 0.001358 +2.011754 2.331110 -0.012572 +0.478829 -2.879102 0.000500 +-5.974717 -3.650661 0.011391 +4.005306 -3.452707 0.002697 +-5.108029 -3.040384 -0.002086 +0.230074 1.035285 0.016009 +4.525766 4.257076 -0.008416 +5.624880 4.611218 0.010225 +-0.596909 -4.297452 -0.002482 +5.469365 -3.254853 0.002692 +1.465436 -2.826400 0.000844 +3.801899 -3.590711 0.001804 +-0.950585 -3.363601 -0.000013 +4.326788 1.433074 -0.007307 +1.569853 -2.226032 -0.005177 +-3.882099 4.288050 0.004916 +3.175202 2.813345 -0.000585 +5.965666 0.714391 -0.011141 +-3.857318 1.314489 -0.006571 +-2.552438 0.155269 -0.006453 +-0.488120 0.762330 -0.000083 +5.056515 3.722409 0.002242 +-1.018205 3.807992 0.001360 +4.326264 3.287727 -0.006094 +0.616663 4.792144 0.000613 +-0.096469 -4.728536 -0.013257 +-2.734501 1.890156 -0.028414 +-1.450483 -0.926167 -0.000136 +-1.173493 -3.695561 -0.016131 +-4.877615 -5.411030 -0.009071 +2.070090 -2.110680 -0.011671 +-0.517710 5.222320 0.006663 +1.519982 3.727849 -0.011731 +3.147948 5.444522 0.003111 +-5.198153 -1.390298 -0.004547 +5.395343 -0.426800 -0.012033 +5.373601 -3.781663 -0.015428 +-5.277051 4.745596 0.004921 +-1.064963 0.099302 0.004154 +5.235309 -3.366848 0.008020 +5.618365 -1.241400 0.018583 +-3.030980 -3.195549 0.002979 +0.221386 -0.396408 0.003062 +4.633205 -5.390375 -0.000995 +-5.472290 -4.166583 0.001286 +1.267972 3.376135 -0.003282 +-0.241877 1.365067 -0.008732 +1.710640 -5.768460 0.020137 +-3.044683 5.973097 -0.018427 +-2.030548 5.359524 0.002720 +-0.092687 -3.329323 0.004599 +-5.971017 -3.389394 0.001666 +-2.141963 -0.728371 -0.009462 +-0.633940 0.580135 -0.001772 +-0.310216 -5.605634 -0.004479 +-2.796393 5.544228 -0.010622 +-5.671021 2.808701 -0.000353 +-0.283529 2.483073 -0.003977 +-2.009983 -1.558344 -0.005434 +0.201359 4.915901 0.006906 +-2.059340 -4.969634 -0.010527 +-5.540920 4.578817 0.004455 +-2.235172 -4.565691 -0.006062 +1.157071 4.138744 0.004303 +1.194568 -4.179460 0.000718 +-1.131209 -2.802128 0.002423 +-5.801136 5.588224 -0.009782 +-0.489398 -4.383337 -0.007746 +4.618867 5.821559 -0.008563 +3.792069 -2.956249 0.001720 +-3.713485 0.301348 0.007438 +1.001964 4.540817 0.010749 +5.606915 4.924644 -0.005038 +-1.895048 1.027192 0.000805 +-4.513723 0.226518 -0.016203 +-5.150760 -4.664438 -0.022200 +-4.536688 -2.382812 -0.008711 +-2.283844 2.460484 -0.006717 +-5.087595 -4.666271 -0.015580 +1.875847 2.073467 -0.017836 +2.525243 2.641670 0.005233 +1.955090 0.631123 -0.008118 +2.896346 -5.021666 -0.016882 +-3.458265 2.897440 0.023049 +-3.689374 0.369029 0.001589 +-2.876383 -0.824700 -0.003309 +4.010135 1.927680 0.006614 +-0.657737 -2.717642 -0.007734 +3.660221 1.884270 0.015672 +-0.720614 4.431268 -0.015525 +2.309526 5.766926 -0.013218 +1.972636 4.798816 -0.001563 +0.604911 2.520015 -0.007833 +4.109179 -4.914515 0.013853 +-0.309321 1.267232 -0.016205 +-5.306598 3.470689 -0.007520 +2.586552 5.234830 0.002133 +-1.535557 -0.370124 0.005359 +4.942734 -1.062111 0.009733 +4.012222 -0.943093 0.003155 +-1.946903 -2.672950 0.021693 +-3.438073 -0.822829 -0.005012 +-4.061025 3.935825 0.001456 +5.693164 -4.830725 0.008235 +-5.342169 -5.955148 -0.003461 +5.184759 -5.114348 -0.003240 +2.162160 -2.353961 -0.004954 +-3.621351 -3.043970 -0.006753 +2.275938 -5.784224 -0.011595 +4.377809 0.813621 -0.005880 +-3.172883 -3.499937 -0.015798 +1.856790 1.551969 0.003418 +-2.182611 -1.991765 -0.016244 +-0.438710 4.925665 0.020192 +0.459694 4.080841 0.016549 +1.690220 0.745356 0.010614 +-0.124081 2.167544 -0.002511 +-0.101664 2.711713 -0.006263 +-3.815241 -2.132222 0.011780 +4.478142 -1.257284 0.001378 +4.116870 5.255469 0.005144 +0.941622 -4.777632 -0.007610 +3.083184 1.990356 0.010181 +-2.510543 4.355744 -0.008415 +-0.207343 -5.315993 0.000612 +-5.184286 -3.260002 -0.017698 +1.317993 3.782154 -0.006990 +-4.811506 -5.732305 0.004524 +1.470034 -1.086429 -0.004959 +-0.700451 3.848440 -0.004927 +5.028198 5.606879 0.007378 +3.349890 -5.960824 -0.001214 +-4.193926 1.047302 0.011882 +5.463423 -5.022641 -0.024567 +0.179223 -1.242293 0.005164 +-1.118014 -2.777311 0.004550 +-2.750926 -3.139630 -0.015884 +-4.762067 0.648842 -0.013437 +-0.648629 2.555222 0.008239 +1.679234 5.433577 -0.011140 +-1.924567 4.589893 -0.006852 +-1.382775 1.928249 0.005443 +3.659742 -1.238644 -0.003824 +-0.646107 1.575028 0.004231 +-4.670627 0.381130 -0.009166 +-4.860704 -3.301560 0.002436 +1.476697 5.665970 0.010255 +5.992343 -2.871763 0.002713 +-4.244184 0.223072 -0.022380 +-0.703502 -1.446787 0.005959 +3.221646 2.516270 0.000051 +0.741915 1.457510 -0.009550 +0.982252 2.122494 0.013342 +5.133681 5.360020 -0.017895 +5.753945 4.316634 0.018132 +-4.743097 -0.579924 -0.006834 +3.378979 -2.468000 0.015140 +1.280680 -5.337108 -0.000978 +-3.556398 -1.197355 -0.013783 +-5.157680 -0.908070 0.000410 +-3.238664 4.341296 0.002767 +-2.174257 -1.431289 0.004857 +3.624352 0.716015 0.010026 +-5.398956 -3.389072 -0.009473 +1.330461 -3.607625 0.004362 +-3.020251 1.475215 0.006796 +-0.064978 -2.770787 -0.003247 +0.710397 1.604975 -0.009866 +-5.527531 -2.713837 -0.010064 +-2.307474 4.544651 0.006920 +-5.384116 -1.834390 0.007412 +-3.665396 2.341686 -0.008800 +3.734811 -5.310753 -0.013877 +4.359623 2.351525 0.011788 +-3.396254 4.989993 -0.016015 +-2.483492 3.461581 0.001038 +-5.100485 -0.527412 -0.008571 +0.069063 4.759028 -0.018027 +4.038308 0.556611 0.000683 +-5.381567 -0.840270 -0.002447 +-1.496488 5.945933 0.013775 +2.168627 -1.139327 0.022060 +-1.622207 3.210952 -0.002428 +-4.850643 3.804214 0.009652 +2.050807 -0.776423 0.009845 +2.523967 -1.226226 -0.005766 +-4.281926 -0.996721 -0.009185 +-5.383599 -4.954622 0.015472 +-0.731782 3.900894 -0.004194 +-3.555941 0.009801 -0.000814 +5.747381 3.929418 -0.003456 +4.823100 2.099616 -0.001885 +1.068864 0.982130 -0.006571 +1.214831 -0.420304 0.006891 +-1.672491 -3.135734 0.011939 +-5.216332 -1.570402 -0.004274 +3.238801 0.632235 -0.014296 +-4.032146 3.770436 -0.000057 +-5.502439 5.173528 -0.015364 +1.821662 0.673331 -0.006925 +-1.048699 3.900372 0.011687 +-5.918612 -5.809039 0.022538 +0.243777 -2.435163 0.003182 +-1.181378 0.439181 -0.011161 +-5.474718 5.796731 0.007202 +2.131692 -4.813282 -0.022917 +2.863322 0.394809 -0.007474 +2.243361 2.852508 0.014599 +5.896389 -4.579198 0.006854 +5.954602 -0.277702 -0.014297 +-3.588691 -1.516690 -0.017113 +-1.628178 4.744226 0.007949 +0.291471 -5.199399 -0.001034 +2.578505 -0.026707 -0.006467 +3.775247 -5.442505 0.003543 +4.380051 4.714341 -0.006274 +-5.901187 -0.276953 -0.019683 +-4.541079 0.353039 0.007485 +-4.929680 4.644537 -0.007009 +-3.796290 2.018352 -0.010542 +1.842879 -2.150179 -0.013830 +-3.426361 4.982885 0.001927 +-5.522441 -2.950549 -0.008569 +-2.079429 1.010042 0.005651 +-1.569708 -4.663640 -0.003221 +0.844026 2.689020 0.010193 +2.457394 -0.124932 -0.004405 +-2.317728 -5.876819 -0.007065 +0.393586 1.542510 -0.020156 +-0.704904 5.510578 -0.011491 +-3.573180 3.769265 0.006607 +2.625351 4.791908 0.029842 +5.094644 -3.159374 -0.013012 +5.061708 -1.161261 -0.010882 +2.148959 5.434756 0.002805 +1.144298 0.995145 0.004192 +-5.149730 1.159806 -0.007293 +-3.106613 -1.340923 0.000228 +-1.465716 5.680232 -0.016550 +1.653544 2.699583 -0.003518 +-3.926821 -2.348585 0.008408 +4.529567 -4.557118 0.015706 +5.437413 -0.871115 -0.002220 +-1.320635 0.175700 -0.003131 +-0.680931 -0.353612 0.003951 +-0.912170 2.421134 0.010464 +-2.684478 -4.002077 0.004298 +-0.785554 -4.940408 -0.008019 +-0.631479 -0.067949 0.002999 +3.412054 -4.691459 0.009081 +-1.237471 3.366672 -0.007638 +-1.940936 4.034647 -0.013838 +2.620702 -5.499342 0.004521 +-1.376657 3.196412 0.003100 +0.318475 2.074552 0.009074 +5.880322 2.103061 0.000342 +0.552588 4.153392 -0.006950 +-0.837474 -5.875019 -0.004885 +-2.730298 1.136721 -0.010770 +5.378973 1.285626 -0.009951 +-2.595518 5.918493 -0.006114 +-1.198123 -3.266356 -0.005337 +0.635035 -1.871336 0.010559 +-4.661230 2.553386 -0.012726 +2.297529 5.666239 -0.000996 +-4.357894 4.926486 -0.006378 +3.566202 -2.962913 0.014287 +-0.248670 1.561730 0.002097 +-2.220640 -4.709366 -0.004222 +4.044973 -4.023655 0.007599 +-0.111365 -0.747587 0.000162 +4.836338 0.707147 -0.005233 +-0.907146 5.721681 0.014772 +-1.769460 2.717869 0.006577 +-3.192516 3.086625 0.016710 +3.015023 3.937862 0.011019 +-0.183267 -3.334155 0.007227 +1.583812 4.922693 0.000835 +-2.282157 -5.758073 -0.011262 +-3.780035 5.195008 0.006581 +-5.927318 -5.353673 0.000252 +-4.820011 4.702085 0.006251 +-1.400203 2.299331 -0.000543 +2.470501 -0.791949 -0.007317 +2.788593 -0.465290 -0.010459 +0.502133 -2.318229 0.006501 +-5.976713 1.119697 0.012395 +-2.812429 -2.698036 -0.003309 +4.545579 -1.657794 0.004073 +-4.771754 1.564439 0.013311 +0.461287 -5.309171 -0.008735 +-1.813067 1.334492 -0.003820 +-2.643369 5.833831 -0.011560 +3.587611 0.050544 0.011285 +4.986353 -5.583111 0.002177 +-3.305529 4.977991 -0.005016 +0.104612 -3.957515 -0.016878 +0.841084 2.762771 -0.002209 +1.240992 -5.449447 0.009494 +-5.559245 -1.114953 -0.003354 +-5.804870 -4.991039 -0.004630 +1.710774 -0.738587 0.005955 +-4.973765 4.517453 -0.012657 +-1.578157 4.598060 0.000112 +1.310874 1.451613 0.005538 +-0.911633 2.063936 -0.008144 +-3.077608 -2.910875 -0.008636 +4.498904 -3.555152 0.002064 +-1.367426 2.936639 -0.001383 +-2.039982 -1.608238 -0.002736 +4.910129 -3.522371 0.001667 +-3.105851 4.640777 0.001820 +-2.697179 -2.032743 -0.009578 +4.583867 -2.146411 -0.007004 +5.963739 3.855370 0.004074 +4.160043 -3.291873 0.010754 +-3.395227 3.030915 0.013066 +3.920755 -3.305486 -0.008781 +-3.528210 -3.077316 0.010490 +-4.348665 -0.945596 0.007159 +0.034954 1.537999 -0.000666 +-5.335758 -3.693658 0.004483 +-4.595140 -2.759887 0.007874 +-3.770576 5.235273 0.017382 +-1.519881 -4.333227 -0.010822 +1.997300 5.674874 0.005613 +3.532950 1.778515 -0.001732 +-1.462062 -1.160433 -0.002396 +-2.374406 3.674654 0.011035 +3.640068 -0.127264 0.007777 +4.343196 1.826387 -0.010403 +2.226735 -2.774674 -0.003143 +-3.101218 -3.267255 0.001924 +4.950129 3.602971 -0.014336 +4.791127 3.872868 0.008235 +3.659021 -0.767324 -0.001068 +3.187407 -4.000235 0.001287 +1.869300 -5.486849 0.003003 +5.589296 4.553392 0.017584 +-4.020523 3.224522 0.000043 +3.883786 -5.495928 -0.003856 +0.793326 -0.958790 0.016912 +1.424971 4.636405 -0.005282 +2.675452 -3.466155 -0.005510 +0.656516 0.740931 -0.014047 +-5.863333 -4.417735 0.010394 +-1.686233 -3.863825 0.002386 +-3.152842 2.113342 0.004359 +5.535593 -0.503274 0.001340 +1.752820 3.136894 -0.001641 +2.075504 1.884154 -0.008073 +-5.985927 4.439005 -0.008026 +-4.064836 -3.834078 0.003977 +0.117719 1.042389 0.000929 +3.066885 -2.484911 0.015852 +5.342125 1.538831 -0.007813 +4.129697 -0.275809 -0.005111 +-5.146238 -5.854678 -0.010388 +1.683058 -0.886358 0.013350 +-0.714276 -2.088140 -0.012484 +-3.860443 -0.315861 0.007349 +-2.942457 4.713037 0.013944 +-3.855127 5.612130 -0.001669 +4.323400 -1.396390 0.006890 +3.274283 0.968539 -0.021322 +-0.408820 3.743910 -0.004101 +3.969499 -3.581920 -0.016679 +4.872127 -5.615005 0.001425 +-5.933722 -0.195876 -0.000185 +-2.383994 -0.927965 -0.007877 +-0.251877 -0.380040 0.009071 +4.894104 5.018384 0.003246 +-1.845553 -2.548671 -0.005443 +1.847980 -3.618975 -0.005337 +-1.194251 2.615482 -0.014802 +-5.931723 3.261913 -0.002099 +2.806086 -1.352842 0.020689 +-3.025934 0.480503 -0.007289 +-2.452302 3.853029 0.003899 +1.087323 -2.319228 -0.005683 +3.692179 1.291061 0.007685 +-4.416452 -1.031940 0.004091 +-0.123192 5.336908 -0.002562 +-2.152014 -0.617790 -0.017883 +5.721532 -0.886150 -0.005335 +3.925298 -4.836415 0.011608 +-1.274216 -3.794342 -0.002665 +4.607833 0.631407 0.005965 +-3.377452 -4.893877 -0.005001 +-0.949112 -4.843147 -0.018698 +-0.177061 2.745453 0.003964 +-2.275364 -3.990220 0.002914 +-1.661694 -4.006098 -0.005966 +4.126070 -4.846506 -0.003911 +2.891309 -1.993930 0.002618 +2.740515 3.251521 -0.006103 +-4.379334 3.078082 0.003175 +5.347448 0.804632 -0.002256 +1.739210 -2.128970 -0.023544 +-3.906215 2.932639 -0.001667 +3.845590 -3.526291 -0.006141 +-4.638717 -1.772650 -0.008512 +1.513003 -1.619208 0.003739 +5.568148 3.497700 -0.005066 +4.994289 1.195706 0.005099 +3.069058 5.411844 0.010573 +-5.572515 0.898928 0.001182 +-3.754881 3.541347 -0.015533 +-3.208354 2.899358 -0.007461 +-2.008564 1.818286 0.008795 +2.147521 4.905826 -0.002783 +4.468559 -0.746365 -0.008201 +2.268224 -3.811266 -0.001114 +-4.823131 2.568761 0.004753 +4.882022 2.959792 0.002341 +0.201157 1.554996 0.006164 +2.760946 0.831947 -0.008369 +-1.643189 4.209128 -0.002930 +-1.568774 4.844180 -0.002704 +3.592846 3.516237 -0.000428 +4.004795 5.841747 -0.020924 +5.878362 0.016845 -0.002545 +-1.472643 2.798114 -0.013468 +5.615086 1.561004 0.013534 +-5.691571 -5.537348 0.015178 +-0.430024 3.452431 0.016412 +4.649997 -1.499909 0.007804 +0.206032 0.156411 -0.004999 +-4.865036 -5.989313 0.009287 +0.284135 0.051400 -0.002178 +4.363371 -3.819807 0.005852 +4.230479 -2.744929 -0.009111 +0.471034 2.484190 -0.005995 +-4.256700 5.357057 0.004409 +5.494327 5.639903 0.017335 +-5.973088 1.721184 -0.000431 +2.052901 4.558948 0.022097 +-3.582273 -4.511653 0.027062 +3.713209 -2.859585 -0.012852 +-5.207629 -4.896956 -0.000447 +1.742127 0.430302 -0.009586 +2.974775 3.685442 -0.001549 +-5.967507 5.195257 -0.005453 +4.556108 5.196744 -0.000833 +3.224026 -1.394926 0.009366 +-3.022038 4.949491 0.009116 +-0.957425 -0.145124 0.002404 +2.381315 2.260818 -0.000136 +2.321167 1.483168 0.001010 +0.103578 3.204297 0.001095 +-1.250511 -2.851657 0.005513 +4.908866 4.151820 -0.000106 +2.615406 -3.980891 0.004815 +-5.452117 5.069364 -0.013100 +5.314991 -2.731115 0.007687 +1.553538 -5.779541 0.017123 +-1.275958 2.447858 0.001663 +-1.667542 3.685411 -0.014126 +4.953563 -4.353505 0.013209 +2.258028 -1.487941 -0.003403 +-3.907391 -1.809094 -0.029701 +-0.218240 4.750701 -0.002302 +3.184824 -5.937854 0.005846 +-5.322683 5.926264 0.003656 +0.679493 1.322228 0.012129 +-1.766858 3.977303 0.006002 +0.684320 1.111160 0.001095 +-3.005828 3.320502 -0.019678 +-3.429981 -4.352918 -0.011154 +1.168547 3.987909 0.001640 +-2.483086 -2.374770 0.006566 +-4.207529 1.238084 -0.010293 +3.249291 -4.492515 -0.006185 +0.422037 0.476686 0.004518 +-4.718938 0.363493 -0.019023 +-2.737463 -3.610488 -0.019387 +5.826662 -4.915886 -0.002405 +-1.878875 1.423723 0.002366 +-1.142065 -5.785314 -0.004868 +4.394970 -3.129371 -0.022824 +-1.055016 4.902467 0.000102 +5.634567 4.977296 -0.013272 +-1.067841 2.929490 0.006344 +4.181276 -3.633148 -0.001125 +5.633592 -4.783070 0.002491 +1.892616 -3.131590 0.006222 +-3.419976 -4.352992 -0.005335 +5.305323 -4.460703 0.008063 +4.949819 -4.011525 0.012182 +-2.049107 -3.462312 0.003803 +5.855221 -4.884983 0.013038 +4.334055 -2.394563 -0.006324 +5.427492 3.004036 0.008945 +-2.833921 0.119192 0.002543 +-4.066592 -1.113745 -0.009887 +-5.684376 2.179236 -0.000896 +1.119855 -2.738232 -0.005366 +-5.840420 5.268317 -0.005586 +-4.501186 -2.067245 0.000741 +-5.695282 -1.400858 0.010394 +-1.179766 0.402085 -0.003260 +-2.116088 -3.002943 0.001119 +3.429428 -2.652899 -0.014649 +-2.015303 -0.106989 0.000942 +-2.714265 2.718934 0.011307 +-4.992110 -2.122302 0.007905 +-0.949527 -2.903368 0.004585 +4.078535 -1.750794 -0.005327 +-0.952195 -0.374334 -0.009765 +3.962075 -3.375611 -0.001043 +3.945544 5.380491 -0.013362 +-2.807575 -3.968500 -0.012331 +3.464837 -2.245751 0.009218 +-3.270954 -5.063262 -0.009196 +1.365453 5.243280 0.017670 +4.575201 1.065495 -0.014263 +-0.736703 5.716609 0.004146 +1.923897 5.474269 -0.011715 +2.258693 2.361437 0.001615 +2.412742 -4.491923 -0.010414 +-2.968478 -5.210480 0.000290 +5.190118 5.934203 -0.001661 +1.260748 -4.128093 -0.004585 +-4.507683 -0.646318 0.004955 +-1.310276 -3.652115 0.014830 +-4.929345 1.768664 -0.005970 +3.507584 -5.242971 0.008645 +-2.285832 -2.394874 0.000723 +0.506193 1.254291 -0.000412 +-1.074196 4.391321 0.021604 +-1.310519 -2.359645 -0.021613 +3.200693 4.103180 -0.006858 +4.528783 -3.968610 -0.018048 +-3.636508 -0.448759 -0.003220 +5.610812 1.444306 -0.002385 +1.480323 -2.079913 0.037632 +5.885887 -3.808726 0.003316 +0.711451 2.098779 0.017668 +3.719845 3.761623 0.012746 +-1.361769 -2.748005 -0.004479 +5.757159 0.635210 0.004631 +-2.615037 -4.340555 0.016418 +3.638250 4.182233 0.001600 +0.837556 -1.392099 0.001953 +1.916610 5.761280 0.004864 +0.939854 3.445230 -0.015019 +4.584684 3.082243 -0.008164 +-0.161360 -3.860206 0.003217 +2.358556 3.977952 0.005287 +5.554312 -4.172661 -0.009221 +-4.635912 1.634851 -0.003323 +3.925266 -5.083431 -0.001338 +1.368383 -2.803444 -0.001622 +5.990517 -1.663457 0.006747 +-5.016505 3.392226 0.000929 +-2.391424 -0.970682 0.001518 +-4.433479 -2.029473 -0.014149 +-4.400371 -2.911747 -0.010569 +0.944654 -2.412430 0.003056 +2.009679 4.813561 -0.015936 +0.916940 -5.655845 0.002536 +5.517623 -3.626112 -0.006690 +-1.846166 0.318148 -0.008192 +1.425743 -1.895030 0.006277 +-0.714390 1.521861 -0.006856 +-0.514486 -2.599611 -0.008658 +-1.071101 -1.382867 -0.006849 +-2.496543 1.208316 0.000415 +0.147118 -1.061659 0.027093 +2.513135 3.750666 -0.021184 +1.786155 -1.905772 -0.000361 +5.239814 -4.749432 -0.002568 +3.666481 -0.944680 0.009270 +-1.239218 4.118274 -0.003854 +1.863568 5.686483 -0.024704 +4.536263 -4.604767 0.012969 +0.037855 3.211307 -0.011015 +-5.009307 0.509743 -0.000794 +5.913568 -3.131953 -0.013784 +-4.598489 -2.526941 -0.011078 +-1.867949 -2.570704 -0.005139 +-0.814939 4.000908 0.008300 +0.208593 1.071080 0.008152 +-4.691568 -5.222342 -0.006159 +5.411961 -1.834853 0.004760 +5.367979 -1.972468 -0.003928 +1.674914 1.938334 0.000881 +-4.920108 -5.148746 0.001300 +-0.699317 -4.472603 0.005919 +-2.450047 -3.649736 -0.006355 +-2.244707 -0.528760 -0.001559 +-2.264018 -1.974711 0.001913 +-0.168368 2.192746 0.000643 +-5.495996 5.970110 -0.008177 +-0.830333 5.076350 0.016845 +-5.913086 -5.310162 -0.004843 +-4.810299 4.952878 0.007259 +-1.055733 4.156627 0.001757 +2.335541 -4.946255 0.011865 +-1.659599 -2.022442 -0.021971 +-0.563185 3.045774 0.020102 +-4.996606 5.116304 -0.002395 +-0.280828 -1.610571 -0.012516 +2.372386 -2.681997 0.001001 +2.549656 -1.008759 0.022144 +-0.262121 -3.730706 0.004740 +-3.561784 4.336730 -0.012522 +0.915873 -0.932656 -0.004887 +3.299599 4.945261 0.012979 +-4.093701 5.975997 -0.014240 +-5.830291 1.367574 -0.002085 +-2.836262 -2.974400 -0.003220 +-0.064152 1.250689 0.021236 +-0.757734 2.567727 -0.003197 +5.403476 -3.973528 0.012754 +-3.148975 1.314769 -0.007031 +-1.076886 -2.215362 -0.008283 +0.053972 2.362029 0.009677 +4.904027 5.290431 0.005885 +3.834408 -1.840687 -0.017473 +4.606449 2.519301 0.006053 +-3.906080 5.438860 0.006083 +-3.031889 2.185705 -0.006404 +2.334349 4.896760 0.001881 +1.997526 5.797623 0.002366 +-5.283239 -5.550487 -0.005139 +-3.652570 0.903166 -0.006121 +-0.913039 -5.009860 -0.006979 +-3.575890 0.950972 -0.003012 +-1.170308 3.161252 -0.013519 +-0.396425 4.532844 -0.000740 +3.105065 -0.066702 -0.015166 +-1.704162 -3.433903 0.000423 +-2.495079 -1.739067 -0.001163 +-1.665164 -3.851816 -0.010609 +-0.321463 -4.658007 0.008141 +4.422940 0.604158 0.018905 +-4.858874 -2.066148 0.012831 +-2.937157 -4.126140 -0.013894 +-0.232329 -3.800737 0.012315 +-4.179921 2.427450 0.001841 +-0.845050 2.064673 -0.000855 +-0.360321 0.047762 -0.006244 +-2.271690 -0.884167 -0.000401 +-0.229219 -1.891176 0.013452 +3.914550 -3.044678 0.005069 +-3.353516 -1.868999 -0.004446 +3.422187 4.170807 -0.006986 +0.780247 -1.671765 -0.004468 +1.785715 3.917658 0.005484 +-3.085352 2.010559 0.018187 +2.518481 -1.317022 -0.010836 +-4.262240 1.289307 -0.000360 +-3.477970 -1.583838 -0.004162 +0.534440 5.552402 -0.007812 +-4.241723 -5.115679 0.003608 +0.466338 5.317031 0.005128 +-5.445598 1.705413 -0.014404 +-5.672595 0.612580 -0.010616 +-4.570032 1.909458 0.011508 +-1.668171 1.854839 0.002805 +-2.901015 -5.101026 0.004832 +-3.817399 -2.713013 -0.005314 +-4.022788 -3.618791 -0.004114 +0.530167 -0.748297 0.004206 +3.903606 -0.028440 -0.005271 +0.474103 2.521527 -0.011344 +4.240968 1.016419 -0.000340 +-5.558134 -0.489443 0.008629 +-5.612762 1.258553 -0.010557 +-5.219428 0.475309 0.010134 +-4.200946 4.266289 0.006612 +-4.868422 1.913049 -0.008894 +2.445686 -2.697749 -0.000269 +1.113285 -2.040979 -0.000757 +-2.892587 -2.884151 0.005936 +-5.809849 2.075232 0.006260 +-5.137986 -3.635874 -0.013246 +-4.956619 3.651357 -0.013694 +0.353796 -0.391725 0.009854 +0.999857 3.699264 0.000779 +1.489027 0.159321 0.003791 +-2.242005 0.200969 0.002966 +5.846852 0.838504 0.014826 +-0.273673 4.659497 -0.012291 +-5.345576 -5.240713 0.010447 +3.472546 5.305767 -0.008446 +-5.389320 -5.711355 0.006863 +-5.882932 0.923613 0.012933 +-4.346713 0.736090 -0.014028 +1.965530 -5.813437 0.003647 +4.441393 -2.969129 -0.003085 +0.647756 -1.755631 -0.003216 +-1.880796 -1.159729 0.000081 +-5.955468 -0.854599 -0.010747 +-2.819798 -1.711107 -0.009874 +-4.045209 -1.981559 0.006165 +2.393203 5.805357 0.008020 +-3.634453 4.400238 -0.005956 +1.377079 -4.787948 -0.014735 +-5.823670 4.608285 0.022565 +-3.191267 -4.725084 0.010531 +1.866753 2.479245 0.003215 +4.740801 0.003817 -0.010524 +-2.256439 -2.180960 -0.006099 +-3.542889 1.622830 0.002057 +5.307268 -4.983802 -0.009831 +-1.360360 -1.778152 0.015497 +-5.037583 1.137851 0.001010 +5.796091 -2.679852 0.003540 +2.725344 4.806949 -0.010506 +-2.752200 5.027820 -0.009304 +2.980466 1.747736 -0.008127 +-3.670352 -2.671187 0.002387 +-4.781356 4.748672 -0.002961 +3.707439 -4.960923 -0.003193 +0.372178 -3.442809 0.002770 +3.187483 0.877678 0.001882 +5.344611 2.725661 0.014295 +-4.791756 -1.526630 -0.002282 +0.915287 4.942060 -0.010330 +-1.548630 -3.745287 -0.000456 +-2.600258 -3.022023 0.014088 +-4.146104 -1.873178 -0.005797 +-3.011971 0.125585 0.000141 +4.731073 5.451896 -0.003863 +-4.086972 0.833178 0.003650 +2.086213 -4.169817 0.002192 +0.381593 -3.599358 -0.008324 +-1.631137 -2.112710 -0.002585 +3.779403 -3.190664 0.008933 +0.481191 1.027099 0.010445 +-2.041538 5.153190 0.008746 +-2.014363 -2.085710 0.008156 +2.311294 -0.147030 -0.003612 +2.697569 -4.165469 -0.003915 +-4.222980 2.832619 0.008809 +-1.337490 4.285598 -0.011866 +-3.198047 -3.117130 -0.000902 +4.359019 -1.659569 -0.018595 +-4.682337 -3.356399 -0.004063 +3.234731 -2.814596 -0.007275 +0.669400 4.015360 -0.012180 +1.325073 3.032285 0.005366 +5.723270 -2.409467 -0.007561 +4.514541 0.612744 -0.003941 +-3.583016 -4.416090 -0.002863 +-2.065258 -4.348096 -0.007565 +3.260709 0.689244 0.013649 +-5.469194 4.539575 -0.005183 +1.152035 -0.685523 0.001607 +-4.308743 -0.361798 -0.013162 +5.007920 1.013057 -0.004977 +-0.489410 1.297143 -0.003505 +0.606725 1.483596 -0.003342 +-3.612331 -4.215953 -0.006066 +-5.849748 3.982075 0.001082 +-5.961129 -2.926350 0.014987 +1.024063 -0.002396 -0.001627 +4.817692 -3.441542 -0.001691 +-4.632087 -4.075010 -0.004158 +-0.025928 -2.505191 0.024587 +-0.535243 2.254414 0.015523 +-2.143448 1.981679 0.005149 +-5.764246 0.554101 0.006596 +4.887903 5.209897 -0.007293 +0.861470 5.797047 -0.001820 +-3.175256 -2.428621 0.001748 +-0.622870 0.106871 0.000855 +3.833642 -0.631320 -0.008725 +-5.423382 2.398506 -0.007971 +-3.327979 4.587804 0.004744 +-3.456100 -2.451123 0.002751 +-4.353228 -2.369173 -0.020998 +1.211466 -2.792270 0.000592 +-5.418511 1.035937 0.012163 +2.819147 -4.692937 -0.006644 +-0.909069 -5.180803 0.002044 +-5.796822 -1.505544 -0.014583 +-2.561677 4.503327 0.007857 +-5.837883 1.757131 -0.011247 +2.803697 -0.995935 -0.012588 +0.009009 -3.034603 -0.003419 +-2.971365 -5.364025 0.022939 +4.868613 -5.655920 -0.006300 +-4.354681 2.691205 -0.012689 +-0.508916 0.143894 0.004221 +-2.466622 -4.066248 0.001940 +3.589396 -4.514623 0.015954 +-2.450137 3.022332 -0.012746 +-2.422802 5.416185 -0.015938 +-3.896808 0.331279 -0.003398 +0.456413 0.005888 0.003407 +3.292716 -5.446898 0.003198 +0.550815 3.477100 0.010333 +-5.391622 0.555671 -0.014952 +-0.712096 -1.144716 -0.008393 +0.452625 1.496526 -0.001594 +2.443140 4.778968 0.007929 +1.878950 5.987401 0.004364 +1.978328 -2.770385 -0.004436 +-4.233573 -5.149251 -0.010313 +-2.781257 -4.570448 0.008351 +2.201056 2.274082 0.009009 +1.344751 -1.406261 0.026302 +-0.433172 -2.886716 -0.002043 +5.023641 -5.809605 0.015620 +-2.152913 0.873621 -0.012158 +-3.832161 4.251170 -0.005628 +-0.234793 -1.553202 -0.006936 +-5.246181 -2.625797 -0.004843 +1.075732 -2.625365 -0.008885 +-5.458239 0.954693 -0.005624 +-2.353006 4.156694 -0.000832 +2.301501 2.657707 -0.004708 +4.682150 3.720084 0.006172 +-2.048921 0.828058 -0.001117 +-2.893498 -3.581571 -0.000312 +-3.529701 -4.667686 0.014145 +-3.131362 -3.303613 0.002791 +2.070864 -2.982228 0.001220 +-5.440082 -0.940757 -0.000484 +-3.588646 2.272187 0.000318 +-3.339465 0.683630 0.005323 +-3.887667 -0.214442 -0.008153 +4.406626 -2.360550 0.010924 +0.326368 -0.736560 0.015104 +-5.159818 -5.751942 0.011009 +4.109667 -1.915760 -0.005111 +2.232825 -1.047665 -0.015899 +4.059723 -3.659750 -0.004574 +-0.194063 0.580670 0.001213 +3.522863 -5.646647 0.007820 +-1.650673 -0.297896 -0.002080 +1.065960 -4.302421 -0.003265 +0.523132 2.321446 0.014608 +2.796500 -3.307856 -0.006855 +-0.710432 -2.424423 0.010147 +-1.348292 -1.643805 0.008574 +5.341438 -5.839293 -0.013320 +5.372708 -5.602816 0.002435 +-5.064975 -3.527721 -0.005750 +-2.557976 4.292823 -0.009583 +4.094052 5.213903 -0.018418 +-1.323363 -5.809977 -0.015641 +1.509850 4.790120 0.003769 +-4.710724 3.933515 -0.004096 +-5.978576 2.787788 0.002384 +-0.080573 4.899148 -0.010704 +4.499816 -5.442016 -0.003432 +-0.022208 -3.095191 -0.002952 +-0.727302 -5.204387 -0.015425 +-1.673331 -1.097609 -0.016577 +-5.953298 -0.305773 0.004022 +4.735513 -5.270821 0.001153 +5.337162 -0.128200 -0.009431 +-3.472876 5.629227 -0.001284 +-0.317804 -0.757023 0.006199 +-1.482359 4.576039 0.017649 +-4.440893 -3.474423 -0.008988 +-2.601354 -5.250867 0.005751 +4.128886 -0.136585 0.020461 +1.219083 4.625741 0.000357 +-0.062981 -2.684449 0.014084 +0.374772 0.002858 -0.025626 +-2.414095 -3.218789 0.013904 +-1.706411 2.820552 -0.000392 +-4.016045 5.952954 -0.018679 +-3.176836 -2.728191 0.007348 +-4.525522 -1.297655 0.009992 +-1.537740 2.181809 0.011551 +4.752436 -3.025594 0.011463 +3.712703 -2.300561 -0.000584 +-1.119264 -4.460702 -0.007623 +4.712738 -1.520229 -0.004810 +2.410444 -5.682764 -0.000633 +2.365439 -3.284240 0.003687 +-0.582382 2.085461 -0.005009 +-3.951364 0.326184 0.000185 +4.028610 -4.039113 0.008304 +-0.388668 -3.791342 0.002897 +-4.280276 -0.120045 0.022200 +-0.520024 1.726021 0.020862 +4.293602 2.479084 -0.011549 +-1.964032 -0.166916 -0.005859 +2.085241 4.064678 -0.013132 +2.193015 0.030999 -0.011715 +-4.398344 4.419506 0.005064 +-2.623619 -1.138981 -0.010028 +4.615191 -3.511951 -0.010565 +4.965933 -3.250840 -0.002941 +-4.953374 0.163358 0.007565 +3.543805 -1.171325 -0.003778 +4.112848 -1.243767 -0.003798 +3.781110 -4.646950 0.008723 +-2.599524 -4.530209 0.004340 +2.875304 -0.364675 0.004186 +1.867301 -3.139430 0.009015 +2.816114 5.913573 -0.010230 +-5.051291 -2.174295 0.001823 +4.433042 4.219557 -0.006517 +4.464404 -3.280933 0.009791 +0.757859 -4.966997 0.007720 +-0.827784 0.913598 -0.010550 +-2.897381 -0.934456 0.012850 +-1.605697 -4.984347 -0.011771 +-5.177649 3.373308 0.011203 +-5.964866 5.833683 0.001723 +4.765337 5.847440 -0.008858 +3.427538 -5.970386 -0.011285 +-4.608350 -2.175793 -0.003285 +-3.823594 -5.274179 -0.000530 +5.003688 4.922871 -0.007278 +3.204463 -2.963370 0.005242 +4.228160 3.830091 -0.014064 +-2.116412 -4.468117 -0.000366 +-4.373130 -1.092481 -0.000287 +3.985519 -5.083939 -0.018700 +-0.843451 -1.744898 0.002749 +4.708549 -4.164612 -0.012722 +1.866982 -2.124018 -0.024866 +1.758217 3.866772 -0.006335 +3.895618 4.146231 -0.002547 +-2.488587 -2.689301 0.008602 +-4.528015 -2.935978 -0.005083 +-4.567773 3.408013 0.014204 +-5.432182 -3.699502 0.013863 +3.481937 3.221735 0.010461 +5.681870 -1.396692 0.012731 +-5.458741 3.698093 0.003151 +-2.564562 3.277980 -0.005784 +-5.767583 -5.582300 0.006085 +1.177263 2.209326 0.009232 +0.743855 0.386455 0.002053 +1.165382 -4.428711 -0.002714 +-5.236502 -1.807183 -0.015748 +0.573356 -3.013664 0.006360 +-3.851830 -0.643393 0.003165 +-1.083654 -2.775583 -0.013128 +5.124441 5.315454 0.000680 +-5.438556 -0.239182 0.006820 +-3.146919 -1.966765 -0.001378 +-5.658265 -5.039015 0.007423 +-5.597740 -4.492039 0.007136 +1.791180 -5.059921 -0.014861 +4.631604 3.631272 -0.003272 +-2.769141 2.298156 0.004477 +5.423377 -4.605033 0.008737 +0.720834 -0.413293 0.013605 +-2.276132 -2.544649 -0.019221 +-4.962038 1.764980 -0.000956 +-3.627329 -0.927242 0.006758 +5.137307 -1.820826 0.011775 +-2.205874 5.189727 0.016348 +1.002871 0.846188 -0.009527 +-3.331435 1.694605 -0.003981 +-1.449929 0.525636 -0.010704 +-1.227873 -5.027298 0.007771 +4.532222 2.301215 -0.013372 +5.498798 -2.322326 0.011383 +-2.622699 -4.372420 0.008942 +-2.331502 -2.098924 0.004508 +-3.792484 -2.824888 -0.021742 +-2.471685 4.295590 -0.006994 +-0.644619 3.837658 0.007092 +-5.402853 -3.738461 -0.014298 +5.432733 -5.396312 -0.002672 +-5.166485 0.215768 -0.001336 +-2.521990 -3.669706 0.008484 +1.304880 1.309245 0.002486 +-3.743211 0.468825 0.002405 +-0.542370 4.158279 -0.004655 +-5.178714 -3.202633 -0.000254 +0.780617 -5.599387 -0.001634 +4.148334 5.618602 0.006884 +-2.060511 3.297237 -0.002080 +-3.011010 5.376415 0.009901 +-3.459476 -5.929126 -0.017084 +-5.180639 -0.496036 0.011548 +-5.539680 5.764605 -0.001992 +1.573924 0.826056 0.010834 +1.515000 -0.981622 0.000514 +4.629037 2.553946 0.008131 +-0.835949 -2.591153 0.014446 +-4.267505 -2.217918 -0.005789 +-1.762225 -5.034609 0.000475 +5.099429 -2.904217 -0.001995 +0.480386 -5.206407 0.001741 +0.624362 1.752184 -0.016318 +-5.043053 5.707409 -0.002009 +-4.042305 -2.845157 -0.002781 +2.838051 -1.959034 -0.008087 +4.520489 -3.141459 -0.002242 +-2.232367 2.307683 -0.015561 +4.320207 4.605805 0.013493 +-2.542829 0.371672 0.004095 +-1.069338 2.112651 0.018292 +-3.270987 4.068955 -0.008959 +2.559502 -3.901248 -0.011855 +-2.231592 -1.966209 0.002462 +5.160187 -0.526822 -0.016808 +1.395270 5.168455 0.001904 +-1.240447 5.353772 -0.007276 +-2.494628 -5.847122 -0.003636 +-4.768417 2.307787 0.002176 +-1.424039 4.002364 0.000117 +0.395629 2.227856 0.018059 +-1.769235 1.047284 0.005906 +2.376831 -1.478659 -0.013103 +-0.110675 4.123358 0.009343 +5.150761 -1.796013 -0.013575 +-5.195489 4.105901 0.000510 +-0.632873 5.631518 -0.012669 +3.153773 -1.583189 -0.008528 +4.203587 0.573596 0.012633 +2.560821 4.619332 -0.005855 +0.962119 5.368464 -0.006718 +-1.219704 -1.454869 -0.005909 +1.682555 -1.140501 -0.003445 +2.489424 0.374885 0.013883 +2.908711 3.909455 -0.012012 +0.809405 4.972899 -0.012583 +3.373447 4.284693 0.005358 +-5.766180 -5.814741 -0.016131 +1.615408 -2.004653 -0.003989 +4.475440 -1.298838 0.010801 +2.926614 -3.047433 -0.000369 +1.553870 4.807407 -0.005126 +4.345164 -1.602674 -0.007405 +-0.218349 0.424917 -0.009450 +-1.865629 -0.192617 -0.006236 +5.574646 4.557782 0.000941 +-2.225524 2.207099 0.011879 +5.381322 -1.654532 0.009129 +4.181879 3.568281 -0.006007 +4.640961 -4.987638 -0.007652 +5.075460 5.772427 0.006438 +-3.103796 1.596811 -0.018373 +-4.918749 1.228014 -0.004780 +2.502539 2.947226 -0.003660 +4.282331 -2.478830 -0.011430 +-4.608663 3.803632 -0.010295 +-5.691526 -3.202609 0.002964 +-3.157304 3.301714 -0.016821 +-0.694918 4.053390 -0.009521 +2.014836 4.114742 -0.006902 +3.433194 4.560807 0.000297 +-2.686520 -1.734491 -0.014061 +1.541078 0.994880 0.010203 +3.333127 3.703167 -0.003578 +-2.340369 -4.548306 -0.003113 +2.895786 2.246209 -0.004132 +-2.677218 -5.316604 -0.007210 +-5.722457 -3.021029 -0.010253 +-2.717757 -3.511669 0.010753 +-5.393288 -3.955491 0.001418 +-1.800874 -4.892848 -0.001680 +-3.521101 -0.743128 0.009219 +4.176945 4.458478 -0.007632 +-1.139379 -4.488986 0.005593 +-2.769631 2.097687 -0.000408 +-1.112032 0.843882 -0.009411 +2.841851 1.905597 0.006852 +4.313468 -4.972145 -0.015395 +-2.437235 -5.590903 0.005764 +0.253541 1.376465 -0.009387 +-2.952484 -5.334095 0.003360 +-0.433824 -3.987591 0.012934 +-3.665542 -1.424089 0.004911 +5.340818 -1.679579 -0.006630 +2.510908 -1.530381 -0.000985 +-1.136899 -4.318713 -0.004333 +-3.784884 3.247643 -0.012275 +-0.848957 -2.576610 -0.011630 +5.844724 4.537894 -0.000304 +-2.828083 -0.788830 0.004551 +0.803178 -4.006169 -0.018129 +-0.872776 -2.591656 -0.001470 +3.723750 -4.865395 0.004221 +5.897099 -3.173316 0.000301 +-2.026174 -5.092656 -0.010658 +4.954224 3.937301 0.009395 +-5.188531 0.338107 -0.012771 +-1.313120 1.272813 0.005567 +-1.969099 5.475156 0.014937 +-3.384015 3.842410 -0.020905 +-2.788104 1.793557 0.001699 +-0.866463 0.310495 0.002244 +0.264283 1.511732 0.001379 +-5.184013 -5.286651 -0.008402 +5.650580 -2.963302 -0.003927 +-1.718701 -3.123288 -0.014602 +1.747883 5.806917 0.000427 +-1.167432 -2.144016 0.004403 +-1.806070 -5.674760 -0.007424 +-4.921766 -5.423424 -0.009985 +-2.113062 5.812473 -0.005541 +-4.305009 0.586822 -0.000982 +-3.513989 -5.558619 -0.000308 +4.044072 -4.472989 -0.001931 +-4.378415 3.806542 -0.000241 +-3.075098 -3.613068 -0.013791 +5.318270 -3.668009 -0.027730 +3.979809 -2.318838 0.005130 +0.787940 -2.267932 0.013029 +-1.929434 5.187410 -0.014844 +4.892966 -3.901988 -0.007474 +2.693165 -4.325286 0.002005 +-2.407907 -5.150132 0.008412 +1.774626 2.717785 0.005415 +2.955839 3.292544 0.011591 +-1.262636 -3.873657 -0.001483 +-5.948323 -0.717175 0.003107 +5.199482 -0.614968 0.003079 +1.389904 5.000884 -0.005197 +4.350309 2.877462 0.010827 +1.108059 -3.218182 0.005150 +2.984322 -0.988472 0.008629 +2.475331 -3.319267 -0.004792 +5.288326 -4.031416 0.009134 +3.489135 4.684244 -0.011302 +-4.175608 4.380510 0.002885 +1.732384 1.242649 -0.026591 +-2.951687 -2.059478 -0.010869 +-3.178816 -0.703322 0.006238 +1.774564 2.744632 -0.005396 +2.468809 -1.838194 0.000716 +-1.966305 3.161704 -0.016874 +5.686380 -3.340566 0.014172 +-1.046355 -2.686186 0.004849 +5.695533 -5.802688 -0.001245 +4.708547 3.209595 0.003079 +-2.017720 2.165454 0.002218 +-1.564201 1.642059 0.012864 +-0.895775 4.980271 0.001105 +-0.508659 3.747729 -0.015401 +0.915157 -1.530661 -0.003498 +5.600834 -3.655376 0.011568 +4.898046 5.775559 0.004576 +4.188988 1.324837 -0.005114 +1.469251 5.141177 0.004974 +-0.802629 3.892406 0.000143 +3.295501 4.304220 0.004967 +-0.711546 1.830460 -0.016520 +-4.892800 -5.134955 -0.009781 +-4.710365 2.824410 0.005521 +-1.738587 4.900380 -0.003177 +-5.049380 -3.931154 0.002443 +4.035485 -0.978568 0.018162 +-3.355706 3.371747 -0.004045 +-3.186783 5.681450 0.001365 +-2.700856 4.302495 -0.006445 +-0.244830 5.223706 -0.007108 +-2.444866 5.101380 -0.001728 +-2.367199 -0.621945 -0.015202 +1.591006 0.654002 -0.021572 +2.050034 2.351851 0.012351 +-2.786299 -5.894950 -0.002009 +2.681854 1.203213 0.009988 +0.760670 -0.051466 0.000199 +5.141054 -2.435878 0.000460 +4.944203 -3.984827 0.005558 +2.334067 5.298150 0.006024 +-4.149452 3.241666 -0.012756 +-2.723371 -5.291613 0.010811 +-0.825470 2.387686 -0.010480 +-2.598641 5.403135 0.000993 +-5.972776 -2.786630 0.023981 +-1.900694 -1.549391 -0.000208 +-2.403821 -5.743578 0.015297 +-3.480544 -2.860314 -0.004386 +2.069875 -1.472243 0.005009 +2.668577 -0.690151 -0.000489 +-1.911417 -4.092282 0.003092 +-3.259896 4.817953 -0.009341 +-0.538224 -2.237730 -0.009958 +-3.379888 4.519344 0.002290 +2.450322 2.333734 -0.016254 +3.655301 -3.104339 -0.009232 +2.772332 -5.142863 0.005282 +1.978821 -2.133342 -0.006996 +1.942071 -3.280563 -0.009664 +-1.757957 2.042832 -0.011806 +5.274000 -1.911540 0.000452 +-3.970410 -4.504781 -0.004539 +2.056219 4.731942 0.000479 +-5.796407 -1.861082 -0.002820 +-3.972699 5.455540 0.017090 +-4.412531 -5.176733 -0.005245 +3.216352 5.987609 -0.020097 +3.285643 -4.624727 0.000153 +-1.105577 0.240314 -0.000959 +4.784835 3.040054 0.000544 +-5.279723 -0.563526 -0.016648 +3.343723 0.517926 0.010066 +2.001194 5.608888 -0.001287 +5.743748 4.042695 -0.001399 +0.863104 -2.309035 -0.016419 +-4.083733 -3.990193 0.003636 +1.685971 3.274934 -0.001618 +4.304335 4.968519 0.012193 +-2.545664 -1.986316 -0.005032 +-3.645257 0.527077 -0.013023 +5.359616 3.091121 0.000273 +-0.758319 -4.091507 -0.009880 +4.113560 4.754673 0.003068 +3.216822 -2.494277 -0.011528 +-1.317037 1.002792 -0.002236 +5.014544 -3.086389 -0.003187 +-0.963431 -5.277947 -0.001312 +-5.962683 -3.079612 -0.005986 +3.708129 2.104284 -0.008873 +-0.278956 -1.084854 -0.001558 +-2.821039 3.192868 -0.006620 +-0.147296 -5.159688 0.000506 +1.526166 5.917784 -0.003625 +-5.126268 5.965051 -0.022823 +-4.805978 -2.307487 -0.001581 +5.717690 5.665345 0.012522 +-3.784362 2.643817 0.001968 +1.351790 -1.223603 0.004839 +3.404078 1.615412 0.003446 +-3.298661 -0.117902 -0.005535 +2.514117 1.458395 -0.013925 +0.515647 2.850520 0.006877 +-4.382884 -5.484913 0.009252 +-5.605912 1.446563 0.004516 +-0.786540 4.029730 0.003137 +5.658082 -4.656043 0.002849 +-1.453508 -0.965952 -0.001248 diff --git a/data/synthetic_staircase_source.pcd b/data/synthetic_staircase_source.pcd new file mode 100644 index 0000000..5108078 --- /dev/null +++ b/data/synthetic_staircase_source.pcd @@ -0,0 +1,2651 @@ +# .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 2640 +HEIGHT 1 +VIEWPOINT 0 0 0 1 0 0 0 +POINTS 2640 +DATA ascii +-2.374918 0.981316 -0.992699 +-2.713658 0.465928 -0.995189 +-2.637924 0.903944 -1.012711 +-2.250579 -0.635805 -0.990252 +-2.091425 0.262483 -0.993647 +-2.793935 -0.340805 -0.973702 +-2.847516 0.328238 -0.993829 +-2.755310 0.868751 -0.990836 +-2.606938 0.923416 -0.995407 +-2.758508 2.079468 -1.011583 +-2.431462 -1.997112 -1.007379 +-2.408975 -1.644561 -0.986757 +-2.810889 -1.055291 -0.999180 +-2.440792 2.609936 -0.991041 +-2.887528 0.882341 -1.015465 +-2.523532 -2.233734 -1.015101 +-2.113847 -1.149149 -0.999764 +-2.264609 1.206951 -0.992277 +-2.405542 -1.788191 -1.001415 +-2.668407 1.495058 -1.003737 +-2.738167 2.615415 -1.008144 +-2.534853 2.584089 -1.000639 +-2.669414 -0.072505 -0.985396 +-2.206480 -0.954709 -0.993076 +-2.733185 -1.935354 -1.008671 +-2.668230 -2.130185 -1.000229 +-2.266711 -2.621846 -1.015244 +-2.666086 1.954314 -1.024037 +-2.681139 -0.983519 -0.990831 +-2.826856 -1.525930 -1.008271 +-2.525444 2.278615 -0.991733 +-2.698421 -2.176495 -1.023091 +-2.198181 -2.187882 -0.995616 +-2.663150 -1.418220 -1.004227 +-2.290215 1.992936 -1.004532 +-2.499759 -2.255692 -0.984082 +-2.516427 -1.801130 -1.010675 +-2.123002 2.556374 -0.982632 +-2.179230 2.259894 -0.996257 +-2.845664 1.154083 -0.997146 +-2.725571 -2.166470 -0.985680 +-2.747778 1.256813 -0.989106 +-2.203684 2.978980 -0.983277 +-2.440243 1.150806 -0.992951 +-2.611591 0.247303 -1.006947 +-2.236802 1.339749 -0.984505 +-2.624364 2.370685 -1.007846 +-2.362766 -0.484259 -0.997569 +-2.729390 1.249762 -0.992831 +-2.887875 0.717037 -0.995404 +-2.338414 0.650910 -1.002704 +-2.649961 -0.182033 -1.018686 +-2.617129 -0.726724 -1.006017 +-2.661275 -2.974320 -1.010195 +-2.692031 1.892365 -0.991096 +-2.439355 0.128359 -1.009091 +-2.649298 0.764530 -1.000030 +-2.560485 -1.344875 -1.007962 +-2.749124 0.188505 -1.010837 +-2.494467 -2.802778 -1.008675 +-2.415920 -0.111176 -1.000134 +-2.555486 0.124029 -1.006608 +-2.581965 -1.251907 -1.009188 +-2.128650 -1.375552 -0.998552 +-2.864543 0.728403 -1.002001 +-2.656122 -2.400696 -0.996969 +-2.500239 -2.251765 -0.986635 +-2.406597 -1.879970 -1.004994 +-2.850694 -0.958267 -1.022195 +-2.705117 2.790703 -0.997257 +-2.851294 2.116925 -1.008214 +-2.874297 -0.378998 -1.019580 +-2.633766 1.140104 -1.013161 +-2.566192 -0.534343 -1.008668 +-2.214232 1.639282 -1.003953 +-2.891516 1.202115 -0.997747 +-2.327532 -2.932810 -1.009725 +-2.521590 0.589336 -1.022136 +-2.423853 -1.442348 -1.015769 +-2.770270 2.554894 -1.013000 +-2.281518 0.752102 -1.005375 +-2.592881 2.396795 -0.988986 +-2.562411 1.878458 -0.988007 +-2.452647 -0.520221 -1.000786 +-2.691102 2.376549 -1.000070 +-2.555024 2.895919 -0.982233 +-2.791161 -1.622960 -1.014346 +-2.350559 -0.415663 -0.988038 +-2.821530 -2.501963 -0.997494 +-2.682179 0.000804 -0.994253 +-2.706363 -0.285458 -0.995697 +-2.779797 -0.095335 -0.988545 +-2.472484 -2.178502 -0.997303 +-2.728897 0.047063 -1.001436 +-2.297189 -0.728818 -0.996805 +-2.674759 -0.455597 -0.988215 +-2.132618 1.599592 -0.987747 +-2.450663 0.033788 -0.997423 +-2.818276 -2.869785 -0.975723 +-2.418874 -0.582762 -1.003524 +-2.722343 2.370912 -1.002786 +-2.597186 -1.214207 -0.993246 +-2.736164 -2.066125 -1.002996 +-2.650809 -2.935136 -1.017459 +-2.412117 0.412254 -0.997818 +-2.493260 -1.711039 -0.999604 +-2.867637 -1.012128 -1.001655 +-2.173021 1.669169 -1.017140 +-2.707176 2.331831 -1.010949 +-2.513037 -1.594856 -1.007545 +-2.792677 -1.850077 -0.998550 +-2.599626 -1.272758 -1.014196 +-2.279805 2.739238 -1.008084 +-2.707483 -2.926759 -0.991160 +-2.241810 1.444260 -0.999110 +-2.398849 2.672341 -1.000312 +-2.384838 -0.922450 -0.991137 +-2.180626 -1.880060 -0.997134 +-2.493986 2.102117 -1.013094 +-2.795407 -2.045832 -1.010792 +-2.386570 1.351108 -1.007547 +-2.401599 2.771644 -1.011492 +-2.247367 -0.810318 -1.005409 +-2.810524 -2.460149 -0.998202 +-2.732068 0.153251 -1.029968 +-2.168026 1.435425 -0.995290 +-2.425483 -0.043616 -1.003082 +-2.746699 -0.813385 -0.999510 +-2.556391 -0.474869 -1.007457 +-2.584173 1.236957 -0.991068 +-2.790374 -1.545605 -1.005398 +-2.432620 0.088456 -1.008900 +-2.861872 -2.215389 -1.000705 +-2.851003 1.421879 -0.997404 +-2.685614 1.160828 -1.000281 +-2.615402 -1.974626 -0.990714 +-2.454130 -1.575380 -1.000838 +-2.174098 -1.143378 -0.990611 +-2.730718 -1.067198 -1.002169 +-2.763734 -1.139293 -0.991713 +-2.806561 1.640220 -1.001631 +-2.847369 -2.781278 -0.989402 +-2.781425 -1.807779 -0.999471 +-2.726652 0.944118 -1.002172 +-2.143899 -1.950937 -0.998273 +-2.214588 2.133055 -0.985113 +-2.782840 1.728347 -1.002079 +-2.277663 1.795984 -1.000365 +-2.890779 0.807376 -0.975307 +-2.352040 -2.738756 -0.993663 +-2.641923 2.781250 -1.004647 +-2.635859 -2.243471 -1.002161 +-2.711979 -2.781328 -1.006630 +-2.444678 0.104032 -0.994888 +-2.154025 2.501066 -0.989034 +-2.229120 -0.973580 -1.002828 +-2.228044 1.669783 -1.001650 +-2.504788 -0.141866 -1.007632 +-2.117851 -2.476554 -1.007823 +-2.222529 0.848440 -1.008925 +-2.389332 2.766654 -0.989268 +-2.173937 1.161671 -1.014366 +-2.819827 1.011953 -0.997868 +-2.721157 0.557071 -0.991700 +-2.175836 -2.403069 -1.002052 +-2.758311 -0.550284 -0.987385 +-2.829520 -1.730249 -1.008592 +-2.600302 0.513967 -1.000476 +-2.325996 0.117758 -0.998444 +-2.411036 -2.702731 -1.000390 +-2.470423 -0.295862 -0.979902 +-2.310944 1.458641 -1.004431 +-2.257399 -0.900223 -1.003092 +-2.883159 0.759649 -0.988404 +-2.184926 -0.935381 -0.982877 +-2.419742 -2.565005 -0.992760 +-2.199111 -2.277021 -0.982444 +-2.498457 -2.899852 -0.992195 +-2.625952 -2.773047 -1.000633 +-2.789383 1.134127 -0.996085 +-2.331977 -1.822981 -0.994841 +-2.795688 2.173970 -0.982965 +-2.238460 1.623484 -0.984156 +-2.757455 1.403894 -0.993978 +-2.852896 0.991638 -0.999495 +-2.344555 2.570483 -0.995593 +-2.482805 0.258426 -1.018794 +-2.758786 -1.357933 -0.992145 +-2.856523 1.208773 -1.009978 +-2.685368 -2.220543 -1.002856 +-2.203727 -1.215927 -1.002902 +-2.596320 -2.912715 -0.997423 +-2.285251 2.779375 -1.002729 +-2.114831 -1.249731 -1.000226 +-2.255671 2.140641 -0.986655 +-2.129363 2.372674 -1.002664 +-2.511238 0.019832 -1.010306 +-2.137192 1.500483 -1.010114 +-2.753868 -1.135659 -0.995944 +-2.752869 -0.550710 -0.993065 +-2.333583 2.433160 -1.004689 +-2.147620 2.766011 -0.997099 +-2.390423 -2.483677 -1.013574 +-2.421904 1.882925 -1.005171 +-2.198222 1.775591 -1.007418 +-2.696809 -0.429906 -0.985619 +-2.209177 -2.836597 -1.018528 +-2.842225 -0.230551 -1.005378 +-2.728206 0.925819 -1.008397 +-2.224670 -2.111747 -1.009504 +-2.450817 0.389139 -0.993183 +-2.236773 2.444725 -0.978642 +-2.602847 -2.111146 -1.015933 +-2.859034 1.096963 -1.004936 +-2.441358 -0.658498 -0.975933 +-2.375908 1.606452 -0.994722 +-2.814465 0.686745 -0.986672 +-2.412090 -0.552126 -0.990601 +-2.314996 -0.026884 -0.992391 +-2.138644 -2.598670 -1.006040 +-3.010581 -1.350526 -1.191766 +-3.006105 0.943508 -1.310574 +-2.992955 1.633463 -1.103171 +-2.983541 1.152053 -1.133402 +-2.982861 0.013717 -1.352310 +-2.986111 0.125528 -1.109818 +-2.987122 -2.131446 -1.305852 +-2.995615 1.499446 -1.173989 +-3.007992 -1.460822 -1.120661 +-2.995586 0.209665 -1.314088 +-3.009552 -1.202721 -1.323147 +-3.003350 1.173999 -1.146819 +-3.004817 -2.385489 -1.246546 +-2.992245 -0.723287 -1.264969 +-2.994526 -2.628751 -1.257811 +-2.999856 -1.697951 -1.181789 +-3.002345 -1.211878 -1.331756 +-2.994565 0.824540 -1.396493 +-2.998749 -2.278244 -1.313920 +-3.008178 2.454046 -1.124597 +-3.023677 -0.176044 -1.301444 +-3.006393 2.044364 -1.316654 +-2.993421 2.337776 -1.279030 +-3.019713 -0.819188 -1.238329 +-2.991761 -2.519266 -1.126446 +-3.019572 -1.149531 -1.205458 +-3.005931 -2.466273 -1.376620 +-2.981306 2.588891 -1.154459 +-2.998024 1.434537 -1.207483 +-3.000551 1.644949 -1.253050 +-3.019293 1.506417 -1.374885 +-2.995108 -1.740964 -1.342477 +-2.987972 2.134572 -1.206304 +-2.997372 1.246855 -1.323560 +-3.010212 0.288860 -1.147965 +-2.973433 2.859314 -1.328586 +-3.002127 2.361478 -1.184396 +-2.996893 0.991744 -1.166532 +-2.986069 2.665148 -1.305589 +-3.006040 -0.952219 -1.238522 +-2.996378 -2.082192 -1.121161 +-2.980460 -0.056876 -1.313318 +-3.002388 -0.977842 -1.147902 +-2.998309 -1.323586 -1.224135 +-2.998981 0.046955 -1.324741 +-3.000481 -0.848727 -1.259872 +-2.985805 -1.427416 -1.356880 +-3.002127 2.746083 -1.222142 +-3.010521 -1.760802 -1.212139 +-3.012121 2.485595 -1.170693 +-2.996612 -1.547771 -1.175082 +-2.995534 0.276662 -1.364440 +-2.986708 0.237226 -1.187582 +-3.016922 2.547336 -1.315678 +-3.001903 1.577577 -1.325690 +-2.981238 2.933327 -1.125560 +-2.995777 -1.961333 -1.116868 +-2.991418 -1.647276 -1.312570 +-2.992721 2.548517 -1.348321 +-2.996998 2.513273 -1.259254 +-3.004967 -2.092438 -1.300363 +-3.008304 -1.463074 -1.101769 +-3.013343 -1.576391 -1.327516 +-3.011082 0.625223 -1.131237 +-3.009005 -0.783311 -1.257218 +-3.001177 -0.770695 -1.225778 +-3.010592 2.402821 -1.135000 +-3.011113 -2.860522 -1.265813 +-2.998897 2.997529 -1.177999 +-3.022593 -0.130922 -1.157819 +-3.007816 -0.225047 -1.146844 +-3.018923 2.001436 -1.243705 +-3.004738 0.700778 -1.179619 +-3.000758 0.725021 -1.341978 +-2.996562 2.432947 -1.407751 +-3.002344 0.719096 -1.130589 +-2.999582 -2.237905 -1.388691 +-2.986913 -1.496311 -1.384760 +-2.992086 0.353631 -1.157491 +-3.001314 0.311652 -1.355920 +-2.987663 0.067846 -1.388921 +-3.005791 -2.664291 -1.310852 +-3.005144 -2.678159 -1.183869 +-3.005420 -0.704773 -1.367342 +-2.995894 2.096273 -1.164033 +-2.998118 -1.444916 -1.080661 +-3.004075 -1.705666 -1.196359 +-2.984189 0.108688 -1.191221 +-3.004064 1.600275 -1.340527 +-2.995034 -1.157416 -1.210259 +-2.992952 1.901904 -1.112154 +-2.998949 -2.374677 -1.123376 +-3.007741 -1.654340 -1.299186 +-2.999781 2.171322 -1.193491 +-3.004780 1.250401 -1.362264 +-3.006868 -1.411934 -1.238398 +-2.998592 0.556360 -1.231218 +-2.999274 -1.215184 -1.316083 +-2.985263 2.267198 -1.306382 +-2.993225 -2.787234 -1.135006 +-2.990333 -0.574953 -1.331394 +-2.997069 2.572485 -1.331544 +-2.995740 -2.169238 -1.249839 +-3.004179 2.098465 -1.344594 +-2.999544 2.961474 -1.245888 +-3.004530 -0.526948 -1.290089 +-3.005008 1.218380 -1.268994 +-3.019115 -2.365642 -1.213985 +-3.029755 -2.530600 -1.144181 +-2.989505 -0.115358 -1.291248 +-3.009289 2.658078 -1.248174 +-3.000844 -1.834517 -1.375238 +-2.987427 -2.174573 -1.148930 +-3.000161 -2.698724 -1.273893 +-3.007159 2.163432 -1.111956 +-2.997365 2.650493 -1.188045 +-2.991608 2.590971 -1.179963 +-2.992696 -1.890307 -1.193739 +-2.999888 -0.903734 -1.361357 +-3.007026 1.080609 -1.157976 +-2.978574 2.032561 -1.248247 +-3.014649 2.625797 -1.200648 +-3.007025 1.693179 -1.171421 +-3.022531 1.868693 -1.379954 +-3.002797 -0.283895 -1.139627 +-3.025104 1.014229 -1.408004 +-3.008864 0.173174 -1.153977 +-2.999326 0.703316 -1.239549 +-3.002225 1.054521 -1.294390 +-3.008170 -2.713920 -1.177677 +-2.986898 -0.330941 -1.198612 +-3.017597 -1.617399 -1.169708 +-2.989184 -1.270816 -1.190964 +-2.996478 -0.748078 -1.206211 +-2.997589 0.164666 -1.239477 +-3.010808 2.154783 -1.186205 +-2.993427 2.420186 -1.208937 +-2.999707 -2.082132 -1.288781 +-2.998275 1.334903 -1.162904 +-2.998310 2.917356 -1.229780 +-2.998754 2.057489 -1.158524 +-2.985285 -1.146445 -1.207517 +-3.003294 -1.614437 -1.115361 +-2.991576 1.555785 -1.134276 +-3.011116 -2.036344 -1.100715 +-3.007631 1.213194 -1.298341 +-3.007421 1.667537 -1.179997 +-3.004455 0.143782 -1.106377 +-2.992244 -2.496963 -1.145973 +-3.004827 2.909217 -1.311023 +-3.001533 1.528315 -1.245682 +-3.008919 -1.117679 -1.323616 +-2.999977 -1.643620 -1.219675 +-3.007570 -2.302869 -1.137488 +-2.998862 -2.263539 -1.136756 +-3.000680 2.228090 -1.360846 +-3.022427 2.586760 -1.214252 +-2.999669 -1.696267 -1.244561 +-2.985372 -2.522281 -1.312086 +-2.990545 0.096772 -1.195602 +-3.018007 2.665634 -1.201883 +-2.991872 -2.622873 -1.342368 +-2.994803 -0.279000 -1.150012 +-2.998712 -2.172171 -1.271104 +-3.008821 1.379902 -1.184378 +-2.992430 -1.189612 -1.321454 +-2.999356 -1.720316 -1.197541 +-2.992207 -1.447654 -1.367921 +-3.009242 2.045094 -1.129587 +-3.013369 -0.444440 -1.221883 +-3.015857 1.603194 -1.126139 +-2.995755 -0.785711 -1.345265 +-2.990072 -0.713685 -1.312905 +-3.022726 2.480950 -1.197352 +-2.988737 0.382006 -1.373187 +-3.005989 -2.959659 -1.170818 +-2.995707 -1.016068 -1.290044 +-3.005365 -1.891709 -1.329766 +-2.984293 2.429987 -1.340722 +-2.996389 -2.314041 -1.393941 +-3.002558 -2.712389 -1.162841 +-2.997885 0.822259 -1.122876 +-2.983654 0.480996 -1.238140 +-3.001929 -1.951594 -1.201195 +-3.003417 2.731738 -1.163802 +-3.018062 2.528761 -1.351784 +-2.997408 -0.063952 -1.246210 +-3.019031 -0.759473 -1.265342 +-2.982146 -1.947643 -1.350988 +-3.001801 0.615571 -1.339977 +-2.983526 -1.075695 -1.190317 +-3.012793 1.690801 -1.216205 +-3.005830 -2.222292 -1.176922 +-3.001571 1.094893 -1.130336 +-2.997195 2.665603 -1.362421 +-2.990474 2.612038 -1.128122 +-2.976672 2.374460 -1.144433 +-2.995297 -2.760300 -1.211975 +-2.994509 -2.850730 -1.391344 +-2.997378 2.284394 -1.174689 +-3.010795 -2.712903 -1.324124 +-3.003515 2.554370 -1.134824 +-2.983989 -0.994593 -1.206479 +-2.987158 -1.362826 -1.266937 +-2.998179 -1.630257 -1.373412 +-3.006635 -0.563225 -1.209067 +-2.995347 2.104371 -1.169953 +-3.013525 -1.534188 -1.125404 +-2.985071 0.613491 -1.382383 +-2.999849 -0.951836 -1.204962 +-2.991676 2.556213 -1.375267 +-3.008429 1.976513 -1.151423 +-2.982061 0.303953 -1.349996 +-3.003227 -1.247754 -1.273343 +-2.995025 0.175814 -1.202700 +-3.010391 0.974101 -1.338451 +-2.991772 -2.691090 -1.158673 +-2.984576 2.868701 -1.369517 +-3.017301 -2.362472 -1.287370 +-2.986973 -2.536167 -1.376502 +-1.214002 2.546731 -0.494566 +-1.794550 -1.139542 -0.491362 +-1.327898 2.480762 -0.489311 +-1.318202 2.179592 -0.514862 +-1.372424 -2.709023 -0.484752 +-1.380491 0.832067 -0.502789 +-1.433608 1.842030 -0.498079 +-1.597234 2.221237 -0.502306 +-1.577981 -0.169084 -0.506701 +-1.281405 -1.467354 -0.495966 +-1.597856 -0.560535 -0.505572 +-1.823020 2.994148 -0.502504 +-1.216583 1.390925 -0.502242 +-1.157778 -0.138248 -0.502667 +-1.543084 0.981077 -0.498657 +-1.647979 2.671292 -0.495639 +-1.222931 2.518122 -0.477929 +-1.825846 -1.696922 -0.500730 +-1.411842 2.522662 -0.504620 +-1.380850 0.044576 -0.504022 +-1.504764 -0.828827 -0.491555 +-1.328404 -2.141915 -0.499016 +-1.712256 0.590623 -0.506262 +-1.127873 0.967693 -0.482832 +-1.684540 -1.810894 -0.508582 +-1.806552 1.169255 -0.506839 +-1.385312 2.336930 -0.504036 +-1.378111 2.612806 -0.501406 +-1.380557 0.846199 -0.495941 +-1.200865 -0.577699 -0.487977 +-1.735072 2.937711 -0.497712 +-1.428459 0.997287 -0.503575 +-1.264141 0.330616 -0.477134 +-1.612499 1.817239 -0.511125 +-1.102106 0.202554 -0.484987 +-1.130845 2.780558 -0.495383 +-1.888135 1.173643 -0.511664 +-1.133526 1.393121 -0.487550 +-1.457659 -1.373104 -0.499378 +-1.863952 0.917558 -0.491650 +-1.139889 -1.603394 -0.496827 +-1.634451 2.848100 -0.496398 +-1.353821 1.576483 -0.482988 +-1.806535 -1.793454 -0.498640 +-1.099787 -2.443150 -0.488273 +-1.435057 -1.792540 -0.509250 +-1.182692 2.422145 -0.514501 +-1.889181 -0.737812 -0.488028 +-1.185492 -1.616463 -0.508101 +-1.481510 -1.576151 -0.509891 +-1.523187 0.956276 -0.495080 +-1.613644 1.491982 -0.496296 +-1.139160 2.380406 -0.497829 +-1.545737 1.885862 -0.516372 +-1.118925 -2.298280 -0.492706 +-1.494980 1.950674 -0.500640 +-1.389909 -1.303941 -0.494529 +-1.264223 2.234023 -0.497861 +-1.245213 -2.834646 -0.496768 +-1.348348 1.883675 -0.491681 +-1.640869 0.914984 -0.486722 +-1.327726 -1.293489 -0.500246 +-1.704432 1.127230 -0.495272 +-1.577001 -1.916828 -0.492602 +-1.675025 0.253497 -0.506449 +-1.188610 1.495452 -0.511588 +-1.217093 0.831586 -0.510451 +-1.588776 -2.916793 -0.493807 +-1.168965 -2.573698 -0.496025 +-1.465366 -2.718041 -0.486996 +-1.475013 -2.953552 -0.483411 +-1.842709 -2.400521 -0.521913 +-1.558204 1.791666 -0.509482 +-1.290059 -2.982033 -0.503538 +-1.216437 2.519466 -0.496991 +-1.814157 0.716385 -0.501904 +-1.310184 -1.815766 -0.491769 +-1.199888 -2.687408 -0.491921 +-1.234207 -0.695546 -0.509390 +-1.877429 -1.564276 -0.499079 +-1.400934 0.867097 -0.514944 +-1.683504 0.659250 -0.501794 +-1.383114 1.134300 -0.500053 +-1.333546 1.217568 -0.499797 +-1.718859 2.445045 -0.494607 +-1.900730 -0.890900 -0.506846 +-1.343699 2.597058 -0.501661 +-1.251485 1.381104 -0.488482 +-1.882557 0.448133 -0.476876 +-1.522150 -2.820390 -0.485908 +-1.692575 0.640128 -0.497688 +-1.658283 -2.566377 -0.500308 +-1.523163 -0.078028 -0.491952 +-1.347638 0.991754 -0.500049 +-1.179179 2.020180 -0.501215 +-1.326222 -0.584140 -0.490768 +-1.457273 -2.449721 -0.496312 +-1.507372 0.726784 -0.496016 +-1.254931 0.926289 -0.509570 +-1.112040 0.304741 -0.506243 +-1.091713 1.840651 -0.507051 +-1.428389 -0.479768 -0.514754 +-1.777605 -0.874605 -0.497377 +-1.655835 -1.797083 -0.486537 +-1.119932 2.925048 -0.512481 +-1.866751 0.356974 -0.494990 +-1.706168 -0.174193 -0.489462 +-1.348968 -2.884632 -0.500557 +-1.456255 0.678467 -0.491455 +-1.642506 -1.578630 -0.496828 +-1.532825 -1.827759 -0.511299 +-1.454103 -1.081490 -0.497629 +-1.139792 1.220086 -0.491226 +-1.512802 2.081795 -0.506872 +-1.824096 -1.428964 -0.494716 +-1.706121 1.728928 -0.513532 +-1.250883 0.576936 -0.491906 +-1.163960 0.948175 -0.487306 +-1.739806 -0.722395 -0.509448 +-1.895441 -2.812846 -0.496366 +-1.161665 1.393047 -0.498735 +-1.823387 1.420416 -0.506409 +-1.563325 0.394156 -0.501513 +-1.521165 1.602352 -0.493915 +-1.145304 1.685247 -0.491156 +-1.323082 2.955764 -0.492684 +-1.345549 -2.189410 -0.484483 +-1.156623 -0.765550 -0.485573 +-1.529104 1.535211 -0.493587 +-1.537783 1.519789 -0.507110 +-1.533651 -0.471141 -0.497346 +-1.279091 0.861292 -0.519730 +-1.173429 -2.195856 -0.513392 +-1.451501 2.776038 -0.498978 +-1.356529 -0.517479 -0.486777 +-1.437508 1.603392 -0.494170 +-1.668309 -2.785293 -0.498481 +-1.377496 -0.340129 -0.505599 +-1.817262 0.727169 -0.504819 +-1.229954 -1.552887 -0.500323 +-1.150527 2.642339 -0.503477 +-1.744677 -1.311818 -0.507565 +-1.288528 0.572885 -0.497291 +-1.321434 -0.884008 -0.518372 +-1.813635 2.897646 -0.505877 +-1.721958 -1.627739 -0.499757 +-1.507261 1.919616 -0.520536 +-1.527308 -1.608757 -0.513568 +-1.422118 2.107468 -0.494016 +-1.703480 2.318348 -0.519673 +-1.237827 -0.736686 -0.506908 +-1.525086 1.995143 -0.495863 +-1.119546 -0.151072 -0.480629 +-1.412582 -0.592479 -0.497983 +-1.265219 -0.919291 -0.488546 +-1.245204 -0.050686 -0.486370 +-1.458376 0.672595 -0.499607 +-1.349477 -1.818764 -0.508054 +-1.515079 0.034455 -0.498627 +-1.430803 -1.527582 -0.511487 +-1.522274 2.627002 -0.499042 +-1.497289 2.622021 -0.512938 +-1.365098 -0.869780 -0.501700 +-1.190978 -0.058458 -0.499327 +-1.814981 2.611461 -0.495623 +-1.708109 2.798007 -0.511956 +-1.600794 -1.240821 -0.503276 +-1.280295 0.860700 -0.505413 +-1.718946 2.661785 -0.502683 +-1.473481 -2.120525 -0.466173 +-1.384389 -0.257178 -0.485180 +-1.382936 2.651709 -0.501544 +-1.772159 2.187374 -0.493018 +-1.708515 2.645770 -0.490454 +-1.868586 -0.432106 -0.494243 +-1.100586 -0.024573 -0.501988 +-1.302744 2.519290 -0.497816 +-1.483319 0.614838 -0.498650 +-1.190443 -2.487988 -0.502803 +-1.570345 1.876975 -0.507921 +-1.347775 -2.290346 -0.495784 +-1.876956 -2.394631 -0.488758 +-1.470282 -2.510014 -0.503895 +-1.607303 -0.177219 -0.504292 +-1.789544 1.627296 -0.494372 +-1.354412 0.476736 -0.508126 +-1.802949 2.186638 -0.509738 +-1.243023 -2.863664 -0.509977 +-1.861913 2.386524 -0.500364 +-1.089316 1.583074 -0.479646 +-1.531192 1.870289 -0.502180 +-1.439063 -0.844569 -0.505063 +-1.786004 2.096435 -0.493336 +-1.354240 -1.036546 -0.509929 +-1.613808 1.480054 -0.492191 +-1.331370 1.802461 -0.500323 +-1.420566 1.772631 -0.492969 +-1.826482 -0.196781 -0.487254 +-1.699335 -0.388938 -0.489858 +-1.566146 0.604551 -0.500148 +-1.888971 2.369880 -0.511932 +-1.491640 -0.422051 -0.515013 +-1.647899 2.702693 -0.503086 +-1.624202 2.960705 -0.504910 +-1.875171 -0.826228 -0.495828 +-1.222388 -0.499697 -0.501936 +-1.703338 -1.784739 -0.492788 +-1.668534 2.176746 -0.509185 +-1.134632 -2.082415 -0.485136 +-1.872902 2.283549 -0.489444 +-1.525796 -0.247398 -0.504353 +-1.576266 -0.775780 -0.511927 +-1.831024 -0.323826 -0.514979 +-1.476382 2.418428 -0.511753 +-1.606710 -1.193317 -0.498549 +-1.145810 -1.952793 -0.487407 +-1.527427 1.755114 -0.488811 +-1.257509 0.360311 -0.494194 +-1.852555 -2.374392 -0.502633 +-1.555292 -2.902802 -0.502425 +-2.002297 0.686353 -0.639053 +-1.992192 2.359451 -0.869985 +-2.001287 -2.480847 -0.709053 +-1.999199 -0.708963 -0.812410 +-1.999229 0.070995 -0.625296 +-2.001619 -2.232949 -0.790986 +-1.987732 1.901863 -0.748000 +-2.003289 2.397594 -0.729303 +-2.012769 -1.405224 -0.725405 +-2.006369 -0.183780 -0.852567 +-2.000174 -0.384948 -0.682563 +-2.002349 1.326299 -0.729541 +-1.996850 0.256780 -0.679926 +-2.001263 -1.233969 -0.714175 +-1.992259 -2.158948 -0.849001 +-1.994912 0.021459 -0.635983 +-2.007954 2.711981 -0.702381 +-2.025981 -1.852418 -0.729111 +-2.002198 2.699269 -0.817245 +-1.975920 -1.818364 -0.830007 +-1.996772 1.091498 -0.754429 +-1.991449 -2.837310 -0.831393 +-1.978627 0.639768 -0.760348 +-2.000074 -2.690868 -0.622108 +-1.992586 -1.548301 -0.685449 +-2.001870 -1.275290 -0.662485 +-1.988771 2.668151 -0.858266 +-1.992809 0.352269 -0.739944 +-2.024667 -1.363085 -0.870314 +-2.005383 -1.881234 -0.836594 +-1.993785 2.894403 -0.823121 +-1.990340 -1.727810 -0.860909 +-2.002563 -0.464419 -0.874674 +-2.015229 -0.473136 -0.747210 +-2.002500 2.710239 -0.668790 +-2.000721 -0.683821 -0.898990 +-1.991279 0.422418 -0.805244 +-1.988964 -2.316776 -0.790347 +-1.998565 -2.657308 -0.611514 +-2.002173 -0.738058 -0.684193 +-1.990987 -1.925180 -0.854083 +-1.984965 2.422202 -0.714554 +-1.998849 -2.036932 -0.738795 +-1.986345 -2.303424 -0.634210 +-1.995568 1.504174 -0.781032 +-1.976043 -0.603568 -0.629818 +-1.993770 2.539133 -0.752299 +-2.036207 -0.752584 -0.688602 +-1.994437 -0.476775 -0.899399 +-1.997743 0.391708 -0.687404 +-2.004173 0.649651 -0.738483 +-1.991493 -0.626941 -0.642486 +-1.996107 1.081972 -0.712827 +-1.995770 -1.159132 -0.854703 +-2.010520 0.701623 -0.604171 +-2.005269 -1.196419 -0.795517 +-1.993101 1.435150 -0.690103 +-1.989585 -2.673759 -0.889168 +-1.995749 0.917394 -0.746665 +-2.009392 0.631373 -0.624737 +-2.021760 1.766263 -0.792874 +-2.006162 0.968363 -0.742401 +-1.998422 -0.139051 -0.613941 +-1.995967 -2.192481 -0.687974 +-1.997756 -0.517279 -0.706097 +-2.002892 2.238503 -0.684951 +-1.991835 0.108327 -0.620547 +-1.993654 -1.143471 -0.630839 +-1.982856 1.458585 -0.896259 +-2.004844 2.584406 -0.798788 +-1.987737 -1.290135 -0.843473 +-2.001566 -1.084341 -0.832206 +-1.998469 -0.527776 -0.663138 +-2.016670 -1.110785 -0.681805 +-1.992173 1.597717 -0.708117 +-2.021527 0.989593 -0.786157 +-2.021057 -0.522444 -0.646617 +-2.010708 -0.824397 -0.643752 +-1.995897 1.412576 -0.769273 +-1.994163 -2.557890 -0.770423 +-1.989128 1.222505 -0.744408 +-2.012190 -1.393094 -0.634294 +-2.000772 -0.629076 -0.690179 +-1.999516 -2.932730 -0.766359 +-1.984920 2.503870 -0.855570 +-2.014717 1.971315 -0.658575 +-2.011400 -0.417997 -0.867284 +-1.984014 -0.803613 -0.781468 +-2.016252 -2.369005 -0.675881 +-1.993774 0.405334 -0.751189 +-1.992444 -1.491127 -0.829741 +-1.998289 0.104906 -0.894068 +-2.015777 -1.035880 -0.893475 +-2.000370 0.517957 -0.615551 +-2.010504 2.565697 -0.721218 +-2.012435 2.503011 -0.659523 +-2.006511 1.919095 -0.738513 +-2.000879 1.592289 -0.758998 +-2.003475 -0.390446 -0.818319 +-2.002487 1.682817 -0.677471 +-2.002617 0.597976 -0.713249 +-1.999155 1.358872 -0.816021 +-2.001272 0.257083 -0.729227 +-1.997661 -2.825536 -0.659263 +-1.995355 0.870602 -0.750900 +-2.011034 -0.204259 -0.644857 +-2.013727 2.013145 -0.655633 +-2.007963 -2.686656 -0.791887 +-2.005248 -0.685227 -0.790737 +-2.003389 -1.032891 -0.611169 +-2.014729 0.270842 -0.908031 +-1.997962 2.265932 -0.697002 +-2.002031 2.468150 -0.787508 +-2.007201 -1.024827 -0.792361 +-2.000146 -0.509038 -0.691554 +-2.007365 2.535782 -0.623190 +-1.999662 2.364906 -0.678298 +-1.980590 -1.643083 -0.811863 +-2.016718 -2.569842 -0.631824 +-2.006070 0.317158 -0.659527 +-1.993055 -2.249553 -0.751547 +-2.007843 -2.757565 -0.628175 +-1.982646 1.963148 -0.701291 +-1.996316 -2.620568 -0.765535 +-2.003639 0.322470 -0.809707 +-2.005370 -0.187193 -0.603154 +-1.989010 -1.890124 -0.751040 +-2.009824 -2.695188 -0.661687 +-1.992128 -0.305842 -0.666305 +-2.010883 -2.366113 -0.759168 +-2.002647 0.167829 -0.655974 +-2.001802 2.741563 -0.685381 +-1.994378 2.849684 -0.659643 +-2.014513 0.142164 -0.808582 +-2.014808 -0.986388 -0.703676 +-1.985658 2.302881 -0.667200 +-1.993106 0.134655 -0.649724 +-1.998385 0.927074 -0.894488 +-2.010022 1.516022 -0.805533 +-2.013700 -0.790417 -0.832056 +-2.004617 -2.741729 -0.770833 +-2.001913 -2.617357 -0.638007 +-2.011071 -2.906588 -0.649118 +-1.985563 2.050657 -0.833225 +-1.997122 2.583079 -0.697443 +-1.992618 -0.586154 -0.635691 +-2.010963 -2.588812 -0.652278 +-1.993953 -2.722070 -0.826526 +-2.019115 2.953387 -0.712818 +-2.010982 2.696366 -0.686435 +-2.024554 -0.633946 -0.788115 +-2.001834 0.724817 -0.637408 +-1.990181 -0.132432 -0.747831 +-2.006135 -0.773701 -0.740540 +-2.002020 1.520054 -0.853916 +-1.991316 -0.961273 -0.732742 +-2.010622 2.659354 -0.823185 +-1.989617 -0.372661 -0.676774 +-1.998397 1.533595 -0.712846 +-1.998650 0.471103 -0.842939 +-1.989532 1.875768 -0.688262 +-2.018137 -0.231429 -0.721128 +-2.010097 1.196687 -0.736716 +-2.001701 -1.712219 -0.687880 +-1.997166 -2.222595 -0.899090 +-2.017035 0.629033 -0.817493 +-2.015293 -1.384503 -0.744718 +-1.989777 2.935239 -0.879770 +-2.013040 -1.697409 -0.747718 +-1.998241 -1.873126 -0.793300 +-1.993289 -0.743762 -0.674736 +-1.989202 -0.530086 -0.648068 +-1.988890 -2.099055 -0.740632 +-1.997342 -0.145539 -0.639028 +-2.009644 1.820148 -0.793123 +-2.018525 -0.666891 -0.751851 +-2.021301 -1.673251 -0.763122 +-2.002161 -2.493767 -0.770623 +-1.983554 -2.166764 -0.798911 +-1.989525 -0.571684 -0.860256 +-1.997851 -0.828913 -0.826401 +-1.991720 -2.718524 -0.611098 +-1.998399 2.627333 -0.900505 +-1.997059 2.702202 -0.644809 +-1.993547 -1.308404 -0.861321 +-2.001147 1.551200 -0.823116 +-2.010560 0.161700 -0.727075 +-2.001725 2.214600 -0.684954 +-2.003664 -1.045642 -0.699740 +-1.986926 1.384538 -0.806888 +-1.994951 0.944157 -0.890463 +-1.987725 1.981915 -0.647891 +-2.005497 2.294679 -0.903613 +-1.989975 1.704313 -0.886258 +-1.981663 -1.920545 -0.654500 +-2.005639 1.891790 -0.718582 +-2.000529 -0.651344 -0.792948 +-2.001107 0.693656 -0.889058 +-2.001752 -1.552222 -0.731621 +-2.015302 -1.282191 -0.652840 +-1.998583 -2.261788 -0.745105 +-2.008496 -2.028013 -0.814155 +-2.012896 -0.502006 -0.616443 +-1.989312 2.119005 -0.726665 +-1.992637 0.474608 -0.808344 +-1.981802 -1.548504 -0.732372 +-1.993947 -1.946155 -0.696111 +-1.999178 0.649173 -0.659898 +-1.999196 2.095642 -0.707425 +-2.014485 1.156722 -0.892964 +-2.013093 -0.640710 -0.762204 +-1.985987 2.895660 -0.886368 +-2.009379 0.081516 -0.709064 +-1.990847 -1.393311 -0.877175 +-1.997319 0.066507 -0.750218 +-2.011342 0.186024 -0.827133 +-2.011143 1.377833 -0.833813 +-1.996099 2.835651 -0.691701 +-1.983610 -0.839874 -0.694899 +-2.000145 -1.477719 -0.871060 +-0.577270 -2.095489 0.001722 +-0.461096 -0.386051 0.002310 +-0.754132 1.064162 0.016324 +-0.474373 0.407941 0.011565 +-0.712726 0.263470 0.002185 +-0.729867 -0.421534 0.012795 +-0.389358 1.873852 -0.016231 +-0.249506 0.388284 0.009135 +-0.363549 -2.000344 -0.003577 +-0.142255 -0.722456 0.002519 +-0.507415 1.105412 0.005326 +-0.337391 2.786093 -0.003587 +-0.778884 1.675293 -0.010768 +-0.722390 2.948801 -0.008691 +-0.185626 1.454533 -0.004050 +-0.494603 0.906922 -0.003828 +-0.522132 2.481371 -0.004185 +-0.825965 0.919974 0.011863 +-0.160148 1.807826 0.011238 +-0.854604 -0.225015 0.011459 +-0.690183 2.915028 0.002822 +-0.656066 -0.560780 -0.008525 +-0.856516 -2.522862 -0.006440 +-0.765149 -0.213963 0.001946 +-0.448997 2.141732 -0.008320 +-0.259515 -0.205688 -0.012568 +-0.699560 0.840522 -0.006482 +-0.485791 0.593782 -0.002047 +-0.469406 0.496596 -0.000087 +-0.191400 2.129707 -0.007384 +-0.441838 -0.298030 0.003504 +-0.885542 2.142301 0.001180 +-0.592997 -0.395131 -0.008900 +-0.595243 2.757488 -0.006173 +-0.680195 -0.638708 0.002639 +-0.470227 -2.452411 -0.007392 +-0.558170 -0.252609 -0.007101 +-0.490655 0.666607 0.001563 +-0.764278 -1.770133 -0.004523 +-0.249849 1.118222 0.005476 +-0.232891 -2.173162 -0.006489 +-0.408773 -2.853275 0.002926 +-0.105279 0.853052 0.000112 +-0.786940 1.558759 0.014690 +-0.858544 1.585719 -0.014720 +-0.547348 -0.564849 -0.020812 +-0.493216 -1.704105 0.002800 +-0.549465 -0.109160 0.001374 +-0.665170 0.162909 0.005015 +-0.546691 -1.207712 0.006306 +-0.738758 -0.425951 -0.003527 +-0.388054 -0.932052 -0.012749 +-0.163234 0.621248 0.020467 +-0.342400 -0.004635 0.008007 +-0.492483 -0.380048 0.002737 +-0.809866 -1.875684 0.014565 +-0.718912 -0.339069 0.010749 +-0.756335 -0.486078 0.001127 +-0.499119 -0.167445 -0.012770 +-0.692524 1.272546 0.002470 +-0.205445 -0.857934 -0.008123 +-0.397630 -0.919611 -0.007130 +-0.416429 2.691264 -0.006588 +-0.452869 -0.156064 0.011116 +-0.808459 2.091253 0.010847 +-0.893493 0.924890 0.002878 +-0.524413 -1.611864 -0.004963 +-0.096052 -0.610671 -0.001922 +-0.746350 1.047095 -0.017979 +-0.663348 -0.926416 0.009289 +-0.330072 2.960553 -0.008060 +-0.165562 0.511685 -0.004158 +-0.327506 1.397775 0.006221 +-0.223304 -2.478032 -0.014787 +-0.243071 0.812248 -0.012363 +-0.222755 2.665860 0.004289 +-0.459631 0.561744 -0.002081 +-0.523468 0.828288 0.000554 +-0.592095 0.103601 -0.010451 +-0.370993 0.555601 -0.020749 +-0.447903 0.313230 0.005680 +-0.781453 0.689880 0.021044 +-0.371293 -1.755708 -0.004093 +-0.589419 1.346246 0.003400 +-0.849288 -1.677582 -0.000320 +-0.480540 -1.494439 -0.006425 +-0.652494 0.663174 0.009450 +-0.743218 -1.798356 -0.008789 +-0.348788 -0.049360 0.012458 +-0.694232 -0.150183 0.008762 +-0.491883 -1.333624 -0.005618 +-0.112429 -1.061251 0.013490 +-0.771652 -0.764354 0.011587 +-0.666733 0.294980 0.004466 +-0.739558 -2.107469 -0.001181 +-0.841064 1.321828 -0.000493 +-0.795071 -2.323577 -0.002248 +-0.326956 2.838798 0.005932 +-0.451105 -2.187300 0.009096 +-0.331016 -0.733149 -0.021944 +-0.486289 2.782329 -0.004021 +-0.706427 -1.884990 0.026157 +-0.680429 -0.100322 -0.012421 +-0.246742 0.944485 -0.002537 +-0.129806 1.643687 -0.007033 +-0.736090 -0.982493 0.000344 +-0.756222 0.688804 -0.004314 +-0.763951 0.070737 -0.000644 +-0.648606 2.498434 -0.007971 +-0.725982 -2.463592 -0.006176 +-0.178464 -0.036317 -0.003225 +-0.492778 1.184219 0.007970 +-0.736280 -0.304551 -0.001109 +-0.491371 2.265198 -0.003085 +-0.357655 0.805953 -0.001115 +-0.814538 1.986816 -0.001060 +-0.094563 -0.925981 -0.012565 +-0.551217 -1.329529 -0.006959 +-0.499059 1.054934 -0.002926 +-0.291380 -0.380266 -0.000734 +-0.408315 0.181710 0.014729 +-0.581003 -2.734339 0.005500 +-0.345324 -0.679566 -0.000635 +-0.400430 -0.683126 -0.008286 +-0.229855 2.782209 -0.005525 +-0.623307 0.381541 -0.001410 +-0.144857 -0.089662 -0.000705 +-0.446469 0.198937 -0.013971 +-0.166665 -1.798651 -0.006464 +-0.603541 -2.862696 -0.000950 +-0.222240 1.380758 -0.018534 +-0.201092 -0.494686 -0.005817 +-0.875361 -1.368645 -0.002676 +-0.454649 0.489097 -0.009956 +-0.690652 2.043268 0.011186 +-0.783244 0.581773 0.000022 +-0.910381 2.842015 0.007052 +-0.810261 0.110187 0.003532 +-0.235514 -2.157496 -0.014857 +-0.178149 -0.846668 0.004068 +-0.708735 0.241296 -0.000866 +-0.231275 0.309436 -0.013635 +-0.783200 -1.740193 0.012595 +-0.367786 -0.159982 -0.000773 +-0.141318 -1.732952 -0.001975 +-0.117460 2.271100 0.008321 +-0.129940 2.667279 -0.009107 +-0.278652 1.495386 -0.016027 +-0.616636 2.062663 0.000937 +-0.711372 0.575442 0.004820 +-0.761378 -0.972841 -0.004033 +-0.804791 -2.287565 -0.000581 +-0.825317 1.447482 0.012400 +-0.277762 -2.291787 -0.002097 +-0.860772 -0.622886 0.013054 +-0.508860 0.092143 -0.011114 +-0.344284 1.345967 -0.009030 +-0.343485 2.737994 0.010192 +-0.552285 -0.801103 0.000501 +-0.828484 -2.857967 -0.008834 +-0.884428 -1.214422 0.010895 +-0.448585 -2.069117 -0.020420 +-0.562505 -0.035819 -0.008568 +-0.351639 -0.009598 -0.003848 +-0.860537 -2.759159 0.017374 +-0.176325 2.983128 0.005440 +-0.149014 2.779430 0.016176 +-0.529081 1.952183 -0.010611 +-0.250469 2.890158 0.004755 +-0.883869 2.429113 0.016144 +-0.570670 -0.949621 -0.002630 +-0.325790 -0.014659 -0.002176 +-0.448180 -2.373630 -0.000449 +-0.669651 0.064785 0.016320 +-0.264829 -2.217275 0.002565 +-0.157684 -0.723440 -0.008803 +-0.692670 0.863767 -0.001388 +-0.280158 2.732690 0.003554 +-0.177024 -1.632453 0.005548 +-0.668921 2.028187 0.002268 +-0.501254 0.991944 0.010402 +-0.278788 1.371372 -0.001721 +-0.555535 0.297062 0.007832 +-0.197201 -2.786939 -0.009953 +-0.832877 2.888332 0.001524 +-0.256569 -0.054604 -0.003850 +-0.167191 -0.267254 0.017087 +-0.868456 -2.676810 -0.025033 +-0.503564 0.889904 0.012940 +-0.532993 -2.204054 -0.011285 +-0.823866 1.674447 0.011274 +-0.852873 1.631399 0.008427 +-0.763169 1.680661 -0.008716 +-0.195906 -2.307488 0.007878 +-0.895642 0.842988 -0.015611 +-0.148011 2.084002 0.017301 +-0.402575 2.359925 0.010033 +-0.347320 -2.908744 -0.015856 +-0.377309 -0.157853 0.005988 +-0.300761 -2.562486 -0.002488 +-0.409912 1.403478 -0.013227 +-0.730283 -2.288228 -0.006350 +-0.180723 0.317500 -0.013058 +-0.253536 -0.543651 -0.018866 +-0.610703 2.872806 0.006077 +-0.637374 -2.821223 0.005785 +-0.648489 2.846525 0.010016 +-0.196782 -2.350893 0.005395 +-0.590699 -1.898993 0.003654 +-0.375218 0.706834 -0.003505 +-0.831699 -2.824766 -0.002961 +-0.653785 1.298275 -0.019367 +-0.273501 -2.518372 -0.017938 +-0.376982 1.544222 -0.006004 +-0.711455 1.172441 -0.007578 +-0.213294 -2.145892 0.005950 +-0.792212 -2.444416 -0.003978 +-0.392017 -2.166721 0.020871 +-0.264283 2.829222 0.004071 +-0.109432 2.249954 -0.003428 +-0.993002 -1.658243 -0.381115 +-0.980331 -1.853301 -0.291639 +-0.989710 -0.856983 -0.398598 +-0.997923 -1.043229 -0.240454 +-0.999006 -2.672807 -0.312966 +-0.999364 -1.962517 -0.202076 +-1.001407 1.579552 -0.305513 +-0.984807 0.223132 -0.130512 +-0.987650 0.143713 -0.124005 +-1.002974 -2.039128 -0.373687 +-1.013735 -2.115660 -0.292018 +-0.988591 -1.411926 -0.230272 +-1.000158 -2.931474 -0.222112 +-1.011177 2.906948 -0.156154 +-1.001287 -0.156510 -0.263483 +-1.004971 -1.788187 -0.355443 +-1.000409 -1.242855 -0.366905 +-0.992130 0.093415 -0.242688 +-0.990587 -1.192506 -0.156301 +-0.982499 2.935169 -0.197438 +-0.965072 -1.679999 -0.327354 +-0.998032 0.482274 -0.223870 +-0.992089 1.026839 -0.217240 +-0.997635 -0.156687 -0.316440 +-1.016656 2.168206 -0.243751 +-0.986794 1.961527 -0.301517 +-0.981602 -1.398398 -0.386210 +-1.015971 -2.621285 -0.168763 +-1.002554 -2.007545 -0.310993 +-1.015013 -1.079523 -0.121360 +-0.991362 -2.660438 -0.384465 +-0.981709 -0.705409 -0.287009 +-0.991556 -2.404144 -0.096141 +-0.993386 2.602781 -0.369011 +-0.994153 -0.977532 -0.132332 +-0.994151 -0.743375 -0.378261 +-0.997601 1.428420 -0.262106 +-1.017869 -2.192693 -0.147817 +-1.011808 0.876235 -0.311630 +-1.008210 2.940562 -0.359899 +-1.019382 -2.036681 -0.259902 +-0.982108 -0.482739 -0.284630 +-0.985184 1.412160 -0.160510 +-0.981571 1.919991 -0.102370 +-1.009650 -2.563683 -0.281019 +-1.008153 1.658721 -0.135505 +-1.016208 -2.100005 -0.353918 +-0.996617 0.533769 -0.286441 +-1.001649 0.732283 -0.316355 +-1.001460 0.225212 -0.218772 +-1.007653 0.707428 -0.382979 +-0.989423 1.419852 -0.356331 +-1.012044 0.087027 -0.113959 +-1.003766 2.965870 -0.274197 +-1.007510 0.802472 -0.156008 +-0.989245 0.741600 -0.287818 +-0.998637 2.402835 -0.269123 +-0.990197 -1.852669 -0.266219 +-1.001601 2.174401 -0.101854 +-1.007800 -2.325151 -0.227969 +-0.993839 -2.940642 -0.377234 +-0.981493 -0.186841 -0.349110 +-0.994243 1.273616 -0.237453 +-1.000153 2.741074 -0.095189 +-0.992747 -1.729380 -0.224245 +-0.993581 -1.740731 -0.144240 +-1.005632 2.775191 -0.269274 +-1.006480 -1.727085 -0.397712 +-0.991039 -0.153630 -0.141859 +-1.034383 -1.251705 -0.389278 +-0.996031 -1.323531 -0.131810 +-0.999079 -1.421882 -0.247125 +-0.993433 0.612436 -0.286760 +-0.980470 2.293394 -0.169942 +-0.990547 1.042251 -0.321803 +-1.008686 3.005246 -0.101413 +-0.991036 -2.386377 -0.363705 +-0.991552 -2.035845 -0.298611 +-0.987351 -0.333043 -0.257910 +-0.991039 -1.408370 -0.154721 +-0.984348 1.691383 -0.161136 +-1.020391 2.910645 -0.374491 +-0.995349 -2.323760 -0.186679 +-1.009596 -0.256455 -0.264245 +-0.994359 -1.148713 -0.172715 +-0.996814 -2.390291 -0.351524 +-1.004249 2.763504 -0.380010 +-0.995766 2.253832 -0.190324 +-0.989935 -0.669632 -0.182437 +-1.003142 1.232717 -0.128081 +-0.991928 2.624727 -0.263908 +-0.990489 -1.782032 -0.346770 +-1.012429 -2.867021 -0.267348 +-1.006549 -1.362103 -0.311372 +-1.002474 0.467659 -0.159351 +-1.008023 -2.200608 -0.281814 +-1.011076 -0.958103 -0.122406 +-0.998557 -1.529082 -0.234004 +-0.996882 1.847964 -0.156346 +-1.008960 2.280607 -0.330144 +-1.010089 1.380908 -0.118391 +-0.991759 1.369887 -0.341350 +-0.996202 2.722488 -0.172042 +-1.009470 -0.173599 -0.247265 +-1.005797 -2.388326 -0.110394 +-1.005578 -1.516055 -0.309580 +-1.002393 -0.904279 -0.176386 +-1.001726 -0.250619 -0.322632 +-0.999798 2.168859 -0.139808 +-1.011736 -0.356525 -0.361902 +-0.999955 -0.144105 -0.356402 +-1.013716 -0.351592 -0.109634 +-1.010318 -0.590573 -0.150430 +-1.000680 -1.006604 -0.389256 +-1.002005 -1.115495 -0.114899 +-1.002749 2.447232 -0.344968 +-1.000898 -0.266756 -0.328721 +-0.978149 0.037177 -0.268223 +-1.003563 -0.391535 -0.373438 +-0.998082 0.774466 -0.270454 +-0.992018 1.859587 -0.123990 +-0.980370 -2.498005 -0.280977 +-1.005704 -2.723342 -0.321946 +-0.994884 -0.358229 -0.359953 +-0.996461 -2.468096 -0.137122 +-0.997815 -2.128301 -0.192372 +-1.007739 1.735822 -0.335171 +-1.000364 -0.023305 -0.152742 +-1.008888 -1.800373 -0.385858 +-1.004396 1.212214 -0.337251 +-0.993777 -2.830926 -0.193376 +-0.996475 0.112429 -0.308817 +-1.010025 -2.756885 -0.147995 +-1.005503 1.053936 -0.116932 +-1.001929 -2.500750 -0.327514 +-0.999744 -0.822977 -0.278962 +-1.031892 -1.920110 -0.251692 +-0.984991 2.660785 -0.184037 +-1.005137 0.473370 -0.348713 +-0.990355 -0.289142 -0.226139 +-0.993995 1.157451 -0.306337 +-0.992220 0.432948 -0.221408 +-1.020589 -1.911982 -0.258466 +-0.995203 0.518649 -0.153508 +-0.991151 2.549698 -0.195751 +-0.989757 -2.554806 -0.299499 +-0.998600 -2.929103 -0.245124 +-0.984092 1.453343 -0.141140 +-0.993343 1.957849 -0.162052 +-1.005500 -2.679317 -0.377177 +-0.999830 -0.607391 -0.250730 +-0.973566 2.456515 -0.222156 +-0.996922 -2.280683 -0.185785 +-1.014858 -0.224235 -0.243428 +-0.985943 0.319256 -0.257418 +-0.990877 2.754781 -0.310521 +-1.000494 1.160860 -0.123162 +-1.001300 0.614810 -0.166787 +-0.995588 -0.735557 -0.268052 +-0.985843 0.068834 -0.120402 +-1.002513 1.969740 -0.249984 +-1.008825 -1.594448 -0.242003 +-0.997188 -1.839513 -0.294021 +-0.993458 -1.360699 -0.356941 +-0.987686 1.526210 -0.136136 +-1.009786 -1.028184 -0.208264 +-0.995562 -2.844778 -0.135696 +-0.985695 -1.949040 -0.182182 +-0.986762 -1.362700 -0.201359 +-0.993307 1.194410 -0.295696 +-0.982725 -1.870824 -0.102421 +-1.004706 -1.670480 -0.341930 +-1.023090 -2.640593 -0.249838 +-1.005605 -0.857330 -0.379859 +-1.011809 2.833552 -0.126539 +-0.987162 1.116155 -0.179007 +-0.997576 1.788185 -0.339023 +-1.007658 1.857640 -0.263218 +-0.991787 -2.590671 -0.283360 +-1.008589 1.512968 -0.176243 +-1.021200 1.180578 -0.130554 +-1.004687 -2.911148 -0.344115 +-0.999298 -1.429996 -0.397790 +-1.011926 1.487297 -0.252085 +-1.001376 2.158484 -0.372699 +-1.013263 1.046987 -0.303581 +-0.988359 -2.200354 -0.147844 +-1.000616 1.116380 -0.278167 +-0.998559 -0.204905 -0.288466 +-0.997675 2.711999 -0.217948 +-1.023575 -2.031478 -0.347152 +-0.992989 -0.408364 -0.119148 +-0.988207 -2.096789 -0.402275 +-0.985884 -0.033321 -0.313388 +-0.998690 -0.058863 -0.279284 +-0.999213 0.068300 -0.216077 +-0.988112 0.022714 -0.397795 +-1.002557 2.128492 -0.236274 +-0.998606 -2.788964 -0.120504 +-1.012547 2.047433 -0.297469 +-1.003213 -0.670035 -0.252731 +-1.000308 1.309538 -0.134631 +-0.991760 -1.671402 -0.357651 +-0.998829 -1.534105 -0.184260 +-0.994547 1.912982 -0.223277 +-1.008482 -2.186068 -0.254944 +-1.000339 -2.725967 -0.246018 +-0.995963 -2.626405 -0.327365 +-0.987892 -0.313420 -0.214484 +-0.996963 1.435643 -0.211436 +-0.991452 -2.794245 -0.196145 +-1.004377 -0.495711 -0.152776 +-0.994934 1.967552 -0.371822 +-0.990093 -0.564386 -0.310177 +-0.992149 -1.822936 -0.280262 +-0.990035 1.199457 -0.159056 +-1.012247 0.414350 -0.121205 +-0.990519 2.517352 -0.116166 +-1.014979 2.813555 -0.365608 +-0.983354 -2.813072 -0.243375 +0.705853 -1.934955 0.499704 +0.235189 0.159825 0.505293 +0.517313 2.892503 0.500837 +0.216057 -0.028640 0.516364 +0.659896 2.923536 0.514881 +0.865212 1.644754 0.492708 +0.357844 0.606478 0.489407 +0.318542 1.008915 0.489192 +0.461850 -2.422069 0.494574 +0.105071 1.540551 0.481315 +0.874032 0.904259 0.488872 +0.756998 1.054827 0.503772 +0.447580 0.886797 0.509510 +0.517205 1.866088 0.516596 +0.213649 -0.994654 0.499638 +0.427815 1.063425 0.495988 +0.699133 -0.394934 0.512479 +0.503594 -2.757256 0.507461 +0.548947 0.990162 0.515757 +0.693912 -0.623692 0.494374 +0.783404 -1.996405 0.494772 +0.502437 1.886650 0.491724 +0.112422 1.676660 0.508414 +0.799797 -1.344853 0.493332 +0.656423 -1.671914 0.485777 +0.457085 -2.519648 0.507172 +0.759417 -0.453820 0.501535 +0.796309 1.450515 0.489960 +0.860969 0.114416 0.512592 +0.176437 -2.197814 0.513119 +0.441679 -0.228490 0.501223 +0.586107 1.121747 0.494455 +0.596369 0.749077 0.481119 +0.352392 0.235759 0.478393 +0.792705 1.570102 0.502613 +0.243022 -0.834593 0.504557 +0.239517 2.451273 0.511945 +0.300390 -0.937538 0.497097 +0.875351 -2.103817 0.499749 +0.710213 -2.494485 0.509021 +0.418098 -1.801046 0.501358 +0.707885 2.885677 0.507141 +0.221368 0.357372 0.496489 +0.584530 2.869616 0.498583 +0.236000 2.345487 0.489960 +0.590214 -1.653630 0.483017 +0.211724 1.004196 0.495287 +0.139899 0.182151 0.502082 +0.109725 1.825110 0.496621 +0.650383 -0.723779 0.489286 +0.172649 2.059520 0.500768 +0.313510 -1.191747 0.492637 +0.815386 -2.053618 0.513100 +0.777197 2.497335 0.485429 +0.754620 1.312595 0.499564 +0.543832 -0.377176 0.509359 +0.867033 -2.524035 0.497787 +0.765717 0.966487 0.501658 +0.547667 0.750014 0.502802 +0.570230 -0.448975 0.507859 +0.700408 2.634039 0.482722 +0.250234 -1.058810 0.501231 +0.806748 -2.681596 0.486544 +0.313783 2.045341 0.501958 +0.656255 -0.084665 0.493457 +0.818997 2.230775 0.505130 +0.324851 -2.987886 0.490847 +0.280868 2.464011 0.485151 +0.245590 -0.656231 0.492127 +0.305192 0.244838 0.494850 +0.542028 -0.016213 0.486250 +0.109241 1.460123 0.490768 +0.615582 -1.117285 0.494813 +0.177087 0.319041 0.515937 +0.610732 1.040119 0.507441 +0.711389 -2.348225 0.505717 +0.722904 1.680136 0.496063 +0.159825 1.812722 0.485107 +0.915244 1.841362 0.501354 +0.168583 0.627865 0.485172 +0.584300 -0.060245 0.508154 +0.795618 -1.623886 0.498217 +0.401118 -2.461650 0.503815 +0.528014 -1.074532 0.499656 +0.400748 -2.435142 0.478246 +0.607281 0.322846 0.499902 +0.856228 2.067557 0.502684 +0.503857 2.686717 0.508594 +0.099520 -1.671358 0.483272 +0.830726 2.418121 0.483527 +0.672164 -2.132316 0.510187 +0.203739 -0.106001 0.490978 +0.694946 2.229259 0.522331 +0.391283 2.775438 0.487306 +0.707687 0.094997 0.495985 +0.839780 1.652550 0.498855 +0.734316 0.555263 0.506759 +0.647236 -0.649979 0.493985 +0.526551 -2.496789 0.510950 +0.442679 0.548118 0.492194 +0.806682 0.868840 0.499780 +0.360747 1.307298 0.492956 +0.114863 0.877820 0.477159 +0.871536 2.342960 0.496147 +0.329773 0.323365 0.495430 +0.198172 -2.082546 0.509191 +0.841109 0.740387 0.488673 +0.228226 1.873144 0.503121 +0.724775 -2.633219 0.499599 +0.145587 -2.973838 0.508240 +0.416269 -2.862799 0.500194 +0.554373 0.432926 0.507058 +0.496570 -2.188921 0.488494 +0.238118 1.035193 0.499555 +0.445826 1.248770 0.495427 +0.682524 -2.022800 0.500562 +0.240871 1.693873 0.494576 +0.568944 1.845109 0.477336 +0.626762 -0.772241 0.494195 +0.550812 -2.610340 0.491118 +0.617857 2.634247 0.487517 +0.834807 -1.900204 0.500479 +0.427969 -2.162457 0.491683 +0.498865 0.885199 0.491690 +0.573834 2.873261 0.497282 +0.366253 2.699264 0.493988 +0.816960 -2.864195 0.504309 +0.302496 0.135629 0.486304 +0.347686 -2.441742 0.502051 +0.304536 -0.003239 0.479839 +0.870645 -1.589810 0.501651 +0.153977 -2.786388 0.493013 +0.224935 0.507397 0.495834 +0.403910 -2.053552 0.500123 +0.831890 -2.882846 0.489110 +0.617512 -0.252002 0.489857 +0.648272 0.759083 0.494102 +0.879843 -2.439339 0.499101 +0.860335 2.644171 0.494201 +0.217323 1.071345 0.512256 +0.832802 -2.810792 0.496531 +0.184147 -0.480202 0.517262 +0.523409 1.025872 0.501461 +0.370102 1.135601 0.499100 +0.305321 2.415594 0.513906 +0.127659 -1.679555 0.511842 +0.543255 -1.945748 0.507790 +0.361703 1.421975 0.495395 +0.477638 -2.919861 0.505744 +0.770553 2.875370 0.507315 +0.445647 -0.600649 0.498671 +0.272720 -1.721876 0.499215 +0.630697 1.470655 0.497704 +0.661582 -1.388527 0.509063 +0.550608 -1.414666 0.504185 +0.317430 -2.089457 0.498016 +0.413244 -2.747134 0.487685 +0.674219 1.543690 0.485670 +0.445328 2.741681 0.484797 +0.362953 2.492223 0.513431 +0.180362 2.067100 0.517366 +0.453662 2.938139 0.495859 +0.181553 -2.238428 0.508485 +0.615665 -1.011168 0.495393 +0.903698 2.249024 0.506229 +0.657179 -1.868450 0.504414 +0.596389 -0.265326 0.487252 +0.123647 0.609026 0.508081 +0.856009 -0.286939 0.508476 +0.496791 -0.618287 0.496137 +0.326679 1.978170 0.502067 +0.254796 2.733104 0.499312 +0.204642 -2.883303 0.490463 +0.404665 0.719724 0.486554 +0.386674 0.126092 0.514568 +0.344081 -0.406399 0.505536 +0.521134 -2.041198 0.500969 +0.510076 0.832242 0.514331 +0.403146 -0.613361 0.498314 +0.732364 -2.665000 0.503565 +0.635125 -0.844008 0.507795 +0.606178 -0.153911 0.505225 +0.737343 0.593434 0.512375 +0.191006 0.641002 0.501545 +0.833954 -0.507221 0.511066 +0.315415 0.911912 0.490012 +0.723591 1.073347 0.494458 +0.773449 0.812051 0.504231 +0.704692 -0.631119 0.513111 +0.751644 -2.454470 0.496426 +0.161091 -2.353246 0.493206 +0.242957 2.875953 0.482763 +0.408593 0.691245 0.501079 +0.575008 -2.858556 0.489617 +0.405429 1.004151 0.493531 +0.898895 -0.662016 0.494690 +0.121451 -2.748582 0.504747 +0.271766 -2.696318 0.499855 +0.205270 -0.609192 0.507408 +0.843144 0.061873 0.492002 +0.460160 2.715794 0.513666 +0.535636 -2.275764 0.500384 +0.778684 1.420108 0.509809 +0.743748 -2.761453 0.495782 +0.814096 -0.684612 0.500287 +0.628916 1.819196 0.519237 +0.791879 2.373810 0.514909 +0.234442 -0.362107 0.501897 +0.742868 2.458812 0.501333 +0.365032 1.038806 0.486418 +0.460320 -1.389673 0.497385 +0.392903 -1.939574 0.503752 +0.896230 1.169330 0.509531 +0.616687 2.264946 0.516057 +0.157959 0.992474 0.502963 +0.856208 2.885815 0.509370 +0.161753 2.632183 0.510773 +0.674472 1.181538 0.483833 +0.289329 -0.946441 0.496833 +0.318734 -1.878189 0.488031 +-0.006224 0.931466 0.355875 +0.013384 -2.823187 0.142838 +-0.008364 2.132576 0.105064 +-0.016907 -0.120083 0.156334 +-0.010789 2.426208 0.397793 +0.003914 0.642929 0.246932 +-0.000521 1.535686 0.121130 +-0.007719 1.428854 0.273238 +-0.014101 -1.539559 0.110486 +-0.003164 1.306463 0.125806 +0.021088 -1.738436 0.228138 +0.001875 -2.410186 0.258273 +-0.007303 1.452840 0.097075 +0.016564 2.679445 0.218551 +-0.005131 -1.484480 0.258736 +0.006867 -2.508116 0.151798 +0.004841 1.845285 0.399637 +0.008965 1.888900 0.182930 +-0.007558 2.950562 0.144353 +-0.004471 0.238940 0.336127 +0.005695 -2.239317 0.228060 +-0.004391 -0.774895 0.275208 +-0.000320 0.746262 0.378987 +0.007064 0.487924 0.160152 +-0.007143 2.421104 0.161271 +-0.016229 -0.956210 0.220705 +-0.006536 0.489673 0.300379 +-0.018631 -1.506862 0.092913 +-0.007235 -1.542605 0.193758 +0.009382 1.631281 0.349463 +-0.009957 1.240151 0.257198 +0.007622 -1.707670 0.217197 +-0.012177 -1.814083 0.216034 +0.008779 -2.426639 0.124104 +0.005960 -0.226196 0.155741 +0.001766 -1.457129 0.255326 +-0.018136 1.019918 0.251692 +-0.004600 0.897869 0.157414 +-0.004631 -0.752678 0.366212 +0.020878 -0.470494 0.237127 +0.011470 1.175020 0.341473 +-0.014914 1.132812 0.219226 +0.002407 1.208733 0.383601 +-0.001664 1.671603 0.183811 +-0.006143 1.921920 0.102519 +0.004258 -2.485734 0.147919 +-0.002978 -2.498114 0.197170 +0.011604 1.993543 0.364202 +0.019190 2.817586 0.258399 +-0.001425 -2.262572 0.310272 +-0.003692 -2.324768 0.336094 +0.007518 0.866983 0.108206 +-0.010021 0.104485 0.288295 +-0.001628 2.219832 0.187335 +-0.009422 1.872791 0.213769 +0.003580 1.027164 0.271245 +-0.002028 -0.740788 0.226276 +-0.010808 0.168015 0.121440 +0.004259 -2.581458 0.304607 +-0.005023 2.898536 0.398554 +0.009826 -1.679790 0.305603 +0.005945 2.341319 0.126078 +-0.007791 -1.954705 0.180458 +0.007369 -2.823694 0.371554 +0.003609 1.581465 0.272924 +0.012460 -0.368939 0.251188 +-0.006544 -1.683576 0.233743 +0.009652 -0.956225 0.176191 +0.009651 2.240341 0.236123 +-0.005426 1.803392 0.274962 +-0.012036 2.719205 0.263960 +0.004181 -1.274347 0.312759 +0.001375 1.608345 0.288866 +0.011431 -1.641621 0.175843 +-0.009443 1.047258 0.298178 +-0.014042 -0.240398 0.138965 +0.005050 1.844144 0.182301 +0.007694 0.400361 0.387521 +-0.004190 1.838957 0.129201 +0.003564 0.724073 0.221935 +0.001388 2.277819 0.144218 +0.018027 0.168452 0.227093 +0.014400 -1.861896 0.171530 +-0.009668 2.261450 0.210846 +0.023816 1.773662 0.337230 +0.001814 -0.603939 0.216154 +0.004987 0.809038 0.171922 +0.022873 -1.112545 0.385914 +-0.005985 -1.800056 0.151085 +0.002089 1.876289 0.274120 +0.000413 1.980832 0.131723 +-0.003565 -0.387985 0.327464 +-0.001896 1.508712 0.211872 +0.010888 2.391306 0.295032 +0.015067 -2.018096 0.179049 +-0.005783 -1.343789 0.291663 +0.010359 -0.251005 0.355582 +-0.015924 -2.961066 0.368527 +0.016011 -0.093154 0.108719 +-0.009464 -1.798471 0.128572 +0.000508 1.631937 0.158491 +-0.011413 -2.614004 0.310056 +0.003868 -0.259096 0.138747 +0.007942 -0.481643 0.147866 +0.003706 -0.807954 0.172596 +0.001461 2.119212 0.151364 +-0.001786 -0.470942 0.330926 +-0.004751 0.813646 0.233363 +0.001241 -1.422200 0.259975 +0.004692 1.893466 0.338286 +-0.008212 0.107440 0.144493 +-0.011327 2.010541 0.219459 +0.002280 -1.963514 0.176883 +0.007031 0.313635 0.215779 +-0.015872 0.741003 0.119717 +-0.004420 2.246953 0.300641 +0.003986 -2.336717 0.217157 +-0.013257 -0.737156 0.171781 +0.012183 2.087359 0.243186 +-0.001064 2.425672 0.281208 +0.001380 -2.452360 0.183699 +-0.005317 -2.578091 0.389241 +0.010926 -0.405317 0.188133 +-0.005962 -2.629279 0.385624 +-0.011259 2.569593 0.312457 +0.006033 -0.106472 0.227924 +-0.014013 2.665240 0.358002 +0.001434 1.822516 0.110672 +0.008671 0.850285 0.229806 +0.009337 2.656569 0.217822 +-0.004675 -1.134453 0.349207 +0.009066 -0.202746 0.322113 +-0.006860 2.995525 0.135994 +0.001997 -2.977182 0.380859 +-0.012033 0.829755 0.362120 +-0.007958 -1.624371 0.225056 +0.006721 -1.250839 0.384117 +-0.002952 2.074467 0.228520 +-0.005335 -2.541143 0.342104 +-0.010975 -2.600845 0.307140 +-0.005473 -2.073507 0.325681 +-0.006645 -2.957643 0.259163 +0.000506 0.889403 0.352331 +0.005678 -0.631207 0.171363 +0.002684 -2.849301 0.146446 +0.012297 0.940287 0.165268 +0.001368 -1.795052 0.210257 +-0.023022 1.263741 0.123497 +0.017110 0.261571 0.355578 +-0.010267 0.517549 0.260637 +0.013402 -0.739909 0.167806 +-0.008665 1.798023 0.405541 +0.009236 1.143602 0.341622 +-0.005278 -2.329872 0.241237 +-0.013413 0.354837 0.342276 +0.002553 1.114920 0.202849 +0.005920 -0.072939 0.327864 +-0.001007 -0.314499 0.380935 +-0.000006 -2.544570 0.394486 +-0.001667 -1.967376 0.117031 +0.018762 -1.537946 0.277163 +0.011228 2.872084 0.325709 +-0.014063 -2.238392 0.141448 +-0.011806 -0.278452 0.261778 +-0.001231 -1.787251 0.144341 +-0.007569 -2.705222 0.372206 +-0.006319 -0.340428 0.397235 +-0.000230 -1.852468 0.182528 +0.002020 -1.850401 0.326923 +-0.002061 -0.222415 0.293431 +0.009670 0.010559 0.159993 +-0.010120 -2.305643 0.325817 +-0.003423 1.364854 0.392598 +-0.003597 -0.986296 0.216600 +0.014079 -1.823459 0.137310 +0.005616 1.558011 0.403883 +-0.010822 0.650369 0.309259 +-0.001372 -2.142383 0.302763 +-0.000853 -1.612958 0.309419 +-0.009208 2.229113 0.139854 +0.004543 -0.810154 0.299174 +0.007244 0.004146 0.125133 +-0.009816 2.671879 0.118758 +0.005273 1.837952 0.241123 +-0.000529 1.066227 0.220166 +0.010831 0.098272 0.116526 +-0.014975 -1.274175 0.210320 +0.004536 1.663470 0.312570 +0.000123 -2.841588 0.331719 +-0.003009 -2.449423 0.248857 +0.020443 -0.113429 0.134821 +-0.006205 0.756055 0.289086 +-0.003837 -1.314273 0.140937 +0.008344 -0.319271 0.293190 +-0.000200 -1.992325 0.304762 +-0.004642 -1.352782 0.288909 +0.020872 -2.235278 0.248090 +-0.010649 0.511524 0.214118 +-0.001114 1.404919 0.269563 +-0.005214 1.381796 0.340212 +0.002958 1.477477 0.111260 +-0.001798 0.667305 0.209568 +0.006078 0.424171 0.280455 +0.029476 -1.620333 0.253711 +-0.010728 1.960282 0.258633 +0.001372 2.853216 0.257544 +-0.007922 -1.158972 0.131077 +0.010377 -1.269910 0.139689 +-0.000398 -2.209783 0.273176 +-0.004513 -1.549647 0.131487 +0.007265 1.456934 0.246642 +-0.000271 -1.053961 0.368513 +0.016934 -1.717154 0.162908 +0.004348 0.540653 0.199891 +-0.003239 -1.039176 0.134250 +0.009059 0.254729 0.206720 +-0.026409 -0.703844 0.340649 +-0.004195 0.273137 0.196434 +0.015026 -1.788923 0.101928 +0.003581 -0.296463 0.390110 +1.341817 -2.458961 1.000863 +1.697441 -0.043015 1.001058 +1.223813 -2.953293 0.999946 +1.117144 -0.946849 0.993581 +1.371258 -3.001634 1.001384 +1.771311 -1.115862 0.994592 +1.347522 -2.055875 0.996234 +1.384399 -2.694621 0.996099 +1.293081 -0.210455 1.004885 +1.285731 2.772167 1.000859 +1.693348 2.039903 0.988882 +1.412339 -2.068889 1.009665 +1.612032 -1.283961 1.008774 +1.870481 -2.918741 1.004787 +1.728413 -0.130887 0.990416 +1.534742 0.635813 0.993873 +1.818317 -0.319073 1.003633 +1.496778 2.816821 0.986351 +1.676639 -1.560084 1.009129 +1.458267 1.206419 1.012741 +1.447287 -0.742646 1.018529 +1.779145 2.713652 1.003672 +1.650222 -2.549619 0.986330 +1.219554 2.156572 0.995523 +1.700862 -2.329675 0.985821 +1.098386 -1.210206 0.997091 +1.294708 3.001151 0.981509 +1.767914 -2.063579 0.992034 +1.256927 0.030687 0.979512 +1.330155 0.360842 1.006007 +1.651473 1.070711 0.998748 +1.367993 -1.871087 1.015588 +1.380534 -2.244681 1.019328 +1.266325 2.494333 1.003069 +1.378728 1.346450 0.999703 +1.496359 0.122655 1.006723 +1.737501 1.968545 0.988643 +1.614744 -0.195400 1.000473 +1.564667 1.691875 0.992718 +1.870821 1.233853 1.000311 +1.784711 -2.983941 0.980338 +1.256046 -2.153740 0.994811 +1.151384 -0.307494 0.988521 +1.564762 -1.212503 0.991979 +1.253472 -2.893115 1.001297 +1.247826 0.036905 1.009304 +1.353127 0.702513 1.002425 +1.579197 -0.003862 0.999098 +1.698044 -2.831211 0.985901 +1.716974 0.248336 0.994737 +1.663457 -2.874210 0.990543 +1.819809 -2.347616 1.027788 +1.556573 -0.372374 0.992760 +1.737573 1.754573 1.005982 +1.235621 1.998879 0.989075 +1.409806 -1.013902 0.997229 +1.741163 0.858934 0.986059 +1.314413 2.383747 0.976905 +1.566537 -0.070940 1.003914 +1.489742 2.197463 0.993874 +1.509566 0.449553 0.984378 +1.709548 -0.532462 1.002253 +1.202423 -2.720308 1.004176 +1.557264 1.537662 1.006411 +1.100243 2.109818 0.991117 +1.810991 -0.359795 1.009423 +1.596148 0.229316 0.992370 +1.361387 -0.283880 0.989125 +1.178650 -1.708327 0.993900 +1.343463 -0.214976 1.001369 +1.701236 -2.947969 1.005520 +1.444520 0.076218 0.986725 +1.228488 2.684250 1.006557 +1.597959 -0.014466 1.011262 +1.750352 2.632785 1.000223 +1.781559 1.247704 1.008730 +1.767670 2.069130 1.013411 +1.118424 2.867020 1.011744 +1.711672 -1.296128 0.990424 +1.825577 -2.207327 1.004167 +1.111533 2.679329 1.023210 +1.857604 -2.331430 1.015267 +1.839418 -0.375585 1.004282 +1.668671 0.002161 0.993479 +1.188193 -0.942785 1.006656 +1.168686 -2.367006 1.005695 +1.286492 -1.036645 1.001368 +1.792721 -2.834921 1.004814 +1.507772 1.617076 1.009460 +1.581309 0.417258 1.023030 +1.493571 1.597928 0.994587 +1.879832 -1.344924 1.007512 +1.514535 -1.938645 1.001377 +1.465662 -0.751053 0.992065 +1.114103 -1.652497 1.018009 +1.687426 2.132127 1.005129 +1.297155 1.828210 1.008577 +1.325769 -0.234214 0.990253 +1.526797 -0.836901 0.995161 +1.637783 -2.888142 1.012399 +1.876490 -2.637580 1.003263 +1.253000 0.823442 1.002210 +1.318537 2.575500 0.994005 +1.519494 -1.058247 1.015582 +1.804489 -0.968538 0.993184 +1.489724 0.644976 1.014931 +1.694671 -0.817287 0.989524 +1.899867 -1.190977 0.997308 +1.842387 2.151032 0.999842 +1.138354 -0.760860 1.004328 +1.369740 -1.282379 0.997705 +1.470965 2.068911 1.019858 +1.548683 -0.205368 0.993461 +1.724421 -0.177368 0.981772 +1.843973 -2.187232 0.983803 +1.841477 0.715299 0.994484 +1.545707 2.089717 0.997568 +1.804686 1.485931 1.008742 +1.475355 2.373541 0.990587 +1.848313 1.637501 0.981218 +1.511802 -2.610634 1.009024 +1.615686 -1.449551 1.005324 +1.428815 -0.590409 0.989669 +1.556723 -0.323445 0.993413 +1.524765 -2.107313 0.993953 +1.717552 2.110220 0.992979 +1.405283 -0.877637 0.983616 +1.553426 0.129553 0.987049 +1.781273 -0.403242 0.997043 +1.785532 1.476789 1.002315 +1.873743 -2.260461 0.995597 +1.412299 -0.981370 0.986526 +1.410702 1.694219 1.003087 +1.703122 0.848890 1.004226 +1.463351 2.660841 1.001041 +1.101274 -0.983931 0.988473 +1.818862 0.064704 0.979639 +1.199090 -2.236171 1.002482 +1.766486 -2.568051 0.993005 +1.458767 -1.760316 1.008287 +1.580263 -1.687417 1.000726 +1.737626 1.687833 0.993449 +1.467180 -2.310711 1.015696 +1.616330 2.384191 0.992045 +1.274593 1.697712 1.008476 +1.327968 -0.283977 1.008808 +1.766380 -0.330314 0.991398 +1.316200 2.296262 0.991389 +1.896329 -0.314712 0.987771 +1.759215 -2.815681 0.993709 +1.214536 2.538339 1.008399 +1.548211 -1.566140 1.004468 +1.188415 -2.252202 1.002344 +1.420115 -1.435774 0.998407 +1.886282 2.393779 1.023467 +1.827820 -1.833832 1.013394 +1.633717 1.900805 1.015685 +1.250646 0.093019 0.979665 +1.428258 -0.206009 1.001687 +1.115158 1.130889 0.992135 +1.131388 1.198962 1.010503 +1.419257 2.234717 1.006273 +1.626413 -1.540277 1.015766 +1.490156 0.998355 1.007509 +1.487895 0.741756 1.011527 +1.842986 1.473148 1.004783 +1.297589 2.905495 1.006625 +1.731638 0.975101 0.994235 +1.665347 2.686616 1.008794 +1.640856 1.177240 0.985354 +1.509797 1.547577 0.996412 +1.713792 1.672106 1.008835 +1.582033 1.188869 0.997463 +1.379585 1.585026 0.996458 +1.300642 1.472861 1.004560 +1.186795 0.865890 1.005240 +1.702924 -1.912582 1.002845 +1.240518 2.221617 0.986943 +1.720507 -1.356604 0.989394 +1.847786 -2.685642 0.993405 +1.103798 -1.364520 1.006629 +1.163128 0.336887 1.013587 +1.599729 -1.249632 0.977445 +1.805825 0.003117 0.993335 +1.762339 -2.549332 1.008934 +1.725370 2.647818 1.011302 +1.223576 0.687455 0.996592 +1.191788 2.824109 1.003257 +1.729735 -1.200150 0.998307 +1.618359 0.200784 1.001583 +1.108168 -2.455936 0.989661 +1.326242 -0.245603 1.010486 +1.159195 1.518735 0.997300 +1.303723 0.470710 0.989778 +1.780175 -2.798146 1.003648 +1.547462 -1.027021 1.007601 +1.499244 0.074877 0.988406 +1.213258 1.884299 1.001980 +1.638814 0.407679 0.995549 +1.402783 -2.467671 1.004945 +1.151524 -0.093378 1.011814 +1.642544 0.872560 1.005450 +1.531741 -2.497442 0.997121 +1.651516 0.762813 0.990924 +1.315542 1.817263 1.018076 +1.676254 -1.520190 0.990830 +1.282619 1.516636 0.999837 +1.451730 0.741670 0.997169 +1.752113 -0.883498 0.988288 +1.669061 -0.223267 0.985896 +1.138230 2.875012 0.987438 +1.774498 -0.611498 0.992379 +1.414436 0.111523 0.989080 +1.703739 -0.603514 1.010180 +1.792111 -2.076799 0.999584 +1.602130 -1.620148 0.990425 +1.421199 -1.421399 0.987287 +1.276878 -0.348152 0.985202 +1.743432 -0.514712 0.997203 +1.594417 -1.009993 1.002538 +1.006358 -1.462809 0.696999 +0.989039 -2.541277 0.759001 +1.012728 1.947463 0.614007 +0.983533 -1.793012 0.853843 +1.006890 2.356084 0.768531 +1.000791 -0.283888 0.828020 +1.000562 2.616741 0.634932 +1.000237 1.097423 0.891500 +1.010158 1.484774 0.900501 +1.010493 0.127503 0.855403 +0.993832 -2.880677 0.813776 +0.980979 -2.765083 0.697277 +0.994569 -2.104259 0.726139 +0.988506 -1.145821 0.697596 +0.984370 0.642345 0.620919 +0.984308 -0.459720 0.764944 +1.002780 2.381597 0.674620 +0.978493 -2.443431 0.854337 +1.004002 1.299858 0.900486 +1.005462 -2.139612 0.744380 +1.001384 -2.014623 0.742310 +1.010080 -0.238596 0.763179 +0.972918 2.965750 0.735517 +0.988896 -1.273632 0.619276 +0.992024 1.001712 0.630923 +0.990673 -0.525374 0.791537 +1.000493 0.424040 0.745590 +1.005221 0.557030 0.642556 +1.001271 1.381853 0.671569 +1.011748 0.018240 0.692876 +0.984653 -2.007304 0.747397 +0.995186 1.258168 0.673174 +0.999181 2.535136 0.723753 +1.014836 1.383654 0.653977 +1.002473 -2.860923 0.720308 +0.996410 2.326532 0.701893 +0.997528 1.297099 0.881493 +0.996693 0.305277 0.769731 +1.011752 -1.670587 0.620784 +1.002210 -1.765774 0.858659 +1.010745 1.574802 0.638043 +0.997296 1.425409 0.788541 +1.007708 -1.636058 0.648822 +0.990633 -0.590761 0.711139 +0.984736 -1.410454 0.814362 +1.009606 -2.848492 0.694690 +1.006713 -0.698112 0.752983 +1.013133 -2.735673 0.639846 +1.002382 2.112025 0.776082 +1.007300 0.352355 0.737831 +1.005906 -2.579393 0.807542 +1.012533 2.896868 0.910977 +1.004303 1.394220 0.790721 +0.996896 0.599454 0.790881 +0.992563 -0.713641 0.717467 +0.978909 -2.890362 0.732692 +1.010158 -2.538803 0.607282 +0.997686 -1.838980 0.828660 +1.003565 -2.571982 0.705033 +0.995994 2.774742 0.826907 +1.018209 3.011204 0.619480 +0.992613 -2.198163 0.655012 +1.001970 2.072142 0.763558 +1.010639 2.314788 0.669417 +0.999023 2.784928 0.601867 +0.998665 -1.125980 0.674006 +1.018198 0.119379 0.741555 +1.000520 0.558008 0.789146 +0.995282 -0.447981 0.743646 +0.994005 -0.727615 0.752902 +1.003544 -0.250894 0.630878 +1.000834 2.858145 0.764716 +0.995088 0.228348 0.716852 +0.996334 1.829814 0.853036 +0.993790 1.138429 0.779791 +0.976715 -1.537606 0.728406 +0.995060 0.884780 0.653871 +1.006142 1.523547 0.679205 +1.001140 -0.877298 0.723308 +0.989858 2.675503 0.611934 +0.996651 -2.058608 0.858299 +1.008524 -2.024158 0.616784 +1.000786 -2.180685 0.797728 +0.994333 2.811111 0.631603 +1.006842 0.658233 0.852606 +0.998456 1.720865 0.792236 +1.000363 1.189220 0.834073 +0.994586 0.392498 0.775558 +0.989427 -1.303836 0.801270 +1.007900 0.355401 0.885212 +1.020443 0.084968 0.775955 +0.981234 1.333992 0.591304 +1.002321 -1.901921 0.651261 +0.999640 0.904809 0.897284 +1.004560 -1.499149 0.641335 +1.002153 0.330782 0.667229 +1.004367 2.894669 0.812853 +0.988580 -0.344462 0.744592 +1.009109 -0.293280 0.651205 +1.009607 0.932517 0.771335 +0.990979 -0.560050 0.784249 +0.994216 2.378417 0.635502 +1.003468 1.689935 0.819099 +1.002112 2.244885 0.712153 +0.993367 -1.913293 0.859043 +1.012853 1.212253 0.698314 +0.994936 -0.897140 0.822928 +1.003861 1.063882 0.847148 +1.006765 -2.234729 0.762698 +0.988961 -0.612087 0.809962 +1.004672 1.620551 0.851475 +1.006719 2.996639 0.824917 +0.994865 -1.773508 0.776226 +0.997933 1.154881 0.859370 +0.999627 -2.820851 0.873547 +0.984609 0.309777 0.819633 +0.980194 1.225035 0.644400 +0.999469 0.622150 0.850730 +1.002319 2.254596 0.628602 +1.005354 -2.373073 0.761820 +1.004878 1.461529 0.806882 +1.007895 2.529084 0.729975 +1.012150 0.909192 0.765507 +1.001166 -1.542979 0.841348 +0.993074 -1.759434 0.721724 +0.989321 -2.573759 0.736875 +1.013710 0.694887 0.883054 +0.981920 -0.030263 0.698436 +0.995386 0.031386 0.815401 +1.000081 -2.202590 0.688071 +1.010970 0.573732 0.665219 +1.013489 -1.166149 0.645325 +1.001620 -0.651362 0.901475 +0.976512 0.013516 0.591848 +0.994979 1.733358 0.791348 +1.002788 -2.464727 0.730987 +1.010429 2.492323 0.673252 +1.026675 2.282654 0.834055 +1.006610 -2.165014 0.857092 +0.992604 0.253440 0.803888 +1.000781 2.496045 0.774040 +1.000928 -1.143290 0.637374 +1.013819 2.122721 0.725362 +0.990631 -0.985807 0.807490 +1.017551 1.983927 0.894396 +1.002844 -1.286848 0.779211 +1.012438 -0.116765 0.767408 +1.028618 -1.291090 0.727249 +0.992438 -1.266257 0.791892 +0.979578 0.102078 0.812895 +1.006033 2.921909 0.633829 +1.006585 -1.564254 0.604522 +1.020506 -2.417226 0.646245 +0.988839 -2.898824 0.649382 +1.003103 2.852254 0.629833 +0.980385 2.798817 0.896818 +0.990451 -0.409929 0.852802 +0.999879 1.461664 0.846529 +1.016353 -2.419413 0.727398 +1.003360 1.441787 0.714275 +0.996498 -0.800543 0.717637 +0.999887 0.285287 0.739097 +0.987177 0.420628 0.851686 +1.017068 -1.413269 0.668133 +1.000445 2.278466 0.742301 +1.000400 2.905781 0.739902 +0.996945 2.372754 0.865072 +0.998078 0.059997 0.766074 +0.990952 -1.099540 0.803246 +0.993807 -0.576146 0.650904 +0.995190 2.569028 0.754765 +1.000186 -0.259061 0.653470 +1.002830 -2.574871 0.876904 +1.004079 -0.365225 0.687533 +1.006716 1.947048 0.858513 +0.976870 2.503663 0.715227 +1.000414 0.190472 0.834749 +1.013624 -2.565716 0.693485 +0.992155 -2.855250 0.815087 +1.008220 -1.344780 0.675030 +0.974159 -1.158337 0.742684 +0.994417 -1.525550 0.885156 +1.008668 -2.367676 0.773012 +1.006653 -0.287757 0.895611 +0.996787 -1.651453 0.610991 +0.999767 0.574659 0.593085 +0.981025 -2.121706 0.895199 +1.001199 -0.900062 0.637535 +1.013778 1.897226 0.891848 +1.000906 0.426926 0.802193 +1.002956 -2.643572 0.722988 +0.996998 -1.890330 0.708267 +0.982754 -2.619029 0.813273 +0.994491 -0.122446 0.811078 +0.994544 -0.966805 0.686573 +1.000402 0.396254 0.620107 +0.992745 2.530447 0.711771 +1.009418 1.053911 0.643478 +1.003179 0.694241 0.659610 +1.010057 -1.206092 0.895318 +1.002015 -1.209626 0.585744 +0.992493 1.481746 0.692129 +1.008109 1.645694 0.604418 +0.995880 -0.849746 0.852817 +0.996607 1.427698 0.807297 +1.002549 -1.802649 0.665603 +0.997296 -0.681243 0.608756 +1.001824 0.202004 0.751708 +0.992254 2.846520 0.851616 +0.990858 2.449728 0.683595 +1.016132 -1.658236 0.707394 +1.001563 -2.005949 0.776704 +1.007818 0.857195 0.655702 +1.000981 2.621904 0.871596 +0.996940 -2.335850 0.714208 +0.986688 0.310071 0.665942 +0.993689 1.317146 0.590849 +1.007495 0.231542 0.858663 +0.979344 0.685478 0.836573 +0.994340 -0.283104 0.593283 +2.572127 -0.096998 1.491953 +2.196507 -1.107677 1.477391 +2.829964 -2.293896 1.511704 +2.663029 -1.605888 1.514372 +2.864842 -1.565922 1.498319 +2.646062 -1.010541 1.495862 +2.112336 -2.010690 1.516465 +2.169611 -0.136961 1.487686 +2.430964 2.826756 1.494183 +2.323463 -0.542076 1.489280 +2.712127 1.503608 1.505568 +2.434737 2.877909 1.504261 +2.885201 2.966856 1.514488 +2.567177 -1.018221 1.474066 +2.780650 2.869593 1.485843 +2.199430 2.601178 1.496273 +2.768546 1.203355 1.506686 +2.379878 -2.385242 1.496956 +2.572943 -0.035988 1.495235 +2.552972 -2.374037 1.498392 +2.235941 0.487938 1.494527 +2.543634 -2.579421 1.502428 +2.175285 0.036674 1.508940 +2.191123 0.360585 1.489000 +2.296802 0.627806 1.496942 +2.597528 -1.598077 1.500054 +2.603039 2.254529 1.507554 +2.245121 -1.216247 1.489032 +2.779249 0.195273 1.498372 +2.759517 -1.421168 1.495488 +2.700748 -1.371060 1.495087 +2.278922 -1.830228 1.500090 +2.806760 -1.916122 1.491433 +2.601048 1.207655 1.498939 +2.871881 -0.924743 1.496126 +2.423283 0.900392 1.497184 +2.578372 -1.645552 1.505065 +2.605167 1.909976 1.489179 +2.716343 -1.924304 1.490658 +2.847703 0.889222 1.501566 +2.351478 -1.291428 1.519350 +2.700058 -2.942797 1.512138 +2.233157 2.564653 1.491370 +2.846298 2.535423 1.500121 +2.472770 -1.217061 1.504158 +2.678771 1.858233 1.497513 +2.132312 1.108521 1.501886 +2.705727 2.888825 1.484375 +2.653009 -2.992065 1.497331 +2.238634 -1.682824 1.493183 +2.712046 -2.219172 1.494083 +2.394259 1.771772 1.506955 +2.307065 1.797743 1.483409 +2.814782 2.353959 1.495660 +2.563860 -1.862976 1.514094 +2.799931 0.697490 1.494614 +2.409325 -0.239111 1.505540 +2.334954 -1.662734 1.496051 +2.423845 2.820762 1.500415 +2.576504 -0.280150 1.505263 +2.768805 2.001830 1.504038 +2.611934 -1.053046 1.484818 +2.756269 -1.084520 1.490118 +2.528728 1.364405 1.479832 +2.314744 -0.410547 1.497304 +2.540828 -0.329778 1.497416 +2.537140 2.426524 1.498301 +2.319529 -1.467768 1.503247 +2.164542 -0.805464 1.501894 +2.743616 0.255603 1.494226 +2.663019 -0.328483 1.515657 +2.748227 1.986877 1.512680 +2.140923 0.571530 1.503996 +2.154606 1.210653 1.501666 +2.437332 -1.730110 1.499698 +2.257735 -1.475617 1.495115 +2.695890 -1.521001 1.488245 +2.320454 -1.360588 1.481139 +2.819390 -2.959232 1.494347 +2.208405 1.631440 1.472094 +2.284304 -0.765171 1.499424 +2.663721 2.340653 1.510257 +2.436802 2.689589 1.490200 +2.454586 -2.628699 1.499360 +2.472675 -0.941549 1.498599 +2.640786 0.437360 1.494542 +2.705564 -2.393545 1.501774 +2.538996 1.873777 1.512030 +2.703835 -2.900559 1.499568 +2.712891 0.341905 1.501085 +2.542997 1.826497 1.491711 +2.500985 2.080140 1.505820 +2.350894 -0.163870 1.503097 +2.448930 0.017787 1.512244 +2.652095 1.313983 1.491777 +2.382164 -1.386421 1.514805 +2.125494 -2.733436 1.497603 +2.874635 0.305278 1.474653 +2.473710 -2.092685 1.494149 +2.742010 -1.003865 1.493173 +2.651261 0.435916 1.496241 +2.253792 1.935237 1.500950 +2.162428 2.529010 1.498420 +2.395017 0.296131 1.504650 +2.717806 0.354458 1.498109 +2.582432 -1.861143 1.480561 +2.230305 0.124864 1.496751 +2.365363 -0.702654 1.489869 +2.597478 2.793044 1.508559 +2.211110 -1.535244 1.498086 +2.398868 -1.168692 1.498527 +2.576809 0.245990 1.503809 +2.638980 2.464565 1.499009 +2.765808 1.014408 1.499971 +2.623433 2.537878 1.480714 +2.504807 0.772871 1.486583 +2.252014 1.435688 1.494183 +2.347868 -1.696028 1.485285 +2.516644 0.475635 1.500931 +2.124474 -2.053328 1.496083 +2.174226 2.498671 1.515979 +2.152184 1.838470 1.511511 +2.300027 -1.421995 1.498134 +2.676876 -2.177740 1.506149 +2.282776 -2.352044 1.487999 +2.692731 0.489380 1.502537 +2.819437 2.061711 1.493856 +2.868314 -0.791958 1.485036 +2.673784 0.205815 1.492133 +2.708391 0.717697 1.502148 +2.217572 -0.035159 1.508658 +2.674868 0.327132 1.485470 +2.764642 1.934921 1.507986 +2.311117 0.252788 1.517003 +2.168539 -0.931304 1.511808 +2.448269 2.705078 1.493859 +2.525975 -0.324246 1.510953 +2.184263 -0.378258 1.500929 +2.594990 0.934871 1.504158 +2.776135 1.371905 1.510387 +2.703656 -2.844610 1.500637 +2.865945 -2.406339 1.512057 +2.707725 0.171108 1.518786 +2.477020 -0.714640 1.504249 +2.493379 -0.714527 1.494030 +2.550133 -1.751227 1.493041 +2.331199 -0.155968 1.479438 +2.798316 2.113656 1.492946 +2.717399 0.528780 1.493043 +2.702650 1.720999 1.494577 +2.216910 1.187280 1.481176 +2.327876 1.411577 1.508248 +2.784754 -0.723036 1.502782 +2.427028 0.242971 1.507331 +2.732496 1.254412 1.505189 +2.319557 0.383964 1.501713 +2.262147 -0.080161 1.504771 +2.894807 -0.180993 1.496898 +2.546896 -2.055442 1.495676 +2.489940 1.460575 1.513822 +2.706629 -0.071464 1.494159 +2.474564 1.826168 1.521556 +2.330488 -0.526394 1.497099 +2.774922 -0.209205 1.501923 +2.196685 1.097320 1.495395 +2.408092 1.475991 1.481943 +2.308787 1.616890 1.510908 +2.789749 2.423266 1.491921 +2.888591 -0.077551 1.505276 +2.533462 -2.170359 1.491953 +2.416584 -1.488109 1.503630 +2.840398 -1.709490 1.500681 +2.217088 2.107848 1.500980 +2.276076 -1.604139 1.502616 +2.725821 -1.641349 1.493546 +2.151487 2.834680 1.497902 +2.729147 1.296147 1.512036 +2.755425 2.540138 1.491758 +2.738419 -2.921656 1.507840 +2.263865 2.586297 1.489402 +2.388456 -0.274981 1.489065 +2.324885 1.006555 1.476066 +2.585575 -0.800997 1.513307 +2.861388 2.656932 1.485023 +2.333526 2.073592 1.497144 +2.196972 -2.752907 1.498289 +2.258911 0.389438 1.479180 +2.478850 -2.420601 1.503961 +2.597810 -0.992656 1.510414 +2.317388 1.355847 1.482919 +2.132584 -0.955172 1.487784 +2.209125 -2.695455 1.493583 +2.415049 -1.590353 1.492501 +2.516616 2.221599 1.495383 +2.210687 -0.723171 1.490448 +2.782017 1.691610 1.484822 +2.520896 -0.603497 1.505745 +2.127801 -1.703284 1.494439 +2.433320 -2.080698 1.502559 +2.393263 -1.596793 1.501670 +2.436901 1.558175 1.499419 +2.693539 2.198881 1.497845 +2.289330 -0.057924 1.506097 +2.798362 2.705921 1.481879 +2.707342 -2.774206 1.501345 +2.107164 -0.455743 1.483978 +2.263100 2.917872 1.514711 +2.149700 2.102695 1.497908 +2.153504 1.661011 1.482753 +2.127811 -1.427408 1.498435 +2.788505 0.018363 1.514502 +2.452123 -2.014303 1.499255 +2.139781 0.299393 1.502283 +2.808854 0.241326 1.505989 +2.575714 -2.080773 1.486660 +2.714822 -2.497743 1.501866 +2.325562 -1.868923 1.497219 +2.270052 -2.015624 1.472098 +2.619978 -1.335489 1.507237 +2.723791 -0.722097 1.475978 +1.990697 -2.112242 1.274328 +1.990067 -0.414571 1.102057 +1.985684 -0.286811 1.265905 +1.995009 -0.846189 1.135350 +1.985201 0.633810 1.375003 +1.987620 0.881214 1.331646 +1.987944 0.761309 1.224633 +2.000512 2.511284 1.141313 +1.988430 1.720672 1.232083 +2.002637 1.405383 1.258759 +1.991358 2.759364 1.292651 +1.994589 0.375168 1.164672 +2.027220 -1.453623 1.274922 +2.004261 2.532422 1.118398 +2.012493 2.053077 1.117368 +2.002459 -2.145127 1.358957 +1.992592 -1.481405 1.121294 +1.983402 2.072772 1.337028 +1.972669 1.097379 1.110081 +1.991808 0.370078 1.217193 +2.021164 -0.138984 1.289027 +2.000318 2.165640 1.195070 +2.021030 2.154041 1.201838 +1.999875 -0.688403 1.200405 +1.990192 0.879491 1.145656 +1.991487 1.252379 1.381952 +2.001703 -0.609060 1.343342 +2.006316 2.448652 1.123975 +2.004649 -0.363354 1.125793 +2.001717 0.263580 1.355762 +2.005985 1.937316 1.103098 +2.018484 0.965515 1.347224 +2.002517 0.095169 1.297784 +2.003424 -0.156427 1.167598 +2.006487 0.743005 1.286019 +2.021262 -1.069480 1.133512 +1.977536 -1.238695 1.212378 +1.998209 -2.553921 1.252782 +1.988871 -1.564540 1.249091 +2.010818 -2.294540 1.318688 +1.991726 2.283725 1.121264 +2.011572 0.979847 1.280758 +2.006625 -1.096357 1.138724 +2.011014 -2.138421 1.186334 +2.006315 2.317471 1.368461 +2.010493 -2.919627 1.237568 +2.004216 1.990093 1.153486 +1.999098 -0.665143 1.303630 +1.992749 -2.027101 1.187736 +1.988212 -2.202717 1.182715 +2.000279 0.707431 1.300229 +2.005342 -2.439723 1.227008 +1.990049 -2.323183 1.099474 +1.992568 1.289635 1.206503 +1.997538 1.217794 1.145344 +2.010147 2.191759 1.392651 +1.988514 -1.560496 1.271540 +1.997705 0.524686 1.221979 +2.014350 -1.897613 1.167238 +2.002844 -0.977414 1.187571 +1.988029 -1.844995 1.259746 +2.000465 -2.355084 1.107711 +1.978487 1.020345 1.142240 +1.997863 -2.378763 1.134463 +1.992813 0.957733 1.138928 +1.986527 1.631515 1.353394 +2.012777 0.092446 1.262760 +2.014454 2.509539 1.100611 +1.987861 1.847254 1.133337 +2.001967 -2.944869 1.156975 +2.011337 2.647018 1.207699 +1.996238 1.315067 1.242487 +1.985044 1.153260 1.210522 +1.991377 1.075955 1.200942 +2.004027 2.952631 1.206617 +1.999466 -1.260743 1.175354 +1.981006 -0.542845 1.277174 +2.006039 0.431315 1.299359 +1.999703 1.434282 1.267795 +1.999052 1.722000 1.316608 +1.990244 -0.299052 1.206904 +1.978208 0.650276 1.199659 +2.003185 0.766652 1.325438 +1.992305 1.375329 1.140988 +2.009053 -2.618058 1.137534 +1.997928 0.401856 1.155541 +2.004662 0.770117 1.241745 +1.987358 0.787420 1.167725 +1.983666 -1.811855 1.390259 +1.995942 -1.486708 1.119823 +1.999605 -1.715912 1.095989 +1.988729 2.104576 1.365700 +1.993060 -1.154851 1.269732 +1.991609 1.431255 1.259913 +2.000117 -0.069365 1.132088 +2.000773 0.903524 1.332777 +2.002925 -1.128328 1.384634 +2.024507 -0.943802 1.186434 +1.992086 -1.645906 1.199168 +1.987080 1.684810 1.264407 +1.993375 1.611124 1.256092 +1.987912 -1.281529 1.273248 +1.998682 -1.051261 1.318478 +2.001531 -0.383059 1.164145 +1.996270 0.903227 1.277635 +2.002137 -1.639615 1.186373 +2.005123 -2.836939 1.325288 +1.990120 1.343198 1.106655 +2.005718 -0.229097 1.243189 +1.996032 -1.559454 1.230476 +2.003507 -1.521555 1.371493 +2.002892 -1.972430 1.345111 +2.004460 -2.593265 1.384534 +2.003398 -2.288970 1.191771 +1.991109 -0.528126 1.297038 +2.002588 -1.995213 1.089192 +1.992990 0.809973 1.114174 +1.997821 0.846233 1.293102 +2.006516 -1.793087 1.193884 +2.004790 -2.811849 1.144329 +2.001857 1.695285 1.194358 +1.997637 0.208469 1.379639 +1.990932 0.600504 1.298990 +1.996776 -2.791289 1.247780 +2.009551 0.877428 1.371274 +2.007880 -2.613631 1.340102 +2.007925 -1.586641 1.244086 +2.013652 -1.663568 1.239904 +2.005823 -0.155530 1.387691 +1.992792 2.263087 1.145395 +2.009197 0.318811 1.171831 +2.000652 -1.540014 1.392953 +2.020876 -0.673843 1.155579 +1.990316 0.255398 1.116906 +2.004428 -1.108876 1.212363 +2.004254 2.574077 1.331737 +2.003498 -2.090328 1.309547 +2.000208 -0.626781 1.167452 +1.998176 -0.401795 1.303132 +1.999969 -2.799059 1.364500 +2.014499 -1.808150 1.288153 +2.018661 1.936327 1.365550 +1.997617 -2.086513 1.195213 +2.005032 0.853945 1.119819 +1.996487 0.534704 1.155033 +2.001989 -0.735709 1.345509 +2.004674 -0.917139 1.369143 +1.996616 1.232013 1.233544 +2.014327 -2.841114 1.394432 +1.999460 1.060422 1.132382 +2.006832 -1.573315 1.155443 +1.990758 2.576801 1.146574 +1.998928 1.973507 1.294588 +2.005667 1.983561 1.377822 +2.008146 1.699154 1.238243 +1.972307 -1.938183 1.286841 +2.010693 2.922285 1.239570 +2.005926 -1.119098 1.287077 +1.998097 -2.906156 1.283826 +1.988253 1.829100 1.120222 +1.999923 1.958465 1.309953 +1.999971 2.927922 1.282557 +2.001639 2.542028 1.306572 +2.012707 2.000655 1.258395 +2.013142 -1.627753 1.312660 +1.998460 -2.893723 1.195132 +1.998355 -0.022986 1.237157 +2.016236 1.761420 1.158786 +2.000774 -0.074919 1.221259 +2.005656 -2.599507 1.363388 +1.998646 2.648953 1.191420 +2.004024 -1.192943 1.293457 +1.995809 2.054165 1.141615 +1.999729 1.423789 1.219046 +1.993380 -0.790886 1.163245 +2.011103 0.438105 1.219620 +2.006305 1.086830 1.286098 +2.009109 -1.313866 1.318421 +2.018933 -0.389654 1.230760 +2.010486 1.423610 1.208073 +1.996886 -1.134757 1.234166 +2.001959 -0.481773 1.153753 +2.006553 -2.776562 1.122190 +2.007933 -1.439853 1.158489 +1.991823 1.082260 1.337847 +1.981327 0.954157 1.359077 +2.000764 2.372900 1.210521 +1.986792 -1.675519 1.138940 +1.986674 -2.654263 1.391120 +1.990524 0.446307 1.159070 +1.984164 -1.505564 1.298876 +1.985436 1.636604 1.191723 +2.026628 -0.890013 1.226285 +2.008240 0.464622 1.356103 +2.006887 -1.012169 1.373242 +1.998085 -2.327667 1.169331 +2.010811 2.788725 1.271455 +2.023335 -0.545596 1.394083 +2.011365 -0.041638 1.319646 +1.997192 -0.289974 1.133364 +2.008788 -0.574032 1.258376 +1.972125 -2.341797 1.309576 +2.007621 -0.824434 1.249036 +2.014514 0.705540 1.328406 +2.002272 -0.219396 1.289043 +1.985111 2.782229 1.120968 +2.000896 2.089022 1.352306 +2.010242 1.178910 1.198828 +2.006305 0.155769 1.131825 +2.003427 0.734242 1.168973 +1.986779 2.253292 1.145141 +2.009944 -1.811976 1.293446 +1.997299 2.849812 1.366450 +2.000712 -1.037375 1.379441 +1.991347 -0.696258 1.254531 +2.000772 -2.325963 1.363902 +1.999656 -2.769844 1.119601 +1.999561 1.633230 1.216365 +1.993777 2.329260 1.255472 +1.998147 1.883778 1.206178 diff --git a/data/synthetic_staircase_target.pcd b/data/synthetic_staircase_target.pcd new file mode 100644 index 0000000..1f383d7 --- /dev/null +++ b/data/synthetic_staircase_target.pcd @@ -0,0 +1,2651 @@ +# .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 2640 +HEIGHT 1 +VIEWPOINT 0 0 0 1 0 0 0 +POINTS 2640 +DATA ascii +-2.275886 -1.200549 -1.021172 +-2.549430 -0.083298 -0.983837 +-2.211354 0.968134 -1.006986 +-2.361000 2.722745 -0.989837 +-2.802340 -1.274059 -1.000920 +-2.123822 2.539286 -0.979402 +-2.292976 -2.829687 -0.986065 +-2.288557 0.324529 -1.006691 +-2.798308 0.803248 -0.970038 +-2.550463 -2.362326 -0.993835 +-2.603377 -2.156861 -1.010448 +-2.157523 -0.480200 -0.996724 +-2.379206 2.811517 -0.990630 +-2.241078 0.564538 -1.006000 +-2.547465 2.600663 -1.004783 +-2.727566 1.814283 -1.016512 +-2.458682 -0.210407 -1.010005 +-2.852885 1.695222 -0.996202 +-2.230493 -2.898474 -1.004370 +-2.389294 -2.352276 -1.007827 +-2.281565 1.985414 -0.993985 +-2.607123 1.761130 -0.986462 +-2.119521 -1.594048 -0.996128 +-2.185014 0.181864 -0.996329 +-2.280411 0.644774 -1.015865 +-2.749705 2.226882 -1.006261 +-2.529010 0.609817 -0.996642 +-2.872320 -0.526427 -0.991511 +-2.783556 -0.747010 -0.991778 +-2.343011 -0.443302 -0.967587 +-2.293645 0.914835 -1.008759 +-2.126963 2.219207 -0.982905 +-2.624557 -0.268767 -1.012557 +-2.598761 -1.525377 -1.014875 +-2.521964 -1.574794 -0.990966 +-2.743452 1.481402 -1.009847 +-2.797112 1.884341 -1.020034 +-2.512030 -2.375863 -0.991275 +-2.707389 -2.606840 -0.994097 +-2.370760 0.548143 -0.998767 +-2.554987 -2.127362 -0.980247 +-2.249116 1.951814 -1.009948 +-2.330705 -1.135008 -0.996207 +-2.659556 -2.144424 -0.990727 +-2.216484 2.530626 -1.008974 +-2.252799 -1.982535 -0.998976 +-2.575399 -1.299083 -1.000421 +-2.663142 -2.074346 -1.007664 +-2.362099 -2.297177 -0.988084 +-2.773077 -2.855072 -0.998654 +-2.743186 -2.654118 -0.992869 +-2.903935 -1.962488 -0.995081 +-2.272233 -2.679973 -0.989275 +-2.360529 0.560162 -1.019315 +-2.333334 1.091234 -1.015266 +-2.281966 -0.646622 -0.999783 +-2.516589 -1.071828 -1.008143 +-2.439741 0.032745 -0.996124 +-2.784173 2.253067 -0.983124 +-2.797351 2.096188 -0.992043 +-2.356354 -2.736000 -0.988686 +-2.521242 -1.909005 -0.998788 +-2.467993 -1.580335 -1.006683 +-2.299865 -1.489334 -0.994958 +-2.392524 0.421748 -0.997038 +-2.447222 -0.510695 -1.000048 +-2.443954 -2.723835 -1.000576 +-2.661133 -0.759653 -1.005016 +-2.873970 0.161754 -1.003239 +-2.547709 -2.370021 -1.005500 +-2.710186 2.000805 -0.982181 +-2.565675 -2.685158 -1.000656 +-2.223518 2.549809 -0.991026 +-2.712980 -2.408487 -1.002508 +-2.843433 2.073701 -1.006672 +-2.681579 2.419713 -0.984725 +-2.653665 2.864906 -1.002641 +-2.379773 1.809480 -0.983956 +-2.468600 1.660677 -1.008286 +-2.270008 0.861107 -0.995625 +-2.356792 1.656347 -0.988117 +-2.578012 -2.185372 -1.013234 +-2.248734 0.218771 -0.988442 +-2.782274 0.085645 -1.010852 +-2.876775 2.153205 -0.987128 +-2.833312 -0.213932 -0.986391 +-2.338545 -0.683340 -0.990415 +-2.533086 0.825272 -0.990570 +-2.782978 -1.403004 -1.000401 +-2.492009 -2.167656 -1.006846 +-2.777161 -0.122672 -0.977126 +-2.358018 -0.495510 -1.010865 +-2.532887 -1.613966 -1.006747 +-2.601076 -0.795691 -0.996768 +-2.653953 -0.801703 -1.013299 +-2.388496 -1.035556 -0.988383 +-2.617627 -0.739238 -1.000340 +-2.816921 1.116069 -1.001997 +-2.814299 -1.201164 -1.010296 +-2.137736 2.698848 -1.018560 +-2.160389 2.504330 -0.991008 +-2.334653 -0.116149 -1.010631 +-2.688705 -1.039585 -0.995138 +-2.116591 0.227377 -0.996282 +-2.267754 2.088392 -1.004783 +-2.321751 0.911659 -0.997308 +-2.551123 1.817535 -0.993646 +-2.673340 0.186477 -0.993294 +-2.828215 0.797671 -0.985831 +-2.169843 -1.263108 -0.980912 +-2.542418 1.399500 -1.007221 +-2.740654 -1.809118 -1.002074 +-2.660680 1.176626 -0.996476 +-2.442631 2.170214 -0.992767 +-2.766267 -2.212313 -1.022254 +-2.225615 0.678854 -0.999258 +-2.302638 -2.434560 -1.012253 +-2.322718 1.358551 -0.995976 +-2.554202 -2.508451 -1.006199 +-2.402226 2.611606 -0.999250 +-2.418466 -2.167431 -1.009875 +-2.373339 2.759685 -1.008061 +-2.823956 1.803701 -1.014099 +-2.562802 0.564262 -1.002277 +-2.867083 1.688554 -0.993899 +-2.505242 1.772354 -0.996429 +-2.647657 2.667220 -1.022099 +-2.778733 -1.491822 -0.998674 +-2.813568 0.546479 -1.012040 +-2.430536 -2.413002 -0.982857 +-2.753652 0.700369 -1.010051 +-2.152718 -1.973832 -0.994395 +-2.441479 0.387974 -0.998359 +-2.620041 0.439520 -1.005792 +-2.440701 -0.187841 -0.975107 +-2.877283 0.122551 -1.007732 +-2.128062 1.596951 -1.012129 +-2.515401 1.797428 -0.991354 +-2.277248 -0.062719 -0.993788 +-2.822568 0.596735 -0.995948 +-2.515418 2.578960 -0.989736 +-2.503559 -2.276695 -0.984979 +-2.160287 -2.302899 -0.998421 +-2.448261 -2.465914 -1.001874 +-2.531134 0.947837 -0.998297 +-2.677073 -0.484419 -0.995389 +-2.631542 1.644046 -1.007162 +-2.480574 1.024057 -0.983102 +-2.535449 -0.991845 -0.996215 +-2.883590 2.377588 -1.002162 +-2.237952 1.577487 -0.995305 +-2.173858 -1.383712 -1.006831 +-2.773292 -0.807138 -1.003908 +-2.457843 -1.114387 -0.999684 +-2.808413 -2.028980 -0.998102 +-2.355582 -2.130165 -1.004849 +-2.662725 2.620788 -1.043891 +-2.365722 -0.353394 -1.019959 +-2.303210 -0.727801 -0.990620 +-2.285168 1.354614 -0.995539 +-2.802299 0.321597 -0.994152 +-2.171307 2.598226 -0.993081 +-2.698331 1.693105 -1.019879 +-2.885219 -0.132242 -1.015930 +-2.455676 -0.737909 -1.014302 +-2.595491 2.925800 -1.005482 +-2.237893 1.287063 -1.003323 +-2.253325 2.708855 -0.996211 +-2.643847 -2.291772 -0.997138 +-2.127660 2.102247 -0.996824 +-2.669127 0.815976 -0.994771 +-2.493507 -2.264608 -0.999717 +-2.698267 0.526267 -1.005081 +-2.167623 1.120407 -0.997685 +-2.759817 -2.931499 -0.981046 +-2.867869 -0.282843 -1.009937 +-2.569262 1.967723 -0.986289 +-2.100092 -1.236807 -0.981887 +-2.190175 -0.251402 -0.985627 +-2.294524 -0.324104 -0.997513 +-2.191336 -1.194554 -1.018470 +-2.188029 2.522097 -0.994012 +-2.484710 1.677815 -0.997731 +-2.637129 -2.332162 -0.998333 +-2.290360 2.990880 -1.031319 +-2.366843 2.300903 -1.015084 +-2.603487 -1.296628 -1.004626 +-2.814063 2.026104 -0.998477 +-2.294595 -2.361315 -0.968201 +-2.688518 2.996581 -1.017105 +-2.155984 1.005582 -1.013355 +-2.728799 0.901073 -0.986293 +-2.801370 -2.460717 -1.018585 +-2.230587 2.388813 -1.017817 +-2.766027 -2.818346 -0.988677 +-2.750750 -1.548495 -0.994793 +-2.411809 -2.160056 -1.015011 +-2.207711 1.659309 -0.996119 +-2.739605 -1.799604 -0.988515 +-2.660465 2.466215 -1.008478 +-2.279958 0.940832 -1.034087 +-2.098426 -2.777360 -1.005957 +-2.480133 -2.970895 -0.998675 +-2.789753 -2.673532 -1.001050 +-2.887356 0.647589 -0.994149 +-2.716819 1.819995 -0.974615 +-2.791368 -1.567515 -0.998294 +-2.344769 2.090461 -1.002783 +-2.817909 -2.668447 -1.005178 +-2.495495 1.823474 -0.994640 +-2.353711 2.559493 -0.986252 +-2.423841 1.632932 -1.004425 +-2.728930 1.178791 -0.996080 +-2.233974 2.029935 -1.007756 +-2.323571 -2.763792 -1.013941 +-2.301802 -1.778129 -1.003109 +-2.798926 -2.260074 -1.001499 +-2.806621 0.017076 -0.981078 +-2.153285 1.476853 -0.991166 +-2.574227 0.775940 -0.997274 +-3.002690 -1.346665 -1.141244 +-3.003827 2.306052 -1.351974 +-3.002043 -1.893342 -1.174537 +-2.990347 -2.465847 -1.345999 +-3.005387 -0.959533 -1.316686 +-2.997977 1.297722 -1.188778 +-3.019787 1.853853 -1.113645 +-3.000347 2.978193 -1.222360 +-3.002796 -1.221941 -1.378853 +-2.985609 -0.545021 -1.205486 +-2.985539 -2.173375 -1.387662 +-2.989909 0.459962 -1.128271 +-3.014546 2.977066 -1.189875 +-2.992204 1.205073 -1.336693 +-2.986848 0.583269 -1.360428 +-3.010370 -0.640959 -1.351015 +-3.016491 2.488918 -1.092744 +-2.995393 0.001678 -1.260659 +-2.975522 -2.192023 -1.164551 +-3.012794 -0.796624 -1.214099 +-3.006470 -2.584188 -1.216694 +-2.988679 -1.791748 -1.356971 +-3.000598 -2.886162 -1.100657 +-2.996319 -0.260572 -1.300625 +-3.002348 0.815529 -1.209535 +-2.980017 -0.928376 -1.189811 +-3.002167 -0.471949 -1.188490 +-2.995662 2.759801 -1.117308 +-3.003279 1.510157 -1.354114 +-2.982819 0.242743 -1.246968 +-3.008654 -1.285588 -1.265123 +-2.983755 2.384014 -1.252006 +-3.001535 -1.584137 -1.361095 +-2.999417 -1.046566 -1.355252 +-3.002942 2.451964 -1.299504 +-2.972894 0.165209 -1.321183 +-3.009572 1.452875 -1.262671 +-2.994087 0.546189 -1.211414 +-3.006921 0.918194 -1.209812 +-3.015842 -1.215313 -1.287672 +-2.992359 -1.549314 -1.271254 +-3.018397 -1.079882 -1.328079 +-3.027787 -2.055104 -1.241741 +-2.991567 2.237000 -1.294399 +-2.967918 -1.323250 -1.382228 +-3.018082 0.373204 -1.276548 +-2.998702 1.742730 -1.249955 +-3.014484 1.715361 -1.336415 +-3.014027 -0.353733 -1.228936 +-2.980924 -0.130243 -1.238250 +-3.000850 2.969421 -1.174136 +-2.995625 1.049348 -1.207614 +-3.000506 1.900877 -1.204233 +-3.003950 2.409679 -1.310673 +-3.014021 1.718035 -1.148786 +-3.002066 -1.881880 -1.260044 +-2.994317 0.371411 -1.275389 +-2.998190 -2.393593 -1.233435 +-2.990777 0.919963 -1.294942 +-3.009662 2.717398 -1.243939 +-2.983865 0.078424 -1.192816 +-2.997749 -0.402698 -1.125439 +-2.993933 -2.814802 -1.118230 +-3.010035 2.744430 -1.250795 +-2.995890 -2.398391 -1.236872 +-2.992367 -2.753056 -1.168715 +-3.009794 -1.513341 -1.320777 +-2.989355 -2.608469 -1.149744 +-3.017081 -0.270760 -1.245622 +-3.013364 0.101513 -1.364353 +-3.006438 -1.116034 -1.400405 +-2.996533 -2.678043 -1.133003 +-2.996102 -2.333415 -1.389688 +-3.003029 -0.687536 -1.323889 +-2.992426 -2.615498 -1.300380 +-3.013444 1.175691 -1.340336 +-3.000597 -1.749108 -1.311168 +-2.991694 -1.189154 -1.184517 +-3.004010 -0.647216 -1.375702 +-3.000964 -0.493897 -1.157217 +-3.010519 -2.992375 -1.132024 +-3.005207 -2.336283 -1.286767 +-2.995010 2.193016 -1.350379 +-2.993560 -2.985409 -1.231278 +-3.009633 0.038165 -1.377420 +-2.992045 -0.060087 -1.289729 +-3.025927 -0.980880 -1.121414 +-2.979482 -0.426530 -1.109485 +-3.022028 1.687108 -1.179381 +-3.010730 2.033497 -1.298938 +-2.992885 -1.419788 -1.200558 +-2.997812 -1.077951 -1.191728 +-3.005188 -1.540458 -1.273477 +-2.990089 -0.129248 -1.197749 +-3.000441 1.096304 -1.403867 +-3.005599 -1.613060 -1.334209 +-2.998254 -1.018208 -1.218014 +-2.986950 2.575097 -1.353611 +-3.002142 -2.707125 -1.357240 +-2.995612 -0.220861 -1.162245 +-3.011281 1.264517 -1.107628 +-2.980015 -2.087259 -1.223766 +-3.002644 -2.718619 -1.162796 +-2.992182 -2.165857 -1.090044 +-3.002108 2.511521 -1.355821 +-2.991081 -2.959143 -1.258166 +-3.000205 -1.880655 -1.303074 +-3.001365 -2.797822 -1.359238 +-2.996446 -2.316603 -1.173830 +-2.990467 0.716383 -1.275012 +-3.006775 -1.570772 -1.246331 +-3.006416 0.407258 -1.366598 +-3.002043 0.558807 -1.324784 +-3.016609 2.093067 -1.138212 +-2.990117 -2.968686 -1.392971 +-2.999274 2.115443 -1.314002 +-2.994530 0.721413 -1.339051 +-3.000668 -2.002707 -1.239679 +-3.018471 1.634490 -1.236082 +-2.982889 2.135392 -1.259691 +-2.999658 -1.500493 -1.385615 +-2.999635 2.521219 -1.346313 +-3.003812 -0.263159 -1.161438 +-2.997708 0.621206 -1.191580 +-3.002301 2.906181 -1.196706 +-3.013263 -0.832992 -1.203496 +-3.001389 1.887440 -1.165587 +-3.007487 -1.088238 -1.367663 +-3.008314 1.796733 -1.291949 +-3.000630 0.588097 -1.224034 +-3.007744 -1.691605 -1.304677 +-3.006255 -0.503712 -1.136717 +-2.997913 -1.086575 -1.258114 +-3.000084 -2.537966 -1.160371 +-3.006934 -2.806140 -1.147554 +-2.999795 -0.913541 -1.248324 +-3.002979 -2.886095 -1.118196 +-3.006629 -2.008336 -1.223760 +-2.991354 1.350101 -1.126835 +-3.001565 1.246171 -1.299533 +-3.013166 1.421115 -1.255662 +-2.988642 -1.097412 -1.245423 +-2.987735 2.355628 -1.355952 +-3.008531 0.558031 -1.262297 +-2.997589 -2.246518 -1.117615 +-2.989927 -2.143403 -1.208556 +-2.990734 1.146970 -1.346625 +-3.011144 -1.972172 -1.303974 +-2.995229 0.040536 -1.349003 +-2.999485 2.939177 -1.388265 +-2.988686 -2.976746 -1.123788 +-2.996266 -2.920806 -1.260170 +-2.968981 2.957281 -1.308931 +-2.992564 0.524286 -1.210707 +-3.021556 -2.232906 -1.372086 +-2.993776 2.372267 -1.313775 +-3.012807 2.294610 -1.198649 +-2.999258 0.208625 -1.215334 +-2.985138 0.731787 -1.111050 +-3.011452 -1.379594 -1.226406 +-2.998880 -2.687079 -1.262352 +-2.984295 0.560231 -1.173950 +-3.010796 -1.221561 -1.108027 +-3.017618 0.978265 -1.171143 +-3.014469 2.023138 -1.098822 +-2.999218 -2.885534 -1.147789 +-2.980516 0.573663 -1.145283 +-3.009200 -1.602547 -1.379487 +-3.002526 2.244358 -1.185306 +-2.997202 -1.452368 -1.269189 +-3.004354 0.674774 -1.231673 +-2.985607 0.322892 -1.206254 +-3.017837 -0.639198 -1.127412 +-2.996207 1.052102 -1.092071 +-2.999697 1.352176 -1.321970 +-2.993778 0.393582 -1.189728 +-2.988117 1.554080 -1.177354 +-2.993586 2.900592 -1.292222 +-3.008168 -0.463662 -1.368635 +-2.984440 0.085610 -1.379645 +-2.992658 -2.913712 -1.175203 +-2.989244 1.794636 -1.255677 +-2.999653 0.116146 -1.107802 +-2.982886 -0.562274 -1.269929 +-2.983891 -2.429323 -1.085421 +-3.004504 2.339201 -1.283134 +-2.998567 -0.647698 -1.155046 +-2.996765 1.094914 -1.378458 +-3.008948 -2.096478 -1.245072 +-2.994881 2.790042 -1.144527 +-3.015051 -1.934717 -1.118375 +-3.000703 -1.816742 -1.149372 +-3.000100 2.173040 -1.391441 +-2.988320 2.462826 -1.298469 +-2.992783 -1.716278 -1.394964 +-2.999759 -0.195010 -1.369027 +-2.991631 1.396620 -1.199899 +-3.011298 2.263711 -1.168441 +-2.999271 -0.735707 -1.171031 +-3.015974 0.091975 -1.126760 +-3.001425 1.469206 -1.179124 +-3.000360 1.393225 -1.186464 +-2.997951 1.697271 -1.370450 +-2.990353 0.408266 -1.317218 +-3.002623 -2.381354 -1.211460 +-3.002028 2.439224 -1.139156 +-2.997943 2.202442 -1.387721 +-2.992164 1.802779 -1.239524 +-2.998323 -2.388433 -1.197723 +-2.999668 -1.756400 -1.374899 +-3.000082 1.457067 -1.264962 +-2.991996 -2.858004 -1.134528 +-2.996683 2.875131 -1.205160 +-2.998710 -0.734478 -1.332456 +-2.990962 1.328763 -1.134467 +-3.002763 2.332985 -1.294811 +-3.012357 -0.625493 -1.142535 +-2.974065 -1.070632 -1.303205 +-2.997508 0.654084 -1.232941 +-3.017390 0.477211 -1.281395 +-1.593743 -2.960401 -0.502476 +-1.420734 -0.989837 -0.503415 +-1.134456 1.791686 -0.505603 +-1.526571 2.034760 -0.507680 +-1.750298 -2.159920 -0.504198 +-1.609182 1.645584 -0.498820 +-1.604441 -2.306182 -0.491320 +-1.790601 -0.637326 -0.487489 +-1.755213 3.019658 -0.492418 +-1.350720 -1.834718 -0.505592 +-1.627341 -2.082696 -0.496020 +-1.142600 -0.470067 -0.495865 +-1.706500 0.698736 -0.514556 +-1.832333 2.588575 -0.495856 +-1.295007 2.895580 -0.492472 +-1.184452 -2.576072 -0.497903 +-1.666516 -2.162821 -0.496239 +-1.725619 1.720970 -0.502905 +-1.754445 -1.364680 -0.484286 +-1.496892 2.323206 -0.511714 +-1.536679 0.978377 -0.503182 +-1.708032 -2.322433 -0.493206 +-1.853321 1.990841 -0.500396 +-1.515111 -1.924982 -0.528342 +-1.142104 -0.458972 -0.510856 +-1.380568 0.311849 -0.506577 +-1.502950 0.010878 -0.502363 +-1.815978 1.115320 -0.500074 +-1.715454 0.920736 -0.504510 +-1.651565 2.958163 -0.488299 +-1.298267 2.992818 -0.512425 +-1.205683 0.111277 -0.485125 +-1.190168 -2.433388 -0.500762 +-1.106489 1.349462 -0.516030 +-1.109210 2.840494 -0.504468 +-1.135980 -1.085885 -0.501417 +-1.846200 -0.224301 -0.497148 +-1.796235 -0.450961 -0.496168 +-1.639244 -2.683622 -0.487854 +-1.463787 1.028345 -0.502354 +-1.823853 -0.890054 -0.487341 +-1.214529 1.721726 -0.493583 +-1.404366 1.999919 -0.513443 +-1.467565 1.926804 -0.493764 +-1.774035 -0.525003 -0.510817 +-1.698006 -1.070087 -0.483163 +-1.765923 1.493740 -0.500324 +-1.207412 1.802436 -0.501403 +-1.443510 -0.038266 -0.496075 +-1.318972 2.357042 -0.494904 +-1.665681 -2.141892 -0.506543 +-1.599608 2.270832 -0.504538 +-1.589477 -2.422652 -0.501812 +-1.295205 -2.076859 -0.492520 +-1.275102 0.208567 -0.502407 +-1.740219 -2.605328 -0.505932 +-1.146572 -2.691020 -0.499039 +-1.813130 -3.013497 -0.491806 +-1.187846 -0.390470 -0.510938 +-1.815453 1.661492 -0.504031 +-1.690524 -2.780254 -0.518104 +-1.203148 0.937987 -0.527063 +-1.757381 1.931574 -0.502648 +-1.573329 -1.983877 -0.501126 +-1.549222 -2.120539 -0.494852 +-1.715630 2.148344 -0.480073 +-1.338228 1.937374 -0.503978 +-1.213451 0.251379 -0.494201 +-1.215523 1.901358 -0.503990 +-1.631225 -2.460683 -0.491807 +-1.486183 -0.618178 -0.481794 +-1.703757 1.431175 -0.512319 +-1.697926 -1.460270 -0.510872 +-1.773890 1.509316 -0.503252 +-1.138488 0.017219 -0.482650 +-1.202860 1.517750 -0.510165 +-1.278123 -0.216824 -0.503437 +-1.477857 -0.777576 -0.488095 +-1.511562 -1.683022 -0.507821 +-1.486119 -1.761187 -0.504376 +-1.468250 1.489827 -0.500464 +-1.537189 -2.275319 -0.505852 +-1.808565 -2.479508 -0.523174 +-1.788367 -1.944388 -0.481687 +-1.155470 -1.938739 -0.501005 +-1.517686 1.924947 -0.494043 +-1.130674 -0.591109 -0.489919 +-1.775077 2.932292 -0.513685 +-1.441735 -2.184514 -0.485198 +-1.728575 0.924538 -0.503069 +-1.690846 -0.307778 -0.503692 +-1.868996 -0.643931 -0.507983 +-1.798839 2.249865 -0.495111 +-1.171060 2.841483 -0.482649 +-1.627308 2.245992 -0.503878 +-1.416500 -1.832373 -0.503538 +-1.534314 -1.656490 -0.500477 +-1.561955 0.922459 -0.494818 +-1.453780 -1.265201 -0.502640 +-1.761886 1.419174 -0.507701 +-1.110065 0.386179 -0.484431 +-1.233805 0.305137 -0.511541 +-1.291349 1.967622 -0.511052 +-1.542614 1.256737 -0.514546 +-1.783926 -2.833089 -0.503754 +-1.159910 -2.710479 -0.499348 +-1.607681 0.605866 -0.496156 +-1.875570 -0.067646 -0.504772 +-1.615572 -1.440124 -0.493884 +-1.257724 -0.492588 -0.489081 +-1.409423 1.555241 -0.503902 +-1.295834 1.955049 -0.499500 +-1.275839 0.369814 -0.499558 +-1.735838 -0.688333 -0.498660 +-1.167137 -1.377107 -0.510056 +-1.526151 0.142102 -0.497269 +-1.377068 -1.131295 -0.525577 +-1.902146 0.370785 -0.502366 +-1.103249 1.069118 -0.511383 +-1.671287 -2.603381 -0.496525 +-1.855547 -2.979764 -0.501035 +-1.515649 -1.734241 -0.492572 +-1.797373 2.363791 -0.493677 +-1.781130 0.851125 -0.530629 +-1.381450 -1.955935 -0.481127 +-1.585833 2.328657 -0.504196 +-1.162404 -0.190335 -0.483514 +-1.622280 -0.138667 -0.500109 +-1.332006 2.628716 -0.499237 +-1.534012 -2.638268 -0.505857 +-1.370570 -1.723355 -0.489129 +-1.421288 0.526216 -0.502011 +-1.523135 -1.839204 -0.492402 +-1.148710 1.072298 -0.499990 +-1.624617 -1.732507 -0.502308 +-1.750259 -2.408842 -0.502247 +-1.355901 -1.759349 -0.510305 +-1.223557 -0.453655 -0.510512 +-1.871542 -1.956987 -0.490586 +-1.541217 -2.200350 -0.499077 +-1.198046 2.151356 -0.514601 +-1.310973 -1.064043 -0.507331 +-1.101892 -0.843811 -0.492405 +-1.485130 -2.667985 -0.499471 +-1.348725 -0.849478 -0.505929 +-1.651165 -1.389775 -0.516296 +-1.150396 0.660541 -0.504171 +-1.610259 -1.780701 -0.485960 +-1.323418 2.328191 -0.489542 +-1.577790 2.568206 -0.513487 +-1.452845 -2.408584 -0.497948 +-1.338189 -2.347452 -0.498845 +-1.490954 -2.293631 -0.504378 +-1.181589 0.711938 -0.501925 +-1.565469 -2.276493 -0.520231 +-1.387952 2.117892 -0.498637 +-1.614115 1.545184 -0.492407 +-1.559649 1.926521 -0.482901 +-1.529451 0.165875 -0.492936 +-1.801407 2.979650 -0.503378 +-1.820409 -2.742153 -0.501911 +-1.389560 -0.575179 -0.502205 +-1.371030 -1.041802 -0.496997 +-1.355229 2.679456 -0.476026 +-1.873316 0.463258 -0.485749 +-1.650449 1.834260 -0.485557 +-1.760423 -1.972348 -0.494678 +-1.257787 2.855975 -0.483904 +-1.217090 -0.012633 -0.512220 +-1.713534 -0.033932 -0.511123 +-1.358318 2.818679 -0.512130 +-1.801788 -0.712239 -0.502774 +-1.679536 -0.607888 -0.489176 +-1.792177 0.498074 -0.499239 +-1.668477 -2.246292 -0.508906 +-1.367403 -1.075565 -0.507610 +-1.164668 -1.856801 -0.515797 +-1.741321 -2.382056 -0.514546 +-1.472404 2.192857 -0.503933 +-1.337368 0.529371 -0.485222 +-1.132780 -0.856034 -0.499055 +-1.410711 -0.535837 -0.506004 +-1.688241 -0.410467 -0.485084 +-1.386709 0.800865 -0.502623 +-1.638541 2.558812 -0.483197 +-1.118313 2.592621 -0.504596 +-1.592389 -0.645483 -0.508200 +-1.340676 -1.037355 -0.498728 +-1.869916 -0.315243 -0.479817 +-1.584204 0.409016 -0.494285 +-1.192653 -0.226354 -0.490026 +-1.406627 0.970129 -0.494777 +-1.525199 0.335405 -0.518058 +-1.125139 -1.081450 -0.485045 +-1.216545 -0.915004 -0.506885 +-1.635970 -0.730975 -0.484210 +-1.459975 -2.422802 -0.521641 +-1.508996 -1.999519 -0.497764 +-1.384626 1.335024 -0.499512 +-1.620899 -0.688207 -0.494107 +-1.707975 -1.721889 -0.496635 +-1.157588 0.386426 -0.501351 +-1.152143 1.541918 -0.500874 +-1.232273 -1.461818 -0.491621 +-1.117858 1.950277 -0.516849 +-1.295689 2.559561 -0.496696 +-1.275869 0.571278 -0.500451 +-1.291635 1.017483 -0.487608 +-1.528808 -2.678846 -0.489685 +-1.536702 2.671745 -0.495816 +-1.704371 -0.639268 -0.494387 +-1.393964 2.553305 -0.488332 +-1.666683 0.458924 -0.501147 +-1.691809 -2.983733 -0.503601 +-1.445325 -2.762675 -0.498340 +-1.588472 1.086028 -0.500565 +-1.719751 0.372093 -0.508015 +-1.254864 -2.846187 -0.499812 +-1.210065 1.458853 -0.504233 +-1.769354 2.137949 -0.507707 +-2.005580 1.956281 -0.746865 +-2.013800 -1.547055 -0.769373 +-1.990909 -0.837246 -0.902756 +-1.983908 -1.936203 -0.654275 +-1.995651 -0.199537 -0.794672 +-1.987908 -0.646293 -0.618354 +-1.991495 -1.552318 -0.785567 +-1.998628 1.498172 -0.731377 +-1.997788 -1.121080 -0.815521 +-1.999787 -1.355437 -0.845192 +-1.998328 -2.228330 -0.649620 +-2.001419 -0.367879 -0.754448 +-2.004884 -1.166772 -0.725193 +-1.995556 -0.785438 -0.604184 +-1.999262 -1.585919 -0.607545 +-2.004411 1.581456 -0.641265 +-1.993971 2.573829 -0.836616 +-2.009063 -0.018135 -0.727007 +-2.010720 0.868147 -0.646246 +-2.006989 2.215588 -0.793367 +-2.001881 2.982857 -0.861339 +-1.991533 0.688488 -0.651336 +-1.999264 2.333433 -0.763621 +-1.987101 2.459297 -0.737615 +-1.999602 1.745708 -0.616639 +-1.998224 -0.238567 -0.727362 +-2.014791 -2.528714 -0.776220 +-2.000851 -2.913920 -0.782497 +-2.000655 -0.131027 -0.776543 +-2.007871 -0.032972 -0.877107 +-1.994606 -0.565197 -0.652393 +-2.003385 0.419629 -0.659911 +-2.006778 0.316786 -0.802976 +-1.983334 2.020092 -0.790484 +-2.002897 -2.337070 -0.647122 +-1.995798 -1.672351 -0.904025 +-1.995333 1.744905 -0.739593 +-1.990935 2.082008 -0.770587 +-2.004742 2.959287 -0.693974 +-1.998979 2.234412 -0.834239 +-2.007194 2.353308 -0.709913 +-1.999272 -1.102081 -0.775666 +-2.004203 -0.584480 -0.710174 +-2.005399 -1.385330 -0.869347 +-1.995283 0.643460 -0.754760 +-2.014610 2.637434 -0.753492 +-2.005899 -0.910535 -0.838235 +-2.007402 0.353537 -0.867590 +-2.004474 -1.209712 -0.843030 +-2.015616 -1.975760 -0.800722 +-1.984601 -1.834949 -0.860445 +-1.982243 -2.660837 -0.617736 +-1.996114 2.687188 -0.775799 +-2.002249 -0.585173 -0.656820 +-1.999287 2.006364 -0.613663 +-2.005552 1.086791 -0.876227 +-2.004389 -1.845234 -0.722647 +-2.007305 -1.950026 -0.647138 +-1.983708 1.872118 -0.707962 +-2.004832 -1.411888 -0.783445 +-2.001698 2.470341 -0.773451 +-2.025599 -2.170948 -0.874591 +-1.991696 1.079442 -0.725743 +-1.993270 1.882315 -0.612310 +-1.988533 -1.587816 -0.587448 +-2.003651 -1.323027 -0.889448 +-1.986639 2.804080 -0.698490 +-2.004850 -1.422744 -0.821770 +-1.993329 -0.422224 -0.628580 +-1.994438 -0.423480 -0.873598 +-2.003491 -1.476467 -0.613031 +-1.986292 1.653698 -0.669994 +-1.999429 1.633103 -0.875091 +-1.998525 -0.733702 -0.895480 +-1.993285 2.005117 -0.653651 +-2.004626 -1.709196 -0.853682 +-1.999209 -2.978572 -0.734902 +-1.986507 0.433483 -0.618408 +-1.993938 2.950664 -0.738527 +-2.002050 -2.775393 -0.791475 +-2.018722 -1.765477 -0.769060 +-2.000694 0.105557 -0.880276 +-2.004338 1.870550 -0.610991 +-1.993037 -2.463716 -0.820824 +-2.000906 -0.640948 -0.844272 +-2.007451 1.486274 -0.827609 +-1.999853 -0.765017 -0.601612 +-2.007642 -1.866804 -0.869873 +-1.984529 -1.841838 -0.648920 +-1.971955 -0.542438 -0.706557 +-2.005826 -0.151186 -0.648585 +-1.991902 2.161770 -0.611938 +-1.990763 0.836012 -0.660569 +-2.002281 1.134888 -0.619924 +-2.012638 2.900066 -0.863412 +-1.994508 -0.526935 -0.659197 +-2.014463 -0.574948 -0.739606 +-2.001666 2.550565 -0.744146 +-1.986488 -1.510302 -0.622796 +-2.009806 1.357029 -0.597670 +-1.998886 1.519987 -0.676813 +-2.008615 -2.417514 -0.749870 +-2.011136 -0.191706 -0.752187 +-1.997889 -1.784151 -0.772762 +-1.999923 -1.911116 -0.802578 +-1.992367 -0.232534 -0.785815 +-1.996615 -1.248726 -0.878824 +-2.006435 1.775838 -0.873260 +-2.001543 2.456122 -0.674030 +-1.998798 1.820776 -0.770180 +-1.991603 -1.402325 -0.612906 +-1.998059 -1.351430 -0.722658 +-2.006308 -1.459386 -0.883092 +-2.010230 -2.187963 -0.876481 +-2.005739 2.672400 -0.839505 +-1.998821 -0.617877 -0.611202 +-1.996617 -1.647210 -0.824765 +-2.002103 2.078370 -0.758594 +-2.002045 -0.617444 -0.637626 +-2.010852 -2.774212 -0.609548 +-1.997801 -2.033486 -0.846997 +-1.990639 0.813780 -0.890813 +-2.000546 1.699737 -0.861184 +-2.018380 -1.742405 -0.888489 +-2.007731 2.514074 -0.853599 +-1.996990 2.107566 -0.719825 +-2.001331 2.098196 -0.627988 +-1.995656 -1.649063 -0.765217 +-1.996225 -2.692472 -0.707448 +-2.005249 2.219439 -0.844039 +-1.995791 -1.159252 -0.642637 +-2.003170 0.706966 -0.729645 +-1.984476 1.564015 -0.636228 +-1.968833 -2.226990 -0.628370 +-2.001959 1.675282 -0.799588 +-2.004026 2.625199 -0.886759 +-1.984075 1.373238 -0.834476 +-1.992424 -0.347953 -0.765891 +-1.993150 2.261408 -0.609590 +-1.992469 0.166373 -0.788711 +-1.984696 1.463847 -0.664855 +-1.995861 1.916940 -0.745935 +-2.003539 1.491195 -0.859739 +-2.006515 -1.270208 -0.791120 +-1.994456 -2.318932 -0.697629 +-2.005582 -1.565438 -0.698285 +-2.001927 0.016227 -0.769796 +-1.986556 0.031465 -0.820551 +-1.990601 0.502537 -0.701294 +-1.988834 -0.633968 -0.842181 +-2.009725 1.709498 -0.599235 +-2.009570 2.490384 -0.842445 +-2.004201 -1.520098 -0.880817 +-2.000138 1.408312 -0.754660 +-1.990747 1.070373 -0.758957 +-1.991485 0.138472 -0.752964 +-1.992533 -1.870491 -0.780656 +-1.981522 1.771221 -0.602369 +-2.004051 2.775557 -0.759365 +-2.015450 1.324231 -0.743348 +-1.991679 2.504610 -0.759738 +-1.992521 2.902446 -0.881611 +-1.996707 -0.896015 -0.722068 +-1.996915 0.812472 -0.833503 +-2.003031 -0.146123 -0.727162 +-2.003815 2.914955 -0.875149 +-2.000435 -2.419192 -0.598962 +-2.004102 -0.523354 -0.762839 +-1.991406 2.239912 -0.639210 +-1.995443 -1.283435 -0.779351 +-1.986255 1.725356 -0.900739 +-2.030017 -0.718595 -0.653533 +-2.000659 2.886203 -0.711040 +-2.011081 2.297048 -0.665137 +-1.997692 -1.199970 -0.762535 +-2.006214 1.612462 -0.714043 +-1.989252 -0.980189 -0.650076 +-1.990739 0.659605 -0.708584 +-1.987662 0.961245 -0.801754 +-1.999734 1.964747 -0.703291 +-2.006262 -2.857324 -0.705943 +-2.002871 -1.673730 -0.613019 +-2.018644 1.264046 -0.803920 +-1.997559 0.386173 -0.769910 +-2.007874 -0.023901 -0.661064 +-2.011382 -2.661321 -0.740091 +-1.990511 -0.916428 -0.667234 +-2.004936 2.197136 -0.767196 +-2.002240 -2.838855 -0.838371 +-1.999089 -0.625483 -0.658877 +-2.011625 2.665254 -0.869702 +-2.005638 -2.684402 -0.825645 +-2.007008 1.491004 -0.723524 +-1.986937 -1.443114 -0.676879 +-2.013961 2.186586 -0.629887 +-1.994507 1.455746 -0.821437 +-1.983817 2.312056 -0.851886 +-1.993510 -1.715294 -0.616113 +-2.001287 0.178231 -0.863372 +-1.984932 1.665846 -0.829916 +-2.004365 -1.526058 -0.806983 +-2.005985 -1.609843 -0.761647 +-1.995603 -2.861593 -0.637421 +-1.991458 2.757315 -0.684820 +-2.011697 1.253215 -0.685691 +-2.020319 0.813230 -0.844332 +-2.002830 1.469222 -0.790458 +-2.005417 0.170316 -0.755144 +-2.009531 -0.148980 -0.850981 +-1.985827 -0.303187 -0.812430 +-2.014445 0.845091 -0.808099 +-1.987708 -1.796195 -0.864233 +-1.989412 2.327432 -0.746017 +-1.974484 1.859728 -0.689139 +-1.996533 -0.899942 -0.880918 +-2.001848 0.469306 -0.766822 +-1.978498 -2.156036 -0.659367 +-2.003346 2.830530 -0.680157 +-2.015498 2.415750 -0.659548 +-1.988285 2.519418 -0.771299 +-0.643254 2.171792 -0.008694 +-0.759069 -0.721095 -0.001461 +-0.744350 2.096692 0.008598 +-0.840605 -1.545882 0.001143 +-0.800140 0.716680 -0.009337 +-0.852712 2.567172 -0.006293 +-0.135643 -1.446148 -0.010363 +-0.836083 1.171488 0.000168 +-0.784009 2.925414 0.015874 +-0.248817 -2.096493 0.006732 +-0.437712 -2.458064 -0.004320 +-0.259773 1.066393 0.002821 +-0.389744 -0.949668 -0.011872 +-0.207380 -2.559969 0.002740 +-0.391491 -0.148055 -0.023860 +-0.484206 1.515094 0.009181 +-0.319850 -1.283499 0.003955 +-0.557059 -0.983812 0.006294 +-0.610697 2.095378 -0.016926 +-0.529763 0.113009 0.001725 +-0.764095 2.054051 0.010276 +-0.273757 -0.332074 -0.010242 +-0.695040 2.705565 -0.000486 +-0.778830 0.896902 0.008738 +-0.703513 -2.293980 -0.001950 +-0.226586 2.304930 -0.000070 +-0.628717 -0.068522 0.005184 +-0.359288 -2.142576 -0.005799 +-0.206355 -2.083249 0.015210 +-0.849345 1.110442 -0.006162 +-0.301827 -2.729592 0.006216 +-0.653909 -1.285234 -0.003870 +-0.732674 -2.144771 -0.007355 +-0.362100 -0.345575 -0.002158 +-0.151775 -0.519139 0.008460 +-0.653163 0.126045 -0.007429 +-0.437519 -1.316433 -0.014106 +-0.679417 -2.833103 0.005954 +-0.459190 0.684695 -0.016914 +-0.413491 -0.762472 -0.006723 +-0.410553 0.913845 0.022696 +-0.401363 -2.336844 -0.008300 +-0.808686 -2.920859 -0.015977 +-0.345021 -1.518039 -0.019543 +-0.342839 -0.266092 -0.016376 +-0.344948 -0.642854 0.010902 +-0.848077 1.856406 0.003448 +-0.536597 -0.725289 -0.000897 +-0.567486 0.190103 0.002006 +-0.832057 0.546641 0.005992 +-0.721684 -2.873148 0.012778 +-0.561508 0.107241 -0.000223 +-0.302500 -0.934963 -0.016671 +-0.711746 -0.468972 0.006762 +-0.238180 -2.420201 -0.015417 +-0.442841 1.685998 0.014270 +-0.301004 2.652601 0.006252 +-0.530157 -2.850465 0.000757 +-0.496036 0.605560 0.006587 +-0.388437 1.581752 0.017297 +-0.163739 -1.283514 0.004891 +-0.517236 1.727472 0.000074 +-0.485606 0.797710 0.001463 +-0.419128 2.574290 -0.000900 +-0.313665 2.887427 -0.006439 +-0.815952 -2.760017 -0.005847 +-0.492507 -0.309969 -0.013201 +-0.510468 0.284411 0.003336 +-0.150289 -2.107382 -0.004510 +-0.503255 -1.000926 0.000991 +-0.533283 2.924021 -0.016854 +-0.126191 -2.919583 0.001483 +-0.551804 -0.293449 0.011547 +-0.749413 2.067420 0.015597 +-0.734195 -1.041603 -0.014655 +-0.816389 -0.126142 -0.009303 +-0.893401 2.877724 0.009153 +-0.552295 -0.149419 0.005269 +-0.281568 -2.209059 0.002040 +-0.304799 -2.705943 -0.001313 +-0.888119 2.675267 0.016419 +-0.448755 -1.403871 0.007565 +-0.797251 0.019162 0.003645 +-0.176109 -2.465558 0.011009 +-0.756078 -0.454326 0.008822 +-0.396538 2.586187 -0.003157 +-0.637851 0.008154 0.012635 +-0.371535 2.840610 -0.004081 +-0.579731 -1.434216 0.005439 +-0.289000 0.020935 0.004257 +-0.726309 2.163525 0.013789 +-0.159056 -0.303401 -0.013820 +-0.497859 -1.301679 -0.008686 +-0.295717 2.146987 0.006171 +-0.195414 -0.667992 -0.009898 +-0.088696 0.172381 -0.001968 +-0.721500 2.869522 0.006143 +-0.665915 -1.885125 0.012150 +-0.659395 -1.184683 0.000997 +-0.702682 -2.819957 -0.002137 +-0.439390 -0.649135 0.017780 +-0.092710 -1.800488 -0.012083 +-0.094404 1.079719 -0.017265 +-0.471457 -1.901814 -0.024259 +-0.397024 1.047772 0.007345 +-0.217181 -1.427469 0.007272 +-0.158336 -0.863272 -0.011115 +-0.750435 -0.899283 0.002525 +-0.467942 1.295185 -0.007951 +-0.220123 -0.216174 0.012515 +-0.644233 -0.823606 -0.006878 +-0.556318 2.113636 -0.012950 +-0.121120 0.438151 0.006493 +-0.122458 -1.710254 0.004543 +-0.160016 2.406239 0.010586 +-0.256471 -0.934299 -0.012871 +-0.685913 -2.766514 -0.002437 +-0.638881 -0.026055 0.003923 +-0.463943 -2.263729 0.010972 +-0.447881 -1.579387 -0.001937 +-0.513031 1.483019 -0.001984 +-0.396408 -2.199643 -0.011562 +-0.566278 1.863532 0.010773 +-0.300976 2.610103 -0.013621 +-0.637276 0.632323 -0.007195 +-0.638722 1.261133 0.004852 +-0.810597 1.274697 -0.001597 +-0.750985 2.975212 0.002322 +-0.235719 -0.946589 0.005457 +-0.544225 -2.034995 0.017581 +-0.728405 0.121611 0.002001 +-0.286519 0.216567 0.005616 +-0.462402 -1.921465 -0.006311 +-0.881440 0.665726 -0.010333 +-0.646397 -2.911571 -0.017024 +-0.753426 2.557816 0.012797 +-0.378821 -1.423791 0.000758 +-0.689138 -2.749949 0.000005 +-0.849559 -2.344585 -0.010049 +-0.868944 -1.554423 -0.010997 +-0.445618 -1.348195 0.005251 +-0.895160 -2.809331 -0.009037 +-0.203203 -1.314811 -0.004208 +-0.769920 -1.855911 -0.006726 +-0.413698 -0.723752 -0.000975 +-0.541769 -0.688210 -0.001636 +-0.548680 -0.970216 0.002319 +-0.838454 -1.030473 -0.011786 +-0.267787 -2.457623 0.014717 +-0.184034 -2.852887 0.002243 +-0.902555 -1.774225 0.001866 +-0.763811 1.538229 -0.005270 +-0.163760 2.942836 0.001554 +-0.454668 2.563749 0.001937 +-0.777224 0.009775 0.002527 +-0.738225 0.192243 0.000356 +-0.369419 -1.099137 -0.011795 +-0.323568 1.650303 0.004809 +-0.415864 1.616076 0.006141 +-0.126172 2.062563 -0.009929 +-0.507892 2.380147 0.004068 +-0.655750 -0.396048 -0.003738 +-0.520012 1.608498 0.008407 +-0.622329 1.846016 -0.006507 +-0.715778 -1.151162 0.015658 +-0.867410 2.577240 0.006066 +-0.626970 -2.434680 -0.002666 +-0.336011 2.961218 0.011120 +-0.891235 1.626208 0.003146 +-0.562627 -2.435183 -0.014135 +-0.378512 0.932306 0.000084 +-0.424620 -2.793700 0.009270 +-0.286751 1.615050 0.004546 +-0.246788 1.770996 0.020154 +-0.325350 0.621431 -0.001435 +-0.836315 2.147910 -0.005652 +-0.514543 -2.414888 0.002380 +-0.425025 -1.335813 -0.011884 +-0.681091 -0.492555 0.016327 +-0.853204 -2.746098 0.011665 +-0.722090 -0.326239 0.015032 +-0.524796 -1.409033 -0.012252 +-0.574718 -0.661801 0.009451 +-0.774700 -0.446516 -0.008437 +-0.254735 2.278854 -0.003338 +-0.151069 -1.390630 -0.007573 +-0.762798 2.340615 0.017982 +-0.135506 -0.443247 -0.008238 +-0.888696 -1.024418 -0.005144 +-0.157654 0.014945 -0.005688 +-0.143719 -0.490607 -0.009769 +-0.885841 -1.460482 0.001274 +-0.275745 0.014394 0.009198 +-0.141759 -2.093893 0.000277 +-0.156045 -0.908020 -0.000962 +-0.108865 0.386891 -0.002128 +-0.456424 -0.517705 0.015658 +-0.832990 1.956752 -0.003600 +-0.227574 -1.461927 -0.011591 +-0.404102 2.814771 -0.006718 +-0.403224 1.696895 0.007705 +-0.570980 2.817149 -0.003927 +-0.436207 2.030615 0.007439 +-0.776037 -2.164011 0.010088 +-0.309061 0.166656 0.006902 +-0.847719 -1.989277 0.006554 +-0.319208 1.918728 -0.001782 +-0.210583 0.509206 0.002880 +-0.525765 -1.416980 0.011929 +-0.492678 2.582906 0.000464 +-0.648983 -2.291650 0.012017 +-0.123639 0.385319 -0.007019 +-0.315230 1.329337 0.008506 +-0.597317 -2.658001 0.009770 +-0.761042 0.577266 0.013364 +-0.709704 1.898045 0.007088 +-0.521188 -2.580878 0.007281 +-0.159222 0.093556 0.010657 +-0.317778 -1.458953 0.005048 +-0.730588 0.980847 0.007434 +-1.005664 -2.268099 -0.360539 +-1.005334 -1.810655 -0.132318 +-1.002522 1.599077 -0.125522 +-1.007884 -2.430075 -0.344050 +-0.994390 2.405720 -0.308142 +-0.997022 1.369229 -0.221658 +-1.016331 -2.586243 -0.164142 +-1.012874 1.151380 -0.269467 +-0.999041 0.791714 -0.341713 +-0.999152 1.556869 -0.369931 +-1.003501 1.962495 -0.118241 +-0.997242 1.330643 -0.258812 +-0.993133 0.512927 -0.140684 +-0.990154 -1.045133 -0.240408 +-0.991948 1.183993 -0.121196 +-1.007535 2.727348 -0.384940 +-0.999502 0.522211 -0.380489 +-1.000373 0.982885 -0.132839 +-1.003702 -0.380441 -0.121918 +-0.990733 1.517696 -0.325443 +-0.999967 2.986966 -0.289408 +-1.005390 -2.046843 -0.264338 +-1.004416 -1.770058 -0.278394 +-1.000532 0.261381 -0.344934 +-0.994438 -0.105285 -0.123173 +-0.997105 0.431357 -0.323004 +-1.005760 -2.702301 -0.168132 +-0.987893 -0.571302 -0.371295 +-1.008692 0.495264 -0.378896 +-0.985128 0.503439 -0.208717 +-0.978186 0.944966 -0.280062 +-0.997931 1.323758 -0.206417 +-0.990574 0.862861 -0.382144 +-1.003525 1.750610 -0.116340 +-1.004934 0.758659 -0.164411 +-1.004496 0.227170 -0.149205 +-1.008955 0.638420 -0.358745 +-1.009669 -2.400000 -0.314602 +-0.995449 -1.380737 -0.299613 +-1.018629 0.168589 -0.256876 +-0.999683 2.254318 -0.294205 +-1.018059 1.077293 -0.391700 +-1.011931 -2.458686 -0.277054 +-0.994003 0.546498 -0.316585 +-1.022437 -1.677101 -0.292463 +-0.999217 1.402071 -0.342327 +-1.001747 1.964869 -0.316030 +-0.998507 0.557894 -0.207897 +-0.991739 0.542615 -0.284148 +-0.988381 -0.979479 -0.278338 +-1.013391 -0.325954 -0.249330 +-0.978121 2.179617 -0.173450 +-1.003708 1.340878 -0.289624 +-1.001329 0.083230 -0.223173 +-0.999822 -0.780220 -0.097049 +-1.001877 -2.689559 -0.254422 +-0.992327 -2.147680 -0.138908 +-1.001856 -1.827844 -0.160088 +-0.985035 -0.767186 -0.371906 +-1.006522 2.667115 -0.269103 +-0.993385 0.033428 -0.197896 +-0.991197 -1.573642 -0.109824 +-1.018352 -2.360506 -0.265799 +-1.001311 -0.964605 -0.376728 +-1.002689 1.893383 -0.216700 +-0.999699 -0.712300 -0.373990 +-0.998608 1.623741 -0.190167 +-0.993645 1.823075 -0.251378 +-0.997063 -2.333194 -0.176946 +-0.993953 0.625901 -0.141596 +-0.994821 2.750472 -0.210954 +-0.992493 -0.586362 -0.201189 +-0.988730 -2.695521 -0.175609 +-1.028503 2.536551 -0.160796 +-0.997788 2.303526 -0.132325 +-0.986033 0.132586 -0.366267 +-0.997675 0.300417 -0.238764 +-1.003727 -1.723632 -0.344592 +-1.002980 1.915094 -0.146377 +-0.991886 -0.001987 -0.193815 +-1.003310 -2.784708 -0.287573 +-1.013884 1.085952 -0.343477 +-0.987976 2.696956 -0.303060 +-1.002160 1.980631 -0.193643 +-1.005334 -1.350265 -0.344409 +-0.988225 -2.679140 -0.379324 +-0.987639 2.636256 -0.119392 +-0.985964 2.622936 -0.185722 +-0.977105 0.198365 -0.343300 +-0.990439 0.860928 -0.299197 +-1.006624 -0.221215 -0.120238 +-0.993337 -0.481637 -0.184735 +-1.001464 -2.285819 -0.225526 +-0.992096 -2.404586 -0.313278 +-0.994465 -1.599285 -0.310181 +-1.015266 2.006829 -0.395953 +-1.021390 -2.110926 -0.177778 +-1.000300 -1.661711 -0.405286 +-1.000023 0.311389 -0.405529 +-0.991362 -1.714012 -0.180599 +-0.987853 -2.024220 -0.122239 +-0.985819 0.380353 -0.162137 +-1.006853 -0.777374 -0.255772 +-0.995652 0.758272 -0.259241 +-1.000017 2.468806 -0.259564 +-1.002031 -2.109006 -0.319401 +-1.017267 2.486782 -0.255001 +-0.996999 2.416306 -0.271302 +-0.995616 1.976109 -0.247647 +-1.003236 0.791967 -0.114161 +-0.983135 0.707248 -0.104994 +-1.015661 0.850475 -0.366248 +-0.996494 1.144634 -0.270789 +-0.987887 -2.889526 -0.341221 +-1.003492 2.756227 -0.286203 +-1.001906 0.510110 -0.302425 +-0.983359 1.681301 -0.350273 +-0.996491 -0.731443 -0.176001 +-0.981165 -2.921396 -0.245800 +-0.982411 0.053917 -0.125111 +-1.012533 0.041417 -0.405112 +-0.992522 -0.373864 -0.382677 +-1.001004 -0.954083 -0.290376 +-0.997958 -1.494048 -0.393740 +-0.993151 0.148529 -0.322357 +-1.011634 -0.734019 -0.115762 +-1.016502 2.820925 -0.341449 +-1.015046 -1.957178 -0.360480 +-1.010362 -1.087759 -0.219886 +-0.987045 -1.225209 -0.252133 +-1.024273 0.263764 -0.211163 +-0.987662 0.000311 -0.298874 +-1.005253 0.881781 -0.166139 +-1.011478 2.709436 -0.362737 +-1.011818 -1.273394 -0.266872 +-1.003818 1.145172 -0.172597 +-1.000244 -2.835785 -0.130593 +-1.005209 -1.430799 -0.274665 +-0.985375 -0.236451 -0.224179 +-1.001212 -2.824364 -0.376641 +-1.013496 0.701352 -0.356889 +-1.004998 1.069149 -0.389414 +-0.984268 1.485323 -0.163690 +-1.001601 0.093959 -0.295998 +-1.005781 0.621885 -0.175676 +-1.012377 -0.616496 -0.374247 +-0.987307 -2.743581 -0.128236 +-1.001104 -2.408916 -0.128241 +-1.015267 0.915710 -0.367670 +-0.983750 2.975227 -0.382880 +-1.019958 -2.910176 -0.401853 +-0.992196 0.330029 -0.156689 +-0.994860 1.516671 -0.331179 +-0.994298 1.966027 -0.237672 +-1.010947 0.276878 -0.265996 +-0.991060 0.722617 -0.173027 +-0.993097 1.180336 -0.258158 +-1.002946 2.146895 -0.240913 +-1.014181 -2.276198 -0.106560 +-0.983863 2.567636 -0.371370 +-0.986487 -2.830401 -0.162529 +-1.025215 2.016476 -0.373251 +-0.984087 -2.548266 -0.239186 +-1.022279 -1.835911 -0.138272 +-0.988477 -2.963652 -0.190894 +-1.013505 -0.319834 -0.189345 +-1.016712 -1.014515 -0.310625 +-1.001801 -2.016894 -0.276509 +-0.996360 -0.294288 -0.305546 +-0.981144 -0.575733 -0.246921 +-1.002951 1.609561 -0.272628 +-0.996773 2.345474 -0.302636 +-1.011686 0.904223 -0.291899 +-0.999408 -2.251464 -0.344858 +-1.005970 -1.223043 -0.288544 +-1.021540 2.481981 -0.351352 +-0.987162 -2.474145 -0.160789 +-1.009968 -0.569836 -0.211997 +-1.027167 2.650544 -0.345606 +-0.999928 2.712952 -0.208260 +-1.016020 -0.518409 -0.144688 +-0.998967 0.993200 -0.327731 +-1.011459 -0.247658 -0.327542 +-0.995161 1.514414 -0.422751 +-1.016845 -2.794963 -0.396117 +-1.003708 -2.128504 -0.156502 +-1.001996 0.681146 -0.103128 +-1.006276 -1.610425 -0.382417 +-0.998147 1.017630 -0.171190 +-0.988489 -0.903375 -0.373190 +-1.007230 2.323828 -0.215475 +-0.999501 1.939630 -0.158898 +-0.988228 -0.035330 -0.274605 +-1.014370 1.651073 -0.406632 +-1.005643 -1.367559 -0.209111 +-1.011536 -0.039567 -0.101651 +-1.001864 -1.806567 -0.288355 +-0.995807 2.157965 -0.356118 +-1.003253 1.929003 -0.358147 +-0.995480 2.408266 -0.213574 +-1.007354 2.263668 -0.214675 +-0.991079 2.770353 -0.158034 +-0.989491 -1.636634 -0.164897 +-0.990953 2.606075 -0.148922 +-1.009072 0.435511 -0.184782 +-0.995080 -0.454431 -0.331584 +-1.004302 0.351502 -0.238452 +-1.004926 -0.951214 -0.318153 +-1.002710 -1.271513 -0.282323 +-1.003942 -1.548672 -0.126186 +-1.005896 -2.522476 -0.211145 +-1.012070 -0.018774 -0.096861 +-1.017867 2.321079 -0.288595 +-1.002643 0.791669 -0.243238 +-1.000475 0.140406 -0.249286 +-1.007601 -0.426853 -0.376089 +-0.995795 -0.208437 -0.342661 +-0.998249 -1.745512 -0.236262 +-0.991687 1.942390 -0.382820 +-0.990667 -1.818433 -0.133767 +0.641345 -0.514138 0.491785 +0.711966 0.131987 0.493528 +0.564598 -1.103964 0.504093 +0.784771 -2.374827 0.505952 +0.342368 -0.509963 0.491860 +0.800713 -2.250489 0.489787 +0.681748 -0.541210 0.498966 +0.728907 0.323083 0.505207 +0.641305 2.566345 0.503689 +0.787906 -2.776707 0.495833 +0.885044 0.729560 0.502478 +0.437088 -0.255390 0.489173 +0.755359 -2.873725 0.502008 +0.696774 -1.485918 0.493756 +0.475110 -2.296429 0.511090 +0.853893 -1.702166 0.516610 +0.420231 -1.361351 0.496258 +0.563700 -0.582931 0.489420 +0.183361 0.176272 0.494924 +0.304198 -2.991723 0.499382 +0.784465 -2.032436 0.510074 +0.400565 -2.443138 0.510491 +0.430969 0.290307 0.491102 +0.302459 -1.031781 0.497314 +0.502052 0.284945 0.480346 +0.731643 -1.668961 0.481366 +0.813160 -2.868545 0.516399 +0.177743 2.637619 0.502568 +0.550253 -2.353245 0.518035 +0.469152 -2.241708 0.490575 +0.602887 -2.153352 0.495572 +0.457362 2.881048 0.508635 +0.430936 0.691841 0.520935 +0.463272 0.674626 0.501498 +0.560562 2.916095 0.499665 +0.502871 -2.478569 0.497661 +0.470009 2.834855 0.491827 +0.742769 -1.780123 0.504325 +0.697725 0.758172 0.477895 +0.377796 -0.479434 0.508157 +0.747626 -0.697939 0.501727 +0.775480 2.593597 0.481211 +0.230562 -2.104865 0.495129 +0.563821 2.980822 0.512973 +0.360585 -0.713051 0.494347 +0.697636 0.899383 0.490748 +0.278420 2.806808 0.508077 +0.621005 -2.661603 0.505727 +0.304517 2.551349 0.485886 +0.532437 0.391488 0.479708 +0.858328 1.215037 0.499612 +0.404309 -2.106853 0.491576 +0.804917 0.197151 0.511037 +0.887752 1.031436 0.483123 +0.798160 -0.275208 0.486500 +0.237967 -2.087866 0.514122 +0.757324 -1.535724 0.489652 +0.133363 2.126328 0.493139 +0.416640 -2.810002 0.483647 +0.785385 1.256668 0.499967 +0.661492 2.987140 0.505747 +0.525054 -2.964532 0.503853 +0.409631 -2.040017 0.500420 +0.748542 1.043329 0.495874 +0.654597 -2.639307 0.491973 +0.464521 0.536333 0.507340 +0.815844 1.098689 0.494287 +0.290317 0.504911 0.507974 +0.217573 -0.823046 0.494857 +0.635944 1.200468 0.507065 +0.881161 0.547144 0.501568 +0.292313 -1.762344 0.501548 +0.295025 0.387506 0.480640 +0.212349 2.282652 0.495904 +0.791497 0.989827 0.501642 +0.278995 -0.175857 0.495294 +0.500997 -1.078174 0.500071 +0.889916 -2.490796 0.515898 +0.113865 -1.536064 0.501459 +0.534921 -2.937247 0.496799 +0.497363 2.923629 0.494944 +0.742403 -1.670794 0.529591 +0.377599 1.868569 0.484001 +0.435866 -1.974766 0.493182 +0.247140 -1.290977 0.498105 +0.690048 -0.488527 0.508775 +0.731740 -1.060334 0.498258 +0.229143 1.792617 0.508693 +0.420164 2.748894 0.501087 +0.823298 2.258953 0.502639 +0.095228 -2.074677 0.499330 +0.335925 1.686920 0.484609 +0.553619 -2.120945 0.501312 +0.392961 2.470663 0.492761 +0.317461 0.098799 0.508841 +0.462685 -0.975173 0.486708 +0.227150 -2.060137 0.484315 +0.538883 -2.944443 0.489623 +0.669493 -1.518182 0.484816 +0.580636 2.474104 0.498037 +0.172396 1.790676 0.504624 +0.767259 2.815504 0.497731 +0.247472 -2.407114 0.520181 +0.704258 0.552985 0.488400 +0.375470 -1.465841 0.490295 +0.722067 0.247861 0.506956 +0.257188 -1.086209 0.496070 +0.259258 -1.297058 0.499003 +0.483290 0.431645 0.487216 +0.139417 -1.894785 0.491384 +0.274594 -0.193452 0.491141 +0.683813 0.901998 0.520812 +0.782410 -2.217813 0.506714 +0.160402 2.589544 0.496512 +0.821965 0.038391 0.502624 +0.739285 1.934571 0.485662 +0.814130 0.921571 0.485939 +0.651221 1.243498 0.506537 +0.628940 1.298472 0.511342 +0.513354 2.247918 0.486966 +0.618346 0.707373 0.507779 +0.832640 -1.336814 0.499574 +0.181718 -2.407133 0.505301 +0.343077 0.627920 0.503702 +0.146278 -2.594593 0.499857 +0.837565 -1.551144 0.483149 +0.463146 -2.638244 0.518511 +0.650989 0.282719 0.479793 +0.765345 -2.050184 0.518257 +0.892697 0.671778 0.497150 +0.227629 1.744864 0.511065 +0.742726 1.920711 0.516225 +0.807010 -1.147294 0.471705 +0.145444 0.294737 0.500999 +0.699244 0.372312 0.496304 +0.388412 -0.156286 0.497690 +0.628367 0.929894 0.494958 +0.513223 -1.753071 0.502327 +0.292372 2.865182 0.479813 +0.206426 -2.395425 0.498829 +0.199994 1.998850 0.504041 +0.175006 0.558300 0.500007 +0.603903 -1.536452 0.509853 +0.391390 1.457581 0.491818 +0.268667 -2.487124 0.511431 +0.680528 1.641850 0.495843 +0.655365 0.533089 0.498590 +0.527184 -2.361715 0.501232 +0.846143 -2.510254 0.500055 +0.395784 1.502437 0.479089 +0.756581 -1.236030 0.497527 +0.169337 2.316142 0.497575 +0.687110 1.581997 0.506728 +0.897180 1.204556 0.496319 +0.790629 -1.338806 0.489191 +0.571259 1.238620 0.505728 +0.602426 2.699605 0.499406 +0.383192 -2.445548 0.493374 +0.636526 -1.038280 0.499707 +0.712243 -1.592794 0.515946 +0.894153 -0.645219 0.482926 +0.493547 1.460565 0.508362 +0.150125 -0.144986 0.507312 +0.587816 0.434227 0.515700 +0.193522 -1.128341 0.506637 +0.303618 -2.136564 0.512813 +0.382479 -1.392200 0.502288 +0.670974 2.161163 0.494475 +0.249162 0.615047 0.504717 +0.231629 -0.722718 0.472768 +0.137871 1.751461 0.518700 +0.805912 -2.596406 0.501689 +0.654833 -1.471359 0.499968 +0.124134 -1.624534 0.488878 +0.127918 2.912301 0.496397 +0.541273 1.241642 0.507804 +0.314722 0.693839 0.509545 +0.563630 -2.964615 0.516169 +0.463876 -1.886761 0.507088 +0.861169 0.789904 0.495357 +0.338732 -0.725057 0.512398 +0.642923 2.547000 0.497253 +0.138018 1.582874 0.502712 +0.856943 -0.306164 0.506532 +0.895600 1.485801 0.483005 +0.691218 2.881414 0.512662 +0.466626 -0.229870 0.507276 +0.262311 0.868852 0.498326 +0.749106 2.512226 0.511445 +0.681531 -1.525022 0.503230 +0.257127 2.316336 0.511869 +0.466763 -2.404308 0.506204 +0.494343 0.884807 0.503981 +0.756747 1.706597 0.499384 +0.664264 0.682329 0.514071 +0.620465 -0.027116 0.505424 +0.622475 0.707642 0.497931 +0.309360 -2.093369 0.483169 +0.405788 -1.718927 0.497824 +0.143010 -1.372210 0.482253 +0.728634 0.591273 0.500520 +0.459839 -0.356812 0.479510 +0.458694 -1.538516 0.482415 +0.294700 2.309162 0.487367 +0.290902 -0.764848 0.500870 +0.558066 -0.323394 0.498663 +0.271147 -0.513535 0.495047 +0.146422 -1.898652 0.518143 +0.725270 1.377750 0.502139 +0.382362 -0.300233 0.483648 +0.396156 -2.902489 0.504450 +0.442445 2.799273 0.507232 +0.758483 1.882288 0.516994 +0.348639 1.358732 0.520222 +0.711556 2.224871 0.469171 +0.849686 2.451865 0.509245 +0.616497 -0.977999 0.474636 +0.449475 0.646919 0.511305 +0.710059 0.648103 0.505213 +0.464147 -1.393783 0.488527 +0.006225 2.638644 0.148286 +-0.001219 -1.087069 0.136895 +-0.006495 -1.445509 0.299400 +0.002329 2.998426 0.344305 +0.005760 1.316558 0.335646 +-0.018246 -2.733686 0.194122 +-0.001977 -2.622889 0.161778 +0.005819 -2.859447 0.235977 +-0.013411 0.601582 0.245261 +0.003483 -2.585303 0.371891 +0.008949 2.602604 0.345990 +-0.006724 2.606426 0.357870 +0.001177 0.281927 0.359485 +0.006026 0.699714 0.386640 +-0.010731 -1.253034 0.226437 +-0.008452 -2.615275 0.113064 +0.030647 1.411305 0.123818 +-0.014237 -2.393162 0.213612 +0.008449 -2.491151 0.175393 +-0.004303 -1.146672 0.144461 +-0.003819 -2.924468 0.391551 +-0.002346 -0.398308 0.141418 +0.005397 1.239126 0.395285 +0.013164 1.806214 0.318019 +-0.000167 0.629331 0.289129 +-0.005640 2.086880 0.307781 +-0.003463 -0.577527 0.204006 +-0.007673 2.094776 0.295440 +-0.018889 0.039651 0.161153 +0.006372 -1.660610 0.361540 +0.012771 2.668984 0.178505 +-0.007878 -1.347862 0.183354 +-0.004880 -2.834536 0.295421 +-0.010425 -1.564599 0.287961 +0.015081 -0.779297 0.237736 +-0.006384 -0.894118 0.294467 +-0.015630 0.142280 0.162197 +-0.010457 2.291271 0.302130 +0.002831 -1.252221 0.181953 +0.006079 0.144238 0.180588 +-0.000413 -0.943892 0.143162 +-0.013244 1.933141 0.210475 +0.003610 -2.055361 0.184891 +-0.000584 -2.366607 0.223913 +-0.002447 0.014097 0.150149 +0.002479 1.035759 0.162231 +-0.009768 1.756691 0.265145 +-0.005059 0.556132 0.157508 +0.019907 1.633698 0.312363 +0.008710 -0.636156 0.379640 +0.012792 -2.802789 0.229320 +-0.015378 -2.296957 0.367727 +0.004648 -2.765313 0.131304 +-0.000457 -1.018472 0.110898 +-0.014552 -0.021362 0.308321 +-0.013243 -0.872318 0.331140 +-0.000965 0.342270 0.349081 +0.011692 -0.120858 0.115391 +0.010430 1.075612 0.343290 +-0.027726 1.019108 0.219326 +0.024615 -1.099438 0.173367 +0.000072 -0.925467 0.158444 +0.010749 0.510014 0.396398 +0.005227 0.576032 0.115699 +0.010371 -1.099203 0.358942 +-0.001682 -1.039491 0.290366 +-0.007580 1.162973 0.313813 +-0.000207 0.874072 0.300708 +0.012227 -2.199392 0.357534 +0.009545 -0.344606 0.163086 +0.003029 2.363477 0.113978 +0.004250 -2.800538 0.274273 +0.006964 2.124713 0.222359 +-0.000632 -2.020079 0.148384 +-0.001828 0.045255 0.164833 +-0.014723 -0.456834 0.207816 +0.000656 -2.924551 0.105311 +-0.016900 2.500078 0.125732 +-0.001933 -0.266445 0.382260 +-0.008139 2.718541 0.195528 +0.009041 -1.291196 0.392690 +-0.002442 2.201834 0.389223 +-0.005459 2.546823 0.137379 +-0.002921 0.325080 0.307341 +0.005161 -1.780727 0.286237 +0.005510 1.132362 0.299716 +-0.016194 0.283363 0.121821 +-0.009743 2.668115 0.169095 +0.015397 -0.359325 0.144404 +-0.003564 -1.405243 0.291772 +-0.018386 -2.177828 0.401178 +-0.001024 1.189892 0.289787 +-0.000108 2.854694 0.313428 +-0.008302 -2.842413 0.387280 +0.003923 1.446108 0.295398 +-0.022108 2.565782 0.103077 +0.006891 -2.558872 0.350223 +0.001532 -2.315403 0.216894 +0.001362 1.155331 0.083798 +-0.011223 0.862671 0.269469 +0.015274 -2.583107 0.382456 +-0.015516 2.004344 0.195123 +0.001314 0.134897 0.229873 +0.013803 2.442483 0.134566 +-0.009243 2.255170 0.115990 +0.002073 1.870014 0.131934 +0.000788 0.106017 0.314531 +0.030453 -1.495381 0.350189 +-0.010263 0.033744 0.125794 +0.002946 -2.414185 0.188112 +-0.013513 0.949264 0.164554 +0.023040 -2.206917 0.106554 +-0.007238 0.058339 0.258880 +0.008241 -2.678589 0.332470 +0.004160 -1.213025 0.290696 +-0.008018 -1.599517 0.200028 +-0.013410 0.714274 0.273333 +0.012331 1.734526 0.133528 +-0.000829 -2.648236 0.134846 +-0.018447 2.106068 0.369482 +-0.000653 2.165802 0.330934 +0.009378 -0.938065 0.378772 +-0.004420 0.955102 0.369042 +-0.001964 -0.558140 0.296640 +0.004502 -2.081909 0.388672 +0.007603 0.179648 0.227160 +0.010342 -2.469125 0.103916 +-0.001146 2.279779 0.109730 +-0.007180 2.545206 0.115433 +0.008276 1.920050 0.123891 +-0.002133 0.375562 0.202074 +-0.000674 0.344995 0.305911 +-0.007732 2.918459 0.316151 +-0.002057 -1.517279 0.281252 +-0.014543 -2.549308 0.142907 +0.010701 0.374967 0.312536 +-0.004875 -1.018426 0.194433 +-0.000786 -1.066059 0.100040 +0.026958 -2.961615 0.188674 +-0.007663 0.582714 0.207888 +-0.005880 -1.416345 0.173321 +-0.011444 -1.862481 0.338021 +-0.024136 -2.739755 0.319957 +-0.002464 -0.797421 0.307248 +-0.001633 2.261532 0.125353 +-0.001664 -0.976347 0.345405 +-0.004813 1.074648 0.284781 +0.004602 1.540896 0.178188 +0.000075 -1.040822 0.293921 +-0.003278 1.934191 0.245322 +-0.012599 1.134920 0.234434 +0.013831 0.356247 0.141770 +0.010128 -2.991377 0.247346 +0.001953 -2.777385 0.135278 +0.007482 2.940570 0.147252 +-0.001187 1.693190 0.151443 +-0.023472 2.625697 0.385438 +-0.013715 2.420537 0.178214 +-0.003570 -2.858854 0.216661 +0.005745 1.754892 0.194977 +0.019994 -0.285104 0.361980 +-0.014001 1.743018 0.268331 +-0.014289 -2.955420 0.373058 +0.005307 -1.266387 0.183895 +0.006328 1.502964 0.130122 +-0.005323 1.769434 0.264060 +0.013724 0.736122 0.196274 +-0.029210 -1.182018 0.337152 +-0.008662 -1.143712 0.359679 +0.012972 2.802183 0.254608 +0.004942 -0.367819 0.387504 +0.005616 -0.309042 0.275872 +-0.002615 0.315749 0.187117 +-0.003840 -0.554335 0.238630 +-0.002410 0.322651 0.123783 +-0.013560 -0.411961 0.337622 +0.007947 1.955008 0.126133 +-0.014120 2.459140 0.191011 +-0.006540 2.590066 0.280865 +-0.010049 0.377361 0.125415 +0.000758 -0.340411 0.127813 +-0.000353 1.227957 0.317150 +0.011623 2.040783 0.109678 +0.013049 0.374314 0.235575 +-0.001693 1.208197 0.207013 +-0.002554 1.506753 0.169822 +-0.005730 1.051282 0.160736 +-0.000825 1.463046 0.337495 +-0.004803 -1.732207 0.371433 +-0.001807 -0.016752 0.132300 +-0.004868 0.547317 0.389338 +-0.007917 -3.003419 0.261215 +-0.005365 2.129438 0.290258 +-0.022722 0.659230 0.323255 +0.016228 -2.244127 0.303222 +-0.008542 1.899600 0.333746 +0.016823 1.302777 0.243809 +0.015927 1.549637 0.264011 +-0.007508 -0.661450 0.191044 +0.021870 2.131545 0.134323 +-0.009764 -0.506722 0.285815 +-0.015671 0.417466 0.129628 +0.018979 -3.000659 0.175949 +-0.016404 0.870019 0.129889 +0.007896 1.318162 0.155244 +0.005560 0.395650 0.296990 +-0.005072 -0.016053 0.292328 +0.000688 1.867564 0.210612 +-0.010649 1.085536 0.112619 +-0.004069 -1.335302 0.243109 +0.001425 2.764734 0.208840 +-0.005357 1.244940 0.323432 +0.011934 2.926311 0.257233 +-0.017178 2.824304 0.224091 +0.017951 2.519428 0.239738 +-0.011096 1.542510 0.378753 +-0.010182 0.648917 0.328029 +0.006208 -1.955049 0.259544 +0.000008 0.270314 0.237057 +-0.018209 1.585548 0.099881 +1.510366 -1.742431 0.995389 +1.800792 -1.849085 0.982747 +1.174847 2.131062 1.007657 +1.402703 0.057298 1.007167 +1.514335 -2.459366 0.991838 +1.448563 1.299784 0.997590 +1.181745 -1.489724 1.002499 +1.233180 2.271732 1.004590 +1.765029 -1.132166 1.004657 +1.513541 -1.795274 1.006977 +1.141882 -2.491840 0.997412 +1.116135 0.074399 1.011544 +1.481869 -0.300203 0.996731 +1.218274 1.524485 0.994588 +1.673775 -0.209619 1.003037 +1.735084 -0.944982 0.990315 +1.299922 -1.428931 1.011253 +1.587591 -1.335228 1.004235 +1.224006 2.555515 0.998145 +1.348741 -2.014519 0.996752 +1.809303 2.950174 0.981660 +1.540295 -1.041017 0.993593 +1.805932 -2.462985 1.007245 +1.282058 -1.496930 1.012688 +1.372183 -2.654976 1.004944 +1.481754 1.732022 0.984306 +1.463836 0.076016 1.002980 +1.886301 -0.967620 1.001522 +1.205051 0.976003 0.989337 +1.786155 0.790580 0.994524 +1.776525 2.640235 0.989992 +1.553768 2.763491 1.017246 +1.353988 1.085451 1.014294 +1.506478 1.905304 0.995970 +1.327137 1.756997 0.987046 +1.738176 -0.047019 0.997849 +1.488621 1.237052 1.007303 +1.830262 -2.543387 0.990481 +1.603606 1.550882 1.007901 +1.508194 2.761751 1.009188 +1.663321 -2.488286 0.984501 +1.497448 2.026789 0.992837 +1.831750 2.574570 0.994406 +1.245843 -1.625441 0.988309 +1.885389 0.159436 0.992785 +1.746017 2.568566 0.985185 +1.784036 2.774117 1.005226 +1.484759 -2.231575 1.005809 +1.777485 -0.911539 1.015347 +1.358583 1.195640 0.991570 +1.699356 -1.673915 1.000608 +1.194675 -1.046429 1.012875 +1.351406 -2.867014 0.992056 +1.459585 -2.080403 1.004430 +1.363873 0.384896 0.988679 +1.411830 0.914906 0.999014 +1.764728 0.903202 1.013984 +1.309597 1.669063 0.997471 +1.678877 -0.494914 0.996781 +1.164029 -1.352266 0.987547 +1.703358 -2.891046 1.002904 +1.727813 -1.761485 1.010862 +1.430702 -1.140334 1.016343 +1.687644 -1.932284 0.988083 +1.842651 -2.874369 0.985422 +1.738250 -2.024053 1.000165 +1.404938 0.986512 1.017721 +1.495848 0.791587 1.002482 +1.736026 2.605619 1.001626 +1.336946 1.802834 1.003188 +1.736851 0.407177 0.983236 +1.339247 -2.166348 0.996253 +1.742178 0.392740 1.013970 +1.174785 -2.611149 1.005027 +1.138540 -0.412287 0.987145 +1.907700 -0.682903 0.994137 +1.795795 -0.441015 0.995482 +1.824672 -1.310004 0.993142 +1.856328 1.102213 1.007050 +1.448156 2.026002 1.001008 +1.333858 1.620733 0.999266 +1.200293 0.786375 1.000066 +1.508163 0.224673 1.006899 +1.261482 -2.818116 0.987917 +1.842391 1.350109 0.993877 +1.110385 0.285070 0.999724 +1.224495 -1.370243 1.001164 +1.304684 -1.014548 0.993627 +1.249573 2.603462 1.009944 +1.291916 0.740803 0.978640 +1.618091 -0.139047 0.999333 +1.363813 0.720297 1.010141 +1.595451 -0.511681 1.001591 +1.817450 -0.174321 0.990719 +1.585776 -1.250229 1.011551 +1.659787 -0.370533 0.991887 +1.388051 1.115448 0.998778 +1.216553 -2.771646 0.979015 +1.325273 1.768847 1.023202 +1.889394 -1.311905 1.001499 +1.582803 1.082238 0.988025 +1.319754 0.854527 1.002527 +1.467364 0.912399 1.000362 +1.757472 0.635329 0.985010 +1.641247 2.751232 0.981289 +1.547891 0.037577 1.016604 +1.802342 1.400730 1.010890 +1.628402 1.233456 1.005535 +1.615339 -1.578784 0.986704 +1.257355 -1.305027 1.003495 +1.194311 -0.449209 1.003487 +1.878535 -1.326928 1.014955 +1.578746 -0.797902 1.009321 +1.427643 -0.667589 1.004932 +1.569156 0.611112 1.005005 +1.163761 -1.696957 1.010223 +1.732331 1.821748 1.018405 +1.270033 -0.373882 1.007629 +1.726472 1.238186 1.000642 +1.546126 -2.523703 0.996185 +1.311974 -0.190552 1.011274 +1.124434 -2.836238 0.994822 +1.747034 1.050722 0.987356 +1.238581 -0.941332 0.992422 +1.142995 2.697916 0.994434 +1.703261 -1.033669 1.021204 +1.369494 0.373691 0.989406 +1.422038 -1.459660 1.002397 +1.317624 0.720571 1.007062 +1.792547 -0.203628 1.010592 +1.329367 -0.762832 0.994125 +1.263374 -1.788749 0.990757 +1.343132 -2.355186 0.997667 +1.257440 -2.272825 1.004230 +1.347048 2.989655 0.997654 +1.181208 -0.534359 0.992802 +1.215538 -3.003242 1.003070 +1.435671 2.730400 1.010414 +1.827545 -2.880859 0.997395 +1.132830 -0.481517 1.001185 +1.276652 1.293474 1.003516 +1.828729 2.488986 0.993167 +1.823905 1.297821 0.988897 +1.650765 -0.247024 1.006686 +1.273677 2.841403 0.986870 +1.433692 -2.755696 0.981427 +1.265382 2.916219 1.015810 +1.207188 2.084577 0.995287 +1.419560 2.580724 0.990818 +1.557987 -1.473716 0.994620 +1.370844 -2.152028 1.013892 +1.584848 0.978859 1.001405 +1.359185 0.095245 1.010939 +1.370699 0.136414 1.000126 +1.724797 2.545678 1.008880 +1.794648 0.720486 1.007087 +1.349383 -1.122663 1.000729 +1.555561 -0.619682 0.996264 +1.326246 -2.181571 1.005679 +1.153930 -1.858207 0.998732 +1.702493 -2.148777 1.009652 +1.244136 1.864495 0.996713 +1.430707 1.246995 1.006319 +1.493043 0.177942 1.000379 +1.249224 -0.749794 1.007343 +1.167820 0.996300 1.000843 +1.360938 1.874195 0.994908 +1.866746 2.307225 0.980554 +1.614850 0.279767 1.003478 +1.390980 1.929279 1.000415 +1.130514 0.048462 1.000738 +1.588677 -0.155182 1.011742 +1.185135 2.186180 1.015951 +1.534488 -0.681259 1.000990 +1.702254 -0.650825 0.998145 +1.425229 -1.154269 1.015861 +1.348049 0.109826 0.989920 +1.131332 0.288527 0.993078 +1.096266 0.973069 1.015005 +1.460613 -0.406603 1.012015 +1.807206 -1.713739 1.000279 +1.301466 2.199700 0.998192 +1.549603 -0.934012 1.018381 +1.666188 2.537634 1.002815 +1.138855 -1.749454 1.017596 +1.207188 0.364984 1.005390 +1.370298 0.236119 1.020360 +1.633740 1.978619 1.000842 +1.444907 -2.164184 1.006715 +1.689525 2.450811 0.995364 +1.789519 0.180145 1.003135 +1.710879 0.526451 0.991424 +1.888023 0.076543 0.998355 +1.703790 -2.785602 1.011330 +1.793461 -0.006324 1.000266 +1.757169 -1.399450 1.008563 +1.679646 -0.929633 0.994644 +1.755548 0.909392 0.990785 +1.853564 -0.005995 1.026149 +1.472743 -2.426365 1.000173 +1.598216 -2.562952 1.000025 +1.501363 -1.882932 1.009578 +1.783212 -1.860108 0.998515 +1.445042 0.651978 1.011098 +1.758501 -1.947140 0.994377 +1.741144 2.301558 1.012978 +1.887256 -1.740130 1.007633 +1.284592 -2.448913 0.989247 +1.667070 2.284775 1.003036 +1.696898 -1.223957 0.994829 +1.839415 -0.426433 1.010668 +1.828977 2.750240 0.996892 +1.574245 2.669281 0.969172 +1.587532 1.291332 1.003434 +1.244700 -2.581712 1.007469 +1.875733 0.547743 1.002802 +1.318330 2.927989 0.992720 +1.691999 2.676925 0.995894 +1.732905 -2.364635 0.984264 +1.447579 -0.621893 1.002232 +1.011580 1.372895 0.709786 +1.009147 -2.237171 0.632688 +1.000179 1.202398 0.816659 +1.006231 -0.095318 0.690023 +1.012609 2.521590 0.703140 +0.991661 1.832431 0.620295 +1.002571 -2.369994 0.735245 +0.994960 -2.194073 0.638454 +1.004339 -2.585408 0.722393 +1.000532 -0.036608 0.634517 +0.997574 -2.510693 0.878534 +0.983422 1.326704 0.639314 +0.986816 0.310674 0.773216 +0.986214 2.012484 0.680417 +1.004081 -1.324903 0.621340 +1.004294 0.131802 0.655384 +0.992424 -2.308910 0.617463 +0.985943 2.303022 0.632732 +1.010741 -1.955054 0.752015 +0.983959 -2.384511 0.783513 +0.995744 -1.747584 0.635524 +0.998716 1.869378 0.723154 +1.011652 -2.380440 0.771935 +0.986522 0.689138 0.670827 +0.996923 1.488008 0.705953 +1.003268 1.514693 0.606718 +0.992516 -1.859096 0.672341 +1.014212 -2.632415 0.736861 +0.991274 -0.303862 0.894161 +0.997260 -1.786027 0.904396 +0.994363 1.187903 0.898204 +0.969743 -0.865880 0.715413 +1.012033 -0.308286 0.618597 +0.999514 -2.325044 0.693046 +1.000971 0.401081 0.667022 +0.989898 -1.898393 0.604844 +1.003066 1.059632 0.636169 +1.007640 -2.563240 0.738956 +1.006371 2.877218 0.698884 +0.989543 1.091821 0.671663 +1.017688 -1.918869 0.807557 +0.996760 -2.903190 0.694262 +0.980334 -0.971547 0.858684 +1.004544 -2.085171 0.676951 +0.984858 -1.697941 0.762570 +0.977291 2.233476 0.651600 +0.996973 0.613717 0.738631 +0.981780 -1.939807 0.642739 +0.986247 0.340582 0.645524 +0.995390 -1.486885 0.790495 +0.987669 2.857838 0.671053 +0.996113 -2.791934 0.657026 +1.011300 1.397214 0.882892 +0.982189 1.634807 0.610652 +1.012237 -2.602086 0.772193 +1.002258 -1.957207 0.763142 +1.008278 -0.711209 0.659042 +0.977167 2.216789 0.742568 +1.008968 0.215226 0.620686 +0.998790 0.946278 0.833319 +1.007938 1.701387 0.679863 +0.997442 1.964827 0.656725 +0.990213 -0.144043 0.683289 +1.010250 0.058196 0.885007 +0.983707 1.327052 0.823215 +0.988017 -1.426154 0.897145 +1.002256 2.124500 0.787662 +0.986241 -2.863953 0.806863 +1.013525 -1.821402 0.717588 +0.987554 1.805848 0.867859 +0.994412 -0.969483 0.762739 +1.004562 -2.095991 0.700182 +1.001763 -1.892849 0.790814 +0.974721 0.168857 0.760619 +1.023751 2.059082 0.624770 +1.002168 -2.558402 0.719839 +1.007021 -2.820491 0.688891 +1.000822 -0.215574 0.861293 +0.983937 2.746024 0.714046 +0.997853 -1.342371 0.836669 +1.011986 2.752937 0.735501 +0.991205 2.325797 0.812329 +1.000999 -1.297483 0.643791 +0.990964 1.898268 0.882767 +0.997886 1.112331 0.763203 +0.990490 0.081739 0.666393 +1.006548 -0.455422 0.667343 +0.987825 1.873312 0.673372 +1.005262 1.747700 0.710987 +0.985236 1.539279 0.803785 +0.999220 2.984525 0.872977 +0.993411 -0.138267 0.787572 +1.010827 1.837936 0.742128 +0.993767 2.184017 0.726966 +1.014977 -1.738951 0.853492 +1.010366 -2.743099 0.841152 +0.990575 -0.559809 0.679865 +1.009757 2.136117 0.887440 +0.986139 -1.271463 0.709782 +1.002256 1.200993 0.844650 +0.995095 -2.965214 0.891873 +0.989704 -0.857029 0.809952 +0.996739 0.697722 0.647702 +0.983419 -2.232071 0.786418 +1.000839 2.362826 0.639154 +0.994407 -2.071101 0.825294 +1.009999 2.439106 0.676019 +1.001201 -1.685881 0.814103 +0.991540 2.980966 0.859476 +1.002653 0.633370 0.645492 +1.006976 -2.499069 0.724809 +0.981604 -2.604987 0.790015 +1.011497 -2.550910 0.738390 +1.005076 0.538081 0.660322 +1.007941 1.862194 0.585798 +0.990174 -0.568383 0.709420 +1.008825 -0.323921 0.787505 +0.980048 0.530037 0.792975 +0.991367 0.190301 0.636897 +1.012148 1.125941 0.728949 +1.014135 -0.163491 0.701648 +0.987764 1.294746 0.682429 +0.984509 2.966033 0.807621 +0.987605 -0.918674 0.681901 +0.990809 -2.931334 0.778972 +0.997332 -2.247926 0.882060 +0.997627 0.325087 0.764589 +1.001226 -0.906789 0.794218 +0.989183 2.643598 0.614056 +1.004462 0.750925 0.642362 +1.003439 0.132108 0.635312 +1.008541 1.791975 0.831169 +0.994963 -1.440331 0.861025 +0.999369 1.917262 0.671851 +0.999796 -2.980876 0.670624 +0.999022 0.709861 0.700742 +0.999612 2.626966 0.785208 +0.994045 1.734450 0.789618 +1.013094 2.116561 0.807913 +0.999009 -0.617687 0.862706 +1.005759 1.949613 0.701364 +0.999900 0.300872 0.805521 +0.992058 0.722091 0.778745 +1.012573 -2.642742 0.686886 +1.001092 -1.786889 0.866623 +1.013331 0.311587 0.619723 +1.018829 -2.646220 0.802659 +0.991697 1.463559 0.836612 +1.010095 2.053535 0.886764 +1.005569 2.525465 0.760973 +1.007360 -2.396805 0.703806 +1.014586 2.636258 0.845190 +1.004766 -2.600776 0.818075 +1.011477 -0.160172 0.750279 +0.993899 2.054274 0.838889 +0.997593 -2.589932 0.676893 +1.005702 -2.888727 0.777943 +1.002117 -2.842726 0.859136 +1.004500 0.057752 0.720934 +0.997161 1.871616 0.750730 +0.995892 -2.235362 0.885270 +0.990860 -2.247953 0.822971 +1.017527 0.419211 0.872503 +0.982634 -1.602152 0.729468 +1.041512 1.393229 0.909321 +1.005250 2.689337 0.655721 +0.988988 1.584095 0.742896 +1.009757 2.262478 0.744791 +0.999846 0.106259 0.832822 +0.993796 1.979863 0.867543 +0.989187 -1.896804 0.825952 +0.987064 -2.592879 0.806605 +0.990192 0.939985 0.729284 +1.010929 -2.685330 0.748785 +1.000668 2.355702 0.751873 +0.986809 1.161756 0.616775 +0.989558 2.710197 0.748663 +0.988435 -1.135348 0.850085 +0.996436 -0.097462 0.814552 +1.011629 1.458563 0.837446 +0.981596 -1.536169 0.718609 +1.004243 0.270454 0.750444 +0.971252 0.946269 0.614906 +1.000269 2.860696 0.700702 +0.996454 1.455759 0.747531 +0.995886 -2.297486 0.668980 +1.002631 -0.147573 0.611392 +1.001801 0.531903 0.796791 +0.992696 -2.124208 0.751178 +0.986512 -0.412393 0.725686 +0.996967 -1.285225 0.671911 +0.997655 -2.278888 0.779456 +1.014075 0.070885 0.730913 +1.000467 -2.004731 0.733722 +1.009366 0.545291 0.773813 +0.987289 -1.981196 0.582965 +0.994183 1.335939 0.875179 +1.018798 -1.822831 0.635810 +1.006452 2.388961 0.753849 +0.992682 -2.850715 0.668900 +0.999963 0.134188 0.754648 +0.994037 -1.063164 0.673070 +1.006864 -1.644299 0.842212 +0.991692 -0.177010 0.724554 +0.996330 2.051261 0.777050 +1.023259 2.492375 0.679654 +0.994594 -1.187035 0.624949 +0.980833 -2.071752 0.709131 +0.995950 1.314462 0.751086 +1.000354 0.466312 0.734709 +0.999097 -1.807496 0.903736 +0.994055 1.559400 0.806130 +0.999184 0.126664 0.923431 +1.007456 0.931251 0.705682 +1.002489 -0.828263 0.844640 +1.001440 -0.361911 0.748453 +1.002921 -1.933385 0.767275 +1.001929 1.527954 0.895685 +1.001384 -2.056102 0.787155 +1.008987 1.668923 0.874056 +2.726442 -1.709640 1.510973 +2.706983 2.623691 1.494544 +2.105651 0.824983 1.486009 +2.317125 2.403935 1.492149 +2.473764 -2.346578 1.510551 +2.570320 0.731354 1.491540 +2.824003 2.102063 1.498649 +2.401033 -1.001729 1.513321 +2.783556 -1.822663 1.502257 +2.226128 -1.406595 1.482736 +2.411651 -1.357248 1.491348 +2.135972 -0.333838 1.496860 +2.689164 -1.057469 1.507767 +2.233290 -1.372629 1.496943 +2.309966 0.890877 1.489178 +2.713660 -2.684770 1.502482 +2.527867 -0.955714 1.484752 +2.117830 1.138546 1.525527 +2.097912 -1.941667 1.528292 +2.510469 -1.675109 1.490131 +2.359247 -1.807591 1.504271 +2.239514 -2.996337 1.485761 +2.604306 -0.160171 1.487849 +2.295276 -2.771289 1.503346 +2.582180 -1.357621 1.478034 +2.410366 2.967814 1.496710 +2.248306 2.494277 1.501922 +2.196840 -1.712404 1.501563 +2.300229 -1.148182 1.514516 +2.133334 -0.222067 1.488912 +2.332063 2.069199 1.492627 +2.833557 1.809080 1.490993 +2.767426 -2.249412 1.500085 +2.407463 -2.252135 1.501210 +2.562718 -0.516537 1.503918 +2.555488 2.229501 1.506058 +2.760971 2.302834 1.497074 +2.291504 -2.358916 1.504618 +2.333345 0.462259 1.520174 +2.350168 -2.050536 1.484608 +2.118482 1.113560 1.500412 +2.349768 2.482178 1.511516 +2.823873 -0.258574 1.510855 +2.831851 -2.509933 1.500725 +2.208764 0.472005 1.495450 +2.477520 -0.537163 1.491521 +2.402464 1.860373 1.500697 +2.502524 -0.965973 1.510897 +2.544792 2.272645 1.503188 +2.115238 -1.352050 1.496629 +2.755841 -2.057299 1.497437 +2.863008 -1.161848 1.479329 +2.619247 -2.788069 1.500970 +2.624251 -1.313380 1.492159 +2.522492 0.961287 1.490998 +2.370096 -2.143687 1.498338 +2.243393 -2.333217 1.497208 +2.563027 -2.215398 1.506859 +2.129091 -2.540370 1.494618 +2.749753 2.230302 1.495371 +2.445463 2.666661 1.515606 +2.439313 -2.715394 1.518826 +2.360765 1.561062 1.499885 +2.890921 1.422936 1.493517 +2.245810 2.973294 1.505335 +2.225185 -0.914670 1.505658 +2.217547 -1.285316 1.495372 +2.655445 -0.279949 1.494036 +2.879733 2.152505 1.496500 +2.280467 1.374925 1.506497 +2.830833 -0.170060 1.501592 +2.325214 -1.529259 1.504249 +2.629264 1.362659 1.491832 +2.130956 2.134699 1.482135 +2.478716 -0.591110 1.515201 +2.611004 1.012517 1.496005 +2.526448 -0.595673 1.487071 +2.279196 -0.132052 1.498546 +2.751538 0.157359 1.495824 +2.871891 1.657182 1.498711 +2.475732 2.855702 1.486026 +2.605638 -0.333201 1.487592 +2.718453 -0.944287 1.492422 +2.278666 -0.748801 1.493682 +2.803058 -2.196381 1.502948 +2.322046 -1.244919 1.488632 +2.719408 -2.477668 1.482103 +2.189143 -0.443857 1.502346 +2.330515 -1.988421 1.510668 +2.531486 -0.912956 1.496497 +2.548169 1.749278 1.494722 +2.789359 -1.516907 1.504874 +2.903655 0.650532 1.515893 +2.183730 2.419548 1.479665 +2.319676 0.395940 1.505721 +2.389249 -1.833584 1.489411 +2.482565 -0.933205 1.504953 +2.505021 0.543720 1.487238 +2.786032 0.065778 1.516460 +2.686703 -2.107648 1.509321 +2.113258 -0.323823 1.497330 +2.469539 0.246915 1.511887 +2.593899 -1.405354 1.511243 +2.452865 0.669121 1.494283 +2.225956 -2.585890 1.478450 +2.412161 -0.975802 1.507841 +2.452090 1.839730 1.501879 +2.241259 -1.428051 1.496314 +2.698464 0.626890 1.487477 +2.352470 -0.542153 1.507307 +2.567309 -1.113914 1.483962 +2.514680 2.497516 1.494457 +2.797267 -0.936545 1.513905 +2.189811 -1.579056 1.509583 +2.183649 2.455652 1.499620 +2.327143 1.477351 1.500315 +2.450523 1.078929 1.500100 +2.352651 -2.682015 1.512801 +2.698779 -2.208260 1.495169 +2.299052 0.822318 1.482865 +2.164375 -1.736177 1.502880 +2.435069 -1.644009 1.504045 +2.723999 1.672084 1.500829 +2.797882 -1.283030 1.500426 +2.687705 -2.572655 1.495646 +2.548396 -2.786465 1.498545 +2.671448 -0.339852 1.505842 +2.642992 0.682688 1.505904 +2.288695 2.203379 1.507733 +2.526623 -2.324720 1.499426 +2.693799 -1.818180 1.495938 +2.348128 0.171426 1.498728 +2.618327 -0.833917 1.512721 +2.482741 -0.112095 1.488716 +2.510234 2.531764 1.501340 +2.166208 0.264096 1.488964 +2.626770 -0.509188 1.502353 +2.784694 2.935730 1.508885 +2.196519 -2.608769 1.490492 +2.382358 2.595291 1.494547 +2.126766 0.023214 1.509201 +2.104383 0.007794 1.505935 +2.888878 2.546792 1.506163 +2.497772 0.033725 1.504914 +2.371658 -0.356505 1.504221 +2.311653 -1.357022 1.522415 +2.881834 0.958405 1.495682 +2.302654 0.402798 1.499995 +2.681002 -1.695937 1.482050 +2.324198 1.269359 1.497582 +2.154678 0.856189 1.490674 +2.628363 -0.622289 1.490106 +2.102485 -2.981471 1.495204 +2.636077 -0.320995 1.494715 +2.289683 -2.962794 1.510675 +2.698168 -2.556107 1.498769 +2.695294 -0.417735 1.495996 +2.669951 -2.516002 1.495898 +2.129511 -1.335087 1.490719 +2.657809 0.928022 1.508096 +2.893572 -1.147380 1.505363 +2.288136 2.999530 1.499983 +2.310832 2.495516 1.512319 +2.746570 0.521355 1.493747 +2.220661 2.808279 1.491260 +2.636692 2.211620 1.491264 +2.703307 -1.092097 1.503490 +2.148607 1.493870 1.505338 +2.543254 -2.178769 1.498348 +2.552128 1.110660 1.497113 +2.333706 -0.043367 1.500990 +2.798795 -2.885644 1.481639 +2.242928 -1.363423 1.502115 +2.385475 2.723063 1.513139 +2.797497 -1.107223 1.503355 +2.253084 -1.893968 1.478868 +2.760870 -1.882083 1.476440 +2.159650 -0.106240 1.493440 +2.499291 2.067882 1.499873 +2.161469 1.530848 1.492838 +2.651393 -0.378281 1.503673 +2.733813 -1.725719 1.495695 +2.795941 -2.722275 1.516942 +2.872760 -0.222372 1.496063 +2.639007 1.900876 1.503788 +2.727453 1.371390 1.491772 +2.504768 -0.548782 1.498141 +2.820603 0.580203 1.496372 +2.629267 -0.382393 1.506484 +2.812418 0.465854 1.503672 +2.307645 0.107548 1.509013 +2.504323 1.088870 1.501865 +2.689328 0.053886 1.486478 +2.264650 2.641825 1.496085 +2.282032 -0.439162 1.486052 +2.890391 -2.918706 1.480721 +2.456771 -1.580172 1.504727 +2.241028 -0.010203 1.488142 +2.362449 0.230707 1.503070 +2.413276 0.316159 1.501552 +2.602336 1.292307 1.496561 +2.840251 -1.349751 1.475711 +2.895737 0.990921 1.505641 +2.608490 1.221036 1.489085 +2.667384 -0.546367 1.490713 +2.362807 -0.593279 1.490716 +2.794794 -1.916974 1.507221 +2.282726 -0.518392 1.497954 +2.178624 1.722575 1.494721 +2.874274 2.459837 1.511845 +2.795294 0.579622 1.492945 +2.324536 -1.196632 1.492282 +2.637400 1.076040 1.491008 +2.458592 1.436534 1.496055 +2.359402 -0.994326 1.506769 +2.313198 1.965367 1.501118 +2.207844 -2.558052 1.502046 +2.532536 -2.937301 1.511839 +2.450238 -2.272474 1.499383 +2.498443 -2.081178 1.496555 +2.014486 -1.988673 1.365464 +1.978698 -2.028465 1.228428 +1.993351 -1.185892 1.184181 +1.989405 -2.127197 1.240694 +1.997721 2.522852 1.216676 +2.008546 0.065464 1.196224 +1.993220 0.743872 1.135727 +1.994330 -0.839840 1.282684 +2.004854 -1.325210 1.147837 +1.986689 0.006247 1.325111 +2.001579 -1.231803 1.147789 +1.991272 -0.946239 1.317604 +2.019847 -0.292827 1.331906 +1.988669 0.040758 1.137184 +1.991038 2.902256 1.118109 +2.002959 -1.633221 1.390381 +1.999070 -0.078793 1.225480 +2.007337 -2.096136 1.284410 +2.012133 -0.899794 1.114726 +2.002962 1.302093 1.174064 +1.998545 -1.944807 1.246538 +2.004397 0.477280 1.373666 +2.003129 -0.511815 1.179192 +2.009314 -2.703113 1.321848 +1.999305 2.619785 1.291938 +2.004953 -0.515780 1.128686 +2.001611 1.699081 1.184435 +1.983387 -0.502363 1.180350 +2.000574 2.635067 1.238562 +1.999405 -1.263457 1.285738 +1.985295 -0.529287 1.231486 +2.017154 1.558469 1.164712 +1.985606 -0.940062 1.316881 +1.997794 -0.808438 1.273530 +2.007170 2.952966 1.271836 +1.988875 0.341624 1.263604 +1.998842 1.133872 1.169126 +2.004575 0.871357 1.318209 +2.003318 1.984682 1.217180 +2.010774 2.175238 1.203548 +2.001812 0.384569 1.144598 +2.004128 -1.224010 1.278817 +1.970561 -2.846416 1.277823 +1.991767 0.675178 1.198726 +1.994372 1.945443 1.351134 +2.005297 -0.276458 1.361843 +2.011226 -2.015537 1.133763 +2.004265 -1.278103 1.304254 +2.008546 0.070837 1.218825 +1.988048 2.017131 1.385501 +2.000752 -1.966927 1.164800 +2.002417 0.677068 1.186726 +1.987985 1.517679 1.236730 +2.015787 2.613566 1.186123 +2.008781 -2.301744 1.319082 +2.012022 2.572154 1.248857 +2.023601 0.602652 1.187504 +2.007683 1.613613 1.248712 +2.008445 -2.663082 1.355763 +1.998367 0.015476 1.335935 +1.991840 0.733600 1.278885 +2.017178 -1.173391 1.192105 +2.007989 -0.413478 1.155749 +2.002760 0.312323 1.353202 +2.001723 0.316282 1.305964 +1.992056 -2.749729 1.280511 +1.999235 -0.346882 1.356872 +2.001931 -1.720634 1.142387 +1.992184 2.519444 1.287841 +2.017155 2.860380 1.170538 +2.013345 -1.193542 1.128873 +2.006001 -1.930213 1.230810 +2.021184 -1.679118 1.211886 +1.991067 -0.135719 1.362799 +1.995848 2.244404 1.186450 +2.007478 -0.001970 1.338113 +1.996747 -2.664097 1.325380 +1.992990 -2.759430 1.299870 +1.988605 -1.638539 1.381914 +2.005721 2.054328 1.229145 +1.990200 0.719393 1.214389 +2.014976 0.379380 1.145531 +2.015441 -1.089052 1.205076 +1.994887 2.566435 1.362269 +1.997509 -1.021008 1.268334 +2.003186 2.014309 1.197787 +1.994223 2.385677 1.148075 +1.988571 -0.102463 1.258999 +1.996255 2.369897 1.315277 +2.012963 -1.355028 1.193367 +1.998011 0.959849 1.319122 +2.000244 -2.473243 1.278912 +1.987196 -0.162199 1.337568 +1.992431 -1.699310 1.156415 +1.996294 -2.613184 1.296360 +1.999131 -2.975210 1.137838 +2.016244 -1.030810 1.210787 +2.025907 0.530382 1.304797 +1.992904 -0.270813 1.312621 +1.997188 -1.197981 1.147374 +2.011400 2.957173 1.352648 +1.981242 2.625864 1.133218 +2.006888 -2.245425 1.297253 +2.019583 -0.509715 1.394970 +1.994179 0.890236 1.244588 +1.985096 1.383718 1.351045 +1.984386 -0.782267 1.271250 +2.017374 1.474040 1.319265 +2.012838 -2.241081 1.287618 +1.996683 -1.018182 1.306134 +2.001078 1.295085 1.150154 +1.994191 0.761132 1.320457 +1.996726 2.013953 1.165272 +2.014090 -2.730256 1.401400 +2.000471 -1.951202 1.161013 +1.996482 -2.709090 1.165799 +2.003314 -1.842740 1.379329 +2.002782 -2.993426 1.184526 +1.997961 0.045381 1.222980 +1.994947 0.177105 1.308452 +2.000027 0.954111 1.158755 +2.008952 -0.689775 1.172556 +1.996350 -2.996826 1.231761 +2.014740 1.042580 1.174700 +1.994575 -2.678781 1.162826 +2.004711 2.196049 1.107122 +2.003394 -2.868335 1.196548 +1.984542 0.213117 1.210257 +2.013402 2.362761 1.109442 +1.991846 0.421817 1.280482 +2.013262 0.658908 1.278296 +1.996852 1.097156 1.115530 +2.000796 -2.261528 1.199022 +2.002542 1.043026 1.356332 +1.988664 2.266516 1.273503 +2.008162 2.831522 1.226322 +2.007846 -0.360055 1.236825 +2.016462 -0.927451 1.143779 +2.006583 1.512380 1.350478 +1.993099 0.256715 1.368826 +2.000031 -1.461845 1.370964 +1.988244 -1.962146 1.168933 +1.983835 -1.968689 1.191459 +2.001618 -0.237292 1.151469 +2.011652 -1.982187 1.202505 +2.001229 -2.876610 1.203878 +2.012407 -2.680253 1.285502 +1.993587 2.578810 1.149293 +1.989478 -2.583513 1.360326 +2.019854 -2.567481 1.149964 +2.004032 -0.293367 1.087057 +2.000047 -1.510476 1.372060 +2.002742 2.764676 1.301559 +1.991474 2.478697 1.222925 +2.001959 -0.574571 1.294137 +1.990214 -0.307093 1.171693 +1.991372 -0.755677 1.143380 +2.014167 -2.753660 1.242493 +1.997318 -1.248917 1.205974 +1.994498 -2.264930 1.288701 +1.995947 -2.387674 1.163590 +1.996824 0.360755 1.306500 +1.982293 -2.391668 1.331414 +2.006100 -2.375161 1.142910 +1.990856 -0.127240 1.110687 +2.006992 -0.352143 1.237956 +1.976321 -2.178047 1.343879 +1.998290 -2.981597 1.288666 +1.969720 -1.852271 1.321137 +1.994174 -1.589292 1.197534 +1.983692 1.813391 1.176657 +1.987026 2.486324 1.259242 +1.988039 -0.584375 1.159718 +2.005726 -0.563921 1.326621 +1.984464 1.275467 1.156405 +1.999128 0.759414 1.180774 +1.969822 -1.883541 1.255263 +1.985157 -2.349134 1.241540 +1.995810 -0.382013 1.285624 +1.992002 0.378002 1.242551 +1.998211 -2.169229 1.382767 +1.993324 -1.245041 1.355037 +1.984586 -1.162131 1.356177 +2.008555 -1.426744 1.293000 +1.983930 -0.236466 1.278730 +1.999631 0.895229 1.267351 +2.011890 0.060030 1.226927 +1.990913 -1.802103 1.198633 +1.996564 -2.366899 1.275753 +2.000587 1.917338 1.104053 +2.001770 -0.127900 1.097381 +2.003269 -2.612017 1.356942 +2.011442 -1.445055 1.124771 +1.993903 1.822133 1.255411 +2.005463 1.518282 1.285747 +2.008767 2.249266 1.168305 +2.010158 0.619302 1.370061 +2.007133 -0.471504 1.159012 +2.003005 -0.453485 1.370100 +1.987512 -1.840279 1.329295 +1.992693 0.905619 1.172888 +1.991798 0.516092 1.137582 +2.022880 -2.071908 1.183157 +1.990157 2.325453 1.215294 +1.986362 -0.780654 1.169580 +2.006534 -2.692212 1.402412 +2.023959 -1.049962 1.160716 +1.997440 2.241752 1.367170 +2.012887 2.493798 1.140960 +1.991714 -0.065444 1.409000 +1.997562 2.736925 1.175401 +1.983365 2.251977 1.215538 +1.997056 1.945520 1.261189 +2.002256 2.160473 1.133888 +2.003707 -0.717434 1.351862 +1.997938 1.533977 1.174458 +1.997586 0.482740 1.264148 +1.988556 1.327292 1.260171 +2.002838 -1.939340 1.293600 +1.994092 1.402342 1.106153 diff --git a/demo_degeneracy.py b/demo_degeneracy.py new file mode 100644 index 0000000..168de50 --- /dev/null +++ b/demo_degeneracy.py @@ -0,0 +1,310 @@ +#!/usr/bin/env python3 +""" +Demo: degeneracy detection + solution remapping on under-constrained scenes. + +Two synthetic scenes from data/ (regenerated in memory if the .pcd files +are absent): + +* staircase — treads and risers constrain everything except cross-step + translation (ty): exactly one degenerate DOF. +* plane — a featureless flat seafloor: tx, ty and yaw are unobservable, + three degenerate DOFs. + +For each scene the source scan (an independent sampling of the same +surface) is displaced by a known ground-truth transform and aligned back +with PlaneICP twice: once plain (lm_damping only) and once with +use_solution_remapping=True. The demo prints the DegeneracyResult and a +per-DOF error table, and renders a 2x2 figure per case: + + A the scans before alignment (3D) + B top-down view after alignment, with a zoom showing the drift + C the Hessian eigenvalue spectrum vs the SR threshold + D per-DOF |error| vs ground truth, plain vs SR + +Without solution remapping the optimizer slides along the unobservable +directions, driven by nothing but sampling noise; with it, those +directions hold at the initial guess while the observable ones converge. + +Usage: + python3 demo_degeneracy.py # interactive windows + python3 demo_degeneracy.py --save # write imgs/degeneracy_*.png + python3 demo_degeneracy.py --case stair --save + +matplotlib is imported by this demo alone (pip install matplotlib); the +degeneracy feature adds no dependencies to the library. +""" +import argparse +import os +import sys + +import numpy as np + +from point_cloud_registration import PlaneICP, analyse_hessian +from point_cloud_registration.math_tools import expSO3, makeT, transform_points + +REPO_DIR = os.path.dirname(os.path.abspath(__file__)) +DEFAULT_DATA_DIR = os.path.join(REPO_DIR, "data") + +DOF_LABELS = ["tx", "ty", "tz", "roll", "pitch", "yaw"] + +# Okabe-Ito colorblind-safe colors (validated for CVD separation). +COLORS = { + "target": "#999999", # context layer + "initial": "#E69F00", + "baseline": "#D55E00", # no solution remapping + "sr": "#0072B2", # with solution remapping +} + +CASES = { + "stair": { + "title": "Staircase — 1 degenerate DOF (ty, cross-step)", + "target_pcd": "synthetic_staircase_target.pcd", + "source_pcd": "synthetic_staircase_source.pcd", + "generator": ("make_staircase", + dict(seed=42, pts_per_face=220), + dict(seed=2024, pts_per_face=220)), + # Ground truth deliberately has zero component along the degenerate + # ty, so the SR-held value is also the correct one. + "rvec": np.array([0.02, -0.015, 0.08]), + "tvec": np.array([0.30, 0.0, -0.20]), + "png": "degeneracy_stair.png", + }, + "plane": { + "title": "Flat plane — 3 degenerate DOFs (tx, ty, yaw)", + "target_pcd": "synthetic_plane_target.pcd", + "source_pcd": "synthetic_plane_source.pcd", + "generator": ("make_plane", + dict(seed=7, num_points=2500), + dict(seed=99, num_points=2000)), + "rvec": np.array([0.03, -0.02, 0.0]), + "tvec": np.array([0.0, 0.0, 0.4]), + "png": "degeneracy_plane.png", + }, +} + + +def _generator_module(data_dir): + sys.path.insert(0, data_dir) + try: + import generate_synthetic + finally: + sys.path.pop(0) + return generate_synthetic + + +def load_case(name, data_dir): + """Return (target, source_surface), from disk or regenerated in memory.""" + case = CASES[name] + gen = _generator_module(data_dir) + clouds = [] + fn_name, target_kwargs, source_kwargs = case["generator"] + for pcd, kwargs in ((case["target_pcd"], target_kwargs), + (case["source_pcd"], source_kwargs)): + path = os.path.join(data_dir, pcd) + if os.path.exists(path): + clouds.append(gen.load_pcd(path)) + else: + print(f"[demo] {path} not found - regenerating in memory") + clouds.append(getattr(gen, fn_name)(**kwargs)) + return clouds[0], clouds[1] + + +def pose_error(T_est, T_true): + """Per-DOF error [tx, ty, tz, roll, pitch, yaw] of T_est vs T_true.""" + D = np.linalg.inv(T_true) @ T_est + R, t = D[:3, :3], D[:3, 3] + rot = 0.5 * np.array([R[2, 1] - R[1, 2], + R[0, 2] - R[2, 0], + R[1, 0] - R[0, 1]]) + return np.concatenate([t, rot]) + + +def dominant_dof(eigenvector): + return DOF_LABELS[int(np.argmax(np.abs(eigenvector)))] + + +def run_case(name, data_dir): + case = CASES[name] + target, source_surface = load_case(name, data_dir) + T_true = makeT(expSO3(case["rvec"]), case["tvec"]) + scan = transform_points(np.linalg.inv(T_true), source_surface) + scan32 = scan.astype(np.float32) + + results = {} + for mode, kwargs in ( + ("baseline", dict(lm_damping=True)), + ("sr", dict(use_solution_remapping=True, lm_damping=True))): + engine = PlaneICP(max_iter=50, max_dist=1.0, tol=1e-6, k=10) + engine.set_target(target) + T = engine.align(scan32, **kwargs) + deg = analyse_hessian(engine.last_hessian.astype(float)) + results[mode] = { + "T": T, + "deg": deg, + "errors": np.abs(pose_error(T, T_true)), + "aligned": transform_points(T, scan), + } + return { + "name": name, + "case": case, + "target": target, + "scan": scan, + "T_true": T_true, + "results": results, + } + + +def print_report(out): + case = out["case"] + print(f"\n=== {case['title']} ===") + deg = out["results"]["sr"]["deg"] + print(f"eigenvalues : {np.array2string(deg.eigenvalues, precision=2)}") + print(f"condition number : {deg.condition_number:.1f}") + print(f"SR threshold : {deg.lambda_threshold:.1f}") + print(f"constrained DOFs : {deg.num_constrained_dof}/6") + flags = ", ".join( + f"{dominant_dof(deg.eigenvectors[:, i])} (lam={deg.eigenvalues[i]:.1f})" + for i in range(6) if deg.degenerate_mask[i]) + print(f"degenerate : {flags or 'none'}") + + print(f"\n{'DOF':<6} {'no SR':>12} {'with SR':>12}") + base = out["results"]["baseline"]["errors"] + sr = out["results"]["sr"]["errors"] + for i, label in enumerate(DOF_LABELS): + unit = "m" if i < 3 else "rad" + print(f"{label:<6} {base[i]:>10.4f} {unit} {sr[i]:>10.4f} {unit}") + + +def make_figure(out, plt): + case = out["case"] + target = out["target"] + scan = out["scan"] + base = out["results"]["baseline"] + sr = out["results"]["sr"] + deg = sr["deg"] + + fig = plt.figure(figsize=(12.5, 9.5), constrained_layout=True) + fig.suptitle(case["title"], fontsize=14) + + # A: before alignment (3D). + ax_a = fig.add_subplot(2, 2, 1, projection="3d") + step = max(1, target.shape[0] // 1500) + ax_a.scatter(*target[::step].T, s=2, c=COLORS["target"], alpha=0.35, + label="target scan") + ax_a.scatter(*scan[::step].T, s=2, c=COLORS["initial"], alpha=0.6, + label="source scan, initial pose") + ax_a.set_title("A - before alignment") + ax_a.set_xlabel("x [m]"); ax_a.set_ylabel("y [m]"); ax_a.set_zlabel("z [m]") + ax_a.view_init(elev=10, azim=-88) # look down the stair width: step profile + ax_a.legend(loc="upper left", fontsize=8, markerscale=4) + + # B: after alignment, top-down, with a zoom inset on the drift. + ax_b = fig.add_subplot(2, 2, 2) + ax_b.scatter(target[:, 0], target[:, 1], s=2, c=COLORS["target"], + alpha=0.3, label="target") + ax_b.scatter(base["aligned"][:, 0], base["aligned"][:, 1], s=2, + c=COLORS["baseline"], alpha=0.4, label="aligned, no SR") + ax_b.scatter(sr["aligned"][:, 0], sr["aligned"][:, 1], s=2, + c=COLORS["sr"], alpha=0.4, label="aligned, with SR") + ax_b.set_title("B - after alignment (top-down)") + ax_b.set_xlabel("x [m]"); ax_b.set_ylabel("y [m]") + ax_b.set_aspect("equal") + ax_b.legend(loc="upper left", fontsize=8, markerscale=4) + + # Zoom anchored to the +x/+y extreme of the target so the lateral + # drift of the vermillion cloud is visible at true scale. + anchor = target[np.argmax(target[:, 0] + target[:, 1])][:2] + half = 0.45 + axins = ax_b.inset_axes([0.58, 0.05, 0.4, 0.4]) + for pts, color in ((target, COLORS["target"]), + (base["aligned"], COLORS["baseline"]), + (sr["aligned"], COLORS["sr"])): + m = (np.abs(pts[:, 0] - anchor[0]) < half) & \ + (np.abs(pts[:, 1] - anchor[1]) < half) + axins.scatter(pts[m, 0], pts[m, 1], s=4, c=color, alpha=0.5) + axins.set_xlim(anchor[0] - half, anchor[0] + half) + axins.set_ylim(anchor[1] - half, anchor[1] + half) + axins.set_xticks([]); axins.set_yticks([]) + ax_b.indicate_inset_zoom(axins, edgecolor="black") + + # C: eigenvalue spectrum vs SR threshold. + ax_c = fig.add_subplot(2, 2, 3) + colors = [COLORS["baseline"] if deg.degenerate_mask[i] else COLORS["sr"] + for i in range(6)] + eig_floor = max(deg.eigenvalues.min(), 1e-3) + ax_c.bar(range(6), np.maximum(deg.eigenvalues, eig_floor), color=colors, + width=0.6) + ax_c.axhline(deg.lambda_threshold, color="black", linestyle="--", + linewidth=1.2) + ax_c.text(0.02, deg.lambda_threshold * 1.15, + "SR threshold sqrt(lam_max/lam_min)", fontsize=8) + ax_c.set_yscale("log") + ax_c.set_xticks(range(6)) + ax_c.set_xticklabels( + [dominant_dof(deg.eigenvectors[:, i]) for i in range(6)], fontsize=9) + ax_c.set_xlabel("eigen-direction (dominant DOF)") + ax_c.set_ylabel("eigenvalue") + ax_c.set_title( + f"C - Hessian spectrum - {deg.num_constrained_dof}/6 constrained " + f"(degenerate in vermillion)") + + # D: per-DOF error vs ground truth. + ax_d = fig.add_subplot(2, 2, 4) + x = np.arange(6) + err_floor = 1e-6 + ax_d.bar(x - 0.18, np.maximum(base["errors"], err_floor), width=0.36, + color=COLORS["baseline"], label="no SR") + ax_d.bar(x + 0.18, np.maximum(sr["errors"], err_floor), width=0.36, + color=COLORS["sr"], label="with SR") + ax_d.set_yscale("log") + ax_d.set_xticks(x) + ax_d.set_xticklabels(DOF_LABELS, fontsize=9) + ax_d.set_ylabel("|error| vs ground truth [m or rad]") + ax_d.set_title("D - final pose error per DOF") + ax_d.legend(fontsize=8) + + return fig + + +def main(argv=None): + parser = argparse.ArgumentParser( + description="Degeneracy detection + solution remapping demo.") + parser.add_argument("--case", choices=["stair", "plane", "both"], + default="both") + parser.add_argument("--save", action="store_true", + help="write imgs/degeneracy_*.png instead of showing") + parser.add_argument("--show", action="store_true", + help="open interactive windows (default)") + parser.add_argument("--data-dir", default=DEFAULT_DATA_DIR) + args = parser.parse_args(argv) + + names = ["stair", "plane"] if args.case == "both" else [args.case] + outputs = [run_case(name, args.data_dir) for name in names] + for out in outputs: + print_report(out) + + try: + if args.save and not args.show: + # Select a headless backend; must happen before pyplot loads. + import matplotlib + matplotlib.use("Agg") + import matplotlib.pyplot as plt + except ImportError: + print("\n[demo] matplotlib is not installed - skipping the figures " + "(pip install matplotlib)") + return 0 + + for out in outputs: + fig = make_figure(out, plt) + if args.save: + os.makedirs(os.path.join(REPO_DIR, "imgs"), exist_ok=True) + path = os.path.join(REPO_DIR, "imgs", out["case"]["png"]) + fig.savefig(path, dpi=110) + print(f"[demo] wrote {path}") + if args.show or not args.save: + plt.show() + return 0 + + +if __name__ == "__main__": + raise SystemExit(main()) diff --git a/imgs/degeneracy_plane.png b/imgs/degeneracy_plane.png new file mode 100644 index 0000000..265a9e3 Binary files /dev/null and b/imgs/degeneracy_plane.png differ diff --git a/imgs/degeneracy_stair.png b/imgs/degeneracy_stair.png new file mode 100644 index 0000000..b3b836e Binary files /dev/null and b/imgs/degeneracy_stair.png differ diff --git a/point_cloud_registration/__init__.py b/point_cloud_registration/__init__.py index a7571e5..3cf0209 100644 --- a/point_cloud_registration/__init__.py +++ b/point_cloud_registration/__init__.py @@ -8,3 +8,4 @@ from point_cloud_registration.voxel import VoxelGrid, voxel_filter, color_by_voxel from point_cloud_registration.estimate_normals import estimate_normals, get_norm_lines, estimate_norm_with_tree from point_cloud_registration.caratheodory import fast_caratheodory, create_gn_set +from point_cloud_registration.degeneracy import DegeneracyResult, analyse_hessian, apply_sr_solve diff --git a/point_cloud_registration/degeneracy.py b/point_cloud_registration/degeneracy.py new file mode 100644 index 0000000..ec4e4da --- /dev/null +++ b/point_cloud_registration/degeneracy.py @@ -0,0 +1,273 @@ +""" +Degeneracy detection and solution remapping for point cloud registration. + +Least-squares registration (ICP and its variants) takes a Gauss-Newton step +``dx = -H⁻¹ g`` at every iteration, where ``H`` is the 6×6 approximate Hessian +(``JᵀJ``) accumulated over the correspondences and ``g`` is the gradient. When +the scene is geometrically under-determined — a flat plane, a straight +corridor, a surface of revolution — ``H`` is rank-deficient or ill-conditioned +along one or more directions, and the unconstrained solve slides the estimate +along those directions driven by nothing but noise. + +This module implements *solution remapping*: eigendecompose ``H``, classify each +eigen-direction as constrained or degenerate, and project the update so that its +component along every degenerate direction is zero. The estimate is then only +updated where the data actually supports it, and stays put elsewhere. + +Scope: :func:`analyse_hessian` *classifies* directions and copes with an +exactly rank-deficient ``H``; :func:`apply_sr_solve` still inverts ``H`` to form +the step, so it requires an invertible one. Damping a singular Hessian is the +caller's responsibility — see :func:`apply_sr_solve` for the contract. + +References: + A. Hinduja, B.-J. Ho and M. Kaess, "Degeneracy-Aware Factors with + Applications to Underwater SLAM", IEEE/RSJ International Conference on + Intelligent Robots and Systems (IROS), 2019, pp. 1293-1299, + doi: 10.1109/IROS40897.2019.8968577 — introduced solution remapping + inside the ICP iteration itself (its Algorithm 1 is the procedure + implemented by :func:`analyse_hessian` + :func:`apply_sr_solve`, + including the ``sqrt(lambda_max / lambda_min)`` threshold). + + J. Zhang, M. Kaess and S. Singh, "On Degeneracy of Optimization-based + State Estimation Problems", IEEE International Conference on Robotics + and Automation (ICRA), 2016 — the origin of the solution-remapping + update for optimization-based state estimation. + +DOF order +--------- +All 6-vectors and 6×6 matrices here use this library's tangent-space ordering:: + + [tx, ty, tz, ωx, ωy, ωz] + +i.e. translation first, rotation second — the ordering consumed by +``math_tools.plus()`` and produced by the ``calc_H_g_e2()`` methods of the +registration classes. These are right-tangent (body-frame) increments: the +step is applied as ``T @ [expSO3(dx[3:]) | dx[:3]]``, so the eigenvectors of +``H`` — and therefore the directions this module classifies and zeroes — are +body-frame directions of the current estimate. Callers that work in a +different convention (for example a factor-graph library that orders rotation +first, or reasons in world-frame axes) must permute or rotate ``H`` and ``g`` +before calling and map the returned step back afterwards. + +This module depends on NumPy only. +""" +from __future__ import annotations + +from dataclasses import dataclass +from typing import Optional + +import numpy as np + + +@dataclass +class DegeneracyResult: + """ + Output of analyse_hessian(). + + Attributes + ---------- + eigenvalues: + Ascending eigenvalues of H. + eigenvectors: + Corresponding eigenvectors as *columns*, so ``eigenvectors[:, i]`` is the + unit direction whose curvature is ``eigenvalues[i]``. + condition_number: + ``sqrt(λ_max / λ_min)``; also the adaptive degeneracy threshold when no + explicit threshold was supplied. ``inf`` for a rank-zero Hessian. + lambda_threshold: + The eigenvalue threshold actually applied. + degenerate_mask: + ``True`` where the direction is degenerate (data does not constrain it). + num_constrained_dof: + Number of directions the data does constrain, 0-6. + is_degenerate: + ``True`` if at least one direction is degenerate. + V_constrained: + The constrained eigenvectors as unit-norm *rows*. + """ + eigenvalues: np.ndarray # (6,) ascending, in PCR order + eigenvectors: np.ndarray # (6,6) columns are eigenvectors, in PCR order + condition_number: float # sqrt(λ_max / λ_min) + lambda_threshold: float # eigenvalue threshold used + degenerate_mask: np.ndarray # (6,) bool, True = degenerate direction + num_constrained_dof: int # count of non-degenerate directions + is_degenerate: bool # True if any DOF is degenerate + # Non-degenerate eigenvector rows in PCR order, shape (num_constrained_dof, 6). + # Empty (0, 6) array when all directions are degenerate. + V_constrained: np.ndarray + + +def analyse_hessian( + H: np.ndarray, + lambda_threshold: Optional[float] = None, +) -> DegeneracyResult: + """ + Eigendecompose a 6×6 registration Hessian (ATA) and identify degenerate + directions. + + H must be in this library's DOF order: [tx, ty, tz, ωx, ωy, ωz]. + + Criterion + --------- + A direction is degenerate when its eigenvalue falls below the threshold + + lambda_cn = sqrt(lambda_max / lambda_min) + + the square root of the Hessian's condition number. Note what that compares: + an eigenvalue, which carries the scale of the problem (correspondence count, + units of the residual), against a *unitless* ratio. Classification therefore + depends on the absolute magnitude of H and not on its conditioning alone — + scaling H uniformly moves the eigenvalues but leaves lambda_cn untouched. + ``H = 2*I`` and ``H = 0.5*I`` are both perfectly conditioned (lambda_cn = 1), + yet the first has all six directions constrained and the second has all six + degenerate. Concretely, the best-observed direction survives only when + ``lambda_max >= sqrt(lambda_max / lambda_min)``, i.e. when + ``lambda_max * lambda_min >= 1``. + + This is the criterion as published and as implemented in the reference + solution-remapping code, and it is kept here unchanged for fidelity to it. + Callers who have a calibrated absolute curvature floor for their sensor and + geometry should use the lambda_threshold override instead of relying on it. + + Structural zeros are handled in two phases so that exact rank deficiency does + not swamp the test: + + 1. Eigenvalues below ``1e-10 * lambda_max`` are treated as structural zeros + (a genuinely unobserved direction: too few correspondences, or a scene + with an exact continuous symmetry). They are always degenerate. + 2. lambda_cn is then formed from the smallest *non*-structural-zero + eigenvalue. Without this, a single exact-zero eigenvalue would send the + condition number to infinity and mark every direction — including the + well-observed ones — degenerate. + + A Hessian whose largest eigenvalue is itself below ``1e-10`` carries no + information at all (e.g. zero correspondences); every direction is reported + degenerate and ``V_constrained`` is an empty ``(0, 6)`` array. + + This classification is well defined for a singular H, but classifying is not + solving: :func:`apply_sr_solve` inverts H and will raise on an exactly + singular one. See its docstring for how to pair the two. + + If lambda_threshold is not None it overrides the adaptive threshold with a + fixed absolute eigenvalue floor (useful when a caller has a calibrated + minimum curvature for its sensor and geometry). The reported condition + number is still computed, with lambda_min floored at ``1e-12`` to keep it + finite. + """ + H = np.asarray(H, dtype=float) + assert H.shape == (6, 6), f"Expected 6×6 Hessian, got {H.shape}" + + eigenvalues, eigenvectors = np.linalg.eigh(H) # ascending order + lam_max = float(eigenvalues[-1]) + + # Zero or near-zero Hessian → no correspondences → all directions degenerate. + if lam_max < 1e-10: + return DegeneracyResult( + eigenvalues=eigenvalues, + eigenvectors=eigenvectors, + condition_number=float('inf'), + lambda_threshold=float('inf'), + degenerate_mask=np.ones(6, dtype=bool), + num_constrained_dof=0, + is_degenerate=True, + V_constrained=np.empty((0, 6)), + ) + + if lambda_threshold is not None: + # User-supplied override (e.g. from SR solve fixed threshold). + lam_min = float(max(eigenvalues[0], 1e-12)) + condition_number = float(np.sqrt(lam_max / lam_min)) + threshold = float(lambda_threshold) + degenerate_mask = eigenvalues < threshold + else: + # Two-phase: structural zeros first, then the condition-number test + # among the non-zeros. Rank-deficient Hessians (flat surface, + # single-point) have exact-zero eigenvalues that must not inflate the + # condition number to infinity. + abs_zero_thresh = 1e-10 * lam_max + struct_zero_mask = eigenvalues < abs_zero_thresh + if struct_zero_mask.all(): + condition_number = float('inf') + threshold = float('inf') + degenerate_mask = np.ones(6, dtype=bool) + else: + lam_min_pos = float(eigenvalues[~struct_zero_mask][0]) + condition_number = float(np.sqrt(lam_max / lam_min_pos)) + threshold = condition_number + # Structural zeros are degenerate no matter where the adaptive + # threshold lands: with a tight non-zero spectrum the threshold + # can fall below the structural-zero cutoff (e.g. five equal + # large eigenvalues give threshold 1), and the phase-1 verdict + # must not be overwritten by the phase-2 test. + degenerate_mask = (eigenvalues < threshold) | struct_zero_mask + + constrained_indices = np.where(~degenerate_mask)[0] + num_constrained = int(len(constrained_indices)) + + # V_constrained: rows are non-degenerate eigenvectors in PCR order + V_constrained = eigenvectors[:, constrained_indices].T # (num_constrained, 6) + + return DegeneracyResult( + eigenvalues=eigenvalues, + eigenvectors=eigenvectors, + condition_number=condition_number, + lambda_threshold=threshold, + degenerate_mask=degenerate_mask, + num_constrained_dof=num_constrained, + is_degenerate=bool(np.any(degenerate_mask)), + V_constrained=V_constrained, + ) + + +def apply_sr_solve( + H: np.ndarray, + g: np.ndarray, + deg: DegeneracyResult, +) -> np.ndarray: + """ + Apply solution-remapping to the registration linear solve. + + Standard solve: dx = -H⁻¹ g + SR solve: dx = -Vf_inv @ Vu_filtered @ H⁻¹ @ g + + ``Vu_filtered`` is the matrix of eigenvector rows with the degenerate rows + replaced by zero, and ``Vf_inv`` maps back from the eigenbasis to the DOF + basis. The composition projects the Gauss-Newton step onto the span of the + constrained eigen-directions: the optimizer still takes the full step where + the data supports it, and no step at all along the ill-conditioned DOFs. + + When nothing is degenerate this reduces exactly to the standard solve. + + Contract: H must be invertible. Detecting degeneracy does not remove the + inversion — ``np.linalg.solve(H, g)`` runs on the H you pass, before any + projection, so an exactly singular H raises ``np.linalg.LinAlgError`` no + matter what ``deg`` says about it. A caller whose raw Hessian can be exactly + rank-deficient (a plane fitted to coplanar points, fewer correspondences than + DOFs) should pass a regularized ``H + lambda*I`` here while taking ``deg`` + from :func:`analyse_hessian` on the **raw** H. An isotropic shift adds + lambda to every eigenvalue and leaves the eigenvectors untouched, so the + projection this function applies is unchanged; only the step length along the + constrained directions is damped, and analysing the raw H keeps the + degeneracy classification honest (damping before analysis raises lambda_min + and so lowers the threshold; for a large enough lambda the weak directions + stop being flagged at all). + + Args: + H: 6×6 Hessian from calc_H_g_e2 (in PCR order), invertible — see Contract + g: 6-element gradient from calc_H_g_e2 + deg: DegeneracyResult from analyse_hessian(H) + + Returns: + 6-element step dx in PCR order + + Raises: + numpy.linalg.LinAlgError: if H (or the eigenvector matrix) is singular. + """ + Vu = deg.eigenvectors.T.copy() # (6, 6) rows = eigenvectors + for i in range(6): + if deg.degenerate_mask[i]: + Vu[i, :] = 0.0 # zero degenerate rows + + Vf_inv = np.linalg.inv(deg.eigenvectors.T) + H_inv_g = np.linalg.solve(H, g) + return -(Vf_inv @ Vu @ H_inv_g) diff --git a/point_cloud_registration/icp.py b/point_cloud_registration/icp.py index c26c57e..cde97ac 100644 --- a/point_cloud_registration/icp.py +++ b/point_cloud_registration/icp.py @@ -41,16 +41,19 @@ def calc_H_g_e2(self, cur_T, source): R = cur_T[:3, :3] S = skews(src_mask) S_sum = skew(np.sum(src_mask, axis=0)) + # J = [R | -R@skew(p)]: the tangent-space increment dx is applied by + # plus() as T @ [expSO3(dx[3:]) | dx[:3]], so both blocks carry R. + # In H the R factors cancel (R.T@R = I), leaving these closed forms. H_ll = num * np.eye(3) - H_lr = - R @ S_sum + H_lr = - S_sum H_rr = skew2(src_mask) H = np.zeros((6, 6)) H[:3, :3] = H_ll H[:3, 3:] = H_lr H[3:, :3] = H_lr.T H[3:, 3:] = H_rr - g0 = rs.sum(axis=0) - Rt_r = rs @ R.T + Rt_r = rs @ R # row i is R.T @ rs[i] + g0 = Rt_r.sum(axis=0) g1 = np.einsum('nij,ni->j', S, -Rt_r) g = np.hstack([g0, g1]) e2 = np.sum(rs * rs) @@ -65,7 +68,9 @@ def calc_H_g_e2_no_parallel_ver(self, cur_T, source): src_trans = transform_points(cur_T, source) dist, idx = self.kdtree.query(src_trans.astype(np.float32)) mask = dist < self.max_dist + idx = idx[mask] src_trans = src_trans[mask] + src_mask = source[mask] num = src_trans.shape[0] # Find corresponding target points qs = self.target[idx] @@ -75,10 +80,10 @@ def calc_H_g_e2_no_parallel_ver(self, cur_T, source): e2 = 0 for i in range(num): J = np.zeros((3, 6)) - # Jacobian of the transformation - J[:, :3] = np.eye(3) + # Jacobian of the translation (body-frame increment: t += R @ dt) + J[:, :3] = R # Jacobian of the rotation - J[:, 3:] = -R @ skew(source[i]) + J[:, 3:] = -R @ skew(src_mask[i]) # residual r = src_trans[i] - qs[i] # Hessian diff --git a/point_cloud_registration/math_tools.py b/point_cloud_registration/math_tools.py index a1bba26..59e08e5 100644 --- a/point_cloud_registration/math_tools.py +++ b/point_cloud_registration/math_tools.py @@ -88,7 +88,13 @@ def expSO3(omega): nearZero = theta2 <= epsilon W = skew(omega) if (nearZero): - return np.eye(3) + W + # Second-order Taylor of sin(theta)/theta and (1-cos(theta))/theta^2: + # the first-order I + W is not in SO(3) (det = 1 + O(theta^2)), and + # repeated small steps applied through plus() accumulate that + # scale/shear error into the pose. + A = 1.0 - theta2 / 6.0 + B = 0.5 - theta2 / 24.0 + return np.eye(3) + A * W + B * W.dot(W) else: K = W/theta KK = K.dot(K) diff --git a/point_cloud_registration/ndt.py b/point_cloud_registration/ndt.py index 181aa86..fa59317 100644 --- a/point_cloud_registration/ndt.py +++ b/point_cloud_registration/ndt.py @@ -10,13 +10,23 @@ class NDT(Registration): - def __init__(self, voxel_size=1.0, max_iter=30, max_dist=2, tol=1e-3): + def __init__(self, voxel_size=1.0, max_iter=30, max_dist=2, tol=1e-3, + min_points=10, cov_reg=0.0): + """ + :param min_points: Voxels holding fewer points than this are discarded. + :param cov_reg: Isotropic shift added to every per-voxel covariance. + Coplanar voxels otherwise yield singular covariances, which calc_icov + can only handle by clamping the determinant. 0.0 disables it. + """ super().__init__(max_iter=max_iter, tol=tol) self.voxel_size = voxel_size self.max_dist = max_dist + self.min_points = min_points + self.cov_reg = cov_reg def set_target(self, target): - self.voxels = VoxelGrid(self.voxel_size) + self.voxels = VoxelGrid(self.voxel_size, min_points=self.min_points, + cov_reg=self.cov_reg) self.voxels.set_points(target) self.voxels.calc_icov() # need for ndt self._is_target_set = True @@ -37,10 +47,12 @@ def calc_H_g_e2(self, cur_T, source): src_trans = src_trans[mask] diff = src_trans - means # shape: (N, 3) + # The tangent-space increment dx is applied by plus() as + # T @ [expSO3(dx[3:]) | dx[:3]], so J0 = R (not I) and J1 = -R@skew(p). J1 = -R @ skews(src_mask) icov_J1 = np.einsum('nij,njk->nik', icov, J1) - H_ll = np.sum(icov, axis=0) # sum (J0.T * icov * J0) - H_lr = np.sum(icov_J1, axis=0) + H_ll = R.T @ np.sum(icov, axis=0) @ R # sum (J0.T * icov * J0) + H_lr = R.T @ np.sum(icov_J1, axis=0) H_rr = np.einsum('nji,njk->ik', J1, icov_J1) H = np.zeros((6, 6)) @@ -50,7 +62,7 @@ def calc_H_g_e2(self, cur_T, source): H[3:, 3:] = H_rr icov_r = np.einsum('nij,nj->ni', icov, diff) - g0 = np.sum(icov_r, axis=0) # J0.T * icov * diff + g0 = R.T @ np.sum(icov_r, axis=0) # J0.T * icov * diff g1 = np.einsum('nji,nj->i', J1, icov_r) # J1.T * icov * diff g = np.hstack([g0, g1]) # shape: (6,) e2 = np.einsum('ni,ni->', diff, icov_r) # r.T * icov * r @@ -75,23 +87,21 @@ def calc_H_g_e2_no_parallel_ver(self, cur_T, source): mask = dist < self.max_dist means = means[mask] icov = icov[mask] - #src_mask = source[mask] + src_mask = source[mask] src_trans = src_trans[mask] H = np.zeros((6, 6)) g = np.zeros(6) e2 = 0 - for i in range(source.shape[0]): + for i in range(src_mask.shape[0]): J = np.zeros((3, 6)) - # Jacobian of the transformation - J[:, :3] = np.eye(3) + # Jacobian of the translation (body-frame increment: t += R @ dt) + J[:, :3] = R # Jacobian of the rotation - J[:, 3:] = -R @ skew(source[i]) + J[:, 3:] = -R @ skew(src_mask[i]) # residual r = src_trans[i] - means[i] - if dist[i] > self.max_dist: - continue H += J.T @ icov[i] @ J g += J.T @ icov[i] @ r e2 += r @ icov[i] @ r diff --git a/point_cloud_registration/plane_icp.py b/point_cloud_registration/plane_icp.py index 52c1b63..62bbb46 100644 --- a/point_cloud_registration/plane_icp.py +++ b/point_cloud_registration/plane_icp.py @@ -47,10 +47,13 @@ def calc_H_g_e2(self, cur_T, source): diff = src_trans - means src_mask = source[mask] rs = np.einsum('ij,ij->i', norms, diff) - Jt = norms Rt_norms = R.T @ norms.T + # The tangent-space increment dx is applied by plus() as + # T @ [expSO3(dx[3:]) | dx[:3]], so the residual row is + # n.T @ [R | -R@skew(p)] = [(R.T@n).T | (skew(p)@R.T@n).T]. + Jt = Rt_norms.T # # equal to skew_time_vector - # Jr = np.einsum('ijk,ki->ij', skews(src_mask), Rt_norms) + # Jr = np.einsum('ijk,ki->ij', skews(src_mask), Rt_norms) Jr = skew_time_vector(src_mask, Rt_norms.T) H_ll = np.einsum('ij,ik->jk', Jt, Jt) H_lr = np.einsum('ij,ik->jk', Jt, Jr) @@ -83,18 +86,17 @@ def calc_H_g_e2_no_parallel_ver(self, cur_T, source): means = self.target[idx] norms = self.normal[idx] src_trans = src_trans[mask] + src_mask = source[mask] H = np.zeros((6, 6)) g = np.zeros(6) e2 = 0 - for i in range(source.shape[0]): + for i in range(src_mask.shape[0]): n = norms[i] r = n @ (src_trans[i] - means[i]) J = np.zeros((1, 6)) - J[0, :3] = n - J[0, 3:] = skew(source[i]) @ (R.T @ n.T) - if np.abs(r) > self.max_dist: - continue + J[0, :3] = R.T @ n + J[0, 3:] = skew(src_mask[i]) @ (R.T @ n.T) H += J.T @ J g += J[0] * r e2 += r * r diff --git a/point_cloud_registration/registration.py b/point_cloud_registration/registration.py index f46dde0..10922aa 100644 --- a/point_cloud_registration/registration.py +++ b/point_cloud_registration/registration.py @@ -5,6 +5,7 @@ import numpy as np from point_cloud_registration.math_tools import plus +from point_cloud_registration.degeneracy import analyse_hessian, apply_sr_solve class Registration: @@ -17,6 +18,7 @@ def __init__(self, max_iter=30, tol=1e-3): self.max_iter = max_iter self.tol = tol self._is_target_set = False + self._last_hessian = None def is_target_set(self): """ @@ -68,46 +70,105 @@ def calc_H_g_e2(self, cur_T, source, dx_norm=np.inf): return H, g, e2 - def align(self, source, init_T=np.eye(4), verbose=False): + def align(self, source, init_T=np.eye(4), verbose=False, + use_solution_remapping=False, sr_lambda_threshold=None, + lm_damping=False): """ - use Gauss-Newton method to find the transformation - that aligns the source point cloud to the target point cloud. + Gauss-Newton alignment of the source cloud onto the target. + + The per-iteration step dx is a body-frame right-tangent increment + applied as T @ [expSO3(dx[3:]) | dx[:3]] (see math_tools.plus). + :param source: Source point cloud (Nx3 array). :param init_T: Initial transformation (4x4 array). :param verbose: Print error at each iteration. + :param use_solution_remapping: If True, zero the step in degenerate + Hessian eigenvector directions at each iteration (SR mode; + Hinduja, Ho & Kaess, IROS 2019, Algorithm 1 — solution remapping + per Zhang, Kaess & Singh, ICRA 2016; see degeneracy.py for full + references). + :param sr_lambda_threshold: Override the condition-number threshold + for SR. None = adaptive (sqrt(lambda_max / lambda_min)). + :param lm_damping: If True, solve the damped system (H + lambda*I) dx = -g + instead of H dx = -g, with lambda scaled to the trace of H + (Levenberg-Marquardt). This keeps the linear solve well posed on + geometry that leaves H singular or near-singular — a single flat + surface, a straight corridor, too few correspondences — where the + plain solve raises numpy.linalg.LinAlgError or returns a step + dominated by noise. On well-conditioned data the damping is small + enough to leave the solution unchanged. Pair it with + use_solution_remapping when the Hessian may be exactly rank + deficient: the degeneracy analysis runs on the raw H so the + classification stays honest, while the solve uses the damped one. :return: Final transformation (4x4 array). """ if self.is_target_set() is False: raise ValueError("Target is not set.") source = source.astype(np.float32) - cur_T = init_T - # dx_norm = np.inf - # best_T = cur_T - # best_error = np.inf - # source = source.astype(np.float32) + # Copy: align() must not return the caller's array (or the shared + # mutable np.eye(4) default) when it converges before the first step. + cur_T = init_T.copy() + H_final = None + converged = False + for i in range(self.max_iter): H, g, e2 = self.calc_H_g_e2(cur_T, source) + H_final = H if verbose: print(f"iter {i}, error {e2}") - # # ensure the error is decreasing - # if e2 < best_error: - # best_error = e2 - # best_T = cur_T.copy() - # else: - # break + if lm_damping: + trace_H = np.trace(H) + lambda_lm = max(1e-4 * trace_H / 6.0 if trace_H > 0 else 1e-3, 1e-6) + H_solve = H + lambda_lm * np.eye(6) + else: + H_solve = H + + if use_solution_remapping: + # Eigendecompose the raw H (correct degeneracy thresholding) but + # solve on H_solve (numerical stability): an isotropic +lambda*I + # shift leaves the eigenvectors identical. + deg = analyse_hessian(H.astype(float), lambda_threshold=sr_lambda_threshold) + dx = apply_sr_solve(H_solve.astype(float), g.astype(float), deg) + elif lm_damping: + try: + dx = -np.linalg.solve(H_solve, g) + except np.linalg.LinAlgError: + dx = -np.linalg.lstsq(H_solve, g, rcond=None)[0] + else: + dx = -np.linalg.solve(H, g) - - # solve the linear system - dx = -np.linalg.solve(H, g) - # check convergence dx_norm = np.linalg.norm(dx) if dx_norm < self.tol: + converged = True break # Update transformation cur_T = plus(cur_T, dx) - return cur_T \ No newline at end of file + # If max_iter was exhausted, cur_T advanced past the last + # linearization, so recompute the Hessian at the returned pose. + if not converged and H_final is not None: + H_final, _, _ = self.calc_H_g_e2(cur_T, source) + self._last_hessian = H_final + return cur_T + + @property + def last_hessian(self): + """ + The 6x6 Gauss-Newton Hessian (J^T W J) evaluated at the pose returned + by the most recent align() call, or None before any align(). + + It is expressed in the right-tangent (body) frame of that pose, DOF + order [tx, ty, tz, wx, wy, wz] — the increment coordinates consumed by + math_tools.plus(). Consumers that reason about world-frame axes must + map directions through the returned pose: a body increment + [dt, w] moves the estimate by R @ dt (translation) and R @ w + (rotation axis) in the world; a full left-tangent (world-frame) + Hessian additionally carries the translation-rotation coupling and + is obtained with the SE(3) adjoint of the pose, + H_world = Ad^{-T} @ H @ Ad^{-1}. + """ + return self._last_hessian \ No newline at end of file diff --git a/point_cloud_registration/voxel.py b/point_cloud_registration/voxel.py index 504b61e..a7c8f7d 100644 --- a/point_cloud_registration/voxel.py +++ b/point_cloud_registration/voxel.py @@ -53,10 +53,19 @@ class VoxelGrid: An efficient VoxelGrid structure using hash table """ - def __init__(self, voxel_size, min_points=10): + def __init__(self, voxel_size, min_points=10, cov_reg=0.0): + """ + :param voxel_size: Edge length of a voxel. + :param min_points: Voxels holding fewer points than this are discarded. + :param cov_reg: Isotropic shift added to every per-voxel covariance. + 0.0 (the default) leaves the covariances untouched. + """ + if cov_reg < 0.0: + raise ValueError(f"cov_reg must be >= 0.0, got {cov_reg}") self.voxel_size = voxel_size self.kdtree = None self.min_points = min_points + self.cov_reg = cov_reg def calc_sqrt_icov(self): """ @@ -146,13 +155,21 @@ def set_points(self, points): [[c00, c01, c02], [c01, c11, c12], [c02, c12, c22]]).transpose(2, 0, 1) - + + if self.cov_reg > 0.0: + # Isotropic shift keeps eigenvectors (normals) intact; prevents singular + # covariances when a voxel's points are exactly coplanar/collinear. + covs = covs + np.eye(3) * self.cov_reg + # Filter out voxels with too few points mask = counts >= self.min_points means = means[mask] covs = covs[mask] # t6 = time.time() + if len(means) == 0: + raise ValueError("data_pts should be non-empty") + # get the normal of each voxel _, eigenvectors = np.linalg.eigh(covs) norms = eigenvectors[:, :, 0] diff --git a/point_cloud_registration/voxelized_plane_icp.py b/point_cloud_registration/voxelized_plane_icp.py index 36c380a..bc63230 100644 --- a/point_cloud_registration/voxelized_plane_icp.py +++ b/point_cloud_registration/voxelized_plane_icp.py @@ -10,13 +10,22 @@ class VPlaneICP(Registration): - def __init__(self, voxel_size=1.0, max_iter=30, max_dist=2, tol=1e-3): + def __init__(self, voxel_size=1.0, max_iter=30, max_dist=2, tol=1e-3, + min_points=10, cov_reg=0.0): + """ + :param min_points: Voxels holding fewer points than this are discarded. + :param cov_reg: Isotropic shift added to every per-voxel covariance, + which keeps coplanar voxels non-singular. 0.0 disables it. + """ super().__init__(max_iter=max_iter, tol=tol) self.voxel_size = voxel_size self.max_dist = max_dist + self.min_points = min_points + self.cov_reg = cov_reg def set_target(self, target): - self.voxels = VoxelGrid(self.voxel_size) + self.voxels = VoxelGrid(self.voxel_size, min_points=self.min_points, + cov_reg=self.cov_reg) self.voxels.set_points(target) self._is_target_set = True @@ -42,10 +51,13 @@ def calc_H_g_e2(self, cur_T, source): diff = src_trans - means src_mask = source[mask] rs = np.einsum('ij,ij->i', norms, diff) - Jt = norms Rt_norms = R.T @ norms.T + # The tangent-space increment dx is applied by plus() as + # T @ [expSO3(dx[3:]) | dx[:3]], so the residual row is + # n.T @ [R | -R@skew(p)] = [(R.T@n).T | (skew(p)@R.T@n).T]. + Jt = Rt_norms.T # # equal to skew_time_vector - # Jr = np.einsum('ijk,ki->ij', skews(src_mask), Rt_norms) + # Jr = np.einsum('ijk,ki->ij', skews(src_mask), Rt_norms) Jr = skew_time_vector(src_mask, Rt_norms.T) H_ll = np.einsum('ij,ik->jk', Jt, Jt) H_lr = np.einsum('ij,ik->jk', Jt, Jr) @@ -83,18 +95,17 @@ def calc_H_g_e2_no_parallel_ver(self, cur_T, source): means = query_data['mean'][mask] norms = query_data['norm'][mask] src_trans = src_trans[mask] + src_mask = source[mask] H = np.zeros((6, 6)) g = np.zeros(6) e2 = 0 - for i in range(source.shape[0]): + for i in range(src_mask.shape[0]): n = norms[i] r = n @ (src_trans[i] - means[i]) J = np.zeros((1, 6)) - J[0, :3] = n - J[0, 3:] = skew(source[i]) @ (R.T @ n.T) - if np.abs(r) > self.max_dist: - continue + J[0, :3] = R.T @ n + J[0, 3:] = skew(src_mask[i]) @ (R.T @ n.T) H += J.T @ J g += J[0] * r e2 += r * r diff --git a/tests/test_degeneracy.py b/tests/test_degeneracy.py new file mode 100644 index 0000000..6e6fd2a --- /dev/null +++ b/tests/test_degeneracy.py @@ -0,0 +1,162 @@ +""" +Unit tests for point_cloud_registration.degeneracy. + +Hessian fixtures: + - 1-DOF: diag([ε,ε,λ_big,ε,ε,ε]) — only tz constrained + - 2-DOF: diag([λ_med,ε,λ_big,ε,ε,ε]) — tx + tz constrained + - well-conditioned: A.T@A + 100*I — all 6 DOFs constrained +""" +import numpy as np +import pytest + +from point_cloud_registration.degeneracy import ( + DegeneracyResult, + analyse_hessian, + apply_sr_solve, +) + +# PCR DOF order: [tx, ty, tz, ωx, ωy, ωz] +# +# For a direction to be non-degenerate under the condition-number criterion: +# lambda_i >= lambda_cn = sqrt(lambda_max / lambda_min) +# With lambda_min = EPS = 1e-6 and lambda_max = LAMBDA_BIG = 1e8: +# lambda_cn = sqrt(1e8/1e-6) = 1e7 +# So LAMBDA_BIG = 1e8 >= 1e7 → non-degenerate; EPS = 1e-6 << 1e7 → degenerate. +# LAMBDA_MED = 5e7 >= 1e7 → also non-degenerate (used for 2-DOF case). +EPS = 1e-6 +LAMBDA_BIG = 1e8 +LAMBDA_MED = 5e7 + + +def _h_1dof() -> np.ndarray: + """Only tz constrained — index 2 in PCR order.""" + return np.diag([EPS, EPS, LAMBDA_BIG, EPS, EPS, EPS]) + + +def _h_2dof() -> np.ndarray: + """tx (index 0) and tz (index 2) constrained.""" + return np.diag([LAMBDA_MED, EPS, LAMBDA_BIG, EPS, EPS, EPS]) + + +def _h_well_conditioned() -> np.ndarray: + rng = np.random.default_rng(42) + A = rng.standard_normal((6, 6)) + return A.T @ A + 100.0 * np.eye(6) + + +class TestAnalyseHessian: + def test_1dof_constrained_count(self): + deg = analyse_hessian(_h_1dof()) + assert deg.num_constrained_dof == 1 + + def test_2dof_constrained_count(self): + deg = analyse_hessian(_h_2dof()) + assert deg.num_constrained_dof == 2 + + def test_well_conditioned_no_degeneracy(self): + deg = analyse_hessian(_h_well_conditioned()) + assert not deg.is_degenerate + assert deg.num_constrained_dof == 6 + + def test_1dof_is_degenerate(self): + assert analyse_hessian(_h_1dof()).is_degenerate + + def test_condition_number_formula(self): + # lambda_max = 100, lambda_min = 1 → cn = sqrt(100/1) = 10 + H = np.diag([1.0, 1.0, 100.0, 1.0, 1.0, 1.0]) + deg = analyse_hessian(H) + expected = np.sqrt(100.0 / 1.0) + assert abs(deg.condition_number - expected) < 0.01 + + def test_eigenvalues_ascending(self): + deg = analyse_hessian(_h_1dof()) + assert np.all(np.diff(deg.eigenvalues) >= 0) + + def test_V_constrained_shape(self): + deg = analyse_hessian(_h_1dof()) + assert deg.V_constrained.shape == (1, 6) + + deg2 = analyse_hessian(_h_2dof()) + assert deg2.V_constrained.shape == (2, 6) + + deg6 = analyse_hessian(_h_well_conditioned()) + assert deg6.V_constrained.shape == (6, 6) + + def test_V_constrained_rows_are_unit_vectors(self): + deg = analyse_hessian(_h_2dof()) + norms = np.linalg.norm(deg.V_constrained, axis=1) + np.testing.assert_allclose(norms, 1.0, atol=1e-12) + + def test_fixed_lambda_threshold(self): + H = _h_1dof() + deg_low = analyse_hessian(H, lambda_threshold=EPS / 2) + # Threshold below all eigenvalues → nothing degenerate + assert deg_low.num_constrained_dof == 6 + + def test_completely_degenerate(self): + H = np.zeros((6, 6)) + deg = analyse_hessian(H) + assert deg.is_degenerate + assert deg.num_constrained_dof == 0 + assert deg.V_constrained.shape == (0, 6) + + def test_structural_zero_alone_is_degenerate(self): + """ + A structural zero stays degenerate even when the adaptive threshold + lands below it: five equal 1e12 eigenvalues give a threshold of + sqrt(1e12/1e12) = 1, yet the 10.0 direction is eleven orders of + magnitude weaker and must not be reported constrained. + """ + H = np.diag([1e12, 1e12, 1e12, 1e12, 1e12, 10.0]) + deg = analyse_hessian(H) + assert deg.num_constrained_dof == 5 + assert deg.degenerate_mask[0] # ascending order puts 10.0 first + assert deg.condition_number == pytest.approx(1.0) + + def test_structural_zero_combines_with_cn_test(self): + """Phase 1 (structural zeros) and phase 2 (cn test) OR together.""" + H = np.diag([1e12, 1e12, 1e12, 1e12, 1e3, 1e-6]) + deg = analyse_hessian(H) + # 1e-6 is a structural zero; 1e3 fails the cn test (~3.2e4). + assert deg.num_constrained_dof == 4 + + +class TestApplySRSolve: + def test_degenerate_direction_zeroed(self): + H = _h_1dof() + deg = analyse_hessian(H) + g = np.ones(6) + dx = apply_sr_solve(H, g, deg) + + # Component of dx along each degenerate eigenvector should be ~0 + for i in range(6): + if deg.degenerate_mask[i]: + v = deg.eigenvectors[:, i] + component = float(v @ dx) + assert abs(component) < 1e-8, f"Degenerate dir {i} not zeroed: {component}" + + def test_no_degeneracy_matches_standard_solve(self): + H = _h_well_conditioned() + deg = analyse_hessian(H) + g = np.ones(6) + dx_sr = apply_sr_solve(H, g, deg) + dx_std = np.linalg.solve(H, -g) + np.testing.assert_allclose(dx_sr, dx_std, rtol=1e-6) + + def test_exactly_singular_hessian_classified_but_solve_raises(self): + """ + Pins the contract boundary: analyse_hessian CLASSIFIES an exactly + rank-deficient Hessian, but apply_sr_solve does not solve one. + + H is singular yet partially constrained (only tz observed). The + analysis correctly reports 1 constrained DOF, but the remapping still + goes through np.linalg.solve(H, g), which raises before any projection + happens. Callers whose raw Hessian can be exactly singular must pass a + regularized H to apply_sr_solve while analysing the raw one. + """ + H = np.diag([0.0, 0.0, LAMBDA_BIG, 0.0, 0.0, 0.0]) + deg = analyse_hessian(H) + assert deg.num_constrained_dof == 1 + + with pytest.raises(np.linalg.LinAlgError): + apply_sr_solve(H, np.ones(6), deg) diff --git a/tests/test_icp.py b/tests/test_icp.py index 2b12983..dd74eb5 100644 --- a/tests/test_icp.py +++ b/tests/test_icp.py @@ -1,7 +1,7 @@ import numpy as np import pytest from point_cloud_registration.icp import ICP -from point_cloud_registration.math_tools import expSO3 +from point_cloud_registration.math_tools import expSO3, makeT @pytest.fixture @@ -17,16 +17,24 @@ def generate_test_data(): return target, source -def test_calc_H_g_e2(generate_test_data): +@pytest.mark.parametrize( + "cur_T", + [np.eye(4), makeT(expSO3(np.array([0.3, -0.2, 0.4])), np.array([0.1, 0.2, -0.1]))], + ids=["identity_pose", "rotated_pose"], +) +@pytest.mark.parametrize("with_outliers", [False, True], ids=["all_inliers", "with_outliers"]) +def test_calc_H_g_e2(generate_test_data, cur_T, with_outliers): """ Test that calc_H_g_e2 and calc_H_g_e2_no_parallel_ver produce the same results. """ target, source = generate_test_data + if with_outliers: + # Points far outside the target's reach: rejected by the max_dist gate. + source = np.vstack([source[:10] + 50.0, source]) source = source.astype(np.float32) icp = ICP(max_iter=10, max_dist=2.0, tol=1e-3) icp.set_target(target) - cur_T = np.eye(4) # Initial transformation (identity matrix) # Compute results using both methods H1, g1, e2_1 = icp.calc_H_g_e2(cur_T, source) diff --git a/tests/test_math_tools.py b/tests/test_math_tools.py new file mode 100644 index 0000000..d3f7d38 --- /dev/null +++ b/tests/test_math_tools.py @@ -0,0 +1,43 @@ +""" +expSO3 must return a member of SO(3) in both of its branches. + +The small-angle branch used to return the first-order I + W, which is +not orthonormal (det = 1 + O(theta^2)): at |omega| = 3e-3 the +determinant error is ~9e-6, and every Gauss-Newton step taken through +plus() bakes that scale/shear into the pose estimate. +""" +import numpy as np + +from point_cloud_registration.math_tools import expSO3, skew + + +def _rodrigues(omega): + """Exact Rodrigues formula, valid for any nonzero angle (float64).""" + theta = np.linalg.norm(omega) + K = skew(omega) / theta + return np.eye(3) + np.sin(theta) * K + (1.0 - np.cos(theta)) * (K @ K) + + +def _assert_in_SO3(R, atol): + np.testing.assert_allclose(R.T @ R, np.eye(3), atol=atol) + assert abs(np.linalg.det(R) - 1.0) < atol + + +def test_small_angle_branch_is_orthonormal(): + # theta^2 = 9e-6 <= epsilon = 1e-5: exercises the near-zero branch. + R = expSO3(np.array([3e-3, 0.0, 0.0])) + _assert_in_SO3(R, atol=1e-12) + + +def test_small_angle_branch_matches_rodrigues(): + omega = np.array([1.5e-3, -2e-3, 1e-3]) + np.testing.assert_allclose(expSO3(omega), _rodrigues(omega), atol=1e-12) + + +def test_large_angle_branch_is_orthonormal(): + R = expSO3(np.array([0.5, -0.3, 0.2])) + _assert_in_SO3(R, atol=1e-12) + + +def test_zero_rotation_is_identity(): + np.testing.assert_allclose(expSO3(np.zeros(3)), np.eye(3), atol=1e-15) diff --git a/tests/test_ndt.py b/tests/test_ndt.py index f21c757..a834b16 100644 --- a/tests/test_ndt.py +++ b/tests/test_ndt.py @@ -2,6 +2,7 @@ import pytest from point_cloud_registration import NDT from point_cloud_registration import expSO3 +from point_cloud_registration.math_tools import makeT @pytest.fixture @@ -19,17 +20,24 @@ def generate_test_data(): return target, normals, source -def test_calc_H_g_e2(generate_test_data): +@pytest.mark.parametrize( + "cur_T", + [np.eye(4), makeT(expSO3(np.array([0.3, -0.2, 0.4])), np.array([0.1, 0.2, -0.1]))], + ids=["identity_pose", "rotated_pose"], +) +@pytest.mark.parametrize("with_outliers", [False, True], ids=["all_inliers", "with_outliers"]) +def test_calc_H_g_e2(generate_test_data, cur_T, with_outliers): """ - Test that calc_H_g_e2 and calc_H_g_e2x produce the same results. + Test that calc_H_g_e2 and calc_H_g_e2_no_parallel_ver produce the same results. """ - target, normals, source = generate_test_data + target, _, source = generate_test_data + if with_outliers: + # Points far outside the target's reach: rejected by the max_dist gate. + source = np.vstack([source[:10] + 50.0, source]) source = source.astype(np.float32) plane_icp = NDT(voxel_size=1.0, max_iter=10, max_dist=2.0, tol=1e-3) plane_icp.set_target(target) - plane_icp.normal = normals - cur_T = np.eye(4) # Initial transformation (identity matrix) # Compute results using both methods H1, g1, e2_1 = plane_icp.calc_H_g_e2(cur_T, source) diff --git a/tests/test_picp.py b/tests/test_picp.py index 7d90cf9..1bc3987 100644 --- a/tests/test_picp.py +++ b/tests/test_picp.py @@ -1,7 +1,7 @@ import numpy as np import pytest from point_cloud_registration.plane_icp import PlaneICP -from point_cloud_registration.math_tools import expSO3 +from point_cloud_registration.math_tools import expSO3, makeT @pytest.fixture @@ -17,16 +17,24 @@ def generate_test_data(): return target, source -def test_calc_H_g_e2(generate_test_data): +@pytest.mark.parametrize( + "cur_T", + [np.eye(4), makeT(expSO3(np.array([0.3, -0.2, 0.4])), np.array([0.1, 0.2, -0.1]))], + ids=["identity_pose", "rotated_pose"], +) +@pytest.mark.parametrize("with_outliers", [False, True], ids=["all_inliers", "with_outliers"]) +def test_calc_H_g_e2(generate_test_data, cur_T, with_outliers): """ Test that calc_H_g_e2 and calc_H_g_e2_no_parallel_ver produce the same results. """ target, source = generate_test_data + if with_outliers: + # Points far outside the target's reach: rejected by the max_dist gate. + source = np.vstack([source[:10] + 50.0, source]) source = source.astype(np.float32) vpicp = PlaneICP(max_iter=10, max_dist=2.0, tol=1e-3) vpicp.set_target(target) - cur_T = np.eye(4) # Initial transformation (identity matrix) # Compute results using both methods H1, g1, e2_1 = vpicp.calc_H_g_e2(cur_T, source) diff --git a/tests/test_registration_align.py b/tests/test_registration_align.py new file mode 100644 index 0000000..a2fb9bc --- /dev/null +++ b/tests/test_registration_align.py @@ -0,0 +1,234 @@ +""" +Behavioral tests for Registration.align(). +""" +import numpy as np +import pytest + +from point_cloud_registration.icp import ICP +from point_cloud_registration.plane_icp import PlaneICP +from point_cloud_registration.math_tools import expSO3, makeT + + +@pytest.fixture +def well_conditioned_pair(): + """ + Three mutually orthogonal planes ("corner") — normals span R^3, so all six + DOF are constrained and the Hessian is well conditioned. + + Returns (target, source, T_true) where T_true is the transform align() + should recover, i.e. the one that maps source onto target. + """ + rng = np.random.default_rng(0) + n = 400 + a = rng.uniform(0.0, 4.0, size=(n, 2)) + b = rng.uniform(0.0, 4.0, size=(n, 2)) + c = rng.uniform(0.0, 4.0, size=(n, 2)) + face_z = np.column_stack([a[:, 0], a[:, 1], np.zeros(n)]) + face_x = np.column_stack([np.zeros(n), b[:, 0], b[:, 1]]) + face_y = np.column_stack([c[:, 0], np.zeros(n), c[:, 1]]) + target = np.vstack([face_z, face_x, face_y]) + + R = expSO3(np.array([0.02, -0.03, 0.05])) + t = np.array([0.15, -0.1, 0.08]) + source = (R @ target.T).T + t + T_true = np.linalg.inv(makeT(R, t)) + return target, source, T_true + + +@pytest.fixture +def degenerate_pair(): + """ + A perfectly flat z=0 grid as target, source the same grid shifted in +z. + + Every surface normal is (0, 0, 1), so the plane-ICP Jacobian rows are + [0, 0, 1, y, -x, 0]: tx, ty and wz never appear and the Hessian is exactly + rank 3. z, wx and wy are the only observable directions. + """ + g = np.arange(-5.0, 5.0 + 1e-9, 1.0) + xx, yy = np.meshgrid(g, g) + target = np.column_stack([xx.ravel(), yy.ravel(), np.zeros(xx.size)]) + source = target + np.array([0.0, 0.0, 0.5]) + return target, source + + +def _yaw(T): + return float(np.arctan2(T[1, 0], T[0, 0])) + + +def test_last_hessian_lifecycle(well_conditioned_pair): + """last_hessian is None before any align and a 6x6 array afterwards.""" + target, source, _ = well_conditioned_pair + engine = PlaneICP(max_iter=30, max_dist=2.0, tol=1e-6) + engine.set_target(target) + + assert engine.last_hessian is None + + engine.align(source) + + H = engine.last_hessian + assert isinstance(H, np.ndarray) + assert H.shape == (6, 6) + assert np.all(np.isfinite(H)) + + +def test_last_hessian_recomputed_when_max_iter_exhausted(well_conditioned_pair): + """ + When align() runs out of iterations, cur_T has advanced past the last + linearization, so the stored Hessian must be recomputed at the returned + pose rather than left at the pre-step one. + """ + target, source, _ = well_conditioned_pair + engine = PlaneICP(max_iter=1, max_dist=2.0, tol=1e-6) + engine.set_target(target) + + T = engine.align(source) + + H_at_returned = engine.calc_H_g_e2(T, source)[0] + H_at_init = engine.calc_H_g_e2(np.eye(4), source)[0] + + assert np.allclose(engine.last_hessian, H_at_returned), ( + "last_hessian is not the Hessian at the returned pose; max diff " + f"{np.max(np.abs(engine.last_hessian - H_at_returned))}" + ) + assert not np.allclose(engine.last_hessian, H_at_init), ( + "last_hessian is stale (equals the pre-step Hessian)" + ) + + +def test_align_does_not_alias_init_T(): + """ + align() must return a transform the caller owns. + + With source == target the very first step is ~zero, so align() + converges before ever calling plus(): without the defensive copy it + returns the init_T object itself — and with the mutable np.eye(4) + default, a caller mutating the result silently corrupts the default + for every subsequent align() call in the process. + """ + np.random.seed(1) + target = np.random.rand(100, 3) + icp = ICP(max_iter=10, max_dist=2.0, tol=1e-3) + icp.set_target(target) + source = target.astype(np.float32) + + init_T = np.eye(4) + T = icp.align(source, init_T=init_T) + assert T is not init_T + + # Mutating the result must not corrupt the shared default argument. + T_default = icp.align(source) + T_default[0, 3] = 123.0 + T_again = icp.align(source) + np.testing.assert_allclose(T_again, np.eye(4), atol=1e-6) + + +def test_lm_damping_rescues_singular_hessian(degenerate_pair): + """ + On exactly rank-deficient geometry the plain Gauss-Newton solve fails; the + damped solve returns a finite transform. + """ + target, source = degenerate_pair + + engine = PlaneICP(max_iter=10, max_dist=2.0, tol=1e-6) + engine.set_target(target) + + # The fixture really is singular: three eigenvalues are exactly zero. + H = engine.calc_H_g_e2(np.eye(4), source)[0] + eigenvalues = np.linalg.eigvalsh(H) + assert np.count_nonzero(eigenvalues <= 0.0) == 3, f"eigenvalues: {eigenvalues}" + + # Undamped: np.linalg.solve rejects the exactly singular Hessian. + with pytest.raises(np.linalg.LinAlgError): + engine.align(source, lm_damping=False) + + # Damped: H + lambda*I is invertible, so align completes. + T = engine.align(source, lm_damping=True) + assert T.shape == (4, 4) + assert np.all(np.isfinite(T)) + + +def test_lm_damping_parity_on_well_conditioned_data(well_conditioned_pair): + """Damping must not move the solution when the problem is well conditioned.""" + target, source, _ = well_conditioned_pair + + engine = PlaneICP(max_iter=30, max_dist=2.0, tol=1e-6) + engine.set_target(target) + T_plain = engine.align(source, lm_damping=False) + + engine_damped = PlaneICP(max_iter=30, max_dist=2.0, tol=1e-6) + engine_damped.set_target(target) + T_damped = engine_damped.align(source, lm_damping=True) + + assert np.allclose(T_plain, T_damped, atol=1e-3), ( + f"damping changed the solution; max diff {np.max(np.abs(T_plain - T_damped))}" + ) + + +def test_solution_remapping_zeroes_degenerate_directions(degenerate_pair): + """ + On a flat plane the observable directions are z, wx and wy. Solution + remapping must leave the unobservable ones (x, y, yaw) untouched while z + still converges onto the target plane. + + lm_damping is required here: apply_sr_solve inverts the Hessian it is given, + and the raw one is singular. + """ + target, source = degenerate_pair + + engine = PlaneICP(max_iter=30, max_dist=2.0, tol=1e-6) + engine.set_target(target) + + T = engine.align(source, use_solution_remapping=True, lm_damping=True) + + assert np.all(np.isfinite(T)) + assert abs(T[0, 3]) < 1e-6, f"x moved along a degenerate direction: {T[0, 3]}" + assert abs(T[1, 3]) < 1e-6, f"y moved along a degenerate direction: {T[1, 3]}" + assert abs(_yaw(T)) < 1e-6, f"yaw moved along a degenerate direction: {_yaw(T)}" + # The source sits 0.5 above the target plane, so align must pull it back down. + assert T[2, 3] == pytest.approx(-0.5, abs=1e-3), f"z did not converge: {T[2, 3]}" + + +def test_solution_remapping_no_world_leak_under_rotated_init(degenerate_pair): + """ + The same flat plane, but starting from a rotated initial guess. + + The unobservable directions of the scene are world x, y and yaw; SR zeroes + the step in the body frame, and because H and the step share the body + frame of the retraction, the accumulated world-frame motion must still + have no component along them. Before the body-frame Jacobian fix this + leaked ~0.13 m into world y at a 0.25 rad initial roll. + """ + from point_cloud_registration.math_tools import transform_points + + target, source = degenerate_pair + + engine = PlaneICP(max_iter=50, max_dist=2.0, tol=1e-8) + engine.set_target(target) + + init_T = makeT(expSO3(np.array([0.25, 0.0, 0.0])), np.zeros(3)) + T = engine.align(source, init_T=init_T, + use_solution_remapping=True, lm_damping=True) + + assert np.all(np.isfinite(T)) + assert abs(T[0, 3]) < 1e-6, f"x leaked: {T[0, 3]}" + assert abs(T[1, 3]) < 1e-6, f"y leaked: {T[1, 3]}" + assert abs(_yaw(T)) < 1e-6, f"yaw leaked: {_yaw(T)}" + # The observable directions must still do their job: the aligned source + # has to land on the z=0 target plane. + aligned = transform_points(T, source) + assert np.max(np.abs(aligned[:, 2])) < 1e-3 + + +def test_default_behaviour_converges_to_ground_truth(well_conditioned_pair): + """With both options off, align() is the plain Gauss-Newton solver.""" + target, source, T_true = well_conditioned_pair + + engine = PlaneICP(max_iter=30, max_dist=2.0, tol=1e-6) + engine.set_target(target) + + T = engine.align(source, use_solution_remapping=False, lm_damping=False) + + assert T.shape == (4, 4) + assert np.allclose(T, T_true, atol=1e-4), ( + f"max diff from ground truth {np.max(np.abs(T - T_true))}" + ) diff --git a/tests/test_retraction_consistency.py b/tests/test_retraction_consistency.py new file mode 100644 index 0000000..7dd6643 --- /dev/null +++ b/tests/test_retraction_consistency.py @@ -0,0 +1,221 @@ +""" +Retraction-consistency oracle for every solver's calc_H_g_e2. + +align() applies its Gauss-Newton step through the right-multiplicative +retraction plus(T, dx) = T @ [expSO3(dx[3:]) | dx[:3]], so the (H, g) +returned by calc_H_g_e2 must be the Gauss-Newton pair of the solver's +own cost with respect to THAT increment (a body-frame right-tangent +6-vector, DOF order [tx, ty, tz, wx, wy, wz]). + +The oracle freezes the correspondences the solver selected at cur_T +(Gauss-Newton linearizes with correspondences held fixed), rebuilds the +residual model in float64, differentiates each residual through plus() +by central differences, and checks + + g == sum_i J_i.T @ W_i @ r_i H == sum_i J_i.T @ W_i @ J_i + +independently. This catches frame errors that fast-vs-reference parity +tests cannot see, because those compare two implementations that could +share the same wrong convention. +""" +import numpy as np +import pytest + +from point_cloud_registration.icp import ICP +from point_cloud_registration.plane_icp import PlaneICP +from point_cloud_registration.voxelized_plane_icp import VPlaneICP +from point_cloud_registration.ndt import NDT +from point_cloud_registration.math_tools import expSO3, makeT, plus, transform_points + +H_STEP = 3e-3 +CUR_T = makeT(expSO3(np.array([0.3, -0.2, 0.4])), np.array([0.1, 0.2, -0.1])) + + +def _numeric_J(residual_fn, dim): + """Central-difference Jacobian of residual_fn: R^6 -> R^(N,dim).""" + r0 = residual_fn(np.zeros(6)) + J = np.zeros((r0.shape[0], dim, 6)) + for k in range(6): + dx = np.zeros(6) + dx[k] = H_STEP + rp = residual_fn(dx) + rm = residual_fn(-dx) + J[:, :, k] = (rp - rm) / (2.0 * H_STEP) + return r0, J + + +def _assert_H_g_match(H, g, r0, J, W=None): + """Compare solver (H, g) with the numeric Gauss-Newton pair.""" + if W is None: + Wr = r0 + WJ = J + else: + Wr = np.einsum('nij,nj->ni', W, r0) + WJ = np.einsum('nij,njk->nik', W, J) + g_num = np.einsum('nik,ni->k', J, Wr) + H_num = np.einsum('nik,nil->kl', J, WJ) + g_scale = max(np.max(np.abs(g_num)), 1.0) + H_scale = max(np.max(np.abs(H_num)), 1.0) + assert np.allclose(g, g_num, atol=2e-3 * g_scale), ( + f"g mismatch:\nsolver {g}\nnumeric {g_num}") + assert np.allclose(H, H_num, atol=2e-3 * H_scale), ( + f"H mismatch: max |dH| = {np.max(np.abs(H - H_num))}") + + +@pytest.fixture +def cloud_pair(): + np.random.seed(42) + target = np.random.rand(500, 3) * 4.0 + R = expSO3(np.array([0.1, 0.2, 0.3])) + t = np.array([0.5, -0.3, 0.2]) + source = ((R @ target.T).T + t).astype(np.float32) + return target, source + + +def test_icp_matches_numeric_gauss_newton(cloud_pair): + target, source = cloud_pair + icp = ICP(max_iter=10, max_dist=2.0) + icp.set_target(target) + H, g, _ = icp.calc_H_g_e2(CUR_T, source) + + # Freeze the correspondences exactly as the solver selected them. + src_trans = transform_points(CUR_T.astype(np.float32), source) + dist, idx = icp.kdtree.query(src_trans) + mask = dist < icp.max_dist + p = source[mask].astype(np.float64) + q = target[idx[mask]].astype(np.float64) + + def residual(dx): + T = plus(CUR_T, dx) + return transform_points(T, p) - q + + r0, J = _numeric_J(residual, 3) + _assert_H_g_match(H, g, r0, J) + + +def test_plane_icp_matches_numeric_gauss_newton(cloud_pair): + target, source = cloud_pair + picp = PlaneICP(max_iter=10, max_dist=2.0, k=10) + picp.set_target(target) + H, g, _ = picp.calc_H_g_e2(CUR_T, source) + + src_trans = transform_points(CUR_T.astype(np.float32), source) + dist, idx = picp.kdtree.query(src_trans) + mask = dist < picp.max_dist + p = source[mask].astype(np.float64) + m = picp.target[idx[mask]].astype(np.float64) + n = picp.normal[idx[mask]].astype(np.float64) + + def residual(dx): + T = plus(CUR_T, dx) + return np.einsum('ij,ij->i', n, transform_points(T, p) - m)[:, None] + + r0, J = _numeric_J(residual, 1) + _assert_H_g_match(H, g, r0, J) + + +def test_vplane_icp_matches_numeric_gauss_newton(cloud_pair): + target, source = cloud_pair + vpicp = VPlaneICP(voxel_size=1.0, max_iter=10, max_dist=2.0) + vpicp.set_target(target) + H, g, _ = vpicp.calc_H_g_e2(CUR_T, source) + + src_trans = transform_points(CUR_T.astype(np.float32), source) + query = vpicp.voxels.query(src_trans, ['mean', 'norm']) + mask = query['dist'] < vpicp.max_dist + p = source[mask].astype(np.float64) + m = query['mean'][mask].astype(np.float64) + n = query['norm'][mask].astype(np.float64) + + def residual(dx): + T = plus(CUR_T, dx) + return np.einsum('ij,ij->i', n, transform_points(T, p) - m)[:, None] + + r0, J = _numeric_J(residual, 1) + _assert_H_g_match(H, g, r0, J) + + +def test_ndt_matches_numeric_gauss_newton(cloud_pair): + target, source = cloud_pair + ndt = NDT(voxel_size=1.0, max_iter=10, max_dist=2.0) + ndt.set_target(target) + H, g, _ = ndt.calc_H_g_e2(CUR_T, source) + + src_trans = transform_points(CUR_T.astype(np.float32), source) + query = ndt.voxels.query(src_trans, ['icov', 'mean']) + mask = query['dist'] < ndt.max_dist + p = source[mask].astype(np.float64) + m = query['mean'][mask].astype(np.float64) + W = query['icov'][mask].astype(np.float64) + + def residual(dx): + T = plus(CUR_T, dx) + return transform_points(T, p) - m + + r0, J = _numeric_J(residual, 3) + _assert_H_g_match(H, g, r0, J, W=W) + + +class TestAlignRecovery: + """End-to-end: align() must reach the true pose, not just a stationary one.""" + + def test_icp_recovers_large_rotation(self): + np.random.seed(7) + target = np.random.rand(200, 3) * 2.0 + T_true = makeT(expSO3(np.array([0.5, 0.0, 0.0])), + np.array([0.3, -0.2, 0.1])) + source = transform_points(np.linalg.inv(T_true), target) + icp = ICP(max_iter=100, max_dist=5.0, tol=1e-9) + icp.set_target(target) + T = icp.align(source.astype(np.float32)) + assert np.allclose(T, T_true, atol=1e-3), ( + f"pose error {np.max(np.abs(T - T_true))}") + + def test_plane_icp_recovers_from_rotated_init(self): + rng = np.random.default_rng(0) + pts = [] + for _ in range(3): + u = rng.uniform(0.0, 4.0, (400, 2)) + pts.append(np.column_stack([u[:, 0], u[:, 1], np.zeros(400)])) + corner = np.vstack([ + pts[0], + pts[1][:, [0, 2, 1]], + pts[2][:, [2, 0, 1]], + ]) + T_true = makeT(expSO3(np.array([0.02, -0.03, 0.05])), + np.array([0.15, -0.1, 0.08])) + source = transform_points(np.linalg.inv(T_true), corner) + picp = PlaneICP(max_iter=60, max_dist=1.0, tol=1e-8, k=10) + picp.set_target(corner) + init_T = makeT(expSO3(np.array([0.1, -0.05, 0.08])), np.zeros(3)) + T = picp.align(source.astype(np.float32), init_T=init_T) + assert np.allclose(T, T_true, atol=1e-3), ( + f"pose error {np.max(np.abs(T - T_true))}") + + @pytest.mark.parametrize("engine_cls", [VPlaneICP, NDT]) + def test_voxel_solvers_reduce_pose_error(self, engine_cls): + # Three gently textured faces of a corner, offset by +0.5 so the + # surfaces sit mid-voxel: faces lying exactly on voxel boundaries + # give voxels that straddle two faces and blend their normals, + # which biases the voxelized cost minimum away from the true pose. + rng = np.random.default_rng(3) + faces = [] + for axes in ((0, 1, 2), (0, 2, 1), (2, 0, 1)): + u = rng.uniform(0.0, 4.0, (3000, 2)) + face = np.zeros((3000, 3)) + face[:, axes[0]] = u[:, 0] + face[:, axes[1]] = u[:, 1] + face[:, axes[2]] = 0.05 * np.sin(u[:, 0]) * np.cos(u[:, 1]) + faces.append(face) + target = np.vstack(faces) + 0.5 + T_true = makeT(expSO3(np.array([0.03, -0.02, 0.04])), + np.array([0.2, -0.15, 0.1])) + source = transform_points(np.linalg.inv(T_true), target) + engine = engine_cls(voxel_size=1.0, max_iter=60, max_dist=2.0, tol=1e-8) + engine.set_target(target) + T = engine.align(source.astype(np.float32)) + err_before = np.linalg.norm(np.eye(4) - T_true) + err_after = np.linalg.norm(T - T_true) + assert err_after < err_before / 10.0, ( + f"before {err_before}, after {err_after}") + assert np.allclose(T[:3, 3], T_true[:3, 3], atol=3e-2) diff --git a/tests/test_synthetic_data.py b/tests/test_synthetic_data.py new file mode 100644 index 0000000..f2fe1b3 --- /dev/null +++ b/tests/test_synthetic_data.py @@ -0,0 +1,108 @@ +""" +Pins the degeneracy story of the synthetic clouds in data/. + +demo_degeneracy.py and the README claim that the staircase constrains +exactly five DOFs (everything but cross-step translation ty) and the +flat plane exactly three (tz, roll, pitch). These tests hold the +generators — and the committed .pcd files — to that claim, with margin +assertions so a normals/threshold drift shows up here rather than as a +silently broken demo. +""" +import importlib.util +import os + +import numpy as np +import pytest + +from point_cloud_registration import PlaneICP, analyse_hessian + +DATA_DIR = os.path.join(os.path.dirname(os.path.dirname( + os.path.abspath(__file__))), "data") + +_spec = importlib.util.spec_from_file_location( + "generate_synthetic", os.path.join(DATA_DIR, "generate_synthetic.py")) +generate_synthetic = importlib.util.module_from_spec(_spec) +_spec.loader.exec_module(generate_synthetic) + + +def _analyse(points): + """Degeneracy analysis of a cloud registered against itself at identity.""" + engine = PlaneICP(max_iter=1, max_dist=1.0, k=10) + engine.set_target(points) + H = engine.calc_H_g_e2(np.eye(4), points.astype(np.float32))[0] + return analyse_hessian(H.astype(float)) + + +def _dominant_dof(eigenvector): + return int(np.argmax(np.abs(eigenvector))) + + +def test_staircase_flags_exactly_ty(): + deg = _analyse(generate_synthetic.make_staircase()) + + assert deg.num_constrained_dof == 5 + flagged = np.where(deg.degenerate_mask)[0] + assert flagged.shape == (1,) + # The single degenerate direction is dominated by ty (DOF index 1). + assert _dominant_dof(deg.eigenvectors[:, flagged[0]]) == 1 + # Margins: the flagged eigenvalue sits clearly below the threshold and + # the next one clearly above, so small sampling/normals drift cannot + # silently flip the classification. + assert deg.eigenvalues[flagged[0]] < 0.8 * deg.lambda_threshold + assert deg.eigenvalues[1] > 5.0 * deg.lambda_threshold + + +def test_plane_flags_three_dof(): + deg = _analyse(generate_synthetic.make_plane()) + + assert deg.num_constrained_dof == 3 + flagged = np.where(deg.degenerate_mask)[0] + doms = sorted(_dominant_dof(deg.eigenvectors[:, i]) for i in flagged) + assert doms == [0, 1, 5] # tx, ty, yaw + assert np.all(deg.eigenvalues[flagged] < 0.8 * deg.lambda_threshold) + + +def test_generators_are_deterministic(): + a = generate_synthetic.make_staircase() + b = generate_synthetic.make_staircase() + np.testing.assert_array_equal(a, b) + + c = generate_synthetic.make_plane() + d = generate_synthetic.make_plane() + np.testing.assert_array_equal(c, d) + + +def test_pcd_roundtrip(tmp_path): + points = generate_synthetic.make_plane(num_points=100) + path = tmp_path / "roundtrip.pcd" + generate_synthetic.save_pcd(path, points) + loaded = generate_synthetic.load_pcd(path) + # save_pcd documents float32 / six-decimal storage: measured worst-case + # roundtrip error across all shipped clouds is ~7.3e-7. + np.testing.assert_allclose(loaded, points, atol=2e-6) + + +@pytest.mark.parametrize("name,expected_degenerate_doms", [ + ("synthetic_staircase_target.pcd", [1]), + ("synthetic_staircase_source.pcd", [1]), + ("synthetic_plane_target.pcd", [0, 1, 5]), + ("synthetic_plane_source.pcd", [0, 1, 5]), +]) +def test_committed_pcds_keep_their_degeneracy(name, expected_degenerate_doms): + """ + The files on disk — not just fresh arrays — carry the story: the same + DOF identities and the same classification margin, for every committed + cloud (each has its own seed and therefore its own margin). + """ + path = os.path.join(DATA_DIR, name) + points = generate_synthetic.load_pcd(path) + deg = _analyse(points) + + assert deg.num_constrained_dof == 6 - len(expected_degenerate_doms) + flagged = np.where(deg.degenerate_mask)[0] + doms = sorted(_dominant_dof(deg.eigenvectors[:, i]) for i in flagged) + assert doms == expected_degenerate_doms + assert np.all(deg.eigenvalues[flagged] < 0.8 * deg.lambda_threshold), ( + f"weak margin: {deg.eigenvalues[flagged]} vs threshold " + f"{deg.lambda_threshold}" + ) diff --git a/tests/test_voxel_grid.py b/tests/test_voxel_grid.py new file mode 100644 index 0000000..a38decc --- /dev/null +++ b/tests/test_voxel_grid.py @@ -0,0 +1,305 @@ +""" +Tests for VoxelGrid covariance regularization (cov_reg), the explicit +raise when the min_points mask empties the voxel set, and the threading of +both knobs through VPlaneICP and NDT. +""" + +import numpy as np +import pytest + +from point_cloud_registration.voxel import VoxelGrid +from point_cloud_registration.voxelized_plane_icp import VPlaneICP +from point_cloud_registration.ndt import NDT + +VOXEL_SIZE = 1.0 +COV_REG = 1e-3 + + +@pytest.fixture +def coplanar_cloud(): + """ + A dense flat z=0 grid, spacing 0.2 over [0, 4). With voxel_size 1.0 every + voxel holds 25 exactly coplanar points, so each per-voxel covariance is + exactly singular (smallest eigenvalue 0) and NDT's fast inverse hits its + det_A == 0 clamp. + """ + g = np.arange(0.0, 4.0, 0.2) + xx, yy = np.meshgrid(g, g) + return np.column_stack([xx.ravel(), yy.ravel(), np.zeros(xx.size)]) + + +@pytest.fixture +def dense_cloud(): + """A well-conditioned random cloud: 4000 points filling 64 voxels.""" + rng = np.random.default_rng(7) + return rng.uniform(0.0, 4.0, size=(4000, 3)) + + +@pytest.fixture +def sparse_cloud(): + """ + Six voxels holding four points each. min_points=10 masks every voxel away + (empty voxel set); min_points=3 keeps all six. + """ + return np.array( + [[i * 2.0 + 0.1 * j, i * 2.0, 0.3 * j] for i in range(6) for j in range(4)], + dtype=float, + ) + + +@pytest.fixture +def tiny_two_voxel_cloud(): + """Eight points in two voxels — small enough to check covariances by hand.""" + return np.array([ + [0.1, 0.1, 0.1], [0.2, 0.4, 0.3], [0.5, 0.2, 0.7], [0.3, 0.9, 0.2], + [1.1, 0.1, 0.1], [1.4, 0.6, 0.3], [1.9, 0.2, 0.8], [1.3, 0.7, 0.4], + ], dtype=float) + + +@pytest.fixture +def bumpy_pair(): + """ + Three gently bumpy, mutually orthogonal faces ("corner"), plus a purely + translated copy. Normals span R^3, so all six DOF are constrained. + + Returns (target, source, T_true) where T_true is the transform align() + should recover, i.e. the one mapping source back onto target. + """ + rng = np.random.default_rng(3) + n = 3000 + a = rng.uniform(0.0, 4.0, size=(n, 2)) + b = rng.uniform(0.0, 4.0, size=(n, 2)) + c = rng.uniform(0.0, 4.0, size=(n, 2)) + + def bump(u, v): + return 0.05 * np.sin(u) * np.cos(v) + + face_z = np.column_stack([a[:, 0], a[:, 1], bump(a[:, 0], a[:, 1])]) + face_x = np.column_stack([bump(b[:, 0], b[:, 1]), b[:, 0], b[:, 1]]) + face_y = np.column_stack([c[:, 0], bump(c[:, 0], c[:, 1]), c[:, 1]]) + target = np.vstack([face_z, face_x, face_y]) + + t = np.array([0.12, -0.09, 0.07]) + source = target + t + T_true = np.eye(4) + T_true[:3, 3] = -t + return target, source, T_true + + +# -------------------------------------------------------------------------- +# 1. cov_reg regularizes coplanar voxels +# -------------------------------------------------------------------------- + +def test_cov_reg_regularizes_coplanar_voxels(coplanar_cloud): + """ + An isotropic +cov_reg*I shift lifts the null direction of an exactly + coplanar voxel, so the fast inverse becomes a true inverse instead of + hitting the det_A == 0 clamp. + """ + # Fixture guard: without regularization the covariances really are singular. + plain = VoxelGrid(VOXEL_SIZE, min_points=3) + plain.set_points(coplanar_cloud) + assert np.allclose(np.linalg.eigvalsh(plain.cov)[:, 0], 0.0, atol=1e-12), ( + "fixture is not coplanar; smallest eigenvalues " + f"{np.linalg.eigvalsh(plain.cov)[:, 0]}" + ) + + vg = VoxelGrid(VOXEL_SIZE, min_points=3, cov_reg=COV_REG) + vg.set_points(coplanar_cloud) + vg.calc_icov() + + assert np.all(np.isfinite(vg.icov)), "icov has non-finite entries" + + eigenvalues = np.linalg.eigvalsh(vg.cov) + assert np.all(eigenvalues >= COV_REG - 1e-12), ( + f"covariance eigenvalues fell below the shift: min {eigenvalues.min()}" + ) + + # The clamp was not taken: icov really inverts cov. + identity = np.broadcast_to(np.eye(3), vg.cov.shape) + assert np.allclose(vg.icov @ vg.cov, identity, atol=1e-6), ( + "icov is not the inverse of cov; the singular clamp was still hit" + ) + + +def test_cov_reg_preserves_normals(coplanar_cloud): + """An isotropic shift leaves the eigenvectors — and so the normals — intact.""" + plain = VoxelGrid(VOXEL_SIZE, min_points=3) + plain.set_points(coplanar_cloud) + + regularized = VoxelGrid(VOXEL_SIZE, min_points=3, cov_reg=COV_REG) + regularized.set_points(coplanar_cloud) + + assert np.allclose(np.abs(plain.norm), np.abs(regularized.norm), atol=1e-12), ( + "cov_reg rotated the voxel normals" + ) + + +# -------------------------------------------------------------------------- +# 2. cov_reg=0 preserves upstream values exactly +# -------------------------------------------------------------------------- + +def test_default_cov_reg_equals_explicit_zero(dense_cloud): + """The default must be bit-for-bit the unregularized path.""" + default = VoxelGrid(VOXEL_SIZE, min_points=3) + default.set_points(dense_cloud) + + explicit = VoxelGrid(VOXEL_SIZE, min_points=3, cov_reg=0.0) + explicit.set_points(dense_cloud) + + assert default.cov_reg == 0.0 + assert np.array_equal(default.cov, explicit.cov) + assert np.array_equal(default.mean, explicit.mean) + assert np.array_equal(default.norm, explicit.norm) + + +def test_negative_cov_reg_is_rejected(): + """A negative shift would make covariances indefinite: reject, not ignore.""" + with pytest.raises(ValueError, match="cov_reg"): + VoxelGrid(VOXEL_SIZE, cov_reg=-1e-3) + + +def test_default_cov_reg_matches_hand_computed_statistics(tiny_two_voxel_cloud): + """ + With cov_reg at its default the per-voxel mean/covariance/normal must equal + the textbook values (ddof=1 sample covariance), i.e. upstream behavior. + """ + vg = VoxelGrid(VOXEL_SIZE, min_points=3) + vg.set_points(tiny_two_voxel_cloud) + + assert len(vg.mean) == 2 + + for i, sl in enumerate([slice(0, 4), slice(4, 8)]): + points = tiny_two_voxel_cloud[sl] + expected_mean = points.mean(axis=0) + expected_cov = np.cov(points.T, ddof=1) + expected_norm = np.linalg.eigh(expected_cov)[1][:, 0] + + assert np.allclose(vg.mean[i], expected_mean, atol=1e-12) + assert np.allclose(vg.cov[i], expected_cov, atol=1e-12) + assert np.allclose(np.abs(vg.norm[i]), np.abs(expected_norm), atol=1e-9) + + +# -------------------------------------------------------------------------- +# 3. raise-on-empty +# -------------------------------------------------------------------------- + +def test_set_points_raises_when_min_points_empties_the_grid(sparse_cloud): + """ + Every voxel holds four points, so min_points=10 leaves nothing behind. The + empty grid must be reported explicitly rather than relying on whichever + KDTree backend happens to be compiled in. + """ + with pytest.raises(ValueError, match="data_pts should be non-empty"): + VoxelGrid(VOXEL_SIZE, min_points=10).set_points(sparse_cloud) + + +def test_set_points_succeeds_when_min_points_admits_voxels(sparse_cloud): + """The same cloud with a reachable threshold builds a usable grid.""" + vg = VoxelGrid(VOXEL_SIZE, min_points=3) + vg.set_points(sparse_cloud) + + assert len(vg.mean) > 0 + assert len(vg.mean) == len(vg.cov) == len(vg.norm) + + +# -------------------------------------------------------------------------- +# 4. VPlaneICP threading +# -------------------------------------------------------------------------- + +def test_vplane_icp_threads_min_points_and_cov_reg(sparse_cloud): + """Both knobs must reach the VoxelGrid that set_target builds.""" + engine = VPlaneICP(voxel_size=VOXEL_SIZE, min_points=3, cov_reg=COV_REG) + engine.set_target(sparse_cloud) + + assert engine.is_target_set() + assert len(engine.voxels.mean) > 0 + assert engine.voxels.min_points == 3 + assert engine.voxels.cov_reg == COV_REG + + +def test_vplane_icp_propagates_empty_voxel_error(sparse_cloud): + """An unreachable min_points surfaces as a ValueError through set_target.""" + engine = VPlaneICP(voxel_size=VOXEL_SIZE, min_points=10) + with pytest.raises(ValueError, match="data_pts should be non-empty"): + engine.set_target(sparse_cloud) + + +def test_vplane_icp_defaults_preserve_upstream(dense_cloud): + """Untouched constructor arguments keep the upstream (10, 0.0) behavior.""" + engine = VPlaneICP(voxel_size=VOXEL_SIZE) + engine.set_target(dense_cloud) + + assert engine.voxels.min_points == 10 + assert engine.voxels.cov_reg == 0.0 + + +# -------------------------------------------------------------------------- +# 5. NDT threading +# -------------------------------------------------------------------------- + +def test_ndt_threads_cov_reg_for_coplanar_target(coplanar_cloud): + """ + NDT.set_target runs calc_icov itself, so cov_reg has to be in place by then; + with it the inverse covariances are finite, moderate and genuine inverses. + """ + engine = NDT(voxel_size=VOXEL_SIZE, min_points=3, cov_reg=COV_REG) + engine.set_target(coplanar_cloud) + + assert engine.is_target_set() + assert engine.voxels.min_points == 3 + assert engine.voxels.cov_reg == COV_REG + assert np.all(np.isfinite(engine.voxels.icov)) + + identity = np.broadcast_to(np.eye(3), engine.voxels.cov.shape) + assert np.allclose(engine.voxels.icov @ engine.voxels.cov, identity, atol=1e-6) + + # The null direction is now weighted at ~1/cov_reg rather than clamped away. + max_icov = np.max(np.abs(engine.voxels.icov)) + assert 1e2 < max_icov < 1e4, f"icov magnitude out of range: {max_icov}" + + +def test_ndt_defaults_hit_singular_clamp_on_coplanar_target(coplanar_cloud): + """ + Without cov_reg the det_A == 0 clamp replaces the determinant with 1e6, which + collapses icov to ~0: the voxel contributes no information at all. This is + the behavior cov_reg exists to avoid, and it must remain the default. + """ + engine = NDT(voxel_size=VOXEL_SIZE) + engine.set_target(coplanar_cloud) + + assert engine.voxels.cov_reg == 0.0 + + icov = engine.voxels.icov + identity = np.broadcast_to(np.eye(3), engine.voxels.cov.shape) + assert not np.allclose(icov @ engine.voxels.cov, identity, atol=1e-6), ( + "clamped icov unexpectedly inverts cov" + ) + assert np.max(np.abs(icov)) < 1e-6, ( + f"expected the clamp to collapse icov, got max {np.max(np.abs(icov))}" + ) + + # Contrast: the regularized grid carries ~9 orders of magnitude more weight. + regularized = NDT(voxel_size=VOXEL_SIZE, min_points=3, cov_reg=COV_REG) + regularized.set_target(coplanar_cloud) + assert np.max(np.abs(regularized.voxels.icov)) > 1e6 * np.max(np.abs(icov)) + + +# -------------------------------------------------------------------------- +# 6. end-to-end sanity +# -------------------------------------------------------------------------- + +def test_vplane_icp_end_to_end_alignment_with_cov_reg(bumpy_pair): + """Threading the new knobs must not disturb registration itself.""" + target, source, T_true = bumpy_pair + + engine = VPlaneICP(voxel_size=0.5, max_iter=50, max_dist=2.0, tol=1e-6, + min_points=3, cov_reg=COV_REG) + engine.set_target(target) + + T = engine.align(source) + + assert np.all(np.isfinite(T)) + assert np.allclose(T, T_true, atol=2e-2), ( + f"max diff from ground truth {np.max(np.abs(T - T_true))}" + ) diff --git a/tests/test_vpicp.py b/tests/test_vpicp.py index 8ee86ef..6d9d644 100644 --- a/tests/test_vpicp.py +++ b/tests/test_vpicp.py @@ -2,6 +2,7 @@ import pytest from point_cloud_registration import VPlaneICP from point_cloud_registration import expSO3 +from point_cloud_registration.math_tools import makeT @pytest.fixture @@ -19,17 +20,24 @@ def generate_test_data(): return target, normals, source -def test_calc_H_g_e2(generate_test_data): +@pytest.mark.parametrize( + "cur_T", + [np.eye(4), makeT(expSO3(np.array([0.3, -0.2, 0.4])), np.array([0.1, 0.2, -0.1]))], + ids=["identity_pose", "rotated_pose"], +) +@pytest.mark.parametrize("with_outliers", [False, True], ids=["all_inliers", "with_outliers"]) +def test_calc_H_g_e2(generate_test_data, cur_T, with_outliers): """ - Test that calc_H_g_e2 and calc_H_g_e2x produce the same results. + Test that calc_H_g_e2 and calc_H_g_e2_no_parallel_ver produce the same results. """ - target, normals, source = generate_test_data + target, _, source = generate_test_data + if with_outliers: + # Points far outside the target's reach: rejected by the max_dist gate. + source = np.vstack([source[:10] + 50.0, source]) source = source.astype(np.float32) plane_icp = VPlaneICP(voxel_size=1.0, max_iter=10, max_dist=2.0, tol=1e-3) plane_icp.set_target(target) - plane_icp.normal = normals - cur_T = np.eye(4) # Initial transformation (identity matrix) # Compute results using both methods H1, g1, e2_1 = plane_icp.calc_H_g_e2(cur_T, source)