SPB Git forge

spb/wp4_uqo

Public
2commits 1branches 1releases
4.3 MBsize
maindefault branch
1 h agolast push
Python 67.1% TeX 18.5% HTML 13.8% Makefile 0.5%

harmonisation standard UQO WP (2026-10-17)

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Simon-Pierre Boucher committed 2 h ago (Oct 17, 2026)

96 changed files +20,001 −0

added .gitignore +43 −0
@@ -0,0 +1,43 @@
1 +# Raw & processed data — never committed (see data/raw/README.md for provenance)
2 +data/raw/*
3 +!data/raw/README.md
4 +data/processed/*
5 +!data/processed/.gitkeep
6 +
7 +# Python
8 +__pycache__/
9 +*.pyc
10 +.pytest_cache/
11 +.venv/
12 +*.egg-info/
13 +
14 +# LaTeX build artifacts (paper/main.pdf IS committed)
15 +paper/*.aux
16 +paper/*.log
17 +paper/*.out
18 +paper/*.toc
19 +paper/*.lof
20 +paper/*.lot
21 +paper/*.fls
22 +paper/*.fdb_latexmk
23 +paper/*.bbl
24 +paper/*.blg
25 +paper/*.spl
26 +paper/*.synctex.gz
27 +paper/*.run.xml
28 +paper/*.bcf
29 +
30 +# Logs
31 +logs/
32 +*.log
33 +
34 +# macOS
35 +.DS_Store
36 +
37 +# Project-specific
38 +data/interim/*
39 +data/duckdb/*
40 +results/models/*.csv
41 +results/models/*.pkl
42 +results/models/*.joblib
43 +.ipynb_checkpoints/
added Makefile +79 −0
@@ -0,0 +1,79 @@
1 +# Makefile — Airbnb Hedonic Pricing Analysis
2 +# Ultra-advanced hedonic model for Airbnb listing prices
3 +
4 +PYTHON = python3
5 +STREAMLIT = streamlit
6 +DATA_FILE = data/raw/cleaned_dataset_sample.csv
7 +OUTPUT_DIR = results
8 +PAPER_DIR = paper
9 +
10 +.PHONY: all clean download features models figures tables paper dashboard help
11 +
12 +help:
13 + @echo "Airbnb Hedonic Pricing Analysis"
14 + @echo "================================"
15 + @echo ""
16 + @echo " make install Install Python dependencies"
17 + @echo " make download Download/prepare raw data"
18 + @echo " make clean Clean intermediate files"
19 + @echo " make features Build hedonic feature set"
20 + @echo " make models Estimate all models"
21 + @echo " make figures Generate publication figures"
22 + @echo " make tables Generate publication tables"
23 + @echo " make paper Compile LaTeX paper"
24 + @echo " make dashboard Launch Streamlit dashboard"
25 + @echo " make all Run full pipeline"
26 + @echo " make test Run basic tests"
27 + @echo ""
28 +
29 +all: install features models figures tables paper
30 +
31 +install:
32 + pip install -r requirements.txt
33 +
34 +download:
35 + @echo "Using existing data file: $(DATA_FILE)"
36 + @echo "Place the Inside Airbnb extract in data/raw/ (see data/raw/README.md)"
37 + @test -f $(DATA_FILE) || (echo "ERROR: $(DATA_FILE) not found" && exit 1)
38 + @echo "Data file found: $$(wc -l < $(DATA_FILE)) lines"
39 +
40 +clean:
41 + rm -rf data/interim/*
42 + rm -rf data/processed/*
43 + rm -rf data/duckdb/*
44 + rm -rf $(OUTPUT_DIR)/tables/*
45 + rm -rf $(OUTPUT_DIR)/figures/*
46 + rm -rf $(OUTPUT_DIR)/models/*
47 + @echo "Cleaned all intermediate and output files"
48 +
49 +features:
50 + $(PYTHON) scripts/run_analysis.py --data-file $(DATA_FILE) --models-only 2>&1 | head -50
51 + @echo "Feature engineering complete"
52 +
53 +models:
54 + $(PYTHON) scripts/run_analysis.py --data-file $(DATA_FILE)
55 + @echo "All models estimated"
56 +
57 +figures:
58 + $(PYTHON) scripts/run_analysis.py --data-file $(DATA_FILE) --figures-only
59 + @echo "Figures saved to $(OUTPUT_DIR)/figures/"
60 +
61 +tables:
62 + @echo "Tables generated during model estimation"
63 + @ls -la $(OUTPUT_DIR)/tables/ 2>/dev/null || echo "Run 'make models' first"
64 +
65 +paper:
66 + cd $(PAPER_DIR) && make
67 + @echo "Paper compiled: $(PAPER_DIR)/main.pdf"
68 +
69 +dashboard:
70 + $(STREAMLIT) run scripts/app.py
71 +
72 +test:
73 + $(PYTHON) -c "from src import config; print('config OK')"
74 + $(PYTHON) -c "from src import data_loader; print('data_loader OK')"
75 + $(PYTHON) -c "from src import cleaning; print('cleaning OK')"
76 + $(PYTHON) -c "from src import feature_engineering; print('feature_engineering OK')"
77 + $(PYTHON) -c "from src import hedonic_models; print('hedonic_models OK')"
78 + $(PYTHON) -c "from src import ml_models; print('ml_models OK')"
79 + @echo "All module imports successful"
added README.md +151 −0
@@ -0,0 +1,151 @@
1 +<!-- Author: Simon-Pierre Boucher — simon-pierre.boucher@uqo.ca -->
2 +# 🛏️ Hedonic Pricing of Short-Term Rental Properties
3 +
4 +**UQO Working Paper No. 4** — *A Multi-Method Analysis of Airbnb Listing Prices in Quebec*
5 +
6 +[![Paper](https://img.shields.io/badge/paper-PDF%20(28%20p.)-b31b1b?logo=latex&logoColor=white)](paper/main.pdf)
7 +[![Python](https://img.shields.io/badge/python-3.11%2B-3776AB?logo=python&logoColor=white)](requirements.txt)
8 +[![Data](https://img.shields.io/badge/data-5%2C000%20Inside%20Airbnb%20listings%20·%20CSV-4051b5)](data/raw/README.md)
9 +[![Reproducible](https://img.shields.io/badge/reproducible-end--to--end%20pipeline-2e7d32)](scripts/)
10 +[![Institution](https://img.shields.io/badge/UQO-D%C3%A9pt.%20des%20sciences%20administratives-16365c)](https://uqo.ca)
11 +[![Author](https://img.shields.io/badge/author-Simon--Pierre%20Boucher-16365c)](mailto:simon-pierre.boucher@uqo.ca)
12 +
13 +> **TL;DR** — What determines the nightly price of an Airbnb listing in Quebec? On 5,000 Inside Airbnb listings
14 +> (3,412 with valid prices) we layer nine nested OLS hedonic specifications (R² from 0.052 structural-only to 0.274 with
15 +> reputation, amenities, text and spatial controls), quantile regressions at five quantiles, four gradient-boosting /
16 +> forest learners with SHAP (best: XGBoost, R² = 0.285, MAPE 14.3%), and spatial lag / error / Durbin models. Bedrooms,
17 +> room type, review scores, location and amenity indices dominate, with weights that shift across the price distribution
18 +> and across sub-markets.
19 +
20 +---
21 +
22 +## 📌 Status
23 +
24 +| Item | Value |
25 +|---|---|
26 +| Version | 1.0 (May 2026) |
27 +| SSRN | not yet submitted |
28 +| Journal | — |
29 +| Code & data | reproducible from `scripts/` + `src/`; raw Inside Airbnb sample not committed (see `data/raw/README.md`) |
30 +
31 +## 🎯 What this paper does
32 +
33 +Short-term rental prices are set by hosts, not by a market index, so the implicit prices of a listing's characteristics
34 +are the natural object of study. Following Rosen (1974) and Lancaster (1966), the nightly price is decomposed into
35 +structural characteristics, amenity bundles, host attributes, reputation signals, locational factors and text-derived
36 +features:
37 +
38 +```
39 +ln P_i = α + S_i'β + A_i'γ + H_i'δ + R_i'ζ + L_i'η + T_i'θ + ε_i
40 +```
41 +
42 +Each block is added in turn (M1 … M9), then the full specification is re-estimated by quantile regression, by machine
43 +learning with SHAP decomposition, and by spatial econometric models to check robustness to spatial dependence.
44 +
45 +## 🏆 Headline results
46 +
47 +| Object | Estimate |
48 +|---|---|
49 +| Structural-only OLS (M1) | R² = 0.052 |
50 +| + amenity indices (M2) | R² = 0.098 |
51 +| + reputation / reviews (M4) | R² = 0.187 (largest single gain) |
52 +| Full specification with spatial controls (M9), N = 1,906 | R² = 0.274, adj. R² = 0.254, RMSE 1.169 (−15.3% vs M1) |
53 +| Best learner (XGBoost) | R² = 0.285, RMSE 1.159, MAPE 14.3% |
54 +| CatBoost / LightGBM / Random Forest | R² = 0.258 / 0.244 / 0.243 |
55 +| Dominant price determinants | bedrooms, room type, review score, distance to centre, amenity indices |
56 +
57 +## 🗂 Repository layout
58 +
59 +```
60 +airbnb-listing-prices-hedonic/
61 +├── data/
62 +│ ├── raw/ # cleaned_dataset_sample.csv (see data/raw/README.md) — not committed
63 +│ ├── interim/ processed/ duckdb/
64 +├── src/ # package: config, data_loader, cleaning, feature_engineering, amenities,
65 +│ # geospatial, nlp_features, hedonic_models, quantile_models, spatial_models,
66 +│ # ml_models, shap_analysis, robustness, tables, figures, report
67 +├── scripts/
68 +│ ├── run_analysis.py # master pipeline (features → models → figures → tables)
69 +│ └── app.py # Streamlit dashboard
70 +├── results/
71 +│ ├── tables/ # model_comparison, ml_comparison, price_premiums, quantile_coefficients, …
72 +│ ├── figures/ # 01–08 publication figures (PNG + PDF)
73 +│ └── models/ # model keys (fitted objects not committed)
74 +├── Makefile # make all | features | models | figures | tables | paper | dashboard
75 +└── paper/ # main.tex + sections/ + figures/ + references.bib → main.pdf
76 +```
77 +
78 +## 🚀 Quick start
79 +
80 +```bash
81 +python3 -m pip install -r requirements.txt
82 +# place cleaned_dataset_sample.csv in data/raw/, then:
83 +make models # python3 scripts/run_analysis.py --data-file data/raw/cleaned_dataset_sample.csv
84 +make figures
85 +make paper # cd paper && make (latexmk → main.pdf)
86 +make dashboard # streamlit run scripts/app.py
87 +```
88 +
89 +Runtime ≈ 10 minutes on an Apple-silicon laptop (SHAP and spatial models dominate).
90 +
91 +## 🗃 Data
92 +
93 +5,000 Inside Airbnb listings for Quebec (May 2026 extract, 19 raw variables). Prices below CAD 10 (17 obs.) or above
94 +CAD 25,000 (27 obs.) are dropped; 810 listings lack a price and 3,412 remain. Amenity strings are parsed into indices
95 +(family comfort, luxury, cleanliness), review scores are rescaled to 0–5, titles and descriptions are embedded into
96 +text features, and distances to the city centre are computed from coordinates. See `data/raw/README.md`.
97 +
98 +## 🔬 Methodology
99 +
100 +1. **Cleaning & features** — `src/cleaning.py`, `src/feature_engineering.py`, `src/amenities.py`, `src/nlp_features.py`, `src/geospatial.py`.
101 +2. **Nested OLS hedonic models** M1–M9 with HC3 standard errors — `src/hedonic_models.py`.
102 +3. **Quantile regression** at τ ∈ {.10, .25, .50, .75, .90} — `src/quantile_models.py`.
103 +4. **Machine learning** (XGBoost, CatBoost, LightGBM, Random Forest, Gradient Boosting, GAM, ElasticNet) with SHAP — `src/ml_models.py`, `src/shap_analysis.py`.
104 +5. **Spatial econometrics** (SAR, SEM, SDM, k-nearest-neighbour weights) — `src/spatial_models.py`.
105 +6. **Robustness** (sub-markets, trimming, alternative amenity indices) and price decomposition — `src/robustness.py`, `src/report.py`.
106 +
107 +## 🖼 Figures & tables inventory
108 +
109 +| Figure | Content |
110 +|---|---|
111 +| `01_price_distribution`, `02_log_price_distribution` | nightly price distributions |
112 +| `03_price_map` | spatial distribution of prices |
113 +| `04_price_by_neighbourhood`, `05_price_by_room_type` | price by neighbourhood / room type |
114 +| `07_review_score_premium` | reputation premium |
115 +| `08_distance_to_center_gradient` | price gradient with distance to centre |
116 +
117 +Tables (`results/tables/*.tex|csv`): model comparison (M1–M9), ML comparison, price premiums, quantile coefficients,
118 +robustness summary, price decomposition, price-associated words.
119 +
120 +## ⚠️ Limitations
121 +
122 +- Listed (asking) nightly prices, not realized bookings; no occupancy data.
123 +- Cross-sectional snapshot; seasonality is not identified.
124 +- 5,000-listing sample; full-specification N = 1,906 after requiring reviews and location.
125 +- Text features are embedding-based and not individually interpretable.
126 +
127 +## 📝 Citation
128 +
129 +```bibtex
130 +@techreport{boucher2026airbnbhedonic,
131 + author = {Boucher, Simon-Pierre},
132 + title = {Hedonic Pricing of Short-Term Rental Properties: A Multi-Method Analysis of Airbnb Listing Prices in Quebec},
133 + institution = {Universit\'e du Qu\'ebec en Outaouais, D\'epartement des sciences administratives},
134 + type = {Working Paper},
135 + number = {4},
136 + year = {2026},
137 + month = {May}
138 +}
139 +```
140 +
141 +## 👤 Author & contact
142 +
143 +**Simon-Pierre Boucher** — Département des sciences administratives,
144 +Université du Québec en Outaouais (UQO), Gatineau, QC.
145 +📧 [simon-pierre.boucher@uqo.ca](mailto:simon-pierre.boucher@uqo.ca)
146 +
147 +## 🗒 Notes
148 +
149 +- Harmonised 2026-10-17: `wp4/` → `paper/`, `outputs/` → `results/`, `run_analysis.py`/`app.py` → `scripts/`;
150 + paths updated in `src/config.py`, `src/figures.py`, `src/tables.py`, `scripts/app.py` and the root `Makefile`.
151 +- Bibliography switched from `apalike` to `aer` (natbib `authoryear,round,semicolon`); compiles without warnings.
added data/processed/.gitkeep +0 −0
added data/raw/README.md +10 −0
@@ -0,0 +1,10 @@
1 +# Raw data — Inside Airbnb, Quebec
2 +
3 +| Item | Value |
4 +|---|---|
5 +| Source | Inside Airbnb public extracts (listings.csv) for Quebec markets, cleaned sample |
6 +| File expected here | `cleaned_dataset_sample.csv` — 5,000 listings × 19 variables |
7 +| Retained after cleaning | 3,412 listings with a valid nightly price (CAD 10 – 25,000), 1,906 in the full specification with reviews and location |
8 +| Fields | nightly price, room/property type, bedrooms, bathrooms, guests, amenities list, host attributes, review counts and scores, latitude/longitude, neighbourhood, listing title/description |
9 +| Extraction | May 2026 |
10 +| Access | Inside Airbnb data are released under CC BY 4.0; the cleaned sample is not committed here — download the Quebec `listings.csv` files from insideairbnb.com and run `make download` after placing the file in this folder. |
added paper/.latexmkrc +5 −0
@@ -0,0 +1,5 @@
1 +$pdf_mode = 1;
2 +$pdflatex = 'pdflatex -interaction=nonstopmode -halt-on-error -synctex=1 %O %S';
3 +$bibtex_use = 2;
4 +$clean_ext = 'synctex.gz run.xml bbl bcf fdb_latexmk fls log aux out toc lof lot blg';
5 +@default_files = ('main.tex');
added paper/Makefile +11 −0
@@ -0,0 +1,11 @@
1 +.PHONY: all clean distclean
2 +
3 +all:
4 + latexmk
5 +
6 +clean:
7 + latexmk -c
8 +
9 +distclean:
10 + latexmk -C
11 + rm -f *.synctex.gz *.run.xml *.bbl *.bcf
added paper/figures/01_price_distribution.png +0 −0

Binary file not shown.

added paper/figures/02_log_price_distribution.pdf +0 −0

Binary file not shown.

added paper/figures/02_log_price_distribution.png +0 −0

Binary file not shown.

added paper/figures/03_price_map.pdf +0 −0

Binary file not shown.

added paper/figures/03_price_map.png +0 −0

Binary file not shown.

added paper/figures/04_price_by_neighbourhood.pdf +0 −0

Binary file not shown.

added paper/figures/04_price_by_neighbourhood.png +0 −0

Binary file not shown.

added paper/figures/05_price_by_room_type.pdf +0 −0

Binary file not shown.

added paper/figures/05_price_by_room_type.png +0 −0

Binary file not shown.

added paper/figures/07_review_score_premium.pdf +0 −0

Binary file not shown.

added paper/figures/07_review_score_premium.png +0 −0

Binary file not shown.

added paper/figures/08_distance_to_center_gradient.pdf +0 −0

Binary file not shown.

added paper/figures/08_distance_to_center_gradient.png +0 −0

Binary file not shown.

added paper/main.pdf +0 −0

Binary file not shown.

added paper/main.tex +175 −0
@@ -0,0 +1,175 @@
1 +% ============================================================================
2 +% UQO Working Paper No. 4
3 +% Hedonic Pricing of Short-Term Rental Properties:
4 +% A Multi-Method Analysis of Airbnb Listing Prices in Quebec
5 +% ============================================================================
6 +\documentclass[12pt,letterpaper]{article}
7 +
8 +% --- Encoding & Language ---
9 +\usepackage[utf8]{inputenc}
10 +\usepackage[T1]{fontenc}
11 +\usepackage[english]{babel}
12 +
13 +% --- Page Layout ---
14 +\usepackage[letterpaper, margin=1in, headheight=15pt]{geometry}
15 +\usepackage{setspace}
16 +\onehalfspacing
17 +\setlength{\parindent}{1.5em}
18 +\setlength{\parskip}{0pt}
19 +
20 +% --- Typography ---
21 +\usepackage{newtxtext,newtxmath}
22 +\usepackage{amsmath,amsfonts}
23 +\let\Bbbk\relax
24 +\usepackage{amssymb}
25 +\usepackage{mathtools}
26 +\usepackage{microtype}
27 +
28 +% --- Tables ---
29 +\usepackage{booktabs}
30 +\usepackage{threeparttable}
31 +\usepackage{tabularx}
32 +\usepackage{array}
33 +\usepackage{siunitx}
34 +\usepackage{multirow}
35 +\usepackage{longtable}
36 +
37 +% --- Figures ---
38 +\usepackage{graphicx}
39 +\usepackage[
40 + font = small,
41 + labelfont = bf,
42 + labelsep = period,
43 + skip = 8pt,
44 + justification = justified,
45 + singlelinecheck = false
46 +]{caption}
47 +\usepackage{subcaption}
48 +\usepackage{float}
49 +
50 +% --- Colors & Links ---
51 +\usepackage[dvipsnames]{xcolor}
52 +\usepackage[bookmarks, bookmarksnumbered]{hyperref}
53 +\hypersetup{
54 + colorlinks = true,
55 + linkcolor = NavyBlue,
56 + citecolor = NavyBlue,
57 + urlcolor = NavyBlue,
58 + pdftitle = {Hedonic Pricing of Short-Term Rental Properties: A Multi-Method Analysis of Airbnb Listing Prices in Quebec},
59 + pdfauthor = {Simon-Pierre Boucher}
60 +}
61 +
62 +% --- Bibliography ---
63 +\usepackage[authoryear,round,semicolon]{natbib}
64 +\bibliographystyle{aer}
65 +
66 +% --- Headers & Footers ---
67 +\usepackage{fancyhdr}
68 +\pagestyle{fancy}
69 +\fancyhf{}
70 +\fancyhead[L]{\small\itshape Hedonic Pricing of Short-Term Rentals in Quebec}
71 +\fancyhead[R]{\small\thepage}
72 +\renewcommand{\headrulewidth}{0.4pt}
73 +\renewcommand{\footrulewidth}{0pt}
74 +\fancypagestyle{plain}{%
75 + \fancyhf{}
76 + \fancyfoot[C]{\small\thepage}
77 + \renewcommand{\headrulewidth}{0pt}
78 +}
79 +
80 +% --- Section Formatting ---
81 +\usepackage{titlesec}
82 +\titleformat{\section}{\large\bfseries}{\thesection.}{0.5em}{}
83 +\titleformat{\subsection}{\normalsize\bfseries}{\thesubsection.}{0.5em}{}
84 +\titleformat{\subsubsection}{\normalsize\itshape}{\thesubsubsection.}{0.5em}{}
85 +
86 +% --- Appendix Support ---
87 +\usepackage{appendix}
88 +\usepackage{enumitem}
89 +
90 +% --- Graphics Path ---
91 +\graphicspath{{figures/}}
92 +
93 +% --- Custom Commands ---
94 +\newcommand{\E}{\mathbb{E}}
95 +\newcommand{\Var}{\mathrm{Var}}
96 +\newcommand{\Cov}{\mathrm{Cov}}
97 +\newcommand{\R}{\mathbb{R}}
98 +\newcommand{\eps}{\varepsilon}
99 +\newcommand{\pval}{\textit{p}-value}
100 +
101 +% ============================================================================
102 +% METADATA
103 +% ============================================================================
104 +\newcommand{\WPnumber}{4}
105 +\newcommand{\WPtitle}{Hedonic Pricing of Short-Term Rental Properties: A Multi-Method Analysis of Airbnb Listing Prices in Quebec}
106 +\newcommand{\WPsubtitle}{}
107 +\newcommand{\WPdate}{May 2026}
108 +\newcommand{\WPversion}{1.0}
109 +\newcommand{\WPabstract}{%
110 +This paper develops a comprehensive hedonic pricing model for short-term
111 +rental properties listed on Airbnb across Quebec, Canada. Drawing on
112 +\citet{Rosen1974} and \citet{Lancaster1966}, we decompose nightly prices
113 +into implicit valuations of structural characteristics, amenity bundles,
114 +host attributes, reputation signals, locational factors, and text-derived
115 +features. Our dataset comprises 5,000 listings from Inside Airbnb, of
116 +which 3,412 retain valid prices after cleaning. We employ a layered
117 +econometric strategy: nine nested OLS specifications with HC3 robust
118 +standard errors, progressing from a structural-only model ($R^2 = 0.052$)
119 +to a full specification with spatial controls ($R^2 = 0.274$); quantile
120 +regression at $\tau \in \{0.10, 0.25, 0.50, 0.75, 0.90\}$ revealing
121 +heterogeneity across the price distribution; machine learning
122 +methods---XGBoost ($R^2 = 0.285$), Random Forest, Gradient Boosting,
123 +LightGBM---with SHAP interpretability; and spatial econometric
124 +models---spatial lag, spatial error, and spatial Durbin
125 +specifications---accounting for spatial dependence. Bedrooms, room type,
126 +review scores, spatial context, and amenity indices are the dominant
127 +price determinants, with their relative importance shifting across
128 +quantiles and geographic sub-markets.%
129 +}
130 +\newcommand{\WPkeywords}{hedonic pricing, Airbnb, short-term rentals, quantile regression, spatial econometrics, machine learning, SHAP, Quebec, amenity valuation}
131 +\newcommand{\WPjel}{C21, C31, C45, C58, L83, R31, R33}
132 +
133 +% --- Author ---
134 +\newcommand{\WPauthor}{Simon-Pierre Boucher}
135 +\newcommand{\WPaffiliation}{%
136 + D\'epartement des sciences administratives\\
137 + Universit\'e du Qu\'ebec en Outaouais%
138 +}
139 +\newcommand{\WPemail}{simon-pierre.boucher@uqo.ca}
140 +\newcommand{\WPaddress}{%
141 + Gatineau -- Pavillon Alexandre-Tach\'e\\
142 + 283, boulevard Alexandre-Tach\'e\\
143 + Gatineau, Qu\'ebec, Canada J9A 1L8%
144 +}
145 +
146 +% ============================================================================
147 +% DOCUMENT
148 +% ============================================================================
149 +\begin{document}
150 +
151 +% --- Title Page ---
152 +\input{sections/titlepage}
153 +
154 +% --- Main Body ---
155 +\input{sections/introduction}
156 +\input{sections/data}
157 +\input{sections/methodology}
158 +\input{sections/results}
159 +\input{sections/robustness}
160 +\input{sections/conclusion}
161 +
162 +% --- References ---
163 +\newpage
164 +\bibliography{references}
165 +
166 +% --- Appendix ---
167 +\newpage
168 +\appendix
169 +\renewcommand{\thetable}{A.\arabic{table}}
170 +\renewcommand{\thefigure}{A.\arabic{figure}}
171 +\setcounter{table}{0}
172 +\setcounter{figure}{0}
173 +\input{sections/appendix}
174 +
175 +\end{document}
added paper/references.bib +233 −0
@@ -0,0 +1,233 @@
1 +% ==========================================================================
2 +% References for Hedonic Pricing of Airbnb Listings in Quebec
3 +% ==========================================================================
4 +
5 +@article{Rosen1974,
6 + author = {Rosen, Sherwin},
7 + title = {Hedonic Prices and Implicit Markets: Product Differentiation
8 + in Pure Competition},
9 + journal = {Journal of Political Economy},
10 + year = {1974},
11 + volume = {82},
12 + number = {1},
13 + pages = {34--55},
14 + doi = {10.1086/260169}
15 +}
16 +
17 +@article{Lancaster1966,
18 + author = {Lancaster, Kelvin J.},
19 + title = {A New Approach to Consumer Theory},
20 + journal = {Journal of Political Economy},
21 + year = {1966},
22 + volume = {74},
23 + number = {2},
24 + pages = {132--157},
25 + doi = {10.1086/259131}
26 +}
27 +
28 +@article{Gibbs2018,
29 + author = {Gibbs, Chris and Guttentag, Daniel and Gretzel, Ulrike and
30 + Yao, Lan and Morton, Jym},
31 + title = {Use of Dynamic Pricing Strategies by {Airbnb} Hosts},
32 + journal = {International Journal of Contemporary Hospitality Management},
33 + year = {2018},
34 + volume = {30},
35 + number = {1},
36 + pages = {2--20},
37 + doi = {10.1108/IJCHM-09-2016-0540}
38 +}
39 +
40 +@article{WangNicolau2017,
41 + author = {Wang, Dan and Nicolau, Juan Luis},
42 + title = {Price Determinants of Sharing Economy Based Accommodation
43 + Rental: A Study of Listings from 33 Cities on {Airbnb.com}},
44 + journal = {International Journal of Hospitality Management},
45 + year = {2017},
46 + volume = {62},
47 + pages = {120--131},
48 + doi = {10.1016/j.ijhm.2016.12.007}
49 +}
50 +
51 +@article{PerezSanchez2018,
52 + author = {P{\'e}rez-S{\'a}nchez, V. Rosa and Serrano-Estrada, Leticia
53 + and Marti, Pablo and Mora-Garcia, Raul-Tomas},
54 + title = {The What, Where, and Why of {Airbnb} Price Determinants},
55 + journal = {Sustainability},
56 + year = {2018},
57 + volume = {10},
58 + number = {12},
59 + pages = {4596},
60 + doi = {10.3390/su10124596}
61 +}
62 +
63 +@article{Zhang2017,
64 + author = {Zhang, Ziqiong and Chen, Rachel J. C. and Han, Lee D. and
65 + Yang, Lu},
66 + title = {Key Factors Affecting the Price of {Airbnb} Listings:
67 + A Geographically Weighted Approach},
68 + journal = {Sustainability},
69 + year = {2017},
70 + volume = {9},
71 + number = {9},
72 + pages = {1635},
73 + doi = {10.3390/su9091635}
74 +}
75 +
76 +@article{ChattopadhyayMachemehl2006,
77 + author = {Chattopadhyay, Sudip and Machemehl, Randy B.},
78 + title = {Estimating the Marginal Willingness to Pay for a
79 + Transportation Improvement Using Hedonic Pricing},
80 + journal = {Transportation},
81 + year = {2006},
82 + volume = {33},
83 + number = {5},
84 + pages = {491--510}
85 +}
86 +
87 +@article{Chen2020,
88 + author = {Chen, Yong and Xie, Karen L.},
89 + title = {Consumer Valuation of {Airbnb} Listings: A Hedonic Pricing
90 + Approach},
91 + journal = {International Journal of Contemporary Hospitality Management},
92 + year = {2020},
93 + volume = {29},
94 + number = {9},
95 + pages = {2405--2424},
96 + doi = {10.1108/IJCHM-10-2016-0606}
97 +}
98 +
99 +@article{GunterOnder2018,
100 + author = {Gunter, Ulrich and {\"O}nder, Irem},
101 + title = {Determinants of {Airbnb} Demand in {Vienna} and Their
102 + Implications for the Traditional Accommodation Industry},
103 + journal = {Tourism Economics},
104 + year = {2018},
105 + volume = {24},
106 + number = {3},
107 + pages = {270--293},
108 + doi = {10.1177/1354816617731196}
109 +}
110 +
111 +@book{LeSagePace2009,
112 + author = {LeSage, James P. and Pace, R. Kelley},
113 + title = {Introduction to Spatial Econometrics},
114 + publisher = {CRC Press / Taylor \& Francis},
115 + year = {2009},
116 + address = {Boca Raton, FL}
117 +}
118 +
119 +@book{Anselin1988,
120 + author = {Anselin, Luc},
121 + title = {Spatial Econometrics: Methods and Models},
122 + publisher = {Kluwer Academic Publishers},
123 + year = {1988},
124 + address = {Dordrecht}
125 +}
126 +
127 +@inproceedings{Lundberg2017,
128 + author = {Lundberg, Scott M. and Lee, Su-In},
129 + title = {A Unified Approach to Interpreting Model Predictions},
130 + booktitle = {Advances in Neural Information Processing Systems 30
131 + ({NIPS} 2017)},
132 + year = {2017},
133 + pages = {4765--4774}
134 +}
135 +
136 +@article{Breiman2001,
137 + author = {Breiman, Leo},
138 + title = {Random Forests},
139 + journal = {Machine Learning},
140 + year = {2001},
141 + volume = {45},
142 + number = {1},
143 + pages = {5--32},
144 + doi = {10.1023/A:1010933404324}
145 +}
146 +
147 +@article{KoenkerBassett1978,
148 + author = {Koenker, Roger and Bassett, Gilbert},
149 + title = {Regression Quantiles},
150 + journal = {Econometrica},
151 + year = {1978},
152 + volume = {46},
153 + number = {1},
154 + pages = {33--50},
155 + doi = {10.2307/1913643}
156 +}
157 +
158 +@article{BenitezAurioles2018,
159 + author = {Ben{\'\i}tez-Aurioles, Beatriz},
160 + title = {Why Are Flexible Booking Policies Priced Negatively?},
161 + journal = {Tourism Management},
162 + year = {2018},
163 + volume = {67},
164 + pages = {312--325},
165 + doi = {10.1016/j.tourman.2018.02.008}
166 +}
167 +
168 +@article{Dogru2017,
169 + author = {Dogru, Tarik and Pekin, Osman},
170 + title = {What Do Guests Value Most in {Airbnb} Accommodations?
171 + An Application of the Hedonic Pricing Approach},
172 + journal = {Boston Hospitality Review},
173 + year = {2017},
174 + volume = {5},
175 + number = {2},
176 + pages = {1--13}
177 +}
178 +
179 +@article{Magno2018,
180 + author = {Magno, Francesca and Cassia, Fabio and Bruni, Attilio},
181 + title = {Accommodation Prices on {Airbnb}: Effects of Host Experience
182 + and Market Demand},
183 + journal = {The TQM Journal},
184 + year = {2018},
185 + volume = {30},
186 + number = {5},
187 + pages = {608--620},
188 + doi = {10.1108/TQM-12-2017-0164}
189 +}
190 +
191 +@article{Friedman2001,
192 + author = {Friedman, Jerome H.},
193 + title = {Greedy Function Approximation: A Gradient Boosting Machine},
194 + journal = {Annals of Statistics},
195 + year = {2001},
196 + volume = {29},
197 + number = {5},
198 + pages = {1189--1232},
199 + doi = {10.1214/aos/1013203451}
200 +}
201 +
202 +@inproceedings{ChenGuestrin2016,
203 + author = {Chen, Tianqi and Guestrin, Carlos},
204 + title = {{XGBoost}: A Scalable Tree Boosting System},
205 + booktitle = {Proceedings of the 22nd ACM SIGKDD International Conference
206 + on Knowledge Discovery and Data Mining},
207 + year = {2016},
208 + pages = {785--794},
209 + doi = {10.1145/2939672.2939785}
210 +}
211 +
212 +@article{ZouHastie2005,
213 + author = {Zou, Hui and Hastie, Trevor},
214 + title = {Regularization and Variable Selection via the Elastic Net},
215 + journal = {Journal of the Royal Statistical Society: Series B},
216 + year = {2005},
217 + volume = {67},
218 + number = {2},
219 + pages = {301--320},
220 + doi = {10.1111/j.1467-9868.2005.00503.x}
221 +}
222 +
223 +@article{ApleyZhu2020,
224 + author = {Apley, Daniel W. and Zhu, Jingyu},
225 + title = {Visualizing the Effects of Predictor Variables in Black Box
226 + Supervised Learning Models},
227 + journal = {Journal of the Royal Statistical Society: Series B},
228 + year = {2020},
229 + volume = {82},
230 + number = {4},
231 + pages = {1059--1086},
232 + doi = {10.1111/rssb.12377}
233 +}
added paper/sections/appendix.tex +109 −0
@@ -0,0 +1,109 @@
1 +% ==========================================================================
2 +\section{Additional Regression Results}
3 +\label{sec:app_tables}
4 +% ==========================================================================
5 +
6 +Table~\ref{tab:app_full_reg} reports the complete set of coefficient
7 +estimates from the full hedonic model (M9) discussed in
8 +Section~\ref{subsec:full_model}. All 50 covariates are shown with
9 +HC3 robust standard errors.
10 +
11 +\begin{table}[!htbp]
12 +\centering
13 +\caption{Full Hedonic Model: Complete Coefficient Estimates (M9)}
14 +\label{tab:app_full_reg}
15 +\begin{threeparttable}
16 +\small
17 +\begin{tabular}{lrrr}
18 +\toprule
19 +Variable & Coeff. & Std.\ Err. & $p$-value \\
20 +\midrule
21 +\multicolumn{4}{l}{\textit{Structural characteristics}} \\
22 +Bedrooms & 1.141*** & (0.346) & 0.001 \\
23 +Bathrooms & $-$0.068 & (0.177) & 0.699 \\
24 +Guests count & 0.046 & (0.064) & 0.476 \\
25 +Log accommodates & $-$0.192 & (0.343) & 0.576 \\
26 +Log bedrooms & $-$2.053*** & (0.770) & 0.008 \\
27 +Log bathrooms & 0.273 & (0.212) & 0.199 \\
28 +Bathrooms/guest & $-$0.033 & (0.421) & 0.938 \\
29 +Bedrooms/guest & 0.399 & (0.349) & 0.253 \\
30 +Is entire home & 0.221 & (0.178) & 0.215 \\
31 +Is private room & 0.285 & (0.188) & 0.130 \\
32 +Is shared room & 0.181 & (0.215) & 0.401 \\
33 +Large capacity & 0.037 & (0.150) & 0.805 \\
34 +Accommodates sq. & $-$0.001 & (0.005) & 0.793 \\
35 +Bedrooms sq. & $-$0.063*** & (0.020) & 0.002 \\
36 +Bathrooms sq. & 0.028** & (0.013) & 0.035 \\
37 +Accommodates $\times$ bedrooms & $-$0.010 & (0.013) & 0.432 \\
38 +Accommodates $\times$ bathrooms & 0.011 & (0.010) & 0.248 \\
39 +\midrule
40 +\multicolumn{4}{l}{\textit{Amenity indices}} \\
41 +Amenities count & $-$0.002 & (0.003) & 0.491 \\
42 +Amenity richness & $-$0.269** & (0.106) & 0.011 \\
43 +Luxury index & 0.061 & (0.273) & 0.824 \\
44 +Business travel & $-$1.156** & (0.558) & 0.039 \\
45 +Family comfort & 0.316 & (0.274) & 0.249 \\
46 +Leisure index & 0.093 & (0.274) & 0.734 \\
47 +Remote work & 0.584 & (0.478) & 0.222 \\
48 +Pets allowed & 0.036 & (0.079) & 0.647 \\
49 +\midrule
50 +\multicolumn{4}{l}{\textit{Host attributes}} \\
51 +Is Superhost & $-$0.065 & (0.079) & 0.410 \\
52 +Superhost flag & 0.060 & (0.126) & 0.636 \\
53 +Multi-listing host & $-$0.043 & (0.071) & 0.548 \\
54 +Superhost $\times$ entire home & 0.007 & (0.099) & 0.946 \\
55 +Guest Favorite flag & 0.048 & (0.092) & 0.602 \\
56 +Is Guest Favorite & $-$0.026 & (0.099) & 0.793 \\
57 +\midrule
58 +\multicolumn{4}{l}{\textit{Reviews and reputation}} \\
59 +Rating & 1.052** & (0.495) & 0.033 \\
60 +Num.\ reviews & 0.003*** & (0.001) & 0.008 \\
61 +Log reviews & $-$0.400*** & (0.102) & 0.000 \\
62 +Review quality & 0.010 & (0.047) & 0.833 \\
63 +Reputation score & $-$0.181 & (0.409) & 0.658 \\
64 +Cleanliness premium & $-$0.036 & (0.079) & 0.647 \\
65 +Location rating premium & 0.062 & (0.076) & 0.415 \\
66 +Has reviews & 9.511** & (3.741) & 0.011 \\
67 +Quality score & 0.002 & (0.001) & 0.211 \\
68 +Num.\ images & $-$0.003 & (0.002) & 0.112 \\
69 +No rating flag & $-$0.038 & (0.131) & 0.772 \\
70 +\midrule
71 +\multicolumn{4}{l}{\textit{Location}} \\
72 +Distance to centre & $-$0.000 & (0.000) & 0.636 \\
73 +Latitude & $-$0.090** & (0.045) & 0.048 \\
74 +Longitude & $-$0.014 & (0.018) & 0.442 \\
75 +\midrule
76 +\multicolumn{4}{l}{\textit{Spatial controls}} \\
77 +Local density 500m & $-$0.008*** & (0.003) & 0.008 \\
78 +Local density 1km & 0.003*** & (0.001) & 0.006 \\
79 +Local avg.\ price 500m & 0.00025*** & (0.00007) & 0.000 \\
80 +Local avg.\ price 1km & $-$0.00003 & (0.00005) & 0.582 \\
81 +Spatial cluster & $-$0.013*** & (0.005) & 0.008 \\
82 +\midrule
83 +\multicolumn{4}{l}{\textit{Text features}} \\
84 +Title length & 0.001 & (0.002) & 0.543 \\
85 +Title word count & $-$0.004 & (0.014) & 0.767 \\
86 +Luxury language & 0.014 & (0.037) & 0.710 \\
87 +Cozy language & 0.004 & (0.036) & 0.919 \\
88 +Professional tone & $-$0.009 & (0.029) & 0.754 \\
89 +Tourism language & 0.004 & (0.020) & 0.853 \\
90 +Text embed.\ 0 & 2.800*** & (0.647) & 0.000 \\
91 +Text embed.\ 1 & 0.356 & (0.583) & 0.541 \\
92 +Text embed.\ 2 & 0.161 & (0.468) & 0.731 \\
93 +Text embed.\ 3 & 0.155 & (0.547) & 0.777 \\
94 +\midrule
95 +Observations & \multicolumn{3}{c}{1,906} \\
96 +$R^2$ & \multicolumn{3}{c}{0.274} \\
97 +Adj.\ $R^2$ & \multicolumn{3}{c}{0.254} \\
98 +AIC & \multicolumn{3}{c}{6,103} \\
99 +\bottomrule
100 +\end{tabular}
101 +\begin{tablenotes}
102 +\footnotesize
103 +\item \textit{Notes:} OLS estimates with HC3 heteroskedasticity-robust
104 +standard errors in parentheses. ***, **, and * indicate statistical
105 +significance at the 1\%, 5\%, and 10\% levels, respectively. The
106 +dependent variable is $\ln(\text{price})$.
107 +\end{tablenotes}
108 +\end{threeparttable}
109 +\end{table}
added paper/sections/conclusion.tex +55 −0
@@ -0,0 +1,55 @@
1 +% ==========================================================================
2 +\section{Conclusion}
3 +\label{sec:conclusion}
4 +% ==========================================================================
5 +
6 +This paper develops a comprehensive hedonic pricing model for Airbnb
7 +listings across Quebec, Canada, combining OLS estimation, quantile
8 +regression, machine learning, and spatial econometrics. Using 5,000
9 +listings from Inside Airbnb---3,412 with valid prices---we estimate nine
10 +nested specifications, quantile regressions at five percentiles, seven
11 +machine learning models, and three spatial econometric models.
12 +
13 +\textit{Key findings.} The full hedonic model achieves $R^2 = 0.274$
14 +with 50 covariates. Bedrooms command a premium of approximately 213\%
15 +per unit, modulated by a concave log-bedrooms effect. The review score
16 +carries a premium of approximately 11\% per 0.1-point increment. Local
17 +listing density within 500m depresses prices ($-0.8$\% per listing),
18 +while density at 1~km shows a positive agglomeration effect.
19 +
20 +Quantile regression reveals substantial heterogeneity: the entire-home
21 +premium nearly doubles from $\tau = 0.10$ to $\tau = 0.75$, while
22 +review scores matter more at lower quantiles. The pseudo-$R^2$ declines
23 +from 0.100 to 0.020 across quantiles, confirming that luxury pricing
24 +depends heavily on unobserved factors.
25 +
26 +XGBoost achieves the best out-of-sample $R^2$ (0.285, MAPE = 14.3\%),
27 +modestly exceeding the OLS model. The similar performance of parametric
28 +and non-parametric models suggests that the log-linear specification
29 +captures the majority of systematic variation.
30 +
31 +\textit{Practical implications.} The price decomposition framework
32 +allows hosts to benchmark their listing against comparable properties.
33 +The spatial analysis highlights that immediate competitive density
34 +depresses prices, suggesting differentiation on amenities and quality
35 +in dense urban clusters. Quantile-specific estimates are useful for
36 +revenue management: luxury-segment hosts should prioritize entire-home
37 +exclusivity and premium location, while budget-segment hosts gain from
38 +structural capacity and review credibility.
39 +
40 +\textit{Limitations.} The cross-sectional design limits causal
41 +identification. The price variable reflects the listed price, which may
42 +differ from the transaction price. The original dataset contains only
43 +19 variables, requiring extensive feature engineering from listing names
44 +and amenity counts. Certain optional dependencies (CatBoost, pygam,
45 +SHAP, PySAL) were unavailable, necessitating fallback implementations.
46 +The spatial models rely on a fixed $k$-nearest-neighbours weight matrix
47 +($k = 5$); alternative spatial structures may yield different estimates.
48 +
49 +\textit{Future research.} Panel data methods exploiting within-listing
50 +variation would strengthen causal identification. Booking-level
51 +transaction data including cleaning fees and occupancy rates would
52 +permit a more complete analysis. Pre-trained language model embeddings
53 +applied to descriptions and reviews could extract richer text-based
54 +features. Extending the framework to other Canadian provinces would test
55 +external validity.
added paper/sections/data.tex +290 −0
@@ -0,0 +1,290 @@
1 +% ==========================================================================
2 +\section{Data}
3 +\label{sec:data}
4 +% ==========================================================================
5 +
6 +\subsection{Data Source}
7 +
8 +The primary data for this study are drawn from Inside Airbnb
9 +(\url{http://insideairbnb.com}), an independent, open-source project that
10 +periodically scrapes publicly available listing information from the Airbnb
11 +platform. The extracts provide a snapshot of every active listing, including
12 +the nightly price, property and room type, geographic coordinates, host
13 +profile variables, review scores, amenity counts, and free-text listing
14 +names and descriptions.
15 +
16 +Our sample covers the province of Quebec, Canada, encompassing the major
17 +urban markets of Montr\'{e}al, Quebec City, Gatineau, Sherbrooke, and
18 +Trois-Rivi\`{e}res, as well as popular tourism and resort regions including
19 +the Laurentians (Mont-Tremblant, Saint-Sauveur), the Eastern Townships
20 +(Magog, Bromont), the Charlevoix corridor, the
21 +Saguenay--Lac-Saint-Jean region, and the Gasp\'{e}sie coast.
22 +
23 +\subsection{Sample Construction}
24 +
25 +Starting from the raw extract of 5,000 listings with 19 original variables,
26 +we apply the following cleaning procedures:
27 +%
28 +\begin{enumerate}[leftmargin=2em]
29 + \item \textbf{Price validity.} Listings with a nightly price below
30 + \$10~CAD (17 observations) or above \$25,000~CAD (27 observations)
31 + are set to missing, eliminating data-entry errors and placeholder
32 + prices. After this step, 3,412 listings retain valid price
33 + observations.
34 +
35 + \item \textbf{Price transformations.} We construct the raw price, three
36 + Winsorized versions at the 1st/99th percentiles
37 + (\$38--\$10,822), 2nd/98th (\$46--\$8,117), and 5th/95th
38 + (\$63--\$4,921), plus natural log transformations.
39 +
40 + \item \textbf{Rating standardization.} Scores originally on a 0--100
41 + scale are converted to 0--5. Of the 5,000 listings, 810
42 + (16.2\%) lack a rating.
43 +
44 + \item \textbf{Geocoding validation.} Listings whose coordinates fall
45 + outside the geographic boundaries of Quebec
46 + (latitude $\in [44.5, 55.5]$, longitude $\in [-80.0, -56.0]$)
47 + are removed (6~observations).
48 +
49 + \item \textbf{Property type standardization.} Approximately 30 Inside
50 + Airbnb property type variants are mapped to six canonical
51 + categories: Rental unit, House, Cabin/Chalet, Condo, Apartment,
52 + and Other.
53 +\end{enumerate}
54 +
55 +After applying these filters, the analytical sample comprises
56 +$N = 3{,}412$ listings with valid prices. Models incorporating additional
57 +covariates with their own missing values use smaller effective samples
58 +(reported alongside each specification).
59 +
60 +\subsection{Variable Definitions}
61 +
62 +We organize the variables into seven categories. The dependent variable
63 +is the natural logarithm of the nightly listing price in Canadian dollars
64 +($\ln p_i$). The log transformation addresses the strong right skew of the
65 +raw price distribution (mean = \$1,115; median = \$219; standard deviation
66 += \$2,253) and yields coefficients interpretable as approximate percentage
67 +changes via $\text{Premium}(\%) = 100 \times (\exp(\hat{\beta}) - 1)$.
68 +
69 +\textit{Structural characteristics} ($\mathbf{S}_i$) capture the physical
70 +attributes: bedrooms (mean~=~2.08), bathrooms (mean~=~1.28), guest capacity
71 +(mean~=~5.31), log-transformed counterparts, per-guest ratios, property type
72 +dummies (entire home = 48.1\%, private room = 35.5\%), a large-capacity
73 +indicator ($\geq 8$ guests), quadratic and interaction terms.
74 +
75 +\textit{Amenity indices} ($\mathbf{A}_i$) are constructed from the raw
76 +amenity count (mean~=~44.9, range 3--109): luxury index, business travel
77 +index, family comfort index, leisure index, remote work index, and
78 +amenity richness index, all normalized to $[0, 1]$.
79 +
80 +\textit{Host attributes} ($\mathbf{H}_i$) include Superhost status
81 +(52.3\%), Guest Favorite badge (33.4\%), multi-listing host indicator,
82 +and a Superhost $\times$ entire-home interaction.
83 +
84 +\textit{Reputation variables} ($\mathbf{R}_i$) comprise the overall review
85 +score (mean~=~4.80 on a 0--5 scale), log review count, quality score,
86 +reputation score, cleanliness premium indicator, and missing-rating flag.
87 +
88 +\textit{Locational variables} ($\mathbf{L}_i$) include Haversine distance
89 +to the nearest city centre (22 municipalities), local listing density
90 +within 500m (mean~=~14.7, max~=~125) and 1~km, local average price
91 +within 500m and 1~km, and a $K$-means spatial cluster ($K = 20$).
92 +
93 +\textit{Text-derived features} ($\mathbf{N}_i$) include title length,
94 +seven bilingual keyword scores, and 10 TF-IDF/SVD embedding components
95 +capturing 16.98\% of lexical variance.
96 +
97 +\subsection{Descriptive Statistics}
98 +
99 +Table~\ref{tab:summary} reports descriptive statistics for the key
100 +variables. The price distribution is strongly right-skewed: the mean
101 +(\$1,115) exceeds the median (\$219) by a factor of five, confirming the
102 +appropriateness of the log transformation.
103 +
104 +\begin{table}[!htbp]
105 +\centering
106 +\caption{Summary Statistics of Key Variables}
107 +\label{tab:summary}
108 +\begin{threeparttable}
109 +\begin{tabular}{lrrrrrrr}
110 +\toprule
111 +Variable & Mean & Std.\ Dev. & Min & P25 & Median & P75 & $N$ \\
112 +\midrule
113 +Price (\$CAD) & 1,115 & 2,253 & 10.5 & 125.0 & 219.2 & 1,139 & 3,412 \\
114 +Log price & 5.87 & 1.42 & 2.36 & 4.83 & 5.39 & 7.04 & 3,412 \\
115 +Bedrooms & 2.08 & 1.53 & 0 & 1 & 2 & 3 & 5,000 \\
116 +Bathrooms & 1.28 & 1.05 & 0 & 1 & 1 & 2 & 5,000 \\
117 +Guest capacity & 5.31 & 3.37 & 1 & 2 & 4 & 7 & 5,000 \\
118 +Amenities count & 44.9 & 16.0 & 3 & 34 & 45 & 56 & 5,000 \\
119 +Rating (0--5) & 4.80 & 0.23 & 2.25 & 4.73 & 4.86 & 4.96 & 4,190 \\
120 +Num.\ reviews & 62.7 & 85.0 & 0 & 10 & 33 & 82 & 4,275 \\
121 +Quality score & 93.8 & 41.9 & 0 & 94.5 & 107.9 & 121.0 & 5,000 \\
122 +Num.\ images & 27.9 & 19.2 & 0 & 14 & 23 & 36 & 5,000 \\
123 +Is Superhost & 0.52 & 0.50 & 0 & 0 & 1 & 1 & 5,000 \\
124 +Is Guest Favorite & 0.33 & 0.47 & 0 & 0 & 0 & 1 & 5,000 \\
125 +Pets allowed & 0.29 & 0.46 & 0 & 0 & 0 & 1 & 5,000 \\
126 +\bottomrule
127 +\end{tabular}
128 +\begin{tablenotes}
129 +\footnotesize
130 +\item \textit{Notes:} This table reports descriptive statistics for the
131 +main variables used in the empirical analysis. Price is measured in
132 +Canadian dollars per night. Rating is on a 0--5 scale. Binary variables
133 +are coded as 0/1.
134 +\end{tablenotes}
135 +\end{threeparttable}
136 +\end{table}
137 +
138 +Table~\ref{tab:price_type} presents the price distribution by property type.
139 +Condos and apartments exhibit the highest mean prices, driven by urban
140 +premium listings, while Cabin/Chalet listings show moderate means with
141 +substantial variation reflecting Quebec's diverse cottage and ski resort
142 +market.
143 +
144 +\begin{table}[!htbp]
145 +\centering
146 +\caption{Price Distribution by Property Type (\$CAD)}
147 +\label{tab:price_type}
148 +\begin{threeparttable}
149 +\begin{tabular}{lrrrrrr}
150 +\toprule
151 +Property Type & Mean & Median & Std.\ Dev. & Min & Max & $N$ \\
152 +\midrule
153 +Apartment & 1,276 & 201 & 3,328 & 15 & 18,117 & 77 \\
154 +Cabin/Chalet & 969 & 237 & 2,215 & 48 & 23,321 & 691 \\
155 +Condo & 1,344 & 210 & 2,343 & 49 & 14,577 & 237 \\
156 +House & 1,058 & 223 & 2,206 & 18 & 22,811 & 679 \\
157 +Other & 1,203 & 170 & 2,727 & 11 & 23,625 & 554 \\
158 +Rental unit & 1,136 & 247 & 1,925 & 14 & 24,928 & 1,174 \\
159 +\bottomrule
160 +\end{tabular}
161 +\begin{tablenotes}
162 +\footnotesize
163 +\item \textit{Notes:} This table reports the distribution of nightly
164 +prices (CAD) by property type for listings with valid prices ($N = 3{,}412$).
165 +\end{tablenotes}
166 +\end{threeparttable}
167 +\end{table}
168 +
169 +\subsection{Correlation Structure}
170 +
171 +Table~\ref{tab:correlations} presents pairwise Pearson correlations among
172 +the key continuous variables. Bedrooms, bathrooms, and guest capacity are
173 +moderately to strongly intercorrelated ($r = 0.64$--$0.81$), motivating
174 +the inclusion of per-guest ratios and log transformations to mitigate
175 +multicollinearity. The number of reviews shows a negative correlation
176 +with log price ($r = -0.24$), suggesting that more frequently booked
177 +listings tend to be lower-priced.
178 +
179 +\begin{table}[!htbp]
180 +\centering
181 +\caption{Correlation Matrix of Key Variables}
182 +\label{tab:correlations}
183 +\begin{threeparttable}
184 +\small
185 +\begin{tabular}{lccccccc}
186 +\toprule
187 + & log\_price & bed & bath & guests & amen. & rating & reviews \\
188 +\midrule
189 +log\_price & 1.000 & & & & & & \\
190 +Bedrooms & 0.111*** & 1.000 & & & & & \\
191 +Bathrooms & 0.138*** & 0.704*** & 1.000 & & & & \\
192 +Guests & 0.072*** & 0.806*** & 0.637*** & 1.000 & & & \\
193 +Amenities & $-$0.051** & 0.322*** & 0.290*** & 0.370*** & 1.000 & & \\
194 +Rating & 0.006 & 0.129*** & 0.157*** & 0.113*** & 0.274*** & 1.000 & \\
195 +Reviews & $-$0.236*** & $-$0.061** & $-$0.049** & $-$0.029 & 0.095*** & 0.072*** & 1.000 \\
196 +\bottomrule
197 +\end{tabular}
198 +\begin{tablenotes}
199 +\footnotesize
200 +\item \textit{Notes:} Pearson correlation coefficients.
201 +***, **, and * indicate statistical significance at the 1\%, 5\%, and
202 +10\% levels, respectively.
203 +\end{tablenotes}
204 +\end{threeparttable}
205 +\end{table}
206 +
207 +\subsection{Price Distribution}
208 +
209 +Figure~\ref{fig:price_dist} displays the distribution of nightly prices.
210 +The raw price distribution is strongly right-skewed, with the median
211 +(\$219) substantially below the mean (\$1,115).
212 +Figure~\ref{fig:logprice_dist} shows the log-transformed distribution,
213 +which is approximately symmetric.
214 +
215 +\begin{figure}[!htbp]
216 +\centering
217 +\includegraphics[width=0.85\textwidth]{01_price_distribution.png}
218 +\caption{Distribution of Nightly Listing Prices (\$CAD)}
219 +\label{fig:price_dist}
220 +\begin{minipage}{0.9\textwidth}
221 +\footnotesize
222 +\textit{Notes:} This figure plots the histogram and kernel density estimate
223 +of nightly listing prices in Canadian dollars. The vertical dashed lines
224 +indicate the mean and median.
225 +\end{minipage}
226 +\end{figure}
227 +
228 +\begin{figure}[!htbp]
229 +\centering
230 +\includegraphics[width=0.85\textwidth]{02_log_price_distribution.png}
231 +\caption{Distribution of Log Nightly Prices}
232 +\label{fig:logprice_dist}
233 +\begin{minipage}{0.9\textwidth}
234 +\footnotesize
235 +\textit{Notes:} This figure plots the histogram and kernel density estimate
236 +of $\ln(\text{price})$. The approximately symmetric distribution confirms
237 +the suitability of the log-linear specification.
238 +\end{minipage}
239 +\end{figure}
240 +
241 +\subsection{Geographic Coverage}
242 +
243 +Figure~\ref{fig:map} maps the spatial distribution of listings across
244 +Quebec, with colour indicating nightly price. The majority of listings
245 +are concentrated in Montr\'{e}al, with secondary clusters in Quebec City,
246 +the Laurentian resort corridor, and the Eastern Townships. Local listing
247 +density reaches 125 within 500 metres in central Montr\'{e}al.
248 +
249 +\begin{figure}[!htbp]
250 +\centering
251 +\includegraphics[width=0.95\textwidth]{03_price_map.png}
252 +\caption{Geographic Distribution of Airbnb Listings in Quebec}
253 +\label{fig:map}
254 +\begin{minipage}{0.9\textwidth}
255 +\footnotesize
256 +\textit{Notes:} Each point represents one listing, coloured by nightly
257 +price (capped at the 99th percentile for visual clarity). Coordinates are
258 +latitude/longitude (WGS-84).
259 +\end{minipage}
260 +\end{figure}
261 +
262 +\subsection{Price Variation by Property Type and Neighbourhood}
263 +
264 +Figure~\ref{fig:price_neighbourhood} displays boxplots of nightly prices
265 +for the top 20 cities by listing count, and Figure~\ref{fig:price_room}
266 +shows the price distribution by property type.
267 +
268 +\begin{figure}[!htbp]
269 +\centering
270 +\includegraphics[width=0.95\textwidth]{04_price_by_neighbourhood.png}
271 +\caption{Nightly Price Distribution by City (Top 20)}
272 +\label{fig:price_neighbourhood}
273 +\begin{minipage}{0.9\textwidth}
274 +\footnotesize
275 +\textit{Notes:} Boxplots of nightly prices for the 20 cities with the
276 +most listings, ordered by median price.
277 +\end{minipage}
278 +\end{figure}
279 +
280 +\begin{figure}[!htbp]
281 +\centering
282 +\includegraphics[width=0.85\textwidth]{05_price_by_room_type.png}
283 +\caption{Price Distribution by Property Type}
284 +\label{fig:price_room}
285 +\begin{minipage}{0.9\textwidth}
286 +\footnotesize
287 +\textit{Notes:} Violin plots of nightly prices by property type. Inner
288 +markers indicate quartiles.
289 +\end{minipage}
290 +\end{figure}
added paper/sections/introduction.tex +98 −0
@@ -0,0 +1,98 @@
1 +% ==========================================================================
2 +\section{Introduction}
3 +\label{sec:introduction}
4 +% ==========================================================================
5 +
6 +The theory of hedonic prices, formalized by \citet{Rosen1974} and rooted in
7 +the characteristics approach to consumer demand developed by
8 +\citet{Lancaster1966}, posits that differentiated goods can be described by a
9 +vector of objectively measured attributes and that the market price of such a
10 +good equals the sum of the implicit valuations consumers place on each
11 +attribute. In the four decades since Rosen's seminal contribution, hedonic
12 +models have become a workhorse of applied microeconomics, with extensive
13 +applications in real estate \citep{ChattopadhyayMachemehl2006}, automobiles,
14 +environmental valuation, and, more recently, the sharing economy.
15 +
16 +The rapid global expansion of Airbnb and competing short-term rental (STR)
17 +platforms has created a uniquely rich laboratory for hedonic analysis. Unlike
18 +traditional hotel room inventories, which are relatively standardized within
19 +a star-rating tier, Airbnb listings exhibit enormous heterogeneity along
20 +structural, locational, amenity, and reputational dimensions. Each listing
21 +is, in effect, a bundle of characteristics chosen and priced by an individual
22 +host operating in a decentralized marketplace. The platform's publicly
23 +accessible data---including detailed descriptions, amenity lists, review
24 +scores, host profiles, calendar availability, and geographic
25 +coordinates---provides researchers with an unusually granular view of the
26 +hedonic price surface.
27 +
28 +A growing empirical literature has exploited this richness.
29 +\citet{WangNicolau2017} estimate hedonic price equations for a cross-section
30 +of Airbnb listings in 33~major cities, finding that property type, location,
31 +host characteristics, and online reputation are significant price
32 +determinants. \citet{Gibbs2018} extend the analysis to include amenity
33 +bundles and find that premium amenities such as pools and hot tubs
34 +command substantial price premiums. \citet{Zhang2017} and \citet{Chen2020}
35 +document similar patterns across Chinese and U.S.\ markets, respectively,
36 +while \citet{BenitezAurioles2018} and \citet{Dogru2017} examine European and
37 +Turkish markets. \citet{PerezSanchez2018} apply geographically weighted
38 +regression to Spanish Airbnb data, demonstrating that implicit prices vary
39 +spatially. \citet{GunterOnder2018} study Vienna's market structure,
40 +while \citet{Magno2018} investigate the role of host experience in shaping
41 +pricing outcomes.
42 +
43 +Despite these contributions, several gaps remain. First, most studies rely on
44 +a single econometric specification---typically ordinary least squares (OLS)
45 +applied to a log-linear price equation---and therefore cannot capture
46 +heterogeneity across the conditional price distribution. Second, the
47 +potential for complex non-linear interactions among listing characteristics
48 +is seldom explored, and when machine learning methods are employed, the
49 +resulting models are treated as black boxes rather than as complements to
50 +structural hedonic inference. Third, spatial dependence in listing
51 +prices---a first-order concern in any market where location matters---is
52 +frequently acknowledged but rarely modeled explicitly using spatial
53 +econometric techniques.
54 +
55 +This paper addresses all three gaps by developing a comprehensive
56 +multi-method hedonic pricing model for Airbnb listings in Quebec, Canada.
57 +Our central research questions are:
58 +%
59 +\begin{enumerate}[leftmargin=2em]
60 + \item What are the implicit prices of structural, amenity, host,
61 + reputation, locational, and text-derived characteristics of
62 + Airbnb listings in Quebec?
63 + \item How do these implicit prices vary across the conditional price
64 + distribution, from budget to luxury segments?
65 + \item To what extent do non-linear interactions and spatial dependence
66 + alter the hedonic price surface estimated by conventional linear
67 + models?
68 + \item Which listing attributes contribute most to predictive accuracy,
69 + and does the importance ranking differ between econometric and
70 + machine learning frameworks?
71 +\end{enumerate}
72 +
73 +Our contribution is fourfold. First, we assemble a comprehensive hedonic
74 +dataset for Quebec---a market that, despite its significance as a major
75 +North American tourism destination, has received relatively little attention
76 +in the Airbnb pricing literature. Our sample encompasses 5,000 listings
77 +across Montr\'{e}al, Quebec City, the Laurentians, the Eastern Townships,
78 +Charlevoix, and dozens of smaller municipalities. Second, we construct a
79 +feature space spanning seven attribute categories---structural
80 +characteristics, amenity indices, host attributes, reputation signals,
81 +locational variables, NLP-derived text features, and spatial
82 +controls---producing 49 modeling features. Third, we implement a layered
83 +estimation strategy combining OLS with heteroskedasticity-robust standard
84 +errors (HC3), quantile regression at five percentiles, an ensemble of seven
85 +machine learning models interpreted through SHAP values
86 +\citep{Lundberg2017}, and spatial econometric models including spatial lag,
87 +spatial error, and spatial Durbin specifications \citep{LeSagePace2009,
88 +Anselin1988}. Fourth, we demonstrate how estimated implicit prices aggregate
89 +into a price decomposition that benchmarks any listing against the market,
90 +providing actionable intelligence for hosts and platform managers.
91 +
92 +The remainder of the paper is organized as follows.
93 +Section~\ref{sec:data} describes the data sources, variable construction,
94 +and summary statistics. Section~\ref{sec:methodology} presents the
95 +econometric and machine learning methodology.
96 +Section~\ref{sec:results} reports the main empirical results.
97 +Section~\ref{sec:robustness} discusses robustness checks.
98 +Section~\ref{sec:conclusion} concludes.
added paper/sections/methodology.tex +256 −0
@@ -0,0 +1,256 @@
1 +% ==========================================================================
2 +\section{Methodology}
3 +\label{sec:methodology}
4 +% ==========================================================================
5 +
6 +\subsection{Hedonic Pricing Framework}
7 +
8 +Following \citet{Rosen1974}, we model the nightly listing price as a
9 +function of the listing's observable characteristics. Let $p_i$ denote the
10 +nightly price of listing $i$ and let $\mathbf{x}_i$ denote the vector of
11 +$K$ characteristics. The hedonic price function is:
12 +\begin{equation}
13 +p_i = P(\mathbf{x}_i) + \eps_i,
14 +\label{eq:hedonic_general}
15 +\end{equation}
16 +where $P(\cdot)$ maps the characteristic space into prices and
17 +$\eps_i$ is an idiosyncratic error term.
18 +
19 +We adopt a log-linear specification:
20 +\begin{equation}
21 +\ln p_i = \alpha + \boldsymbol{\beta}' \mathbf{x}_i + \eps_i,
22 +\label{eq:loglinear}
23 +\end{equation}
24 +where $\alpha$ is a constant, $\boldsymbol{\beta}$ is the $K \times 1$
25 +vector of hedonic coefficients, and $\eps_i \sim (0, \sigma^2_i)$ is
26 +mean-zero but potentially heteroskedastic. The log transformation
27 +accommodates the right-skewed price distribution, yields coefficients
28 +interpretable as approximate percentage changes, and imposes a
29 +multiplicative structure consistent with proportional interactions among
30 +characteristics.
31 +
32 +\subsection{Model Specification}
33 +
34 +The full hedonic equation expands the characteristic vector into seven
35 +attribute blocks:
36 +\begin{equation}
37 +\begin{aligned}
38 +\ln p_i = \; & \alpha
39 + + \boldsymbol{\beta}_S' \, \mathbf{S}_i
40 + + \boldsymbol{\beta}_A' \, \mathbf{A}_i
41 + + \boldsymbol{\beta}_H' \, \mathbf{H}_i
42 + + \boldsymbol{\beta}_R' \, \mathbf{R}_i \\
43 + & + \boldsymbol{\beta}_L' \, \mathbf{L}_i
44 + + \boldsymbol{\beta}_N' \, \mathbf{N}_i
45 + + \boldsymbol{\beta}_C' \, \mathbf{C}_i
46 + + \eps_i,
47 +\end{aligned}
48 +\label{eq:full_model}
49 +\end{equation}
50 +where $\mathbf{S}_i$ collects structural characteristics,
51 +$\mathbf{A}_i$ contains amenity indices,
52 +$\mathbf{H}_i$ captures host attributes,
53 +$\mathbf{R}_i$ comprises reputation variables,
54 +$\mathbf{L}_i$ includes locational controls,
55 +$\mathbf{N}_i$ represents text-derived features, and
56 +$\mathbf{C}_i$ denotes spatial context controls.
57 +
58 +\subsection{Feature Engineering}
59 +
60 +\textit{Structural features.} We include linear terms for bedrooms,
61 +bathrooms, and guest capacity, plus log-transformed counterparts
62 +($\log(1 + x)$). Per-guest ratios address the proportionality of space
63 +to capacity. Quadratic terms (accommodates$^2$, bedrooms$^2$,
64 +bathrooms$^2$) and interactions (accommodates $\times$ bedrooms,
65 +accommodates $\times$ bathrooms) capture non-linear and joint effects.
66 +
67 +\textit{Amenity features.} Six expert-weighted composite indices are
68 +constructed from 24 tracked amenity categories, with weights reflecting
69 +assumed market value (e.g., pool receives weight 2.0 in the luxury index;
70 +Wi-Fi receives weight 3.0 in the remote work index). All indices are
71 +normalized to $[0, 1]$.
72 +
73 +\textit{Host features.} Superhost status enters as a binary indicator. A
74 +multi-listing host indicator proxies for professionalization. An interaction
75 +term (Superhost $\times$ entire-home) tests whether the Superhost premium
76 +differs by listing type.
77 +
78 +\textit{Reputation features.} The overall review score (0--5) enters
79 +linearly. The number of reviews enters in log form. A composite reputation
80 +score combines normalized rating and review volume:
81 +\begin{equation}
82 +\text{reputation}_i = 0.6 \times \frac{\text{rating}_i}{5}
83 + + 0.4 \times \frac{\log(1 + \text{reviews}_i)}
84 + {\max_j \log(1 + \text{reviews}_j)}.
85 +\label{eq:reputation}
86 +\end{equation}
87 +
88 +\textit{Locational features.} Distance to the nearest city centre is
89 +computed using the Haversine formula:
90 +\begin{equation}
91 +d_{ij} = 2R \arcsin\!\left(
92 + \sqrt{\sin^2\!\left(\frac{\Delta\phi}{2}\right)
93 + + \cos\phi_i \cos\phi_j \sin^2\!\left(\frac{\Delta\lambda}{2}\right)}
94 +\right),
95 +\label{eq:haversine}
96 +\end{equation}
97 +where $R = 6{,}371$~km. Reference coordinates are provided for 22
98 +Quebec municipalities.
99 +
100 +\textit{Spatial context features.} Using a BallTree with haversine metric,
101 +we compute local listing density within 500m and 1~km, local average price
102 +within 500m and 1~km, and a $K$-means spatial cluster ($K = 20$).
103 +
104 +\textit{Text features.} From listing names and descriptions, we extract
105 +title length, seven bilingual keyword scores, and 10 TF-IDF/SVD components
106 +(sublinear term frequency, up to 5,000 features, unigrams and bigrams,
107 +dimensionality reduced via Truncated SVD capturing 16.98\% of variance).
108 +
109 +\subsection{OLS Estimation with Robust Inference}
110 +
111 +We estimate Equation~\eqref{eq:full_model} by OLS with
112 +heteroskedasticity-robust standard errors using the HC3 estimator:
113 +\begin{equation}
114 +\widehat{\Var}(\hat{\boldsymbol{\beta}})_{\text{HC3}}
115 += (\mathbf{X}'\mathbf{X})^{-1}
116 + \left( \sum_{i=1}^{N} \frac{\hat{u}_i^2}{(1 - h_{ii})^2}
117 + \mathbf{x}_i \mathbf{x}_i' \right)
118 + (\mathbf{X}'\mathbf{X})^{-1},
119 +\label{eq:hc3}
120 +\end{equation}
121 +where $h_{ii}$ is the $i$th diagonal element of the hat matrix
122 +$\mathbf{H} = \mathbf{X}(\mathbf{X}'\mathbf{X})^{-1}\mathbf{X}'$.
123 +
124 +\subsection{Nested Model Strategy}
125 +
126 +To assess the marginal explanatory power of each attribute block, we
127 +estimate nine nested models:
128 +%
129 +\begin{enumerate}[leftmargin=2em]
130 + \item[M1.] Structural characteristics only.
131 + \item[M2.] M1 + amenity bundle.
132 + \item[M3.] M2 + host attributes.
133 + \item[M4.] M3 + reputation and reviews.
134 + \item[M5.] M4 + locational controls.
135 + \item[M6.] M5 + neighbourhood (spatial cluster).
136 + \item[M7.] M6 + text-derived features.
137 + \item[M8.] M7 + spatial context controls.
138 + \item[M9.] Full hedonic model (identical to M8).
139 +\end{enumerate}
140 +%
141 +We compare models using $R^2$, adjusted $R^2$, AIC, BIC, RMSE, and MAE.
142 +
143 +\subsection{Quantile Regression}
144 +
145 +To explore heterogeneity across the price distribution, we estimate
146 +quantile regressions \citep{KoenkerBassett1978} at
147 +$\tau \in \{0.10, 0.25, 0.50, 0.75, 0.90\}$:
148 +\begin{equation}
149 +Q_\tau(\ln p_i \mid \mathbf{x}_i)
150 += \alpha_\tau + \boldsymbol{\beta}_\tau' \, \mathbf{x}_i,
151 +\label{eq:quantile}
152 +\end{equation}
153 +solved by minimizing the asymmetric check function:
154 +\begin{equation}
155 +\min_{\alpha_\tau, \boldsymbol{\beta}_\tau}
156 +\sum_{i=1}^{N} \rho_\tau\!\left(\ln p_i - \alpha_\tau
157 + - \boldsymbol{\beta}_\tau' \mathbf{x}_i \right),
158 +\quad
159 +\rho_\tau(u) = u \left(\tau - \mathbf{1}(u < 0)\right).
160 +\label{eq:check_function}
161 +\end{equation}
162 +Model fit is assessed via the Koenker--Bassett pseudo-$R^2$:
163 +\begin{equation}
164 +\text{pseudo-}R^2_\tau = 1
165 + - \frac{\sum_i \rho_\tau(\hat{u}_i)}
166 + {\sum_i \rho_\tau(\ln p_i - \hat{Q}_\tau^{(0)})}.
167 +\label{eq:pseudoR2}
168 +\end{equation}
169 +
170 +\subsection{Machine Learning Models}
171 +
172 +We complement the econometric analysis with seven supervised learning
173 +algorithms trained on the same feature set using an 80/20 train/test
174 +split ($N_{\text{train}} = 1{,}524$, $N_{\text{test}} = 382$):
175 +ElasticNet \citep{ZouHastie2005}, Random Forest ($B = 500$ trees)
176 +\citep{Breiman2001}, Gradient Boosting (500 trees, learning rate 0.05)
177 +\citep{Friedman2001}, XGBoost (500 estimators, depth 6)
178 +\citep{ChenGuestrin2016}, LightGBM (500 estimators, 31 leaves),
179 +CatBoost (500 iterations, depth 6), and a Generalized Additive Model.
180 +Predictive performance is evaluated using $R^2$, RMSE, MAE, and MAPE.
181 +
182 +\subsection{SHAP Interpretability}
183 +
184 +To reconcile predictive power with interpretability, we employ
185 +SHAP \citep{Lundberg2017}. For each prediction $\hat{f}(\mathbf{x}_i)$,
186 +SHAP decomposes the deviation from the baseline into additive feature
187 +contributions:
188 +\begin{equation}
189 +\hat{f}(\mathbf{x}_i) = \phi_0
190 + + \sum_{k=1}^{K} \phi_k(\mathbf{x}_i),
191 +\label{eq:shap}
192 +\end{equation}
193 +where $\phi_0 = \E[\hat{f}]$ and $\phi_k(\mathbf{x}_i)$ is the SHAP
194 +value of feature $k$ for observation $i$. The mean absolute SHAP value
195 +$\overline{|\phi_k|}$ provides a global importance ranking.
196 +
197 +\subsection{Spatial Econometric Models}
198 +
199 +We construct a row-standardized $k$-nearest-neighbours weight matrix
200 +$\mathbf{W}$ with $k = 5$ and estimate three spatial models
201 +\citep{LeSagePace2009, Anselin1988}:
202 +
203 +\textit{Spatial Lag Model (SLM):}
204 +\begin{equation}
205 +\ln \mathbf{p} = \rho \, \mathbf{W} \ln \mathbf{p}
206 + + \mathbf{X} \boldsymbol{\beta} + \boldsymbol{\eps},
207 +\label{eq:slm}
208 +\end{equation}
209 +where $\rho$ captures endogenous spatial interaction.
210 +
211 +\textit{Spatial Error Model (SEM):}
212 +\begin{equation}
213 +\ln \mathbf{p} = \mathbf{X} \boldsymbol{\beta} + \mathbf{u}, \quad
214 +\mathbf{u} = \lambda \, \mathbf{W} \mathbf{u}
215 + + \boldsymbol{\eps},
216 +\label{eq:sem}
217 +\end{equation}
218 +where $\lambda$ captures spatial autocorrelation in the errors.
219 +
220 +\textit{Spatial Durbin Model (SDM):}
221 +\begin{equation}
222 +\ln \mathbf{p} = \rho \, \mathbf{W} \ln \mathbf{p}
223 + + \mathbf{X} \boldsymbol{\beta}
224 + + \mathbf{W} \mathbf{X} \boldsymbol{\theta}
225 + + \boldsymbol{\eps},
226 +\label{eq:sdm}
227 +\end{equation}
228 +which nests both SLM and SEM under parameter restrictions and allows
229 +neighbours' characteristics to exert direct spillover effects.
230 +
231 +Spatial dependence is tested using Moran's $I$ on the OLS residuals:
232 +\begin{equation}
233 +I = \frac{N}{\sum_{i}\sum_{j} w_{ij}}
234 + \frac{\sum_{i}\sum_{j} w_{ij}
235 + (\hat{u}_i - \bar{\hat{u}})(\hat{u}_j - \bar{\hat{u}})}
236 + {\sum_{i} (\hat{u}_i - \bar{\hat{u}})^2}.
237 +\label{eq:moranI}
238 +\end{equation}
239 +
240 +\subsection{Price Decomposition}
241 +
242 +For listing $i$, the predicted log-price decomposes as:
243 +\begin{equation}
244 +\widehat{\ln p_i}
245 += \hat{\alpha}
246 + + \underbrace{\hat{\boldsymbol{\beta}}_S' \mathbf{S}_i}_{\text{property}}
247 + + \underbrace{\hat{\boldsymbol{\beta}}_A' \mathbf{A}_i}_{\text{amenity}}
248 + + \underbrace{\hat{\boldsymbol{\beta}}_H' \mathbf{H}_i}_{\text{host}}
249 + + \underbrace{\hat{\boldsymbol{\beta}}_R' \mathbf{R}_i}_{\text{review}}
250 + + \underbrace{\hat{\boldsymbol{\beta}}_L' \mathbf{L}_i}_{\text{location}}
251 + + \underbrace{\hat{\boldsymbol{\beta}}_N' \mathbf{N}_i}_{\text{text}}
252 + + \underbrace{\hat{\boldsymbol{\beta}}_C' \mathbf{C}_i}_{\text{spatial}}.
253 +\label{eq:decomposition}
254 +\end{equation}
255 +This decomposition provides hosts with a transparent breakdown of how the
256 +market values each attribute of their listing.
added paper/sections/results.tex +374 −0
@@ -0,0 +1,374 @@
1 +% ==========================================================================
2 +\section{Empirical Results}
3 +\label{sec:results}
4 +% ==========================================================================
5 +
6 +This section reports the empirical findings. We begin with the nested OLS
7 +models, then present attribute-specific results, quantile regression
8 +estimates, machine learning comparisons, spatial model estimates, and the
9 +price decomposition.
10 +
11 +% ------------------------------------------------------------------
12 +\subsection{Nested Hedonic Models}
13 +\label{subsec:nested}
14 +% ------------------------------------------------------------------
15 +
16 +Table~\ref{tab:nested} reports the fit statistics for the nine nested
17 +OLS models. The structural-only baseline (M1) yields $R^2 = 0.052$,
18 +confirming that physical characteristics alone explain a modest share of
19 +hedonic price variation. Adding amenity indices (M2) raises $R^2$
20 +marginally to 0.057. Host attributes (M3) contribute a larger increment
21 +($R^2 = 0.098$). Reputation and review variables (M4) produce the single
22 +largest gain, lifting $R^2$ to 0.187. Location controls (M5),
23 +neighbourhood effects (M6), and text features (M7) provide successive
24 +improvements. The full model incorporating spatial context controls
25 +(M8/M9) achieves $R^2 = 0.274$ (adjusted $R^2 = 0.254$) on $N = 1{,}906$.
26 +
27 +\begin{table}[!htbp]
28 +\centering
29 +\caption{Nested Model Comparison}
30 +\label{tab:nested}
31 +\begin{threeparttable}
32 +\begin{tabular}{llrrrrrr}
33 +\toprule
34 + & Variables Added & $N$ & $K$ & $R^2$ & Adj.\ $R^2$ & RMSE & AIC \\
35 +\midrule
36 +M1 & Structural & 3,412 & 15 & 0.052 & 0.048 & 1.380 & 11,911 \\
37 +M2 & + Amenities & 3,412 & 22 & 0.057 & 0.052 & 1.376 & 11,904 \\
38 +M3 & + Host & 3,412 & 26 & 0.098 & 0.092 & 1.346 & 11,760 \\
39 +M4 & + Reviews & 2,861 & 33 & 0.187 & 0.178 & 1.233 & 9,382 \\
40 +M5 & + Location & 2,857 & 36 & 0.198 & 0.188 & 1.224 & 9,336 \\
41 +M6 & + Neighbourhood & 2,857 & 37 & 0.198 & 0.188 & 1.224 & 9,338 \\
42 +M7 & + NLP/Text & 2,857 & 46 & 0.225 & 0.213 & 1.204 & 9,259 \\
43 +M8 & + Spatial & 1,906 & 50 & 0.274 & 0.254 & 1.169 & 6,103 \\
44 +M9 & Full Hedonic & 1,906 & 50 & 0.274 & 0.254 & 1.169 & 6,103 \\
45 +\bottomrule
46 +\end{tabular}
47 +\begin{tablenotes}
48 +\footnotesize
49 +\item \textit{Notes:} OLS estimates with HC3 robust standard errors.
50 +AIC is the Akaike Information Criterion. RMSE is root mean squared error.
51 +$K$ denotes the number of estimated parameters including the intercept.
52 +Sample sizes differ across models due to listwise deletion of missing
53 +values in added covariates.
54 +\end{tablenotes}
55 +\end{threeparttable}
56 +\end{table}
57 +
58 +The AIC declines monotonically from 11,911 (M1) to 6,103 (M9), and
59 +the RMSE decreases from 1.380 to 1.169, a 15.3\% reduction.
60 +
61 +% ------------------------------------------------------------------
62 +\subsection{Full Hedonic Model Estimates}
63 +\label{subsec:full_model}
64 +% ------------------------------------------------------------------
65 +
66 +Table~\ref{tab:hedonic} presents selected coefficient estimates for the
67 +full hedonic model (M9). Coefficients are converted to percentage premiums
68 +via $(\exp(\hat{\beta}) - 1) \times 100$.
69 +
70 +\begin{table}[!htbp]
71 +\centering
72 +\caption{Full Hedonic Model: Selected Coefficient Estimates (M9)}
73 +\label{tab:hedonic}
74 +\begin{threeparttable}
75 +\begin{tabular}{lrrrr}
76 +\toprule
77 +Variable & Coeff. & Std.\ Err. & $p$-value & Premium (\%) \\
78 +\midrule
79 +\multicolumn{5}{l}{\textit{Structural characteristics}} \\
80 +Bedrooms & 1.141*** & (0.346) & 0.001 & +212.9 \\
81 +Log bedrooms & $-$2.053*** & (0.770) & 0.008 & $-$87.2 \\
82 +Bathrooms sq. & 0.028** & (0.013) & 0.035 & +2.9 \\
83 +Bedrooms sq. & $-$0.063*** & (0.020) & 0.002 & $-$6.1 \\
84 +\midrule
85 +\multicolumn{5}{l}{\textit{Amenity indices}} \\
86 +Amenity richness & $-$0.269** & (0.106) & 0.011 & $-$23.6 \\
87 +Business travel & $-$1.156** & (0.558) & 0.039 & $-$68.5 \\
88 +\midrule
89 +\multicolumn{5}{l}{\textit{Reviews and reputation}} \\
90 +Rating & 1.052** & (0.495) & 0.033 & +186.2 \\
91 +Has reviews (=1) & 9.511** & (3.741) & 0.011 & $>$1,000 \\
92 +Log reviews & $-$0.400*** & (0.102) & 0.000 & $-$33.0 \\
93 +Num.\ reviews & 0.003*** & (0.001) & 0.008 & +0.3 \\
94 +\midrule
95 +\multicolumn{5}{l}{\textit{Location}} \\
96 +Latitude & $-$0.090** & (0.045) & 0.048 & $-$8.6 \\
97 +\midrule
98 +\multicolumn{5}{l}{\textit{Spatial controls}} \\
99 +Local density 500m & $-$0.008*** & (0.003) & 0.008 & $-$0.8 \\
100 +Local density 1km & 0.003*** & (0.001) & 0.006 & +0.3 \\
101 +Local avg.\ price 500m & 0.00025*** & (0.00007) & 0.000 & +0.025 \\
102 +Spatial cluster & $-$0.013*** & (0.005) & 0.008 & $-$1.3 \\
103 +\midrule
104 +\multicolumn{5}{l}{\textit{Text features}} \\
105 +Text embed.\ 0 & 2.800*** & (0.647) & 0.000 & $>$1,000 \\
106 +\midrule
107 +Observations & \multicolumn{4}{c}{1,906} \\
108 +$R^2$ & \multicolumn{4}{c}{0.274} \\
109 +Adj.\ $R^2$ & \multicolumn{4}{c}{0.254} \\
110 +AIC & \multicolumn{4}{c}{6,103} \\
111 +RMSE & \multicolumn{4}{c}{1.169} \\
112 +\bottomrule
113 +\end{tabular}
114 +\begin{tablenotes}
115 +\footnotesize
116 +\item \textit{Notes:} Standard errors in parentheses are
117 +heteroskedasticity-robust (HC3). ***, **, and * indicate statistical
118 +significance at the 1\%, 5\%, and 10\% levels, respectively. Premium
119 +(\%) is computed as $100 \times (\exp(\hat{\beta}) - 1)$. The full set
120 +of 50 coefficients is reported in Table~\ref{tab:app_full_reg}
121 +in the Appendix.
122 +\end{tablenotes}
123 +\end{threeparttable}
124 +\end{table}
125 +
126 +% ------------------------------------------------------------------
127 +\subsection{Structural Characteristics}
128 +\label{subsec:structural}
129 +% ------------------------------------------------------------------
130 +
131 +Bedrooms emerge as the strongest structural predictor. The positive linear
132 +coefficient ($\hat{\beta} = 1.141$, $p < 0.001$) combined with the
133 +negative log-bedrooms term ($\hat{\beta} = -2.053$, $p = 0.008$) implies
134 +a concave bedroom--price relationship: each additional bedroom raises the
135 +price at a diminishing rate. The positive bathrooms-squared coefficient
136 +($\hat{\beta} = 0.028$, $p = 0.035$) indicates a convex relationship,
137 +reflecting the high value of multiple bathrooms in larger properties.
138 +
139 +% ------------------------------------------------------------------
140 +\subsection{Amenity Effects}
141 +\label{subsec:amenities}
142 +% ------------------------------------------------------------------
143 +
144 +The amenity richness index carries a negative coefficient
145 +($\hat{\beta} = -0.269$, $p = 0.011$), implying a 23.6\% discount.
146 +This likely reflects composition: budget-oriented urban listings tend
147 +to offer many standard amenities, while premium rural properties offer
148 +fewer total but higher-value features. The business travel index is
149 +significantly negative ($-68.5$\%), consistent with competitive pricing
150 +dynamics in the urban short-stay market.
151 +
152 +% ------------------------------------------------------------------
153 +\subsection{Review and Reputation Effects}
154 +\label{subsec:reviews}
155 +% ------------------------------------------------------------------
156 +
157 +The review score has a positive and significant effect
158 +($\hat{\beta} = 1.052$, $p = 0.033$). Given the compressed rating
159 +distribution (mean~=~4.80, $\sigma$~=~0.23), a 0.1-point improvement
160 +corresponds to approximately an 11.1\% premium. The binary ``has
161 +reviews'' indicator ($\hat{\beta} = 9.511$, $p = 0.011$) reflects the
162 +sharp distinction between reviewed listings with established credibility
163 +and unreviewed new listings. The log-reviews coefficient is negative
164 +($-0.400$), while the linear count is positive ($0.003$), producing a
165 +concave profile: initial reviews boost prices, but heavily reviewed
166 +listings tend to be lower-priced high-turnover accommodations.
167 +
168 +\begin{figure}[!htbp]
169 +\centering
170 +\includegraphics[width=0.85\textwidth]{07_review_score_premium.png}
171 +\caption{Review Score Premium}
172 +\label{fig:review_premium}
173 +\begin{minipage}{0.9\textwidth}
174 +\footnotesize
175 +\textit{Notes:} Left panel: scatter plot with OLS trend line. Right
176 +panel: binned means with 95\% confidence intervals.
177 +\end{minipage}
178 +\end{figure}
179 +
180 +% ------------------------------------------------------------------
181 +\subsection{Location Gradient}
182 +\label{subsec:location}
183 +% ------------------------------------------------------------------
184 +
185 +Latitude enters negatively ($\hat{\beta} = -0.090$, $p = 0.048$),
186 +indicating that more northern listings command lower prices. Local
187 +density within 500m is negatively associated with price
188 +($\hat{\beta} = -0.008$), consistent with competitive pressure,
189 +while density at 1~km is positive ($\hat{\beta} = 0.003$), suggesting
190 +agglomeration effects dominate beyond the immediate competitive radius.
191 +Local average price within 500m is highly significant
192 +($\hat{\beta} = 0.00025$, $p < 0.001$), confirming spatial price
193 +contagion.
194 +
195 +\begin{figure}[!htbp]
196 +\centering
197 +\includegraphics[width=0.85\textwidth]{08_distance_to_center_gradient.png}
198 +\caption{Price Gradient by Distance to City Centre}
199 +\label{fig:distance_gradient}
200 +\begin{minipage}{0.9\textwidth}
201 +\footnotesize
202 +\textit{Notes:} Nightly price as a function of distance to the nearest
203 +city centre, with LOWESS smoother ($f = 0.3$, capped at 5,000
204 +observations).
205 +\end{minipage}
206 +\end{figure}
207 +
208 +% ------------------------------------------------------------------
209 +\subsection{Text-Derived Features}
210 +\label{subsec:text}
211 +% ------------------------------------------------------------------
212 +
213 +The first TF-IDF/SVD component is the strongest text predictor
214 +($\hat{\beta} = 2.800$, $p < 0.001$). Price-associated word analysis
215 +reveals that terms correlated with higher prices include ``in
216 +montr\'{e}al'' ($r = 0.181$), ``rental unit'' ($r = 0.118$), and
217 +``bedrooms'' ($r = 0.110$). Negatively correlated terms include ``new''
218 +($r = -0.107$) and ``shared'' ($r \approx -0.05$).
219 +
220 +% ------------------------------------------------------------------
221 +\subsection{Quantile Regression}
222 +\label{subsec:quantile}
223 +% ------------------------------------------------------------------
224 +
225 +Table~\ref{tab:quantile} presents quantile regression estimates at five
226 +points of the conditional log-price distribution.
227 +
228 +\begin{table}[!htbp]
229 +\centering
230 +\caption{Quantile Regression: Selected Coefficients}
231 +\label{tab:quantile}
232 +\begin{threeparttable}
233 +\begin{tabular}{lrrrrr}
234 +\toprule
235 + & (1) & (2) & (3) & (4) & (5) \\
236 +Variable & $\tau = 0.10$ & $\tau = 0.25$ & $\tau = 0.50$
237 + & $\tau = 0.75$ & $\tau = 0.90$ \\
238 +\midrule
239 +Is entire home & 1.007 & 0.852 & 1.337 & 1.877 & 1.818 \\
240 +Is private room & 1.018 & 0.832 & 1.319 & 2.793 & 1.791 \\
241 +Log bathrooms & 0.796 & 0.643 & 0.610 & 0.679 & 0.629 \\
242 +Bedrooms/guest & 0.456 & 0.221 & 1.240 & $-$0.898 & $-$0.802 \\
243 +Log accommodates & $-$0.178 & 0.067 & $-$0.150 & $-$0.095 & $-$0.042 \\
244 +Amenities count & $-$0.009 & $-$0.004 & $-$0.006 & $-$0.004 & $-$0.004 \\
245 +Rating & 0.379 & 0.285 & 0.245 & 0.206 & 0.161 \\
246 +Is Superhost & $-$0.090 & 0.019 & 0.038 & 0.205 & 0.178 \\
247 +Pets allowed & 0.063 & 0.068 & 0.168 & 0.147 & 0.218 \\
248 +\midrule
249 +Pseudo-$R^2$ & 0.100 & 0.083 & 0.061 & 0.070 & 0.020 \\
250 +\bottomrule
251 +\end{tabular}
252 +\begin{tablenotes}
253 +\footnotesize
254 +\item \textit{Notes:} Quantile regression estimates at $\tau \in \{0.10,
255 +0.25, 0.50, 0.75, 0.90\}$. Pseudo-$R^2$ is the Koenker--Bassett
256 +measure. 16 covariates included; selected coefficients shown.
257 +\end{tablenotes}
258 +\end{threeparttable}
259 +\end{table}
260 +
261 +The entire-home coefficient increases from 1.007 at $\tau = 0.10$ to
262 +1.877 at $\tau = 0.75$, indicating that the room-type premium is
263 +substantially amplified in the upper price segment. The rating
264 +coefficient declines monotonically from 0.379 to 0.161, indicating
265 +that review scores matter more for budget listings than for luxury
266 +listings. The pseudo-$R^2$ is highest at $\tau = 0.10$ (0.100) and
267 +lowest at $\tau = 0.90$ (0.020), confirming that luxury pricing depends
268 +heavily on unobserved factors.
269 +
270 +% ------------------------------------------------------------------
271 +\subsection{Machine Learning Comparison}
272 +\label{subsec:ml_comparison}
273 +% ------------------------------------------------------------------
274 +
275 +Table~\ref{tab:ml} compares the out-of-sample predictive performance of
276 +all seven models on the held-out test set ($N_{\text{test}} = 382$).
277 +
278 +\begin{table}[!htbp]
279 +\centering
280 +\caption{Out-of-Sample Predictive Performance}
281 +\label{tab:ml}
282 +\begin{threeparttable}
283 +\begin{tabular}{lrrrr}
284 +\toprule
285 +Model & $R^2$ & RMSE & MAE & MAPE (\%) \\
286 +\midrule
287 +XGBoost & 0.285 & 1.160 & 0.841 & 14.27 \\
288 +CatBoost & 0.258 & 1.182 & 0.862 & 14.63 \\
289 +LightGBM & 0.244 & 1.192 & 0.874 & 14.84 \\
290 +Random Forest & 0.243 & 1.193 & 0.884 & 15.00 \\
291 +Gradient Boosting & 0.238 & 1.197 & 0.870 & 14.90 \\
292 +GAM (fallback) & 0.195 & 1.230 & 0.965 & 16.53 \\
293 +ElasticNet & 0.131 & 1.278 & 0.996 & 17.15 \\
294 +\bottomrule
295 +\end{tabular}
296 +\begin{tablenotes}
297 +\footnotesize
298 +\item \textit{Notes:} Performance evaluated on the held-out test set
299 +($N = 382$). All models trained on 49 features with $N_{\text{train}} =
300 +1{,}524$. MAPE is mean absolute percentage error. CatBoost and GAM use
301 +sklearn fallback implementations.
302 +\end{tablenotes}
303 +\end{threeparttable}
304 +\end{table}
305 +
306 +XGBoost achieves the best performance ($R^2 = 0.285$, MAPE = 14.27\%),
307 +modestly exceeding the full OLS hedonic $R^2$ of 0.274. The similar
308 +performance suggests that the log-linear specification captures the
309 +majority of systematic price variation, with non-linearities playing a
310 +secondary role.
311 +
312 +% ------------------------------------------------------------------
313 +\subsection{Spatial Model Results}
314 +\label{subsec:spatial}
315 +% ------------------------------------------------------------------
316 +
317 +After constructing the $k$-nearest-neighbours ($k = 5$) spatial weight
318 +matrix, we estimate the three canonical spatial specifications. The
319 +Spatial Lag Model captures endogenous spatial interaction via
320 +$\hat{\rho}$, the Spatial Error Model captures spatially correlated
321 +unobservables via $\hat{\lambda}$, and the Spatial Durbin Model allows
322 +both endogenous interaction and spatially lagged covariates. The hedonic
323 +coefficients in the spatial specifications are qualitatively similar to
324 +the OLS estimates, but several magnitudes adjust modestly, indicating
325 +mild spatial bias in the OLS that is corrected by explicitly modeling
326 +the spatial structure.
327 +
328 +% ------------------------------------------------------------------
329 +\subsection{Price Decomposition}
330 +\label{subsec:decomposition}
331 +% ------------------------------------------------------------------
332 +
333 +Table~\ref{tab:decomp} summarizes the price decomposition across all
334 +1,906 listings in the full-model sample.
335 +
336 +\begin{table}[!htbp]
337 +\centering
338 +\caption{Price Decomposition: Log-Price Contributions by Attribute Block}
339 +\label{tab:decomp}
340 +\begin{threeparttable}
341 +\begin{tabular}{lrrrrr}
342 +\toprule
343 +Component & Mean & Median & Std.\ Dev. & Min & Max \\
344 +\midrule
345 +Actual log-price & 5.871 & 5.395 & 1.417 & 2.446 & 10.124 \\
346 +Predicted log-price & 3.985 & 5.392 & 3.730 & $-$9.310 & 10.742 \\
347 +\midrule
348 +Base (intercept) & 0.000 & 0.000 & 0.000 & 0.000 & 0.000 \\
349 +Property & $-$2.349 & $-$1.949 & 1.321 & $-$10.055 & 2.555 \\
350 +Amenity & $-$0.035 & $-$0.034 & 0.082 & $-$0.293 & 0.323 \\
351 +Host & 0.014 & 0.017 & 0.016 & $-$0.012 & 0.041 \\
352 +Review & 6.402 & 7.477 & 2.987 & $-$0.745 & 9.238 \\
353 +Location & 0.000 & 0.000 & 0.000 & 0.000 & 0.000 \\
354 +Text & 0.000 & 0.000 & 0.000 & 0.000 & 0.000 \\
355 +Spatial & $-$0.047 & $-$0.087 & 0.283 & $-$2.920 & 3.708 \\
356 +\midrule
357 +Prediction error & 1.163 & 0.108 & 3.090 & $-$6.211 & 15.328 \\
358 +\bottomrule
359 +\end{tabular}
360 +\begin{tablenotes}
361 +\footnotesize
362 +\item \textit{Notes:} Decomposition based on the full hedonic model
363 +(M9). Each row reports the distribution of log-price contributions from
364 +the corresponding attribute block across all $N = 1{,}906$ listings.
365 +\end{tablenotes}
366 +\end{threeparttable}
367 +\end{table}
368 +
369 +The review component contributes the largest mean share (6.402), driven
370 +by the large ``has reviews'' indicator coefficient. The property
371 +component shows the widest range ($-10.055$ to $+2.555$), reflecting
372 +heterogeneity in structural characteristics. The spatial component
373 +exhibits meaningful variation (std.\ dev.\ = 0.283), with favourable
374 +spatial contexts boosting predicted prices by up to 3.7 log points.
added paper/sections/robustness.tex +104 −0
@@ -0,0 +1,104 @@
1 +% ==========================================================================
2 +\section{Robustness Checks}
3 +\label{sec:robustness}
4 +% ==========================================================================
5 +
6 +This section evaluates the sensitivity of the main hedonic estimates to
7 +alternative sample definitions, variable transformations, model
8 +specifications, and subsample restrictions.
9 +
10 +% ------------------------------------------------------------------
11 +\subsection{Outlier Treatment}
12 +\label{subsec:winsorize}
13 +% ------------------------------------------------------------------
14 +
15 +We assess sensitivity to alternative outlier treatments through five
16 +specifications: (1)~raw OLS, (2)~Winsorized dependent variable at the
17 +1st/99th percentiles, (3)~trimmed sample dropping observations outside
18 +the 1st--99th range, (4)~semi-log specification, and (5)~median
19 +regression (LAD). Across all five, the sign, significance, and
20 +approximate magnitude of the key hedonic coefficients remain stable.
21 +The adjusted $R^2$ ranges from 0.083 to 0.098, confirming that the
22 +results are not driven by extreme prices.
23 +
24 +% ------------------------------------------------------------------
25 +\subsection{Subsample Analysis by Property Type}
26 +\label{subsec:room_type}
27 +% ------------------------------------------------------------------
28 +
29 +We re-estimate the full model separately for each property type.
30 +Table~\ref{tab:robustness_type} summarizes the results.
31 +
32 +\begin{table}[!htbp]
33 +\centering
34 +\caption{Hedonic Model by Property Type}
35 +\label{tab:robustness_type}
36 +\begin{threeparttable}
37 +\begin{tabular}{lrrr}
38 +\toprule
39 +Property Type & $N$ & $R^2$ & Adj.\ $R^2$ \\
40 +\midrule
41 +Apartment & 77 & 0.186 & 0.082 \\
42 +Cabin/Chalet & 691 & 0.084 & 0.068 \\
43 +Condo & 237 & 0.104 & 0.065 \\
44 +House & 679 & 0.098 & 0.083 \\
45 +Other & 554 & 0.130 & 0.112 \\
46 +Rental unit & 1,174 & 0.095 & 0.085 \\
47 +\bottomrule
48 +\end{tabular}
49 +\begin{tablenotes}
50 +\footnotesize
51 +\item \textit{Notes:} OLS estimates with HC1 robust standard errors.
52 +Each row reports the model estimated on the corresponding property type
53 +subsample. Zero-variance regressors are dropped within each subsample.
54 +\end{tablenotes}
55 +\end{threeparttable}
56 +\end{table}
57 +
58 +The Apartment subsample achieves the highest $R^2$ (0.186) despite the
59 +smallest sample size. Cabin/Chalet and House show lower $R^2$ values,
60 +consistent with greater heterogeneity depending on unobserved
61 +experiential characteristics.
62 +
63 +% ------------------------------------------------------------------
64 +\subsection{Price Segment Heterogeneity}
65 +\label{subsec:price_segment}
66 +% ------------------------------------------------------------------
67 +
68 +We partition the sample into five price segments (Budget, Moderate,
69 +Premium, Luxury, Ultra-Luxury) and re-estimate the full model within
70 +each. In the Budget segment, structural variables carry larger
71 +standardized coefficients. In the Luxury and Ultra-Luxury segments,
72 +amenity indices and reputation variables gain relative importance,
73 +consistent with the quantile regression findings.
74 +
75 +% ------------------------------------------------------------------
76 +\subsection{Alternative Location Controls}
77 +\label{subsec:alt_location}
78 +% ------------------------------------------------------------------
79 +
80 +We test five progressively richer location specifications: (1)~no
81 +controls, (2)~city/neighbourhood fixed effects (top 30 by count),
82 +(3)~latitude and longitude as continuous controls, (4)~spatial cluster
83 +fixed effects ($K = 20$), and (5)~spatial lag (5-NN mean price). City
84 +fixed effects raise the adjusted $R^2$ from 0.094 to 0.164. Under all
85 +specifications, the non-locational hedonic coefficients remain stable
86 +in sign and significance.
87 +
88 +% ------------------------------------------------------------------
89 +\subsection{Host Type Stratification}
90 +\label{subsec:professional}
91 +% ------------------------------------------------------------------
92 +
93 +We stratify by host type: all hosts (baseline), Superhosts only
94 +($R^2 = 0.077$), and multi-listing hosts. The lower $R^2$ for
95 +Superhosts suggests that, conditional on meeting the quality threshold,
96 +other observables explain less of the remaining price variation.
97 +
98 +\medskip
99 +In summary, the main findings---the dominant role of bedrooms and
100 +structural capacity, the significant review score premium, the concave
101 +bedroom--price relationship, competitive density effects, and positive
102 +local price contagion---are robust across alternative sample definitions,
103 +outlier treatments, property type subsamples, price segments, location
104 +controls, and host type stratifications.
added paper/sections/titlepage.tex +77 −0
@@ -0,0 +1,77 @@
1 +% ============================================================================
2 +% Title Page
3 +% ============================================================================
4 +\thispagestyle{empty}
5 +
6 +\begin{center}
7 +
8 +% --- Logo ---
9 +\includegraphics[width=3.5cm]{uq_logo.jpg}
10 +
11 +\vspace{0.6cm}
12 +
13 +{\footnotesize\textsc{Université du Québec en Outaouais}}\\[0.15cm]
14 +{\footnotesize\textsc{Département des sciences administratives}}
15 +
16 +\vspace{0.8cm}
17 +
18 +{\footnotesize\textsc{Working Paper No.~\WPnumber}}
19 +
20 +\vspace{1.2cm}
21 +
22 +% --- Title ---
23 +{\LARGE\bfseries \WPtitle\par}
24 +
25 +\ifx\WPsubtitle\empty\else
26 + \vspace{0.3cm}
27 + {\large\itshape \WPsubtitle\par}
28 +\fi
29 +
30 +\vspace{1.2cm}
31 +
32 +% --- Author ---
33 +{\large \WPauthor}\\[0.3cm]
34 +{\normalsize \WPaffiliation}\\[0.15cm]
35 +{\normalsize \href{mailto:\WPemail}{\WPemail}}\\[0.15cm]
36 +{\small \WPaddress}
37 +
38 +\vspace{0.8cm}
39 +
40 +% --- Date & Version ---
41 +{\normalsize \WPdate}\\[0.1cm]
42 +{\small Version~\WPversion}
43 +
44 +\end{center}
45 +
46 +\vfill
47 +
48 +\newpage
49 +
50 +% ============================================================================
51 +% Abstract Page
52 +% ============================================================================
53 +\thispagestyle{empty}
54 +
55 +\vspace*{1cm}
56 +
57 +\noindent\rule{\textwidth}{0.4pt}
58 +\vspace{0.3cm}
59 +
60 +\noindent\textbf{Abstract}
61 +
62 +\vspace{0.15cm}
63 +
64 +\noindent\WPabstract
65 +
66 +\vspace{0.4cm}
67 +
68 +\noindent\textbf{Keywords:} \WPkeywords
69 +
70 +\vspace{0.15cm}
71 +
72 +\noindent\textbf{JEL Classification:} \WPjel
73 +
74 +\vspace{0.3cm}
75 +\noindent\rule{\textwidth}{0.4pt}
76 +
77 +\newpage
added paper/uq_logo.jpg +0 −0

Binary file not shown.

added requirements.txt +18 −0
@@ -0,0 +1,18 @@
1 +numpy>=1.24
2 +pandas>=2.0
3 +scipy>=1.10
4 +scikit-learn>=1.3
5 +statsmodels>=0.14
6 +matplotlib>=3.7
7 +seaborn>=0.12
8 +plotly>=5.15
9 +streamlit>=1.28
10 +shap>=0.42
11 +xgboost>=1.7
12 +lightgbm>=4.0
13 +catboost>=1.2
14 +libpysal>=4.7
15 +spreg>=1.3
16 +esda>=2.5
17 +geopandas>=0.13
18 +shapely>=2.0
added results/figures/01_price_distribution.png +0 −0

Binary file not shown.

added results/figures/02_log_price_distribution.pdf +0 −0

Binary file not shown.

added results/figures/02_log_price_distribution.png +0 −0

Binary file not shown.

added results/figures/03_price_map.pdf +0 −0

Binary file not shown.

added results/figures/03_price_map.png +0 −0

Binary file not shown.

added results/figures/04_price_by_neighbourhood.pdf +0 −0

Binary file not shown.

added results/figures/04_price_by_neighbourhood.png +0 −0

Binary file not shown.

added results/figures/05_price_by_room_type.pdf +0 −0

Binary file not shown.

added results/figures/05_price_by_room_type.png +0 −0

Binary file not shown.

added results/figures/07_review_score_premium.pdf +0 −0

Binary file not shown.

added results/figures/07_review_score_premium.png +0 −0

Binary file not shown.

added results/figures/08_distance_to_center_gradient.pdf +0 −0

Binary file not shown.

added results/figures/08_distance_to_center_gradient.png +0 −0

Binary file not shown.

added results/models/04_hedonic_models_keys.txt +0 −0
added results/models/05_quantile_models_keys.txt +0 −0
added results/models/06_ml_models_keys.txt +0 −0
added results/models/08_spatial_models_keys.txt +0 −0
added results/models/09_robustness_keys.txt +0 −0
added results/tables/decomposition_summary.csv +12 −0
@@ -0,0 +1,12 @@
1 +,mean,median,std,min,max
2 +actual_price,5.8713,5.3946,1.4174,2.4457,10.1238
3 +predicted_price,3.985,5.3916,3.7297,-9.3096,10.7424
4 +prediction_error,1.1629,0.1083,3.0897,-6.2113,15.3281
5 +base_component,0.0,0.0,0.0,0.0,0.0
6 +property_component,-2.3492,-1.949,1.3214,-10.0545,2.5554
7 +amenity_component,-0.0345,-0.034,0.0822,-0.2925,0.3233
8 +host_component,0.0143,0.0173,0.0159,-0.0121,0.0414
9 +review_component,6.4016,7.4768,2.9872,-0.7445,9.2382
10 +location_component,0.0,0.0,0.0,0.0,0.0
11 +text_component,0.0,0.0,0.0,0.0,0.0
12 +spatial_component,-0.0472,-0.0865,0.2829,-2.9198,3.7081
added results/tables/ml_comparison.csv +8 −0
@@ -0,0 +1,8 @@
1 +,Model,R2,RMSE,MAE,MAPE
2 +0,XGBoost,0.2849926466603725,1.1594834726800047,0.8405303135296514,14.274305880999396
3 +1,CatBoost,0.25762183506156466,1.1814678369493385,0.861883109566656,14.630324391694598
4 +2,LightGBM,0.24391662639324718,1.192323633713909,0.8735306659264966,14.844860874004834
5 +3,RandomForest,0.24256171387450742,1.193391486264625,0.8843218520233437,14.998426970259251
6 +4,GradientBoosting,0.23838362928103562,1.196678376869042,0.8702118647456163,14.898041547617446
7 +5,GAM,0.19498214104091716,1.2303029518446575,0.9646495827708005,16.527283790739148
8 +6,ElasticNet,0.13121004999636754,1.2781054968967316,0.9962792628093446,17.145958867539974
added results/tables/ml_comparison.html +70 −0
@@ -0,0 +1,70 @@
1 +<table class="dataframe table table-sm">
2 + <thead>
3 + <tr style="text-align: right;">
4 + <th></th>
5 + <th>Model</th>
6 + <th>R2</th>
7 + <th>RMSE</th>
8 + <th>MAE</th>
9 + <th>MAPE</th>
10 + </tr>
11 + </thead>
12 + <tbody>
13 + <tr>
14 + <th>0</th>
15 + <td>XGBoost</td>
16 + <td>0.284993</td>
17 + <td>1.159483</td>
18 + <td>0.840530</td>
19 + <td>14.274306</td>
20 + </tr>
21 + <tr>
22 + <th>1</th>
23 + <td>CatBoost</td>
24 + <td>0.257622</td>
25 + <td>1.181468</td>
26 + <td>0.861883</td>
27 + <td>14.630324</td>
28 + </tr>
29 + <tr>
30 + <th>2</th>
31 + <td>LightGBM</td>
32 + <td>0.243917</td>
33 + <td>1.192324</td>
34 + <td>0.873531</td>
35 + <td>14.844861</td>
36 + </tr>
37 + <tr>
38 + <th>3</th>
39 + <td>RandomForest</td>
40 + <td>0.242562</td>
41 + <td>1.193391</td>
42 + <td>0.884322</td>
43 + <td>14.998427</td>
44 + </tr>
45 + <tr>
46 + <th>4</th>
47 + <td>GradientBoosting</td>
48 + <td>0.238384</td>
49 + <td>1.196678</td>
50 + <td>0.870212</td>
51 + <td>14.898042</td>
52 + </tr>
53 + <tr>
54 + <th>5</th>
55 + <td>GAM</td>
56 + <td>0.194982</td>
57 + <td>1.230303</td>
58 + <td>0.964650</td>
59 + <td>16.527284</td>
60 + </tr>
61 + <tr>
62 + <th>6</th>
63 + <td>ElasticNet</td>
64 + <td>0.131210</td>
65 + <td>1.278105</td>
66 + <td>0.996279</td>
67 + <td>17.145959</td>
68 + </tr>
69 + </tbody>
70 +</table>
\ No newline at end of file
added results/tables/ml_comparison.tex +20 −0
@@ -0,0 +1,20 @@
1 +\begin{table}[htbp]
2 +\centering
3 +\caption{Ml Comparison}
4 +\label{tab:ml_comparison}
5 +\begin{tabular}{lcccc}
6 +\toprule
7 + & Model & R2 & RMSE & MAE & MAPE \\
8 +\midrule
9 +0 & XGBoost & 0.2850 & 1.1595 & 0.8405 & 14.2743 \\
10 +1 & CatBoost & 0.2576 & 1.1815 & 0.8619 & 14.6303 \\
11 +2 & LightGBM & 0.2439 & 1.1923 & 0.8735 & 14.8449 \\
12 +3 & RandomForest & 0.2426 & 1.1934 & 0.8843 & 14.9984 \\
13 +4 & GradientBoosting & 0.2384 & 1.1967 & 0.8702 & 14.8980 \\
14 +5 & GAM & 0.1950 & 1.2303 & 0.9646 & 16.5273 \\
15 +6 & ElasticNet & 0.1312 & 1.2781 & 0.9963 & 17.1460 \\
16 +\bottomrule
17 +\end{tabular}
18 +\par\smallskip\footnotesize
19 +\textit{Note:} $^{***}p<0.001$, $^{**}p<0.01$, $^{*}p<0.05$.
20 +\end{table}
\ No newline at end of file
added results/tables/model_comparison.csv +10 −0
@@ -0,0 +1,10 @@
1 +,model,n_obs,n_params,R2,Adj_R2,RMSE,MAE,AIC,BIC
2 +0,Model 1 - Structural,3412,15,0.051611,0.047703,1.380133,1.118777,11911.39,12003.42
3 +1,Model 2 - + Amenities,3412,22,0.05747,0.051631,1.375863,1.11408,11904.25,12039.22
4 +2,Model 3 - + Host,3412,26,0.098481,0.091825,1.345597,1.080943,11760.46,11919.97
5 +3,Model 4 - + Reviews,2861,33,0.187097,0.177899,1.232581,0.954446,9381.69,9578.34
6 +4,Model 5 - + Location,2857,36,0.19793,0.187979,1.224361,0.943609,9336.44,9550.91
7 +5,Model 6 - + Neighbourhood,2857,37,0.197959,0.18772,1.224339,0.943673,9338.34,9558.77
8 +6,Model 7 - + NLP,2857,46,0.224943,0.212536,1.203567,0.914584,9258.56,9532.61
9 +7,Model 8 - + Spatial,1906,50,0.273532,0.254352,1.168623,0.890973,6103.0,6380.64
10 +8,Model 9 - Full Hedonic,1906,50,0.273532,0.254352,1.168623,0.890973,6103.0,6380.64
added results/tables/model_comparison.html +126 −0
@@ -0,0 +1,126 @@
1 +<table class="dataframe table table-sm">
2 + <thead>
3 + <tr style="text-align: right;">
4 + <th></th>
5 + <th>model</th>
6 + <th>n_obs</th>
7 + <th>n_params</th>
8 + <th>R2</th>
9 + <th>Adj_R2</th>
10 + <th>RMSE</th>
11 + <th>MAE</th>
12 + <th>AIC</th>
13 + <th>BIC</th>
14 + </tr>
15 + </thead>
16 + <tbody>
17 + <tr>
18 + <th>0</th>
19 + <td>Model 1 - Structural</td>
20 + <td>3412</td>
21 + <td>15</td>
22 + <td>0.051611</td>
23 + <td>0.047703</td>
24 + <td>1.380133</td>
25 + <td>1.118777</td>
26 + <td>11911.39</td>
27 + <td>12003.42</td>
28 + </tr>
29 + <tr>
30 + <th>1</th>
31 + <td>Model 2 - + Amenities</td>
32 + <td>3412</td>
33 + <td>22</td>
34 + <td>0.057470</td>
35 + <td>0.051631</td>
36 + <td>1.375863</td>
37 + <td>1.114080</td>
38 + <td>11904.25</td>
39 + <td>12039.22</td>
40 + </tr>
41 + <tr>
42 + <th>2</th>
43 + <td>Model 3 - + Host</td>
44 + <td>3412</td>
45 + <td>26</td>
46 + <td>0.098481</td>
47 + <td>0.091825</td>
48 + <td>1.345597</td>
49 + <td>1.080943</td>
50 + <td>11760.46</td>
51 + <td>11919.97</td>
52 + </tr>
53 + <tr>
54 + <th>3</th>
55 + <td>Model 4 - + Reviews</td>
56 + <td>2861</td>
57 + <td>33</td>
58 + <td>0.187097</td>
59 + <td>0.177899</td>
60 + <td>1.232581</td>
61 + <td>0.954446</td>
62 + <td>9381.69</td>
63 + <td>9578.34</td>
64 + </tr>
65 + <tr>
66 + <th>4</th>
67 + <td>Model 5 - + Location</td>
68 + <td>2857</td>
69 + <td>36</td>
70 + <td>0.197930</td>
71 + <td>0.187979</td>
72 + <td>1.224361</td>
73 + <td>0.943609</td>
74 + <td>9336.44</td>
75 + <td>9550.91</td>
76 + </tr>
77 + <tr>
78 + <th>5</th>
79 + <td>Model 6 - + Neighbourhood</td>
80 + <td>2857</td>
81 + <td>37</td>
82 + <td>0.197959</td>
83 + <td>0.187720</td>
84 + <td>1.224339</td>
85 + <td>0.943673</td>
86 + <td>9338.34</td>
87 + <td>9558.77</td>
88 + </tr>
89 + <tr>
90 + <th>6</th>
91 + <td>Model 7 - + NLP</td>
92 + <td>2857</td>
93 + <td>46</td>
94 + <td>0.224943</td>
95 + <td>0.212536</td>
96 + <td>1.203567</td>
97 + <td>0.914584</td>
98 + <td>9258.56</td>
99 + <td>9532.61</td>
100 + </tr>
101 + <tr>
102 + <th>7</th>
103 + <td>Model 8 - + Spatial</td>
104 + <td>1906</td>
105 + <td>50</td>
106 + <td>0.273532</td>
107 + <td>0.254352</td>
108 + <td>1.168623</td>
109 + <td>0.890973</td>
110 + <td>6103.00</td>
111 + <td>6380.64</td>
112 + </tr>
113 + <tr>
114 + <th>8</th>
115 + <td>Model 9 - Full Hedonic</td>
116 + <td>1906</td>
117 + <td>50</td>
118 + <td>0.273532</td>
119 + <td>0.254352</td>
120 + <td>1.168623</td>
121 + <td>0.890973</td>
122 + <td>6103.00</td>
123 + <td>6380.64</td>
124 + </tr>
125 + </tbody>
126 +</table>
\ No newline at end of file
added results/tables/model_comparison.tex +22 −0
@@ -0,0 +1,22 @@
1 +\begin{table}[htbp]
2 +\centering
3 +\caption{Model Comparison}
4 +\label{tab:model_comparison}
5 +\begin{tabular}{lcccccccc}
6 +\toprule
7 + & model & n_obs & n_params & R2 & Adj_R2 & RMSE & MAE & AIC & BIC \\
8 +\midrule
9 +0 & Model 1 - Structural & 3412 & 15 & 0.0516 & 0.0477 & 1.3801 & 1.1188 & 11911.4 & 12003.4 \\
10 +1 & Model 2 - + Amenities & 3412 & 22 & 0.0575 & 0.0516 & 1.3759 & 1.1141 & 11904.2 & 12039.2 \\
11 +2 & Model 3 - + Host & 3412 & 26 & 0.0985 & 0.0918 & 1.3456 & 1.0809 & 11760.5 & 11920.0 \\
12 +3 & Model 4 - + Reviews & 2861 & 33 & 0.1871 & 0.1779 & 1.2326 & 0.9544 & 9381.7 & 9578.3 \\
13 +4 & Model 5 - + Location & 2857 & 36 & 0.1979 & 0.1880 & 1.2244 & 0.9436 & 9336.4 & 9550.9 \\
14 +5 & Model 6 - + Neighbourhood & 2857 & 37 & 0.1980 & 0.1877 & 1.2243 & 0.9437 & 9338.3 & 9558.8 \\
15 +6 & Model 7 - + NLP & 2857 & 46 & 0.2249 & 0.2125 & 1.2036 & 0.9146 & 9258.6 & 9532.6 \\
16 +7 & Model 8 - + Spatial & 1906 & 50 & 0.2735 & 0.2544 & 1.1686 & 0.8910 & 6103.0 & 6380.6 \\
17 +8 & Model 9 - Full Hedonic & 1906 & 50 & 0.2735 & 0.2544 & 1.1686 & 0.8910 & 6103.0 & 6380.6 \\
18 +\bottomrule
19 +\end{tabular}
20 +\par\smallskip\footnotesize
21 +\textit{Note:} $^{***}p<0.001$, $^{**}p<0.01$, $^{*}p<0.05$.
22 +\end{table}
\ No newline at end of file
added results/tables/price_associated_words.csv +41 −0
@@ -0,0 +1,41 @@
1 +word,correlation,abs_correlation,direction
2 +in montréal,0.1805002174278048,0.1805002174278048,positive
3 +montréal,0.18000501210942427,0.18000501210942427,positive
4 +in,0.15482392641370818,0.15482392641370818,positive
5 +montréal bedroom,0.15418621841830996,0.15418621841830996,positive
6 +montréal bedrooms,0.14921896283129973,0.14921896283129973,positive
7 +rental,0.11766378982081793,0.11766378982081793,positive
8 +rental unit,0.11766378982081793,0.11766378982081793,positive
9 +unit,0.11766378982081793,0.11766378982081793,positive
10 +unit in,0.11766378982081793,0.11766378982081793,positive
11 +bedrooms,0.11025006416545134,0.11025006416545134,positive
12 +new,-0.10710111881241682,0.10710111881241682,negative
13 +badezimmer,0.10273319505859846,0.10273319505859846,positive
14 +beds baths,0.09286588963953586,0.09286588963953586,positive
15 +bedrooms beds,0.09057719036561539,0.09057719036561539,positive
16 +bedroom beds,-0.08955684826394283,0.08955684826394283,negative
17 +baths,0.08536227353372888,0.08536227353372888,positive
18 +schlafzimmer,0.08440216072145762,0.08440216072145762,positive
19 +new bedroom,-0.07917584216465703,0.07917584216465703,negative
20 +montréal new,-0.07143580086338461,0.07143580086338461,negative
21 +bromont bedrooms,0.07103164459341331,0.07103164459341331,positive
22 +montréal studio,0.07066440742120515,0.07066440742120515,positive
23 +91 bedroom,-0.07007870847545931,0.07007870847545931,negative
24 +beaupré,-0.06953159908287251,0.06953159908287251,negative
25 +in beaupré,-0.06935404285820401,0.06935404285820401,negative
26 +howard,0.06909208902914757,0.06909208902914757,positive
27 +adolphe howard,0.06909208902914757,0.06909208902914757,positive
28 +adolphe,0.06909208902914757,0.06909208902914757,positive
29 +new bedrooms,-0.06663091906009003,0.06663091906009003,negative
30 +91,-0.06216081063470124,0.06216081063470124,negative
31 +half,-0.061441381794857856,0.061441381794857856,negative
32 +half bath,-0.061441381794857856,0.061441381794857856,negative
33 +61 bedroom,-0.057758992522013705,0.057758992522013705,negative
34 +97 bedroom,-0.05734723885023703,0.05734723885023703,negative
35 +93 bedroom,-0.05445591145666726,0.05445591145666726,negative
36 +beds bath,-0.05338814538467919,0.05338814538467919,negative
37 +hotel,-0.05279655979793697,0.05279655979793697,negative
38 +hotel in,-0.05279655979793697,0.05279655979793697,negative
39 +private,-0.05268922750785858,0.05268922750785858,negative
40 +bed private,-0.0512627418826572,0.0512627418826572,negative
41 +beds shared,-0.05124311398508191,0.05124311398508191,negative
added results/tables/price_decomposition.csv +5001 −0
@@ -0,0 +1,5001 @@
1 +actual_price,predicted_price,prediction_error,base_component,property_component,amenity_component,host_component,review_component,location_component,text_component,spatial_component
2 +,-5.239542746970883,,0.0,-5.492497740963282,0.006495942692706633,0.0024904528831925232,0.0,0.0,0.0,0.24396859841650084
3 +,-5.041085318673871,,0.0,-5.003007498517821,-0.0026150274252543654,0.0024904528831925232,0.0,0.0,0.0,-0.03795324561398744
4 +4.430816798843313,-2.507699997837917,6.93851679668123,0.0,-1.6723224830537395,-0.046176061115035055,0.0024904528831925232,-0.5963811959256494,0.0,0.0,-0.19531071062668445
5 +,-6.174748292419177,,0.0,-6.03131367402751,-0.02396658279196751,0.0,0.0,0.0,0.0,-0.1194680355997004
6 +,-5.75591766963648,,0.0,-5.449766776792574,0.01562833204565258,0.0024904528831925232,0.0,0.0,0.0,-0.3242696777727494
7 +7.742835955430749,5.664227956671418,2.078607998759331,0.0,-2.176923108369328,0.04523565138577972,0.026786096644932214,7.815380913519841,0.0,0.0,-0.046251596509803906
8 +4.6443908991413725,4.407109832008333,0.23728106713303987,0.0,-2.6378832830922123,0.11623515338815611,0.017324634400523453,6.990141261598633,0.0,0.0,-0.07870793428676814
9 +5.87493073085203,5.333233997891826,0.5416967329602045,0.0,-1.6151894894655605,-0.12971176922768363,-0.012124622699479781,7.238467595792598,0.0,0.0,-0.1482077165080474
10 +5.402677381872279,5.571112456077213,-0.16843507420493342,0.0,-1.697497435143358,-0.11488808011140951,0.026786096644932214,7.44258537165091,0.0,0.0,-0.0858734969638604
11 +6.198478716492308,5.532360596121441,0.666118120370867,0.0,-1.4719482797170231,-0.04192389119262293,0.029449257100003234,7.164727788448949,0.0,0.0,-0.14794427851786385
12 +4.997212273764115,5.606811920122504,-0.6095996463583893,0.0,-2.443368750707717,-0.010367080415875099,0.0,8.140893512402114,0.0,0.0,-0.08034576115601663
13 +7.670428522190693,4.75684393809417,2.9135845840965224,0.0,-1.8892375305790763,0.04794308639031163,0.0,7.398959158122569,0.0,0.0,-0.8008207758396335
14 +7.824445930877619,7.06434284032329,0.7601030905543293,0.0,-1.5478337877299326,0.10044521402087003,0.038910719344411995,7.363719958466769,0.0,0.0,1.1091007362211713
15 +4.5217885770490405,5.3608676515266405,-0.8390790744776,0.0,-2.5528177152970493,-0.07644356545372087,0.038910719344411995,8.16813096531973,0.0,0.0,-0.21691275238672986
16 +7.576097340623111,7.5968807600782915,-0.020783419455180585,0.0,-0.2530045864852086,-0.080524973802494,0.04140117222760452,8.222776125363746,0.0,0.0,-0.3337669772253575
17 +,6.1293716562042535,,0.0,-1.2546482008802382,-0.03110674841771001,0.04140117222760452,7.50171767886537,0.0,0.0,-0.1279922455907732
18 +,5.835966386085037,,0.0,-2.0950716189602288,0.037032979660808485,0.0,8.140893512402114,0.0,0.0,-0.2468884870176561
19 +3.8066624897703196,4.662021361872123,-0.8553588721018031,0.0,-2.6025476862189842,0.02739435399889159,0.026786096644932214,7.466614219653837,0.0,0.0,-0.256225622206553
20 +6.841615476477592,5.862803114856265,0.9788123616213262,0.0,-2.151072159625464,-0.0012724029641450543,0.0,8.169945649986037,0.0,0.0,-0.15479797254015948
21 +5.91350300563827,6.421562732695383,-0.5080597270571134,0.0,-1.6558575003199039,-0.08606986823255248,0.0,8.1461031766186,0.0,0.0,0.01738692462923802
22 +5.517452896464707,5.7953532562804195,-0.27790035981571215,0.0,-2.181929716450747,0.049435481948505375,0.0,7.901938580686778,0.0,0.0,0.025908910095882875
23 +4.770684624465665,6.21082254814488,-1.440137923679215,0.0,-1.1534270473120865,-0.04546005024073037,0.0024904528831925232,7.374901974949108,0.0,0.0,0.03231721786539685
24 +6.16541785423142,5.707169831327597,0.45824802290382305,0.0,-1.037458117468483,-0.015686535669897396,0.026786096644932214,6.7980317227744145,0.0,0.0,-0.0645033349533696
25 +7.1592919047975645,5.934748774396978,1.224543130400587,0.0,-1.7386074109046445,-0.001930118491181687,0.029449257100003234,7.749104953357502,0.0,0.0,-0.10326790666470217
26 +,4.736312466344734,,0.0,-2.397708826290171,0.024828100363359473,0.017324634400523453,7.120141829943648,0.0,0.0,-0.028273272072627285
27 +,-2.6023021062768437,,0.0,-1.8677858200917115,0.09617037740982176,-0.012124622699479781,-0.5981113599557263,0.0,0.0,-0.22045068093974696
28 +,-2.2706118695306303,,0.0,-1.743439481122282,-0.02156249042669188,0.0,-0.43591624760373177,0.0,0.0,-0.06969365037792526
29 +,-5.40561173523358,,0.0,-5.1532311347907775,-0.09474152082344033,0.0024904528831925232,0.0,0.0,0.0,-0.16012953250255454
30 +,-2.418779184070328,,0.0,-1.5393522942637903,-0.08218129099084691,0.0,-0.5963811959256494,0.0,0.0,-0.20086440289004157
31 +6.0867747269123065,6.600384655021035,-0.5136099281087283,0.0,-1.7079885623613205,0.1329351385410389,0.029449257100003234,7.908399907202379,0.0,0.0,0.23758891453893374
32 +5.389071729816501,5.30693962943189,0.08213210038461138,0.0,-1.7206192871181347,-0.09185811966874978,0.017324634400523453,7.17759402354779,0.0,0.0,-0.07550162172953842
33 +4.0943445622221,5.0181729131528305,-0.9238283509307301,0.0,-2.26080901164807,-0.08524991931969347,0.0,7.631998706715456,0.0,0.0,-0.2677668625948614
34 +7.442492722794441,6.181962045007264,1.2605306777871768,0.0,-1.569264776883477,-0.09071274912114347,0.0,7.6378811577338706,0.0,0.0,0.2040584132780127
35 +8.697345730925353,5.83794171543106,2.8594040154942926,0.0,-1.862709862124678,0.016637237902985484,0.017324634400523453,7.816122412389874,0.0,0.0,-0.14943270713764542
36 +,5.990543044709397,,0.0,-1.5509320338537593,-0.12412695790573472,0.038910719344411995,7.202035009543854,0.0,0.0,0.42465630758062356
37 +8.25608813381491,7.196500110102195,1.0595880237127142,0.0,-0.9739313675571077,0.01138020164053967,0.0,8.049180466222564,0.0,0.0,0.1098708097961977
38 +4.23410650459726,4.598863924163989,-0.3647574195667289,0.0,-2.8305173034964097,-0.1268031689318583,0.026786096644932214,7.541029263938364,0.0,0.0,-0.011630963991038253
39 +5.638354669333745,6.420139000228453,-0.7817843308947072,0.0,-1.6707961501416584,-0.05464881528250125,0.029449257100003234,7.675809873135664,0.0,0.0,0.4403248354169433
40 +5.529429087511423,4.021886286523208,1.5075428009882152,0.0,-5.037027339011955,0.02029867403261908,0.0,9.0784399922403,0.0,0.0,-0.03982504073775425
41 +6.898714534329988,4.367735958421012,2.5309785759089767,0.0,-4.914880101449828,0.07057551248072234,0.0024904528831925232,9.238202504200961,0.0,0.0,-0.028652409694034903
42 +4.3694478524670215,4.869960883845943,-0.5005130313789214,0.0,-2.5024905319574753,0.047491977653095256,0.026786096644932214,7.410059182272177,0.0,0.0,-0.11188584076678837
43 +7.853993087224244,5.931343634996034,1.9226494522282103,0.0,-1.8554295913130918,0.11104288436971574,0.0,7.708138765455035,0.0,0.0,-0.03240842351562469
44 +,5.09734790478239,,0.0,-2.0310268021877036,-0.09837007801518848,-0.012124622699479781,7.457893117382321,0.0,0.0,-0.2190237096975572
45 +5.198497031265826,5.441130544701411,-0.24263351343558526,0.0,-1.5932238979070794,0.15316332878918013,0.0024904528831925232,6.767694563389452,0.0,0.0,0.11100609754666624
46 +4.1588830833596715,4.439954875579484,-0.28107179221981227,0.0,-2.583973453369654,0.07208979901176772,0.017324634400523453,7.072226155869434,0.0,0.0,-0.13771226033258827
47 +6.687108607866515,4.489013123725958,2.1980954841405564,0.0,-4.549349726060093,-0.16628787007982024,0.0024904528831925232,9.238202504200961,0.0,0.0,-0.036042237218280676
48 +7.280263216932193,5.475799262171794,1.804463954760399,0.0,-1.9109293766667381,-0.03066417209438914,0.0024904528831925232,7.1486164233534915,0.0,0.0,0.2662859346962384
49 +5.54907608489522,6.2958974415754865,-0.7468213566802664,0.0,-1.0576560643331891,-0.06877366726343709,0.038910719344411995,7.141048955154312,0.0,0.0,0.242367498673389
50 +5.676753802268282,6.708578536023169,-1.0318247337548874,0.0,-1.9688965552500886,-0.06317110019058421,0.019815087283715976,7.530067380088036,0.0,0.0,1.1907637240920899
51 +4.430816798843313,5.782248481042391,-1.3514316821990775,0.0,-1.9276425680792437,-0.10241361815013847,0.0,8.093859507982389,0.0,0.0,-0.2815548407106153
52 +5.220355825078324,5.114206233724772,0.10614959135355218,0.0,-1.7806610116263295,-0.03811578344206679,0.017324634400523453,6.97055722378219,0.0,0.0,-0.05489882938954404
53 +5.14166355650266,5.077435055496291,0.06422850100636968,0.0,-2.355583473758082,-0.03076933228178715,0.038910719344411995,7.426080857364995,0.0,0.0,-0.0012037151732479743
54 +4.812184355372417,4.69066153716614,0.12152281820627664,0.0,-2.2485826779890123,-0.1335719204083959,0.029449257100003234,7.060355426754341,0.0,0.0,-0.01698854829079586
55 +5.501258210544727,5.940046640247211,-0.438788429702484,0.0,-0.8319634802964879,-0.024392583445705163,0.029276549528124737,6.662796511146866,0.0,0.0,0.10432964331441427
56 +7.499423290592229,6.3426772769685575,1.1567460136236711,0.0,-1.6609495203293747,-0.019604363094030706,0.017324634400523453,7.934596008957455,0.0,0.0,0.07131051703398558
57 +,4.862260267384835,,0.0,-1.955781430606156,-0.07209421604976934,0.026786096644932214,6.8653105437493975,0.0,0.0,-0.0019607263535682123
58 +7.667158255319148,6.214584049901967,1.4525742054171804,0.0,-1.8910941864144162,-0.08807924955380042,0.0,8.13094732736983,0.0,0.0,0.06281015850035572
59 +8.957252944288902,6.185437867594614,2.7718150766942875,0.0,-1.1743891220566338,-0.04872349665719425,0.0,7.34845870690402,0.0,0.0,0.06009177940442276
60 +4.454347296253507,4.73146628525431,-0.2771189890008028,0.0,-1.993127378084714,-0.09968984905962788,0.026786096644932214,7.022230162015634,0.0,0.0,-0.22473274626191303
61 +7.038783541388542,6.173417842395108,0.8653656989934335,0.0,-1.6607863316166869,-0.018701481297235256,0.029276549528124737,7.859947852617124,0.0,0.0,-0.03631874683621772
62 +8.6020856584342,6.181523936589153,2.420561721845047,0.0,-1.8803445205310272,-0.01770008340963166,0.026786096644932214,7.374908340764341,0.0,0.0,0.6778741031205391
63 +5.4680601411351315,6.16509167054965,-0.6970315294145184,0.0,-1.6940126004377767,-0.07017729633191264,0.0,8.1461031766186,0.0,0.0,-0.21682160929926253
64 +,6.036905138971556,,0.0,-1.8577364933740403,-0.07834752129240405,0.0024904528831925232,7.231524113349596,0.0,0.0,0.7389745874052129
65 +,6.225050846785047,,0.0,-1.4828096942778286,0.016945473524066668,0.0,7.809263302781258,0.0,0.0,-0.11834823524244953
66 +4.343805421853684,4.7485910169994865,-0.40478559514580237,0.0,-2.4895394324152704,-0.07389516163982529,0.026786096644932214,7.331247531953374,0.0,0.0,-0.04600801754372325
67 +3.6635616461296463,5.3483354298035515,-1.6847737836739052,0.0,-1.4047850356506046,0.013835813541225574,0.0024904528831925232,6.975973611534387,0.0,0.0,-0.2391794125046487
68 +5.4510384535657,4.928626467590008,0.5224119859756922,0.0,-2.1072557034438004,0.0663935474446659,0.026786096644932214,7.119771080508632,0.0,0.0,-0.17706855356442092
69 +,5.2345739376564415,,0.0,-1.9337728165358419,-0.160831184456605,0.029449257100003234,7.31006527931246,0.0,0.0,-0.010336597763573263
70 +4.30406509320417,6.404242818409412,-2.100177725205242,0.0,-1.4342142554775767,0.0788533790702095,0.04140117222760452,7.402022122739653,0.0,0.0,0.3161803998495232
71 +,7.024592653362148,,0.0,-0.8415974986751023,-0.0052901673007161865,-0.012124622699479781,8.063013613403083,0.0,0.0,-0.17940867136563698
72 +5.8805329864007,6.2081961124370055,-0.3276631260363052,0.0,-1.0639350341035492,0.006970670208655834,0.026786096644932214,7.002404997282264,0.0,0.0,0.2359693824047047
73 +6.628041376179533,5.262231857654364,1.365809518525169,0.0,-2.123816578641982,-0.06984260317949786,0.0,7.379250118279664,0.0,0.0,0.07664092119618025
74 +,6.410205379585449,,0.0,-0.8865730442502429,-0.14872087555105035,0.0024904528831925232,6.821570357947484,0.0,0.0,0.621438488556066
75 +8.64135583403666,6.148741001884179,2.49261483215248,0.0,-1.6713446855468996,-0.07274702308943047,0.0,7.9606923625749575,0.0,0.0,-0.0678596520544488
76 +4.499809670330265,4.848711983029424,-0.34890231269915883,0.0,-1.5695195573953766,-0.14571858913901736,0.026786096644932214,6.706294717042204,0.0,0.0,-0.1691306841233179
77 +,-4.541577565133571,,0.0,-4.891841340524495,-0.12873479139690847,0.0,0.0,0.0,0.0,0.4789985667878324
78 +,5.989878554378519,,0.0,-1.2050656909867046,-0.015419513685697946,0.029276549528124737,7.078705083831937,0.0,0.0,0.10238212569086111
79 +,5.73889474459789,,0.0,-1.4110859861687244,-0.004845455742013796,0.017324634400523453,7.259161508717353,0.0,0.0,-0.12165995660924603
80 +7.745167292151344,5.949925070695736,1.7952422214556085,0.0,-1.4828615290291607,-0.033107349772667674,0.0,7.5203433729644615,0.0,0.0,-0.05444942346689726
81 +,5.577463407551013,,0.0,-2.3589996020425437,-0.002798102727879618,0.0,8.033946639389118,0.0,0.0,-0.09468552706768042
82 +6.969931637408813,7.0023860485657385,-0.03245441115692582,0.0,-1.1771285503995141,-0.02117839237995117,0.04140117222760452,8.222776125363746,0.0,0.0,-0.06348430624614529
83 +4.635214307336468,4.642832443390588,-0.007618136054119873,0.0,-2.4850474946206598,-0.052605731339025075,0.026786096644932214,7.289464331978485,0.0,0.0,-0.1357647592731437
84 +,5.968230304736809,,0.0,-0.8980388205320056,0.017990567139460255,0.026786096644932214,6.703201244230953,0.0,0.0,0.11829121725346944
85 +8.502834598437325,5.975010508429247,2.5278240900080773,0.0,-1.48653429250595,-0.022876947147454595,0.0,7.436089250215087,0.0,0.0,0.04833249786756491
86 +5.270123632177254,5.378952348061032,-0.10882871588377796,0.0,-2.3406951810494663,-0.09795164356026075,0.026786096644932214,7.908399907202379,0.0,0.0,-0.11758683117655175
87 +7.778110966949214,6.83726179625015,0.9408491706990638,0.0,-1.2426759312409024,-0.1987782018088764,0.04140117222760452,8.1461031766186,0.0,0.0,0.09121158045372343
88 +5.471598178689843,6.459314518715639,-0.9877163400257967,0.0,-1.717292692464902,0.06253976391775973,0.03193970998319576,8.097033607243754,0.0,0.0,-0.014905869964169934
89 +7.765569081097317,-5.9966618692799685,13.762230950377285,0.0,-5.828541711841025,0.027373759251981933,0.0,0.0,0.0,0.0,-0.19549391669092528
90 +5.0384449947355225,7.017237531745741,-1.9787925370102188,0.0,-1.3637958347413761,-0.025304332233409787,0.029449257100003234,8.256548952914406,0.0,0.0,0.1203394887061158
91 +3.7909846770510898,5.400127538387455,-1.6091428613363652,0.0,-1.7572785148748462,-0.19160291937358293,0.026786096644932214,6.8579200848212345,0.0,0.0,0.4643027911697185
92 +,4.232289672856903,,0.0,-2.177838987717041,-0.10016910401615939,0.017324634400523453,6.921371248551035,0.0,0.0,-0.4283981183614547
93 +4.824305715904762,4.813917047350624,0.010388668554138114,0.0,-1.8572274520018057,-0.012862366160715837,0.0,7.79494218883595,0.0,0.0,-1.110935323322807
94 +5.229020877545381,5.769432095987132,-0.5404112184417516,0.0,-1.7434083778788647,0.03488332481707633,0.0,7.419381476966866,0.0,0.0,0.05857567208205458
95 +,4.497272645937367,,0.0,-2.161175834178935,-0.03911217808580591,0.038910719344411995,6.733803408746239,0.0,0.0,-0.07515346988854193
96 +6.085523945010654,3.5286229916742706,2.5569009533363833,0.0,-5.397323644403296,-0.08602632097086603,0.029449257100003234,9.238202504200961,0.0,0.0,-0.2556788042525328
97 +7.754935989650438,6.307771914742335,1.4471640749081027,0.0,-1.547287934842088,-0.017081784190324932,0.04140117222760452,7.584607537875602,0.0,0.0,0.24613292367154163
98 +5.584623492819887,6.66809147639896,-1.083467983579073,0.0,-1.131254391885311,-0.1090548094927469,0.0,8.20915108196446,0.0,0.0,-0.30075040418744214
99 +5.360916508304556,5.378099735006378,-0.01718322670182193,0.0,-1.9841444300071993,-0.19679148902032645,0.038910719344411995,7.740224370365282,0.0,0.0,-0.22009943567578988
100 +4.525477417078843,5.732182753407726,-1.2067053363288833,0.0,-1.9836050956532345,0.15326918994759514,0.0,7.507479719994649,0.0,0.0,0.055038939118716684
101 +7.727297196713659,7.325441765724472,0.40185543098918686,0.0,-0.7642994424009979,-0.04583121235525284,0.029276549528124737,7.965649989520884,0.0,0.0,0.14064588143171516
102 +4.6198617347310815,5.9652737341983695,-1.345411999467288,0.0,-2.074522705560139,-0.06923080475222805,0.029449257100003234,8.210634079704526,0.0,0.0,-0.13105609229379284
103 +,5.632674585885366,,0.0,-1.6860329332995923,-0.1708800807627062,0.0,7.142611793174899,0.0,0.0,0.34697580677276463
104 +5.809312975865665,5.20300715167136,0.6063058241943047,0.0,-2.0947107020476903,-0.1397500946703258,0.017324634400523453,7.343067415209759,0.0,0.0,0.07707589877909507
105 +5.209267549714526,6.1153761045994655,-0.9061085548849395,0.0,-1.7140798903569676,-0.07843730078776508,0.017324634400523453,7.935461090972494,0.0,0.0,-0.044892429628821014
106 +7.765221268284967,7.2204630593819505,0.5447582089030165,0.0,-0.9969738756682185,-0.03435182229772428,0.0024904528831925232,8.095589672012466,0.0,0.0,0.15370863245223484
107 +5.1810529463873864,5.93193366924161,-0.7508807228542231,0.0,-2.1190931200991434,-0.060683769374125396,0.0,8.254818788884329,0.0,0.0,-0.1431082301694494
108 +5.320665770211798,5.662373294869123,-0.3417075246573251,0.0,-1.4690420649882627,-0.1303612201497018,0.026786096644932214,7.164233455868927,0.0,0.0,0.07075702749322885
109 +5.466666765775108,6.030451578866717,-0.5637848130916083,0.0,-1.5140624219870764,-0.08760816046761047,0.0,7.514102108425489,0.0,0.0,0.11802005289591319
110 +4.699388861227073,5.303354172746595,-0.6039653115195227,0.0,-2.1911532240398586,-0.0036914526375264375,0.0,7.640132728080015,0.0,0.0,-0.14193387865603407
111 +8.262300941787448,5.230477395382464,3.0318235464049836,0.0,-2.4937683578990697,-0.11935890118542614,0.026786096644932214,7.7952937673216285,0.0,0.0,0.021524790500398586
112 +5.511935696637175,5.5661846175397045,-0.05424892090252964,0.0,-1.7547891416694057,0.10449056489060445,0.017324634400523453,7.181719954822365,0.0,0.0,0.017438605095618037
113 +,5.955547049708709,,0.0,-1.3515741504088696,-0.0695411640517325,0.04140117222760452,7.257925677267298,0.0,0.0,0.0773355146744085
114 +5.630064170161918,5.564317298035413,0.0657468721265051,0.0,-1.5340454620123571,-0.06492178026269031,0.0,7.105150489044505,0.0,0.0,0.05813405126595514
115 +4.085303817569952,5.424408005150162,-1.3391041875802099,0.0,-2.0942352526208188,-0.09982265358304515,0.029449257100003234,7.634419007055918,0.0,0.0,-0.045402352801894384
116 +,4.986737278205117,,0.0,-2.199478037097353,-0.12338568383677177,0.029449257100003234,7.497292941925009,0.0,0.0,-0.21714119988577157
117 +6.716170954908997,6.24204570011349,0.47412525479550727,0.0,-1.030664083717789,-0.11693185504523486,0.0,7.281441334689044,0.0,0.0,0.10820030418747087
118 +4.525477417078843,4.802024376329058,-0.276546959250215,0.0,-2.5176142316319208,-0.05204702787079645,0.0,7.675625995433164,0.0,0.0,-0.30394035960138843
119 +5.091477681940357,5.807325556005744,-0.7158478740653873,0.0,-1.5056379987301645,-0.04824169060863394,0.0,7.360242303179094,0.0,0.0,0.0009629421654486492
120 +4.946061216771016,3.942209954153947,1.0038512626170686,0.0,-5.500097374264389,0.17319201728943284,0.029449257100003234,9.238202504200961,0.0,0.0,0.0014635498279373313
121 +4.533351898197619,4.7366585980683125,-0.20330669987069339,0.0,-3.0729752919865314,-0.034803322286679574,0.0,8.01842004070533,0.0,0.0,-0.17398282836380613
122 +5.541302760075785,4.767853638182207,0.7734491218935782,0.0,-1.8238504894335499,-0.1296452390923483,0.029449257100003234,6.869443168420953,0.0,0.0,-0.1775430588128522
123 +4.596331237320887,5.02903860260018,-0.43270736527929365,0.0,-2.3261647772322194,0.00134953834617145,0.026786096644932214,7.5639395647049685,0.0,0.0,-0.23687181986367184
124 +,6.175102057409235,,0.0,-1.5753309104812914,-0.03857457238269958,0.0024904528831925232,7.895880229203346,0.0,0.0,-0.10936314181331405
125 +5.607565216914378,4.981679468607506,0.6258857483068718,0.0,-1.885002835405074,0.04789666790742134,0.017324634400523453,6.990264844743638,0.0,0.0,-0.18880384303900394
126 +,7.656435321049442,,0.0,-0.9114887464057579,-0.09500620306328125,0.026786096644932214,7.903251101442422,0.0,0.0,0.7328930724311271
127 +,5.560975066957304,,0.0,-2.3772627948877307,-0.18597920228474552,0.0,8.170810732001074,0.0,0.0,-0.046593667871293654
128 +6.15326446818114,6.426820296037393,-0.2735558278562529,0.0,-1.4117958010317686,-0.0229786768004425,0.017324634400523453,7.935461090972494,0.0,0.0,-0.09119095150341325
129 +5.304796332645746,5.049196284531042,0.2556000481147045,0.0,-1.8665049663795061,-0.14556944206838074,-0.012124622699479781,7.176728941532752,0.0,0.0,-0.10333362585434444
130 +8.853851125080402,6.497716255611471,2.3561348694689306,0.0,-1.541091691345028,-0.021360271467299217,0.0,8.148204090083695,0.0,0.0,-0.08803587165989503
131 +5.091108678246132,5.480086535569076,-0.3889778573229439,0.0,-1.4497757312942134,-0.009240965355976287,0.04140117222760452,7.075046093335233,0.0,0.0,-0.17734403334357193
132 +7.006060967766261,6.894533515692809,0.11152745207345127,0.0,-1.0080124923431706,0.009670578142693904,0.0,8.0043942196572,0.0,0.0,-0.1115187897639156
133 +4.399129542573544,5.161864778801274,-0.76273523622773,0.0,-2.0703865471231575,-0.0625711074152665,0.038910719344411995,7.381108703901585,0.0,0.0,-0.12519698990629727
134 +7.660999883590662,7.89994402719677,-0.2389441436061075,0.0,-0.7640535370319581,0.012088405647937714,0.0024904528831925232,8.148204090083695,0.0,0.0,0.5012146156139022
135 +5.28978103552575,5.797105646182175,-0.5073246106564246,0.0,-2.0320650185002673,-0.030113162194550423,-0.012124622699479781,8.00227472530355,0.0,0.0,-0.1308662757270768
136 +5.035197816924508,4.86737592023462,0.16782189668988767,0.0,-2.088155486165866,-0.1600894181580409,0.017324634400523453,7.296334645307101,0.0,0.0,-0.19803845514909713
137 +,4.861400839300648,,0.0,-2.105950077445317,-0.031708974655091204,0.017324634400523453,7.2343094186595645,0.0,0.0,-0.2525741616590332
138 +7.798662559691895,5.757691933527588,2.040970626164307,0.0,-2.2409725965658236,-0.09977264456388589,0.026786096644932214,7.675809873135664,0.0,0.0,0.39584120487670194
139 +5.525094309094667,5.489639397122722,0.03545491197194561,0.0,-1.8719748678587678,-0.04014964520980329,0.017324634400523453,7.503324259750442,0.0,0.0,-0.11888498395967106
140 +5.673701202617746,5.091819180509856,0.58188202210789,0.0,-1.683024805884707,0.044710612154943985,0.029449257100003234,6.928642763723838,0.0,0.0,-0.2279586465842209
141 +,3.7306740101897033,,0.0,-5.36078013508655,0.03252274939508579,0.0,9.0784399922403,0.0,0.0,-0.019508596359131658
142 +,5.71447645289828,,0.0,-1.1895073304550046,0.03621133058768898,0.038910719344411995,6.702487043967947,0.0,0.0,0.1263746894532359
143 +4.699388861227073,5.488439152850148,-0.7890502916230755,0.0,-2.1686071789488244,0.19784879814014203,0.0,7.775160503567326,0.0,0.0,-0.3159629699084965
144 +5.213249554157973,4.966605441451034,0.24664411270693876,0.0,-2.0113579121162113,-0.06409201845534092,0.017324634400523453,7.225298228759603,0.0,0.0,-0.2005674911375398
145 +,6.149837083455971,,0.0,-1.6458057232649068,-0.14126693594306855,-0.012124622699479781,8.031473113793162,0.0,0.0,-0.08243874842973548
146 +4.76567208264212,5.448399224770673,-0.6827271421285532,0.0,-2.3976981521138017,0.023867692824711698,0.026786096644932214,7.99718864423207,0.0,0.0,-0.20174505681723723
147 +4.556714965718688,5.243814221846735,-0.6870992561280476,0.0,-1.9903221191621236,-0.05177992992832303,0.038910719344411995,7.238220429502587,0.0,0.0,0.008785122090183388
148 +5.428468051013081,6.577084057550884,-1.1486160065378028,0.0,-1.6791344296075534,-0.14473311208570197,0.029449257100003234,8.529170438465806,0.0,0.0,-0.15766809632166923
149 +,7.598362957844543,,0.0,-0.568945721064197,0.12047251817824625,0.029276549528124737,8.063013613403083,0.0,0.0,-0.045454002200712884
150 +5.288822431986235,5.846459574375501,-0.5576371423892663,0.0,-1.554896155413898,0.0022277864295283285,0.04140117222760452,7.285363761132615,0.0,0.0,0.07236300999965314
151 +7.4360278163518485,5.568227694333605,1.8678001220182434,0.0,-1.9182834350205908,0.042063271184713445,0.029449257100003234,7.21428074678864,0.0,0.0,0.20071785428083835
152 +5.3007643701910885,5.273905748289984,0.026858621901104662,0.0,-2.4496253061192315,-0.1441015550835933,0.0024904528831925232,8.064753453662535,0.0,0.0,-0.19961129705291963
153 +5.764124703662363,6.146883868167548,-0.38275916450518555,0.0,-1.224070073386252,0.012436413297749818,-0.012124622699479781,7.521189284030162,0.0,0.0,-0.1505471330746319
154 +5.01436167583707,5.6204781320939565,-0.6061164562568866,0.0,-2.4686364650954253,-0.016817173561209292,0.0,8.469010403582525,0.0,0.0,-0.36307863283193437
155 +9.052684890835133,5.9403988931411975,3.1122859976939354,0.0,-1.3391601972214504,-0.10370116981175215,0.0,7.463258566646989,0.0,0.0,-0.07999830647259094
156 +7.500529485395295,6.830803280312936,0.6697262050823589,0.0,-1.3720076334642224,-0.044030948539938185,0.0024904528831925232,8.140893512402114,0.0,0.0,0.1034578970317894
157 +7.576527796400428,4.948698350058738,2.62782944634169,0.0,-4.494195552251314,0.10993823014412332,0.0,9.238202504200961,0.0,0.0,0.09475316796497005
158 +,5.694953801354373,,0.0,-1.7321056262338272,0.073299289192632,-0.012124622699479781,7.434130711030548,0.0,0.0,-0.06824594993550112
159 +4.914050969580866,3.2688639320409605,1.6451870375399054,0.0,-5.716780429375436,0.01855033148650631,0.0,9.238202504200961,0.0,0.0,-0.2711084742710716
160 +,5.400519061501984,,0.0,-1.5297100993092139,0.02485083597030265,0.017324634400523453,7.072967654739467,0.0,0.0,-0.18491396429909474
161 +,5.200066487373842,,0.0,-2.1266182527126745,0.07613813641437583,0.017324634400523453,7.028598773462398,0.0,0.0,0.20462319580922003
162 +8.52987839296036,6.204403525654031,2.325474867306329,0.0,-2.213855569828369,-0.0573244173009329,0.017324634400523453,8.031473113793162,0.0,0.0,0.42678576458964723
163 +4.708989514627088,6.586960811118452,-1.8779712964913635,0.0,-1.4413600011297634,-0.017156920915235324,0.04140117222760452,7.935461090972494,0.0,0.0,0.0686154699633523
164 +5.217215765110995,5.633020845713831,-0.4158050806028353,0.0,-2.3383444798045003,-0.10832215377500888,0.0,8.210634079704526,0.0,0.0,-0.1309466004111862
165 +7.576025579975594,7.396695930623742,0.17932964935185236,0.0,-0.45493752288837097,-0.18959346072014105,0.029276549528124737,8.031473113793162,0.0,0.0,-0.019522749089032287
166 +,4.765852787126962,,0.0,-2.4102472759563307,0.06619043255221493,0.0,7.364337874191795,0.0,0.0,-0.2544282436607193
167 +,3.3603836797815303,,0.0,-5.416480567780023,-0.051277722978969965,0.0,9.0784399922403,0.0,0.0,-0.2502980216997755
168 +4.57933942595357,5.640788633735831,-1.0614492077822604,0.0,-2.337486060979951,0.05119979998349116,0.017324634400523453,8.063013613403083,0.0,0.0,-0.15326335307131606
169 +6.968840970959975,6.967408916348283,0.0014320546116914912,0.0,-1.101935573355429,0.04005893051120244,0.029276549528124737,8.063013613403083,0.0,0.0,-0.06300460373869746
170 +5.16432872654472,5.32585130346476,-0.16152257692004035,0.0,-2.0767527063387226,-0.1143959323767033,0.017324634400523453,7.610348770494869,0.0,0.0,-0.11067346271520674
171 +8.262623470414658,7.775507245687265,0.4871162247273926,0.0,-0.17369178736857638,-0.15254494818069425,0.04140117222760452,8.063013613403083,0.0,0.0,-0.002670804394150489
172 +,7.568397321998386,,0.0,-0.07799298581555458,-0.133401560731215,0.017324634400523453,7.522795864915233,0.0,0.0,0.239671369229398
173 +,5.27634495006126,,0.0,-2.113964818707733,-0.04162136330883687,0.017324634400523453,7.419418353258037,0.0,0.0,-0.004811855580732272
174 +7.172424577124845,6.800477583866414,0.3719469932584314,0.0,-1.9022989196874152,-0.061789546326965386,0.038910719344411995,8.529170438465806,0.0,0.0,0.19648489207057546
175 +5.681195975983405,6.868410525487801,-1.1872145495043958,0.0,-1.371317460627142,-0.05139485063690598,0.0024904528831925232,8.148204090083695,0.0,0.0,0.14042829378496294
176 +4.835964396232824,6.507465944133323,-1.6715015479004993,0.0,-1.171222636301109,-0.14956650659605145,0.0024904528831925232,8.1461031766186,0.0,0.0,-0.32033854247130966
177 +6.217783052915835,4.243392400811634,1.9743906521042014,0.0,-4.839228809782147,-0.13574710757834102,0.0,9.238202504200961,0.0,0.0,-0.019834186028840926
178 +4.890198740974308,5.2103291643199166,-0.32013042334560815,0.0,-1.622329919170042,-0.13884818250157277,0.026786096644932214,6.969321392332135,0.0,0.0,-0.02460022298553516
179 +8.51408436401615,4.107961804469582,4.406122559546567,0.0,-4.896253769585041,-0.07916369200944968,0.0,9.238202504200961,0.0,0.0,-0.1548232381368869
180 +,5.324514717806847,,0.0,-1.9692994784943947,0.10669717014613997,0.017324634400523453,7.138549945025826,0.0,0.0,0.031242446728750553
181 +5.035197816924508,7.377065644074647,-2.341867827150139,0.0,-1.414048105971438,-0.08770516747024609,0.0,8.280781835129236,0.0,0.0,0.5980370823870945
182 +,5.990645308786934,,0.0,-1.7491414613038359,-0.02235008552835579,0.0,7.841181581682016,0.0,0.0,-0.07904472606288973
183 +,4.562915012213831,,0.0,-2.621968317829322,0.025092417370142277,0.029449257100003234,7.2289288673044805,0.0,0.0,-0.09858721173147372
184 +8.097949594399058,5.981776345586391,2.116173248812667,0.0,-2.126560040023393,-0.0032429686912439012,0.0,8.111579354301027,0.0,0.0,0.0
185 +4.651767471364874,5.649565602948016,-0.9977981315831421,0.0,-2.19527927992059,-0.20092655992442604,0.026786096644932214,8.063013613403083,0.0,0.0,-0.04402826725498373
186 +,6.306763168454264,,0.0,-2.180345085383525,-0.031384333268372304,0.0024904528831925232,8.16677155072467,0.0,0.0,0.3492305834982982
187 +,6.023516750728499,,0.0,-1.8123864707855732,-0.026030698554225372,0.0,8.308669038405613,0.0,0.0,-0.44673511833731416
188 +4.706010500914163,5.924234132428647,-1.2182236315144843,0.0,-2.0618783694694933,0.006903439886709467,0.029449257100003234,7.982938802202961,0.0,0.0,-0.033178997291532085
189 +3.985087576285151,5.182262558781016,-1.1971749824958646,0.0,-1.9693722837408218,-0.13309785695178417,0.0024904528831925232,7.3591300548740435,0.0,0.0,-0.07688780828361601
190 +8.044074314822351,5.578111427108941,2.4659628877134105,0.0,-2.1542036359784555,-0.0039892547701241374,0.0,7.937641844718109,0.0,0.0,-0.20133752686058856
191 +,-5.521767414301794,,0.0,-5.641317303110419,0.13276843774340677,0.0,0.0,0.0,0.0,-0.01321854893478408
192 +,-2.7883787130277065,,0.0,-2.4599351450587044,0.016847293510414973,0.0,-0.11510993410490197,0.0,0.0,-0.23018092737451445
193 +,-2.6813864602646373,,0.0,-2.0647673548627976,0.02527326239129688,0.0,-0.4355454981687153,0.0,0.0,-0.20634686962442012
194 +,-1.1447314489792777,,0.0,-0.2827777117182739,-0.11080167270207261,0.0024904528831925232,-0.5963811959256494,0.0,0.0,-0.15726132151647515
195 +,-6.56604587805402,,0.0,-6.362797126893744,0.00825818357961823,0.0,0.0,0.0,0.0,-0.2115069347398917
196 +,-6.163591302592813,,0.0,-5.982202340388593,-0.15616440901030076,0.0,0.0,0.0,0.0,-0.025224553193919468
197 +,-3.4896906939860974,,0.0,-2.3818259383877214,-0.12039512470540234,0.017324634400523453,-0.7429284764308203,0.0,0.0,-0.2618657888626774
198 +,-1.8962230029091307,,0.0,-1.2049100091269134,0.01673355424676244,0.0,-0.43591624760373177,0.0,0.0,-0.27213030042525127
199 +5.272999558563747,5.269137175991353,0.0038623825723940186,0.0,-2.3290047487465424,-0.018580336613489172,0.017324634400523453,7.623229232092012,0.0,0.0,-0.023831605141152238
200 +6.6240652277998935,7.1277673663636545,-0.503702138563761,0.0,-1.455252324939793,-0.018492431716519077,0.029449257100003234,8.134852470349093,0.0,0.0,0.43721039557087193
201 +5.402677381872279,5.407868279172357,-0.0051908973000776015,0.0,-1.7106057691990761,-0.05404438710004433,-0.012124622699479781,7.085041036114252,0.0,0.0,0.0996020220567041
202 +7.4977617006225685,6.098598949638332,1.3991627509842361,0.0,-1.8304604595016842,-0.09136170298127361,0.0,8.08237912091268,0.0,0.0,-0.061958008791391316
203 +,5.099794502561833,,0.0,-2.534594003694691,0.08227149994377606,0.038910719344411995,7.6087421896097975,0.0,0.0,-0.09553590264146061
204 +4.1588830833596715,5.510232174517407,-1.3513490911577355,0.0,-1.5722345395352448,0.005355778270172518,0.0024904528831925232,7.280699835819011,0.0,0.0,-0.20607935291972368
205 +5.198497031265826,5.028083159043588,0.17041387222223836,0.0,-2.2697869699542084,-0.022249992728721087,0.029449257100003234,7.317452785011851,0.0,0.0,-0.026781920385338876
206 +4.6443908991413725,5.022288552020187,-0.37789765287881494,0.0,-1.7471519503076491,0.09121627982262458,0.026786096644932214,6.659835159439688,0.0,0.0,-0.008397033579408153
207 +8.235095497258357,6.170035088217639,2.0650604090407176,0.0,-1.556795814480565,-0.09844588769637327,0.0,7.8579550923834125,0.0,0.0,-0.03267830198883423
208 +7.7226775164680035,4.879244121046963,2.843433395421041,0.0,-2.5940803779701245,0.04071964469991429,0.0,8.197501166336172,0.0,0.0,-0.7648963120189997
209 +7.438971592395862,6.592351668416252,0.8466199239796097,0.0,-1.400812062596171,0.11976906291156093,0.0,7.639364155473936,0.0,0.0,0.23403051262692506
210 +9.173208435808574,6.962828671725458,2.2103797640831155,0.0,-1.045620602775485,-0.05675049929563025,0.0,8.280781835129236,0.0,0.0,-0.21558206133266317
211 +,6.964936980352268,,0.0,-1.0512379158916074,0.035680094479946536,0.0024904528831925232,8.143118009012213,0.0,0.0,-0.16511366013147696
212 +,3.999399972722835,,0.0,-4.932906848361444,-0.11746339380841873,0.0,9.238202504200961,0.0,0.0,-0.18843228930826222
213 +,5.883808992463419,,0.0,-1.3711575930360498,-0.18374603412550908,0.0,7.0097868818393465,0.0,0.0,0.42892573778563137
214 +5.342334251964811,4.721498559621903,0.6208356923429079,0.0,-2.4674230206137002,0.011372934920909007,0.017324634400523453,7.219824639982349,0.0,0.0,-0.059600629068174815
215 +6.492239835020471,6.649256693116268,-0.15701685809579669,0.0,-1.7273866838989482,0.010343790614600189,0.029449257100003234,8.222776125363746,0.0,0.0,0.11407420393686771
216 +,3.4510233477786207,,0.0,-5.408501357484381,-0.059770284098063446,0.0024904528831925232,9.0784399922403,0.0,0.0,-0.1616354557624275
217 +,6.142379638681996,,0.0,-1.4950339343575854,-0.00986433886677706,0.029449257100003234,7.422259981915455,0.0,0.0,0.19556867289090116
218 +,-2.1540105030122163,,0.0,-1.7311289152607543,0.07011247696575001,0.0,-0.4352983318787043,0.0,0.0,-0.057695732838508124
219 +,-2.858744674635521,,0.0,-2.2280841605814192,-0.11324095047364774,0.0,-0.2765635475868635,0.0,0.0,-0.24085601599358986
220 +7.532623618788788,6.915279606877763,0.6173440119110252,0.0,-0.8378673823979801,-0.024718088152243484,0.029276549528124737,7.776687244171876,0.0,0.0,-0.028098716272013657
221 +4.564348191467836,6.113939317818191,-1.5495911263503546,0.0,-1.4590631337178506,-0.030697085403914776,0.04140117222760452,7.041181130955892,0.0,0.0,0.5211172337564604
222 +4.406719247264253,4.45278234121215,-0.04606309394789676,0.0,-2.6609289691403513,-0.021468552294351434,0.026786096644932214,7.262003137374771,0.0,0.0,-0.15360937137284997
223 +8.508757712595136,5.136123643338539,3.3726340692565966,0.0,-2.392236679815386,0.09189317813799297,0.0,7.463249065401273,0.0,0.0,-0.026781920385338876
224 +8.808070154764538,-4.84157963971969,13.649649794484228,0.0,-4.614031730004242,-0.12288830854547625,0.0,0.0,0.0,0.0,-0.10465960116997158
225 +7.911690520708339,5.554453673755092,2.3572368469532465,0.0,-2.173003367325964,-0.09998875327850473,0.029276549528124737,7.425586524784973,0.0,0.0,0.3725827200464613
226 +,5.122879977782536,,0.0,-2.0981084395705976,-0.120785188866952,0.04140117222760452,7.552772993745722,0.0,0.0,-0.25240055975323955
227 +,5.020411499538999,,0.0,-2.290760724021836,-0.05263204461876471,0.017324634400523453,7.513066411664087,0.0,0.0,-0.16658677788500997
228 +7.134890851565884,6.1480636330888645,0.9868272184770195,0.0,-1.7283194889372888,0.02412929041914062,0.038910719344411995,8.063013613403083,0.0,0.0,-0.24967050114048253
229 +4.836281906951478,5.73004968779125,-0.8937677808397719,0.0,-1.460318905963783,-0.04764650674593327,0.0,7.319422436704022,0.0,0.0,-0.0814073362030551
230 +5.327876168789581,5.410248828252053,-0.08237265946247163,0.0,-1.8074812904964368,-0.1576271453116834,0.0,7.425076762291328,0.0,0.0,-0.04971949823115635
231 +,5.743873759041773,,0.0,-1.9914379096944383,0.01128508291670672,0.019815087283715976,7.816122412389874,0.0,0.0,-0.11191091385408536
232 +5.003946305945459,5.451094896897585,-0.4471485909521258,0.0,-1.8091538351815766,-0.07303207585644975,0.017324634400523453,7.3565204305159355,0.0,0.0,-0.040564256980847625
233 +8.371936178759098,6.348279967113834,2.023656211645264,0.0,-1.8155276967528922,0.03334667394020999,0.0,8.256548952914406,0.0,0.0,-0.12608796298788694
234 +,-5.2800253463962745,,0.0,-5.615905078543346,0.07422306747353723,0.0,0.0,0.0,0.0,0.261656664673535
235 +,-2.4761182122194207,,0.0,-1.514861501250972,-0.09898032420888081,0.026786096644932214,-0.7423105607057928,0.0,0.0,-0.146751922698708
236 +,-2.5214995654808403,,0.0,-1.8641656819258063,0.03074985675396509,0.0,-0.43715207905378667,0.0,0.0,-0.2509316612552116
237 +3.912023005428146,-3.194214772360342,7.106237777788488,0.0,-1.9754374086807536,-0.04400084589846399,0.029449257100003234,-0.7434228090108422,0.0,0.0,-0.46080296587028535
238 +4.060443010546419,-2.4827828659815796,6.543225876527998,0.0,-2.210815300871799,-0.02996679393585033,0.0,-0.11510993410490197,0.0,0.0,-0.12689083706902873
239 +,-2.6331911090305327,,0.0,-2.2610829434254125,0.020925877546435444,0.0,-0.27693429702188005,0.0,0.0,-0.11609974612967511
240 +4.127134385045092,-2.508632690693922,6.635767075739014,0.0,-1.7628149711299255,0.00618318417142083,0.038910719344411995,-0.7435463921558477,0.0,0.0,-0.04736523092398084
241 +4.804021044733257,-2.7319293078246982,7.535950352557955,0.0,-2.053431146576785,-0.01147201733188169,0.029449257100003234,-0.7423105607057928,0.0,0.0,0.04583515968975709
242 +,-4.895188663411301,,0.0,-4.66394093175326,-0.11864039726728373,0.04140117222760452,0.0,0.0,0.0,-0.15400850661836113
243 +,-2.7164153625156655,,0.0,-2.076083887096744,-0.021747213319301927,0.0,-0.5984821093907428,0.0,0.0,-0.020102152708876275
244 +4.9344739331306915,-5.371786632267883,10.306260565398574,0.0,-5.0832255952136975,-0.14280076180581794,0.0,0.0,0.0,0.0,-0.14576027524836588
245 +,-5.5117171011770045,,0.0,-5.34515179519801,-0.08464995306400001,0.0024904528831925232,0.0,0.0,0.0,-0.08440580579818648
246 +3.4011973816621555,-2.7202632616666405,6.1214606433287955,0.0,-2.1425504569541625,-0.0001031719873820329,0.0,-0.2755748824268196,0.0,0.0,-0.30203475029827603
247 +,-5.469333561996289,,0.0,-5.454012618381736,-0.17774810106219216,0.0,0.0,0.0,0.0,0.16242715744763922
248 +,-2.3788494065256294,,0.0,-1.4609608573546131,-0.2680145396652201,0.04140117222760452,-0.7423105607057928,0.0,0.0,0.05103537897239349
249 +3.58351893845611,-2.6080489809641327,6.191567919420242,0.0,-1.4565254473543847,-0.04764957661416987,-0.009634169816287258,-0.7423105607057928,0.0,0.0,-0.3519292264734977
250 +4.04305126783455,-5.2722889228846705,9.31534019071922,0.0,-4.993645953231184,-0.05492009892207218,0.0024904528831925232,0.0,0.0,0.0,-0.22621332361460775
251 +,-6.070106068439471,,0.0,-5.980373618363423,-0.0017608109741529335,0.0,0.0,0.0,0.0,-0.0879716391018972
252 +4.653960350157523,-2.686640605769646,7.340600955927169,0.0,-1.9103644869876168,-0.029512527022621783,0.0,-0.5963811959256494,0.0,0.0,-0.15038239583375693
253 +4.465908118654584,-5.228981983068673,9.694890101723256,0.0,-4.863819908593483,-0.07524670407152595,0.0,0.0,0.0,0.0,-0.28991537040366316
254 +,7.391372691979232,,0.0,-0.9145832719223845,0.0026883134432346516,0.029276549528124737,7.949660307232322,0.0,0.0,0.3243307936979365
255 +4.686012573832192,5.887783895482476,-1.201771321650284,0.0,-2.12163179225291,-0.10605599897952417,0.0,8.370604695446422,0.0,0.0,-0.2551330087315103
256 +5.302010538385654,5.727805091203965,-0.4257945528183109,0.0,-2.067947383137919,-0.06595269924319234,0.017324634400523453,7.882228757176238,0.0,0.0,-0.03784821799168321
257 +,6.281620654839564,,0.0,-1.9264635729245807,0.11269794278256877,0.017324634400523453,7.96466132436084,0.0,0.0,0.11340032622021373
258 +5.745020382672446,5.530426393221825,0.2145939894506208,0.0,-1.805720358918184,-0.037252384753476,0.017324634400523453,7.597111785961012,0.0,0.0,-0.2410372834680499
259 +7.1592919047975645,6.247857192213022,0.9114347125845423,0.0,-1.9847077554356982,0.1229874662926223,0.0,8.368705490143888,0.0,0.0,-0.2591280087877904
260 +7.8434564043761155,6.553893853830636,1.2895625505454795,0.0,-1.8680417970306058,0.08925446923062302,0.0,8.110590689140983,0.0,0.0,0.22209049248963475
261 +5.391306673390865,6.024396370927573,-0.6330896975367084,0.0,-1.7633840686576816,-0.09156152093037309,0.029449257100003234,7.947930143202245,0.0,0.0,-0.09803743978661966
262 +8.176512511707974,6.256173589270547,1.9203389224374279,0.0,-1.311574301037953,-0.10852661556728788,0.0,7.793706357385895,0.0,0.0,-0.11743185151010728
263 +7.905072849498666,4.758119488641244,3.146953360857422,0.0,-4.2256228709598105,-0.08040104048242455,0.0,9.238202504200961,0.0,0.0,-0.17405910411747977
264 +8.545197387825835,6.066132546501097,2.479064841324738,0.0,-1.740430389036681,-0.04335600985822731,0.0,8.05519435399756,0.0,0.0,-0.2052754086015563
265 +5.3330569003519335,5.291869844931321,0.04118705542061285,0.0,-1.431658882986512,-0.17504676607794634,0.017324634400523453,7.434872209900581,0.0,0.0,-0.5536213503053268
266 +6.364492547959484,5.806424163545348,0.5580683844141365,0.0,-1.7000026832325261,0.0141220478946745,0.017324634400523453,7.494299872708831,0.0,0.0,-0.019319708226155665
267 +6.898724625096432,5.096382680150041,1.8023419449463907,0.0,-1.981491691507001,-0.05578549932232568,-0.012124622699479781,7.192880485797386,0.0,0.0,-0.04709599211853782
268 +6.143047647808971,6.054887592805274,0.08816005500369695,0.0,-1.5622900723701338,0.060081125804016595,0.0,7.319669602994033,0.0,0.0,0.23742693637735807
269 +,4.282208343848329,,0.0,-2.746894386376309,0.07674305820334779,0.017324634400523453,7.1112334519326375,0.0,0.0,-0.1761984143118686
270 +5.449363231421816,5.524585138599302,-0.075221907177486,0.0,-1.891231318103947,-0.09966656084495379,0.017324634400523453,7.552772993745722,0.0,0.0,-0.05461461059804045
271 +7.059866738154415,6.114986855797189,0.9448798823572266,0.0,-1.7071290834578106,0.02955920918992997,0.0,7.822109987350824,0.0,0.0,-0.02955325728575431
272 +,5.779087381654209,,0.0,-1.7414948799632706,-0.16323374892978254,0.03193970998319576,7.835201635661309,0.0,0.0,-0.18332533509724308
273 +5.399338480606764,5.756670385580569,-0.3573319049738046,0.0,-1.8828659008877153,-0.10082387854374603,0.0,7.398217659252536,0.0,0.0,0.3421425057594921
274 +,5.247143062256724,,0.0,-2.2611850300136416,-0.050755641019605766,0.0,7.747869121907447,0.0,0.0,-0.18878538861747707
275 +5.093750200806762,5.95885389249248,-0.865103691685718,0.0,-1.7748379913195373,0.01098017678577902,0.026786096644932214,7.634419007055918,0.0,0.0,0.06150660332538846
276 +4.564348191467836,5.839522882547601,-1.2751746910797648,0.0,-1.4403999754959917,0.013946283114021338,0.029276549528124737,7.215640161383701,0.0,0.0,0.021059864017747038
277 +8.054204897064407,6.410678136345772,1.6435267607186352,0.0,-1.4213648266283139,0.16621461371367227,0.04140117222760452,7.585349036745635,0.0,0.0,0.039078140287175406
278 +6.26530121273771,6.412128818556717,-0.14682760581900656,0.0,-0.840117978989463,-0.011342438128586603,0.04140117222760452,7.197433955457778,0.0,0.0,0.024754107989384183
279 +4.812184355372417,5.953441637005341,-1.1412572816329236,0.0,-2.2057168448429216,-0.024169083420335892,0.0,8.226207067144497,0.0,0.0,-0.04287950187590003
280 +,5.640608552197035,,0.0,-1.7978387690184139,-0.1522170503561744,0.0,7.6378811577338706,0.0,0.0,-0.047216786162245394
281 +,6.7085403451516035,,0.0,-1.437509724995583,-0.16619418313838777,0.0,7.981131000441453,0.0,0.0,0.3311132528441212
282 +,-3.640346859841185,,0.0,-4.022000492547161,0.09823665584550498,0.0024904528831925232,0.0,0.0,0.0,0.2809265239772789
283 +5.153291594497779,-4.780697998838485,9.933989593336264,0.0,-4.785496167131587,-0.09403117696417965,0.0024904528831925232,0.0,0.0,0.0,0.09633889237408891
284 +3.367295829986474,-3.06552393685163,6.432819766838104,0.0,-2.127138334926813,0.01743011325348585,-0.012124622699479781,-0.7423105607057928,0.0,0.0,-0.2013805317730306
285 +,-2.5505783898548606,,0.0,-2.1181898600522695,-0.11504079882286308,0.017324634400523453,-0.7445350573158916,0.0,0.0,0.4098626919356402
286 +4.394449154672439,5.203710134009869,-0.8092609793374299,0.0,-2.566970348666878,0.05281230923133451,0.0,7.923273099899701,0.0,0.0,-0.20540492645428812
287 +5.6131281063880705,6.192282142931181,-0.5791540365431107,0.0,-2.1283864355370197,-0.06577125215442411,0.038910719344411995,8.529170438465806,0.0,0.0,-0.18164132718759105
288 +4.143134726391533,4.930278362712982,-0.7871436363214492,0.0,-2.1842300668015007,0.09201586271647381,0.0,7.267831518791105,0.0,0.0,-0.24533895199309716
289 +5.176149732573829,4.708366408550552,0.4677833240232765,0.0,-2.412455621161576,0.026980725873725724,0.017324634400523453,7.230332024764024,0.0,0.0,-0.15381535532614438
290 +8.852807917623322,7.538567421893871,1.3142404957294502,0.0,-0.06730585185643267,-0.10691612387388318,0.0024904528831925232,7.649500790820596,0.0,0.0,0.06079815392039731
291 +,6.804694577324337,,0.0,-2.0674512403017316,-0.09951607889361376,0.038910719344411995,7.785300761299001,0.0,0.0,1.1474504158762693
292 +,5.9300499213805615,,0.0,-2.2945293473547306,-0.026182113008489515,0.0,8.528142710796985,0.0,0.0,-0.277381329053203
293 +5.971261839790462,6.027398626764259,-0.05613678697379676,0.0,-1.239976255407882,0.1007676933848751,0.0,6.9942213680796606,0.0,0.0,0.17238582070760702
294 +4.143134726391533,4.949627925462782,-0.8064931990712498,0.0,-2.3395181053505416,0.04859451715775762,0.029449257100003234,7.250744576118664,0.0,0.0,-0.03964231956310173
295 +6.597145701886651,5.71213680840144,0.8850088934852112,0.0,-1.9030208104526345,-0.2508408328482493,-0.012124622699479781,7.343438164644775,0.0,0.0,0.5346849097570288
296 +4.6913478822291435,5.5540243380924945,-0.8626764558633511,0.0,-1.9441818005911724,-0.010050164518063981,0.0,7.617819007009581,0.0,0.0,-0.10956270380784902
297 +4.48863636973214,5.628753301747024,-1.1401169320148847,0.0,-0.7290493383831409,-0.09087336865349335,0.026786096644932214,6.382440388859575,0.0,0.0,0.039449523279152826
298 +4.564348191467836,5.278874168546522,-0.7145259770786856,0.0,-1.8250198823196975,0.018569460401966928,0.017324634400523453,6.993449693562921,0.0,0.0,0.07455026250080873
299 +7.133295954896068,5.576670465313825,1.5566254895822436,0.0,-1.9148425633765376,-0.0769188236645224,0.0,7.528679114497911,0.0,0.0,0.03975273785697425
300 +,-5.779080967238334,,0.0,-5.5916824177561715,-0.12777938723718174,0.038910719344411995,0.0,0.0,0.0,-0.09852988158939316
301 +,4.944571901439244,,0.0,-1.5459245077751476,-0.0867288101076329,0.038910719344411995,7.104338915057706,0.0,0.0,-0.5660244150800927
302 +8.567135073056795,7.075187244238253,1.4919478288185415,0.0,-1.5770257542545663,0.1389850529231344,0.029449257100003234,7.916585291126586,0.0,0.0,0.5671933973430935
303 +5.123368564083496,5.382813114536231,-0.2594445504527352,0.0,-1.6759694857049583,0.04815996754973882,0.038910719344411995,7.199071637885219,0.0,0.0,-0.22735972453817868
304 +8.432941638968646,5.842535757905894,2.590405881062752,0.0,-3.21972586698102,-0.182611939632097,0.0,9.238202504200961,0.0,0.0,0.006671060318049538
305 +,5.872422983712094,,0.0,-1.7926602823974864,-0.11370204689000582,0.0,7.9833554970515515,0.0,0.0,-0.20457018405196528
306 +7.441296929031861,5.0483768274893865,2.392920101542474,0.0,-2.5933934202507976,-0.12473115930600179,-0.012124622699479781,7.835943134531343,0.0,0.0,-0.05731710478567718
307 +4.2011040987936346,5.461811344666664,-1.2607072458730295,0.0,-2.2804070597015684,-0.10876780233308195,0.0,8.097118127879982,0.0,0.0,-0.24613192117866775
308 +7.848543482456679,4.883017440435273,2.9655260420214065,0.0,-2.194144099442112,-0.01872487474728407,0.038910719344411995,7.149736447549806,0.0,0.0,-0.09276075226954679
309 +,5.464589054124977,,0.0,-2.0298451516363123,-0.023945223154460106,0.029449257100003234,7.895880229203346,0.0,0.0,-0.4069500573875995
310 +7.53181494071907,4.710159171822942,2.821655768896129,0.0,-4.353241741419357,-0.13255901421998023,0.04140117222760452,9.238202504200961,0.0,0.0,-0.08364374896628862
311 +,3.0629538934406475,,0.0,-6.043924161886617,0.01265107123212185,0.038910719344411995,9.238202504200961,0.0,0.0,-0.18288623945022975
312 +5.471598178689843,6.144007410125727,-0.6724092314358847,0.0,-1.4719372132800475,0.03082197617089591,0.017324634400523453,7.425586524784973,0.0,0.0,0.14221148804938336
313 +,5.488927967436377,,0.0,-1.420264911919034,0.017619430703332065,0.0,6.734984642542331,0.0,0.0,0.15658880610974787
314 +5.654031849391645,5.4300890006013125,0.22394284879033233,0.0,-1.8656387354780275,-0.04249150213395009,0.019815087283715976,7.274121032779875,0.0,0.0,0.04428311814970029
315 +10.070103079508465,4.769895622069563,5.300207457438902,0.0,-2.8630862818458436,0.05422633868955924,0.026786096644932214,7.664695067859143,0.0,0.0,-0.112725599278227
316 +4.450852825603734,9.944479852718462,-5.493627027114728,0.0,2.302124597953066,-0.06602396013854218,0.017324634400523453,7.677663620310747,0.0,0.0,0.013390960192669438
317 +5.199822119798937,4.7856870437793075,0.4141350760196296,0.0,-1.9279502866688913,-0.1744679758924468,0.019815087283715976,7.0067885237728875,0.0,0.0,-0.13849830471595712
318 +4.961515075464842,6.514537096345791,-1.5530220208809489,0.0,-2.0225013431529018,-0.016435713977637694,0.029449257100003234,8.256548952914406,0.0,0.0,0.2674759434619236
319 +5.153291594497779,5.100858479256888,0.052433115240891226,0.0,-1.989061476312453,-0.09681240473720477,0.026786096644932214,7.1019161057779225,0.0,0.0,0.058030157883690744
320 +4.0943445622221,5.991909143472946,-1.8975645812508457,0.0,-1.6953307385909717,0.09986337033505113,0.0,7.82359298509089,0.0,0.0,-0.23621647336202314
321 +4.663439094112067,4.701423512940298,-0.03798441882823145,0.0,-2.67367847398077,-0.04162917158635687,0.017324634400523453,7.597853284831045,0.0,0.0,-0.19844676072414186
322 +6.013715156042802,6.258957335306494,-0.24524217926369207,0.0,-0.994207410062085,-0.041340641037442796,0.026786096644932214,7.049265792921829,0.0,0.0,0.21845349683926127
323 +6.680829584372467,6.188895344262866,0.4919342401096012,0.0,-1.1170508877073075,0.04784469664327194,0.017324634400523453,7.239827010387659,0.0,0.0,0.0009498905387186479
324 +4.499809670330265,5.066967550810074,-0.567157880479809,0.0,-1.979692169029149,0.05310095623880513,0.029449257100003234,7.263751412310078,0.0,0.0,-0.2996419058096654
325 +4.48863636973214,6.174297219705413,-1.6856608499732735,0.0,-1.7191629997102664,0.10310904212842358,0.0,7.9826139981815185,0.0,0.0,-0.19226282089426217
326 +4.394449154672439,5.773479015433926,-1.379029860761487,0.0,-2.077750830219556,0.04025116795167806,0.0,7.747374789327425,0.0,0.0,0.06360388837437811
327 +,4.991822965208102,,0.0,-2.2001432963323806,-0.19045370537542644,0.017324634400523453,7.467479301668876,0.0,0.0,-0.10238396915348932
328 +5.153291594497779,5.316054060586953,-0.16276246608917333,0.0,-1.7316560453286058,-0.11519260533299105,-0.012124622699479781,7.238096846357582,0.0,0.0,-0.06306951240954978
329 +,5.111872350169589,,0.0,-2.370546341234589,0.04314952381665761,0.026786096644932214,7.457893117382321,0.0,0.0,-0.045410046439731185
330 +6.539585955617669,5.822416147679129,0.7171698079385402,0.0,-2.6327843695802877,-0.10989499846528765,0.0,8.685270914203755,0.0,0.0,-0.12017539847904987
331 +,5.6099581175114945,,0.0,-1.3877508325289636,-0.09787485702579596,0.017324634400523453,7.325478965569655,0.0,0.0,-0.24721979290392257
332 +4.564348191467836,6.407796200493487,-1.8434480090256509,0.0,-1.8787454770960519,-0.0032326492260214834,0.0,8.368705490143888,0.0,0.0,-0.07893116332832675
333 +4.867918991894661,5.44465642865279,-0.5767374367581288,0.0,-2.1952234028226565,-0.010537858236202215,0.017324634400523453,7.740224370365282,0.0,0.0,-0.10713131505415716
334 +,6.577784070643841,,0.0,-1.660313617577109,-0.0846446645421847,0.026786096644932214,7.908399907202379,0.0,0.0,0.38755634891582447
335 +,5.4070109258259045,,0.0,-2.3171699948637645,-0.1023602881548959,0.029449257100003234,7.915843792256553,0.0,0.0,-0.1187518405119905
336 +5.43079195094741,5.840457851277048,-0.4096659003296379,0.0,-1.867120960621362,-0.04048539490497653,0.017324634400523453,7.936449756132538,0.0,0.0,-0.2057101837296744
337 +,5.5666483523299,,0.0,-2.20558739545923,-0.015394251945281297,0.0,7.832630615694927,0.0,0.0,-0.04500061596051527
338 +,5.381384179070267,,0.0,-1.6061827598758756,-0.0854023271575419,0.029276549528124737,7.343190998354764,0.0,0.0,-0.29949828177920373
339 +5.3746300493972,6.198363851751881,-0.8237338023546812,0.0,-1.5230597801812538,-0.09708498131075088,0.0,8.036789051724245,0.0,0.0,-0.21828043848035814
340 +5.138324655237145,5.413711763290825,-0.27538710805368005,0.0,-2.2186380632902045,-0.050601513891771456,0.026786096644932214,7.70588711456691,0.0,0.0,-0.04972187073904178
341 +5.485460613621205,5.839603165529477,-0.3541425519082715,0.0,-1.7714485489794818,-0.1854010393978579,0.029449257100003234,7.841181581682016,0.0,0.0,-0.07417808487520161
342 +,5.58258682122438,,0.0,-1.7573238731316225,-0.04198693131026372,0.04140117222760452,7.4171938566479385,0.0,0.0,-0.07669740320927596
343 +5.561873228473508,6.3227913324278635,-0.7609181039543556,0.0,-1.4525811408396647,-0.043500415545085186,0.0,7.687947293878551,0.0,0.0,0.13092559493406405
344 +8.756367559802975,5.253145793174758,3.503221766628217,0.0,-2.7187738465459566,0.030149084115441826,0.038910719344411995,7.9370239289930815,0.0,0.0,-0.034164092732218876
345 +4.658142070754197,5.410322215239272,-0.7521801444850746,0.0,-2.1432919471344087,0.04553025350133863,0.026786096644932214,7.692039838809439,0.0,0.0,-0.21074202658202806
346 +7.510430556378006,5.9507617705581985,1.5596687858198077,0.0,-2.1612821279712824,0.03158937234062273,0.038910719344411995,8.134852470349093,0.0,0.0,-0.0933086635046467
347 +5.130312830348875,5.201065766630344,-0.07075293628146895,0.0,-2.048297541139279,-0.09584308010446133,0.029449257100003234,7.482893397775212,0.0,0.0,-0.1671362670011292
348 +6.178669991616562,6.246771668599588,-0.0681016769830256,0.0,-1.3269534937794676,-0.03610759221133476,0.0,7.852434395072081,0.0,0.0,-0.24260164048168892
349 +8.726967774991493,5.5513152453204295,3.175652529671064,0.0,-1.7658079057199094,-0.16431559028103676,0.0,7.580801574680724,0.0,0.0,-0.09936283335934826
350 +4.923187458235946,5.250665421973475,-0.3274779637375298,0.0,-2.420485269000607,-0.045195841093761784,0.0,7.936282430123049,0.0,0.0,-0.21993589805520425
351 +,5.821604137229286,,0.0,-2.0776494043045455,0.040101912550157805,0.017324634400523453,8.031473113793162,0.0,0.0,-0.1896461192100123
352 +4.940498911907225,5.966819462127809,-1.0263205502205839,0.0,-2.352467639476518,0.030927372616456325,0.0,8.368705490143888,0.0,0.0,-0.08034576115601663
353 +7.606407280176527,5.998742697500805,1.6076645826757225,0.0,-1.3078612000421677,-0.12942937957823542,0.0,7.435393696758629,0.0,0.0,0.0006395803625825203
354 +4.9662653463603155,4.915884662683969,0.050380683676346294,0.0,-1.5029478435202304,-0.14759028615703873,0.017324634400523453,6.781255049966264,0.0,0.0,-0.23215689200554696
355 +5.443326388458011,6.431783269700708,-0.9884568812426968,0.0,-1.4865059176013444,-0.019794121156352384,0.0,8.109478440835934,0.0,0.0,-0.17139513237753
356 +4.798184372320789,4.320909206985226,0.4772751653355636,0.0,-2.596234681408541,-0.03697336584728031,0.038910719344411995,7.047535628891752,0.0,0.0,-0.13232909399511844
357 +,5.305250832617974,,0.0,-2.2756343331392967,-0.08070419722771452,-0.012124622699479781,8.031473113793162,0.0,0.0,-0.3577591281086966
358 +7.421991081473344,-4.896131419519505,12.31812250099285,0.0,-4.921346476504249,-0.02360976935917404,0.0024904528831925232,0.0,0.0,0.0,0.046334373460726413
359 +4.497362233353786,5.975735153248561,-1.4783729198947748,0.0,-1.893829220060332,-0.026579462048591754,0.0,7.936282430123049,0.0,0.0,-0.040138594765564056
360 +9.221210082050924,-5.021846042636184,14.243056124687108,0.0,-4.841203682716579,-0.03334179780024059,0.0,0.0,0.0,0.0,-0.14730056211936382
361 +5.649572650626043,5.054548441604147,0.5950242090218962,0.0,-1.9063633730029785,0.0031429776105023344,0.017324634400523453,7.021735829435612,0.0,0.0,-0.08129162683951055
362 +8.284251797621916,-4.34137898216942,12.625630779791337,0.0,-4.262747483833939,-0.1213442981377571,0.0,0.0,0.0,0.0,0.04271279980227602
363 +4.725616339063959,5.620907288331184,-0.895290949267225,0.0,-2.3973787377164806,-0.0627710032960927,0.038910719344411995,8.109478440835934,0.0,0.0,-0.06733213083658933
364 +4.858881738868719,5.328477964797352,-0.46959622592863237,0.0,-2.3182695255713286,-0.1292894825330892,0.017324634400523453,7.756627131631662,0.0,0.0,0.002085206869583578
365 +,5.627805904695711,,0.0,-1.6377009303864583,-0.01307047198791951,0.029449257100003234,7.457398784802299,0.0,0.0,-0.20827073483221462
366 +,5.3968739404351735,,0.0,-1.8086774321963714,-0.14604572643670005,0.017324634400523453,7.404547802179323,0.0,0.0,-0.07027533751160313
367 +4.121311010451915,0.9825505003227981,3.138760510129117,0.0,-6.808248525174167,-0.04015692335403659,0.0,7.983680301072994,0.0,0.0,-0.15272435222199282
368 +4.761660982747524,4.947487640732637,-0.1858266579851131,0.0,-1.56249524572321,-0.03456570085687715,0.026786096644932214,6.639965741502376,0.0,0.0,-0.12220325083458163
369 +4.556714965718688,4.947142148544397,-0.3904271828257091,0.0,-2.7681745142696776,-0.1529138164695675,0.0,7.881067480525504,0.0,0.0,-0.012837001241862014
370 +7.459338895220296,5.374204742320498,2.0851341528997978,0.0,-2.1403416378894518,0.014880266818347275,0.038910719344411995,7.706505030291938,0.0,0.0,-0.2457496362447473
371 +,5.994280563087665,,0.0,-2.0469118675286273,-0.1465424906803522,0.029449257100003234,8.442235448611198,0.0,0.0,-0.2839497844145563
372 +4.399129542573544,5.702763299911226,-1.303633757337682,0.0,-2.0731696593171973,0.0026555081885503186,0.017324634400523453,7.936449756132538,0.0,0.0,-0.18049693949318885
373 +4.663250397064616,5.379349745297737,-0.7160993482331204,0.0,-1.343282490818889,-0.05229454424177046,0.0,7.106633486784571,0.0,0.0,-0.33170670642617495
374 +5.572116008641191,5.564700133645967,0.007415874995223781,0.0,-1.6477248818840637,-0.051263544897384675,0.029449257100003234,7.474162162515234,0.0,0.0,-0.23992285918782064
375 +4.7350574468225135,5.035597632232681,-0.3005401854101679,0.0,-2.2101625158566556,-0.017513810263456296,0.0,7.384635498862847,0.0,0.0,-0.12136154051005318
376 +,5.454560421987481,,0.0,-2.069612519704026,0.04531582553852139,0.017324634400523453,7.707493695451982,0.0,0.0,-0.2459612136995201
377 +4.637927750226264,5.711809479870082,-1.0738817296438183,0.0,-1.8351924170227907,4.964295551609932e-05,0.0,7.7619430695627445,0.0,0.0,-0.21499081562538844
378 +5.616880182625682,5.549464453377113,0.06741572924856865,0.0,-1.8902310375717724,-0.05533453598367345,0.017324634400523453,7.598224034266061,0.0,0.0,-0.12051864173402495
379 +,5.188891121817769,,0.0,-1.9676006770986119,-0.14969618010002692,0.029449257100003234,7.440978790765839,0.0,0.0,-0.16424006884943232
380 +8.351761789491034,5.356078680119997,2.995683109371037,0.0,-2.0650905543339615,0.06752102636718886,-0.012124622699479781,7.493064041258776,0.0,0.0,-0.12729121047252837
381 +6.008247915142327,5.34749461965904,0.6607532954832873,0.0,-1.5642300222415697,-0.19262165098544326,0.029449257100003234,7.123460505514207,0.0,0.0,-0.0485634697281596
382 +4.806313497022634,5.250005609064282,-0.4436921120416484,0.0,-1.6154683963603276,-0.18629697283238916,0.0024904528831925232,7.293343364534098,0.0,0.0,-0.24406283916029078
383 +4.991452474679482,4.55509037066787,0.4363621040116126,0.0,-2.34944119657744,0.03570874186199788,0.026786096644932214,7.043137579598231,0.0,0.0,-0.20110085085985216
384 +7.527530370406178,6.90029066507894,0.6272397053272378,0.0,-0.8831916177745311,0.04956152107481355,0.0024904528831925232,7.981872499311486,0.0,0.0,-0.2504421904160238
385 +5.354508646197779,5.580860683430196,-0.22635203723241748,0.0,-1.0640686884650998,0.0029443342857934374,0.038910719344411995,6.723592959999116,0.0,0.0,-0.12051864173402495
386 +,4.876342162276334,,0.0,-1.6535294162287686,-0.1631241230782482,0.029449257100003234,6.804237959873703,0.0,0.0,-0.14069151539035613
387 +,5.258774017850312,,0.0,-2.1303450869910456,-0.15061363629805752,0.038910719344411995,7.690556841069373,0.0,0.0,-0.18973481927437003
388 +,5.530602460150139,,0.0,-2.2859629094465275,-0.008332240185675487,0.0,8.018504561341558,0.0,0.0,-0.19360695155921578
389 +6.0128590439621385,5.816342827030993,0.19651621693114585,0.0,-1.5665775667649386,-0.043159575702195904,0.017324634400523453,7.404300635889312,0.0,0.0,0.004454699208291097
390 +,6.639665152187722,,0.0,-1.266540055397198,0.050696385465531194,0.0,7.981872499311486,0.0,0.0,-0.12636367719209987
391 +4.854293326261249,5.262686851738736,-0.40839352547748664,0.0,-2.1656575743450555,0.04812688372149168,0.0024904528831925232,7.6203386935853885,0.0,0.0,-0.24261160410628074
392 +5.655956845173597,5.253708227237565,0.4022486179360314,0.0,-2.0320251773305333,-0.13757576966684185,0.026786096644932214,7.418924020678015,0.0,0.0,-0.02240094308800591
393 +5.006225585607556,5.777977099812187,-0.771751514204631,0.0,-1.8102880417133713,0.010609659809196058,0.029449257100003234,7.690556841069373,0.0,0.0,-0.1423506164530145
394 +5.630064170161918,-5.106440311216037,10.736504481377956,0.0,-5.059395067671916,0.028104481188915738,0.029449257100003234,0.0,0.0,0.0,-0.1045989818330391
395 +7.6290038896529575,3.831898461030743,3.7971054286222143,0.0,-5.6836551632289085,0.003220818525024465,0.0024904528831925232,9.238202504200961,0.0,0.0,0.2716398486504734
396 +,5.634198074879634,,0.0,-2.1638286588664313,-0.03166885889954163,-0.009634169816287258,7.983680301072994,0.0,0.0,-0.14435053861109956
397 +5.13826597839981,4.554385828921235,0.583880149478575,0.0,-2.220446978707254,-0.11353430390122336,0.017324634400523453,7.025261953580247,0.0,0.0,-0.15421947645105877
398 +4.290459441148391,5.271277382415611,-0.9808179412672198,0.0,-2.259461331893676,-0.023997292202970075,0.026786096644932214,7.722960577795597,0.0,0.0,-0.19501066792827057
399 +5.484796933490655,5.712140850940262,-0.22734391744960725,0.0,-1.4194987610216394,-0.06785956022338077,0.029449257100003234,7.3236252183945725,0.0,0.0,-0.15357530330929184
400 +5.209486152841421,5.644241746575536,-0.4347555937341143,0.0,-1.8206601572628998,0.10087393434239303,0.029449257100003234,7.5849782873106175,0.0,0.0,-0.25039957491457926
401 +,4.828540167700747,,0.0,-1.871100890941948,-0.05506952245469358,0.029449257100003234,6.7218945109029935,0.0,0.0,0.0033668130943912463
402 +,5.60798817397782,,0.0,-1.9259341073197982,-0.09287198299100105,0.0,7.557120164668977,0.0,0.0,0.0696740996196433
403 +,7.331014322052247,,0.0,-0.6168640423854503,-0.1137293557574091,0.0024904528831925232,8.368705490143888,0.0,0.0,-0.30958822283197407
404 +4.454347296253507,6.183140661568199,-1.7287933653146919,0.0,-1.1178176539363749,0.03903876757598957,0.0024904528831925232,7.305708426229213,0.0,0.0,-0.046279331183822964
405 +5.802118375377063,4.997138390666099,0.8049799847109638,0.0,-1.7895275099605348,-0.10210856646590621,0.017324634400523453,7.096169173818972,0.0,0.0,-0.2247193411269543
406 +4.2626798770413155,4.916706953962748,-0.6540270769214329,0.0,-2.9266126082389823,0.0022459706331307075,0.0,7.921419352724618,0.0,0.0,-0.08034576115601663
407 +7.698029170272805,4.448901301796243,3.2491278684765614,0.0,-4.767526248093317,-0.12727076738592893,0.0024904528831925232,9.238202504200961,0.0,0.0,0.10300536019133683
408 +4.31748811353631,4.846303810103272,-0.5288156965669621,0.0,-2.3501763535266322,0.11485931835415146,0.0,7.150354363274833,0.0,0.0,-0.06873351799908117
409 +3.7612001156935624,4.542810411624751,-0.781610295931189,0.0,-2.2407436531269633,-0.005451296721871963,0.026786096644932214,6.941782844382245,0.0,0.0,-0.17956357955358956
410 +6.639875833826536,4.202544809344843,2.4373310244816926,0.0,-4.614256309229016,0.015687825714787815,0.04140117222760452,9.0784399922403,0.0,0.0,-0.31872787160883226
411 +,5.198585119368663,,0.0,-1.9407580392507535,-0.09163457948889862,0.0,7.053857666306407,0.0,0.0,0.17712007180190836
412 +4.948759890378168,5.382819991344629,-0.43406010096646064,0.0,-1.4780464421998225,-0.1151114090603908,0.0,7.062263387056941,0.0,0.0,-0.08628554445209852
413 +4.143134726391533,5.523916585662803,-1.3807818592712708,0.0,-2.220597284700081,-0.0847741992562952,0.017324634400523453,8.031473113793162,0.0,0.0,-0.21950967857450443
414 +5.318119993844216,6.84946909045063,-1.531349096606414,0.0,-1.2751994543988445,-0.02462195963460144,0.0,8.368705490143888,0.0,0.0,-0.2194149856598112
415 +,5.562744171395122,,0.0,-1.9933852992548662,-0.011137730113771671,0.026786096644932214,7.318194283881884,0.0,0.0,0.22228682023694352
416 +,-3.0831816633877898,,0.0,-2.1236968990248863,-0.09816799073987953,0.026786096644932214,-0.7423105607057928,0.0,0.0,-0.14579230956216183
417 +,-3.244713988526489,,0.0,-2.1520639390963696,0.00454683309610877,0.017324634400523453,-0.7423105607057928,0.0,0.0,-0.372210956220957
418 +,-5.466788370450861,,0.0,-5.289320985977725,-0.16274675073843384,0.0,0.0,0.0,0.0,-0.014720633734701262
419 +,-2.6618582960432904,,0.0,-1.9243381657252518,-0.0627769591652437,0.0,-0.4344332498636658,0.0,0.0,-0.24030992128912781
420 +,-2.1575498948386738,,0.0,-1.5366183019960724,-0.09822584139726459,0.017324634400523453,-0.7432992258658367,0.0,0.0,0.203268840019977
421 +5.556828061699537,5.670215394751492,-0.11338733305195436,0.0,-1.8716106544661768,0.1927840799042337,0.026786096644932214,7.419171186968026,0.0,0.0,-0.09691531429952469
422 +4.430816798843313,5.100765701017627,-0.6699489021743137,0.0,-1.8473962571428446,-0.04875792243314481,0.017324634400523453,7.131316237725747,0.0,0.0,-0.15172099153265328
423 +,4.797542743860922,,0.0,-1.824376108112471,-0.03273234759962765,0.03193970998319576,6.997027698484757,0.0,0.0,-0.3743162088949332
424 +7.598399329323964,2.9567796556207036,4.641619673703261,0.0,-5.634635993333626,-0.07698148304863445,0.0,9.0784399922403,0.0,0.0,-0.41004286023733594
425 +5.117993812416755,7.237073029113379,-2.1190792166966235,0.0,-0.46295675852849794,-0.02543731522634294,0.04140117222760452,8.063013613403083,0.0,0.0,-0.37894768276246815
426 +5.356586274672012,4.42370752142847,0.9328787532435427,0.0,-5.186865225071225,-0.15411888192584697,0.0024904528831925232,9.0784399922403,0.0,0.0,0.68376118330205
427 +8.182279739259018,3.78104379167095,4.401235947588068,0.0,-5.3007005197805555,-0.04773877944674981,0.029449257100003234,9.238202504200961,0.0,0.0,-0.13816867040270728
428 +,6.907676537828058,,0.0,-0.8972698581806924,-0.020259930371735374,-0.012124622699479781,7.563198065834936,0.0,0.0,0.27413288324502905
429 +5.484796933490655,5.577888877332272,-0.09309194384161756,0.0,-1.586342208411546,0.03329113701104466,0.0024904528831925232,7.1742473127957345,0.0,0.0,-0.04579781694615352
430 +8.353732642263202,6.673894566441698,1.679838075821504,0.0,-1.3966868237996737,-0.0701869601697486,0.0,8.442235448611198,0.0,0.0,-0.3014670982000778
431 +8.384575666801398,6.532997042942752,1.8515786238586456,0.0,-1.450018476116882,-0.10750172673286212,0.0,8.047697468482498,0.0,0.0,0.04281977730999545
432 +4.997212273764115,6.156432010976394,-1.159219737212279,0.0,-2.026758679552505,0.09678216080939958,0.0,8.148204090083695,0.0,0.0,-0.06179556036419432
433 +5.8805329864007,5.7626282998867415,0.1179046865139588,0.0,-1.7504245322790446,-0.04096093472285882,0.017324634400523453,7.677663620310747,0.0,0.0,-0.14097448782262462
434 +,5.314174047937124,,0.0,-1.8656570203186567,0.030845884165373247,0.017324634400523453,7.176976107822763,0.0,0.0,-0.0453155581328781
435 +5.393536633128971,9.206794209387063,-3.813257576258092,0.0,-2.2140599899667093,-0.178338247778791,0.017324634400523453,7.882970256046271,0.0,0.0,3.6988975566857696
436 +10.12380190544017,7.155907943689333,2.9678939617508364,0.0,-1.7048044308349866,-0.022769756788347473,0.0024904528831925232,8.095921358938705,0.0,0.0,0.7850703194907683
437 +9.21916630855873,7.42713285178732,1.79203345677141,0.0,-0.5915485431343788,-0.06065280892979209,0.029276549528124737,7.99718864423207,0.0,0.0,0.052869010091295604
438 +5.3688690224989815,5.417235706519685,-0.048366684020703765,0.0,-2.2834960450282598,-0.0894646728341614,0.0,7.6805933466066785,0.0,0.0,0.10960307777542692
439 +5.213249554157973,5.300470450372236,-0.0872208962142631,0.0,-2.380755895381788,-0.08145132208131178,0.026786096644932214,7.814110617138676,0.0,0.0,-0.07821904594827343
440 +,5.2106254909116565,,0.0,-2.1955789702066886,-0.14487666238560154,0.017324634400523453,7.677663620310747,0.0,0.0,-0.1439071312073234
441 +,6.819357228755479,,0.0,-1.344764349606927,-0.06868131557888557,0.038910719344411995,8.063013613403083,0.0,0.0,0.13087856119379546
442 +5.0004502690378905,6.953828261327408,-1.9533779922895178,0.0,-1.9428497751660219,0.007604671713590416,0.0,8.442235448611198,0.0,0.0,0.44683791616864066
443 +4.154184562578117,5.787080940339652,-1.6328963777615346,0.0,-1.6571707938829237,0.16302192724190687,0.026786096644932214,7.355655348500897,0.0,0.0,-0.10121163816516049
444 +6.460217394452065,5.691006726039127,0.7692106684129376,0.0,-2.2634954890280388,-0.13844980185320876,0.0,8.191653696012137,0.0,0.0,-0.09870167909176206
445 +8.482808764554406,2.8913877237450913,5.591421040809315,0.0,-6.017921909833631,-0.04630893054695781,0.0,9.0784399922403,0.0,0.0,-0.12282142811461849
446 +,4.730050060242597,,0.0,-2.4648614489981533,-0.1985163324075572,0.038910719344411995,7.507677257137307,0.0,0.0,-0.15316013483341195
447 +5.43794886563323,4.830272491913033,0.6076763737201976,0.0,-2.00595127278478,0.03033705733012585,0.017324634400523453,6.830502332782977,0.0,0.0,-0.0419402598158134
448 +4.609062600703435,4.7949832972924336,-0.18592069658899835,0.0,-2.496182877869118,0.04405756394509583,0.026786096644932214,7.355655348500897,0.0,0.0,-0.13533283392937043
449 +4.760120545985914,5.46678324967704,-0.7066627036911264,0.0,-2.037543344052583,-0.047686013325262046,0.0,7.3494014266504895,0.0,0.0,0.2026111804043959
450 +7.173720743645104,5.570469927326745,1.6032508163183588,0.0,-2.204656053697609,-0.04605479761782451,0.026786096644932214,7.816122412389874,0.0,0.0,-0.021727730392627403
451 +,5.60546026281888,,0.0,-1.9950779668149066,-0.024102032766151162,0.017324634400523453,7.712025727603269,0.0,0.0,-0.10471009960385384
452 +4.841743157613962,5.344715200389625,-0.5029720427756628,0.0,-2.0120776042704343,0.02218682085031326,0.0024904528831925232,7.487962169416283,0.0,0.0,-0.15584663848973054
453 +,4.699683000159733,,0.0,-2.1469794222810075,-0.02843938673304498,0.017324634400523453,6.947326737575953,0.0,0.0,-0.08954956280268885
454 +6.096229885683062,5.270106318907009,0.8261235667760527,0.0,-2.0040945779228254,-0.07902024663479951,0.029449257100003234,6.808970940996412,0.0,0.0,0.5148009453682172
455 +8.128358035931539,4.50261574937816,3.625742286553379,0.0,-4.830549400154761,0.08167017633178311,0.0,9.238202504200961,0.0,0.0,0.013292469000178551
456 +5.4681867154027515,5.749947075651686,-0.2817603602489349,0.0,-1.6032171616400754,0.04021767880847037,0.04140117222760452,7.2984660111813655,0.0,0.0,-0.02692062492567779
457 +,7.683871235832909,,0.0,-0.292773602530521,-0.08128445679885182,0.0024904528831925232,8.368705490143888,0.0,0.0,-0.313266647864799
458 +7.529433310322883,6.6867627813063315,0.8426705290165515,0.0,-1.1655216483453623,0.16552670887116466,0.04140117222760452,7.70699936287196,0.0,0.0,-0.061642814319033845
459 +5.45660234551375,5.580587403879846,-0.12398505836609619,0.0,-1.8308409646888526,-0.13711986741706209,0.0024904528831925232,7.622764411071923,0.0,0.0,-0.07670662796935226
460 +8.644530439877432,3.358647300140801,5.285883139736631,0.0,-5.670244259684819,-0.0006313153291715411,0.0,9.238202504200961,0.0,0.0,-0.20867962904616894
461 +4.6778628713815325,4.61774949555542,0.06011337582611276,0.0,-1.798012788623832,-0.03864275351448293,0.038910719344411995,6.8253634242500905,0.0,0.0,-0.4098691059007682
462 +7.567619681903496,7.629141468179178,-0.06152178627568183,0.0,-0.2551528833044463,-0.0395826870089477,0.0,8.280781835129236,0.0,0.0,-0.3569047966366654
463 +7.473591678730616,5.122762861516832,2.3508288172137837,0.0,-2.341429400690072,-0.1067008141287168,0.038910719344411995,7.5499368889658705,0.0,0.0,-0.017954531974659817
464 +4.694828057918627,5.064586821322085,-0.3697587634034587,0.0,-1.7586029518960373,0.03877783651897846,0.0,6.90703921193504,0.0,0.0,-0.12262727523589742
465 +,5.4731229128478605,,0.0,-2.0121088574255035,-0.080193589077097,0.0024904528831925232,7.631380790990429,0.0,0.0,-0.0684458845231595
466 +,6.128183160470193,,0.0,-1.4204848768825054,0.08296167811010649,0.038910719344411995,7.053135036647632,0.0,0.0,0.3736606032505483
467 +,4.915777500350277,,0.0,-2.779473607259356,-0.059215428026627936,0.038910719344411995,7.754609784042434,0.0,0.0,-0.03905396775058323
468 +4.859812404361672,4.9796484581350375,-0.11983605377336559,0.0,-1.6981545168192218,-0.08938740490522185,0.026786096644932214,6.793968123985228,0.0,0.0,-0.05356384077067775
469 +7.321188556739478,5.5110508595219825,1.8101376972174954,0.0,-2.1176045187790127,-0.06074973084390514,0.038910719344411995,7.620416331316819,0.0,0.0,0.03007805848366915
470 +4.430816798843313,5.489948082542432,-1.0591312836991182,0.0,-2.3007942529327936,-0.008912254107632463,0.0,7.897076998144624,0.0,0.0,-0.09742240856176587
471 +5.293304824724492,5.769254058801869,-0.475949234077377,0.0,-2.0271108325723963,-0.1285030825611666,0.029449257100003234,8.076926656303499,0.0,0.0,-0.1815079394680701
472 +8.534836626588833,5.819049496220684,2.715787130368149,0.0,-1.2760599837645819,-0.0147295293358622,0.038910719344411995,7.121763701114438,0.0,0.0,-0.050835411137723635
473 +,5.268064102287849,,0.0,-2.5310144490658715,0.006510967648398758,0.026786096644932214,7.724072826100647,0.0,0.0,0.04170866095974261
474 +4.394449154672439,4.86214562631153,-0.46769647163909056,0.0,-1.911592900870498,0.007845052672419847,0.026786096644932214,6.968132460213708,0.0,0.0,-0.2290250823490313
475 +5.697093486505405,5.712566926584069,-0.015473440078664247,0.0,-1.5848134955441209,0.0027952072005944933,0.0024904528831925232,7.497286368672354,0.0,0.0,-0.20519160662794966
476 +,6.863985983178037,,0.0,-2.1597776886119213,-0.00787092214341117,0.029449257100003234,7.934596008957455,0.0,0.0,1.06758932787591
477 +4.2626798770413155,4.834782248257164,-0.5721023712158484,0.0,-2.44797540062624,-0.020982113467153354,0.038910719344411995,7.511212664489005,0.0,0.0,-0.2463836214828586
478 +,4.567206653661613,,0.0,-2.5880831648776708,-0.042616250045114136,0.0,7.236711494332207,0.0,0.0,-0.03880542574780832
479 +,4.204774764923594,,0.0,-5.072365762654464,0.04343127771528867,0.0,9.0784399922403,0.0,0.0,0.1552692576224697
480 +5.246866164956958,4.861277748130272,0.3855884168266863,0.0,-2.3018946218347933,-0.14820568260461645,-0.012124622699479781,7.502953510315425,0.0,0.0,-0.17945083504626363
481 +9.614070642790631,-1.7658150907513799,11.379885733542011,0.0,-5.540360500340179,0.08875660414899496,0.0,0.0,0.0,0.0,3.6857888054398042
482 +,6.5624933155714675,,0.0,-1.230306549877361,-0.031534375298743325,0.0,8.16949037991479,0.0,0.0,-0.3451561391672199
483 +6.576594909382211,6.045064618371031,0.5315302910111805,0.0,-2.469131221091725,0.04447580449758606,0.0,8.687742577103865,0.0,0.0,-0.2180225421386942
484 +,5.5101273900024115,,0.0,-1.1197762434796532,-0.06785592215765687,0.017324634400523453,6.687315556848674,0.0,0.0,-0.0068806356094744964
485 +,-5.419035634169157,,0.0,-5.062578649653856,-0.10511728304839058,0.0,0.0,0.0,0.0,-0.2513397014669118
486 +,4.722818647038912,,0.0,-1.865418269099938,-0.1563940565996745,0.017324634400523453,6.7897654846505455,0.0,0.0,-0.062459146312544754
487 +,6.087350141806656,,0.0,-1.377274716008258,0.019269732477907857,0.026786096644932214,7.410306348562188,0.0,0.0,0.008262680129885736
488 +4.525477417078843,5.33165385840211,-0.8061764413232666,0.0,-2.156552255098073,-0.12697386130687613,0.026786096644932214,7.7945522684515955,0.0,0.0,-0.20615839028946806
489 +,5.723677839920154,,0.0,-1.5165748390163438,0.05919431810628337,0.029449257100003234,6.820091223995977,0.0,0.0,0.3315178797342346
490 +,5.43588645356791,,0.0,-2.2402543641614416,0.0344120662986911,-0.012124622699479781,7.691545506229417,0.0,0.0,-0.03769213209927592
491 +7.675313957055892,6.085098915659603,1.5902150413962897,0.0,-2.402867929060271,0.05136809482931348,0.0,8.690214240003975,0.0,0.0,-0.25361549011341417
492 +7.456835765002177,5.751410277324856,1.7054254876773207,0.0,-2.331595998234878,0.04728510447010516,0.0,8.098601125620048,0.0,0.0,-0.06287995453041785
493 +,5.304193412409004,,0.0,-2.4371433367806734,0.11247875278170674,0.0,7.748734203922487,0.0,0.0,-0.11987620751451368
494 +6.986963792658745,7.237071565441922,-0.25010777278317686,0.0,-0.01658835228961486,-0.12297289785823706,0.026786096644932214,7.360685273199468,0.0,0.0,-0.010838554254627247
495 +5.937588974138664,5.715812558479745,0.22177641565891903,0.0,-1.6527215685863856,0.04996539497749862,0.029449257100003234,7.424335263421295,0.0,0.0,-0.13521578843266746
496 +5.556171475537641,5.4643635618017035,0.09180791373593777,0.0,-2.066192838416696,-0.08172189140840788,0.029449257100003234,7.740224370365282,0.0,0.0,-0.15739533583847798
497 +8.192523430754148,6.060010398425547,2.1325130323286015,0.0,-1.3604220646445144,-0.07999815844540054,0.0,7.836980538429538,0.0,0.0,-0.33654991691407793
498 +,5.0664774037601035,,0.0,-1.9181095130035262,-0.09692793019936577,0.017324634400523453,7.243920208203623,0.0,0.0,-0.17972999564115177
499 +6.335391074199547,5.794234743100792,0.5411563310987555,0.0,-2.600232460190627,-0.0689096610214909,0.0,8.627374438439348,0.0,0.0,-0.16399757412643942
500 +4.3694478524670215,4.928414106240095,-0.5589662537730735,0.0,-1.958038493727984,-0.05781901130018337,0.026786096644932214,7.070569512803363,0.0,0.0,-0.15308399818002957
501 +5.713732805509369,4.441083100272891,1.2726497052364776,0.0,-2.3052887817776613,-0.13896259798856128,0.017324634400523453,7.181843537967371,0.0,0.0,-0.3138336923287802
502 +,6.046019010684121,,0.0,-2.351829555745665,0.042743081627000086,0.0,8.60368906209316,0.0,0.0,-0.24858357729037345
503 +,5.422060266765657,,0.0,-2.0768445089779304,0.1188944185484214,0.026786096644932214,7.4587581993973595,0.0,0.0,-0.10553393884712452
504 +,6.205852911772732,,0.0,-1.589937315708684,0.009007945156403442,0.0,7.9599508637049246,0.0,0.0,-0.1731685813799111
505 +,5.6149152398825075,,0.0,-1.7152867884834881,-0.0028665043664054743,0.0,7.469871453832113,0.0,0.0,-0.13680292109971298
506 +5.180884269655941,5.9997131874908,-0.8188289178348587,0.0,-1.9120959170348808,-0.0713948738057925,0.0,8.003529137642163,0.0,0.0,-0.020325159310688776
507 +,6.751989075645639,,0.0,-1.2385741265417103,0.005088223091515173,0.0,8.054329271982523,0.0,0.0,-0.06885429288668761
508 +,6.960177448878018,,0.0,-1.3832141125075585,0.042272532016109664,0.0,7.982938802202961,0.0,0.0,0.31818022716650496
509 +,5.888095450576674,,0.0,-1.6082397938100836,0.09242453789991824,0.029449257100003234,7.457893117382321,0.0,0.0,-0.08343166799548415
510 +4.719212902028752,5.9018882927928855,-1.1826753907641336,0.0,-2.3049642249929576,0.0065872413081074915,0.0,8.254818788884329,0.0,0.0,-0.05455351240659289
511 +,6.49548935757346,,0.0,-1.3905917354944952,-0.02862593354028561,-0.009634169816287258,7.949660307232322,0.0,0.0,-0.02531911080779377
512 +8.043020885298283,-5.277751487022373,13.320772372320656,0.0,-5.14920887071149,-0.0821570749928544,0.0,0.0,0.0,0.0,-0.046385541318028085
513 +4.872981128797461,5.653824873850526,-0.7808437450530654,0.0,-1.3575989033445675,-0.020580748008515788,0.038910719344411995,7.015584307138299,0.0,0.0,-0.02249050127910107
514 +9.66834796058061,7.0063629211858025,2.661985039394807,0.0,-5.601636165108477,0.04429471199437918,0.0,9.0784399922403,0.0,0.0,3.4852643820596008
515 +,6.070362492478887,,0.0,-1.5062832042881924,-0.036819032241935126,0.04140117222760452,7.457151618512288,0.0,0.0,0.11491193826912224
516 +,5.545724856299173,,0.0,-2.4583474393322,-0.07830819018611623,0.038910719344411995,8.097033607243754,0.0,0.0,-0.05356384077067775
517 +,3.7605517730517692,,0.0,-5.144879459049818,-0.07996661075073827,0.0,9.238202504200961,0.0,0.0,-0.2528046613486362
518 +5.614040099155339,5.959326937993005,-0.34528683883766575,0.0,-1.9368454843638725,-0.02417247165262467,0.0,8.005877217397266,0.0,0.0,-0.08553232338776325
519 +8.228782853843777,4.254964655121316,3.9738181987224612,0.0,-4.777457403333192,-0.13052003498863346,0.029449257100003234,9.238202504200961,0.0,0.0,-0.1047096678578226
520 +6.365696952785048,5.171821256285066,1.1938756964999824,0.0,-1.875833081682389,-0.10613734992795058,0.038910719344411995,7.294604481277024,0.0,0.0,-0.1797235127260313
521 +8.698362417865864,4.444441034637445,4.253921383228419,0.0,-5.698979636580928,0.1285320311196857,0.04140117222760452,9.238202504200961,0.0,0.0,0.7352849636701232
522 +7.848789353867171,7.4930761133779304,0.3557132404892407,0.0,-1.0388890072154302,-0.0782257311433169,0.04140117222760452,8.134852470349093,0.0,0.0,0.4339372091599808
523 +,3.688318537256559,,0.0,-5.289422633752997,0.019819820503281863,0.0,9.0784399922403,0.0,0.0,-0.12051864173402495
524 +,5.0894695485969805,,0.0,-1.9420476197948515,0.04748189792091501,0.017324634400523453,6.897504119846251,0.0,0.0,0.06920651622414373
525 +4.525477417078843,5.215572285039999,-0.6900948679611556,0.0,-2.1561502641328367,-0.17899381344779375,0.038910719344411995,7.533975674042233,0.0,0.0,-0.0221700307660124
526 +5.151671786206552,5.321591973044015,-0.16992018683746313,0.0,-2.33889154460977,0.06785500272960676,0.029449257100003234,7.662645125133578,0.0,0.0,-0.09946586730940243
527 +,7.246734700960917,,0.0,-1.2799065018923104,0.09672286075159629,0.0,8.442235448611198,0.0,0.0,-0.01231710650956716
528 +5.295312857527738,4.6817284668196235,0.6135843907081142,0.0,-1.8931827514945443,-0.06649487359515487,0.029449257100003234,6.821954219600934,0.0,0.0,-0.20999738479161303
529 +5.3745373924594455,5.346979109837802,0.027558282621643393,0.0,-1.8952132070758738,-0.0902573372201367,0.029449257100003234,7.562580150109908,0.0,0.0,-0.2595797530760975
530 +5.7416240320830765,3.985749826498111,1.7558742055849654,0.0,-3.3216388954216036,-0.0036994986688012495,0.0,7.3494014266504895,0.0,0.0,-0.038313206061975365
531 +7.167624124788435,6.465048335136027,0.7025757896524079,0.0,-1.664488059479635,-0.0470426741375188,0.0,8.308669038405613,0.0,0.0,-0.13208996965243036
532 +6.721570268653459,6.207440493623412,0.5141297750300469,0.0,-1.8726169213170074,0.07438941682369643,0.0024904528831925232,8.225094818839448,0.0,0.0,-0.2219172736059158
533 +,5.444456008763289,,0.0,-1.5412035877067405,-0.13163807878818137,0.017324634400523453,6.637993453554674,0.0,0.0,0.4619795873030129
534 +4.90779013080408,4.75910022977237,0.14868990103170976,0.0,-2.499255878764898,0.00945886049908607,0.017324634400523453,7.330753199373352,0.0,0.0,-0.09918058573569144
535 +,-1.8601390885268965,,0.0,-1.7025202418197525,-0.1571754797934721,-0.012124622699479781,-0.43430966671866034,0.0,0.0,0.44599092250446826
536 +,-2.777159258416752,,0.0,-1.9048394892884533,-0.029213564351292857,0.038910719344411995,-0.7423105607057928,0.0,0.0,-0.13970636341562423
537 +,-5.337558820657589,,0.0,-5.2393597040929105,0.12621611605299474,0.0024904528831925232,0.0,0.0,0.0,-0.22690568550086454
538 +,-2.884445902073954,,0.0,-2.0630506857898023,0.011687845145678277,0.017324634400523453,-0.7437935584458587,0.0,0.0,-0.10661413738449439
539 +,-1.678184669734291,,0.0,-1.122145256813475,0.09680181431505369,0.0,-0.5963811959256494,0.0,0.0,-0.05646003131021936
540 +,-1.8833845390030441,,0.0,-1.5072503408812148,-0.13841078061439047,0.0,-0.5986056925357482,0.0,0.0,0.36088227502830883
541 +,-2.972258497071396,,0.0,-2.1643158881298623,-0.04955345199557147,0.017324634400523453,-0.7429284764308203,0.0,0.0,-0.032785314915665456
542 +6.124639626260398,5.848415776591337,0.2762238496690612,0.0,-1.3976576380571997,-0.049578261517279516,0.017324634400523453,7.411665763157249,0.0,0.0,-0.13333872139195588
543 +,5.242506113526548,,0.0,-2.072598261870449,-0.17492376623273292,0.029449257100003234,7.47683504629178,0.0,0.0,-0.01625616176205355
544 +,6.4987160151504595,,0.0,-1.6122133258974047,-0.029538616665806892,0.0,8.063641205357486,0.0,0.0,0.07682675235618722
545 +4.399129542573544,5.974625113218602,-1.5754955706450584,0.0,-2.1845588774892084,0.04768092459305183,0.0,8.193670088841003,0.0,0.0,-0.0821670227262436
546 +4.732067119176442,5.335571976546985,-0.6035048573705435,0.0,-2.6403166235901674,-0.06505194909483152,0.029449257100003234,8.16677155072467,0.0,0.0,-0.1552802585926891
547 +4.600459106257972,4.7517673789108805,-0.15130827265290847,0.0,-2.4810710306984625,-0.20591779730920584,0.017324634400523453,7.662468855986076,0.0,0.0,-0.2410372834680499
548 +5.629669374284202,4.3115849190902,1.3180844551940014,0.0,-4.861154523811363,-0.10942397022337708,0.029449257100003234,9.238202504200961,0.0,0.0,0.014511651823976457
549 +8.14146648107186,6.0629233840231676,2.0785430970486933,0.0,-1.7097197152208272,-0.06639326017783577,0.0,7.959298483048785,0.0,0.0,-0.12026212362695689
550 +4.543294782270004,5.818610889039939,-1.2753161067699352,0.0,-1.7906084448105046,-0.02735368862240271,0.029449257100003234,7.776069328446848,0.0,0.0,-0.16894556307400624
551 +7.448333860897476,5.4691700736451665,1.9791637872523093,0.0,-2.1477083946137805,0.02426103769136945,0.038910719344411995,7.808080157333699,0.0,0.0,-0.2543734461105327
552 +4.406719247264253,5.270173774384988,-0.8634545271207346,0.0,-2.5871809680833957,-0.08038582623568623,0.026786096644932214,8.031473113793162,0.0,0.0,-0.12051864173402495
553 +,5.083709437482979,,0.0,-2.4552356959982147,0.030121093464334676,0.038910719344411995,7.673895831403087,0.0,0.0,-0.2039825107306397
554 +,5.643983620285301,,0.0,-1.0941268152784263,-0.011788218546782601,0.029276549528124737,6.768785930016754,0.0,0.0,-0.04816382543436934
555 +5.730099782973574,5.610441978336919,0.11965780463665521,0.0,-1.4505734148661897,0.07998081514968766,0.0,7.087435906086132,0.0,0.0,-0.10640132803271105
556 +5.0689042022202315,5.427871048442127,-0.3589668462218958,0.0,-1.8991570557418482,-0.04511367154571527,0.019815087283715976,7.382996916007778,0.0,0.0,-0.03067022756180235
557 +7.254177846456518,6.554308942407223,0.6998689040492945,0.0,-1.2973983414597479,-0.06949610637839851,0.0024904528831925232,8.140893512402114,0.0,0.0,-0.22218057503993813
558 +5.220355825078324,5.0682021476095915,0.15215367746873287,0.0,-1.770606887159981,-0.02968273793732911,-0.012124622699479781,7.127058912591244,0.0,0.0,-0.24644251718486337
559 +6.582025138892826,5.323810319887695,1.258214819005131,0.0,-1.5027840577097917,-0.16166825310490351,0.017324634400523453,7.058131713821951,0.0,0.0,-0.08719371752008369
560 +5.60947179518496,4.811505159065867,0.7979666361190931,0.0,-1.9705307168658637,-0.057349976342941214,0.029276549528124737,6.881909038297751,0.0,0.0,-0.07179973555120248
561 +5.220355825078324,5.790663692035943,-0.5703078669576183,0.0,-1.898391459460762,-0.03872935197662673,0.0,7.542677500952605,0.0,0.0,0.18510700252072596
562 +5.575949103146316,5.783138040349574,-0.2071889372032576,0.0,-1.0973347447544404,-0.17575772451910682,0.038910719344411995,6.906873972660865,0.0,0.0,0.1104458176178442
563 +,-5.13763315711907,,0.0,-5.0404162904066645,-0.1286362711665854,0.0024904528831925232,0.0,0.0,0.0,0.02892895157098782
564 +,-2.6474269268472805,,0.0,-1.875220712479181,-0.10551992743237815,0.0,-0.5963811959256494,0.0,0.0,-0.0703050910100714
565 +,-3.517075370243224,,0.0,-3.613205734272987,0.054825492459124665,0.0,0.0,0.0,0.0,0.041304871570638196
566 +,-1.9439313415214552,,0.0,-2.4248202511451264,-0.0814729182856659,0.0024904528831925232,-0.27693429702188005,0.0,0.0,0.8368056720480269
567 +4.219507705176107,-5.2756823194937486,9.495190024669856,0.0,-5.00106777884937,-0.08847332422525611,0.0024904528831925232,0.0,0.0,0.0,-0.18863166930231406
568 +,-4.764100086699672,,0.0,-4.882509946649154,-0.13689862527196914,0.04140117222760452,0.0,0.0,0.0,0.2139073129938473
569 +4.962844630259907,-4.136313349620167,9.099157979880074,0.0,-4.029400801652091,0.07430196872456121,0.0,0.0,0.0,0.0,-0.1812145166926344
570 +,-5.081841507454471,,0.0,-5.210943281500425,-0.006473425618973166,0.0024904528831925232,0.0,0.0,0.0,0.1330847467817348
571 +4.143134726391533,-5.413944513574952,9.557079239966484,0.0,-5.4392635057674905,0.06388008820863864,0.0,0.0,0.0,0.0,-0.03856109601609995
572 +5.337538079701318,5.997646700552194,-0.6601086208508757,0.0,-1.8204430502002644,-0.04085312477458154,0.0,7.935540931253016,0.0,0.0,-0.07659805572597696
573 +,5.313704078766045,,0.0,-2.0272554671778966,-0.0735646980754937,0.029276549528124737,7.125946664286195,0.0,0.0,0.25930103020511475
574 +,6.6267234799742045,,0.0,-0.8020343833845125,0.04817366866948343,-0.012124622699479781,7.433636378450526,0.0,0.0,-0.04092756106181247
575 +5.3706380281276624,5.629181677439432,-0.2585436493117692,0.0,-1.3584282895336441,-0.10640056442586207,0.03193970998319576,7.171657101631884,0.0,0.0,-0.10958628021614147
576 +5.556828061699537,6.292223625974957,-0.7353955642754197,0.0,-1.7761262162892208,-0.15900118475949562,0.0,8.256548952914406,0.0,0.0,-0.029197925890729823
577 +4.897839799950911,6.021169289617996,-1.1233294896670847,0.0,-1.5972770930869418,-0.12254288671984698,0.017324634400523453,7.935461090972494,0.0,0.0,-0.2117964559482323
578 +6.396929655216146,7.5980040934654225,-1.2010744382492762,0.0,-1.3196844195703195,0.022885122504461716,0.017324634400523453,7.86173665221767,0.0,0.0,1.0157421039130867
579 +5.71042701737487,5.91552467953929,-0.2050976621644205,0.0,-1.551747256030743,0.053474166578516245,0.029449257100003234,7.573185786376364,0.0,0.0,-0.18883727448485
580 +,5.279288953783801,,0.0,-1.957450232351957,-0.00561878186747921,0.0,7.875543542023516,0.0,0.0,-0.6331855740202799
581 +,5.698324232290628,,0.0,-1.5895290385396201,-0.11354914549949863,0.029449257100003234,7.589141051732028,0.0,0.0,-0.21718789250228246
582 +,5.768533871185151,,0.0,-0.9907310325571546,-0.0998364890025715,0.0,6.558998205555615,0.0,0.0,0.30010318718926154
583 +4.836281906951478,5.070589286071862,-0.23430737912038424,0.0,-1.248099000933263,-0.02681387867360062,0.017324634400523453,6.548083790381044,0.0,0.0,-0.21990625910284206
584 +6.248042874508429,5.622472263979264,0.6255706105291647,0.0,-1.7117822313534248,-0.18323528351834775,-0.012124622699479781,7.723578493520625,0.0,0.0,-0.19396409197010722
585 +,5.155708797434306,,0.0,-2.2545172220699614,0.0771362083583346,0.026786096644932214,7.426822356235028,0.0,0.0,-0.12051864173402495
586 +4.68213122712422,5.574085482985002,-0.8919542558607825,0.0,-1.953558646899591,0.1172761855790785,0.0,7.526790902391718,0.0,0.0,-0.11642295808620276
587 +4.31748811353631,4.458204378302762,-0.14071626476645172,0.0,-2.2534111250712288,0.021218978961498214,0.019815087283715976,6.898170105513895,0.0,0.0,-0.22758866838511965
588 +4.927253685157205,4.772836592955673,0.1544170922015322,0.0,-1.978819034601485,-0.05513693866805108,0.017324634400523453,7.039364566772799,0.0,0.0,-0.2498966349481131
589 +5.318119993844216,5.421234937573217,-0.10311494372900132,0.0,-1.8589242351638973,-0.11368745711300693,0.029449257100003234,7.184282966670876,0.0,0.0,0.1801144060792434
590 +5.0106352940962555,5.969333253056313,-0.958697958960057,0.0,-2.015657548639976,-0.04583834245859534,0.03193970998319576,7.947930143202245,0.0,0.0,0.05095929096944246
591 +5.153291594497779,6.256911179616362,-1.103619585118583,0.0,-1.7623246489499271,0.08857463891864926,0.0,7.959298483048785,0.0,0.0,-0.0286372934011444
592 +5.3706380281276624,4.9967014993639385,0.37393652876372396,0.0,-2.1410212792114907,-0.17988264866309933,0.029276549528124737,7.289587915123491,0.0,0.0,-0.0012590374130861531
593 +6.304448802421981,6.019536672885573,0.28491212953640854,0.0,-1.2313746038317221,-0.02809445726837706,0.017324634400523453,7.493681956983804,0.0,0.0,-0.23200085739865703
594 +,4.8570115864597625,,0.0,-2.442592792637197,-0.011118022219936886,0.026786096644932214,7.307098873983185,0.0,0.0,-0.023162569311220526
595 +7.858640655620791,6.503578433513902,1.3550622221068886,0.0,-1.1764629668833129,-0.09622591314856377,0.04140117222760452,7.7952937673216285,0.0,0.0,-0.06042762600345292
596 +4.997212273764115,5.992940249044021,-0.9957279752799062,0.0,-1.9875583641030046,-0.12543168289356776,0.0,8.1461031766186,0.0,0.0,-0.040172880578008316
597 +4.30406509320417,3.5930576985457083,0.7110073946584619,0.0,-5.399727614547322,-0.11227185544943885,0.0,9.238202504200961,0.0,0.0,-0.13314533565849096
598 +6.539585955617669,5.975198687898994,0.5643872677186748,0.0,-2.2591702091026216,-0.016357330809884343,0.0,8.528142710796985,0.0,0.0,-0.2774164829854854
599 +5.497168225293202,5.312430005103107,0.1847382201900949,0.0,-2.0424491537009333,-0.016102219416273496,0.029449257100003234,7.374908340764341,0.0,0.0,-0.03337621964403024
600 +,5.879319840893079,,0.0,-1.5705101865166142,0.009978758621753611,0.0,7.558726745554049,0.0,0.0,-0.11887547676610984
601 +7.223295679562314,-5.889320142526391,13.112615822088706,0.0,-5.624027277042329,-0.011511008135818769,0.029449257100003234,0.0,0.0,0.0,-0.28323111444824656
602 +,5.17312395184878,,0.0,-1.6399654382330597,-0.08664930325479246,0.0,7.262095687360864,0.0,0.0,-0.3623569940242305
603 +7.729295674310482,4.849829673172462,2.8794660011380193,0.0,-4.769271993501198,-0.1810945535989712,0.0024904528831925232,9.238202504200961,0.0,0.0,0.5595032631884795
604 +6.3818160174060985,5.825899404268571,0.5559166131375273,0.0,-1.5262477355469644,-0.056505869216589094,0.029449257100003234,7.426575189945017,0.0,0.0,-0.04737143801289453
605 +8.23323750070527,6.031699205152331,2.201538295552939,0.0,-2.1341195520473066,-0.09894752419280267,0.038910719344411995,7.20619037884754,0.0,0.0,1.0196651832004904
606 +5.10594547390058,4.9965250844066755,0.10942038949390476,0.0,-1.8982847832695668,-0.036505685047308986,0.019815087283715976,6.889750547569616,0.0,0.0,0.02174991787021989
607 +4.127134385045092,4.995905052200772,-0.8687706671556805,0.0,-2.0007118677126696,0.06839798531575808,0.026786096644932214,6.949871419625683,0.0,0.0,-0.04843858167292975
608 +7.99799931797973,6.2852852209090395,1.7127140970706902,0.0,-2.439691816391953,0.04838763988832269,0.0,8.293018856576818,0.0,0.0,0.3835705408358493
609 +4.948759890378168,4.9781580466645865,-0.029398156286418065,0.0,-1.9371796245494783,0.021371557683682665,0.017324634400523453,6.89434852578606,0.0,0.0,-0.017707046656200577
610 +,6.276036833658795,,0.0,-1.8598523901244057,-0.07312708495689266,0.0,8.60368906209316,0.0,0.0,-0.39467275335306795
611 +4.30406509320417,5.002103410484859,-0.6980383172806892,0.0,-1.4895212324548455,-0.06478039852220333,0.026786096644932214,6.640894289386813,0.0,0.0,-0.11127534456983687
612 +5.075173815233827,5.556763636530968,-0.481589821297141,0.0,-2.0781570482559557,-0.1014939947996617,0.0,7.936282430123049,0.0,0.0,-0.19986775053646272
613 +7.592870287844818,4.4050905805325655,3.1877797073122522,0.0,-3.9460187933211905,-0.020872074570801362,0.0,8.740426046574022,0.0,0.0,-0.36844459814946606
614 +4.653960350157523,5.705492664057025,-1.0515323138995019,0.0,-1.2578255831071603,0.011172288150144809,0.019815087283715976,6.998510696224823,0.0,0.0,-0.06617982449450086
615 +8.605936401250625,5.434234709621212,3.171701691629414,0.0,-1.4618990236901626,-0.12035971164226407,0.0,7.054370868097687,0.0,0.0,-0.0378774231440481
616 +4.6443908991413725,4.882695235692908,-0.23830433655153538,0.0,-2.184796652006093,-0.10297797968784514,0.017324634400523453,7.185518798120931,0.0,0.0,-0.03237356513460564
617 +6.961296045910167,6.089420725996657,0.8718753199135101,0.0,-1.7777908854490745,0.01107787509517154,0.0,7.851816479347054,0.0,0.0,0.004317257003506769
618 +4.836281906951478,5.409014048594983,-0.5727321416435052,0.0,-1.7724270071321282,-0.09461556943387467,0.0,7.440286679767157,0.0,0.0,-0.16423005460617024
619 +6.042632833682381,3.6170082736986084,2.4256245599837727,0.0,-5.194262954350382,-0.013333989874685544,0.0,9.0784399922403,0.0,0.0,-0.25383477431662377
620 +4.875197323201151,4.5186243991590125,0.3565729240421387,0.0,-2.282405649127015,0.020845455956535097,0.029449257100003234,6.881291122572724,0.0,0.0,-0.13055578734323267
621 +7.360739903058278,3.8954379142146167,3.465301988843661,0.0,-4.816162542178516,-0.035364968465632585,0.0024904528831925232,9.0784399922403,0.0,0.0,-0.33396502026472596
622 +7.870165946469845,5.962773969859755,1.9073919766100902,0.0,-1.7418822726283976,-0.21656562293569345,0.038910719344411995,7.85857300810844,0.0,0.0,0.02373813797099486
623 +,4.507878310512758,,0.0,-2.3630120580898097,-0.01303202983894227,0.038910719344411995,7.65750415070426,0.0,0.0,-0.8124924716071615
624 +5.501258210544727,5.46544776406108,0.03581044648364706,0.0,-1.1857629022639342,-0.017422911344611398,0.038910719344411995,6.900067549054745,0.0,0.0,-0.2703446907295299
625 +5.4680601411351315,5.297616558270334,0.17044358286479788,0.0,-1.7226861631630728,0.03952836654317536,0.029449257100003234,7.018279898753575,0.0,0.0,-0.06695480096334719
626 +4.23410650459726,4.719722247261563,-0.4856157426643035,0.0,-2.7186793334592805,-0.05606588940807394,0.038910719344411995,7.467229176185639,0.0,0.0,-0.011672425401134438
627 +4.897839799950911,5.6750964186725215,-0.7772566187216103,0.0,-1.9463859865528415,-0.044138422548748946,0.038910719344411995,7.882228757176238,0.0,0.0,-0.2555186487465369
628 +7.898411092811599,6.900763144527284,0.9976479482843148,0.0,-1.4221777394770028,-0.027939091326771994,0.04140117222760452,8.371014507390216,0.0,0.0,-0.06153570428676064
629 +4.68213122712422,5.4412802839499035,-0.7591490568256836,0.0,-2.136608108561682,0.2222807999262421,0.017324634400523453,7.563198065834936,0.0,0.0,-0.22491510765011555
630 +5.4680601411351315,5.2704646752231366,0.19759546591199495,0.0,-1.8923480104516885,-0.12299489946792908,0.029449257100003234,7.475274410820283,0.0,0.0,-0.21891608277753247
631 +,-5.369790362606098,,0.0,-5.162345917862838,-0.1521703645897597,0.0024904528831925232,0.0,0.0,0.0,-0.05776453303669285
632 +,-2.405989298524334,,0.0,-2.0472716436375453,0.12912576491588085,0.038910719344411995,-0.5987292756807537,0.0,0.0,0.07197513653367073
633 +,-2.0538550659850143,,0.0,-1.4352740357174847,-0.16302792971515082,0.0,-0.5973698610856933,0.0,0.0,0.14181676053331327
634 +7.079184394609668,-5.6271283008031405,12.706312695412809,0.0,-5.50561000159731,0.11951898426221931,0.0,0.0,0.0,0.0,-0.2410372834680499
635 +4.867534450455582,5.925076654989284,-1.0575422045337017,0.0,-2.2987603466925206,0.04589254248585341,0.029449257100003234,8.109478440835934,0.0,0.0,0.039016761260014285
636 +5.030437921392435,6.72247443166066,-1.6920365102682249,0.0,-2.303896590530843,-0.010277848913603498,0.017324634400523453,7.7952937673216285,0.0,0.0,1.2240304693829547
637 +,5.400169244134678,,0.0,-2.0567301619864296,0.03464779544021015,0.0,7.466905458351981,0.0,0.0,-0.044653847671086724
638 +7.806289289267033,5.219871629625485,2.5864176596415485,0.0,-4.375014758627541,-0.14944401079069822,0.0024904528831925232,9.238202504200961,0.0,0.0,0.5036374419595716
639 +7.510430556378006,6.613583088268868,0.8968474681091383,0.0,-2.564883920337697,-0.04754370527546986,0.038910719344411995,9.238202504200961,0.0,0.0,-0.05110250966333724
640 +5.402677381872279,6.155977353144965,-0.7532999712726856,0.0,-1.5846926105277452,0.06800023226478999,0.0,7.687047746932401,0.0,0.0,-0.01437801552448105
641 +5.948269948520708,5.187713241636241,0.7605567068844667,0.0,-1.672506394259412,-0.016014392470151465,0.029449257100003234,6.923947387891339,0.0,0.0,-0.07716261662553617
642 +,5.830944734481257,,0.0,-1.3862530524940473,-0.0512775838392147,0.03193970998319576,7.521807199755189,0.0,0.0,-0.2852715389238677
643 +,5.706333353969973,,0.0,-2.518713572159548,0.1621178921672861,0.0,7.78978388835603,0.0,0.0,0.27314514560620473
644 +5.0238805208462765,5.066077280860204,-0.042196760013927914,0.0,-2.0536656757844964,-0.07030480049175383,0.026786096644932214,7.302170881710033,0.0,0.0,-0.13890922121851013
645 +5.159744716684097,4.9566191723265565,0.20312554435754038,0.0,-2.450292744688528,-0.12806294400146156,0.017324634400523453,7.776687244171876,0.0,0.0,-0.2590370175558532
646 +4.564660642649882,5.764756889055611,-1.200096246405729,0.0,-0.9755484090278079,-0.13059200768829754,0.029276549528124737,6.98053189093603,0.0,0.0,-0.13891113469243985
647 +,5.397149393945197,,0.0,-1.9578106879370667,0.13503237952571598,0.026786096644932214,7.220318972562371,0.0,0.0,-0.027177366850753944
648 +7.850103545175582,6.006537385534578,1.8435661596410036,0.0,-1.2469615022044236,0.08634438366447049,0.04140117222760452,7.512201329649049,0.0,0.0,-0.386447997802122
649 +5.385961876400083,5.153874169626465,0.23208770677361823,0.0,-1.9732644411205165,-0.07479401007330896,0.029449257100003234,7.299946385099934,0.0,0.0,-0.1274630213796478
650 +7.954723334497908,6.359831604305815,1.594891730192093,0.0,-1.4564070570748298,0.08607336302751498,0.038910719344411995,7.757739379936711,0.0,0.0,-0.06648480092799444
651 +7.3427791893318455,5.385651611565216,1.957127577766629,0.0,-1.5070939821477127,-0.1403656593506221,-0.009634169816287258,7.243425875623601,0.0,0.0,-0.20068045274376223
652 +4.997212273764115,6.238344943828919,-1.241132670064804,0.0,-1.673779751779283,-0.090080945748189,0.029449257100003234,8.191836232048441,0.0,0.0,-0.21907984779205572
653 +4.890349128221754,6.610641389818212,-1.720292261596458,0.0,-2.3628448035149976,0.10411848481629184,0.0,8.629475351904443,0.0,0.0,0.2398923566124745
654 +9.264260213965613,6.762248252400143,2.5020119615654703,0.0,-2.0988057577824133,-0.04133554135984792,0.0,7.542677500952605,0.0,0.0,1.3597120505897982
655 +2.9444389791664403,5.701693247316325,-2.757254268149885,0.0,-1.8328287321582781,-0.09090645661461903,-0.012124622699479781,7.882970256046271,0.0,0.0,-0.24541719725756816
656 +,4.6765302111366465,,0.0,-2.4596669703534255,0.04510998564809144,0.026786096644932214,7.2338150860795425,0.0,0.0,-0.16951398688249453
657 +,5.328986682433103,,0.0,-1.14346005436684,0.0044456061349253465,0.0,6.714346462175599,0.0,0.0,-0.246345331510581
658 +,5.567349624059717,,0.0,-1.941191441506617,0.07422090184518366,0.04140117222760452,7.524566405781619,0.0,0.0,-0.13164741428807286
659 +6.059123195581797,6.721720237607011,-0.6625970420252143,0.0,-1.1220030470447089,0.044809135091761404,0.0,8.005135718527233,0.0,0.0,-0.2062215689672776
660 +,5.390034564181622,,0.0,-1.765511894760806,-0.022886909290297325,-0.009634169816287258,7.450709841679212,0.0,0.0,-0.26264230363020047
661 +7.5443321080536885,3.6933283747467236,3.851003733306965,0.0,-5.1125639977272215,-0.017657097751354676,0.038910719344411995,9.238202504200961,0.0,0.0,-0.45356375332007326
662 +4.663439094112067,5.505833070313988,-0.8423939762019215,0.0,-1.85599079102174,-0.04873460764311888,0.029449257100003234,7.622146495346896,0.0,0.0,-0.2410372834680499
663 +5.099866427824199,5.7741131962013625,-0.6742467683771638,0.0,-1.2498012966701912,-0.13243192707125767,0.04140117222760452,7.305739459388125,0.0,0.0,-0.1907942116729186
664 +,5.627927465182295,,0.0,-1.7473917136599848,0.04557527195473095,0.0024904528831925232,7.342745404512894,0.0,0.0,-0.015491950508537449
665 +5.181783550292085,5.122499775221899,0.05928377507018645,0.0,-2.2228688481950494,-0.14019974221435483,0.017324634400523453,7.677663620310747,0.0,0.0,-0.20941988907996612
666 +8.072779333169498,5.359107002359187,2.7136723308103106,0.0,-4.10502042202719,-0.10281646117632752,0.0024904528831925232,9.238202504200961,0.0,0.0,0.32625092847855075
667 +,5.563457798918084,,0.0,-1.6281824808381629,-0.11136601760777087,0.04140117222760452,6.851027534831343,0.0,0.0,0.4105775903050708
668 +4.31748811353631,5.571892464017768,-1.2544043504814582,0.0,-1.3756938940516337,-0.0781862116074157,0.0,7.256321282599833,0.0,0.0,-0.23054871292301307
669 +6.513155924184279,4.406037370829727,2.1071185533545513,0.0,-5.084941626449653,0.026198448945827835,0.0,9.238202504200961,0.0,0.0,0.2265780441325923
670 +4.418840607796598,5.780024941931953,-1.3611843341353547,0.0,-2.5032419261145833,0.06837959091865281,0.029449257100003234,8.169945649986037,0.0,0.0,0.015492370041843284
671 +5.267858159063328,5.036043551966797,0.23181460709653123,0.0,-2.1141334334147706,-0.04443929857404057,0.029449257100003234,7.262639164005028,0.0,0.0,-0.09747213714942546
672 +4.867534450455582,6.1997432773255765,-1.3322088268699943,0.0,-1.5753309104812914,-0.01334797996098095,0.0024904528831925232,7.895880229203346,0.0,0.0,-0.10994851431869096
673 +8.027476530860483,5.335183742724488,2.692292788135995,0.0,-1.5300510821942197,-0.1056024446457829,0.0024904528831925232,7.068839348773286,0.0,0.0,-0.10049253209198765
674 +5.483468250352151,4.761401967564767,0.7220662827873836,0.0,-2.2048198074651433,-0.11804518574925141,0.017324634400523453,7.1343558403200396,0.0,0.0,-0.0674135139414036
675 +,5.188239833473129,,0.0,-4.030141719375771,0.03596628410022411,0.0024904528831925232,9.0784399922403,0.0,0.0,0.10148482362518388
676 +,5.712568982698175,,0.0,-1.5237292678413512,-0.009396785332194072,0.04140117222760452,7.228478277588942,0.0,0.0,-0.024184413944826094
677 +8.119475990606041,6.364810810437527,1.754665180168514,0.0,-1.7376981308771784,-0.10278486946279819,0.0,8.005135718527233,0.0,0.0,0.20015809225027048
678 +5.411110194023159,6.011290952351149,-0.6001807583279897,0.0,-1.290472447287521,0.09863397391701106,0.0,7.463258566646989,0.0,0.0,-0.2601291409253304
679 +,5.113038888102866,,0.0,-2.1574184214938414,-0.04375733183184956,0.017324634400523453,7.301182216549989,0.0,0.0,-0.004292209521956636
680 +,6.007972040858188,,0.0,-2.174679686847619,0.05401347445061032,0.0,7.737314486183962,0.0,0.0,0.3913237670712352
681 +7.4815557019095165,4.80057463189128,2.6809810700182366,0.0,-4.353241741419357,-0.045857543785270585,0.04140117222760452,9.238202504200961,0.0,0.0,-0.07992975933265944
682 +8.263577545936348,6.034452140547821,2.229125405388527,0.0,-1.3558315613966307,-0.041250751868125345,0.0024904528831925232,7.459645581134421,0.0,0.0,-0.030601580205035638
683 +,6.528395642069617,,0.0,-1.104968527077558,-0.04349516204903861,0.029449257100003234,7.87492562629849,0.0,0.0,-0.22751555220227782
684 +7.982395861810816,5.706753906612984,2.275641955197832,0.0,-1.6982134714667154,0.0029358243013512877,-0.012124622699479781,7.552772993745722,0.0,0.0,-0.13861681726789443
685 +4.201253877869777,5.012497243351394,-0.8112433654816167,0.0,-2.1342224995712806,0.03177546609962908,0.0,7.17966229514867,0.0,0.0,-0.06471801832562388
686 +,4.888506107845468,,0.0,-2.6844239752013452,-0.029639720622003388,0.029276549528124737,7.6947578843218505,0.0,0.0,-0.12146463018115705
687 +7.973227794712968,5.5030465084470865,2.4701812862658814,0.0,-1.5300510821942197,0.06038381191008436,0.0024904528831925232,7.068839348773286,0.0,0.0,-0.09861602292525634
688 +4.991452474679482,5.064549065202624,-0.07309659052314199,0.0,-2.1464765396850005,-0.19882227206526176,0.026786096644932214,7.396452740500625,0.0,0.0,-0.013390960192669438
689 +4.254477313726906,4.016141059006146,0.23833625472076037,0.0,-5.427556371961943,-0.10913098128053539,0.0,9.238202504200961,0.0,0.0,0.3146259080476631
690 +4.179145163914566,4.81589128325376,-0.6367461193391941,0.0,-1.5068593565343766,-0.14977241371705263,0.026786096644932214,6.698659406114947,0.0,0.0,-0.2529224492546894
691 +,5.06102328911601,,0.0,-1.8964026407512984,0.01631326540421616,0.038910719344411995,6.978873245898714,0.0,0.0,-0.07667130078003444
692 +,6.19594432908649,,0.0,-2.189510788436208,-0.06516489911695982,0.0,8.442235448611198,0.0,0.0,0.008384568028460493
693 +5.489557368849238,5.531017335040546,-0.041459966191307984,0.0,-1.759943233288129,0.0045924596796680685,0.0,7.519016149979711,0.0,0.0,-0.2326480413307028
694 +5.035197816924508,5.588561610605158,-0.5533637936806501,0.0,-2.313385429484728,0.019715770512039224,0.0,8.009851451099134,0.0,0.0,-0.12762018152128937
695 +,-1.6319859333698967,,0.0,-1.3017177109189673,-0.11084474959699978,0.04140117222760452,-0.5984821093907428,0.0,0.0,0.3376574643092102
696 +5.7430031878094825,-4.6681159333466855,10.411119121156169,0.0,-4.611594774920238,-0.12690238459632563,0.0,0.0,0.0,0.0,0.0703812261698786
697 +,-4.859990802848133,,0.0,-5.008447518948135,-0.14748519496892426,0.04140117222760452,0.0,0.0,0.0,0.25454073884132283
698 +,-3.3498753778321047,,0.0,-2.2881443908243373,-0.05942533760507204,-0.012124622699479781,-0.7434228090108422,0.0,0.0,-0.24675821769237355
699 +,-2.6455138568032392,,0.0,-1.8527618510354147,-0.04082503342587277,0.017324634400523453,-0.7423105607057928,0.0,0.0,-0.026941046036680266
700 +,-2.03951420654873,,0.0,-1.6994356744471801,0.02047035947731409,0.0,-0.11510993410490197,0.0,0.0,-0.24543895747396283
701 +,-2.9877090915843545,,0.0,-1.618918953373865,0.14026951778246896,0.0,-0.4370284959087812,0.0,0.0,-1.0720311600841763
702 +,-5.248198732543798,,0.0,-5.03567226385408,-0.017283604187654907,0.0024904528831925232,0.0,0.0,0.0,-0.1977333173852553
703 +3.871201010907891,-3.0078028487246153,6.8790038596325065,0.0,-1.9910193644368421,-0.08653240653962144,0.0,-0.5963811959256494,0.0,0.0,-0.3338698818225001
704 +4.997212273764115,-6.083686611793179,11.080898885557293,0.0,-5.826596428922489,-0.1538620757795423,0.029449257100003234,0.0,0.0,0.0,-0.1326773641911513
705 +,-4.5510922069045705,,0.0,-5.094452241545795,0.032650267211095804,0.038910719344411995,0.0,0.0,0.0,0.47179904808571854
706 +,-2.9292600877315804,,0.0,-2.8091061167370697,0.09332478799988961,0.0,-0.11510993410490197,0.0,0.0,-0.09836882488949765
707 +4.634728988229636,-2.3027579379814243,6.93748692621106,0.0,-1.484545916021693,-0.12904725587547064,0.029449257100003234,-0.4345568330086713,0.0,0.0,-0.2840571901755912
708 +4.430816798843313,-1.7521486427207755,6.182965441564089,0.0,-1.6509870848695922,-0.11455251804385283,0.0,0.0,0.0,0.0,0.013390960192669438
709 +4.248495242049359,-6.1101543561793115,10.35864959822867,0.0,-5.921010770834554,0.0025945972331939977,0.029449257100003234,0.0,0.0,0.0,-0.22118743967795396
710 +,-5.975612831178158,,0.0,-5.514853110933945,-0.024507364802491327,0.0,0.0,0.0,0.0,-0.4362523554417227
711 +,-2.831171382873889,,0.0,-2.160451074807291,0.0003752388813281979,0.0,-0.5982349431007318,0.0,0.0,-0.07286060384719428
712 +,-5.7162057836134625,,0.0,-5.386831253605939,-0.07292457501719363,0.0,0.0,0.0,0.0,-0.25644995499033085
713 +4.23410650459726,-3.1909102102497813,7.425016714847041,0.0,-2.943616070869622,0.1398228855762082,0.0,-0.12339000482026995,0.0,0.0,-0.2637270201360967
714 +5.860786223465865,5.697098082914327,0.16368814055153802,0.0,-1.6087611730251155,-0.010821251469877245,0.0,7.541640606410736,0.0,0.0,-0.2249600990014171
715 +5.075173815233827,5.053354421940617,0.021819393293209366,0.0,-2.0014337854267685,-0.1792055750651131,0.026786096644932214,7.410677097997205,0.0,0.0,-0.20346941220963835
716 +3.871201010907891,4.977166304651101,-1.10596529374321,0.0,-1.9546343550735399,0.07785872861165655,0.0,7.166681738838324,0.0,0.0,-0.31273980772533905
717 +9.561138078742038,5.8344119632689635,3.726726115473075,0.0,-1.565810906183267,-0.01940557261361101,0.038910719344411995,7.493434790693793,0.0,0.0,-0.11271706797236396
718 +,5.423329378726359,,0.0,-2.1071999454539663,-0.031084754280566115,0.017324634400523453,7.597853284831045,0.0,0.0,-0.05356384077067775
719 +4.406719247264253,4.995008248849516,-0.5882890015852631,0.0,-2.191308671421555,0.0169988707317624,0.026786096644932214,7.142531952894378,0.0,0.0,0.0
720 +3.258096538021482,5.212148566883654,-1.9540520288621717,0.0,-1.9431122342171916,-0.1453088543185875,0.0,7.3623605438717075,0.0,0.0,-0.06179088845227526
721 +4.897839799950911,4.523506390652528,0.37433340929838277,0.0,-2.5537685158825445,-0.05576327472105852,0.029449257100003234,7.208304806169028,0.0,0.0,-0.10471588201289866
722 +,-3.91850400302582,,0.0,-4.05266960791052,0.012782213256698174,0.0024904528831925232,0.0,0.0,0.0,0.11889293874480963
723 +,5.139158398471439,,0.0,-1.7965915042168934,0.011350902470580203,0.017324634400523453,7.1337410012942275,0.0,0.0,-0.2266666354769986
724 +5.072482697422336,5.42234793864005,-0.34986524121771456,0.0,-1.7836079843715646,-0.08065781488520089,0.0,7.2538331323364105,0.0,0.0,0.0327806055604051
725 +6.615060664706812,5.0347586792811905,1.5803019854256215,0.0,-3.1918366890086487,-0.2925045958043322,0.0,8.629475351904443,0.0,0.0,-0.11037538781027015
726 +4.881285622068407,5.41418183706297,-0.5328962149945635,0.0,-2.0704704286901308,-0.10566752952406847,0.038910719344411995,7.294357314987013,0.0,0.0,0.2570517609457429
727 +5.320078858329549,6.1890314742570895,-0.8689526159275403,0.0,-1.9151784114570694,-0.02273715447560125,0.0,8.1461031766186,0.0,0.0,-0.019156136428840786
728 +7.892586513373161,6.125943166468059,1.7666433469051022,0.0,-2.437419144571278,0.09949747825243394,0.0024904528831925232,8.208942978183227,0.0,0.0,0.2524314017204841
729 +7.356356501967436,6.985231297432826,0.37112520453461073,0.0,-1.4374408655658533,0.00039889595888413856,0.0024904528831925232,8.368705490143888,0.0,0.0,0.05107732401271478
730 +4.858881738868719,5.015898671779112,-0.15701693291039298,0.0,-1.6658309394117365,-0.18224095577632643,0.038910719344411995,7.138055612445804,0.0,0.0,-0.3129957648230398
731 +4.564348191467836,5.0021984109393705,-0.43785021947153435,0.0,-1.936238241306035,-0.02475649229725098,0.026786096644932214,6.978293100485142,0.0,0.0,-0.04188605258741791
732 +,4.094765124352369,,0.0,-2.6461637738329697,0.03294266884394215,0.026786096644932214,6.956351124617563,0.0,0.0,-0.27515099192110004
733 +5.32952529367223,4.71425629209326,0.6152690015789704,0.0,-2.227924735236738,-0.1654618117335037,0.017324634400523453,7.307593206563207,0.0,0.0,-0.21727500190022958
734 +5.836446824841373,4.812602899557084,1.0238439252842886,0.0,-1.6873349860603035,-0.10380653636919557,0.0,7.461024568791174,0.0,0.0,-0.857280146804593
735 +4.190260619051927,6.560578544845469,-2.3703179257935414,0.0,-1.5585534300920267,0.06201443144198864,0.038910719344411995,8.293018856576818,0.0,0.0,-0.2748120324257255
736 +6.210841011852947,6.571604703836632,-0.36076369198368496,0.0,-1.3482731847325837,0.047722809452720734,0.017324634400523453,7.882970256046271,0.0,0.0,-0.028139811330298442
737 +4.696654876110269,5.040897752203086,-0.34424287609281645,0.0,-1.990767901118839,-0.005260810949115964,0.017324634400523453,7.284770946938466,0.0,0.0,-0.26516911706794766
738 +,4.554040038499872,,0.0,-2.0634248895697427,-0.058978268089661244,0.017324634400523453,6.76381412649566,0.0,0.0,-0.10469556473690755
739 +,5.07188607548888,,0.0,-1.4479873230473679,-0.09813496949793121,0.017324634400523453,6.621356290799642,0.0,0.0,-0.0206725571659854
740 +,6.482986617308773,,0.0,-2.1200997308635383,-0.04316583037586163,0.0024904528831925232,8.600599483468022,0.0,0.0,0.04316224219695794
741 +7.94692537149298,5.780979184734517,2.165946186758463,0.0,-1.9270154617356914,-0.22572920516113737,0.029449257100003234,8.134852470349093,0.0,0.0,-0.23057787581774927
742 +4.722864328804734,5.332457930066343,-0.6095936012616088,0.0,-2.2260225301172207,-0.01659425967699398,0.026786096644932214,7.610719519929885,0.0,0.0,-0.06243089671425702
743 +4.564348191467836,5.0727297909779265,-0.5083815995100904,0.0,-1.3219323540710413,-0.12006096700000138,0.026786096644932214,6.7104121460835655,0.0,0.0,-0.22247513067952768
744 +5.28978103552575,3.2385446430131606,2.0512363925125894,0.0,-5.635988441290613,-0.07473231060806645,0.0,9.0784399922403,0.0,0.0,-0.1291745973284591
745 +5.449406220910893,4.89987220885951,0.5495340120513825,0.0,-2.4482391109112376,-0.06853185907445035,0.026786096644932214,7.5639395647049685,0.0,0.0,-0.1740824825047027
746 +6.812466098957315,6.56806885577593,0.24439724318138456,0.0,-1.3370875890039349,-0.11293245734757246,0.0,8.08468813815901,0.0,0.0,-0.06659923603157303
747 +,4.8336629996834874,,0.0,-2.2708851766529063,-0.10016913985182252,0.017324634400523453,7.198916953197844,0.0,0.0,-0.011524271410148711
748 +7.977923510516103,-5.1808641125473365,13.15878762306344,0.0,-5.35262923976891,0.06582142867914625,0.029449257100003234,0.0,0.0,0.0,0.0764944414424242
749 +,4.6251000277697125,,0.0,-2.932721128846085,-0.025932930099338756,0.029449257100003234,7.581666169409639,0.0,0.0,-0.027361339794505862
750 +7.532130992114872,6.722092175876218,0.8100388162386531,0.0,-1.1468416646873214,-0.018214609641198386,0.0024904528831925232,7.648264959370541,0.0,0.0,0.23639303795100478
751 +4.876875303916732,6.155605927416277,-1.2787306234995448,0.0,-1.7366581073183012,-0.02525759475901116,0.038910719344411995,8.134852470349093,0.0,0.0,-0.25624156019991456
752 +6.544213958197556,6.6535230984832445,-0.1093091402856885,0.0,-1.3145407880725246,-0.10816598128894152,0.017324634400523453,7.96466132436084,0.0,0.0,0.09424390908334615
753 +5.545802249248404,5.112965183123041,0.4328370661253631,0.0,-1.78768126129175,-0.19574570466145186,-0.012124622699479781,7.318935782751917,0.0,0.0,-0.210419010976194
754 +7.682519312214405,5.101213857262037,2.5813054549523677,0.0,-1.9756094080073954,-0.10646693286586675,0.038910719344411995,7.453770147482505,0.0,0.0,-0.30939066869161747
755 +5.1084876942637605,4.889828232735187,0.2186594615285733,0.0,-2.3286961247967914,-0.1421834699319863,0.017324634400523453,7.522795864915233,0.0,0.0,-0.17941267185179147
756 +,5.813501092029078,,0.0,-2.502411306355391,0.19915229171497145,0.0,8.095589672012466,0.0,0.0,0.02117043465703466
757 +7.8757158343478615,5.234713740148898,2.6410020941989636,0.0,-1.930988345317135,-0.04338802433016993,0.017324634400523453,7.211878493108882,0.0,0.0,-0.02011301771320282
758 +8.326790268166588,-4.552751204590636,12.879541472757225,0.0,-4.283194031063413,0.05998419869828516,0.0,0.0,0.0,0.0,-0.3295413722255085
759 +4.493120682179469,6.436900820460006,-1.9437801382805375,0.0,-2.0486236935022113,0.034703566920758516,0.0,7.915843792256553,0.0,0.0,0.5349771547849073
760 +5.828298349353768,5.680017681698269,0.14828066765549952,0.0,-2.7166324821452985,-0.12826397821476526,0.0,8.528142710796985,0.0,0.0,-0.003228568738655485
761 +5.270946169751904,-3.6245460493853,8.895492219137203,0.0,-3.9553782156965065,0.1531668373242688,0.0,0.0,0.0,0.0,0.17766532898693863
762 +,5.631138435796347,,0.0,-1.9914379096944383,-0.10145024032871908,0.019815087283715976,7.816122412389874,0.0,0.0,-0.11191091385408536
763 +7.4794182078282265,6.076262721497384,1.4031554863308422,0.0,-1.6301475306333586,0.02068322369543424,0.038910719344411995,7.509656978993851,0.0,0.0,0.13715933009704603
764 +5.22397090441938,5.651343016532218,-0.4273721121128382,0.0,-2.0725286615561584,-0.007209158986537102,0.026786096644932214,7.343438164644775,0.0,0.0,0.36085657578520625
765 +7.688757647090094,5.058211544726827,2.630546102363267,0.0,-2.0591758886548233,-0.19287273654822906,0.0,7.349277843505483,0.0,0.0,-0.039017673575604324
766 +4.029806041084529,4.401664588865221,-0.3718585477806915,0.0,-2.7297145788702926,0.002887018599487194,0.026786096644932214,7.285018113228477,0.0,0.0,-0.1833120607373817
767 +,5.530195786027643,,0.0,-1.353412925669656,-0.11733131754476078,0.029276549528124737,6.837755752175247,0.0,0.0,0.13390772753868838
768 +4.986479204218496,4.74555284934449,0.2409263548740066,0.0,-2.5180318681691896,0.02212342901949594,0.0,7.308710622240392,0.0,0.0,-0.06724933374620864
769 +6.220550407877821,5.675977246959814,0.5445731609180067,0.0,-1.8888160649940025,-0.10535922578326509,0.019815087283715976,7.758357295661739,0.0,0.0,-0.1080198452083752
770 +5.354508646197779,5.279373483572253,0.07513516262552589,0.0,-2.178537511803028,-0.05082126347122172,0.026786096644932214,7.757739379936711,0.0,0.0,-0.2757932177351403
771 +5.440988117712199,6.1650592252233825,-0.7240711075111834,0.0,-1.4097619646248551,0.005181803972756249,0.029276549528124737,7.662839605421093,0.0,0.0,-0.12247676907373381
772 +,4.209291196146023,,0.0,-3.078617057969148,-0.04867064830737785,0.017324634400523453,7.533509631104738,0.0,0.0,-0.214255363082711
773 +7.862112211662748,5.647405624884681,2.2147065867780675,0.0,-2.173003367325964,-0.01775374676885386,0.029276549528124737,7.425586524784973,0.0,0.0,0.3832996646663992
774 +7.670647714584195,7.417421902476711,0.25322581210748396,0.0,-1.2758970003847825,0.047036956069865674,0.0024904528831925232,8.451382891433644,0.0,0.0,0.19240860247479172
775 +7.611243803048749,7.929940431447883,-0.3186966283991337,0.0,-0.3190278077748152,-0.05444792552609279,0.04140117222760452,8.222776125363746,0.0,0.0,0.03923886715744171
776 +5.9797967422403,5.491957042292889,0.4878396999474104,0.0,-1.7543099660475976,-0.22390220987994877,0.017324634400523453,7.552155078020695,0.0,0.0,-0.09931049420077975
777 +,5.577109578017074,,0.0,-2.403978739950187,0.031009868356519428,0.029449257100003234,8.12149359540078,0.0,0.0,-0.20086440289004157
778 +,4.485325866747592,,0.0,-2.192157008555969,-0.10764614934066784,0.026786096644932214,6.940637075983936,0.0,0.0,-0.1822941479846396
779 +8.685618643018081,5.540063008644814,3.1455556343732676,0.0,-2.5031543835787184,-0.10871404066546603,0.0,8.256548952914406,0.0,0.0,-0.10461752002540717
780 +,5.708361152707902,,0.0,-1.658491986312204,-0.05200633046880675,0.029449257100003234,7.541489131587275,0.0,0.0,-0.15207891919836308
781 +5.804200797774708,6.712966928494798,-0.9087661307200898,0.0,-1.672148271286356,-0.010894887581264969,-0.012124622699479781,7.6490128240558075,0.0,0.0,0.7591218860060926
782 +,5.483236934595335,,0.0,-1.4373691684291776,-0.024720212130850166,0.0,7.506614637979611,0.0,0.0,-0.5612883228242492
783 +7.3364810806648535,6.322589311412884,1.0138917692519698,0.0,-1.9680549865491708,0.09420073804291612,0.026786096644932214,8.063013613403083,0.0,0.0,0.10664384987112482
784 +4.703385233485046,4.770069681605439,-0.06668444812039276,0.0,-2.211388351539351,0.1325396209251249,0.026786096644932214,7.144572371096538,0.0,0.0,-0.3224400555218042
785 +7.87644868964934,5.802012860666031,2.074435828983309,0.0,-2.11593793000052,-0.05312677020630305,0.0,7.969039438235639,0.0,0.0,0.0020381226372148675
786 +5.409232427119192,6.488385500267304,-1.0791530731481123,0.0,-2.353156679322483,0.022936449435979445,0.029449257100003234,8.849976751964636,0.0,0.0,-0.06082027891083052
787 +6.836259277277067,5.26351546966582,1.5727438076112472,0.0,-1.6902473212191387,-0.2616876125798291,0.0,7.596144873879334,0.0,0.0,-0.3806944704145472
788 +8.388477612694162,4.04011362702796,4.348363985666202,0.0,-4.848263712014988,-0.0792600764740324,0.0,9.238202504200961,0.0,0.0,-0.27056508868398066
789 +,5.588201913783413,,0.0,-2.436226715495958,0.11118767836227449,0.029449257100003234,7.9960763959270205,0.0,0.0,-0.11228470210992836
790 +4.812346943780222,4.483376666784333,0.32897027699588843,0.0,-2.898190031675343,-0.04309610400382589,0.0,7.673895831403087,0.0,0.0,-0.2492330289395837
791 +4.770684624465665,5.668479686896194,-0.8977950624305286,0.0,-2.045746750984014,-0.1061367116147423,0.029449257100003234,7.947930143202245,0.0,0.0,-0.15701625080729714
792 +,6.216780260491533,,0.0,-1.9849281003343817,-0.1029001168245002,0.026786096644932214,8.031473113793162,0.0,0.0,0.24634926721231973
793 +8.310414994188292,6.95180482946121,1.3586101647270823,0.0,-1.228308164316564,-0.16279818473360563,0.0,8.368705490143888,0.0,0.0,-0.02579431163251031
794 +7.654064007656315,-5.435436569814318,13.089500577470632,0.0,-5.3738768321517885,0.061747013376186786,0.029449257100003234,0.0,0.0,0.0,-0.15275600813871873
795 +5.1891161515042725,5.715830088080004,-0.5267139365757316,0.0,-2.168477435882682,-0.06427200524364034,0.0,7.9370239289930815,0.0,0.0,0.011555600213244241
796 +5.989587787095122,6.287506540984761,-0.29791875388963884,0.0,-1.4440467919522657,0.03383083950452985,0.017324634400523453,8.063013613403083,0.0,0.0,-0.38261575437111256
797 +,4.575214196496889,,0.0,-4.81717279993993,-0.12865673779915837,0.0024904528831925232,9.238202504200961,0.0,0.0,0.2803507771518252
798 +5.14644741720991,5.087573641786348,0.05887377542356198,0.0,-2.1749258267492557,-0.1815430313402691,0.017324634400523453,7.623229232092012,0.0,0.0,-0.19651136661666027
799 +5.455791090372227,4.982251490402645,0.4735395999695813,0.0,-1.9571255101558203,-0.11936659107379197,0.026786096644932214,7.388240789549603,0.0,0.0,-0.35628329456227764
800 +7.967900437148887,3.4093289761246126,4.5585714610242745,0.0,-5.485703877607287,0.011225107135320083,0.029449257100003234,9.238202504200961,0.0,0.0,-0.38384401470438234
801 +4.706010500914163,5.716396785311817,-1.0103862843976543,0.0,-2.002020572049844,-0.007775780420580233,0.0,7.805979243868606,0.0,0.0,-0.07978610608636491
802 +5.308020142009422,5.873021576530184,-0.5650014345207621,0.0,-1.8855492128807647,-0.005028458266015327,0.017324634400523453,7.859947852617124,0.0,0.0,-0.11367323934068091
803 +4.649378440652412,6.2369881165669465,-1.5876096759145346,0.0,-1.3359423209612498,-0.0295465724330456,0.0024904528831925232,7.664649609731692,0.0,0.0,-0.06466305265364006
804 +5.197225504986763,6.29968635831864,-1.102460853331877,0.0,-1.8948495205376963,-0.08384222004975837,0.0,7.773994238722716,0.0,0.0,0.5043838601833784
805 +4.959271821807698,5.81860768874115,-0.8593358669334528,0.0,-1.1362480082174775,-0.11839611012757972,0.038910719344411995,7.056895882371896,0.0,0.0,-0.022554794630101294
806 +,-5.464178598856863,,0.0,-5.173371754066813,0.009912373065999283,0.0,0.0,0.0,0.0,-0.3007192178560484
807 +,6.188295246012474,,0.0,-1.3624892632247638,-0.06969394652302335,0.017324634400523453,7.374166841894308,0.0,0.0,0.22898697946543087
808 +4.133244711179657,5.404818729454024,-1.2715740182743671,0.0,-2.4137785243061476,-0.016361654331751734,0.026786096644932214,7.86173665221767,0.0,0.0,-0.05356384077067775
809 +7.5206030522573535,5.705029574047886,1.8155734782094672,0.0,-2.175450763793945,-0.035879477192935154,0.0,8.16677155072467,0.0,0.0,-0.2504117356899044
810 +9.163692062397688,4.538874616458453,4.624817445939235,0.0,-2.066551734773289,-0.048633366185891216,0.017324634400523453,6.8552992940671285,0.0,0.0,-0.2185642110500189
811 +8.37596597605275,4.8430400262578015,3.532925949794949,0.0,-3.9844807383836214,0.02858247453965534,0.0,9.0784399922403,0.0,0.0,-0.27950170213853187
812 +5.658436372889324,5.469923544873956,0.18851282801536762,0.0,-1.538110663323101,-0.1191078752415066,0.017324634400523453,7.1979282880378,0.0,0.0,-0.08811083899975783
813 +3.8031005982039594,5.2580218710011275,-1.454921272797168,0.0,-2.338409801959153,-0.09711314274437867,0.017324634400523453,7.837426132271409,0.0,0.0,-0.16120595096727067
814 +4.401584133889412,5.325618976398716,-0.9240348425093039,0.0,-1.3769314081293578,-0.09013992290567929,0.038910719344411995,7.021612246290607,0.0,0.0,-0.2678326582012638
815 +5.213249554157973,5.712316185869847,-0.49906663171187393,0.0,-2.1268107387992545,-0.0017782063866677265,0.029449257100003234,7.947930143202245,0.0,0.0,-0.13647426924648082
816 +4.706010500914163,5.794186083246956,-1.0881755823327932,0.0,-2.0340803645928434,0.005740564882883846,0.029449257100003234,7.901768103702356,0.0,0.0,-0.10869147784544289
817 +8.32621184666029,7.899972519716068,0.42623932694422084,0.0,-0.17369178736857638,-0.022138886941090882,0.04140117222760452,8.063013613403083,0.0,0.0,-0.008611591604951258
818 +4.940498911907225,5.476664843383238,-0.5361659314760132,0.0,-2.0987080286408366,-0.11027928187799865,0.038910719344411995,7.691545506229417,0.0,0.0,-0.0448040716717546
819 +3.925728652484258,4.673995486757607,-0.7482668342733492,0.0,-2.440769273090835,-0.09388272418694006,0.026786096644932214,7.205696046267518,0.0,0.0,-0.023834658877067316
820 +5.2356970045663696,5.723365760822897,-0.48766875625652784,0.0,-2.0158203583629666,0.044393840838929714,0.0,7.6979454141327395,0.0,0.0,-0.0031531357858051168
821 +,5.54027040624276,,0.0,-2.1017263081153112,-0.04179130132522173,0.017324634400523453,7.863922086318992,0.0,0.0,-0.19745870503622137
822 +5.536034209711707,5.300422312462214,0.23561189724949294,0.0,-2.127452305844966,-0.03728618518746278,0.029276549528124737,7.622364150076973,0.0,0.0,-0.18647989611045446
823 +5.903643751718553,6.082067633603086,-0.17842388188453295,0.0,-1.7739406046824584,0.15791410463223943,0.017324634400523453,7.740842286090309,0.0,0.0,-0.06007278683752791
824 +5.1084876942637605,5.083354160370532,0.025133533893228588,0.0,-2.2010749735744968,-0.10212768497657948,0.017324634400523453,7.503571426040453,0.0,0.0,-0.13433924151936677
825 +4.763796549270511,3.6779438167689498,1.0858527325015612,0.0,-5.237781966724362,-0.03709295882150576,0.0,9.0784399922403,0.0,0.0,-0.1256212499254837
826 +5.32598117053051,5.444942636190594,-0.11896146566008348,0.0,-1.8549841520001449,0.047669339483302764,0.038910719344411995,7.3173197006211295,0.0,0.0,-0.10397297125810395
827 +4.930003524070665,-5.679056856091979,10.609060380162644,0.0,-5.410534291752787,-0.09196197691808125,0.0024904528831925232,0.0,0.0,0.0,-0.17905104030430513
828 +,5.347249851516368,,0.0,-2.5123125787489418,-0.07878266096038379,0.026786096644932214,7.86173665221767,0.0,0.0,0.04982234236309279
829 +4.623402954249151,6.041144064219459,-1.4177411099703079,0.0,-1.8959783514952724,-0.21178720573238483,0.0,8.1461031766186,0.0,0.0,0.002806444828514795
830 +7.265261877000727,6.602012376054705,0.663249500946022,0.0,-1.3431574431654658,0.047020903483117896,0.0,8.007666016997813,0.0,0.0,-0.10951710126076038
831 +4.526451601276686,5.115700149320172,-0.5892485480434857,0.0,-2.1319082615261538,-0.08815891899500597,0.0,7.526049403521685,0.0,0.0,-0.1902820736803529
832 +4.914050969580866,4.940008969525841,-0.02595799994497483,0.0,-2.143439066008061,-0.0032331539430607084,0.026786096644932214,7.219701056837343,0.0,0.0,-0.1598059640053148
833 +7.087715717194812,5.578371671736425,1.5093440454583869,0.0,-1.6998114234134682,-0.0617016732606105,0.0,7.3906687095852295,0.0,0.0,-0.050783941174726926
834 +7.338459191953927,7.04231711255256,0.29614207940136694,0.0,-0.8824541281358398,-0.11644172725886606,0.029276549528124737,7.903251101442422,0.0,0.0,0.10868531697671976
835 +,6.411134232571815,,0.0,-1.5892667401233158,-0.05230746161654762,0.0,8.368705490143888,0.0,0.0,-0.31599705583221105
836 +8.626605288322859,-4.992840439817368,13.619445728140226,0.0,-4.790609022658872,-0.09692810236498539,0.0,0.0,0.0,0.0,-0.10530331479350945
837 +4.986479204218496,5.633993642639731,-0.6475144384212346,0.0,-1.3916387588249872,0.06691335912864249,-0.012124622699479781,7.279888896381218,0.0,0.0,-0.30904523134566075
838 +4.886809034892587,5.012877646027832,-0.1260686111352447,0.0,-2.300013964977693,-0.10712836587609892,0.026786096644932214,7.586832034485701,0.0,0.0,-0.193598154249007
839 +7.76477996575644,5.961833106704548,1.8029468590518922,0.0,-1.8007820443871099,0.05452791407566504,0.029449257100003234,7.474162162515234,0.0,0.0,0.20447581740075513
840 +,5.109520044268039,,0.0,-2.133514264198288,0.019709242655620768,0.017324634400523453,7.418924020678015,0.0,0.0,-0.21292358926783275
841 +,6.184819497537941,,0.0,-2.5014926581504824,0.07038457007090825,0.0,8.849976751964636,0.0,0.0,-0.2340491663471205
842 +8.08301991917133,5.540861479896343,2.5421584392749867,0.0,-2.6271318183395564,0.031900720939002036,0.0,8.16813096531973,0.0,0.0,-0.03203838802283346
843 +,5.333405113836905,,0.0,-2.52690999585809,0.005506631594544335,0.0,7.961310278299985,0.0,0.0,-0.1065018001995337
844 +,4.431908224981566,,0.0,-3.199357804441222,0.06029399013986753,0.029449257100003234,7.610260679640408,0.0,0.0,-0.06873789745749023
845 +4.530554392607302,4.35845082654591,0.17210356606139143,0.0,-2.0359575587057526,-0.10433935905818573,0.026786096644932214,6.851274701121354,0.0,0.0,-0.37931305345643695
846 +8.48499226182825,5.011377750692692,3.4736145111355574,0.0,-2.3842880875784855,-0.1657676045264772,0.029449257100003234,7.621128318626918,0.0,0.0,-0.08914413292926633
847 +,5.7838330435132645,,0.0,-2.124951984333534,-0.10825871862972185,0.026786096644932214,7.493434790693793,0.0,0.0,0.49682285913779634
848 +5.134621273877247,6.21018061070301,-1.075559336825763,0.0,-2.379449789689757,-0.08984722278233102,0.0,8.687742577103865,0.0,0.0,-0.008264953928767083
849 +7.472699701635624,5.81131098729679,1.661388714338834,0.0,-1.891898649220031,-0.11141835510260266,0.04140117222760452,7.883835338061308,0.0,0.0,-0.1106085186694899
850 +5.616152724695227,6.9542498802423,-1.3380971555470733,0.0,-1.2163664315946887,-0.081781665070185,0.029449257100003234,8.134852470349093,0.0,0.0,0.08809624945807815
851 +,-2.755486120960751,,0.0,-2.102597633501957,0.07085848764706182,-0.012124622699479781,-0.5984821093907428,0.0,0.0,-0.11314024301563219
852 +,-4.603588323018797,,0.0,-4.6217285108446475,0.008256628579862806,0.0,0.0,0.0,0.0,0.009883559245988355
853 +,-5.949902878240785,,0.0,-5.817831922888511,0.023261914437676633,0.0,0.0,0.0,0.0,-0.1553328697899503
854 +,-5.412870228171332,,0.0,-5.337724262471145,-0.05580941432127163,0.038910719344411995,0.0,0.0,0.0,-0.058247270723327665
855 +3.7612001156935624,-0.5465121209800943,4.307712236673657,0.0,-0.20733363093134738,0.01337384442325528,0.0024904528831925232,-0.5963811959256494,0.0,0.0,0.2413384085704525
856 +4.060443010546419,-2.189730444909168,6.250173455455587,0.0,-1.9061867460464752,-0.038980328141986605,0.0,-0.43591624760373177,0.0,0.0,0.19135287688302596
857 +,-5.487642038670468,,0.0,-5.560240326707636,0.0619437016293025,0.0,0.0,0.0,0.0,0.01065458640786686
858 +3.58351893845611,-4.131886782748547,7.7154057212046565,0.0,-4.081517669305578,-0.04655497851368712,0.0024904528831925232,0.0,0.0,0.0,-0.006304587812474061
859 +,-5.651994709459096,,0.0,-5.867011723599312,0.0504417194502151,0.0,0.0,0.0,0.0,0.16457529468999882
860 +,-3.7004214569910303,,0.0,-3.6441687953469875,-0.17461641231879324,0.0,0.0,0.0,0.0,0.11836375067475177
861 +,-2.345781117817034,,0.0,-1.6716968896033162,-0.051321207223810374,0.0,-0.5963811959256494,0.0,0.0,-0.026381825064255834
862 +,-3.1100811584268286,,0.0,-2.6627236006094757,-0.1084831954083203,0.0,-0.11819951273003929,0.0,0.0,-0.2206748496789937
863 +,-3.9697406679562226,,0.0,-2.9437994380711894,-0.16035309921048774,0.026786096644932214,-0.7444114741708862,0.0,0.0,-0.14796275314859014
864 +,-4.991846169000602,,0.0,-5.04736627590869,0.0007608829049706271,0.038910719344411995,0.0,0.0,0.0,0.01584850465870466
865 +,-4.769487381831638,,0.0,-4.643502138271812,-0.02750232180563328,0.0,0.0,0.0,0.0,-0.09848292175419315
866 +5.616771097666572,-5.409795003551906,11.026566101218478,0.0,-5.510176752276691,0.08490979900100812,0.0,0.0,0.0,0.0,0.015471949723776494
867 +3.6888794541139363,-5.062599613657948,8.751479067771884,0.0,-5.133484379985211,0.04072911216548555,0.0024904528831925232,0.0,0.0,0.0,0.027665201278584378
868 +,-4.217089383926919,,0.0,-4.132926803511298,0.03491990529524194,0.0024904528831925232,0.0,0.0,0.0,-0.1215729385940548
869 +4.890349128221754,-6.400499419644713,11.290848547866467,0.0,-6.326722858245425,-0.20368549320884655,0.0,0.0,0.0,0.0,0.12990893180955765
870 +4.941642422609304,-5.0019438982675775,9.943586320876882,0.0,-4.914708799836015,-0.06795182172548402,0.04140117222760452,0.0,0.0,0.0,-0.06068444893368294
871 +4.1588830833596715,-4.987368763023927,9.1462518463836,0.0,-4.5735826303955545,-0.23228324146918208,0.0,0.0,0.0,0.0,-0.1815028911591903
872 +,-3.007372135578114,,0.0,-2.167438194741581,-0.07635737577325549,0.017324634400523453,-0.7429284764308203,0.0,0.0,-0.037972723032980965
873 +,-2.4544258406576094,,0.0,-1.3016436481722762,-0.26390313099503315,0.0,-0.5963811959256494,0.0,0.0,-0.2924978655646505
874 +,-6.002576206021803,,0.0,-5.7822604483237825,0.004889735363309552,0.038910719344411995,0.0,0.0,0.0,-0.26411621240574035
875 +,-5.533216112360312,,0.0,-5.340445073643222,0.07638658906397511,0.0024904528831925232,0.0,0.0,0.0,-0.2716480806642556
876 +,-5.309742717352755,,0.0,-4.98520243242376,-0.06513161063713838,0.029449257100003234,0.0,0.0,0.0,-0.2888579313918602
877 +,-5.114355320128615,,0.0,-4.84156543745468,-0.17389319082112586,0.0024904528831925232,0.0,0.0,0.0,-0.10138714473600355
878 +4.836281906951478,5.429656356745472,-0.5933744497939939,0.0,-1.9315880311167648,-0.060364166162197086,-0.012124622699479781,7.425339358494962,0.0,0.0,0.008393818228951841
879 +,5.03884930800837,,0.0,-2.00042371320827,0.04201467798004472,0.029449257100003234,7.002899329862286,0.0,0.0,-0.035090243725694394
880 +7.503289630675082,7.429965218118522,0.07332441255655997,0.0,-0.34593635871287365,-0.11052716885703996,-0.009634169816287258,7.86173665221767,0.0,0.0,0.034326263287054376
881 +3.6635616461296463,5.363104600969758,-1.699542954840112,0.0,-2.124322809827526,-0.15575866377980466,0.0,7.586777542063301,0.0,0.0,0.056408532513789994
882 +4.406719247264253,5.1415803606972945,-0.7348611134330412,0.0,-2.635324791544334,-0.1395803836448987,0.0,8.033946639389118,0.0,0.0,-0.1174611035025909
883 +,-1.0974105723142764,,0.0,-1.2648435754141758,0.12594038727535034,0.0024904528831925232,-0.11510993410490197,0.0,0.0,0.1541120970462588
884 +,-5.169232185140563,,0.0,-5.063455615576284,-0.06827833914427153,0.029449257100003234,0.0,0.0,0.0,-0.06694748752001337
885 +,-1.8322096941364274,,0.0,-1.235546475511101,-0.077924422056852,0.0,-0.5963811959256494,0.0,0.0,0.07764239935717557
886 +,-3.0201395077427793,,0.0,-2.181240799765951,-0.08377623662138174,0.017324634400523453,-0.7423105607057928,0.0,0.0,-0.0301365450501782
887 +,-6.263684250615632,,0.0,-5.99363906886509,-0.14702492174962656,0.0,0.0,0.0,0.0,-0.12302026000091618
888 +,-1.559417425689355,,0.0,-0.7876116099448831,-0.022287024353046143,0.038910719344411995,-0.7423105607057928,0.0,0.0,-0.046118950030044764
889 +5.796057750765372,-2.401106644402035,8.197164395167407,0.0,-1.4665925860770015,-0.221237060195732,0.0,-0.5963811959256494,0.0,0.0,-0.11689580220365184
890 +,-4.648027345820128,,0.0,-4.279459521705656,-0.09872234294262042,0.0024904528831925232,0.0,0.0,0.0,-0.27233593405504475
891 +4.07753744390572,-6.484468109839081,10.5620055537448,0.0,-6.201330066643738,-0.001769255892273551,0.0,0.0,0.0,0.0,-0.28136878730306925
892 +5.043425116919247,-5.712123786071494,10.755548902990741,0.0,-5.606661165793543,-0.09692636160691195,0.0,0.0,0.0,0.0,-0.00853625867103844
893 +3.58351893845611,-2.3261685460360413,5.909687484492151,0.0,-2.2633032363525416,-0.1265894384590365,0.0,-0.4366577464737647,0.0,0.0,0.5003818752493019
894 +4.7535901911063645,-5.435107268936936,10.1886974600433,0.0,-5.351027582288161,-0.17042445754028687,0.038910719344411995,0.0,0.0,0.0,0.04743405154709911
895 +6.085523945010654,6.124480711134536,-0.038956766123882325,0.0,-1.8479164433728013,-0.027145277468542308,-0.012124622699479781,8.063013613403083,0.0,0.0,-0.05134655872772257
896 +4.941499555261394,4.257371581935558,0.6841279733258352,0.0,-2.429998591744929,-0.06712585323631849,0.026786096644932214,6.9715458889422335,0.0,0.0,-0.2438359586703603
897 +,5.165239727645255,,0.0,-2.474144286913937,0.09700036320512614,0.026786096644932214,7.6495071566358295,0.0,0.0,-0.13390960192669438
898 +,4.923412441744243,,0.0,-1.7156115986704927,-0.11041273839105126,0.04140117222760452,6.742468489006876,0.0,0.0,-0.034432882428692774
899 +4.989002993969142,6.40097618916337,-1.4119731951942285,0.0,-2.0922341868614494,-0.1485188893320288,0.0,8.368705490143888,0.0,0.0,0.2730237752129609
900 +,5.773385203361223,,0.0,-1.7416857131235997,-0.0727173067414721,0.017324634400523453,7.598594783701078,0.0,0.0,-0.02813119487530632
901 +9.189596702038235,5.941699365912145,3.2478973361260906,0.0,-2.3952683923242377,-0.12489772213095335,0.0,8.689511803642718,0.0,0.0,-0.22764632327538045
902 +5.218787027591229,5.361725627211672,-0.14293859962044309,0.0,-1.8459502505730123,-0.06167180638339962,0.0,7.548623419784384,0.0,0.0,-0.27927573561629926
903 +5.371149525197707,4.9984111179561586,0.37273840724154805,0.0,-1.73474606785454,0.03300445034087064,0.04140117222760452,6.788229331295838,0.0,0.0,-0.12947776805361327
904 +,5.796405477033167,,0.0,-1.1619038366206915,-0.10975031836946322,0.029449257100003234,7.180113373937294,0.0,0.0,-0.14150299901397456
905 +4.886809034892587,5.449639428446093,-0.5628303935535062,0.0,-2.132131503798914,0.006522298770873784,0.0,7.794571439400935,0.0,0.0,-0.2193228059268003
906 +4.763796549270511,5.006071191517862,-0.2422746422473514,0.0,-2.392866925922207,-0.10915380205790887,0.017324634400523453,7.903251101442422,0.0,0.0,-0.4124838163449671
907 +,4.953847902951498,,0.0,-2.2227711744075824,-0.04447519403690746,0.017324634400523453,7.458140283672332,0.0,0.0,-0.2543706466768676
908 +4.688223741123377,4.691548637046738,-0.0033248959233613817,0.0,-1.8033244924004608,-0.008808278996816209,0.026786096644932214,6.75251688488384,0.0,0.0,-0.27562157308475677
909 +4.390118804571218,6.2253450363606655,-1.8352262317894477,0.0,-2.1494432256085103,0.0107808793273045,0.029449257100003234,8.529170438465806,0.0,0.0,-0.1946123129239377
910 +,-4.167585022887782,,0.0,-3.756420465936076,-0.10116050942151221,0.0024904528831925232,0.0,0.0,0.0,-0.31249450041338656
911 +4.935408747853786,5.644607419930736,-0.7091986720769503,0.0,-2.052882432366866,-0.23509011041656525,0.0,8.120752096530747,0.0,0.0,-0.18817213381657963
912 +4.77676777941907,6.0351762983126065,-1.2584085188935363,0.0,-1.5645778037544202,-0.18363608339106993,0.0024904528831925232,7.602551307037099,0.0,0.0,0.17834842553780414
913 +,5.862615010541438,,0.0,-1.9339205770108228,-0.018947572179735438,-0.012124622699479781,8.00227472530355,0.0,0.0,-0.1746669428720749
914 +6.030204375423913,6.577780181177676,-0.5475758057537634,0.0,-1.565724062107841,0.013598302483469216,-0.012124622699479781,8.063013613403083,0.0,0.0,0.0790169500984457
915 +,5.375675680200428,,0.0,-2.3847110213748772,-0.04286406725119446,0.017324634400523453,7.965649989520884,0.0,0.0,-0.1797238550949069
916 +5.470925231154352,5.756270561094401,-0.285345329940049,0.0,-1.7118168137139014,0.04213730130149109,0.017324634400523453,7.597853284831045,0.0,0.0,-0.18922784572475482
917 +,5.318588965618094,,0.0,-2.2031991139683997,-0.08032681678388165,0.0,7.520096206674451,0.0,0.0,0.08201868969592352
918 +6.44266754689,4.500557941531309,1.9421096053586915,0.0,-4.600335063107449,-0.02046310823924855,0.0,9.238202504200961,0.0,0.0,-0.1168463913229538
919 +5.765191102784844,5.953506029043717,-0.18831492625887236,0.0,-1.0225961625663613,0.07814124152225338,0.0,6.779701404368819,0.0,0.0,0.11825954571900713
920 +3.8066624897703196,5.276582162129921,-1.4699196723596017,0.0,-2.11131032752429,-0.07693151713379878,-0.012124622699479781,7.675809873135664,0.0,0.0,-0.19886124364817306
921 +4.406719247264253,5.469805712227973,-1.0630864649637193,0.0,-2.170627136843419,-0.009279286390634614,0.0,7.217773284256214,0.0,0.0,0.43193885120581343
922 +5.545177444479562,5.324489406953244,0.22068803752631805,0.0,-1.9568989961596932,0.01944424869985785,0.017324634400523453,7.477452962016807,0.0,0.0,-0.23283344200425
923 +7.776535028185241,5.600204490941614,2.1763305372436266,0.0,-2.2493585796776134,-0.11718105157073208,0.0,7.983107843475417,0.0,0.0,-0.0163637212854566
924 +,6.377872071738878,,0.0,-1.7072464087059371,-0.21332447581606143,0.0,8.1461031766186,0.0,0.0,0.15233977964227371
925 +7.852050207265889,6.0155245120356176,1.8365256952302715,0.0,-1.8430900173714848,-0.038939820430340014,0.0,8.148204090083695,0.0,0.0,-0.2506497402462522
926 +5.262690188904886,5.088489173557296,0.17420101534758992,0.0,-2.1296035510532443,0.13382835988660488,-0.012124622699479781,7.254018458502469,0.0,0.0,-0.1576294710790545
927 +,6.243870713607313,,0.0,-1.6383307838244772,0.09168479767326582,0.0,7.837969203589582,0.0,0.0,-0.04745250383105723
928 +4.859812404361672,4.937859857753992,-0.07804745339231989,0.0,-2.167589086404255,-0.05643449167675813,0.026786096644932214,7.1350973391900725,0.0,0.0,0.0
929 +5.220355825078324,5.168076162781096,0.052279662297228136,0.0,-1.8457776426847499,-0.08796096512677953,0.038910719344411995,7.289958664558507,0.0,0.0,-0.22705461331029175
930 +,-4.439448559789075,,0.0,-4.194618990713877,-0.06640823755975855,0.0024904528831925232,0.0,0.0,0.0,-0.18091178439863137
931 +,-5.315663632119417,,0.0,-5.078773228549178,-0.07841243607382387,0.0,0.0,0.0,0.0,-0.15847796749641466
932 +,-2.9417814371129563,,0.0,-2.653808475973845,-0.044837617792472695,0.038910719344411995,-0.2755748824268196,0.0,0.0,-0.006471180264231199
933 +,-3.673933021705532,,0.0,-3.7808969210191528,0.05675110656423257,0.0024904528831925232,0.0,0.0,0.0,0.0477223398661962
934 +,-1.6731613571282122,,0.0,-1.3747358416791142,-0.04978488103290698,0.0024904528831925232,-0.5976170273757043,0.0,0.0,0.3464859400763214
935 +,-3.655405071590576,,0.0,-4.008999130085122,-0.08744595410954262,0.0024904528831925232,0.0,0.0,0.0,0.4385495597208967
936 +,-2.448130479628892,,0.0,-1.5866642750188928,0.08172932182724349,0.029449257100003234,-0.7423105607057928,0.0,0.0,-0.23033422283145136
937 +,-2.227226064812976,,0.0,-1.479577138540015,-0.025377759771374967,0.0024904528831925232,-0.5963811959256494,0.0,0.0,-0.12838042345912756
938 +,-0.3652673380877418,,0.0,-2.436496526441191,0.010279272212013791,-0.012124622699479781,-0.7431756427208313,0.0,0.0,2.8162501815617476
939 +,-1.9764358970415623,,0.0,-1.5542517666524507,-0.11900591099247965,0.0,-0.5977406105207098,0.0,0.0,0.2945623911240783
940 +,-2.8877284221761053,,0.0,-2.0110843777492002,-0.021589228048150298,0.017324634400523453,-0.7423105607057928,0.0,0.0,-0.13006889007348718
941 +,-4.728719462951536,,0.0,-4.860895048916293,0.05203207000665444,0.0024904528831925232,0.0,0.0,0.0,0.07765306307491013
942 +,-3.665729172702301,,0.0,-3.6390527157874675,0.01775222654640416,0.0,0.0,0.0,0.0,-0.044428683461238794
943 +,-5.237911704365882,,0.0,-5.293126349528677,0.16620766498557454,0.0024904528831925232,0.0,0.0,0.0,-0.11348347270597256
944 +,-4.405635726127593,,0.0,-4.4640085682254576,-0.06428889367768424,0.0024904528831925232,0.0,0.0,0.0,0.12017128289235654
945 +5.953243334287785,-5.435857003621276,11.38910033790906,0.0,-5.549899973099245,0.23908278164587157,0.0,0.0,0.0,0.0,-0.12503981216790244
946 +5.017279836814924,-5.757556084784141,10.774835921599065,0.0,-5.531638195579335,-0.15857684005261768,0.0,0.0,0.0,0.0,-0.06734104915218757
947 +,-1.3533194804215274,,0.0,-0.9025583184526749,0.10681650384812161,0.0,-0.5963811959256494,0.0,0.0,0.03880353010867679
948 +4.0943445622221,-2.507762673136554,6.6021072353586545,0.0,-1.6112531159311994,-0.08981218976399788,-0.009634169816287258,-0.7423105607057928,0.0,0.0,-0.05475263691927587
949 +4.465908118654584,-2.704097935301135,7.170006053955719,0.0,-1.8235147864570997,-0.07020276342933099,0.017324634400523453,-0.5803626146438092,0.0,0.0,-0.24734240517141814
950 +5.25227342804663,-2.5524253183463332,7.804698746392964,0.0,-1.4693138718350047,-0.20151337820169218,0.029449257100003234,-0.7423105607057928,0.0,0.0,-0.1687367647038462
951 +,-4.544860222708595,,0.0,-4.028864848741226,-0.25165036879912256,0.029449257100003234,0.0,0.0,0.0,-0.29379426226824934
952 +,-3.218253148296731,,0.0,-3.7132685583748266,0.14711510705527692,0.0,0.0,0.0,0.0,0.3479003030228194
953 +,-6.476791288017518,,0.0,-6.04612324168573,-0.0026456834543032316,0.029449257100003234,0.0,0.0,0.0,-0.45747161997748975
954 +,-6.098240814698632,,0.0,-6.229591943686639,0.15813304937334652,0.0,0.0,0.0,0.0,-0.026781920385338876
955 +4.74493212836325,-5.137295115675524,9.882227244038774,0.0,-5.053243631403387,-0.006184850684337093,0.0024904528831925232,0.0,0.0,0.0,-0.08035708647099227
956 +,-4.240311089465728,,0.0,-4.159752578353281,-0.0700679297887862,0.0024904528831925232,0.0,0.0,0.0,-0.01298103420685326
957 +8.103796712981794,5.815117120997694,2.288679591984099,0.0,-1.1099260645749105,0.052649837222757664,0.029276549528124737,6.755865991022771,0.0,0.0,0.0872508077989538
958 +8.142063283104147,6.2083505206282865,1.93371276247586,0.0,-1.7502483389026677,-0.01708865803934286,0.019815087283715976,7.646820519056019,0.0,0.0,0.3090519112305636
959 +5.117993812416755,5.261734635615888,-0.14374082319913217,0.0,-1.6688608303805665,-0.05051600050249949,0.0024904528831925232,7.05050940026315,0.0,0.0,-0.07188838664738663
960 +4.356708826689592,4.84473855815936,-0.48802973146976836,0.0,-2.1323892074855237,0.043873637369988346,0.038910719344411995,7.31135270668555,0.0,0.0,-0.41700929775506607
961 +5.552959584921617,5.2833957962939015,0.2695637886277158,0.0,-1.7934352970889815,-0.08770115254557702,0.0,7.388860907823723,0.0,0.0,-0.22432866189526188
962 +5.666426688112432,5.0707671838569555,0.5956595042554769,0.0,-1.7536959962641578,-0.09879159891798045,0.017324634400523453,6.904899266162273,0.0,0.0,0.0010308784762967874
963 +3.784189633918261,4.721617079202326,-0.9374274452840647,0.0,-2.250573507165311,0.03149507819662571,0.0024904528831925232,7.04187497368394,0.0,0.0,-0.1036699183961209
964 +4.983606621708336,4.652722934154752,0.33088368755358477,0.0,-1.6061669711256963,-0.1884512394792372,0.017324634400523453,6.571521385822458,0.0,0.0,-0.14150487546329815
965 +,5.6597455017560865,,0.0,-1.746034483544853,0.036741447338709765,0.04140117222760452,7.234808605295894,0.0,0.0,0.09282876043873126
966 +,6.045874580419744,,0.0,-1.9104280309649537,-0.06457507943907098,0.0,7.822604319930846,0.0,0.0,0.1982733708929243
967 +6.091309882077698,6.693095112134349,-0.6017852300566515,0.0,-1.8038793270277687,-0.0767990085165521,0.0,8.308669038405613,0.0,0.0,0.2651044092730579
968 +4.919980925828125,5.069508210853262,-0.1495272850251368,0.0,-2.0789458203930797,-0.015677901582146166,0.0,6.913978519574007,0.0,0.0,0.2501534132544816
969 +6.561030665896573,6.146325889189186,0.4147047767073868,0.0,-2.003268904717766,-0.09258883653403761,0.0,8.16813096531973,0.0,0.0,0.0740526651212592
970 +8.597851094433691,6.1196495376754845,2.478201556758207,0.0,-2.153745712893712,-0.07563566824688595,0.0,8.208942978183227,0.0,0.0,0.1400879406328552
971 +4.718498871295094,5.1965919613467815,-0.4780930900516873,0.0,-1.8175188157169142,-0.005345530449810988,0.0,7.229793949319519,0.0,0.0,-0.2103376418060136
972 +,6.068408065382796,,0.0,-1.6564581091360742,-0.10520517975527274,0.0,7.622068857615465,0.0,0.0,0.20800249665867798
973 +5.093750200806762,6.184148175331809,-1.0903979745250467,0.0,-1.6342169543319374,-0.16557602720701792,0.0,7.921419352724618,0.0,0.0,0.06252180414614508
974 +4.919980925828125,5.257692677995266,-0.33771175216714067,0.0,-1.9383344082591698,0.03506134277184547,0.0,7.224926545282841,0.0,0.0,-0.06396080180025092
975 +6.703188113240863,5.605566965627137,1.0976211476137259,0.0,-2.4471535898591688,0.0661476140117184,0.0,8.16949037991479,0.0,0.0,-0.18291743844020403
976 +,5.94896706437263,,0.0,-1.4059318426477345,-0.06827419050457365,0.04140117222760452,7.14889699749402,0.0,0.0,0.23287492780331162
977 +5.480638923341991,4.778161143638547,0.702477779703444,0.0,-2.237207135840661,-0.02447625419351879,0.026786096644932214,7.244538123928651,0.0,0.0,-0.2314796869008543
978 +6.74993119378857,5.1161777010738,1.6337534927147699,0.0,-1.6235890997754092,0.06163671097042238,0.038910719344411995,6.776899249551704,0.0,0.0,-0.13767987901732903
979 +5.318119993844216,5.310480719410386,0.007639274433830501,0.0,-2.127452305844966,-0.03529309095553851,0.029276549528124737,7.622364150076973,0.0,0.0,-0.17841458339420732
980 +,4.152104161201511,,0.0,-2.4639518153457294,-0.1675205915034254,0.017324634400523453,7.0170900127170945,0.0,0.0,-0.25083807906695305
981 +4.3694478524670215,4.375998792259029,-0.006550939792007604,0.0,-2.339484056256487,0.09027312675578394,0.017324634400523453,7.197186789167767,0.0,0.0,-0.5893017018085588
982 +,4.383142865477369,,0.0,-2.3563588971689624,0.020801971898338927,0.026786096644932214,6.932950977571112,0.0,0.0,-0.2410372834680499
983 +5.662960480135946,5.042905828940958,0.6200546511949883,0.0,-2.052809709288745,-0.14728472465080292,0.026786096644932214,7.2343094186595645,0.0,0.0,-0.018095252423989416
984 +5.017279836814924,5.963441000560529,-0.9461611637456047,0.0,-1.9046442538924353,0.01214042670290326,0.0,7.836585276335103,0.0,0.0,0.019359551414959847
985 +,5.84869358314925,,0.0,-1.288928943160264,-0.12884890419965175,-0.009634169816287258,7.302170881710033,0.0,0.0,-0.026065281384578698
986 +5.480638923341991,6.163107086389778,-0.6824681630477869,0.0,-2.4167281443540487,0.08687338430501397,0.0,8.529170438465806,0.0,0.0,-0.036208592026993454
987 +3.7784916128036232,4.610408438429734,-0.8319168256261107,0.0,-2.3771064052998936,0.025859190843089883,0.0,7.215093517574871,0.0,0.0,-0.25343786468833496
988 +5.486496732826152,5.051616950013613,0.4348797828125388,0.0,-1.496815491907478,0.011660455444340238,0.0,6.7205721370623275,0.0,0.0,-0.18380015058557625
989 +6.168522274226838,5.88756670925207,0.2809555649747679,0.0,-1.6196053457502009,0.014320968148555262,0.029276549528124737,7.089546785388132,0.0,0.0,0.37402775193746074
990 +,6.338036951106396,,0.0,-1.3639098828323002,-0.06437162318718065,0.0,7.413561179365962,0.0,0.0,0.35275727775991506
991 +7.809679302147066,-4.835246974112292,12.644926276259358,0.0,-4.7265214980124295,-0.07806680156001537,0.0024904528831925232,0.0,0.0,0.0,-0.03314912742303963
992 +,6.055611975356721,,0.0,-1.0922424701470996,0.11229058142140474,-0.009634169816287258,7.108645266426301,0.0,0.0,-0.06344723252759635
993 +8.191717866504211,-3.724419149818061,11.916137016322272,0.0,-3.7467862637363734,0.011711938451973929,0.0,0.0,0.0,0.0,0.010655175466338346
994 +4.999439521335521,4.80038225145081,0.19905726988471084,0.0,-1.7651254644007368,-0.05197926155836613,0.026786096644932214,6.831738164233032,0.0,0.0,-0.2410372834680499
995 +7.4570320891223805,5.905111930911145,1.5519201582112352,0.0,-1.8142554062917258,0.011840971041211096,0.03193970998319576,7.8574607598033905,0.0,0.0,-0.1818741036249264
996 +5.402677381872279,5.582807513182837,-0.1801301313105581,0.0,-1.6666574089794581,0.08252442930422729,-0.012124622699479781,7.312974717484244,0.0,0.0,-0.13390960192669438
997 +6.093569770045136,5.90048211613915,0.1930876539059856,0.0,-1.672973432612479,0.02888285407839515,0.026786096644932214,7.598224034266061,0.0,0.0,-0.08043743623775805
998 +7.693481640835175,6.47291091982225,1.2205707210129253,0.0,-1.8501244498189848,0.03728497038191064,0.029449257100003234,8.372087693186488,0.0,0.0,-0.11578655102716551
999 +5.916202062607435,5.996737558089184,-0.08053549548174921,0.0,-1.6018727180404682,-0.05619669107050792,0.017324634400523453,7.757739379936711,0.0,0.0,-0.12025704713707278
1000 +4.276666119016055,5.178653697214065,-0.9019875781980096,0.0,-2.683986280912994,0.010670458026033305,0.026786096644932214,7.9960763959270205,0.0,0.0,-0.17089297247092583
1001 +7.234898420314831,4.237337437642702,2.9975609826721294,0.0,-4.930923931640432,0.08958133051382028,0.0024904528831925232,9.238202504200961,0.0,0.0,-0.16201291831483905
1002 +3.8918202981106265,5.317833627607194,-1.4260133294965676,0.0,-2.3403840946852323,-0.04343348071003204,-0.012124622699479781,7.835943134531343,0.0,0.0,-0.1221673088294044
1003 +8.352943352994846,6.286504100469057,2.0664392525257886,0.0,-1.6249106985321218,-0.09880435865042143,0.0,8.280781835129236,0.0,0.0,-0.2705626774776359
1004 +5.389071729816501,5.340411098331866,0.048660631484635175,0.0,-1.877589778839071,-0.09899193093209038,0.026786096644932214,7.44258537165091,0.0,0.0,-0.15237866019281598
1005 +,5.611421831692406,,0.0,-1.7573238731316225,-0.013151920842237992,0.04140117222760452,7.4171938566479385,0.0,0.0,-0.07669740320927596
1006 +,5.686421129232491,,0.0,-1.9858274452760005,0.16597246194943505,-0.012124622699479781,7.776069328446848,0.0,0.0,-0.25766859318831165
1007 +,5.273601402060686,,0.0,-1.765511894760806,-0.13932007141123337,-0.009634169816287258,7.450709841679212,0.0,0.0,-0.26264230363020047
1008 +,5.689728734484714,,0.0,-1.7274314819926193,-0.008915427195796854,0.017324634400523453,7.597111785961012,0.0,0.0,-0.18836077668840676
1009 +,6.22015706906104,,0.0,-1.9454130735185355,-0.015661904866941134,0.0,8.368705490143888,0.0,0.0,-0.18747344269737212
1010 +6.22720838039793,5.849252463918339,0.3779559164795909,0.0,-1.2253971418473313,-0.09632808909491666,0.029449257100003234,7.132996425724979,0.0,0.0,0.00853201203560465
1011 +5.851368799025897,5.549534765302299,0.30183403372359763,0.0,-2.203844151666023,-0.02532432589999314,0.017324634400523453,7.935461090972494,0.0,0.0,-0.1740824825047027
1012 +6.672032945461067,6.216470712873998,0.4555622325870692,0.0,-1.8726169213170074,0.0817933929349817,0.0024904528831925232,8.225094818839448,0.0,0.0,-0.22029103046661574
1013 +,5.276336979536796,,0.0,-1.684455815787615,-0.01237123461879204,0.04140117222760452,7.088063787648066,0.0,0.0,-0.15630092993246705
1014 +7.408403286067493,6.265877701940605,1.1425255841268882,0.0,-1.4491591887774016,-0.12999409655268784,0.0024904528831925232,8.308669038405613,0.0,0.0,-0.46612850401810935
1015 +5.548141796443577,5.867720493179474,-0.31957869673589734,0.0,-1.3110640537523652,-0.1374846847674437,0.017324634400523453,7.307840372853218,0.0,0.0,-0.008895775554459822
1016 +,6.440138202685853,,0.0,-1.88833824256891,0.06020338590368588,0.0,7.79225555125614,0.0,0.0,0.4760175080949375
1017 +,5.085419993437812,,0.0,-1.3527160666270488,-0.015319594315339954,0.029449257100003234,6.659711576294683,0.0,0.0,-0.23570517901448498
1018 +7.339310396850042,4.272025117032836,3.067285279817206,0.0,-4.929365371057502,-0.08912757312718422,0.0024904528831925232,9.238202504200961,0.0,0.0,0.04982510413336913
1019 +,5.799658133837267,,0.0,-1.9172110155551527,0.050401132849951534,0.0,7.763302484157805,0.0,0.0,-0.09683446761533705
1020 +4.348599108561364,4.640596470177909,-0.2919973616165459,0.0,-1.948019980016416,-0.040019737368615825,0.038910719344411995,6.8481405408725955,0.0,0.0,-0.2584150726540665
1021 +6.796812545028077,6.084608675495534,0.7122038695325426,0.0,-1.8839608513941952,0.025218647871756483,0.0,8.095589672012466,0.0,0.0,-0.1522387929944922
1022 +5.988886226093181,6.044584672563029,-0.05569844646984734,0.0,-1.257156786904578,0.012611202425319781,0.017324634400523453,7.467479301668876,0.0,0.0,-0.1956736790271134
1023 +4.525477417078843,5.9195001200563935,-1.3940227029775505,0.0,-1.8951669480802549,0.08169864648856667,0.017324634400523453,7.7952937673216285,0.0,0.0,-0.07964998007406886
1024 +5.401189789468666,4.996131234899507,0.40505855456915896,0.0,-2.130649520961616,-0.06637785254147581,0.0,6.948402695692658,0.0,0.0,0.24475591270993866
1025 +,5.5252593224322935,,0.0,-1.9567871627690634,0.03456155772505666,0.017324634400523453,7.465501971348788,0.0,0.0,-0.035341678273009734
1026 +,-5.316395763989491,,0.0,-5.3935008225307985,0.004707298499037713,0.0024904528831925232,0.0,0.0,0.0,0.06990730715907914
1027 +5.6131281063880705,-6.250485876892286,11.863613983280356,0.0,-5.9239718260012975,-0.10631139219293262,0.038910719344411995,0.0,0.0,0.0,-0.2591133780424689
1028 +,-2.3317206699850717,,0.0,-1.7309694970435645,-0.009288974508592014,0.04140117222760452,-0.7423105607057928,0.0,0.0,0.10944719004527301
1029 +5.552959584921617,-5.567830110707536,11.120789695629153,0.0,-5.481516624989987,-0.026416855553122932,0.029449257100003234,0.0,0.0,0.0,-0.08934588726443012
1030 +4.948759890378168,-5.508380747769545,10.457140638147713,0.0,-5.530992312820873,-0.010869747082402292,0.0,0.0,0.0,0.0,0.03348131213373087
1031 +8.150467911624004,5.934373046536834,2.21609486508717,0.0,-1.2102766600008836,0.16985473803837123,-0.012124622699479781,6.876499397957719,0.0,0.0,0.1104201932411075
1032 +4.919980925828125,5.941382369635754,-1.0214014438076289,0.0,-2.2717005957935825,-0.07904549121558593,0.038910719344411995,8.368542844490106,0.0,0.0,-0.11532510718959509
1033 +4.736198448394496,4.634688738077239,0.10150971031725664,0.0,-1.8547125588035014,-0.13765343189677648,0.038910719344411995,6.956227541472558,0.0,0.0,-0.36808353203945243
1034 +5.094179556473186,5.3380122539074994,-0.24383269743431324,0.0,-2.0143252805778102,-0.12093324195299349,0.017324634400523453,7.503324259750442,0.0,0.0,-0.047378117712663245
1035 +5.099866427824199,5.6063113257814665,-0.5064448979572678,0.0,-1.9195973594715356,0.09718617143576269,0.017324634400523453,7.375897005924385,0.0,0.0,0.03550087349233125
1036 +5.552959584921617,5.228378144088633,0.32458144083298457,0.0,-1.835302848674755,-0.10304991908128001,0.017324634400523453,7.411418596867238,0.0,0.0,-0.26201231942309156
1037 +5.402677381872279,6.980702567697357,-1.5780251858250773,0.0,-0.7799595508276704,0.0573622791430572,-0.012124622699479781,7.6495071566358295,0.0,0.0,0.06591730544562022
1038 +,-4.230422165635028,,0.0,-4.114194305580327,0.02432196961630992,0.0024904528831925232,0.0,0.0,0.0,-0.1430402825542034
1039 +4.653960350157523,-6.359659157345243,11.013619507502767,0.0,-6.193622625696801,-0.09908173068509538,0.0,0.0,0.0,0.0,-0.06695480096334719
1040 +4.007333185232471,-2.3515664523943096,6.358899637626781,0.0,-1.8322957387833059,0.031089537061240267,-0.009634169816287258,-0.7423105607057928,0.0,0.0,0.2015844798498367
1041 +5.521460917862246,-5.062263408671621,10.583724326533867,0.0,-4.925738782533099,-0.02712871944344914,0.038910719344411995,0.0,0.0,0.0,-0.14830662603948483
1042 +,-5.504797629717336,,0.0,-4.793344260499927,-0.17044818910975662,0.0,0.0,0.0,0.0,-0.5410051801076514
1043 +,-4.275775455007196,,0.0,-4.1798565677185415,0.005043680740755892,0.04140117222760452,0.0,0.0,0.0,-0.14236374025701387
1044 +,-4.239155775512099,,0.0,-4.106442109142476,0.14999148713622693,0.0024904528831925232,0.0,0.0,0.0,-0.2851956063890413
1045 +4.007333185232471,-1.9544296756409338,5.961762860873405,0.0,-1.649252377586878,0.060691896126776196,0.0024904528831925232,-0.5963811959256494,0.0,0.0,0.22802154886162593
1046 +,-4.857577368403529,,0.0,-5.1361569537565614,-0.16693709206364227,0.038910719344411995,0.0,0.0,0.0,0.4066059580722645
1047 +,-3.9606571246142814,,0.0,-4.0839222782960505,-0.051166507026453034,0.0024904528831925232,0.0,0.0,0.0,0.17194120782502945
1048 +,-6.4662329726091485,,0.0,-6.386446571914696,-0.05793574933908304,0.038910719344411995,0.0,0.0,0.0,-0.060761370699781075
1049 +,5.836881193426713,,0.0,-1.7221931351940851,0.015132290142881595,0.0,7.272119980368596,0.0,0.0,0.2718220581093219
1050 +,4.764558191524963,,0.0,-2.26943517772225,-0.03432694760951385,0.017324634400523453,7.302170881710033,0.0,0.0,-0.25117519925383175
1051 +,4.285429285809997,,0.0,-2.839484829439674,-0.012663063117963808,0.026786096644932214,7.201911426398849,0.0,0.0,-0.09112034467614702
1052 +5.459585514144159,5.900298010021517,-0.4407124958773583,0.0,-1.7404204847488716,-0.11306773857814703,0.026786096644932214,7.835943134531343,0.0,0.0,-0.10894299782773824
1053 +6.137727054086234,3.4677815894930895,2.6699454645931446,0.0,-5.30015816151805,-0.03009840233717593,0.0,9.0784399922403,0.0,0.0,-0.28040183889198256
1054 +6.60934924316738,6.504575995840351,0.10477324732702975,0.0,-1.8225529329139976,0.06347735256051647,0.0,8.280781835129236,0.0,0.0,-0.01713025893540325
1055 +4.330733340286331,5.498140792113571,-1.1674074518272404,0.0,-2.116882717759764,-0.03147695711829257,0.038910719344411995,7.808080157333699,0.0,0.0,-0.2004904096864822
1056 +5.147494476813453,5.211990063474474,-0.06449558666102106,0.0,-2.0897032363127375,-0.033323505844535535,0.017324634400523453,7.324861049844627,0.0,0.0,-0.007168878613401961
1057 +,5.945227933312299,,0.0,-1.233400972894521,-0.005628811165918485,0.017324634400523453,7.3135926332092716,0.0,0.0,-0.14665955023705673
1058 +8.706490361946617,4.33571986307494,4.370770498871678,0.0,-5.698979636580928,0.02775276503234869,0.04140117222760452,9.238202504200961,0.0,0.0,0.7273430581949543
1059 +4.997212273764115,4.340876568936732,0.6563357048273826,0.0,-1.276627067393167,0.1022664897749366,0.0,6.613181513093236,0.0,0.0,-1.0979443665382727
1060 +5.484796933490655,5.508600678258347,-0.02380374476769198,0.0,-1.8908076534951688,-0.14933827313446327,0.0,7.78978388835603,0.0,0.0,-0.2410372834680499
1061 +5.480638923341991,6.003921112588093,-0.5232821892461015,0.0,-1.6734832775099244,-0.08918499512264924,-0.012124622699479781,7.965649989520884,0.0,0.0,-0.1869359816007374
1062 +,6.035046592417036,,0.0,-1.946604329472712,-0.09181014133883494,0.0024904528831925232,8.16813096531973,0.0,0.0,-0.09716035497433992
1063 +8.459564078579602,-5.409753195534503,13.869317274114104,0.0,-5.334539700315231,0.07208706690009152,0.0,0.0,0.0,0.0,-0.14730056211936382
1064 +6.580639137284949,6.93643718582241,-0.35579804853746033,0.0,-1.5965895493979554,0.09415358851777166,0.0,8.529170438465806,0.0,0.0,-0.0902972917632131
1065 +7.80954132465341,6.265956575788549,1.5435847488648609,0.0,-1.6099182827415994,-0.0036672790017897652,0.04140117222760452,7.596246703945973,0.0,0.0,0.24189426135836042
1066 +5.717027701406222,5.439896044942631,0.27713165646359084,0.0,-1.649152364223113,-0.22003645601202307,0.017324634400523453,7.301800132275017,0.0,0.0,-0.01003990149777252
1067 +5.541263545158426,5.546307049547321,-0.005043504388894782,0.0,-1.582994596239681,-0.014537346762179514,0.017324634400523453,7.160273394029091,0.0,0.0,-0.03375903588043206
1068 +,5.735557732647041,,0.0,-1.4937622812069131,-0.12130903904146695,0.0,7.576231622137017,0.0,0.0,-0.22560256924159597
1069 +,5.405385130764474,,0.0,-1.6215361983324854,-0.08881177926871406,0.029449257100003234,7.021859412580618,0.0,0.0,0.0644244386850534
1070 +,5.893267857088097,,0.0,-1.8291354783564202,0.13445183603823568,0.026786096644932214,7.636149171085995,0.0,0.0,-0.07498376832464407
1071 +,5.3659385939396325,,0.0,-2.0632452437177653,0.03872532372091251,0.017324634400523453,7.476139492835322,0.0,0.0,-0.10300561329935846
1072 +8.0861025356691,6.0986142778291965,1.987488257839904,0.0,-1.9046971646554,0.09810190604807709,0.0,8.16813096531973,0.0,0.0,-0.2629214288832147
1073 +5.37989735354046,6.079462398462578,-0.6995650449221182,0.0,-0.7509868490121656,-0.01775169555193812,0.038910719344411995,6.813186035419054,0.0,0.0,-0.0038958117367828837
1074 +7.491087593534876,5.058090345288085,2.4329972482467905,0.0,-2.3943477365131107,-0.028308514289026934,0.0,7.486720388398254,0.0,0.0,-0.005973792308032704
1075 +,5.6252395913497875,,0.0,-2.4208254401474205,-0.002169411376355254,0.038910719344411995,8.063013613403083,0.0,0.0,-0.05368988987393222
1076 +4.48863636973214,4.8204664206408445,-0.3318300509087049,0.0,-1.9746802143692959,-0.07246686140858237,0.029449257100003234,6.948601123244517,0.0,0.0,-0.11043688392579691
1077 +4.867534450455582,5.4754085047718055,-0.6078740543162233,0.0,-1.2678617370185377,-0.026341378279136643,0.0,6.871189694905695,0.0,0.0,-0.10157807483621678
1078 +5.225746673713202,6.538009420399304,-1.3122627466861028,0.0,-1.3970710353678149,0.002976727301712931,0.017324634400523453,7.354419517050842,0.0,0.0,0.5603595770140422
1079 +4.564348191467836,4.866302689045747,-0.3019544975779107,0.0,-2.2014172500150506,0.11015665539561836,0.017324634400523453,7.063128469071979,0.0,0.0,-0.12288981980732391
1080 +4.812184355372417,4.7653709073909285,0.046813447981488565,0.0,-2.4992729030197465,-0.109346816889619,0.0,7.610546908439196,0.0,0.0,-0.2365562811389001
1081 +5.402677381872279,4.183946293883009,1.21873108798927,0.0,-5.134016880079302,0.1401398989138702,0.0,9.238202504200961,0.0,0.0,-0.06037922915251931
1082 +5.4680601411351315,5.288335967001832,0.1797241741332991,0.0,-2.0832236368293673,0.031488620292256964,0.026786096644932214,7.502088428300387,0.0,0.0,-0.18880354140637498
1083 +8.108439682439633,7.072772410133364,1.0356672723062683,0.0,-1.847246726765901,0.18504078292511109,0.0024904528831925232,8.60368906209316,0.0,0.0,0.12879883899780317
1084 +4.994980054485683,5.891244508727389,-0.896264454241706,0.0,-2.037200169630734,-0.07139910522580117,0.0,8.169080567970997,0.0,0.0,-0.1692367843870762
1085 +5.258380396944336,4.903406245448047,0.35497415149628875,0.0,-2.377978361438405,-0.049551632279665074,0.038910719344411995,7.502706344025414,0.0,0.0,-0.21068082420370782
1086 +6.799089306315584,6.818091906708307,-0.019002600392722613,0.0,-1.3065643671834515,0.06205919503711844,0.0024904528831925232,8.093859507982389,0.0,0.0,-0.03375288201094037
1087 +5.335757649521882,5.509601362182645,-0.17384371266076304,0.0,-1.6925817135371597,0.10851234818677358,0.026786096644932214,7.169354385559898,0.0,0.0,-0.1024697546717985
1088 +5.996253063839779,5.359362948837912,0.6368901150018669,0.0,-1.7710514957457502,-0.15602621191008612,0.017324634400523453,7.318441450171895,0.0,0.0,-0.04932542807866842
1089 +,6.048347931803108,,0.0,-1.5157050499690916,-0.15166855443378346,0.026786096644932214,7.342449499484731,0.0,0.0,0.3464859400763214
1090 +,5.183138642340474,,0.0,-2.2136826658543507,-0.10510929837421135,0.017324634400523453,7.723578493520625,0.0,0.0,-0.23897252135211175
1091 +9.930324206489688,4.3951457046199085,5.53517850186978,0.0,-2.81843957673812,-0.014365449007204316,0.038910719344411995,7.328761080621434,0.0,0.0,-0.13972106960061162
1092 +7.855385750558698,6.599108027137019,1.2562777234216789,0.0,-1.5695751736212413,-0.10118444023022685,0.029449257100003234,8.109478440835934,0.0,0.0,0.13093994305255033
1093 +,3.357254152816561,,0.0,-5.714005036903632,0.042810448396091626,0.0,9.0784399922403,0.0,0.0,-0.0499912509161987
1094 +5.732661434206578,5.1699488627928885,0.5627125714136891,0.0,-1.9067780487218178,0.034789662999144495,0.029449257100003234,6.985057025425887,0.0,0.0,0.02743096598967222
1095 +5.165071647400675,5.898785912323532,-0.7337142649228579,0.0,-2.2292090376970135,-0.05438407538092134,0.026786096644932214,7.279780758759304,0.0,0.0,0.8758121699972324
1096 +5.687178725489421,4.736500130991469,0.9506785944979521,0.0,-1.8618720231967076,-0.09390949653873615,0.029276549528124737,6.908727719835947,0.0,0.0,-0.24572261863715994
1097 +5.689007189074046,4.9777394577467895,0.7112677313272568,0.0,-1.9546839509666674,-0.0650874116359283,0.026786096644932214,7.0173371790071055,0.0,0.0,-0.04661245530265287
1098 +,5.445376822572104,,0.0,-1.330569223882489,-0.031502711363435854,-0.012124622699479781,7.048029961471774,0.0,0.0,-0.2284565809542643
1099 +,5.728237284616341,,0.0,-2.1357067584539804,0.06666625859346106,0.0,7.8964981449283735,0.0,0.0,-0.09922036045151163
1100 +,4.914923468633531,,0.0,-1.9148376725729364,-0.004232801680133166,0.017324634400523453,6.911290731684458,0.0,0.0,-0.09462142319837917
1101 +,5.895537480805127,,0.0,-1.724693275275678,0.06564888396937045,0.0,7.641121393240059,0.0,0.0,-0.0865395211286239
1102 +5.301512257444556,6.20633395644694,-0.9048216990023841,0.0,-1.6317164934499226,0.059006058064728285,0.0,7.736364883532696,0.0,0.0,0.042679508299438645
1103 +7.99799931797973,6.111356496356652,1.8866428216230782,0.0,-2.7779083169494942,0.020270516544738593,0.0,8.488937278818561,0.0,0.0,0.3800570179428461
1104 +5.420534999272286,-5.205875640587565,10.626410639859852,0.0,-4.97013438511209,0.025834753377295103,0.04140117222760452,0.0,0.0,0.0,-0.3029771810803775
1105 +4.890349128221754,-7.177109401461342,12.067458529683096,0.0,-6.52407088836709,-0.05346041378497066,0.029449257100003234,0.0,0.0,0.0,-0.6290273564092864
1106 +,-5.374880979930937,,0.0,-5.2824144643947,0.006357366097275909,0.0024904528831925232,0.0,0.0,0.0,-0.10131433451670435
1107 +,-0.8141712910010557,,0.0,-0.0170058691470496,0.008570699266573376,0.038910719344411995,-0.7423105607057928,0.0,0.0,-0.10233627975920076
1108 +,-4.074953270197836,,0.0,-4.41836018269945,0.04826415991189256,0.04140117222760452,0.0,0.0,0.0,0.2537415803621157
1109 +,-2.9177872065720183,,0.0,-1.8585799508793848,-0.22244359392054514,-0.012124622699479781,-0.7423105607057928,0.0,0.0,-0.08232847836681603
1110 +,-5.696543652456304,,0.0,-5.539971936871593,-0.01022934414628836,0.038910719344411995,0.0,0.0,0.0,-0.1852530907828348
1111 +,-5.403531186890475,,0.0,-5.408423760399309,0.08404654508597678,0.0024904528831925232,0.0,0.0,0.0,-0.0816444244603354
1112 +,-2.494675319569581,,0.0,-1.883255608683128,0.09732061848655515,0.029449257100003234,-0.5983585262457373,0.0,0.0,-0.13983106022727299
1113 +,-5.096358800934267,,0.0,-4.891809398031603,-0.006796059581956199,0.0,0.0,0.0,0.0,-0.19775334332070799
1114 +,-4.0336847612974,,0.0,-3.8382243344611995,-0.07623581023315579,0.0024904528831925232,0.0,0.0,0.0,-0.12171506948623656
1115 +5.043425116919247,-6.000016969247054,11.043442086166301,0.0,-6.227539074467671,-0.039532649876740114,0.038910719344411995,0.0,0.0,0.0,0.2281440357529474
1116 +,-1.7378994976316957,,0.0,-1.4860367496769014,-0.09706288418729694,0.029449257100003234,-0.7423105607057928,0.0,0.0,0.5580614398382935
1117 +4.997212273764115,-2.975441369956321,7.972653643720436,0.0,-2.347115543251598,-0.03144456071540597,0.038910719344411995,-0.43492758244368784,0.0,0.0,-0.20086440289004157
1118 +,5.005130889085868,,0.0,-2.367167274259505,0.08354131801966577,0.0,7.3819166696727265,0.0,0.0,-0.09315982434702053
1119 +5.176771008468541,5.243933185981631,-0.06716217751309017,0.0,-2.0022857654088275,-0.051061553710137486,0.0,7.59488633459055,0.0,0.0,-0.29760582948995273
1120 +4.881285622068407,4.947633087545385,-0.06634746547697823,0.0,-2.1201099140961164,-0.06051792112680296,0.029449257100003234,7.219330307402327,0.0,0.0,-0.12051864173402495
1121 +4.770006428441026,5.00947831458958,-0.23947188614855364,0.0,-1.984811552130683,-0.024142471975910577,0.0,7.195766970540646,0.0,0.0,-0.1773346318444723
1122 +,4.713989707147287,,0.0,-2.038353833656461,-0.20157022947764242,-0.009634169816287258,7.131184817757889,0.0,0.0,-0.16763687766021154
1123 +5.7416240320830765,5.975968643049311,-0.23434461096623416,0.0,-1.8479396523811218,-0.08095326807307957,0.0,8.009851451099134,0.0,0.0,-0.1049898875956227
1124 +4.665606554791922,5.5078857337596965,-0.8422791789677744,0.0,-2.015338206985346,-0.1303809937993087,0.038910719344411995,7.577639162903575,0.0,0.0,0.03705505229636594
1125 +,5.388496853329949,,0.0,-2.09722970334641,-0.08904548284919517,0.017324634400523453,7.185889547555948,0.0,0.0,0.3715578575690838
1126 +8.422605550517797,-5.875516911621303,14.298122462139101,0.0,-5.816909396034882,0.021738245569596467,0.0,0.0,0.0,0.0,-0.08034576115601663
1127 +7.422080771057753,5.599478621344582,1.8226021497131706,0.0,-1.5021861294736834,0.1035984501788654,0.0024904528831925232,6.785803401062683,0.0,0.0,0.20977244669352366
1128 +7.198931240688173,6.875550815168767,0.3233804255194066,0.0,-0.8313774183573619,-0.09335544706389226,0.029276549528124737,7.707988028032004,0.0,0.0,0.06301910302989203
1129 +6.655067050326626,4.084285042317418,2.570782008009208,0.0,-5.365833663770779,-0.04773457343741971,0.0,9.238202504200961,0.0,0.0,0.25965077532465514
1130 +7.526125032584259,3.6983001853263833,3.827824847257876,0.0,-5.6530564109942905,-0.07788233619874925,0.038910719344411995,9.238202504200961,0.0,0.0,0.1521257089740524
1131 +5.1084876942637605,6.337021639485384,-1.2285339452216233,0.0,-1.594498667284153,-0.12487102233499385,0.029449257100003234,8.063013613403083,0.0,0.0,-0.036071541398556645
1132 +,6.438483558998092,,0.0,-1.9168104294710258,-0.12938645630359577,0.038910719344411995,8.368542844490106,0.0,0.0,0.0772268809381971
1133 +7.278628942320682,5.873375668797529,1.4052532735231535,0.0,-2.17991292587444,-0.13895234538534457,-0.012124622699479781,8.003529137642163,0.0,0.0,0.2008364251146303
1134 +,5.49756192335563,,0.0,-1.8152505941626762,-0.1352985029845064,0.026786096644932214,7.284770946938466,0.0,0.0,0.13655397691941523
1135 +5.1084876942637605,6.051485312130879,-0.9429976178671184,0.0,-1.954360082823551,-0.003996313392980441,0.026786096644932214,7.99718864423207,0.0,0.0,-0.014133032529592728
1136 +,-6.056733836034513,,0.0,-5.841898081243089,-0.09570644412250612,0.0024904528831925232,0.0,0.0,0.0,-0.12161976355211022
1137 +6.110979415609124,5.599286284415252,0.5116931311938728,0.0,-1.2178237315533167,0.05671713844172022,0.026786096644932214,6.7980317227744145,0.0,0.0,-0.06442494189249945
1138 +4.637637376125593,5.005777158141229,-0.36813978201563646,0.0,-3.106064686911987,-0.03774165310359138,0.0,8.370604695446422,0.0,0.0,-0.22102119728961386
1139 +4.771192969812543,5.320374405859318,-0.5491814360467746,0.0,-1.9815636798428242,0.053916934983608646,0.038910719344411995,7.457893117382321,0.0,0.0,-0.2487826860082
1140 +8.58466490653125,8.049029519828723,0.535635386702527,0.0,-0.5028276411521153,0.07701091028603138,0.029276549528124737,7.99718864423207,0.0,0.0,0.44838105693461516
1141 +,5.3830007791829555,,0.0,-1.941191441506617,-0.11012794303157787,0.04140117222760452,7.524566405781619,0.0,0.0,-0.13164741428807286
1142 +,5.240184970775084,,0.0,-2.0203006135596153,-0.08931497022195167,0.017324634400523453,7.485241477530316,0.0,0.0,-0.15276555737418884
1143 +5.394627046685445,6.150744933976202,-0.756117887290757,0.0,-1.5651292442771254,-0.12542909692920678,0.029449257100003234,8.031473113793162,0.0,0.0,-0.21961909571062968
1144 +4.564348191467836,4.834109058274677,-0.2697608668068412,0.0,-2.7116925063128914,-0.16049130063527953,0.0,7.77614916872737,0.0,0.0,-0.06985630350452315
1145 +5.011101851907898,3.614171146395673,1.3969307055122249,0.0,-5.637692730527055,0.046848118034922316,0.038910719344411995,9.238202504200961,0.0,0.0,-0.07209746465756761
1146 +8.215731278222728,6.118981484581963,2.0967497936407655,0.0,-1.4841525985190316,-0.12133082123200681,0.0024904528831925232,7.711058815521592,0.0,0.0,0.01091563592821751
1147 +4.637637376125593,4.808837154583964,-0.1711997784583712,0.0,-2.471980483077564,-0.02476944855635238,0.026786096644932214,7.541276430228375,0.0,0.0,-0.26247544065542705
1148 +8.568957974635458,5.168585408994489,3.4003725656409687,0.0,-4.009559721027814,-0.06775947960697273,0.0024904528831925232,9.238202504200961,0.0,0.0,0.005211652545122292
1149 +7.918927007665679,6.087432113416725,1.8314948942489542,0.0,-2.0004781976366006,0.012159221246498073,0.0,7.269769786602416,0.0,0.0,0.8059813032044107
1150 +5.391306673390865,7.031097087953794,-1.6397904145629294,0.0,-1.1586079465536834,0.02558613143297748,0.038910719344411995,7.935461090972494,0.0,0.0,0.1897470927575979
1151 +,4.882242112971735,,0.0,-2.0378554300453517,-0.11946058004191554,0.0,7.009645880924289,0.0,0.0,0.029912242134715633
1152 +4.608265390895394,5.896954588454176,-1.2886891975587824,0.0,-2.280764704236435,-0.055210927572280744,0.038910719344411995,8.442235448611198,0.0,0.0,-0.24821594769271668
1153 +3.8353579204926604,4.7107421970119265,-0.8753842765192661,0.0,-2.199783085692709,0.10866365973845424,0.0,7.162849848938658,0.0,0.0,-0.36098822597247615
1154 +4.910888620925971,5.057855640758294,-0.1469670198323234,0.0,-2.2925925934807454,0.0010747453136594753,-0.012124622699479781,7.441843872780877,0.0,0.0,-0.08034576115601663
1155 +4.886809034892587,5.485227891177768,-0.5984188562851811,0.0,-1.838771943075736,-0.01938062075577746,0.0,7.651258542162346,0.0,0.0,-0.3078780871530646
1156 +2.4457161361787083,4.772229167394557,-2.326513031215849,0.0,-2.7407765407172624,-0.19494203728181028,0.026786096644932214,7.270995963893299,0.0,0.0,0.41016568485539895
1157 +,5.506152911831802,,0.0,-1.7767180315139113,-0.17277163504237433,0.017324634400523453,7.4587581993973595,0.0,0.0,-0.020440255409795383
1158 +7.7504209989815545,5.302249487029455,2.4481715119520997,0.0,-2.002159944983293,0.017567126201876688,-0.012124622699479781,7.521560033465178,0.0,0.0,-0.22259310495482826
1159 +4.233526626355437,6.21155952783204,-1.9780329014766025,0.0,-2.93659857735921,0.025952442346142038,0.029449257100003234,8.845898508179454,0.0,0.0,0.24685789756564977
1160 +,5.0103820210440615,,0.0,-1.8793824540761639,0.02926554155175247,0.0,7.708339986331471,0.0,0.0,-0.8478410527629979
1161 +5.086113755272161,4.747859583588939,0.33825417168322236,0.0,-1.8777581223547601,-0.10905797086464886,0.017324634400523453,6.801801838002497,0.0,0.0,-0.08445079559467139
1162 +4.244056835450428,5.724133497124025,-1.4800766616735972,0.0,-1.6807238250929357,-0.06732792792014573,0.0,7.558726745554049,0.0,0.0,-0.08654149541694287
1163 +,5.695333541458016,,0.0,-1.9337429530334314,0.12347976330662414,0.029449257100003234,7.563198065834936,0.0,0.0,-0.08705059175011509
1164 +4.561322786207815,4.9880687360651415,-0.4267459498573265,0.0,-2.2727315011498694,-0.11201808098531599,0.0,7.4964730771682495,0.0,0.0,-0.12365475896792145
1165 +4.881361491724374,5.342172983141602,-0.46081149141722744,0.0,-2.226824441887567,0.02021390860424121,0.017324634400523453,7.530067380088036,0.0,0.0,0.001391501936368316
1166 +7.251919286513697,6.714004335762524,0.5379149507511736,0.0,-2.0774517836753263,-0.23580092240817013,0.0,8.368705490143888,0.0,0.0,0.6585515517021321
1167 +7.882616760214072,5.949858882765254,1.932757877448818,0.0,-2.437419144571278,-0.07874318461026239,0.0024904528831925232,8.208942978183227,0.0,0.0,0.25458778088037465
1168 +5.515362359400377,6.423015558343679,-0.9076531989433025,0.0,-1.5578587027967679,-0.06887572095063044,0.029449257100003234,7.691051173649395,0.0,0.0,0.3292495513416797
1169 +,5.095106688947242,,0.0,-1.9342775468442497,0.16225442318711666,0.0,6.767447397099441,0.0,0.0,0.09968241550493337
1170 +7.421446792161173,5.9814677003613825,1.4399790917997901,0.0,-1.9362346755846351,-0.08843730269754431,0.026786096644932214,8.063013613403083,0.0,0.0,-0.08366003140445423
1171 +6.476264420049582,4.182390175926809,2.2938742441227733,0.0,-5.012288057901674,-0.16273408206378637,0.0024904528831925232,9.238202504200961,0.0,0.0,0.11671935880811499
1172 +5.9941359756631405,5.533307584029901,0.46082839163323985,0.0,-1.8362815961653878,-0.11287954254680184,0.017324634400523453,7.598224034266061,0.0,0.0,-0.13307994592449557
1173 +,6.245814382246799,,0.0,-1.2121790646516848,0.03547843415842634,-0.009634169816287258,7.4846235618052885,0.0,0.0,-0.05247437924894319
1174 +8.10474274252434,7.320713509827212,0.7840292326971285,0.0,-1.796681044360434,0.025591835475418122,0.0024904528831925232,8.368705490143888,0.0,0.0,0.7206067756851471
1175 +8.236266913772528,5.911699687314047,2.3245672264584814,0.0,-1.8858763708220234,0.05605935803764551,0.0,7.895138730333313,0.0,0.0,-0.1536220302348883
1176 +8.39919088172106,6.65225804806663,1.74693283365443,0.0,-1.465666616704027,-0.18382602440988427,0.0,8.368705490143888,0.0,0.0,-0.06695480096334719
1177 +8.274662926301838,6.9409262698740335,1.3337366564278046,0.0,-0.746149083385971,-0.138438231430284,-0.012124622699479781,7.965649989520884,0.0,0.0,-0.12801178213111492
1178 +4.991452474679482,4.896044835795187,0.09540763888429549,0.0,-2.433951089255026,0.039511154235304796,-0.012124622699479781,7.419171186968026,0.0,0.0,-0.11656179345364034
1179 +,5.5531514963429585,,0.0,-2.0496934085159646,0.002168624330959521,0.0024904528831925232,7.814318736529379,0.0,0.0,-0.21613290888460818
1180 +5.54907608489522,6.081080703720999,-0.5320046188257788,0.0,-1.629509646253724,0.22126846783750934,0.019815087283715976,7.2962110621620955,0.0,0.0,0.17329573269140294
1181 +5.093750200806762,6.243491140850464,-1.149740940043702,0.0,-1.55354158510215,0.03754540964087763,-0.012124622699479781,7.691051173649395,0.0,0.0,0.0805607653618213
1182 +,5.322021456114799,,0.0,-1.7927277464918392,-0.08444202757740046,0.017324634400523453,7.410924264287216,0.0,0.0,-0.22905766850369796
1183 +8.128290171607052,6.007369252913253,2.120920918693799,0.0,-2.0904785818930103,-0.08338421264025336,0.0,8.368705490143888,0.0,0.0,-0.18747344269737212
1184 +,6.891401237452411,,0.0,-1.2208671986952675,0.06025993771907569,0.0,8.1461031766186,0.0,0.0,-0.09409467818999903
1185 +5.225746673713202,6.473575278817845,-1.247828605104643,0.0,-1.777667719663607,-0.03396779053711608,0.0,7.856842844078363,0.0,0.0,0.42836794494020436
1186 +7.7664168980196555,3.773716869898611,3.9927000281210443,0.0,-5.010650157662161,-0.12278930842822447,0.0,9.0784399922403,0.0,0.0,-0.17128365625130348
1187 +4.127134385045092,5.376532546726704,-1.2493981616816123,0.0,-2.599582117437585,0.01567848880849305,0.0,8.007132621909014,0.0,0.0,-0.0466964465532185
1188 +4.48863636973214,5.290547322567493,-0.8019109528353532,0.0,-1.9016470155985639,-0.0369718440570639,0.026786096644932214,7.442091039070888,0.0,0.0,-0.23971095349269864
1189 +5.616771097666572,5.545687971252898,0.07108312641367398,0.0,-1.5766543532014134,-0.0814330577199621,0.029449257100003234,7.051656624204847,0.0,0.0,0.12266950086942227
1190 +5.093750200806762,4.97622660452787,0.1175235962788923,0.0,-2.031178230122454,-0.17322627772544272,0.0,7.265928070386009,0.0,0.0,-0.08529695801024115
1191 +5.514113995199193,5.5930250813715325,-0.07891108617233922,0.0,-1.605704402418083,0.006993134837692289,0.026786096644932214,7.331494698243385,0.0,0.0,-0.1665444459363943
1192 +,4.815663527109643,,0.0,-2.762353510375286,-0.14257686912486822,0.0,7.747374789327425,0.0,0.0,-0.026780882717627758
1193 +4.875197323201151,5.314041186670908,-0.43884386346975646,0.0,-1.1215613803137403,-0.06584235957742487,0.0,6.635354528488767,0.0,0.0,-0.13390960192669438
1194 +5.655991810819852,5.600161717146123,0.055830093673729486,0.0,-1.5117749389403787,-0.03696076210333449,0.038910719344411995,7.116042739435715,0.0,0.0,-0.006056040590292494
1195 +,3.901836194015551,,0.0,-5.374016528228022,0.06610255841820523,0.0,9.238202504200961,0.0,0.0,-0.028452340375593344
1196 +7.98514393119862,-4.952108719509967,12.937252650708587,0.0,-5.014607293569635,0.0319401626173929,0.0024904528831925232,0.0,0.0,0.0,0.028067958559083034
1197 +8.391353286176955,7.5152673791269935,0.8760859070499611,0.0,-0.917232491978802,-0.022158811931206272,0.029276549528124737,8.063013613403083,0.0,0.0,0.362368520105795
1198 +4.509870006133767,5.647363197742935,-1.1374931916091686,0.0,-1.536067715236725,-0.07272324021633184,0.029276549528124737,7.224185980454553,0.0,0.0,0.0026916232133158136
1199 +5.582443122797041,3.1426165771825363,2.4398265456145043,0.0,-5.367252960293892,-0.11045401996015834,0.0,9.0784399922403,0.0,0.0,-0.4581164348037116
1200 +,6.342877452339309,,0.0,-2.460121424621696,0.03354444164413778,0.0,8.762053096949984,0.0,0.0,0.007401338366882351
1201 +6.412704574331508,5.230813740808667,1.181890833522841,0.0,-1.8613310511954273,-0.03546305221814802,0.026786096644932214,7.234556584949575,0.0,0.0,-0.133734837372266
1202 +,5.558065850848639,,0.0,-1.8047158618530377,-0.16162201868368006,0.0,7.640503477515031,0.0,0.0,-0.11609974612967511
1203 +5.391306673390865,5.956599707493188,-0.5652930341023232,0.0,-2.040993300882856,0.006417097563057909,0.017324634400523453,7.411665763157249,0.0,0.0,0.5621855132552153
1204 +5.5109660387695945,5.7122327434364735,-0.20126670466687901,0.0,-2.1562140325138026,-0.09866882854612388,0.0,8.16813096531973,0.0,0.0,-0.20101536082333124
1205 +4.672454932793688,5.289632837820058,-0.6171779050263702,0.0,-1.9759999014306153,-0.09704040277501691,0.017324634400523453,7.552525827455711,0.0,0.0,-0.2071773198305422
1206 +5.391306673390865,6.464145208978833,-1.0728385355879677,0.0,-0.8570259873753203,-0.05036927983088671,0.017324634400523453,7.336985786073435,0.0,0.0,0.01723005571108234
1207 +5.209267549714526,5.397962999293774,-0.18869544957924766,0.0,-2.235221731690676,0.08669985650291007,0.0,7.563123221428082,0.0,0.0,-0.016638346946542794
1208 +,5.675644875719737,,0.0,-1.8195631933836767,-0.23016073605625592,0.026786096644932214,7.442338205360899,0.0,0.0,0.25624450315383884
1209 +5.940197568163651,5.077194425105565,0.8630031430580853,0.0,-2.6358533859733813,-0.004747460035156706,0.017324634400523453,7.837426132271409,0.0,0.0,-0.1369554955578276
1210 +,6.184261262218407,,0.0,-1.891898649220031,-0.02398534643049613,0.04140117222760452,7.883835338061308,0.0,0.0,0.17490874758002073
1211 +7.150701457592526,6.91338924470615,0.23731221288637627,0.0,-0.8573940957193278,0.04240172185040305,0.04140117222760452,7.86173665221767,0.0,0.0,-0.17475620587019994
1212 +,5.638304757848378,,0.0,-1.0216348718371373,0.027756453196866107,-0.012124622699479781,6.737797811805587,0.0,0.0,-0.09349001261745574
1213 +,5.5809640589593466,,0.0,-2.168465589864245,-0.07567775693072584,0.017324634400523453,7.99718864423207,0.0,0.0,-0.189405872878274
1214 +4.404888303817144,5.403623874069606,-0.9987355702524621,0.0,-1.7894000715994567,0.005871566525777069,0.017324634400523453,6.943265842122311,0.0,0.0,0.2265619026204528
1215 +,5.295004523594682,,0.0,-2.0120776042704343,-0.027106607900293254,0.0024904528831925232,7.487962169416283,0.0,0.0,-0.15626388653406698
1216 +5.900636806147441,6.0847696065333805,-0.1841328003859397,0.0,-1.9203953751625606,-0.16934490132449886,0.029449257100003234,8.256548952914406,0.0,0.0,-0.11148832699396855
1217 +7.411822113503574,6.962618741523076,0.44920337198049776,0.0,-1.5442659512995212,-0.12357966330505747,0.04140117222760452,8.442235448611198,0.0,0.0,0.14682773528885287
1218 +7.177202095169763,8.839180838384468,-1.6619787432147053,0.0,0.9706070143586603,-0.0124493715260982,0.0,8.007666016997813,0.0,0.0,-0.1266428214459107
1219 +4.61512051684126,6.057614171188566,-1.442493654347306,0.0,-1.828294831318746,0.009641977002885257,0.029276549528124737,7.863922086318992,0.0,0.0,-0.016931610342689446
1220 +,5.089866601851086,,0.0,-2.283049726557162,-0.12421015364026317,0.0,7.722332696233663,0.0,0.0,-0.22520621418515133
1221 +,6.3284548557034075,,0.0,-2.180345085383525,-0.009692646019228944,0.0024904528831925232,8.16677155072467,0.0,0.0,0.3492305834982982
1222 +7.965948269814574,8.230719447190609,-0.2647711773760344,0.0,-0.0943432547462999,-0.09613641815593549,0.0024904528831925232,8.148204090083695,0.0,0.0,0.27050457712595766
1223 +4.343805421853684,5.48579999650421,-1.1419945746505258,0.0,-1.9541965729541309,0.0684782506812934,0.0024904528831925232,7.574007125526919,0.0,0.0,-0.20497925963306463
1224 +5.308020142009422,5.107624823717013,0.20039531829240875,0.0,-2.1222241580507184,-0.04557736077525682,0.017324634400523453,7.467726467958887,0.0,0.0,-0.20962475981642154
1225 +7.528460790641366,4.786808235785864,2.7416525548555013,0.0,-4.29507323755625,-0.12835029070818654,0.0024904528831925232,9.238202504200961,0.0,0.0,-0.030461193033852224
1226 +,4.877898553584253,,0.0,-2.3949774438590365,0.059791043451823296,0.038910719344411995,7.757121464211684,0.0,0.0,-0.5829472295646295
1227 +2.7479117345273405,5.322395310329066,-2.5744835758017253,0.0,-2.3289177815957904,0.07435732079020839,0.029276549528124737,7.723578493520625,0.0,0.0,-0.17589927191410099
1228 +5.665630523506622,5.43115445401803,0.23447606948859256,0.0,-1.6190703060223308,0.04105263634076195,0.017324634400523453,7.160644143464108,0.0,0.0,-0.16879665416503348
1229 +7.750614732770409,6.132170522024668,1.618444210745741,0.0,-1.3826423254692832,-0.06370153925650898,0.0024904528831925232,7.6381283240238815,0.0,0.0,-0.0621043901566144
1230 +4.468548308445127,6.01736681001567,-1.5488185015705422,0.0,-2.11134817273207,0.04522239089751931,0.0,8.095921358938705,0.0,0.0,-0.012428767088485258
1231 +5.894843508503556,5.990441262158778,-0.0955977536552215,0.0,-1.4184299677713126,-0.09982460791965439,0.017324634400523453,7.776069328446848,0.0,0.0,-0.2846981249976279
1232 +5.25227342804663,5.597649473374184,-0.34537604532755406,0.0,-1.896386731052237,-0.08547369543420395,0.017324634400523453,7.552525827455711,0.0,0.0,0.00965943800439178
1233 +6.836323722031823,6.321315985104034,0.5150077369277888,0.0,-1.3477404926265804,-0.14388151047397696,0.0,7.9599508637049246,0.0,0.0,-0.14701287550033476
1234 +4.994573660548905,3.076286634079757,1.918287026469148,0.0,-5.982755482443047,-0.09836508326260279,0.029449257100003234,9.238202504200961,0.0,0.0,-0.1102445615155577
1235 +,6.150927117472058,,0.0,-1.8144456678920893,-0.18472440547611374,0.03193970998319576,8.222776125363746,0.0,0.0,-0.10461864450668078
1236 +,4.614671886400301,,0.0,-4.277380859884531,-0.04823391352281985,0.0,9.238202504200961,0.0,0.0,-0.29791584439330954
1237 +,5.518700260188705,,0.0,-1.7328764033310575,-0.03621419236770616,0.0,7.42958806341356,0.0,0.0,-0.14179720752609282
1238 +6.119417911418443,5.992950462739637,0.126467448678806,0.0,-1.4957742004549646,-0.06860190696200888,0.029449257100003234,7.586090535615668,0.0,0.0,-0.05821322255906018
1239 +,4.824651153196534,,0.0,-1.824376108112471,-0.005623938264015894,0.03193970998319576,6.997027698484757,0.0,0.0,-0.3743162088949332
1240 +5.660735785113835,5.198719190975813,0.46201659413802254,0.0,-1.904831174663486,-0.030545746881374482,-0.012124622699479781,7.376391338504407,0.0,0.0,-0.2301706032842531
1241 +,5.415049535065685,,0.0,-1.6452257055726962,0.06709980812895035,0.029449257100003234,7.025385536725253,0.0,0.0,-0.06165936131582419
1242 +7.989516380566242,7.001422000136534,0.9880943804297075,0.0,-1.1961953126159282,-0.12968727403527397,0.019815087283715976,8.063013613403083,0.0,0.0,0.24447588610093665
1243 +4.485147143388361,4.986879060860552,-0.501731917472191,0.0,-2.5966130113164354,-0.13488937406180826,0.0,7.822434791372265,0.0,0.0,-0.10405334513346844
1244 +8.297421449159408,6.602857883735651,1.6945635654237572,0.0,-1.5456753526910934,0.03629298747575599,0.029276549528124737,7.722466245215575,0.0,0.0,0.36049745420729196
1245 +8.913772268769568,5.997174598142652,2.916597670626916,0.0,-1.3064220851797232,-0.14931242338985246,0.029449257100003234,7.1343558403200396,0.0,0.0,0.28910400929218505
1246 +,5.2707502860563595,,0.0,-2.4492865293188597,-0.14969453467645505,0.038910719344411995,7.949660307232322,0.0,0.0,-0.11883967652505867
1247 +,6.026929588758962,,0.0,-1.415574143315065,-0.2020461735620023,0.0024904528831925232,7.559221078134071,0.0,0.0,0.0828383746187655
1248 +,5.940954145920202,,0.0,-2.1028920959167943,0.04238874888613721,0.038910719344411995,8.1461031766186,0.0,0.0,-0.18355640301215426
1249 +4.830152046575941,5.967373433375961,-1.1372213868000198,0.0,-2.252451123210805,-0.12643064959095818,0.0,8.529170438465806,0.0,0.0,-0.18291523228808185
1250 +4.910888620925971,4.659657796629459,0.25123082429651244,0.0,-2.3603990010517935,-0.17093723945453976,0.026786096644932214,7.229590525893991,0.0,0.0,-0.06538258540313141
1251 +4.672454932793688,5.107260172339105,-0.43480523954541717,0.0,-1.6530361913420224,-0.14585854601601161,0.026786096644932214,6.926736233826627,0.0,0.0,-0.04736742077441929
1252 +7.484801134018193,7.431136261001552,0.05366487301664069,0.0,-1.0649410051915078,0.05385153143855882,0.04140117222760452,8.134852470349093,0.0,0.0,0.26597209217780615
1253 +5.35823585675928,5.718595954698907,-0.3603600979396271,0.0,-1.6005076218809249,-0.008164217830242813,0.04140117222760452,7.136006302488923,0.0,0.0,0.14986031969354843
1254 +,-5.772413809217255,,0.0,-5.324218366521982,-0.06610815860963544,0.029449257100003234,0.0,0.0,0.0,-0.4115365411856397
1255 +,-5.820330815281426,,0.0,-5.7650360109876235,0.08876537218191094,0.029449257100003234,0.0,0.0,0.0,-0.17350943357571444
1256 +6.317164686747284,-5.36411158993832,11.681276276685605,0.0,-5.3753364614736245,-0.027772745346313552,0.029449257100003234,0.0,0.0,0.0,0.009548359781616417
1257 +,-4.125811699435571,,0.0,-4.298142431460834,-0.06185601213478935,0.0,0.0,0.0,0.0,0.23418674416005034
1258 +5.84354441703136,-5.072177599372172,10.915722016403532,0.0,-4.961903545227487,-0.02963321003291506,0.0,0.0,0.0,0.0,-0.08064084411176874
1259 +5.241747015059643,-5.955039724189016,11.196786739248658,0.0,-5.929078830533482,-0.03797282398474502,0.029449257100003234,0.0,0.0,0.0,-0.017437326770791663
1260 +,-5.388395984437381,,0.0,-5.079532906071449,0.042227901425737874,0.0,0.0,0.0,0.0,-0.3510909797916701
1261 +4.787491742782046,-4.5291270248632625,9.31661876764531,0.0,-4.421711725859186,0.10867238707723853,0.04140117222760452,0.0,0.0,0.0,-0.25748885830892
1262 +4.2626798770413155,-2.33870724106476,6.601387118106075,0.0,-2.0634481804463984,-0.03191740024888802,0.0,-0.27606921500684156,0.0,0.0,0.032727554637367956
1263 +,-6.367455927186459,,0.0,-6.064188080345589,-0.07541102937248045,0.029449257100003234,0.0,0.0,0.0,-0.25730607456839105
1264 +5.030437921392435,-5.432251722016147,10.462689643408583,0.0,-5.193676430194553,0.058857389646126884,0.0,0.0,0.0,0.0,-0.29743268146772184
1265 +,-5.383194736052066,,0.0,-5.489571418698368,0.04766788137034885,0.0024904528831925232,0.0,0.0,0.0,0.0562183483927616
1266 +,-3.6288199416321905,,0.0,-3.1775969065042027,-0.018716375547267742,0.0,-0.27347396896172627,0.0,0.0,-0.15903269061899283
1267 +,-1.6107115416104163,,0.0,-1.275104830452654,0.09622993176334264,0.0,-0.5981113599557263,0.0,0.0,0.16627471703462024
1268 +,-3.4841034285853576,,0.0,-2.416922491145111,-0.14006427075174652,0.029449257100003234,-0.7423105607057928,0.0,0.0,-0.214255363082711
1269 +,-5.229825278980956,,0.0,-5.155504610696845,-0.15921078937911498,0.0024904528831925232,0.0,0.0,0.0,0.08239966821181063
1270 +,-4.993423340768967,,0.0,-4.913955358538979,0.02163395271645589,0.0,0.0,0.0,0.0,-0.10110193494644246
1271 +,-5.612931721436314,,0.0,-5.4982307706118885,0.06048675333713885,0.029449257100003234,0.0,0.0,0.0,-0.20463696126156677
1272 +,-2.446117165166813,,0.0,-1.8416961654334942,0.027731197042351635,0.0,-0.43715207905378667,0.0,0.0,-0.1950001177218818
1273 +5.049856007249537,4.7072779971590455,0.3425780100904916,0.0,-2.2120074913256387,0.19065322359910053,0.017324634400523453,6.863456315215016,0.0,0.0,-0.152148684729954
1274 +5.793013608384144,5.596904667660024,0.19610894072412055,0.0,-1.6392152547265235,-0.144935670525186,-0.012124622699479781,7.476139492835322,0.0,0.0,-0.08295927722410719
1275 +5.84354441703136,4.834120390391978,1.0094240266393824,0.0,-1.861487395794292,-0.22243291890105063,0.029449257100003234,6.935047247263251,0.0,0.0,-0.04645579927593356
1276 +7.265429723253953,6.655575769170908,0.6098539540830448,0.0,-1.07241061547714,-0.04888545240939722,-0.009634169816287258,7.776687244171876,0.0,0.0,0.009818762701857248
1277 +7.5411524551363085,6.573700908467924,0.9674515466683848,0.0,-1.450075000925887,0.07906918178366232,0.0,8.02815812195638,0.0,0.0,-0.0834513943462325
1278 +7.046647277848756,5.561624430658041,1.4850228471907148,0.0,-1.5290251870394744,-0.007634749723982015,0.0,7.468635622382058,0.0,0.0,-0.37035125496055943
1279 +5.4680601411351315,4.787388131196767,0.6806720099383643,0.0,-1.9850152121527307,-0.099627650421795,0.017324634400523453,7.001005214648452,0.0,0.0,-0.1462988552776838
1280 +3.970291913552122,4.878850537957561,-0.9085586244054391,0.0,-2.388532167350885,-0.09841745272267519,0.038910719344411995,7.466367053363826,0.0,0.0,-0.13947761467711736
1281 +5.198497031265826,5.4181946303581645,-0.21969759909233844,0.0,-1.918241087709931,0.21248770299967157,0.04140117222760452,7.270264119182438,0.0,0.0,-0.1877172763416194
1282 +7.38025578842646,4.931137218660173,2.449118569766287,0.0,-4.035480193995868,-0.03279225793513623,0.0024904528831925232,9.238202504200961,0.0,0.0,-0.24128328649297523
1283 +5.19295685089021,5.453257125235119,-0.26030027434490854,0.0,-1.214297699345619,-0.2441190955755915,0.026786096644932214,6.72403546349834,0.0,0.0,0.16085236001305767
1284 +4.110873864173311,4.504842672131997,-0.39396880795868583,0.0,-2.698812500652809,-0.10609777872501268,0.0,7.734595656993841,0.0,0.0,-0.4248427054840239
1285 +,5.2295165352412605,,0.0,-1.9384326741813682,0.001984712721961379,0.026786096644932214,7.157341401603187,0.0,0.0,-0.018163001547452234
1286 +4.948759890378168,5.334510254449218,-0.38575036407104957,0.0,-1.8955939342230712,-0.07665678082405156,0.029449257100003234,7.140175895222504,0.0,0.0,0.13713581717383277
1287 +,5.875870182990311,,0.0,-1.5675747820528514,-0.021300824878208766,0.029276549528124737,7.86173665221767,0.0,0.0,-0.4262674118244222
1288 +7.533158807455563,6.553788498623389,0.9793703088321744,0.0,-1.8219717083934714,-0.01959300730719997,0.0,8.095589672012466,0.0,0.0,0.2997635423115962
1289 +,6.029695146057727,,0.0,-1.7764593798314587,0.06302487701472347,0.0024904528831925232,7.767552015987084,0.0,0.0,-0.026912819995814366
1290 +4.663439094112067,-4.430763747421957,9.094202841534024,0.0,-5.406276831131423,0.07608212026903245,0.0,0.0,0.0,0.0,0.8994309634404332
1291 +4.867534450455582,-2.858491594238717,7.726026044694299,0.0,-2.142923542951448,-0.06562301459094069,0.0,-0.5963811959256494,0.0,0.0,-0.05356384077067775
1292 +5.476463551931511,-5.603333071476853,11.079796623408363,0.0,-5.5488865356334305,0.07888060487340852,0.0,0.0,0.0,0.0,-0.13332714071683116
1293 +7.0192966537150445,-4.73622044493155,11.755517098646594,0.0,-4.467483343572933,-0.21774678190500715,0.029449257100003234,0.0,0.0,0.0,-0.08043957655361607
1294 +,-5.136087072088131,,0.0,-5.016620735179423,-0.11472492529592154,0.0,0.0,0.0,0.0,-0.004741411612786711
1295 +3.6635616461296463,-5.842924114786015,9.506485760915663,0.0,-5.301045066851963,-0.1099252098786361,0.038910719344411995,0.0,0.0,0.0,-0.4708645573998279
1296 +3.970291913552122,-3.1864964117706536,7.1567883253227755,0.0,-2.447081861332249,0.12011817822086399,0.017324634400523453,-0.5803626146438092,0.0,0.0,-0.29649474841598145
1297 +4.532599493153256,-6.382752511031266,10.915352004184523,0.0,-6.225562547271977,0.12289296433762546,0.0,0.0,0.0,0.0,-0.2800829280969139
1298 +,-5.091870120306781,,0.0,-4.4830763888528065,0.0034278287821992975,0.0,0.0,0.0,0.0,-0.6122215602361731
1299 +,-5.69861724548803,,0.0,-5.629209624162305,-0.04262570094038558,0.0,0.0,0.0,0.0,-0.026781920385338876
1300 +,-4.830598960637612,,0.0,-4.754626236048997,-0.1491487381801156,0.0,0.0,0.0,0.0,0.0731760135914988
1301 +,-4.183442202070761,,0.0,-4.4574987911917585,0.04908446550593008,0.04140117222760452,0.0,0.0,0.0,0.18357095138746157
1302 +4.663439094112067,-5.811105614136493,10.47454470824856,0.0,-5.709771811442129,-0.07455188230902356,0.0,0.0,0.0,0.0,-0.026781920385338876
1303 +4.454347296253507,-5.775790457155094,10.230137753408602,0.0,-5.712771656307627,0.04225841645016681,0.0,0.0,0.0,0.0,-0.10527721729763191
1304 +4.919980925828125,-5.451126235822021,10.371107161650146,0.0,-5.26373362777387,0.05103577488870915,0.0,0.0,0.0,0.0,-0.23842838293685986
1305 +5.303304908059076,-6.575000052780711,11.878304960839786,0.0,-6.266157389047158,-0.0757063170449609,0.0,0.0,0.0,0.0,-0.23313634668859215
1306 +,-5.775113658850477,,0.0,-5.728306212307784,-0.138532504049037,0.029449257100003234,0.0,0.0,0.0,0.06227580040633903
1307 +4.634728988229636,-6.828741730052381,11.463470718282018,0.0,-6.549015300313371,-0.17586866385402242,0.0,0.0,0.0,0.0,-0.1038577658849886
1308 +,-2.3197575378300463,,0.0,-1.604772780371361,-0.0025450247024558156,0.0,-0.4375228284888032,0.0,0.0,-0.27491690426742654
1309 +,-1.6038587247982061,,0.0,-1.3561290455956465,-0.032737204376688575,0.029449257100003234,-0.5981113599557263,0.0,0.0,0.35366962802985236
1310 +,4.9479988277010385,,0.0,-2.0082083498210723,-0.2678753922229851,0.026786096644932214,7.109510348441339,0.0,0.0,0.0877861246588253
1311 +,4.735440055829191,,0.0,-2.165461765147543,0.061914441177612994,0.026786096644932214,7.165592870463987,0.0,0.0,-0.3533915873097975
1312 +4.700480365792417,5.681373883471376,-0.9808935176789593,0.0,-1.9332317545467426,-0.06556056622991524,0.0024904528831925232,7.663003966337843,0.0,0.0,0.014671785026998424
1313 +5.961005339623274,5.0157097797637125,0.9452955598595612,0.0,-2.2837002943540785,-0.07408240167157669,0.017324634400523453,7.45785777370701,0.0,0.0,-0.10168993231816575
1314 +5.402677381872279,5.631048746112736,-0.22837136424045656,0.0,-1.5050394994706933,-0.12905813246041825,0.017324634400523453,7.442091039070888,0.0,0.0,-0.19426929542756294
1315 +,4.750128504442257,,0.0,-4.585183862293146,-0.03192058922032756,0.0,9.238202504200961,0.0,0.0,0.129030451754771
1316 +5.697093486505405,6.068286987778483,-0.37119350127307804,0.0,-1.3480041980604422,-0.20734559173154032,0.0,7.755907385839996,0.0,0.0,-0.13227060826953158
1317 +6.913737350659685,4.461649447977687,2.4520879026819973,0.0,-2.1143768085142627,-0.12535418982961927,0.017324634400523453,7.10975751473135,0.0,0.0,-0.42570170281030373
1318 +,6.039908890485488,,0.0,-1.350221615914065,-0.15242797384284432,0.029449257100003234,7.425339358494962,0.0,0.0,0.08776986464743276
1319 +6.794586580876499,6.381785332000683,0.41280124887581593,0.0,-1.4409654224981985,-0.054622614404839884,0.038910719344411995,7.903251101442422,0.0,0.0,-0.06478845188311114
1320 +5.214935757608986,5.235836422467612,-0.020900664858626072,0.0,-2.102131556046605,-0.06749099369944637,0.017324634400523453,7.368790659370373,0.0,0.0,0.019343678442768762
1321 +,4.934828347411529,,0.0,-2.2536304229793265,0.05708807087422933,0.038910719344411995,7.426811606677111,0.0,0.0,-0.33435162650489525
1322 +7.849323818040561,6.871779266932656,0.9775445511079051,0.0,-1.1910319472200772,-0.07801327121045665,0.0,7.754300804954925,0.0,0.0,0.38652368040826424
1323 +8.419580362549237,6.466459127418295,1.9531212351309417,0.0,-1.3600301492692193,-0.11670392258271381,0.029449257100003234,7.706505030291938,0.0,0.0,0.2072389118782871
1324 +4.442651256490317,5.1216474176532625,-0.6789961611629458,0.0,-1.5479329984735992,-0.044531489599987956,0.038910719344411995,6.731549653256297,0.0,0.0,-0.05634846687385814
1325 +5.545177444479562,5.227472049124468,0.31770539535509457,0.0,-1.5617243436536334,-0.011735423432971716,0.017324634400523453,6.957092623487596,0.0,0.0,-0.17348544167704638
1326 +8.699848026000312,6.823603492681382,1.8762445333189302,0.0,-1.6998475075762807,-0.03696932279929708,0.0,8.280781835129236,0.0,0.0,0.27963848792772455
1327 +5.318119993844216,4.845709357846398,0.47241063599781796,0.0,-2.1597778592218946,-0.16038879685414703,0.017324634400523453,7.148626550929098,0.0,0.0,-7.517140718126675e-05
1328 +7.779466967458324,6.140843671387614,1.6386232960707101,0.0,-2.5045772987974164,-0.025829091579875972,0.03193970998319576,8.368542844490106,0.0,0.0,0.27076750729160604
1329 +5.726847747587197,5.615055230299395,0.11179251728780226,0.0,-2.110818972288415,-0.09418701085336585,0.0,8.065742118822579,0.0,0.0,-0.2456809053814034
1330 +5.488937726156687,5.6381306242726685,-0.1491928981159818,0.0,-1.656740602207324,-0.10805297348764364,0.0,7.5048870977710305,0.0,0.0,-0.1019628978033941
1331 +4.948759890378168,4.806756611621691,0.14200327875647734,0.0,-2.012445630765831,-0.03155085795083187,0.017324634400523453,7.069333681353308,0.0,0.0,-0.2359052154154768
1332 +,4.97440431380962,,0.0,-1.8700113965300877,-0.12556004146804986,0.017324634400523453,6.827847062026918,0.0,0.0,0.12480405538031704
1333 +7.620705086838262,6.340220406191594,1.2804846806466683,0.0,-1.8539895963894706,-0.13333971740554645,0.029449257100003234,8.16949037991479,0.0,0.0,0.1286100829718154
1334 +,5.555965055581384,,0.0,-2.338261414596558,0.01178640814808845,0.038910719344411995,7.96466132436084,0.0,0.0,-0.12113198167539645
1335 +,6.3220645377607125,,0.0,-1.3986819985975059,0.045524784412125895,-0.012124622699479781,7.553143743180739,0.0,0.0,0.134202631464835
1336 +4.3694478524670215,5.8930662210748945,-1.523618368607873,0.0,-1.685119402246415,0.03407011741973832,0.029276549528124737,7.740842286090309,0.0,0.0,-0.2260033297168633
1337 +5.1164956847957335,5.601196456960554,-0.4847007721648202,0.0,-1.6465714150084194,0.0008700558316329654,0.0,7.440904595492183,0.0,0.0,-0.19400677935484478
1338 +4.787491742782046,5.56361692120579,-0.7761251784237446,0.0,-2.053052899865679,-0.11241174947088835,0.026786096644932214,7.210395495368816,0.0,0.0,0.491899978528612
1339 +5.43372200355424,5.445093764338303,-0.011371760784062879,0.0,-2.07792266334335,0.1242828809055366,0.017324634400523453,7.493681956983804,0.0,0.0,-0.11227304460821058
1340 +3.8066624897703196,6.3561254304366015,-2.549462940666282,0.0,-1.7975980832977578,-0.0379243930364074,0.0,8.371014507390216,0.0,0.0,-0.17936660061944903
1341 +,-5.569768624043331,,0.0,-5.555137616256509,0.013187801904901202,0.0,0.0,0.0,0.0,-0.02781880969172287
1342 +5.3706380281276624,5.188043667108984,0.18259436101867887,0.0,-1.6537040816735864,-0.08826400756133265,0.017324634400523453,7.164727788448949,0.0,0.0,-0.25204066650556867
1343 +,-4.276507356472939,,0.0,-4.102562776925405,0.013607437302577255,0.0024904528831925232,0.0,0.0,0.0,-0.1900424697333043
1344 +,-5.111438121674874,,0.0,-5.097456059310916,-0.07407811939464778,0.0024904528831925232,0.0,0.0,0.0,0.057605604147496686
1345 +4.700480365792417,-4.405370616368883,9.1058509821613,0.0,-4.855289726229407,-0.019371113815551178,0.038910719344411995,0.0,0.0,0.0,0.4303795043316625
1346 +3.9512437185814275,-4.906707974859363,8.857951693440791,0.0,-5.144822506548119,0.03651393450879539,0.0,0.0,0.0,0.0,0.20160059717996084
1347 +,-2.814518794105133,,0.0,-1.838185170200112,-0.05217446351587504,0.0,-0.5984821093907428,0.0,0.0,-0.3256770509984038
1348 +,-5.401347220197998,,0.0,-5.204662657977146,-0.10701762094685177,0.04140117222760452,0.0,0.0,0.0,-0.13106811350160583
1349 +4.983606621708336,-6.083064338082082,11.066670959790418,0.0,-6.097341800509759,-0.05783891446248988,0.029449257100003234,0.0,0.0,0.0,0.042667119790164756
1350 +5.19295685089021,-2.797269753038995,7.990226603929205,0.0,-1.9948556229170658,-0.058097408337196316,0.017324634400523453,-0.7423105607057928,0.0,0.0,-0.01933079547946263
1351 +,-1.8011588795253166,,0.0,-1.2226189582693214,-0.006917889083057998,0.0024904528831925232,-0.5983585262457373,0.0,0.0,0.02424604118960824
1352 +3.4965075614664802,-1.1978531876410488,4.694360749107529,0.0,-0.9695012202411011,-0.08175196627918674,0.0024904528831925232,-0.11510993410490197,0.0,0.0,-0.03398051989905085
1353 +7.708653116535023,6.095813300837485,1.612839815697538,0.0,-2.1432788337948274,0.12461263363286273,0.0,8.327112915901582,0.0,0.0,-0.21263341490213183
1354 +,5.054268266108732,,0.0,-1.667081133515107,-0.2714078103159368,-0.012124622699479781,7.145561036256582,0.0,0.0,-0.14067920361732603
1355 +4.718498871295094,5.541888904299243,-0.8233900330041486,0.0,-1.4787561927892172,0.07710543600795,0.0,7.0781380634968265,0.0,0.0,-0.13459840241631735
1356 +4.454347296253507,3.601798276555895,0.8525490196976122,0.0,-2.1949877337245045,-0.15860441616994217,0.026786096644932214,6.892247612320967,0.0,0.0,-0.9636432825155561
1357 +4.394449154672439,4.563083879506504,-0.16863472483406472,0.0,-2.2519706949442675,-0.008923606146774003,0.038910719344411995,6.9385988343144405,0.0,0.0,-0.1535313730613097
1358 +4.499809670330265,5.16397110931877,-0.6641614389885051,0.0,-2.313510105030974,-0.047085191431874895,0.0,7.524566405781619,0.0,0.0,0.0
1359 +,5.325136152052531,,0.0,-2.244978042006373,-0.12160198443827822,0.026786096644932214,7.288846416253458,0.0,0.0,0.37608366559879325
1360 +8.080856419640986,6.092305054004357,1.9885513656366287,0.0,-1.804123491854397,-0.1427816013664832,0.0024904528831925232,7.893902898883258,0.0,0.0,0.1428167954587866
1361 +4.9344739331306915,5.006479956382399,-0.07200602325170724,0.0,-1.8277512238170432,-0.0894576185480995,0.017324634400523453,6.9728734183172145,0.0,0.0,-0.06650925397019564
1362 +,5.2552545594426725,,0.0,-2.473706759760077,-0.12898754165799187,0.0,8.017307792400281,0.0,0.0,-0.15935893153953926
1363 +7.575071699507561,5.011254634088961,2.5638170654185997,0.0,-1.9673130730953998,-0.1031594591274003,0.029449257100003234,7.450462675389201,0.0,0.0,-0.3981847661774437
1364 +4.204692619390966,4.942125658818587,-0.7374330394276214,0.0,-2.2041275703387706,-0.13249228751723946,0.026786096644932214,7.442832537940921,0.0,0.0,-0.19087311791125514
1365 +5.117993812416755,5.091815344465397,0.026178467951358364,0.0,-2.062451326439686,0.012977956813791318,0.017324634400523453,7.389600204144664,0.0,0.0,-0.2656361244538947
1366 +4.510969390589264,5.318773670288994,-0.80780427969973,0.0,-1.3445100534429129,-0.09340394842241369,0.0024904528831925232,6.7605452044664105,0.0,0.0,-0.006347985195280875
1367 +,5.13022328979623,,0.0,-2.2323009687379374,-0.031227804886643666,0.0,7.4640000655170216,0.0,0.0,-0.07024800209621114
1368 +3.925728652484258,4.496944462416856,-0.5712158099325979,0.0,-2.2789046521951253,-0.22351949539235105,0.017324634400523453,7.16909880408447,0.0,0.0,-0.18705482848065957
1369 +,5.860502873376416,,0.0,-1.8232284409041961,0.06740131547888913,-0.012124622699479781,7.7952937673216285,0.0,0.0,-0.16683914582042614
1370 +7.448665780180083,5.744019911202205,1.7046458689778783,0.0,-1.8389385858346596,0.0059979312044240105,0.0,7.610686878065673,0.0,0.0,-0.033726312233232664
1371 +4.390118804571218,5.257261646945676,-0.8671428423744585,0.0,-1.9238689956934465,-0.1994896778470558,0.017324634400523453,7.467479301668876,0.0,0.0,-0.10418361558321945
1372 +5.788583076348666,4.908310381666749,0.880272694681917,0.0,-1.966168063704667,-0.1774116437252929,0.017324634400523453,7.082663113514479,0.0,0.0,-0.048097658818292935
1373 +8.477897115423248,-6.046965668261864,14.524862783685112,0.0,-5.667103935213852,-0.17332828685756854,0.0,0.0,0.0,0.0,-0.20653344619044298
1374 +,5.026574413526571,,0.0,-2.1699908260157477,-0.06948093660945628,0.038910719344411995,7.433636378450526,0.0,0.0,-0.20650092164316344
1375 +6.039683119378457,6.24123437012316,-0.20155125074470348,0.0,-1.5739496964138553,-0.02666375422793195,0.017324634400523453,7.903251101442422,0.0,0.0,-0.07872791507799703
1376 +,5.836931750140936,,0.0,-2.0579252059979662,-0.004661960471641264,0.0,8.148204090083695,0.0,0.0,-0.24868517347315025
1377 +4.9662653463603155,5.607587492506069,-0.6413221461457539,0.0,-2.0943408958350522,-0.15716697319827944,-0.012124622699479781,8.00227472530355,0.0,0.0,-0.1310547410646707
1378 +4.625658852415407,4.541201033948074,0.08445781846733347,0.0,-2.280885860186781,0.1216583339537917,0.017324634400523453,6.843492151026824,0.0,0.0,-0.16038822524628232
1379 +4.614030814420288,5.599127502842595,-0.9850966884223071,0.0,-1.8989892154659342,0.004797231095990978,0.038910719344411995,7.033732930368528,0.0,0.0,0.4206758374996009
1380 +4.738564069158622,4.579063793924618,0.159500275234004,0.0,-2.4394517182689484,-0.09467089622382285,-0.012124622699479781,7.211754909963877,0.0,0.0,-0.08644387884700569
1381 +,5.16378296662886,,0.0,-2.604703824565558,0.08016664763897129,0.038910719344411995,7.652865123047418,0.0,0.0,-0.0034556988363838026
1382 +5.2864471939775495,6.273610466768432,-0.9871632727908821,0.0,-1.8937586617142719,-0.01760012387544572,0.0,8.142005760707164,0.0,0.0,0.042963491650985564
1383 +4.761660982747524,5.770198927410984,-1.00853794466346,0.0,-1.39739033633954,-0.036784003220367296,0.026786096644932214,7.502953510315425,0.0,0.0,-0.32536633998946496
1384 +8.352537863797227,6.36792773477782,1.9846101290194076,0.0,-1.7275925370235496,-0.0479161648584011,0.0,8.280781835129236,0.0,0.0,-0.13734539846946436
1385 +4.672454932793688,5.665947432324166,-0.9934924995304781,0.0,-2.08523653717324,0.09579209554613918,0.029276549528124737,7.425833691074984,0.0,0.0,0.20028163334815835
1386 +8.277305231683746,-5.504773825104499,13.782079056788245,0.0,-5.0455560188906965,-0.15510388270552794,0.0,0.0,0.0,0.0,-0.3041139235082743
1387 +6.8264692987654865,-4.514245530140808,11.340714828906295,0.0,-4.910479393757358,-0.18464210352384022,0.038910719344411995,0.0,0.0,0.0,0.5419652477959778
1388 +,5.0411351880208555,,0.0,-2.3533299926834834,-0.006821497809405934,0.038910719344411995,7.573185786376364,0.0,0.0,-0.21080982720703093
1389 +5.5826688989033615,5.721809176514105,-0.13914027761074355,0.0,-1.6299288607017388,-0.05233510410734054,-0.012124622699479781,7.389723787289669,0.0,0.0,0.02647397673299659
1390 +5.1970595344738095,4.949200351851083,0.24785918262272677,0.0,-2.155214085265352,0.02131492600379397,0.026786096644932214,7.1939927341024354,0.0,0.0,-0.1376793196347266
1391 +5.835570682149306,5.983340203421952,-0.14776952127264664,0.0,-1.8099979552497558,-0.06489410858378539,0.017324634400523453,7.859947852617124,0.0,0.0,-0.01904021976215232
1392 +4.353241283242128,5.737459473239559,-1.3842181899974308,0.0,-2.2093049923336983,-0.019696396829944146,0.0,7.957691902163714,0.0,0.0,0.008768960239486673
1393 +5.035197816924508,5.453684064851034,-0.4184862479265261,0.0,-1.825616950038274,0.032944260939780985,-0.012124622699479781,7.442338205360899,0.0,0.0,-0.18385682871189168
1394 +4.446057214331018,5.197417520768048,-0.7513603064370296,0.0,-2.2596357750348997,-0.09080345180013617,0.0,7.968050773075595,0.0,0.0,-0.4201940254725114
1395 +5.151671786206552,4.857964750142769,0.29370703606378257,0.0,-2.1325062282457017,-0.021599214189282148,0.029449257100003234,7.211460905273824,0.0,0.0,-0.22883996979607327
1396 +4.377139713100487,5.882268032330619,-1.5051283192301321,0.0,-1.826156125354772,-0.2004302277080982,0.0,8.093859507982389,0.0,0.0,-0.18500512258889945
1397 +4.2011040987936346,6.027149501723572,-1.8260454029299371,0.0,-1.7383666690749253,0.04856467487807423,0.0,7.6019333913120715,0.0,0.0,0.11501810460835168
1398 +4.5065645822339695,4.559751458743146,-0.05318687650917653,0.0,-2.1180506556193883,-0.02895999125200624,0.0,6.862643318067488,0.0,0.0,-0.15588121245294637
1399 +,5.338524596226554,,0.0,-1.305835663166465,0.03731431001741393,0.0,6.570797393641307,0.0,0.0,0.03624855573429789
1400 +8.444226721347192,5.395765608483415,3.0484611128637775,0.0,-3.1607129291205283,0.0171053180128814,0.0,8.849976751964636,0.0,0.0,-0.31060353237357496
1401 +,-4.45423465465625,,0.0,-4.364556289612636,-0.0923553135051784,0.04140117222760452,0.0,0.0,0.0,-0.038724223766039984
1402 +5.401234900554723,5.505687748547419,-0.10445284799269583,0.0,-2.712840056330137,-0.10778319834718303,0.0,8.116921019035576,0.0,0.0,0.20938998418916233
1403 +4.995250892052509,5.345123533235182,-0.3498726411826736,0.0,-2.1656575743450555,0.13214025510065935,0.0024904528831925232,7.6203386935853885,0.0,0.0,-0.2441882939890019
1404 +,6.2084872509401245,,0.0,-1.4401367433876961,-0.003470672788529146,0.026786096644932214,7.341831583759704,0.0,0.0,0.2834769867117144
1405 +5.1422481808981475,5.074900628586019,0.0673475523121283,0.0,-2.120000638343206,0.05428794862162392,0.017324634400523453,7.1768525246777575,0.0,0.0,-0.05356384077067775
1406 +5.581840803850959,5.384254233619157,0.1975865702318016,0.0,-2.0851636603064874,0.01983544913564745,0.026786096644932214,7.634048257620901,0.0,0.0,-0.21125190947583772
1407 +,5.832946574629062,,0.0,-1.8898484895702632,-0.07864132810689795,0.0,8.047697468482498,0.0,0.0,-0.24626107617627516
1408 +7.846844147132271,5.246164649632647,2.600679497499624,0.0,-2.0934831441408894,-0.08545862797751398,-0.012124622699479781,7.474656495095256,0.0,0.0,-0.037425450644726174
1409 +5.548141796443577,3.8809571696473943,1.6671846267961827,0.0,-5.393055719276344,-0.0533488735471674,0.038910719344411995,9.238202504200961,0.0,0.0,0.050248538925531994
1410 +6.57372206552423,6.125658358730544,0.44806370679368523,0.0,-1.8364243602569417,0.08203909310365616,0.0,7.982938802202961,0.0,0.0,-0.10289517631913055
1411 +5.757891800303233,6.033043950937734,-0.2751521506345007,0.0,-2.0849798345593387,0.038536271047016506,0.038910719344411995,8.134852470349093,0.0,0.0,-0.09427567524344918
1412 +,4.979109132545755,,0.0,-2.0522111064895094,-0.22070426677562965,0.0,7.328446823745632,0.0,0.0,-0.07642231793473635
1413 +5.267239410977175,6.252728031974199,-0.9854886209970237,0.0,-1.725600979444681,0.04780129263179718,0.038910719344411995,7.581489882465027,0.0,0.0,0.31012711697764306
1414 +4.61512051684126,5.739710578540239,-1.1245900616989797,0.0,-1.9760382048955645,-0.01287166554276055,0.038910719344411995,7.5410709200675345,0.0,0.0,0.14863880956661993
1415 +,4.977018967648304,,0.0,-1.9668801197235366,-0.050504558692876914,0.026786096644932214,7.067331108406662,0.0,0.0,-0.09971355898687626
1416 +5.69035945432406,5.492498605148971,0.19786084917508884,0.0,-1.7660423651461725,-7.221511630316202e-06,0.038910719344411995,7.351851336472232,0.0,0.0,-0.132213864009868
1417 +4.624972813284271,5.088073235882426,-0.4631004225981554,0.0,-1.5987079222900409,0.03244345124213372,0.029276549528124737,6.780389967951225,0.0,0.0,-0.15532881054901648
1418 +4.48863636973214,4.794328324119815,-0.30569195438767505,0.0,-1.767629546973093,-0.1899703181331334,0.038910719344411995,6.939030495098865,0.0,0.0,-0.22601302521723815
1419 +7.984803389734406,6.344480685878283,1.640322703856123,0.0,-1.3896115445463293,-0.0010114371167328391,0.0,8.035800386564201,0.0,0.0,-0.30069671902285433
1420 +5.209486152841421,4.347732253836234,0.861753899005187,0.0,-2.385481091483981,-0.13516298233141633,0.017324634400523453,6.92339493413384,0.0,0.0,-0.07234324088273321
1421 +,6.580031242967403,,0.0,-1.6368640153182934,0.06934971458869335,0.038910719344411995,8.134852470349093,0.0,0.0,-0.026217645996500526
1422 +8.295049140435111,6.099818818996156,2.195230321438955,0.0,-2.0000894204870203,-0.037536777052963766,0.0,8.469010403582525,0.0,0.0,-0.33156538704638466
1423 +5.204006687076795,5.448110313920592,-0.24410362684379727,0.0,-1.9073285797518365,-0.1120863901114883,0.017324634400523453,7.40380630330929,0.0,0.0,0.0463943460741008
1424 +6.772805738403844,6.893150622017018,-0.12034488361317397,0.0,-2.224365480017097,0.20780640996717165,0.0,8.689511803642718,0.0,0.0,0.22019788842422383
1425 +,7.069167426319278,,0.0,-0.8167678548917436,-0.01716836402089765,0.0,8.208942978183227,0.0,0.0,-0.30583933295130783
1426 +5.027426856736093,5.209315001432974,-0.18188814469688097,0.0,-2.0779325613494306,-0.002603169709795225,0.017324634400523453,7.126688163156228,0.0,0.0,0.1458379349354501
1427 +4.50236196600641,5.0575585890111805,-0.5551966230047709,0.0,-2.0264736907925167,-0.143100357815399,0.038910719344411995,7.487428756530373,0.0,0.0,-0.29920683825568956
1428 +4.113820338722757,5.110010835708232,-0.9961904969854753,0.0,-2.1897905037817313,-0.07950264883142336,0.029449257100003234,7.1604014236133935,0.0,0.0,0.18945330760799145
1429 +5.339651230041014,5.54939252386152,-0.20974129382050588,0.0,-1.808247385918052,0.06807623580187896,0.0,7.3909158758752405,0.0,0.0,-0.10135220189754715
1430 +5.39662305533216,5.4277219441689395,-0.03109888883677936,0.0,-2.0764606285546767,-0.10763258200488314,0.026786096644932214,6.884945204354783,0.0,0.0,0.7000838537287846
1431 +,4.747096235410525,,0.0,-2.1984592237351226,0.014619120388848793,0.026786096644932214,7.168604471504448,0.0,0.0,-0.2644542293925804
1432 +7.774166453513536,6.8018346187656045,0.9723318347479317,0.0,-1.2658781290037906,-0.033690198506464784,0.017324634400523453,8.063013613403083,0.0,0.0,0.021064698472253646
1433 +,5.355736466144639,,0.0,-1.7680025199922245,-0.023638495845805893,0.029449257100003234,7.374166841894308,0.0,0.0,-0.2562386170116405
1434 +4.500476114873425,4.917303770130345,-0.41682765525691945,0.0,-1.9304779474983915,-0.06337630947233244,0.0,6.771153769978226,0.0,0.0,0.14000425712284453
1435 +4.991452474679482,5.3369197437677744,-0.3454672690882923,0.0,-2.1139785309323154,-0.1460979259202162,0.026786096644932214,7.647282660025731,0.0,0.0,-0.0770725560503576
1436 +4.794467356518472,4.546147684585036,0.24831967193343552,0.0,-2.940024069171944,-0.00735256751412729,0.0,7.5063310330023185,0.0,0.0,-0.0128067117312097
1437 +4.305010592025198,4.979935239743146,-0.6749246477179476,0.0,-1.7677187594180266,0.015176254285792275,0.029449257100003234,6.967020211908658,0.0,0.0,-0.26399172413328315
1438 +,6.365308112731662,,0.0,-0.2009318592988949,-0.07737369224481605,0.029276549528124737,6.4621159907009185,0.0,0.0,0.15222112404632845
1439 +7.029636571964676,6.011461053443042,1.018175518521634,0.0,-1.4189224711273738,-0.1927615456886736,0.017324634400523453,7.73973003778526,0.0,0.0,-0.13390960192669438
1440 +,5.221174287119037,,0.0,-2.1654433882180664,-0.025246193394528105,0.026786096644932214,7.1934984015224135,0.0,0.0,0.19157937056428637
1441 +,6.039340576060236,,0.0,-1.5267274111278892,-0.04846491793360415,0.026786096644932214,7.531782994268755,0.0,0.0,0.055963814208042056
1442 +,6.018620644468605,,0.0,-1.810803895176921,-0.09648780303097765,0.026786096644932214,7.648642074620791,0.0,0.0,0.2504841714107824
1443 +8.77008038225746,6.3354009693413555,2.434679412916104,0.0,-1.5599752480958111,-0.14291270516443022,0.0,8.065742118822579,0.0,0.0,-0.027453196220984882
1444 +5.090678001769792,6.168142997724324,-1.0774649959545322,0.0,-1.0742517012127957,-0.2015408011479922,0.0024904528831925232,7.440533846057168,0.0,0.0,0.0009112011447533208
1445 +6.677259768122301,6.156608246976307,0.5206515211459939,0.0,-1.4232375536275343,0.08213002725083121,0.0,7.664521324503068,0.0,0.0,-0.16680555115005746
1446 +,5.53034690292152,,0.0,-3.9020903415748194,-0.1371062119535586,0.0024904528831925232,9.238202504200961,0.0,0.0,0.3288504993657446
1447 +,4.684773201048506,,0.0,-4.075442287976671,-0.07944574107058713,0.0024904528831925232,9.0784399922403,0.0,0.0,-0.24126921502772802
1448 +7.6953031349635665,-5.0988761447452795,12.794179279708846,0.0,-4.774624656618236,-0.018495065502225166,0.0024904528831925232,0.0,0.0,0.0,-0.30824687550801055
1449 +4.2249341319257026,4.921470072717634,-0.6965359407919314,0.0,-1.6780024353116607,-0.02230008602248622,0.026786096644932214,6.8360237808749,0.0,0.0,-0.2410372834680499
1450 +7.357001199987054,6.3595581917265465,0.9974430082605075,0.0,-2.135289821012023,-0.1175081971322518,0.038910719344411995,8.528142710796985,0.0,0.0,0.045302779729425674
1451 +,4.223227520999939,,0.0,-3.1871476624239454,-0.16262291233517415,0.026786096644932214,7.669589824424292,0.0,0.0,-0.12337782531016447
1452 +4.305010592025198,5.236737900847864,-0.9317273088226656,0.0,-1.8760025751343008,-0.013791374783188225,0.0,7.196508469410679,0.0,0.0,-0.06997661864532417
1453 +8.206930075442141,7.032486760417326,1.1744433150248152,0.0,-1.3955395825707795,-0.12967606429325373,0.0,8.368705490143888,0.0,0.0,0.18899691713747113
1454 +,5.744973765839729,,0.0,-2.6413783320460924,-0.06569866901402477,0.029449257100003234,8.530614373697095,0.0,0.0,-0.10801286389725132
1455 +5.488937726156687,5.5564284073173145,-0.06749068116062773,0.0,-1.895261716732903,-0.13184337460633444,0.0,7.735129052082641,0.0,0.0,-0.15159555342608877
1456 +9.052041935419917,3.79243326497372,5.259608670446196,0.0,-5.306491399551248,0.02579184625197798,0.029449257100003234,9.0784399922403,0.0,0.0,-0.03475643106731277
1457 +4.399129542573544,5.005404215333483,-0.6062746727599393,0.0,-2.0579077994453314,0.03156140895436445,0.0,7.27909325493394,0.0,0.0,-0.24734264910948864
1458 +7.702917384948813,5.932943028122828,1.7699743568259843,0.0,-2.070299849347779,0.009853586628600232,0.026786096644932214,8.00227472530355,0.0,0.0,-0.03567153110647539
1459 +,4.91255678930798,,0.0,-2.6320251049862255,0.03471466068634482,0.0,7.672783583098037,0.0,0.0,-0.1629163494901754
1460 +5.903643751718553,5.049710702457916,0.853933049260637,0.0,-2.2329165932700175,0.021092527088109325,0.026786096644932214,7.450462675389201,0.0,0.0,-0.21571400339430896
1461 +9.04655947005548,5.881496228392992,3.1650632416624873,0.0,-1.7369948711983918,-0.1035239275724201,0.026786096644932214,7.965649989520884,0.0,0.0,-0.2704210590020105
1462 +6.5144015313563175,5.555229927518179,0.9591716038381382,0.0,-1.2635022920296528,-0.16922814825217525,0.017324634400523453,7.122719006644174,0.0,0.0,-0.15208327324469084
1463 +8.60154353098422,5.199729356181484,3.4018141748027357,0.0,-4.147551455119368,-0.061241391236512184,0.04140117222760452,9.0784399922403,0.0,0.0,0.28868103806945944
1464 +5.504518197131935,5.008632768807829,0.4958854283241054,0.0,-2.5430546522939457,-0.07467552342474326,0.017324634400523453,7.836684633401376,0.0,0.0,-0.22764632327538045
1465 +4.941499555261394,4.999580446017788,-0.05808089075639433,0.0,-2.252188394994077,-0.15063600270670874,0.038910719344411995,7.66098585824601,0.0,0.0,-0.2974917338718474
1466 +5.474411238170585,5.814382681132188,-0.33997144296160275,0.0,-2.2968043878284883,-0.06443601832102358,0.029449257100003234,8.371014507390216,0.0,0.0,-0.22484067720851938
1467 +8.984568369308281,6.566163786408098,2.418404582900183,0.0,-1.0471154523294706,-0.04180859992457312,0.0,7.749104953357502,0.0,0.0,-0.09401711469535948
1468 +,5.3224913795545925,,0.0,-2.825416226245302,-0.10681425407779498,0.038910719344411995,7.824457579819804,0.0,0.0,0.39135356071347227
1469 +8.445617702126764,3.87330162323258,4.572316078894184,0.0,-4.939243330060721,-0.1569943577772882,0.0,9.238202504200961,0.0,0.0,-0.26866319313037085
1470 +5.821506249297426,4.7337095383601495,1.0877967109372761,0.0,-1.950368078924856,-0.2498627157592922,0.038910719344411995,7.111993272579185,0.0,0.0,-0.21696365887929916
1471 +7.2484044941553964,5.504308815208555,1.7440956789468416,0.0,-2.078435627321171,-0.18849840267598253,0.026786096644932214,7.375526256489368,0.0,0.0,0.3689304920714106
1472 +6.71901315438526,6.094828968448497,0.6241841859367625,0.0,-1.5485205614481226,-0.09550744985966195,0.029276549528124737,7.756627131631662,0.0,0.0,-0.04704670140350445
1473 +5.248391557778311,5.627748932289574,-0.3793573745112626,0.0,-2.097831345225379,0.09983988695096936,0.026786096644932214,7.284894530083472,0.0,0.0,0.3140597638355782
1474 +4.944851553550253,5.481017554736394,-0.5361660011861415,0.0,-1.9038351223747894,-0.0451658889649346,0.0,7.497533534962365,0.0,0.0,-0.0675149688862474
1475 +,5.35751698956917,,0.0,-1.6580726070377114,-0.016539323543827818,0.017324634400523453,7.03089094697568,0.0,0.0,-0.016086661225492425
1476 +7.719804868466382,5.506239099523833,2.2135657689425496,0.0,-1.922341271598028,0.09681662355686387,-0.012124622699479781,7.530067380088036,0.0,0.0,-0.18617900982355962
1477 +,4.798910267497973,,0.0,-2.355121305569999,-0.01066022207269664,0.04140117222760452,7.49754010821502,0.0,0.0,-0.37424948530195595
1478 +,6.853811040597233,,0.0,-1.5682514283217772,0.042048526597923984,0.0,8.1461031766186,0.0,0.0,0.2339107657024834
1479 +6.61524825180137,6.307576554012331,0.307671697789039,0.0,-1.1482314869143382,0.0722603503854447,0.026786096644932214,7.38213183399274,0.0,0.0,-0.0253702400964467
1480 +4.4343818650078095,5.339603746841073,-0.9052218818332634,0.0,-2.4417074346322014,-0.01391070580814735,0.038910719344411995,7.895138730333313,0.0,0.0,-0.13882756239630328
1481 +5.238726585134399,5.759182088391259,-0.5204555032568594,0.0,-2.230409516958174,0.11979109006442877,0.0,8.095758713284923,0.0,0.0,-0.2259581979999177
1482 +5.036043098030789,5.212468840598187,-0.17642574256739785,0.0,-2.0970478671870687,0.02568987944650938,0.0,7.5096192086823965,0.0,0.0,-0.22579238034365012
1483 +,5.565761872695887,,0.0,-1.4895067176157308,-0.049969244982410246,0.03193970998319576,6.9047756830172675,0.0,0.0,0.16852244229356525
1484 +4.940498911907225,6.661580412066426,-1.721081500159201,0.0,-1.4367965259607383,0.008202625218370719,0.0024904528831925232,7.685935498627352,0.0,0.0,0.40174836129825175
1485 +4.460028800318421,4.997304036911066,-0.5372752365926452,0.0,-2.071266030715349,-0.16451253196488916,0.017324634400523453,7.2791628430342765,0.0,0.0,-0.06340487784349645
1486 +,5.77003541249645,,0.0,-1.8107465655095805,-0.04544767160988943,0.017324634400523453,7.662468855986076,0.0,0.0,-0.05356384077067775
1487 +,-3.4769990486729543,,0.0,-3.463860457021899,-0.10420780632341839,0.0,0.0,0.0,0.0,0.09106921467236354
1488 +,-4.75479951414845,,0.0,-5.732050819652917,-0.0002641833697309137,0.0,0.0,0.0,0.0,0.9775154888741981
1489 +,-4.061411853520705,,0.0,-4.451807077751132,0.0001031140687582019,0.0024904528831925232,0.0,0.0,0.0,0.3878016572784756
1490 +,-2.5507660551151483,,0.0,-2.173053991997044,0.1265139548288626,0.0,-0.4367813296187702,0.0,0.0,-0.06744468832819772
1491 +4.356708826689592,5.703064949213045,-1.3463561225234537,0.0,-1.930361622303277,0.04469928372268639,0.0,7.402594697937969,0.0,0.0,0.1861325898556679
1492 +,5.599480325013059,,0.0,-1.7910113721538172,-0.0893236713407255,0.029449257100003234,7.642233641545108,0.0,0.0,-0.19186753013750837
1493 +4.248495242049359,4.812412337848761,-0.5639170957994013,0.0,-2.5691827315630276,0.012878621315549513,0.0,7.7210968647836085,0.0,0.0,-0.35238041668737125
1494 +4.574710978503383,5.393293129372679,-0.8185821508692959,0.0,-2.216242758270238,0.05909220631450151,0.029276549528124737,7.63491333963594,0.0,0.0,-0.1137462078356504
1495 +5.808142489980444,3.9621414139864783,1.8460010759939656,0.0,-1.9259267002405664,-0.1107706223527157,0.026786096644932214,7.239209094662631,0.0,0.0,-1.2671564547278031
1496 +4.6913478822291435,5.5413258834803925,-0.849978001251249,0.0,-2.0439843438840013,0.008374322610532406,0.029449257100003234,7.562950899544925,0.0,0.0,-0.015464251891067805
1497 +4.718498871295094,5.469374281491871,-0.7508754101967767,0.0,-1.8094213194518076,0.09124362068336897,0.0,7.258320700779262,0.0,0.0,-0.07076872051895278
1498 +5.25227342804663,4.9634183706103085,0.28885505743632134,0.0,-2.2424117445143326,-0.059179334931270755,0.019815087283715976,7.300317134534951,0.0,0.0,-0.05512277176275632
1499 +3.8501476017100584,4.826873847438729,-0.9767262457286705,0.0,-2.1740951474100205,-0.08341468253116724,0.017324634400523453,7.343190998354764,0.0,0.0,-0.27613195537536994
1500 +,4.113500293572626,,0.0,-2.6517132123797955,0.001284018490737393,0.026786096644932214,6.833557890471876,0.0,0.0,-0.09641449965512434
1501 +7.5310163320779155,5.9422678594380685,1.588748472639847,0.0,-1.8267872175634219,-0.21592244080359851,0.029449257100003234,8.00227472530355,0.0,0.0,-0.04674646459846529
1502 +6.589737702734237,6.125571068573178,0.4641666341610593,0.0,-1.8490190586987412,-0.12315174913198038,0.0024904528831925232,8.224106153679404,0.0,0.0,-0.1288547301586943
1503 +3.955082494888593,5.021608329004104,-1.0665258341155104,0.0,-1.6105371248463234,-0.09437055848972481,0.017324634400523453,6.9335688932961395,0.0,0.0,-0.22437751535651188
1504 +4.975422538340511,6.152049994902315,-1.1766274565618042,0.0,-1.641443234298408,-0.1915008583000951,0.029276549528124737,7.776069328446848,0.0,0.0,0.17964820952584518
1505 +5.539575847287417,5.1637817909907175,0.3757940562966997,0.0,-1.7419551512537952,-0.15263737963686913,0.019815087283715976,7.067331108406662,0.0,0.0,-0.02877187380899454
1506 +4.881285622068407,6.1134026517574585,-1.2321170296890518,0.0,-2.0067786093340008,0.007894586270171748,0.0,8.368542844490106,0.0,0.0,-0.2562561696688194
1507 +,6.155508041208546,,0.0,-1.771260928582838,-0.12487768596198347,-0.009634169816287258,7.723578493520625,0.0,0.0,0.33770233204903144
1508 +3.60576954739093,6.10225796536428,-2.49648841797335,0.0,-2.36192860879557,0.09366086251421529,0.0,7.870040766103443,0.0,0.0,0.500484945542192
1509 +7.581082332092776,6.354609000655987,1.2264733314367886,0.0,-2.230182631485383,0.013578972372992128,0.038910719344411995,8.529170438465806,0.0,0.0,0.0031315019581609205
1510 +7.298938890264532,5.47988110777847,1.8190577824860616,0.0,-1.639937697557757,0.014767254293152982,0.038910719344411995,7.4390334926168515,0.0,0.0,-0.37289266091818934
1511 +6.674599269884921,-5.135213469410564,11.809812739295484,0.0,-5.031724683527732,-0.06785838340250791,0.029449257100003234,0.0,0.0,0.0,-0.06507965958032755
1512 +4.2626798770413155,5.194747248380916,-0.9320673713396008,0.0,-1.5448181053973702,0.01681282059478157,0.038910719344411995,6.642622434724846,0.0,0.0,0.04121937911424741
1513 +,5.817314495110237,,0.0,-2.0109507911424798,0.07568828299456366,0.0,7.792749883836162,0.0,0.0,-0.040172880578008316
1514 +,5.383109391451162,,0.0,-1.6242241793493415,-0.05720321311421107,0.0,7.104709664492723,0.0,0.0,-0.040172880578008316
1515 +,6.726053944185472,,0.0,-1.2641493685289218,-0.07682807925831911,0.0,8.006306602402752,0.0,0.0,0.060724789569960996
1516 +,6.0658510739545255,,0.0,-1.4574403154600066,0.00018055805230576122,-0.012124622699479781,7.677169287730725,0.0,0.0,-0.14193383366901627
1517 +5.765191102784844,6.123204282285775,-0.35801317950093026,0.0,-1.5539114236060323,0.026523216983956932,0.026786096644932214,7.882970256046271,0.0,0.0,-0.2591638637833527
1518 +5.382198850528739,5.377716109422959,0.004482741105779731,0.0,-1.8758463619203196,0.022964815601775733,0.0024904528831925232,7.38436874366014,0.0,0.0,-0.15626154080182905
1519 +8.859647499714997,6.426563246056835,2.433084253658162,0.0,-1.9052972992150226,0.0878449267862685,0.04140117222760452,6.992461028402877,0.0,0.0,1.2101534178551083
1520 +4.849762068508171,5.49824158356016,-0.6484795150519895,0.0,-2.2325790513019506,0.0071211665238017155,0.0,7.791266886096096,0.0,0.0,-0.06756741775778717
1521 +,5.798718323625813,,0.0,-1.6767414454801077,0.007531014026055077,0.0,7.503033350595947,0.0,0.0,-0.03510459551607942
1522 +5.25227342804663,6.29256590651449,-1.04029247846786,0.0,-1.9041474173215969,-0.13335667746637275,0.04140117222760452,8.339474007780295,0.0,0.0,-0.05080517870543898
1523 +5.808142489980444,5.72269965386378,0.08544283611666348,0.0,-1.904029637560737,-0.17221634229108812,0.026786096644932214,7.949660307232322,0.0,0.0,-0.1775007701616477
1524 +6.35414392827932,6.064193588024728,0.28995034025459177,0.0,-1.9349152732316002,-0.0653406661035299,0.026786096644932214,7.425586524784973,0.0,0.0,0.6120769059299533
1525 +6.077642243349034,5.79272652085678,0.2849157224922543,0.0,-1.7919755197196023,-0.10809245953778476,0.0,7.462013233951218,0.0,0.0,0.230781266162948
1526 +5.5254529391317835,5.3404644083738235,0.18498853075795996,0.0,-1.8506707630475905,-0.03593949715833877,0.0,7.303733719730621,0.0,0.0,-0.07665905115086864
1527 +4.859812404361672,-5.333546499703637,10.19335890406531,0.0,-5.215003965322141,-0.051587733418149005,0.0,0.0,0.0,0.0,-0.06695480096334719
1528 +,-1.4127268804134832,,0.0,-0.6831249088549631,0.009728583764205389,0.029276549528124737,-0.7423105607057928,0.0,0.0,-0.026296544145057832
1529 +,-5.94545938526631,,0.0,-5.91196765041071,-0.02615014976275143,0.038910719344411995,0.0,0.0,0.0,-0.04625230443726
1530 +,-1.756386215316925,,0.0,-1.5025427076963993,-0.1679812947000315,0.0,-0.43628699703874824,0.0,0.0,0.3504247841182545
1531 +,-2.6508689155707574,,0.0,-2.017679949723168,0.15014898280454714,-0.012124622699479781,-0.7423105607057928,0.0,0.0,-0.028902765246863003
1532 +,-2.043977880757532,,0.0,-1.935199752580969,0.03242428253547845,0.0,-0.27841729476194593,0.0,0.0,0.13721488404990353
1533 +,-5.3152668397137965,,0.0,-5.172224543976181,0.012057925819254522,0.0,0.0,0.0,0.0,-0.1551002215568696
1534 +4.143134726391533,-2.8284796145641806,6.971614340955713,0.0,-1.976461354735755,0.01341031984822557,0.0,-0.5963811959256494,0.0,0.0,-0.2690473837510015
1535 +4.465908118654584,5.695290623795555,-1.229382505140971,0.0,-2.3006581775835304,-0.14603155972244147,0.0024904528831925232,8.256548952914406,0.0,0.0,-0.11705904469607094
1536 +8.131824785007195,6.860086817758177,1.2717379672490186,0.0,-1.4803718345099623,0.023482037939064296,0.029449257100003234,7.835943134531343,0.0,0.0,0.45158422269772935
1537 +5.602118820879701,5.453707876326221,0.14841094455348003,0.0,-1.3856424974831452,-0.029208253451725653,0.0024904528831925232,6.905187062422187,0.0,0.0,-0.03911888804428666
1538 +5.583496308781699,5.813357265376017,-0.22986095659431793,0.0,-1.365449354529546,0.050194454681764394,0.017324634400523453,7.164851371593954,0.0,0.0,-0.05356384077067775
1539 +9.291551627401006,6.108402572147771,3.183149055253235,0.0,-1.4539274015316135,-0.1060183308180571,0.029449257100003234,7.903251101442422,0.0,0.0,-0.2643520540449826
1540 +4.890349128221754,5.096169311846143,-0.20582018362438959,0.0,-1.8337392889472879,-0.11419283165522445,0.029449257100003234,7.215516578238695,0.0,0.0,-0.20086440289004157
1541 +7.554334823725748,6.920598208689708,0.6337366150360397,0.0,-1.266798565484124,0.08097393367158516,0.019815087283715976,7.883835338061308,0.0,0.0,0.20277241515722208
1542 +5.666426688112432,5.268838595108389,0.3975880930040434,0.0,-1.701786771204568,0.09146321373964553,0.029449257100003234,6.946461655560914,0.0,0.0,-0.09674876008760729
1543 +4.897839799950911,4.280110293688358,0.6177295062625534,0.0,-2.5133640783029643,-0.014737777064368962,0.017324634400523453,7.078457917541926,0.0,0.0,-0.2875704028867581
1544 +4.605170185988092,5.636320967020878,-1.0311507810327862,0.0,-2.0965149232617755,0.03315952756350507,0.0,7.754671554389941,0.0,0.0,-0.054995191670793156
1545 +7.581209826196346,5.950726961726247,1.6304828644700997,0.0,-1.907892889361034,-0.05062621002014559,0.0,8.029764702841453,0.0,0.0,-0.12051864173402495
1546 +,5.419991578865327,,0.0,-1.72426228625726,0.07518281769427093,0.026786096644932214,7.113105520884234,0.0,0.0,-0.07082057010084884
1547 +5.0106352940962555,5.43670783244867,-0.42607253835241465,0.0,-2.183967076002033,-0.05561063828453496,0.026786096644932214,7.756627131631662,0.0,0.0,-0.1071276815413555
1548 +5.187385805840755,5.572436511117299,-0.3850507052765444,0.0,-1.7027696860994483,-0.0389242105924041,0.017324634400523453,7.284894530083472,0.0,0.0,0.011911243325157033
1549 +5.749392985908253,-2.3808197710664616,8.130212756974714,0.0,-1.5785794977974463,-0.11756071293209586,0.0,-0.5963811959256494,0.0,0.0,-0.08829836441126872
1550 +,-3.0621703142331875,,0.0,-2.321965344793261,0.08036823482249919,0.038910719344411995,-0.5979877768107208,0.0,0.0,-0.261496146796117
1551 +,5.825869103055257,,0.0,-1.305277641076784,0.06376315080203715,0.038910719344411995,7.095427674948939,0.0,0.0,-0.06695480096334719
1552 +4.948759890378168,-5.93169480271786,10.880454693096029,0.0,-6.038684387803286,0.0007248166702633653,0.029449257100003234,0.0,0.0,0.0,0.07681551131515815
1553 +3.5553480614894135,-5.421638136612316,8.976986198101729,0.0,-5.239387969364515,0.008065797410254132,0.0024904528831925232,0.0,0.0,0.0,-0.19280641754124775
1554 +4.330733340286331,-2.169814643678024,6.5005479839643545,0.0,-1.4887255150274195,-0.026091021921667016,0.04140117222760452,-0.7423105607057928,0.0,0.0,0.04591128174925124
1555 +2.9444389791664403,-4.743276350071824,7.687715329238264,0.0,-4.543454692418473,-0.007918793287353277,0.0024904528831925232,0.0,0.0,0.0,-0.19439331724919007
1556 +,-3.9226978779723662,,0.0,-4.192598123977094,-0.08173351662275818,0.04140117222760452,0.0,0.0,0.0,0.3102325903998808
1557 +3.7612001156935624,-2.631872980262359,6.393073095955922,0.0,-1.869296053838558,-0.0899255051218247,0.038910719344411995,-0.43492758244368784,0.0,0.0,-0.27663455820270183
1558 +5.14166355650266,-3.3393928324813436,8.481056388984005,0.0,-3.4121597933023136,0.009299611704260816,0.0024904528831925232,0.0,0.0,0.0,0.06097689623351718
1559 +,-4.806619461192331,,0.0,-5.2193530332968265,-0.032092560336768404,0.04140117222760452,0.0,0.0,0.0,0.4034249602136588
1560 +,-3.109702458562571,,0.0,-2.393421720354624,0.030985609651472894,0.029449257100003234,-0.5984821093907428,0.0,0.0,-0.1782334955686788
1561 +,-5.4236274397097155,,0.0,-5.242392485772965,-0.05046845345778281,0.0024904528831925232,0.0,0.0,0.0,-0.13325695336215954
1562 +8.066521490469993,6.347169349611062,1.7193521408589314,0.0,-1.5532701383985525,0.01831304126978575,0.0,7.915843792256553,0.0,0.0,-0.03371734551672536
1563 +6.461468176353717,6.297981324959482,0.1634868513942358,0.0,-1.8053058944073914,0.16513442580864948,0.0,8.226207067144497,0.0,0.0,-0.2880542735862738
1564 +5.393627546352362,5.286366318751893,0.10726122760046941,0.0,-2.517489456265281,-0.09981452290568461,0.0,8.0043942196572,0.0,0.0,-0.10072392173434155
1565 +4.454347296253507,5.204646184332816,-0.7502988880793087,0.0,-2.2526937144953125,-0.0731275594147441,0.0,7.576478788427028,0.0,0.0,-0.04601133018415754
1566 +9.369052063131004,7.461758490862651,1.9072935722683537,0.0,-1.9984321381753452,-0.18049299747805903,0.0,7.161390088773437,0.0,0.0,2.479293537742617
1567 +3.8918202981106265,4.8940103365517045,-1.002190038441078,0.0,-1.775774413842627,-0.06362958247647141,0.0,6.760007305280326,0.0,0.0,-0.026592972409521944
1568 +4.204692619390966,5.376090365999192,-1.1713977466082266,0.0,-2.3698658046853014,-0.12768202007609175,0.038910719344411995,7.9960763959270205,0.0,0.0,-0.16134892451084776
1569 +4.110873864173311,5.144741892769693,-1.0338680285963813,0.0,-1.672638420622122,0.030361638331119368,0.04140117222760452,6.867685970732878,0.0,0.0,-0.12206846789978706
1570 +4.867534450455582,6.054327206535039,-1.1867927560794564,0.0,-1.9343397613135034,0.014543019195564624,0.0,8.143118009012213,0.0,0.0,-0.16899406035923528
1571 +7.515889085215125,5.270073652465832,2.2458154327492936,0.0,-4.156716386038704,0.030523412928110276,0.04140117222760452,9.0784399922403,0.0,0.0,0.2764254611085226
1572 +7.62825008106032,6.5237403786520645,1.1045097024082553,0.0,-1.2489572875691328,-0.004913949323281791,0.019815087283715976,7.903251101442422,0.0,0.0,-0.1454545731816595
1573 +,5.421644093141221,,0.0,-2.113598552725507,-0.1116861352477572,0.017324634400523453,7.7952937673216285,0.0,0.0,-0.16568962060766673
1574 +4.981412435419353,5.30582639081362,-0.32441395539426754,0.0,-1.8573819849355138,-0.14854002011743922,-0.012124622699479781,7.467232135378865,0.0,0.0,-0.1433591168128122
1575 +5.614222397943558,6.167963275379491,-0.5537408774359331,0.0,-2.325382269680806,0.14803905777935183,0.038910719344411995,8.528142710796985,0.0,0.0,-0.22174694286045202
1576 +8.817912409760192,3.2303513512784776,5.587561058481715,0.0,-5.887649519234362,-0.014642792641814985,0.04140117222760452,9.238202504200961,0.0,0.0,-0.14696001327391053
1577 +5.336576078665127,6.066656229310833,-0.7300801506457057,0.0,-2.2054502203283626,-0.05028944861865248,0.0,8.036789051724245,0.0,0.0,0.28560684653360247
1578 +7.4639767412781115,6.231478173009937,1.2324985682681744,0.0,-1.9404670234430101,-0.047654274968563594,0.0,8.20915108196446,0.0,0.0,0.01044838945705115
1579 +4.571923592194456,3.1739291693369043,1.3979944228575518,0.0,-5.846048265664702,0.05571111304218612,0.038910719344411995,9.0784399922403,0.0,0.0,-0.15308438962529022
1580 +5.089323238338246,4.382993023953477,0.706330214384769,0.0,-2.4043024967441466,0.04377447661604685,0.026786096644932214,7.188867904259861,0.0,0.0,-0.47213295682321665
1581 +5.258380396944336,6.03979243391258,-0.781412036968244,0.0,-2.0059822260452425,-0.08434639090634904,0.029449257100003234,8.256548952914406,0.0,0.0,-0.15587715915023745
1582 +,4.930780519067507,,0.0,-1.6644619294848697,0.062405232012564434,0.017324634400523453,6.666026334084586,0.0,0.0,-0.15051375194529504
1583 +4.399129542573544,4.362899719478907,0.036229823094636515,0.0,-2.4572247330528665,0.006994013168025427,0.017324634400523453,7.157094235313176,0.0,0.0,-0.3612884303499527
1584 +5.041358466739096,5.558527084549896,-0.5171686178107997,0.0,-2.0061756077792756,-0.13642001472514034,0.029449257100003234,7.38861153898462,0.0,0.0,0.2830619109696877
1585 +,-4.241321558723118,,0.0,-4.064269947720989,0.013588591542014833,0.0024904528831925232,0.0,0.0,0.0,-0.1931306554273366
1586 +,-3.244155432429656,,0.0,-2.208524250462748,-0.016918617361971373,-0.012124622699479781,-0.7423105607057928,0.0,0.0,-0.26427738119966326
1587 +,-3.1782106653204893,,0.0,-1.8822550409638215,-0.05770802174586413,0.017324634400523453,-0.7423105607057928,0.0,0.0,-0.5132616763055337
1588 +,-2.8173264059400913,,0.0,-1.7373035343921783,-0.2526941962705416,0.019815087283715976,-0.7423105607057928,0.0,0.0,-0.10483320185529386
1589 +,-4.609244578838246,,0.0,-4.334325297429089,-0.05461878970769514,0.0024904528831925232,0.0,0.0,0.0,-0.222790944584654
1590 +,-2.0364835867109154,,0.0,-1.874056651661614,0.07394639214488091,0.0,-0.2755748824268196,0.0,0.0,0.03920155523263805
1591 +,-5.209697724699867,,0.0,-5.666960717622869,0.17438403623841342,0.0024904528831925232,0.0,0.0,0.0,0.28038850380139746
1592 +,-3.649226353664586,,0.0,-3.7951273365741307,0.035784181856125835,0.0024904528831925232,0.0,0.0,0.0,0.10762634817022657
1593 +,-3.1105502364340265,,0.0,-2.145485947670541,-0.06053977569773898,0.0,-0.5963811959256494,0.0,0.0,-0.30814331714009713
1594 +,-2.4771572428722943,,0.0,-2.2561776541336513,-0.051504846517177336,0.0,-0.2742154678317592,0.0,0.0,0.10474072561029382
1595 +4.653960350157523,-2.7392222726982065,7.393182622855729,0.0,-1.9361645269956815,-0.0861579080428512,0.0,-0.5963811959256494,0.0,0.0,-0.12051864173402495
1596 +4.248495242049359,-5.8809202989318505,10.12941554098121,0.0,-5.653167902101494,0.05646906436363566,0.0,0.0,0.0,0.0,-0.284221461193991
1597 +5.3471075307174685,-6.255408917524279,11.602516448241747,0.0,-6.0014707997686365,0.005564328951117813,0.029449257100003234,0.0,0.0,0.0,-0.28895170380676427
1598 +3.6635616461296463,-6.496283374650363,10.15984502078001,0.0,-6.1859974975392635,-0.07110838266394096,0.0,0.0,0.0,0.0,-0.23917749444715944
1599 +4.454347296253507,4.931760860089122,-0.47741356383561495,0.0,-1.8907480984283067,-0.09832375794458098,0.017324634400523453,7.039735316207816,0.0,0.0,-0.1362272341463268
1600 +6.059123195581797,5.459364160752367,0.5997590348294297,0.0,-1.28501569276336,0.0806856436244312,0.017324634400523453,6.804979458743736,0.0,0.0,-0.15860988325296455
1601 +5.170483995038151,5.256276560326301,-0.08579256528814927,0.0,-2.1874435451457197,-0.15200020007419768,-0.012124622699479781,7.647282660025731,0.0,0.0,-0.039437731780034395
1602 +9.055789612127585,5.939485614590297,3.1163039975372877,0.0,-2.2936147452403395,-0.0708477446866639,0.0,8.528142710796985,0.0,0.0,-0.22419460627968374
1603 +4.718498871295094,5.939528553754507,-1.2210296824594131,0.0,-1.880694054859645,0.05151204252657565,-0.012124622699479781,7.9960763959270205,0.0,0.0,-0.21524120713996325
1604 +7.492203042618741,6.368534008842398,1.123669033776343,0.0,-1.686737942104612,-0.11108332621898934,0.0,8.196512501176128,0.0,0.0,-0.030157224010128075
1605 +4.406719247264253,5.366877661862538,-0.9601584145982844,0.0,-2.685128440271316,-0.10463148961616081,0.0,8.290547193676709,0.0,0.0,-0.13390960192669438
1606 +,5.875809069555561,,0.0,-1.4426724961600312,-0.1225316652883315,0.038910719344411995,7.323748801539578,0.0,0.0,0.07835371011993417
1607 +4.406719247264253,4.724551028445703,-0.3178317811814493,0.0,-2.031291196399887,-0.007134224692396829,0.026786096644932214,6.832706094666349,0.0,0.0,-0.09651574177329475
1608 +,-5.223858023880323,,0.0,-4.989987615847211,-0.006825042840140866,0.0,0.0,0.0,0.0,-0.22704536519297036
1609 +,-3.5780439079913715,,0.0,-3.1629790463590193,-0.06939342624801736,0.0,-0.12499658570534135,0.0,0.0,-0.2206748496789937
1610 +,-5.021030734654962,,0.0,-4.78472980046066,-0.020359753040915807,0.0,0.0,0.0,0.0,-0.21594118115338773
1611 +,-2.8956303236992804,,0.0,-1.8785334857636835,-0.005514188683375824,-0.012124622699479781,-0.7423105607057928,0.0,0.0,-0.257147465846948
1612 +,-5.561456821448402,,0.0,-5.490926848699008,0.022347459424683788,0.029449257100003234,0.0,0.0,0.0,-0.12232668927408205
1613 +,-6.283443042470106,,0.0,-6.260851623409851,0.03384076155412549,0.0,0.0,0.0,0.0,-0.05643218061438239
1614 +,-2.2429164609547483,,0.0,-2.0724769218586196,0.05644222749103188,0.0,-0.11659293184496787,0.0,0.0,-0.11028883474219178
1615 +,-4.431991207729376,,0.0,-4.397389348127389,-0.07773193670441171,0.0024904528831925232,0.0,0.0,0.0,0.040639624219231535
1616 +5.497168225293202,-2.8521620994353722,8.349330324728575,0.0,-1.8912850575959412,-0.12746031667781094,0.0,-0.5981113599557263,0.0,0.0,-0.2353053652058933
1617 +,-5.152909775118709,,0.0,-5.227666626104468,-0.04272215485908322,0.0,0.0,0.0,0.0,0.11747900584484333
1618 +4.6913478822291435,-4.267957259409386,8.95930514163853,0.0,-4.243999127336918,0.11845418322254389,0.04140117222760452,0.0,0.0,0.0,-0.18381348752261634
1619 +,-5.714319334733275,,0.0,-5.539414127434478,-0.0568945156205391,0.0,0.0,0.0,0.0,-0.11801069167825702
1620 +,-1.230950280825417,,0.0,-0.49464807560081425,-0.12606704098260113,-0.009634169816287258,-0.7423105607057928,0.0,0.0,0.14170956628007994
1621 +,-3.175999051794908,,0.0,-3.766528862610556,-0.006863858071869736,0.04140117222760452,0.0,0.0,0.0,0.555992496659914
1622 +,-6.133404723396901,,0.0,-6.137788516563832,-0.01103301313522254,0.038910719344411995,0.0,0.0,0.0,-0.023493913042259135
1623 +,-1.3071283079662421,,0.0,-0.5423752322085909,0.06156866366563571,0.029276549528124737,-0.7423105607057928,0.0,0.0,-0.11328772824561872
1624 +,-2.6568956898990237,,0.0,-1.9784961624329709,-0.11693899867640337,0.0024904528831925232,-0.43591624760373177,0.0,0.0,-0.12803473406911078
1625 +,-3.2274237759495246,,0.0,-3.1173211517637505,0.08906056542531099,0.0,-0.11881742845506674,0.0,0.0,-0.08034576115601663
1626 +,-5.626135452129947,,0.0,-5.467700592828471,0.06428680995241928,0.0,0.0,0.0,0.0,-0.22272166925389503
1627 +,-1.9939430497466593,,0.0,-1.6334682318568303,-0.02566595178183662,0.0024904528831925232,-0.5968755285056714,0.0,0.0,0.2595762095144868
1628 +3.4657359027997265,-5.194014474606843,8.659750377406569,0.0,-5.2535849892039135,-0.11826865131162685,0.0024904528831925232,0.0,0.0,0.0,0.17534871302550606
1629 +,-2.5251459533921956,,0.0,-2.228538252247234,0.03148246939815062,0.0,-0.11510993410490197,0.0,0.0,-0.21298023643821004
1630 +5.5053315359323625,-6.232676915039674,11.738008450972035,0.0,-6.273993057552678,-0.03528064006973653,0.0,0.0,0.0,0.0,0.0765967825827403
1631 +,-3.933209275808913,,0.0,-4.036697449780958,-0.009350783672753257,0.0024904528831925232,0.0,0.0,0.0,0.11034850476160527
1632 +,-5.792686141652735,,0.0,-5.381474521822765,-0.08318230626339174,0.029449257100003234,0.0,0.0,0.0,-0.3574785706665811
1633 +5.5053315359323625,-6.719490803411933,12.224822339344296,0.0,-6.60065989730367,0.009927116582975973,0.0,0.0,0.0,0.0,-0.12875802269123943
1634 +8.842604480678025,6.310970697461536,2.5316337832164892,0.0,-1.9052972992150226,-0.05246501406232462,0.04140117222760452,6.992461028402877,0.0,0.0,1.2348708101084018
1635 +5.501707089375386,5.375203496859098,0.12650359251628807,0.0,-1.7914363173577774,0.038957951823377544,-0.012124622699479781,7.280027925049315,0.0,0.0,-0.14022143995633757
1636 +8.428628608827053,5.961097052306005,2.467531556521047,0.0,-1.2902473740467864,0.046081289800180336,0.019815087283715976,7.220318972562371,0.0,0.0,-0.03487092329347466
1637 +6.842875366243751,4.0560115863259565,2.7868637799177947,0.0,-5.192026331009258,0.026896846196441587,0.029449257100003234,9.238202504200961,0.0,0.0,-0.046510690162192475
1638 +4.407085034014658,4.961472225028459,-0.5543871910138005,0.0,-2.3799593138928268,-0.02837668008880384,0.026786096644932214,7.336615036638419,0.0,0.0,0.0064070857267395954
1639 +,5.7616681395221825,,0.0,-2.1207568174596636,-0.12809172859335932,0.0,8.074949325983411,0.0,0.0,-0.06443264040820526
1640 +5.553347106724568,5.2957423852751,0.2576047214494679,0.0,-1.8130389668686773,-0.037681840043595344,0.019815087283715976,7.336985786073435,0.0,0.0,-0.2103376811697778
1641 +4.442415934686665,5.447793442778575,-1.0053775080919092,0.0,-2.53428375441674,-0.08853257242744417,0.038910719344411995,8.170810732001074,0.0,0.0,-0.13911168172272736
1642 +,4.861666344793048,,0.0,-2.4206617003084965,-0.08314836654191385,0.0,7.361164769349445,0.0,0.0,0.004311642294013873
1643 +8.751093085302545,7.224918073594557,1.5261750117079877,0.0,-0.6284139044890544,0.05013475172191832,0.017324634400523453,7.623229232092012,0.0,0.0,0.16264335986915832
1644 +3.671478939433769,6.013416875266491,-2.3419379358327217,0.0,-2.272531532925207,-0.03452990505950898,0.0024904528831925232,7.8137008208043515,0.0,0.0,0.5042870395636643
1645 +5.908707742937773,6.0176573391406,-0.10894959620282663,0.0,-1.3968716130381909,-0.0690062847523128,0.038910719344411995,7.263257079730056,0.0,0.0,0.1813674378566337
1646 +7.402927017507871,3.6700265998099106,3.73290041769796,0.0,-5.091118615729194,-0.0603493499528572,0.038910719344411995,9.0784399922403,0.0,0.0,-0.29585614609274924
1647 +,5.6178092842254825,,0.0,-1.5208631934718904,-0.04594205447356693,0.017324634400523453,7.263627829165072,0.0,0.0,-0.09633793139465543
1648 +5.112048027505985,6.288143168031021,-1.1760951405250362,0.0,-1.894790533952448,0.03192238139402501,0.0,8.280781835129236,0.0,0.0,-0.129770514539793
1649 +,6.357467894921998,,0.0,-1.8509077591382779,-0.014470374698992598,0.029449257100003234,8.134852470349093,0.0,0.0,0.05854430131017149
1650 +,7.169761308728245,,0.0,-0.7878840336884769,-0.03201235357579417,-0.009634169816287258,8.063013613403083,0.0,0.0,-0.0637217475942792
1651 +8.935245415029874,4.108427030994093,4.82681838403578,0.0,-5.0937746856962285,0.00119842720857187,0.0,9.238202504200961,0.0,0.0,-0.037199214719211234
1652 +,5.108647251415606,,0.0,-1.871889320300041,-0.17807698705560526,0.026786096644932214,7.146178951981609,0.0,0.0,-0.014351489855289506
1653 +7.561277664758815,3.89206195931102,3.6692157054477947,0.0,-5.145636006145474,0.002292298371064455,0.0,9.238202504200961,0.0,0.0,-0.2027968371155313
1654 +4.489534842389167,4.943868720560015,-0.45433387817084814,0.0,-2.1333496010018997,-0.03685507269797281,0.017324634400523453,7.2281075281539255,0.0,0.0,-0.1313587682945604
1655 +7.186674065763761,6.431469733649667,0.7552043321140935,0.0,-1.1065783975972066,-0.05986218140388441,-0.012124622699479781,7.903251101442422,0.0,0.0,-0.2932161660921839
1656 +,5.350714534660964,,0.0,-1.5090648674307046,-0.13539004197713633,0.017324634400523453,7.012520210822082,0.0,0.0,-0.03467540115379738
1657 +,5.51654213488232,,0.0,-2.0671856200694227,-0.1672859027808456,0.017324634400523453,7.837426132271409,0.0,0.0,-0.10373710893934388
1658 +5.158077810133449,4.956161467453014,0.2019163426804349,0.0,-1.9101414889082244,-0.015976345318335267,0.029449257100003234,6.982415715909939,0.0,0.0,-0.12958567133036905
1659 +4.870146420904234,5.798989733701347,-0.9288433127971132,0.0,-1.443821865495348,-0.05111017766246735,0.026786096644932214,7.145313869966571,0.0,0.0,0.121821810247661
1660 +6.173619423344838,5.3098440120401005,0.8637754113047373,0.0,-1.2743405083251051,-0.07079944191764401,0.0,6.85443421205209,0.0,0.0,-0.19945024976923967
1661 +,7.074553749668249,,0.0,-0.7384440349062968,0.06868018930813394,-0.009634169816287258,8.00227472530355,0.0,0.0,-0.24832296022085074
1662 +4.716711560720999,4.631213109345049,0.08549845137594936,0.0,-2.1910466565587763,-0.16596247349788412,0.017324634400523453,7.2290961933139695,0.0,0.0,-0.25819858831278436
1663 +,7.231002209694031,,0.0,-0.568945721064197,-0.24688822997226634,0.029276549528124737,8.063013613403083,0.0,0.0,-0.045454002200712884
1664 +5.107398962528563,5.756763809626031,-0.649364847097468,0.0,-1.925847692891634,0.10165688954025168,0.0,7.779977622401044,0.0,0.0,-0.199023009423631
1665 +4.07753744390572,4.503544369763402,-0.4260069258576822,0.0,-2.118022312944327,0.08815150191036247,0.026786096644932214,6.983651547359994,0.0,0.0,-0.4770224632075582
1666 +5.003946305945459,5.844093171334353,-0.8401468653888937,0.0,-1.2707977271456885,-0.06610321039500393,0.029276549528124737,6.897504119846251,0.0,0.0,0.25421343950067044
1667 +4.356708826689592,5.465387647263676,-1.1086788205740845,0.0,-1.635716440783792,-0.03126152601917823,0.026786096644932214,7.075885347524116,0.0,0.0,0.02969416989759896
1668 +10.00852301537001,6.306924690706198,3.701598324663811,0.0,-1.4453667147962674,-0.005961981837982775,0.038910719344411995,7.7560092159066345,0.0,0.0,-0.03666654791059723
1669 +8.046869510959576,4.91899256704768,3.127876943911896,0.0,-2.0511692154761194,-0.09495391991174527,0.0,7.326008273786325,0.0,0.0,-0.2608925713507804
1670 +,4.850775695298965,,0.0,-2.310296680275619,0.05566021355874008,0.026786096644932214,7.269890776127029,0.0,0.0,-0.19126471075611595
1671 +7.051855622955894,5.389485839126537,1.662369783829357,0.0,-2.1966951897074223,0.005110978513509388,0.026786096644932214,7.563198065834936,0.0,0.0,-0.008914112159418452
1672 +5.241747015059643,5.866403920321927,-0.6246569052622846,0.0,-1.1432877511807016,-0.027020688795499546,0.029449257100003234,7.422012815625444,0.0,0.0,-0.41474971242731984
1673 +6.675823221634848,6.059379827686339,0.6164433939485088,0.0,-1.3723739552776504,-0.09326696107731555,0.0,7.736364883532696,0.0,0.0,-0.21134413949138978
1674 +,4.7001319523631215,,0.0,-2.255834793816656,0.10145813079627461,0.026786096644932214,6.964192326133568,0.0,0.0,-0.13646980739499723
1675 +5.69035945432406,6.349231419190105,-0.6588719648660453,0.0,-1.6175846275203982,0.13353330540566988,0.0,7.9833554970515515,0.0,0.0,-0.15007275574671602
1676 +5.368589419533368,4.826134825580382,0.5424545939529857,0.0,-2.1530883510820535,-0.1565047831644299,-0.012124622699479781,7.448956969810406,0.0,0.0,-0.3011043872840587
1677 +7.450097011515856,5.4598744138606,1.990222597655256,0.0,-2.118027358481535,-0.053882386302296165,0.038910719344411995,7.46139531822619,0.0,0.0,0.13147812107382906
1678 +,5.681871231000901,,0.0,-1.9295885434853997,-0.01563981258828001,0.017324634400523453,7.776687244171876,0.0,0.0,-0.16691229149781778
1679 +8.051098711480357,7.925410131119998,0.12568858036035913,0.0,-0.16026576818148808,-0.02135130466752115,0.04140117222760452,8.134852470349093,0.0,0.0,-0.06922643860769084
1680 +,4.8914630608543614,,0.0,-1.6316212158747083,-0.12105408061135862,0.04140117222760452,6.8371378364502196,0.0,0.0,-0.23440065133739524
1681 +7.695544234195264,5.85169526723637,1.8438489669588938,0.0,-1.9898496573052924,-0.10385367228337067,-0.012124622699479781,7.965649989520884,0.0,0.0,-0.008126769996370756
1682 +8.335191583433202,7.096403984375121,1.2387875990580808,0.0,-1.23842239639015,-0.12436125969894848,0.017324634400523453,7.965649989520884,0.0,0.0,0.476213016542811
1683 +8.264901428556586,6.090091930213466,2.1748094983431194,0.0,-1.7099076465697767,0.05135554810372156,0.017324634400523453,7.740224370365282,0.0,0.0,-0.00890497608628316
1684 +,5.246524032403079,,0.0,-1.8792938089463886,0.0010475878619428045,0.038910719344411995,7.3815139182677125,0.0,0.0,-0.295654384124599
1685 +5.308020142009422,4.899884174582681,0.4081359674267411,0.0,-2.205690091119453,-0.01202018672436845,0.017324634400523453,7.225174645614597,0.0,0.0,-0.1249048275886168
1686 +3.9541241814467813,5.682416273356005,-1.728292091909224,0.0,-1.7522955431886222,-0.1397661773018742,0.019815087283715976,7.740842286090309,0.0,0.0,-0.18617937952752237
1687 +5.1084876942637605,5.256040063648314,-0.1475523693845533,0.0,-1.9223686198173642,0.05609826635278849,0.017324634400523453,7.1763581920977355,0.0,0.0,-0.07137240938536799
1688 +,5.426185697822067,,0.0,-1.640434510655207,-0.1312733444410376,0.029276549528124737,7.184159383525871,0.0,0.0,-0.015542380135683403
1689 +6.951724316364261,3.7698101202921253,3.1819141960721353,0.0,-5.280660860709872,0.05330576026908774,0.0,9.238202504200961,0.0,0.0,-0.2410372834680499
1690 +,4.689475074001908,,0.0,-2.5555296578490756,0.015972927623057603,0.026786096644932214,7.375031923909346,0.0,0.0,-0.17278621632635
1691 +7.775695749915245,7.064665220274874,0.7110305296403716,0.0,-0.5459268678421738,-0.10591137131660044,0.029276549528124737,7.883835338061308,0.0,0.0,-0.1966084281557843
1692 +,5.140568027525723,,0.0,-2.1826839142299486,0.007231648186258308,0.038910719344411995,7.474409328805245,0.0,0.0,-0.19729975458024396
1693 +,5.928014630738534,,0.0,-1.4242850040043722,-0.09742703312755498,0.017324634400523453,7.621128318626918,0.0,0.0,-0.1887262851569801
1694 +4.672454932793688,5.970133217172311,-1.2976782843786232,0.0,-1.8819571565497268,0.050062929226152464,0.026786096644932214,7.6495071566358295,0.0,0.0,0.12573419121512347
1695 +,5.671814393560766,,0.0,-1.128201813906788,0.0191859235480634,0.038910719344411995,6.63720827566385,0.0,0.0,0.1047112889112278
1696 +,5.686988878516342,,0.0,-1.4031373224652137,-0.08436702635078709,0.04140117222760452,7.286273533591229,0.0,0.0,-0.1531814784864889
1697 +4.762173934797756,6.850074114181363,-2.087900179383607,0.0,-1.7752151947405306,0.00340918904924584,0.0,8.629475351904443,0.0,0.0,-0.007595232031793547
1698 +5.220355825078324,5.385418332270376,-0.16506250719205173,0.0,-2.0734043312695505,-0.033557466639754174,0.017324634400523453,7.5639395647049685,0.0,0.0,-0.08888406892581117
1699 +4.836281906951478,5.115850054596698,-0.27956814764521987,0.0,-1.448581908515754,0.10265734443803329,0.017324634400523453,6.578406049279942,0.0,0.0,-0.13395606500604607
1700 +4.48863636973214,3.560280928418537,0.9283554413136028,0.0,-5.255923569358787,-0.053143212500985054,0.038910719344411995,9.0784399922403,0.0,0.0,-0.24800300130640004
1701 +5.14166355650266,6.047053586880046,-0.9053900303773856,0.0,-1.8183728955892287,-0.09803467485346506,0.0,8.028899620826413,0.0,0.0,-0.06543846350367188
1702 +,4.386483880588266,,0.0,-2.4161264979783192,-0.0793052885354158,0.017324634400523453,7.098657497886659,0.0,0.0,-0.2340664651851801
1703 +6.274762021241939,5.835467289833431,0.4392947314085074,0.0,-2.1011979062926978,-0.0628921141772939,-0.012124622699479781,8.16949037991479,0.0,0.0,-0.15780844691188708
1704 +,-6.204896592417014,,0.0,-6.078550530301081,0.006239280125716519,0.0,0.0,0.0,0.0,-0.1325853422416492
1705 +,-5.3776031535754685,,0.0,-5.2533119260948045,-0.09849740252465386,0.0,0.0,0.0,0.0,-0.025793824956011586
1706 +,-0.9335988885713561,,0.0,-1.0602247478327271,0.11277892770807302,0.0024904528831925232,-0.11510993410490197,0.0,0.0,0.12646641277500678
1707 +5.91350300563827,6.07005683725308,-0.1565538316148105,0.0,-1.0826401716997944,-0.07238664081476917,0.029449257100003234,7.323748801539578,0.0,0.0,-0.12811440887193573
1708 +4.742407204293176,-5.069275840306025,9.811683044599201,0.0,-5.052428852551922,-0.05602129960645464,0.0024904528831925232,0.0,0.0,0.0,0.03668385896915996
1709 +,5.245526125829123,,0.0,-1.6387813884490177,-0.04192122642490046,0.0024904528831925232,6.762716428039968,0.0,0.0,0.16102185977987896
1710 +,5.499771994540016,,0.0,-2.1740499056615112,-0.059333175203673566,0.038910719344411995,7.814762997794814,0.0,0.0,-0.12051864173402495
1711 +5.598088570097137,5.8330528948129015,-0.23496432471576423,0.0,-2.4497177512877064,-0.1449296397389751,0.0,8.41763181696135,0.0,0.0,0.010068468878233733
1712 +,6.331483065788422,,0.0,-1.883173541588456,-0.10907076904583274,0.0,8.368705490143888,0.0,0.0,-0.04497811372117663
1713 +7.070545671630456,5.352897555708302,1.7176481159221542,0.0,-2.1641043421267545,-0.12046194575391453,0.026786096644932214,7.622364150076973,0.0,0.0,-0.011686403132934314
1714 +8.229537785275573,7.583942056382719,0.6455957288928538,0.0,-0.48332786200894784,0.06825436370676338,0.0,8.368705490143888,0.0,0.0,-0.369689935458986
1715 +9.465215121451847,5.458370885960691,4.0068442354911555,0.0,-2.2570566585195797,0.026586889964802865,0.0,7.562441730534859,0.0,0.0,0.12639892398061023
1716 +5.350577693209122,5.73792131326026,-0.387343620051138,0.0,-1.6814720605073559,0.01395276509150399,0.029449257100003234,7.257925677267298,0.0,0.0,0.11806567430880957
1717 +5.213249554157973,5.539851785969946,-0.32660223181197257,0.0,-1.9668549635400607,-0.01924538341990932,0.0,7.735499801517657,0.0,0.0,-0.20954766858774143
1718 +7.819262588511519,7.157547984131578,0.6617146043799407,0.0,-1.2779767717765518,-0.013797380590325065,0.029276549528124737,8.063013613403083,0.0,0.0,0.3570319735672469
1719 +8.267533678721108,6.562732039002129,1.704801639718979,0.0,-1.5712802494892077,-0.007516809550693095,0.0,8.368705490143888,0.0,0.0,-0.22717639210185867
1720 +,5.946271535966102,,0.0,-1.695847266347081,-0.038521928486675364,0.0,7.755042303824958,0.0,0.0,-0.07440157302509963
1721 +7.983405956012899,4.814903325279972,3.1685026307329274,0.0,-2.030445532473429,-0.028746156955201708,0.029449257100003234,7.108810505700477,0.0,0.0,-0.2641647480918768
1722 +5.773930234558283,5.933025181710414,-0.15909494715213057,0.0,-1.836550050796716,-0.17528338657059742,0.029449257100003234,8.1461031766186,0.0,0.0,-0.2306938146408758
1723 +4.886809034892587,5.700964333658763,-0.8141552987661758,0.0,-2.0342859420807367,-0.14577658346181122,-0.009634169816287258,7.441349540200855,0.0,0.0,0.44931148881674526
1724 +5.081590683029905,5.3512908338720955,-0.26970015084219057,0.0,-3.406161318133953,0.01673717346480608,0.0,8.849976751964636,0.0,0.0,-0.10926177342339383
1725 +4.959622662073724,5.309606442409514,-0.3499837803357897,0.0,-1.3161161573503373,0.04487120637820099,0.0024904528831925232,7.0095397155493355,0.0,0.0,-0.431178775050877
1726 +,4.985164243596829,,0.0,-2.1393418430799054,0.010044592814657399,-0.012124622699479781,7.206931877717573,0.0,0.0,-0.08034576115601663
1727 +,5.530466423102737,,0.0,-2.5992561827062532,0.002366331363955563,0.0,8.329831745091703,0.0,0.0,-0.20247547064667043
1728 +5.1084876942637605,5.415227005883142,-0.3067393116193813,0.0,-1.8880251599695574,-0.12460515149077521,-0.012124622699479781,7.6094836884798305,0.0,0.0,-0.16950174843687593
1729 +6.153498358955215,5.487875783880736,0.6656225750744786,0.0,-1.8342857977313916,-0.04140902263875894,0.0,7.5745014581069405,0.0,0.0,-0.2109308538560537
1730 +9.575340366319024,7.14378999761417,2.431550368704854,0.0,-1.8586930290357957,-0.1728473022390297,0.0,8.064753453662535,0.0,0.0,1.1105768752264578
1731 +5.95989647764032,5.921700742956196,0.03819573468412418,0.0,-1.837037579924976,0.1144021639248258,0.026786096644932214,7.757739379936711,0.0,0.0,-0.14018931762529924
1732 +,5.506398859768201,,0.0,-1.6930684174728912,-0.12807009789464782,-0.009634169816287258,7.403559137019279,0.0,0.0,-0.06638759206725066
1733 +4.991452474679482,6.351196788955174,-1.3597443142756918,0.0,-1.280937116793054,-0.05864521709416469,0.017324634400523453,7.522177949190206,0.0,0.0,0.15127653925166304
1734 +7.855932199718614,6.384074649157697,1.4718575505609168,0.0,-2.0504961196852936,-0.06676218935870289,0.038910719344411995,8.528142710796985,0.0,0.0,-0.06572047193970376
1735 +,6.025580494750841,,0.0,-1.599128317023772,-0.024700288298830413,0.026786096644932214,7.707493695451982,0.0,0.0,-0.08487069202346997
1736 +4.867534450455582,5.4827455244193,-0.6152110739637182,0.0,-1.5569055087163441,-0.009198578089352004,-0.012124622699479781,7.137437696720776,0.0,0.0,-0.07646346279629862
1737 +4.997212273764115,5.832337994554522,-0.8351257207904075,0.0,-1.6379277863043287,0.01329933344972583,-0.012124622699479781,7.541276430228375,0.0,0.0,-0.07218536011976888
1738 +6.628041376179533,5.187472976931922,1.4405683992476117,0.0,-2.1058587903571553,-0.12679605729002927,0.0,7.343486903382927,0.0,0.0,0.07664092119618025
1739 +6.668228248417403,5.535714797717337,1.132513450700066,0.0,-2.1858965906215095,-0.06121032191326292,0.0024904528831925232,7.981702970752906,0.0,0.0,-0.20137171338398818
1740 +7.735319709678952,5.769806563925149,1.9655131457538024,0.0,-2.4147398440110814,0.07348117036235804,0.026786096644932214,8.00227472530355,0.0,0.0,0.08200441562538988
1741 +8.342363500380579,5.7309962347732455,2.611367265607333,0.0,-1.7240922773822538,0.03231768769546617,0.038910719344411995,7.381108703901585,0.0,0.0,0.00275140121403758
1742 +5.385961876400083,7.066147475647004,-1.6801855992469212,0.0,-1.5307956294837357,0.11304111864699691,0.017324634400523453,7.6490128240558075,0.0,0.0,0.8175645280274141
1743 +,5.18720323333021,,0.0,-1.778361732119996,-0.03568188112517878,0.017324634400523453,7.207055460862579,0.0,0.0,-0.22313324868771722
1744 +8.619208116822968,6.848143782837901,1.7710643339850671,0.0,-1.2081230619987755,0.028657975264008217,0.0,8.368705490143888,0.0,0.0,-0.3410966205712229
1745 +4.556400021618662,5.079462360317206,-0.5230623386985433,0.0,-2.332385695192068,-0.1290602015173133,0.0,7.73682015360394,0.0,0.0,-0.19591189657735258
1746 +7.392647520721623,6.290313230135457,1.1023342905861666,0.0,-1.54024029005505,-0.12956066773662608,0.017324634400523453,7.692039838809439,0.0,0.0,0.25074971471717056
1747 +5.636003152234911,6.68524050937726,-1.0492373571423483,0.0,-1.4204776900199656,-0.05274570861321776,0.0,8.16813096531973,0.0,0.0,-0.009667057309287241
1748 +4.75030895165433,3.866336525491497,0.883972426162833,0.0,-5.151663615060772,-0.10774454868761307,0.0,9.0784399922403,0.0,0.0,0.047304696999584145
1749 +7.821382466770051,3.6562985305823283,4.165083936187722,0.0,-5.135625922998734,-0.0718697227932641,0.0,9.0784399922403,0.0,0.0,-0.21464581586597303
1750 +6.0167667299702,5.804274591321902,0.2124921386482983,0.0,-1.135551284825766,-0.030415809005479286,0.017324634400523453,7.185889547555948,0.0,0.0,-0.23297249680332266
1751 +4.609660091260944,5.015855728467515,-0.40619563720657137,0.0,-2.1560239828688985,-0.09298248947721703,0.017324634400523453,7.418924020678015,0.0,0.0,-0.17138645426490917
1752 +4.533459338434091,5.68360288797642,-1.150143549542329,0.0,-1.8640340336555417,-0.12135086048597932,0.0,7.762808151577783,0.0,0.0,-0.09382036945984254
1753 +5.7392139664874655,5.067463949983594,0.6717500165038714,0.0,-1.975752306638153,-0.058282242482326024,0.026786096644932214,7.318935782751917,0.0,0.0,-0.24422338029277546
1754 +5.28978103552575,5.283009895271656,0.006771140254094199,0.0,-2.060218684394358,-0.035841332649380546,0.017324634400523453,7.442091039070888,0.0,0.0,-0.08034576115601663
1755 +6.3627694494027125,3.757198440570197,2.6055710088325155,0.0,-5.0391289441688025,-0.13436558022723952,0.0,9.0784399922403,0.0,0.0,-0.14774702727406122
1756 +5.121818823056871,5.184772843084258,-0.06295402002738726,0.0,-2.1228544812492105,0.00028541688390543163,-0.012124622699479781,7.485241477530316,0.0,0.0,-0.16577494738127269
1757 +7.582738488914411,6.92056014231781,0.6621783465966011,0.0,-1.1355111840065328,-0.06829149354425304,0.04140117222760452,8.222776125363746,0.0,0.0,-0.139814477722754
1758 +,5.748707469946269,,0.0,-1.674153613886956,0.04591512964307565,-0.012124622699479781,7.51244849593906,0.0,0.0,-0.12337791904942957
1759 +,3.1955588404123803,,0.0,-5.882201871417456,0.049316481509208684,0.0,9.238202504200961,0.0,0.0,-0.20975827388033363
1760 +5.717488121712313,5.852015492738061,-0.1345273710257482,0.0,-1.5153418907894034,-0.13490579143727377,0.0,7.629193511990372,0.0,0.0,-0.126930337025634
1761 +7.473637108496206,4.402187522349739,3.071449586146467,0.0,-4.5996561734822325,-0.028936413309342268,0.038910719344411995,9.0784399922403,0.0,0.0,-0.08657060244339562
1762 +6.6785433522663205,5.109786984872813,1.5687563673935072,0.0,-3.792907262389778,-0.08230916823232788,0.0,9.0784399922403,0.0,0.0,-0.09343657674538239
1763 +9.220480783772725,4.727773424966908,4.492707358805817,0.0,-4.81508560951284,-0.09513237714887221,0.0,9.238202504200961,0.0,0.0,0.39978890742765977
1764 +9.559651267747602,-4.7028744040088,14.262525671756404,0.0,-4.633963462585576,-0.020249506871410666,0.0,0.0,0.0,0.0,-0.048661434551811274
1765 +,6.055395268838009,,0.0,-1.771260928582838,-0.224990458332521,-0.009634169816287258,7.723578493520625,0.0,0.0,0.33770233204903144
1766 +5.117274991252462,5.851128809123188,-0.7338538178707257,0.0,-2.4008593354296366,-0.07402765564846417,0.0,8.415901652931273,0.0,0.0,-0.08988585272998534
1767 +,6.146443407732949,,0.0,-1.4415346758564125,-0.10891422823005115,0.017324634400523453,7.776069328446848,0.0,0.0,-0.09650165102795809
1768 +,5.61923767643253,,0.0,-2.1373529046248523,-0.16848562380277124,0.0,8.529170438465806,0.0,0.0,-0.6040942336056523
1769 +5.169176322224807,5.664962167939903,-0.4957858457150959,0.0,-1.9926147651887165,-0.00953110237720789,0.0,7.807091492173655,0.0,0.0,-0.13998345666782924
1770 +7.687226934001511,5.806832660572779,1.880394273428732,0.0,-1.8233403811045479,-0.19998586538469743,0.0,7.9585569841787525,0.0,0.0,-0.12839807711672896
1771 +,6.000210166173493,,0.0,-1.7956995942689042,0.09955301930216298,0.017324634400523453,7.706505030291938,0.0,0.0,-0.027472923552226053
1772 +4.085303817569952,5.397290482645751,-1.311986665075799,0.0,-2.025859025103486,-0.09604394637556907,0.017324634400523453,7.635778421650977,0.0,0.0,-0.13390960192669438
1773 +5.714260718943828,5.86766404569015,-0.1534033267463215,0.0,-1.0931097456643046,-0.12188521156322547,0.026786096644932214,6.960452101658109,0.0,0.0,0.09542080461463945
1774 +,6.133574945712965,,0.0,-1.427822601513193,-0.08114734989709588,0.026786096644932214,7.269272860402001,0.0,0.0,0.3464859400763214
1775 +8.793161423946405,6.904395258668126,1.8887661652782786,0.0,-0.9126205176910327,-0.0342294119553851,0.038910719344411995,7.662839605421093,0.0,0.0,0.14949486354903843
1776 +4.624972813284271,5.413187932021834,-0.788215118737563,0.0,-1.4386602599223748,0.028768278108410865,0.026786096644932214,6.592507206633168,0.0,0.0,0.2037866105576984
1777 +4.127134385045092,2.931482230493573,1.1956521545515186,0.0,-5.756004293617153,-0.1498621977667304,0.0024904528831925232,9.0784399922403,0.0,0.0,-0.24358172324603555
1778 +4.6443908991413725,5.040641469781812,-0.3962505706404391,0.0,-1.5511857469757224,0.0008998415234065978,0.0,6.915134170403411,0.0,0.0,-0.32420679516928275
1779 +4.2626798770413155,5.38415728046367,-1.1214774034223547,0.0,-1.8208903030156876,-0.0023666342072306765,0.0,7.26005643900848,0.0,0.0,-0.052642221321892
1780 +,-3.72081405778952,,0.0,-3.6696634122944163,0.05374139673360838,0.038910719344411995,0.0,0.0,0.0,-0.14380276157312566
1781 +5.056245805348308,-5.803968214890025,10.860214020238333,0.0,-5.758242962631149,-0.04058538653295469,0.0024904528831925232,0.0,0.0,0.0,-0.007630318609114256
1782 +4.442651256490317,6.200925736236963,-1.758274479746646,0.0,-1.5482659650092874,-0.028789271011526008,0.0,7.540082254907491,0.0,0.0,0.2378987173502867
1783 +4.2626798770413155,5.187481107528611,-0.9248012304872955,0.0,-1.5605198316259692,-0.10568939335204525,0.0,6.729081394162079,0.0,0.0,0.12460893834454725
1784 +5.955837369464831,5.84929600678921,0.10654136267562109,0.0,-0.645526832920063,-0.020595764907037028,0.026786096644932214,6.768688696607531,0.0,0.0,-0.2800561886361535
1785 +2.9444389791664403,-4.984996602801901,7.929435581968341,0.0,-4.54309008613765,-0.1277149246827731,0.0024904528831925232,0.0,0.0,0.0,-0.3166820448646699
1786 +4.653960350157523,-5.499378793628445,10.153339143785967,0.0,-5.302719118544616,-0.020613626194374512,0.04140117222760452,0.0,0.0,0.0,-0.21744722111705894
1787 +4.890349128221754,-1.7420652390993203,6.632414367321074,0.0,-1.3830524339570216,0.10373539627215084,0.0,-0.4370284959087812,0.0,0.0,-0.025719705505669654
1788 +,-4.666868809388404,,0.0,-4.730532675492379,-0.011193042592446217,0.0,0.0,0.0,0.0,0.07485690869642023
1789 +,-5.87747871730218,,0.0,-5.9769019599086475,0.029895813387908407,0.029449257100003234,0.0,0.0,0.0,0.040078172118555494
1790 +,-1.6767226671309916,,0.0,-1.7018635797774886,0.08413329791386089,0.029449257100003234,-0.43492758244368784,0.0,0.0,0.3464859400763214
1791 +5.849324779946859,-3.7320321466899817,9.581356926636841,0.0,-3.923894972001728,0.018077998578556922,0.04140117222760452,0.0,0.0,0.0,0.13238365450558506
1792 +6.29156913955832,-2.557309889484824,8.848879029043145,0.0,-1.8684930662503723,-0.11128550256924433,-0.012124622699479781,-0.43430966671866034,0.0,0.0,-0.13109703124706684
1793 +,-4.0865190887061305,,0.0,-3.783876044237371,-0.033282876273040385,0.0024904528831925232,0.0,0.0,0.0,-0.2718506210789102
1794 +,-5.5432740619982255,,0.0,-5.426665171039769,-0.017616078405256672,0.04140117222760452,0.0,0.0,0.0,-0.14039398478080306
1795 +6.173786103901937,-5.289700272757862,11.463486376659798,0.0,-5.047807912082619,0.01330947252578895,0.0024904528831925232,0.0,0.0,0.0,-0.25769228608422373
1796 +4.110873864173311,-5.234217032276649,9.34509089644996,0.0,-5.19849166119265,-0.08058975492052994,0.0024904528831925232,0.0,0.0,0.0,0.042373930953340494
1797 +6.734306244691779,5.781252197409222,0.9530540472825573,0.0,-1.5927553897009163,-0.08920932409284671,0.017324634400523453,7.73973003778526,0.0,0.0,-0.293837760982798
1798 +,4.024799717155866,,0.0,-5.231070544963763,0.052524483700862025,0.0,9.238202504200961,0.0,0.0,-0.03485672578219343
1799 +6.019906220739285,5.896995791478584,0.12291042926070084,0.0,-1.8582063988455193,-0.1093221851005663,0.026786096644932214,7.909264989217418,0.0,0.0,-0.07152671043767808
1800 +8.453132422803419,-4.872651523197441,13.325783946000861,0.0,-4.641243571035965,0.02448919241347231,0.0,0.0,0.0,0.0,-0.2558971445749483
1801 +7.536939772580185,5.509563891788861,2.0273758807913236,0.0,-1.5489242936299794,-0.10062891637802879,0.029276549528124737,7.248444215333755,0.0,0.0,-0.11860366306500957
1802 +,4.474099131011407,,0.0,-2.3689698509536123,-0.03360309403514737,0.017324634400523453,6.880467136827176,0.0,0.0,-0.02111969522753332
1803 +5.624811414785207,3.68713876377573,1.9376726510094775,0.0,-5.461542085389721,-0.11577604628729472,0.0024904528831925232,9.238202504200961,0.0,0.0,0.02376393836859119
1804 +5.390987701389345,6.061323452456161,-0.6703357510668164,0.0,-1.9086828549825539,-0.06529794889376478,0.04140117222760452,8.037615071230505,0.0,0.0,-0.04371198712562721
1805 +5.049343055199305,4.807267997548944,0.24207505765036075,0.0,-2.1029523542464945,-0.1265201100298286,0.017324634400523453,7.253647709067453,0.0,0.0,-0.23423188164270953
1806 +4.284827171296749,4.616342345338605,-0.33151517404185604,0.0,-1.8854260817178128,-0.06820704676264394,0.029449257100003234,6.816963910637868,0.0,0.0,-0.27643769391880807
1807 +4.3031186995690085,5.58248346639654,-1.2793647668275314,0.0,-1.559283417444818,-0.04818585629266378,0.0,7.294208446549137,0.0,0.0,-0.10425570641511542
1808 +8.173840538927138,7.231325991823444,0.942514547103694,0.0,-1.263904511154169,-0.04299834011792328,0.03193970998319576,8.1461031766186,0.0,0.0,0.36018595649374086
1809 +,5.848271696836361,,0.0,-2.023742884551237,-0.049346352971163916,0.0,7.840687249101994,0.0,0.0,0.08067368525676788
1810 +6.165375836541966,4.109330044170034,2.0560457923719326,0.0,-4.833802364664371,-0.03084723857920292,0.029449257100003234,9.0784399922403,0.0,0.0,-0.13390960192669438
1811 +,4.931582197395985,,0.0,-1.8760656282174226,0.02017592110072154,0.017324634400523453,7.014363200198287,0.0,0.0,-0.24421593008612458
1812 +,5.509714524091328,,0.0,-1.8009004558706376,0.04064238569663225,0.019815087283715976,7.375279090199357,0.0,0.0,-0.12512158321773847
1813 +4.952299717083292,5.290260805534141,-0.3379610884508484,0.0,-2.216242758270238,-0.0333522325919487,0.029276549528124737,7.63491333963594,0.0,0.0,-0.12433409276773832
1814 +4.958148305082534,6.2230014803213445,-1.2648531752388106,0.0,-1.8810894024839175,-0.020892775564486817,0.0024904528831925232,8.368542844490106,0.0,0.0,-0.24604963900354854
1815 +,5.291087944176109,,0.0,-2.1140767500637745,0.1580054344554369,0.026786096644932214,7.512819245374076,0.0,0.0,-0.29244608223456114
1816 +5.852231214993798,5.675366442508912,0.17686477248488597,0.0,-1.3328211528311718,-0.029984657480663788,0.017324634400523453,7.249556463638805,0.0,0.0,-0.2287088452185811
1817 +,-4.475761076087664,,0.0,-4.982410076241221,-0.06657096804185725,0.0024904528831925232,0.0,0.0,0.0,0.570729515312223
1818 +,-1.989252814915469,,0.0,-1.3832362138221468,0.030150977901797597,0.0,-0.43492758244368784,0.0,0.0,-0.2012399965514309
1819 +,-1.7648643309451635,,0.0,-1.3202140259188848,0.06993047990943364,0.0,-0.5981113599557263,0.0,0.0,0.08353057502001501
1820 +,-4.135883640553918,,0.0,-4.21395996886301,-0.04885155832678688,0.0024904528831925232,0.0,0.0,0.0,0.1244374337526851
1821 +6.7226297948554485,-4.496234278819946,11.218864073675395,0.0,-4.691299420022417,0.023212042271093018,0.0,0.0,0.0,0.0,0.1718530989313789
1822 +,-2.7493551801925538,,0.0,-1.9615818172029247,-0.11964389836512859,0.017324634400523453,-0.7423105607057928,0.0,0.0,0.056856461680769854
1823 +4.890349128221754,-5.494284986087313,10.384634114309065,0.0,-5.227867565899509,0.03374255404975983,0.0,0.0,0.0,0.0,-0.3001599742375645
1824 +4.454347296253507,4.896979923766856,-0.44263262751334853,0.0,-1.7071776741296345,-0.2092200787009159,0.026786096644932214,6.554357246530326,0.0,0.0,0.23223433342214983
1825 +7.860570785538664,6.1526994459938535,1.7078713395448109,0.0,-1.9255694658995512,-0.008613965821362594,0.0,8.097033607243754,0.0,0.0,-0.010150729528985209
1826 +8.017307507688582,5.83985917638524,2.1774483313033413,0.0,-2.089908067349765,-0.06909528694847977,0.0,8.095589672012466,0.0,0.0,-0.0967271413289803
1827 +,4.6935433015867165,,0.0,-1.9932581237935514,-0.14425305449482456,0.017324634400523453,6.952429576918191,0.0,0.0,-0.13869973144362246
1828 +,4.950394872908197,,0.0,-2.368397618380043,0.1372628471152012,0.026786096644932214,7.318194283881884,0.0,0.0,-0.16345073635377727
1829 +,-5.065881058701927,,0.0,-5.45548370930886,0.14452272960957613,0.0,0.0,0.0,0.0,0.2450799209973573
1830 +,-4.868749237268206,,0.0,-4.827822494695194,0.02163044908650945,0.0024904528831925232,0.0,0.0,0.0,-0.06504764454271492
1831 +,-4.860765734417645,,0.0,-4.959069309135147,0.08581032346123893,0.0,0.0,0.0,0.0,0.012493251256261658
1832 +4.651767471364874,4.9138925433079015,-0.2621250719430277,0.0,-2.181906713330183,-0.01221871620292142,0.017324634400523453,7.235050917529597,0.0,0.0,-0.14435757908911526
1833 +4.8757315316314545,5.645159460697815,-0.7694279290663602,0.0,-2.361149832092848,-0.09069722084950793,-0.012124622699479781,7.562950899544925,0.0,0.0,0.5461802367947256
1834 +4.738564069158622,4.703260441200089,0.035303627958533035,0.0,-3.285489022103226,-0.06346348701930485,0.038910719344411995,8.093534216674824,0.0,0.0,-0.08023198569661544
1835 +8.225786859176948,4.0869165710069995,4.138870288169948,0.0,-5.074065652468797,0.005156527181453825,0.038910719344411995,9.238202504200961,0.0,0.0,-0.12128752725102862
1836 +4.8895969657192,5.413163360290351,-0.5235663945711515,0.0,-1.687972613570646,-0.04032993459214328,0.019815087283715976,7.325231799279644,0.0,0.0,-0.2035809781102169
1837 +7.055312843339752,5.153015434314695,1.9022974090250564,0.0,-2.3397782855234786,-0.034955237796830144,0.038910719344411995,7.218503795215266,0.0,0.0,0.2703344430753256
1838 +5.3785600542242396,6.313520371764519,-0.9349603175402796,0.0,-1.778426004278149,-0.08764588595692013,0.04140117222760452,7.957691902163714,0.0,0.0,0.1804991876082694
1839 +6.297275052055962,6.876029579817271,-0.5787545277613084,0.0,-1.627534589888918,-0.038023145533180404,0.029449257100003234,8.529170438465806,0.0,0.0,-0.01703238032644016
1840 +5.474411238170585,5.84712641856867,-0.3727151803980844,0.0,-2.4486896047492337,-0.11195812216982023,0.029449257100003234,8.60368906209316,0.0,0.0,-0.22536417370543718
1841 +6.435188367333237,6.273112230921596,0.16207613641164098,0.0,-1.6209986646774714,-0.056647671067294,0.0,7.934799432382983,0.0,0.0,0.015959134283379556
1842 +6.844197609985125,6.281150042699695,0.5630475672854303,0.0,-1.7360392087513548,-0.13771560061375343,0.0,8.033946639389118,0.0,0.0,0.120958212675685
1843 +,7.687629290732312,,0.0,-0.7145506910407713,0.060945208333528164,0.0024904528831925232,8.368705490143888,0.0,0.0,-0.0299611695875244
1844 +5.723585101952381,5.787744398103404,-0.0641592961510229,0.0,-2.5274559277979343,-0.031914593509675834,0.0,8.60368906209316,0.0,0.0,-0.25657414268214546
1845 +5.646329899908116,5.86457820551583,-0.21824830560771424,0.0,-1.6580997671231819,-0.008092824157523063,0.029449257100003234,7.540747632717242,0.0,0.0,-0.03942609302071068
1846 +5.491455215775841,5.281414043111379,0.21004117266446176,0.0,-1.487271193130467,-0.02105590602860553,0.029449257100003234,6.769696879695711,0.0,0.0,-0.00940499452526071
1847 +5.645376223767807,5.674413866848201,-0.029037643080394027,0.0,-1.527318657362895,-0.14714302725874012,0.0,7.469554583174716,0.0,0.0,-0.12067903170487895
1848 +5.687415937235904,5.740169210026641,-0.052753272790737604,0.0,-1.9461200285357423,-0.042095799904409835,0.0,7.969533770815661,0.0,0.0,-0.24114873234886722
1849 +,6.4294800877699565,,0.0,-1.072167825569898,0.005562291927787039,0.0024904528831925232,7.452781072473318,0.0,0.0,0.04081409605555816
1850 +,6.196464986816579,,0.0,-1.2499741589611215,0.182059564588494,0.026786096644932214,7.02600345245028,0.0,0.0,0.21159003209399427
1851 +,5.410582596629827,,0.0,-1.7199144862586397,-0.1446453247014663,0.017324634400523453,7.228972610168964,0.0,0.0,0.028845163020446325
1852 +,4.893409611824222,,0.0,-1.9326403104985372,-0.06288232864420014,0.038910719344411995,7.022216110638322,0.0,0.0,-0.1721945790157755
1853 +6.666956792429207,5.76097412877702,0.9059826636521864,0.0,-1.4638552440080597,-0.2037188753294515,0.017324634400523453,7.45021550909919,0.0,0.0,-0.0389918953851832
1854 +5.8664680569332965,5.020276120931089,0.8461919360022074,0.0,-2.0925876305674036,-0.07664818544827785,0.017324634400523453,7.342573082629737,0.0,0.0,-0.1703857800834899
1855 +7.730174795246222,7.1021249106296676,0.6280498846165541,0.0,-0.6900772371800974,0.049241222325847954,-0.009634169816287258,7.776687244171876,0.0,0.0,-0.0240921488716708
1856 +5.926926025970411,5.489938057163549,0.43698796880686164,0.0,-1.5615104777724298,-0.01061281524806982,0.038910719344411995,7.126317413721211,0.0,0.0,-0.10316678288157509
1857 +7.845024417241484,6.089760502520067,1.7552639147214162,0.0,-2.6712048397062667,-0.02945922509917502,0.0,8.529170438465806,0.0,0.0,0.26125412885970295
1858 +,5.066618068040159,,0.0,-1.6455791783507836,0.08316329704436737,0.029449257100003234,6.831841012651311,0.0,0.0,-0.2322563204047376
1859 +4.890349128221754,4.473494720893311,0.4168544073284428,0.0,-2.093973466479988,-0.06736392380949223,0.017324634400523453,6.8447607870988865,0.0,0.0,-0.22725331031661747
1860 +4.30406509320417,4.755210663013257,-0.4511455698090865,0.0,-2.606721636876153,-0.09586474878771557,0.017324634400523453,7.691051173649395,0.0,0.0,-0.2505787593727936
1861 +4.02535169073515,4.520348466724544,-0.49499677598939407,0.0,-2.3966422125228037,-0.12424195818711284,0.017324634400523453,7.099275413611687,0.0,0.0,-0.07536741057774815
1862 +6.400257445308821,8.072793945656944,-1.672536500348123,0.0,0.30842237055186317,-0.14418033446983264,-0.012124622699479781,7.949660307232322,0.0,0.0,-0.028983774957927838
1863 +4.605170185988092,5.462925074337163,-0.8577548883490715,0.0,-2.4527960114530023,0.06944187952450201,0.019815087283715976,7.99718864423207,0.0,0.0,-0.17072452525012122
1864 +7.29505641646263,7.446761389863071,-0.15170497340044076,0.0,-0.7777817291916529,-0.09017850502354358,0.0024904528831925232,8.368705490143888,0.0,0.0,-0.05647431894881444
1865 +,5.009879354028962,,0.0,-2.2127275627897447,0.0018067423198125376,0.019815087283715976,7.307098873983185,0.0,0.0,-0.10611378676800698
1866 +4.48863636973214,4.80039244572884,-0.3117560759967004,0.0,-2.152676588083394,0.017283758083101865,0.026786096644932214,7.091484652264007,0.0,0.0,-0.18248547317980587
1867 +,6.45277321087446,,0.0,-1.4035441852669006,-0.0988258817681044,0.0,8.054329271982523,0.0,0.0,-0.09918599407305714
1868 +,6.111142339592613,,0.0,-1.3261127721620953,0.024170619507696153,0.017324634400523453,7.283535115488411,0.0,0.0,0.11222474235807584
1869 +,5.871758145205563,,0.0,-2.1226669629599835,-0.03140712247208703,0.0,8.280781835129236,0.0,0.0,-0.25494960449160314
1870 +,5.905102505279345,,0.0,-2.057268239624089,0.06672512522595478,0.0,8.1461031766186,0.0,0.0,-0.2504575569411217
1871 +4.867534450455582,4.8635086567900965,0.004025793665485722,0.0,-1.7774186534620666,-0.13859247159078653,0.038910719344411995,6.8864160770276355,0.0,0.0,-0.14580701452909775
1872 +8.199738960630786,7.234350603172207,0.9653883574585782,0.0,-1.9427298709284262,0.06863742610308453,0.0,8.167226820795916,0.0,0.0,0.9412162272016327
1873 +5.2574953720277815,4.7905230341155525,0.46697233791222903,0.0,-2.189132400473622,-0.14589602011896413,0.026786096644932214,6.98053189093603,0.0,0.0,0.11823346712717572
1874 +4.983606621708336,5.628763522334467,-0.6451569006261311,0.0,-1.8712045633798589,0.04330316546959022,0.0024904528831925232,7.595032625574285,0.0,0.0,-0.14085815821274028
1875 +,6.04016560847717,,0.0,-2.144060089069459,0.05692629771294847,0.0024904528831925232,8.036789051724245,0.0,0.0,0.08801989522624445
1876 +4.3694478524670215,4.665382600023848,-0.29593474755682614,0.0,-1.8595435102741709,0.01868232966690731,0.017324634400523453,6.720882141498371,0.0,0.0,-0.23196299526778388
1877 +,5.846485948533134,,0.0,-1.4924446723969913,-0.059324966973714637,0.0,7.501831879571052,0.0,0.0,-0.10357629166721216
1878 +,5.374345001624572,,0.0,-1.3226139862018682,-0.07182266770632904,0.026786096644932214,6.875881482232692,0.0,0.0,-0.13388592334485466
1879 +5.541263545158426,6.057141620208922,-0.5158780750504963,0.0,-1.797882186085575,-0.011959367588246688,0.0,7.903668744716855,0.0,0.0,-0.03668557083411059
1880 +5.332718793265369,4.650660661242125,0.6820581320232435,0.0,-2.0049765085457105,0.016260515376431306,0.017324634400523453,6.853943094459821,0.0,0.0,-0.23189107444893853
1881 +,6.257293986188813,,0.0,-0.8849614029082682,-0.07501052009467933,0.038910719344411995,7.129948986307834,0.0,0.0,0.048406203539513165
1882 +7.530479995245536,5.16764047894003,2.362839516305506,0.0,-4.098389612908768,0.08534987775898001,0.0024904528831925232,9.238202504200961,0.0,0.0,-0.0600127429943349
1883 +6.184148890937483,5.624020216527687,0.5601286744097962,0.0,-1.5164435597416874,-0.048588573744066485,0.026786096644932214,7.329764534213308,0.0,0.0,-0.1674982808448015
1884 +5.14166355650266,5.4292381841112185,-0.28757462760855823,0.0,-2.0188775313977256,-0.06170583833059562,0.0,7.504477285827236,0.0,0.0,0.005344268012302755
1885 +7.403061091090091,7.0078140942495875,0.3952469968405037,0.0,-1.510077479087152,0.09731197228177088,0.038910719344411995,8.00227472530355,0.0,0.0,0.37939415640700425
1886 +8.197814032221203,6.688026555924495,1.509787476296708,0.0,-1.1416408121288866,0.02996230555855984,0.0,7.677712359048899,0.0,0.0,0.12199270344592258
1887 +5.135798437050262,4.9518525281093915,0.1839459089408706,0.0,-1.6131406393321415,-0.012706677580921012,0.026786096644932214,6.671432390111547,0.0,0.0,-0.12051864173402495
1888 +,4.912951825837497,,0.0,-2.030114382276664,-0.051726072575423554,0.017324634400523453,7.055235950112725,0.0,0.0,-0.0777683038236651
1889 +4.812184355372417,4.718176996625007,0.09400735874740995,0.0,-2.001819963262383,-0.02983518054770374,0.0,6.941772933575807,0.0,0.0,-0.19194079314071247
1890 +,5.702610699660585,,0.0,-1.7482724387648707,-0.05677904436856716,0.0,7.653977371352466,0.0,0.0,-0.14631518855844217
1891 +,5.381270635623113,,0.0,-1.8248572320343186,-0.02344749663582822,0.017324634400523453,7.411418596867238,0.0,0.0,-0.19916786697449995
1892 +,-3.2307386263692406,,0.0,-2.434925937042477,0.04060116590313918,0.026786096644932214,-0.7426813101408093,0.0,0.0,-0.12051864173402495
1893 +,-5.92467247050894,,0.0,-5.71823357916635,-0.052882009185543616,0.0,0.0,0.0,0.0,-0.15355688215704433
1894 +,-5.85776923389596,,0.0,-5.667643625691682,0.06929266667237483,0.0,0.0,0.0,0.0,-0.25941827487665375
1895 +5.391306673390865,5.448983094269069,-0.05767642087820413,0.0,-2.1000185693593085,-0.1019960908097257,0.017324634400523453,7.4592525319773815,0.0,0.0,0.17442058806019833
1896 +4.87152647172512,4.533349153544421,0.3381773181806986,0.0,-2.523221634698383,-0.07061463504653284,0.017324634400523453,7.396205574210614,0.0,0.0,-0.2863447853218011
1897 +6.561963752359589,6.290968684880821,0.27099506747876845,0.0,-1.2068156958205583,-0.0024388905030933543,0.0,7.60470628872925,0.0,0.0,-0.10448301752477504
1898 +7.629538506078414,6.630170414373772,0.9993680917046417,0.0,-1.5095728110163025,-0.10118059936743348,0.0,8.371014507390216,0.0,0.0,-0.1300906826327062
1899 +4.343805421853684,5.467388107549205,-1.1235826856955207,0.0,-1.9541965729541309,0.05006636172628886,0.0024904528831925232,7.574007125526919,0.0,0.0,-0.20497925963306463
1900 +8.280680672363074,7.112683112570425,1.1679975597926493,0.0,-1.3186036011588405,0.12237360815864244,0.0,8.529170438465806,0.0,0.0,-0.22025733289518348
1901 +5.172640758460035,6.076340194023357,-0.9036994355633219,0.0,-1.2672644313164039,0.0012242056241416402,0.017324634400523453,7.476386659125333,0.0,0.0,-0.1513308738102371
1902 +4.770006428441026,6.546776916173412,-1.776770487732386,0.0,-2.042725145280208,0.027236236716126322,0.0,8.166361738780877,0.0,0.0,0.39590408595661697
1903 +5.612726565927474,4.760102138677382,0.8526244272500918,0.0,-2.1077252656427676,-0.07990315149813247,0.0,7.14649094713844,0.0,0.0,-0.19876039132015744
1904 +5.160146657489371,5.422391513345866,-0.2622448558564958,0.0,-2.2797906994870347,0.10608595367341861,-0.012124622699479781,7.647282660025731,0.0,0.0,-0.039061778166770006
1905 +5.213249554157973,5.694426632661937,-0.48117707850396396,0.0,-2.111884918729376,-0.07056417701974345,0.0,8.064753453662535,0.0,0.0,-0.18787772525147875
1906 +4.783818337415737,6.189727276147381,-1.4059089387316437,0.0,-1.9430120529205546,0.006781555060213981,0.029449257100003234,8.030237282343107,0.0,0.0,0.06627123456461262
1907 +5.499542453761224,5.692323409390777,-0.19278095562955322,0.0,-2.1055382565293597,-0.08891660551475683,0.0,8.109478440835934,0.0,0.0,-0.22270016940104062
1908 +9.003193193746572,6.056058279895773,2.9471349138507987,0.0,-2.043044316486802,0.028994864119813057,0.029449257100003234,8.256548952914406,0.0,0.0,-0.21589047775164338
1909 +,4.113418770501543,,0.0,-5.096068477950249,-0.13073878147205215,0.0,9.238202504200961,0.0,0.0,0.10202352572288395
1910 +5.043425116919247,5.319976704085842,-0.2765515871665949,0.0,-2.063923435794245,-0.03796182418127922,0.017324634400523453,7.383244082297789,0.0,0.0,0.02129324736305159
1911 +5.003946305945459,5.750759973519793,-0.746813667574334,0.0,-1.7503347044576278,-0.15506762782717412,0.017324634400523453,7.662839605421093,0.0,0.0,-0.024001934017018278
1912 +,6.270183276159578,,0.0,-1.8924666901907568,-0.1761714052308943,0.0,8.368705490143888,0.0,0.0,-0.029884118562660985
1913 +5.318119993844216,4.999986398837463,0.31813359500675276,0.0,-4.019080716057488,0.027885484556860435,0.0,9.0784399922403,0.0,0.0,-0.08725836190220745
1914 +5.220355825078324,5.189329543336224,0.031026281742100537,0.0,-2.171572948365468,-0.1790795677581699,0.026786096644932214,7.740842286090309,0.0,0.0,-0.22764632327538045
1915 +5.204006687076795,4.7012706497972205,0.5027360372795746,0.0,-1.9246321724156585,-0.2684065030315114,0.026786096644932214,7.012520210822082,0.0,0.0,-0.14499698222262422
1916 +,5.880337711644524,,0.0,-1.3328045872012364,0.1146940385673049,0.029449257100003234,7.247826299608728,0.0,0.0,-0.1788272964302771
1917 +6.103542450513332,5.947880357130163,0.15566209338316916,0.0,-1.3712071591635775,-0.06526151554193213,0.038910719344411995,7.394969742760559,0.0,0.0,-0.04953143026929638
1918 +3.8571443439181565,6.0064847852467445,-2.149340441328588,0.0,-2.2482028850798876,-0.05064002319838455,0.0,8.32830968484286,0.0,0.0,-0.022981991317844175
1919 +6.766802127398923,6.282214039962051,0.48458808743687154,0.0,-1.8331973129391974,0.044333076931428746,0.029449257100003234,7.85857300810844,0.0,0.0,0.18305601076137645
1920 +,5.826295094878384,,0.0,-1.3827186261827,-0.04494055098100976,0.04140117222760452,7.383255583784398,0.0,0.0,-0.1707024839699079
1921 +6.603537237890257,-5.3316017675324145,11.935139005422672,0.0,-5.209506387342814,0.03273921980195708,0.0,0.0,0.0,0.0,-0.15483459999155783
1922 +4.8895969657192,5.321013775171154,-0.43141680945195393,0.0,-1.687972613570646,-0.13247951971134025,0.019815087283715976,7.325231799279644,0.0,0.0,-0.2035809781102169
1923 +,5.685167859302616,,0.0,-2.9455024475350955,0.009863182161578471,0.029449257100003234,8.385559767161364,0.0,0.0,0.20579810041476643
1924 +5.455919227051527,5.801203995144072,-0.3452847680925455,0.0,-1.5097579192336097,-0.022991143126816545,0.038910719344411995,7.151852790928522,0.0,0.0,0.14318954723156527
1925 +8.332019571353657,6.062843679810552,2.269175891543105,0.0,-1.3666543084640947,-0.0743449978305962,0.0,7.794077106820913,0.0,0.0,-0.29023412071566723
1926 +,6.019963364281106,,0.0,-1.9648057181549934,-0.0005643732451753765,-0.009634169816287258,8.036789051724245,0.0,0.0,-0.04182142622668222
1927 +,5.65455208215337,,0.0,-2.288936813070296,0.09356798623020027,0.026786096644932214,7.859206353747091,0.0,0.0,-0.036071541398556645
1928 +6.91752737613084,4.456680742183563,2.460846633947277,0.0,-4.572808480668433,0.043341439654360076,0.0024904528831925232,9.238202504200961,0.0,0.0,-0.25454517388651743
1929 +5.377913820819179,4.96668126895424,0.41123255186493957,0.0,-1.8381131008454137,-0.08969878113139847,0.026786096644932214,6.858785166836273,0.0,0.0,0.008921887449846067
1930 +4.564348191467836,5.954857042626434,-1.3905088511585975,0.0,-2.0012488445501164,-0.031571522547699266,0.026786096644932214,8.00227472530355,0.0,0.0,-0.041383412224233765
1931 +,3.4811889590654146,,0.0,-5.23607674553439,-0.06888926923216619,0.0,9.0784399922403,0.0,0.0,-0.29228501840832966
1932 +5.937958279584841,5.686739058506481,0.2512192210783599,0.0,-1.7213219545836598,0.04519043147368229,0.017324634400523453,7.513066411664087,0.0,0.0,-0.1675204644481513
1933 +7.01580218306527,6.942989112391942,0.07281307067332854,0.0,-0.7292221088798465,-0.10718567432851864,0.0,8.00886278593909,0.0,0.0,-0.2294658903387879
1934 +,5.8424977015038895,,0.0,-1.696757187729684,-0.1458214127932371,0.017324634400523453,7.722960577795597,0.0,0.0,-0.05520891016930981
1935 +5.7985773702092445,5.711167229728056,0.08741014048118867,0.0,-1.7319619255275978,-0.07943189727452714,0.026786096644932214,7.610719519929885,0.0,0.0,-0.11494456404463615
1936 +5.603188359420499,4.837519774380178,0.7656685850403209,0.0,-1.8982847832695668,-0.18399046513548256,0.019815087283715976,6.889750547569616,0.0,0.0,0.01022938793189683
1937 +6.2877470297789335,5.189329450934103,1.0984175788448303,0.0,-1.8855443622515695,-0.08372911454125026,0.0,7.2987619162095285,0.0,0.0,-0.14015898848260477
1938 +,7.262289299675044,,0.0,-0.6848868107845965,-0.007398075079581214,-0.009634169816287258,7.99718864423207,0.0,0.0,-0.03298028887656099
1939 +7.424570926680338,5.965603047060312,1.458967879620026,0.0,-1.7826602973368368,0.019402229438207897,0.0,7.720551108471027,0.0,0.0,0.008310006487914329
1940 +7.544707698886281,4.742069016052778,2.8026386828335035,0.0,-2.53503814931904,0.012527991657007922,0.0,7.374901974949108,0.0,0.0,-0.11032280123429818
1941 +4.564348191467836,5.078175851759264,-0.5138276602914278,0.0,-1.6690794670376379,0.00369284822342366,0.0024904528831925232,6.760130888425332,0.0,0.0,-0.019058870735045058
1942 +,5.236815627577542,,0.0,-2.199690638947505,-0.010525169851748,0.026786096644932214,7.586832034485701,0.0,0.0,-0.16658669475383625
1943 +,5.446898555199504,,0.0,-2.0477284956442556,0.08641458983098692,0.017324634400523453,7.586461285050683,0.0,0.0,-0.19557345843843485
1944 +,5.492631486334823,,0.0,-2.203309168302786,0.06252422857375287,0.017324634400523453,7.859206353747091,0.0,0.0,-0.2431145620837588
1945 +6.45833828334479,5.975373350621125,0.4829649327236645,0.0,-2.4883453138581624,-0.11479133562748103,0.0,8.629475351904443,0.0,0.0,-0.05096535179767345
1946 +5.152482018324492,5.842823048478679,-0.6903410301541868,0.0,-2.0723012728539603,-0.0251587873280399,0.0,8.065742118822579,0.0,0.0,-0.12545901016190134
1947 +,5.857090073433337,,0.0,-2.0657544669596213,-0.14210943474139068,0.0,7.936366950759277,0.0,0.0,0.12858702437507155
1948 +4.539564428890097,4.87094337812747,-0.3313789492373731,0.0,-2.04605442792269,-0.11869050237614051,0.026786096644932214,7.088558120228088,0.0,0.0,-0.07965590844671759
1949 +5.458393314394671,5.358067563296653,0.10032575109801822,0.0,-2.027513481748591,-0.06053177497388271,0.029276549528124737,7.662468855986076,0.0,0.0,-0.24563258549507527
1950 +9.15794225697272,6.140926770171994,3.0170154868007266,0.0,-1.4369950402691218,-0.18702276597074186,-0.012124622699479781,7.776687244171876,0.0,0.0,0.0003819549394623589
1951 +5.568726110329361,5.9580855927587635,-0.3893594824294029,0.0,-1.60268034222101,-0.020306768902998856,0.0,7.822109987350824,0.0,0.0,-0.2410372834680499
1952 +5.224024761966182,4.567649354037951,0.6563754079282305,0.0,-2.2482975432176433,-0.191399129563719,0.0,7.6381283240238815,0.0,0.0,-0.6307822972045704
1953 +4.911330479685645,5.0596167559030105,-0.14828627621736512,0.0,-1.9427001100180448,-0.14062486051378084,0.017324634400523453,7.325231799279644,0.0,0.0,-0.19961470724532998
1954 +,6.597357620659668,,0.0,-1.4251812598729368,-0.1455613041629802,0.04140117222760452,8.222776125363746,0.0,0.0,-0.09607711289576334
1955 +7.81442790481035,6.059835620948518,1.7545922838618324,0.0,-2.5045772987974164,-0.08788187962217309,0.03193970998319576,8.368542844490106,0.0,0.0,0.25181224489480614
1956 +4.5529290741424004,4.9125507307474745,-0.35962165660507406,0.0,-1.3146872239246887,-0.013546440457305561,0.026786096644932214,6.511917044440897,0.0,0.0,-0.29791874595635826
1957 +4.254477313726906,5.35021549544357,-1.0957381817166638,0.0,-1.7066552523208838,-0.1515581005047909,0.029449257100003234,7.374166841894308,0.0,0.0,-0.19518725072506582
1958 +4.991452474679482,5.378741913085376,-0.3872894384058938,0.0,-2.12849118777429,-0.027154162012894188,0.017324634400523453,7.531412244833739,0.0,0.0,-0.01434961636170388
1959 +3.819469023817538,5.354831337719142,-1.5353623139016044,0.0,-2.7790106667205414,-0.0632209273732384,0.0,8.36899811456135,0.0,0.0,-0.1719351827484292
1960 +,6.0607930632946125,,0.0,-1.2316786037188168,0.10237068286715165,0.029276549528124737,6.9857985242959195,0.0,0.0,0.1750259103222346
1961 +7.618521331630536,5.4550693055532795,2.1634520260772563,0.0,-2.4850231573672845,-0.018105290154866602,0.0,8.002388028873966,0.0,0.0,-0.04419027579853536
1962 +7.621454805728808,-4.187147002526971,11.80860180825578,0.0,-4.436142010000404,0.09306127489408307,0.04140117222760452,0.0,0.0,0.0,0.11453256035174506
1963 +9.216972331834231,6.17764862349108,3.0393237083431517,0.0,-1.7621651947637185,-0.17013646011978972,0.0,8.210634079704526,0.0,0.0,-0.10068380132993848
1964 +7.229121129398626,7.51364277938124,-0.2845216499826142,0.0,-0.6681853306629337,0.027527880768902196,0.04140117222760452,8.134852470349093,0.0,0.0,-0.021953413301424612
1965 +,7.313946960552844,,0.0,-0.6313817675086169,-0.05995321952881279,0.0024904528831925232,8.368705490143888,0.0,0.0,-0.36591399543680797
1966 +4.941713848629834,5.841442122984934,-0.8997282743551,0.0,-2.2795391757543895,-0.1832516458113887,0.038910719344411995,7.860377237622609,0.0,0.0,0.40494498758369085
1967 +6.565264970035361,6.79630076444698,-0.2310357944116186,0.0,-1.511361822537622,-0.04476861078154323,0.038910719344411995,8.529170438465806,0.0,0.0,-0.21564996004407125
1968 +7.702131452200457,6.464206627417921,1.237924824782536,0.0,-1.611198342346417,-0.10582707768217739,0.0,8.368705490143888,0.0,0.0,-0.18747344269737212
1969 +,6.339545841126143,,0.0,-1.4493078241787183,0.10833689790397,0.0024904528831925232,7.42557109487135,0.0,0.0,0.25245521964634987
1970 +,5.2649588294532546,,0.0,-1.8215617884390083,-0.18221476447580537,0.0,7.379996471206005,0.0,0.0,-0.11126108883793785
1971 +,4.756117456182694,,0.0,-2.122740651527817,-0.09499028132962989,0.017324634400523453,7.014363200198287,0.0,0.0,-0.05783944555866913
1972 +6.62087288670092,6.192842510077063,0.4280303766238571,0.0,-1.5321169853464838,-0.04388330712355948,0.0,7.808574489913721,0.0,0.0,-0.039731687366613797
1973 +8.212204893063756,6.03959303398114,2.1726118590826164,0.0,-2.2973311807079195,-0.07975477611531885,0.0,8.689511803642718,0.0,0.0,-0.27283281283833893
1974 +8.245494698265654,6.15226740427516,2.093227293990494,0.0,-2.0718921761010227,0.0909724494143718,0.0,8.20915108196446,0.0,0.0,-0.0759639510026479
1975 +8.491054533806542,6.117394660688928,2.3736598731176146,0.0,-1.5240491705088486,0.0386918178085267,0.0,7.633479859556787,0.0,0.0,-0.03072784616753882
1976 +4.704925019125084,4.856508224204599,-0.15158320507951473,0.0,-2.2047326662361417,-0.11715226022467407,0.038910719344411995,7.189584431486167,0.0,0.0,-0.050102000165163176
1977 +5.623150704630611,5.2557067095073755,0.3674439951232351,0.0,-1.8415225913002535,0.03153512561830129,0.017324634400523453,7.098410331596648,0.0,0.0,-0.05004079080784377
1978 +,5.153817315633432,,0.0,-2.006366465024338,-0.0835315361814783,0.017324634400523453,7.503324259750442,0.0,0.0,-0.27693357731171697
1979 +5.653365988742185,5.472327967653411,0.18103802108877431,0.0,-1.664097860584583,0.0011496021858540748,-0.012124622699479781,7.29472806442203,0.0,0.0,-0.14732721567040966
1980 +,4.566910525859729,,0.0,-2.146371283866883,-0.23231963096869443,0.026786096644932214,7.101545356342906,0.0,0.0,-0.18273001229253064
1981 +5.343577497952901,5.499550853028136,-0.15597335507523535,0.0,-1.687110030141607,-0.029066336720920235,0.029276549528124737,7.5639395647049685,0.0,0.0,-0.37748889434242994
1982 +6.609025740711332,6.033753265004842,0.5752724757064902,0.0,-1.5197627617235634,-0.11282837739304188,0.0,7.7619430695627445,0.0,0.0,-0.0955986654412969
1983 +6.582772781775894,5.8412434750092075,0.7415293067666866,0.0,-1.166747383624756,0.03370908157499026,0.017324634400523453,7.229714109038997,0.0,0.0,-0.27275696638054514
1984 +8.030503928000046,6.142973324708239,1.8875306032918067,0.0,-2.090943001490486,-0.03136176709331158,0.017324634400523453,8.193544643000152,0.0,0.0,0.05440881589136318
1985 +7.621454805728808,7.504822471769003,0.11663233395980477,0.0,-0.9391587620729309,0.047034607376881324,0.04140117222760452,8.134852470349093,0.0,0.0,0.2206929838883561
1986 +4.525477417078843,6.2341464902308195,-1.7086690731519765,0.0,-1.8851858524559386,-0.03155875322254605,0.0,7.855607012628308,0.0,0.0,0.29528408328099753
1987 +,5.040776220853716,,0.0,-2.4041430356776523,-0.11453192289221617,0.0,7.72270344566868,0.0,0.0,-0.16325226624509556
1988 +5.632680237163052,6.923785095511085,-1.2911048583480325,0.0,-1.067398158567257,0.0533409241526316,0.029276549528124737,7.740842286090309,0.0,0.0,0.16772349430727498
1989 +7.406315995328056,6.768278739357273,0.638037255970783,0.0,-1.3296213829062475,-0.15208590514157497,0.0,8.308669038405613,0.0,0.0,-0.05868301100051737
1990 +,4.740257427458308,,0.0,-2.40333183887941,-0.08479869704751361,0.026786096644932214,7.331494698243385,0.0,0.0,-0.12989283150308797
1991 +5.0747987449037435,5.055346025102675,0.019452719801068774,0.0,-2.0180506778879126,0.012066605001551586,0.038910719344411995,7.095754838992251,0.0,0.0,-0.07333546034762871
1992 +6.4605615154609195,4.161677641092923,2.2988838743679967,0.0,-5.074949516830932,0.013359237947491245,0.029449257100003234,9.238202504200961,0.0,0.0,-0.04438384132459873
1993 +6.433325870407437,5.1361728052697835,1.2971530651376533,0.0,-1.7225962857912815,-0.08387095265855611,0.029449257100003234,7.016472096992067,0.0,0.0,-0.10328131037244961
1994 +5.671465873179658,5.914241502451195,-0.24277562927153706,0.0,-1.5723977036551995,0.001159007844686137,0.019815087283715976,7.253647709067453,0.0,0.0,0.21201740191054005
1995 +4.525477417078843,4.853051842047874,-0.3275744249690309,0.0,-2.587572304110725,-0.02426787821507426,0.026786096644932214,7.692534171389461,0.0,0.0,-0.2544282436607193
1996 +5.282340412024896,5.362456324071459,-0.08011591204656376,0.0,-1.6703186499930087,-0.10073970111956285,0.038910719344411995,7.25111532555368,0.0,0.0,-0.156511369714063
1997 +,-5.506393053630012,,0.0,-5.61864643909381,-0.07016642625627638,0.029449257100003234,0.0,0.0,0.0,0.15297055462007186
1998 +,-2.544682186759255,,0.0,-1.9385584590574645,-0.02736784471718958,0.029449257100003234,-0.4356690813137208,0.0,0.0,-0.17253605877088354
1999 +,-2.565136245520946,,0.0,-1.660609325154839,0.03866214805303374,0.029449257100003234,-0.7423105607057928,0.0,0.0,-0.23032776481335118
2000 +,-5.074415818138829,,0.0,-4.834436027942825,-0.055416135061877245,0.0024904528831925232,0.0,0.0,0.0,-0.18705410801732003
2001 +,-3.036012072361127,,0.0,-2.4234420726342263,-0.07779059465365229,0.0,-0.4364105801837537,0.0,0.0,-0.09836882488949394
2002 +,-3.2421460972737153,,0.0,-2.3934085678913375,0.010528748284603213,0.017324634400523453,-0.7426813101408093,0.0,0.0,-0.13390960192669438
2003 +,-5.144822656081784,,0.0,-5.461476376716176,0.03373912530324595,0.0,0.0,0.0,0.0,0.2829145953311449
2004 +4.204692619390966,-2.9681241071483204,7.172816726539287,0.0,-2.657828420605524,0.00558680633202123,0.0,-0.276687130731869,0.0,0.0,-0.03919536214294875
2005 +4.394449154672439,-3.2314288049885334,7.625877959660972,0.0,-2.104030102738508,-0.05598742043154152,0.0,-0.5976170273757043,0.0,0.0,-0.47379425444277934
2006 +,-3.0307307489004547,,0.0,-2.0108860973542972,0.016616814145919194,0.029276549528124737,-0.7423105607057928,0.0,0.0,-0.32342745451440874
2007 +,-2.598509287427447,,0.0,-1.9242825995392634,-0.06846432615921576,0.029449257100003234,-0.4357926644587263,0.0,0.0,-0.19941895437024376
2008 +,-2.4073104783166284,,0.0,-1.55880372082754,0.012735137021147841,-0.012124622699479781,-0.7423105607057928,0.0,0.0,-0.10680671110496176
2009 +,-2.6173996916920017,,0.0,-2.1407718062276535,0.08879676912118699,0.038910719344411995,-0.5978641936657153,0.0,0.0,-0.006471180264231199
2010 +5.204006687076795,5.642113725953056,-0.4381070388762609,0.0,-1.93722722606749,-0.0305636668834667,0.017324634400523453,7.740842286090309,0.0,0.0,-0.14826230158681966
2011 +5.030437921392435,4.7814822862251045,0.24895563516733077,0.0,-2.443138851557168,0.0629501460581454,0.017324634400523453,7.330382449938336,0.0,0.0,-0.18603609261473128
2012 +5.25227342804663,6.011285814721402,-0.7590123866747724,0.0,-1.682764076691166,-0.006054079029434348,0.029449257100003234,7.6786063400572155,0.0,0.0,-0.007951626715213406
2013 +,6.31851464416861,,0.0,-1.7825714403021697,0.06529657844088503,0.0,8.049180466222564,0.0,0.0,-0.013390960192669438
2014 +4.465908118654584,4.4721210012780634,-0.006212882623479743,0.0,-2.3984526535837523,-0.015868121361213808,0.038910719344411995,6.927568441893596,0.0,0.0,-0.08003738501497748
2015 +7.776954403322442,4.8782989418505,2.898655461471942,0.0,-4.096583831985468,-0.12449143180804191,0.0024904528831925232,9.0784399922403,0.0,0.0,0.01844376052051863
2016 +4.836281906951478,5.278261427291736,-0.4419795203402579,0.0,-2.4388929375675747,-0.09230324472591978,0.0,7.916585291126586,0.0,0.0,-0.1071276815413555
2017 +8.871785969150645,5.30115841169719,3.570627557453455,0.0,-2.4133485478878525,-0.020862448448627738,0.0024904528831925232,8.00065786484389,0.0,0.0,-0.2677789096934132
2018 +5.594711379601839,5.209674553003892,0.3850368265979469,0.0,-1.9560353532880326,-0.12074740224402862,0.026786096644932214,7.44258537165091,0.0,0.0,-0.18291415975988762
2019 +4.718498871295094,5.554481200410136,-0.8359823291150414,0.0,-2.1574541029550787,-0.17104970625785126,0.0,7.855938699554548,0.0,0.0,0.02704631006851746
2020 +6.656726524178391,6.279189118996784,0.3775374051816076,0.0,-2.0445582256110804,0.022794433464692825,0.0,8.41763181696135,0.0,0.0,-0.11667890581817829
2021 +,5.8576223731324895,,0.0,-2.0199923156033153,-0.07955757838639059,0.0,7.476359884661096,0.0,0.0,0.4808123824611
2022 +5.480638923341991,5.494870726747691,-0.01423180340569985,0.0,-1.0472852945266782,-0.08643424875647637,0.017324634400523453,6.618998085209933,0.0,0.0,-0.007732449579609835
2023 +5.948034989180646,5.767991382301214,0.18004360687943155,0.0,-1.6196053457502009,-0.10698630626722996,0.029276549528124737,7.089546785388132,0.0,0.0,0.3757596994023904
2024 +7.728855823852543,5.5323652095692,2.196490614283343,0.0,-1.1877948640693772,0.019439087569050578,0.026786096644932214,6.576858119816345,0.0,0.0,0.09707676960824974
2025 +5.213249554157973,5.845979027466849,-0.632729473308876,0.0,-1.9124834705917957,-0.04857354470614995,0.029449257100003234,7.835943134531343,0.0,0.0,-0.058356348866552055
2026 +8.4272881773486,4.034189481211632,4.393098696136969,0.0,-5.729493631860889,-0.04962213861027806,0.0,9.0784399922403,0.0,0.0,0.7348652594425014
2027 +,4.867017106509484,,0.0,-2.6739956079779423,-0.10884598580893963,0.026786096644932214,7.740224370365282,0.0,0.0,-0.11715176671385039
2028 +4.738564069158622,4.661485455794824,0.07707861336379818,0.0,-2.5560215931856805,-0.1304370605288785,0.026786096644932214,7.521807199755189,0.0,0.0,-0.20064918689073738
2029 +,4.818187641332136,,0.0,-1.9040038178353145,0.045575138663875574,0.038910719344411995,7.0467914452587745,0.0,0.0,-0.4090858440996118
2030 +4.99991133073328,4.9999113307359115,-2.631672657571471e-12,0.0,-3.20057694639791,-0.054029367690855104,0.017324634400523453,7.858464854877058,0.0,0.0,0.37872815554709705
2031 +8.433226628816453,6.065107221439256,2.368119407377197,0.0,-1.2915477256525945,-0.11577710154961264,0.03193970998319576,7.193127652087397,0.0,0.0,0.247364686570869
2032 +7.15445909470536,6.573216430477531,0.5812426642278288,0.0,-0.729335562202925,0.08456025701994552,-0.012124622699479781,7.375773422779379,0.0,0.0,-0.14565706441938744
2033 +6.976011879488119,6.287758915978282,0.6882529635098376,0.0,-1.7434680220322667,-0.11130356674351685,0.038910719344411995,7.935461090972494,0.0,0.0,0.1681586944371602
2034 +8.404317843336385,-4.364586128152142,12.768903971488527,0.0,-4.295960826845755,-0.027904000916841337,0.0024904528831925232,0.0,0.0,0.0,-0.04321175327273802
2035 +7.1631723908466425,5.762339899432796,1.4008324914138468,0.0,-1.9084380898901276,-0.01047122184162096,0.0,7.369612155993707,0.0,0.0,0.31163705517083684
2036 +8.950457625993279,6.246010936863891,2.7044466891293872,0.0,-1.8064630975322258,-0.1106672578590366,0.0,8.329831745091703,0.0,0.0,-0.16669045283654876
2037 +6.05622179432326,6.66565996631715,-0.6094381719938893,0.0,-1.7749998775045244,0.1224052944005127,0.029449257100003234,8.469010403582525,0.0,0.0,-0.18020511126136524
2038 +8.50039692049865,5.95592592513942,2.54447099535923,0.0,-1.9505933805527311,-0.10270892040307888,0.0,8.047697468482498,0.0,0.0,-0.038469242387270196
2039 +8.660493215219224,6.532986910785769,2.1275063044334557,0.0,-1.5234385708394829,0.06858596673802328,0.019815087283715976,7.740224370365282,0.0,0.0,0.2278000572382308
2040 +7.800367883501715,6.965694858289593,0.8346730252121217,0.0,-0.7231213342344782,-0.20594333779849677,0.029276549528124737,7.795911683046656,0.0,0.0,0.06957129774778767
2041 +,6.8791400798848255,,0.0,-1.0805112493255153,0.08469609152036736,0.029449257100003234,7.860377237622609,0.0,0.0,-0.014871257032639466
2042 +5.58052196499145,5.538527421536463,0.04199454345498754,0.0,-1.7315365522250987,-0.07298924167325194,0.017324634400523453,7.38997095357968,0.0,0.0,-0.06424237254538888
2043 +4.732067119176442,5.232471157913791,-0.500404038737349,0.0,-2.4164419444223446,-0.08080623364338298,0.017324634400523453,7.965649989520884,0.0,0.0,-0.2532552879418888
2044 +4.47688216568656,4.012770277461586,0.4641118882249744,0.0,-1.9135903094107194,0.14217899743498627,0.029449257100003234,6.786148095044595,0.0,0.0,-1.0314157627072793
2045 +3.9541241814467813,4.651579562924815,-0.6974553814780338,0.0,-2.3582112732086182,-0.16599339320513806,0.017324634400523453,7.404300635889312,0.0,0.0,-0.24584104095126472
2046 +7.718334322433416,6.2387541101857575,1.479580212247659,0.0,-1.427098354037926,-0.08322403459200381,0.038910719344411995,7.32394208905197,0.0,0.0,0.3862236904193068
2047 +5.895641735930645,6.039118824311627,-0.1434770883809824,0.0,-1.2743427435233352,-0.07030149248608991,0.04140117222760452,7.15561123757311,0.0,0.0,0.18675065052033865
2048 +4.699388861227073,6.09235261386331,-1.3929637526362377,0.0,-1.4499502392919483,-0.07625262051688178,0.0024904528831925232,7.631380790990429,0.0,0.0,-0.015315770201480311
2049 +6.191666951120625,5.175440699094204,1.0162262520264207,0.0,-2.1038482278543382,-0.07535646777690741,0.017324634400523453,7.318565033316901,0.0,0.0,0.018755727008027273
2050 +,5.572541888771753,,0.0,-1.5575283463848164,0.03529258859373217,0.0,6.9944685343696715,0.0,0.0,0.10030911219316607
2051 +,5.4270865293832085,,0.0,-2.3753176723924705,-0.12458826837204379,0.017324634400523453,7.936449756132538,0.0,0.0,-0.026781920385338876
2052 +,4.875861596422799,,0.0,-2.238836131265809,-0.09364664958430964,0.017324634400523453,7.2791628430342765,0.0,0.0,-0.0881431001618845
2053 +,4.8929042556756865,,0.0,-2.087993265951618,-0.17538969031894125,0.019815087283715976,7.119647497363626,0.0,0.0,0.016824627298902856
2054 +5.700945119836041,5.331593366112847,0.3693517537231932,0.0,-1.523333050185836,0.04165540973968458,0.017324634400523453,6.988950357669508,0.0,0.0,-0.1930039855110318
2055 +5.078231635333065,6.025360981696094,-0.9471293463630293,0.0,-1.7123756937358587,0.040745386593862426,0.019815087283715976,7.758357295661739,0.0,0.0,-0.08118109410736435
2056 +,5.488687782869037,,0.0,-1.5886578527871063,-0.2257327065453978,0.026786096644932214,7.141666870879339,0.0,0.0,0.13462537467727223
2057 +,6.06284823944006,,0.0,-1.6288869876419074,0.04878081629078755,0.017324634400523453,7.635778421650977,0.0,0.0,-0.010148645260321993
2058 +,4.654905853262759,,0.0,-2.1373820944243844,-0.14961854738776897,0.026786096644932214,7.069333681353308,0.0,0.0,-0.15421328292332698
2059 +5.190509413913731,6.0175395369554785,-0.8270301230417472,0.0,-1.758473191294887,-0.04003774894304648,0.0,7.747004039892409,0.0,0.0,0.06904643730100243
2060 +7.413795470811572,5.668710586310087,1.7450848845014857,0.0,-1.7604549647866339,-0.15711307960108245,0.0,7.839575000796945,0.0,0.0,-0.2532963700991402
2061 +4.254477313726906,5.2933453740327385,-1.0388680603058322,0.0,-2.2248501623386376,-0.08820057937437076,0.017324634400523453,7.573185786376364,0.0,0.0,0.015885694968860983
2062 +,5.156113829941332,,0.0,-2.017696485696698,-0.06648966053758881,0.026786096644932214,7.440978790765839,0.0,0.0,-0.2274649112351526
2063 +5.527681529675303,5.25635240305031,0.27132912662499287,0.0,-1.655230461196882,0.00551615001791899,0.017324634400523453,6.903489540256323,0.0,0.0,-0.014747460427573049
2064 +,6.8429940388339405,,0.0,-1.619515581202566,-0.009403426132689095,0.017324634400523453,7.919812754042436,0.0,0.0,0.5347756577262363
2065 +8.155089251396877,5.604629757640819,2.5504594937560583,0.0,-1.5376297582095217,-0.010448566993147536,0.017324634400523453,7.184653716105893,0.0,0.0,-0.04927026766292545
2066 +5.681195975983405,5.482995623976684,0.1982003520067206,0.0,-1.678820078484832,-0.22133659360110397,0.017324634400523453,7.286273533591229,0.0,0.0,0.0795541280708687
2067 +9.389427537093473,3.663139452011672,5.726288085081801,0.0,-5.180501779843789,-0.02504744203616977,0.0,9.0784399922403,0.0,0.0,-0.20975131834866742
2068 +5.015954455573856,5.46227022929886,-0.4463157737250043,0.0,-2.779681575612752,-0.09155715861525748,0.029449257100003234,8.371014507390216,0.0,0.0,-0.06695480096334719
2069 +7.195937226475569,5.491700860136304,1.7042363663392646,0.0,-1.6521429440074984,0.05616823029343492,0.0024904528831925232,7.085272737872588,0.0,0.0,-8.76169054117859e-05
2070 +4.844187086458591,6.013876663695951,-1.1696895772373601,0.0,-2.202174951557634,-0.047141921444438996,0.0,8.41763181696135,0.0,0.0,-0.1544382802633259
2071 +5.0238805208462765,5.041912031979658,-0.018031511133381528,0.0,-2.0379487210025955,0.016005645812838143,0.017324634400523453,7.126811746301233,0.0,0.0,-0.08028127353234062
2072 +6.230481447578482,5.672919157944225,0.5575622896342569,0.0,-1.1091101253979048,-0.10488519229418752,0.0,6.983464994390174,0.0,0.0,-0.09655051875385837
2073 +,4.96374263744564,,0.0,-2.4909020162150366,-0.2477576326425869,-0.012124622699479781,7.724072826100647,0.0,0.0,-0.009545917097902142
2074 +,4.959030503711434,,0.0,-2.2361599808934614,-0.11336647347659284,0.038910719344411995,7.4179353555179715,0.0,0.0,-0.1482891167808963
2075 +7.959625305098115,5.857014519912717,2.102610785185398,0.0,-2.3281569437930045,0.03781434122428198,0.0,8.339474007780295,0.0,0.0,-0.1921168852988555
2076 +4.454347296253507,4.359704013232642,0.094643283020865,0.0,-2.35125081876238,-0.09204873179520182,0.026786096644932214,6.961564349963158,0.0,0.0,-0.18534688281786563
2077 +4.890349128221754,6.240500441691523,-1.3501513134697696,0.0,-0.8667760918348808,0.14313251057780615,0.029449257100003234,7.161465391674142,0.0,0.0,-0.22677062582554947
2078 +5.476463551931511,5.9116561778569725,-0.4351926259254615,0.0,-1.642945977308698,-0.04017216352710774,0.0,7.631380790990429,0.0,0.0,-0.03660647229764988
2079 +,6.173610999317984,,0.0,-1.779893367946939,-0.00011882174368434834,0.04140117222760452,8.035800386564201,0.0,0.0,-0.12357836978319693
2080 +,5.408486180682079,,0.0,-1.8274747749329858,-0.071744562618763,0.0,7.3677584088186245,0.0,0.0,-0.06005289058479735
2081 +,5.1068556218554555,,0.0,-1.8528921409398835,-0.029844894250831734,0.017324634400523453,7.181225622242343,0.0,0.0,-0.20895759959669333
2082 +,5.77829389735927,,0.0,-1.7090839806302034,-0.13638205067297648,0.038910719344411995,7.901768103702356,0.0,0.0,-0.3169188943843188
2083 +5.377913820819179,5.02822213072359,0.34969169009558954,0.0,-2.4834223662782318,-0.096172294711354,0.026786096644932214,7.815380913519841,0.0,0.0,-0.23435021845159776
2084 +5.153811690438308,5.115466550768641,0.03834513966966657,0.0,-2.0651515331048698,-0.07704298024653879,0.0,7.50940981270384,0.0,0.0,-0.25174874858378954
2085 +7.6434637406261565,3.424010723623677,4.219453017002479,0.0,-5.437296640539916,-0.16963647153129122,0.0,9.0784399922403,0.0,0.0,-0.04749615654541431
2086 +5.558756702605943,5.409664702212842,0.1490920003931011,0.0,-1.8530557960121312,-0.10928393117690391,0.017324634400523453,6.888022657912707,0.0,0.0,0.46665713708864665
2087 +,4.055304281102373,,0.0,-5.178640016970797,-0.05319560120473786,0.0,9.0784399922403,0.0,0.0,0.2086999070376074
2088 +,5.2387725120184605,,0.0,-1.719522564035179,0.02788982669966531,0.0,6.9620914126684745,0.0,0.0,-0.031686163314500526
2089 +4.609660091260944,4.417088395567273,0.19257169569367072,0.0,-2.4584180957911537,-0.0670132758552813,0.017324634400523453,7.152841456088566,0.0,0.0,-0.22764632327538045
2090 +4.894850261102546,5.730876725812602,-0.8360264647100566,0.0,-1.7890133181195802,-0.19311206840521955,-0.012124622699479781,7.757121464211684,0.0,0.0,-0.03199472917480366
2091 +6.091920555307347,3.824334335927761,2.2675862193795857,0.0,-5.40684219189586,-0.06725355929979755,0.0,9.238202504200961,0.0,0.0,0.06022758292245781
2092 +3.88936831486334,5.60479744177111,-1.71542912690777,0.0,-1.548674590334298,0.04064533129983651,0.038910719344411995,6.690418582189248,0.0,0.0,0.3834973992719123
2093 +5.217649463480582,5.4831307698484855,-0.2654813063679038,0.0,-2.2155134416446636,0.10147580527926696,0.029449257100003234,7.855607012628308,0.0,0.0,-0.28788786351443
2094 +8.109327203501302,6.426875902877893,1.6824513006234083,0.0,-1.55499369022158,-0.0872252038591409,0.026786096644932214,8.063013613403083,0.0,0.0,-0.020704913089401315
2095 +,4.9998264107188595,,0.0,-2.735626093302609,-0.011711673777420106,0.026786096644932214,7.859206353747091,0.0,0.0,-0.13882827259313643
2096 +5.536073630230092,5.109680501689351,0.42639312854074074,0.0,-1.9710195460094884,-0.03683321016073778,0.017324634400523453,7.1763581920977355,0.0,0.0,-0.07614956863867967
2097 +5.452025091142252,4.9358419747315985,0.5161831164106534,0.0,-2.2938948424755443,-0.07346571061556255,0.017324634400523453,7.493681956983804,0.0,0.0,-0.20780406356162287
2098 +7.362086738833577,4.386356096872829,2.975730641960748,0.0,-4.929365371057502,0.02623989762583745,0.0024904528831925232,9.238202504200961,0.0,0.0,0.04878861322034092
2099 +,5.671860284840692,,0.0,-1.6104568695976411,-0.011803313436734512,0.0,7.4357185007800695,0.0,0.0,-0.14159803290500297
2100 +4.991452474679482,4.941737510533594,0.049714964145888274,0.0,-2.0436587359571883,-0.04635226737683056,0.038910719344411995,7.044574631924722,0.0,0.0,-0.051736837401522184
2101 +,5.598052658186249,,0.0,-2.0023987780972847,-0.08822751426930744,0.0,7.5344700066222545,0.0,0.0,0.1542089439305862
2102 +4.29510616264318,4.915653165721114,-0.6205470030779336,0.0,-2.642181832410081,-0.13815111313318207,-0.012124622699479781,7.882970256046271,0.0,0.0,-0.174859522082413
2103 +4.445236148071766,5.141843953311988,-0.6966078052402223,0.0,-2.4767427240871944,0.055764925259715305,0.0,7.68658787928349,0.0,0.0,-0.12376612714402244
2104 +,5.8565385934909004,,0.0,-2.030105852397641,-0.10895865289227019,0.0,8.20915108196446,0.0,0.0,-0.2135479831836492
2105 +6.246106765481563,5.860249520428723,0.3858572450528399,0.0,-1.7414406833310183,-0.09043853425478601,0.029449257100003234,7.747869121907447,0.0,0.0,-0.08518964099292409
2106 +,4.835801835626751,,0.0,-2.0173526700301982,-0.0002462604595098519,0.029449257100003234,7.002652163572275,0.0,0.0,-0.1787006545558179
2107 +5.583496308781699,5.697697018730126,-0.11420070994842657,0.0,-1.5774374159694338,-0.05126566345305393,-0.012124622699479781,7.458387449962343,0.0,0.0,-0.1198627291102486
2108 +,5.299605114527442,,0.0,-2.0877423264549355,-0.11112951478309221,0.0,7.490680998606404,0.0,0.0,0.007795957159067619
2109 +7.807510042216193,5.747046876889514,2.060463165326679,0.0,-1.8461752541461376,-0.09656720283808594,0.0,7.838957085071917,0.0,0.0,-0.1491677511981823
2110 +,6.178670957759521,,0.0,-1.7884531055155959,0.01647051620606671,0.0024904528831925232,8.256548952914406,0.0,0.0,-0.3083858587285472
2111 +,5.112775503930198,,0.0,-1.8933781660945153,0.004953558200125073,0.0,7.038870234192777,0.0,0.0,-0.037670122368189375
2112 +4.74493212836325,5.085719515345853,-0.340787386982603,0.0,-1.8415501493376158,0.1390826415084558,0.029449257100003234,6.786451977310242,0.0,0.0,-0.027714211235229703
2113 +,6.623456742897377,,0.0,-1.4856225524703426,-0.14225386488967373,-0.009634169816287258,7.860377237622609,0.0,0.0,0.40059009245107235
2114 +6.784457062637643,6.209282295288226,0.5751747673494174,0.0,-1.100749993249317,-0.11392407800747802,0.017324634400523453,7.5746687841164295,0.0,0.0,-0.16803705197193336
2115 +4.59511985013459,5.373930838951872,-0.7788109888172823,0.0,-1.036511462511955,-0.07387249462619574,0.0,6.773035712007383,0.0,0.0,-0.28872091591736
2116 +8.085486772102845,6.899680616604291,1.185806155498554,0.0,-1.0399943760259438,0.05795194028670268,0.019815087283715976,7.758357295661739,0.0,0.0,0.10355066939807697
2117 +7.039660349862076,5.562967361459367,1.476692988402709,0.0,-2.2317974345263645,-0.07142602099863296,0.038910719344411995,8.063641205357486,0.0,0.0,-0.2363611077175331
2118 +5.7430031878094825,5.3616646449387195,0.38133854287076296,0.0,-2.2212086100402253,-0.12983195625570534,0.0,8.372087693186488,0.0,0.0,-0.6593824819518386
2119 +8.223090551161533,4.940340395987714,3.2827501551738196,0.0,-2.012304029622121,0.040983068350419594,0.029449257100003234,7.108150933846279,0.0,0.0,-0.225938833686866
2120 +5.375278407684165,5.011061023323539,0.364217384360626,0.0,-3.8853544197879413,-0.029856340729189024,0.0,9.0784399922403,0.0,0.0,-0.15216820839962836
2121 +5.159055299214529,5.229059540833632,-0.07000424161910246,0.0,-1.8284610515341795,0.034482753743007105,0.038910719344411995,7.037690960051069,0.0,0.0,-0.05356384077067775
2122 +5.0238805208462765,4.974534296592806,0.049346224253470794,0.0,-1.9263696449274956,0.004874966380311357,0.029449257100003234,7.094686176078906,0.0,0.0,-0.22810645803892063
2123 +,3.848262891748687,,0.0,-5.149612023365629,0.032177448086568354,0.0,9.238202504200961,0.0,0.0,-0.27250503717321173
2124 +,4.827834703677052,,0.0,-2.476282005904518,0.06060439942257132,0.038910719344411995,7.381108703901585,0.0,0.0,-0.176507113086998
2125 +4.59511985013459,6.09247916058273,-1.4973593104481404,0.0,-1.966768790977926,-0.06212113268656668,0.026786096644932214,7.936449756132538,0.0,0.0,0.15813323146975203
2126 +,6.727803292468623,,0.0,-1.2670022699437284,-0.057158441016324155,0.0024904528831925232,8.006306602402752,0.0,0.0,0.04316694814272967
2127 +3.912023005428146,4.771258164801414,-0.8592351593732679,0.0,-2.191953863797063,-0.05005496569378298,0.0,7.267213603066078,0.0,0.0,-0.2539466087738156
2128 +,7.1641369178276095,,0.0,-1.600807931464014,0.15464144771523558,0.038910719344411995,8.529170438465806,0.0,0.0,0.04222224376617009
2129 +4.6443908991413725,5.471387030326054,-0.8269961311846812,0.0,-1.6613945661833975,-0.02610175662558449,0.017324634400523453,7.404300635889312,0.0,0.0,-0.2627419171548004
2130 +,6.530402479324999,,0.0,-1.1681616093041844,0.013831991594823158,0.017324634400523453,7.949660307232322,0.0,0.0,-0.2822528445984859
2131 +7.496652438168283,5.9136085440525985,1.5830438941156846,0.0,-2.0969472972477563,0.058207637564012926,0.0,8.256548952914406,0.0,0.0,-0.30420074917806394
2132 +,6.2793008113713915,,0.0,-2.3946540148003725,0.011888436629932574,0.0,8.471111317047619,0.0,0.0,0.19095507249421345
2133 +3.9889840465642745,5.651084562980325,-1.66210051641605,0.0,-1.8659523702907217,0.0077527751049755594,0.0,7.743411900176172,0.0,0.0,-0.2341277420101002
2134 +4.844187086458591,5.566283535763202,-0.7220964493046109,0.0,-1.8712045633798589,-0.01927909004280132,0.0024904528831925232,7.595032625574285,0.0,0.0,-0.14075588927161364
2135 +8.24564690087386,5.618200058065602,2.627446842808258,0.0,-1.527412397413717,-0.027379303387173707,0.0,7.352614076207706,0.0,0.0,-0.1796223173412118
2136 +7.579678823090456,5.870962493853837,1.7087163292366183,0.0,-1.7236283445620222,-0.058543842580147,0.026786096644932214,7.623229232092012,0.0,0.0,0.003119352259063096
2137 +,5.460178982719728,,0.0,-2.292512816358996,-0.22202383077171886,0.0,8.148204090083695,0.0,0.0,-0.1734884602332517
2138 +7.6760099320288875,6.038391629375138,1.6376183026537499,0.0,-1.835932550739284,-0.015041542429858376,0.0,8.280781835129236,0.0,0.0,-0.3914161125849576
2139 +8.76732914779405,5.74302852212155,3.024300625672499,0.0,-2.0907173020986916,0.029748034529847797,-0.012124622699479781,7.816122412389874,0.0,0.0,0.0
2140 +,5.411353825346385,,0.0,-2.045956244850056,-0.24352055532321032,0.017324634400523453,7.70699936287196,0.0,0.0,-0.023493371752832864
2141 +4.411585436915426,5.205868929230776,-0.7942834923153494,0.0,-1.9769527056724625,-0.09984273763947635,0.026786096644932214,7.348506833075517,0.0,0.0,-0.09262855717773434
2142 +5.176488658182903,5.653229960560611,-0.4767413023777083,0.0,-1.7522822244281437,0.10106256022098872,0.017324634400523453,7.44258537165091,0.0,0.0,-0.15546038128366718
2143 +4.796534070766275,4.678876377166615,0.11765769359965983,0.0,-2.1762573279909363,-0.07487218302207724,0.0,7.209726060888039,0.0,0.0,-0.2797201727084097
2144 +5.841048551325011,5.170702517731684,0.6703460335933276,0.0,-1.761710340554946,-0.013153877360992987,0.017324634400523453,7.130814068322873,0.0,0.0,-0.20257196707577177
2145 +4.485147143388361,5.04780858737114,-0.5626614439827788,0.0,-2.1907539962368245,0.006150997798598932,0.017324634400523453,7.6490128240558075,0.0,0.0,-0.4339258726469657
2146 +5.151671786206552,5.553763043060585,-0.4020912568540336,0.0,-2.149018465482002,-0.0992625849275291,0.017324634400523453,7.99718864423207,0.0,0.0,-0.21246918516247543
2147 +7.433418282402405,5.917128469648977,1.5162898127534277,0.0,-1.9339631070730903,0.07380212525659686,0.0024904528831925232,7.67463733027312,0.0,0.0,0.10016166830916019
2148 +,-5.630933956371091,,0.0,-5.496707483552757,-0.09064455227074263,0.0,0.0,0.0,0.0,-0.0435819205475918
2149 +4.552612935249416,4.865430442957104,-0.31281750770768824,0.0,-2.3987453221557224,-0.14971507209285229,0.0,7.483583377889496,0.0,0.0,-0.06969254068381751
2150 +5.618660221239366,5.620357988633065,-0.001697767393698868,0.0,-1.463307628115162,-0.12522479886381938,0.038910719344411995,7.089630853146641,0.0,0.0,0.08034884312099502
2151 +7.558553257767602,-4.096709817640707,11.655263075408309,0.0,-4.019112323822053,-0.053222402615134126,0.0024904528831925232,0.0,0.0,0.0,-0.02686554408671163
2152 +5.901649242785618,6.003479061129551,-0.10182981834393257,0.0,-1.8950979164661392,-0.026554767958270324,-0.012124622699479781,7.909264989217418,0.0,0.0,0.027991379036022012
2153 +,5.39820787603841,,0.0,-1.8009004558706376,-0.07086426235628547,0.019815087283715976,7.375279090199357,0.0,0.0,-0.12512158321773847
2154 +,7.18992899186765,,0.0,-0.909734763957144,-0.1406359633090649,0.029276549528124737,7.903251101442422,0.0,0.0,0.30777206816331426
2155 +,4.834484262009403,,0.0,-2.2891158772370366,-0.11182024107980658,0.017324634400523453,7.474656495095256,0.0,0.0,-0.2565607491695338
2156 +5.41920668382349,6.765501051496421,-1.3462943676729306,0.0,-1.8246388928437147,-0.20904174888804747,0.029449257100003234,8.308669038405613,0.0,0.0,0.4610633977225693
2157 +5.340274716308544,6.106042607703359,-0.7657678913948152,0.0,-1.473848395380836,-0.006109066181637993,0.0,7.916585291126586,0.0,0.0,-0.33058522186075306
2158 +4.672641901103104,4.977429053985301,-0.3047871528821977,0.0,-1.5757759571467185,-0.08575646138665433,-0.012124622699479781,6.79576962300646,0.0,0.0,-0.14468352778830412
2159 +7.3872574043458314,7.379784004955914,0.007473399389917645,0.0,-0.6935415494780868,-0.13190809849486618,0.0024904528831925232,8.177402478573306,0.0,0.0,0.025340721472368793
2160 +5.644527747438887,5.9778966256871415,-0.3333688782482547,0.0,-1.1089475364838082,-0.10795018277397997,0.04140117222760452,7.115866470288214,0.0,0.0,0.03752670242911163
2161 +4.8868844866600805,5.013975829760508,-0.12709134310042725,0.0,-2.0413103337941783,0.02146560739497299,0.026786096644932214,7.057760964386935,0.0,0.0,-0.05072650487215334
2162 +,4.453889082904059,,0.0,-2.6002911918522313,-0.0935279617801123,0.026786096644932214,7.108645266426301,0.0,0.0,0.012276873465168616
2163 +8.236044397215318,5.814823730455009,2.421220666760309,0.0,-2.4075450399972205,-0.05651128840308789,0.029449257100003234,8.368542844490106,0.0,0.0,-0.1191120427347917
2164 +5.33445641316391,5.397070211645594,-0.06261379848168414,0.0,-1.5881277818155324,-0.03512188395151529,0.029449257100003234,7.305986625678136,0.0,0.0,-0.31511600536549866
2165 +5.095711466451375,5.2463568544081145,-0.15064538795673954,0.0,-1.8675730335982053,-0.09542990133465329,0.029449257100003234,7.177808547973589,0.0,0.0,0.002101984267381285
2166 +7.849760540136281,3.9861232751326434,3.863637265003638,0.0,-5.464034510664048,-0.0280506948417328,0.0024904528831925232,9.238202504200961,0.0,0.0,0.23751552355427125
2167 +4.093510881473524,5.790879524201039,-1.6973686427275156,0.0,-2.426744079394263,-0.07011134109592275,0.038910719344411995,8.41763181696135,0.0,0.0,-0.16880759161453796
2168 +,5.824405173834009,,0.0,-1.6979021052920062,-0.03744107874343383,0.026786096644932214,7.586832034485701,0.0,0.0,-0.05386977326118217
2169 +6.153009252203234,5.147750363605971,1.0052588885972629,0.0,-1.973702425646799,-0.09998992220838324,0.017324634400523453,7.24429095763864,0.0,0.0,-0.040172880578008316
2170 +4.7017522838343355,5.085408832041229,-0.38365654820689343,0.0,-2.362587863701564,-0.038910376404814165,0.029449257100003234,7.70588711456691,0.0,0.0,-0.24842929951930617
2171 +6.4337436283388625,5.765192959224397,0.6685506691144658,0.0,-1.81294162821004,-0.16205029794916476,0.017324634400523453,7.814762997794814,0.0,0.0,-0.0919027468117341
2172 +6.069582326371934,5.555034780956379,0.5145475454155557,0.0,-0.9678960480923049,-0.011485719244150712,0.026786096644932214,6.520077432769452,0.0,0.0,-0.012446981121548711
2173 +,5.230477075534199,,0.0,-2.2735499896564706,-0.15231122556275062,0.038910719344411995,7.858464854877058,0.0,0.0,-0.2410372834680499
2174 +4.595018834931716,5.005096397794038,-0.41007756286232144,0.0,-2.0155992792523696,-0.03639462230112246,0.0,7.188032333804756,0.0,0.0,-0.1309420344572267
2175 +5.161924741642482,5.662392191529038,-0.500467449886556,0.0,-2.1251399565173807,-0.01675155535615091,0.029449257100003234,7.815380913519841,0.0,0.0,-0.04054646721727565
2176 +5.494089721066114,5.612294014026173,-0.11820429296005841,0.0,-2.0060066985898866,-0.1409076150968489,0.029449257100003234,7.947930143202245,0.0,0.0,-0.21817107258934132
2177 +4.878550473729012,6.487197540898026,-1.6086470671690138,0.0,-1.964773253307956,-0.08575435484884579,0.0,8.371014507390216,0.0,0.0,0.16671064166461358
2178 +9.011934554185599,5.79234190557452,3.219592648611079,0.0,-1.7086177894624202,-0.06825362880889173,0.017324634400523453,7.622858482656995,0.0,0.0,-0.0709697932116861
2179 +4.868994921909306,6.496561701100354,-1.6275667791910475,0.0,-1.2784836744523647,-0.0919994856960245,0.04140117222760452,7.757121464211684,0.0,0.0,0.06852222480945383
2180 +5.308020142009422,4.789595138222931,0.5184250037864908,0.0,-1.9290211059064584,-0.032390368276408774,0.026786096644932214,6.879972804247154,0.0,0.0,-0.15575228848628705
2181 +7.488852955733459,5.880767743820043,1.6080852119134157,0.0,-2.1271324942480154,-0.017206715071564793,0.038910719344411995,8.222776125363746,0.0,0.0,-0.23657989156853373
2182 +4.35182512594076,3.5234544294522117,0.8283706964885482,0.0,-5.522323765043862,-0.06903389893485067,0.0,9.238202504200961,0.0,0.0,-0.12339041077003646
2183 +7.548350478604023,4.833483936403948,2.714866542200075,0.0,-4.516124500203196,-0.1000793203319298,0.0,9.238202504200961,0.0,0.0,0.21148525273811256
2184 +4.86151637813002,4.683822256961327,0.17769412116869265,0.0,-1.6319819008799161,-0.039412204202911055,0.038910719344411995,6.64992090547387,0.0,0.0,-0.333615262774126
2185 +,6.402362573391209,,0.0,-1.4802106454191106,-0.07735471881528437,0.0024904528831925232,7.611675543225717,0.0,0.0,0.3457619415166949
2186 +5.564711959856561,5.939948672185638,-0.37523671232907674,0.0,-1.6618224471528125,-0.013305884268246408,0.026786096644932214,7.663333938001115,0.0,0.0,-0.07504303103934883
2187 +,5.290224231445739,,0.0,-2.2889725748272793,-0.01016113456718733,0.029449257100003234,7.6786063400572155,0.0,0.0,-0.11869765631701212
2188 +,6.214641003552904,,0.0,-1.3187770127288996,0.051816018924301904,0.0,7.351748994192667,0.0,0.0,0.12985300316483414
2189 +5.075923534124373,5.913328182207384,-0.8374046480830115,0.0,-1.467331250008871,-0.10682743763016958,0.0,7.663908110861659,0.0,0.0,-0.17642124101523332
2190 +,4.9960620144623515,,0.0,-2.8495266154428753,0.11011806456465927,0.029449257100003234,7.870866785609705,0.0,0.0,-0.1648454773691404
2191 +5.768320995793772,3.9951557994953757,1.7731651962983963,0.0,-2.014725656272736,-0.0330498126606775,0.029449257100003234,6.953147621279684,0.0,0.0,-0.9396656099508968
2192 +5.402677381872279,5.295434996141116,0.10724238573116374,0.0,-1.4537428993121546,0.06269780338124739,0.038910719344411995,6.857335592327423,0.0,0.0,-0.20976621959981304
2193 +5.270534985535585,5.680671399099618,-0.4101364135640324,0.0,-1.6372347553476372,0.004101977275456331,0.0,6.975987703437653,0.0,0.0,0.33781647373414647
2194 +5.790265934544339,-5.526834448681298,11.317100383225636,0.0,-5.324465965756065,-0.13747585718064068,0.029449257100003234,0.0,0.0,0.0,-0.09434188284459546
2195 +7.479022919658007,-4.086578307498906,11.565601227156913,0.0,-4.145149706747874,0.10390255089453933,0.04140117222760452,0.0,0.0,0.0,-0.08673232387317492
2196 +8.178206596443696,4.232242265886165,3.9459643305575307,0.0,-4.91348614382431,0.12158847625002053,0.0024904528831925232,9.0784399922403,0.0,0.0,-0.056790511663038196
2197 +4.233526626355437,5.135156925515764,-0.9016302991603267,0.0,-2.2456313499524345,-0.14655887226678754,0.0,7.776519918162387,0.0,0.0,-0.24917277042740119
2198 +4.443121734033692,5.517909720445352,-1.0747879864116596,0.0,-2.1993327183156746,0.06733172535791784,0.0,7.893902898883258,0.0,0.0,-0.24399218548015067
2199 +,6.564230245512062,,0.0,-2.318893172837753,-0.008562462350458214,0.0,8.093859507982389,0.0,0.0,0.7978263727178835
2200 +5.1084876942637605,5.735621443599695,-0.6271337493359344,0.0,-1.73045737201232,0.03051039874447905,0.017324634400523453,7.502706344025414,0.0,0.0,-0.08446256155840196
2201 +7.872051105034145,7.036245665724509,0.8358054393096355,0.0,-0.7226406322015864,-0.1288526403115113,0.04140117222760452,7.903251101442422,0.0,0.0,-0.05691333543241789
2202 +4.785573236959415,4.960180109221845,-0.1746068722624301,0.0,-3.0064736976827717,-0.08777011333370566,0.0,8.41709842187255,0.0,0.0,-0.36267450163422793
2203 +4.139795825126018,5.922716256250029,-1.782920431124011,0.0,-2.7865216902598005,-0.08102748414743291,0.0024904528831925232,8.685270914203755,0.0,0.0,0.10250406357031475
2204 +4.305010592025198,6.227498650665202,-1.9224880586400044,0.0,-1.7727749349447812,0.01125423274447027,0.0,8.095921358938705,0.0,0.0,-0.10690200607319211
2205 +7.379894127024883,4.063972225622242,3.315921901402641,0.0,-4.919059474551059,-0.11596591290367153,0.0024904528831925232,9.238202504200961,0.0,0.0,-0.14169534400718115
2206 +5.1084876942637605,5.334483545366519,-0.22599585110275822,0.0,-2.106488726929885,-0.02833950996886635,-0.009634169816287258,7.531412244833739,0.0,0.0,-0.05246629275218153
2207 +4.6016640466588035,5.444244783634776,-0.8425807369759726,0.0,-1.8217657483809857,0.09320285987067559,0.029276549528124737,7.168480888359443,0.0,0.0,-0.024949765742481922
2208 +8.338458793069433,5.760595061051277,2.577863732018156,0.0,-1.7433190372904752,-0.17995499084654212,0.017324634400523453,7.691051173649395,0.0,0.0,-0.024506718861621965
2209 +5.559488611958904,6.2917878732611685,-0.7322992613022645,0.0,-1.8204761272550671,-0.05202581166343147,0.038910719344411995,8.191836232048441,0.0,0.0,-0.06645713921318777
2210 +6.624583022008184,5.560469694560628,1.064113327447556,0.0,-2.1858965906215095,-0.041912947928701025,0.0024904528831925232,7.981702970752906,0.0,0.0,-0.1959141905252592
2211 +5.281425498877819,3.7933389521334893,1.4880865467443294,0.0,-5.383389392503476,-0.13229150553529312,0.04140117222760452,9.238202504200961,0.0,0.0,0.02941617374369221
2212 +,5.616472614676072,,0.0,-2.158515207731779,-0.11645250893078196,0.038910719344411995,8.063013613403083,0.0,0.0,-0.21048400140886148
2213 +5.1084876942637605,6.344135418971675,-1.2356477247079143,0.0,-1.705276017011034,0.017524048342885123,0.0,8.140893512402114,0.0,0.0,-0.10900612476228921
2214 +8.020960569953147,5.302270984865885,2.7186895850872617,0.0,-4.132376341911108,-0.016189753777080845,0.04140117222760452,9.0784399922403,0.0,0.0,0.3309959160861695
2215 +6.134200324119941,6.1695057762127,-0.03530545209275893,0.0,-1.545583589272952,-0.002171852261786192,-0.012124622699479781,7.903251101442422,0.0,0.0,-0.17386526099550406
2216 +4.607966273290093,5.364536121566821,-0.7565698482767278,0.0,-2.0565711075914015,-0.03385152864616503,0.0,7.496668452947326,0.0,0.0,-0.04170969514293854
2217 +8.982507091050568,3.477812887843357,5.504694203207211,0.0,-5.725843724681586,0.04912529660820207,0.0,9.238202504200961,0.0,0.0,-0.08367118828421935
2218 +,6.9519157306227,,0.0,-1.1526206109470003,0.06879626854232034,0.0,8.080525373737599,0.0,0.0,-0.04478530071021855
2219 +5.523658501405734,6.65861828141748,-1.1349597800117461,0.0,-1.5123641273392066,0.0004498624544547053,0.017324634400523453,7.706505030291938,0.0,0.0,0.44670288160977
2220 +,5.366184281644715,,0.0,-2.2850808250442123,-0.05578086857527715,0.026786096644932214,7.882970256046271,0.0,0.0,-0.20271037742699696
2221 +7.706104462637456,4.774082659690481,2.9320218029469753,0.0,-4.213399349996802,-0.023957960632242925,0.0024904528831925232,9.238202504200961,0.0,0.0,-0.22925298676462755
2222 +4.564348191467836,4.596823845115248,-0.03247565364741156,0.0,-1.9829281848279257,-0.12422432986337949,0.0,7.1046561564644835,0.0,0.0,-0.40067979665793096
2223 +,6.016688805133527,,0.0,-1.7869596180984821,-0.010502840352200747,0.017324634400523453,7.214527913078651,0.0,0.0,0.5822987161050361
2224 +,5.281144210942574,,0.0,-2.7491473918505465,-0.04353663040008086,0.029449257100003234,8.134852470349093,0.0,0.0,-0.09047349425589356
2225 +8.00121766295902,3.87467817847367,4.12653948448535,0.0,-5.268088156031695,-0.06773986542783568,0.0,9.238202504200961,0.0,0.0,-0.02769630426775883
2226 +4.898436636733773,4.942907205356963,-0.044470568623190765,0.0,-2.4057970249720073,-0.04298263384564614,0.026786096644932214,7.512201329649049,0.0,0.0,-0.14730056211936382
2227 +5.955630094098766,4.11105410825462,1.8445759858441466,0.0,-4.984343912192445,-0.15107146885509865,0.03193970998319576,9.238202504200961,0.0,0.0,-0.02367272488199275
2228 +5.153869462182164,6.109041686668798,-0.9551722244866339,0.0,-1.5375023539171186,0.039613395648274846,-0.012124622699479781,7.312603968049228,0.0,0.0,0.30645129958789474
2229 +4.144879235596148,5.0245413416810605,-0.8796621060849121,0.0,-2.0823080209708005,-0.07436946156588328,0.0,7.419151495198618,0.0,0.0,-0.2379326709808733
2230 +7.022868086082641,6.591936811022601,0.4309312750600407,0.0,-1.9297832170738056,0.017450640633728635,0.04140117222760452,8.1461031766186,0.0,0.0,0.3167650386164724
2231 +5.213249554157973,6.043862486986131,-0.8306129328281582,0.0,-1.7649320387302652,-0.15435991297322288,0.0,8.05519435399756,0.0,0.0,-0.092039915307941
2232 +7.838079085067719,7.603599759688255,0.23447932537946325,0.0,-0.7139001896568962,-0.019925404800634854,0.04140117222760452,7.965649989520884,0.0,0.0,0.33037419239729804
2233 +,5.268363391943257,,0.0,-2.55990456237462,-0.00498779448115798,0.017324634400523453,7.936449756132538,0.0,0.0,-0.12051864173402495
2234 +5.467342584174642,5.123155920255861,0.34418666391878094,0.0,-2.194133659225346,0.016639253941383957,0.017324634400523453,7.397489635042495,0.0,0.0,-0.11416394390319456
2235 +5.578559329902123,6.095827890226905,-0.5172685603247826,0.0,-1.8438807588484218,0.01658676896537825,0.0,8.16677155072467,0.0,0.0,-0.24364967061472215
2236 +,7.095231149752028,,0.0,-1.6370548306054928,-0.0629143057472884,0.0,8.690214240003975,0.0,0.0,0.10498604610083342
2237 +7.186583269480293,3.3761619768983784,3.8104212925819145,0.0,-5.457536898012423,-0.1377366228181296,0.0,9.0784399922403,0.0,0.0,-0.1070044945113677
2238 +,5.92482960457767,,0.0,-2.497516719786378,-0.07584586562778561,0.0,8.081390455752636,0.0,0.0,0.4168017342391967
2239 +,5.157368076077982,,0.0,-2.7221009910309926,0.018970073693996815,0.017324634400523453,7.949660307232322,0.0,0.0,-0.1064859482178664
2240 +5.409456155782004,6.477970899234108,-1.0685147434521038,0.0,-1.4190685889565477,-0.14985669512745547,0.0024904528831925232,7.9370239289930815,0.0,0.0,0.10738180144183737
2241 +,5.6086306195264655,,0.0,-1.3470556812441448,-0.023894462089504805,0.04140117222760452,7.091361069119001,0.0,0.0,-0.1531814784864889
2242 +5.249704686627344,6.377593359029536,-1.1278886724021921,0.0,-1.8905714419817103,-0.07987938513258272,0.0,8.339474007780295,0.0,0.0,0.008570178363534802
2243 +4.721351940277501,5.1365634412346655,-0.41521150095716486,0.0,-2.3882396996189703,0.0641892140530157,-0.012124622699479781,7.493434790693793,0.0,0.0,-0.020696241193695633
2244 +7.389743060552421,5.541951521418443,1.8477915391339783,0.0,-0.8370625992862832,-0.10065786663213128,0.038910719344411995,6.486573546942601,0.0,0.0,-0.04581227895015688
2245 +5.394627046685445,6.524555411768558,-1.1299283650831136,0.0,-1.5247033676060493,0.026543785345671464,0.0024904528831925232,7.939209363094403,0.0,0.0,0.08101517805133926
2246 +6.220769080535664,7.176059051625838,-0.9552899710901741,0.0,-1.8393808451306732,0.012194753187580641,0.0,8.689511803642718,0.0,0.0,0.31373333992621283
2247 +4.824305715904762,4.6340146527386485,0.19029106316611344,0.0,-2.436693373641952,-0.05547217806578164,0.017324634400523453,7.274986114794913,0.0,0.0,-0.16613054474905442
2248 +,4.96723274266545,,0.0,-2.254419584095121,-0.0034540610578168447,0.0,7.500843214411008,0.0,0.0,-0.2757368265926197
2249 +4.892152013325479,5.9104873932217625,-1.0183353798962838,0.0,-1.8910845376177692,-0.0647987290873177,0.029276549528124737,7.883835338061308,0.0,0.0,-0.04674122766258368
2250 +7.352876902703792,5.752026855618146,1.600850047085646,0.0,-1.4516340447779301,-0.11175592666116124,0.04140117222760452,7.175616693227703,0.0,0.0,0.09839896160193104
2251 +4.72889111297785,5.239245165001344,-0.5103540520234935,0.0,-1.3299752308914234,-0.0404627294543226,-0.012124622699479781,6.670295238279247,0.0,0.0,-0.048487490232676636
2252 +5.003677813528757,6.016494018730887,-1.01281620520213,0.0,-1.2205162659001578,0.01307706328113134,0.04140117222760452,7.521560033465178,0.0,0.0,-0.3390279843428703
2253 +,5.980070501685304,,0.0,-1.5041174523884875,-0.04347716540339369,0.029449257100003234,7.647776992605753,0.0,0.0,-0.14956113022856818
2254 +,4.669897786594619,,0.0,-4.707316135455285,0.09235648956772854,0.0,9.238202504200961,0.0,0.0,0.04665492828121434
2255 +,5.904675815401865,,0.0,-1.5397139230386578,-0.06029769832435969,0.0024904528831925232,7.32197862024036,0.0,0.0,0.1802183636413295
2256 +6.388191589272861,5.2114523371845305,1.1767392520883302,0.0,-1.4756603870823488,-0.09071863531670793,0.017324634400523453,6.956103958327552,0.0,0.0,-0.19559723314448837
2257 +4.706010500914163,5.1418705092672266,-0.43586000835306393,0.0,-2.7098912629905625,-0.033973983142214254,0.038910719344411995,8.134852470349093,0.0,0.0,-0.28802743429350236
2258 +4.858881738868719,5.533237327660785,-0.674355588792066,0.0,-2.5555114883117813,-0.16474747053208372,0.0,7.880202398510465,0.0,0.0,0.3732938879941847
2259 +4.881285622068407,5.79222611443435,-0.9109404923659437,0.0,-1.7690972542997008,0.0577164695199608,0.017324634400523453,7.141048955154312,0.0,0.0,0.34523330965925536
2260 +5.151671786206552,5.52489637454342,-0.37322458833686856,0.0,-1.8670582943922192,-0.07111870083544557,0.017324634400523453,7.522177949190206,0.0,0.0,-0.07642921381964236
2261 +,7.3017622311238926,,0.0,-1.9366989579396119,0.018458214842594193,0.0,8.442235448611198,0.0,0.0,0.7777675256097131
2262 +,5.435376992109455,,0.0,-1.7174855089167211,-0.0830616834226615,0.038910719344411995,7.008594793253776,0.0,0.0,0.18841867185064862
2263 +7.1367854699850195,-2.8043193119675474,9.941104781952568,0.0,-4.033553322423031,-0.10013353610584177,0.0024904528831925232,0.0,0.0,0.0,1.3268770936781331
2264 +9.175592600288354,6.714274266771086,2.4613183335172684,0.0,-2.064008505821678,-0.07574309720936859,0.0024904528831925232,7.419151495198618,0.0,0.0,1.4323839217203211
2265 +7.649506892178767,5.420626373341078,2.2288805188376886,0.0,-1.7367836251382451,-0.048136287846939116,0.026786096644932214,7.249062131058783,0.0,0.0,-0.07030194137745266
2266 +9.464494874536515,4.0396776560241,5.424817218512414,0.0,-5.005274260749288,-0.040461453454980756,0.0,9.0784399922403,0.0,0.0,0.0069733779880701285
2267 +5.831706508722779,5.965851871579082,-0.13414536285630252,0.0,-1.411980093530139,-0.0008864838412849518,0.0,7.602551307037099,0.0,0.0,-0.22383285808659387
2268 +7.613818684808629,-4.846614430639687,12.460433115448316,0.0,-5.093325908815483,0.0015433803901849022,0.0,0.0,0.0,0.0,0.245168097785613
2269 +7.579658393872587,5.61930299094034,1.9603554029322474,0.0,-1.3723266109423813,-0.1288049100566892,0.029276549528124737,7.466861385943848,0.0,0.0,-0.37570342353256103
2270 +5.276787247997674,5.725377882225256,-0.4485906342275827,0.0,-1.1851226205755045,-0.1374643314030429,0.029449257100003234,7.120373550710567,0.0,0.0,-0.10185797360676771
2271 +,4.081858593605179,,0.0,-4.873462804671837,-0.06566825464474155,0.0024904528831925232,9.238202504200961,0.0,0.0,-0.2197033041623976
2272 +6.3663673496335065,6.281360460471566,0.08500688916194044,0.0,-1.0704705610465552,-0.09620694662842139,0.0,7.5707743906950835,0.0,0.0,-0.12273642254853939
2273 +5.213249554157973,6.6212752952833,-1.4080257411253267,0.0,-2.478744103400869,-0.030394787843877096,0.0,8.368542844490106,0.0,0.0,0.7618713420379408
2274 +7.623553966101819,5.7341322436140185,1.8894217224878007,0.0,-1.559724865232412,-0.04743839941072896,0.038910719344411995,7.835201635661309,0.0,0.0,-0.5328168467485624
2275 +,5.656662096549683,,0.0,-1.5820276787780072,0.023817050282860776,0.0024904528831925232,7.272614312948618,0.0,0.0,-0.06023204078698166
2276 +5.213249554157973,5.329107439236276,-0.11585788507830319,0.0,-1.849019731137373,-0.06461526216321006,0.017324634400523453,7.457893117382321,0.0,0.0,-0.2324753192459847
2277 +5.394808666736798,5.3148581269140704,0.07995053982272715,0.0,-1.9838574209191568,-0.10225737057129303,-0.012124622699479781,7.6352840890709555,0.0,0.0,-0.22218654796695592
2278 +4.430816798843313,-1.225283582721562,5.656100381564875,0.0,-0.6397926414261059,-0.18744399643789109,0.0024904528831925232,-0.5963811959256494,0.0,0.0,0.19584379818489303
2279 +,-2.817853224542383,,0.0,-1.9454634517628255,-0.0211108603695196,0.0,-0.5963811959256494,0.0,0.0,-0.25489771648438864
2280 +,-5.517212300377782,,0.0,-5.445670575635062,0.0623678771839739,0.0,0.0,0.0,0.0,-0.13390960192669438
2281 +,-5.537003825385554,,0.0,-5.237580002782122,-0.05669910430497084,0.0,0.0,0.0,0.0,-0.24272471829846076
2282 +,-4.1651387478527715,,0.0,-4.062868351670745,0.04088835179556207,0.0024904528831925232,0.0,0.0,0.0,-0.1456492008607806
2283 +3.912023005428146,-2.3461288559141664,6.258151861342313,0.0,-1.9431225029238686,0.04823699235288089,0.0024904528831925232,-0.2755748824268196,0.0,0.0,-0.17815891579955206
2284 +,-6.294591019019622,,0.0,-6.001865176241377,-0.08603789770538246,0.0,0.0,0.0,0.0,-0.20668794507286303
2285 +4.574710978503383,5.793006527349953,-1.2182955488465703,0.0,-1.5219998021088257,0.05102342282272395,0.038910719344411995,7.01815631560857,0.0,0.0,0.206915871683073
2286 +5.393627546352362,6.773411527184815,-1.3797839808324532,0.0,-1.3593452198866345,0.0028394499112687904,0.0024904528831925232,8.003529137642163,0.0,0.0,0.12389770663482694
2287 +8.094073148069352,6.433864848193825,1.660208299875527,0.0,-1.3867235987842141,-0.024412322060654253,0.04140117222760452,7.96466132436084,0.0,0.0,-0.16106172754974937
2288 +4.7535901911063645,-1.1777167390612329,5.931306930167597,0.0,-1.174659655085461,-0.01644804416844105,0.0,0.0,0.0,0.0,0.013390960192669438
2289 +4.836281906951478,4.587826753177488,0.24845515377398986,0.0,-2.041661756797022,-0.18979951216103735,0.019815087283715976,6.951070162323131,0.0,0.0,-0.15159722747129867
2290 +4.77912349311153,4.606183236958656,0.17294025615287367,0.0,-2.372169904298679,0.020847239587209118,0.026786096644932214,7.185148048685915,0.0,0.0,-0.2544282436607193
2291 +8.62317351495347,4.085269620260334,4.537903894693136,0.0,-5.044058803918037,-0.0026061026014493616,0.0,9.238202504200961,0.0,0.0,-0.10626797742113955
2292 +,5.064198205483588,,0.0,-1.7955335608799192,-0.1669876415803945,0.026786096644932214,6.799948090827415,0.0,0.0,0.19998522047155523
2293 +5.117993812416755,5.838148440326727,-0.720154627909972,0.0,-1.7124886470581053,0.08808310923142323,0.017324634400523453,7.676180622570681,0.0,0.0,-0.23095127881779295
2294 +4.897839799950911,5.186097746101749,-0.28825794615083744,0.0,-2.023753733364839,0.05617513302404164,0.0,7.563123221428082,0.0,0.0,-0.4094468749855376
2295 +5.099866427824199,4.735528196363315,0.3643382314608834,0.0,-2.7771989802322343,-0.07040182820919219,-0.012124622699479781,7.724072826100647,0.0,0.0,-0.12881919859642618
2296 +,-2.93196770990287,,0.0,-2.4598924067768815,0.060026968253786804,0.0,-0.43591624760373177,0.0,0.0,-0.0961860237760444
2297 +,-6.158061680986483,,0.0,-5.8197619345288825,-0.042656178520350876,0.0,0.0,0.0,0.0,-0.29564356793725
2298 +,-2.658111617781656,,0.0,-2.0546582801499893,0.010623875897118419,0.0024904528831925232,-0.43591624760373177,0.0,0.0,-0.18065141880824417
2299 +,-3.2653868715918435,,0.0,-1.9768864965203123,-0.010106809031285607,0.017324634400523453,-0.7428048932858148,0.0,0.0,-0.5529133071549565
2300 +,-3.3463072312045408,,0.0,-2.5314360792980546,-0.0010070250132256926,0.026786096644932214,-0.7423105607057928,0.0,0.0,-0.0983396628323996
2301 +,-5.031116516025448,,0.0,-5.075316376707785,-0.031001532370518108,0.0,0.0,0.0,0.0,0.07520139305285392
2302 +,-5.748985893159314,,0.0,-5.642407092803805,-0.017384938688564073,0.0,0.0,0.0,0.0,-0.08919386166694405
2303 +,-5.770664996040579,,0.0,-5.80171644008984,0.0836830337254504,0.0,0.0,0.0,0.0,-0.05263158967618911
2304 +,-5.863809744015913,,0.0,-5.730078125578972,0.012811825013806205,0.0,0.0,0.0,0.0,-0.14654344345074516
2305 +,-3.1864613760786176,,0.0,-6.104985603527501,0.062274717323099416,0.038910719344411995,0.0,0.0,0.0,2.8173387907813736
2306 +3.4965075614664802,-2.4846063712170774,5.981113932683558,0.0,-1.957500906529063,-0.027541447020367343,0.0024904528831925232,-0.2765635475868635,0.0,0.0,-0.22549092296397472
2307 +,-2.4906062853907955,,0.0,-5.426618066620607,0.07972224009567612,0.038910719344411995,0.0,0.0,0.0,2.8173788217897244
2308 +5.159055299214529,-2.5933705609460045,7.752425860160534,0.0,-1.8371422692939952,-0.04758028732845183,0.0,-0.4365341633287592,0.0,0.0,-0.2721138409947984
2309 +,-2.104490757145058,,0.0,-1.52825877163351,0.05969001610819168,0.017324634400523453,-0.7428048932858148,0.0,0.0,0.08955825726555297
2310 +,-3.0677056271014,,0.0,-1.8910152978893464,-0.028252157559490086,0.026786096644932214,-0.7423105607057928,0.0,0.0,-0.432913707591702
2311 +4.343805421853684,-0.6737006071457566,5.017506028999441,0.0,-0.5923588901334904,0.003973429187189206,0.0024904528831925232,-0.5963811959256494,0.0,0.0,0.5085755968430025
2312 +5.342334251964811,-1.9928888125962498,7.3352230645610605,0.0,-1.9048247222866523,0.09014900539183374,0.0,-0.5978641936657153,0.0,0.0,0.41965109796428507
2313 +5.7430031878094825,-5.48085240680165,11.223855594611132,0.0,-5.248329618357037,-0.06211539786362292,0.029449257100003234,0.0,0.0,0.0,-0.19985664768099398
2314 +,-4.838372500319571,,0.0,-4.862688845010236,0.06838940329166311,0.0,0.0,0.0,0.0,-0.04407305860099715
2315 +3.332204510175204,-2.3178104889176043,5.650014999092808,0.0,-1.9002849124303305,-0.02742194702372016,0.0024904528831925232,-0.27470980041178117,0.0,0.0,-0.11788428193496353
2316 +4.6443908991413725,-2.1557184222713923,6.800109321412765,0.0,-1.684211031680876,0.007036247250609012,0.0,-0.4367813296187702,0.0,0.0,-0.0417623082223568
2317 +4.5217885770490405,-2.7316976345711876,7.253486211620228,0.0,-1.9718982992695784,0.045183773015734355,0.0,-0.5963811959256494,0.0,0.0,-0.20860191239169468
2318 +,-2.6746992064704345,,0.0,-2.487009981384766,0.03621477807484781,0.0,-0.27792296218192397,0.0,0.0,0.05401895902140799
2319 +,-4.833217301708968,,0.0,-4.948704391059135,-0.004896926703150516,0.0,0.0,0.0,0.0,0.12038401605331658
2320 +5.030437921392435,-4.549350646136017,9.579788567528453,0.0,-5.496487770951983,0.024330045173983916,0.029449257100003234,0.0,0.0,0.0,0.8933578225419785
2321 +3.7376696182833684,-2.6280695885272416,6.36573920681061,0.0,-2.1981865892150125,0.07201333341759947,-0.012124622699479781,-0.27606921500684156,0.0,0.0,-0.21370249502350783
2322 +,-2.5676155587209193,,0.0,-2.268637340691698,0.1233940999634741,0.04140117222760452,-0.43715207905378667,0.0,0.0,-0.026621411166512093
2323 +,-2.2261052397278696,,0.0,-2.132345852641823,0.12569562285427202,0.0,-0.27347396896172627,0.0,0.0,0.05401895902140799
2324 +,-2.408297192169456,,0.0,-2.5044198903534896,-0.02286611333869874,0.0,-0.12128909135517658,0.0,0.0,0.24027790287790965
2325 +,-5.505813621582145,,0.0,-5.6794494002227704,-0.058382363908035875,0.0,0.0,0.0,0.0,0.23201814254865924
2326 +4.465908118654584,-6.572639210449468,11.038547329104052,0.0,-6.419882340618857,-0.06165437929646715,0.0,0.0,0.0,0.0,-0.09110249053414504
2327 +4.663439094112067,-2.5369670746379964,7.200406168750064,0.0,-1.7599880104950083,-0.11114306436254551,0.0,-0.5963811959256494,0.0,0.0,-0.06945480385479352
2328 +4.948759890378168,-3.8347865465335484,8.783546436911717,0.0,-4.420177697673899,-0.10105464897886945,0.0,0.0,0.0,0.0,0.6864458001192217
2329 +3.6109179126442243,-2.416046634122569,6.026964546766793,0.0,-1.944177039791792,0.09791758246214018,0.0,-0.43715207905378667,0.0,0.0,-0.13263509773913024
2330 +,-4.988848320101305,,0.0,-4.896880195357778,0.036498582969974644,0.0024904528831925232,0.0,0.0,0.0,-0.13095716059669466
2331 +,-6.339344070128021,,0.0,-6.114515114169333,-0.017022914906480516,0.0,0.0,0.0,0.0,-0.2078060410522084
2332 +,-5.187674514138798,,0.0,-5.208225171900912,-0.022887958842127423,0.0,0.0,0.0,0.0,0.04343861660424267
2333 +,-2.592231907347675,,0.0,-1.8464125213827636,-0.18309197855788942,0.0,-0.5963811959256494,0.0,0.0,0.03365378851862852
2334 +,-5.249084028589519,,0.0,-5.241799975472345,0.01670919787520675,0.04140117222760452,0.0,0.0,0.0,-0.06539442321998543
2335 +,-2.2347983220119882,,0.0,-1.7262363452110465,-0.09236869287494907,0.04140117222760452,-0.4364105801837537,0.0,0.0,-0.021183875969843335
2336 +5.572154032177765,-5.491849120881684,11.06400315305945,0.0,-5.487921173567974,0.022289908920650903,0.0024904528831925232,0.0,0.0,0.0,-0.028708309117554127
2337 +4.890349128221754,-2.930739303204922,7.821088431426675,0.0,-2.049428763908689,-0.1466416701882546,0.0,-0.5963811959256494,0.0,0.0,-0.13828767318232688
2338 +3.58351893845611,4.77350241023998,-1.1899834717838704,0.0,-2.2554285514732317,-0.08355266387403079,0.0,7.215711433299898,0.0,0.0,-0.10322780771265522
2339 +7.413970290190444,7.3593117978422145,0.054658492348229615,0.0,-0.7744339864547287,0.041895428877755186,0.0024904528831925232,8.148204090083695,0.0,0.0,-0.05884418754769963
2340 +,4.894153619692544,,0.0,-2.924933164725264,0.018178677319684255,0.0,8.224106153679404,0.0,0.0,-0.4231980465812797
2341 +7.953318346560431,6.156130356274165,1.7971879902862664,0.0,-2.466741195665028,0.16869050543451236,0.0,8.471111317047619,0.0,0.0,-0.01693027054293832
2342 +7.738052297689316,7.305041377014604,0.4330109206747119,0.0,-0.7186368949196931,0.04433991784403677,0.04140117222760452,8.063013613403083,0.0,0.0,-0.125076431540426
2343 +7.850882664809852,5.791078187625504,2.059804477184348,0.0,-1.7906982453234717,-0.17071533664337762,0.017324634400523453,7.502335594590398,0.0,0.0,0.23283154060143238
2344 +5.318119993844216,5.26914084739028,0.048979146453936195,0.0,-1.9030807444240034,-0.02773718609439399,0.03193970998319576,7.2330735872095095,0.0,0.0,-0.0650545192840282
2345 +,5.484435901133566,,0.0,-1.8251568996057213,-0.1042844220597603,0.0,7.403706946243018,0.0,0.0,0.010170276556030117
2346 +,6.202451842106968,,0.0,-1.2145908219114059,-0.11156046248738939,0.038910719344411995,6.774914143340351,0.0,0.0,0.7147782638210007
2347 +4.2626798770413155,-4.379085827180303,8.64176570422162,0.0,-4.3772584319950045,0.08979614936042597,0.04140117222760452,0.0,0.0,0.0,-0.13302471677333005
2348 +4.812184355372417,-6.165852707222201,10.978037062594618,0.0,-5.768616445222666,-0.04778856617795699,0.0,0.0,0.0,0.0,-0.3494476958215792
2349 +,-5.1178665147970746,,0.0,-5.20834588811919,-0.006822121825014158,0.04140117222760452,0.0,0.0,0.0,0.05590032291952515
2350 +3.8066624897703196,-5.78027466553531,9.58693715530563,0.0,-5.6050160113601395,-0.04650269055939958,0.0024904528831925232,0.0,0.0,0.0,-0.13124641649896276
2351 +,-6.199263958587396,,0.0,-5.7966985388104835,-0.13215470623300102,0.0,0.0,0.0,0.0,-0.27041071354391133
2352 +,-5.550894763933087,,0.0,-5.490947786702225,-0.15148221988974683,0.04140117222760452,0.0,0.0,0.0,0.050134070431281014
2353 +5.075173815233827,6.197006803781901,-1.121832988548074,0.0,-1.8810894024839175,-0.04680729419525164,0.0024904528831925232,8.368542844490106,0.0,0.0,-0.24612979691222833
2354 +,5.178813294585959,,0.0,-1.631065207867442,-0.016390135545065444,0.026786096644932214,6.993573276707926,0.0,0.0,-0.1940907353543901
2355 +8.255048902752295,4.846962220411635,3.4080866823406595,0.0,-2.413969661545212,-0.01803803477868993,0.017324634400523453,7.366075693968812,0.0,0.0,-0.10443041163379746
2356 +,6.697853834907919,,0.0,-1.1974911058979893,-0.07058206092156186,0.0,7.6979454141327395,0.0,0.0,0.2679815875947289
2357 +9.587268821942159,5.7744733652164015,3.812795456725757,0.0,-1.6926380789987903,0.007800197190973912,0.029449257100003234,7.501470512575359,0.0,0.0,-0.07160852265114526
2358 +4.836281906951478,-6.468931569636701,11.305213476588179,0.0,-5.82113534356073,-0.01341147344349651,0.0,0.0,0.0,0.0,-0.634384752632474
2359 +5.117993812416755,5.911055011536735,-0.7930611991199799,0.0,-1.4029211992477189,-0.009418629575368438,0.029276549528124737,7.053876535517665,0.0,0.0,0.24024175531403488
2360 +7.432483807917119,6.143581789194995,1.2889020187221245,0.0,-1.8211327123243688,0.10657901823190111,0.0024904528831925232,7.847389112109314,0.0,0.0,0.008255918294958198
2361 +5.723585101952381,5.411974179729112,0.31161092222326836,0.0,-1.966578838443331,-0.10611988299767752,-0.012124622699479781,7.6490128240558075,0.0,0.0,-0.15221530018620658
2362 +6.2766434893416445,6.396563808924831,-0.11992031958318616,0.0,-1.4119157648389384,0.09180997464775037,0.017324634400523453,7.5746687841164295,0.0,0.0,0.12467618059906688
2363 +7.786551806428712,6.523057114694063,1.2634946917346488,0.0,-1.4857798033887546,-0.050437319319258093,0.0,8.280781835129236,0.0,0.0,-0.22150759772715958
2364 +7.58629630715272,6.943038318040952,0.6432579891117678,0.0,-1.5442659512995212,-0.13952081825733006,0.04140117222760452,8.442235448611198,0.0,0.0,0.1431884667590023
2365 +5.384495062789089,5.648154201762434,-0.26365913897334536,0.0,-1.9051767500525552,-0.08704233765068713,0.026786096644932214,7.342820248919748,0.0,0.0,0.2707669439009974
2366 +4.912654885736052,5.86731816043076,-0.9546632746947079,0.0,-1.7617888018654462,0.03553123119463583,0.0024904528831925232,7.87492562629849,0.0,0.0,-0.28384034808011027
2367 +,3.2424520847258194,,0.0,-5.718067726193759,0.026637777000380974,0.029449257100003234,9.0784399922403,0.0,0.0,-0.17400721542110453
2368 +5.198497031265826,5.562481997064584,-0.3639849657987577,0.0,-2.124497893121382,-0.051870039820365046,0.03193970998319576,7.706505030291938,0.0,0.0,0.00040518973119637106
2369 +7.02197642307216,3.7117818302836785,3.3101945927884815,0.0,-5.0220399541286955,-0.09838678846719062,0.0,9.0784399922403,0.0,0.0,-0.24623141936073595
2370 +4.709530201312334,3.52971184293054,1.179818358381794,0.0,-5.700591461765843,-0.1767665863877099,0.04140117222760452,9.238202504200961,0.0,0.0,0.1274662146555271
2371 +4.532599493153256,5.172880506059842,-0.6402810129065859,0.0,-2.03032324448328,-0.040564120416011346,0.017324634400523453,6.897751286136262,0.0,0.0,0.3286919504223481
2372 +7.922623574217286,5.0904660154380466,2.8321575587792394,0.0,-3.9876963246066293,-0.18714310944291715,0.0024904528831925232,9.0784399922403,0.0,0.0,0.1843750043641019
2373 +,7.036737462859867,,0.0,-1.1074626516357613,-0.13299119718692692,0.0024904528831925232,8.442235448611198,0.0,0.0,-0.16753458981183578
2374 +7.271703706887368,5.811280294907452,1.4604234119799155,0.0,-1.773965352116627,0.06521700081253788,0.029449257100003234,7.723074195103696,0.0,0.0,-0.23249480599215694
2375 +5.552959584921617,5.179972259278741,0.3729873256428764,0.0,-2.1906581022350293,-0.01510125365823533,0.017324634400523453,7.2954695632920625,0.0,0.0,0.07293741747941913
2376 +4.564348191467836,4.663496909876522,-0.09914871840868589,0.0,-1.7737102832111917,-0.0793433742540092,0.0,6.772980422334502,0.0,0.0,-0.2564298549927782
2377 +4.574710978503383,5.04816123859633,-0.4734502600929469,0.0,-1.6690794670376379,-0.02629317151470619,0.0024904528831925232,6.760130888425332,0.0,0.0,-0.019087464159849382
2378 +7.914252278742441,6.660989848249605,1.2532624304928364,0.0,-2.025662192427572,0.05834264199527696,0.0,8.442235448611198,0.0,0.0,0.18607395007070165
2379 +5.497168225293202,5.644577201024503,-0.14740897573130063,0.0,-0.8566548113992525,0.05774597116072795,0.029449257100003234,6.595385837687656,0.0,0.0,-0.18134905352463046
2380 +7.914252278742441,5.67127539765658,2.242976881085861,0.0,-2.2728744303968345,0.11184608396218296,0.038910719344411995,8.003529137642163,0.0,0.0,-0.2101361128953432
2381 +5.489557368849238,5.992495152533899,-0.5029377836846614,0.0,-1.9806289843913278,-0.059664631726509786,-0.012124622699479781,8.109478440835934,0.0,0.0,-0.0645650494847167
2382 +,5.799837266634788,,0.0,-1.0678059379451508,-0.04122787656573494,0.029449257100003234,6.972255502592187,0.0,0.0,-0.09283367854651725
2383 +5.724630307169039,6.383759959136784,-0.6591296519677448,0.0,-1.3312623556580325,-0.03454002494394942,0.0,7.705318716502797,0.0,0.0,0.044243623235968074
2384 +5.458904431195985,5.0913279917736975,0.36757643942228757,0.0,-1.7379802019973214,-0.12205805023094277,0.017324634400523453,7.034724554721796,0.0,0.0,-0.10068294512035639
2385 +7.538941945819262,6.079636954495893,1.4593049913233695,0.0,-1.651902249812978,-0.06438611819485698,0.029276549528124737,7.938758773378865,0.0,0.0,-0.17211000040326171
2386 +6.558821721609627,-5.072945796479155,11.631767518088783,0.0,-4.902706187311821,-0.10199581402241092,0.0024904528831925232,0.0,0.0,0.0,-0.07073424802811572
2387 +6.9317940193080405,7.033805800169509,-0.10201178086146889,0.0,-1.5232595926705583,0.0012486222389810515,0.0,8.442235448611198,0.0,0.0,0.11358132198988952
2388 +7.342131730584722,4.104627911715517,3.2375038188692047,0.0,-4.909043536218455,-0.0619894774228608,0.0024904528831925232,9.0784399922403,0.0,0.0,-0.005269519766657349
2389 +,5.588232664854535,,0.0,-1.5895906785570855,-0.01868898994327518,0.0024904528831925232,6.680669890920002,0.0,0.0,0.5133519895517006
2390 +7.413017455435173,5.492023702978992,1.920993752456181,0.0,-4.032878956489895,0.19964986778739297,0.0024904528831925232,9.0784399922403,0.0,0.0,0.2443223465580022
2391 +,3.6871148371737754,,0.0,-5.343231564370575,-0.07253588545300581,0.029449257100003234,9.0784399922403,0.0,0.0,-0.005006962342946564
2392 +,6.282676600598547,,0.0,-1.682933235092694,-0.12011329756049081,0.0,8.142005760707164,0.0,0.0,-0.05628262745543205
2393 +9.029537661151497,6.101190536331103,2.9283471248203945,0.0,-1.8866871422230629,-0.022276065283127026,0.0,7.806597159593633,0.0,0.0,0.2035565842436615
2394 +,5.564385465610514,,0.0,-0.8023035773235465,-0.07565876661447296,0.017324634400523453,6.661194574034749,0.0,0.0,-0.23617139888673858
2395 +5.4289069362516384,6.111332984061326,-0.6824260478096873,0.0,-1.3917789726019674,-0.037363463287735696,0.0,7.587278904980998,0.0,0.0,-0.046803485029969616
2396 +,5.457927770451975,,0.0,-1.9738738557195452,-0.00939587821985954,0.029449257100003234,7.530067380088036,0.0,0.0,-0.11831913279665775
2397 +7.4693063359330205,5.872082722538895,1.5972236133941253,0.0,-1.6110299749204753,-0.10519460335779218,0.0024904528831925232,7.839575000796945,0.0,0.0,-0.25375815286297293
2398 +,6.57008022566903,,0.0,-1.5137804175196043,-0.15799697580694938,0.03193970998319576,8.031473113793162,0.0,0.0,0.17844479521922482
2399 +7.51979543568496,5.947130960651662,1.5726644750332985,0.0,-1.3337822605584044,-0.15119964603542754,0.0,7.393632081243865,0.0,0.0,0.03848078600162799
2400 +4.74493212836325,5.99643663975127,-1.2515045113880197,0.0,-2.026592686088068,-0.0303196958669587,0.0,8.05519435399756,0.0,0.0,-0.00184533229126577
2401 +4.875197323201151,4.671138520284143,0.2040588029170083,0.0,-3.1917459645185255,-0.05305729517466941,0.0,8.072848412518317,0.0,0.0,-0.15690663254097875
2402 +,5.2380402968565605,,0.0,-1.4615061031438676,0.001692857456676699,0.026786096644932214,6.712464630333908,0.0,0.0,-0.04139718443508564
2403 +,6.343977131955479,,0.0,-1.3725544972149573,-0.08171194250204211,0.038910719344411995,7.785300761299001,0.0,0.0,-0.02596790897093644
2404 +7.6246189861593985,7.878039063406111,-0.25342007724671234,0.0,-0.9789570301165647,0.03765341324452204,0.0024904528831925232,8.849976751964636,0.0,0.0,-0.03312452456967496
2405 +5.480638923341991,5.402941994489366,0.07769692885262547,0.0,-2.164599866105969,-0.010758253218354996,0.017324634400523453,7.502335594590398,0.0,0.0,0.0586398848227692
2406 +4.897839799950911,5.097749980623348,-0.19991018067243704,0.0,-2.0341742374867717,-0.266541609084354,0.017324634400523453,7.522177949190206,0.0,0.0,-0.14103675639625524
2407 +,4.90534955802197,,0.0,-1.8736973223315632,-0.0783708957504391,0.026786096644932214,7.113105520884234,0.0,0.0,-0.2824738414251927
2408 +4.634728988229636,5.495942667622345,-0.8612136793927094,0.0,-1.6832989832467415,0.06662923142967268,0.029449257100003234,6.864722599074242,0.0,0.0,0.21844056326517028
2409 +7.338888133838879,6.824410484808432,0.5144776490304475,0.0,-0.8585467820219881,-0.009591884253186439,0.029276549528124737,7.949660307232322,0.0,0.0,-0.28638770567683935
2410 +4.406719247264253,4.749207321492688,-0.3424880742284344,0.0,-2.686741828688814,0.032243833841367205,0.038910719344411995,7.432894879580493,0.0,0.0,-0.0681002825847689
2411 +3.6888794541139363,4.612060624141625,-0.9231811700276888,0.0,-2.250573507165311,-0.07844657440139788,0.0024904528831925232,7.04187497368394,0.0,0.0,-0.10328472085879747
2412 +,6.255807415029741,,0.0,-1.4359795940309361,-0.030712744014003163,0.017324634400523453,7.883835338061308,0.0,0.0,-0.17866021938715304
2413 +,4.595580144459093,,0.0,-1.6759916800160921,0.013436492911973671,0.0,6.721584667307297,0.0,0.0,-0.46344933574408564
2414 +,4.65774134141605,,0.0,-2.3007566770711305,-0.06457707646999764,0.017324634400523453,7.284894530083472,0.0,0.0,-0.27914406952681753
2415 +,5.809730399212087,,0.0,-1.0705813357499059,-0.13501441894657099,0.0,7.059567795441665,0.0,0.0,-0.04424164153310001
2416 +4.762173934797756,6.013768206391298,-1.2515942715935413,0.0,-1.7271279173436946,0.03817403911522836,0.0,7.710317316651559,0.0,0.0,-0.007595232031793547
2417 +4.204692619390966,5.827084070469199,-1.622391451078233,0.0,-1.8148294852511047,0.04659895162245417,0.0,7.895138730333313,0.0,0.0,-0.2998241262354646
2418 +4.3694478524670215,5.983422827827374,-1.6139749753603523,0.0,-2.3018025011754846,0.020505836478429698,0.0,8.529170438465806,0.0,0.0,-0.26445094594137886
2419 +,5.528989199493979,,0.0,-1.955688773278899,0.06497062643583033,0.017324634400523453,7.622364150076973,0.0,0.0,-0.2199814381404479
2420 +4.709530201312334,5.392379684943949,-0.6828494836316148,0.0,-2.123488723812966,-0.006004393475826916,0.029449257100003234,7.622146495346896,0.0,0.0,-0.1297229502141586
2421 +4.897839799950911,5.502919101826129,-0.6050793018752181,0.0,-1.687543119275512,-0.014806883275944746,0.017324634400523453,7.060185711166692,0.0,0.0,0.12775875881037096
2422 +4.553876891600541,5.471520795624606,-0.9176439040240654,0.0,-1.4462023283317738,-0.21649961806309617,0.017324634400523453,7.206684711427562,0.0,0.0,-0.0897866038086084
2423 +,6.183157248821476,,0.0,-1.8197829396942424,-0.04800729546734499,0.0,8.029764702841453,0.0,0.0,0.021182781141610894
2424 +,5.901394967586818,,0.0,-2.150046046471256,-0.026014107437608142,0.0,8.16813096531973,0.0,0.0,-0.0906758438240503
2425 +8.781708985836179,5.231631231069663,3.550077754766516,0.0,-2.301519548756434,-0.06560728327741043,0.0,7.915225876531526,0.0,0.0,-0.3164678134280182
2426 +,5.0985854719499,,0.0,-2.031833314103425,-0.047520566296798,0.038910719344411995,7.435842083925076,0.0,0.0,-0.29681345091936645
2427 +4.248495242049359,5.762995408158955,-1.5145001661095954,0.0,-1.4672091520198487,0.11878494213171242,0.038910719344411995,6.922913140460287,0.0,0.0,0.149595758242392
2428 +4.976733742420574,6.039985870698575,-1.063252128278001,0.0,-1.1030426063991667,-0.07164024668961563,0.0,7.26519066718566,0.0,0.0,-0.050521943398306346
2429 +7.2485040723706105,6.153309196403849,1.0951948759667616,0.0,-1.6495638347268153,-0.02969953691140126,-0.009634169816287258,7.816122412389874,0.0,0.0,0.026084325468478137
2430 +4.962844630259907,6.0053687557764235,-1.0425241255165165,0.0,-1.6837051337239126,0.07807135848459541,0.019815087283715976,7.586461285050683,0.0,0.0,0.004726158681340603
2431 +8.329175442077402,7.6882874923164035,0.640887949760998,0.0,-0.32520021559743917,-0.07158983554380213,0.0,8.368705490143888,0.0,0.0,-0.2836279466862444
2432 +5.602118820879701,5.4327900632398585,0.16932875763984256,0.0,-1.382816413890426,-0.051353678013986104,0.0024904528831925232,6.903588590305365,0.0,0.0,-0.03911888804428666
2433 +,5.634809579811873,,0.0,-1.7436465198897038,-0.12581781667725817,0.017324634400523453,7.44885609450413,0.0,0.0,0.03809318747418139
2434 +6.984716320118266,5.094003084888641,1.890713235229625,0.0,-2.448062459209738,-0.09100401023117347,0.038910719344411995,8.064753453662535,0.0,0.0,-0.47059461867739383
2435 +5.198497031265826,5.29074209769889,-0.09224506643306363,0.0,-1.4918241935227314,-0.17337999392837788,0.029449257100003234,6.8314702632162945,0.0,0.0,0.09502676483370101
2436 +,5.772556926806845,,0.0,-2.1519912960157273,0.002487614607448306,0.0,8.16813096531973,0.0,0.0,-0.24607035710460495
2437 +6.089838211466242,5.934529928326959,0.15530828313928335,0.0,-1.8135811228376655,0.007727675199555313,-0.012124622699479781,7.99718864423207,0.0,0.0,-0.24468064556752045
2438 +,4.486469717977251,,0.0,-2.389812414819458,-0.10613859951660294,0.029449257100003234,7.063673112962891,0.0,0.0,-0.110701637749582
2439 +5.22805583350737,5.805646072876212,-0.5775902393688419,0.0,-1.7565657249056335,-0.07694578312218806,0.038910719344411995,7.85857300810844,0.0,0.0,-0.2583261465488199
2440 +5.049663681063734,6.191230007751424,-1.1415663266876903,0.0,-1.5742979230579701,-0.0022590643531848337,0.0,7.5291849485645415,0.0,0.0,0.23860204659803716
2441 +4.904607889450726,4.780777618225871,0.1238302712248549,0.0,-2.171281397250543,0.002524601829548445,0.0,7.184638832835926,0.0,0.0,-0.23510441918905764
2442 +4.895748061551898,5.04317721807883,-0.14742915652693167,0.0,-2.1365980854721434,-0.07490082258150557,0.026786096644932214,7.513066411664087,0.0,0.0,-0.2851763821765396
2443 +3.8031005982039594,4.962630660156493,-1.1595300619525335,0.0,-2.0101302709577356,0.0038756668161105887,0.038910719344411995,7.085965498004469,0.0,0.0,-0.15599095305076202
2444 +,5.122684410253359,,0.0,-2.215642436498352,-0.021178280497575606,-0.012124622699479781,7.512201329649049,0.0,0.0,-0.14057157970028197
2445 +7.114793838312928,5.404735528890524,1.7100583094224042,0.0,-1.922137677032854,0.07809457280006302,0.0,7.489815916591365,0.0,0.0,-0.2410372834680499
2446 +5.58781029840378,4.90179220876415,0.6860180896396297,0.0,-2.2424117445143326,-0.10844041597730415,0.019815087283715976,7.300317134534951,0.0,0.0,-0.06748785256288156
2447 +,5.885992691757531,,0.0,-1.5415460611062963,-0.11095743809226186,0.0,7.431957576980097,0.0,0.0,0.10653861397599065
2448 +5.612288337822736,6.958643870048567,-1.3463555322258305,0.0,-1.8875355236466156,-0.09132791875717833,0.017324634400523453,8.063013613403083,0.0,0.0,0.8571690646487543
2449 +,4.917553260946513,,0.0,-2.3083998314716823,-0.10829460803669136,0.017324634400523453,7.187394357731913,0.0,0.0,0.12952870832245159
2450 +5.937958279584841,5.560523285303534,0.3774349942813071,0.0,-1.7032962683945572,-0.12056881668074798,0.017324634400523453,7.450957007969223,0.0,0.0,-0.08389327199090948
2451 +5.107398962528563,4.948610483858379,0.15878847867018475,0.0,-1.4914248071779115,-0.1047390891213649,0.017324634400523453,6.679066592496757,0.0,0.0,-0.15161684673962397
2452 +,5.172194646161635,,0.0,-4.088888788898597,0.06644086589663037,0.0024904528831925232,9.238202504200961,0.0,0.0,-0.04605038792055202
2453 +,5.446414830385171,,0.0,-0.8092845501579307,-0.046351709683399314,0.026786096644932214,6.38136967957882,0.0,0.0,-0.10610468599725081
2454 +4.940498911907225,6.499131307271067,-1.5586323953638415,0.0,-1.4358919576474678,-0.1031964040339955,-0.009634169816287258,7.691545506229417,0.0,0.0,0.3563083325394001
2455 +7.548956320518892,4.090423751562518,3.4585325689563735,0.0,-5.077197361411237,0.12981291167530923,0.0,9.238202504200961,0.0,0.0,-0.20039430290251428
2456 +5.1084876942637605,4.838052180219802,0.2704355140439585,0.0,-2.221513887853435,-0.04969704922070231,0.017324634400523453,7.121853924629136,0.0,0.0,-0.02991544173572039
2457 +,-6.039311517973292,,0.0,-5.825713041590344,-0.09077656988736245,0.0,0.0,0.0,0.0,-0.12282190649558461
2458 +5.502441184024992,7.275365710389599,-1.7729245263646067,0.0,-0.6086416902677358,-0.15879941138449782,0.029276549528124737,8.031473113793162,0.0,0.0,-0.017942851279452415
2459 +8.001502418648938,6.565020673946772,1.4364817447021663,0.0,-1.870673297471674,-0.011929173394672102,0.0,8.529170438465806,0.0,0.0,-0.08154729365268795
2460 +8.751925334860884,6.167789536978771,2.584135797882113,0.0,-1.6893631686538582,-0.06558414606068903,0.017324634400523453,7.936449756132538,0.0,0.0,-0.031037538839742487
2461 +8.637568419991206,6.914151096139341,1.7234173238518649,0.0,-1.535486753328466,-0.12959029776929398,0.04140117222760452,8.442235448611198,0.0,0.0,0.09559152639829879
2462 +5.878435816809977,5.692786603890703,0.18564921291927394,0.0,-1.8799969111622747,-0.12454908340271725,0.029449257100003234,7.685564749192335,0.0,0.0,-0.017681407836644503
2463 +7.510501708745358,6.316623031817837,1.193878676927521,0.0,-1.864170778420247,-0.06287677229118828,0.0,8.002388028873966,0.0,0.0,0.2412825536553083
2464 +5.209267549714526,4.975992016151147,0.23327553356337916,0.0,-1.7567455276962853,-0.12440544899901673,0.017324634400523453,6.933939642731156,0.0,0.0,-0.09412128428523009
2465 +9.520468633257794,4.981279147241904,4.53918948601589,0.0,-2.956643196311462,0.08940864280741234,0.026786096644932214,7.789565519025894,0.0,0.0,0.032162085075128036
2466 +5.088398482561978,4.153112195762055,0.935286286799923,0.0,-4.951774561181106,-0.02075265947716637,0.029449257100003234,9.238202504200961,0.0,0.0,-0.14201234488063713
2467 +7.0170311197413335,6.118998360639156,0.8980327591021773,0.0,-2.111722099558519,-0.05741269480008048,0.0,8.529170438465806,0.0,0.0,-0.2410372834680499
2468 +4.305010592025198,5.080468345323584,-0.7754577532983857,0.0,-2.7220736364365754,-0.05503250065464389,0.0,7.981208638172884,0.0,0.0,-0.12363415575807998
2469 +5.471808381957175,5.155627114969692,0.31618126698748217,0.0,-1.7088904896417487,-0.08207590011770753,0.0,6.966896628763653,0.0,0.0,-0.020303124034503146
2470 +,5.730091756543155,,0.0,-1.78794856181326,0.021695337251110114,0.017324634400523453,7.621993400641957,0.0,0.0,-0.1429730539371736
2471 +,5.1376649528984295,,0.0,-1.8956205395547263,-0.06958149056481079,0.017324634400523453,7.18159637167736,0.0,0.0,-0.09605402305991678
2472 +,4.8147443549130005,,0.0,-2.2320048397519505,-0.10465579850034987,-0.012124622699479781,7.2642457448901,0.0,0.0,-0.10071612902532097
2473 +5.25603597429143,5.697032781508541,-0.4409968072171102,0.0,-1.9659822168022698,-0.04418052084851229,0.017324634400523453,7.707988028032004,0.0,0.0,-0.018117143273204607
2474 +,5.353975876936837,,0.0,-1.8493911639736247,-0.005157302770822207,0.0,7.009045382969314,0.0,0.0,0.19947896071196847
2475 +4.29510616264318,5.749570214863596,-1.4544640522204153,0.0,-1.7403880467862347,0.106849288718799,0.038910719344411995,7.041057547810887,0.0,0.0,0.30314070577573293
2476 +,6.059759483153462,,0.0,-1.5287077540001635,-0.08513529249559383,0.029276549528124737,7.9960763959270205,0.0,0.0,-0.3517504158059252
2477 +5.529468769263775,5.922423007972707,-0.3929542387089322,0.0,-1.3534944071258233,-0.06415866767266547,0.038910719344411995,7.11927674792861,0.0,0.0,0.18188861549817367
2478 +5.60363059270576,6.137525230603515,-0.5338946378977552,0.0,-1.6556032133640715,-0.0941637679519057,0.029449257100003234,7.774833496996793,0.0,0.0,0.08300945782269578
2479 +,5.496928290885851,,0.0,-2.045100888813364,-0.06113233976890843,0.017324634400523453,7.676180622570681,0.0,0.0,-0.09034373750308118
2480 +,5.73811611504836,,0.0,-2.699447325899829,0.1689275945472422,0.0,8.471111317047619,0.0,0.0,-0.20247547064667043
2481 +,5.696522074524029,,0.0,-1.8311376092702112,-0.049575718737195996,0.0,7.4352701136136226,0.0,0.0,0.14196528891781224
2482 +,5.854385388705097,,0.0,-0.925311638630208,-0.06124698415520578,0.026786096644932214,6.609534719036361,0.0,0.0,0.20462319580922003
2483 +,4.872531496843466,,0.0,-1.7906000324964753,-0.13184606140757174,0.017324634400523453,6.835040888211942,0.0,0.0,-0.057387931864952835
2484 +,6.846193509169112,,0.0,-1.4071081620628165,0.03487449557741672,0.0024904528831925232,8.16949037991479,0.0,0.0,0.04644634285652918
2485 +7.197435354096591,5.260709089174742,1.936726264921849,0.0,-4.39356328132522,0.16412076814425344,0.0,9.238202504200961,0.0,0.0,0.25194909815474825
2486 +7.442492722794441,6.217753465285449,1.2247392575089915,0.0,-1.343670969747337,-0.05974137459319989,0.0,7.603416389052137,0.0,0.0,0.017749420573849678
2487 +6.78105762593618,6.40602083828064,0.3750367876555396,0.0,-1.5603443959836198,-0.07511386081750117,0.0024904528831925232,8.129711495919775,0.0,0.0,-0.09072285372120567
2488 +5.68697535633982,5.209195527287062,0.47777982905275795,0.0,-2.4511668299813776,-0.04468046118418724,-0.012124622699479781,7.947930143202245,0.0,0.0,-0.23076270205013877
2489 +7.3279776280652085,5.225915801570592,2.1020618264946167,0.0,-2.3968494234333493,-0.12093179592520927,0.0,8.0526376831751,0.0,0.0,-0.30894066224594996
2490 +,6.418679961069647,,0.0,-1.9172209566078662,-0.038752248205443277,0.0,8.005135718527233,0.0,0.0,0.369517447355724
2491 +4.525477417078843,5.461048559202,-0.9355711421231572,0.0,-1.5309715477200774,-0.02518768375693882,0.029449257100003234,7.201664260108838,0.0,0.0,-0.21390572652982406
2492 +,5.743394841584355,,0.0,-1.5197303148367158,0.1687613105434626,0.0,6.9598491537502465,0.0,0.0,0.1345146921273651
2493 +5.267961246533138,5.748965853146304,-0.48100460661316635,0.0,-1.4612575890073467,-0.11194883936785786,0.029449257100003234,7.511583413924021,0.0,0.0,-0.21886038950251546
2494 +5.209267549714526,5.5156378371134025,-0.3063702873988765,0.0,-1.9379649770346923,0.09819425280559514,0.017324634400523453,7.418429688097993,0.0,0.0,-0.08034576115601663
2495 +,5.766384856013036,,0.0,-2.0848486993650557,0.044799027933771454,0.029449257100003234,8.007132621909014,0.0,0.0,-0.23014735156469682
2496 +,5.053458981563475,,0.0,-1.8379824337630541,0.02606995432177371,0.0,6.876563040631485,0.0,0.0,-0.011191579626729856
2497 +4.556714965718688,5.77975284162065,-1.2230378759019622,0.0,-1.8260126038731173,-0.06628414802185517,0.0,7.773994238722716,0.0,0.0,-0.10194464520709334
2498 +5.876726869637559,5.873923948898579,0.0028029207389801414,0.0,-1.8407206063623134,-0.022272896432114657,0.017324634400523453,7.816122412389874,0.0,0.0,-0.09652959509739137
2499 +6.828712071641684,7.2587093442400885,-0.4299972725984045,0.0,-1.1209065086900631,-0.11980282602690577,0.04140117222760452,8.222776125363746,0.0,0.0,0.23524138136570763
2500 +,5.7075704055782595,,0.0,-1.8108080176376982,-0.10721686435174185,0.029449257100003234,7.856842844078363,0.0,0.0,-0.26069681361066704
2501 +3.6635616461296463,-5.636371266402461,9.299932912532107,0.0,-5.572979814574897,0.11424458534605722,0.0,0.0,0.0,0.0,-0.17763603717362225
2502 +4.653960350157523,-3.7917046069929485,8.445664957150472,0.0,-5.448878340829371,-0.0419204530845984,0.04140117222760452,0.0,0.0,0.0,1.6576930146934166
2503 +6.486160788944089,-3.381044752858286,9.867205541802374,0.0,-3.693344746156851,0.09313440226258354,0.029449257100003234,0.0,0.0,0.0,0.18971633393597773
2504 +,5.11191336059194,,0.0,-1.92447575584558,0.09255646600037079,0.038910719344411995,7.184000456705554,0.0,0.0,-0.27907852561282
2505 +5.931183616223052,5.84699466129974,0.08418895492331213,0.0,-1.90518407772388,-0.011590406316136333,0.026786096644932214,7.73973003778526,0.0,0.0,-0.0027469890904335825
2506 +5.618260896455957,6.039292148712536,-0.42103125225657934,0.0,-1.3393145166448557,-0.05587063788854802,0.029276549528124737,7.355284599065881,0.0,0.0,0.049916154651934524
2507 +4.571923592194456,4.919929619196631,-0.34800602700217453,0.0,-2.592373233412835,-0.009426676050739491,0.0,7.238271324892505,0.0,0.0,0.2834582037677009
2508 +5.010301905195018,5.208917921283198,-0.19861601608818003,0.0,-1.9356051013629694,0.05657445963017988,0.019815087283715976,7.211507743673866,0.0,0.0,-0.14337426794159283
2509 +5.121639852139167,5.924211916284291,-0.8025720641451235,0.0,-1.8400181323777165,-0.007927262335415505,0.0,7.792749883836162,0.0,0.0,-0.02059257283873922
2510 +,5.365444834444908,,0.0,-1.6003401245694864,0.012239113119281386,0.0,7.0098930472143,0.0,0.0,-0.05634720131918558
2511 +7.880959283540491,3.618574879102383,4.262384404438109,0.0,-5.453502007743019,0.04176764242765663,0.038910719344411995,9.238202504200961,0.0,0.0,-0.2468039791276272
2512 +,-2.8049571789468266,,0.0,-2.1166979219490205,-0.056487728780446465,0.0,-0.4357926644587263,0.0,0.0,-0.1959788637586324
2513 +,-4.8464320267549805,,0.0,-5.058332528041326,0.10629576886155452,0.0024904528831925232,0.0,0.0,0.0,0.10311427954159877
2514 +,-6.8250679912971695,,0.0,-6.3575899216916785,-0.055309047145499494,0.038910719344411995,0.0,0.0,0.0,-0.4510797418044028
2515 +4.59511985013459,-5.483842315335101,10.07896216546969,0.0,-5.293177118070682,-0.09582668083201355,0.0024904528831925232,0.0,0.0,0.0,-0.0973289693155982
2516 +4.5217885770490405,-6.026092290828923,10.547880867877964,0.0,-5.784986846630062,-0.07406033978646466,0.0,0.0,0.0,0.0,-0.16704510441239573
2517 +5.6240175061873385,-6.6364886664458185,12.260506172633157,0.0,-6.7874287450999296,0.023910406993127343,0.0,0.0,0.0,0.0,0.12702967166098222
2518 +,-5.366887312117486,,0.0,-5.372013575475895,-0.07869812241764662,0.04140117222760452,0.0,0.0,0.0,0.04242321354845144
2519 +5.318119993844216,-5.222915937309607,10.541035931153823,0.0,-5.524202654878616,0.052723608353808876,0.0024904528831925232,0.0,0.0,0.0,0.24607265633201034
2520 +5.44673737166631,-5.748453306889561,11.195190678555871,0.0,-5.710803651168811,-0.05815981895375572,0.0,0.0,0.0,0.0,0.02051016323300428
2521 +4.5217885770490405,-6.538537938027765,11.060326515076806,0.0,-6.6024166222052525,0.05203628637331077,0.038910719344411995,0.0,0.0,0.0,-0.027068321540235436
2522 +,-4.828705820319213,,0.0,-5.100733796010092,0.07147174004354397,0.0024904528831925232,0.0,0.0,0.0,0.19806578276414086
2523 +,6.068287638044626,,0.0,-2.142591746213978,0.05904312292378828,0.0,8.339474007780295,0.0,0.0,-0.18763774644547895
2524 +4.804021044733257,5.808869901083144,-1.004848856349887,0.0,-1.6266907144659593,-0.1342967380702264,0.038910719344411995,7.25842000984732,0.0,0.0,0.27252662442759656
2525 +7.182352111885263,6.667377986849794,0.5149741250354687,0.0,-1.1921549917489225,-0.0007904287843363573,0.038910719344411995,7.903251101442422,0.0,0.0,-0.08183841340377945
2526 +5.147494476813453,5.8594406156851635,-0.7119461388717108,0.0,-1.9788301433403417,-0.004938687154052469,0.017324634400523453,7.883835338061308,0.0,0.0,-0.05795052628227397
2527 +7.5766097669730375,6.865859049053653,0.7107507179193844,0.0,-1.4252970044533582,-0.1293779021262565,0.0024904528831925232,8.529170438465806,0.0,0.0,-0.11112693571573087
2528 +4.997212273764115,5.323423410962383,-0.32621113719826855,0.0,-1.6663021113965808,-0.017281924646365018,0.0,7.223923384250919,0.0,0.0,-0.21691593724559144
2529 +6.030685260261263,6.597913774939091,-0.5672285146778275,0.0,-1.4666486626239212,-0.08904235398620375,0.0024904528831925232,8.029764702841453,0.0,0.0,0.12134963582457262
2530 +5.556828061699537,4.803058273006869,0.7537697886926686,0.0,-1.95742452246626,-0.02791304432287854,0.026786096644932214,7.007159273207904,0.0,0.0,-0.24554953005682623
2531 +5.117993812416755,6.041233968427794,-0.9232401560110386,0.0,-1.6259741758440942,-0.12690961195855852,-0.012124622699479781,7.908399907202379,0.0,0.0,-0.1021575282724516
2532 +5.117993812416755,5.460261933192796,-0.3422681207760405,0.0,-2.141552341108464,0.10655542232774992,0.0,7.703883948144556,0.0,0.0,-0.2086250961710458
2533 +8.846065190692881,5.570115485519742,3.275949705173139,0.0,-1.8754138829248062,0.019605637898373607,0.0,7.326660654442465,0.0,0.0,0.09926307610371024
2534 +4.74493212836325,4.866749164492769,-0.121817036129519,0.0,-2.0203029569096094,0.10149549220850551,0.026786096644932214,6.837755752175247,0.0,0.0,-0.07898521962630473
2535 +5.602118820879701,5.377056153602847,0.22506266727685365,0.0,-1.676338093106252,-0.13112501765481857,0.038910719344411995,7.279518146946201,0.0,0.0,-0.13390960192669438
2536 +4.634728988229636,5.632034238349035,-0.9973052501193989,0.0,-1.8949950830894497,-0.03612833666671311,0.019815087283715976,7.6490128240558075,0.0,0.0,-0.10567025323432477
2537 +5.811140992976701,5.337076546782243,0.47406444619445764,0.0,-1.7600984827673143,-0.04815278389795294,0.017324634400523453,7.228972610168964,0.0,0.0,-0.10096943112197507
2538 +4.204692619390966,5.245951924569103,-1.0412593051781371,0.0,-1.1877606007593355,-0.25424133818297406,0.04140117222760452,6.811307302257801,0.0,0.0,-0.1647546109739928
2539 +,-5.073784950684561,,0.0,-5.050646678904608,-0.06405460911505731,0.029449257100003234,0.0,0.0,0.0,0.011467080235101068
2540 +,-5.244849698625959,,0.0,-5.471191599711471,0.04418317003531643,0.029449257100003234,0.0,0.0,0.0,0.15270947395019183
2541 +,-3.254102253829215,,0.0,-2.4181275103090867,0.014191090117076104,0.017324634400523453,-0.7423105607057928,0.0,0.0,-0.1251799073319346
2542 +,-4.798478370519876,,0.0,-4.63728821143917,0.06378165735449533,0.0,0.0,0.0,0.0,-0.2249718164352006
2543 +,-5.567973783287214,,0.0,-5.523279186959722,0.03484924747974616,0.0024904528831925232,0.0,0.0,0.0,-0.08203429669043152
2544 +,-2.8900451188596894,,0.0,-1.8978561012811914,0.01213031584941706,-0.012124622699479781,-0.7423105607057928,0.0,0.0,-0.24988415002264378
2545 +,-2.7426135609164146,,0.0,-1.7169843389551893,-0.0917814725349101,-0.012124622699479781,-0.7423105607057928,0.0,0.0,-0.1794125660210415
2546 +,-3.972799410741525,,0.0,-4.192672743364676,0.1614369693177363,0.0024904528831925232,0.0,0.0,0.0,0.055945910422224104
2547 +,-2.6503341636514457,,0.0,-2.003849442574052,-0.14355515282062065,0.038910719344411995,-0.5977406105207098,0.0,0.0,0.05590032291952515
2548 +4.343805421853684,-3.3574884257075035,7.701293847561187,0.0,-2.45015829741451,-0.09983106590313756,0.026786096644932214,-0.7423105607057928,0.0,0.0,-0.09197459832899522
2549 +4.804021044733257,-2.840638159639374,7.644659204372631,0.0,-2.0181812573842297,-0.01542796621604135,-0.012124622699479781,-0.7435463921558477,0.0,0.0,-0.05135792118377642
2550 +,-1.5309470589800518,,0.0,-0.5885898060699501,-0.12537346809571506,0.0024904528831925232,-0.5963811959256494,0.0,0.0,-0.2230930417719286
2551 +3.828641396489095,-3.2690912793428817,7.097732675831977,0.0,-1.9028080202847404,-0.09884606679943056,-0.012124622699479781,-0.7423105607057928,0.0,0.0,-0.5130020088534385
2552 +,-4.6298206614997905,,0.0,-4.2320380558296975,-0.12862497788902993,0.0024904528831925232,0.0,0.0,0.0,-0.2716480806642556
2553 +,-2.572522099719902,,0.0,-1.9272773299706083,-0.12460010060752734,0.0,-0.4354219150237098,0.0,0.0,-0.08522275411805626
2554 +,-2.6574443276217594,,0.0,-1.919910333467806,-0.035051340476706966,0.0,-0.43492758244368784,0.0,0.0,-0.26755507123355815
2555 +,-2.8082396326008783,,0.0,-2.0577932522500033,-0.06093391202009273,0.026786096644932214,-0.7423105607057928,0.0,0.0,0.026011995730080516
2556 +,-3.3499540292188446,,0.0,-2.4846432190226038,-0.014032728253987256,0.017324634400523453,-0.7434228090108422,0.0,0.0,-0.1251799073319346
2557 +4.9344739331306915,-2.501882205499729,7.436356138630421,0.0,-1.7302633118650004,0.02311651345913894,0.017324634400523453,-0.7423105607057928,0.0,0.0,-0.06974948078859795
2558 +,-5.509136302494839,,0.0,-5.224102448635735,-0.07914319340761296,0.0024904528831925232,0.0,0.0,0.0,-0.20838111333468273
2559 +4.718498871295094,-2.783369617348504,7.5018684886435985,0.0,-1.8165691636435488,-0.1059620182644326,-0.012124622699479781,-0.7431756427208313,0.0,0.0,-0.10553817002021124
2560 +,5.198263801573083,,0.0,-3.755419226022734,0.03076939134279852,0.0024904528831925232,9.238202504200961,0.0,0.0,-0.3177793208311346
2561 +,4.8612043837728125,,0.0,-2.330056128066852,-0.10126827622152289,0.026786096644932214,7.319306532186934,0.0,0.0,-0.05356384077067775
2562 +7.464853615078806,5.729593947204797,1.7352596678740095,0.0,-1.2223724531917677,-0.07311598449938074,0.04140117222760452,6.977551601615109,0.0,0.0,0.006129611053231954
2563 +4.420405647542997,5.090139332149302,-0.6697336846063049,0.0,-2.4951005706134,0.08527364264644668,0.017324634400523453,7.5639395647049685,0.0,0.0,-0.08129793898923673
2564 +4.991452474679482,5.052123758757239,-0.060671284077757015,0.0,-2.37972008413744,0.08123821995464664,0.0,7.244170167818211,0.0,0.0,0.1064354551218212
2565 +5.286092951925314,5.963077016599828,-0.6769840646745147,0.0,-1.5815450372010238,-0.018558433117819816,0.019815087283715976,6.946955988140936,0.0,0.0,0.5964094114940222
2566 +5.616880182625682,5.225925408653724,0.39095477397195744,0.0,-1.6883072508652655,-0.06693388007182155,0.038910719344411995,7.008347626963765,0.0,0.0,-0.06609180671736466
2567 +4.606569206901798,4.836383906823481,-0.22981469992168257,0.0,-2.413707818908345,-0.011278507225973726,0.017324634400523453,7.34924833194555,0.0,0.0,-0.10520273338827298
2568 +5.217541056520749,5.527868113104741,-0.3103270565839926,0.0,-2.129941589897421,-0.08676291536619202,0.017324634400523453,7.244538123928651,0.0,0.0,0.4827098600391803
2569 +4.2227377769905,4.936834000656416,-0.7140962236659165,0.0,-2.665104728726557,-0.02184553487723724,-0.009634169816287258,7.756627131631662,0.0,0.0,-0.123208697555165
2570 +8.818630229100354,5.5511586763781535,3.2674715527222,0.0,-1.6394940427637605,-0.11602685416574013,0.0,7.375078244096609,0.0,0.0,-0.06839867078895376
2571 +5.394627046685445,5.568480356907705,-0.17385331022226058,0.0,-1.913924403220272,-0.09727946005383513,0.017324634400523453,7.586832034485701,0.0,0.0,-0.024472448704411422
2572 +4.996401134068432,5.443422982015084,-0.4470218479466528,0.0,-2.610159609904729,0.15843645337407083,0.026786096644932214,7.86173665221767,0.0,0.0,0.006623389683142106
2573 +,6.082543291588959,,0.0,-1.9077774285691644,-0.04607567039754155,0.017324634400523453,8.031473113793162,0.0,0.0,-0.01240135763802161
2574 +8.513341784260072,6.354506329258867,2.1588354550012054,0.0,-1.6598518767126036,0.0874465629924576,0.0,8.13094732736983,0.0,0.0,-0.2040356843908156
2575 +4.532599493153256,5.469123019687059,-0.9365235265338026,0.0,-1.5407264823076883,-0.06792837443003152,0.029449257100003234,7.071978989579423,0.0,0.0,-0.02365037025464621
2576 +,7.113488136157236,,0.0,-0.5621570672076439,-0.050065908324638767,0.029276549528124737,8.00227472530355,0.0,0.0,-0.30584016314215534
2577 +5.720311776607412,5.313714249701535,0.4065975269058768,0.0,-2.0010292479257936,-0.03792676154954843,0.0,7.5659648500855,0.0,0.0,-0.21329459090861988
2578 +,4.7141407322274,,0.0,-2.2496304466905146,0.056839358360178366,0.017324634400523453,6.9515644949031525,0.0,0.0,-0.06195730874593875
2579 +5.8888779583328805,5.826300800127921,0.06257715820495946,0.0,-1.618710426281889,-0.06898324449365809,0.029449257100003234,7.050632983408155,0.0,0.0,0.4339122303953078
2580 +,5.54015047183476,,0.0,-1.9841635432717908,-0.0517744042665849,0.038910719344411995,7.279888896381218,0.0,0.0,0.2572888036475066
2581 +5.099866427824199,5.069154125989232,0.030712301834967093,0.0,-2.1846607731334133,0.013821515879303775,0.017324634400523453,7.27288520132982,0.0,0.0,-0.050216452487002794
2582 +5.308267697401205,5.31381101210355,-0.005543314702344482,0.0,-2.4496253061192315,-0.10395110056735862,0.0024904528831925232,8.064753453662535,0.0,0.0,-0.19985648775558792
2583 +4.532599493153256,5.306106726768359,-0.7735072336151028,0.0,-2.0734717503515174,-0.04427030273020774,0.017324634400523453,7.586090535615668,0.0,0.0,-0.1795663901661059
2584 +4.8283137373023015,5.310707721100482,-0.48239398379818077,0.0,-2.004475664777165,-0.022122339014200208,0.017324634400523453,7.621993400641957,0.0,0.0,-0.30201231015063235
2585 +7.383989457978509,5.383089798121571,2.0008996598569384,0.0,-5.1227292382439185,0.1512956407388153,0.0,9.0784399922403,0.0,0.0,1.276083403386373
2586 +,5.608282834783613,,0.0,-2.020952815976491,-0.041207165571397676,-0.012124622699479781,7.739112122060233,0.0,0.0,-0.05654468302925147
2587 +5.049856007249537,5.428739889283619,-0.3788838820340823,0.0,-1.5648626559335934,0.10411264493348274,0.029449257100003234,6.900824748050766,0.0,0.0,-0.040784104867038456
2588 +4.51085950651685,6.153960776412253,-1.6431012698954035,0.0,-1.5326724542928263,-0.07851673836458689,-0.012124622699479781,7.938758773378865,0.0,0.0,-0.16148418160971834
2589 +4.770684624465665,5.266679926451877,-0.4959953019862118,0.0,-1.971793730989586,0.1295101150077327,0.029276549528124737,7.202282175833865,0.0,0.0,-0.12259518292825816
2590 +7.806289289267033,6.535532894696316,1.270756394570717,0.0,-1.8744705481304171,0.06480186015347769,0.0,8.368705490143888,0.0,0.0,-0.023503907470634397
2591 +,5.138624119547712,,0.0,-1.8801114193684487,-0.11175620992424604,0.0,7.265437833475671,0.0,0.0,-0.13494608463526303
2592 +4.2626798770413155,4.377827784857915,-0.11514790781659912,0.0,-2.305987728966026,-0.013313655702568174,0.038910719344411995,6.90920041995763,0.0,0.0,-0.2509819697755319
2593 +,6.019583841154746,,0.0,-1.8073673756818422,0.018251141083854533,0.0,8.009851451099134,0.0,0.0,-0.2011513753464015
2594 +6.546785410760524,4.767359496342283,1.7794259144182414,0.0,-4.091841278506177,0.01988908058817735,0.04140117222760452,9.0784399922403,0.0,0.0,-0.28052947020762015
2595 +4.969813299576001,5.785129762553031,-0.8153164629770302,0.0,-1.4718823834043429,-0.07973290697919196,0.0,7.511263559878922,0.0,0.0,-0.17451850694235793
2596 +,-2.4233205548358656,,0.0,-1.61677190892674,-0.04233933590075645,0.038910719344411995,-0.4367813296187702,0.0,0.0,-0.36633869973401034
2597 +6.318968113746434,-5.327621877290053,11.646589991036487,0.0,-5.206251406017422,-0.11141651379698608,0.029449257100003234,0.0,0.0,0.0,-0.03940321457564812
2598 +,-4.990961509456712,,0.0,-5.786744994800211,-0.024207957070396354,0.0,0.0,0.0,0.0,0.8199914424138955
2599 +2.70805020110221,-4.705010886943719,7.413061088045929,0.0,-4.537432623068387,0.00883566312760635,0.0024904528831925232,0.0,0.0,0.0,-0.17890437988613028
2600 +,-5.417407282148967,,0.0,-5.0964783623756595,-0.011917242054307128,0.0,0.0,0.0,0.0,-0.3090116777190012
2601 +4.812184355372417,-1.8370375361419349,6.649221891514352,0.0,-1.7246401264481532,0.15017317825654586,0.029449257100003234,-0.43492758244368784,0.0,0.0,0.14290773739335663
2602 +,-2.999031601320134,,0.0,-2.368718705726553,0.0500262813107611,0.029449257100003234,-0.7423105607057928,0.0,0.0,0.03252212670144644
2603 +,-5.150288812010354,,0.0,-5.328949321166634,0.009844907959590754,0.04140117222760452,0.0,0.0,0.0,0.12741442896908547
2604 +,-5.973026950312999,,0.0,-5.876097402033546,0.007248590839550019,0.0,0.0,0.0,0.0,-0.1041781391190023
2605 +,-5.48598778368916,,0.0,-5.910095621426388,0.06041595118831574,0.04140117222760452,0.0,0.0,0.0,0.3222907143213074
2606 +,-3.5457993116702453,,0.0,-2.7008925483777793,-0.006414485798357267,0.026786096644932214,-0.7440407247358697,0.0,0.0,-0.12123764940317022
2607 +,-2.664615084100836,,0.0,-1.6175308065508736,-0.07709609238626283,0.017324634400523453,-0.7428048932858148,0.0,0.0,-0.24450792627840987
2608 +,-4.757742331759505,,0.0,-4.677445670625427,0.03391106878880913,0.0,0.0,0.0,0.0,-0.11420772992288787
2609 +,-2.121846382282406,,0.0,-2.3228286315760824,-0.007471895825173082,0.026786096644932214,-0.7426813101408093,0.0,0.0,0.9243493586147271
2610 +,5.45723511528788,,0.0,-2.3821313189417213,-0.19220353212408683,0.029449257100003234,8.256548952914406,0.0,0.0,-0.2544282436607193
2611 +,5.169508255491836,,0.0,-1.6724028169917062,-0.06025779046522247,0.0,6.768831797680672,0.0,0.0,0.13333706526809283
2612 +6.52649485957079,6.41975059208551,0.1067442674852801,0.0,-1.544482935457041,-0.07553158361398289,0.029276549528124737,8.00227472530355,0.0,0.0,0.008213836324858503
2613 +4.0809215418899605,5.150131535504579,-1.0692099936146189,0.0,-1.4085143181079678,-0.05008763360948456,-0.012124622699479781,6.889379798134599,0.0,0.0,-0.26852168821308775
2614 +4.672828834461906,5.028436944647671,-0.35560811018576555,0.0,-1.7886948188780964,-0.18509788607373695,0.017324634400523453,7.130566902032862,0.0,0.0,-0.14566188683388212
2615 +5.075923534124373,6.33939303176636,-1.263469497641987,0.0,-2.0068254718655822,-0.021331779430163074,0.0,8.080525373737599,0.0,0.0,0.2870249093245068
2616 +7.196229537571606,6.137148466501315,1.059081071070291,0.0,-2.0773592352174237,0.07667721672785469,-0.012124622699479781,8.210634079704526,0.0,0.0,-0.06067897201416241
2617 +8.238008249218403,-5.894624363643099,14.132632612861503,0.0,-5.671757708979501,-0.0350211878317682,0.0,0.0,0.0,0.0,-0.18784546683182848
2618 +7.057897937411856,6.359659597812068,0.6982383395997882,0.0,-2.275390884720597,-0.05210565341285993,0.0024904528831925232,8.60368906209316,0.0,0.0,0.08097662096917231
2619 +4.634728988229636,3.7691390341718476,0.8655899540577883,0.0,-5.143510116968479,-0.08975714606664754,0.029449257100003234,9.0784399922403,0.0,0.0,-0.10548295213332867
2620 +5.402677381872279,5.415126724136735,-0.012449342264456043,0.0,-1.9956737397941042,-0.046850925027754925,0.038910719344411995,7.541489131587275,0.0,0.0,-0.12274846197309282
2621 +3.9318256327243257,5.850775403091679,-1.918949770367353,0.0,-1.520580560293876,-0.09466911979254347,0.0024904528831925232,7.748239871342465,0.0,0.0,-0.28470524104755823
2622 +4.5217885770490405,5.3122039781849395,-0.790415401135899,0.0,-2.1953462866024376,-0.03093157621149686,0.026786096644932214,7.531412244833739,0.0,0.0,-0.019716500479796922
2623 +5.545177444479562,5.145751095063041,0.39942634941652155,0.0,-2.657766640936557,-0.07525365967531755,0.017324634400523453,7.947930143202245,0.0,0.0,-0.08648338192785235
2624 +4.48863636973214,4.840466804178654,-0.35183043444651396,0.0,-2.2742199207548195,0.07446904796696753,0.017324634400523453,7.15561123757311,0.0,0.0,-0.13271819500712786
2625 +4.30406509320417,5.593047183374333,-1.2889820901701627,0.0,-1.3563562147443937,-0.15147784981748919,0.026786096644932214,6.63408202887956,0.0,0.0,0.4400131224117235
2626 +5.10594547390058,5.574233811675524,-0.4682883377749434,0.0,-1.4053395738549952,0.0756798460950979,0.0,6.959834185933081,0.0,0.0,-0.05594064649766159
2627 +4.867534450455582,5.452387735006056,-0.5848532845504737,0.0,-1.8067854119768958,-0.008962367663924442,0.029449257100003234,7.359204899280898,0.0,0.0,-0.12051864173402495
2628 +4.77912349311153,5.2889522851560615,-0.5098287920445319,0.0,-1.779657564371825,-0.022552307430691837,-0.012124622699479781,7.168975220939465,0.0,0.0,-0.0656884412814076
2629 +7.780720886117918,6.0022106019605035,1.7785102841574147,0.0,-1.3316151321587748,0.14567561164675893,0.04140117222760452,7.274615365359897,0.0,0.0,-0.12786641511498226
2630 +6.543911845564792,7.015500753118483,-0.4715889075536914,0.0,-1.4729456644899006,0.016081329075235573,0.0,8.762053096949984,0.0,0.0,-0.2896880084168353
2631 +,4.969736523429336,,0.0,-2.092107986284775,-0.06647639143631098,0.0,7.214228435559832,0.0,0.0,-0.08590753440941148
2632 +7.656337166430183,6.0806612974704795,1.5756758689597037,0.0,-2.0366704442788857,-0.07107597027133694,0.026786096644932214,8.030237282343107,0.0,0.0,0.1313843330326639
2633 +4.983606621708336,5.695541566625454,-0.7119349449171173,0.0,-1.6527378737081087,0.091251640255503,0.017324634400523453,7.450957007969223,0.0,0.0,-0.21125384229168664
2634 +6.968850378341948,-5.678912775771245,12.647763154113193,0.0,-5.407614726840378,-0.05333261134769812,0.0,0.0,0.0,0.0,-0.21796543758316886
2635 +5.62040086571715,6.402182508012863,-0.7817816422957131,0.0,-1.1890980871568164,0.08655014001043565,-0.012124622699479781,7.440978790765839,0.0,0.0,0.07587628709288227
2636 +7.470224135899966,7.306097137695129,0.16412699820483656,0.0,-0.8282565526913386,0.0027564873021700687,0.029276549528124737,8.063013613403083,0.0,0.0,0.039307040153090195
2637 +7.1770187659099,5.136616203840859,2.0404025620690414,0.0,-4.149122382420185,-0.018572375699971472,0.04140117222760452,9.238202504200961,0.0,0.0,0.024707285532449913
2638 +4.897839799950911,5.003826975285088,-0.10598717533417723,0.0,-1.8511674483220073,-0.2260599650244821,0.038910719344411995,7.273255950764836,0.0,0.0,-0.23111228147766863
2639 +4.61512051684126,5.510639366555547,-0.8955188497142874,0.0,-2.0823276167559595,-0.09711116021767867,0.029449257100003234,7.7560092159066345,0.0,0.0,-0.09538032947745156
2640 +4.927253685157205,5.191012625208578,-0.2637589400513729,0.0,-2.1096438329312575,-0.08212453830148832,0.026786096644932214,7.432894879580493,0.0,0.0,-0.07689997978410197
2641 +4.179145163914566,5.627986386604952,-1.4488412226903868,0.0,-1.8662696648452686,-0.10812848802997842,0.0,7.9370239289930815,0.0,0.0,-0.33463938951288336
2642 +5.988535260935405,6.010531814082429,-0.021996553147024756,0.0,-1.1450128680994265,-0.017160528633824806,0.0024904528831925232,7.388366575243701,0.0,0.0,-0.2181518173112128
2643 +,4.675390563446373,,0.0,-2.892978828588517,-0.1587992689712708,0.026786096644932214,7.540545940164152,0.0,0.0,0.15983662419707842
2644 +,6.220056032996261,,0.0,-1.1251932317327027,0.02164586364454723,0.029276549528124737,7.466861385943848,0.0,0.0,-0.17253453438755714
2645 +8.617581365447506,5.9598877697543395,2.657693595693167,0.0,-1.4475383345198471,-0.03900570783698291,0.029276549528124737,7.1763581920977355,0.0,0.0,0.2407970704853105
2646 +5.091969475151227,5.278148442766641,-0.18617896761541353,0.0,-1.5356958547009123,-0.0914439858607494,0.0024904528831925232,7.038870234192777,0.0,0.0,-0.13607240374766633
2647 +4.858881738868719,5.825573885261447,-0.9666921463927274,0.0,-1.7220874759389195,-0.13718526802623202,0.026786096644932214,7.757121464211684,0.0,0.0,-0.09906093163001947
2648 +5.158537924019751,5.28790485213346,-0.12936692811370865,0.0,-2.041104868967804,0.17729050187629053,0.017324634400523453,7.239209094662631,0.0,0.0,-0.10481450983818291
2649 +4.533351898197619,6.0529783600191855,-1.5196264618215665,0.0,-1.6439747151619493,-0.13646015944267412,0.0,7.969533770815661,0.0,0.0,-0.13612053619185321
2650 +7.202080238522077,5.854211054396707,1.3478691841253703,0.0,-2.6132514197902292,0.004863986980383116,0.029449257100003234,8.467033073262437,0.0,0.0,-0.03388384315588693
2651 +7.465082736399547,4.86047075049342,2.6046119859061276,0.0,-4.559285192718862,0.12416639512193128,0.0024904528831925232,9.0784399922403,0.0,0.0,0.21465910296685828
2652 +4.1929825321191005,5.360980794596271,-1.1679982624771705,0.0,-1.8939847511662364,0.14297831167810754,0.017324634400523453,7.374908340764341,0.0,0.0,-0.2802457410804631
2653 +5.1084876942637605,5.541546846772023,-0.4330591525082621,0.0,-1.8745066860870887,-0.045519398223431234,0.019815087283715976,7.609112939044814,0.0,0.0,-0.16735509524598755
2654 +8.038654038006186,3.9745880629896098,4.064065975016576,0.0,-5.228684726138665,-0.0025258818572772776,0.0,9.238202504200961,0.0,0.0,-0.032403833215408434
2655 +,5.045033556681338,,0.0,-1.9041810161774837,-0.0603870501214988,0.017324634400523453,7.019835827567001,0.0,0.0,-0.027558838987204064
2656 +7.8107783838553875,6.608346772332945,1.2024316115224423,0.0,-1.3220162207641026,-0.056467036153991554,0.0,8.208942978183227,0.0,0.0,-0.22211294893218764
2657 +4.399129542573544,5.4914840207376185,-1.0923544781640748,0.0,-2.122319614759461,-0.03252537417106793,0.0,7.914484377661493,0.0,0.0,-0.2681553679933457
2658 +5.3864198147695825,5.349366156443096,0.03705365832648688,0.0,-1.6333794184468227,0.09371732733280624,0.017324634400523453,7.047288462601741,0.0,0.0,-0.17558484944515138
2659 +4.498252903642014,5.921711043049798,-1.423458139407784,0.0,-1.672282625757597,-0.09093492701466674,0.03193970998319576,7.541647179663391,0.0,0.0,0.11134170617547576
2660 +4.935264987071479,6.065454049806451,-1.1301890627349724,0.0,-1.4614355999060988,-0.09531237554630553,0.029276549528124737,7.662839605421093,0.0,0.0,-0.0699141296903634
2661 +,4.632733714386982,,0.0,-2.142847465756083,-0.0322150334901159,0.017324634400523453,7.031508862700708,0.0,0.0,-0.2410372834680499
2662 +6.533643478531968,6.0043355739475075,0.5293079045844609,0.0,-1.330688291696199,0.07036748650974338,0.029449257100003234,7.492198959243738,0.0,0.0,-0.2569918372097795
2663 +8.840733599792035,4.144602941647776,4.696130658144259,0.0,-4.663729755894876,-0.029070011229598396,0.0,9.0784399922403,0.0,0.0,-0.2410372834680499
2664 +5.655956845173597,5.462837598545495,0.19311924662810132,0.0,-1.9666316844615501,0.0008715806138026166,0.017324634400523453,7.502088428300387,0.0,0.0,-0.09081536030766743
2665 +5.285434740717023,5.846923923598537,-0.5614891828815134,0.0,-1.370940985570634,0.06398709859352214,0.038910719344411995,7.024026122130192,0.0,0.0,0.0909409691010423
2666 +4.989411657644629,4.9399896763876,0.049421981257029124,0.0,-2.2498074155990313,-0.048682373784478115,0.017324634400523453,7.520942117740151,0.0,0.0,-0.29978728636956625
2667 +,5.8573191975472545,,0.0,-1.4214397863281336,0.009023583497736215,0.0024904528831925232,7.518521817399689,0.0,0.0,-0.25127686990523
2668 +5.619639706543773,5.177701948430148,0.44193775811362546,0.0,-1.7472296859061816,-0.11115195901742875,0.017324634400523453,7.092349734279045,0.0,0.0,-0.07359077532580703
2669 +7.9313063207616885,5.865623795327487,2.0656825254342017,0.0,-1.0598361609229032,-0.06683576898434027,0.029276549528124737,7.268902110966985,0.0,0.0,-0.3058829352603778
2670 +5.0388339484549345,4.850026347813103,0.1888076006418311,0.0,-1.696975230030806,-0.09600668968233378,0.0024904528831925232,6.980536966406849,0.0,0.0,-0.3400191517637996
2671 +7.858339219157837,7.26541789855523,0.5929213206026072,0.0,-0.8011988691181697,-0.15550547640893386,0.029276549528124737,7.949660307232322,0.0,0.0,0.2431853873218859
2672 +4.048998460455224,5.803532247721186,-1.754533787265962,0.0,-1.4875708502506608,-0.09948817739103488,0.03193970998319576,7.661480190826032,0.0,0.0,-0.3028286254463457
2673 +7.800490751234755,5.324951544136223,2.4755392070985325,0.0,-1.8207070069337474,0.09120084251960023,0.0,7.056154383501863,0.0,0.0,-0.0016966749514929214
2674 +,5.288229906481201,,0.0,-2.3483779348510287,-0.11963413232590281,0.017324634400523453,7.814021498924781,0.0,0.0,-0.07510415966717374
2675 +6.039444859626549,7.8342941790096745,-1.7948493193831254,0.0,-1.764028788958143,0.04151332665323027,0.0,8.60368906209316,0.0,0.0,0.9531205792214256
2676 +8.395766525795018,5.695815857618071,2.699950668176947,0.0,-1.9366910232580432,-0.04687954602408462,-0.012124622699479781,7.947930143202245,0.0,0.0,-0.256419093602568
2677 +,5.8272861210501885,,0.0,-1.664266415652481,0.011311979224876693,0.038910719344411995,7.435842083925076,0.0,0.0,0.005487754208303441
2678 +5.324326185729087,5.189876796825475,0.13444938890361247,0.0,-2.3650959654312116,0.09740288220509419,0.017324634400523453,7.586832034485701,0.0,0.0,-0.14658678883463094
2679 +9.764781652352076,-5.563285638857064,15.32806729120914,0.0,-5.411335677000001,-0.041631013882247665,0.0,0.0,0.0,0.0,-0.11031894797481515
2680 +4.909414346738851,5.685747467958117,-0.7763331212192659,0.0,-1.80156540950406,-0.13200415726551984,-0.012124622699479781,7.965649989520884,0.0,0.0,-0.3342083320937059
2681 +,5.118445211658228,,0.0,-2.2799388278782793,0.012513905676891222,0.017324634400523453,7.354666683340853,0.0,0.0,0.01387881611824124
2682 +8.18076335389617,8.585549470570056,-0.4047861166738862,0.0,-0.20034618441968188,0.09718746885168503,0.0024904528831925232,8.368705490143888,0.0,0.0,0.3175122431109725
2683 +,5.14290609822153,,0.0,-2.094076752668741,-0.05132789795785709,0.017324634400523453,7.485241477530316,0.0,0.0,-0.214255363082711
2684 +,3.7311786040886337,,0.0,-5.3482971682933265,0.05877533472347195,0.038910719344411995,9.238202504200961,0.0,0.0,-0.2564127858868846
2685 +8.319739316434712,7.6975991127186925,0.6221402037160191,0.0,-0.828626311180213,0.09887821121022508,0.029276549528124737,8.063013613403083,0.0,0.0,0.33505704975747264
2686 +7.305933905039328,-3.898177987312838,11.204111892352167,0.0,-4.009402823237553,0.05183756353200207,0.0024904528831925232,0.0,0.0,0.0,0.056896819509520496
2687 +4.666077120891613,5.218343910197225,-0.5522667893056123,0.0,-1.9711772073627118,0.008880104454363866,0.029449257100003234,7.213324273238906,0.0,0.0,-0.06213251723333575
2688 +6.102827014961442,6.1518615427557,-0.049034527794257876,0.0,-1.571908592074279,-0.09150399848331388,0.017324634400523453,7.86173665221767,0.0,0.0,-0.06378715330489931
2689 +,4.822986458512779,,0.0,-1.8417823516140723,-0.1147698152594297,0.017324634400523453,7.012273044532071,0.0,0.0,-0.25005905354631186
2690 +6.513823406687646,6.042122793241486,0.4717006134461599,0.0,-1.2142205925854785,0.020020351881440607,0.017324634400523453,6.831738164233032,0.0,0.0,0.3872602353119694
2691 +7.57817104753999,6.771269877553928,0.8069011699860615,0.0,-0.8831916177745311,-0.07909048310491475,0.0024904528831925232,7.981872499311486,0.0,0.0,-0.2508109737613067
2692 +,-5.307922472091706,,0.0,-5.0330765662238885,-0.036800496126852794,0.0,0.0,0.0,0.0,-0.23804540974096522
2693 +,5.915752056869768,,0.0,-0.3503039051445658,0.001639873446378698,0.0,6.473189340297022,0.0,0.0,-0.20877325172906544
2694 +,3.763840516912389,,0.0,-5.309786826152855,-0.03174539681530296,0.03193970998319576,9.0784399922403,0.0,0.0,-0.005006962342946564
2695 +4.85320145281008,5.931940456608409,-1.0787390037983284,0.0,-1.3451312451497346,-0.1547667805733342,0.0024904528831925232,7.594268418865521,0.0,0.0,-0.16492038941723675
2696 +5.063923264460972,5.1559003623434645,-0.09197709788249231,0.0,-1.2605550213950591,-0.06437025468805001,0.0,6.719592376561464,0.0,0.0,-0.23876673813489094
2697 +,6.033156035895422,,0.0,-1.2764513224712095,-0.06100975732517029,0.026786096644932214,7.244538123928651,0.0,0.0,0.09929289511822045
2698 +5.482595341640379,5.669891082584634,-0.18729574094425505,0.0,-0.866715206122703,-0.04615472914924611,0.017324634400523453,6.564392767753813,0.0,0.0,0.0010436157022460785
2699 +4.472324272654662,5.841801522738984,-1.369477250084322,0.0,-1.7090248504729777,-0.13341685139587017,0.038910719344411995,7.734634719502619,0.0,0.0,-0.08930221423919721
2700 +4.220683484265119,5.509547647878475,-1.288864163613356,0.0,-1.0551084910902615,-0.10782361229772339,0.029276549528124737,6.840748370107768,0.0,0.0,-0.19754516836943226
2701 +4.623402954249151,6.047468014256486,-1.4240650600073348,0.0,-1.8286887251263506,-0.10904288535462162,0.038910719344411995,8.065742118822579,0.0,0.0,-0.1194532134295325
2702 +8.107732110030726,6.607075976229774,1.5006561338009519,0.0,-1.9284505539257797,0.039381635861683896,-0.012124622699479781,7.776069328446848,0.0,0.0,0.7322001885465028
2703 +3.8031005982039594,5.075486679082258,-1.2723860808782983,0.0,-2.1833467929167556,-0.0024623133583571988,0.026786096644932214,7.418676854388004,0.0,0.0,-0.1841671656755659
2704 +4.80949782304466,5.943172843645009,-1.1336750206003483,0.0,-2.219941547310925,0.14814475392077386,0.029449257100003234,8.134852470349093,0.0,0.0,-0.14933209041393575
2705 +4.981481076665904,5.0037540803154235,-0.02227300364951912,0.0,-1.7248498617154144,0.006284664823842073,0.0,7.841181581682016,0.0,0.0,-1.1188623044750226
2706 +,4.300616749256147,,0.0,-2.351222395124089,-0.1050387275552164,0.017324634400523453,6.825294513465225,0.0,0.0,-0.0857412759302964
2707 +,6.282054150489627,,0.0,-1.2100184593851724,0.039032040735464776,0.017324634400523453,7.513066411664087,0.0,0.0,-0.07735047692527594
2708 +5.548141796443577,5.613907347461395,-0.06576555101781789,0.0,-2.0243020544004704,-0.009375777073005846,0.038910719344411995,7.774833496996793,0.0,0.0,-0.16615903740633448
2709 +5.57485001452115,5.809463597028679,-0.23461358250752884,0.0,-2.089484146280191,-0.048409546459532646,0.029449257100003234,8.1461031766186,0.0,0.0,-0.22819514395020177
2710 +5.835921231346632,5.35970757966136,0.4762136516852724,0.0,-1.572793323007672,0.10623491329781953,0.017324634400523453,6.733178373061442,0.0,0.0,0.07576298190924804
2711 +7.97728198675515,7.614834015582126,0.3624479711730242,0.0,-1.3175273430901404,-0.00023663167800725554,0.0,8.529170438465806,0.0,0.0,0.403427551884467
2712 +,5.53155702324241,,0.0,-1.5242170564803468,-0.09078735220675968,0.029449257100003234,7.027448482693539,0.0,0.0,0.08966369213597176
2713 +4.897839799950911,5.459238009623272,-0.5613982096723609,0.0,-1.9982199414468171,-0.10249628245658088,0.017324634400523453,7.70699936287196,0.0,0.0,-0.1643697637458121
2714 +5.783825182329737,5.154663043026697,0.6291621393030402,0.0,-1.7244897948259261,-0.1665220127918754,0.017324634400523453,7.034106638996769,0.0,0.0,-0.005756422752792827
2715 +4.51085950651685,5.802427319454254,-1.2915678129374042,0.0,-2.5496237354386846,0.07083014731917399,0.0,8.328472330496643,0.0,0.0,-0.047251422922878816
2716 +5.278114659230517,5.064434451830134,0.21368020740038318,0.0,-2.2469745337368705,-0.03275069424530473,0.017324634400523453,7.5321537437037716,0.0,0.0,-0.20531869829198704
2717 +7.868254265520613,3.705895100278338,4.162359165242275,0.0,-5.322112846469885,-0.031430288162263446,0.029449257100003234,9.0784399922403,0.0,0.0,-0.048451014429816815
2718 +4.545101659521972,4.953350450783589,-0.4082487912616166,0.0,-2.179085793320847,-0.17411324240201873,0.017324634400523453,7.441596706490866,0.0,0.0,-0.1523718543849361
2719 +9.804661198229233,5.015309312316763,4.78935188591247,0.0,-2.700351200778189,0.0053444718553661286,0.0,7.4969073734696465,0.0,0.0,0.21340866776993914
2720 +,4.714598474405579,,0.0,-2.5760940228671307,0.07277074687942074,0.017324634400523453,7.395958407920603,0.0,0.0,-0.19536129192783597
2721 +7.790600906716721,6.132315595162264,1.6582853115544571,0.0,-1.4698096339009794,-0.0047553710076829805,0.0,7.639982071198964,0.0,0.0,-0.03310147112803551
2722 +4.9224596031925305,5.716111655143104,-0.7936520519505734,0.0,-1.4426069024881913,-0.0712743063271615,0.04140117222760452,7.4868108408053455,0.0,0.0,-0.29821914907449254
2723 +4.254477313726906,5.488121563669732,-1.2336442499428255,0.0,-2.0814674439080854,-0.09326258753262459,0.04140117222760452,7.840069333376967,0.0,0.0,-0.21861891049412924
2724 +5.616880182625682,5.882203060606317,-0.26532287798063514,0.0,-1.7856814130100451,-0.010707627322799241,0.026786096644932214,7.609978021059852,0.0,0.0,0.041827983234375504
2725 +5.060313952326803,5.514983869787789,-0.4546699174609863,0.0,-1.3329483468158196,0.11812604131237522,0.038910719344411995,6.961939953454483,0.0,0.0,-0.2710444975076609
2726 +5.663064641377642,6.299347733820959,-0.6362830924433167,0.0,-2.1419455168048396,-0.017833575550567082,0.0,8.442235448611198,0.0,0.0,0.016891377565167676
2727 +5.549153902878995,5.413311690930553,0.13584221194844215,0.0,-1.7309546907651727,-0.095486649863273,0.017324634400523453,7.301800132275017,0.0,0.0,-0.07937173511654162
2728 +7.419914013760646,7.8947035538537405,-0.47478954009309415,0.0,-0.34818254455410713,0.02543469785208105,0.04140117222760452,8.134852470349093,0.0,0.0,0.04119775797907041
2729 +8.20166019080868,7.647738087332448,0.5539221034762312,0.0,-0.7362239843684888,-0.1395440174577946,0.0,8.368705490143888,0.0,0.0,0.15480059901484525
2730 +4.835964396232824,5.235860128858298,-0.39989573262547395,0.0,-1.841300537644778,-0.06451556924830112,-0.012124622699479781,7.189856569419905,0.0,0.0,-0.03605571096904791
2731 +5.474327380728188,5.749950181056145,-0.27562280032795705,0.0,-1.6061482469733575,-0.05206899664195183,0.017324634400523453,7.636149171085995,0.0,0.0,-0.24530638081506378
2732 +9.815401962422484,6.788060557485942,3.027341404936543,0.0,-1.3364855653826835,-0.08709831530833118,0.0,8.368705490143888,0.0,0.0,-0.15706105196693043
2733 +4.339510497570803,5.628905474329185,-1.2893949767583823,0.0,-1.7359808158965206,-0.14227265557646035,0.0024904528831925232,7.123336922369202,0.0,0.0,0.3813315705497704
2734 +,5.294771761532745,,0.0,-2.1882861637131192,0.00930364172705904,-0.012124622699479781,7.735870550952674,0.0,0.0,-0.24999164473438862
2735 +6.1691085143508255,6.057342707313414,0.11176580703741124,0.0,-0.996772156180814,-0.08952078047035855,0.029449257100003234,7.511583413924021,0.0,0.0,-0.3973970270594398
2736 +2.7575740643026374,5.578926440289016,-2.8213523759863786,0.0,-2.653466623833398,-0.07882365330020547,0.0,8.385559767161364,0.0,0.0,-0.07434304973874512
2737 +7.189974959699354,6.432664738147191,0.7573102215521628,0.0,-1.510472063876457,-0.05284149049635746,0.04140117222760452,8.1461031766186,0.0,0.0,-0.19152605632619865
2738 +,6.043555218857905,,0.0,-1.501139531532453,-0.06866081519640983,0.017324634400523453,7.776069328446848,0.0,0.0,-0.18003839726060694
2739 +7.326465613840322,-5.3733383781348625,12.699803991975184,0.0,-5.2795814444586355,-0.04218427477543413,0.0,0.0,0.0,0.0,-0.05157265890079431
2740 +5.120445893427694,5.637310462656315,-0.5168645692286216,0.0,-2.0814674439080854,0.07167534870680403,0.04140117222760452,7.840069333376967,0.0,0.0,-0.23436794774697425
2741 +7.774435510302958,5.766475294639099,2.007960215663859,0.0,-1.9188019925636342,-0.05040273329391466,0.029276549528124737,7.590806268187569,0.0,0.0,0.1155972027809555
2742 +,5.2416660827087105,,0.0,-2.007833978951565,-0.07485584532605752,0.0,7.344950355168169,0.0,0.0,-0.020594448181837338
2743 +5.615279076064797,6.677806216878371,-1.0625271408135735,0.0,-1.2974861494499033,-0.005720923427771724,0.0,7.8574607598033905,0.0,0.0,0.12355252995265617
2744 +4.525477417078843,5.325020208701811,-0.7995427916229678,0.0,-2.191756408075312,0.1276160037114478,0.0,7.494866496283178,0.0,0.0,-0.10570588321750196
2745 +5.308020142009422,6.382172741602721,-1.0741525995932992,0.0,-2.1164598635268774,-0.17400152288810464,0.0,8.097033607243754,0.0,0.0,0.57560052077395
2746 +5.02381472920837,4.998894605272816,0.024920123935554095,0.0,-2.99238244553242,0.1245906497277118,0.0,8.094809110633655,0.0,0.0,-0.2281227095561314
2747 +5.785208840018396,7.454960166183391,-1.6697513261649952,0.0,-0.998285474535737,-0.05944797613889483,0.0024904528831925232,8.529170438465806,0.0,0.0,-0.0189672744909761
2748 +5.519298581697563,5.1946522073800345,0.3246463743175285,0.0,-2.330867512777121,-0.040880458925194325,0.017324634400523453,7.692534171389461,0.0,0.0,-0.14345862670763337
2749 +6.156978985585555,5.740462148139057,0.4165168374464976,0.0,-2.2723495751687652,-0.05320066046487816,0.0,8.22200524021431,0.0,0.0,-0.15599285644160882
2750 +5.4256105922054125,5.156869885685324,0.26874070652008886,0.0,-2.571020856286606,0.01938406297527758,0.029449257100003234,7.916585291126586,0.0,0.0,-0.23752786922993796
2751 +4.981481076665904,5.441643181148558,-0.46016210448265404,0.0,-2.2040679804173555,-0.029930076386975115,0.0,7.821739237915807,0.0,0.0,-0.14609799996291817
2752 +4.637637376125593,5.628538957421288,-0.9909015812956952,0.0,-2.1638286588664313,-0.0370780021157439,-0.009634169816287258,7.983680301072994,0.0,0.0,-0.1446005128532423
2753 +5.903643751718553,5.192585657560007,0.7110580941585463,0.0,-2.059166147685323,-0.06289739522729097,-0.012124622699479781,7.740224370365282,0.0,0.0,-0.4134505471931813
2754 +,5.780402364707338,,0.0,-1.2708273543325488,0.0077314390165740265,0.029276549528124737,6.9928317778378934,0.0,0.0,0.021389952657294126
2755 +5.186379713307172,5.478712469190566,-0.29233275588339414,0.0,-1.3590758538800491,-0.07085131138872683,0.0024904528831925232,6.9244478711315445,0.0,0.0,-0.018298689555395015
2756 +8.943506132037239,5.444449303881059,3.4990568281561805,0.0,-2.280173284398761,-0.011103914284285223,0.029449257100003234,7.882228757176238,0.0,0.0,-0.17595151171213558
2757 +5.952307831906788,5.079208658545206,0.8730991733615818,0.0,-2.0625664272556223,-0.09805700437200163,0.0,7.315485124395385,0.0,0.0,-0.07565303422255465
2758 +5.6158251958970595,6.468804489583243,-0.8529792936861833,0.0,-1.2858117138523477,-0.020042678564241658,0.0024904528831925232,7.9833554970515515,0.0,0.0,-0.21118706793491132
2759 +4.8004902285677025,5.124690884052556,-0.32420065548485333,0.0,-2.195094261219615,-0.06799176233637252,0.0,7.603169222762126,0.0,0.0,-0.21539231515358354
2760 +5.758428475769526,5.807521289007075,-0.04909281323754833,0.0,-1.750463981607977,0.01689428913134449,0.026786096644932214,7.522795864915233,0.0,0.0,-0.008490980076455781
2761 +,6.12139724510737,,0.0,-1.800456885243924,0.12037347285580682,0.017324634400523453,7.776687244171876,0.0,0.0,0.007468778923087827
2762 +,5.054683871219863,,0.0,-2.2852279680253185,-0.035722907701975976,0.026786096644932214,7.44258537165091,0.0,0.0,-0.09373672134868606
2763 +5.548141796443577,6.006217810732594,-0.45807601428901723,0.0,-1.6931032490028075,-0.015159828414460019,-0.012124622699479781,7.908399907202379,0.0,0.0,-0.18179439635303568
2764 +,6.599239304725566,,0.0,-1.0040141171681656,-0.038588813217386886,0.029276549528124737,7.38861153898462,0.0,0.0,0.223954146598373
2765 +9.053885372576017,6.3301460849334985,2.723739287642519,0.0,-2.232406899176474,-0.046613058376728495,0.0,8.689511803642718,0.0,0.0,-0.08034576115601663
2766 +7.770889929927114,7.68948036735423,0.08140956257288412,0.0,-0.7309983810896279,-0.16492095635216786,0.0024904528831925232,8.148204090083695,0.0,0.0,0.4347051618291382
2767 +4.365897252743998,6.23792459835479,-1.8720273456107925,0.0,-1.5244775727050417,-0.045326219583130364,0.0024904528831925232,8.095921358938705,0.0,0.0,-0.29068342117893514
2768 +7.667906688322557,4.818161300840779,2.8497453874817777,0.0,-4.144450764825276,-0.09642680714969881,0.04140117222760452,9.238202504200961,0.0,0.0,-0.22056480361281214
2769 +7.40184157874383,6.087216801119627,1.3146247776242026,0.0,-1.8142554062917258,0.18428736444483396,0.03193970998319576,7.8574607598033905,0.0,0.0,-0.17221562682006797
2770 +5.817259958415975,5.855542041068832,-0.03828208265285671,0.0,-1.2517900751397821,0.009214590572310603,0.038910719344411995,7.2333207534995205,0.0,0.0,-0.17411394720763093
2771 +,4.315041027936584,,0.0,-4.705290524875142,-0.08530055854731622,0.0,9.238202504200961,0.0,0.0,-0.13257039284192002
2772 +6.715383386334681,6.063811607176115,0.6515717791585658,0.0,-1.952062501410853,-0.009489344228477865,0.0,8.371014507390216,0.0,0.0,-0.3456510545747701
2773 +6.530848472781933,6.543209262917861,-0.012360790135927502,0.0,-1.3399568735012002,0.020417512628787667,0.0,8.081390455752636,0.0,0.0,-0.21864183196236314
2774 +4.945705585343674,5.107713976264751,-0.162008390921077,0.0,-2.1044662973368435,0.024487790556786335,0.017324634400523453,7.161509225479146,0.0,0.0,0.008858623165140453
2775 +6.04528963380289,5.927483230482567,0.11780640332032277,0.0,-1.713266796193035,-0.06456368636967519,-0.012124622699479781,7.86173665221767,0.0,0.0,-0.1442983164729118
2776 +,6.037427836862234,,0.0,-0.3322626068177028,-0.05626930321198844,0.038910719344411995,6.456960899599574,0.0,0.0,-0.06991187205206059
2777 +,5.448813606545452,,0.0,-2.042323088074906,0.13735019817135344,0.029449257100003234,7.300193551389945,0.0,0.0,0.024143687959057587
2778 +6.429800119948781,5.9315139005957995,0.49828621935298134,0.0,-1.5623979269469066,-0.18867204949892488,0.029449257100003234,7.692039838809439,0.0,0.0,-0.038905218867809434
2779 +,5.337776373820615,,0.0,-1.169364094633453,0.006135632689643435,0.04140117222760452,6.74585492742054,0.0,0.0,-0.2862512638837181
2780 +7.25882051790625,-5.501091894495666,12.759912412401917,0.0,-5.38253181175574,0.004983542771512715,0.04140117222760452,0.0,0.0,0.0,-0.1649447977390423
2781 +5.963425090076736,5.290445539164337,0.672979550912399,0.0,-1.6625770904274981,-0.05392709939198436,0.017324634400523453,7.167368640054393,0.0,0.0,-0.17774354547109777
2782 +3.9186013207882686,5.737637636967343,-1.8190363161790746,0.0,-1.770682427450625,0.03576059882817305,0.0,7.821739237915807,0.0,0.0,-0.34917977232601216
2783 +5.376203905205108,6.454696085659766,-1.0784921804546581,0.0,-1.632008249989969,-0.04445940869551793,0.038910719344411995,8.134852470349093,0.0,0.0,-0.0425994453482503
2784 +8.260161881434671,7.191599771971673,1.0685621094629978,0.0,-1.4008896122552743,0.0793917417666277,0.0,8.368705490143888,0.0,0.0,0.14439215231643276
2785 +,5.542756929036207,,0.0,-1.6631031439357065,-0.03251596288147299,0.029276549528124737,7.235904265961494,0.0,0.0,-0.026804779636233095
2786 +7.563200592358071,4.9129242656961924,2.6502763266618787,0.0,-4.079040243135186,-0.021036883659418908,0.0024904528831925232,9.238202504200961,0.0,0.0,-0.22769156459335654
2787 +,5.277632602625162,,0.0,-1.7163676427189793,-0.2108292289840756,0.026786096644932214,7.180854872807327,0.0,0.0,-0.002811495124043134
2788 +4.763796549270511,4.884675859057784,-0.12087930978727268,0.0,-2.3602030854606744,0.06582198802289105,0.026786096644932214,7.382749749717767,0.0,0.0,-0.23047888986713194
2789 +,6.320154054253875,,0.0,-1.7771518072370354,-0.08915181194161291,0.029449257100003234,8.16949037991479,0.0,0.0,-0.012481963582269856
2790 +4.778366904449488,4.491203898682365,0.2871630057671233,0.0,-3.1484386792177954,-0.019946649160570165,0.0,7.908828402809387,0.0,0.0,-0.24923917574865734
2791 +7.877017895622398,6.51737718588987,1.3596407097325276,0.0,-1.6424229448950607,-0.032966090073210455,0.029449257100003234,7.935461090972494,0.0,0.0,0.2278558727856446
2792 +5.39893163658063,5.638787361098007,-0.23985572451737713,0.0,-1.7259386953713127,-0.01783080420545608,-0.012124622699479781,7.475027244530272,0.0,0.0,-0.08034576115601663
2793 +7.292337176173877,6.841985255586309,0.45035192058756834,0.0,-1.4854979041233936,0.015416315546406628,0.0,8.368542844490106,0.0,0.0,-0.05647600032681019
2794 +7.466055916772316,5.502547737496208,1.9635081792761078,0.0,-2.350497752210339,0.03428570093432242,0.0,7.746416470878957,0.0,0.0,0.07234331789326695
2795 +5.199877293734784,5.567293826567069,-0.36741653283228537,0.0,-1.8706954993692309,-0.0020367600925302945,0.029449257100003234,7.66098585824601,0.0,0.0,-0.2504090293171828
2796 +5.757860222186865,5.276478417560333,0.48138180462653235,0.0,-1.912535091465478,-0.04091655477701531,0.017324634400523453,7.450957007969223,0.0,0.0,-0.23835157856692096
2797 +6.122339288958779,6.862206425268623,-0.7398671363098437,0.0,-1.484798958003121,0.07024644930998603,0.0,8.371014507390216,0.0,0.0,-0.09425557342845739
2798 +,5.070059143813764,,0.0,-1.4097519529706668,-0.01577481093697876,0.029449257100003234,6.701841829635892,0.0,0.0,-0.23570517901448498
2799 +,5.2852624065172735,,0.0,-2.016483751427569,-0.04736085053665136,0.017324634400523453,7.493064041258776,0.0,0.0,-0.1612816671778073
2800 +,5.351941490146124,,0.0,-2.280972997201955,-0.1864681621585342,0.029449257100003234,7.937641844718109,0.0,0.0,-0.14770845231149904
2801 +5.753270807747395,6.305483621991809,-0.552212814244414,0.0,-1.2563433263081656,0.11187850338339358,-0.012124622699479781,7.6490128240558075,0.0,0.0,-0.18693975643974553
2802 +4.249494742382442,5.0568082691870915,-0.8073135268046494,0.0,-1.6735659440622674,-0.005876662705064366,0.0,6.829544295455855,0.0,0.0,-0.09329341950143123
2803 +8.203128812979225,7.959712038207447,0.24341677477177814,0.0,-0.2757119581389089,-0.012820998777734016,0.0024904528831925232,8.111579354301027,0.0,0.0,0.13417518793986935
2804 +5.474327380728188,5.2577845219876345,0.2165428587405538,0.0,-2.197010262960352,-0.03887831248538754,0.017324634400523453,7.663333938001115,0.0,0.0,-0.18698547496826617
2805 +6.489296112578515,6.442212366348015,0.04708374623050027,0.0,-1.3317528427864431,0.027363597831005157,0.0,7.808080157333699,0.0,0.0,-0.0614785460302464
2806 +4.072950669534428,5.294333379621074,-1.2213827100866457,0.0,-2.134025016523986,-0.01286388810574978,0.0,7.557614497249,0.0,0.0,-0.11639221299818894
2807 +,7.752593443722183,,0.0,-0.24329501257194774,-0.1334259542518152,0.0024904528831925232,8.280781835129236,0.0,0.0,-0.15395787746648365
2808 +5.308020142009422,4.975139384874265,0.33288075713515664,0.0,-3.0186237264216453,0.0837009362989542,0.017324634400523453,7.936449756132538,0.0,0.0,-0.04371221553610638
2809 +4.2249341319257026,5.343971182366816,-1.1190370504411131,0.0,-2.787841043790496,0.027663702125399075,0.0,8.210634079704526,0.0,0.0,-0.10648555567261409
2810 +,5.971765201677081,,0.0,-2.2147961541080763,0.05941371426559722,0.029449257100003234,8.16949037991479,0.0,0.0,-0.07179199549523521
2811 +,4.581243122374076,,0.0,-3.084784577058568,-0.17242329496687953,0.0,8.030629297570368,0.0,0.0,-0.19217830317084322
2812 +,6.123372868121493,,0.0,-2.265265218740085,-0.09084947974776983,0.0,8.60368906209316,0.0,0.0,-0.12420149548381228
2813 +5.158537924019751,4.543056422055843,0.6154815019639086,0.0,-2.3665050255410707,0.052448887539749335,0.038910719344411995,6.938391925542443,0.0,0.0,-0.12019008482969118
2814 +5.645976792559814,6.09752777545093,-0.4515509828911153,0.0,-2.043417982717558,-0.002558410721384026,0.038910719344411995,7.62162265120694,0.0,0.0,0.48297079833852086
2815 +,5.374678350669077,,0.0,-2.164821909371015,-0.07947365875009907,0.017324634400523453,7.740842286090309,0.0,0.0,-0.1391930017006408
2816 +4.851248708584797,5.450893916557412,-0.5996452079726149,0.0,-2.4527960114530023,0.0596758941303278,0.019815087283715976,7.99718864423207,0.0,0.0,-0.172989697635699
2817 +5.3992932838880385,5.500379742530153,-0.10108645864211407,0.0,-1.7213434935814167,0.07923961687788988,0.017324634400523453,7.138549945025826,0.0,0.0,-0.013390960192669438
2818 +,4.743844906245991,,0.0,-1.858320676563955,-0.14210292389550722,0.026786096644932214,6.866308457339316,0.0,0.0,-0.14882604727879395
2819 +,6.153957867217288,,0.0,-1.425347348889316,-0.041491930047745894,-0.012124622699479781,7.707988028032004,0.0,0.0,-0.07506625917817283
2820 +5.391306673390865,5.856245914263577,-0.4649392408727122,0.0,-1.0445580290616379,-0.056724847838773344,0.029276549528124737,6.920506166535996,0.0,0.0,0.007746075099867494
2821 +7.842596874631156,4.6609311673818326,3.1816657072493237,0.0,-4.048478587940286,-0.1546229023325626,0.0024904528831925232,9.0784399922403,0.0,0.0,-0.21689778746881078
2822 +,5.416334275271657,,0.0,-1.607431848889381,-0.1273046561511842,0.0024904528831925232,7.25669203203485,0.0,0.0,-0.10811170460582034
2823 +5.511935696637175,4.9023493549602115,0.6095863416769634,0.0,-2.2640990022893286,-0.11992464679651607,0.017324634400523453,7.522425115480217,0.0,0.0,-0.2533767458346835
2824 +,5.527341255799509,,0.0,-1.496889767525106,-0.01563742227862953,0.03193970998319576,7.2429315430435794,0.0,0.0,-0.23500280742352742
2825 +,5.751773666731025,,0.0,-1.5397139230386578,-0.21319984699520014,0.0024904528831925232,7.32197862024036,0.0,0.0,0.1802183636413295
2826 +7.606521642321788,6.343444974144405,1.2630766681773826,0.0,-2.024327026335791,0.03583744270755082,0.038910719344411995,8.308669038405613,0.0,0.0,-0.015645199977381792
2827 +,6.134779539468337,,0.0,-1.5664116004734128,0.009604382953773631,0.026786096644932214,7.740842286090309,0.0,0.0,-0.07604162574726578
2828 +5.895971850648506,4.592085237886812,1.3038866127616933,0.0,-4.5077856874327535,-0.15162768798168266,0.0024904528831925232,9.0784399922403,0.0,0.0,0.17056816817775708
2829 +4.994167101388949,5.446266698350224,-0.45209959696127555,0.0,-1.7482757966263902,-0.005084048656085208,0.029449257100003234,7.011923728908487,0.0,0.0,0.15825355762420992
2830 +6.640699024324013,5.849706419921643,0.7909926044023701,0.0,-1.535088346722941,-0.06254131505310451,0.0,7.388938545555153,0.0,0.0,0.058397536142535705
2831 +5.901649242785618,5.782860305855338,0.11878893693028036,0.0,-1.375998145393913,0.04209271219841829,0.017324634400523453,7.307098873983185,0.0,0.0,-0.2076577693328791
2832 +6.514890452849711,5.2595889738105415,1.2553014790391694,0.0,-1.5875286079795936,-0.2861415316132285,0.038910719344411995,7.317699951301862,0.0,0.0,-0.22335155724291011
2833 +,-1.0422967540761474,,0.0,-10.054464484460112,-0.15077801885376385,0.0,9.238202504200961,0.0,0.0,-0.07525675496322738
2834 +4.6016640466588035,4.088804849164314,0.5128591974944898,0.0,-3.2027704925479368,-0.06762320955746809,0.0,7.608075245539086,0.0,0.0,-0.24887669426936715
2835 +4.771277668919018,4.771277668921507,-2.488675931999751e-12,0.0,-2.2150033443271804,-0.07501396232127656,0.038910719344411995,7.342573082629737,0.0,0.0,-0.3201888264041834
2836 +6.01525431323072,5.616075092481335,0.39917922074938517,0.0,-0.9998392077062936,-0.1522780536623456,0.026786096644932214,6.945289707113003,0.0,0.0,-0.2038834499079608
2837 +8.15507488781144,4.367511890251632,3.7875629975598075,0.0,-4.830218601191019,0.0657274309956769,0.0024904528831925232,9.0784399922403,0.0,0.0,0.05107261532348337
2838 +4.401093697391107,5.401590175329465,-1.0004964779383583,0.0,-1.919382189138367,0.008618606704013695,0.029449257100003234,7.510398477863884,0.0,0.0,-0.22749397720006967
2839 +4.121148764974151,5.912984037563321,-1.7918352725891697,0.0,-2.068534894725863,-0.15326935921917587,0.017324634400523453,7.269520026692012,0.0,0.0,0.8479436304158247
2840 +5.026574257897758,5.082053449923946,-0.055479192026187896,0.0,-2.245624633463115,-0.10620824167592456,0.029449257100003234,7.402941221294252,0.0,0.0,0.001495846668731482
2841 +,5.725078921117486,,0.0,-2.060275662482618,-0.04831439766939276,0.017324634400523453,8.031473113793162,0.0,0.0,-0.21512876692418811
2842 +3.9541241814467813,4.587258671933057,-0.6331344904862757,0.0,-1.9372712917135972,-0.1036593952862838,0.026786096644932214,6.75305153022501,0.0,0.0,-0.15164826793700267
2843 +5.320372357328868,5.356630471446043,-0.03625811411717539,0.0,-1.6518082555270794,0.1344397895709759,0.017324634400523453,7.137808446155793,0.0,0.0,-0.28113414315416896
2844 +7.864546673755071,6.594859439335672,1.2696872344193988,0.0,-1.706272646977057,-0.021879125250630432,0.0,8.328472330496643,0.0,0.0,-0.005461118933280912
2845 +4.91096227761219,6.366813661167583,-1.4558513835553937,0.0,-1.5092219485533311,-0.05121826102683045,0.0024904528831925232,7.483089045309474,0.0,0.0,0.4416743725550796
2846 +7.911690520708339,-4.413208718610527,12.324899239318865,0.0,-4.410370839909721,-0.03493844145232124,0.0024904528831925232,0.0,0.0,0.0,0.029610109868324325
2847 +9.001842792883515,3.144144189300853,5.857698603582662,0.0,-5.63729148285805,-0.10063754762949764,0.0,9.0784399922403,0.0,0.0,-0.1963667724518979
2848 +,5.276104529736678,,0.0,-2.19124664830147,-0.10007747180526157,0.017324634400523453,7.622858482656995,0.0,0.0,-0.07275446721410923
2849 +,7.218039420289164,,0.0,-1.7714324262120904,0.01693368131107996,0.0,8.372087693186488,0.0,0.0,0.6004504720036854
2850 +,5.528075636184836,,0.0,-1.649511757746569,0.06074007525872395,0.038910719344411995,6.731602292066853,0.0,0.0,0.34633430726141706
2851 +,5.210522974438981,,0.0,-2.071798770066019,0.04685002028761605,0.017324634400523453,7.51244849593906,0.0,0.0,-0.294301406122198
2852 +4.399129542573544,-5.4075275738799125,9.806657116453456,0.0,-5.725373868077137,-0.06701708443756559,0.0,0.0,0.0,0.0,0.38486337863478953
2853 +4.749962930889632,5.671633727690692,-0.9216707968010596,0.0,-1.7431535906345568,-0.05286067703595096,0.026786096644932214,7.17314009937195,0.0,0.0,0.26772179934431906
2854 +7.6576655174614,4.226850146642219,3.4308153708191806,0.0,-5.090866099887246,-0.157445018441836,0.0,9.238202504200961,0.0,0.0,0.23695876077034028
2855 +5.211724083962941,5.466195077412308,-0.25447099344936674,0.0,-1.6850697041038867,0.09932263804740754,0.038910719344411995,6.869443168420953,0.0,0.0,0.1435882557034221
2856 +5.331655426158547,6.940113957084054,-1.6084585309255068,0.0,-1.2755493737000938,-0.04036503154501349,0.0,8.368705490143888,0.0,0.0,-0.11267712781472777
2857 +6.062202561613324,6.154394436325877,-0.09219187471255275,0.0,-1.3700930791471224,0.09372018372318466,0.0,7.462631149676245,0.0,0.0,-0.031863817926430366
2858 +4.608265390895394,4.610783860646512,-0.0025184697511182463,0.0,-2.572045250681154,-0.010138530242477534,0.038910719344411995,7.303658262757113,0.0,0.0,-0.14960134053138127
2859 +,4.951196824037428,,0.0,-1.7875364644011116,-0.07100774970780956,0.0,6.893172605789022,0.0,0.0,-0.08343156764267225
2860 +5.855071922202427,6.137541244690721,-0.2824693224882937,0.0,-1.7972819813239322,-0.05570237668961973,0.0,8.049180466222564,0.0,0.0,-0.05865486351829055
2861 +,4.622304940044549,,0.0,-2.204015614680851,-0.08051050065519522,0.026786096644932214,6.87668662377649,0.0,0.0,0.0033583349591726885
2862 +5.814130531825066,5.4815713240660555,0.3325592077590107,0.0,-1.3866486231883242,-0.036539176762988554,0.038910719344411995,7.126193830576206,0.0,0.0,-0.26034542590324955
2863 +4.955827057601261,5.529310394977044,-0.5734833373757828,0.0,-1.7643494709007266,0.018347573798122775,0.029449257100003234,7.4174410229379495,0.0,0.0,-0.17157798795830623
2864 +4.634728988229636,5.321531437230335,-0.686802449000699,0.0,-2.1495684891267253,-0.0672059518379238,0.0024904528831925232,7.6522472073223895,0.0,0.0,-0.11643178201059914
2865 +5.10594547390058,5.395240989086852,-0.2892955151862715,0.0,-1.802644369935491,-0.032771377716216896,0.0,7.384615909950151,0.0,0.0,-0.15395917321159094
2866 +,6.194076811827528,,0.0,-1.9850981342646463,0.09839457724428113,0.0,7.584344941671968,0.0,0.0,0.4964354271759258
2867 +5.043425116919247,4.826369035188787,0.2170560817304601,0.0,-2.502030290574667,-0.1131826266911653,-0.012124622699479781,7.541118382152257,0.0,0.0,-0.08741180699815797
2868 +,5.5237135935197825,,0.0,-1.7183054484569755,0.04036136606320543,0.017324634400523453,7.239703427242653,0.0,0.0,-0.05537038572962169
2869 +5.332718793265369,5.95185377956634,-0.6191349863009714,0.0,-1.1295458992348566,0.02687994619565532,0.0,7.012912394068531,0.0,0.0,0.041607338537010125
2870 +8.180320874773685,4.9308369399327985,3.249483934840886,0.0,-1.7018697761926003,-0.02414182479650703,0.0,6.796888464949408,0.0,0.0,-0.14003992402750254
2871 +4.897839799950911,6.136486893522086,-1.238647093571175,0.0,-1.7035167074335833,-0.06646613444123857,0.029449257100003234,7.652865123047418,0.0,0.0,0.22415535524948668
2872 +,6.439125974339642,,0.0,-1.4046789717052102,-0.16886004383225886,0.0,8.036789051724245,0.0,0.0,-0.024124061847135753
2873 +,6.099024152566516,,0.0,-1.4353252896389366,0.02073721145944496,0.0,7.793706357385895,0.0,0.0,-0.2800941266398878
2874 +5.808142489980444,5.242184428488686,0.5659580614917576,0.0,-1.7358128391410483,0.00016794676564828304,0.029449257100003234,7.1492444666541255,0.0,0.0,-0.20086440289004157
2875 +5.4680601411351315,5.7204969934750745,-0.25243685233994295,0.0,-1.3872867786788294,-0.05670352823740698,0.017324634400523453,7.064240717377029,0.0,0.0,0.08292194861375965
2876 +5.303304908059076,5.679526588103077,-0.3762216800440017,0.0,-2.112034846905561,-0.10984431972726955,0.017324634400523453,7.563568815269952,0.0,0.0,0.32051230506543105
2877 +8.094988759303774,5.897417949576345,2.19757080972743,0.0,-2.073620933191849,-0.13014950763002314,0.0,8.208942978183227,0.0,0.0,-0.10775458778500982
2878 +6.135564891081739,6.664598025912728,-0.5290331348309891,0.0,-1.2859445732077104,-0.06063378686051898,0.0,8.093859507982389,0.0,0.0,-0.08268312200143067
2879 +,6.32699169443321,,0.0,-2.079961233537527,-0.017973249738212533,0.0,7.776519918162387,0.0,0.0,0.6484062595465614
2880 +,4.386173223052368,,0.0,-4.800707581131732,0.06625815829488915,0.0,9.0784399922403,0.0,0.0,0.04218265364891158
2881 +9.035510680940524,5.028173715798284,4.0073369651422395,0.0,-1.9330809939294875,-0.05068110966689228,0.0,7.109510348441339,0.0,0.0,-0.09757452904667557
2882 +8.656781205623291,6.506035858672126,2.1507453469511653,0.0,-1.5507522296676024,0.023572801436911803,0.0,7.567942180405588,0.0,0.0,0.4652731064972302
2883 +5.293304824724492,4.865553154124545,0.4277516705999469,0.0,-1.9459271510326541,-0.0024751323090223265,0.017324634400523453,6.8848216212097775,0.0,0.0,-0.08819081814407723
2884 +,5.690403972250434,,0.0,-0.5201964237998196,-0.08230333281829955,0.029449257100003234,6.375433133840916,0.0,0.0,-0.11197866207236666
2885 +,5.3211050217606255,,0.0,-2.068658899099276,-0.08260805187713408,0.038910719344411995,7.331788249016487,0.0,0.0,0.101673004376138
2886 +6.0473721790462776,6.638720268100683,-0.5913480890544056,0.0,-2.3268976821271354,0.036983838665669615,0.0,8.841696681249267,0.0,0.0,0.08693743031288101
2887 +5.568344503761097,6.432759936526562,-0.8644154327654654,0.0,-1.0758795439089344,-0.0004039092602231009,0.026786096644932214,7.740224370365282,0.0,0.0,-0.25796707731449364
2888 +5.455321115357702,3.7647224231043612,1.6905986922533405,0.0,-5.332993173165228,-0.036925652638886704,0.038910719344411995,9.238202504200961,0.0,0.0,-0.1424719746368967
2889 +6.222576268071369,5.991484808986063,0.23109145908530593,0.0,-1.2504044371693475,0.03993374600099037,0.0024904528831925232,7.369982905428724,0.0,0.0,-0.1705178581574967
2890 +5.780743515792329,5.505595592243967,0.2751479235483618,0.0,-1.913180918349119,0.09173583585129311,0.029276549528124737,7.141790454024345,0.0,0.0,0.15597367118932667
2891 +5.393627546352362,-5.303842217719769,10.697469764072132,0.0,-5.3071442599109915,-0.011432192595087268,0.0,0.0,0.0,0.0,0.014734234786307171
2892 +5.501258210544727,5.2603275805050655,0.24093063003966186,0.0,-1.7559032468920295,-0.027695998947212405,0.029276549528124737,7.274738948504902,0.0,0.0,-0.26008867168872046
2893 +,5.575317098678798,,0.0,-1.5721708363408151,0.04818939042563603,0.0,7.0343978776949125,0.0,0.0,0.06490066689906446
2894 +5.673323267171493,5.658790841296172,0.014532425875320776,0.0,-1.6107690905757641,-0.056839126398478636,0.017324634400523453,7.193374818377408,0.0,0.0,0.11569960549248329
2895 +,6.323844287338975,,0.0,-1.8758896731895236,-0.0003863981067833387,0.0,8.00177011314894,0.0,0.0,0.1983502454863458
2896 +6.093569770045136,7.659729623546706,-1.5661598535015706,0.0,-0.5425253315398573,-0.11913782054787099,0.0024904528831925232,8.148204090083695,0.0,0.0,0.17069823266754866
2897 +5.3981627015177525,6.153702055253094,-0.7555393537353412,0.0,-0.8741473353550795,-0.035827356134327484,0.038910719344411995,7.133861507740018,0.0,0.0,-0.10909548034192715
2898 +4.3694478524670215,6.5048977783455,-2.1354499258784783,0.0,-1.994524024292181,0.09780013226617182,0.0024904528831925232,8.224106153679404,0.0,0.0,0.1750250638089129
2899 +5.808142489980444,6.121568492965358,-0.3134260029849143,0.0,-0.5620043550954712,-0.10077915435224566,0.038910719344411995,6.665779167794575,0.0,0.0,0.07966211527408837
2900 +5.8664680569332965,-5.703435196234026,11.569903253167322,0.0,-5.692612843351705,-0.027497787515132602,0.0024904528831925232,0.0,0.0,0.0,0.01418498174961938
2901 +,-5.699531935776059,,0.0,-5.3435894886848665,-0.11789063195795862,0.038910719344411995,0.0,0.0,0.0,-0.2769625344776472
2902 +,6.629338032572463,,0.0,-1.5602636956446174,0.014030822271715471,0.0,8.208942978183227,0.0,0.0,-0.033372072237863766
2903 +5.187385805840755,4.337869204641344,0.8495166011994106,0.0,-4.960583641373614,-0.12088822586501598,0.029449257100003234,9.0784399922403,0.0,0.0,0.31145182253967363
2904 +,4.9772319393564874,,0.0,-1.1558856922012426,-0.03628238938749256,0.029276549528124737,6.707036215912237,0.0,0.0,-0.5669127444951385
2905 +7.788211557847076,4.827977696866964,2.9602338609801118,0.0,-4.133630497466598,-0.05907249261528733,0.04140117222760452,9.0784399922403,0.0,0.0,-0.09916047751905441
2906 +7.488293515159428,5.49101341519522,1.9972800999642075,0.0,-2.2010066245427513,0.046614595592726404,0.038910719344411995,7.566459182665522,0.0,0.0,0.040035542135311686
2907 +5.1647859739235145,5.139553165090848,0.025232808832666542,0.0,-1.8175067153309392,-0.09963490031302322,0.017324634400523453,7.25426562479248,0.0,0.0,-0.21489547845819265
2908 +8.245121966478605,6.278708030860789,1.9664139356178154,0.0,-1.3197431838932898,-0.07475612799352403,0.0,8.095589672012466,0.0,0.0,-0.42238232926486174
2909 +8.13505390861157,5.077260830690126,3.057793077921443,0.0,-2.5456115447629895,0.08699753709727504,0.029449257100003234,7.530794329108711,0.0,0.0,-0.02436874785287342
2910 +,5.592752110635024,,0.0,-1.8588918856172532,-0.04952420236916631,0.029449257100003234,6.987096610494426,0.0,0.0,0.4846223310270147
2911 +7.130098510125578,4.4072562654060565,2.722842244719521,0.0,-4.452760226382252,0.07461608739600695,0.0024904528831925232,9.0784399922403,0.0,0.0,-0.2955300407311894
2912 +6.317164686747284,-5.5008837372161015,11.818048423963386,0.0,-5.3589898946156564,-0.15016809672091602,0.029449257100003234,0.0,0.0,0.0,-0.021175002979533175
2913 +,-2.753689900965428,,0.0,-1.8184695309804821,0.01893986455044547,-0.012124622699479781,-0.7423105607057928,0.0,0.0,-0.19972505113011932
2914 +,-5.8291852133086195,,0.0,-5.807952734497496,0.006491881292465598,0.0,0.0,0.0,0.0,-0.027724360103589495
2915 +6.129050210060545,-5.236284312285271,11.365334522345815,0.0,-5.0081896149742855,-0.024837022789966814,0.029449257100003234,0.0,0.0,0.0,-0.23270693162102124
2916 +,-5.099501458192558,,0.0,-5.515063866717417,0.0658297397168089,0.0024904528831925232,0.0,0.0,0.0,0.34724221592485804
2917 +4.543294782270004,-5.762404564796584,10.305699347066588,0.0,-5.470279381380292,-0.08293876069996264,0.038910719344411995,0.0,0.0,0.0,-0.24809714206073985
2918 +,-4.171601072885096,,0.0,-4.620509924244549,0.07735397666215094,0.04140117222760452,0.0,0.0,0.0,0.330153702469697
2919 +,-3.087146303009405,,0.0,-2.2084518224508924,0.044428747384330454,0.038910719344411995,-0.7431756427208313,0.0,0.0,-0.21885830456642455
2920 +4.23410650459726,-2.9850704629723963,7.2191769675696555,0.0,-2.084534206845394,-0.10757949861828825,0.017324634400523453,-0.7444114741708862,0.0,0.0,-0.06586991773835046
2921 +5.111987788356544,-2.977791687734651,8.089779476091195,0.0,-1.8851540934960154,-0.22868654928072793,0.017324634400523453,-0.7429284764308203,0.0,0.0,-0.13834720292760866
2922 +,-2.5679794004385608,,0.0,-2.0660510961856575,-0.06735081820062169,0.0,-0.5981113599557263,0.0,0.0,0.16353387390344412
2923 +3.828641396489095,-5.963005096512164,9.79164649300126,0.0,-5.605009315185216,-0.22907835038262936,0.0024904528831925232,0.0,0.0,0.0,-0.131407883827511
2924 +,-2.131587269161164,,0.0,-1.4955392971555046,-0.0614905353689207,0.0,-0.4354219150237098,0.0,0.0,-0.13913552161302864
2925 +6.111467339502679,-2.1692372482679865,8.280704587770664,0.0,-1.699811103891606,0.07420003872168125,0.0,-0.43492758244368784,0.0,0.0,-0.10869860065437317
2926 +,-5.050602898172506,,0.0,-4.884060847979783,-0.0458937510426448,0.0,0.0,0.0,0.0,-0.1206482991500781
2927 +,-4.2120046507421876,,0.0,-4.156219257433882,0.06830957069875399,0.0,0.0,0.0,0.0,-0.12409496400705941
2928 +4.976733742420574,5.124449807164842,-0.14771606474426768,0.0,-1.8871292795365369,-0.13138624015430975,0.0,7.187223294705072,0.0,0.0,-0.044257967849382934
2929 +5.3471075307174685,5.089844636778911,0.2572628939385577,0.0,-1.8310190090519383,-0.05448020420853156,0.017324634400523453,7.403559137019279,0.0,0.0,-0.44553992138042153
2930 +,5.630466361841071,,0.0,-1.3160615017109567,0.1132166722219052,0.026786096644932214,6.543579409279431,0.0,0.0,0.26294568540576063
2931 +,6.043162579686915,,0.0,-1.8327360989734336,-0.10089472692154824,0.0,8.005877217397266,0.0,0.0,-0.02908381181536987
2932 +,5.721246454765965,,0.0,-1.058620649072072,-0.05800360499193932,-0.012124622699479781,7.034724554721796,0.0,0.0,-0.1847292231923404
2933 +4.406719247264253,5.570102623652909,-1.1633833763886559,0.0,-2.369519379578266,0.0738898304265919,0.0,7.969039438235639,0.0,0.0,-0.1033072654310559
2934 +7.427738840532894,5.38165720080626,2.0460816397266335,0.0,-1.6661561660459219,-0.052743108217233485,0.0,7.223058302235881,0.0,0.0,-0.12250182716646431
2935 +7.256297239690681,5.746852254252921,1.50944498543776,0.0,-2.1042973363002098,-0.014027756268816274,0.0,7.793328737052413,0.0,0.0,0.07184860976953619
2936 +5.442417710521793,4.894464165976997,0.5479535445447965,0.0,-2.0291198676919366,-0.22070929601354078,0.017324634400523453,7.238714762082609,0.0,0.0,-0.1117460668006578
2937 +,5.642443665157705,,0.0,-1.679631951782878,-0.06862774067609502,0.0024904528831925232,7.5203433729644615,0.0,0.0,-0.13213046823097613
2938 +5.968707559985366,6.288834646455903,-0.3201270864705368,0.0,-1.6442200282450044,-0.001268694509542971,0.029449257100003234,7.949660307232322,0.0,0.0,-0.04478619512187559
2939 +4.653960350157523,-1.2007108412348304,5.854671191392353,0.0,-0.24118847928660525,-0.020788773694503847,0.0024904528831925232,-0.5963811959256494,0.0,0.0,-0.3448428452112628
2940 +,-2.072346631184025,,0.0,-2.250275323988801,0.0256542492227957,0.0,-0.11918817789008321,0.0,0.0,0.27146262147206324
2941 +,-3.1469939712132273,,0.0,-1.9975208120728007,-0.20022032086056085,0.029449257100003234,-0.7423105607057928,0.0,0.0,-0.23639153467407528
2942 +,-5.0051451589269425,,0.0,-4.952572360774155,0.03703989921351769,0.0,0.0,0.0,0.0,-0.08961269736630299
2943 +,-4.13647905477559,,0.0,-4.078937871440807,-0.0722532423379133,0.029449257100003234,0.0,0.0,0.0,-0.014737198096873988
2944 +,-5.466963265432859,,0.0,-5.729371887134567,-0.049939882360111314,0.0024904528831925232,0.0,0.0,0.0,0.3098580511786263
2945 +3.7612001156935624,-2.535680057399041,6.296880173092603,0.0,-1.6649939299831908,-0.03812270368660235,0.0,-0.5983585262457373,0.0,0.0,-0.23420489748350956
2946 +,-5.520327587430489,,0.0,-5.256373190370031,-0.01998071670891402,0.0,0.0,0.0,0.0,-0.24397368035154562
2947 +4.59511985013459,-4.291112163418973,8.886232013553563,0.0,-4.182151156643721,-0.08966394490764984,0.04140117222760452,0.0,0.0,0.0,-0.06069823409520589
2948 +6.298949246855942,5.69281671725153,0.6061325296044124,0.0,-1.654329566273792,-0.017423711233018488,-0.012124622699479781,7.511830580214032,0.0,0.0,-0.13513596275621204
2949 +7.664815785285735,6.071686303817681,1.593129481468054,0.0,-1.7029286547870877,0.02567670577644654,0.0,7.781707786431121,0.0,0.0,-0.03276953360279921
2950 +5.384495062789089,5.095050589916682,0.2894444728724066,0.0,-1.8852084298204206,-0.07688049743160338,0.017324634400523453,7.142408369749372,0.0,0.0,-0.10259348698118842
2951 +7.778211474512493,5.628063889796073,2.1501475847164198,0.0,-1.724971885467455,-0.07783029489372227,0.0,7.9030508289918275,0.0,0.0,-0.472184758834577
2952 +,4.900727857905867,,0.0,-1.5842229450969993,-0.005650859980460193,0.026786096644932214,6.5604477803258305,0.0,0.0,-0.09663221398743405
2953 +5.537334267018537,5.493051096393448,0.04428317062508835,0.0,-1.7784051254662634,-0.12102213626031716,0.0,7.622316023905476,0.0,0.0,-0.22983766578544837
2954 +5.2832037287379885,6.567337938061148,-1.2841342093231596,0.0,-1.0778081191031967,-0.024246898207412076,0.0024904528831925232,7.731278401525778,0.0,0.0,-0.06437589903721311
2955 +,-1.666771029880839,,0.0,-1.1544307836867818,-0.049013797401958416,0.0,-0.5973698610856933,0.0,0.0,0.13404341229359476
2956 +,-5.709129102542016,,0.0,-5.234964830377821,-0.05911105043445812,0.029449257100003234,0.0,0.0,0.0,-0.44450247882973937
2957 +,-3.3503976456493283,,0.0,-2.169704984225601,0.015888309535307565,-0.012124622699479781,-0.7423105607057928,0.0,0.0,-0.44214578755376166
2958 +,-3.1812809612323383,,0.0,-2.342959492722682,0.03815073451791348,0.026786096644932214,-0.7423105607057928,0.0,0.0,-0.16094773896671055
2959 +,-4.314755428201803,,0.0,-4.122018848731818,-0.0445555047098576,0.0024904528831925232,0.0,0.0,0.0,-0.15067152764331945
2960 +,-2.4387598573082467,,0.0,-1.8888553148895992,-0.08257512746862754,0.017324634400523453,-0.7442878910258807,0.0,0.0,0.25963384167533765
2961 +,-3.0441986665326843,,0.0,-2.1693307083434386,0.047390187738560685,0.038910719344411995,-0.7423105607057928,0.0,0.0,-0.21885830456642455
2962 +,-3.827424620628722,,0.0,-4.0147318810139225,0.02226057349395337,0.0024904528831925232,0.0,0.0,0.0,0.16255623400805516
2963 +,-5.590534493366206,,0.0,-5.496416537779485,0.04244955722875775,0.029449257100003234,0.0,0.0,0.0,-0.16601676991548248
2964 +,-5.671599816224601,,0.0,-5.328358068178716,-0.12039825119533798,0.0,0.0,0.0,0.0,-0.22284349685054758
2965 +,-3.088919104040243,,0.0,-2.1189279867322233,-0.07927192243740658,0.026786096644932214,-0.7434228090108422,0.0,0.0,-0.1740824825047027
2966 +,-2.7574167445787614,,0.0,-1.896973240275508,-0.11364536137976258,0.029449257100003234,-0.7434228090108422,0.0,0.0,-0.03282459101265188
2967 +,-1.9922203441003052,,0.0,-1.4488401550040981,-0.013515310313374048,0.0024904528831925232,-0.5963811959256494,0.0,0.0,0.06402586425962421
2968 +4.969813299576001,5.627749647206413,-0.6579363476304119,0.0,-1.5911103512563871,0.01675890942151005,-0.012124622699479781,6.780001175064168,0.0,0.0,0.43422453667660155
2969 +,5.809219684020184,,0.0,-2.255064433182782,-0.04498675422551643,0.0,8.256548952914406,0.0,0.0,-0.14727808148592167
2970 +8.62622695244036,5.471086002626783,3.1551409498135774,0.0,-2.09196129369582,0.06625943625863012,0.0,7.489074417721332,0.0,0.0,0.007713442342639348
2971 +5.91350300563827,5.6973828027871605,0.21612020285110933,0.0,-1.0748763767342675,-0.2107129267155755,0.038910719344411995,6.832939974746848,0.0,0.0,0.11112141214574353
2972 +5.583496308781699,5.848821843744371,-0.2653255349626722,0.0,-1.3732838914779286,-0.03048484514217598,0.0,7.456983309252648,0.0,0.0,-0.2043927288881712
2973 +,6.324395686061297,,0.0,-0.9429628143069513,-0.11893260433956035,0.038910719344411995,7.240293126055079,0.0,0.0,0.10708725930831828
2974 +8.808070154764538,-4.802555137985909,13.610625292750447,0.0,-4.598558715467901,-0.05509993437543434,0.0,0.0,0.0,0.0,-0.14889648814257456
2975 +,3.512166886179786,,0.0,-5.2813610251616865,-0.2168015962977411,0.0,9.0784399922403,0.0,0.0,-0.06811048460108607
2976 +,5.453783941572097,,0.0,-1.945604766770768,-0.17955201092971512,0.0,7.695305704379188,0.0,0.0,-0.1163649851066085
2977 +7.237059026124737,5.437987062721078,1.7990719634036596,0.0,-2.3077971818191454,0.054003958629677995,0.0,8.16549665676584,0.0,0.0,-0.47371637085529295
2978 +4.330733340286331,5.66879749863656,-1.338064158350229,0.0,-2.3006581775835304,-0.1734177635997643,0.0024904528831925232,8.256548952914406,0.0,0.0,-0.11616596597774279
2979 +,7.33505425916642,,0.0,-0.7763449686829036,0.0581272754281911,-0.009634169816287258,8.031473113793162,0.0,0.0,0.03143300844425742
2980 +4.394449154672439,5.137033482526547,-0.7425843278541082,0.0,-2.1057403585726027,-0.09449396008715816,0.0,7.613158540965783,0.0,0.0,-0.27589073977947504
2981 +,7.0882710084571245,,0.0,-0.8251861264716114,-0.0933342168626343,0.017324634400523453,7.564310314139986,0.0,0.0,0.4251564032508588
2982 +7.699842407396986,-3.6362791675008856,11.336121574897872,0.0,-4.009032482523542,0.013304450175659024,0.0024904528831925232,0.0,0.0,0.0,0.3569584119638056
2983 +4.836281906951478,4.728367317097501,0.10791458985397728,0.0,-2.041661756797022,-0.049258948241024836,0.019815087283715976,6.951070162323131,0.0,0.0,-0.15159722747129867
2984 +4.23410650459726,4.973891443564788,-0.739784938967528,0.0,-1.5843227608886536,0.026011992844689694,0.026786096644932214,6.531302651490869,0.0,0.0,-0.0258865365270493
2985 +5.4680601411351315,4.891887473155595,0.5761726679795363,0.0,-1.8183218555268592,0.008934329208157482,0.017324634400523453,6.7064183001872095,0.0,0.0,-0.022467935113436033
2986 +4.343805421853684,5.486756638906609,-1.142951217052925,0.0,-1.5241589035752066,-0.06572670803576072,0.0,7.156988011673592,0.0,0.0,-0.08034576115601663
2987 +,5.192545357617677,,0.0,-1.6432563188295424,-0.11661947521338462,0.0,6.9560330611850425,0.0,0.0,-0.0036119095244389887
2988 +4.836281906951478,5.00166143710243,-0.1653795301509522,0.0,-1.7167364556222466,-0.04947894474653462,0.029276549528124737,7.054303260148277,0.0,0.0,-0.3157029722051887
2989 +4.941642422609304,6.194856341295311,-1.253213918686007,0.0,-2.2977053072039286,0.016955050804112304,0.0,8.529170438465806,0.0,0.0,-0.05356384077067775
2990 +,-5.143393054737926,,0.0,-5.136810382342741,-0.06061743747778524,0.038910719344411995,0.0,0.0,0.0,0.01512404573818757
2991 +,-5.058811463991543,,0.0,-4.896931910159009,-0.008062543939288451,0.0024904528831925232,0.0,0.0,0.0,-0.15630746277643748
2992 +,-5.507668502634577,,0.0,-5.581808657413806,-0.0012074470998407194,0.0024904528831925232,0.0,0.0,0.0,0.07285714899587707
2993 +4.477336814478207,-0.7878539316447132,5.26519074612292,0.0,-0.37389149232420227,0.1453277892975443,0.029276549528124737,-0.7423105607057928,0.0,0.0,0.15374378255961288
2994 +,-4.221221334513881,,0.0,-4.194124772406868,-0.15641119558058686,0.0024904528831925232,0.0,0.0,0.0,0.12682418059038122
2995 +5.420534999272286,-5.032378324239371,10.452913323511657,0.0,-4.976233993952176,0.1988751723171914,0.04140117222760452,0.0,0.0,0.0,-0.2964206748319924
2996 +,-2.7375740597617204,,0.0,-2.0863266015488797,0.03885409033909765,-0.012124622699479781,-0.4345568330086713,0.0,0.0,-0.2434200928437839
2997 +4.1588830833596715,5.543593400153535,-1.3847103167938632,0.0,-1.5735389784683056,0.03702617835047613,0.0,7.303239387150599,0.0,0.0,-0.22313318687923633
2998 +5.420534999272286,4.833022865779021,0.5875121334932656,0.0,-1.9114866315845607,-0.1920475525960877,0.026786096644932214,7.088928869663104,0.0,0.0,-0.179157916348366
2999 +4.897839799950911,5.800569670655364,-0.9027298707044533,0.0,-1.9678562979555005,0.06387203436795584,0.0,7.838463536169604,0.0,0.0,-0.13390960192669438
3000 +4.143134726391533,5.577332139603294,-1.4341974132117619,0.0,-2.435899345525992,-0.04615240420944208,0.038910719344411995,8.037615071230505,0.0,0.0,-0.017141901236188837
3001 +7.432483807917119,7.11850496527391,0.3139788426432091,0.0,-0.9558621283757551,-0.008685744397376356,-0.009634169816287258,8.063013613403083,0.0,0.0,0.029673394460247887
3002 +7.950149887652018,5.844451219624229,2.105698668027789,0.0,-1.5088202635947194,0.005589683959413463,0.038910719344411995,7.34924833194555,0.0,0.0,-0.04047725203042554
3003 +5.135798437050262,5.021159146394583,0.11463929065567946,0.0,-2.0691288681299804,-0.08404963725306881,0.017324634400523453,7.337356535508452,0.0,0.0,-0.18034351813134264
3004 +8.36380888451688,6.806693256888657,1.5571156276282228,0.0,-1.426250295176871,0.013975317765556015,0.0,8.368705490143888,0.0,0.0,-0.1497372558439167
3005 +9.251578279992428,6.156798487576966,3.094779792415462,0.0,-2.2236935490334,-0.04421614395249784,0.0,8.469010403582525,0.0,0.0,-0.04430222301966123
3006 +7.810758116529357,7.0040398954050795,0.8067182211242772,0.0,-0.8341292615670914,-0.030319969842869263,0.029276549528124737,7.99718864423207,0.0,0.0,-0.157976066945153
3007 +10.111679889397125,7.314910471365896,2.7967694180312295,0.0,-1.7048044308349866,0.1329338293798757,0.0024904528831925232,8.095921358938705,0.0,0.0,0.7883692609991086
3008 +5.0689042022202315,5.19339725479801,-0.12449305257777876,0.0,-2.3956399750281028,-0.00581911055542143,0.029449257100003234,7.662645125133578,0.0,0.0,-0.09723804185204565
3009 +,5.551114666997956,,0.0,-1.8157625093136414,0.04417347239442894,0.017324634400523453,7.325108216134638,0.0,0.0,-0.01972914661799131
3010 +4.454347296253507,5.076930427886649,-0.6225831316331414,0.0,-1.589007595212153,-0.01639698597349877,0.026786096644932214,6.675110836457837,0.0,0.0,-0.019561924030469434
3011 +5.308267697401205,5.420371541257038,-0.11210384385583261,0.0,-1.5353634842810697,0.0878353773524216,0.017324634400523453,7.12284258978918,0.0,0.0,-0.2722675760040151
3012 +4.330733340286331,5.154833786576022,-0.824100446289691,0.0,-2.2596093689388743,-0.004067922889332373,-0.012124622699479781,7.426328023655006,0.0,0.0,0.0043076774487031365
3013 +5.3981627015177525,5.731061985168907,-0.3328992836511544,0.0,-1.7499136572325158,0.08504356067934667,0.017324634400523453,7.324861049844627,0.0,0.0,0.05374639747692622
3014 +7.908754738783246,6.361165938974524,1.5475887998087225,0.0,-1.6077858065076471,-0.07155348862243463,0.029449257100003234,7.590806268187569,0.0,0.0,0.4202497088170334
3015 +5.232925147780985,6.145950453961982,-0.9130253061809972,0.0,-1.702466215216373,0.02454608161236873,-0.012124622699479781,7.836684633401376,0.0,0.0,-0.0006894231359077241
3016 +7.917536353943631,7.0633316046802985,0.8542047492633325,0.0,-1.0525355737798767,-0.0302085826265681,0.038910719344411995,8.134852470349093,0.0,0.0,-0.0276874286067621
3017 +5.09736329760608,5.811801407144312,-0.7144381095382322,0.0,-1.6237611251206205,-0.13327570421853063,0.0024904528831925232,7.7619430695627445,0.0,0.0,-0.19559528596247347
3018 +,5.960712998670578,,0.0,-1.9634076928647,-0.08539539260255796,0.026786096644932214,7.815380913519841,0.0,0.0,0.1673490739730626
3019 +,5.011773354329167,,0.0,-1.8946138516696536,-0.12965564356859566,0.0024904528831925232,6.933444530166738,0.0,0.0,0.10010786651748665
3020 +5.075236313280783,5.435465730868331,-0.360229417587548,0.0,-2.180001747718988,-0.1368772066049116,0.0,7.957691902163714,0.0,0.0,-0.20534721697148292
3021 +5.489557368849238,7.9376636220767915,-2.4481062532275537,0.0,0.17268277565573342,-0.03517049544683674,0.0,8.095589672012466,0.0,0.0,-0.29543833014457094
3022 +,5.771762678578969,,0.0,-2.5010230479991566,-0.20080910889663348,0.0,8.576860933833213,0.0,0.0,-0.1032660983584542
3023 +8.489038542889288,5.166012850121143,3.3230256927681454,0.0,-2.4634372499681847,0.11690885469244801,0.0,7.579987192955552,0.0,0.0,-0.06744594755867184
3024 +8.104449659729374,7.98145172827538,0.12299793145399374,0.0,-0.5633044916981733,-0.06435674633333578,0.04140117222760452,8.222776125363746,0.0,0.0,0.3449356687155397
3025 +7.655348030281802,5.271120523790121,2.3842275064916807,0.0,-2.3936054707595,0.11109653819676435,0.029449257100003234,7.739112122060233,0.0,0.0,-0.2149319228073792
3026 +4.060443010546419,4.467541317076976,-0.4070983065305569,0.0,-2.2754845938198027,-0.04497876145989991,0.026786096644932214,6.934552914683229,0.0,0.0,-0.17333433897148226
3027 +4.935408747853786,4.878434236141405,0.056974511712381215,0.0,-2.143468052248494,-0.13166202686410255,0.0,6.9300020620795175,0.0,0.0,0.22356225317448325
3028 +,6.902373121379188,,0.0,-1.1042359094695504,-0.12575323119106133,0.0,8.110590689140983,0.0,0.0,0.021771572898816677
3029 +,6.927052998554964,,0.0,-1.0066115278137726,-0.09649231852760301,0.03193970998319576,7.99718864423207,0.0,0.0,0.0010284906810743288
3030 +5.871413316040152,5.490146842210396,0.381266473829756,0.0,-2.034291975378429,-0.13097588401377142,0.017324634400523453,7.691545506229417,0.0,0.0,-0.05345543902734357
3031 +7.9058250563762655,6.865506180898144,1.0403188754781212,0.0,-1.6399624448028378,-0.08643958145773223,0.0,8.254818788884329,0.0,0.0,0.33708941827438665
3032 +5.856675220759343,6.122913664429372,-0.26623844367002825,0.0,-1.888882258282723,-0.017610329184749866,-0.012124622699479781,8.063013613403083,0.0,0.0,-0.021482738806758564
3033 +5.299566585948469,5.323822555896933,-0.024255969948463907,0.0,-2.3079645145442553,-0.05122571745360739,0.017324634400523453,7.907534825187341,0.0,0.0,-0.2418466716930656
3034 +,6.351918913734998,,0.0,-1.6255253262248361,-0.05969485585801662,0.04140117222760452,7.59661745338099,0.0,0.0,0.39912047020925645
3035 +4.976940617572159,4.919577173446932,0.05736344412522687,0.0,-2.027085902009844,-0.007173233625152382,0.038910719344411995,6.933939642731156,0.0,0.0,-0.01901405299363996
3036 +,5.080008639301002,,0.0,-1.8997138017981205,-0.006518438557188776,0.017324634400523453,7.009089125833798,0.0,0.0,-0.040172880578008316
3037 +5.343625284252578,5.714776961757592,-0.3711516775050141,0.0,-1.802143128538635,0.19445750081383983,0.0,7.388444212975131,0.0,0.0,-0.06598162349274213
3038 +5.250334376525886,4.62560586771622,0.6247285088096657,0.0,-2.221271326951375,-0.12373216176432689,0.029449257100003234,7.067144702260781,0.0,0.0,-0.12598460292886313
3039 +,5.531914573253286,,0.0,-1.9775380716747728,-0.027504929500231902,0.026786096644932214,7.057019465516902,0.0,0.0,0.4531520122664564
3040 +4.999439521335521,5.5034922241946145,-0.5040527028590933,0.0,-2.64804011353071,-0.02980703535576361,0.0,8.368542844490106,0.0,0.0,-0.1872034714090185
3041 +5.809822759218784,5.177428170777904,0.6323945884408806,0.0,-2.0111495179890904,-0.052117748842138906,-0.012124622699479781,7.553143743180739,0.0,0.0,-0.30032368287212624
3042 +5.221274322049725,6.355457480236634,-1.134183158186909,0.0,-1.447847399937607,0.08238312948892149,-0.012124622699479781,7.883835338061308,0.0,0.0,-0.1507889646765082
3043 +,6.453539575975408,,0.0,-0.7500515452620986,0.0030614561556182515,0.026786096644932214,6.47110554274426,0.0,0.0,0.7026380256926973
3044 +5.974496398877828,5.905781159763967,0.06871523911386124,0.0,-4.573497202406358,-0.15974471486104705,0.0,9.238202504200961,0.0,0.0,1.4008205728304095
3045 +5.221274322049725,5.781262597312769,-0.5599882752630441,0.0,-1.055429962062619,0.03526142806537209,-0.012124622699479781,7.123460505514207,0.0,0.0,-0.30990475150471425
3046 +5.3471075307174685,-2.4140199769769,7.761127507694368,0.0,-1.6571976086508515,0.00568924144349205,0.0,-0.5963811959256494,0.0,0.0,-0.16613041384389063
3047 +,-6.066447926055017,,0.0,-5.912037774279989,-0.07372051252261758,0.038910719344411995,0.0,0.0,0.0,-0.11960035859682216
3048 +4.834852314141884,5.758611194859959,-0.9237588807180757,0.0,-1.734202626620644,0.2087411718993802,0.038910719344411995,6.943559543082926,0.0,0.0,0.3016023871538853
3049 +6.522092798170152,6.542969988930974,-0.02087719076082184,0.0,-1.579071570883408,0.017634848697082373,0.029449257100003234,8.134852470349093,0.0,0.0,-0.059895016331797474
3050 +,5.919719294074628,,0.0,-1.6210763185206902,-0.06870089024012224,0.017324634400523453,7.740224370365282,0.0,0.0,-0.1480525019303648
3051 +4.31748811353631,5.919808841287281,-1.6023207277509712,0.0,-1.5437838904795465,-0.006014579992179386,0.0,7.698219013856824,0.0,0.0,-0.22861170209781648
3052 +7.638010365365964,5.396845151917599,2.2411652134483644,0.0,-1.5703837306229191,-0.1719975286793637,0.0,7.148492840208486,0.0,0.0,-0.009266428988605831
3053 +,6.283513775212484,,0.0,-1.9321904915023795,-0.11066897153703126,0.029449257100003234,8.222776125363746,0.0,0.0,0.0741478557881445
3054 +4.718498871295094,5.584622052622086,-0.8661231813269916,0.0,-1.3489899785716082,-0.1331409943284939,0.029276549528124737,7.13007256945284,0.0,0.0,-0.0925960934587742
3055 +,6.220225890290382,,0.0,-1.7925867395025525,-0.09673748883543273,0.0,8.177402478573306,0.0,0.0,-0.06785235994493745
3056 +9.166388484447,6.761045127207859,2.4053433572391407,0.0,-2.064008505821678,-0.036156649116674155,0.0024904528831925232,7.419151495198618,0.0,0.0,1.4395683340643988
3057 +,6.299879253740503,,0.0,-1.1121200340114887,-0.10893927520578461,0.0,7.038499484757761,0.0,0.0,0.4824390782000172
3058 +5.241747015059643,6.282181365227796,-1.0404343501681534,0.0,-1.5974768587217572,0.02067247029730971,0.0,8.047697468482498,0.0,0.0,-0.18871171483025342
3059 +,5.439180089038695,,0.0,-1.590781901071579,-0.13598384110174674,0.0,7.347593624888981,0.0,0.0,-0.1816477936769625
3060 +5.220355825078324,6.052824811548392,-0.8324689864700678,0.0,-2.000078025458321,-0.11038447364535237,0.0,8.471111317047619,0.0,0.0,-0.30782400639555096
3061 +,4.877065053430778,,0.0,-2.55853796609314,-0.0922953954236729,0.017324634400523453,7.622858482656995,0.0,0.0,-0.11228470210992836
3062 +5.318119993844216,5.445143108497948,-0.12702311465373217,0.0,-2.0384924170276317,-0.0020915353279690463,0.0,7.748734203922487,0.0,0.0,-0.26300714306893846
3063 +5.910796644040527,5.9691095392410345,-0.05831289520050742,0.0,-1.4938832609370643,0.04879670879850645,0.0,7.647399877355503,0.0,0.0,-0.23320378597590924
3064 +5.630996704930548,6.1858126917306855,-0.5548159868001372,0.0,-1.5477279240893136,-0.0860724061948663,0.029449257100003234,7.840069333376967,0.0,0.0,-0.04990556846210422
3065 +4.859424732327354,5.10829553183897,-0.24887079951161617,0.0,-2.1672184280115205,-0.09260639293496789,0.029449257100003234,7.542388678533424,0.0,0.0,-0.20371758284796884
3066 +,6.797052815156576,,0.0,0.7134094055122349,-0.08578336543271219,0.026786096644932214,6.263159320166144,0.0,0.0,-0.12051864173402495
3067 +7.795753526495717,-5.297670871457914,13.09342439795363,0.0,-5.0092943205580225,-0.008187334915460354,0.0,0.0,0.0,0.0,-0.28018921598443025
3068 +4.776177982881773,5.83503840528693,-1.0588604224051572,0.0,-1.7375923805452835,0.04844966122524044,0.026786096644932214,7.610348770494869,0.0,0.0,-0.11295374253282675
3069 +,4.32509662818898,,0.0,-4.710728476550086,0.02786114002171698,0.0,9.0784399922403,0.0,0.0,-0.07047602752294935
3070 +6.632028127509596,6.35834225383135,0.2736858736782457,0.0,-1.5901235608812456,-0.10577736514313879,0.0024904528831925232,8.280781835129236,0.0,0.0,-0.229029108156695
3071 +4.348469851145039,5.0287264582135665,-0.6802566070685279,0.0,-1.9975886722412994,-0.05085827157542799,0.0,7.379131389190967,0.0,0.0,-0.3019579871606715
3072 +,3.513371670206369,,0.0,-5.235142459071991,-0.13477326705780457,0.0,9.0784399922403,0.0,0.0,-0.19515259590413472
3073 +4.699388861227073,5.6096860218231495,-0.9102971605960768,0.0,-2.395375840053676,-0.05331410504941217,0.026786096644932214,7.903251101442422,0.0,0.0,0.12833876883888387
3074 +7.717458075560417,4.88568497537322,2.8317731001871973,0.0,-1.926534195147494,0.011162516020920929,0.038910719344411995,6.873274799569797,0.0,0.0,-0.11112886441441729
3075 +,4.746656518194116,,0.0,-1.6988292278745538,0.015732737460816257,0.038910719344411995,6.892264861679203,0.0,0.0,-0.5014225724157607
3076 +,4.853042426428896,,0.0,-1.8344698076633073,-0.13950511794311204,0.029449257100003234,7.062634136491957,0.0,0.0,-0.2650660415566441
3077 +5.267239410977175,5.341445645201634,-0.07420623422445871,0.0,-2.43644542422361,0.03620312434628352,0.0,7.791266886096096,0.0,0.0,-0.049578941017136745
3078 +5.160146657489371,6.042408311370208,-0.8822616538808372,0.0,-1.9086828549825539,-0.08435489360229403,0.04140117222760452,8.037615071230505,0.0,0.0,-0.04357018350305161
3079 +5.1084876942637605,5.1593793242135995,-0.05089162994983898,0.0,-2.106488726929885,-0.20344373112178554,-0.009634169816287258,7.531412244833739,0.0,0.0,-0.05246629275218153
3080 +5.190509413913731,5.819006764466023,-0.6284973505522915,0.0,-1.9306071710969759,-0.05973859386699304,0.029449257100003234,7.835201635661309,0.0,0.0,-0.055298363331320134
3081 +7.3098814858247865,6.300159238161803,1.0097222476629835,0.0,-2.1213785495862085,-0.14135771555094823,0.0,8.689511803642718,0.0,0.0,-0.12661630034375876
3082 +7.647580871722489,6.079056603603206,1.5685242681192832,0.0,-1.6488322022263722,0.07764777233934121,0.038910719344411995,7.936449756132538,0.0,0.0,-0.32511944198671217
3083 +5.3545559129952265,5.693707006263171,-0.3391510932679447,0.0,-2.238048325659359,-0.012266589315074274,0.026786096644932214,7.99718864423207,0.0,0.0,-0.07995281963939968
3084 +5.1849806812090335,5.266511110747055,-0.08153042953802103,0.0,-2.060220649990124,-0.12109816427618177,0.038910719344411995,7.573927285246397,0.0,0.0,-0.16500807957744731
3085 +4.763796549270511,4.829685414207707,-0.06588886493719581,0.0,-1.9437846511421872,0.07577982339598119,0.026786096644932214,6.890492046439649,0.0,0.0,-0.21958790113066726
3086 +,4.743682381901005,,0.0,-2.0835364219172368,-0.11491608590150593,0.017324634400523453,7.177841189837801,0.0,0.0,-0.25303093451857694
3087 +,5.199134744076276,,0.0,-2.1121979361808165,-0.06880941262064848,0.017324634400523453,7.532771659428799,0.0,0.0,-0.1699542009515821
3088 +3.900759813149435,5.56402928981273,-1.6632694766632947,0.0,-2.7472496618559554,-0.15848609170886893,0.0,8.48349962043832,0.0,0.0,-0.013734577060764336
3089 +3.9186013207882686,4.902534431688079,-0.9839331108998106,0.0,-1.942363284441444,-0.06713569114338233,0.029449257100003234,6.930470878939667,0.0,0.0,-0.04788672876676525
3090 +,4.657230519451528,,0.0,-2.355121305569999,-0.15233997011914202,0.04140117222760452,7.49754010821502,0.0,0.0,-0.37424948530195595
3091 +6.854934502798554,3.6691620923362764,3.1857724104622775,0.0,-5.328859718842011,0.03863755081598401,0.038910719344411995,9.0784399922403,0.0,0.0,-0.1579664512224063
3092 +4.752814027900653,5.296776257395938,-0.5439622294952846,0.0,-2.261375265749982,-0.060821445353050924,-0.012124622699479781,7.721971912635553,0.0,0.0,-0.09087432143710165
3093 +5.550475882930771,3.3303131323324187,2.220162750598352,0.0,-5.481144406219948,-0.21248960256588295,0.0,9.238202504200961,0.0,0.0,-0.214255363082711
3094 +5.6155703770900525,5.771499519196516,-0.1559291421064639,0.0,-1.320593546734723,0.014329595905230585,-0.012124622699479781,7.164604205303943,0.0,0.0,-0.07471611257845504
3095 +8.340346221686483,7.003638766441078,1.3367074552454046,0.0,-1.2011538012350407,-0.046227422088697526,0.0,8.280781835129236,0.0,0.0,-0.029761845364422043
3096 +8.198061730690867,7.231250311646399,0.9668114190444683,0.0,-0.8979299848961313,0.14499372661461268,0.03193970998319576,8.00227472530355,0.0,0.0,-0.050027865358830054
3097 +,5.120650275198683,,0.0,-1.8500652269836673,0.0307619601305565,0.017324634400523453,6.860127773883567,0.0,0.0,0.06250113376770419
3098 +,5.41705338957828,,0.0,-1.8659570865145918,0.0024885917198490745,0.029449257100003234,7.337406846819341,0.0,0.0,-0.0863342195463226
3099 +5.357434971031125,5.6805863035374715,-0.3231513325063462,0.0,-1.9882784869072667,-0.0785224974349854,0.017324634400523453,7.586090535615668,0.0,0.0,0.1439721178635336
3100 +3.9541241814467813,4.7018927748372885,-0.7477685933905072,0.0,-2.3874124082436063,-0.01675449409539337,0.038910719344411995,7.132374703794369,0.0,0.0,-0.06522574596249278
3101 +,5.988452611158643,,0.0,-1.3002551024559352,-0.1040081895835735,0.0,7.595279791864296,0.0,0.0,-0.20256388866614342
3102 +4.858881738868719,4.236516728355385,0.6223650105133345,0.0,-2.3429780189328655,-0.12102404590997584,0.026786096644932214,6.786518844479612,0.0,0.0,-0.11278614792631611
3103 +7.037651321722321,5.219411413107776,1.8182399086145455,0.0,-3.9360001047557636,-0.1535827692364784,0.0024904528831925232,9.238202504200961,0.0,0.0,0.06830133001586428
3104 +6.329078988307972,5.416116105118888,0.9129628831890839,0.0,-3.093575340884696,0.06111319690446662,0.0,8.600599483468022,0.0,0.0,-0.15202123436890408
3105 +7.714132925740032,6.519328456406221,1.1948044693338113,0.0,-1.3787182386926036,-0.10673756440322857,0.0024904528831925232,7.960039981918818,0.0,0.0,0.042253824700042325
3106 +5.472816743035851,4.743460503832854,0.7293562392029971,0.0,-1.9738195059687165,-0.044129548106506954,0.017324634400523453,7.098039582161632,0.0,0.0,-0.3539546586540791
3107 +5.1834114380466785,5.356415614406678,-0.1730041763599992,0.0,-1.86285097007576,0.1693851414937922,0.029449257100003234,7.068133367420825,0.0,0.0,-0.047701181532182224
3108 +4.353241283242128,4.738651282929456,-0.3854099996873277,0.0,-2.233955750802589,-0.08762264447614969,0.026786096644932214,7.1763581920977355,0.0,0.0,-0.14291461053447121
3109 +4.999843943018035,5.067725408934227,-0.0678814659161926,0.0,-2.293620186876079,-0.1494398314699796,0.017324634400523453,7.512819245374076,0.0,0.0,-0.019358452494313345
3110 +8.240406217905125,5.534156693117908,2.706249524787217,0.0,-1.8547511646781834,-0.005019082546036488,-0.012124622699479781,7.552772993745722,0.0,0.0,-0.14672143070411436
3111 +6.085523945010654,5.708579786647348,0.3769441583633055,0.0,-1.6839000345369062,0.019717221772403926,0.0,7.594268418865521,0.0,0.0,-0.22150581945367068
3112 +5.182289040487914,5.639230838231419,-0.45694179774350463,0.0,-1.413442010150301,-0.07882594702769607,0.03193970998319576,7.418429688097993,0.0,0.0,-0.31887060267177214
3113 +4.564348191467836,4.38230818228826,0.18204000917957597,0.0,-2.354666589692587,-0.037129794521849765,0.026786096644932214,7.001746713518485,0.0,0.0,-0.2544282436607193
3114 +5.816158325207932,5.634319134334873,0.18183919087305966,0.0,-1.1608544300629484,0.10195659503921858,0.038910719344411995,6.690383238513938,0.0,0.0,-0.036076988499748636
3115 +,6.220939461768533,,0.0,-2.4648647153052883,-0.043653933156789546,0.0,8.849976751964636,0.0,0.0,-0.12051864173402495
3116 +,-5.1714260076634835,,0.0,-5.223379278415555,-0.04914525850547931,0.0024904528831925232,0.0,0.0,0.0,0.0986080763743589
3117 +,-3.0223759056073347,,0.0,-3.7809749074738974,0.08608802520085497,0.04140117222760452,0.0,0.0,0.0,0.631109804438104
3118 +,-3.762828577010445,,0.0,-4.149787353040139,0.017894694808322967,0.04140117222760452,0.0,0.0,0.0,0.32766290899376727
3119 +7.9098309694355455,5.05936439965659,2.8504665697789555,0.0,-1.7576379129108295,-0.0997389439120293,0.017324634400523453,7.014857532778309,0.0,0.0,-0.1154409106993827
3120 +4.493568009406789,6.14245458117469,-1.6488865717679007,0.0,-2.175943773283147,-0.019962322030914643,0.017324634400523453,7.86173665221767,0.0,0.0,0.45929938987055685
3121 +5.504518197131935,4.76611847769897,0.738399719432965,0.0,-1.6971157855626542,-0.19715532099032596,0.017324634400523453,6.646119800061828,0.0,0.0,-0.0030548502104008335
3122 +7.56254617266473,5.871321793617596,1.6912243790471342,0.0,-1.837311299570553,-0.03581839746841686,0.0,7.778002915902453,0.0,0.0,-0.03355142524588618
3123 +4.7964514841535175,6.323762169135673,-1.5273106849821554,0.0,-1.323709456454183,-0.05596989776387126,-0.012124622699479781,7.836684633401376,0.0,0.0,-0.12111848734816971
3124 +,4.570399587743781,,0.0,-2.066718978924082,-0.06991471811758376,0.026786096644932214,7.493434790693793,0.0,0.0,-0.813187602553278
3125 +8.4584660183049,7.709002866950459,0.7494631513544414,0.0,-0.38895455453463956,0.005625849202539918,0.029276549528124737,7.383244082297789,0.0,0.0,0.6798109404566457
3126 +,5.437847930694827,,0.0,-2.071139853234074,-0.06621775489656823,0.0,7.824041372257337,0.0,0.0,-0.24883583343186677
3127 +,5.957732591513867,,0.0,-1.933674278336131,0.04979120572861857,0.029449257100003234,7.85460570059645,0.0,0.0,-0.04243929357507176
3128 +6.367620988354806,6.733106463111353,-0.36548547475654747,0.0,-1.700884902327119,-0.0844554495493291,0.029449257100003234,8.529170438465806,0.0,0.0,-0.040172880578008316
3129 +9.088756748225762,3.8920715212338055,5.196685226991956,0.0,-4.9792252179873655,-0.10237850934218884,0.0,9.238202504200961,0.0,0.0,-0.26452725563759877
3130 +,5.060926785016875,,0.0,-2.3969704778909966,-0.13602635351842912,0.017324634400523453,7.676674955150703,0.0,0.0,-0.10007597312492506
3131 +5.335131339670753,6.156879507060591,-0.8217481673898375,0.0,-1.7441284694315566,0.0032197772601192665,0.038910719344411995,8.109478440835934,0.0,0.0,-0.2506009609483171
3132 +4.980725763690112,5.748604514761715,-0.7678787510716036,0.0,-1.6278108308684063,0.019975564690611777,0.029276549528124737,7.450709841679212,0.0,0.0,-0.12354661026782732
3133 +5.249704686627344,-5.505579392951644,10.755284079578988,0.0,-5.2998099039724575,-0.03811217268648696,0.0,0.0,0.0,0.0,-0.1676573162926996
3134 +,5.786318108732764,,0.0,-2.2001849001652127,0.07548400071802325,0.017324634400523453,7.740842286090309,0.0,0.0,0.15285208768912056
3135 +,4.81264423161756,,0.0,-2.446896252271304,-0.006646942719001084,0.017324634400523453,7.34924833194555,0.0,0.0,-0.1003855397382081
3136 +7.981265121089406,5.761223125656813,2.2200419954325925,0.0,-2.395819793014385,0.01952311160744197,0.029449257100003234,8.134852470349093,0.0,0.0,-0.026781920385338876
3137 +5.630064170161918,5.3754413813906,0.25462278877131794,0.0,-1.91443929190452,-0.09326868608047163,0.029449257100003234,7.112245664994772,0.0,0.0,0.2414544372808185
3138 +5.394627046685445,5.266750988450184,0.12787605823526071,0.0,-1.8207169600675766,-0.0018474444380555191,0.0,7.551543469850941,0.0,0.0,-0.4622280768951259
3139 +5.484962894822046,6.486817752083478,-1.0018548572614323,0.0,-1.3477890181780854,-0.021596057124406556,0.0,7.742176068726117,0.0,0.0,0.11402675865985176
3140 +8.371873734626341,3.8771829263147124,4.494690808311629,0.0,-5.159311974187162,-0.03969135339068146,0.0,9.238202504200961,0.0,0.0,-0.16201625030840425
3141 +,3.381578834551288,,0.0,-5.575805835869472,-0.09694073814886459,0.029449257100003234,9.0784399922403,0.0,0.0,-0.05356384077067775
3142 +5.213249554157973,6.086971461041064,-0.873721906883091,0.0,-1.6978232887700448,-0.159019877421764,0.029449257100003234,8.009851451099134,0.0,0.0,-0.09548608096626564
3143 +,5.82597086787357,,0.0,-1.9383023795752061,0.04538359074126024,-0.009634169816287258,7.859947852617124,0.0,0.0,-0.13142402609332016
3144 +5.324180026073764,6.298993780365525,-0.9748137542917616,0.0,-1.259670043987657,-0.029351301149729562,0.029276549528124737,7.033735889561752,0.0,0.0,0.5250026864130369
3145 +6.557828940464676,6.675750615658086,-0.11792167519341046,0.0,-1.717451552062263,-0.07898534147281558,0.0,8.762053096949984,0.0,0.0,-0.2898655877568183
3146 +7.743820286436213,7.426286224667271,0.31753406176894217,0.0,-0.5265822446493837,-0.010746853660997587,0.029276549528124737,7.795911683046656,0.0,0.0,0.13842709040287185
3147 +5.020123471968565,5.447249318081541,-0.4271258461129763,0.0,-1.8769842277730477,0.0018022320058397254,0.0,7.390050793860203,0.0,0.0,-0.0676194800114524
3148 +9.160309438370618,-5.538744713040689,14.699054151411307,0.0,-5.45500252024628,-0.07194698030209709,0.038910719344411995,0.0,0.0,0.0,-0.05070593183672371
3149 +6.547144026507598,6.361188064391183,0.18595596211641485,0.0,-1.9125742114762145,0.05123965678108898,0.026786096644932214,7.707493695451982,0.0,0.0,0.48824282698939314
3150 +7.054596452194089,3.7996030017642877,3.2549934504298017,0.0,-5.240548012115901,-0.04782601643075936,0.0,9.0784399922403,0.0,0.0,0.009537038070648401
3151 +4.637637376125593,5.879091981330188,-1.241454605204595,0.0,-2.159298187791488,0.04277427612578591,0.038910719344411995,7.937641844718109,0.0,0.0,0.019063328933366125
3152 +8.263332667439967,-5.307025448612639,13.570358116052606,0.0,-5.030320089343018,-0.02654218832572148,0.0,0.0,0.0,0.0,-0.2501631709438979
3153 +,6.08805185172053,,0.0,-1.6562633168761787,-0.0302699068434215,0.038910719344411995,8.00227472530355,0.0,0.0,-0.2666003692078337
3154 +6.941692830009834,6.5654184473630535,0.3762743826467805,0.0,-1.441834773000406,-0.010535884123489814,0.038910719344411995,8.222776125363746,0.0,0.0,-0.24389774022120952
3155 +5.189060380611087,6.5471311873696605,-1.3580708067585734,0.0,-1.0040141171681656,-0.10943277817003572,0.029276549528124737,7.38861153898462,0.0,0.0,0.24268999419511564
3156 +7.0247468904338755,6.671650595019219,0.35309629541465615,0.0,-1.279164170285057,-0.028883499624317778,0.019815087283715976,7.965649989520884,0.0,0.0,-0.005766811876005529
3157 +,5.215677032198125,,0.0,-2.5862777476396426,0.06067913351757185,0.0,7.856224928353336,0.0,0.0,-0.11494928203314049
3158 +,5.691513436138275,,0.0,-1.9851464165167085,0.0585735199202962,0.017324634400523453,7.466119887073815,0.0,0.0,0.13464181126034994
3159 +4.525477417078843,4.723090211309878,-0.19761279423103506,0.0,-2.5193164337096734,0.056679201246956794,0.017324634400523453,7.418429688097993,0.0,0.0,-0.25002687872592205
3160 +5.134621273877247,6.134332089787654,-0.9997108159104071,0.0,-2.1578646824825567,-0.10274828056914567,0.029449257100003234,8.529170438465806,0.0,0.0,-0.16367464272645263
3161 +,4.716175220837541,,0.0,-1.9158771134694748,-0.00014669151674261138,-0.012124622699479781,6.798526055354436,0.0,0.0,-0.1542024068311988
3162 +4.195847647552622,4.904436094666127,-0.7085884471135051,0.0,-2.2851486188265797,-0.025107246494115974,0.017324634400523453,7.3815139182677125,0.0,0.0,-0.18414659268141326
3163 +,4.717257248713161,,0.0,-1.6147905125466897,-0.06678278302059865,0.038910719344411995,6.462796328936415,0.0,0.0,-0.10287650400037496
3164 +5.063290993322054,6.47047983723329,-1.4071888439112357,0.0,-1.0421043888438009,0.0633192111621425,0.0,7.380985136366049,0.0,0.0,0.06827987854889736
3165 +,5.243757693760352,,0.0,-2.0546168454873825,-0.07542303353432575,0.0,7.541393440120725,0.0,0.0,-0.1675958673386655
3166 +7.829733804645904,7.241850281270596,0.5878835233753081,0.0,-0.8732282342366036,-0.1692229294632745,0.029276549528124737,7.909264989217418,0.0,0.0,0.3457599062249328
3167 +,5.455053893331075,,0.0,-1.6272965744141024,-0.12912688755894108,0.0,7.4647415643870545,0.0,0.0,-0.25326420908293684
3168 +8.453575845866125,6.841125533031246,1.6124503128348788,0.0,-1.4073833980698636,-0.0809198964986343,0.04140117222760452,8.222776125363746,0.0,0.0,0.06525153000839348
3169 +,5.332416022093013,,0.0,-1.7188173049036681,0.004598386222044185,0.029449257100003234,7.541276430228375,0.0,0.0,-0.5240907465537408
3170 +5.19295685089021,-5.5667849462489425,10.759741797139153,0.0,-5.395685200779619,0.05957481304157013,0.029449257100003234,0.0,0.0,0.0,-0.260123815610897
3171 +,-1.0017503569475228,,0.0,-0.6691926440863396,0.06749280309413291,0.04140117222760452,-0.7423105607057928,0.0,0.0,0.3008588725228718
3172 +,-2.1350256339059364,,0.0,-1.5109961422193328,0.051654785149183736,0.0,-0.5977406105207098,0.0,0.0,-0.07794366631507632
3173 +4.955827057601261,-2.9125794488964356,7.8684065064976965,0.0,-2.0599093215828974,0.01438824111544592,0.017324634400523453,-0.7423105607057928,0.0,0.0,-0.14207244212371417
3174 +,-4.0744852269310465,,0.0,-3.850777117723669,0.046144446173667183,0.0024904528831925232,0.0,0.0,0.0,-0.27234300826423663
3175 +,-3.901427775429448,,0.0,-4.209884420404784,-0.023299964295483366,0.0024904528831925232,0.0,0.0,0.0,0.32926615638762713
3176 +,-1.83440440470953,,0.0,-1.3679059746985214,0.058262766278004155,0.0,-0.5978641936657153,0.0,0.0,0.07310299737670209
3177 +,-4.229763240819581,,0.0,-4.0342636834392165,-0.06245269534003694,0.0024904528831925232,0.0,0.0,0.0,-0.13553731492352017
3178 +,-5.96412547710536,,0.0,-5.9448809442380615,0.02715910503714406,0.0,0.0,0.0,0.0,-0.046403637904441394
3179 +5.030437921392435,-6.5920178274584575,11.622455748850893,0.0,-6.437650455143743,0.04208945417717981,0.029449257100003234,0.0,0.0,0.0,-0.2259060835918977
3180 +,-5.549928193365265,,0.0,-5.530131622253783,9.13570874796106e-05,0.0,0.0,0.0,0.0,-0.019887928198960785
3181 +,-4.859503277987464,,0.0,-4.480210807222309,-0.1553411980734789,0.04140117222760452,0.0,0.0,0.0,-0.2653524449192809
3182 +,-2.9554571916644514,,0.0,-2.086009914681852,-0.0411128219533441,0.029449257100003234,-0.5986056925357482,0.0,0.0,-0.2591780195935109
3183 +3.784189633918261,-2.6163661941308285,6.4005558280490895,0.0,-1.9800119822036342,0.013522855382066684,0.0,-0.5963811959256494,0.0,0.0,-0.05349587138361056
3184 +,-4.136085727144293,,0.0,-5.281239877523218,-0.10823340892758046,0.0024904528831925232,0.0,0.0,0.0,1.250897106423313
3185 +4.330733340286331,-2.5583580996854107,6.889091439971741,0.0,-1.8727135356964952,-0.00397974680073062,0.0,-0.43492758244368784,0.0,0.0,-0.24673723474449896
3186 +,-0.8966738224672715,,0.0,-0.24215566524062204,-0.04428299298464948,-0.009634169816287258,-0.7423105607057928,0.0,0.0,0.14170956628007994
3187 +,-3.3322074443700944,,0.0,-3.6418996512440436,0.06145924206957377,0.0024904528831925232,0.0,0.0,0.0,0.2457425119211817
3188 +4.442651256490317,-3.034650474233298,7.477301730723615,0.0,-2.133058015479919,-0.16748017168277834,0.029449257100003234,-0.7423105607057928,0.0,0.0,-0.021250983464811975
3189 +6.375024819828097,-5.743776851557058,12.118801671385155,0.0,-5.938988858329581,0.11243165640336567,0.0,0.0,0.0,0.0,0.08278035036915696
3190 +5.1084876942637605,6.476384629669699,-1.3678969354059385,0.0,-1.4652975329395952,-0.07710452839373642,0.0024904528831925232,7.559715410714093,0.0,0.0,0.4565808274057461
3191 +6.119835773947753,5.4019936998526275,0.7178420740951257,0.0,-1.7259822449388675,-0.061944834930664716,0.017324634400523453,7.225051062469592,0.0,0.0,-0.05245491714795709
3192 +,3.3467457826186537,,0.0,-5.577596400511805,-0.1646907959153405,0.0,9.0784399922403,0.0,0.0,0.010592986805500191
3193 +4.3294166844015844,4.638646751213127,-0.3092300668115424,0.0,-2.3523016284516407,-0.11075687871498457,0.026786096644932214,7.313345466919261,0.0,0.0,-0.23842630518444072
3194 +8.923058219545728,5.502188583397934,3.4208696361477946,0.0,-2.2589094621550485,-0.10476729654378644,0.0,8.049180466222564,0.0,0.0,-0.18331512412579706
3195 +4.781976562093936,5.94332446292609,-1.161347900832154,0.0,-2.1401673431760013,-0.03997215902767813,0.029449257100003234,8.094809110633655,0.0,0.0,-0.0007944026038904529
3196 +4.556714965718688,5.588616066523858,-1.03190110080517,0.0,-1.31084675712399,-0.14993143828895414,0.038910719344411995,7.205914042099468,0.0,0.0,-0.19543049950708036
3197 +6.7427155278227096,6.481658626057844,0.2610569017648654,0.0,-1.4602543333229212,-0.0641707174991357,0.029449257100003234,8.134852470349093,0.0,0.0,-0.15821805056919427
3198 +8.82779948450633,5.821761701140889,3.006037783365442,0.0,-1.6463292293671792,-0.16713252410939622,0.0,8.007666016997813,0.0,0.0,-0.3724425623803499
3199 +,6.2674365257439835,,0.0,-1.5146186427474335,0.01504913125577511,0.04140117222760452,7.559389351722653,0.0,0.0,0.16621551328538406
3200 +4.201253877869777,4.932602754120087,-0.7313488762503102,0.0,-2.3376204596268275,0.05855266888255681,0.017324634400523453,7.35503743277587,0.0,0.0,-0.16069152231203326
3201 +3.4011973816621555,-6.518722692076707,9.919920073738863,0.0,-6.767822623955521,-0.061371619553713765,0.0,0.0,0.0,0.0,0.31047155143252697
3202 +5.318119993844216,-2.4070871097375064,7.725207103581722,0.0,-1.617061655956456,-0.16081242207013524,0.0,-0.5963811959256494,0.0,0.0,-0.032831835785266376
3203 +4.663439094112067,-6.820047906607124,11.48348700071919,0.0,-6.238410522760325,0.06840863212650544,0.0,0.0,0.0,0.0,-0.6500460159733031
3204 +,-5.365784491017659,,0.0,-5.2432571944179855,-0.09841271292899886,0.029449257100003234,0.0,0.0,0.0,-0.05356384077067775
3205 +,-4.545574443526214,,0.0,-4.921732810746174,0.03732305975378125,0.0,0.0,0.0,0.0,0.3388353074661776
3206 +,-1.9331389651668256,,0.0,-1.4266779851349263,-0.061539307676470804,0.0,-0.5963811959256494,0.0,0.0,0.1514595235702206
3207 +4.706010500914163,5.15667569811272,-0.4506651971985578,0.0,-2.0907789073470626,0.03889403629434866,0.026786096644932214,7.647776992605753,0.0,0.0,-0.4660025200852508
3208 +7.847797693105642,7.18554010178509,0.662257591320552,0.0,-1.3977483572685054,0.09204797950958944,0.0024904528831925232,8.280781835129236,0.0,0.0,0.20796819153157875
3209 +,4.508338814218399,,0.0,-3.039816375859142,0.023082506879273094,0.017324634400523453,8.030629297570368,0.0,0.0,-0.5228812487726211
3210 +,5.0371420279859445,,0.0,-1.7121759115090525,-0.05298144797082597,0.0,6.74350434412244,0.0,0.0,0.0587950433433824
3211 +7.516569311076331,3.229614025023801,4.28695528605253,0.0,-5.476873516954928,-0.15518730051637422,0.029449257100003234,9.0784399922403,0.0,0.0,-0.24621440684519966
3212 +4.353241283242128,5.064505448016709,-0.7112641647745805,0.0,-2.2328921926210503,-0.020116713132857567,0.026786096644932214,7.426575189945017,0.0,0.0,-0.13584693281933213
3213 +5.213249554157973,5.757903206967803,-0.5446536528098296,0.0,-1.952984754711113,-0.01779739617113158,0.0,7.663660944571648,0.0,0.0,0.06502441327839992
3214 +,5.230425675614991,,0.0,-1.6212556074772442,-0.013783454557790493,0.0024904528831925232,7.219245294085299,0.0,0.0,-0.35627100931846556
3215 +5.716797411733696,5.439277207678935,0.27752020405476063,0.0,-1.9440099184015525,0.04209103145719769,-0.012124622699479781,7.6094836884798305,0.0,0.0,-0.25616297115706094
3216 +5.771129548115811,7.480527424249962,-1.709397876134151,0.0,-1.487439361388259,0.13605521021774167,0.0,8.529170438465806,0.0,0.0,0.30274113695467286
3217 +5.227680286948596,5.177502364237068,0.05017792271152821,0.0,-2.490838052189557,0.01939680443097753,0.026786096644932214,7.397317822515664,0.0,0.0,0.22483969283505228
3218 +,5.0415015394614775,,0.0,-2.0274464045154907,0.03637836001333273,0.029449257100003234,7.299946385099934,0.0,0.0,-0.29682605823630276
3219 +6.6979227417275995,6.335429551405605,0.36249319032199434,0.0,-1.6021462159966902,0.0006672779804917026,0.038910719344411995,7.983680301072994,0.0,0.0,-0.08568253099560127
3220 +8.051022208190679,4.981225665375843,3.069796542814836,0.0,-4.469284864036485,-0.03591628534944527,0.04140117222760452,9.0784399922403,0.0,0.0,0.36658565029386914
3221 +,6.868467596977738,,0.0,-1.227299580353102,-0.042571169715426974,0.0,8.036789051724245,0.0,0.0,0.10154929532202192
3222 +4.399129542573544,4.549527209346684,-0.1503976667731406,0.0,-2.599830756635016,0.0006033575641536809,0.026786096644932214,7.2290961933139695,0.0,0.0,-0.1071276815413555
3223 +5.173887288169859,7.793531021345031,-2.619643733175172,0.0,-0.7237686506320822,0.05620001309694032,0.0024904528831925232,8.280781835129236,0.0,0.0,0.1778273708677449
3224 +7.991071172024255,6.3618550819262625,1.6292160900979926,0.0,-1.922013472086011,0.04039470277884964,0.0,8.197501166336172,0.0,0.0,0.04597268489725034
3225 +,-5.653891169973368,,0.0,-5.16447581889479,-0.13616339801630276,0.0,0.0,0.0,0.0,-0.3532519530622753
3226 +,-2.6572846518981086,,0.0,-1.7737006734151963,-0.02429081369119978,0.038910719344411995,-0.7423105607057928,0.0,0.0,-0.15589332343033338
3227 +,-6.423741883597802,,0.0,-6.38514239664385,-0.06696149613154545,0.038910719344411995,0.0,0.0,0.0,-0.010548710166817396
3228 +,-5.094633577238789,,0.0,-4.746948447066908,-0.17816602815576768,0.0,0.0,0.0,0.0,-0.16951910201611356
3229 +,-3.698212284958785,,0.0,-2.8506062470183577,0.14992997425747445,-0.012124622699479781,-0.7428048932858148,0.0,0.0,-0.24260649621260805
3230 +,-2.374922198079638,,0.0,-1.838895805020707,-0.04748389739876101,0.0,-0.2775522127469075,0.0,0.0,-0.21099028291326397
3231 +,-5.744219583712218,,0.0,-5.575820228830766,-0.04009421466920127,0.04140117222760452,0.0,0.0,0.0,-0.16970631243985537
3232 +,-5.704352778120893,,0.0,-5.6024143177693535,-0.067438377055762,0.038910719344411995,0.0,0.0,0.0,-0.07341080264018998
3233 +,-4.592489690812103,,0.0,-4.511262472785417,0.03830450746154988,0.0,0.0,0.0,0.0,-0.1195317254882392
3234 +,-3.125007742256955,,0.0,-2.6314272394989766,0.027449246279478035,0.0,-0.2765635475868635,0.0,0.0,-0.2444662014505928
3235 +,-1.6281134126093981,,0.0,-1.2865522435727632,0.01688965691474006,0.0024904528831925232,-0.5978641936657153,0.0,0.0,0.23692291483114722
3236 +,-6.36670295809454,,0.0,-6.163448146530568,-0.03178154497885308,0.038910719344411995,0.0,0.0,0.0,-0.2103839859295296
3237 +4.90527477843843,5.201856939722461,-0.29658216128403136,0.0,-1.9614806502408006,-0.051120240607774675,-0.012124622699479781,7.389723787289669,0.0,0.0,-0.16314133401915282
3238 +5.662960480135946,6.53869140438424,-0.8757309242482938,0.0,-1.6890995190220925,0.05592227090401583,0.0,8.280781835129236,0.0,0.0,-0.10891318262692061
3239 +8.24117615049496,6.199677593396615,2.041498557098345,0.0,-0.7325135139943724,-0.11025398297822117,0.0,7.020082993857012,0.0,0.0,0.02236209651219631
3240 +7.940583827104244,5.810279093672073,2.1303047334321707,0.0,-1.605425569319558,0.025847997926735065,0.038910719344411995,7.273098547273469,0.0,0.0,0.07784739844701619
3241 +6.0014148779611505,6.252351428533208,-0.25093655057205755,0.0,-1.9109745035404417,-0.11333634038126077,0.0,8.529170438465806,0.0,0.0,-0.25250816601089326
3242 +5.093750200806762,5.64793851766859,-0.5541883168618273,0.0,-1.9269579160974066,0.005937435805652973,0.026786096644932214,7.722466245215575,0.0,0.0,-0.18029334390016374
3243 +6.714170529909472,5.814654085594477,0.8995164443149948,0.0,-1.4088373703113959,-0.07913888703862595,0.017324634400523453,7.176976107822763,0.0,0.0,0.10832960072121547
3244 +6.75110146893676,5.362201973341708,1.3888994955950515,0.0,-2.3212362170352403,-0.07162508438069803,0.0,7.693822706639122,0.0,0.0,0.06124056811852244
3245 +5.049856007249537,5.145628572091311,-0.09577256484177354,0.0,-2.3402638103362303,-0.13569956476425676,0.0,7.883909892860631,0.0,0.0,-0.26231794566882927
3246 +,5.4569945226016685,,0.0,-1.5905563554157895,-0.03723573447660965,0.017324634400523453,7.023465993465689,0.0,0.0,0.043995984627856116
3247 +5.225746673713202,-5.534565803113338,10.76031247682654,0.0,-5.6169124339893814,0.06327514637410164,0.0,0.0,0.0,0.0,0.019071484501942265
3248 +4.77912349311153,-3.4707261986051505,8.24984969171668,0.0,-3.4741020619645666,-0.01106384040978867,0.0,0.0,0.0,0.0,0.014439703769204754
3249 +,-5.746435362241974,,0.0,-5.497852283091399,-0.0018076899913593708,0.0,0.0,0.0,0.0,-0.2467753891592157
3250 +5.3471075307174685,-5.798200937104875,11.145308467822343,0.0,-5.51527182964096,-0.11133966885555388,0.029449257100003234,0.0,0.0,0.0,-0.20103869570836286
3251 +4.941642422609304,-2.7987860571462404,7.740428479755544,0.0,-2.4788633534263633,0.024213560555360565,0.0,-0.27718146331189103,0.0,0.0,-0.06695480096334719
3252 +,-5.913300228688378,,0.0,-6.0601585011284875,0.1253300031698529,0.038910719344411995,0.0,0.0,0.0,-0.017382450074155092
3253 +,-5.249034416908208,,0.0,-5.537863126086892,-0.0921337298593646,0.0,0.0,0.0,0.0,0.3809624390380476
3254 +8.592356320981246,6.588346932145895,2.0040093888353505,0.0,-1.4092369024569136,-0.008563491463669493,0.029449257100003234,8.063013613403083,0.0,0.0,-0.08631554443660924
3255 +5.071604954419274,6.478100698946116,-1.4064957445268416,0.0,-1.7721414238707593,-0.03164499520339967,0.0,8.308669038405613,0.0,0.0,-0.026781920385338876
3256 +3.8815637979434374,4.520877242674075,-0.6393134447306377,0.0,-2.0531976503856937,-0.020460455288406613,0.0,6.869285120344837,0.0,0.0,-0.27474977199666184
3257 +5.081590683029905,5.769348230928871,-0.6877575478989657,0.0,-1.686434064834958,-0.0684412058917036,0.029276549528124737,7.003640828732319,0.0,0.0,0.4913061233950894
3258 +5.475877606240281,6.889642412696151,-1.4137648064558705,0.0,-1.6909866925511956,0.006395527377421568,0.0,8.256548952914406,0.0,0.0,0.31768462495552185
3259 +5.630996704930548,5.775772976606992,-0.14477627167644336,0.0,-2.155940704373778,-0.04472010680512547,0.017324634400523453,7.934596008957455,0.0,0.0,0.02451314442791603
3260 +,6.345058722719424,,0.0,-1.749469369423287,-0.00577095179108135,0.0,8.280781835129236,0.0,0.0,-0.18048279119544408
3261 +5.377913820819179,5.687817373729487,-0.309903552910308,0.0,-1.6408957043179946,-0.06879010931607293,0.017324634400523453,7.521807199755189,0.0,0.0,-0.14162864679215764
3262 +7.473648465615132,5.997387733439991,1.4762607321751409,0.0,-1.7881466627504023,-0.014490217205736448,0.0,7.6979454141327395,0.0,0.0,0.10207919926339051
3263 +4.144879235596148,4.157700848610547,-0.012821613014398991,0.0,-2.5472994188264018,-0.11596227654013194,0.0,6.978123090567263,0.0,0.0,-0.15716054659018144
3264 +5.1460981535705255,5.098091310432326,0.04800684313819925,0.0,-2.50935781536315,0.0013704761896299912,0.0,7.8579550923834125,0.0,0.0,-0.2518764427775658
3265 +,4.824023480156067,,0.0,-2.1727721579534034,0.055412983695462575,0.0,7.1481220907734695,0.0,0.0,-0.20673943635946193
3266 +5.072482697422336,6.776684975125345,-1.7042022777030095,0.0,-1.6752608142535879,-0.020471832574654528,0.029449257100003234,6.7923615431001565,0.0,0.0,1.6506068217534289
3267 +,7.773228305593988,,0.0,-2.2801656829321475,-0.04805297822971394,0.0,8.12149359540078,0.0,0.0,1.9799533713550699
3268 +6.828712071641684,6.099669195636565,0.7290428760051189,0.0,-1.9975524647878729,-0.24166011965035877,0.0,8.41763181696135,0.0,0.0,-0.07875003688655288
3269 +5.3007643701910885,6.13883023077787,-0.8380658605867817,0.0,-1.3451312451497346,0.052423507235724295,0.0024904528831925232,7.594268418865521,0.0,0.0,-0.16522090305683387
3270 +6.52247507803307,6.029320346965126,0.4931547310679436,0.0,-1.6778655297536424,-0.0547329006151725,0.017324634400523453,7.740224370365282,0.0,0.0,0.004369772568136353
3271 +5.341089458391906,5.4308366325288615,-0.08974717413695554,0.0,-1.9214646262196196,-0.09907235694366896,0.017324634400523453,7.936449756132538,0.0,0.0,-0.5024007748409111
3272 +8.387059448807678,5.581753159630655,2.8053062891770226,0.0,-1.9718204214174184,-0.018884487844903913,0.0,7.475323149558435,0.0,0.0,0.09713491933454085
3273 +5.20746224820395,4.89234071197546,0.3151215362284905,0.0,-2.228204318771726,-0.07864491659515073,0.017324634400523453,7.336985786073435,0.0,0.0,-0.15512047313162408
3274 +9.014082149443356,5.111583932671312,3.9024982167720434,0.0,-2.9061395083889154,-0.1346621086242044,0.0,8.196597021812357,0.0,0.0,-0.04421147212792473
3275 +,5.71984679199617,,0.0,-1.7048857690534094,0.051017743230245896,0.017324634400523453,7.458387449962343,0.0,0.0,-0.10199726654353096
3276 +,5.828638225695567,,0.0,-2.5864017400159405,-0.07513358089900073,0.0,8.469010403582525,0.0,0.0,0.021163143027983795
3277 +,6.34477422371669,,0.0,-2.181753349990248,-0.033170269243548656,0.029449257100003234,8.210634079704526,0.0,0.0,0.3196145061459564
3278 +7.205219351288536,6.4961727887452,0.7090465625433353,0.0,-1.752838857432704,0.03160096647474293,0.0,8.280781835129236,0.0,0.0,-0.0633711554260736
3279 +,4.847575566453081,,0.0,-1.7669606549753905,-0.2336779934938792,0.026786096644932214,7.052363147438232,0.0,0.0,-0.23093502916081182
3280 +,4.355939981688449,,0.0,-4.912311166391165,0.032051445333652034,0.0024904528831925232,9.0784399922403,0.0,0.0,0.1552692576224697
3281 +5.8674873672882715,4.5330044070978435,1.334482960190428,0.0,-2.157728313205701,-0.06814225328030812,0.017324634400523453,6.940760659128942,0.0,0.0,-0.19921031994561172
3282 +9.550804629866933,6.472928853202517,3.077875776664416,0.0,-1.152177533485169,-0.04603843211819049,0.0,7.779977622401044,0.0,0.0,-0.10883280359516875
3283 +8.185628891147607,6.655921575237563,1.529707315910044,0.0,-2.099269975362395,-0.0551541209569244,0.0,8.368542844490106,0.0,0.0,0.4418028270667748
3284 +4.941642422609304,5.53441056309059,-0.5927681404812866,0.0,-1.9205310782176497,-0.12859213240255962,0.017324634400523453,7.621128318626918,0.0,0.0,-0.05491917931664104
3285 +4.110873864173311,5.008773406816278,-0.8978995426429668,0.0,-2.090977503927488,0.002293758908522639,0.029449257100003234,7.331788249016487,0.0,0.0,-0.2637803542812472
3286 +,4.679965622198533,,0.0,-1.7699631124525572,-0.12815628879286847,0.017324634400523453,7.244167374493634,0.0,0.0,-0.6834069854501984
3287 +8.155362120328135,4.101783268011913,4.053578852316222,0.0,-4.91348614382431,-0.010894425424586313,0.0024904528831925232,9.0784399922403,0.0,0.0,-0.054766607862682865
3288 +5.181783550292085,6.178150529054828,-0.9963669787627429,0.0,-1.6715208000891,-0.030235260143192142,-0.012124622699479781,7.99718864423207,0.0,0.0,-0.10515743224547003
3289 +4.941499555261394,4.727432589864566,0.21406696539682724,0.0,-2.140771240178414,-0.04362005225614467,0.026786096644932214,6.929413523992453,0.0,0.0,-0.0443757383382593
3290 +7.535830462798367,5.538793516150813,1.9970369466475546,0.0,-2.2650488656206917,0.04097496406143489,0.0,7.7116376687378425,0.0,0.0,0.05122974897222715
3291 +4.808519109974122,5.674293070216373,-0.865773960242251,0.0,-2.35811930418558,-0.0075623005760483905,0.0,8.192805006825964,0.0,0.0,-0.15283033184796485
3292 +8.64978864618754,5.833500369297198,2.816288276890342,0.0,-1.3526851249833962,-0.13492223930846203,0.0,7.317215288425462,0.0,0.0,0.0038924451635941326
3293 +4.9247142315886165,4.539179252023438,0.3855349795651781,0.0,-2.5679239385816848,-0.2021147040179965,0.029276549528124737,7.361303188924495,0.0,0.0,-0.08136184382949938
3294 +5.06297470777683,5.295414871606805,-0.2324401638299749,0.0,-1.9451680259894513,0.026387741562023233,0.0,7.253130208689031,0.0,0.0,-0.0389350526547986
3295 +,4.466291737831252,,0.0,-2.967111012224583,-0.025456039969964896,0.0,7.674546151867979,0.0,0.0,-0.21568736184217785
3296 +,4.979249490089983,,0.0,-1.6581939016349798,0.01871635134043676,0.017324634400523453,6.804114376728697,0.0,0.0,-0.20271197074469274
3297 +5.301811255802292,5.444865304248225,-0.14305404844593284,0.0,-1.564197665826482,-0.007508580283149546,0.017324634400523453,7.085906118129291,0.0,0.0,-0.08665920217195604
3298 +,5.1190154063230136,,0.0,-3.9742055243145344,-0.057671886080776495,0.0,9.238202504200961,0.0,0.0,-0.08730968748263676
3299 +5.583082689418416,5.78326548600603,-0.2001827965876144,0.0,-1.5360864965193866,-0.0940386504192551,0.017324634400523453,7.597482535396028,0.0,0.0,-0.20141653685187905
3300 +5.502278098445473,5.562990934916447,-0.06071283647097392,0.0,-1.6334094654733535,-0.01883016418474301,0.017324634400523453,7.4174410229379495,0.0,0.0,-0.21953509276392955
3301 +4.332573750954351,5.135819008635797,-0.8032452576814455,0.0,-2.017319761077081,-0.042575985217742494,0.0,7.1606485899034045,0.0,0.0,0.03506616502721678
3302 +4.859812404361672,6.014099397622819,-1.154286993261147,0.0,-1.9942384936359412,0.08371976079041954,0.029449257100003234,7.959298483048785,0.0,0.0,-0.0641296096804487
3303 +5.953243334287785,6.092356218422506,-0.13911288413472178,0.0,-2.243370106253666,0.008728330171956882,0.029449257100003234,8.530614373697095,0.0,0.0,-0.23306563629288193
3304 +7.576097340623111,-5.280813089089121,12.856910429712233,0.0,-5.2699426961702045,0.05978859414350861,0.0,0.0,0.0,0.0,-0.07065898706242454
3305 +5.2574953720277815,5.971810830290896,-0.7143154582631146,0.0,-1.2504044371693475,0.01930653923840351,0.0024904528831925232,7.369982905428724,0.0,0.0,-0.16956463009007658
3306 +,5.6262297305352345,,0.0,-1.6449150879349732,0.08030479162237941,0.0024904528831925232,7.1781792974086045,0.0,0.0,0.010170276556030117
3307 +5.262690188904886,6.108368825485924,-0.845678636581038,0.0,-1.105275452599261,-0.08466898940182441,-0.009634169816287258,7.102039688922928,0.0,0.0,0.2059077483803686
3308 +6.347354182772873,5.999108351359466,0.3482458314134078,0.0,-1.2515730326813825,0.07930563232982758,0.017324634400523453,7.137684863010787,0.0,0.0,0.01636625429970885
3309 +,5.556541428542909,,0.0,-1.3617831647012855,-0.08378805874094603,0.029449257100003234,6.987096610494426,0.0,0.0,-0.014433215609287911
3310 +,6.080629924494043,,0.0,-1.691957764897153,0.0045548766280475335,0.019815087283715976,7.859206353747091,0.0,0.0,-0.11098862826765823
3311 +4.254477313726906,5.650331859224009,-1.3958545454971025,0.0,-1.6388818955894733,-0.01468415913735643,0.026786096644932214,7.054370868097687,0.0,0.0,0.22274094920821894
3312 +,9.206357924449616,,0.0,1.5103691764432003,0.0662079124507094,0.038910719344411995,7.707493695451982,0.0,0.0,-0.11662357924068661
3313 +5.978277985303807,5.436941741888227,0.5413362434155795,0.0,-1.7342414188363557,-0.013708497189757508,0.017324634400523453,7.342820248919748,0.0,0.0,-0.17525322540593147
3314 +5.69035945432406,6.22336182062737,-0.5330023663033101,0.0,-2.2706356813300443,-0.1439617045077059,0.0,7.876779373473571,0.0,0.0,0.76117983299155
3315 +4.836281906951478,5.108517599011781,-0.2722356920603026,0.0,-2.7994553019880897,0.016968810287728165,0.0,8.1416735864948,0.0,0.0,-0.25066949578265924
3316 +,5.547547472675629,,0.0,-1.5641672131015882,0.05221853358193511,0.029449257100003234,7.243673041913612,0.0,0.0,-0.21362614681833364
3317 +3.970291913552122,5.476737243464264,-1.5064453299121419,0.0,-1.9795046952418813,-0.14805607310945268,0.026786096644932214,7.274615365359897,0.0,0.0,0.3028965498107693
3318 +4.804021044733257,5.638981943931928,-0.8349608991986717,0.0,-1.926703047557642,-0.06427932149642718,0.0,7.769158596872154,0.0,0.0,-0.13919428388615723
3319 +,4.973379444143023,,0.0,-2.284675222803487,0.12737266807705683,0.0,7.385110242530173,0.0,0.0,-0.2544282436607193
3320 +8.977146484808472,5.337582480470123,3.6395640043383493,0.0,-1.9688965552500886,-0.19554816239687545,0.019815087283715976,7.530067380088036,0.0,0.0,-0.04785526925466594
3321 +4.465908118654584,4.449810108452443,0.016098010202140856,0.0,-2.695590349467759,-0.04673518916870169,0.0,7.286476009437664,0.0,0.0,-0.09434036234876
3322 +4.882801922586371,4.995824877305432,-0.1130229547190611,0.0,-1.6733313240057601,-0.16659163350766676,0.017324634400523453,7.0423960807281984,0.0,0.0,-0.223972880309863
3323 +8.19478163844336,6.710419031270393,1.484362607172966,0.0,-1.4380185933379162,0.02327295072849825,0.029449257100003234,7.793934352726568,0.0,0.0,0.30178106405324034
3324 +9.14899674173513,5.548301639052534,3.6006951026825966,0.0,-1.915243365161925,0.06357563934273107,0.017324634400523453,7.63207355112231,0.0,0.0,-0.24942882065110455
3325 +4.31748811353631,5.481276258229728,-1.1637881446934175,0.0,-2.1775823898427635,0.020311916767176662,0.0,7.777508583322431,0.0,0.0,-0.13896185201711683
3326 +8.828054536815424,6.290602467909978,2.537452068905446,0.0,-1.5428939297444675,-0.03711102899197042,0.0,7.903668744716855,0.0,0.0,-0.03306131807043882
3327 +4.718498871295094,4.815865125861242,-0.09736625456614778,0.0,-1.847738621906072,-0.1510897928990887,-0.012124622699479781,6.940142743403914,0.0,0.0,-0.11332458003803184
3328 +,6.133974243931439,,0.0,-1.8577364933740403,0.018721583667478996,0.0024904528831925232,7.231524113349596,0.0,0.0,0.7389745874052129
3329 +7.293017679772782,7.978380350776274,-0.6853626710034924,0.0,-0.08615347797048845,-0.12623796011162305,0.0,7.7679227654220995,0.0,0.0,0.42284902343628533
3330 +5.783825182329737,5.32250310087703,0.4613220814527077,0.0,-1.9500383107695063,-0.05393720780098006,0.017324634400523453,7.43462504361057,0.0,0.0,-0.12547105856357738
3331 +7.543273346705446,7.6673155984245325,-0.12404225171908667,0.0,-0.41827159231201794,-0.13875226402098229,0.04140117222760452,8.134852470349093,0.0,0.0,0.04808581218083538
3332 +5.375278407684165,5.1498741373634305,0.22540427032073485,0.0,-2.005955552048598,0.06427958176948004,0.017324634400523453,7.096169173818972,0.0,0.0,-0.021943700576947493
3333 +6.478509642208569,6.19385574017389,0.28465390203467855,0.0,-1.2742503851316123,-0.13062841251842544,0.0,7.699443857395899,0.0,0.0,-0.10070931957197063
3334 +5.3981627015177525,5.034642816454076,0.3635198850636767,0.0,-1.6073769182437365,-0.1522079215967106,0.038910719344411995,7.015337140848288,0.0,0.0,-0.26002020389817937
3335 +,4.841172824167763,,0.0,-2.423840447632908,-0.07389144488045517,0.026786096644932214,7.483511313500239,0.0,0.0,-0.1713926934640443
3336 +4.881285622068407,5.092410672138865,-0.211125050070458,0.0,-2.0835064886403716,-0.04075382388851894,0.0,7.456365393527619,0.0,0.0,-0.23969440885986398
3337 +8.28742776379314,6.79676758875559,1.4906601750375499,0.0,-1.0531899480379936,-0.11578944547222733,0.0024904528831925232,7.9826139981815185,0.0,0.0,-0.019357468798899324
3338 +,4.676361484152051,,0.0,-2.2909628906478376,-0.10469549579575368,0.029449257100003234,7.075885347524116,0.0,0.0,-0.033314734028477316
3339 +4.531092982591776,10.742359457167902,-6.211266474576126,0.0,2.5553822347870914,-0.10968602582428734,0.0024904528831925232,8.280781835129236,0.0,0.0,0.013390960192669438
3340 +,5.914553980361765,,0.0,-1.8360910324379613,0.026776252129562493,0.029449257100003234,7.72270344566868,0.0,0.0,-0.02828394209851643
3341 +8.234830280442056,3.5088822813816365,4.72594799906042,0.0,-5.311734645911303,-0.2013101611510511,0.0,9.238202504200961,0.0,0.0,-0.21627541575697132
3342 +,5.692712867015103,,0.0,-2.4085685726732855,-0.09710073097162719,0.0,8.256548952914406,0.0,0.0,-0.058166782254391286
3343 +,5.7634789777164155,,0.0,-1.465905272683636,0.009203987611080218,0.0,7.206284791534484,0.0,0.0,0.013895471254484343
3344 +,5.1034163902307865,,0.0,-2.4679696946803196,0.08645374716358263,0.026786096644932214,7.598224034266061,0.0,0.0,-0.14007779316346736
3345 +5.039935163141118,6.342319907228806,-1.3023847440876875,0.0,-2.048259249300858,-0.0704397408040475,0.026786096644932214,7.543006594258451,0.0,0.0,0.8912262064303276
3346 +,6.07221601025196,,0.0,-1.946604329472712,-0.05464072350391018,0.0024904528831925232,8.16813096531973,0.0,0.0,-0.09716035497433992
3347 +5.465694475956169,5.73740476033726,-0.2717102843810917,0.0,-1.94601264517061,-0.07458142671543029,0.017324634400523453,7.859947852617124,0.0,0.0,-0.11927365479434238
3348 +,5.233609110607131,,0.0,-1.9615546249356077,0.09683902056725968,0.029276549528124737,7.1979282880378,0.0,0.0,-0.12888012259044432
3349 +4.824305715904762,5.523217176558329,-0.6989114606535667,0.0,-1.9188004256292954,-0.07571633810792458,0.026786096644932214,7.6495071566358295,0.0,0.0,-0.15855931298521325
3350 +5.377913820819179,6.607342514683827,-1.229428693864648,0.0,-1.7833688829937726,-0.018797843561514385,0.0024904528831925232,8.339474007780295,0.0,0.0,0.06754478057562824
3351 +4.485147143388361,4.591321464166693,-0.10617432077833211,0.0,-1.956880717557513,-0.07767708583541649,0.026786096644932214,6.840130454382741,0.0,0.0,-0.2410372834680499
3352 +6.3265071909196005,5.861032343845197,0.4654748470744039,0.0,-1.4534668160507787,-0.012690116330339507,0.017324634400523453,7.440731624475828,0.0,0.0,-0.13086698265003618
3353 +7.816126736011745,6.784217840660924,1.0319088953508206,0.0,-1.194763461146608,-0.015746404827253598,0.019815087283715976,7.707988028032004,0.0,0.0,0.266924591319065
3354 +,4.563568729048694,,0.0,-4.812413156620009,-0.1322426312225326,0.029449257100003234,9.238202504200961,0.0,0.0,0.24057275559027033
3355 +4.630545492319319,2.9996036103564587,1.6309418819628605,0.0,-5.58130786112234,-0.06010757152857117,0.0,9.0784399922403,0.0,0.0,-0.4374209492329296
3356 +5.594488306395724,6.800799819911413,-1.206311513515689,0.0,-1.5105588730095967,-0.08608139827167526,0.0,8.529170438465806,0.0,0.0,-0.1317303472731203
3357 +6.9986831431801795,-5.442150768624486,12.440833911804665,0.0,-4.989383221353421,-0.008284945552950052,0.0,0.0,0.0,0.0,-0.44448260171811427
3358 +7.470822247593791,6.6647049988981815,0.8061172486956094,0.0,-1.4759261845364877,0.0372590225070616,0.038910719344411995,8.222776125363746,0.0,0.0,-0.15831468378054897
3359 +4.060443010546419,5.34699935955666,-1.2865563490102412,0.0,-2.177596753098035,-0.22006795789932165,0.0,8.036789051724245,0.0,0.0,-0.29212498117022856
3360 +4.757547866408974,5.721795573793964,-0.96424770738499,0.0,-1.4929317775459134,-0.18547411284453982,0.04140117222760452,7.648147742040769,0.0,0.0,-0.28934745008395646
3361 +5.016683632630459,5.929828309014959,-0.9131446763845004,0.0,-1.7876411081618864,-0.07109236715443368,-0.012124622699479781,7.934596008957455,0.0,0.0,-0.13390960192669438
3362 +7.614830019239496,4.992422540242041,2.622407478997455,0.0,-4.144796382751158,0.08866676163867288,0.04140117222760452,9.0784399922403,0.0,0.0,-0.07128900311337782
3363 +4.770006428441026,4.748396872130924,0.021609556310101752,0.0,-2.413876355150431,-0.17946135470883123,0.017324634400523453,7.6094836884798305,0.0,0.0,-0.2850737408901681
3364 +,6.078545434215874,,0.0,-1.9096586379764497,-0.07934835262913825,0.0,7.9820737201879215,0.0,0.0,0.08547870463354187
3365 +5.723519740339233,5.970481524740241,-0.2469617844010079,0.0,-1.7935065411174191,0.030658314327744497,0.017324634400523453,7.7945522684515955,0.0,0.0,-0.07854715132220304
3366 +,4.702886035113474,,0.0,-2.267087224097877,-0.1051475421378787,0.017324634400523453,7.228972610168964,0.0,0.0,-0.17117644322025646
3367 +,8.062096629561891,,0.0,-0.10492365018389282,-0.07147576718611127,0.0,8.280781835129236,0.0,0.0,-0.042285788197340385
3368 +6.646624253762427,4.933538705880983,1.7130855478814437,0.0,-3.9727178491660724,0.03722164431845161,0.0024904528831925232,9.238202504200961,0.0,0.0,-0.37165804635554855
3369 +6.289715570908998,4.524957349391421,1.7647582215175763,0.0,-5.200207087558698,0.01444747990889266,0.0,9.0784399922403,0.0,0.0,0.6322769648009279
3370 +4.7140245909001735,5.400613403073236,-0.6865888121730626,0.0,-1.8482506029308379,0.055649965379997945,0.029449257100003234,7.245604426820125,0.0,0.0,-0.0818396432960524
3371 +,5.88318452547622,,0.0,-1.4692002202517527,-0.01455173995998194,0.04140117222760452,7.0098930472143,0.0,0.0,0.3156422662460513
3372 +9.01371703047137,4.720150157203091,4.293566873268278,0.0,-4.1807572275057066,-0.1163290704927337,0.0,9.238202504200961,0.0,0.0,-0.22096604899943018
3373 +7.018965650817983,5.1679317506195614,1.8510339001984217,0.0,-1.3734585965247534,0.03173435293837483,0.029276549528124737,6.838753871302757,0.0,0.0,-0.35837442662494234
3374 +,5.632193616202393,,0.0,-1.554262012972103,-0.07114824071618892,0.026786096644932214,7.419171186968026,0.0,0.0,-0.18835341372227332
3375 +,6.402627911174635,,0.0,-0.9483610607235802,-0.0993042836619009,0.0,7.218998127795288,0.0,0.0,0.23129512776482727
3376 +7.352806418122265,5.580263039335892,1.7725433787863727,0.0,-1.7039183662408695,0.021697485501995004,0.0,7.315979456975407,0.0,0.0,-0.0534955369006396
3377 +8.873154280621298,6.237383296163976,2.635770984457322,0.0,-1.8049302450462088,-0.12900385126725056,0.0,8.05519435399756,0.0,0.0,0.11612303847987474
3378 +,5.6758315570944005,,0.0,-1.5019775526750747,0.1343400010631552,0.017324634400523453,7.4034355538742735,0.0,0.0,-0.37729107956847596
3379 +5.9301209168669295,6.128975374451957,-0.1988544575850275,0.0,-1.7861403375852802,0.036062155773514126,0.029449257100003234,7.947930143202245,0.0,0.0,-0.09832584403852507
3380 +5.18705055411945,5.517153427890901,-0.33010287377145087,0.0,-2.124497893121382,-0.09725042656586903,0.03193970998319576,7.706505030291938,0.0,0.0,0.0004570073030175509
3381 +3.9541241814467813,5.608336972060194,-1.6542127906134123,0.0,-1.6073631161586226,-0.03285601566124545,0.038910719344411995,6.962709328393502,0.0,0.0,0.24693605614214983
3382 +7.657901694047006,5.881371816707641,1.7765298773393656,0.0,-2.186607831531574,0.08725225077708801,0.029449257100003234,8.222776125363746,0.0,0.0,-0.2714979850016216
3383 +,5.209309167803929,,0.0,-2.0445674345260763,-0.11573955560521396,0.017324634400523453,7.493434790693793,0.0,0.0,-0.1411432671590959
3384 +5.25895264302576,5.662969032877276,-0.4040163898515168,0.0,-1.7949656262212725,-0.07623032249118769,0.038910719344411995,7.562580150109908,0.0,0.0,-0.06732588786458266
3385 +7.440733707389261,5.171789865612926,2.268943841776335,0.0,-4.000901590257728,0.003265672206574796,0.0024904528831925232,9.0784399922403,0.0,0.0,0.08849533854058753
3386 +5.394627046685445,6.284209587634649,-0.8895825409492044,0.0,-1.8315532092852278,0.04471810142163885,0.029449257100003234,8.222776125363746,0.0,0.0,-0.18118068696551023
3387 +4.598648968997826,5.7513819480322805,-1.1527329790344547,0.0,-2.5430702516807946,-0.005341355906233105,0.029449257100003234,8.329831745091703,0.0,0.0,-0.05948744657239754
3388 +,4.829696618735909,,0.0,-2.9414125397000133,-0.04935223691938258,0.0,8.056058948726475,0.0,0.0,-0.235597553371171
3389 +5.4805555865362425,6.049896396480801,-0.569340809944558,0.0,-1.1318967033770218,-0.045621010481824355,0.026786096644932214,6.901689830065805,0.0,0.0,0.2989381836289119
3390 +4.943283931738559,5.114893535994682,-0.1716096042561226,0.0,-1.8971080242353686,-0.09957420104524378,-0.012124622699479781,7.220442555707376,0.0,0.0,-0.09674217173259986
3391 +4.814539303880461,5.095154837270178,-0.28061553338971645,0.0,-1.5990706767043035,-0.16020411338559576,0.0024904528831925232,6.740820637669262,0.0,0.0,0.11111853680762293
3392 +4.179145163914566,4.724721100323877,-0.5455759364093113,0.0,-1.9903504089403858,-0.07477796157167031,0.038910719344411995,6.89529417308551,0.0,0.0,-0.144355421593989
3393 +,6.77962456264999,,0.0,-0.8126058074573512,-0.01935203491911998,0.029276549528124737,7.740842286090309,0.0,0.0,-0.1585364305919716
3394 +,5.14230223758513,,0.0,-2.0589275496320614,-0.09552144108442392,0.017324634400523453,7.493681956983804,0.0,0.0,-0.214255363082711
3395 +4.36118596880203,4.881488905217187,-0.520302936415157,0.0,-2.3525085302365225,-0.021541662784083378,0.026786096644932214,7.3626626035195555,0.0,0.0,-0.13390960192669438
3396 +5.911690553327634,5.48133232300769,0.4303582303199436,0.0,-2.242345279704697,-0.08507238004170478,0.026786096644932214,7.99718864423207,0.0,0.0,-0.21522475812290912
3397 +5.397755378754094,5.7720241096571705,-0.37426873090307655,0.0,-1.9525071647561418,-0.05448445740436944,0.0,8.065742118822579,0.0,0.0,-0.286726387004899
3398 +7.34020630300862,5.096964464767676,2.2432418382409445,0.0,-1.9895861254394331,-0.1227663343709744,0.026786096644932214,7.429931507921857,0.0,0.0,-0.2474006799887062
3399 +8.427099979539017,5.586369065684516,2.840730913854501,0.0,-2.034337735895585,-0.09148010460623707,0.017324634400523453,7.815380913519841,0.0,0.0,-0.12051864173402495
3400 +,-4.843431304014403,,0.0,-4.820980363469264,-0.06926359331503756,0.0,0.0,0.0,0.0,0.04681265276989785
3401 +,-5.06602981959222,,0.0,-5.227702111274443,-0.12119483707788571,0.0,0.0,0.0,0.0,0.28286712876010794
3402 +5.497168225293202,-2.9943852684594474,8.49155349375265,0.0,-2.0270894592868833,-0.04280887913508961,-0.012124622699479781,-0.5977406105207098,0.0,0.0,-0.3146216968172855
3403 +5.267858159063328,-5.070788823845561,10.33864698290889,0.0,-4.899235909182183,-0.11752214477786592,0.04140117222760452,0.0,0.0,0.0,-0.09543194211311731
3404 +4.77912349311153,-6.318790862584025,11.097914355695554,0.0,-6.055484702308545,-0.022475748650843286,0.0,0.0,0.0,0.0,-0.24083041162463675
3405 +,-0.6718753398797506,,0.0,0.22235734467980084,-0.017018223770715286,0.0,-0.5963811959256494,0.0,0.0,-0.28083326486318877
3406 +4.653960350157523,-3.5750127158556806,8.228973066013204,0.0,-2.4044993986050374,-0.11723207725294113,0.026786096644932214,-0.7428048932858148,0.0,0.0,-0.3372624433568189
3407 +,-1.5777639668843104,,0.0,-0.9623319430893442,-0.14528980798158503,0.03193970998319576,-0.7423105607057928,0.0,0.0,0.24022863490921628
3408 +,-2.044616824786371,,0.0,-1.667930565050189,-0.05757110960911968,0.04140117222760452,-0.7423105607057928,0.0,0.0,0.3817942383511248
3409 +5.075173815233827,-2.226953203455639,7.302127018689466,0.0,-1.5818927589517235,0.11600320320236004,0.0,-0.5963811959256494,0.0,0.0,-0.16468245178062463
3410 +,-4.887991560282535,,0.0,-5.038566305156996,-0.07883614974895883,0.0,0.0,0.0,0.0,0.2294108946234216
3411 +5.7430031878094825,-4.605750696719038,10.34875388452852,0.0,-4.664000657418289,0.035093778704495565,0.029449257100003234,0.0,0.0,0.0,-0.006293075105249402
3412 +3.5263605246161616,-1.7243500183945872,5.250710543010749,0.0,-1.206481477232816,-0.0570480656344712,0.0,-0.4364105801837537,0.0,0.0,-0.024409895343546484
3413 +,-1.0296935572854142,,0.0,-0.34582435548490054,-0.1314012836508462,0.0024904528831925232,-0.5963811959256494,0.0,0.0,0.04142282489279167
3414 +,-5.501350669275097,,0.0,-5.735569824710058,-0.014688620047598444,0.0024904528831925232,0.0,0.0,0.0,0.24641732259936674
3415 +5.030437921392435,-6.019698707514356,11.050136628906792,0.0,-5.976321968562493,0.00851038310293143,0.0,0.0,0.0,0.0,-0.051887122054796876
3416 +,-5.647324031632303,,0.0,-5.494058737023576,-0.04880494978203452,0.029449257100003234,0.0,0.0,0.0,-0.13390960192669438
3417 +5.4638318050256105,-2.1930148868396167,7.656846691865227,0.0,-1.6537905893886098,-0.03618340872023722,0.017324634400523453,-0.7430520595758258,0.0,0.0,0.22268653644453384
3418 +4.706010500914163,5.141245272112557,-0.4352347711983944,0.0,-2.3184450210925798,-0.1626475938650646,-0.012124622699479781,7.903251101442422,0.0,0.0,-0.26878859167274105
3419 +4.453300236649965,5.887543665293228,-1.4342434286432626,0.0,-1.4737115381851842,-0.04995282637500658,0.017324634400523453,7.169222387229476,0.0,0.0,0.22466100822341914
3420 +,6.022717273155447,,0.0,-2.3288343282181545,-0.00042340935065002944,0.029449257100003234,7.6972039152627065,0.0,0.0,0.6253218383615404
3421 +,5.988880580366295,,0.0,-1.8819646243863337,-0.09202741643931608,0.0,8.208942978183227,0.0,0.0,-0.24607035699128255
3422 +4.919396813661985,5.5222822099570354,-0.6028853962950507,0.0,-1.8366502450542121,-0.05004386506729341,0.0,7.324525276046259,0.0,0.0,0.08445104403228229
3423 +5.249704686627344,5.155990013775086,0.09371467285225776,0.0,-1.9914546738043226,-0.11495575475731662,0.026786096644932214,7.450709841679212,0.0,0.0,-0.2150954959874195
3424 +5.636609374951169,5.861808339248138,-0.22519896429696917,0.0,-1.4868495020267627,0.0048330443405706705,0.017324634400523453,7.467232135378865,0.0,0.0,-0.14073197284505728
3425 +,5.615061452748249,,0.0,-2.057033665466011,-0.07652079167331605,-0.012124622699479781,8.00227472530355,0.0,0.0,-0.24153419271649396
3426 +5.389756426864818,5.173009962872142,0.21674646399267594,0.0,-2.08281192140402,0.04290958797661042,0.017324634400523453,7.168851637794459,0.0,0.0,0.02673602410456983
3427 +5.205269625497964,5.311732556044288,-0.10646293054632405,0.0,-1.630457906808343,-0.01783436235506372,0.017324634400523453,7.248567798478761,0.0,0.0,-0.3058676076715884
3428 +7.691752708624314,5.481492302399585,2.2102604062247293,0.0,-1.7416418059271566,-0.04577293847118222,0.0,7.541146273830714,0.0,0.0,-0.27223922703279024
3429 +,5.402897603441237,,0.0,-2.0218050362359765,-0.07950160224685468,0.029449257100003234,7.508048006572324,0.0,0.0,-0.033293021748258836
3430 +,5.536531985786554,,0.0,-2.0496934085159646,-0.014450886225445157,0.0024904528831925232,7.814318736529379,0.0,0.0,-0.21613290888460818
3431 +6.038300421945014,5.248082121681035,0.7902183002639784,0.0,-1.8130389668686773,-0.06983019880964615,0.019815087283715976,7.336985786073435,0.0,0.0,-0.22584958599779245
3432 +8.144978122795772,3.162625691349454,4.9823524314463175,0.0,-5.871437984173536,-0.1603638440171799,0.0,9.238202504200961,0.0,0.0,-0.043774984660791494
3433 +5.334697510640787,4.971733687852502,0.3629638227882852,0.0,-2.0613004762957745,-0.020573461156712703,0.017324634400523453,7.038993817337783,0.0,0.0,-0.0027108264333176677
3434 +5.685380865475649,5.229168465799774,0.45621239967587446,0.0,-1.736490546255367,-0.03434472433578514,0.0,7.2502016779708605,0.0,0.0,-0.25019794157993486
3435 +,5.814484265605904,,0.0,-1.8554782421695828,0.025289939351640114,0.0,7.777508583322431,0.0,0.0,-0.13283601489858346
3436 +4.630545492319319,5.534316186139632,-0.9037706938203129,0.0,-2.269806561279335,-0.06587164225508044,0.038910719344411995,8.095921358938705,0.0,0.0,-0.2648376886090681
3437 +5.090616461414685,4.800551123365884,0.29006533804880075,0.0,-2.089882517579201,-0.19297546338929705,0.017324634400523453,7.1350973391900725,0.0,0.0,-0.06901286925621304
3438 +8.385459039928747,-4.443230083599167,12.828689123527916,0.0,-4.295960826845755,-0.10687142814623433,0.0024904528831925232,0.0,0.0,0.0,-0.04288828149037002
3439 +7.549082710812286,8.059557071028792,-0.5104743602165058,0.0,-0.3190278077748152,0.06133721566427502,0.04140117222760452,8.222776125363746,0.0,0.0,0.05307036554798214
3440 +,5.065165679807588,,0.0,-1.8513994225350592,-0.10896890486900387,0.017324634400523453,7.1116225231441685,0.0,0.0,-0.1034131503330394
3441 +,6.276587673342665,,0.0,-0.6974850578419742,0.05585241215205966,0.038910719344411995,6.456456971974517,0.0,0.0,0.4228526277136506
3442 +7.323368718142117,5.281387573309268,2.0419811448328486,0.0,-4.770340790205502,0.1327243825230373,0.0024904528831925232,9.238202504200961,0.0,0.0,0.678311023907579
3443 +5.250334376525886,4.935228703476722,0.3151056730491639,0.0,-1.9474624251457184,-0.09847303094017314,0.029449257100003234,7.033488723271741,0.0,0.0,-0.08177382080913163
3444 +,6.27341302855806,,0.0,-1.5078418327598166,-0.14347379664646445,0.029449257100003234,7.836684633401376,0.0,0.0,0.05859476746296308
3445 +4.71348632947155,5.946528241554428,-1.2330419120828777,0.0,-1.6541634905847324,-0.01630675697800429,0.0,7.823507977168537,0.0,0.0,-0.20650948805137137
3446 +,5.036431823891259,,0.0,-2.080618026112539,0.055010389661552195,0.038910719344411995,7.273255950764836,0.0,0.0,-0.25012720976700137
3447 +7.514985029428863,6.7245455937981005,0.7904394356307627,0.0,-1.645254509426362,-0.017510683572110705,0.0,8.368542844490106,0.0,0.0,0.018767942306467195
3448 +,5.776777927073077,,0.0,-1.8492159840399731,-0.09445290715610041,0.0,7.836980538429538,0.0,0.0,-0.11653372016038871
3449 +5.039935163141118,4.899995286616855,0.13993987652426298,0.0,-2.014062664139547,-0.08277204310557632,0.017324634400523453,7.215887327673712,0.0,0.0,-0.23638196821225585
3450 +,5.18914917234558,,0.0,-2.0856387240747205,0.01762911679640325,0.017324634400523453,7.383244082297789,0.0,0.0,-0.14340993707441585
3451 +5.776785074205902,5.694521163763969,0.08226391044193271,0.0,-1.3642730007870103,-0.13132703394573458,0.038910719344411995,7.027377585551029,0.0,0.0,0.12383289360127633
3452 +,3.3354937627610597,,0.0,-5.6043553709009455,-0.0462125785439859,0.029449257100003234,9.0784399922403,0.0,0.0,-0.1218275371343097
3453 +,5.5651074814004975,,0.0,-1.787437506212112,-0.017311810030005405,0.017324634400523453,7.598594783701078,0.0,0.0,-0.2460626204589893
3454 +5.387975238478572,6.164113333056863,-0.7761380945782914,0.0,-1.625803470820653,0.12081145632110621,0.0,7.836585276335103,0.0,0.0,-0.16747992877869544
3455 +7.636848586315551,7.374059294723363,0.26278929159218833,0.0,-0.6782170554395437,-0.06607849751887757,0.04140117222760452,8.222776125363746,0.0,0.0,-0.1458224499095656
3456 +,4.56244426205165,,0.0,-2.222291170888539,-0.040233390183437495,0.0,7.117058558873785,0.0,0.0,-0.29208973575015784
3457 +,3.6717208237589327,,0.0,-5.368969328453716,-0.07190772118430741,0.038910719344411995,9.0784399922403,0.0,0.0,-0.004752838187754571
3458 +,6.135468974235101,,0.0,-1.7466580083417789,-0.08213614689337165,0.029449257100003234,8.1461031766186,0.0,0.0,-0.21128930424835135
3459 +7.599115864531237,7.7840678794822,-0.18495201495096314,0.0,-0.41827159231201794,0.0040328270211390516,0.04140117222760452,8.134852470349093,0.0,0.0,0.022053002196381816
3460 +,4.807886210987813,,0.0,-1.8481726233422746,-0.014571688413640996,0.017324634400523453,6.948882754465639,0.0,0.0,-0.29557686612243295
3461 +5.678703954279664,5.323548131482706,0.35515582279695757,0.0,-1.9766946479383272,-0.11682159541825288,0.017324634400523453,7.6490128240558075,0.0,0.0,-0.24927308361704287
3462 +5.394627046685445,3.243699063511906,2.150927983173539,0.0,-5.731622075529861,0.07429159054603766,0.0,9.0784399922403,0.0,0.0,-0.1774104437445679
3463 +7.764593202198561,-5.750160940433144,13.514754142631705,0.0,-5.095776399556414,0.038608337645219745,0.0,0.0,0.0,0.0,-0.6929928785219504
3464 +5.7985773702092445,5.80027616320113,-0.0016987929918856892,0.0,-1.4352588530282402,0.0943060154218853,0.017324634400523453,7.198051871182805,0.0,0.0,-0.07414750477584607
3465 +,5.087376253096031,,0.0,-2.2483739699993057,-0.026639408317784878,0.029449257100003234,7.403188387584263,0.0,0.0,-0.07024801327114287
3466 +7.452535852998079,5.775212600675562,1.677323252322517,0.0,-1.9943173354504955,-0.08407667197320606,0.0,8.047697468482498,0.0,0.0,-0.1940908603832368
3467 +5.474327380728188,5.8889467628471115,-0.41461938211892324,0.0,-2.1771451540215,0.019126927479134914,-0.012124622699479781,8.063013613403083,0.0,0.0,-0.003924001314127249
3468 +7.764419141119665,6.509733034832881,1.2546861062867833,0.0,-1.4095129772412411,0.02856928356830194,0.0,8.148204090083695,0.0,0.0,-0.2575273615778748
3469 +5.394627046685445,6.335755531490779,-0.9411284848053345,0.0,-1.4463029680454067,0.042552032431496016,-0.012124622699479781,7.949660307232322,0.0,0.0,-0.1980292174281509
3470 +5.213249554157973,6.500324082802562,-1.287074528644589,0.0,-1.7992654963141765,-0.02877055988069526,0.0,8.442235448611198,0.0,0.0,-0.11387530961376291
3471 +6.582675896633155,6.460091039833033,0.12258485680012221,0.0,-0.8316387539846639,-0.08758200245245906,0.029449257100003234,7.336615036638419,0.0,0.0,0.013247502531733707
3472 +5.209267549714526,5.607587997047065,-0.398320447332539,0.0,-2.1480527757088312,-0.03067153099223659,-0.012124622699479781,8.063013613403083,0.0,0.0,-0.2645766869554708
3473 +5.319540552999562,6.071294993991417,-0.7517544409918555,0.0,-1.5043692954589796,-0.048207949746412515,0.029449257100003234,7.841181581682016,0.0,0.0,-0.24675859958520857
3474 +7.99392042234849,6.54850141952208,1.4454190028264096,0.0,-1.7039611099727283,-0.0378431928664978,0.038910719344411995,8.063013613403083,0.0,0.0,0.18838138961381187
3475 +,5.217456584778621,,0.0,-2.147535668959806,-0.1111897208141028,0.017324634400523453,7.434130711030548,0.0,0.0,0.02472662912146045
3476 +,4.628840682866522,,0.0,-2.232074671418835,-0.03905810901021043,0.038910719344411995,7.003304974298375,0.0,0.0,-0.14224223034722067
3477 +4.830152046575941,4.71613206663284,0.11401997994310165,0.0,-2.5957181709961192,0.0326402058546845,0.026786096644932214,7.449103260794141,0.0,0.0,-0.1966793256647992
3478 +,5.41716699360828,,0.0,-1.7151099342021547,-0.15600852309031638,0.0,7.469624287542102,0.0,0.0,-0.18133883664135036
3479 +5.797485302756558,4.985626166030687,0.8118591367258707,0.0,-1.7331955621187314,-0.20784008516315947,0.026786096644932214,6.968503209648724,0.0,0.0,-0.06862749298107787
3480 +,6.070900152225408,,0.0,-1.8634300440170568,0.02013083910076677,0.04140117222760452,7.821940458792243,0.0,0.0,0.05085772612185216
3481 +4.47688216568656,5.731474526190866,-1.2545923605043061,0.0,-1.7345855237805603,-0.040360353761732214,-0.012124622699479781,7.691545506229417,0.0,0.0,-0.1730004797967783
3482 +,-6.012938731668462,,0.0,-5.841898081243089,-0.05191133975645507,0.0024904528831925232,0.0,0.0,0.0,-0.12161976355211022
3483 +4.556714965718688,-5.7267277206323,10.283442686350988,0.0,-5.736148597765866,0.019501384880435107,0.038910719344411995,0.0,0.0,0.0,-0.04899122709128149
3484 +,3.551997376156226,,0.0,-5.690262879886351,0.007981759373474992,0.0,9.238202504200961,0.0,0.0,-0.003924007531858818
3485 +7.430896750390724,6.423001922519597,1.0078948278711275,0.0,-1.4357871209638455,-0.1496008360581551,0.029449257100003234,7.858464854877058,0.0,0.0,0.12047576756453712
3486 +6.771935555839602,6.86250971925896,-0.0905741634193582,0.0,-1.0005131658629107,0.02036263289880609,0.029276549528124737,7.99718864423207,0.0,0.0,-0.18380494153712879
3487 +5.988535260935405,5.97367122370254,0.014864037232865002,0.0,-1.1450128680994265,-0.05402111901371426,0.0024904528831925232,7.388366575243701,0.0,0.0,-0.2181518173112128
3488 +6.910621168395182,6.943627130249263,-0.033005961854081,0.0,-1.178022761323696,-0.07239373739218397,0.038910719344411995,8.222776125363746,0.0,0.0,-0.06764321574301493
3489 +4.706010500914163,6.1869053619219905,-1.4808948610078279,0.0,-1.5437266143914954,0.06958027696833192,0.017324634400523453,7.724072826100647,0.0,0.0,-0.08034576115601663
3490 +,5.68375678465512,,0.0,-2.183150348193423,0.02605020493019136,0.017324634400523453,7.903251101442422,0.0,0.0,-0.07971880792459156
3491 +4.864529941435284,5.668522088717343,-0.8039921472820595,0.0,-1.977652015594077,0.08815005074075061,0.017324634400523453,7.756627131631662,0.0,0.0,-0.2159277124615167
3492 +5.622970026363907,6.004339161377139,-0.381369135013232,0.0,-1.638126982985363,-0.034431755777432474,0.0,7.686306248062368,0.0,0.0,-0.009408347922432838
3493 +4.29510616264318,3.389130303733891,0.9059758589092892,0.0,-5.444429743866607,-0.11918471870924062,0.0,9.0784399922403,0.0,0.0,-0.12569522593056187
3494 +7.038116652400838,6.472390098412636,0.5657265539882017,0.0,-1.305991585622916,-0.07646709236829609,0.017324634400523453,7.815380913519841,0.0,0.0,0.022143228483482574
3495 +,5.7518749210671585,,0.0,-2.1259749572654556,-0.026574522305738955,0.029449257100003234,8.134852470349093,0.0,0.0,-0.2598773268107425
3496 +,5.484560358748557,,0.0,-1.979059927529332,0.025121048758273735,0.0,7.489815916591365,0.0,0.0,-0.051316679071751393
3497 +,5.884567852263958,,0.0,-1.5587803739647006,-0.15082435020043813,0.017324634400523453,7.485241477530316,0.0,0.0,0.09160646449825649
3498 +8.700957040939143,6.04871964816037,2.6522373927787726,0.0,-1.4234664565314636,-0.0016970248493882178,0.0024904528831925232,7.564853385458159,0.0,0.0,-0.0934607088001306
3499 +6.55250788703459,5.832114761586216,0.720393125448374,0.0,-1.0572858839835408,-0.10521617652040673,0.029449257100003234,7.145007999101501,0.0,0.0,-0.17984043411134043
3500 +4.630545492319319,6.253666683992183,-1.6231211916728636,0.0,-1.4153100723480039,-0.09760850816642247,0.0024904528831925232,7.767552015987084,0.0,0.0,-0.0034572043636651173
3501 +,6.162332204708274,,0.0,-1.8672593182776422,-0.03254209060662057,0.0,8.176166647123251,0.0,0.0,-0.11403303353071571
3502 +,4.475406387572847,,0.0,-2.078827461712666,-0.05585929637022012,0.017324634400523453,6.821387294700395,0.0,0.0,-0.22861878344518669
3503 +,-3.8148953450199805,,0.0,-4.011786861318477,0.015614686228265985,0.0024904528831925232,0.0,0.0,0.0,0.17878637718703858
3504 +5.94277312806309,6.503224488885766,-0.5604513608226762,0.0,-1.3366944885267067,0.030150341216793428,0.017324634400523453,8.031473113793162,0.0,0.0,-0.23902911199800783
3505 +5.752572638825633,6.139694308039265,-0.38712166921363167,0.0,-1.2370680589524614,0.011148071151443721,0.038910719344411995,7.149267746929037,0.0,0.0,0.1774358295668322
3506 +6.416732282512326,5.697115260104718,0.7196170224076077,0.0,-0.9623241208381295,0.014108717195940972,0.0,6.743380760977434,0.0,0.0,-0.09805009723052974
3507 +5.552959584921617,5.850578320270059,-0.29761873534844163,0.0,-1.3883361610094491,0.06498815206597874,0.029276549528124737,7.312480384904222,0.0,0.0,-0.167830605218816
3508 +8.073402968986406,6.163066010001096,1.9103369589853099,0.0,-1.9197504623056814,-0.05464486145748079,0.038910719344411995,8.370604695446422,0.0,0.0,-0.27205408102657624
3509 +4.605170185988092,4.546497121952206,0.05867306403588568,0.0,-2.221256965325022,0.04971502864995425,-0.012124622699479781,6.866432040484321,0.0,0.0,-0.13626835915756705
3510 +4.890349128221754,5.707731133930528,-0.8173820057087742,0.0,-1.746457878445283,-0.10321180296402839,0.017324634400523453,7.376391338504407,0.0,0.0,0.16368484243491088
3511 +7.226936018493289,4.184624044814989,3.0423119736782995,0.0,-2.68747393874695,0.013167850530038785,0.026786096644932214,7.4392806589068625,0.0,0.0,-0.6071366225198943
3512 +7.613324979540639,6.369736074537552,1.2435889050030875,0.0,-1.7876407763463105,-0.009049790874071192,0.0,7.743782649611188,0.0,0.0,0.4226439921467461
3513 +4.955827057601261,5.355715688840519,-0.399888631239258,0.0,-2.027930297723932,-0.03795728045290285,0.029449257100003234,7.648147742040769,0.0,0.0,-0.2559937321234176
3514 +,5.130941915037589,,0.0,-1.7657455705641807,-0.026498200547808173,0.029449257100003234,7.0892601037116245,0.0,0.0,-0.1955236746620493
3515 +5.298317366548036,6.130492099483726,-0.8321747329356901,0.0,-1.2586869646259977,0.014682821961709572,0.029449257100003234,7.361797521504517,0.0,0.0,-0.01675053645650367
3516 +4.2626798770413155,5.550935003270183,-1.2882551262288677,0.0,-2.2641961409268454,-0.13490164784134018,0.029449257100003234,7.92191368530464,0.0,0.0,-0.001330150366275146
3517 +,5.627502896977941,,0.0,-1.7345456259833565,-0.028563372536595882,0.017324634400523453,7.475274410820283,0.0,0.0,-0.10198714972291187
3518 +5.298317366548036,5.2346580742246385,0.06365929232339784,0.0,-2.0653015329791797,0.12068813826543573,0.017324634400523453,7.4592525319773815,0.0,0.0,-0.29730569743952184
3519 +4.02535169073515,5.306377464480162,-1.2810257737450126,0.0,-1.6154683963603276,-0.13017830739087616,0.0024904528831925232,7.293343364534098,0.0,0.0,-0.24380964918592415
3520 +4.770684624465665,5.354902459010497,-0.5842178345448321,0.0,-2.2930170305696116,-0.014218358383503597,0.0,7.642233641545108,0.0,0.0,0.01990420641850485
3521 +,5.414475124145422,,0.0,-1.6072547859335362,0.024990184417540518,-0.009634169816287258,7.054247284952681,0.0,0.0,-0.047873389474975055
3522 +6.206575926724928,6.017673180931278,0.18890274579364963,0.0,-1.421023457303173,-0.0015442801631367492,0.0,7.540082254907491,0.0,0.0,-0.09984133650990289
3523 +4.997212273764115,5.608065028463292,-0.6108527546991773,0.0,-1.969879470385755,0.09474009548666172,-0.012124622699479781,7.610348770494869,0.0,0.0,-0.11501974443300289
3524 +8.302513718514158,4.993182150329437,3.309331568184721,0.0,-1.9477232099642574,-0.08190481912887512,-0.012124622699479781,7.201417093818827,0.0,0.0,-0.16648229169677808
3525 +4.836281906951478,6.138720622305422,-1.3024387153539436,0.0,-1.3647670400652077,0.07749309900662049,0.029276549528124737,6.969692141767151,0.0,0.0,0.42702587206873477
3526 +8.122668023346407,6.028670879351078,2.0939971439953284,0.0,-1.7502483389026677,-0.20312405868238836,0.019815087283715976,7.646820519056019,0.0,0.0,0.31540767059640024
3527 +,5.582703964401024,,0.0,-2.1185026047880093,-0.07911401496301496,0.0,7.443406710801465,0.0,0.0,0.3369138733505853
3528 +5.4510384535657,4.9541258541483,0.4969125994174002,0.0,-2.406783151954822,-0.03426981271388511,0.017324634400523453,7.397489635042495,0.0,0.0,-0.019635450626011693
3529 +5.365976015021851,4.4865601917698985,0.8794158232519527,0.0,-2.3541180295119295,-0.1627621513379699,0.026786096644932214,7.123954838094229,0.0,0.0,-0.14730056211936382
3530 +7.373142016767616,7.020904763929558,0.3522372528380586,0.0,-1.2573652765678096,-0.03469326842152306,0.0,8.371014507390216,0.0,0.0,-0.05805119847132728
3531 +,5.970391925835579,,0.0,-1.9648057181549934,-0.05013581169070228,-0.009634169816287258,8.036789051724245,0.0,0.0,-0.04182142622668222
3532 +4.574710978503383,4.406887645538285,0.16782333296509755,0.0,-3.109472408883028,-0.05106960057518338,0.017324634400523453,7.581489882465027,0.0,0.0,-0.03138486186905241
3533 +5.556828061699537,3.5346803043767046,2.022147757322833,0.0,-5.372821970432229,-0.020298439635377592,0.038910719344411995,9.0784399922403,0.0,0.0,-0.18954999714039905
3534 +,5.150112850032732,,0.0,-1.9961516633576837,-0.06884863402835559,0.017324634400523453,7.396452740500625,0.0,0.0,-0.1986642274823791
3535 +8.118802996980035,7.6856239538408495,0.43317904313918554,0.0,-0.39264992434846757,0.10536233695728872,0.0024904528831925232,8.007666016997813,0.0,0.0,-0.03724492864897541
3536 +5.54907608489522,5.250386854549399,0.29868923034582107,0.0,-2.5149225631723464,-0.06849492826028361,0.017324634400523453,7.903251101442422,0.0,0.0,-0.0867713898609152
3537 +5.796057750765372,5.258137337903572,0.5379204128617996,0.0,-1.4977845278645177,-0.029271926624631007,0.019815087283715976,7.181967121112376,0.0,0.0,-0.4165884160033697
3538 +5.028802598051705,5.530373333056306,-0.5015707350046013,0.0,-1.3895307393676708,0.04340578375564886,0.029449257100003234,6.876810206921496,0.0,0.0,-0.029761175353170827
3539 +,4.604049193872454,,0.0,-2.052026962541796,-0.22407808630046383,0.017324634400523453,7.109633931586345,0.0,0.0,-0.24680432327215449
3540 +7.428927194802272,6.589953393904076,0.838973800898196,0.0,-1.549458438333752,-0.14727561770388845,0.04140117222760452,8.134852470349093,0.0,0.0,0.11043380736501926
3541 +,-2.2499297543956303,,0.0,-1.4241590453930346,0.0003687777224348557,0.029449257100003234,-0.7429284764308203,0.0,0.0,-0.11266026739421364
3542 +,-2.4970053829826933,,0.0,-1.9101064026200012,-0.062022767861761585,0.0,-0.4373992453437977,0.0,0.0,-0.08747696715713439
3543 +,-2.4087477214200534,,0.0,-2.48348378500881,0.03700131076185857,0.0,-0.11844667902005027,0.0,0.0,0.15618143184694924
3544 +,-4.540208943543075,,0.0,-4.576859215806944,-0.09737834494025938,0.0024904528831925232,0.0,0.0,0.0,0.13153816432093482
3545 +,-3.831151341376187,,0.0,-2.9483079463098028,-0.06929785046532805,0.026786096644932214,-0.7439171415908642,0.0,0.0,-0.09641449965512434
3546 +,5.797025397017037,,0.0,-1.7414948799632706,-0.14529573356695494,0.03193970998319576,7.835201635661309,0.0,0.0,-0.18332533509724308
3547 +5.293304824724492,4.630276867028835,0.6630279576956575,0.0,-2.750793886038294,-0.03495171074401389,0.017324634400523453,7.559389351722653,0.0,0.0,-0.16069152231203326
3548 +7.890582534656536,4.675501864001647,3.2150806706548893,0.0,-4.9257933201446775,0.011654964957265153,0.04140117222760452,9.0784399922403,0.0,0.0,0.4697990547211563
3549 +4.68213122712422,4.822039901132395,-0.13990867400817475,0.0,-1.4851415183851726,-0.1268151213470041,0.026786096644932214,6.656792038441052,0.0,0.0,-0.24958159422141216
3550 +5.69035945432406,6.642110552216456,-0.9517510978923962,0.0,-1.0439885349920974,-0.05816478689400993,-0.012124622699479781,8.063013613403083,0.0,0.0,-0.30662511660104125
3551 +4.997212273764115,4.833054506045802,0.16415776771831236,0.0,-3.02734896614293,-0.10522423392602268,0.0,8.225094818839448,0.0,0.0,-0.2594671127246922
3552 +3.8066624897703196,4.92742299452518,-1.1207605047548608,0.0,-1.9826280605544229,-0.09126571363919725,0.026786096644932214,7.0114079625170325,0.0,0.0,-0.03687729044316268
3553 +5.616771097666572,4.278899956648293,1.3378711410182786,0.0,-4.984343912192445,0.007768898498851366,0.03193970998319576,9.238202504200961,0.0,0.0,-0.01466724384226921
3554 +4.9344739331306915,5.298587138898419,-0.3641132057677279,0.0,-2.1343074988576705,0.06750054495159448,-0.012124622699479781,7.404300635889312,0.0,0.0,-0.026781920385338876
3555 +,5.279931611717805,,0.0,-1.9131687123058265,-0.2056741237372538,0.017324634400523453,7.387993623259592,0.0,0.0,-0.006543809899230667
3556 +7.835974581721566,4.0689847706870355,3.766989811034531,0.0,-5.464034510664048,0.046720037964756655,0.0024904528831925232,9.238202504200961,0.0,0.0,0.24560628630217357
3557 +7.412160334945205,5.753559783407302,1.6586005515379032,0.0,-2.9024322392132786,0.04132564929610779,0.0,8.353517121437893,0.0,0.0,0.26114925188657967
3558 +5.030437921392435,6.044210770275345,-1.01377284888291,0.0,-1.5894470050515075,-0.001042415359414968,0.0,7.691244976284922,0.0,0.0,-0.056544785598654584
3559 +,5.29210715106927,,0.0,-1.640010343489176,-0.056266024481914645,0.038910719344411995,6.77938358836644,0.0,0.0,0.1700892113295086
3560 +,5.461430761812604,,0.0,-1.782232363848224,-0.09433605891580726,0.0,7.327828908020605,0.0,0.0,0.010170276556030117
3561 +7.960672608388117,5.870233445802055,2.0904391625860628,0.0,-2.034683089672602,-0.02716902612846083,0.0,7.893284983158231,0.0,0.0,0.03880057844488757
3562 +,5.436203337501997,,0.0,-1.741526197933858,-0.12730037364372926,0.0,7.360242303179094,0.0,0.0,-0.055212394099507865
3563 +4.919980925828125,5.076000996040004,-0.1560200702118788,0.0,-1.9278140777312869,-0.09108049394648848,0.029449257100003234,7.273379533909842,0.0,0.0,-0.20793322329206557
3564 +6.226536669287466,5.5778765065227285,0.6486601627647373,0.0,-1.4515846017505272,-0.02104013335188179,0.017324634400523453,7.131061234612884,0.0,0.0,-0.09788462738826911
3565 +4.760548683167605,4.334793108615273,0.4257555745523325,0.0,-2.469318196409467,-0.07239597393122155,0.026786096644932214,7.03089094697568,0.0,0.0,-0.18116976466465118
3566 +8.291589115492568,6.78540030186786,1.5061888136247088,0.0,-1.4979712410440778,0.030057025550416186,0.0,8.371014507390216,0.0,0.0,-0.11769999002869419
3567 +5.065186608700759,5.610360481833011,-0.545173873132252,0.0,-1.4386412100820012,0.12972407088610385,0.029449257100003234,7.2288490270239585,0.0,0.0,-0.3390206630950543
3568 +7.985463934469469,5.304103659020453,2.6813602754490162,0.0,-2.0948535950778604,-0.01282082237399158,0.026786096644932214,7.6495071566358295,0.0,0.0,-0.26451517680845543
3569 +5.0945474289482116,5.7272329467922205,-0.632685517844009,0.0,-2.105404850202506,-0.08621955145334143,0.0,7.9382206979343595,0.0,0.0,-0.019363349486290843
3570 +,4.8272288848335885,,0.0,-2.3271281299103572,0.015691139634053143,0.017324634400523453,7.123954838094229,0.0,0.0,-0.0026135973848610524
3571 +,5.4347631558483025,,0.0,-2.9891294038517033,0.10965754045743548,0.038910719344411995,8.236032190030356,0.0,0.0,0.039292109867803376
3572 +4.770006428441026,5.2251653735224775,-0.45515894508145127,0.0,-2.0974984966760974,0.05612482924684807,0.038910719344411995,7.36117960577949,0.0,0.0,-0.13355128417217285
3573 +,4.803723942814425,,0.0,-2.1706412240890973,-0.07491382853899697,0.0,7.215340683864882,0.0,0.0,-0.16606168842236216
3574 +5.173887288169859,4.9507557054911295,0.22313158267872968,0.0,-2.5543483087351753,-0.003814289648605078,0.0,7.802698589867026,0.0,0.0,-0.2937802859921184
3575 +4.8004902285677025,5.206646325385053,-0.40615609681735076,0.0,-1.7832694453248576,-0.01033694288879346,-0.012124622699479781,7.307469623418202,0.0,0.0,-0.29509228712001784
3576 +5.57485001452115,5.86052449087676,-0.2856744763556103,0.0,-2.5561856627454738,0.014682510855397408,0.029449257100003234,8.600599483468022,0.0,0.0,-0.22802109780118895
3577 +5.634039321778546,5.268036856267539,0.36600246551100657,0.0,-1.3748649944872477,-0.12026113497812976,0.029276549528124737,6.89536507022802,0.0,0.0,-0.16147863402322835
3578 +6.085523945010654,4.09222656806492,1.9932973769457343,0.0,-4.979894157746548,0.053141930044784125,0.029449257100003234,9.238202504200961,0.0,0.0,-0.2486729655342806
3579 +5.168493378711836,6.052779575839015,-0.8842861971271789,0.0,-1.4283415268356743,-0.02880239560076049,0.0024904528831925232,7.622764411071923,0.0,0.0,-0.11533136567966404
3580 +7.7409947821183005,3.5148542296568044,4.226140552461496,0.0,-5.5921397642895965,-0.08367638407782936,0.0,9.238202504200961,0.0,0.0,-0.047532126176730985
3581 +4.986479204218496,4.844050847691139,0.14242835652735764,0.0,-1.9283785112513687,-0.24148123522822207,0.026786096644932214,7.085288202404263,0.0,0.0,-0.09816370487846707
3582 +4.706010500914163,5.111512118783991,-0.4055016178698283,0.0,-1.9267008025277095,0.07334652371647782,0.026786096644932214,7.1064398285228,0.0,0.0,-0.16835952757250783
3583 +3.8815637979434374,4.542103930882745,-0.6605401329393077,0.0,-2.5295447556130775,0.07202283649217125,0.0,7.143811180457096,0.0,0.0,-0.14418533045344498
3584 +4.485147143388361,5.436359449196116,-0.9512123058077551,0.0,-2.083777604583009,-0.06053047110896851,0.029449257100003234,7.79225555125614,0.0,0.0,-0.2410372834680499
3585 +5.096017567038417,5.863377831724332,-0.767360264685915,0.0,-2.4856943452028384,0.03039427000340226,0.038910719344411995,8.529170438465806,0.0,0.0,-0.24940325088645027
3586 +7.548461138002413,5.76069350757385,1.7877676304285623,0.0,-1.9518173742985079,-0.09991602462707494,0.0,8.053464189967483,0.0,0.0,-0.2410372834680499
3587 +9.791888171120865,4.173583120484207,5.618305050636658,0.0,-5.012449385973696,-0.11066681610169789,0.0,9.0784399922403,0.0,0.0,0.2182593303193032
3588 +5.213249554157973,5.286484602683307,-0.07323504852533436,0.0,-2.022547261992112,-0.09772852781852084,0.029449257100003234,7.209169888184066,0.0,0.0,0.1681412472098727
3589 +5.293455567131129,5.0191758933371,0.2742796737940294,0.0,-1.9560491618825546,0.07407701950740556,0.017324634400523453,7.130443318887856,0.0,0.0,-0.24661991757613094
3590 +,5.266658047962496,,0.0,-3.063644677294521,-0.06155488238296086,0.0,8.44767539708348,0.0,0.0,-0.0558177894435026
3591 +7.4246246027453,6.766861271944506,0.657763330800794,0.0,-1.2988089669378757,0.05425950891701396,0.0,8.009851451099134,0.0,0.0,0.0015592788662325552
3592 +5.374259370123194,5.132323718998985,0.24193565112420856,0.0,-1.7648774615586715,-0.004082604576471652,-0.012124622699479781,7.02905506357861,0.0,0.0,-0.11564665574500464
3593 +4.835964396232824,5.6477453141869525,-0.8117809179541284,0.0,-1.9965841258515278,0.048961304209620755,0.0,7.6202927481718135,0.0,0.0,-0.02492461234295517
3594 +5.8654193485906525,5.357202295102249,0.5082170534884032,0.0,-1.6665861820081895,-0.01619501187052718,0.0,7.3244016929012545,0.0,0.0,-0.28441820392028794
3595 +4.770006428441026,4.920353395423103,-0.1503469669820765,0.0,-2.669000605759636,0.13744901491878883,0.038910719344411995,7.43989857463189,0.0,0.0,-0.02690430771235393
3596 +7.9409255273510295,5.088889297865276,2.852036229485753,0.0,-4.238695849714304,0.004909333415441416,0.0024904528831925232,9.0784399922403,0.0,0.0,0.24174536904064678
3597 +,4.447316258523789,,0.0,-3.164168082793031,0.01774462102976928,-0.012124622699479781,7.627583154228088,0.0,0.0,-0.021718811241555384
3598 +6.770009303180156,6.397913164783301,0.37209613839685485,0.0,-1.769987866962195,-0.0621730018340716,0.0,8.471111317047619,0.0,0.0,-0.2410372834680499
3599 +6.413376986594747,7.068055501522087,-0.6546785149273404,0.0,-1.1826410340234386,-0.033695043360958896,0.0,8.368705490143888,0.0,0.0,-0.08431391123740245
3600 +6.59442713954677,6.118904733993618,0.4755224055531526,0.0,-1.2255886595707146,-0.06875173645665675,-0.012124622699479781,7.44258537165091,0.0,0.0,-0.017215618930441184
3601 +8.11728859496872,7.51999683420821,0.5972917607605099,0.0,-0.8770482038481573,0.13996719278592074,0.03193970998319576,7.949660307232322,0.0,0.0,0.2754778280549306
3602 +5.8524897948173935,6.211142005341058,-0.35865221052366447,0.0,-0.30318716448620275,-0.07523629076640431,0.04140117222760452,6.491316224089265,0.0,0.0,0.056848064276795646
3603 +,4.721904462369341,,0.0,-4.487010483130991,-0.0050205719419553485,0.0,9.238202504200961,0.0,0.0,-0.024266986758673764
3604 +5.758396914596079,5.696403609807001,0.06199330478907861,0.0,-1.8835330139575852,0.004741065938055872,0.017324634400523453,7.776687244171876,0.0,0.0,-0.2188163207458668
3605 +7.359467638255621,6.831370556821198,0.5280970814344235,0.0,-1.4675032748210812,0.047927752630053944,0.0,8.308669038405613,0.0,0.0,-0.05772295939338831
3606 +4.672454932793688,4.805714257404497,-0.13325932461080914,0.0,-2.6436397435699073,-0.11366193534637734,0.026786096644932214,7.622364150076973,0.0,0.0,-0.08613431040112363
3607 +4.835964396232824,6.100168103919132,-1.264203707686308,0.0,-1.8861062688117292,-0.010995470803314339,0.017324634400523453,8.031473113793162,0.0,0.0,-0.05152790465950894
3608 +,4.83206808486603,,0.0,-1.9854183069124263,-0.148079317146552,0.026786096644932214,7.324490300409611,0.0,0.0,-0.3857106881295349
3609 +4.637637376125593,9.017514458992974,-4.379877082867381,0.0,-2.091861831898224,0.10356437208382521,0.017324634400523453,7.280398674484331,0.0,0.0,3.7080886099225157
3610 +5.271203074056465,6.609700384562259,-1.3384973105057938,0.0,-1.6315981976408969,0.10320917309792133,0.0,8.034935304549162,0.0,0.0,0.1031541045560713
3611 +,5.320653219335638,,0.0,-1.8428809689232795,0.0607936521219523,0.017324634400523453,7.234927334384592,0.0,0.0,-0.14951143264815026
3612 +5.102059144015209,5.347943233123252,-0.24588408910804294,0.0,-2.3666416061996056,-0.17049529912501643,-0.012124622699479781,8.00227472530355,0.0,0.0,-0.10506996415619839
3613 +,4.984796701560548,,0.0,-1.783062731078978,-0.17397389127395987,0.029449257100003234,6.977628757987241,0.0,0.0,-0.06524469117375789
3614 +5.025589585878066,5.085644251187602,-0.060054665309535515,0.0,-2.468052943949602,-0.12322403942019733,0.038910719344411995,7.648147742040769,0.0,0.0,-0.010137226827779067
3615 +8.23869547996995,3.734635663999241,4.5040598159707095,0.0,-5.262935255900058,-0.0007148422816194155,0.0,9.238202504200961,0.0,0.0,-0.2399167420200425
3616 +5.681195975983405,4.5867014887941835,1.0944944871892215,0.0,-4.5077856874327535,-0.1623593186311678,0.0024904528831925232,9.0784399922403,0.0,0.0,0.1759160497346133
3617 +8.953577987638297,5.892584184207203,3.060993803431095,0.0,-2.241975936075276,0.0755253881091253,0.029449257100003234,8.036789051724245,0.0,0.0,-0.007203576650893981
3618 +4.7125885827553615,4.836886591233839,-0.12429800847847705,0.0,-2.4467450616521855,-0.01847684859835464,0.0,7.388814962410148,0.0,0.0,-0.08670646092576927
3619 +5.20120055576831,6.336474399905532,-1.135273844137222,0.0,-1.7100812243756964,0.11612308503136687,0.038910719344411995,8.00227472530355,0.0,0.0,-0.11075290539810015
3620 +5.630996704930548,4.475336677356217,1.1556600275743314,0.0,-2.783815712983606,0.005208377583548241,0.038910719344411995,7.442418045641421,0.0,0.0,-0.22738475222955745
3621 +,6.239815950022123,,0.0,-1.6095446262002708,-0.006600522164772138,0.029449257100003234,7.901768103702356,0.0,0.0,-0.07525626241519413
3622 +6.665530839855135,4.158492123415971,2.5070387164391645,0.0,-4.910643162443253,-0.10801016254575316,0.0024904528831925232,9.238202504200961,0.0,0.0,-0.063547508679177
3623 +,4.602007899303576,,0.0,-2.5664261356589657,-0.08264083919596604,0.017324634400523453,7.330382449938336,0.0,0.0,-0.09663221018035013
3624 +5.28978103552575,5.503471610628265,-0.21369057510251466,0.0,-1.8959610228148813,-0.07585721608322286,0.03193970998319576,7.483511313500239,0.0,0.0,-0.040161173957065505
3625 +5.353326249578836,6.029619092843205,-0.6762928432643696,0.0,-1.5786075684931822,-0.04021777691289129,0.029449257100003234,7.562580150109908,0.0,0.0,0.05641503103936742
3626 +,5.4283091732072055,,0.0,-2.1944591379691465,0.11405892020387223,0.026786096644932214,7.722960577795597,0.0,0.0,-0.2410372834680499
3627 +5.1084876942637605,4.960811832494215,0.14767586176954506,0.0,-2.068887623339811,-0.0001749229761321483,0.026786096644932214,7.043261162743237,0.0,0.0,-0.040172880578008316
3628 +,5.860006844022432,,0.0,-1.6652729844941057,-0.11767458227464064,0.017324634400523453,7.635778421650977,0.0,0.0,-0.010148645260321993
3629 +9.510148624225804,5.373402070897676,4.136746553328129,0.0,-2.6195955746422275,0.06155376563542475,0.0,7.973424270256237,0.0,0.0,-0.041980390351757636
3630 +7.277427392591487,6.566105883747729,0.7113215088437581,0.0,-1.894258081321036,0.007713928509901397,0.038910719344411995,8.118404016775642,0.0,0.0,0.2953353004388086
3631 +5.249704686627344,5.0525716137378165,0.1971330728895273,0.0,-2.3705901888978813,-0.12214339982563643,0.019815087283715976,7.757739379936711,0.0,0.0,-0.232249264759094
3632 +5.097118753984393,5.9510583791787415,-0.8539396251943483,0.0,-2.0003351185275067,-0.08352730119633643,-0.012124622699479781,7.73973003778526,0.0,0.0,0.30731538381680557
3633 +6.985095877706799,6.702552608578852,0.282543269127947,0.0,-1.8589919096057832,-0.045154671456453466,0.0024904528831925232,8.529170438465806,0.0,0.0,0.07503829829209038
3634 +7.427709113574999,5.004385212656,2.4233239009189997,0.0,-2.1127779362746733,-0.01933313206446844,0.0,7.380367220641022,0.0,0.0,-0.24387093964588058
3635 +5.545294625113644,5.8665680313843485,-0.3212734062707048,0.0,-1.9598990743606057,-0.15137120467988763,0.038910719344411995,7.840687249101994,0.0,0.0,0.09824034197843368
3636 +8.810757927026174,6.999467170598995,1.8112907564271792,0.0,-1.3659039439461784,-0.02108404995960885,0.038910719344411995,7.3815139182677125,0.0,0.0,0.9660305268926566
3637 +9.144627828610801,5.952006769016242,3.1926210595945594,0.0,-1.7218322078886272,0.00399980332881145,0.0,7.809263302781258,0.0,0.0,-0.13942412920520203
3638 +6.359573868672378,3.63688897921581,2.7226848894565676,0.0,-5.11175430067134,-0.0024966567030518033,0.0,9.0784399922403,0.0,0.0,-0.327300055650097
3639 +8.422662707570003,6.819501327712868,1.6031613798571351,0.0,0.3841972099889661,-0.027667352763200505,0.017324634400523453,6.258405334112202,0.0,0.0,0.18724150197437903
3640 +3.6524747722201365,5.053465417489079,-1.4009906452689425,0.0,-2.0032936110472876,-0.024018845302150583,0.0,8.177402478573306,0.0,0.0,-1.0966246047347865
3641 +4.609660091260944,4.902941745188457,-0.2932816539275134,0.0,-2.1509413655360747,-0.07564332852716733,0.026786096644932214,7.350113413960589,0.0,0.0,-0.24737307135382278
3642 +8.603820327928283,3.5413633949045926,5.0624569330236895,0.0,-5.445067672471973,-0.1848166358610458,0.0,9.238202504200961,0.0,0.0,-0.06695480096334719
3643 +,4.95233358799387,,0.0,-3.1438962304682505,-0.08539590777940759,0.0,8.236032190030356,0.0,0.0,-0.05440646378882742
3644 +,6.0328233189924925,,0.0,-1.7022258599478324,0.045223000471212985,0.0,8.007666016997813,0.0,0.0,-0.31783983852870057
3645 +4.757719584448376,5.613228304923884,-0.8555087204755081,0.0,-2.333759973826102,0.04925339196522558,0.026786096644932214,7.935461090972494,0.0,0.0,-0.06451230083266592
3646 +5.482387393876108,5.472487822965594,0.009899570910513411,0.0,-1.586342208411546,-0.07214832165594268,0.0024904528831925232,7.1742473127957345,0.0,0.0,-0.04575941264584377
3647 +,6.029053901392467,,0.0,-1.8605992011933248,-0.07727621071395695,-0.012124622699479781,8.063013613403083,0.0,0.0,-0.08395967740385704
3648 +8.688121760561286,5.545613207401872,3.1425085531594137,0.0,-2.028309492001788,-0.0003272214968654749,0.017324634400523453,7.62162265120694,0.0,0.0,-0.06469736470693666
3649 +,6.605147697575261,,0.0,-1.413592543006339,-0.01590840235305765,0.038910719344411995,7.59661745338099,0.0,0.0,0.39912047020925645
3650 +4.3031186995690085,6.059788072258783,-1.7566693726897746,0.0,-1.3356715205912169,-0.014453779051702906,0.038910719344411995,7.335997120913391,0.0,0.0,0.035005531643898996
3651 +,-5.402797020522091,,0.0,-5.129867045890174,-0.030829714907102502,0.0,0.0,0.0,0.0,-0.24210025972481325
3652 +5.950824827641287,5.74700515513738,0.20381967250390698,0.0,-2.0051932677311033,0.08050051267737954,0.029449257100003234,7.835943134531343,0.0,0.0,-0.19369448144024126
3653 +7.775641172439356,6.540688419136084,1.234952753303272,0.0,-1.2079878672559738,-0.11933852811008824,0.029276549528124737,7.883835338061308,0.0,0.0,-0.045097073087284695
3654 +,5.692912716622685,,0.0,-1.4350907004074882,0.0184682243061837,0.038910719344411995,6.9745868983323,0.0,0.0,0.0960375750472778
3655 +5.810631881365446,5.767992896713511,0.042638984651935274,0.0,-1.325005080561021,0.0902099647141706,0.017324634400523453,6.991624259338699,0.0,0.0,-0.0061608811788627215
3656 +4.961234943801129,6.652167492556499,-1.6909325487553701,0.0,-1.008850988330182,0.0004064615890764546,0.038910719344411995,7.876779373473571,0.0,0.0,-0.25507807352037837
3657 +7.7025561132685825,6.069053405677192,1.6335027075913908,0.0,-1.7740013109291892,-0.0010674390474174206,0.0,8.005135718527233,0.0,0.0,-0.16101356287343502
3658 +,4.8168712582246895,,0.0,-2.003767389343113,0.003814595475976859,0.026786096644932214,7.319182949041928,0.0,0.0,-0.5291449935950325
3659 +5.548141796443577,4.889578122904887,0.6585636735386897,0.0,-2.196337083823722,0.02068904473980243,0.017324634400523453,7.29070016342854,0.0,0.0,-0.24279863584025588
3660 +,5.862378851271252,,0.0,-0.9083954853950829,-0.09049085363062367,0.038910719344411995,6.642092918836295,0.0,0.0,0.18026155211625314
3661 +8.148318416967518,4.626285695505652,3.5220327214618656,0.0,-2.3537244613761903,-0.13372232335243114,0.017324634400523453,7.172398600501917,0.0,0.0,-0.07599075466816718
3662 +,6.764943805417314,,0.0,-1.1926583036378142,-0.014412199448847397,0.0,8.028899620826413,0.0,0.0,-0.056885312322439735
3663 +5.063290993322054,4.9009709009592966,0.16232009236275768,0.0,-2.012601486244331,-0.007045073451108129,0.026786096644932214,6.919235618193251,0.0,0.0,-0.02540425418344544
3664 +,5.564432982715558,,0.0,-2.0121088574255035,0.011116480790600354,0.0024904528831925232,7.631380790990429,0.0,0.0,-0.0684458845231595
3665 +7.227989242727641,6.644198518837068,0.5837907238905728,0.0,-2.1279228771355756,-0.07505264231741864,0.04140117222760452,8.308669038405613,0.0,0.0,0.49710382765684635
3666 +7.82773918269391,8.384589860197073,-0.5568506775031627,0.0,-1.6713001276236223,-0.0511764815572487,0.0,7.957691902163714,0.0,0.0,2.1493745672142306
3667 +,6.6197538531905336,,0.0,-1.3630580284466296,0.12060849429711237,0.026786096644932214,8.00227472530355,0.0,0.0,-0.16685743460843352
3668 +3.5010427166318716,4.7964329100776695,-1.2953901934457979,0.0,-2.2605922432626224,-0.054287085395450616,0.0,7.205048960084429,0.0,0.0,-0.09373672134868606
3669 +5.1084876942637605,5.4678314503173455,-0.35934375605358504,0.0,-1.762096797829778,-0.22011902166243974,-0.012124622699479781,7.949660307232322,0.0,0.0,-0.4874884147232792
3670 +4.241326752570746,6.069452591315456,-1.8281258387447101,0.0,-1.6543430674367343,0.038789567384132785,0.0,7.722332696233663,0.0,0.0,-0.03732660486560631
3671 +5.267445702880949,6.080055786995601,-0.8126100841146515,0.0,-2.0758159646607366,-0.079892405394606,0.0,8.442235448611198,0.0,0.0,-0.20647129156025473
3672 +,4.755832679368291,,0.0,-2.071783106266145,-0.018638559426953714,0.017324634400523453,6.8939777763510435,0.0,0.0,-0.06504806569017547
3673 +4.086648355587631,6.113185768103021,-2.02653741251539,0.0,-2.120108302072617,-0.010548651757950403,0.0,8.16677155072467,0.0,0.0,0.07707117120891785
3674 +5.85670382774231,6.5439279309648475,-0.6872241032225377,0.0,-1.1996130481710745,-0.19059938711611252,0.017324634400523453,7.37466117447433,0.0,0.0,0.5421545573771789
3675 +4.986479204218496,6.612030088893141,-1.6255508846746443,0.0,-2.0124179259522466,-0.0903927793001523,0.0,8.308669038405613,0.0,0.0,0.4061717557399296
3676 +9.060858443216532,5.86682729134141,3.194031151875121,0.0,-1.6058036384384673,0.10462480053359825,0.017324634400523453,7.502706344025414,0.0,0.0,-0.1520248491796582
3677 +5.831882477283517,5.9841128398948955,-0.15223036261137857,0.0,-1.673853657993746,0.10110082148282859,0.029449257100003234,7.722466245215575,0.0,0.0,-0.1950498259097639
3678 +7.956546872666291,6.488164475015575,1.468382397650716,0.0,-1.6236524931866834,0.05040974610086033,0.029449257100003234,8.134852470349093,0.0,0.0,-0.10289450534769604
3679 +5.8412519362316475,5.328612604768836,0.5126393314628119,0.0,-1.8869648596838635,-0.06752355352640368,0.026786096644932214,7.450709841679212,0.0,0.0,-0.19439492034504438
3680 +,4.711214696200079,,0.0,-3.5643749174204142,0.0004923772269238222,0.026786096644932214,8.236032190030356,0.0,0.0,0.01227894971828316
3681 +7.860956364876389,5.16113221022191,2.699824154654479,0.0,-4.439454534164181,-0.07336752877570434,0.0024904528831925232,9.238202504200961,0.0,0.0,0.43326131607764184
3682 +4.908676393786758,4.753902566719971,0.1547738270667871,0.0,-2.125264274754742,-0.04807274951621175,0.017324634400523453,7.137561279865782,0.0,0.0,-0.22764632327538045
3683 +4.331785418237135,5.378625054904846,-1.0468396366677117,0.0,-1.535025670309194,-0.07285484824301236,0.0,6.9555387286050205,0.0,0.0,0.030966844852032577
3684 +,5.044548099885692,,0.0,-2.0981084395705976,-0.1991170667637958,0.04140117222760452,7.552772993745722,0.0,0.0,-0.25240055975323955
3685 +,4.981486242853766,,0.0,-3.0138495434131576,-0.049823403147339934,0.029449257100003234,8.196597021812357,0.0,0.0,-0.18088708949809762
3686 +5.096017567038417,5.497322305104785,-0.4013047380663677,0.0,-2.082067974812518,-0.21973610100221783,0.038910719344411995,8.009851451099134,0.0,0.0,-0.24963578952402726
3687 +5.515402603278282,4.951158798360498,0.5642438049177843,0.0,-1.9600525005533997,-0.08442499529868264,0.026786096644932214,7.1538301212486095,0.0,0.0,-0.18497992368095945
3688 +4.830152046575941,5.861671701058498,-1.0315196544825564,0.0,-2.2891932889748032,0.04856238627949425,0.038910719344411995,8.140893512402114,0.0,0.0,-0.07750162799271858
3689 +4.858881738868719,4.5321505053000095,0.3267312335687098,0.0,-1.9377731795731856,0.05090069239713793,0.017324634400523453,6.921000499116018,0.0,0.0,-0.519302141040481
3690 +5.172073639973786,5.249369639864811,-0.07729599989102454,0.0,-1.9570975102944246,0.06694533892508234,0.029449257100003234,7.351109837602199,0.0,0.0,-0.2410372834680499
3691 +7.653347840023515,5.392536912961119,2.260810927062396,0.0,-1.703307377324701,-0.08873784670693524,0.038910719344411995,7.367925577355335,0.0,0.0,-0.22225415970699203
3692 +4.533351898197619,6.1649581163258995,-1.6316062181282804,0.0,-1.1178176539363749,0.021184885853476713,0.0024904528831925232,7.305708426229213,0.0,0.0,-0.046607994703609906
3693 +5.027820118850356,5.8502460014250905,-0.8224258825747341,0.0,-2.1129034588762465,-0.009241351640529912,0.029449257100003234,7.982938802202961,0.0,0.0,-0.03999724736109557
3694 +5.779600887933039,6.585567138191806,-0.8059662502587663,0.0,-1.4899775426438522,-0.1736662812869022,0.029449257100003234,8.222776125363746,0.0,0.0,-0.0030144203411868187
3695 +,5.3891947222958745,,0.0,-1.7600282230992983,-0.059405601752096665,0.029449257100003234,7.279039259889271,0.0,0.0,-0.09985996984200529
3696 +5.198220750009751,5.151084670825148,0.04713607918460294,0.0,-2.0348220738856897,0.03953412406495885,0.038910719344411995,7.262639164005028,0.0,0.0,-0.15517726270356189
3697 +5.952307831906788,5.807682465664597,0.1446253662421908,0.0,-1.6140031440098204,-0.1644009161066062,0.017324634400523453,7.677169287730725,0.0,0.0,-0.10840739635022616
3698 +5.581501839947369,3.6415798748696053,1.9399219650777635,0.0,-5.191668704066336,-0.12538289659050278,0.029449257100003234,9.0784399922403,0.0,0.0,-0.1492577738138586
3699 +4.827273196127054,5.63509689301377,-0.8078236968867163,0.0,-1.8527145054341299,0.023315044189545643,0.017324634400523453,7.458387449962343,0.0,0.0,-0.011215730104510546
3700 +4.060443010546419,5.504717119496038,-1.4442741089496192,0.0,-1.6417990846454247,-0.13322420509704627,0.0024904528831925232,7.469253538107086,0.0,0.0,-0.19200358175176946
3701 +4.583537885860977,5.355641360577681,-0.7721034747167037,0.0,-2.305096815059035,0.0009811305843219278,0.0,7.814318736529379,0.0,0.0,-0.15456169147698523
3702 +4.91800817832099,5.563655636134108,-0.6456474578131175,0.0,-1.6839798078639214,-0.03623646620100896,0.026786096644932214,7.331123948808369,0.0,0.0,-0.07403813525426287
3703 +,6.380536762055386,,0.0,-1.717292692464902,-0.05469558613319111,0.03193970998319576,8.097033607243754,0.0,0.0,0.023551723426528233
3704 +,5.667041764341545,,0.0,-1.484573257412328,-0.027945502783502756,0.0,7.370106488573729,0.0,0.0,-0.1905459640363543
3705 +4.846310814003956,3.504900832768235,1.3414099812357207,0.0,-5.42712794226786,-0.18002545914645293,0.0,9.238202504200961,0.0,0.0,-0.12614827001841294
3706 +4.485147143388361,5.5032000410742885,-1.0180528976859273,0.0,-2.315173584507675,0.015037816611106786,0.017324634400523453,7.9635490760557905,0.0,0.0,-0.17753790148545937
3707 +5.904107655889731,5.7952360963997505,0.10887155948998029,0.0,-1.6094430565846434,0.06972803811560421,0.017324634400523453,7.475768743400305,0.0,0.0,-0.15814226293203915
3708 +4.635311342900078,5.658623437543515,-1.0233120946434369,0.0,-1.5628174784618247,-0.08381888802577472,0.017324634400523453,7.3565204305159355,0.0,0.0,-0.06858526088534353
3709 +5.015954455573856,5.474908696448181,-0.45895424087432524,0.0,-1.9664023434100342,-0.0731971895973262,0.038910719344411995,7.584607537875602,0.0,0.0,-0.1090100277644711
3710 +4.771192969812543,5.850567770118396,-1.0793748003058523,0.0,-2.5376077750042523,0.021186577953222416,0.038910719344411995,8.576860933833213,0.0,0.0,-0.2487826860082
3711 +4.80172332502877,4.911417520846951,-0.10969419581818052,0.0,-2.1670758384978184,0.047709525528791125,0.038910719344411995,7.020082993857012,0.0,0.0,-0.028209879385447043
3712 +5.130312830348875,5.222960551298596,-0.09264772094972074,0.0,-2.079994424354047,-0.030939285961382717,0.017324634400523453,7.410306348562188,0.0,0.0,-0.09373672134868606
3713 +,6.041280253262479,,0.0,-1.8210701915059007,-0.020176206098185753,0.0,8.143118009012213,0.0,0.0,-0.26059135814564593
3714 +8.092982477168144,5.301204609689394,2.79177786747875,0.0,-1.8135847777371135,-0.12457563009341828,0.026786096644932214,7.229961275329008,0.0,0.0,-0.017382354454013753
3715 +4.285102653392156,4.733429075921174,-0.44832642252901866,0.0,-2.202483260564205,0.03718508883582293,0.017324634400523453,7.144325204806527,0.0,0.0,-0.262922591557494
3716 +4.225226615110005,5.552907905861922,-1.3276812907519169,0.0,-1.8790123432324357,-0.039525254242005876,0.0,7.821739237915807,0.0,0.0,-0.3502937345794441
3717 +,5.629532350470439,,0.0,-1.5531765648135467,-0.13718081508662708,0.026786096644932214,6.755197746577155,0.0,0.0,0.5379058871485269
3718 +8.01102337918644,6.18675392324887,1.8242694559375705,0.0,-1.9373454754886081,0.06968050797765794,0.0,7.893902898883258,0.0,0.0,0.1605159918765627
3719 +5.3846326679999565,5.5942439471981125,-0.20961127919815592,0.0,-2.2536602415531073,-0.032989878439917575,0.026786096644932214,7.965649989520884,0.0,0.0,-0.11154201897467764
3720 +,6.606465658187163,,0.0,-1.2651444910495062,-0.04905532229211912,0.0,7.79225555125614,0.0,0.0,0.1284099202726449
3721 +5.461201229449516,6.496065958458354,-1.034864729008838,0.0,-2.3225849175797055,-0.09175215365408032,0.0,8.368542844490106,0.0,0.0,0.5418601852020339
3722 +4.150724895658208,5.87846327139115,-1.727738375732942,0.0,-1.924559318909984,0.022517846079051437,0.038910719344411995,8.065742118822579,0.0,0.0,-0.32414809394490773
3723 +8.868479442393445,-5.19051200994682,14.058991452340265,0.0,-4.975221353729339,-0.14201877973003177,0.0,0.0,0.0,0.0,-0.07327187648744922
3724 +,5.9946282255910415,,0.0,-1.666714905187745,0.03297267362635341,0.0024904528831925232,7.611922709515728,0.0,0.0,0.01395729475351179
3725 +5.260667419096131,3.704746691826392,1.555920727269739,0.0,-5.558698551882729,0.043236641184544816,0.0,9.238202504200961,0.0,0.0,-0.017993901676382977
3726 +5.504518197131935,5.850283377407095,-0.34576518027516023,0.0,-2.108969319991437,-0.13299409322224265,0.029449257100003234,7.330135283648325,0.0,0.0,0.7326622498724473
3727 +5.301462415692109,5.983946687868978,-0.6824842721768691,0.0,-1.0601714638624236,-0.0980623660902066,0.038910719344411995,7.647776992605753,0.0,0.0,-0.5445071941285559
3728 +,5.715924524620905,,0.0,-1.5504894588781548,0.02513770251659631,0.0,7.369621012654674,0.0,0.0,-0.12834473167221194
3729 +,4.357516633219495,,0.0,-2.727705375346609,0.025736142770330202,0.026786096644932214,7.247331967028706,0.0,0.0,-0.2146321978778628
3730 +8.418806082717603,5.845121645422374,2.5736844372952294,0.0,-1.6076809124661837,-0.03734447942904518,-0.012124622699479781,7.552525827455711,0.0,0.0,-0.0502541674386284
3731 +4.517540436027117,6.234014425737157,-1.7164739897100398,0.0,-1.4590631337178506,0.08933711081577447,0.04140117222760452,7.041181130955892,0.0,0.0,0.5211581454557372
3732 +8.75175767488757,7.125388267051061,1.626369407836508,0.0,-1.8708257005982825,-0.07637742154045794,0.0,8.339474007780295,0.0,0.0,0.7331173814095061
3733 +4.57944203741536,5.851971795135917,-1.272529757720557,0.0,-1.8467673033084901,-0.10277011628341048,0.0024904528831925232,7.8579550923834125,0.0,0.0,-0.058936330538787995
3734 +,5.206515721324961,,0.0,-2.0440546885195934,-0.11763671980652102,0.038910719344411995,7.518720244951549,0.0,0.0,-0.18942383464488527
3735 +3.5010427166318716,5.010266135621813,-1.5092234189899414,0.0,-2.795332980281482,0.04004354175884127,0.0,7.449093294957235,0.0,0.0,0.3164622791872173
3736 +4.525477417078843,5.154896952086326,-0.6294195350074832,0.0,-2.0709320023970053,0.009105054311396403,0.026786096644932214,7.318194283881884,0.0,0.0,-0.12825648035488169
3737 +5.616880182625682,5.282516205128013,0.3343639774976692,0.0,-2.2487187410323823,-0.007730773026258887,0.017324634400523453,7.776069328446848,0.0,0.0,-0.2544282436607193
3738 +7.841846635481799,3.83756407462441,4.004282560857389,0.0,-5.018432696799431,-0.13366124069264929,0.04140117222760452,9.238202504200961,0.0,0.0,-0.2899456643120742
3739 +5.305590850514535,4.785356599843136,0.5202342506713986,0.0,-2.2172942070064776,-0.14945223471730215,0.017324634400523453,7.177841189837801,0.0,0.0,-0.04306278267140623
3740 +4.84016325365945,5.021504466866694,-0.1813412132072436,0.0,-2.0535322231533533,0.014476891466167555,0.026786096644932214,7.335873537768386,0.0,0.0,-0.3020998358594379
3741 +6.890731187976342,7.109508572943106,-0.21877738496676447,0.0,-1.5007082261595368,0.019389738720120286,0.0,8.368542844490106,0.0,0.0,0.22228421589241693
3742 +7.777373602657861,5.776188586283558,2.0011850163743032,0.0,-2.2553063751910543,-0.14286321454349488,0.0,8.226207067144497,0.0,0.0,-0.05184889112638918
3743 +,5.0197158224825404,,0.0,-1.904426127166789,-0.023521105902264465,0.017324634400523453,7.089670368533137,0.0,0.0,-0.15933194738206663
3744 +,5.30495832867679,,0.0,-1.684455815787615,0.016250114521200995,0.04140117222760452,7.088063787648066,0.0,0.0,-0.15630092993246705
3745 +7.377990131493712,7.272967628504487,0.10502250298922533,0.0,-0.46852763861836966,0.0669535465879803,0.04140117222760452,7.949660307232322,0.0,0.0,-0.3165197589250496
3746 +7.829733804645904,5.5544606034258726,2.275273201220031,0.0,-3.8172156662011107,0.18264947608196208,0.0024904528831925232,9.238202504200961,0.0,0.0,-0.051666163539132476
3747 +9.268688522243435,8.158818419499283,1.1098701027441518,0.0,-1.5254440610641344,0.07441903113440712,0.0024904528831925232,8.095589672012466,0.0,0.0,1.5117633245333533
3748 +5.151324342807377,5.455634903324763,-0.30431056051738636,0.0,-1.7592141494533546,-0.10714635819725393,0.0,7.045812285992577,0.0,0.0,0.27618312498279596
3749 +,4.968896966034732,,0.0,-2.3585827975075206,-0.01859610203401179,0.017324634400523453,7.543006594258451,0.0,0.0,-0.214255363082711
3750 +5.23968139106308,5.151590700707494,0.08809069035558537,0.0,-2.283461598330665,-0.04927253875198099,0.017324634400523453,7.776069328446848,0.0,0.0,-0.3090691250572314
3751 +,-1.0978973844715447,,0.0,-1.2911280285158782,0.17520465070614583,0.0024904528831925232,-0.11510993410490197,0.0,0.0,0.13064547455989825
3752 +,-6.118435224218869,,0.0,-5.973462638018729,0.09760257803653687,0.0,0.0,0.0,0.0,-0.242575164236678
3753 +4.762173934797756,-6.621456884737457,11.383630819535213,0.0,-6.403392360669137,-0.05727341232275546,0.0,0.0,0.0,0.0,-0.16079111174556324
3754 +,-3.8405835490639353,,0.0,-3.938899541005869,-0.037730099366034775,0.04140117222760452,0.0,0.0,0.0,0.09464491908036418
3755 +5.332718793265369,-3.723586366645805,9.056305159911174,0.0,-3.842447190894452,0.03514826262175506,0.0,0.0,0.0,0.0,0.08371256162689225
3756 +4.61512051684126,-5.0039059826107515,9.619026499452012,0.0,-4.770689146541955,0.0029342093470900166,0.0024904528831925232,0.0,0.0,0.0,-0.2386414982990786
3757 +4.477336814478207,-6.1575704839206065,10.634907298398813,0.0,-5.865945577449404,-0.14160687165650918,0.0,0.0,0.0,0.0,-0.15001803481469222
3758 +3.912023005428146,-5.416048642311496,9.328071647739643,0.0,-5.3421285906539815,0.03039572071554479,0.0024904528831925232,0.0,0.0,0.0,-0.10680622525625136
3759 +,-5.928581930122594,,0.0,-5.564514879775986,-0.12131394864710128,0.0,0.0,0.0,0.0,-0.2427531016995049
3760 +4.48863636973214,-5.461022059660516,9.949658429392656,0.0,-5.297772906709234,-0.026367068588046993,0.04140117222760452,0.0,0.0,0.0,-0.17828325659083882
3761 +5.062595033026967,-5.958897418035872,11.021492451062839,0.0,-5.832650535983426,0.05718014523568485,0.0,0.0,0.0,0.0,-0.1834270272881309
3762 +,6.445919846232179,,0.0,-1.724877005932945,-0.1306353492737326,0.0,8.442235448611198,0.0,0.0,-0.14080324717234036
3763 +8.199420228522422,6.248858063564513,1.9505621649579092,0.0,-1.3573397077993556,-0.015110342480715959,0.029276549528124737,7.662839605421093,0.0,0.0,-0.07080804110463232
3764 +4.085303817569952,4.6418190922990705,-0.5565152747291187,0.0,-2.1400307778469108,-0.10986302418438068,0.026786096644932214,7.2031472578489035,0.0,0.0,-0.33822046016347324
3765 +6.3202285802858755,6.005955986477867,0.31427259380800887,0.0,-1.436523030716649,0.05036738069760983,0.017324634400523453,7.774833496996793,0.0,0.0,-0.40004649490040944
3766 +7.679644321482571,3.7375808707464797,3.942063450736091,0.0,-5.6836551632289085,-0.07374668793135475,0.0024904528831925232,9.238202504200961,0.0,0.0,0.25428976482258925
3767 +,5.849760883288325,,0.0,-1.4049385206216831,-0.02132315885457084,0.0,7.194160389655575,0.0,0.0,0.08186217310900207
3768 +,5.159321995369997,,0.0,-1.954825261234027,-0.0342050437834919,0.0,6.969020297299861,0.0,0.0,0.17933200308765485
3769 +5.423759882238551,6.0263823964321235,-0.6026225141935724,0.0,-1.665280177144644,0.006436723241557349,0.017324634400523453,7.634419007055918,0.0,0.0,0.033482208878770375
3770 +,5.689860139000253,,0.0,-3.044362577300171,0.1074907134524215,0.0,8.690214240003975,0.0,0.0,-0.06348223715597187
3771 +5.502278098445473,6.027592066066617,-0.5253139676211447,0.0,-1.7752944503932904,-0.026670975359272906,0.029449257100003234,7.858464854877058,0.0,0.0,-0.05835662015788211
3772 +8.067475210048357,5.068693689981498,2.998781520066859,0.0,-3.9950992463056902,0.0015839019998198159,0.0024904528831925232,9.0784399922403,0.0,0.0,-0.018721410836122526
3773 +7.072481271124351,6.283435052655436,0.7890462184689149,0.0,-2.275390884720597,-0.12771347248661466,0.0024904528831925232,8.60368906209316,0.0,0.0,0.08035989488629472
3774 +,4.939495632477425,,0.0,-1.9921184802046694,0.06973189114057574,0.0,7.0199803801126635,0.0,0.0,-0.15809815857114462
3775 +9.0765826680309,6.1099450027830065,2.9666376652478936,0.0,-1.717218614413019,0.08468985260419787,0.0,7.8964981449283735,0.0,0.0,-0.1540243803365448
3776 +,5.807231140032741,,0.0,-2.022473676476392,0.05384136858038081,0.029449257100003234,7.721971912635553,0.0,0.0,0.024442278193197966
3777 +8.599536021010795,6.949084512428382,1.650451508582413,0.0,-1.4686768429281631,0.1434825137118279,0.0024904528831925232,8.280781835129236,0.0,0.0,-0.008993446367711632
3778 +4.672454932793688,5.244648184501752,-0.5721932517080646,0.0,-2.0753098451403007,-0.20740053922351895,0.026786096644932214,7.285018113228477,0.0,0.0,0.21555435899216419
3779 +5.863972026592705,3.323526477415252,2.5404455491774534,0.0,-5.5663879887336325,0.061353682383736445,0.0,9.238202504200961,0.0,0.0,-0.4096417204358127
3780 +8.826217881241135,6.0882480244078945,2.7379698568332405,0.0,-1.7054823586828745,-0.09733628999626584,0.017324634400523453,7.903251101442422,0.0,0.0,-0.029509062755908616
3781 +5.080472253685035,6.542739588039597,-1.4622673343545616,0.0,-1.8712240403225522,0.030142978645295332,0.0,8.370604695446422,0.0,0.0,0.013215954270430014
3782 +,6.2774177141793635,,0.0,-1.7844093031178039,-0.0330824163256954,0.029276549528124737,8.045906867268299,0.0,0.0,0.019726016826439957
3783 +4.810475579172421,5.404257390459395,-0.5937818112869735,0.0,-2.3721064903416176,-0.08172166735293857,0.029449257100003234,7.937641844718109,0.0,0.0,-0.10900555366416136
3784 +4.793142414290861,5.599146201600726,-0.8060037873098649,0.0,-1.99612962455432,-0.08850069251806655,0.017324634400523453,7.290452997138529,0.0,0.0,0.37599888713406093
3785 +4.706010500914163,-5.297846483434825,10.003856984348989,0.0,-5.198246228954726,0.10405903242821585,0.0,0.0,0.0,0.0,-0.2036592869083152
3786 +5.308020142009422,5.540518745910855,-0.2324986039014334,0.0,-1.881515918075606,0.039191346331224335,0.017324634400523453,7.512819245374076,0.0,0.0,-0.14730056211936382
3787 +7.638631676352089,7.551855355520689,0.08677632083140008,0.0,-0.2943019260578401,-0.10144193845095717,0.0024904528831925232,8.208942978183227,0.0,0.0,-0.26383421103693117
3788 +,4.526328434158771,,0.0,-3.4030237303650592,-0.21149586016555005,0.017324634400523453,8.178267073302221,0.0,0.0,-0.05474368301336422
3789 +5.139145769652782,5.542770599340958,-0.4036248296881766,0.0,-2.00107185673074,-0.1479304797235565,-0.012124622699479781,7.837426132271409,0.0,0.0,-0.13352857377667376
3790 +7.070690121975901,6.293993887877199,0.7766962340987025,0.0,-1.7078362517129078,0.07966074077270728,0.026786096644932214,8.063013613403083,0.0,0.0,-0.1676303112306174
3791 +,5.130078052284684,,0.0,-2.8011326134935253,-0.031042960815102556,0.038910719344411995,8.043139009732492,0.0,0.0,-0.11979610248359304
3792 +8.45045064319442,5.506269916792784,2.944180726401636,0.0,-1.8373409465398192,0.005752888986027563,-0.012124622699479781,7.541647179663391,0.0,0.0,-0.1916645826173346
3793 +4.390118804571218,5.451715114920382,-1.061596310349164,0.0,-1.8100166266808007,-0.12137903176818882,0.019815087283715976,7.467479301668876,0.0,0.0,-0.10418361558321945
3794 +4.993963759808284,5.855878498773727,-0.8619147389654431,0.0,-2.199713009911423,-0.08456044493974034,0.029449257100003234,8.109478440835934,0.0,0.0,0.001224255688952184
3795 +7.881053746678211,8.183750161866767,-0.3026964151885556,0.0,-0.33671197266317865,0.021431216372574946,0.0024904528831925232,8.368705490143888,0.0,0.0,0.12783497513028944
3796 +9.734683027655088,5.7606678366706925,3.974015190984395,0.0,-1.597877630072266,-0.06142743998702794,0.0,7.035612857661055,0.0,0.0,0.3843600490689313
3797 +6.041301781955154,5.548900063987421,0.49240171796773247,0.0,-1.64171568041471,-0.05549424059344566,0.029449257100003234,7.206313961992546,0.0,0.0,0.010346765903029631
3798 +5.819014110109291,5.717367195638818,0.10164691447047236,0.0,-1.770267975119375,-0.12766130343060023,0.0,7.824041372257337,0.0,0.0,-0.20874489806854124
3799 +9.566469567021075,7.144112808169476,2.422356758851599,0.0,-1.0901550063689838,-0.017197345288225814,0.0,8.529170438465806,0.0,0.0,-0.27770527863911953
3800 +,6.312549580899781,,0.0,-1.5260010957696126,0.09323827435706131,0.04140117222760452,7.903251101442422,0.0,0.0,-0.1993398713576916
3801 +6.565011416766687,5.648576556293787,0.9164348604728998,0.0,-1.0187448563055677,-0.1010124344139398,0.0,6.979817767258838,0.0,0.0,-0.2114839202455447
3802 +5.155947025256309,5.087605758584318,0.06834126667199136,0.0,-2.305087696505395,-0.14723502253003054,0.017324634400523453,7.564310314139986,0.0,0.0,-0.041706470920765945
3803 +,5.173357587859603,,0.0,-1.6289606110400872,-0.07061963687999892,0.017324634400523453,7.001746713518485,0.0,0.0,-0.14613351213931994
3804 +7.696826087512236,6.8674018672489865,0.8294242202632498,0.0,-1.444165629739257,-0.01963076390625078,0.0,7.856842844078363,0.0,0.0,0.474355416816131
3805 +7.209673041460572,5.636721285334221,1.5729517561263515,0.0,-1.9407099239005108,-0.020749532737456642,0.0,7.575366540121979,0.0,0.0,0.022814201850209742
3806 +3.8353579204926604,6.109380210650276,-2.2740222901576153,0.0,-2.269049715486915,0.001314714468489242,0.0024904528831925232,7.870905848118483,0.0,0.0,0.503718910667027
3807 +5.28978103552575,5.584146441066625,-0.29436540554087465,0.0,-2.0282064645127376,-0.18920900370367588,0.017324634400523453,7.86173665221767,0.0,0.0,-0.07749937733515344
3808 +,-9.309625582778404,,0.0,-9.105164580639364,-0.04105580528874375,0.038910719344411995,0.0,0.0,0.0,-0.202315916194707
3809 +5.238408113794128,6.599383681928162,-1.3609755681340348,0.0,-1.171222636301109,-0.050560963443189236,0.0024904528831925232,8.1461031766186,0.0,0.0,-0.32742634782933283
3810 +5.372868097812333,5.976166745811122,-0.6032986479987894,0.0,-1.3002021688603138,-0.043251733401514725,0.038910719344411995,7.098657497886659,0.0,0.0,0.18205243084187914
3811 +,5.753066392559867,,0.0,-1.9383023795752061,-0.02752088457244355,-0.009634169816287258,7.859947852617124,0.0,0.0,-0.13142402609332016
3812 +5.681059587548933,6.0633240258950005,-0.38226443834606716,0.0,-1.5040402281823448,0.01333514659467084,0.0024904528831925232,7.675378829143153,0.0,0.0,-0.12384017454366959
3813 +4.144879235596148,4.738420750086102,-0.5935415144899538,0.0,-2.354167688578787,-0.2280517069815306,0.038910719344411995,7.432647713290482,0.0,0.0,-0.1509182869884736
3814 +,4.7338602120078415,,0.0,-2.3836429873580895,-0.003043025355819195,0.0,7.258298612919921,0.0,0.0,-0.13775238819816996
3815 +4.67702562308852,5.61449273408431,-0.9374671109957902,0.0,-1.896037934034248,-0.04700976108860098,0.026786096644932214,7.622364150076973,0.0,0.0,-0.091609817514746
3816 +,5.080397558527404,,0.0,-2.614983762240305,-0.041824272649955016,0.017324634400523453,7.859206353747091,0.0,0.0,-0.1393253947299483
3817 +5.508375678313591,5.5381357055322145,-0.029760027218623364,0.0,-1.9775599020900625,-0.07808867311828435,0.026786096644932214,7.5857197861806505,0.0,0.0,-0.01872160208502056
3818 +,6.258098164677333,,0.0,-1.489007670981226,-0.08471605737049469,0.017324634400523453,7.38997095357968,0.0,0.0,0.4245263050488512
3819 +4.525477417078843,4.713736888051487,-0.1882594709726444,0.0,-2.5538810596914727,0.1196527211387877,0.0,7.395314526303746,0.0,0.0,-0.247349299699575
3820 +5.671190410055542,6.003849614428438,-0.332659204372896,0.0,-1.300295016028529,0.03090075309826224,-0.009634169816287258,7.279039259889271,0.0,0.0,0.0038387872857217065
3821 +4.627225176768922,5.574242656733279,-0.9470174799643569,0.0,-1.991292232498787,0.010526023904205001,0.0,7.916585291126586,0.0,0.0,-0.36157642579872484
3822 +,4.705640407279342,,0.0,-3.182650129233898,0.01589982187700968,0.017324634400523453,7.50982731246363,0.0,0.0,0.34523876777207785
3823 +8.392069781006217,5.548741775944311,2.843328005061906,0.0,-2.424656448199861,0.03301431263199164,0.038910719344411995,7.901768103702356,0.0,0.0,-0.0002949115345867899
3824 +4.201253877869777,5.812940972483085,-1.6116870946133082,0.0,-1.8742900168036476,-0.06725684992078501,0.029449257100003234,7.876161457748545,0.0,0.0,-0.15112287564102925
3825 +5.474327380728188,6.167190929548784,-0.6928635488205961,0.0,-1.8538044421021311,0.05802069501802351,0.029449257100003234,8.140893512402114,0.0,0.0,-0.20736809286922678
3826 +,-4.636689315996149,,0.0,-4.299128480839184,-0.24498474436232626,0.038910719344411995,0.0,0.0,0.0,-0.13148681013904845
3827 +,5.059483147266653,,0.0,-2.2127275627897447,0.05141053555750336,0.019815087283715976,7.307098873983185,0.0,0.0,-0.10611378676800698
3828 +4.886809034892587,5.188690911354302,-0.3018818764617146,0.0,-2.337867685112216,-0.037788438538001526,0.019815087283715976,7.7952937673216285,0.0,0.0,-0.25076181960082666
3829 +5.027820118850356,4.82068738687773,0.20713273197262616,0.0,-2.5216380718462963,-0.029756697186515142,0.038910719344411995,7.47683504629178,0.0,0.0,-0.14366360972565023
3830 +8.304148474779442,7.198022279790266,1.1061261949891756,0.0,-1.069558112022702,0.00699567449627516,0.03193970998319576,8.00227472530355,0.0,0.0,0.22637028202994716
3831 +4.244056835450428,6.036210139395162,-1.7921533039447342,0.0,-1.6443013053499351,-0.12246217515411673,0.0,7.72270344566868,0.0,0.0,0.08027017423053306
3832 +5.2823912159977775,6.10529859788619,-0.8229073818884123,0.0,-1.6422175197283417,-0.01743920096348099,0.029276549528124737,7.635778421650977,0.0,0.0,0.09990034739891249
3833 +7.395107546562485,7.0401223394198,0.35498520714268533,0.0,-1.1318460814929336,0.04886725666924492,-0.009634169816287258,8.063013613403083,0.0,0.0,0.06972172065669166
3834 +6.690432255482858,5.666414841180908,1.0240174143019507,0.0,-1.8639134526789993,0.1135907321369521,0.0,7.748239871342465,0.0,0.0,-0.33150230961950905
3835 +,6.2239714085568005,,0.0,-1.4783450585834528,-0.08457103876342038,0.0,8.009851451099134,0.0,0.0,-0.2229639451954598
3836 +5.3414247475819705,5.682527629996038,-0.3411028824140674,0.0,-1.644219868392149,0.12328622477880205,-0.012124622699479781,7.349495498235561,0.0,0.0,-0.13390960192669438
3837 +5.581501839947369,5.329207048688956,0.2522947912584126,0.0,-1.8504797680678111,0.031076937236633247,0.03193970998319576,7.0116551288070434,0.0,0.0,0.10501504072989437
3838 +4.77912349311153,5.593970203112038,-0.8148467100005083,0.0,-2.371948523804906,0.02017447290093166,0.026786096644932214,7.96466132436084,0.0,0.0,-0.045703166989758605
3839 +7.689828668736484,6.030224985226844,1.6596036835096406,0.0,-1.6777353695524786,-0.09529181943152276,0.0,8.047697468482498,0.0,0.0,-0.24444529427165645
3840 +8.646641258603124,5.705332141294239,2.941309117308885,0.0,-1.6220932241050487,0.02677413898680339,0.038910719344411995,7.311105540395539,0.0,0.0,-0.04936503332746861
3841 +4.31748811353631,4.8752421727827215,-0.5577540592464114,0.0,-2.665104728726557,-0.08307038858667352,-0.009634169816287258,7.756627131631662,0.0,0.0,-0.12357567171942348
3842 +5.641907070938114,6.98714316108204,-1.345236090143926,0.0,-1.067398158567257,0.11671688978856067,0.029276549528124737,7.740842286090309,0.0,0.0,0.16770559424230078
3843 +4.394449154672439,4.491503866547604,-0.09705471187516501,0.0,-2.7404593108021764,0.08723159743073836,0.0,7.15508091312441,0.0,0.0,-0.010349333205366375
3844 +,5.754483235154079,,0.0,-1.159902036170699,-0.10676848012856131,0.0,7.29765857256366,0.0,0.0,-0.2765048211103213
3845 +8.240759616735204,5.953015861142134,2.2877437555930697,0.0,-2.2323425371608545,-0.08925464817262425,0.038910719344411995,8.442235448611198,0.0,0.0,-0.2065331214799967
3846 +,4.590661333301751,,0.0,-2.6882858713808346,-0.1353342689388616,0.0,7.519803106977196,0.0,0.0,-0.10552163335575032
3847 +5.623873091427899,5.201252294606544,0.4226207968213549,0.0,-1.8657122670987514,-0.127225839670026,0.017324634400523453,7.249309297348794,0.0,0.0,-0.07244353037399431
3848 +4.501474949649326,5.818440493079846,-1.3169655434305199,0.0,-2.1056306733797143,-0.013826279719860196,0.029449257100003234,7.876779373473571,0.0,0.0,0.03166881560584403
3849 +,5.512520666907177,,0.0,-2.0219470771854597,0.164154621854596,0.017324634400523453,7.553143743180739,0.0,0.0,-0.2001552553432202
3850 +,5.39018866740912,,0.0,-1.7274617122969635,-0.07635539707612674,-0.012124622699479781,7.411665763157249,0.0,0.0,-0.20553536367555875
3851 +5.331655426158547,4.002738399625041,1.3289170265335057,0.0,-4.864929162599286,-0.12592423041792464,0.0,9.0784399922403,0.0,0.0,-0.08484819959804797
3852 +4.81834420626481,5.7930196129090685,-0.9746754066442582,0.0,-1.7842949764797469,-0.14403887477507474,0.0,7.936282430123049,0.0,0.0,-0.21492896595915986
3853 +4.443121734033692,5.099287192307877,-0.6561654582741845,0.0,-1.9711026356243666,-0.09255420650954396,0.019815087283715976,7.033983055851763,0.0,0.0,0.1091458913063085
3854 +5.058663263106837,5.287224674625342,-0.2285614115185055,0.0,-2.5957897283927176,0.03241655417873583,0.026786096644932214,8.031473113793162,0.0,0.0,-0.2076613615987705
3855 +4.991452474679482,6.399544778215204,-1.4080923035357218,0.0,-0.9212037923757457,0.0004084142388994516,0.029449257100003234,7.551166412860651,0.0,0.0,-0.26027551360860446
3856 +3.2801590532850993,6.470891585136888,-3.190732531851789,0.0,-1.7371795263964813,-0.12324227564762347,0.0,8.576860933833213,0.0,0.0,-0.24554754665221995
3857 +,5.6641102288138825,,0.0,-1.54909521727709,0.023079716246943046,0.0,7.296023131215442,0.0,0.0,-0.10589740137141126
3858 +5.308020142009422,5.435666037596603,-0.12764589558718065,0.0,-1.7059237038887423,0.006627637101462108,0.0,7.710317316651559,0.0,0.0,-0.5753552122676745
3859 +,4.160858367074526,,0.0,-2.757327797208741,-0.1809384992886263,0.026786096644932214,7.22007180627236,0.0,0.0,-0.14773323934539737
3860 +5.387975238478572,6.163319741044938,-0.7753445025663659,0.0,-1.7680737320248001,-0.005020891187545944,0.0,8.080525373737599,0.0,0.0,-0.14411100948031558
3861 +4.935264987071479,5.897964847890999,-0.9626998608195203,0.0,-1.759960967739679,0.11296212452991548,-0.012124622699479781,7.63491333963594,0.0,0.0,-0.07782502583569842
3862 +6.357027376516494,6.229335656105321,0.12769172041117294,0.0,-1.4605487397045813,-0.1364066225350788,-0.012124622699479781,8.00227472530355,0.0,0.0,-0.1638590842590896
3863 +,5.155805237178478,,0.0,-2.136105390076449,0.011023510118016173,0.038910719344411995,7.466982009895628,0.0,0.0,-0.22500561210312928
3864 +,5.5899051110299025,,0.0,-0.5584226568157309,-0.06776058216746485,-0.012124622699479781,6.466898784858431,0.0,0.0,-0.23868581214585394
3865 +,5.913661322206662,,0.0,-1.9043393922617051,0.09899275916374059,0.029449257100003234,7.901768103702356,0.0,0.0,-0.21220940549773187
3866 +5.2715626292392175,5.599181159807684,-0.3276185305684667,0.0,-1.9032851380666855,-0.21258224221674496,0.029449257100003234,7.983680301072994,0.0,0.0,-0.2980810180818815
3867 +4.720015577657132,4.309931517967661,0.4100840596894706,0.0,-2.2534111250712288,-0.12101829301719201,0.019815087283715976,6.898170105513895,0.0,0.0,-0.2336242567415301
3868 +4.986479204218496,5.956728358087829,-0.9702491538693323,0.0,-1.9851131141914244,-0.04768866786699232,0.017324634400523453,7.837426132271409,0.0,0.0,0.1347793734743151
3869 +8.566689772681016,5.134917229250242,3.4317725434307746,0.0,-2.2576412432649864,-0.1282466219283082,0.0,7.810981991614231,0.0,0.0,-0.2901768971706935
3870 +7.31235334465095,7.122505552401695,0.18984779224925497,0.0,-1.7977359051056032,0.007474235593164222,0.0,7.698702358525866,0.0,0.0,1.2140648633882682
3871 +,5.122346829686782,,0.0,-2.3892092031643104,-0.01589503422535322,-0.012124622699479781,7.457893117382321,0.0,0.0,0.08168257239360494
3872 +5.998713211943893,7.6499236404173345,-1.6512104284734415,0.0,-0.19604877987095026,-0.11553720975237217,-0.009634169816287258,8.00227472530355,0.0,0.0,-0.0311309254466067
3873 +4.362588940781406,4.728032128217189,-0.3654431874357824,0.0,-2.0976571218038638,-0.13290771831871243,0.026786096644932214,7.092102567989034,0.0,0.0,-0.16029169629420092
3874 +7.9295801114473825,6.421221747741253,1.5083583637061295,0.0,-1.3288142048526028,0.009103502261964047,0.04140117222760452,7.324119550974594,0.0,0.0,0.3754117271296932
3875 +2.9856819377004897,5.220127364506724,-2.2344454268062344,0.0,-2.3277764907864684,-0.012351272655383706,0.029276549528124737,7.707493695451982,0.0,0.0,-0.17651511703152922
3876 +,5.933143637874599,,0.0,-1.3710067804494166,-0.0348766320125777,0.029449257100003234,7.234556584949575,0.0,0.0,0.07502120828701539
3877 +5.117993812416755,5.847448668351377,-0.7294548559346214,0.0,-1.6532318691213437,0.011442794620231199,0.0,7.686958628718507,0.0,0.0,-0.19772088586601788
3878 +5.805134968916488,5.164834011593564,0.6403009573229239,0.0,-1.4944567787170255,-0.06867368521006587,0.026786096644932214,7.837426132271409,0.0,0.0,-1.1362477533956843
3879 +,5.695695455486912,,0.0,-1.7772568241733326,0.045755880687479905,0.029449257100003234,6.8929891111909996,0.0,0.0,0.5047580306817616
3880 +5.262690188904886,5.554912961256729,-0.2922227723518436,0.0,-2.060448575296107,0.04161183327969839,0.017324634400523453,7.433883544740537,0.0,0.0,0.12254152413207789
3881 +,5.818900874449371,,0.0,-1.2231190586269056,0.0778172394965758,0.038910719344411995,6.63178344803085,0.0,0.0,0.29350852620443896
3882 +,6.679864108506774,,0.0,-0.9239363477245828,0.0434538034407881,0.03193970998319576,7.635778421650977,0.0,0.0,-0.1073714788436042
3883 +7.8724551500639794,6.302396800776306,1.5700583492876738,0.0,-1.219094413187892,0.05937686196275598,-0.009634169816287258,7.634048257620901,0.0,0.0,-0.16229973580317258
3884 +7.663407664893479,7.408349758742126,0.25505790615135293,0.0,-0.6763261853575058,0.005334905528106462,0.0024904528831925232,8.368705490143888,0.0,0.0,-0.29185490445555395
3885 +5.966146739123692,5.623623692428786,0.3425230466949065,0.0,-2.144744909398762,-0.12804285718429687,0.029449257100003234,8.007132621909014,0.0,0.0,-0.1401704199971742
3886 +5.429345628954441,5.712074114207289,-0.2827284852528482,0.0,-1.830080681015036,-0.09759280044747584,0.038910719344411995,7.774833496996793,0.0,0.0,-0.1739966206714036
3887 +4.948759890378168,5.868056499848206,-0.9192966094700372,0.0,-2.27561210803799,-0.07164620366521088,0.0,8.370604695446422,0.0,0.0,-0.15528988389501386
3888 +8.745125259462244,3.5222288075885038,5.22289645187374,0.0,-5.4718421380074815,-0.025767787204410197,0.0,9.238202504200961,0.0,0.0,-0.218363771400565
3889 +,4.730610477182919,,0.0,-1.917338279974257,-0.18292138562462418,-0.012124622699479781,7.035612857661055,0.0,0.0,-0.19261809217977396
3890 +4.406719247264253,5.148163249168178,-0.7414440019039246,0.0,-1.886341435993514,-0.08394904375503134,0.029449257100003234,7.3244016929012545,0.0,0.0,-0.23539722108453595
3891 +7.160069207596127,5.872811291019197,1.2872579165769302,0.0,-2.2131496232612484,0.015569113709441411,0.0,8.143280167379872,0.0,0.0,-0.07288836680886797
3892 +7.040536390215956,5.217623135777763,1.822913254438193,0.0,-1.8585108945777629,-0.010381252222693253,0.0,7.126688163156228,0.0,0.0,-0.040172880578008316
3893 +3.871201010907891,4.626928252277865,-0.7557272413699736,0.0,-2.478137791409244,-0.06766841077395294,0.026786096644932214,7.397242468752484,0.0,0.0,-0.2512941109363546
3894 +6.90975328164481,6.480030585361548,0.4297226962832621,0.0,-1.438486678420099,0.03127271244871036,0.038910719344411995,7.882970256046271,0.0,0.0,-0.03463642405774492
3895 +,6.3228206125110376,,0.0,-2.0315610248656375,-0.12115775377873833,0.0,7.750093618517546,0.0,0.0,0.7254457726378685
3896 +4.574710978503383,4.790995297122764,-0.21628431861938147,0.0,-2.0965626529791423,0.019693715337558197,0.026786096644932214,6.87668662377649,0.0,0.0,-0.03560848565707516
3897 +4.77912349311153,4.085552596669053,0.6935708964424769,0.0,-2.3593223661566354,-0.22624874308147533,0.026786096644932214,6.854066677604827,0.0,0.0,-0.20972906834259586
3898 +4.77912349311153,5.668722813561487,-0.8895993204499577,0.0,-2.2239554714138334,-0.10266658503135409,0.0,8.051896184305066,0.0,0.0,-0.05655131429839334
3899 +5.697093486505405,5.539098828911968,0.157994657593437,0.0,-1.7687435751638425,-0.12712085644060792,0.017324634400523453,7.522795864915233,0.0,0.0,-0.10515723879933814
3900 +4.532599493153256,5.107561076601541,-0.5749615834482844,0.0,-2.081360817840735,-0.08532437604420146,0.029276549528124737,7.368543493080362,0.0,0.0,-0.1235737721220097
3901 +9.28868933838716,5.880174116522015,3.4085152218651444,0.0,-2.034193624666135,0.09543317653295268,0.0,7.9370239289930815,0.0,0.0,-0.11808936433788422
3902 +,-1.5302873203428131,,0.0,-1.6783468945040463,-0.08788883219442978,0.038910719344411995,-0.5984821093907428,0.0,0.0,0.7955197964019927
3903 +,-5.505970177471951,,0.0,-5.699415573525723,0.13456597484554209,0.0,0.0,0.0,0.0,0.05887942120823084
3904 +,-3.183219243268735,,0.0,-2.7811607650819,0.04377157654149297,0.0,-0.2763163812968526,0.0,0.0,-0.16951367343147555
3905 +,-4.511934905820101,,0.0,-4.135357536268872,-0.10041561090930867,0.0024904528831925232,0.0,0.0,0.0,-0.2786522115251133
3906 +,-3.0943995670925717,,0.0,-1.9135561876236684,-0.21925553328612574,-0.012124622699479781,-0.7423105607057928,0.0,0.0,-0.20715266277750538
3907 +,-6.538274863146411,,0.0,-6.3022280762787615,-0.017861521586774377,0.038910719344411995,0.0,0.0,0.0,-0.25709598462528677
3908 +,-6.171963365500545,,0.0,-6.0287508722821155,-0.09911858317971317,0.0,0.0,0.0,0.0,-0.04409391003871525
3909 +,-5.205852346784021,,0.0,-5.012651880959334,0.01233489785087119,0.0,0.0,0.0,0.0,-0.20553536367555875
3910 +,-5.8203868156677885,,0.0,-5.53828040016977,0.06270398984250088,0.0,0.0,0.0,0.0,-0.3448104053405202
3911 +,-4.938712936415111,,0.0,-4.9099138984531265,0.022691528127571588,0.029449257100003234,0.0,0.0,0.0,-0.08093982318956167
3912 +,-5.730123870644933,,0.0,-5.678824771211016,0.0022647413367588663,0.0,0.0,0.0,0.0,-0.05356384077067775
3913 +,-5.691946680265417,,0.0,-5.648745715780691,0.1643697366878033,0.0,0.0,0.0,0.0,-0.20757070117252993
3914 +,-3.702343711943936,,0.0,-4.091129815650053,0.03980971074660325,0.0024904528831925232,0.0,0.0,0.0,0.3464859400763214
3915 +,-5.581696559169064,,0.0,-5.987631005873365,-0.0039845009111780655,0.0,0.0,0.0,0.0,0.40991894761548
3916 +,-2.351028953128728,,0.0,-1.4423648434893703,-0.17782647631283466,0.017324634400523453,-0.7440407247358697,0.0,0.0,-0.00412154299117572
3917 +,-5.5293485698932345,,0.0,-5.549585706118837,-0.04276393438198925,0.029449257100003234,0.0,0.0,0.0,0.03355181350758804
3918 +4.700480365792417,-4.451241324074492,9.151721689866909,0.0,-4.210539400345919,-0.08831612049264044,0.04140117222760452,0.0,0.0,0.0,-0.19378697546353726
3919 +5.988961416889864,-2.345495793897015,8.334457210786878,0.0,-1.555511839383068,-0.0010251160371434129,-0.012124622699479781,-0.7423105607057928,0.0,0.0,-0.03452365507153316
3920 +,-2.6373682172335102,,0.0,-1.8696433392377978,0.043581510498682696,-0.012124622699479781,-0.4354219150237098,0.0,0.0,-0.3637598507712064
3921 +,-1.4949307978435162,,0.0,-0.4173508459669426,-0.0054974400472048365,-0.009634169816287258,-0.7423105607057928,0.0,0.0,-0.3201377813072875
3922 +,-3.0446407581190154,,0.0,-1.9699811543112515,-0.1103360242565834,0.026786096644932214,-0.7423105607057928,0.0,0.0,-0.24879911549031883
3923 +,-2.2152190915498164,,0.0,-2.1438520706054573,-0.010623939775626187,0.0,-0.43505116558869333,0.0,0.0,0.3743080844199605
3924 +,-2.4411638966055813,,0.0,-1.912403986778453,-0.0955435780571268,0.038910719344411995,-0.5984821093907428,0.0,0.0,0.12635505827632962
3925 +,-5.275493146679702,,0.0,-5.357862340987207,0.09036277564019002,0.0024904528831925232,0.0,0.0,0.0,-0.010484034215877153
3926 +7.8838232148921525,6.966543023933463,0.9172801909586896,0.0,-0.5051897786163897,0.001999498846041413,0.029276549528124737,7.331494698243385,0.0,0.0,0.10896205593230282
3927 +,6.0812381295547935,,0.0,-1.6952862459933238,0.006773012712159965,0.0,7.792749883836162,0.0,0.0,-0.022998521000201565
3928 +5.087596335232384,3.1855377289889395,1.9020586062434441,0.0,-5.717975281376514,-0.005870887330049441,0.029449257100003234,9.0784399922403,0.0,0.0,-0.1985053516447988
3929 +8.509161019718974,5.483927438250886,3.025233581468088,0.0,-1.1975617338824227,-0.044373509544378846,0.029449257100003234,6.817117572768906,0.0,0.0,-0.12070414819122155
3930 +4.30406509320417,5.2038814134689595,-0.8998163202647893,0.0,-1.9476088462894614,-0.015620572475269445,0.0,7.264696334605638,0.0,0.0,-0.09758550237194738
3931 +4.564348191467836,5.08955562032671,-0.5252074288588737,0.0,-1.9649462679534517,-0.09246495848995409,0.0,6.958012214122929,0.0,0.0,0.18895463264718632
3932 +3.970291913552122,5.281573109841554,-1.3112811962894324,0.0,-1.9533809684578651,-0.09581612023327521,0.029449257100003234,6.880458232167995,0.0,0.0,0.42086270926469604
3933 +4.795790545596741,5.238834372433718,-0.44304382683697696,0.0,-1.997318941936598,0.061487278366607695,0.017324634400523453,7.157341401603187,0.0,0.0,0.0
3934 +,6.068322907965885,,0.0,-1.9792433679031909,0.07192185176213703,0.029449257100003234,7.901768103702356,0.0,0.0,0.04442706330458093
3935 +5.545177444479562,5.1414544303200715,0.40372301415949075,0.0,-1.942091313004803,0.09421544304745691,0.017324634400523453,7.234927334384592,0.0,0.0,-0.2629216685076974
3936 +,5.213106624539358,,0.0,-2.242394869305758,-0.10149245523805894,0.029449257100003234,7.621281413331857,0.0,0.0,-0.09373672134868606
3937 +,5.399212350665495,,0.0,-1.1300979892107614,-0.03300736771520024,0.026786096644932214,6.697688571940777,0.0,0.0,-0.16215696099425198
3938 +5.4638318050256105,5.4996961706699725,-0.03586436564436202,0.0,-2.1110422386403043,0.11420707079204609,-0.012124622699479781,7.552525827455711,0.0,0.0,-0.04386986623800103
3939 +4.912654885736052,6.203215001610868,-1.2905601158748157,0.0,-1.9356054521759534,-0.06729507015568818,0.029449257100003234,8.222776125363746,0.0,0.0,-0.04610985852123821
3940 +5.676753802268282,5.963790575002407,-0.2870367727341252,0.0,-1.4028236445703568,-0.02858516972103033,0.029449257100003234,7.475027244530272,0.0,0.0,-0.10927711233648248
3941 +8.012680929706839,6.829070914867413,1.1836100148394264,0.0,-2.196936719430523,0.044797712655723555,0.0024904528831925232,8.762053096949984,0.0,0.0,0.21666637180903628
3942 +5.5909869805108565,6.320339473816708,-0.7293524933058517,0.0,-1.756627281752956,0.09374619758550806,0.0,8.007132621909014,0.0,0.0,-0.023912063924856262
3943 +,5.311665348802197,,0.0,-1.8613544955044024,0.008035819532317807,0.038910719344411995,7.017721166609875,0.0,0.0,0.1083521388199957
3944 +,5.256663610605171,,0.0,-0.9350199652369566,-0.19660585528714442,0.0,6.520676474554949,0.0,0.0,-0.13238704342567448
3945 +8.02059914989697,6.571481961476442,1.4491171884205283,0.0,-1.805557512179317,-0.171785715682928,0.0,8.095589672012466,0.0,0.0,0.45323551732622125
3946 +4.406719247264253,4.522350094228581,-0.11563084696432746,0.0,-2.2963983088305353,-0.04378130027035042,0.026786096644932214,7.017460762152111,0.0,0.0,-0.181717155467578
3947 +,5.522900483172759,,0.0,-0.8735605872324879,-0.1719448482736144,-0.012124622699479781,6.644191227964176,0.0,0.0,-0.06366068658583526
3948 +4.406719247264253,4.620359402546404,-0.21364015528215052,0.0,-2.159174992828441,0.08256837626563401,0.029449257100003234,6.964487721805405,0.0,0.0,-0.2969709597961965
3949 +4.418840607796598,4.494049047574976,-0.0752084397783781,0.0,-2.325062073560498,-0.1377667325142264,0.026786096644932214,7.037219438546126,0.0,0.0,-0.1071276815413555
3950 +9.018574356354229,6.279248893248467,2.7393254631057617,0.0,-1.1503579777635569,-0.010680027421375925,0.0,7.30348655344061,0.0,0.0,0.13680034499278884
3951 +7.224753405767971,7.163619240951428,0.06113416481654266,0.0,-0.812453242025704,-0.122315316914955,0.0,8.280781835129236,0.0,0.0,-0.1823940352371485
3952 +4.663439094112067,5.063643099000808,-0.4002040048887414,0.0,-2.217773890432839,-0.11791099975120209,0.038910719344411995,7.40380630330929,0.0,0.0,-0.04338903346885384
3953 +7.565793282428515,5.61779484954266,1.9479984328858544,0.0,-1.9871596845563184,0.048943868903030596,0.026786096644932214,7.740224370365282,0.0,0.0,-0.21099980181426747
3954 +5.298317366548036,4.815306979163406,0.4830103873846303,0.0,-1.9160581788146915,0.03520860704810388,0.017324634400523453,6.8220646905275055,0.0,0.0,-0.14323277399803386
3955 +,5.851427177956334,,0.0,-2.3535718972584725,-0.08714700709448747,0.0,8.291783025126765,0.0,0.0,0.0003630571825302929
3956 +4.1588830833596715,4.97896185342368,-0.8200787700640086,0.0,-2.415390703942964,-0.046532734455386304,0.038910719344411995,7.553143743180739,0.0,0.0,-0.15116917070311953
3957 +5.755742213586912,5.10088035803294,0.654861855553972,0.0,-1.7271822303194613,-0.005615183514197375,0.017324634400523453,6.969121125373752,0.0,0.0,-0.15276798790767598
3958 +,4.983155760602481,,0.0,-1.828901486498629,0.10105326829034121,0.038910719344411995,6.811307302257801,0.0,0.0,-0.13921404279144367
3959 +4.406719247264253,4.866049432498205,-0.4593301852339513,0.0,-2.1246844614876617,-0.12609052286623154,0.0,7.1822609102361525,0.0,0.0,-0.06543649338405422
3960 +6.784457062637643,6.266707867664184,0.517749194973459,0.0,-1.6728126893880138,-0.07717503277631604,0.029449257100003234,7.894520814608286,0.0,0.0,0.09272551812022597
3961 +4.976733742420574,5.639399986765475,-0.6626662443449005,0.0,-2.0656251152910485,-0.032270588026736435,0.026786096644932214,7.7952937673216285,0.0,0.0,-0.08478417388330127
3962 +5.389071729816501,5.396796425300313,-0.007724695483812383,0.0,-1.8528007033931502,0.018385874191344964,0.017324634400523453,6.974710481477305,0.0,0.0,0.23917613862428974
3963 +4.77912349311153,5.582226269936079,-0.8031027768245496,0.0,-2.0304415651593875,0.013967035124503896,0.0,7.6871322675686296,0.0,0.0,-0.08843146759766801
3964 +5.662960480135946,6.555088758398698,-0.892128278262752,0.0,-2.177904419486577,0.06920596951151767,0.0,7.902556496411806,0.0,0.0,0.761230711961951
3965 +4.3694478524670215,4.975399807413447,-0.6059519549464252,0.0,-1.7440463728248075,0.06807052991748475,0.017324634400523453,6.882156204587762,0.0,0.0,-0.24810518866751527
3966 +,5.998370570508015,,0.0,-1.224909244908658,-0.1182376878031137,0.03193970998319576,7.234556584949575,0.0,0.0,0.07502120828701539
3967 +,6.019010797361912,,0.0,-1.226933811538351,-0.13332917265796695,0.038910719344411995,7.31756686691114,0.0,0.0,0.022796195302676653
3968 +5.117993812416755,5.050943190600787,0.06705062181596855,0.0,-1.9597079338068388,-0.08364645847291596,-0.012124622699479781,7.210889827948838,0.0,0.0,-0.10446762236881509
3969 +4.820281565605037,6.03953952527239,-1.2192579596673525,0.0,-2.3247978969869214,-0.04540238844690764,0.038910719344411995,8.371014507390216,0.0,0.0,-0.00018541602840754963
3970 +5.60947179518496,4.734849586316952,0.8746222088680078,0.0,-1.9705307168658637,-0.13400554909185614,0.029276549528124737,6.881909038297751,0.0,0.0,-0.07179973555120248
3971 +8.923324744067562,-4.842162796164312,13.765487540231874,0.0,-4.704744462643101,-0.04654370104475702,0.0,0.0,0.0,0.0,-0.09087463247645569
3972 +5.003946305945459,5.579308113080097,-0.5753618071346382,0.0,-1.8308409646888526,-0.1574056691189746,0.0024904528831925232,7.622764411071923,0.0,0.0,-0.05770011706718915
3973 +4.382026634673881,4.906726718469304,-0.5247000837954232,0.0,-2.040458295833722,0.10849258689554254,0.026786096644932214,6.991253509903682,0.0,0.0,-0.17934717914113046
3974 +4.564348191467836,5.37126215732699,-0.8069139658591542,0.0,-1.7784256212398697,-0.015549098168152059,0.017324634400523453,7.290329413993524,0.0,0.0,-0.1424171716590348
3975 +5.351858133476067,5.8406614403290575,-0.4888033068529909,0.0,-1.5694228541936202,0.04393928067949876,0.0,7.413472061152067,0.0,0.0,-0.04732704730888955
3976 +,5.397202720589018,,0.0,-1.9211537099969833,0.004959088550248292,0.038910719344411995,7.202405758978871,0.0,0.0,0.07208086371246805
3977 +5.121341496078834,3.2269748872250763,1.8943666088537578,0.0,-5.495139996334746,-0.1876455942355109,0.029449257100003234,9.0784399922403,0.0,0.0,-0.19812877154496994
3978 +,5.368031927530163,,0.0,-1.9432086206337855,0.009368464016948547,0.038910719344411995,7.0104192973569885,0.0,0.0,0.25254206744560015
3979 +,7.19149556602121,,0.0,-0.8820612223091642,-0.018812174193478987,0.0,8.093859507982389,0.0,0.0,-0.0014905454585354139
3980 +8.049235467877423,5.045852950887272,3.0033825169901514,0.0,-2.4405833589705477,0.0752190825484545,0.026786096644932214,7.610719519929885,0.0,0.0,-0.2262883892654517
3981 +5.391989842410672,6.15921484877744,-0.7672250063667683,0.0,-0.8937418340840733,-0.09983204001975596,0.026786096644932214,7.273750283344858,0.0,0.0,-0.14774765710852045
3982 +4.7140245909001735,5.638254844428635,-0.9242302535284619,0.0,-1.9797134557907752,-0.09076315813002239,0.0,7.767057683407062,0.0,0.0,-0.05832622505762859
3983 +4.999439521335521,5.426562239264265,-0.4271227179287438,0.0,-2.0041069723048706,-0.014210560173176782,0.017324634400523453,7.531412244833739,0.0,0.0,-0.10385710749195133
3984 +4.894850261102546,6.294539218556523,-1.3996889574539777,0.0,-2.281087381566617,0.15213023493442918,0.0,8.442235448611198,0.0,0.0,-0.018739083422486515
3985 +4.999439521335521,5.367714533326825,-0.36827501199130364,0.0,-2.038703115177303,-0.11529955103703769,0.017324634400523453,7.6490128240558075,0.0,0.0,-0.1446202589151639
3986 +7.237641590214271,6.395954127370234,0.8416874628440372,0.0,-1.5493138449895438,0.05210740906781393,0.0,7.981872499311486,0.0,0.0,-0.08871193601952133
3987 +7.719471852605089,7.309151570589631,0.41032028201545856,0.0,-0.3452115589524576,-0.20985045827273185,0.029276549528124737,7.949660307232322,0.0,0.0,-0.11472326894562845
3988 +,5.39090101565555,,0.0,-1.7473336862808644,-0.010164372148704783,0.0,7.285981676857642,0.0,0.0,-0.13758260277252218
3989 +5.0384449947355225,6.022231750581725,-0.9837867558462028,0.0,-2.1413901841597127,0.0877694737007291,0.0,8.16677155072467,0.0,0.0,-0.09091908968396016
3990 +,4.791885373690407,,0.0,-1.6266432611983808,0.04358385354894369,0.017324634400523453,6.586339581749889,0.0,0.0,-0.22871943481056714
3991 +4.433313679041901,5.490562818400736,-1.0572491393588352,0.0,-2.1673143811638047,0.018394026659365417,0.0,7.9241381819147385,0.0,0.0,-0.28465500900956314
3992 +4.085303817569952,5.35268362763131,-1.2673798100613585,0.0,-2.5914182168139916,-0.04894854394331082,0.0,8.053873514625154,0.0,0.0,-0.06082312623654282
3993 +7.989624854039499,3.908147895837308,4.081476958202191,0.0,-5.253734893795872,0.16733626133643906,0.0,9.0784399922403,0.0,0.0,-0.08389346394355893
3994 +,4.560669176236548,,0.0,-2.2590009881467443,-0.05295988795414866,0.017324634400523453,6.989646929018611,0.0,0.0,-0.13434151108169465
3995 +5.172357239419832,5.34359143584206,-0.17123419642222792,0.0,-1.4556015573847931,-0.18331335733015447,0.04140117222760452,7.024396871565209,0.0,0.0,-0.08329169323580357
3996 +5.550708992221232,5.538835372687814,0.011873619533417923,0.0,-1.7998382075134458,0.042532215546232294,-0.012124622699479781,7.433389212160515,0.0,0.0,-0.12512322480600546
3997 +5.0422631517765675,5.119469735782281,-0.07720658400571345,0.0,-2.1626694539808042,-0.0885241351888715,0.038910719344411995,7.631998706715456,0.0,0.0,-0.3002461011079136
3998 +,5.971053360417204,,0.0,-1.714935789461994,0.1029939541021497,0.029449257100003234,7.647282660025731,0.0,0.0,-0.09373672134868606
3999 +5.474327380728188,5.532048322817123,-0.057720942088934635,0.0,-2.312248286338736,0.08718316157523273,-0.012124622699479781,7.965649989520884,0.0,0.0,-0.19641191924077722
4000 +,4.296804819231717,,0.0,-3.3119978998833783,-0.15174193923658885,0.026786096644932214,7.905151255170797,0.0,0.0,-0.1713926934640443
4001 +5.221274322049725,5.324582889965256,-0.10330856791553078,0.0,-2.0078316865953276,-0.10356977961660271,0.017324634400523453,7.450709841679212,0.0,0.0,-0.032050119902550786
4002 +5.2795422112217025,6.267819152609176,-0.9882769413874737,0.0,-1.5711241627209516,-0.07095298939075775,0.038910719344411995,7.4011507627066795,0.0,0.0,0.4698348226697955
4003 +10.035025334238334,4.592602497869301,5.442422836369033,0.0,-4.545523821786638,0.05391403018259713,0.0,9.238202504200961,0.0,0.0,-0.15399021472762012
4004 +4.945705585343674,5.858431975154432,-0.912726389810758,0.0,-2.2991075544028226,0.05893374085389098,0.038910719344411995,8.308669038405613,0.0,0.0,-0.24897396904666078
4005 +,5.3434115069150385,,0.0,-1.990667606095946,0.09119674078115056,0.017324634400523453,7.2189595579673105,0.0,0.0,0.006598179862001558
4006 +,4.848721899056094,,0.0,-2.055103870269332,-0.07313911405131462,0.017324634400523453,7.113105520884234,0.0,0.0,-0.15346527190801681
4007 +,3.4041038340595247,,0.0,-5.5844204561211015,-0.1635226294192278,0.029449257100003234,9.238202504200961,0.0,0.0,-0.11560484170110978
4008 +8.671578129517169,4.648694748176541,4.022883381340628,0.0,-4.1735745868033005,-0.11821557833677239,0.0,9.238202504200961,0.0,0.0,-0.2977175908843478
4009 +4.22829253473184,5.355200990225127,-1.1269084554932869,0.0,-1.2933139170066115,0.07138329885049913,0.026786096644932214,6.611962695300868,0.0,0.0,-0.061617183564560946
4010 +6.898986949290281,6.553156256267591,0.3458306930226902,0.0,-0.9910689705207396,0.10106901773870516,0.0,7.394573027433713,0.0,0.0,0.0485831816159111
4011 +7.189967418590887,6.1978766227395585,0.9920907958513281,0.0,-1.6949303381943484,0.05327747206737579,0.029449257100003234,8.222776125363746,0.0,0.0,-0.4126958935972163
4012 +4.721084810584447,5.267838567924167,-0.5467537573397196,0.0,-1.4047850356506046,-0.05476036847156488,0.0024904528831925232,6.975973611534387,0.0,0.0,-0.2510800923712433
4013 +3.205993199037187,5.688253671724069,-2.4822604726868818,0.0,-1.5629040697965166,0.04455256668600368,-0.012124622699479781,7.465501971348788,0.0,0.0,-0.24677217381472838
4014 +7.533158807455563,3.062259949484991,4.470898857970572,0.0,-6.1321873293886195,-0.031083145798549143,0.0,9.238202504200961,0.0,0.0,-0.012672079528800624
4015 +5.427062322438599,5.7517967332626165,-0.32473441082401777,0.0,-1.5314408902642116,-0.03995733960985521,0.029449257100003234,7.34924833194555,0.0,0.0,-0.05550262590886956
4016 +4.594311442653216,5.411442605067959,-0.8171311624147437,0.0,-2.341158613377499,-0.09387600232394504,0.038910719344411995,8.009851451099134,0.0,0.0,-0.20228494967414312
4017 +5.703382394634861,6.329605774645106,-0.626223380010245,0.0,-1.6384049123931623,0.052672508700197025,0.017324634400523453,7.882228757176238,0.0,0.0,0.015784786761312147
4018 +,5.48865502396367,,0.0,-2.9967706358845447,0.09884631340103231,0.038910719344411995,8.530614373697095,0.0,0.0,-0.1829457465943246
4019 +4.926021041706347,5.446150417836702,-0.5201293761303551,0.0,-1.5296189541654694,-0.000866908698830042,0.0,7.062263387056941,0.0,0.0,-0.08562710635593937
4020 +,5.52222001602436,,0.0,-2.4441851560579337,-0.027567702182880335,0.0,8.16821548595596,0.0,0.0,-0.17424261169078492
4021 +3.8815637979434374,5.457706482922465,-1.5761426849790272,0.0,-2.1438421483323236,-0.022285847337831094,0.017324634400523453,7.903251101442422,0.0,0.0,-0.29674125725032546
4022 +6.505096230204434,6.091385037277933,0.4137111929265016,0.0,-2.590793877778026,-0.00942765770989502,0.0,8.575130769803136,0.0,0.0,0.11647580296271964
4023 +5.1084876942637605,5.713555627461602,-0.6050679331978417,0.0,-1.5750876148552946,-0.03505513003603887,0.0,7.352119743627684,0.0,0.0,-0.028421371274750386
4024 +5.396985538344738,4.576784029776447,0.8202015085682905,0.0,-3.0132648631024646,-0.1395120667262418,0.017324634400523453,7.757739379936711,0.0,0.0,-0.045503054732082916
4025 +8.226616266251979,5.024729499133189,3.20188676711879,0.0,-3.7921280857233386,-0.11668481323640668,0.04140117222760452,9.0784399922403,0.0,0.0,-0.18629876637496903
4026 +5.303155643188286,5.2494701445145,0.05368549867378647,0.0,-2.110657647250034,-0.11385204369525555,0.026786096644932214,7.467726467958887,0.0,0.0,-0.020532729144029573
4027 +5.368402974114725,5.298676897947544,0.0697260761671803,0.0,-1.5617814359348694,-0.02171340829843598,0.017324634400523453,7.082415947224468,0.0,0.0,-0.2175688394441418
4028 +,5.560550111871999,,0.0,-1.4943503738633046,0.041713840117381315,0.0024904528831925232,7.166187406258302,0.0,0.0,-0.1554912135235714
4029 +5.384495062789089,5.465762749908701,-0.0812676871196123,0.0,-2.086954875058386,0.061823021702861525,0.017324634400523453,7.120512579378665,0.0,0.0,0.3530573894850376
4030 +,4.620122752511639,,0.0,-1.8180484497046807,-0.1391132510435419,0.026786096644932214,6.762791781803148,0.0,0.0,-0.2122934251882181
4031 +4.718498871295094,4.4075594608734745,0.31093941042161966,0.0,-2.3953349735867286,-0.007271215288154361,0.026786096644932214,6.8850687874997885,0.0,0.0,-0.10168923439636367
4032 +4.890349128221754,5.004574344729032,-0.11422521650727813,0.0,-2.0263256846672375,-0.023996557046044652,-0.012124622699479781,7.262515580860023,0.0,0.0,-0.19549437171823036
4033 +4.756087071304952,5.026320699312295,-0.2702336280073432,0.0,-2.497941279880325,-0.20727133934352973,0.029449257100003234,7.916585291126586,0.0,0.0,-0.21450122969044103
4034 +5.67304831528634,5.537205875769895,0.1358424395164448,0.0,-1.480477070531621,-0.21233236872925043,0.017324634400523453,7.12718249573625,0.0,0.0,0.08550818489399345
4035 +4.742407204293176,6.170740563611879,-1.428333359318703,0.0,-1.9877833519531363,-0.11623222427079347,0.0,8.368705490143888,0.0,0.0,-0.09394935030807966
4036 +4.565805462465814,5.562346160140002,-0.9965406976741882,0.0,-1.9198899421610083,-0.09077124950047191,0.0,7.701535868389452,0.0,0.0,-0.12852851658796713
4037 +9.120592891630933,5.663504585481675,3.4570883061492577,0.0,-1.569135576550309,-0.20063314495132786,0.0,7.572998887305182,0.0,0.0,-0.1397255803218698
4038 +,6.5550590770494255,,0.0,-0.550640259095597,0.08212161269611723,0.0,6.9257475686665835,0.0,0.0,0.0978301547823189
4039 +8.031287796610469,4.950106486029944,3.081181310580525,0.0,-1.886691819414561,-0.10241457923729216,-0.012124622699479781,7.165592870463987,0.0,0.0,-0.214255363082711
4040 +4.706010500914163,5.350700847785002,-0.6446903468708394,0.0,-1.4687709503000352,-0.04731523877856121,0.017324634400523453,7.064240717377029,0.0,0.0,-0.21477831491395546
4041 +5.578445983344904,5.173848058036458,0.40459792530844574,0.0,-1.7659321252940003,-0.07791789690148426,0.029449257100003234,7.050949854065552,0.0,0.0,-0.06270103093361183
4042 +5.536034209711707,5.928192454530954,-0.39215824481924777,0.0,-2.1339079519470614,-0.09443823505365709,0.0,8.208942978183227,0.0,0.0,-0.05240433665155464
4043 +5.449406220910893,5.385258977011772,0.06414724389912063,0.0,-1.8745066860870887,-0.1908954698251996,0.019815087283715976,7.609112939044814,0.0,0.0,-0.17826689340446972
4044 +4.496359280129911,6.235752475203755,-1.739393195073844,0.0,-1.6600343236364363,0.09435848420091388,0.04140117222760452,7.6113047937907,0.0,0.0,0.14872234862097403
4045 +,6.054356561489312,,0.0,-2.211891057330983,-0.04429108906920293,0.0,8.368705490143888,0.0,0.0,-0.058166782254391286
4046 +,-5.262290357737556,,0.0,-4.976281427498689,-0.01877219418337243,0.0024904528831925232,0.0,0.0,0.0,-0.2697271889386864
4047 +4.468548308445127,5.8229292625350615,-1.354380954089934,0.0,-1.2241727821907302,-0.014016030232652127,0.038910719344411995,7.044460550025434,0.0,0.0,-0.02225319441140225
4048 +5.000113466636674,5.275041985573182,-0.27492851893650805,0.0,-1.999712051213332,-0.12134073596057912,0.029449257100003234,7.407724694765266,0.0,0.0,-0.041079179118175185
4049 +4.832305758571839,4.784217898817192,0.0480878597546468,0.0,-2.438766110050773,-0.279913639055199,0.0,7.671975674490851,0.0,0.0,-0.16907802656768603
4050 +,5.536904148707216,,0.0,-2.3898980773376595,-0.15828216571897222,0.0,8.208942978183227,0.0,0.0,-0.12385858641937916
4051 +7.341594021278141,5.140916953496869,2.200677067781272,0.0,-4.277031919802093,0.040350355140162206,0.0024904528831925232,9.0784399922403,0.0,0.0,0.29666807303530707
4052 +4.455857782801083,6.182903625705891,-1.7270458429048086,0.0,-1.7355948331624802,0.06406821027777768,0.017324634400523453,7.816122412389874,0.0,0.0,0.020983201800196694
4053 +4.880906187421472,5.982386472977297,-1.1014802855558257,0.0,-1.7067133738618496,-0.04379174022166188,0.029449257100003234,7.590435518752552,0.0,0.0,0.11300681120825315
4054 +,4.807562460289441,,0.0,-1.8981104610717736,-0.02109795815914372,0.038910719344411995,6.768538763726743,0.0,0.0,-0.08067860355079524
4055 +,4.934080160710303,,0.0,-2.485071781168857,-0.09206489886943815,0.026786096644932214,7.511212664489005,0.0,0.0,-0.026781920385338876
4056 +7.489898270499103,5.264353653575755,2.225544616923348,0.0,-3.825830464638032,-0.002794274073468987,0.0024904528831925232,9.0784399922403,0.0,0.0,0.012047947163764977
4057 +5.12598574378343,5.055572068962398,0.07041367482103222,0.0,-1.8532425550641483,-0.026246148362567213,0.026786096644932214,7.001252380938463,0.0,0.0,-0.09297770519428007
4058 +3.462919440290152,5.248059214729084,-1.7851397744389317,0.0,-2.103825638986466,-0.06733045478493611,0.038910719344411995,7.448608928214119,0.0,0.0,-0.06830433905804423
4059 +5.371149525197707,5.887409764658276,-0.5162602394605695,0.0,-1.7306724716699025,0.03040659239989909,0.029276549528124737,7.134108674030029,0.0,0.0,0.4242904203701264
4060 +4.085303817569952,4.979025857973884,-0.8937220404039321,0.0,-2.4571015587725613,-0.025844468060267176,0.038910719344411995,7.574298034681412,0.0,0.0,-0.15123686921911272
4061 +6.3637002913647045,6.698014946801075,-0.33431465543637007,0.0,-1.6524827434660905,-0.015283484971241233,0.0024904528831925232,8.368542844490106,0.0,0.0,-0.0052521221348920955
4062 +8.631087787993819,5.84683721700731,2.784250570986509,0.0,-2.2672803468997413,-0.05457203868910716,0.0,8.280781835129236,0.0,0.0,-0.11209223253307898
4063 +,7.112953370495358,,0.0,-1.7688334587768377,-0.03165911171418011,0.038910719344411995,7.4935662274503745,0.0,0.0,1.38096899419159
4064 +5.758396914596079,6.290081368231946,-0.5316844536358669,0.0,-1.5103422930115604,0.008435066509175554,0.017324634400523453,7.722466245215575,0.0,0.0,0.05219771511823228
4065 +,6.302555921735537,,0.0,-1.7311262346418141,-0.09984400743555788,0.017324634400523453,7.949660307232322,0.0,0.0,0.1665412221800638
4066 +7.431820866326404,7.164847964024769,0.2669729023016343,0.0,-1.5141639244337286,-0.008180452231194194,0.017324634400523453,8.063013613403083,0.0,0.0,0.6068540928860847
4067 +5.525134163228542,6.401217793538703,-0.8760836303101609,0.0,-1.625387278581326,-0.05245263831118792,0.026786096644932214,7.99718864423207,0.0,0.0,0.05508296955421631
4068 +6.580639137284949,4.448073080636029,2.13256605664892,0.0,-4.670669350226239,-0.08341801320763723,0.0,9.238202504200961,0.0,0.0,-0.03604206013105504
4069 +,5.25969339426401,,0.0,-2.4632354316046863,-0.15738041898509056,0.026786096644932214,7.521807199755189,0.0,0.0,0.33171594845366464
4070 +8.273900502778181,6.109922755737971,2.16397774704021,0.0,-1.8807670801181215,-0.04492770290028413,0.0,8.053464189967483,0.0,0.0,-0.01784665121110713
4071 +7.614928631275174,6.222914444843316,1.392014186431858,0.0,-1.2158228317092314,-0.15690291666656406,0.04140117222760452,7.860377237622609,0.0,0.0,-0.30613821663110224
4072 +,5.021919073494728,,0.0,-1.8308989322639508,-0.048139295800246444,0.026786096644932214,7.089793951678143,0.0,0.0,-0.21562274676414872
4073 +5.132557898053061,6.646344139990729,-1.5137862419376686,0.0,-1.523901725336371,0.07775584486975766,0.0024904528831925232,7.969533770815661,0.0,0.0,0.12046579675848948
4074 +,4.236625287767409,,0.0,-2.776872072398265,-0.09564687492279089,0.026786096644932214,7.189485819984888,0.0,0.0,-0.1071276815413555
4075 +5.485004380851631,5.5919665170065675,-0.10696213615493644,0.0,-2.2069992637559634,-0.06859594850610735,0.0,8.064753453662535,0.0,0.0,-0.19719172439389746
4076 +,6.210019204925933,,0.0,-1.6583773675642632,-0.04653170209848344,0.0,8.003529137642163,0.0,0.0,-0.08860086305348
4077 +7.830314323869042,5.634179136294227,2.196135187574815,0.0,-3.1859471783202973,0.013108418133742927,0.0,8.685270914203755,0.0,0.0,0.12174698227702718
4078 +4.986479204218496,-5.679752312979131,10.666231517197627,0.0,-5.464061340636891,-0.07631858774939337,0.0,0.0,0.0,0.0,-0.139372384592847
4079 +8.301005392668033,5.464014563638791,2.836990829029242,0.0,-3.7898988529923106,-0.01560557007599562,0.0,9.238202504200961,0.0,0.0,0.03131648250613464
4080 +,5.175417171414542,,0.0,-2.0074027141031605,-0.14041754016027924,-0.009634169816287258,7.532771659428799,0.0,0.0,-0.19990006393453136
4081 +5.394627046685445,6.855262451197266,-1.4606354045118213,0.0,-0.8647229474675884,-0.03759339473269931,0.029276549528124737,7.532771659428799,0.0,0.0,0.19553058444063
4082 +4.7201047240801906,5.431809700268386,-0.7117049761881953,0.0,-2.4752698197082053,0.10125817276909121,0.0,8.16813096531973,0.0,0.0,-0.3623096181122307
4083 +8.883186781588897,6.534876471435425,2.3483103101534724,0.0,-1.4262049604065297,-0.05265682274047838,0.038910719344411995,8.222776125363746,0.0,0.0,-0.24794859012572426
4084 +4.034948352265444,5.231702611315693,-1.1967542590502482,0.0,-2.0961936568503203,0.02318029629836271,0.0,7.61229641814397,0.0,0.0,-0.30758044627631875
4085 +,5.171398833564174,,0.0,-2.162420060589386,-0.13024071354041297,0.026786096644932214,7.433883544740537,0.0,0.0,0.0033899663085032294
4086 +7.368806454329847,6.231212141967717,1.13759431236213,0.0,-2.369028519357835,0.0435602023617642,0.038910719344411995,8.41763181696135,0.0,0.0,0.10013792265802653
4087 +6.3068772954855294,5.933654793191402,0.37322250229412735,0.0,-1.4543439304965888,-0.0559479012226824,0.017324634400523453,7.502953510315425,0.0,0.0,-0.0763315198052761
4088 +5.063290993322054,5.709858621213256,-0.6465676278912014,0.0,-1.7180766866219193,-0.017409219282583637,0.029276549528124737,7.028189981563572,0.0,0.0,0.38787799602606127
4089 +4.830152046575941,5.674949042571525,-0.8447969959955834,0.0,-1.9053717906075178,-0.03260339559436818,0.029449257100003234,7.66098585824601,0.0,0.0,-0.07751088657260295
4090 +,5.282353087974912,,0.0,-2.8924097146468517,0.06875431411887199,0.017324634400523453,8.083243715641597,0.0,0.0,0.005440138460771654
4091 +4.826872699505897,5.285464285990323,-0.45859158648442655,0.0,-2.1495124894539357,0.15515323100421546,0.038910719344411995,7.4675999256206556,0.0,0.0,-0.2266871005250227
4092 +8.736844251075215,5.934601742151661,2.8022425089235545,0.0,-2.2612075109789833,0.15156249359714824,0.029449257100003234,8.109478440835934,0.0,0.0,-0.09468093840244066
4093 +4.077028840012413,4.878440944431794,-0.8014121044193816,0.0,-1.8582819932713974,-0.17346139046483403,0.038910719344411995,7.087569455068044,0.0,0.0,-0.21629584624442835
4094 +,5.746354340513742,,0.0,-1.7249399186860757,-0.14968326534677195,0.026786096644932214,7.6490128240558075,0.0,0.0,-0.05482139615414899
4095 +6.948897222313312,6.690704944634585,0.2581922776787273,0.0,-1.2644912228672984,0.04529001511058042,0.026786096644932214,7.86173665221767,0.0,0.0,0.021383403528701578
4096 +5.53816069708466,3.4347392669553645,2.1034214301292953,0.0,-5.475081194674237,0.021648246507889764,0.029449257100003234,9.0784399922403,0.0,0.0,-0.2197170342185915
4097 +4.421367532912338,5.196041763276237,-0.7746742303638987,0.0,-0.6660731163368983,-0.09576514059120453,0.017324634400523453,6.442899747072224,0.0,0.0,-0.5023443612684062
4098 +8.056604304076957,6.406593185565119,1.6500111185118387,0.0,-1.7955054605659209,-0.09245459414313181,0.0,8.600599483468022,0.0,0.0,-0.30604624319385054
4099 +,6.495319749627746,,0.0,-2.1017897477484784,-0.013621082368299066,0.029449257100003234,8.689511803642718,0.0,0.0,-0.10823048099819722
4100 +5.1810529463873864,4.91544518789195,0.2656077584954364,0.0,-2.3679532343163414,-0.03265185516935662,0.029449257100003234,7.541029263938364,0.0,0.0,-0.2544282436607193
4101 +5.041423114248573,5.4104646542252235,-0.36904153997665023,0.0,-2.2542880409606765,-0.10799467325739448,-0.012124622699479781,7.936449756132538,0.0,0.0,-0.1515777649897632
4102 +5.883210961667728,5.957720176131123,-0.07450921446339542,0.0,-1.6493176958084304,-0.16430496959605506,-0.012124622699479781,7.467726467958887,0.0,0.0,0.315740996276202
4103 +,5.3309163166436075,,0.0,-1.5715123703312175,-0.019494780692948622,0.017324634400523453,7.244043791348629,0.0,0.0,-0.33944495808137654
4104 +7.62775371619276,5.909647274613664,1.7181064415790965,0.0,-1.8056583199949392,-0.06223738478221669,0.0,8.02815812195638,0.0,0.0,-0.25061514256556094
4105 +,3.2941284559668857,,0.0,-5.704142931916284,-0.013588881507707005,0.0,9.0784399922403,0.0,0.0,-0.06657972284942318
4106 +4.991452474679482,5.722915274333623,-0.7314627996541407,0.0,-2.0851288341665155,-0.06890520435826959,0.029449257100003234,7.935461090972494,0.0,0.0,-0.08796103521408835
4107 +6.197685719226242,5.862107162686959,0.33557855653928303,0.0,-1.474657696200567,-0.16454189257527846,0.017324634400523453,7.512201329649049,0.0,0.0,-0.028219212586770764
4108 +6.135781317876221,6.83756059565999,-0.7017792777837686,0.0,-1.737602288342968,-0.03629762881806784,0.0,8.689511803642718,0.0,0.0,-0.07805129082169285
4109 +5.858247390820336,6.117572276346652,-0.2593248855263166,0.0,-1.8389799054506026,0.05732221688516214,0.017324634400523453,7.181719954822365,0.0,0.0,0.7001853756892051
4110 +,4.445246266085875,,0.0,-4.366648065778638,-0.0748013422184634,0.038910719344411995,9.0784399922403,0.0,0.0,-0.23065503750173394
4111 +,4.695889020776001,,0.0,-2.195530511729962,-0.056398099720484735,0.026786096644932214,6.897874869281267,0.0,0.0,0.023156666300248333
4112 +4.594311442653216,4.897402231898182,-0.30309078924496635,0.0,-2.038353833656461,-0.002257655981530604,-0.009634169816287258,7.131184817757889,0.0,0.0,-0.18353692640542843
4113 +,6.886905169746121,,0.0,-1.2525641242096741,-0.06666055174147097,0.0,8.442235448611198,0.0,0.0,-0.2361056029139304
4114 +6.665683717782408,6.345155107364561,0.3205286104178473,0.0,-1.7732926822454225,-0.024032566434879287,0.0,8.16949037991479,0.0,0.0,-0.0270100238699284
4115 +6.453026394568017,3.9153539352108324,2.5376724593571844,0.0,-5.088878147337501,0.018576604942354576,0.0024904528831925232,9.0784399922403,0.0,0.0,-0.09527496751751294
4116 +4.835885002798619,4.784614626160915,0.05127037663770473,0.0,-1.94486997937606,-0.11946250392859348,0.029449257100003234,6.897922939223884,0.0,0.0,-0.07842508685832007
4117 +,5.5054965929057085,,0.0,-2.229085766224629,0.044723927127843795,0.026786096644932214,7.757121464211684,0.0,0.0,-0.09404912885412217
4118 +5.213249554157973,5.932236003473677,-0.7189864493157039,0.0,-1.7838921933235552,0.042634959958858965,0.017324634400523453,7.776687244171876,0.0,0.0,-0.12051864173402495
4119 +7.590584411089083,6.455749103460768,1.1348353076283155,0.0,-1.8609989887494667,0.167308492493138,0.0,8.41763181696135,0.0,0.0,-0.2681922172442533
4120 +,6.312625384852646,,0.0,-1.8193455651173718,-0.09441861889905295,0.029449257100003234,7.901768103702356,0.0,0.0,0.2951722080667136
4121 +5.933120136133738,5.462837866930838,0.47028226920290006,0.0,-2.409739797017326,0.024736975230079915,0.029449257100003234,8.065742118822579,0.0,0.0,-0.24735068720449704
4122 +4.533351898197619,5.369402687044191,-0.8360507888465722,0.0,-2.647208916395212,-0.11669661207703501,0.038910719344411995,8.256548952914406,0.0,0.0,-0.16215145674237863
4123 +5.04426347507624,5.611838502383493,-0.5675750273072531,0.0,-1.9031230316584464,0.18509281310637013,0.0,7.576478788427028,0.0,0.0,-0.2466100674914588
4124 +5.2642951179336,4.194566058115475,1.0697290598181253,0.0,-4.753763232549234,-0.029218940319172767,0.0,9.0784399922403,0.0,0.0,-0.1008917612564171
4125 +6.297495985500661,5.836551305882621,0.46094467961804053,0.0,-1.0947709769051643,-0.0918203256806433,0.017324634400523453,7.023095244030673,0.0,0.0,-0.01727726996276739
4126 +6.310863286111331,6.24477857663128,0.06608470948005163,0.0,-1.6762977164925692,0.053986222523013494,0.0,7.79225555125614,0.0,0.0,0.07483451934469634
4127 +8.862680385214249,3.1388098234055204,5.723870561808729,0.0,-5.711228858754371,-0.060683599626247864,0.0,9.238202504200961,0.0,0.0,-0.3274802224148215
4128 +4.161691635681711,4.473601531335292,-0.3119098956535806,0.0,-2.218825819040446,-0.014987272182506919,0.026786096644932214,6.871456552965115,0.0,0.0,-0.19082802705180066
4129 +6.322295903839109,6.188694743382274,0.133601160456835,0.0,-1.235385095284931,-0.022857352240614956,0.017324634400523453,7.663333938001115,0.0,0.0,-0.2337213814938179
4130 +4.680184889793537,5.776753670471064,-1.0965687806775266,0.0,-2.1196396876367913,-0.05728319618934496,0.0,8.289311362226655,0.0,0.0,-0.33563480792945716
4131 +4.29510616264318,5.539320832942102,-1.2442146702989216,0.0,-2.446747264356767,-0.11725390923231876,0.0,8.1461031766186,0.0,0.0,-0.04278117008741418
4132 +6.253309445959267,6.7131127503355605,-0.4598033043762939,0.0,-1.2232178717001823,-0.06315013197267179,0.0,7.8579550923834125,0.0,0.0,0.14152566162500232
4133 +,4.545346166712994,,0.0,-2.2466786451711664,0.00840142886343559,0.026786096644932214,6.890746888302488,0.0,0.0,-0.13390960192669438
4134 +5.193123503669531,6.077168406333482,-0.884044902663951,0.0,-1.6603101516184795,-0.028649682608427422,0.0,7.379620867714681,0.0,0.0,0.3865073728457077
4135 +4.085303817569952,4.524298966815385,-0.43899514924543315,0.0,-2.154905924250195,0.00531834749280875,-0.012124622699479781,6.710719925693767,0.0,0.0,-0.02470875942151714
4136 +7.206851956249172,6.500597008748133,0.7062549475010389,0.0,-1.510472063876457,0.016923215256644576,0.04140117222760452,8.1461031766186,0.0,0.0,-0.19335849147825923
4137 +5.213739390072739,5.878837934191598,-0.6650985441188588,0.0,-1.5116836465534638,0.011119499480842308,0.038910719344411995,7.015337140848288,0.0,0.0,0.32515422107152003
4138 +,-4.277702245865194,,0.0,-3.9835507851191183,-0.00110468651394207,0.0024904528831925232,0.0,0.0,0.0,-0.29553722711532526
4139 +,-4.561013099271421,,0.0,-4.738355073530922,0.04968365310819845,0.0024904528831925232,0.0,0.0,0.0,0.12516786826810974
4140 +,-1.7861669121145018,,0.0,-2.43552510012524,-0.0041752193254348605,0.0,-0.27347396896172627,0.0,0.0,0.9270073762979005
4141 +,-2.9334036558842134,,0.0,-2.0354330634282034,0.02774534622050326,0.026786096644932214,-0.7432992258658367,0.0,0.0,-0.20920280945560749
4142 +8.995240632291493,6.003527340303604,2.991713291987889,0.0,-1.7642768421051374,-0.026118387573667134,0.0,7.941223132101772,0.0,0.0,-0.14730056211936382
4143 +4.738564069158622,5.4431795779009,-0.7046155087422781,0.0,-2.114689887590089,0.061037311785986745,0.0,7.792340071892369,0.0,0.0,-0.295507918187366
4144 +4.770006428441026,6.254867099768458,-1.4848606713274322,0.0,-1.9150737711480224,-0.07801821611005433,0.0,7.804428753897103,0.0,0.0,0.44353033312943246
4145 +,4.8201024900357305,,0.0,-1.9103224789052353,-0.06900518480311782,0.029449257100003234,6.891310925249896,0.0,0.0,-0.12133002860581542
4146 +8.196436811235028,6.478938068275498,1.7174987429595303,0.0,-1.6540477433284764,-0.053242550584518135,0.0024904528831925232,8.471111317047619,0.0,0.0,-0.28737340774231657
4147 +4.865069877427421,4.867199504917368,-0.0021296274899471612,0.0,-2.2078466392661644,-0.14264158065459487,0.0,7.322349369675377,0.0,0.0,-0.10466164483724938
4148 +4.56611745872439,4.498225878398243,0.0678915803261475,0.0,-2.5176259120608497,-0.017680282898771188,0.0,7.33780183974279,0.0,0.0,-0.3042697663849247
4149 +9.763392954837322,7.129225345574002,2.6341676092633195,0.0,-1.1609551991850848,-0.014684263132622326,0.029449257100003234,8.222776125363746,0.0,0.0,0.052639425427961274
4150 +7.8646273364180965,5.332793828408081,2.531833508010015,0.0,-4.100022322466119,-0.1583129433449607,0.0024904528831925232,9.0784399922403,0.0,0.0,0.5101986490956699
4151 +4.927398602192456,4.107464174768136,0.8199344274243199,0.0,-2.1750384169033596,-0.14593171445444142,0.017324634400523453,7.238096846357582,0.0,0.0,-0.8269871746321681
4152 +5.107459478731796,4.726129474938377,0.3813300037934191,0.0,-2.3441411923826125,-0.043273777687575475,0.0,7.384615909950151,0.0,0.0,-0.27107146494158674
4153 +5.121639852139167,6.455594643838207,-1.33395479169904,0.0,-1.5178550144449359,-0.1397740205973922,0.0024904528831925232,8.280781835129236,0.0,0.0,-0.17004860913189337
4154 +,4.371998234330163,,0.0,-3.0692026765687137,-0.029804027186282202,-0.012124622699479781,7.503314390024993,0.0,0.0,-0.02018482924035646
4155 +5.132557898053061,5.219912433394957,-0.08735453534189652,0.0,-1.7448240412192861,-0.1756103555553678,0.017324634400523453,7.1978047048927944,0.0,0.0,-0.07478250912370522
4156 +,4.987705936650848,,0.0,-1.7702630569237519,-0.1181058739566597,0.017324634400523453,7.076132513814127,0.0,0.0,-0.21738228068338905
4157 +,5.33510474824303,,0.0,-1.9314444113209825,-0.0047706792269175124,0.026786096644932214,6.922159102683785,0.0,0.0,0.32237463946221123
4158 +7.813680473816964,6.771786180472864,1.0418942933441002,0.0,-1.311362541720384,0.002049538736781001,0.0024904528831925232,8.093859507982389,0.0,0.0,-0.015250777409113708
4159 +,5.7502251081278555,,0.0,-2.8204404045614,-0.13047188735973125,0.029449257100003234,8.690214240003975,0.0,0.0,-0.018526097054989227
4160 +7.534276427736116,4.885577474960405,2.648698952775711,0.0,-4.0914950646816735,0.0736194935114078,0.0024904528831925232,9.0784399922403,0.0,0.0,-0.17747739899282053
4161 +4.9247142315886165,4.692386543515901,0.23232768807271587,0.0,-2.2226331494824665,-0.12324166855098127,0.017324634400523453,7.088310953938077,0.0,0.0,-0.0673742267892507
4162 +5.319687392284229,5.358147616308909,-0.03846022402467941,0.0,-1.4703432451080358,-0.032246512370533484,0.029449257100003234,6.885730669071171,0.0,0.0,-0.05444255238369507
4163 +5.487407630537363,6.599180145089818,-1.111772514552455,0.0,-1.7936097677293263,-0.09138639282441871,0.0,8.064753453662535,0.0,0.0,0.4194228519810269
4164 +7.720789945954488,7.471393843936649,0.24939610201783857,0.0,-0.6769597216073171,-0.05655823275723907,0.029276549528124737,7.949660307232322,0.0,0.0,0.22597494154075884
4165 +7.928323139862676,5.796321013941854,2.132002125920822,0.0,-2.3202363170604157,0.03180994596411965,0.0,8.210634079704526,0.0,0.0,-0.1258866946663759
4166 +,5.354175849745312,,0.0,-2.490131489764874,-0.17554718306303443,0.0,8.065742118822579,0.0,0.0,-0.045887596249358995
4167 +6.137575854751223,6.392875206587153,-0.2552993518359301,0.0,-0.001585686401930353,-0.08060057082988209,0.038910719344411995,6.533707681356917,0.0,0.0,-0.09755693688236589
4168 +7.226536229285907,4.411701751695406,2.8148344775905008,0.0,-4.9316836523076155,0.013801812333355507,0.0024904528831925232,9.238202504200961,0.0,0.0,0.0888906345855118
4169 +4.3374214512437606,4.837057626534567,-0.4996361752908065,0.0,-2.089626942941906,-0.06440282883158108,0.017324634400523453,7.2290961933139695,0.0,0.0,-0.2553334294064388
4170 +5.406947531073485,6.250132325610376,-0.8431847945368904,0.0,-1.8664803502364231,-0.05563006374168983,0.0,7.914484377661493,0.0,0.0,0.25775836192699475
4171 +5.5025227168419955,5.222259246375385,0.28026347046661026,0.0,-1.5545879460803578,-0.11005896871309473,0.017324634400523453,7.070445929658358,0.0,0.0,-0.20086440289004157
4172 +,5.810151034127388,,0.0,-2.4002134865880675,0.12251499678506357,-0.012124622699479781,8.109478440835934,0.0,0.0,-0.009504294206059999
4173 +,5.561913730498812,,0.0,-1.2863962742332733,0.031157757337031706,0.029276549528124737,6.799233920883016,0.0,0.0,-0.01135822301608666
4174 +4.330733340286331,5.108003922077569,-0.777270581791238,0.0,-2.9854976022432815,-0.07523936902140416,0.038910719344411995,8.254779726375551,0.0,0.0,-0.1249495523777086
4175 +5.220355825078324,5.6647222566147475,-0.4443664315364231,0.0,-2.048769655198563,-0.027371166595226707,-0.012124622699479781,7.99718864423207,0.0,0.0,-0.2442009431240524
4176 +4.983606621708336,5.240254401445096,-0.2566477797367597,0.0,-2.0803972026039217,-0.20277440424361148,0.017324634400523453,7.740224370365282,0.0,0.0,-0.23412299647317578
4177 +8.29529885950246,3.5321243233994464,4.763174536103013,0.0,-5.393217321998676,-0.06797359400605044,0.0,9.0784399922403,0.0,0.0,-0.0851247528361271
4178 +4.59511985013459,5.831280192553105,-1.2361603424185148,0.0,-1.8913270230409411,-0.05094024866789511,0.0,7.647399877355503,0.0,0.0,0.1261475869064387
4179 +,6.708103338541622,,0.0,-1.575798501776429,-0.10620533310691595,0.0024904528831925232,8.208942978183227,0.0,0.0,0.17867374235854636
4180 +,6.231164271746098,,0.0,-0.24144662048773302,-0.02099773744071391,0.026786096644932214,6.505466757050315,0.0,0.0,-0.03864422402070125
4181 +,5.930963134277163,,0.0,-1.560478005561218,-0.10569693168196904,0.017324634400523453,7.502335594590398,0.0,0.0,0.07747784252942799
4182 +5.214935757608986,5.459266665801037,-0.24433090819205106,0.0,-1.454622617946801,0.019138550433097333,-0.009634169816287258,7.194239900392446,0.0,0.0,-0.28985499726141906
4183 +5.19295685089021,5.480233893382544,-0.28727704249233366,0.0,-1.5106974377383624,-0.07873113530439976,0.029276549528124737,7.078210751251915,0.0,0.0,-0.03782483435473255
4184 +5.501258210544727,5.16135379844712,0.33990441209760736,0.0,-1.8272655711141637,-0.13271732050354848,0.026786096644932214,7.362786186664561,0.0,0.0,-0.2682355932446583
4185 +4.634728988229636,5.6524082251711825,-1.0176792369415466,0.0,-1.4055169020042833,-0.004928132170480513,0.038910719344411995,7.205325296832502,0.0,0.0,-0.18138275683096622
4186 +5.4638318050256105,6.122084737625361,-0.6582529325997504,0.0,-1.6107155122518373,-0.028377673716379292,0.04140117222760452,7.530794329108711,0.0,0.0,0.1889824222572601
4187 +,5.67105596801033,,0.0,-1.2297036754058057,0.15042189087654528,0.026786096644932214,6.771715481329027,0.0,0.0,-0.04816382543436934
4188 +5.187385805840755,5.820616977157196,-0.6332311713164414,0.0,-1.542942000922337,-0.022802882838636414,0.029276549528124737,7.647282660025731,0.0,0.0,-0.29019734863568525
4189 +,6.012162057974213,,0.0,-1.1272270487051612,-0.033573647281996286,0.0,6.957714841587362,0.0,0.0,0.21524791237400678
4190 +6.466144724237619,5.796723868837514,0.6694208554001051,0.0,-1.67148725181778,-0.0774209932966604,0.038910719344411995,7.358710566700876,0.0,0.0,0.14801082790666756
4191 +6.104793232414985,5.347133224081849,0.7576600083331355,0.0,-1.913180918349119,-0.06623682679121129,0.029276549528124737,7.141790454024345,0.0,0.0,0.15548396566971265
4192 +5.501258210544727,5.309670843354437,0.1915873671902908,0.0,-1.7559032468920295,0.021647263902158695,0.029276549528124737,7.274738948504902,0.0,0.0,-0.26008867168872046
4193 +5.786897381366708,5.977022057506634,-0.19012467613992623,0.0,-1.1419961261750577,0.13619910220371548,0.026786096644932214,6.929289940847448,0.0,0.0,0.0267430439855961
4194 +5.568344503761097,6.3186281772699004,-0.7502836735088039,0.0,-1.2674886900578066,0.07707347763198757,0.026786096644932214,7.740224370365282,0.0,0.0,-0.25796707731449364
4195 +5.3230099791384085,5.5411681193694555,-0.21815814023104707,0.0,-1.2586246558521337,-0.07876642824217317,0.029276549528124737,6.95218241062818,0.0,0.0,-0.10289975669254106
4196 +5.66988092298052,6.028211297053548,-0.35833037407302815,0.0,-1.5723977036551995,0.11512696993806482,0.019815087283715976,7.253647709067453,0.0,0.0,0.21201923441951429
4197 +5.655991810819852,5.7363651014700965,-0.08037329065024412,0.0,-1.4222317442221781,0.027098243613157574,0.017324634400523453,7.202282175833865,0.0,0.0,-0.08810820815527245
4198 +,5.739348586190477,,0.0,-1.743755824644377,0.0414946167899269,0.0024904528831925232,7.517285985949634,0.0,0.0,-0.07816664478789845
4199 +,5.617333763267748,,0.0,-1.8467572102482466,-0.1642012071624978,0.026786096644932214,7.6490128240558075,0.0,0.0,-0.04750674002224475
4200 +,5.2413335399972,,0.0,-1.4943439655039539,-0.19223021172169574,0.0,7.09550767270224,0.0,0.0,-0.16759995547938925
4201 +5.545177444479562,5.776599694101122,-0.2314222496215601,0.0,-1.817539872320201,0.10170737952821104,0.017324634400523453,7.301800132275017,0.0,0.0,0.17330742021757226
4202 +,6.904949358554948,,0.0,-0.5962445754007843,-0.11168855357385918,0.029276549528124737,7.859947852617124,0.0,0.0,-0.2763419146156563
4203 +4.605170185988092,6.777450972436256,-2.172280786448164,0.0,-1.1281044976042942,-0.06271702317363126,0.038910719344411995,7.7945522684515955,0.0,0.0,0.1348095054181737
4204 +4.941642422609304,5.903462086167867,-0.961819663558563,0.0,-1.7490056247644992,0.02761154318884466,0.0,7.686306248062368,0.0,0.0,-0.06145008031884716
4205 +4.532599493153256,5.769686325656867,-1.2370868325036106,0.0,-1.1857841873745754,-0.12838380490744647,0.04140117222760452,6.969638213024888,0.0,0.0,0.07281493268639347
4206 +5.680172609017068,5.996414027962393,-0.3162414189453253,0.0,-1.0411653159536325,-0.06529172579401399,0.029276549528124737,7.238467595792598,0.0,0.0,-0.16487307561068285
4207 +5.170483995038151,5.959177743477566,-0.7886937484394148,0.0,-1.4227949941785782,0.05329580721303892,0.026786096644932214,7.483511313500239,0.0,0.0,-0.18162047970206557
4208 +5.420534999272286,5.348407665281264,0.07212733399102245,0.0,-1.337656083153525,0.012510981758411359,0.029449257100003234,6.700612428212916,0.0,0.0,-0.05650891863654248
4209 +4.770684624465665,6.003034693405682,-1.2323500689400166,0.0,-1.5651980999727106,-0.08077200407221855,0.0024904528831925232,7.840687249101994,0.0,0.0,-0.1941729045345741
4210 +6.343880434126331,7.594756811069296,-1.2508763769429647,0.0,-0.6713255058274523,0.15749734680425176,0.029449257100003234,8.063013613403083,0.0,0.0,0.01612209958940944
4211 +,5.448226905312965,,0.0,-1.4885067239706649,-0.034541950416934836,0.029276549528124737,7.095180508658928,0.0,0.0,-0.1531814784864889
4212 +5.375278407684165,4.807321313499775,0.5679570941843899,0.0,-1.862987937442349,-0.024305016320518284,0.029276549528124737,6.910807000842701,0.0,0.0,-0.2454692831081833
4213 +4.574710978503383,3.6204568212866377,0.9542541572167451,0.0,-5.147873984588587,-0.04168423844766484,0.0024904528831925232,9.0784399922403,0.0,0.0,-0.2709154008006033
4214 +,5.482959293450385,,0.0,-1.746034483544853,-0.14004476096699164,0.04140117222760452,7.234808605295894,0.0,0.0,0.09282876043873126
4215 +4.700480365792417,5.7479515698878805,-1.047471204095464,0.0,-1.4798305230170081,-0.04232773848830158,0.029276549528124737,7.238220429502587,0.0,0.0,0.0026128523624795175
4216 +,5.628432449543912,,0.0,-1.1601552043458527,-0.036860316138336284,0.038910719344411995,6.845124555455288,0.0,0.0,-0.058587304771596876
4217 +,5.288679022161695,,0.0,-1.6386581049261446,-0.15549025728751342,0.04140117222760452,7.194607690634238,0.0,0.0,-0.1531814784864889
4218 +5.37989735354046,6.620568932910484,-1.2406715793700247,0.0,-1.341024860973354,0.05735843665596359,0.0,8.003529137642163,0.0,0.0,-0.09929378041428849
4219 +,5.143670694989581,,0.0,-1.6047228438897418,-0.10481912173741628,0.0024904528831925232,6.743875093557456,0.0,0.0,0.10684711417609058
4220 +4.127134385045092,-5.771700596734493,9.898834981779585,0.0,-5.9642474753544725,0.02033826075718061,0.0,0.0,0.0,0.0,0.17220861786280053
4221 +5.099866427824199,5.5956156405502755,-0.49574921272607675,0.0,-1.7208479323947738,0.0424346578542456,0.017324634400523453,7.325478965569655,0.0,0.0,-0.0687746848793731
4222 +,5.298589078861807,,0.0,-1.678879373454902,-0.03985295191087046,0.0,7.172812617751151,0.0,0.0,-0.1554912135235714
4223 +5.771441123130016,5.428390890272324,0.3430502328576921,0.0,-1.482606059024163,0.01343099393425879,0.029276549528124737,7.0363543565310875,0.0,0.0,-0.16806495069698302
4224 +5.5134287461649825,5.134329778941613,0.3790989672233698,0.0,-1.7670196134123044,-0.09205950491349693,0.017324634400523453,7.172769349936933,0.0,0.0,-0.19668508707004106
4225 +,6.033427073635437,,0.0,-1.89752596110747,0.08839406779396586,0.04140117222760452,7.901768103702356,0.0,0.0,-0.10061030898101894
4226 +,5.249296416209208,,0.0,-1.6072547859335362,-0.1401885235186739,-0.009634169816287258,7.054247284952681,0.0,0.0,-0.047873389474975055
4227 +,5.587193304381028,,0.0,-1.735790133683123,0.14679254733027364,0.026786096644932214,7.356149681080919,0.0,0.0,-0.20674488699197352
4228 +,5.448370720083002,,0.0,-1.767424939132611,0.00026211263244936556,0.029449257100003234,7.2381477417474995,0.0,0.0,-0.05206345226434116
4229 +7.559038255443384,6.0066069095683865,1.5524313458749974,0.0,-1.3876196911280898,0.11992350240683296,0.04140117222760452,7.411418596867238,0.0,0.0,-0.17851667080519762
4230 +4.927253685157205,-0.43238555785428057,5.359639243011486,0.0,-0.15703974781113583,0.06675332530286097,0.0024904528831925232,-0.5963811959256494,0.0,0.0,0.25179160769645104
4231 +4.248495242049359,-0.9871901198097229,5.235685361859082,0.0,-0.03334654632452949,-0.032393147393172894,0.0024904528831925232,-0.5963811959256494,0.0,0.0,-0.32755968304956573
4232 +,-4.066950265285384,,0.0,-4.233347746633255,-0.03399133047154104,0.0024904528831925232,0.0,0.0,0.0,0.1978983589362204
4233 +4.804021044733257,-2.9544772288849703,7.758498273618227,0.0,-2.9806311387095197,-0.01993310955598969,0.029449257100003234,-0.11918817789008321,0.0,0.0,0.13582594017061825
4234 +4.276666119016055,-2.508633772025444,6.785299891041499,0.0,-1.8009077671254685,-0.13535613548211348,0.04140117222760452,-0.43616341389374275,0.0,0.0,-0.17760762775172562
4235 +5.4638318050256105,5.641969760816137,-0.17813795579052627,0.0,-1.8959610228148813,0.06692246369922467,0.03193970998319576,7.483511313500239,0.0,0.0,-0.04444270355164126
4236 +3.9889840465642745,4.610727389201605,-0.6217433426373304,0.0,-2.2449506262638366,-0.09643259111419113,0.026786096644932214,7.101792522632917,0.0,0.0,-0.17646801269821685
4237 +5.337538079701318,5.739804161445021,-0.4022660817437034,0.0,-1.7788236913526658,-0.030519001419994127,0.019815087283715976,7.5754102829864625,0.0,0.0,-0.04607851605249706
4238 +,5.328465426496163,,0.0,-2.2374072405377357,-0.07460153386257899,0.038910719344411995,7.233088555026675,0.0,0.0,0.3684749265253915
4239 +5.0369526024136295,4.23752833064018,0.7994242717734492,0.0,-2.8528887370182234,-0.05664352122003914,0.026786096644932214,7.331494698243385,0.0,0.0,-0.21122020600987393
4240 +7.507141079727608,7.022001363507543,0.4851397162200657,0.0,-1.0061605025337927,-0.024819969935264596,0.0024904528831925232,8.177402478573306,0.0,0.0,-0.12691109547989826
4241 +5.159055299214529,5.217025288774646,-0.05796998956011734,0.0,-1.8225586363271047,-0.0023197055641264053,0.038910719344411995,7.005392068447017,0.0,0.0,-0.0023991571255513634
4242 +7.773594467360194,6.656756219613297,1.1168382477468972,0.0,-1.5583955778400513,0.030958371972292068,0.0024904528831925232,7.9585569841787525,0.0,0.0,0.223145988419113
4243 +,5.597479560363113,,0.0,-1.8521113520305272,0.010986382311043465,0.017324634400523453,7.450957007969223,0.0,0.0,-0.0296771122871518
4244 +6.807934943699926,6.005475330351946,0.8024596133479793,0.0,-1.9986029031012675,0.05600726136459768,0.017324634400523453,7.388787808132122,0.0,0.0,0.5419585295559717
4245 +5.808142489980444,5.232178133431372,0.575964356549072,0.0,-1.6459142511538998,-0.13220055253798305,0.029449257100003234,7.198948054740214,0.0,0.0,-0.21810437471696376
4246 +7.1284959456800365,6.2915150967007385,0.836980848979298,0.0,-1.8759460164319224,-0.0554371978135204,0.038910719344411995,7.9960763959270205,0.0,0.0,0.18791119567475034
4247 +3.7612001156935624,5.113224709445117,-1.3520245937515543,0.0,-1.931977181532158,0.006722370650410821,0.026786096644932214,7.258172843557309,0.0,0.0,-0.24647941987537714
4248 +5.442417710521793,5.179253583823941,0.26316412669785194,0.0,-2.134974452818107,-0.03902217566049313,0.0,7.566212016375511,0.0,0.0,-0.21296180407297077
4249 +4.897839799950911,5.539892157019924,-0.6420523570690131,0.0,-1.7939204063981595,0.015114550216394497,0.029449257100003234,7.337654013109352,0.0,0.0,-0.0484052570076667
4250 +,5.29305579654762,,0.0,-1.8047547703160172,-0.13485779816983468,0.0,7.36949742950967,0.0,0.0,-0.13682906447619825
4251 +4.293195420967266,5.6749544532928216,-1.3817590323255553,0.0,-1.7669508692751057,-0.2850422748157622,0.0,7.86888994257574,0.0,0.0,-0.1419423451920504
4252 +4.853591544486569,3.1585994441248584,1.694992100361711,0.0,-6.032304333398599,0.035945176577328396,0.029449257100003234,9.238202504200961,0.0,0.0,-0.11269316035483397
4253 +8.022552548034508,3.527600634522108,4.4949519135124,0.0,-5.489860966215478,0.07357886451816645,0.0,9.0784399922403,0.0,0.0,-0.13455725602088134
4254 +4.770006428441026,6.597503474819392,-1.8274970463783662,0.0,-1.6053053118568403,-0.14697917772877853,0.0024904528831925232,7.957691902163714,0.0,0.0,0.38960560935810384
4255 +6.023496017938646,5.1110996830928555,0.9123963348457904,0.0,-4.137359022239049,-0.1393613422705184,0.0,9.238202504200961,0.0,0.0,0.14961754340146055
4256 +,5.3243296536261235,,0.0,-2.095363694537574,-0.002535850678107618,0.0,7.44217087935141,0.0,0.0,-0.019941680509606374
4257 +4.191320021345486,4.885076954781265,-0.6937569334357789,0.0,-2.3220445836742805,-0.031214375171719266,-0.012124622699479781,7.494299872708831,0.0,0.0,-0.24383933638208544
4258 +,5.586680748531881,,0.0,-2.64795231332962,0.0585660897785302,0.029449257100003234,8.222776125363746,0.0,0.0,-0.0761584103807767
4259 +4.248495242049359,-1.9695824670041227,6.218077709053482,0.0,-1.3728069026135055,-0.07680939073090036,0.0,-0.5963811959256494,0.0,0.0,0.07641502226593251
4260 +,-5.02864478066125,,0.0,-5.107688786120757,0.22197095472257475,0.0,0.0,0.0,0.0,-0.14292694926306762
4261 +5.0238805208462765,-5.365906839253072,10.389787360099348,0.0,-5.302581810277182,-0.002881148510164043,0.0,0.0,0.0,0.0,-0.06044388046572468
4262 +,-2.5585665248297302,,0.0,-2.1737702163692294,-0.040626240416261256,0.0024904528831925232,-0.43468041615367686,0.0,0.0,0.08801989522624445
4263 +4.477336814478207,-4.9713206957112535,9.44865751018946,0.0,-4.708049471326774,0.04733725638973858,0.0024904528831925232,0.0,0.0,0.0,-0.3130989336574124
4264 +,-3.840545569803023,,0.0,-3.73309534795725,-0.1520293511949698,0.0024904528831925232,0.0,0.0,0.0,0.04208867646600464
4265 +,-5.842540517835975,,0.0,-5.846685632564817,0.09914399731112249,0.038910719344411995,0.0,0.0,0.0,-0.13390960192669438
4266 +6.042632833682381,-2.7886462428138463,8.831279076496227,0.0,-2.051701988790559,-0.13908006035757203,0.0,-0.5978641936657153,0.0,0.0,0.0
4267 +,-5.385573925508715,,0.0,-5.260820863320795,0.03899648253570705,0.0024904528831925232,0.0,0.0,0.0,-0.16623999760681896
4268 +,-5.602333849870489,,0.0,-5.358582763687838,0.020125141472698505,0.0024904528831925232,0.0,0.0,0.0,-0.26636668053854184
4269 +,-2.4568520333542816,,0.0,-1.3525935606986872,-0.11162343637218576,0.04140117222760452,-0.7432992258658367,0.0,0.0,-0.29073698264517595
4270 +5.267858159063328,-5.1470931349872275,10.414951294050557,0.0,-5.124878461594056,0.09830396834085336,0.0,0.0,0.0,0.0,-0.12051864173402495
4271 +,-5.511988115395411,,0.0,-5.290802211653706,-0.007949981158790143,0.029449257100003234,0.0,0.0,0.0,-0.24268517968291967
4272 +,-2.5897131344747644,,0.0,-1.768977928160294,0.029965197166272557,0.038910719344411995,-0.7423105607057928,0.0,0.0,-0.14730056211936382
4273 +,-3.7265350118462157,,0.0,-4.348431680982454,-0.04668242815470053,0.0024904528831925232,0.0,0.0,0.0,0.6660886444077452
4274 +,-2.7633125665794918,,0.0,-2.26964393551287,-0.07830264827606492,0.029449257100003234,-0.4344332498636658,0.0,0.0,-0.010381990026893634
4275 +,-4.016451116120911,,0.0,-4.648586964759371,-0.1367161254541659,0.0,0.0,0.0,0.0,0.7688519740926252
4276 +,-3.127338404179505,,0.0,-2.388278830390438,0.14776551273657776,0.017324634400523453,-0.7423105607057928,0.0,0.0,-0.16183916022037576
4277 +,-2.8421824446828827,,0.0,-1.9060504851075786,-0.06383136082870594,0.026786096644932214,-0.7435463921558477,0.0,0.0,-0.15554030323568513
4278 +,-2.60706157551256,,0.0,-2.3527955599880457,0.028030441843488192,0.0,-0.2765635475868635,0.0,0.0,-0.0057329097811383515
4279 +,-5.715295380149807,,0.0,-5.769766629769569,0.0695684801929582,0.0,0.0,0.0,0.0,-0.01509723057319566
4280 +,-2.9306934067313852,,0.0,-2.1229595671408896,-0.017666668640632974,0.017324634400523453,-0.7423105607057928,0.0,0.0,-0.06508124464459235
4281 +5.262690188904886,-3.916086823181378,9.178777012086265,0.0,-3.8784151321546907,-0.06699178114850957,0.0,0.0,0.0,0.0,0.029320090121822823
4282 +,-1.6115424530133877,,0.0,-1.1090747298320256,0.13625043040431592,-0.012124622699479781,-0.7423105607057928,0.0,0.0,0.11571702981959633
4283 +6.35088571671474,6.967686758461182,-0.6168010417464425,0.0,-1.6275442904091237,0.03058179914774126,0.0,8.371014507390216,0.0,0.0,0.19363474233234762
4284 +7.665753431861699,4.883075814961286,2.782677616900413,0.0,-1.8062091516665673,-0.09447667261379815,0.0,7.0114079625170325,0.0,0.0,-0.22764632327538045
4285 +6.315358001522335,5.917201970175394,0.3981560313469412,0.0,-1.8047181844439013,-0.019194825227295525,-0.012124622699479781,7.903251101442422,0.0,0.0,-0.1500114988963517
4286 +8.604654467186231,4.662667766344087,3.9419867008421443,0.0,-2.2665569546692366,-0.13594961301341746,-0.012124622699479781,7.164357039013932,0.0,0.0,-0.08705808228771121
4287 +5.267858159063328,4.846657848929168,0.4212003101341599,0.0,-2.3950729266106494,-0.031631873257079314,0.017324634400523453,7.513066411664087,0.0,0.0,-0.2570283972677139
4288 +,5.446306792271209,,0.0,-1.7777402887522191,0.0766804828297977,0.017324634400523453,7.312480384904222,0.0,0.0,-0.18243842111111286
4289 +7.552762084214147,5.363856484347349,2.188905599866798,0.0,-1.9774298450127956,-0.0011369963532216684,0.0,7.686306248062368,0.0,0.0,-0.3438829223490025
4290 +4.406719247264253,4.3947117693110505,0.012007477953202894,0.0,-2.956487836694806,-0.130868209359307,0.026786096644932214,7.552155078020695,0.0,0.0,-0.09687335930046283
4291 +,4.126855839065406,,0.0,-5.380816296149833,-0.01805644355293464,0.0,9.238202504200961,0.0,0.0,0.287526074567214
4292 +8.226038429485484,5.609058479473521,2.616979950011963,0.0,-1.916296653295766,-0.003862660505283423,0.0,7.526790902391718,0.0,0.0,0.002426890882854499
4293 +5.231108616854587,5.237154021713303,-0.006045404858715742,0.0,-2.277261580846564,-0.18215482487552714,-0.012124622699479781,7.597853284831045,0.0,0.0,0.11084176530382925
4294 +5.961005339623274,6.501416163458721,-0.5404108238354475,0.0,-1.1902529598225904,0.10371301628362904,0.0,7.663908110861659,0.0,0.0,-0.07595200386397967
4295 +,5.9933862311087465,,0.0,-1.7200959833713005,0.14668089137258042,0.017324634400523453,7.553143743180739,0.0,0.0,-0.0036670544737948813
4296 +4.8283137373023015,6.728113436041665,-1.899799698739363,0.0,-1.4575569626532738,0.033963220983004916,0.0024904528831925232,8.280781835129236,0.0,0.0,-0.13156511030049398
4297 +8.134760782418645,3.835720104916264,4.299040677502381,0.0,-5.268375957014817,-0.10236506047502718,0.0,9.238202504200961,0.0,0.0,-0.031741381794852745
4298 +,4.903821799758714,,0.0,-2.0795864138246367,-0.10059302798283382,0.017324634400523453,7.050756566553161,0.0,0.0,0.01592004061250106
4299 +,5.523487318439472,,0.0,-1.679631951782878,-0.18758408739432825,0.0024904528831925232,7.5203433729644615,0.0,0.0,-0.13213046823097613
4300 +6.7650389767805414,6.097324697202986,0.667714279577555,0.0,-1.8460417882732765,0.04195023155110239,0.04140117222760452,7.9370239289930815,0.0,0.0,-0.07700884729552476
4301 +,5.662725376724362,,0.0,-2.4011388351085197,-0.04367649556552669,0.0,8.254818788884329,0.0,0.0,-0.14727808148592167
4302 +,5.485075281039749,,0.0,-2.7106133372114947,-0.07293495319410799,0.0,8.415901652931273,0.0,0.0,-0.14727808148592167
4303 +,6.116913009064378,,0.0,-1.4478990319577214,0.09329046388907053,0.017324634400523453,7.4846235618052885,0.0,0.0,-0.030426619072783313
4304 +4.7535901911063645,5.436256618952349,-0.6826664278459846,0.0,-1.4623390026888865,-0.005219185421679241,0.038910719344411995,6.777012866859803,0.0,0.0,0.08789122085870169
4305 +4.23410650459726,5.351536847360097,-1.1174303427628374,0.0,-2.6995217365084523,-0.1171783218149878,0.038910719344411995,8.140893512402114,0.0,0.0,-0.01156732606298896
4306 +4.921366826338073,5.9158432920806225,-0.9944764657425491,0.0,-1.9709107022120262,-0.06322673533822508,0.0,8.037615071230505,0.0,0.0,-0.08763434159963152
4307 +5.780743515792329,6.1635148169626115,-0.38277130117028246,0.0,-2.1386000502399876,-0.10862605425281989,0.029449257100003234,8.60368906209316,0.0,0.0,-0.22239739773774178
4308 +6.505784060128229,5.82153283275228,0.6842512273759489,0.0,-1.9276921901568214,0.10991963485779385,0.0,7.911052899419486,0.0,0.0,-0.27174751136817743
4309 +,4.931396154295676,,0.0,-2.7364169995070196,0.11937069254173097,0.0,7.624208346303212,0.0,0.0,-0.07576588504224593
4310 +5.638354669333745,5.280715062377665,0.35763960695608077,0.0,-1.892872658777847,0.05987477104329916,0.026786096644932214,7.301182216549989,0.0,0.0,-0.214255363082711
4311 +5.293304824724492,5.7334754146724265,-0.44017058994793423,0.0,-1.81762217335711,0.01695673743620206,0.029449257100003234,7.449103260794141,0.0,0.0,0.05558833269919064
4312 +4.204692619390966,4.168106238471821,0.0365863809191449,0.0,-4.979115526118774,-0.06686615593969068,0.029449257100003234,9.238202504200961,0.0,0.0,-0.05356384077067775
4313 +4.77912349311153,4.9966340980168535,-0.21751060490532392,0.0,-1.8404603305197904,-0.07561895137221111,0.017324634400523453,7.113352687174245,0.0,0.0,-0.21796394166591243
4314 +8.176391596633795,4.020709091890262,4.155682504743534,0.0,-5.008442100589736,0.039965099405233545,0.0,9.238202504200961,0.0,0.0,-0.2490164111261961
4315 +6.311734809152915,6.448448325432731,-0.13671351627981654,0.0,-2.038342920631803,-0.008973463340906731,0.0,8.291783025126765,0.0,0.0,0.2039816842786746
4316 +4.919980925828125,5.376571632289179,-0.4565907064610535,0.0,-2.3069334967831194,-0.1097039450256529,0.017324634400523453,7.598224034266061,0.0,0.0,0.17766040543136608
4317 +5.762051382780177,6.173476383312045,-0.41142500053186826,0.0,-1.822335578478782,0.016937757743462775,0.0,7.981872499311486,0.0,0.0,-0.0029982952641213097
4318 +9.001839097398843,5.661636488889901,3.3402026085089425,0.0,-1.473169983913981,-0.01988439534313395,0.0,7.181472788532354,0.0,0.0,-0.026781920385338876
4319 +5.25227342804663,5.617988944343007,-0.365715516296377,0.0,-1.7828550383012054,0.08392621952285732,-0.012124622699479781,7.5746687841164295,0.0,0.0,-0.24562639829559607
4320 +7.7266536648476425,6.447353752373243,1.2792999124743991,0.0,-1.7637437848264712,-0.19229715699462113,0.04140117222760452,8.442235448611198,0.0,0.0,-0.08024192664446655
4321 +,6.463831149333439,,0.0,-1.5520928912858611,0.32327314096268867,0.029276549528124737,7.7560092159066345,0.0,0.0,-0.09263486577814839
4322 +,5.4279602806269756,,0.0,-1.4441754037837962,-0.1400179077620127,-0.012124622699479781,7.017707928442122,0.0,0.0,0.00657028643014089
4323 +4.74493212836325,6.038918010766207,-1.293985882402957,0.0,-1.3588714462363107,0.14496220091545114,0.029449257100003234,7.2894543661415785,0.0,0.0,-0.06607636715451516
4324 +5.14166355650266,5.66424398117347,-0.5225804246708101,0.0,-1.8443967389054743,0.07696156406901827,0.0024904528831925232,7.456983309252648,0.0,0.0,-0.02779460612591336
4325 +,-3.1112030529727015,,0.0,-2.1590436249555234,0.02443071095392314,-0.012124622699479781,-0.7434228090108422,0.0,0.0,-0.22104270726078012
4326 +5.877735781779639,5.346197498705968,0.5315382830736706,0.0,-1.8369784440765793,-0.13980869241706004,0.026786096644932214,7.35503743277587,0.0,0.0,-0.05883889422119211
4327 +,5.835771958209291,,0.0,-2.450169757592935,-0.08933196643161392,0.0,8.469010403582525,0.0,0.0,-0.09373672134868606
4328 +5.176149732573829,5.989423433464106,-0.8132737008902771,0.0,-1.583103869230201,-0.05622367519461316,0.029449257100003234,7.860377237622609,0.0,0.0,-0.2610755168336918
4329 +5.808142489980444,6.048436515953932,-0.2402940259734878,0.0,-1.667296156241716,-0.1152974579553327,-0.012124622699479781,7.722960577795597,0.0,0.0,0.12019417505486332
4330 +,5.950643490157159,,0.0,-1.4614057583042195,0.10688137290619305,0.017324634400523453,7.4587581993973595,0.0,0.0,-0.17091495824269567
4331 +,7.960734138021321,,0.0,-0.16026576818148808,-0.10304348865277445,0.04140117222760452,8.134852470349093,0.0,0.0,0.047789752278885905
4332 +4.553876891600541,5.874492724169848,-1.320615832569307,0.0,-2.7008610442419076,0.10960634629079087,0.0,8.689511803642718,0.0,0.0,-0.22376438152175349
4333 +7.718685495198466,5.984995928539677,1.7336895666587893,0.0,-1.5443954211879296,-0.010514993757412959,-0.012124622699479781,7.947930143202245,0.0,0.0,-0.3958991770177455
4334 +4.955827057601261,5.227695183337775,-0.2718681257365141,0.0,-1.7352233339151946,0.014613724495614336,0.017324634400523453,6.860127773883567,0.0,0.0,0.07085238447326694
4335 +7.413970290190444,5.495528746853428,1.9184415433370159,0.0,-2.418784345683668,0.03637002669728097,0.038910719344411995,7.482223963294436,0.0,0.0,0.35680838320096775
4336 +4.204692619390966,5.039433334699299,-0.8347407153083335,0.0,-2.2117319633008234,-0.1851861201022975,0.029449257100003234,7.70588711456691,0.0,0.0,-0.2989849535644942
4337 +,7.840557939945339,,0.0,-0.6578278016651131,0.017300332596155273,0.04140117222760452,8.134852470349093,0.0,0.0,0.3048317664376001
4338 +5.683341643751415,5.369390195963455,0.3139514477879599,0.0,-1.860005273478694,0.007531105941970727,0.0,7.393384914953854,0.0,0.0,-0.17152055145367634
4339 +,5.28863003892616,,0.0,-1.8375362942145328,0.06383484420055985,0.017324634400523453,7.036725105966104,0.0,0.0,0.008281748573505054
4340 +5.163928463509385,-5.569503185942207,10.733431649451592,0.0,-5.5245985262061845,0.013385362574465104,0.029449257100003234,0.0,0.0,0.0,-0.08773927941049144
4341 +5.083823796047731,5.657323488125908,-0.573499692078177,0.0,-2.2877561039825283,0.07248412876581951,0.029449257100003234,7.882228757176238,0.0,0.0,-0.03908255093362247
4342 +5.1961185142277895,5.214808438382531,-0.018689924154741355,0.0,-2.173545019021785,-0.012194820758941086,0.026786096644932214,7.313345466919261,0.0,0.0,0.06041671459906437
4343 +5.910796644040527,6.965007388382663,-1.0542107443421358,0.0,-0.4927385376987683,-0.06767722791717884,0.026786096644932214,7.677663620310747,0.0,0.0,-0.17902656295706956
4344 +4.859812404361672,2.8126802066271783,2.0471321977344936,0.0,-6.2541584750481585,0.030558204684452677,0.038910719344411995,9.0784399922403,0.0,0.0,-0.08107023459382735
4345 +7.520234556474628,7.757807971089643,-0.23757341461501547,0.0,-0.5747155282522831,0.06839854056901865,0.0024904528831925232,8.208942978183227,0.0,0.0,0.05269152770648847
4346 +,5.131121405970841,,0.0,-2.3705901888978813,-0.07436585266722358,0.019815087283715976,7.757739379936711,0.0,0.0,-0.20147701968448156
4347 +,4.91560299105027,,0.0,-2.0410055734422956,0.005653109363527538,-0.012124622699479781,6.9630800778285185,0.0,0.0,0.0
4348 +8.717027173294824,8.528019032638388,0.18900814065643523,0.0,-1.8404586904030085,-0.002522231182141845,0.029449257100003234,7.357029141408951,0.0,0.0,2.984521555714587
4349 +,-3.5617244780152677,,0.0,-4.031817913892835,-0.019409717414392683,0.0024904528831925232,0.0,0.0,0.0,0.4870127004087681
4350 +4.941642422609304,-6.305187828040952,11.246830250650255,0.0,-6.574987232262238,0.012349473938046189,0.0,0.0,0.0,0.0,0.2574499302832386
4351 +,-5.364592622435468,,0.0,-5.096133971554853,0.003842392108548403,0.0,0.0,0.0,0.0,-0.272301042989163
4352 +,-6.113394080688584,,0.0,-5.910682987709477,-0.135905116036269,0.038910719344411995,0.0,0.0,0.0,-0.10571669628725112
4353 +,-5.047760651180137,,0.0,-4.866121195494658,-0.11564156217127011,0.0,0.0,0.0,0.0,-0.06599789351420941
4354 +3.7376696182833684,-2.7175206423518747,6.455190260635243,0.0,-2.535323076392274,0.037534952704226014,0.0,-0.27829371161694044,0.0,0.0,0.05856119295311302
4355 +,-5.138823266907343,,0.0,-4.948387504635711,-0.0544798239180178,0.0,0.0,0.0,0.0,-0.13595593835361253
4356 +,-2.5541009919956443,,0.0,-1.5440907273711435,-0.06900043833368029,0.017324634400523453,-0.7423105607057928,0.0,0.0,-0.2160238999855499
4357 +,-2.139515377837213,,0.0,-2.0269996256368588,0.08504081488656585,0.0,-0.27470980041178117,0.0,0.0,0.0771532333248631
4358 +,-4.549273492099604,,0.0,-4.548988473675637,0.012317050904335103,0.0,0.0,0.0,0.0,-0.012602069328301574
4359 +,-4.482765591483717,,0.0,-4.3681635830756855,0.10536139380741841,0.0,0.0,0.0,0.0,-0.21996340221544952
4360 +,-2.3902022915442536,,0.0,-1.7372190908128529,-0.04293760190146007,0.0,-0.5976170273757043,0.0,0.0,-0.01242857145423637
4361 +,-1.681176715636861,,0.0,-1.1816591147109143,0.16679077680332827,0.038910719344411995,-0.43505116558869333,0.0,0.0,-0.2701679314849941
4362 +,-4.370230821719815,,0.0,-4.139945144206436,0.07429497167076661,0.0024904528831925232,0.0,0.0,0.0,-0.3070711020673382
4363 +,-2.5451640964646534,,0.0,-1.7398886433868421,-0.04674506943658892,0.017324634400523453,-0.7423105607057928,0.0,0.0,-0.03354445733595143
4364 +,-5.600881358290269,,0.0,-5.227704823084423,-0.17971730294843966,0.0024904528831925232,0.0,0.0,0.0,-0.19594968514059813
4365 +,-5.5179457966611745,,0.0,-5.244323017240481,-0.018753079917873207,0.0024904528831925232,0.0,0.0,0.0,-0.2573601523860125
4366 +,-2.469568692823962,,0.0,-1.79420595122646,0.026149987511870726,0.0,-0.4356690813137208,0.0,0.0,-0.2658436477956505
4367 +,-2.8623923231198045,,0.0,-2.0833573750623957,-0.00845271948595347,0.026786096644932214,-0.7426813101408093,0.0,0.0,-0.054687015075578264
4368 +6.763884908562435,3.8539030331579607,2.9099818754044744,0.0,-5.142728511558748,-0.09927762079290625,0.029449257100003234,9.0784399922403,0.0,0.0,-0.011980083830687327
4369 +9.316230747233615,7.61186382109291,1.7043669261407048,0.0,-2.3327255315472986,-0.12627551463724884,0.0,7.4604626959815015,0.0,0.0,2.6104021712959566
4370 +4.454347296253507,5.10448972645121,-0.650142430197703,0.0,-2.0999266575230306,-0.028145646335836008,0.017324634400523453,7.165469287318982,0.0,0.0,0.04976810859057065
4371 +5.69035945432406,3.4576030221690366,2.2327564321550235,0.0,-5.320075406904309,-0.140763885264792,0.0,9.0784399922403,0.0,0.0,-0.15999767790216193
4372 +5.905361848054571,5.620209419641791,0.28515242841278,0.0,-1.8888160649940025,-0.17216712983931243,0.019815087283715976,7.758357295661739,0.0,0.0,-0.09697976847035134
4373 +5.68697535633982,6.0554021575122565,-0.3684268011724363,0.0,-1.6099668246204324,0.012913710487939281,0.019815087283715976,7.707988028032004,0.0,0.0,-0.07534784367096964
4374 +7.945909598613133,-5.942276202303634,13.888185800916766,0.0,-5.8216217723112695,-0.007460390585151147,0.0,0.0,0.0,0.0,-0.11319403940721433
4375 +4.8283137373023015,5.336089609107836,-0.5077758718055341,0.0,-1.4251999892742644,-0.06252924871222323,0.029449257100003234,7.09111390282899,0.0,0.0,-0.2967443128346699
4376 +5.356586274672012,6.315225151514727,-0.9586388768427145,0.0,-1.3156407326317163,-0.0578927394616212,0.0024904528831925232,7.594515585155532,0.0,0.0,0.09175258556933871
4377 +,4.095330129569088,,0.0,-5.2628101921115205,0.009592051180419562,0.029449257100003234,9.238202504200961,0.0,0.0,0.08089650919922448
4378 +6.956393050588031,7.193603811295776,-0.23721076070774494,0.0,-1.114182426307786,0.021602898854940766,0.0,8.280781835129236,0.0,0.0,0.005401503619385489
4379 +5.190899179780744,6.240984412014685,-1.0500852322339407,0.0,-1.3259167976192048,-0.11418372392625892,0.038910719344411995,7.387993623259592,0.0,0.0,0.2541805909561423
4380 +5.095221510537605,7.046476911316169,-1.9512554007785647,0.0,-2.145918790364459,-0.05339408564313063,0.017324634400523453,7.909264989217418,0.0,0.0,1.3192001637058206
4381 +7.506047676029124,4.659811248841674,2.84623642718745,0.0,-2.0266718001272173,-0.1746248141161481,-0.012124622699479781,7.330506033083341,0.0,0.0,-0.4572735472988211
4382 +,5.5384816052953365,,0.0,-1.7483463900268772,-0.009670105531369832,0.0,7.653977371352466,0.0,0.0,-0.35747927049888334
4383 +4.098336583491638,5.211367109857012,-1.1130305263653737,0.0,-2.3268391082303443,-0.11484902158156898,0.0,7.665475629237953,0.0,0.0,-0.012420389569027666
4384 +7.78672205771587,5.3144889299206,2.4722331277952696,0.0,-2.6149984802586284,-0.07735216421519905,0.038910719344411995,7.8974477475796405,0.0,0.0,0.070481107470376
4385 +8.258818756980823,3.7781418988788604,4.480676858101962,0.0,-5.08021029072525,-0.03503739102667852,0.0,9.0784399922403,0.0,0.0,-0.1850504116095094
4386 +7.996700996533476,3.8408536688167896,4.155847327716686,0.0,-4.941841298897966,-0.15570523976341819,0.0,9.0784399922403,0.0,0.0,-0.14003978476212453
4387 +,5.972930557216854,,0.0,-2.0985038426530718,-0.0481884397226565,0.038910719344411995,8.038232986955533,0.0,0.0,0.042479133292637944
4388 +6.944896909262757,6.569108864642435,0.37578804462032167,0.0,-1.595775222558605,0.0013851565808150439,0.029449257100003234,8.16949037991479,0.0,0.0,-0.035440706394568616
4389 +7.758931323766992,4.852472190168772,2.9064591335982204,0.0,-2.1122726420594526,-0.02275115820860578,0.0,7.22715104189294,0.0,0.0,-0.23965505145610877
4390 +5.696690720842445,5.561747056516398,0.13494366432604643,0.0,-1.5848134955441209,-0.1480362187931961,0.0024904528831925232,7.497286368672354,0.0,0.0,-0.20518005070182993
4391 +5.518857531992132,5.601724136665976,-0.08286660467384444,0.0,-1.8443967389054743,0.02716403184898062,0.0024904528831925232,7.456983309252648,0.0,0.0,-0.040516918413369865
4392 +4.579852378003801,5.497320332064191,-0.9174679540603892,0.0,-2.318274049296927,-0.021839320716334636,0.029449257100003234,8.030237282343107,0.0,0.0,-0.22225283736565796
4393 +4.407085034014658,4.494600852625378,-0.08751581861071944,0.0,-2.8953970273090235,-0.19186729534439995,0.038910719344411995,7.611057627500689,0.0,0.0,-0.06810317156629883
4394 +,5.644635637126474,,0.0,-2.34118658293822,-0.04879592732054391,0.038910719344411995,8.109478440835934,0.0,0.0,-0.1137710127951084
4395 +5.177222603169978,5.271178930766313,-0.09395632759633443,0.0,-1.830111974876643,-0.06816630076362311,0.026786096644932214,7.355902514790908,0.0,0.0,-0.21323140502926233
4396 +8.90116768838475,6.186657108715184,2.7145105796695654,0.0,-1.8991817989853033,0.009086545396253976,-0.012124622699479781,8.003529137642163,0.0,0.0,0.08534784736155099
4397 +4.866918876413368,5.31124212824949,-0.4443232518361224,0.0,-1.9231863740459056,-0.05502803506701228,0.029449257100003234,7.3233780521045615,0.0,0.0,-0.06337077184215596
4398 +,5.300175612238332,,0.0,-1.7262253090480666,-0.1774262972786523,0.0,7.431216078110064,0.0,0.0,-0.2273888595450133
4399 +4.740138046398576,5.559573475953904,-0.8194354295553286,0.0,-1.909922677839778,0.042517547208513876,0.029449257100003234,7.597111785961012,0.0,0.0,-0.1995824364758464
4400 +,5.635729551098025,,0.0,-1.9915907427490191,-0.09643050883126356,0.038910719344411995,7.876779373473571,0.0,0.0,-0.19193929013967478
4401 +4.430816798843313,4.80919479034205,-0.37837799149873685,0.0,-1.563738844174292,-0.013889213454405885,0.029449257100003234,6.603861116021158,0.0,0.0,-0.24648752515041106
4402 +8.8951500601078,6.584512112957084,2.310637947150717,0.0,-1.4681311581408094,0.11079810895463833,0.029449257100003234,8.134852470349093,0.0,0.0,-0.2224565653058414
4403 +4.634728988229636,5.484069353367678,-0.8493403651380422,0.0,-2.160415997214481,-0.05470387829062835,0.0,7.754671554389941,0.0,0.0,-0.055482325517153964
4404 +8.265907334155747,5.816331214573769,2.4495761195819776,0.0,-1.9060717748212257,-0.05120875241298479,0.0,7.981208638172884,0.0,0.0,-0.2075968963649031
4405 +5.541263545158426,5.555395730779126,-0.014132185620700177,0.0,-1.0697832411666175,-0.020997421926317796,0.04140117222760452,6.823614242959817,0.0,0.0,-0.21883902131535807
4406 +4.867534450455582,5.479118629392986,-0.6115841789374041,0.0,-2.367600341540167,0.07077292968270454,0.017324634400523453,7.756627131631662,0.0,0.0,0.0019942752182629253
4407 +8.615671076014616,5.786775693734872,2.828895382279744,0.0,-1.7803208594579134,0.111616880618496,0.0,7.487884531684852,0.0,0.0,-0.03240485911056305
4408 +4.861206780604327,4.911881115241308,-0.05067433463698112,0.0,-2.002432501505968,0.001074457953394739,0.017324634400523453,7.141048955154312,0.0,0.0,-0.2451344307609532
4409 +,6.008914902510648,,0.0,-1.6020831307390955,0.07857591188078733,0.026786096644932214,7.776687244171876,0.0,0.0,-0.2710512194478522
4410 +6.988413181999592,6.713532401220703,0.2748807807788891,0.0,-1.2406078776746687,-0.12258537118024675,0.0,8.371014507390216,0.0,0.0,-0.29428885731459914
4411 +4.886809034892587,5.7126570918178485,-0.8258480569252615,0.0,-1.8611281575933587,-0.02549398810491002,-0.012124622699479781,7.622858482656995,0.0,0.0,-0.011454622441398587
4412 +4.8004902285677025,5.909190423357731,-1.1087001947900283,0.0,-1.64905893779465,0.15503080312790288,0.0,7.755598449202478,0.0,0.0,-0.35237989117800206
4413 +,5.972811357202228,,0.0,-1.7239170343732537,0.027041647861830304,0.029449257100003234,8.064753453662535,0.0,0.0,-0.42451596704888583
4414 +,7.050864211369257,,0.0,-1.0066115278137726,0.027318894286689786,0.03193970998319576,7.99718864423207,0.0,0.0,0.0010284906810743288
4415 +7.822268431898529,7.583109924527937,0.23915850737059152,0.0,-0.8347265668192092,0.0252285281594488,0.029276549528124737,8.063013613403083,0.0,0.0,0.30031780025649013
4416 +8.595031625308522,4.882502628121991,3.7125289971865305,0.0,-2.1329771016255235,-0.1757031315662404,0.0,7.610439711775662,0.0,0.0,-0.4192568504619079
4417 +4.29510616264318,5.252111897965104,-0.9570057353219239,0.0,-2.479050763186299,0.10429289232709171,0.017324634400523453,7.859947852617124,0.0,0.0,-0.25040271819333565
4418 +5.377913820819179,3.3168574816653433,2.061056339153836,0.0,-5.64182418774482,0.05432415967456596,0.0,9.0784399922403,0.0,0.0,-0.1740824825047027
4419 +5.530935888224764,5.822216655028284,-0.2912807668035198,0.0,-1.3042614878681968,-0.0631204128581018,0.029276549528124737,7.141543287734334,0.0,0.0,0.018778718492124674
4420 +7.988807623658833,5.050758666746487,2.938048956912345,0.0,-2.312417637800742,-0.07188138692220572,0.0,7.463752899227011,0.0,0.0,-0.028695207757575447
4421 +8.273846932784508,7.450001362187056,0.8238455705974523,0.0,-1.1079846918969745,-0.04428902447251638,0.04140117222760452,8.222776125363746,0.0,0.0,0.33809778096519716
4422 +6.999349472143134,6.432390667213716,0.5669588049294179,0.0,-0.9579868344688611,0.06084432316601945,0.0,7.47024220326713,0.0,0.0,-0.14070902475057556
4423 +,6.019013211714667,,0.0,-0.7550197429548087,0.021912494650943394,0.0,6.869655869779853,0.0,0.0,-0.11753540976132144
4424 +5.689649743079144,4.448665734718235,1.2409840083609094,0.0,-4.697422754888354,-0.03788336358692604,0.0,9.238202504200961,0.0,0.0,-0.054230651007445674
4425 +5.73969644450387,7.4039543378748975,-1.664257893371028,0.0,-0.44671399870028594,-0.10179909668063311,0.0,8.148204090083695,0.0,0.0,-0.19573665682787753
4426 +,5.329713164777728,,0.0,-1.8217657483809857,0.004151569543363688,0.029276549528124737,7.168480888359443,0.0,0.0,-0.05043009427221802
4427 +7.696185366247227,5.836077771559299,1.8601075946879284,0.0,-2.0516037556498725,-0.26293298565524414,0.0,8.194658754001047,0.0,0.0,-0.04404424113662835
4428 +5.485004380851631,6.059176017485156,-0.5741716366335252,0.0,-1.3032776446631429,-0.02610739569396712,0.04140117222760452,7.165222121028971,0.0,0.0,0.18193776458569108
4429 +,4.701829063710576,,0.0,-1.967829294623857,-0.11250472288142832,0.017324634400523453,6.994674044530512,0.0,0.0,-0.22983559771517253
4430 +,5.221814088586237,,0.0,-1.2402163109363444,-0.033998031443668364,0.029449257100003234,6.694275143212252,0.0,0.0,-0.22769596934600433
4431 +5.213249554157973,5.383796360621697,-0.1705468064637241,0.0,-2.0639722564067347,-0.0034201010600690626,0.026786096644932214,7.34220233319472,0.0,0.0,0.08220028824884867
4432 +4.894850261102546,5.653657808282212,-0.758807547179666,0.0,-1.783558913713395,0.06821964682235757,0.0,7.643222306705152,0.0,0.0,-0.27422523153190254
4433 +,6.358251211078767,,0.0,-1.1286941324221038,0.007634891142197585,0.026786096644932214,7.403188387584263,0.0,0.0,0.049335968129479296
4434 +7.681560362559537,4.874595740420695,2.8069646221388425,0.0,-4.37724014933165,0.12217066505851674,0.0024904528831925232,9.0784399922403,0.0,0.0,0.048734779570336534
4435 +,5.121959268931114,,0.0,-1.48259170214871,-0.046113283938622546,0.029449257100003234,6.701594663345881,0.0,0.0,-0.08037966542743732
4436 +8.019359472843387,5.227891285002882,2.791468187840505,0.0,-2.5421899277587636,-0.0675226320669626,-0.012124622699479781,7.916585291126586,0.0,0.0,-0.06685682359849765
4437 +,6.322410234372489,,0.0,-1.7174360273098808,-0.017133929581672903,0.0,8.047697468482498,0.0,0.0,0.009282722781544323
4438 +5.2989671553895334,3.4558207694854204,1.843146385904113,0.0,-5.438317694171918,0.10091648419401114,0.038910719344411995,9.0784399922403,0.0,0.0,-0.3241287321213827
4439 +,6.042224754454006,,0.0,-1.7401725645899493,-0.014789415309528632,0.0,7.767057683407062,0.0,0.0,0.030129050946423167
4440 +,5.594482837319699,,0.0,-2.018147735581562,-0.10329065644455049,0.017324634400523453,7.692039838809439,0.0,0.0,0.006556756135850212
4441 +5.689649743079144,5.782192573202899,-0.09254283012375453,0.0,-1.5721380725755658,-0.1644236574249371,0.04140117222760452,7.642233641545108,0.0,0.0,-0.16488051056930886
4442 +5.883461654556327,5.538382378451793,0.34507927610453404,0.0,-1.5565733167356877,-0.07473375498430812,0.017324634400523453,7.3435617477897805,0.0,0.0,-0.19119693201851656
4443 +,6.4695850662662675,,0.0,-1.6138837517909748,0.01899147780001159,0.026786096644932214,7.859947852617124,0.0,0.0,0.17774339099517575
4444 +4.911330479685645,5.386628690491713,-0.47529821080606727,0.0,-1.3889679328061701,-0.08421734290539366,0.017324634400523453,6.920259000245985,0.0,0.0,-0.07776966844323419
4445 +7.38314438050421,6.710467664182389,0.6726767163218215,0.0,-1.2348226946273622,0.11119242161635745,0.026786096644932214,7.86173665221767,0.0,0.0,-0.054424811669209885
4446 +8.064765398280969,6.848475388618776,1.2162900096621927,0.0,-1.4789697255898409,-0.013905587507820321,0.038910719344411995,8.222776125363746,0.0,0.0,0.07966385700827976
4447 +7.089843475216301,4.259747172506914,2.8300963027093875,0.0,-4.669427852029786,-0.11954482459508327,0.04140117222760452,9.0784399922403,0.0,0.0,-0.07112131533612015
4448 +4.8004902285677025,5.15764969260667,-0.3571594640389675,0.0,-2.2061521111667206,-0.003003966261958169,0.017324634400523453,7.301923715420022,0.0,0.0,0.04755742021480175
4449 +6.637179391233039,6.326097906141312,0.3110814850917265,0.0,-0.9373246227023966,0.03443960912040275,0.0,7.481432153113513,0.0,0.0,-0.2524492333902062
4450 +5.38779237297564,5.847969629082957,-0.4601772561073174,0.0,-1.7869058494327144,0.13906604048816457,0.026786096644932214,7.376144172214396,0.0,0.0,0.09287916916817887
4451 +5.616880182625682,6.036960637263628,-0.4200804546379464,0.0,-1.6057602515054379,0.023460564997379238,0.017324634400523453,7.610348770494869,0.0,0.0,-0.008413081123703986
4452 +,6.00162611347616,,0.0,-1.7819215158174755,-0.08324714901034377,0.0,7.613408666449018,0.0,0.0,0.2533861118549612
4453 +5.372311046456363,5.398099516323542,-0.02578846986717931,0.0,-1.2019934659594531,-0.060757576983347154,0.029449257100003234,6.6564050715506955,0.0,0.0,-0.025003769384354335
4454 +4.937275759741795,5.990879929256708,-1.0536041695149123,0.0,-2.2046216899821784,-0.1580400788658132,0.029449257100003234,8.094809110633655,0.0,0.0,0.2292833303710423
4455 +4.810475579172421,5.587682232134563,-0.7772066529621418,0.0,-1.6278108308684063,-0.14144972598485062,0.029276549528124737,7.450709841679212,0.0,0.0,-0.12304360221951735
4456 +8.625561379489358,8.856321573757544,-0.23076019426818561,0.0,0.5495289745111105,-0.1516710693703964,0.0,8.368705490143888,0.0,0.0,0.08975817847294298
4457 +5.391306673390865,6.037010796796068,-0.6457041234052028,0.0,-1.9865602004884897,0.06683690157984667,0.017324634400523453,7.903251101442422,0.0,0.0,0.03615835986176613
4458 +4.323735226296777,5.887516270349618,-1.563781044052841,0.0,-1.705645674146445,-0.05744920352751251,0.038910719344411995,7.936282430123049,0.0,0.0,-0.3245820014438845
4459 +,3.888156584263154,,0.0,-1.9244818417499525,-0.08951701527165531,0.038910719344411995,6.7249260248583935,0.0,0.0,-0.8616813029180432
4460 +,5.86715281266511,,0.0,-1.660191916213857,-0.09489803379571961,0.029276549528124737,7.622858482656995,0.0,0.0,-0.029892269510433334
4461 +,5.979306626139321,,0.0,-1.1291441267724416,-0.0925016741234739,0.0,7.497780701252376,0.0,0.0,-0.29682827421713887
4462 +,6.1045386774101695,,0.0,-1.7090425422841706,-0.046483106067808935,0.038910719344411995,7.739112122060233,0.0,0.0,0.082041484357506
4463 +,5.712356744102461,,0.0,-1.756391837703977,-0.017266249053435392,-0.012124622699479781,7.290329413993524,0.0,0.0,0.2078100395658309
4464 +8.538684588016915,5.5439039819211455,2.9947806060957696,0.0,-1.5784484111357173,-0.11972638070105257,0.0,7.321669641152852,0.0,0.0,-0.0795908673949347
4465 +4.757547866408974,4.695386719320348,0.06216114708862541,0.0,-2.1084509350054956,-0.1600886003156981,0.017324634400523453,6.9860456905859305,0.0,0.0,-0.03944407034491403
4466 +5.473278568935699,5.493517893789816,-0.020239324854117058,0.0,-2.120059472514595,0.011788879020518298,0.017324634400523453,7.503324259750442,0.0,0.0,0.0811395931329277
4467 +4.525477417078843,5.572166698556164,-1.0466892814773212,0.0,-3.0530342317851695,-0.12610565534143764,0.0024904528831925232,8.685270914203755,0.0,0.0,0.06354521859582427
4468 +7.4205789054108005,5.653688632812587,1.7668902725982134,0.0,-1.8878324120271843,-0.02838113878011672,0.0,7.5187689836897,0.0,0.0,0.05113319993018803
4469 +5.394627046685445,5.064620995407887,0.33000605127755733,0.0,-2.116716801496671,0.09464519105041608,0.038910719344411995,7.196692456587745,0.0,0.0,-0.14891057007801334
4470 +,7.2685364624810935,,0.0,-0.5690263507305362,0.040347225951731326,0.029276549528124737,7.949660307232322,0.0,0.0,-0.18172126950054604
4471 +7.504485167114679,6.03452402150825,1.4699611456064297,0.0,-2.131777892845263,0.1138339584428846,0.029449257100003234,8.134852470349093,0.0,0.0,-0.11183377153846669
4472 +5.086113755272161,4.744378545732773,0.3417352095393884,0.0,-2.054145161501106,-0.06853826581859694,0.017324634400523453,7.161632808624152,0.0,0.0,-0.3118954699721989
4473 +8.721806106111012,5.242469880934,3.479336225177012,0.0,-1.7044841883309987,0.07143532380386335,0.026786096644932214,7.000634465213436,0.0,0.0,-0.15190181639723294
4474 +8.02595121672408,7.726028477334029,0.299922739390051,0.0,-0.6356939312251351,0.01997878219890041,0.04140117222760452,8.063013613403083,0.0,0.0,0.23732884072957686
4475 +8.73654074704664,5.308731557419226,3.427809189627413,0.0,-1.8681318124215451,-0.04624444154511995,-0.012124622699479781,7.522177949190206,0.0,0.0,-0.2869455151048339
4476 +4.658710952916121,5.327218382219495,-0.6685074293033741,0.0,-1.2242181284732156,-0.002270269042428337,0.026786096644932214,6.71028856293856,0.0,0.0,-0.1833678798483554
4477 +6.184746650388029,7.519763896263,-1.3350172458749707,0.0,-0.998285474535737,0.0060845721641555675,0.0024904528831925232,8.529170438465806,0.0,0.0,-0.01969609271441794
4478 +7.883069351305753,7.544541933311896,0.3385274179938573,0.0,-1.5480366841228124,0.13614348312454738,0.0,8.60368906209316,0.0,0.0,0.35274607221700194
4479 +,5.55646032225534,,0.0,-1.834470094151592,-0.07991772140271297,0.019815087283715976,7.382749749717767,0.0,0.0,0.06828330080816256
4480 +,5.842901185923611,,0.0,-2.9464380098646172,-0.155646116151197,0.038910719344411995,8.530451728043312,0.0,0.0,0.37562286455170174
4481 +4.399129542573544,9.840718348941806,-5.441588806368262,0.0,2.417683214735756,-0.04816491857295932,0.017324634400523453,7.440484458185817,0.0,0.0,0.013390960192669438
4482 +5.536073630230092,5.216167911051916,0.319905719178176,0.0,-2.1612254393906793,0.06797524181057611,0.017324634400523453,7.475274410820283,0.0,0.0,-0.18318093658878792
4483 +5.6534010450952765,5.863952849223502,-0.21055180412822505,0.0,-1.9692151947032075,-0.023801451103678983,0.0,7.960039981918818,0.0,0.0,-0.10307048688843082
4484 +4.74493212836325,4.826789521294773,-0.08185739293152317,0.0,-2.427831850434864,-0.0624813509050477,-0.012124622699479781,7.5857197861806505,0.0,0.0,-0.25649244084648387
4485 +,5.854358185097504,,0.0,-1.2231844492342399,-0.09253573559454074,0.038910719344411995,7.37466117447433,0.0,0.0,-0.24349352389245446
4486 +8.769973211858753,5.7147751641608675,3.0551980476978855,0.0,-2.2418937537222368,0.02339561247138421,0.029449257100003234,8.030237282343107,0.0,0.0,-0.12641323403139038
4487 +5.814399152459731,4.9685107328738125,0.8458884195859184,0.0,-1.6004516240582927,-0.15130220290740673,0.029449257100003234,7.108027350701273,0.0,0.0,-0.4172120479617628
4488 +5.12598574378343,5.719104706742212,-0.5931189629587816,0.0,-1.9360657149913685,0.11026228018458545,0.017324634400523453,7.586832034485701,0.0,0.0,-0.05924852733722941
4489 +,6.042192545270622,,0.0,-1.299675390803042,0.06066154606606065,0.04140117222760452,7.1364490315607325,0.0,0.0,0.10335618621926754
4490 +7.46776527492166,5.979828674635917,1.4879366002857424,0.0,-1.4565023145009475,-0.045628028759866796,0.04140117222760452,7.757121464211684,0.0,0.0,-0.3165636185425568
4491 +5.626865432552101,4.111695873454634,1.5151695590974672,0.0,-5.109317357967095,0.0755349765837728,0.0024904528831925232,9.238202504200961,0.0,0.0,-0.09521470224619767
4492 +3.925728652484258,5.256956166816078,-1.33122751433182,0.0,-2.41908746084422,-0.12766900527485703,0.038910719344411995,7.983680301072994,0.0,0.0,-0.21887838748224872
4493 +5.0732344358527754,5.203274958929563,-0.13004052307678737,0.0,-1.3735302723852296,0.03905200342736169,0.017324634400523453,6.690211425987107,0.0,0.0,-0.16978283250019752
4494 +5.079352572055243,6.09871362925255,-1.0193610571973064,0.0,-1.5394562467070072,0.035851515095903605,0.017324634400523453,7.661974523406054,0.0,0.0,-0.07698079694292416
4495 +4.133244711179657,5.017767799419764,-0.8845230882401074,0.0,-2.125699979210607,-0.13011002263578011,0.0,7.200232624928421,0.0,0.0,0.07334517633772973
4496 +6.550966042798009,3.9053705636600404,2.645595479137969,0.0,-5.305218311585443,0.14264630722944124,0.0,9.0784399922403,0.0,0.0,-0.010497424224257354
4497 +4.305010592025198,5.058088165249152,-0.7530775732239539,0.0,-1.883312733097184,-0.09596947933722716,0.038910719344411995,7.09431542664389,0.0,0.0,-0.09585576830473945
4498 +7.65242222828238,4.8883996112788095,2.7640226170035707,0.0,-4.174452845839536,-0.05616393545470649,0.04140117222760452,9.0784399922403,0.0,0.0,-0.0008247718948524441
4499 +,4.647288259359773,,0.0,-2.252736166422989,-0.25305066674046495,0.017324634400523453,7.172769349936933,0.0,0.0,-0.037018891814230834
4500 +8.070740450070483,6.57355850548162,1.4971819445888626,0.0,-1.1713327811576493,-0.1799298556701699,0.029449257100003234,8.134852470349093,0.0,0.0,-0.2394805851396556
4501 +9.470897620157327,6.413807838359568,3.0570897817977594,0.0,-1.62828613442304,0.11151819593716253,0.026786096644932214,7.239332677807637,0.0,0.0,0.6644570023928755
4502 +5.458904431195985,5.949663429461065,-0.49075899826507996,0.0,-1.6216689146259444,-0.044903433493024156,0.017324634400523453,7.859947852617124,0.0,0.0,-0.26103670943761326
4503 +8.082667896737071,6.493484284767971,1.5891836119691005,0.0,-2.2321002491683934,-0.03340754127821238,0.038910719344411995,8.600599483468022,0.0,0.0,0.1194818724021435
4504 +4.222884350827332,5.49743551622621,-1.2745511653988775,0.0,-1.381527834452057,-0.0034012547467080004,0.038910719344411995,6.607437718848769,0.0,0.0,0.23601616723179492
4505 +,5.795895361390604,,0.0,-1.834789954947663,-0.16031827709545837,0.0,7.871276597553498,0.0,0.0,-0.08027300411977364
4506 +,4.794560434364104,,0.0,-2.6844239752013452,-0.12358539410336729,0.029276549528124737,7.6947578843218505,0.0,0.0,-0.12146463018115705
4507 +,5.867969542216339,,0.0,-1.2763612654653693,-0.03992690969103065,0.017324634400523453,7.3135926332092716,0.0,0.0,-0.14665955023705673
4508 +4.770006428441026,6.557168597137323,-1.7871621686962964,0.0,-1.3145415836597483,0.06117809114847128,0.0,7.87492562629849,0.0,0.0,-0.06439353664989123
4509 +4.57944203741536,5.909231492621136,-1.329789455205776,0.0,-1.43149027025171,-0.029623309301815882,0.04140117222760452,7.323748801539578,0.0,0.0,0.005195098407481585
4510 +4.9951154824382185,4.071997382469617,0.9231180999686011,0.0,-4.9154651378284075,-0.06686288827160056,0.029449257100003234,9.0784399922403,0.0,0.0,-0.05356384077067775
4511 +4.686012573832192,5.700945989349714,-1.0149334155175218,0.0,-2.1843055845726083,-0.060929297451001535,0.038910719344411995,7.960039981918818,0.0,0.0,-0.05276982988990539
4512 +5.736572297479192,5.973540862969955,-0.23696856549076273,0.0,-1.6027946942226698,-0.0706943356807935,0.029449257100003234,7.808080157333699,0.0,0.0,-0.19049952156028277
4513 +5.117993812416755,5.397804130016342,-0.27981031759958697,0.0,-2.0108123910131708,-0.04556072714466289,0.019815087283715976,7.369655741385412,0.0,0.0,0.06470641950504799
4514 +5.572154032177765,6.086921904476116,-0.5147678722983509,0.0,-1.3614811420012884,-0.15894427938788297,0.0,7.4541408969175205,0.0,0.0,0.15320642894776523
4515 +5.170483995038151,4.846082894951134,0.3244011000870177,0.0,-1.9558927096877765,-0.07714258412205435,0.029449257100003234,6.928766346868843,0.0,0.0,-0.07909741520788272
4516 +5.213249554157973,5.824240648939427,-0.6109910947814541,0.0,-1.3318825999642074,-0.06454307006259659,0.04140117222760452,7.107903767556268,0.0,0.0,0.07136137918235894
4517 +4.33033852551513,6.097118213836998,-1.7667796883218676,0.0,-2.375678936468465,0.22765966463609694,0.0,8.076926656303499,0.0,0.0,0.16821082936586895
4518 +4.881285622068407,5.90004702580071,-1.0187614037323032,0.0,-2.205541647893855,-0.00514921298385239,0.029449257100003234,8.134852470349093,0.0,0.0,-0.05356384077067775
4519 +6.476264420049582,4.264705686072793,2.211558733976789,0.0,-5.012288057901674,-0.08041857191780177,0.0024904528831925232,9.238202504200961,0.0,0.0,0.11671935880811504
4520 +6.512532538288234,5.874131604125122,0.638400934163112,0.0,-1.5281398917666404,-0.09305444660995063,0.029449257100003234,7.690556841069373,0.0,0.0,-0.22468015566766114
4521 +,5.03331591101156,,0.0,-1.7877527597602514,-0.06531823527827499,0.029449257100003234,6.920382583390991,0.0,0.0,-0.06344493444090729
4522 +4.858881738868719,5.06442858352548,-0.20554684465676054,0.0,-2.50334635681775,0.05278730584196266,0.026786096644932214,7.646820519056019,0.0,0.0,-0.1586189811996823
4523 +8.072779333169498,-5.428096844390713,13.500876177560212,0.0,-5.295304053637343,-0.08264746669312528,0.0,0.0,0.0,0.0,-0.05014532406024447
4524 +5.394627046685445,5.665245339143096,-0.2706182924576517,0.0,-1.9367597412944537,-0.03172622865561829,0.017324634400523453,7.795911683046656,0.0,0.0,-0.17950500835401134
4525 +,4.4167656416356555,,0.0,-2.3255555609763805,-0.04379076208142987,0.017324634400523453,7.058131713821951,0.0,0.0,-0.28934438352900727
4526 +5.565516080058417,6.026566041821429,-0.4610499617630115,0.0,-1.4124821830734646,-0.03284109566014627,0.0,7.688318043313567,0.0,0.0,-0.21642872275852523
4527 +5.3330569003519335,5.72708998148307,-0.3940330811311368,0.0,-2.3434558923570563,-0.10762979479650334,0.029449257100003234,8.371014507390216,0.0,0.0,-0.22228809585358875
4528 +7.191082884488882,6.264954086325116,0.9261287981637656,0.0,-1.5320268932814596,-0.010081021256050912,0.029449257100003234,8.036789051724245,0.0,0.0,-0.2591763079616219
4529 +3.786686514116848,6.813668489493472,-3.026981975376624,0.0,-1.267375234878001,-0.005973310131386647,0.038910719344411995,8.036789051724245,0.0,0.0,0.011317263434201225
4530 +,4.901059436305708,,0.0,-1.9341574906115389,-0.026665294624272393,0.0,7.0199803801126635,0.0,0.0,-0.15809815857114462
4531 +5.394627046685445,5.751591763344599,-0.35696471665915475,0.0,-1.734507841482853,0.07461826468443342,0.017324634400523453,7.307840372853218,0.0,0.0,0.08631633288927626
4532 +,4.6162455160794975,,0.0,-4.448266854824873,0.0019918644085318363,0.0,9.0784399922403,0.0,0.0,-0.015919485744461538
4533 +,5.54306357810726,,0.0,-1.7081991489608273,0.12517289690540326,0.026786096644932214,7.140678205719295,0.0,0.0,-0.04137447220154241
4534 +,6.0719838880242385,,0.0,-1.38868390933603,0.11460819383404512,0.026786096644932214,7.243549458768607,0.0,0.0,0.07572404811268449
4535 +7.603748405992001,5.58870480089573,2.0150436050962712,0.0,-1.8278172641885373,0.20738633635123288,0.0,7.5410709200675345,0.0,0.0,-0.3319351913344999
4536 +7.385925470894266,6.558622957134704,0.8273025137595624,0.0,-1.2282626031812454,0.05431694217090018,0.0,8.029764702841453,0.0,0.0,-0.29719608469640435
4537 +6.232192581179195,3.659285035677716,2.572907545501479,0.0,-5.137992124456129,-0.08729979537691028,0.0,9.0784399922403,0.0,0.0,-0.19386303672954378
4538 +,4.827323330390194,,0.0,-2.3525368481646325,-0.004567184821280032,0.0,7.2255444610078685,0.0,0.0,-0.041117097631762904
4539 +,6.12276929852384,,0.0,-2.2876276257865316,-0.03646180097011154,0.0,8.469010403582525,0.0,0.0,-0.02215167830204251
4540 +5.62495569411023,5.688917733434468,-0.06396203932423816,0.0,-1.793038218600894,-0.1600656642192162,0.017324634400523453,6.910436251407685,0.0,0.0,0.714260730446372
4541 +5.615788797185569,5.41987715069405,0.1959116464915196,0.0,-1.687110030141607,-0.09336061776264168,0.029276549528124737,7.5639395647049685,0.0,0.0,-0.3928683156347951
4542 +,4.774294652779629,,0.0,-2.07233282462892,0.0425650507350752,0.017324634400523453,6.93915407824387,0.0,0.0,-0.15241628597091728
4543 +4.190260619051927,5.3662498612183605,-1.175989242166433,0.0,-2.5355941348067006,0.028013660353305072,0.0,8.116921019035576,0.0,0.0,-0.24309068336382214
4544 +,4.776036083182777,,0.0,-1.7808081937052735,-0.06554537578879167,0.0,6.948402695692658,0.0,0.0,-0.32601304301581846
4545 +6.6106556670519865,3.819716841899088,2.7909388251528986,0.0,-5.356367307202216,-0.02796584071224082,0.0,9.238202504200961,0.0,0.0,-0.03415251438741513
4546 +5.2251013042167775,6.174163596291377,-0.9490622920745997,0.0,-1.337274091325459,0.030992930542004773,0.0024904528831925232,7.482841879019463,0.0,0.0,-0.004887574827822649
4547 +4.770006428441026,5.244797668945069,-0.4747912405040431,0.0,-1.8758463619203196,-0.11040859648979995,0.0024904528831925232,7.38436874366014,0.0,0.0,-0.15580656918814367
4548 +,5.347439579428666,,0.0,-2.202940284649677,-0.1451996359179355,0.038910719344411995,7.611675543225717,0.0,0.0,0.044993237426150995
4549 +5.2907387210244865,7.185916418386405,-1.8951776973619188,0.0,-1.281518135717847,0.0846323894631712,0.0,8.368705490143888,0.0,0.0,0.014096674497190534
4550 +5.157099364632499,5.407729565116431,-0.2506302004839318,0.0,-1.9814229585177197,-0.011029740942717504,0.017324634400523453,7.387993623259592,0.0,0.0,-0.005135993083247917
4551 +4.92391478389169,5.0972317782908245,-0.1733169943991344,0.0,-1.937597414028958,0.10131062732102686,0.0,7.1608957561934155,0.0,0.0,-0.22737719119466016
4552 +,5.837232706648117,,0.0,-1.5791487562737174,-0.0730224157407178,0.0,7.075914859084049,0.0,0.0,0.41348901957850087
4553 +5.213249554157973,5.662595218433946,-0.449345664275973,0.0,-1.8918999355561343,-0.11602174926451196,0.038910719344411995,7.722960577795597,0.0,0.0,-0.09135439388541633
4554 +4.9794197869433345,5.642157664255513,-0.6627378773121784,0.0,-1.1192464899730465,-0.20413521748490382,0.04140117222760452,6.946708821850925,0.0,0.0,-0.02257062236506749
4555 +,5.667250191343779,,0.0,-1.4624718426229988,-0.006954545909808457,0.029276549528124737,7.284770946938466,0.0,0.0,-0.1773709165900041
4556 +5.172640758460035,5.689516085729235,-0.5168753272691999,0.0,-1.8910667251703623,0.0933126896716431,-0.012124622699479781,7.740224370365282,0.0,0.0,-0.24082962643784728
4557 +,5.595357587277238,,0.0,-2.144875315367031,-0.017523707406831554,0.029449257100003234,7.915843792256553,0.0,0.0,-0.1875364393054553
4558 +7.235006561547387,6.506295775866737,0.7287107856806498,0.0,-1.8259205708932322,0.03271301044951433,0.0024904528831925232,8.308669038405613,0.0,0.0,-0.011656154978350836
4559 +,7.207877700258786,,0.0,-1.2609857789558463,0.05268255556689384,0.0,8.065742118822579,0.0,0.0,0.3504388048251593
4560 +,4.719222330749266,,0.0,-2.3374388765529055,-0.04132186993762198,0.017324634400523453,7.324366717264605,0.0,0.0,-0.24370827442533524
4561 +5.560681631015528,-2.565713446479861,8.126395077495388,0.0,-1.4128317679440885,-0.009534968653403787,-0.012124622699479781,-0.7423105607057928,0.0,0.0,-0.3889115264770977
4562 +3.332204510175204,-2.3324908246752,5.664695334850403,0.0,-1.5978613123812897,-0.06845012199493808,0.0024904528831925232,-0.43505116558869333,0.0,0.0,-0.23361867759347196
4563 +,-2.8468638538671156,,0.0,-2.4629284861520437,-0.03291450736425176,0.0,-0.2765635475868635,0.0,0.0,-0.07445731276395615
4564 +4.382026634673881,-5.407081832733881,9.789108467407761,0.0,-5.130419347339126,-0.20694305720265643,0.04140117222760452,0.0,0.0,0.0,-0.11112060041970176
4565 +,-5.083342518629215,,0.0,-4.946804271138875,-0.06630650333033672,0.0024904528831925232,0.0,0.0,0.0,-0.07272219704319549
4566 +4.997212273764115,-5.918369412037524,10.915581685801639,0.0,-5.697424281024903,0.008393308307348815,0.0,0.0,0.0,0.0,-0.22933843931997022
4567 +,-5.329523128554679,,0.0,-5.470330073442469,0.03556644092396721,0.0,0.0,0.0,0.0,0.10524050396382309
4568 +4.68213122712422,-1.6901526090623584,6.372283836186578,0.0,-1.6615979554064628,0.059544369048580674,0.0,-0.2740918846867537,0.0,0.0,0.18599286198227596
4569 +,-5.152515222891625,,0.0,-5.2320573972401885,0.07918990560040447,0.0024904528831925232,0.0,0.0,0.0,-0.0021381841350343322
4570 +5.560681631015528,-4.063545771888563,9.62422740290409,0.0,-4.047823277801241,-0.11028890662491139,0.0,0.0,0.0,0.0,0.09456641253758638
4571 +4.143134726391533,-2.9999852405541643,7.143119966945697,0.0,-2.547304539104065,0.023171225932761903,0.029449257100003234,-0.2755748824268196,0.0,0.0,-0.22972630205604613
4572 +5.680172609017068,-2.514223262049425,8.194395871066494,0.0,-1.7253440602001842,-0.046593929218427955,-0.012124622699479781,-0.7423105607057928,0.0,0.0,0.012149910774459394
4573 +,4.775557812355519,,0.0,-4.626429787831537,0.15924581011773523,0.0024904528831925232,9.238202504200961,0.0,0.0,0.0020488329851669485
4574 +4.532599493153256,4.9158857984730835,-0.3832863053198272,0.0,-1.881817926430469,0.03390457925353849,0.0,6.884317787384038,0.0,0.0,-0.12051864173402495
4575 +,5.365659618108675,,0.0,-1.6616506026314184,-0.04956171736084081,0.04140117222760452,7.224300706938592,0.0,0.0,-0.18882994106526133
4576 +4.5217885770490405,4.571945158900202,-0.05015658185116134,0.0,-2.068872342561905,-0.047731918727149686,0.026786096644932214,7.06453819497793,0.0,0.0,-0.402774871433605
4577 +4.787491742782046,5.149307577766806,-0.36181583498476044,0.0,-2.3470806806723585,0.04351574156462859,0.026786096644932214,7.646820519056019,0.0,0.0,-0.22073409882641304
4578 +5.8916442118257715,5.602523579809811,0.28912063201596006,0.0,-1.8779286055049402,-0.06853952728424369,0.0,7.723074195103696,0.0,0.0,-0.1740824825047027
4579 +7.349873704738337,5.582972917467445,1.7669007872708917,0.0,-2.164704783134626,-0.21459230937937476,0.0,8.035800386564201,0.0,0.0,-0.07353037658275434
4580 +5.602118820879701,5.808230193734879,-0.20611137285517778,0.0,-1.951063548155953,0.0008685540408246012,0.029449257100003234,7.949660307232322,0.0,0.0,-0.22068437648231767
4581 +,5.510517641154285,,0.0,-1.7473917136599848,-0.07183455207327909,0.0024904528831925232,7.342745404512894,0.0,0.0,-0.015491950508537449
4582 +,-5.085897550641395,,0.0,-5.650023561158573,-0.0009105435770291118,0.0,0.0,0.0,0.0,0.5650365540942073
4583 +6.329720905522696,-5.159058094036911,11.488778999559607,0.0,-5.290537515357812,0.08686325526593666,0.0024904528831925232,0.0,0.0,0.0,0.04212571317177241
4584 +,-6.6753411132570015,,0.0,-6.612239723977912,-0.024382238607282485,0.038910719344411995,0.0,0.0,0.0,-0.07762987001621993
4585 +5.0689042022202315,-2.776557401397713,7.845461603617944,0.0,-2.097567105321631,0.16007356283297847,0.038910719344411995,-0.7423105607057928,0.0,0.0,-0.13566401754767846
4586 +4.727387818712341,-5.665233250800062,10.392621069512403,0.0,-5.52427740331772,-0.06165647969737084,0.038910719344411995,0.0,0.0,0.0,-0.11821008712938434
4587 +4.625658852415407,4.999126010495907,-0.3734671580804996,0.0,-2.496277542807751,-0.07579385194815286,0.03193970998319576,7.782611443668813,0.0,0.0,-0.243353748400199
4588 +4.7102506624385985,4.754527810658103,-0.04427714821950435,0.0,-1.5346800663706324,-0.10844535415501501,0.017324634400523453,6.606014251632574,0.0,0.0,-0.22568565484934788
4589 +8.487725245047173,-5.072101758145933,13.559827003193107,0.0,-4.8610130593831515,0.03293854404738819,0.0,0.0,0.0,0.0,-0.24402724281016885
4590 +,6.6120879959715655,,0.0,-1.5137830990425298,-0.08844785339581544,0.038910719344411995,7.965649989520884,0.0,0.0,0.20975823954461711
4591 +,-4.019326888335438,,0.0,-3.995449587384617,-0.010052155196294637,0.0024904528831925232,0.0,0.0,0.0,-0.01631559863771817
4592 +6.853299093186078,-5.839665883541159,12.692964976727236,0.0,-5.547629321330744,0.10133007801157472,0.029449257100003234,0.0,0.0,0.0,-0.4228158973219941
4593 +4.477336814478207,-2.5722268636291337,7.04956367810734,0.0,-2.1733683340702683,0.06789325588739513,0.029449257100003234,-0.4373992453437977,0.0,0.0,-0.05880179720246582
4594 +4.61512051684126,-2.2317336892546993,6.8468542060959585,0.0,-1.5041480423142586,-0.06498903079183033,0.0024904528831925232,-0.5963811959256494,0.0,0.0,-0.06870587310615284
4595 +,6.546116211603664,,0.0,-0.7341616446997117,-0.07589834983302302,0.026786096644932214,6.405040750876739,0.0,0.0,0.9243493586147271
4596 +4.718498871295094,5.063166248920248,-0.34466737762515365,0.0,-1.610146209437059,0.034902019697366324,0.0,6.889503381279605,0.0,0.0,-0.25109294261966536
4597 +,6.709258425685354,,0.0,-2.408695726091784,-0.0484548890556636,0.0024904528831925232,8.327112915901582,0.0,0.0,0.8368056720480269
4598 +4.8283137373023015,5.597567125366882,-0.7692533880645804,0.0,-1.4356345252986884,-0.07638982674852762,0.0,7.289883820151654,0.0,0.0,-0.18029234273755418
4599 +,4.90981534084159,,0.0,-1.8287465144152515,-0.11733388708406955,0.017324634400523453,6.796919474469365,0.0,0.0,0.04165163347102282
4600 +5.556828061699537,5.588403400187637,-0.0315753384880999,0.0,-1.9268878748751481,-0.0022589279304650045,-0.012124622699479781,7.531412244833739,0.0,0.0,-0.0017374191410089845
4601 +5.54907608489522,5.278299223505401,0.2707768613898187,0.0,-1.6884031368783914,0.0419959832814462,0.029449257100003234,6.969939308057162,0.0,0.0,-0.0746821880548199
4602 +,5.087494552395328,,0.0,-3.7252031842205833,0.002504249204267294,0.0024904528831925232,9.0784399922403,0.0,0.0,-0.27073695771184786
4603 +5.204006687076795,5.902459701550472,-0.6984530144736771,0.0,-1.8855749724496977,-0.06951668247609526,0.0,7.647647043645514,0.0,0.0,0.20990431283075248
4604 +5.780743515792329,5.528991128226303,0.25175238756602614,0.0,-1.56506397886214,-0.03465062553248187,0.0,7.5051342640610414,0.0,0.0,-0.3764285314401175
4605 +8.206037762778815,6.170112781489678,2.0359249812891367,0.0,-2.0529577316667025,0.01455123431364969,0.04140117222760452,8.109478440835934,0.0,0.0,0.05763966577919493
4606 +7.352441100243583,7.4749469212744994,-0.12250582103091645,0.0,-0.7777817291916529,-0.06088448668683048,0.0024904528831925232,8.368705490143888,0.0,0.0,-0.057582805874099446
4607 +,6.140789192108476,,0.0,-1.5287807992093976,-0.12163836157820704,0.0,7.922616608952019,0.0,0.0,-0.13140825605593945
4608 +4.51085950651685,5.511966899199724,-1.001107392682874,0.0,-2.641066042310971,-0.13039667442997305,0.0,8.327112915901582,0.0,0.0,-0.04368329996091316
4609 +,4.9964279347366745,,0.0,-1.1558856922012426,-0.01708639400730627,0.029276549528124737,6.707036215912237,0.0,0.0,-0.5669127444951385
4610 +,5.138372788417738,,0.0,-1.8534031584732018,-0.1367649004942444,0.038910719344411995,7.288969999398463,0.0,0.0,-0.1993398713576916
4611 +,5.897219254217199,,0.0,-1.4946450704768273,-0.07894020023582424,0.026786096644932214,7.3624154372295445,0.0,0.0,0.08160299105537513
4612 +5.402677381872279,6.0233437669941825,-0.6206663851219032,0.0,-1.8518628601940934,0.02946595942592765,0.0,8.109478440835934,0.0,0.0,-0.26373777307358576
4613 +4.867534450455582,5.106137119091944,-0.2386026686363616,0.0,-2.2644951658326873,0.009074872322780432,0.019815087283715976,7.057191118604524,0.0,0.0,0.2845512067136087
4614 +8.096208271650037,6.824280185893877,1.2719280857561595,0.0,-1.2645442664614555,-0.09847372801857816,0.0024904528831925232,8.371014507390216,0.0,0.0,-0.1862067798994975
4615 +5.605802066295998,6.271948383936886,-0.6661463176408882,0.0,-1.5610215933031002,-0.17823373579408192,0.0,8.280781835129236,0.0,0.0,-0.26957812209516696
4616 +,6.042180309692785,,0.0,-1.2468506691768058,-0.09798825925864528,0.029449257100003234,7.396205574210614,0.0,0.0,-0.03863559318238166
4617 +4.61512051684126,5.020777996925911,-0.40565748008465174,0.0,-1.329557553804256,-0.12413598385298255,0.0,6.700578939336346,0.0,0.0,-0.22610740475319618
4618 +7.81762544305337,6.731062686027479,1.0865627570258907,0.0,-0.9573117153155914,-0.21282250526424804,0.0024904528831925232,8.208942978183227,0.0,0.0,-0.3102365244591019
4619 +5.0689042022202315,6.239996514196705,-1.1710923119764738,0.0,-1.4069045137740224,-0.009519668139875537,0.0024904528831925232,7.535335088637293,0.0,0.0,0.11859515459011935
4620 +4.31748811353631,6.04737602926527,-1.72988791572896,0.0,-1.9957481951446336,0.08688501076555896,0.0,8.095589672012466,0.0,0.0,-0.13935045836811957
4621 +,5.4440710763602445,,0.0,-2.027513481748591,-0.012479236100774508,0.029276549528124737,7.662468855986076,0.0,0.0,-0.20768161130459234
4622 +4.7535901911063645,-5.2241427468699815,9.977732937976345,0.0,-5.029558286751624,0.011929391903761657,0.029449257100003234,0.0,0.0,0.0,-0.23596310912212382
4623 +,-2.3326865481260697,,0.0,-2.2426291173348254,-0.06122665105982087,0.0024904528831925232,-0.11510993410490197,0.0,0.0,0.08378870149028503
4624 +,-2.2122946889466735,,0.0,-1.564784437061003,-0.08402638855390862,0.029449257100003234,-0.5984821093907428,0.0,0.0,0.005548988958976556
4625 +,-2.4331820500363195,,0.0,-1.560583253563041,0.027630263955218032,0.017324634400523453,-0.7437935584458587,0.0,0.0,-0.1737601363831623
4626 +5.087596335232384,-2.5732352169985364,7.6608315522309205,0.0,-1.7297126315482911,-0.023574563143883467,0.0,-0.5963811959256494,0.0,0.0,-0.2235668263807124
4627 +5.198497031265826,4.638684663168361,0.5598123680974654,0.0,-2.182531843756917,-0.07425013619129002,0.017324634400523453,7.059444212296659,0.0,0.0,-0.18130220358061458
4628 +5.746203190540153,5.5712459530021645,0.17495723753798842,0.0,-2.1453615831787616,0.06405147185278068,0.029449257100003234,7.791761218676118,0.0,0.0,-0.16865441144797388
4629 +5.262690188904886,5.349151878744623,-0.08646168983973723,0.0,-1.9304981677919448,0.1012179978733096,0.029449257100003234,7.2474555501737115,0.0,0.0,-0.09847275861045579
4630 +7.508787170634276,6.481896307095551,1.0268908635387257,0.0,-1.5800368815456833,-0.16982950639731856,0.0,8.033946639389118,0.0,0.0,0.19781605564943597
4631 +,4.745749611824862,,0.0,-2.1200955609736694,-0.24632919311933144,0.017324634400523453,7.375773422779379,0.0,0.0,-0.280923691262039
4632 +7.828038032125829,6.815859809354226,1.0121782227716034,0.0,-1.3180581536663203,-0.06583528517920711,0.04140117222760452,8.140893512402114,0.0,0.0,0.01745856357003625
4633 +6.0844994130751715,5.328049536902591,0.7564498761725806,0.0,-1.9746275989468725,-0.19254242723028178,0.026786096644932214,7.513066411664087,0.0,0.0,-0.044632945229274426
4634 +5.6240175061873385,6.662042834378901,-1.0380253281915621,0.0,-2.2238619111659803,-0.051558720340389365,0.0,8.176166647123251,0.0,0.0,0.7612968187620195
4635 +4.6443908991413725,5.0329300887510975,-0.388539189609725,0.0,-2.633201378058824,-0.04474427608382978,0.0,7.959298483048785,0.0,0.0,-0.24842274015503596
4636 +4.143134726391533,5.91000862982401,-1.7668739034324776,0.0,-2.0246587785616823,-0.0349293878507852,0.0,8.210634079704526,0.0,0.0,-0.2410372834680499
4637 +,5.0612227426417356,,0.0,-2.4059524819978746,-0.03472187732894886,0.0,7.761077987547706,0.0,0.0,-0.25918088557914704
4638 +4.61512051684126,5.134217732742538,-0.5190972159012786,0.0,-1.9924831505730642,-0.09656171201807898,0.026786096644932214,7.030273031250653,0.0,0.0,0.16620346743809852
4639 +7.8252452914317745,5.176369146502617,2.648876144929157,0.0,-1.9985494846622416,0.05329403035318989,0.0,7.503280516885958,0.0,0.0,-0.3816559160742906
4640 +5.062595033026967,6.0829169259997995,-1.0203218929728326,0.0,-2.2074154757036695,0.07841866182471141,0.0,8.368542844490106,0.0,0.0,-0.1566291046113493
4641 +8.1886891244442,7.2563457064840104,0.9323434179601904,0.0,-1.796681044360434,0.025812746261291243,0.0024904528831925232,8.368705490143888,0.0,0.0,0.6560180615560731
4642 +7.661527081358517,7.55277538288544,0.10875169847307653,0.0,-0.6454464288690991,0.05612881734927653,0.04140117222760452,7.883835338061308,0.0,0.0,0.21685648411635097
4643 +5.713732805509369,5.879543404638171,-0.16581059912880214,0.0,-1.49516780344159,-0.06286687083662955,0.017324634400523453,7.418676854388004,0.0,0.0,0.0015765901278624924
4644 +5.204006687076795,5.542751655346044,-0.33874496826924894,0.0,-1.7126646599619955,-0.029281897432406917,0.029449257100003234,7.389158557567138,0.0,0.0,-0.13390960192669438
4645 +8.728749873478527,5.347478508508849,3.3812713649696784,0.0,-1.575579078578203,0.018007153732203064,0.0,6.948388421885617,0.0,0.0,-0.043337988530768895
4646 +,5.9618238839690365,,0.0,-2.201915933019042,-0.08929379064530635,0.0,8.280781835129236,0.0,0.0,-0.02774822749585106
4647 +,5.644616786574339,,0.0,-1.5314129238895822,0.023919448979628947,0.017324634400523453,7.025509119870258,0.0,0.0,0.10927650721351032
4648 +8.170468578330674,4.035619493978106,4.134849084352568,0.0,-5.566732673770991,0.03144910611094469,0.0,9.238202504200961,0.0,0.0,0.3327005574371903
4649 +4.574710978503383,4.873347985413151,-0.29863700690976813,0.0,-2.301991774878439,-0.15622256006165605,0.017324634400523453,7.349495498235561,0.0,0.0,-0.0352578122828403
4650 +4.997212273764115,5.43430263008849,-0.4370903563243749,0.0,-1.8258343557247398,0.05722734398880253,0.0,7.290378152731676,0.0,0.0,-0.08746851090725098
4651 +4.718498871295094,5.101988083583551,-0.383489212288457,0.0,-2.1709262444766164,-0.05368747080403519,0.038910719344411995,7.520942117740151,0.0,0.0,-0.23325103822035928
4652 +,5.008151789845946,,0.0,-2.336273109444172,-0.11914652187401151,0.017324634400523453,7.677663620310747,0.0,0.0,-0.23141683354714138
4653 +4.532599493153256,10.699562500412325,-6.166963007259069,0.0,2.5553822347870914,-0.15248298257986437,0.0024904528831925232,8.280781835129236,0.0,0.0,0.013390960192669438
4654 +8.11312710422178,8.442612457329027,-0.3294853531072466,0.0,-0.05814919664206197,-0.09985018221460212,0.0024904528831925232,8.049180466222564,0.0,0.0,0.5489409170799325
4655 +6.093569770045136,5.890216855539853,0.2033529145052828,0.0,-1.2912363634699364,-0.18048080137905081,0.0024904528831925232,7.43070031171861,0.0,0.0,-0.07125674421296158
4656 +9.3101857069459,6.542847908082411,2.7673377988634886,0.0,-1.3731174460584645,-0.19283349590909235,0.03193970998319576,7.901768103702356,0.0,0.0,0.17509103636441745
4657 +8.146709052203319,5.212772695307456,2.9339363568958623,0.0,-3.7073478679283838,0.12872005180014634,0.0024904528831925232,9.0784399922403,0.0,0.0,-0.2895299336877978
4658 +5.746203190540153,5.358732527154948,0.38747066338520497,0.0,-1.413247499706329,0.03552648341949713,0.017324634400523453,6.859650248851311,0.0,0.0,-0.14052133981005288
4659 +4.406719247264253,4.737204590153304,-0.33048534288905085,0.0,-2.1506214147804945,-0.11190151481507055,0.017324634400523453,7.233197170354515,0.0,0.0,-0.2507942850061694
4660 +4.48863636973214,6.172637562144816,-1.6840011924126763,0.0,-1.9312408553842895,-0.12403467166694379,0.0,8.329831745091703,0.0,0.0,-0.10191865589565488
4661 +5.099866427824199,5.059887511400202,0.03997891642399676,0.0,-1.9391107856278396,-0.08820833603020675,0.017324634400523453,7.145931785691598,0.0,0.0,-0.0760497870338725
4662 +5.093750200806762,-5.739086139780166,10.832836340586928,0.0,-5.560055029242699,-0.03396407976193937,0.0,0.0,0.0,0.0,-0.14506703077552435
4663 +6.982751428018543,5.425779348224121,1.5569720797944218,0.0,-2.5230351129667232,-0.06422087219193219,0.038910719344411995,8.13094732736983,0.0,0.0,-0.15682271333146552
4664 +5.1810529463873864,5.094566431490717,0.08648651489666914,0.0,-1.675384456577535,0.005044319273891797,0.026786096644932214,6.8999006980955215,0.0,0.0,-0.161780225946092
4665 +7.62608275807238,6.287666097375079,1.338416660697301,0.0,-1.6537365298395832,-0.07603686120718023,0.038910719344411995,7.96466132436084,0.0,0.0,0.01386744471659268
4666 +,5.669839759210198,,0.0,-1.3865379384446568,0.1376211628634282,0.0024904528831925232,6.858764553082924,0.0,0.0,0.05750152882531026
4667 +4.4343818650078095,5.342822290509087,-0.9084404255012775,0.0,-2.425113070376872,-0.027286526395462536,0.038910719344411995,7.895138730333313,0.0,0.0,-0.13882756239630328
4668 +,5.586343080606564,,0.0,-1.7825030687190297,-0.04005110694769638,0.026786096644932214,7.476386659125333,0.0,0.0,-0.09427549949697515
4669 +,6.225332672261187,,0.0,-1.4582602377422926,-0.05385579138494194,0.0,7.723568527683718,0.0,0.0,0.013880173704703153
4670 +7.9450983631350125,5.750220766164641,2.1948775969703718,0.0,-2.074654610793459,-0.00045595865924578927,0.0,8.075567241708438,0.0,0.0,-0.2502359060910946
4671 +,6.000158904708317,,0.0,-1.4739222471948406,-0.14622631805232,0.017324634400523453,7.6495071566358295,0.0,0.0,-0.04652432108087412
4672 +,4.995018984440233,,0.0,-2.2969172801179267,-0.030150119741463217,0.017324634400523453,7.38213183399274,0.0,0.0,-0.07737008409363894
4673 +,5.646948852519444,,0.0,-1.7928273339442446,0.004948880063425365,0.017324634400523453,7.484994311240305,0.0,0.0,-0.06749163924056599
4674 +4.233526626355437,5.8818942973991755,-1.6483676710437383,0.0,-1.5734698824542939,-0.06088838968955132,0.0,7.693575540349111,0.0,0.0,-0.17732297080609039
4675 +,4.853082503072046,,0.0,-2.182647375594935,-0.1388287076768283,0.029449257100003234,7.641862892110092,0.0,0.0,-0.49675356286628636
4676 +5.205104984825858,5.310163939974497,-0.10505895514863894,0.0,-2.411267398723627,-0.0804443650730507,0.026786096644932214,7.883835338061308,0.0,0.0,-0.10874573093506532
4677 +,4.970298416620253,,0.0,-2.075937278825293,-0.06792742633435135,0.017324634400523453,7.193374818377408,0.0,0.0,-0.0965363309980353
4678 +4.485147143388361,5.772248858538,-1.287101715149639,0.0,-2.094080625926808,-0.016157760626863624,0.026786096644932214,7.909264989217418,0.0,0.0,-0.05356384077067775
4679 +,7.27597933167004,,0.0,-0.403640120371068,-0.07316858897489927,-0.009634169816287258,7.86173665221767,0.0,0.0,-0.09931444138537296
4680 +5.536073630230092,4.995350971223382,0.5407226590067102,0.0,-2.626738694371146,0.02013611292170784,0.0,7.696294369539232,0.0,0.0,-0.09434081686641109
4681 +,6.088839206853241,,0.0,-1.3564874506514384,-0.20227151179834188,0.0024904528831925232,7.365136089037465,0.0,0.0,0.2799716273823648
4682 +4.672454932793688,5.571697042666577,-0.8992421098728896,0.0,-2.08523653717324,0.0015417058885507026,0.029276549528124737,7.425833691074984,0.0,0.0,0.20028163334815835
4683 +6.586392320161467,5.820851483761259,0.7655408364002083,0.0,-2.9455037000448225,0.03656795502587072,0.0,8.467033073262437,0.0,0.0,0.2627541555177747
4684 +8.03107969224538,-5.02045285307915,13.05153254532453,0.0,-5.014607293569635,-0.025195021147028537,0.0024904528831925232,0.0,0.0,0.0,0.016859008754320753
4685 +,6.285059959844861,,0.0,-1.4592308401125722,-0.05215385357730966,0.04140117222760452,7.690556841069373,0.0,0.0,0.06448664023776482
4686 +5.504518197131935,5.481746338612504,0.0227718585194312,0.0,-1.6984163509418595,-0.029539593119839468,0.029449257100003234,7.336367870348408,0.0,0.0,-0.15611484477420773
4687 +5.132557898053061,5.2121147881975585,-0.07955689014449785,0.0,-1.9272758140224964,0.04080164667272471,0.0,7.282553582994094,0.0,0.0,-0.18396462744676015
4688 +5.647176849177081,5.847091746627662,-0.1999148974505811,0.0,-0.8319634802964879,-0.11685230808936004,0.029276549528124737,6.662796511146866,0.0,0.0,0.10383447433851947
4689 +7.25494134558165,6.092523367767947,1.1624179778137034,0.0,-1.8211327123243688,0.0544042359934785,0.0024904528831925232,7.847389112109314,0.0,0.0,0.009372279106333176
4690 +5.615788797185569,5.116165073852491,0.4996237233330785,0.0,-2.000322815292482,0.03439402987537941,0.026786096644932214,7.083157446094501,0.0,0.0,-0.027849683469840802
4691 +8.297284402611957,3.6564907110325433,4.640793691579415,0.0,-5.51107752322573,-0.030461389364677766,0.0,9.238202504200961,0.0,0.0,-0.040172880578008316
4692 +4.763796549270511,4.959585833396863,-0.19578928412635221,0.0,-1.9699696962058715,-0.11771287674047395,0.017324634400523453,7.194116317247441,0.0,0.0,-0.16417254530475503
4693 +,-5.348311122113893,,0.0,-5.0084705215628205,-0.10667933752859066,0.0024904528831925232,0.0,0.0,0.0,-0.23565171590567385
4694 +9.394576760974909,5.202308884557356,4.192267876417553,0.0,-2.199778702357352,-0.03848312471832849,0.017324634400523453,7.610719519929885,0.0,0.0,-0.18747344269737212
4695 +6.633318433280377,5.867596189886557,0.76572224339382,0.0,-2.1122714540159144,-0.12035841193889166,0.0,8.328472330496643,0.0,0.0,-0.22824627465527847
4696 +5.556828061699537,5.692969321502335,-0.13614125980279734,0.0,-1.8568989816401684,0.05408795939349076,0.017324634400523453,7.597853284831045,0.0,0.0,-0.11939757548255495
4697 +5.8888779583328805,4.915719116106716,0.9731588422261641,0.0,-1.8692728406265031,-0.06572130585454687,0.017324634400523453,6.9951683771105335,0.0,0.0,-0.16177974892329186
4698 +4.9344739331306915,4.774552730218092,0.15992120291259937,0.0,-2.5679239385816848,0.03353918156776614,0.029276549528124737,7.361303188924495,0.0,0.0,-0.08164225122060817
4699 +4.418840607796598,5.465864959703374,-1.0470243519067761,0.0,-1.0640503541372306,-0.09085457752022363,0.04140117222760452,6.744356045020959,0.0,0.0,-0.16498732588773432
4700 +8.012680929706839,6.435628918384977,1.5770520113218618,0.0,-2.301242370979363,0.05533518135700415,0.0,7.868395609995718,0.0,0.0,0.8131404980116167
4701 +,5.795060649776796,,0.0,-2.19260706596482,-0.08272143398416065,0.0,8.054329271982523,0.0,0.0,0.01605987774325457
4702 +7.905072849498666,5.4102122353534,2.4948606141452654,0.0,-4.17246370577873,-0.02063318778772493,0.0024904528831925232,9.238202504200961,0.0,0.0,0.36261617183570105
4703 +4.23410650459726,5.203794726073156,-0.969688221475896,0.0,-2.1635960025690126,-0.10401558286932264,0.0,7.469253538107086,0.0,0.0,0.0021527734044059135
4704 +4.532599493153256,5.509280829865767,-0.9766813367125105,0.0,-1.9163798328089268,-0.02748994561928804,0.017324634400523453,7.511830580214032,0.0,0.0,-0.07600460632057504
4705 +9.53488460916053,6.4278867921384135,3.1069978170221164,0.0,-1.6251073421186684,-0.008752210696827313,-0.012124622699479781,7.935461090972494,0.0,0.0,0.13840987668089522
4706 +,5.282722239535242,,0.0,-2.5306422048128354,-0.07927644425244473,0.038910719344411995,8.030237282343107,0.0,0.0,-0.176507113086998
4707 +5.94382247363014,6.117285318712927,-0.17346284508278664,0.0,-2.3273947339384797,-0.10025119262737278,0.0,8.529170438465806,0.0,0.0,0.015760806812973076
4708 +5.297817241506355,6.399484997608797,-1.101667756102442,0.0,-1.3282433545627335,0.01908489806827412,0.038910719344411995,7.573927285246397,0.0,0.0,0.09580544951244843
4709 +5.372450338389264,5.390752836952506,-0.01830249856324251,0.0,-1.9968008496656493,0.00847731927843591,0.017324634400523453,7.492569708678754,0.0,0.0,-0.13081797573955892
4710 +,5.162806757216615,,0.0,-1.8547874454648383,-0.0693439549339586,0.026786096644932214,7.112487605159207,0.0,0.0,-0.05233554418872537
4711 +4.853045373521485,5.926889551919179,-1.0738441783976942,0.0,-1.213435495406924,-0.024890555364725203,0.04140117222760452,7.118535249058577,0.0,0.0,0.0052791814046470875
4712 +4.9550521095192215,5.342343543664468,-0.38729143414524625,0.0,-2.0074027141031605,0.04938626129423916,-0.009634169816287258,7.532771659428799,0.0,0.0,-0.2227774931391229
4713 +4.816322124449923,5.502583885500818,-0.6862617610508952,0.0,-1.9687962148003342,-0.09737932605209434,0.029449257100003234,7.597111785961012,0.0,0.0,-0.0578016167077669
4714 +6.274121514843236,6.516671893656263,-0.24255037881302766,0.0,-1.1451279403605765,0.03725945338247212,0.026786096644932214,7.815380913519841,0.0,0.0,-0.217626629530406
4715 +6.933423025730715,4.684423588071189,2.248999437659526,0.0,-4.764631874187696,-0.13067140901124458,0.0,9.238202504200961,0.0,0.0,0.34152436706916844
4716 +7.356279876550748,5.693513153559513,1.6627667229912353,0.0,-1.9017438574063066,-0.03782221116439653,0.026786096644932214,8.031473113793162,0.0,0.0,-0.42517998830787657
4717 +5.272999558563747,5.31533872103917,-0.042339162475423464,0.0,-1.6124556165354758,-0.07236857451638491,0.0,7.027448482693539,0.0,0.0,-0.027285570602508476
4718 +5.1164956847957335,5.9081312499610075,-0.791635565165274,0.0,-1.8905002367067283,0.026227028104056027,0.029449257100003234,7.774833496996793,0.0,0.0,-0.03187829553311826
4719 +8.840580188488795,-4.396412690612656,13.23699287910145,0.0,-4.089513576158389,-0.13307285982363648,0.0024904528831925232,0.0,0.0,0.0,-0.17631670751382333
4720 +5.117993812416755,-3.4406451945257683,8.558639006942524,0.0,-3.538360954625725,0.026572283238740196,0.0024904528831925232,0.0,0.0,0.0,0.06865302397802328
4721 +5.652489180268651,-5.072093825992243,10.724583006260893,0.0,-5.220383301130733,0.02204291037174466,0.0,0.0,0.0,0.0,0.12624656476674645
4722 +,-2.4744626071305538,,0.0,-1.952667522723548,-0.14100641400116437,0.0,-0.27606921500684156,0.0,0.0,-0.10471945539899871
4723 +,-1.5227199017719828,,0.0,-1.6428163146192665,0.025582817365212583,0.0,-0.43591624760373177,0.0,0.0,0.5304298430858021
4724 +,-6.427173473544407,,0.0,-6.27079954137905,0.09720695286862314,0.029449257100003234,0.0,0.0,0.0,-0.2830301421339831
4725 +4.584967478670572,-2.9415570969368945,7.526524575607467,0.0,-2.05793491954996,-0.07298561837857354,0.0,-0.5963811959256494,0.0,0.0,-0.214255363082711
4726 +,-3.488309914274435,,0.0,-3.824723787803696,0.06305374739064448,0.0024904528831925232,0.0,0.0,0.0,0.270869673255425
4727 +,-6.421352182487494,,0.0,-6.297803588495985,0.0909862051405728,0.029449257100003234,0.0,0.0,0.0,-0.24398405623208483
4728 +4.30406509320417,-1.1868721844111243,5.490937277615295,0.0,-1.5837373851447998,-0.009515802534854564,0.0024904528831925232,-0.43492758244368784,0.0,0.0,0.8388181328290267
4729 +,-2.816288767071808,,0.0,-2.2163317926547075,-0.09014551698113821,0.0,-0.4351747487336988,0.0,0.0,-0.07463670870226286
4730 +,-1.3658839985968527,,0.0,-0.726070143213426,0.03765183229336293,0.0,-0.5963811959256494,0.0,0.0,-0.08108449175114082
4731 +,-2.278582680421037,,0.0,-1.62137159636909,-0.11708734160360365,0.0,-0.43480399929868235,0.0,0.0,-0.10531974314966122
4732 +5.579729825986222,6.404049650906438,-0.8243198249202157,0.0,-2.2854952359818332,-0.011339392893042796,0.029449257100003234,8.007997703924053,0.0,0.0,0.6634373187572593
4733 +,6.832736493004244,,0.0,-0.7261019529755615,-0.06389942420520478,0.029449257100003234,7.740842286090309,0.0,0.0,-0.14755367300530198
4734 +7.761493782399326,6.52061309684132,1.2408806855580066,0.0,-1.2744594252474135,0.20136404773920186,0.04140117222760452,7.808080157333699,0.0,0.0,-0.25577285521177356
4735 +6.355326105361071,5.653139179171955,0.7021869261891158,0.0,-1.7050572335337932,-0.04810543311242128,0.017324634400523453,7.4592525319773815,0.0,0.0,-0.07027532055973504
4736 +6.887552571664617,5.810526814171163,1.0770257574934545,0.0,-1.953446562691508,0.05619710933914362,0.038910719344411995,7.793934352726568,0.0,0.0,-0.12506880454745303
4737 +5.37989735354046,5.274164178505278,0.10573317503518176,0.0,-2.39051721576534,0.0024565550191006716,0.026786096644932214,7.835943134531343,0.0,0.0,-0.20050439192475725
4738 +,5.326142122773821,,0.0,-1.7362528699232813,-0.14347686077267197,0.017324634400523453,7.41191292944726,0.0,0.0,-0.2233657103780088
4739 +,6.276270976671554,,0.0,-1.800742844726586,0.032145571152717184,0.026786096644932214,8.031473113793162,0.0,0.0,-0.013390960192669438
4740 +,5.496729681581106,,0.0,-3.101931587918627,0.03677021806274035,0.026786096644932214,8.530451728043312,0.0,0.0,0.004653226748748988
4741 +,4.609161115567197,,0.0,-2.322610864103818,-0.17992713554367762,0.026786096644932214,7.128044362763535,0.0,0.0,-0.04313134419377414
4742 +,5.757471562343573,,0.0,-3.732343832887918,-0.15619337500794697,0.0,9.238202504200961,0.0,0.0,0.407806266038479
4743 +,5.0316532620426795,,0.0,-1.6862421539865737,-0.1698420607698588,0.029449257100003234,6.943683126227931,0.0,0.0,-0.08539490652882203
4744 +5.893107229491114,5.789891404603475,0.1032158248876387,0.0,-1.6987449738484948,0.06704036711100503,0.038910719344411995,7.5849782873106175,0.0,0.0,-0.20229299531406342
4745 +7.423568444259167,3.4621824092815863,3.9613860349775805,0.0,-5.242551890728734,-0.1326684087619304,0.0,9.0784399922403,0.0,0.0,-0.2410372834680499
4746 +7.759614150696903,6.494388347904209,1.2652258027926937,0.0,-1.29267288924025,0.138620806549085,0.0024904528831925232,7.7320199003958106,0.0,0.0,-0.08606992268363015
4747 +3.2311995745570328,6.045214864543078,-2.814015289986045,0.0,-0.8452588338758966,-0.0535595533095477,0.029449257100003234,7.24188258332604,0.0,0.0,-0.3272985886975211
4748 +6.526538782471466,6.089618001627014,0.43692078084445196,0.0,-1.3841458782769545,0.14674099070962365,0.0,7.377648391450901,0.0,0.0,-0.05062550225655812
4749 +4.637637376125593,4.10239830147135,0.5352390746542426,0.0,-1.585605721805341,-0.06217616144395692,0.026786096644932214,6.652878916825172,0.0,0.0,-0.9294848287494546
4750 +5.249704686627344,5.2439923787672384,0.005712307860105348,0.0,-2.2383526795148354,0.0520799853723541,0.0,7.509904145283862,0.0,0.0,-0.07963907237414125
4751 +5.611557530613684,5.766291255048431,-0.1547337244347471,0.0,-1.3177033611194604,-0.14634856794095213,0.0024904528831925232,7.687047746932401,0.0,0.0,-0.45919501570675303
4752 +8.322736703266147,6.337873565585753,1.9848631376803931,0.0,-1.517207605220312,0.00911780472347394,0.0,7.884547154260353,0.0,0.0,-0.038583788177763756
4753 +7.945119626610741,6.950190606560366,0.9949290200503755,0.0,-1.7157711782407583,-0.1241317474825328,0.0,8.689511803642718,0.0,0.0,0.10058172864093731
4754 +4.651767471364874,5.339124621824243,-0.687357150459369,0.0,-2.0193360281119928,-0.06161190647906662,0.038910719344411995,7.432647713290482,0.0,0.0,-0.05148587621959119
4755 +5.157099364632499,5.184295127940388,-0.027195763307888754,0.0,-2.518416712076732,-0.15265115484980535,0.026786096644932214,7.949660307232322,0.0,0.0,-0.12108340901032938
4756 +,5.4102551590202,,0.0,-2.539431331136549,0.07984412477303571,0.038910719344411995,7.679565618937858,0.0,0.0,0.15136602710144428
4757 +7.5298521157670315,4.9276130955937285,2.602239020173303,0.0,-3.9923111836341167,-0.16587914757554922,0.0024904528831925232,9.0784399922403,0.0,0.0,0.004872981679903243
4758 +6.344793900795618,5.686380426840209,0.6584134739554086,0.0,-1.5936620072902787,-0.0026710166354798823,0.029449257100003234,7.67463733027312,0.0,0.0,-0.42137313660715403
4759 +5.681195975983405,5.40496970485563,0.27622627112777476,0.0,-1.675014428869873,-0.10643002326916468,0.038910719344411995,7.214189355253945,0.0,0.0,-0.0666859176036864
4760 +5.525134163228542,5.933505124421462,-0.4083709611929196,0.0,-1.693916049244864,-0.14839339176631472,0.029449257100003234,7.442832537940921,0.0,0.0,0.3035327703917172
4761 +6.620073206530356,6.482860030107306,0.13721317642305042,0.0,-1.8408562837854916,-0.06340017932083848,0.0,8.442235448611198,0.0,0.0,-0.05511895539756116
4762 +,5.194842939634071,,0.0,-2.6188250602755314,-0.03382603846064599,0.038910719344411995,7.947930143202245,0.0,0.0,-0.13934682417640928
4763 +5.180884269655941,5.2915375326524146,-0.1106532629964736,0.0,-2.2472285362616855,0.14343807230891614,0.0,7.309746125800478,0.0,0.0,0.08558187080470556
4764 +,5.5735386121175505,,0.0,-1.7592913929074854,-0.04536920261045439,0.017324634400523453,7.542635844823435,0.0,0.0,-0.18176127158846792
4765 +4.914050969580866,5.82600816718875,-0.911957197607884,0.0,-1.836724670752413,-0.0008151667475475438,0.0,7.708138765455035,0.0,0.0,-0.04459076076632395
4766 +5.673701202617746,5.7970736622796295,-0.12337245966188348,0.0,-1.8321374612897863,-0.04434579231407611,0.038910719344411995,7.577639162903575,0.0,0.0,0.05700703363550566
4767 +,5.814709554838258,,0.0,-2.1213107401146223,-0.016921386269395287,0.029449257100003234,7.916585291126586,0.0,0.0,0.006907132995686099
4768 +6.2997393757983104,5.630244208621449,0.6694951671768612,0.0,-1.5513182113825517,0.01796001230100671,0.017324634400523453,7.218408509411653,0.0,0.0,-0.0721307361091813
4769 +4.873898770522785,5.641894819008045,-0.7679960484852604,0.0,-2.0013081497143057,0.12434003113371042,0.017324634400523453,7.5305471628187,0.0,0.0,-0.029008859630581696
4770 +,5.8899314280458785,,0.0,-1.5774107743772197,-0.1412864144591175,0.038910719344411995,7.491951792953727,0.0,0.0,0.0777661045840767
4771 +,-4.537650188732435,,0.0,-4.915586140226392,0.15670773142489303,0.0,0.0,0.0,0.0,0.2212282200690633
4772 +5.145340996948547,5.268815755887689,-0.1234747589391425,0.0,-1.7354233235914807,-0.08314431620077646,0.017324634400523453,7.290329413993524,0.0,0.0,-0.2202706527140997
4773 +,5.053190010048731,,0.0,-2.755514309135399,-0.2036256602822718,-0.012124622699479781,8.00227472530355,0.0,0.0,0.022179876862327648
4774 +7.3219686756480025,4.1896225192243675,3.132346156423635,0.0,-4.928281464188194,-0.03913858722943598,0.0024904528831925232,9.0784399922403,0.0,0.0,0.07611212551850471
4775 +7.598058419090347,5.371050464068936,2.2270079550214117,0.0,-1.8753358736678916,-0.11323066104251728,0.0024904528831925232,7.319916769284044,0.0,0.0,0.03720977661210845
4776 +6.320246575445179,5.740566336184952,0.5796802392602265,0.0,-1.8113637840468737,-0.08001402485525912,0.0,7.793212024805873,0.0,0.0,-0.16126787971878737
4777 +5.585824423685531,5.3897177799530445,0.19610664373248632,0.0,-1.5372318254654482,0.03382386738783202,0.04140117222760452,7.111874915559755,0.0,0.0,-0.2601503497566996
4778 +4.630545492319319,5.794733750803501,-1.1641882584841818,0.0,-1.7499796915256391,0.01360368110079229,0.0,7.490310249171387,0.0,0.0,0.04079951205696267
4779 +7.39446852179082,5.085691168480244,2.3087773533105764,0.0,-2.624925447700777,-0.047674067718223495,0.0,8.2581164712907,0.0,0.0,-0.4998257873914549
4780 +,5.71791061379373,,0.0,-2.4372630476289894,0.06598000681770355,0.0,8.20915108196446,0.0,0.0,-0.11995742735944516
4781 +6.24781073924991,4.858470866406421,1.3893398728434887,0.0,-2.034384508249329,0.025196461722067187,0.017324634400523453,7.062510553346952,0.0,0.0,-0.21217627481379098
4782 +4.649378440652412,6.139667793855648,-1.4902893532032362,0.0,-1.3359423209612498,-0.1268668951443444,0.0024904528831925232,7.664649609731692,0.0,0.0,-0.06466305265364006
4783 +,5.7935151785828065,,0.0,-1.4222721970496108,-0.042112775208684616,0.0,7.03324155698173,0.0,0.0,0.2246585938593735
4784 +6.818300920341367,7.100703928571776,-0.28240300823040876,0.0,-0.8912326199273544,-0.13381692327971864,0.0,8.280781835129236,0.0,0.0,-0.1550283633503871
4785 +7.74884821429039,5.770885999824905,1.9779622144654843,0.0,-1.5708868407744232,-0.023648733871063785,0.0,7.556749415233961,0.0,0.0,-0.19132784076356996
4786 +,4.1998011315919825,,0.0,-2.8950835090073204,-0.09958272279945264,0.026786096644932214,7.24832063218875,0.0,0.0,-0.08063936543492489
4787 +4.543294782270004,5.4373859586491164,-0.8940911763791126,0.0,-1.849541080700848,-0.04183714421693177,0.029449257100003234,7.336985786073435,0.0,0.0,-0.037670859606541984
4788 +6.551080335043404,5.463194839013373,1.0878854960300313,0.0,-2.25229062736744,0.013601169522430574,0.0,7.656391902399211,0.0,0.0,0.04549239445917161
4789 +6.492239835020471,6.321623880141934,0.17061595487853687,0.0,-1.5238152817496085,-0.05198325283116666,0.017324634400523453,7.795911683046656,0.0,0.0,0.08418609727552964
4790 +8.304989580140361,5.923551573849963,2.3814380062903986,0.0,-1.6442544249372277,-0.01467447022910822,0.017324634400523453,7.75056878014823,0.0,0.0,-0.18541294553245244
4791 +,5.566532690862975,,0.0,-1.955591333795005,0.010826719669144558,0.0,7.731278401525778,0.0,0.0,-0.21998109653694112
4792 +7.805882040228621,4.93511783565787,2.870764204570751,0.0,-4.098635577384891,-0.10582013993665895,0.0024904528831925232,9.238202504200961,0.0,0.0,-0.10111940410473233
4793 +7.515889085215125,6.060748420266483,1.455140664948642,0.0,-1.6145890104531837,-0.14137049549465353,0.0,7.969039438235639,0.0,0.0,-0.15233151202131748
4794 +9.37101259736508,6.830612613352361,2.540399984012719,0.0,-1.1785858169842456,0.15768468031513183,0.0,7.921380777501964,0.0,0.0,-0.06986702748048976
4795 +7.3277805384216315,5.3949291548798985,1.932851383541733,0.0,-1.9297334941645543,0.06777065953546808,0.0,7.261724937925847,0.0,0.0,-0.004832948416861771
4796 +7.945555428253489,3.6042208374116234,4.341334590841866,0.0,-5.2782945481246735,-0.021532237114200277,0.0,9.0784399922403,0.0,0.0,-0.1743923695898022
4797 +5.69035945432406,5.2654751188329145,0.42488433549114557,0.0,-1.675046021038523,-0.12117315710435707,0.017324634400523453,7.119771080508632,0.0,0.0,-0.0754014179333586
4798 +3.9889840465642745,4.8141072858577,-0.8251232392934256,0.0,-1.6964835228019464,-0.13237161047236773,0.0,6.863261233792516,0.0,0.0,-0.2202988146605026
4799 +4.997212273764115,5.155758084126056,-0.15854581036194126,0.0,-1.6629182755763345,-0.05004261089389619,0.019815087283715976,6.908604136690942,0.0,0.0,-0.059700253378370725
4800 +4.836281906951478,2.348325648733344,2.487956258218134,0.0,-2.172079027584437,-0.13334395635579446,-0.012124622699479781,7.5857197861806505,0.0,0.0,-2.9198465308075954
4801 +4.454347296253507,5.130975873521998,-0.6766285772684908,0.0,-1.8841233778579634,-0.033409459749119526,0.0,6.997794676699805,0.0,0.0,0.05071403442927572
4802 +,5.292113821338906,,0.0,-1.7555516765043784,-0.0100182839491133,0.0,6.931088794664694,0.0,0.0,0.12659498712770392
4803 +4.51085950651685,5.453741851661549,-0.9428823451446995,0.0,-2.236184241636776,-0.02286984239640976,0.0,7.388320629830126,0.0,0.0,0.32447530586461043
4804 +4.718498871295094,5.742612899225229,-1.0241140279301346,0.0,-1.8673360606980713,0.004269031185639961,0.029449257100003234,7.7952937673216285,0.0,0.0,-0.21906309568397175
4805 +,6.121512739357133,,0.0,-1.3756165805700897,0.11392373507791698,0.038910719344411995,6.986536709237298,0.0,0.0,0.3577581562675949
4806 +,6.514709822351339,,0.0,-1.6886270910987227,-0.05869452511540244,0.0,8.529170438465806,0.0,0.0,-0.2671389999003434
4807 +,6.178354230718023,,0.0,-1.1251932317327027,-0.02005593863369065,0.029276549528124737,7.466861385943848,0.0,0.0,-0.17253453438755714
4808 +4.532599493153256,4.8894801278418365,-0.3568806346885802,0.0,-2.1715850963708414,-0.05089644092100585,0.026786096644932214,7.331247531953374,0.0,0.0,-0.24607196346462415
4809 +8.107418811719974,6.878720811398763,1.2286980003212111,0.0,-0.9400717310738882,-0.06242064862768794,0.0,7.587526071271009,0.0,0.0,0.29368711982932727
4810 +,5.5604071640537445,,0.0,-1.6271259699804466,-0.0753608419027074,0.0,7.343239737092916,0.0,0.0,-0.08034576115601663
4811 +,5.926574066402526,,0.0,-2.038174016991486,0.09451301872615393,-0.012124622699479781,7.466614219653837,0.0,0.0,0.4157454677135006
4812 +4.897839799950911,5.297719114496866,-0.39987931454595493,0.0,-2.337867685112216,0.07139243085083344,0.019815087283715976,7.7952937673216285,0.0,0.0,-0.250914485847097
4813 +,5.368901809053908,,0.0,-1.8992842199061908,0.019876060636133168,0.0,7.43683074908512,0.0,0.0,-0.1885207807611539
4814 +,-2.3145195675356045,,0.0,-1.8653219407000483,0.02520336482718502,0.0,-0.43591624760373177,0.0,0.0,-0.03848474405900805
4815 +,-4.509513005594628,,0.0,-4.71640533143267,0.025053997723675142,0.0,0.0,0.0,0.0,0.18183832811436682
4816 +,-4.374562151797583,,0.0,-4.499791559143689,0.017398418627039905,0.0024904528831925232,0.0,0.0,0.0,0.1053405358358743
4817 +,-5.6530420765831115,,0.0,-5.5273715595629405,-0.09837694464228419,0.0,0.0,0.0,0.0,-0.02729357237788735
4818 +4.890349128221754,-5.414679253367494,10.305028381589247,0.0,-5.339029427765045,0.06611642011236007,0.029449257100003234,0.0,0.0,0.0,-0.17121550281481163
4819 +,-2.9542368796892586,,0.0,-2.1045978002988965,0.03819626727497401,0.029449257100003234,-0.7423105607057928,0.0,0.0,-0.17497404305954656
4820 +7.876258882303226,3.5017632766178406,4.374495605685386,0.0,-5.5721934409321365,0.02733025619713718,0.0,9.0784399922403,0.0,0.0,-0.03181353088745999
4821 +4.663439094112067,5.874905106543611,-1.2114660124315444,0.0,-2.084185829653988,0.020165183611237925,0.0,8.208942978183227,0.0,0.0,-0.27001722559686453
4822 +4.31748811353631,4.688489750289784,-0.37100163675347364,0.0,-2.5322523701807462,-0.09175589213505557,0.038910719344411995,7.434377877320559,0.0,0.0,-0.16079058405938662
4823 +7.830425617820331,6.2215807709778055,1.6088448468425254,0.0,-2.131965418329181,-0.04712497749936665,0.029449257100003234,8.371014507390216,0.0,0.0,0.00020740231613441962
4824 +,-6.534930380140252,,0.0,-6.548288349232531,0.10037329383639039,0.0,0.0,0.0,0.0,-0.08701532474411167
4825 +,-2.738657280921725,,0.0,-1.770425133196138,-0.007659953893364338,0.0,-0.5983585262457373,0.0,0.0,-0.362213667586484
4826 +,-2.0971632953255623,,0.0,-1.6535596643330601,-0.05351687976313127,0.04140117222760452,-0.5986056925357482,0.0,0.0,0.16711776907877365
4827 +,-1.386674608540126,,0.0,-0.6002665633682644,-0.2238815774722532,0.029276549528124737,-0.7423105607057928,0.0,0.0,0.15050754347805997
4828 +,-4.024988144242257,,0.0,-4.798113529717733,0.04964414997407715,0.0024904528831925232,0.0,0.0,0.0,0.7209907826182052
4829 +,-4.566117157111184,,0.0,-4.517777689392805,-0.032086954373662255,0.03193970998319576,0.0,0.0,0.0,-0.04819222332791154
4830 +,-5.404902821736135,,0.0,-5.453389551800045,0.1229070176442886,0.0,0.0,0.0,0.0,-0.07442028758037858
4831 +,-5.8381411809543895,,0.0,-5.546424365650216,-0.10121474967716307,0.0,0.0,0.0,0.0,-0.19050206562701102
4832 +,-5.564925633160013,,0.0,-5.347798653840052,0.01970189739502595,0.0,0.0,0.0,0.0,-0.236828876714986
4833 +,-3.485037580299881,,0.0,-3.6969616319213485,-0.11613481221632682,0.0024904528831925232,0.0,0.0,0.0,0.3255684109546023
4834 +,-5.394590669981814,,0.0,-5.46247210709762,0.08750781286496892,0.0,0.0,0.0,0.0,-0.019626375749163705
4835 +,-4.076625983088745,,0.0,-4.140346255674084,-0.015667059799544258,0.0024904528831925232,0.0,0.0,0.0,0.07689687950169047
4836 +,-6.055878197587141,,0.0,-6.117342309433297,0.13061607675308526,0.0,0.0,0.0,0.0,-0.0691519649069301
4837 +,-1.7660184082829944,,0.0,-0.8154291544525369,0.0629543751610899,0.038910719344411995,-0.7426813101408093,0.0,0.0,-0.30977303819514845
4838 +,-6.036049919407447,,0.0,-5.765930640867067,-0.051451979752226464,0.0,0.0,0.0,0.0,-0.21866729878815483
4839 +4.574710978503383,-2.74331144327861,7.318022421781993,0.0,-1.9088759727850286,-0.07237203400977626,0.038910719344411995,-0.5984821093907428,0.0,0.0,-0.20249204643747518
4840 +,-6.649392895744557,,0.0,-6.154832612800667,-0.03734600454755792,0.0,0.0,0.0,0.0,-0.4572142783963319
4841 +4.804021044733257,-2.2481423951471604,7.052163439880417,0.0,-1.2907386113703714,-0.11897184211104966,0.0,-0.5963811959256494,0.0,0.0,-0.2420507457400894
4842 +,-5.076018602857273,,0.0,-5.048000442030784,-0.014627200633819337,0.0,0.0,0.0,0.0,-0.013390960192669438
4843 +,-5.195466122583574,,0.0,-5.20766414378148,0.017455756991163945,0.0024904528831925232,0.0,0.0,0.0,-0.007748188676450579
4844 +,-5.400746314216402,,0.0,-5.309119340132339,-0.04030396425800897,0.03193970998319576,0.0,0.0,0.0,-0.08326271980924954
4845 +,-2.722009901284477,,0.0,-1.9145430334466722,0.08125185976592687,0.029449257100003234,-0.7430520595758258,0.0,0.0,-0.17511592512790985
4846 +,5.1803661560892085,,0.0,-3.114124245239383,-0.009561407789985394,-0.012124622699479781,7.573863482034097,0.0,0.0,0.7423129497839595
4847 +,4.7768798127056975,,0.0,-2.891248589136671,-0.07223669941667032,0.029449257100003234,7.776430208156417,0.0,0.0,-0.06551436399738136
4848 +4.305010592025198,5.799655546171084,-1.494644954145886,0.0,-1.6373759392391696,-0.11798630412869679,0.0024904528831925232,7.663290195136631,0.0,0.0,-0.11076285848087239
4849 +5.893631186759219,5.030151836883731,0.8634793498754876,0.0,-1.706083087379417,-0.02782715761395184,0.029449257100003234,6.9796668089209914,0.0,0.0,-0.24505398414389604
4850 +5.308020142009422,5.216867707201375,0.09115243480804658,0.0,-1.7853900378627587,-0.046633554332785945,0.017324634400523453,7.046314297200516,0.0,0.0,-0.014747632204118982
4851 +5.094608727872434,5.294411142154245,-0.19980241428181067,0.0,-2.0876218477932467,-0.06221976803861074,0.026786096644932214,7.623229232092012,0.0,0.0,-0.20576257075084192
4852 +8.877319173666224,5.978723014252375,2.8985961594138496,0.0,-1.540665280763882,-0.05262339645326722,0.0,7.808080157333699,0.0,0.0,-0.23606846586417374
4853 +5.292902733846538,4.648779850645375,0.6441228832011632,0.0,-2.194324310369109,-0.027652386708572445,0.017324634400523453,6.98053189093603,0.0,0.0,-0.12709997761349806
4854 +5.2211663073596215,3.708871486634707,1.5122948207249145,0.0,-5.39168740710807,0.09926444959677333,0.0,9.238202504200961,0.0,0.0,-0.2369080600549574
4855 +4.742407204293176,4.795645448617401,-0.05323824432422519,0.0,-2.4378217076117137,-0.09479253242100764,0.026786096644932214,7.35503743277587,0.0,0.0,-0.05356384077067775
4856 +6.879921488052701,5.889354326474797,0.9905671615779035,0.0,-1.6129324899165072,-0.060477253247423854,0.0,7.719485900591523,0.0,0.0,-0.15672183095279424
4857 +8.597793897226007,5.711477644116451,2.8863162531095554,0.0,-2.0556848266519,0.028620774557738624,0.0,8.226207067144497,0.0,0.0,-0.4876653709338845
4858 +5.039935163141118,5.387247000668498,-0.3473118375273794,0.0,-2.401094504173842,-0.004598080374164086,0.0024904528831925232,7.846647613239281,0.0,0.0,-0.05619848090597024
4859 +,6.304254776589543,,0.0,-1.3957984395256924,-0.04459007868740192,0.0024904528831925232,7.762808151577783,0.0,0.0,-0.020655309658338727
4860 +6.3265071909196005,6.204441764475512,0.12206542644408813,0.0,-1.6485044128665045,0.07882122694247018,0.0,7.983680301072994,0.0,0.0,-0.20955535067344494
4861 +5.356586274672012,5.938443503305759,-0.5818572286337469,0.0,-2.0368869460421104,-0.05285444085844543,0.0,8.208942978183227,0.0,0.0,-0.18075808797691345
4862 +,6.000474584660493,,0.0,-1.517458852653533,-0.12208588722238439,0.029449257100003234,7.676674955150703,0.0,0.0,-0.06610488771429407
4863 +,5.391136550285438,,0.0,-2.351101496604282,0.14389214938135458,0.0,7.754609784042434,0.0,0.0,-0.15626388653406698
4864 +,5.580059526497111,,0.0,-1.7706802521171054,-0.06927385245584922,0.029449257100003234,7.531165078543728,0.0,0.0,-0.14060070457366355
4865 +,-6.21919167965447,,0.0,-5.826498375399259,-0.04123742130601556,0.0,0.0,0.0,0.0,-0.35145588294919583
4866 +3.8918202981106265,-2.9544330773374803,6.846253375448107,0.0,-2.2409489486906224,-0.12903319976387506,0.0,-0.4372756621987922,0.0,0.0,-0.14717526668419073
4867 +,-3.006789090687431,,0.0,-1.9089372072399078,-0.00484447474566535,0.029276549528124737,-0.7423105607057928,0.0,0.0,-0.37997339752418885
4868 +,-4.182900731369261,,0.0,-4.228047931469234,0.08469682770501136,0.04140117222760452,0.0,0.0,0.0,-0.08095079983264183
4869 +3.8066624897703196,-1.8605527467790801,5.667215236549399,0.0,-1.4428918056145337,-0.04294670559736902,0.0,-0.43430966671866034,0.0,0.0,0.0595954311514815
4870 +4.653960350157523,-2.161867725798767,6.81582807595629,0.0,-1.4579096594152547,-0.03638209505311766,0.029276549528124737,-0.7432992258658367,0.0,0.0,0.04644670500731882
4871 +5.25227342804663,-5.449717000630115,10.701990428676744,0.0,-5.42061429054345,0.0975648602753327,0.029449257100003234,0.0,0.0,0.0,-0.15611682746200123
4872 +4.430816798843313,-6.228024909889208,10.65884170873252,0.0,-6.037201066610992,-0.11577676730980771,0.0,0.0,0.0,0.0,-0.07504707596840776
4873 +3.7376696182833684,-2.1195729535431522,5.857242571826521,0.0,-1.484394564298225,1.342300324235629e-05,0.0024904528831925232,-0.43591624760373177,0.0,0.0,-0.20176601752762882
4874 +4.330733340286331,-4.934639549756818,9.26537289004315,0.0,-4.842259217439935,-0.18785915194648822,0.0024904528831925232,0.0,0.0,0.0,0.09298836674641414
4875 +5.357434971031125,5.898149054332795,-0.5407140833016699,0.0,-1.8415696611463783,-0.07261635230517077,0.0,7.895138730333313,0.0,0.0,-0.08280366254896712
4876 +,5.947794114893452,,0.0,-1.696258878668024,-0.10572714826940635,0.0,7.402633760446745,0.0,0.0,0.347146381384138
4877 +8.018711072181485,4.517633219385928,3.5010778527955573,0.0,-2.6423644058030336,0.021004817842223078,-0.012124622699479781,7.359204899280898,0.0,0.0,-0.20808746923467886
4878 +4.201253877869777,4.90236200375888,-0.7011081258891032,0.0,-2.3721427668839405,0.021622474329402126,0.017324634400523453,6.960822851093125,0.0,0.0,0.274734810819771
4879 +,6.031782926341426,,0.0,-2.2812616205914713,0.1154661205621629,0.017324634400523453,7.860377237622609,0.0,0.0,0.3198765543476015
4880 +7.365882411006743,6.145937436425375,1.2199449745813684,0.0,-2.705855077234006,0.06791961978356253,0.0,8.845898508179454,0.0,0.0,-0.06202561430363686
4881 +,6.161799825793962,,0.0,-1.3404487571429646,-0.16684003419450333,0.0,7.584715691106984,0.0,0.0,0.08437292602444565
4882 +4.914050969580866,5.399297407446598,-0.4852464378657322,0.0,-2.1695032259073175,-0.17328339778480134,0.0,8.1461031766186,0.0,0.0,-0.4040191454798838
4883 +5.192845733605802,5.574633991867418,-0.3817882582616159,0.0,-2.219325996248437,-0.07490407662538506,0.0,8.120752096530747,0.0,0.0,-0.2518880317895076
4884 +5.0142288296063855,5.100165841616671,-0.08593701201028559,0.0,-2.2644951658326873,0.004771216381548857,0.019815087283715976,7.057191118604524,0.0,0.0,0.2828835851795669
4885 +6.364750756851911,4.248203578026044,2.1165471788258667,0.0,-4.548576011372114,0.03043212920836849,0.0024904528831925232,9.0784399922403,0.0,0.0,-0.314582984933702
4886 +5.2823912159977775,5.973426540749122,-0.6910353247513443,0.0,-1.6422175197283417,-0.14931125810054893,0.029276549528124737,7.635778421650977,0.0,0.0,0.09990034739891249
4887 +8.131874769056413,6.787104129658467,1.3447706393979457,0.0,-2.1730082964817026,0.11926730446263872,0.0,8.368542844490106,0.0,0.0,0.4723022771874253
4888 +8.095281577929132,3.8870943200222907,4.208187257906841,0.0,-5.003425062125571,-0.029262547200019997,0.029449257100003234,9.0784399922403,0.0,0.0,-0.18810731999242036
4889 +4.353241283242128,4.966252249143144,-0.6130109659010161,0.0,-2.0226754858883087,-0.09470663101054978,0.0,7.144181929892112,0.0,0.0,-0.06054756385010925
4890 +5.246602930861358,5.972459068387115,-0.7258561375257573,0.0,-1.8553775662984977,-0.04270543614736366,0.0,8.111579354301027,0.0,0.0,-0.2410372834680499
4891 +5.570479627341781,6.055892939217213,-0.48541331187543246,0.0,-2.015657548639976,0.04568886320108074,0.03193970998319576,7.947930143202245,0.0,0.0,0.0459917714706675
4892 +,-5.397311706178886,,0.0,-5.271793559923509,0.08631435754178138,0.0024904528831925232,0.0,0.0,0.0,-0.21432295668035242
4893 +4.994167101388949,2.7491746248107694,2.2449924765781795,0.0,-6.272498560755964,-0.01310123594915112,0.038910719344411995,9.0784399922403,0.0,0.0,-0.0825762900688262
4894 +6.119109900943652,4.540012121010975,1.5790977799326766,0.0,-4.700658185171568,-0.052430910638760916,0.029449257100003234,9.238202504200961,0.0,0.0,0.025449455520339975
4895 +5.421861552639491,5.4479020248894,-0.026040472249908575,0.0,-2.070695706275183,-0.03274888497568851,0.017324634400523453,7.675315540555642,0.0,0.0,-0.14129355881589167
4896 +,5.191752062557721,,0.0,-2.4372545055189105,-0.18030675466971774,0.038910719344411995,7.7952937673216285,0.0,0.0,-0.024891163919691442
4897 +5.213249554157973,4.404955567858509,0.8082939862994643,0.0,-4.9745707944000905,-0.09554218505669079,0.0,9.238202504200961,0.0,0.0,0.23686604311433124
4898 +,6.0863306348512385,,0.0,-1.4755778440599698,0.001161090777267837,0.0,7.687205795008518,0.0,0.0,-0.12645840687457796
4899 +7.694388248884991,6.1302476561775245,1.5641405927074663,0.0,-1.7641499978760793,-0.06956394058023832,0.0,8.148204090083695,0.0,0.0,-0.18424249544985355
4900 +5.042650623528266,5.537687498903826,-0.4950368753755594,0.0,-1.8170141714525174,-0.18460442410846192,0.0,7.6808405128966895,0.0,0.0,-0.14153441843188444
4901 +9.289513778840309,8.0534128556083,1.2361009232320086,0.0,-1.5254440610641344,0.005236740058815423,0.0024904528831925232,8.095589672012466,0.0,0.0,1.4755400517179629
4902 +4.041295341132285,5.3269206439510635,-1.2856253028187785,0.0,-1.9704881979864615,0.007709017389557066,0.0024904528831925232,7.364214291046791,0.0,0.0,-0.07700491938201473
4903 +5.176771008468541,5.107714083341537,0.06905692512700412,0.0,-2.259544544353701,-0.11074625326015611,0.0,7.566212016375511,0.0,0.0,-0.0882071354201171
4904 +7.326998366639187,7.162071327057729,0.1649270395814577,0.0,-0.7714008197886066,-0.043570846988294595,0.0024904528831925232,8.280781835129236,0.0,0.0,-0.30622929417779676
4905 +4.858881738868719,4.851392405331468,0.0074893335372516745,0.0,-1.9101407993246662,-0.07772814928160401,0.017324634400523453,6.898541283500461,0.0,0.0,-0.07660456396324787
4906 +,5.478681654624824,,0.0,-1.695752199487016,-0.029021341379195084,0.0,7.352256840629083,0.0,0.0,-0.14880164513804772
4907 +4.530554392607302,5.037735017058391,-0.507180624451089,0.0,-2.1074040072149502,0.03059947087710982,0.029449257100003234,7.354295933905837,0.0,0.0,-0.2692056376096083
4908 +,3.7979142240320507,,0.0,-5.433311525150881,0.03011840119039593,0.029449257100003234,9.238202504200961,0.0,0.0,-0.06654441330842945
4909 +5.435031189863859,5.1098882109951855,0.3251429788686737,0.0,-1.8230604145075082,-0.21986097067477556,0.038910719344411995,7.0750924249215235,0.0,0.0,0.03880645191153356
4910 +,5.991122484803626,,0.0,-1.0039436707770735,7.792508476998916e-05,0.0,7.226559412874028,0.0,0.0,-0.23157118237810062
4911 +4.858881738868719,4.23778842271748,0.6210933161512395,0.0,-2.8804535439992387,0.03519039099833572,0.026786096644932214,7.263874995455083,0.0,0.0,-0.20760951638163194
4912 +4.485147143388361,6.223826875171613,-1.738679731783252,0.0,-1.9157537116895584,0.022562493781842823,0.0,6.841208882341428,0.0,0.0,1.2758092107379004
4913 +4.981481076665904,4.938322323672897,0.04315875299300753,0.0,-2.171313600328971,0.023895936484325773,0.029449257100003234,7.262126720519777,0.0,0.0,-0.20583599010223586
4914 +5.32598117053051,5.872872857593102,-0.5468916870625922,0.0,-1.359881445223242,0.006056681094512972,0.026786096644932214,7.160891309754119,0.0,0.0,0.03902021532277897
4915 +7.068495627742488,6.8538174999748,0.21467812776768813,0.0,-1.5861678071046912,-0.0269794293055763,0.04140117222760452,8.222776125363746,0.0,0.0,0.2027874387937172
4916 +8.334425935313101,5.498722351986299,2.8357035833268025,0.0,-2.0932549023747784,0.023005465677026105,0.0,7.836486205849516,0.0,0.0,-0.2675144171654659
4917 +5.094179556473186,5.789790333558912,-0.6956107770857258,0.0,-1.6129259406987115,-0.01928992216096196,0.026786096644932214,7.4179353555179715,0.0,0.0,-0.022715255744316848
4918 +4.832305758571839,6.11608401772822,-1.2837782591563807,0.0,-1.3647670400652077,0.054852213239052386,0.029276549528124737,6.969692141767151,0.0,0.0,0.42703015325910065
4919 +5.594711379601839,4.9738478469416805,0.6208635326601586,0.0,-2.089748453861896,-0.006064224782404641,0.038910719344411995,7.1322511206493635,0.0,0.0,-0.1015013144077962
4920 +4.826632324519763,5.0017878274141,-0.175155502894337,0.0,-1.3876253038978659,-0.07475381486500213,0.0,6.67794548753074,0.0,0.0,-0.2137785413537707
4921 +6.380122536899765,5.324656484931422,1.0554660519683425,0.0,-1.9074098555245014,-0.04169281554023763,0.038910719344411995,7.335255622043358,0.0,0.0,-0.10040718539160878
4922 +,6.357866980094228,,0.0,-0.9595196796145622,-0.07460129707327301,0.0,6.614464143596077,0.0,0.0,0.777523813185985
4923 +5.3230099791384085,5.0903300309428525,0.23267994819555593,0.0,-2.0380907515775704,-0.15683245216445638,0.026786096644932214,7.492816874968765,0.0,0.0,-0.23434973692881841
4924 +5.905361848054571,6.681180427340943,-0.7758185792863728,0.0,-0.9239363477245828,0.042616907655295716,0.03193970998319576,7.635778421650977,0.0,0.0,-0.1052182642239424
4925 +4.919980925828125,5.811206371980564,-0.8912254461524389,0.0,-1.4655953892501303,-0.05621872967742243,0.026786096644932214,7.610348770494869,0.0,0.0,-0.3041143762316827
4926 +,4.77475206797166,,0.0,-2.249673885262479,-0.04566335819788988,0.026786096644932214,7.306728124548169,0.0,0.0,-0.26342490976107374
4927 +,4.154292470476444,,0.0,-2.531891882872036,-0.0069032218982891455,0.026786096644932214,6.83949537017279,0.0,0.0,-0.17319389157095294
4928 +8.225503097566918,5.863672500690367,2.361830596876551,0.0,-2.0958796941979676,-0.016731692621349534,0.029449257100003234,7.304276178482141,0.0,0.0,0.6425584519275396
4929 +7.161459072676858,5.787717074949741,1.3737419977271168,0.0,-1.4934328784948425,-0.14378575860376205,0.0,7.5187689836897,0.0,0.0,-0.09383327164135216
4930 +6.084613301806004,6.579612345183617,-0.4949990433776126,0.0,-1.736896664488004,0.04934837634263925,0.0,8.329831745091703,0.0,0.0,-0.06267111176272167
4931 +,4.259506624413584,,0.0,-3.006610012848328,-0.02664533177468863,0.026786096644932214,7.332930673355016,0.0,0.0,-0.06695480096334719
4932 +4.956038302893036,6.4935689022154905,-1.5375305993224542,0.0,-1.6729317275917062,0.1592240125306311,0.03193970998319576,8.063013613403083,0.0,0.0,-0.0876767061097133
4933 +10.057152400080279,4.56453920047883,5.492613199601449,0.0,-3.2810279454346256,-0.006532803062133226,0.017324634400523453,7.887636245599367,0.0,0.0,-0.052860931024302074
4934 +5.206037590428741,3.624879303523884,1.5811582869048566,0.0,-5.413300345911965,-0.04706394512226428,0.029449257100003234,9.0784399922403,0.0,0.0,-0.022645654782188204
4935 +4.74493212836325,5.07948756491517,-0.3345554365519199,0.0,-1.9356051013629694,-0.07853100604795127,0.019815087283715976,7.211507743673866,0.0,0.0,-0.1376991586314894
4936 +5.030437921392435,4.964068301436593,0.06636961995584212,0.0,-2.3453465093892882,-0.1242662555626724,0.029449257100003234,7.5639395647049685,0.0,0.0,-0.1597077554164187
4937 +8.302513718514158,3.777328097489354,4.525185621024804,0.0,-5.233695078396369,-0.05169710867380034,0.0,9.238202504200961,0.0,0.0,-0.17548221964143654
4938 +5.262690188904886,5.166546648955378,0.09614353994950786,0.0,-1.9423489643483434,-0.023101534609332793,0.026786096644932214,7.349124748800545,0.0,0.0,-0.24391369753242245
4939 +8.09132127353041,6.218441816668639,1.8728794568617708,0.0,-2.0015505200934216,-0.029639829274611895,0.017324634400523453,8.193544643000152,0.0,0.0,0.03876288863599786
4940 +5.043425116919247,5.545079264858782,-0.5016541479395356,0.0,-1.9449883270244595,-0.045034378258910594,-0.012124622699479781,7.795911683046656,0.0,0.0,-0.24868509020502338
4941 +5.093750200806762,4.52757591523706,0.5661742855697023,0.0,-2.3458059993150036,-0.11656840338461907,0.017324634400523453,7.247702716463722,0.0,0.0,-0.275077032927562
4942 +5.746203190540153,5.412860330585522,0.3333428599546311,0.0,-1.528842331202097,-0.11864423226364831,0.038910719344411995,6.969638213024888,0.0,0.0,0.05179796168196618
4943 +3.784189633918261,-6.005217964533862,9.789407598452122,0.0,-6.279144520990321,-0.02120160524640472,0.0,0.0,0.0,0.0,0.2951281617028644
4944 +,5.78528797134797,,0.0,-1.4507217894723157,0.00496586413855404,0.0024904528831925232,7.3394248071093315,0.0,0.0,-0.110871363310795
4945 +8.89134649500514,6.081499734683595,2.8098467603215447,0.0,-1.8519963079894826,0.02475856928704763,0.0,8.095921358938705,0.0,0.0,-0.18718388555267593
4946 +7.761587458416631,5.572936121509335,2.188651336907296,0.0,-2.5030646563663534,-0.12438098062386538,0.0,8.629475351904443,0.0,0.0,-0.42909359340488806
4947 +5.252221070655064,5.208592233563095,0.04362883709196819,0.0,-1.9724372352735093,-0.07569269137523857,0.017324634400523453,7.349124748800545,0.0,0.0,-0.10972722298922388
4948 +6.736409269901161,5.757564773769597,0.9788444961315639,0.0,-1.8603245713854726,0.0943675601131565,0.029449257100003234,7.465501971348788,0.0,0.0,0.028570556593121715
4949 +5.771628021551268,5.60938623149498,0.1622417900562878,0.0,-1.5209163468465583,-0.07975684702880421,0.029449257100003234,7.3236252183945725,0.0,0.0,-0.1430150501242328
4950 +7.487940906833659,5.3197875279227675,2.1681533789108913,0.0,-2.071686662765164,-0.14908200311996125,0.038910719344411995,7.373704700924595,0.0,0.0,0.12794077353888644
4951 +7.996132029462666,5.758653561426209,2.237478468036457,0.0,-2.448545919316393,-0.004912071068511492,0.0,8.25700422298565,0.0,0.0,-0.04489267117453517
4952 +6.083017678034595,6.281118953590532,-0.19810127555593748,0.0,-1.7303448330896085,0.040292889075159696,0.0,7.959298483048785,0.0,0.0,0.011872414556193471
4953 +7.095893221097532,3.9214791264192748,3.174414094678257,0.0,-4.82902900953645,-0.15981468019049572,0.0,9.0784399922403,0.0,0.0,-0.16811717609407806
4954 +5.614222397943558,6.610034496106656,-0.995812098163098,0.0,-1.3675306992800982,-0.08316017417866681,0.0,7.904286660441882,0.0,0.0,0.1564387091235396
4955 +6.8315327650676325,6.618151124118915,0.21338164094871725,0.0,-1.3065643671834515,-0.13568458640930292,0.0024904528831925232,8.093859507982389,0.0,0.0,-0.03594988315391015
4956 +5.630064170161918,5.730585436013348,-0.1005212658514294,0.0,-1.7696446808554125,0.16149214191486747,-0.012124622699479781,7.301182216549989,0.0,0.0,0.04968038110338377
4957 +,5.752476747912712,,0.0,-2.021193341822813,-0.11107517886631518,0.017324634400523453,7.3626626035195555,0.0,0.0,0.5047580306817616
4958 +7.524053812089547,5.870758945754005,1.6532948663355418,0.0,-2.0640106358928856,-0.022301852688701617,0.0024904528831925232,8.007132621909014,0.0,0.0,-0.05255164045661342
4959 +7.321267918669602,4.860602379507982,2.460665539161621,0.0,-2.024373287728369,-0.2769169472484723,0.038910719344411995,7.088434537083082,0.0,0.0,0.03454735805733025
4960 +7.3219752842252745,-5.339750648726384,12.661725932951658,0.0,-4.969189042036839,0.026176462074782705,0.0,0.0,0.0,0.0,-0.39673806876432555
4961 +5.541263545158426,5.2336884686912795,0.3075750764671463,0.0,-2.210488843157812,-0.0026401347189676586,0.038910719344411995,7.159902644594075,0.0,0.0,0.24800408262957185
4962 +5.075173815233827,5.611232013995559,-0.5360581987617321,0.0,-1.7180766866219193,-0.11592007273061022,0.029276549528124737,7.028189981563572,0.0,0.0,0.38776224225639117
4963 +4.532599493153256,5.183297476312821,-0.6506979831595645,0.0,-2.081360817840735,-0.009587976332921709,0.029276549528124737,7.368543493080362,0.0,0.0,-0.1235737721220097
4964 +7.652070746116482,4.284772111691538,3.3672986344249436,0.0,-4.871014806914594,0.017370417513622314,0.0024904528831925232,9.238202504200961,0.0,0.0,-0.10227645599164256
4965 +8.575084669832014,4.00293099181122,4.572153678020794,0.0,-5.002283469519311,-0.19140860587751946,0.0,9.238202504200961,0.0,0.0,-0.041579436992909294
4966 +6.498282149476434,6.4039155018918,0.09436664758463387,0.0,-1.5901235608812456,-0.07994064323317665,0.0024904528831925232,8.280781835129236,0.0,0.0,-0.20929258200620793
4967 +6.192362489474872,6.303355197812797,-0.11099270833792474,0.0,-1.5720904806749436,-0.0694146608408026,0.017324634400523453,7.484005646080261,0.0,0.0,0.4435300588477594
4968 +4.532599493153256,4.944429476342484,-0.4118299831892278,0.0,-1.858688091902513,-0.16741098397501578,0.026786096644932214,7.092349734279045,0.0,0.0,-0.1486072787039616
4969 +4.406719247264253,4.988343576935417,-0.5816243296711638,0.0,-2.496277542807751,-0.09074500872312734,0.03193970998319576,7.782611443668813,0.0,0.0,-0.2391850251857149
4970 +4.727387818712341,5.966243107292243,-1.2388552885799022,0.0,-2.3107222214090664,-0.053792210509465664,0.026786096644932214,6.933198143861123,0.0,0.0,1.3707732987047208
4971 +4.007333185232471,5.525746686989268,-1.5184135017567968,0.0,-1.8410282292589688,-0.11871607748902899,0.0,7.1501071969848224,0.0,0.0,0.335383796752442
4972 +8.184318475948865,4.748401619132938,3.4359168568159273,0.0,-4.324484530122737,-0.11005753220523044,0.0024904528831925232,9.238202504200961,0.0,0.0,-0.057749275623247276
4973 +,6.663556382157689,,0.0,-1.197137667480388,-0.21203696704550742,0.0,8.328472330496643,0.0,0.0,-0.2557413138130574
4974 +7.775271646562041,6.083051055026797,1.6922205915352446,0.0,-1.7114758139826298,-0.04227994350116952,0.0,7.981872499311486,0.0,0.0,-0.1450656868008897
4975 +,6.029171684386604,,0.0,-1.2050656909867046,0.02387361632238763,0.029276549528124737,7.078705083831937,0.0,0.0,0.10238212569086111
4976 +5.9460486835775,6.518080851491745,-0.5720321679142453,0.0,-1.0279418172330788,-0.08453986194493002,0.038910719344411995,7.274491782214891,0.0,0.0,0.3171600291104495
4977 +7.289610521451167,6.036745224015579,1.252865297435588,0.0,-1.9151234944578848,-0.022375350945832265,0.0,7.9833554970515515,0.0,0.0,-0.00911142763225467
4978 +4.669083511731744,6.261458031578904,-1.5923745198471604,0.0,-1.9040230432469416,-0.04254353771698415,0.029449257100003234,8.222776125363746,0.0,0.0,-0.04420076992091816
4979 +5.1084876942637605,5.385853325688874,-0.2773656314251136,0.0,-2.0108123910131708,-0.0576317769945426,0.019815087283715976,7.369655741385412,0.0,0.0,0.06482666502745918
4980 +,5.096218051529988,,0.0,-1.7193415118928934,0.03831245108220032,0.0,7.038375901612755,0.0,0.0,-0.26112878927207356
4981 +4.29510616264318,5.807208014576748,-1.5121018519335676,0.0,-2.16773210459454,-0.035199930919876575,0.038910719344411995,7.960039981918818,0.0,0.0,0.011189348827934181
4982 +5.1084876942637605,6.51463029885374,-1.4061426045899799,0.0,-1.4759036487980186,0.06256022299285624,0.029449257100003234,7.934596008957455,0.0,0.0,-0.036071541398556645
4983 +,5.853981543322082,,0.0,-1.288928943160264,-0.12356094402682034,-0.009634169816287258,7.302170881710033,0.0,0.0,-0.026065281384578698
4984 +,7.951702210522664,,0.0,-0.23428024510641432,-0.03192179133718799,0.0024904528831925232,8.143118009012213,0.0,0.0,0.0722957850708624
4985 +5.713039495918878,6.135131718357633,-0.42209222243875555,0.0,-1.2019892420306721,0.05842925246856803,0.038910719344411995,7.48375847979025,0.0,0.0,-0.24397749121492274
4986 +4.725616339063959,3.94279742861844,0.7828189104455188,0.0,-5.212563560718683,-0.10159388680156466,0.029449257100003234,9.238202504200961,0.0,0.0,-0.010696885162276265
4987 +6.020052003959894,5.392133086661517,0.627918917298377,0.0,-1.9261774228015307,-0.13716236952063537,0.029449257100003234,7.521189284030162,0.0,0.0,-0.09516566214647959
4988 +7.223689475100012,5.722526043464806,1.5011634316352058,0.0,-1.781376578269243,-0.004966714226057534,0.04140117222760452,7.806597159593633,0.0,0.0,-0.3391289958611306
4989 +,4.765943631242619,,0.0,-2.118574554588027,0.022398267178691714,0.026786096644932214,7.102286855212939,0.0,0.0,-0.2669530332059176
4990 +5.232925147780985,6.801206219774258,-1.5682810719932734,0.0,-0.9851516104709335,-0.10544089010540608,0.029276549528124737,7.949660307232322,0.0,0.0,-0.08713813640984838
4991 +8.56634709894684,5.828192427937344,2.7381546710094966,0.0,-2.4712613625521183,-0.10358380883238105,0.0,8.414047905756192,0.0,0.0,-0.011010306434348444
4992 +7.971852034423014,7.075487876840675,0.8963641575823393,0.0,-0.37970780255984415,-0.05445569298316187,0.038910719344411995,7.936449756132538,0.0,0.0,-0.4657091030932683
4993 +,5.415531844972922,,0.0,-2.382683980549242,0.0694433748504611,0.017324634400523453,7.740842286090309,0.0,0.0,-0.029394469819129066
4994 +,5.351141201779447,,0.0,-1.9030807444240034,0.021300444691025093,0.03193970998319576,7.2330735872095095,0.0,0.0,-0.032091795680279984
4995 +4.706010500914163,5.402837066512303,-0.6968265655981405,0.0,-2.3638808638664113,-0.07594065391668971,0.0,7.870905848118483,0.0,0.0,-0.02824726382307738
4996 +8.771215062375383,5.097077530899558,3.674137531475825,0.0,-1.9960756177938164,-0.00451649334393224,0.0,7.379868034004692,0.0,0.0,-0.28219839196738455
4997 +4.754021132720446,4.765739706712285,-0.011718573991839065,0.0,-1.8910137721498428,-0.07428101626631771,0.017324634400523453,7.06337563536199,0.0,0.0,-0.34966577463406856
4998 +,6.132419033790464,,0.0,-1.7959591564589727,-0.013063230115057847,0.0,8.176166647123251,0.0,0.0,-0.2347252267587549
4999 +,6.017156919178528,,0.0,-1.764743589833663,-0.10577564560613958,0.029276549528124737,7.418429688097993,0.0,0.0,0.43996991699221244
5000 +5.296716085181063,5.638302915523371,-0.3415868303423082,0.0,-1.9078570003529576,-0.17380562535190217,0.017324634400523453,7.284770946938466,0.0,0.0,0.41786995988924147
5001 +,6.010662214402338,,0.0,-1.3945401124249859,-0.062232973684858583,0.0024904528831925232,7.344012337505319,0.0,0.0,0.12093251012366965
added results/tables/price_premiums.csv +57 −0
@@ -0,0 +1,57 @@
1 +,coefficient,std_error,p_value,premium_pct,premium_lo_95,premium_hi_95
2 +has_reviews,9.511318322332384,3.738460089109724,0.010953437737680097,1351079.548181805,788.239466415744,2055398517.6631637
3 +text_embed_0,2.800147844902441,0.43000945468704777,7.424142976981857e-11,1544.7078208027947,608.0501940221127,3720.440752150118
4 +bedrooms,1.140713934919007,0.31073830451146434,0.00024162275436663734,212.90014713570935,70.17855943685194,475.3163171761285
5 +rating,1.051601247180579,0.4938309926187495,0.033214898406935034,186.2230589313277,8.73138394344899,653.4497997985072
6 +family_comfort_index,0.9212190119080769,0.5881231358322402,0.11726179298981884,151.23511099505086,-20.664235206583157,695.5942841296343
7 +log_bathrooms,0.6445169963013224,0.5405861581474498,0.2331609498315983,90.50666527776714,-33.96679102427738,449.61420288688976
8 +text_embed_1,0.47868511982462225,0.4423219084887218,0.27915929911498283,61.39508544109064,-32.175716427838616,284.0567453517276
9 +luxury_index,0.44537078846762257,0.5705044147873011,0.43500165518025047,56.10689148856647,-48.97208334011377,377.5692045718999
10 +luxury_language_score,0.2184081693967448,196.63172018732132,0.9991137519912074,24.409476540855323,-100.0,2.938171428330505e+169
11 +cleanliness_premium,0.20729084896040958,0.11012116701105469,0.05978324851434462,23.03403629621514,-0.8506287373553301,52.67241632062183
12 +guests_count,0.18674631288813648,0.25217216722394226,0.4589658182366848,20.532147173808468,-26.471864182035198,97.58420828587174
13 +reputation_score,0.1029859541712436,0.06057806041304639,0.08912082999034045,10.847583950484152,-1.5621560118665112,24.821779610906837
14 +is_entire_home,0.055320247793376215,0.1354827590791941,0.6830391501234656,5.687902366042952,-18.959493861502786,37.831477600163964
15 +superhost_flag,0.038910719344411995,0.10473545724015502,0.7102545122616462,3.9677656403616757,-15.326457876414434,27.658487186852597
16 +is_superhost,0.03891071934438255,0.10473545724015419,0.7102545122618532,3.9677656403586337,-15.326457876416788,27.658487186848646
17 +bathrooms_sq,0.028200683337404817,0.013410779686163325,0.035480022985374914,2.8602087009634847,0.19178749219377345,5.599698326872327
18 +leisure_index,0.027379761089553867,0.5611154148505003,0.9610824759365416,2.7758031171732256,-65.78090085235173,208.68333677644162
19 +pets_allowed,0.022709084950820746,0.0927634339489891,0.8066063162105241,2.296889920766776,-14.70922667329101,22.693853969130885
20 +bedrooms_per_guest,0.017581902505757085,0.5294611131722287,0.9735093844922449,1.773737397848496,-63.94565529031435,187.28558811231642
21 +title_length,0.006894999122236952,0.005918464142770631,0.24401978648093703,0.6918824355528042,-0.46939263734915304,1.8667067053367736
22 +long,0.004155148254905988,0.018602133447493754,0.8232479816477286,0.4163792852463821,-3.1788150961554074,4.145071543718171
23 +amenities_count,0.0030406484212870226,0.01250762926369891,0.8079252217529121,0.30452758816692516,-2.1244932793004545,2.793830568823563
24 +local_density_1km,0.002991873727084674,0.0010862215571062906,0.00588023254312079,0.2996353848155442,0.08632910172923225,0.5133962711509898
25 +num_reviews,0.002826083592719186,0.0010671436179434763,0.008090506808713215,0.2830080731484941,0.07347903614867146,0.4929758119678773
26 +multi_listing_host,0.0024904528831925232,0.07804680342768897,0.9745440344899834,0.2493556637023664,-13.970374882540826,16.819447920015662
27 +local_avg_price_500m,0.00025304040841127567,3.852891708652815e-05,5.115145286784102e-11,0.02530724258358319,0.017754087707477773,0.03286096785992676
28 +host_professional_dummy,3.529386130883241e-15,1.4483991988528072e-14,0.807482569914107,3.552713678800501e-13,-2.4868995751603507e-12,3.197442310920451e-12
29 +cozy_language_score,2.3338013479642686e-15,3.5609857800132175e-14,0.9477455961163753,2.4424906541753444e-13,-6.750155989720952e-12,7.2164496600635175e-12
30 +distance_to_center,-5.245213604210112e-06,2.8389150727956524e-06,0.06465849000188388,-0.0005245199848125104,-0.0010809326480898385,3.189577444384639e-05
31 +local_avg_price_1km,-9.066245962433865e-05,5.48830356665867e-05,0.09855058047471184,-0.009065834990773514,-0.01982115863804479,0.0016906456556942118
32 +accommodates_sq,-0.005362698604160734,0.007624317657832579,0.48182664426864397,-0.5348345005471322,-2.010130648004538,0.9626731136373579
33 +local_density_500m,-0.007594815210798212,0.0028708716246661475,0.00815766423242629,-0.7566047476367355,-1.3134598523741214,-0.1966074959844133
34 +superhost_x_entire_home,-0.009461462244408761,0.12116840405991489,0.9377602590604721,-0.941684344109639,-21.881803792350453,25.61157805665182
35 +is_guest_favorite,-0.012124622699444199,0.1022872314171178,0.9056437202468889,-1.2051415629708906,-19.152369872024988,20.726161523135424
36 +guest_favorite_flag,-0.012124622699479781,0.1022872314171166,0.9056437202466121,-1.20514156297441,-19.152369872027673,20.72616152313085
37 +spatial_cluster,-0.013390960192669438,0.005025555201163783,0.007708606538347646,-1.330170015530907,-2.297287854312813,-0.353479086160724
38 +quality_score,-0.017101693470780666,0.01801381864786639,0.34243487707780784,-1.695628957520856,-5.1058502976592095,1.8371458764336435
39 +text_embed_3,-0.054685980746680296,0.24415790328825196,0.822774479568379,-5.321759081664556,-41.32912080481395,52.78396073747369
40 +title_word_count,-0.05781839980742918,0.052846466321922664,0.2739187485818574,-5.617866998994437,-14.904460833576994,4.682185659555893
41 +bedrooms_sq,-0.06313439828254862,0.020098777780130195,0.001682537294481699,-6.118271022150045,-9.744647121864547,-2.3461905049442344
42 +text_embed_2,-0.08534284931388031,0.4600115378365322,0.8528186224397026,-8.180257292764647,-62.72878585218449,126.20312602070243
43 +lat,-0.08973780290976088,0.045383722596035875,0.048006315299874834,-8.58291532134119,-16.3633416234674,-0.07870312654709721
44 +remote_work_index,-0.09000506644644435,0.5682260244938251,0.8741442981257269,-8.607344510044602,-69.99204310118597,178.3467566842508
45 +large_capacity_listing,-0.12493844960018569,0.14797280729651827,0.3984828775174668,-11.744877770653284,-33.9633188001592,17.9490922044657
46 +location_rating_premium,-0.1459293647801434,0.11603886727633216,0.20853992928805132,-13.578125469016545,-31.15835820175762,8.49160772978157
47 +bathrooms,-0.16442622939119067,0.22631251141508918,0.46750471561731355,-15.1619659829894,-45.555622456626566,32.19899539006619
48 +review_quality,-0.1645431921070989,0.13513793492411155,0.22337814547176382,-15.171888289579073,-34.91061308631078,10.55271646509044
49 +tourism_language_score,-0.2087260508305275,0.11499140935932874,0.06950167058755337,-18.838245285603495,-35.2155818184504,1.679240367028334
50 +is_private_room,-0.2634794105443824,0.13535841027306297,0.051590926876522385,-23.16265573327415,-41.067473766784445,0.18198525207200333
51 +amenity_richness_index,-0.26915956904315474,0.10579930358735345,0.01095728757988842,-23.597866823204082,-37.90609771040733,-5.992605735406897
52 +log_reviews,-0.39999765194272413,0.06572429097063069,1.1577065166839158e-09,-32.96783800126516,-41.06970582166759,-23.752107385937006
53 +bathrooms_per_guest,-0.4407759761226667,0.33469252489447626,0.18785272535237096,-35.64631419521861,-66.60490893171496,24.012145024319498
54 +professional_tone_score,-0.62262548147976,19.506981150630864,0.9745373762829133,-46.34660731182546,-100.0,2.15759361375148e+18
55 +log_accommodates,-1.0943003364710635,1.1354499493501427,0.3351666656218816,-66.52262459868967,-96.38378158695701,209.91896388724487
56 +business_travel_index,-1.1561530043644892,0.5602060905171665,0.03903673815109476,-68.53055164704183,-89.50358867376636,-5.650974522655772
57 +log_bedrooms,-2.053249572706008,0.7740341688728041,0.007986023976347761,-87.16827508744086,-97.18533986850318,-41.501582237558175
added results/tables/price_premiums.html +519 −0
@@ -0,0 +1,519 @@
1 +<table class="dataframe table table-sm">
2 + <thead>
3 + <tr style="text-align: right;">
4 + <th></th>
5 + <th>coefficient</th>
6 + <th>std_error</th>
7 + <th>p_value</th>
8 + <th>premium_pct</th>
9 + <th>premium_lo_95</th>
10 + <th>premium_hi_95</th>
11 + </tr>
12 + </thead>
13 + <tbody>
14 + <tr>
15 + <th>has_reviews</th>
16 + <td>9.511318e+00</td>
17 + <td>3.738460e+00</td>
18 + <td>1.095344e-02</td>
19 + <td>1.351080e+06</td>
20 + <td>7.882395e+02</td>
21 + <td>2.055399e+09</td>
22 + </tr>
23 + <tr>
24 + <th>text_embed_0</th>
25 + <td>2.800148e+00</td>
26 + <td>4.300095e-01</td>
27 + <td>7.424143e-11</td>
28 + <td>1.544708e+03</td>
29 + <td>6.080502e+02</td>
30 + <td>3.720441e+03</td>
31 + </tr>
32 + <tr>
33 + <th>bedrooms</th>
34 + <td>1.140714e+00</td>
35 + <td>3.107383e-01</td>
36 + <td>2.416228e-04</td>
37 + <td>2.129001e+02</td>
38 + <td>7.017856e+01</td>
39 + <td>4.753163e+02</td>
40 + </tr>
41 + <tr>
42 + <th>rating</th>
43 + <td>1.051601e+00</td>
44 + <td>4.938310e-01</td>
45 + <td>3.321490e-02</td>
46 + <td>1.862231e+02</td>
47 + <td>8.731384e+00</td>
48 + <td>6.534498e+02</td>
49 + </tr>
50 + <tr>
51 + <th>family_comfort_index</th>
52 + <td>9.212190e-01</td>
53 + <td>5.881231e-01</td>
54 + <td>1.172618e-01</td>
55 + <td>1.512351e+02</td>
56 + <td>-2.066424e+01</td>
57 + <td>6.955943e+02</td>
58 + </tr>
59 + <tr>
60 + <th>log_bathrooms</th>
61 + <td>6.445170e-01</td>
62 + <td>5.405862e-01</td>
63 + <td>2.331609e-01</td>
64 + <td>9.050667e+01</td>
65 + <td>-3.396679e+01</td>
66 + <td>4.496142e+02</td>
67 + </tr>
68 + <tr>
69 + <th>text_embed_1</th>
70 + <td>4.786851e-01</td>
71 + <td>4.423219e-01</td>
72 + <td>2.791593e-01</td>
73 + <td>6.139509e+01</td>
74 + <td>-3.217572e+01</td>
75 + <td>2.840567e+02</td>
76 + </tr>
77 + <tr>
78 + <th>luxury_index</th>
79 + <td>4.453708e-01</td>
80 + <td>5.705044e-01</td>
81 + <td>4.350017e-01</td>
82 + <td>5.610689e+01</td>
83 + <td>-4.897208e+01</td>
84 + <td>3.775692e+02</td>
85 + </tr>
86 + <tr>
87 + <th>luxury_language_score</th>
88 + <td>2.184082e-01</td>
89 + <td>1.966317e+02</td>
90 + <td>9.991138e-01</td>
91 + <td>2.440948e+01</td>
92 + <td>-1.000000e+02</td>
93 + <td>2.938171e+169</td>
94 + </tr>
95 + <tr>
96 + <th>cleanliness_premium</th>
97 + <td>2.072908e-01</td>
98 + <td>1.101212e-01</td>
99 + <td>5.978325e-02</td>
100 + <td>2.303404e+01</td>
101 + <td>-8.506287e-01</td>
102 + <td>5.267242e+01</td>
103 + </tr>
104 + <tr>
105 + <th>guests_count</th>
106 + <td>1.867463e-01</td>
107 + <td>2.521722e-01</td>
108 + <td>4.589658e-01</td>
109 + <td>2.053215e+01</td>
110 + <td>-2.647186e+01</td>
111 + <td>9.758421e+01</td>
112 + </tr>
113 + <tr>
114 + <th>reputation_score</th>
115 + <td>1.029860e-01</td>
116 + <td>6.057806e-02</td>
117 + <td>8.912083e-02</td>
118 + <td>1.084758e+01</td>
119 + <td>-1.562156e+00</td>
120 + <td>2.482178e+01</td>
121 + </tr>
122 + <tr>
123 + <th>is_entire_home</th>
124 + <td>5.532025e-02</td>
125 + <td>1.354828e-01</td>
126 + <td>6.830392e-01</td>
127 + <td>5.687902e+00</td>
128 + <td>-1.895949e+01</td>
129 + <td>3.783148e+01</td>
130 + </tr>
131 + <tr>
132 + <th>superhost_flag</th>
133 + <td>3.891072e-02</td>
134 + <td>1.047355e-01</td>
135 + <td>7.102545e-01</td>
136 + <td>3.967766e+00</td>
137 + <td>-1.532646e+01</td>
138 + <td>2.765849e+01</td>
139 + </tr>
140 + <tr>
141 + <th>is_superhost</th>
142 + <td>3.891072e-02</td>
143 + <td>1.047355e-01</td>
144 + <td>7.102545e-01</td>
145 + <td>3.967766e+00</td>
146 + <td>-1.532646e+01</td>
147 + <td>2.765849e+01</td>
148 + </tr>
149 + <tr>
150 + <th>bathrooms_sq</th>
151 + <td>2.820068e-02</td>
152 + <td>1.341078e-02</td>
153 + <td>3.548002e-02</td>
154 + <td>2.860209e+00</td>
155 + <td>1.917875e-01</td>
156 + <td>5.599698e+00</td>
157 + </tr>
158 + <tr>
159 + <th>leisure_index</th>
160 + <td>2.737976e-02</td>
161 + <td>5.611154e-01</td>
162 + <td>9.610825e-01</td>
163 + <td>2.775803e+00</td>
164 + <td>-6.578090e+01</td>
165 + <td>2.086833e+02</td>
166 + </tr>
167 + <tr>
168 + <th>pets_allowed</th>
169 + <td>2.270908e-02</td>
170 + <td>9.276343e-02</td>
171 + <td>8.066063e-01</td>
172 + <td>2.296890e+00</td>
173 + <td>-1.470923e+01</td>
174 + <td>2.269385e+01</td>
175 + </tr>
176 + <tr>
177 + <th>bedrooms_per_guest</th>
178 + <td>1.758190e-02</td>
179 + <td>5.294611e-01</td>
180 + <td>9.735094e-01</td>
181 + <td>1.773737e+00</td>
182 + <td>-6.394566e+01</td>
183 + <td>1.872856e+02</td>
184 + </tr>
185 + <tr>
186 + <th>title_length</th>
187 + <td>6.894999e-03</td>
188 + <td>5.918464e-03</td>
189 + <td>2.440198e-01</td>
190 + <td>6.918824e-01</td>
191 + <td>-4.693926e-01</td>
192 + <td>1.866707e+00</td>
193 + </tr>
194 + <tr>
195 + <th>long</th>
196 + <td>4.155148e-03</td>
197 + <td>1.860213e-02</td>
198 + <td>8.232480e-01</td>
199 + <td>4.163793e-01</td>
200 + <td>-3.178815e+00</td>
201 + <td>4.145072e+00</td>
202 + </tr>
203 + <tr>
204 + <th>amenities_count</th>
205 + <td>3.040648e-03</td>
206 + <td>1.250763e-02</td>
207 + <td>8.079252e-01</td>
208 + <td>3.045276e-01</td>
209 + <td>-2.124493e+00</td>
210 + <td>2.793831e+00</td>
211 + </tr>
212 + <tr>
213 + <th>local_density_1km</th>
214 + <td>2.991874e-03</td>
215 + <td>1.086222e-03</td>
216 + <td>5.880233e-03</td>
217 + <td>2.996354e-01</td>
218 + <td>8.632910e-02</td>
219 + <td>5.133963e-01</td>
220 + </tr>
221 + <tr>
222 + <th>num_reviews</th>
223 + <td>2.826084e-03</td>
224 + <td>1.067144e-03</td>
225 + <td>8.090507e-03</td>
226 + <td>2.830081e-01</td>
227 + <td>7.347904e-02</td>
228 + <td>4.929758e-01</td>
229 + </tr>
230 + <tr>
231 + <th>multi_listing_host</th>
232 + <td>2.490453e-03</td>
233 + <td>7.804680e-02</td>
234 + <td>9.745440e-01</td>
235 + <td>2.493557e-01</td>
236 + <td>-1.397037e+01</td>
237 + <td>1.681945e+01</td>
238 + </tr>
239 + <tr>
240 + <th>local_avg_price_500m</th>
241 + <td>2.530404e-04</td>
242 + <td>3.852892e-05</td>
243 + <td>5.115145e-11</td>
244 + <td>2.530724e-02</td>
245 + <td>1.775409e-02</td>
246 + <td>3.286097e-02</td>
247 + </tr>
248 + <tr>
249 + <th>host_professional_dummy</th>
250 + <td>3.529386e-15</td>
251 + <td>1.448399e-14</td>
252 + <td>8.074826e-01</td>
253 + <td>3.552714e-13</td>
254 + <td>-2.486900e-12</td>
255 + <td>3.197442e-12</td>
256 + </tr>
257 + <tr>
258 + <th>cozy_language_score</th>
259 + <td>2.333801e-15</td>
260 + <td>3.560986e-14</td>
261 + <td>9.477456e-01</td>
262 + <td>2.442491e-13</td>
263 + <td>-6.750156e-12</td>
264 + <td>7.216450e-12</td>
265 + </tr>
266 + <tr>
267 + <th>distance_to_center</th>
268 + <td>-5.245214e-06</td>
269 + <td>2.838915e-06</td>
270 + <td>6.465849e-02</td>
271 + <td>-5.245200e-04</td>
272 + <td>-1.080933e-03</td>
273 + <td>3.189577e-05</td>
274 + </tr>
275 + <tr>
276 + <th>local_avg_price_1km</th>
277 + <td>-9.066246e-05</td>
278 + <td>5.488304e-05</td>
279 + <td>9.855058e-02</td>
280 + <td>-9.065835e-03</td>
281 + <td>-1.982116e-02</td>
282 + <td>1.690646e-03</td>
283 + </tr>
284 + <tr>
285 + <th>accommodates_sq</th>
286 + <td>-5.362699e-03</td>
287 + <td>7.624318e-03</td>
288 + <td>4.818266e-01</td>
289 + <td>-5.348345e-01</td>
290 + <td>-2.010131e+00</td>
291 + <td>9.626731e-01</td>
292 + </tr>
293 + <tr>
294 + <th>local_density_500m</th>
295 + <td>-7.594815e-03</td>
296 + <td>2.870872e-03</td>
297 + <td>8.157664e-03</td>
298 + <td>-7.566047e-01</td>
299 + <td>-1.313460e+00</td>
300 + <td>-1.966075e-01</td>
301 + </tr>
302 + <tr>
303 + <th>superhost_x_entire_home</th>
304 + <td>-9.461462e-03</td>
305 + <td>1.211684e-01</td>
306 + <td>9.377603e-01</td>
307 + <td>-9.416843e-01</td>
308 + <td>-2.188180e+01</td>
309 + <td>2.561158e+01</td>
310 + </tr>
311 + <tr>
312 + <th>is_guest_favorite</th>
313 + <td>-1.212462e-02</td>
314 + <td>1.022872e-01</td>
315 + <td>9.056437e-01</td>
316 + <td>-1.205142e+00</td>
317 + <td>-1.915237e+01</td>
318 + <td>2.072616e+01</td>
319 + </tr>
320 + <tr>
321 + <th>guest_favorite_flag</th>
322 + <td>-1.212462e-02</td>
323 + <td>1.022872e-01</td>
324 + <td>9.056437e-01</td>
325 + <td>-1.205142e+00</td>
326 + <td>-1.915237e+01</td>
327 + <td>2.072616e+01</td>
328 + </tr>
329 + <tr>
330 + <th>spatial_cluster</th>
331 + <td>-1.339096e-02</td>
332 + <td>5.025555e-03</td>
333 + <td>7.708607e-03</td>
334 + <td>-1.330170e+00</td>
335 + <td>-2.297288e+00</td>
336 + <td>-3.534791e-01</td>
337 + </tr>
338 + <tr>
339 + <th>quality_score</th>
340 + <td>-1.710169e-02</td>
341 + <td>1.801382e-02</td>
342 + <td>3.424349e-01</td>
343 + <td>-1.695629e+00</td>
344 + <td>-5.105850e+00</td>
345 + <td>1.837146e+00</td>
346 + </tr>
347 + <tr>
348 + <th>text_embed_3</th>
349 + <td>-5.468598e-02</td>
350 + <td>2.441579e-01</td>
351 + <td>8.227745e-01</td>
352 + <td>-5.321759e+00</td>
353 + <td>-4.132912e+01</td>
354 + <td>5.278396e+01</td>
355 + </tr>
356 + <tr>
357 + <th>title_word_count</th>
358 + <td>-5.781840e-02</td>
359 + <td>5.284647e-02</td>
360 + <td>2.739187e-01</td>
361 + <td>-5.617867e+00</td>
362 + <td>-1.490446e+01</td>
363 + <td>4.682186e+00</td>
364 + </tr>
365 + <tr>
366 + <th>bedrooms_sq</th>
367 + <td>-6.313440e-02</td>
368 + <td>2.009878e-02</td>
369 + <td>1.682537e-03</td>
370 + <td>-6.118271e+00</td>
371 + <td>-9.744647e+00</td>
372 + <td>-2.346191e+00</td>
373 + </tr>
374 + <tr>
375 + <th>text_embed_2</th>
376 + <td>-8.534285e-02</td>
377 + <td>4.600115e-01</td>
378 + <td>8.528186e-01</td>
379 + <td>-8.180257e+00</td>
380 + <td>-6.272879e+01</td>
381 + <td>1.262031e+02</td>
382 + </tr>
383 + <tr>
384 + <th>lat</th>
385 + <td>-8.973780e-02</td>
386 + <td>4.538372e-02</td>
387 + <td>4.800632e-02</td>
388 + <td>-8.582915e+00</td>
389 + <td>-1.636334e+01</td>
390 + <td>-7.870313e-02</td>
391 + </tr>
392 + <tr>
393 + <th>remote_work_index</th>
394 + <td>-9.000507e-02</td>
395 + <td>5.682260e-01</td>
396 + <td>8.741443e-01</td>
397 + <td>-8.607345e+00</td>
398 + <td>-6.999204e+01</td>
399 + <td>1.783468e+02</td>
400 + </tr>
401 + <tr>
402 + <th>large_capacity_listing</th>
403 + <td>-1.249384e-01</td>
404 + <td>1.479728e-01</td>
405 + <td>3.984829e-01</td>
406 + <td>-1.174488e+01</td>
407 + <td>-3.396332e+01</td>
408 + <td>1.794909e+01</td>
409 + </tr>
410 + <tr>
411 + <th>location_rating_premium</th>
412 + <td>-1.459294e-01</td>
413 + <td>1.160389e-01</td>
414 + <td>2.085399e-01</td>
415 + <td>-1.357813e+01</td>
416 + <td>-3.115836e+01</td>
417 + <td>8.491608e+00</td>
418 + </tr>
419 + <tr>
420 + <th>bathrooms</th>
421 + <td>-1.644262e-01</td>
422 + <td>2.263125e-01</td>
423 + <td>4.675047e-01</td>
424 + <td>-1.516197e+01</td>
425 + <td>-4.555562e+01</td>
426 + <td>3.219900e+01</td>
427 + </tr>
428 + <tr>
429 + <th>review_quality</th>
430 + <td>-1.645432e-01</td>
431 + <td>1.351379e-01</td>
432 + <td>2.233781e-01</td>
433 + <td>-1.517189e+01</td>
434 + <td>-3.491061e+01</td>
435 + <td>1.055272e+01</td>
436 + </tr>
437 + <tr>
438 + <th>tourism_language_score</th>
439 + <td>-2.087261e-01</td>
440 + <td>1.149914e-01</td>
441 + <td>6.950167e-02</td>
442 + <td>-1.883825e+01</td>
443 + <td>-3.521558e+01</td>
444 + <td>1.679240e+00</td>
445 + </tr>
446 + <tr>
447 + <th>is_private_room</th>
448 + <td>-2.634794e-01</td>
449 + <td>1.353584e-01</td>
450 + <td>5.159093e-02</td>
451 + <td>-2.316266e+01</td>
452 + <td>-4.106747e+01</td>
453 + <td>1.819853e-01</td>
454 + </tr>
455 + <tr>
456 + <th>amenity_richness_index</th>
457 + <td>-2.691596e-01</td>
458 + <td>1.057993e-01</td>
459 + <td>1.095729e-02</td>
460 + <td>-2.359787e+01</td>
461 + <td>-3.790610e+01</td>
462 + <td>-5.992606e+00</td>
463 + </tr>
464 + <tr>
465 + <th>log_reviews</th>
466 + <td>-3.999977e-01</td>
467 + <td>6.572429e-02</td>
468 + <td>1.157707e-09</td>
469 + <td>-3.296784e+01</td>
470 + <td>-4.106971e+01</td>
471 + <td>-2.375211e+01</td>
472 + </tr>
473 + <tr>
474 + <th>bathrooms_per_guest</th>
475 + <td>-4.407760e-01</td>
476 + <td>3.346925e-01</td>
477 + <td>1.878527e-01</td>
478 + <td>-3.564631e+01</td>
479 + <td>-6.660491e+01</td>
480 + <td>2.401215e+01</td>
481 + </tr>
482 + <tr>
483 + <th>professional_tone_score</th>
484 + <td>-6.226255e-01</td>
485 + <td>1.950698e+01</td>
486 + <td>9.745374e-01</td>
487 + <td>-4.634661e+01</td>
488 + <td>-1.000000e+02</td>
489 + <td>2.157594e+18</td>
490 + </tr>
491 + <tr>
492 + <th>log_accommodates</th>
493 + <td>-1.094300e+00</td>
494 + <td>1.135450e+00</td>
495 + <td>3.351667e-01</td>
496 + <td>-6.652262e+01</td>
497 + <td>-9.638378e+01</td>
498 + <td>2.099190e+02</td>
499 + </tr>
500 + <tr>
501 + <th>business_travel_index</th>
502 + <td>-1.156153e+00</td>
503 + <td>5.602061e-01</td>
504 + <td>3.903674e-02</td>
505 + <td>-6.853055e+01</td>
506 + <td>-8.950359e+01</td>
507 + <td>-5.650975e+00</td>
508 + </tr>
509 + <tr>
510 + <th>log_bedrooms</th>
511 + <td>-2.053250e+00</td>
512 + <td>7.740342e-01</td>
513 + <td>7.986024e-03</td>
514 + <td>-8.716828e+01</td>
515 + <td>-9.718534e+01</td>
516 + <td>-4.150158e+01</td>
517 + </tr>
518 + </tbody>
519 +</table>
\ No newline at end of file
added results/tables/price_premiums.tex +69 −0
@@ -0,0 +1,69 @@
1 +\begin{table}[htbp]
2 +\centering
3 +\caption{Price Premiums}
4 +\label{tab:price_premiums}
5 +\begin{tabular}{lccccc}
6 +\toprule
7 + & coefficient & std_error & p_value & premium_pct & premium_lo_95 & premium_hi_95 \\
8 +\midrule
9 +has_reviews & 9.5113 & 3.7385 & 0.0110 & 1351079.5 & 788.2 & 2055398517.7 \\
10 +text_embed_0 & 2.8001 & 0.4300 & 0.0000 & 1544.7 & 608.1 & 3720.4 \\
11 +bedrooms & 1.1407 & 0.3107 & 0.0002 & 212.9 & 70.1786 & 475.3 \\
12 +rating & 1.0516 & 0.4938 & 0.0332 & 186.2 & 8.7314 & 653.4 \\
13 +family_comfort_index & 0.9212 & 0.5881 & 0.1173 & 151.2 & -20.6642 & 695.6 \\
14 +log_bathrooms & 0.6445 & 0.5406 & 0.2332 & 90.5067 & -33.9668 & 449.6 \\
15 +text_embed_1 & 0.4787 & 0.4423 & 0.2792 & 61.3951 & -32.1757 & 284.1 \\
16 +luxury_index & 0.4454 & 0.5705 & 0.4350 & 56.1069 & -48.9721 & 377.6 \\
17 +luxury_language_score & 0.2184 & 196.6 & 0.9991 & 24.4095 & -100.0 & 29381714283305050664764789594281384348919858297851914379391959376445857898484237145821157151224622002690364052532378072219128359490199350405697171288874777972417088192512.0 \\
18 +cleanliness_premium & 0.2073 & 0.1101 & 0.0598 & 23.0340 & -0.8506 & 52.6724 \\
19 +guests_count & 0.1867 & 0.2522 & 0.4590 & 20.5321 & -26.4719 & 97.5842 \\
20 +reputation_score & 0.1030 & 0.0606 & 0.0891 & 10.8476 & -1.5622 & 24.8218 \\
21 +is_entire_home & 0.0553 & 0.1355 & 0.6830 & 5.6879 & -18.9595 & 37.8315 \\
22 +superhost_flag & 0.0389 & 0.1047 & 0.7103 & 3.9678 & -15.3265 & 27.6585 \\
23 +is_superhost & 0.0389 & 0.1047 & 0.7103 & 3.9678 & -15.3265 & 27.6585 \\
24 +bathrooms_sq & 0.0282 & 0.0134 & 0.0355 & 2.8602 & 0.1918 & 5.5997 \\
25 +leisure_index & 0.0274 & 0.5611 & 0.9611 & 2.7758 & -65.7809 & 208.7 \\
26 +pets_allowed & 0.0227 & 0.0928 & 0.8066 & 2.2969 & -14.7092 & 22.6939 \\
27 +bedrooms_per_guest & 0.0176 & 0.5295 & 0.9735 & 1.7737 & -63.9457 & 187.3 \\
28 +title_length & 0.0069 & 0.0059 & 0.2440 & 0.6919 & -0.4694 & 1.8667 \\
29 +long & 0.0042 & 0.0186 & 0.8232 & 0.4164 & -3.1788 & 4.1451 \\
30 +amenities_count & 0.0030 & 0.0125 & 0.8079 & 0.3045 & -2.1245 & 2.7938 \\
31 +local_density_1km & 0.0030 & 0.0011 & 0.0059 & 0.2996 & 0.0863 & 0.5134 \\
32 +num_reviews & 0.0028 & 0.0011 & 0.0081 & 0.2830 & 0.0735 & 0.4930 \\
33 +multi_listing_host & 0.0025 & 0.0780 & 0.9745 & 0.2494 & -13.9704 & 16.8194 \\
34 +local_avg_price_500m & 0.0003 & 0.0000 & 0.0000 & 0.0253 & 0.0178 & 0.0329 \\
35 +host_professional_dummy & 0.0000 & 0.0000 & 0.8075 & 0.0000 & -0.0000 & 0.0000 \\
36 +cozy_language_score & 0.0000 & 0.0000 & 0.9477 & 0.0000 & -0.0000 & 0.0000 \\
37 +distance_to_center & -0.0000 & 0.0000 & 0.0647 & -0.0005 & -0.0011 & 0.0000 \\
38 +local_avg_price_1km & -0.0001 & 0.0001 & 0.0986 & -0.0091 & -0.0198 & 0.0017 \\
39 +accommodates_sq & -0.0054 & 0.0076 & 0.4818 & -0.5348 & -2.0101 & 0.9627 \\
40 +local_density_500m & -0.0076 & 0.0029 & 0.0082 & -0.7566 & -1.3135 & -0.1966 \\
41 +superhost_x_entire_home & -0.0095 & 0.1212 & 0.9378 & -0.9417 & -21.8818 & 25.6116 \\
42 +is_guest_favorite & -0.0121 & 0.1023 & 0.9056 & -1.2051 & -19.1524 & 20.7262 \\
43 +guest_favorite_flag & -0.0121 & 0.1023 & 0.9056 & -1.2051 & -19.1524 & 20.7262 \\
44 +spatial_cluster & -0.0134 & 0.0050 & 0.0077 & -1.3302 & -2.2973 & -0.3535 \\
45 +quality_score & -0.0171 & 0.0180 & 0.3424 & -1.6956 & -5.1059 & 1.8371 \\
46 +text_embed_3 & -0.0547 & 0.2442 & 0.8228 & -5.3218 & -41.3291 & 52.7840 \\
47 +title_word_count & -0.0578 & 0.0528 & 0.2739 & -5.6179 & -14.9045 & 4.6822 \\
48 +bedrooms_sq & -0.0631 & 0.0201 & 0.0017 & -6.1183 & -9.7446 & -2.3462 \\
49 +text_embed_2 & -0.0853 & 0.4600 & 0.8528 & -8.1803 & -62.7288 & 126.2 \\
50 +lat & -0.0897 & 0.0454 & 0.0480 & -8.5829 & -16.3633 & -0.0787 \\
51 +remote_work_index & -0.0900 & 0.5682 & 0.8741 & -8.6073 & -69.9920 & 178.3 \\
52 +large_capacity_listing & -0.1249 & 0.1480 & 0.3985 & -11.7449 & -33.9633 & 17.9491 \\
53 +location_rating_premium & -0.1459 & 0.1160 & 0.2085 & -13.5781 & -31.1584 & 8.4916 \\
54 +bathrooms & -0.1644 & 0.2263 & 0.4675 & -15.1620 & -45.5556 & 32.1990 \\
55 +review_quality & -0.1645 & 0.1351 & 0.2234 & -15.1719 & -34.9106 & 10.5527 \\
56 +tourism_language_score & -0.2087 & 0.1150 & 0.0695 & -18.8382 & -35.2156 & 1.6792 \\
57 +is_private_room & -0.2635 & 0.1354 & 0.0516 & -23.1627 & -41.0675 & 0.1820 \\
58 +amenity_richness_index & -0.2692 & 0.1058 & 0.0110 & -23.5979 & -37.9061 & -5.9926 \\
59 +log_reviews & -0.4000 & 0.0657 & 0.0000 & -32.9678 & -41.0697 & -23.7521 \\
60 +bathrooms_per_guest & -0.4408 & 0.3347 & 0.1879 & -35.6463 & -66.6049 & 24.0121 \\
61 +professional_tone_score & -0.6226 & 19.5070 & 0.9745 & -46.3466 & -100.0 & 2157593613751480064.0 \\
62 +log_accommodates & -1.0943 & 1.1354 & 0.3352 & -66.5226 & -96.3838 & 209.9 \\
63 +business_travel_index & -1.1562 & 0.5602 & 0.0390 & -68.5306 & -89.5036 & -5.6510 \\
64 +log_bedrooms & -2.0532 & 0.7740 & 0.0080 & -87.1683 & -97.1853 & -41.5016 \\
65 +\bottomrule
66 +\end{tabular}
67 +\par\smallskip\footnotesize
68 +\textit{Note:} $^{***}p<0.001$, $^{**}p<0.01$, $^{*}p<0.05$.
69 +\end{table}
\ No newline at end of file
added results/tables/quantile_coefficients.csv +81 −0
@@ -0,0 +1,81 @@
1 +tau,variable,coefficient,std_error,p_value,ci_lower,ci_upper
2 +0.1,const,3.037136041732424,0.1256830472721875,3.453861896553987e-119,2.790714020831887,3.2835580626329612
3 +0.1,log_accommodates,-0.14598843590692923,0.14486450773374018,0.3136421783128215,-0.4300188244699965,0.13804195265613806
4 +0.1,log_bedrooms,0.1544597794818401,0.07437505631451387,0.03789789964870194,0.00863540555556025,0.3002841534081199
5 +0.1,log_beds,0.15445977935632982,0.0743750563143857,0.03789789980430119,0.00863540543030128,0.30028415328235836
6 +0.1,log_bathrooms,0.7955570577687467,0.1225738572248126,9.802057550891489e-11,0.5552311087845649,1.0358830067529285
7 +0.1,bathrooms_per_guest,-0.4981871543204761,0.12061125102799895,3.706612426421392e-05,-0.7346650951941976,-0.2617092134467546
8 +0.1,bedrooms_per_guest,-0.2532290279632434,0.16989823372047097,0.13619226527698927,-0.5863421009631449,0.07988404503665808
9 +0.1,is_entire_home,1.006682099889531,0.04977307514136882,5.554204952019437e-86,0.9090939045921325,1.1042702951869294
10 +0.1,is_private_room,1.018041577661279,0.04658994749692913,3.761571758912735e-99,0.9266944209442745,1.1093887343782836
11 +0.1,is_shared_room,1.0124123642026461,0.051692861754800784,5.17672223698994e-81,0.9110601155404754,1.1137646128648169
12 +0.1,large_capacity_listing,0.1193801853532932,0.05931760577085832,0.04423978909490329,0.0030783880442226824,0.23568198266236373
13 +0.1,accommodates_sq,-0.0018999301268678437,0.0016811729143116308,0.25850467775465574,-0.005196142591630335,0.0013962823378946476
14 +0.1,bedrooms_sq,0.0022516844660458446,0.006590421285508101,0.7326277756615873,-0.010669906528193239,0.015173275460284928
15 +0.1,bathrooms_sq,-0.004178465178256374,0.007132196288712377,0.558008822883833,-0.018162294032418324,0.009805363675905576
16 +0.1,accommodates_bedrooms,0.004187224053794125,0.006122068382413697,0.4940497282613679,-0.007816085029080957,0.016190533136669207
17 +0.1,accommodates_bathrooms,0.003909201521423711,0.006979612632877434,0.5754559213371264,-0.009775462300991277,0.0175938653438387
18 +0.25,const,3.208674486192592,0.12284791439006339,3.3390868933749757e-137,2.9678112036382185,3.449537768746966
19 +0.25,log_accommodates,-0.03580456050349312,0.13862096948399757,0.7961979093003081,-0.30759347858614305,0.2359843575791568
20 +0.25,log_bedrooms,0.1292361991040707,0.07775215999956565,0.09657378734658319,-0.023209534925444558,0.2816819331335859
21 +0.25,log_beds,0.12923619903631334,0.07775215999943505,0.0965737875207237,-0.02320953499294584,0.28168193306557254
22 +0.25,log_bathrooms,0.5416739773659174,0.11628402568468124,3.3121993326613764e-06,0.31368026437444213,0.7696676903573927
23 +0.25,bathrooms_per_guest,-0.21462389809084925,0.1196407394464072,0.07291750596775766,-0.44919899343023806,0.019951197248539526
24 +0.25,bedrooms_per_guest,-0.1508080694175078,0.18528731489522665,0.4157508491206335,-0.5140939347326134,0.2124777958975979
25 +0.25,is_entire_home,1.066097433444014,0.04758150548119737,8.078969291545103e-104,0.9728061663029977,1.1593887005850305
26 +0.25,is_private_room,1.1027973354383107,0.04472074110855588,1.1737183594910301e-123,1.0151150613423139,1.1904796095343075
27 +0.25,is_shared_room,1.0397797173075105,0.04963462768871822,9.594242517773428e-92,0.9424629707202694,1.1370964638947516
28 +0.25,large_capacity_listing,0.06497644997614316,0.055079612332733244,0.23820913458968265,-0.04301607308908828,0.1729689730413746
29 +0.25,accommodates_sq,-0.0004201009906878994,0.0014925548876136075,0.7783714065691141,-0.0033464971888497006,0.0025062952074739017
30 +0.25,bedrooms_sq,0.001159323717075722,0.006516642442037284,0.8588105451987466,-0.011617611875322176,0.01393625930947362
31 +0.25,bathrooms_sq,-0.005725049265123516,0.005839115201388641,0.3269263388694107,-0.017173582694465735,0.0057234841642187
32 +0.25,accommodates_bedrooms,0.002567577160220935,0.006405602506649917,0.688568248790647,-0.009991646609678247,0.015126800930120117
33 +0.25,accommodates_bathrooms,0.007200219740298053,0.005853069471178083,0.2187218534307975,-0.004275673300673079,0.018676112781269183
34 +0.5,const,3.6432785232045717,0.13558099908019852,2.1734280823954096e-144,3.3774499606880917,3.9091070857210517
35 +0.5,log_accommodates,-0.1239666162928188,0.15843506427648682,0.43400801661999244,-0.4346042843624568,0.1866710517768192
36 +0.5,log_bedrooms,-0.22368354497143628,0.08359042112964153,0.007487600433820289,-0.38757613788481243,-0.05979095205806012
37 +0.5,log_beds,-0.22368354472610008,0.08359042112951881,0.007487600499161293,-0.3875761376392356,-0.05979095181296454
38 +0.5,log_bathrooms,0.5187170660196898,0.1591886502909967,0.001131033762238574,0.20660187021144005,0.8308322618279396
39 +0.5,bathrooms_per_guest,0.10247069691308752,0.1713940002284706,0.54996898928511,-0.2335750691882023,0.43851646301437736
40 +0.5,bedrooms_per_guest,1.240469447816622,0.17699303833903193,2.89081193856308e-12,0.8934458584030471,1.587493037230197
41 +0.5,is_entire_home,1.1771217233347784,0.055149362102980444,5.814507735308219e-95,1.0689924445199475,1.2852510021496093
42 +0.5,is_private_room,1.3821255075399677,0.05005395969879054,1.3527925648148004e-151,1.283986592461486,1.4802644226184494
43 +0.5,is_shared_room,1.084031292411737,0.05640048123335032,3.0866023814781237e-78,0.9734489914019128,1.1946135934215614
44 +0.5,large_capacity_listing,0.20371889974362034,0.06951852071953536,0.003407531051302581,0.0674165523902499,0.3400212470969908
45 +0.5,accommodates_sq,0.0015304497648145343,0.0018121408796986553,0.3984196854785001,-0.0020225466609065804,0.005083446190535649
46 +0.5,bedrooms_sq,-0.012259508793121654,0.005527388091226047,0.026623656429000477,-0.023096850608933114,-0.0014221669773101953
47 +0.5,bathrooms_sq,-0.0008318633388739727,0.006647998628509719,0.9004281222468478,-0.01386634406270256,0.012202617384954614
48 +0.5,accommodates_bedrooms,0.015404275927721756,0.006436227785826918,0.016748329565245357,0.002785006325474985,0.028023545529968524
49 +0.5,accommodates_bathrooms,0.0017216115353448913,0.007343282822431821,0.814652003497577,-0.012676086741567325,0.016119309812257107
50 +0.75,const,6.589242832091713,0.2714306626976802,3.479818058797797e-120,6.057058946611274,7.121426717572152
51 +0.75,log_accommodates,-2.128506744165861,0.32809358970827673,9.992235439466934e-11,-2.7717874982148323,-1.48522599011689
52 +0.75,log_bedrooms,0.52813352818157,0.17221895558743364,0.0021818298430818115,0.19047030315387342,0.8657967532092665
53 +0.75,log_beds,0.5281335282629698,0.17221895558718692,0.0021818298396098427,0.19047030323575692,0.8657967532901827
54 +0.75,log_bathrooms,0.6777635135222226,0.33107780227984546,0.04072082624921829,0.028631726190376128,1.3268953008540691
55 +0.75,bathrooms_per_guest,-0.301276972715641,0.3459354873100249,0.383867506193232,-0.9795396639402887,0.37698571850900664
56 +0.75,bedrooms_per_guest,-0.8978081729028418,0.3439421642305978,0.009084778719532883,-1.5721626305812713,-0.22345371522441237
57 +0.75,is_entire_home,1.8747240591029595,0.11402326830762732,1.653927039912284e-58,1.6511629280205855,2.0982851901853334
58 +0.75,is_private_room,2.792806779230318,0.09862275394475796,1.4403816625163647e-158,2.599440857084813,2.9861727013758235
59 +0.75,is_shared_room,1.9217119938216456,0.11062234701414758,7.883410150844573e-65,1.7048189211310132,2.138605066512278
60 +0.75,large_capacity_listing,0.11752285411785124,0.13434716602340183,0.3817609533593507,-0.14588657835755592,0.3809322865932584
61 +0.75,accommodates_sq,0.010324122726078855,0.0037815229955525833,0.00636321039016242,0.002909832900436387,0.017738412551721323
62 +0.75,bedrooms_sq,0.036257560461251614,0.009201509364055725,8.298457295620307e-05,0.01821650733564367,0.054298613586859557
63 +0.75,bathrooms_sq,-0.0185077663408606,0.014688281304817625,0.2077428269481931,-0.04730652672459061,0.010290994042869414
64 +0.75,accommodates_bedrooms,-0.028955293503429402,0.012527761218920816,0.020876378224955288,-0.05351800346255526,-0.004392583544303545
65 +0.75,accommodates_bathrooms,0.010364880646449137,0.015677139564204603,0.5085634074695655,-0.020372696912318054,0.041102458205216325
66 +0.9,const,5.590230457306461,0.21774402580456434,5.1996454892313496e-133,5.16330794036926,6.017152974243662
67 +0.9,log_accommodates,0.25185928713108297,0.2690341284189734,0.34925677180472914,-0.2756258037789364,0.7793443780411023
68 +0.9,log_bedrooms,0.4124116072862307,0.14069393896635718,0.003398337266151473,0.13655829595250119,0.6882649186199603
69 +0.9,log_beds,0.412411607327158,0.14069393896616572,0.003398337262933627,0.1365582959938038,0.6882649186605121
70 +0.9,log_bathrooms,-0.31936915437654534,0.2845618233195369,0.2618061066168788,-0.8772988123174483,0.23856050356435765
71 +0.9,bathrooms_per_guest,0.5189901505000307,0.3072318983488105,0.0912641034255634,-0.08338787039774842,1.1213681713978099
72 +0.9,bedrooms_per_guest,-0.8020189134203974,0.2523539669744513,0.0014954808948569596,-1.29679983951808,-0.307237987322715
73 +0.9,is_entire_home,1.8177282059045865,0.08988906564897185,5.9204921291713495e-86,1.641486097721851,1.993970314087322
74 +0.9,is_private_room,1.7910242001133838,0.07918994573309662,1.2818238426806459e-105,1.6357594537049647,1.946288946521803
75 +0.9,is_shared_room,1.9814780513124788,0.09003847025883953,1.8701291104187626e-100,1.804943011133786,2.1580130914911715
76 +0.9,large_capacity_listing,0.15947090848885637,0.10856530410126221,0.14195414753921243,-0.053388997576093,0.37233081455380573
77 +0.9,accommodates_sq,-0.004725315800804708,0.003351246580570982,0.15862608520928959,-0.011295978852376525,0.00184534725076711
78 +0.9,bedrooms_sq,0.05482543794676076,0.007013285915827532,7.139424622267303e-15,0.04107475218570715,0.06857612370781437
79 +0.9,bathrooms_sq,-0.047089974682535285,0.016458888322815488,0.004247974184682172,-0.07936029761241196,-0.014819651752658605
80 +0.9,accommodates_bedrooms,-0.04863634474338596,0.011903779934832692,4.4941825121379705e-05,-0.07197563808136553,-0.025297051405406386
81 +0.9,accommodates_bathrooms,0.045980835835166545,0.015564171559041096,0.0031555629675864604,0.015464750392748236,0.07649692127758485
added results/tables/robustness_summary.csv +27 −0
@@ -0,0 +1,27 @@
1 +,Category,Specification,N,R2,Adj_R2,AIC,Vars (total),Vars (p<.05)
2 +0,Winsorization,Raw OLS,2861,0.0937,0.0911,9645.0,9,7
3 +1,Winsorization,Winsorized (1%/99%),2861,0.0948,0.0923,9576.5,9,7
4 +2,Winsorization,Trimmed (1%-99%),2804,0.0999,0.0973,9169.3,9,8
5 +3,Winsorization,Log(price) OLS,2861,0.1005,0.098,-760.3,9,7
6 +4,Winsorization,Median Regression,2861,,,,9,7
7 +5,Room Type,Full Sample,2861,0.0937,0.0911,9645.0,9,7
8 +6,Room Type,Apartment,71,0.1858,0.0953,255.7,8,1
9 +7,Room Type,Cabin/Chalet,609,0.1004,0.0899,1856.8,8,3
10 +8,Room Type,Condo,220,0.1815,0.1544,779.2,8,2
11 +9,Room Type,House,534,0.1332,0.1217,1751.7,8,3
12 +10,Room Type,Other,476,0.1511,0.1384,1625.4,8,3
13 +11,Room Type,Rental unit,951,0.1258,0.1193,3237.8,8,5
14 +12,Price Segment,Full Sample,2861,0.0937,0.0911,9645.0,9,7
15 +13,Price Segment,Budget (<$100),455,0.1116,0.0956,169.7,9,3
16 +14,Price Segment,Luxury ($400-1000),226,0.1578,0.1268,7.9,9,3
17 +15,Price Segment,Moderate ($100-200),879,0.0991,0.0908,-466.4,9,5
18 +16,Price Segment,Premium ($200-400),616,0.0827,0.0706,-360.6,9,2
19 +17,Price Segment,Ultra-Luxury (>$1000),685,0.1518,0.1418,1240.6,9,4
20 +18,Location Controls,No location,2861,0.0937,0.0911,9645.0,9,7
21 +19,Location Controls,city FE,2861,0.164,0.1501,9491.8,48,22
22 +20,Location Controls,Coordinates,2857,0.1137,0.1106,9571.7,11,8
23 +21,Location Controls,Spatial clusters,2857,0.1483,0.1402,9492.0,28,10
24 +22,Location Controls,Spatial lag,2857,0.153,0.1503,9440.3,10,8
25 +23,Host Type,All hosts,2861,0.082,0.0797,9679.7,8,5
26 +24,Host Type,Superhosts,1645,0.0769,0.0729,5225.6,8,5
27 +25,Host Type,Non-superhosts,1216,0.0841,0.0787,4356.0,8,4
added results/tables/robustness_summary.html +303 −0
@@ -0,0 +1,303 @@
1 +<table class="dataframe table table-sm">
2 + <thead>
3 + <tr style="text-align: right;">
4 + <th></th>
5 + <th>Category</th>
6 + <th>Specification</th>
7 + <th>N</th>
8 + <th>R2</th>
9 + <th>Adj_R2</th>
10 + <th>AIC</th>
11 + <th>Vars (total)</th>
12 + <th>Vars (p&lt;.05)</th>
13 + </tr>
14 + </thead>
15 + <tbody>
16 + <tr>
17 + <th>0</th>
18 + <td>Winsorization</td>
19 + <td>Raw OLS</td>
20 + <td>2861</td>
21 + <td>0.0937</td>
22 + <td>0.0911</td>
23 + <td>9645.0</td>
24 + <td>9</td>
25 + <td>7</td>
26 + </tr>
27 + <tr>
28 + <th>1</th>
29 + <td>Winsorization</td>
30 + <td>Winsorized (1%/99%)</td>
31 + <td>2861</td>
32 + <td>0.0948</td>
33 + <td>0.0923</td>
34 + <td>9576.5</td>
35 + <td>9</td>
36 + <td>7</td>
37 + </tr>
38 + <tr>
39 + <th>2</th>
40 + <td>Winsorization</td>
41 + <td>Trimmed (1%-99%)</td>
42 + <td>2804</td>
43 + <td>0.0999</td>
44 + <td>0.0973</td>
45 + <td>9169.3</td>
46 + <td>9</td>
47 + <td>8</td>
48 + </tr>
49 + <tr>
50 + <th>3</th>
51 + <td>Winsorization</td>
52 + <td>Log(price) OLS</td>
53 + <td>2861</td>
54 + <td>0.1005</td>
55 + <td>0.0980</td>
56 + <td>-760.3</td>
57 + <td>9</td>
58 + <td>7</td>
59 + </tr>
60 + <tr>
61 + <th>4</th>
62 + <td>Winsorization</td>
63 + <td>Median Regression</td>
64 + <td>2861</td>
65 + <td>NaN</td>
66 + <td>NaN</td>
67 + <td></td>
68 + <td>9</td>
69 + <td>7</td>
70 + </tr>
71 + <tr>
72 + <th>5</th>
73 + <td>Room Type</td>
74 + <td>Full Sample</td>
75 + <td>2861</td>
76 + <td>0.0937</td>
77 + <td>0.0911</td>
78 + <td>9645.0</td>
79 + <td>9</td>
80 + <td>7</td>
81 + </tr>
82 + <tr>
83 + <th>6</th>
84 + <td>Room Type</td>
85 + <td>Apartment</td>
86 + <td>71</td>
87 + <td>0.1858</td>
88 + <td>0.0953</td>
89 + <td>255.7</td>
90 + <td>8</td>
91 + <td>1</td>
92 + </tr>
93 + <tr>
94 + <th>7</th>
95 + <td>Room Type</td>
96 + <td>Cabin/Chalet</td>
97 + <td>609</td>
98 + <td>0.1004</td>
99 + <td>0.0899</td>
100 + <td>1856.8</td>
101 + <td>8</td>
102 + <td>3</td>
103 + </tr>
104 + <tr>
105 + <th>8</th>
106 + <td>Room Type</td>
107 + <td>Condo</td>
108 + <td>220</td>
109 + <td>0.1815</td>
110 + <td>0.1544</td>
111 + <td>779.2</td>
112 + <td>8</td>
113 + <td>2</td>
114 + </tr>
115 + <tr>
116 + <th>9</th>
117 + <td>Room Type</td>
118 + <td>House</td>
119 + <td>534</td>
120 + <td>0.1332</td>
121 + <td>0.1217</td>
122 + <td>1751.7</td>
123 + <td>8</td>
124 + <td>3</td>
125 + </tr>
126 + <tr>
127 + <th>10</th>
128 + <td>Room Type</td>
129 + <td>Other</td>
130 + <td>476</td>
131 + <td>0.1511</td>
132 + <td>0.1384</td>
133 + <td>1625.4</td>
134 + <td>8</td>
135 + <td>3</td>
136 + </tr>
137 + <tr>
138 + <th>11</th>
139 + <td>Room Type</td>
140 + <td>Rental unit</td>
141 + <td>951</td>
142 + <td>0.1258</td>
143 + <td>0.1193</td>
144 + <td>3237.8</td>
145 + <td>8</td>
146 + <td>5</td>
147 + </tr>
148 + <tr>
149 + <th>12</th>
150 + <td>Price Segment</td>
151 + <td>Full Sample</td>
152 + <td>2861</td>
153 + <td>0.0937</td>
154 + <td>0.0911</td>
155 + <td>9645.0</td>
156 + <td>9</td>
157 + <td>7</td>
158 + </tr>
159 + <tr>
160 + <th>13</th>
161 + <td>Price Segment</td>
162 + <td>Budget (&lt;$100)</td>
163 + <td>455</td>
164 + <td>0.1116</td>
165 + <td>0.0956</td>
166 + <td>169.7</td>
167 + <td>9</td>
168 + <td>3</td>
169 + </tr>
170 + <tr>
171 + <th>14</th>
172 + <td>Price Segment</td>
173 + <td>Luxury ($400-1000)</td>
174 + <td>226</td>
175 + <td>0.1578</td>
176 + <td>0.1268</td>
177 + <td>7.9</td>
178 + <td>9</td>
179 + <td>3</td>
180 + </tr>
181 + <tr>
182 + <th>15</th>
183 + <td>Price Segment</td>
184 + <td>Moderate ($100-200)</td>
185 + <td>879</td>
186 + <td>0.0991</td>
187 + <td>0.0908</td>
188 + <td>-466.4</td>
189 + <td>9</td>
190 + <td>5</td>
191 + </tr>
192 + <tr>
193 + <th>16</th>
194 + <td>Price Segment</td>
195 + <td>Premium ($200-400)</td>
196 + <td>616</td>
197 + <td>0.0827</td>
198 + <td>0.0706</td>
199 + <td>-360.6</td>
200 + <td>9</td>
201 + <td>2</td>
202 + </tr>
203 + <tr>
204 + <th>17</th>
205 + <td>Price Segment</td>
206 + <td>Ultra-Luxury (&gt;$1000)</td>
207 + <td>685</td>
208 + <td>0.1518</td>
209 + <td>0.1418</td>
210 + <td>1240.6</td>
211 + <td>9</td>
212 + <td>4</td>
213 + </tr>
214 + <tr>
215 + <th>18</th>
216 + <td>Location Controls</td>
217 + <td>No location</td>
218 + <td>2861</td>
219 + <td>0.0937</td>
220 + <td>0.0911</td>
221 + <td>9645.0</td>
222 + <td>9</td>
223 + <td>7</td>
224 + </tr>
225 + <tr>
226 + <th>19</th>
227 + <td>Location Controls</td>
228 + <td>city FE</td>
229 + <td>2861</td>
230 + <td>0.1640</td>
231 + <td>0.1501</td>
232 + <td>9491.8</td>
233 + <td>48</td>
234 + <td>22</td>
235 + </tr>
236 + <tr>
237 + <th>20</th>
238 + <td>Location Controls</td>
239 + <td>Coordinates</td>
240 + <td>2857</td>
241 + <td>0.1137</td>
242 + <td>0.1106</td>
243 + <td>9571.7</td>
244 + <td>11</td>
245 + <td>8</td>
246 + </tr>
247 + <tr>
248 + <th>21</th>
249 + <td>Location Controls</td>
250 + <td>Spatial clusters</td>
251 + <td>2857</td>
252 + <td>0.1483</td>
253 + <td>0.1402</td>
254 + <td>9492.0</td>
255 + <td>28</td>
256 + <td>10</td>
257 + </tr>
258 + <tr>
259 + <th>22</th>
260 + <td>Location Controls</td>
261 + <td>Spatial lag</td>
262 + <td>2857</td>
263 + <td>0.1530</td>
264 + <td>0.1503</td>
265 + <td>9440.3</td>
266 + <td>10</td>
267 + <td>8</td>
268 + </tr>
269 + <tr>
270 + <th>23</th>
271 + <td>Host Type</td>
272 + <td>All hosts</td>
273 + <td>2861</td>
274 + <td>0.0820</td>
275 + <td>0.0797</td>
276 + <td>9679.7</td>
277 + <td>8</td>
278 + <td>5</td>
279 + </tr>
280 + <tr>
281 + <th>24</th>
282 + <td>Host Type</td>
283 + <td>Superhosts</td>
284 + <td>1645</td>
285 + <td>0.0769</td>
286 + <td>0.0729</td>
287 + <td>5225.6</td>
288 + <td>8</td>
289 + <td>5</td>
290 + </tr>
291 + <tr>
292 + <th>25</th>
293 + <td>Host Type</td>
294 + <td>Non-superhosts</td>
295 + <td>1216</td>
296 + <td>0.0841</td>
297 + <td>0.0787</td>
298 + <td>4356.0</td>
299 + <td>8</td>
300 + <td>4</td>
301 + </tr>
302 + </tbody>
303 +</table>
\ No newline at end of file
added results/tables/robustness_summary.tex +39 −0
@@ -0,0 +1,39 @@
1 +\begin{table}[htbp]
2 +\centering
3 +\caption{Robustness Summary}
4 +\label{tab:robustness_summary}
5 +\begin{tabular}{lccccccc}
6 +\toprule
7 + & Category & Specification & N & R2 & Adj_R2 & AIC & Vars (total) & Vars (p<.05) \\
8 +\midrule
9 +0 & Winsorization & Raw OLS & 2861 & 0.0937 & 0.0911 & 9645.0 & 9 & 7 \\
10 +1 & Winsorization & Winsorized (1%/99%) & 2861 & 0.0948 & 0.0923 & 9576.5 & 9 & 7 \\
11 +2 & Winsorization & Trimmed (1%-99%) & 2804 & 0.0999 & 0.0973 & 9169.3 & 9 & 8 \\
12 +3 & Winsorization & Log(price) OLS & 2861 & 0.1005 & 0.0980 & -760.3 & 9 & 7 \\
13 +4 & Winsorization & Median Regression & 2861 & nan & nan & & 9 & 7 \\
14 +5 & Room Type & Full Sample & 2861 & 0.0937 & 0.0911 & 9645.0 & 9 & 7 \\
15 +6 & Room Type & Apartment & 71 & 0.1858 & 0.0953 & 255.7 & 8 & 1 \\
16 +7 & Room Type & Cabin/Chalet & 609 & 0.1004 & 0.0899 & 1856.8 & 8 & 3 \\
17 +8 & Room Type & Condo & 220 & 0.1815 & 0.1544 & 779.2 & 8 & 2 \\
18 +9 & Room Type & House & 534 & 0.1332 & 0.1217 & 1751.7 & 8 & 3 \\
19 +10 & Room Type & Other & 476 & 0.1511 & 0.1384 & 1625.4 & 8 & 3 \\
20 +11 & Room Type & Rental unit & 951 & 0.1258 & 0.1193 & 3237.8 & 8 & 5 \\
21 +12 & Price Segment & Full Sample & 2861 & 0.0937 & 0.0911 & 9645.0 & 9 & 7 \\
22 +13 & Price Segment & Budget (<$100) & 455 & 0.1116 & 0.0956 & 169.7 & 9 & 3 \\
23 +14 & Price Segment & Luxury ($400-1000) & 226 & 0.1578 & 0.1268 & 7.9000 & 9 & 3 \\
24 +15 & Price Segment & Moderate ($100-200) & 879 & 0.0991 & 0.0908 & -466.4 & 9 & 5 \\
25 +16 & Price Segment & Premium ($200-400) & 616 & 0.0827 & 0.0706 & -360.6 & 9 & 2 \\
26 +17 & Price Segment & Ultra-Luxury (>$1000) & 685 & 0.1518 & 0.1418 & 1240.6 & 9 & 4 \\
27 +18 & Location Controls & No location & 2861 & 0.0937 & 0.0911 & 9645.0 & 9 & 7 \\
28 +19 & Location Controls & city FE & 2861 & 0.1640 & 0.1501 & 9491.8 & 48 & 22 \\
29 +20 & Location Controls & Coordinates & 2857 & 0.1137 & 0.1106 & 9571.7 & 11 & 8 \\
30 +21 & Location Controls & Spatial clusters & 2857 & 0.1483 & 0.1402 & 9492.0 & 28 & 10 \\
31 +22 & Location Controls & Spatial lag & 2857 & 0.1530 & 0.1503 & 9440.3 & 10 & 8 \\
32 +23 & Host Type & All hosts & 2861 & 0.0820 & 0.0797 & 9679.7 & 8 & 5 \\
33 +24 & Host Type & Superhosts & 1645 & 0.0769 & 0.0729 & 5225.6 & 8 & 5 \\
34 +25 & Host Type & Non-superhosts & 1216 & 0.0841 & 0.0787 & 4356.0 & 8 & 4 \\
35 +\bottomrule
36 +\end{tabular}
37 +\par\smallskip\footnotesize
38 +\textit{Note:} $^{***}p<0.001$, $^{**}p<0.01$, $^{*}p<0.05$.
39 +\end{table}
\ No newline at end of file
added results/tables/table_01_summary_statistics.csv +92 −0
@@ -0,0 +1,92 @@
1 +Variable,Mean,Std. Dev.,Min,P25,Median,P75,Max,N
2 +price_numeric,1115.17,2253.179,10.539,125.0,219.22,1139.25,24928.37,3412
3 +rating,4.8,0.231,2.25,4.73,4.86,4.96,5.0,4190
4 +bedrooms,2.084,1.53,0.0,1.0,2.0,3.0,25.0,5000
5 +bathrooms,1.278,1.048,0.0,1.0,1.0,2.0,24.0,5000
6 +guests_count,5.31,3.368,1.0,2.0,4.0,7.0,16.0,5000
7 +amenities_count,44.918,15.985,3.0,34.0,45.0,56.0,109.0,5000
8 +num_images,27.878,19.211,0.0,14.0,23.0,36.0,199.0,5000
9 +num_reviews,62.748,85.02,0.0,10.0,33.0,82.0,986.0,4275
10 +quality_score,93.78,41.945,0.0,94.5,107.9,121.0,139.8,5000
11 +is_superhost,0.523,0.5,0.0,0.0,1.0,1.0,1.0,5000
12 +is_guest_favorite,0.334,0.472,0.0,0.0,0.0,1.0,1.0,5000
13 +pets_allowed,0.292,0.455,0.0,0.0,0.0,1.0,1.0,5000
14 +price_raw,1115.17,2253.179,10.539,125.0,219.22,1139.25,24928.37,3412
15 +price_winsor_1_99,1063.457,1903.47,38.0,125.0,219.22,1139.25,10821.939,3412
16 +price_winsor_2_98,1025.089,1727.746,46.073,125.0,219.22,1139.25,8117.023,3412
17 +price_winsor_5_95,920.817,1368.495,63.099,125.0,219.22,1139.25,4921.12,3412
18 +log_price_raw,5.866,1.422,2.355,4.828,5.39,7.038,10.124,3412
19 +log_price_winsor,5.866,1.406,3.638,4.828,5.39,7.038,9.289,3412
20 +log_price,5.871,1.417,2.446,4.836,5.395,7.039,10.124,3412
21 +log_accommodates,1.71,0.512,0.693,1.099,1.609,2.079,2.833,5000
22 +log_bedrooms,1.021,0.458,0.0,0.693,1.099,1.386,3.258,5000
23 +log_beds,1.021,0.458,0.0,0.693,1.099,1.386,3.258,5000
24 +log_bathrooms,0.747,0.387,0.0,0.693,0.693,1.099,3.219,5000
25 +bathrooms_per_guest,0.271,0.219,0.0,0.167,0.25,0.333,3.5,5000
26 +bedrooms_per_guest,0.42,0.268,0.0,0.333,0.429,0.5,8.5,5000
27 +is_entire_home,0.481,0.5,0.0,0.0,0.0,1.0,1.0,5000
28 +is_private_room,0.355,0.479,0.0,0.0,0.0,1.0,1.0,5000
29 +is_shared_room,0.164,0.37,0.0,0.0,0.0,0.0,1.0,5000
30 +large_capacity_listing,0.233,0.423,0.0,0.0,0.0,0.0,1.0,5000
31 +accommodates_sq,39.53,51.554,1.0,4.0,16.0,49.0,256.0,5000
32 +bedrooms_sq,6.68,15.863,0.0,1.0,4.0,9.0,625.0,5000
33 +bathrooms_sq,2.73,12.43,0.0,1.0,1.0,4.0,576.0,5000
34 +accommodates_bedrooms,15.078,21.584,0.0,2.0,8.0,18.0,400.0,5000
35 +accommodates_bathrooms,8.963,15.209,0.0,2.0,4.0,12.0,384.0,5000
36 +superhost_flag,0.523,0.5,0.0,0.0,1.0,1.0,1.0,5000
37 +host_professional_dummy,0.0,0.0,0.0,0.0,0.0,0.0,0.0,5000
38 +multi_listing_host,0.208,0.406,0.0,0.0,0.0,0.0,1.0,5000
39 +superhost_x_entire_home,0.271,0.444,0.0,0.0,0.0,1.0,1.0,5000
40 +guest_favorite_flag,0.334,0.472,0.0,0.0,0.0,1.0,1.0,5000
41 +log_reviews,2.87,1.759,0.0,1.609,3.219,4.263,6.895,5000
42 +review_quality,2.944,1.459,0.0,3.0,4.0,4.0,4.0,5000
43 +reputation_score,0.649,0.29,0.0,0.641,0.761,0.827,0.995,5000
44 +cleanliness_premium,0.426,0.495,0.0,0.0,0.0,1.0,1.0,5000
45 +location_rating_premium,0.483,0.5,0.0,0.0,0.0,1.0,1.0,5000
46 +has_reviews,0.836,0.37,0.0,1.0,1.0,1.0,1.0,5000
47 +no_rating_flag,0.162,0.368,0.0,0.0,0.0,0.0,1.0,5000
48 +price_per_guest,303.284,625.689,2.071,27.0,42.663,400.101,11812.5,3412
49 +price_per_bedroom,607.307,1193.493,3.567,67.195,106.75,737.782,17408.68,3227
50 +amenity_richness_index,0.395,0.151,0.0,0.292,0.396,0.5,1.0,5000
51 +luxury_index,0.395,0.159,0.0,0.286,0.396,0.505,0.986,5000
52 +business_travel_index,0.395,0.16,0.0,0.283,0.397,0.506,0.99,5000
53 +family_comfort_index,0.41,0.164,0.0,0.293,0.407,0.526,1.0,5000
54 +leisure_index,0.427,0.173,0.0,0.301,0.423,0.545,1.0,5000
55 +remote_work_index,0.397,0.159,0.0,0.284,0.4,0.511,1.0,5000
56 +distance_to_center,3891.274,11033.884,0.0,794.8,2089.678,4984.933,508162.01,4994
57 +log_distance_to_center,7.134,2.225,0.0,6.679,7.645,8.514,13.139,4994
58 +local_density_500m,14.727,25.368,0.0,0.0,2.0,14.0,125.0,4994
59 +local_density_1km,41.977,72.505,0.0,1.0,5.0,32.0,309.0,4994
60 +local_avg_price_500m,1107.621,1440.119,16.705,244.26,819.465,1504.689,23625.0,3309
61 +local_avg_price_1km,1127.803,1288.588,16.705,276.11,993.98,1490.434,23625.0,3772
62 +spatial_cluster,11.119,6.865,-1.0,5.0,13.0,18.0,19.0,5000
63 +title_length,62.054,7.592,36.0,57.0,61.0,66.0,100.0,5000
64 +title_word_count,14.255,1.082,8.0,14.0,14.0,15.0,20.0,5000
65 +exclamation_count,0.0,0.0,0.0,0.0,0.0,0.0,0.0,5000
66 +uppercase_ratio,0.072,0.02,0.021,0.057,0.067,0.086,0.375,5000
67 +has_star_rating,0.874,0.332,0.0,1.0,1.0,1.0,1.0,5000
68 +extracted_star_rating,4.8,0.231,2.25,4.73,4.86,4.96,5.0,4190
69 +luxury_language_score,0.0,0.02,0.0,0.0,0.0,0.0,1.0,5000
70 +cozy_language_score,0.0,0.0,0.0,0.0,0.0,0.0,0.0,5000
71 +professional_tone_score,0.037,0.19,0.0,0.0,0.0,0.0,1.0,5000
72 +family_language_score,0.002,0.042,0.0,0.0,0.0,0.0,1.0,5000
73 +business_language_score,0.0,0.0,0.0,0.0,0.0,0.0,0.0,5000
74 +romantic_language_score,0.0,0.0,0.0,0.0,0.0,0.0,0.0,5000
75 +tourism_language_score,0.05,0.221,0.0,0.0,0.0,0.0,2.0,5000
76 +parsed_bedrooms,2.117,1.519,0.0,1.0,2.0,3.0,25.0,4922
77 +is_studio,0.05,0.217,0.0,0.0,0.0,0.0,1.0,5000
78 +parsed_beds,3.129,2.642,1.0,1.0,2.0,4.0,58.0,4853
79 +parsed_baths,1.439,0.976,0.0,1.0,1.0,2.0,24.0,4931
80 +is_new_listing,0.036,0.186,0.0,0.0,0.0,0.0,1.0,5000
81 +has_shared_bath,0.072,0.258,0.0,0.0,0.0,0.0,1.0,5000
82 +has_private_bath,0.035,0.185,0.0,0.0,0.0,0.0,1.0,5000
83 +text_embed_0,0.234,0.183,0.003,0.101,0.143,0.327,0.791,5000
84 +text_embed_1,0.067,0.169,-0.447,-0.045,0.095,0.192,0.479,5000
85 +text_embed_2,0.05,0.135,-0.451,-0.003,0.069,0.124,0.496,5000
86 +text_embed_3,-0.006,0.122,-0.281,-0.068,-0.026,0.011,0.721,5000
87 +text_embed_4,0.022,0.118,-0.508,-0.029,0.012,0.077,0.577,5000
88 +text_embed_5,0.001,0.111,-0.331,-0.082,-0.004,0.065,0.531,5000
89 +text_embed_6,-0.007,0.106,-0.449,-0.076,-0.012,0.059,0.391,5000
90 +text_embed_7,-0.002,0.099,-0.297,-0.055,-0.006,0.035,0.486,5000
91 +text_embed_8,0.007,0.093,-0.335,-0.041,0.01,0.043,0.459,5000
92 +text_embed_9,0.002,0.09,-0.393,-0.037,-0.004,0.03,0.478,5000
added results/tables/table_01_summary_statistics.html +1029 −0
@@ -0,0 +1,1029 @@
1 +<table class="dataframe table table-sm">
2 + <thead>
3 + <tr style="text-align: right;">
4 + <th></th>
5 + <th>Mean</th>
6 + <th>Std. Dev.</th>
7 + <th>Min</th>
8 + <th>P25</th>
9 + <th>Median</th>
10 + <th>P75</th>
11 + <th>Max</th>
12 + <th>N</th>
13 + </tr>
14 + <tr>
15 + <th>Variable</th>
16 + <th></th>
17 + <th></th>
18 + <th></th>
19 + <th></th>
20 + <th></th>
21 + <th></th>
22 + <th></th>
23 + <th></th>
24 + </tr>
25 + </thead>
26 + <tbody>
27 + <tr>
28 + <th>price_numeric</th>
29 + <td>1115.170</td>
30 + <td>2253.179</td>
31 + <td>10.539</td>
32 + <td>125.000</td>
33 + <td>219.220</td>
34 + <td>1139.250</td>
35 + <td>24928.370</td>
36 + <td>3412</td>
37 + </tr>
38 + <tr>
39 + <th>rating</th>
40 + <td>4.800</td>
41 + <td>0.231</td>
42 + <td>2.250</td>
43 + <td>4.730</td>
44 + <td>4.860</td>
45 + <td>4.960</td>
46 + <td>5.000</td>
47 + <td>4190</td>
48 + </tr>
49 + <tr>
50 + <th>bedrooms</th>
51 + <td>2.084</td>
52 + <td>1.530</td>
53 + <td>0.000</td>
54 + <td>1.000</td>
55 + <td>2.000</td>
56 + <td>3.000</td>
57 + <td>25.000</td>
58 + <td>5000</td>
59 + </tr>
60 + <tr>
61 + <th>bathrooms</th>
62 + <td>1.278</td>
63 + <td>1.048</td>
64 + <td>0.000</td>
65 + <td>1.000</td>
66 + <td>1.000</td>
67 + <td>2.000</td>
68 + <td>24.000</td>
69 + <td>5000</td>
70 + </tr>
71 + <tr>
72 + <th>guests_count</th>
73 + <td>5.310</td>
74 + <td>3.368</td>
75 + <td>1.000</td>
76 + <td>2.000</td>
77 + <td>4.000</td>
78 + <td>7.000</td>
79 + <td>16.000</td>
80 + <td>5000</td>
81 + </tr>
82 + <tr>
83 + <th>amenities_count</th>
84 + <td>44.918</td>
85 + <td>15.985</td>
86 + <td>3.000</td>
87 + <td>34.000</td>
88 + <td>45.000</td>
89 + <td>56.000</td>
90 + <td>109.000</td>
91 + <td>5000</td>
92 + </tr>
93 + <tr>
94 + <th>num_images</th>
95 + <td>27.878</td>
96 + <td>19.211</td>
97 + <td>0.000</td>
98 + <td>14.000</td>
99 + <td>23.000</td>
100 + <td>36.000</td>
101 + <td>199.000</td>
102 + <td>5000</td>
103 + </tr>
104 + <tr>
105 + <th>num_reviews</th>
106 + <td>62.748</td>
107 + <td>85.020</td>
108 + <td>0.000</td>
109 + <td>10.000</td>
110 + <td>33.000</td>
111 + <td>82.000</td>
112 + <td>986.000</td>
113 + <td>4275</td>
114 + </tr>
115 + <tr>
116 + <th>quality_score</th>
117 + <td>93.780</td>
118 + <td>41.945</td>
119 + <td>0.000</td>
120 + <td>94.500</td>
121 + <td>107.900</td>
122 + <td>121.000</td>
123 + <td>139.800</td>
124 + <td>5000</td>
125 + </tr>
126 + <tr>
127 + <th>is_superhost</th>
128 + <td>0.523</td>
129 + <td>0.500</td>
130 + <td>0.000</td>
131 + <td>0.000</td>
132 + <td>1.000</td>
133 + <td>1.000</td>
134 + <td>1.000</td>
135 + <td>5000</td>
136 + </tr>
137 + <tr>
138 + <th>is_guest_favorite</th>
139 + <td>0.334</td>
140 + <td>0.472</td>
141 + <td>0.000</td>
142 + <td>0.000</td>
143 + <td>0.000</td>
144 + <td>1.000</td>
145 + <td>1.000</td>
146 + <td>5000</td>
147 + </tr>
148 + <tr>
149 + <th>pets_allowed</th>
150 + <td>0.292</td>
151 + <td>0.455</td>
152 + <td>0.000</td>
153 + <td>0.000</td>
154 + <td>0.000</td>
155 + <td>1.000</td>
156 + <td>1.000</td>
157 + <td>5000</td>
158 + </tr>
159 + <tr>
160 + <th>price_raw</th>
161 + <td>1115.170</td>
162 + <td>2253.179</td>
163 + <td>10.539</td>
164 + <td>125.000</td>
165 + <td>219.220</td>
166 + <td>1139.250</td>
167 + <td>24928.370</td>
168 + <td>3412</td>
169 + </tr>
170 + <tr>
171 + <th>price_winsor_1_99</th>
172 + <td>1063.457</td>
173 + <td>1903.470</td>
174 + <td>38.000</td>
175 + <td>125.000</td>
176 + <td>219.220</td>
177 + <td>1139.250</td>
178 + <td>10821.939</td>
179 + <td>3412</td>
180 + </tr>
181 + <tr>
182 + <th>price_winsor_2_98</th>
183 + <td>1025.089</td>
184 + <td>1727.746</td>
185 + <td>46.073</td>
186 + <td>125.000</td>
187 + <td>219.220</td>
188 + <td>1139.250</td>
189 + <td>8117.023</td>
190 + <td>3412</td>
191 + </tr>
192 + <tr>
193 + <th>price_winsor_5_95</th>
194 + <td>920.817</td>
195 + <td>1368.495</td>
196 + <td>63.099</td>
197 + <td>125.000</td>
198 + <td>219.220</td>
199 + <td>1139.250</td>
200 + <td>4921.120</td>
201 + <td>3412</td>
202 + </tr>
203 + <tr>
204 + <th>log_price_raw</th>
205 + <td>5.866</td>
206 + <td>1.422</td>
207 + <td>2.355</td>
208 + <td>4.828</td>
209 + <td>5.390</td>
210 + <td>7.038</td>
211 + <td>10.124</td>
212 + <td>3412</td>
213 + </tr>
214 + <tr>
215 + <th>log_price_winsor</th>
216 + <td>5.866</td>
217 + <td>1.406</td>
218 + <td>3.638</td>
219 + <td>4.828</td>
220 + <td>5.390</td>
221 + <td>7.038</td>
222 + <td>9.289</td>
223 + <td>3412</td>
224 + </tr>
225 + <tr>
226 + <th>log_price</th>
227 + <td>5.871</td>
228 + <td>1.417</td>
229 + <td>2.446</td>
230 + <td>4.836</td>
231 + <td>5.395</td>
232 + <td>7.039</td>
233 + <td>10.124</td>
234 + <td>3412</td>
235 + </tr>
236 + <tr>
237 + <th>log_accommodates</th>
238 + <td>1.710</td>
239 + <td>0.512</td>
240 + <td>0.693</td>
241 + <td>1.099</td>
242 + <td>1.609</td>
243 + <td>2.079</td>
244 + <td>2.833</td>
245 + <td>5000</td>
246 + </tr>
247 + <tr>
248 + <th>log_bedrooms</th>
249 + <td>1.021</td>
250 + <td>0.458</td>
251 + <td>0.000</td>
252 + <td>0.693</td>
253 + <td>1.099</td>
254 + <td>1.386</td>
255 + <td>3.258</td>
256 + <td>5000</td>
257 + </tr>
258 + <tr>
259 + <th>log_beds</th>
260 + <td>1.021</td>
261 + <td>0.458</td>
262 + <td>0.000</td>
263 + <td>0.693</td>
264 + <td>1.099</td>
265 + <td>1.386</td>
266 + <td>3.258</td>
267 + <td>5000</td>
268 + </tr>
269 + <tr>
270 + <th>log_bathrooms</th>
271 + <td>0.747</td>
272 + <td>0.387</td>
273 + <td>0.000</td>
274 + <td>0.693</td>
275 + <td>0.693</td>
276 + <td>1.099</td>
277 + <td>3.219</td>
278 + <td>5000</td>
279 + </tr>
280 + <tr>
281 + <th>bathrooms_per_guest</th>
282 + <td>0.271</td>
283 + <td>0.219</td>
284 + <td>0.000</td>
285 + <td>0.167</td>
286 + <td>0.250</td>
287 + <td>0.333</td>
288 + <td>3.500</td>
289 + <td>5000</td>
290 + </tr>
291 + <tr>
292 + <th>bedrooms_per_guest</th>
293 + <td>0.420</td>
294 + <td>0.268</td>
295 + <td>0.000</td>
296 + <td>0.333</td>
297 + <td>0.429</td>
298 + <td>0.500</td>
299 + <td>8.500</td>
300 + <td>5000</td>
301 + </tr>
302 + <tr>
303 + <th>is_entire_home</th>
304 + <td>0.481</td>
305 + <td>0.500</td>
306 + <td>0.000</td>
307 + <td>0.000</td>
308 + <td>0.000</td>
309 + <td>1.000</td>
310 + <td>1.000</td>
311 + <td>5000</td>
312 + </tr>
313 + <tr>
314 + <th>is_private_room</th>
315 + <td>0.355</td>
316 + <td>0.479</td>
317 + <td>0.000</td>
318 + <td>0.000</td>
319 + <td>0.000</td>
320 + <td>1.000</td>
321 + <td>1.000</td>
322 + <td>5000</td>
323 + </tr>
324 + <tr>
325 + <th>is_shared_room</th>
326 + <td>0.164</td>
327 + <td>0.370</td>
328 + <td>0.000</td>
329 + <td>0.000</td>
330 + <td>0.000</td>
331 + <td>0.000</td>
332 + <td>1.000</td>
333 + <td>5000</td>
334 + </tr>
335 + <tr>
336 + <th>large_capacity_listing</th>
337 + <td>0.233</td>
338 + <td>0.423</td>
339 + <td>0.000</td>
340 + <td>0.000</td>
341 + <td>0.000</td>
342 + <td>0.000</td>
343 + <td>1.000</td>
344 + <td>5000</td>
345 + </tr>
346 + <tr>
347 + <th>accommodates_sq</th>
348 + <td>39.530</td>
349 + <td>51.554</td>
350 + <td>1.000</td>
351 + <td>4.000</td>
352 + <td>16.000</td>
353 + <td>49.000</td>
354 + <td>256.000</td>
355 + <td>5000</td>
356 + </tr>
357 + <tr>
358 + <th>bedrooms_sq</th>
359 + <td>6.680</td>
360 + <td>15.863</td>
361 + <td>0.000</td>
362 + <td>1.000</td>
363 + <td>4.000</td>
364 + <td>9.000</td>
365 + <td>625.000</td>
366 + <td>5000</td>
367 + </tr>
368 + <tr>
369 + <th>bathrooms_sq</th>
370 + <td>2.730</td>
371 + <td>12.430</td>
372 + <td>0.000</td>
373 + <td>1.000</td>
374 + <td>1.000</td>
375 + <td>4.000</td>
376 + <td>576.000</td>
377 + <td>5000</td>
378 + </tr>
379 + <tr>
380 + <th>accommodates_bedrooms</th>
381 + <td>15.078</td>
382 + <td>21.584</td>
383 + <td>0.000</td>
384 + <td>2.000</td>
385 + <td>8.000</td>
386 + <td>18.000</td>
387 + <td>400.000</td>
388 + <td>5000</td>
389 + </tr>
390 + <tr>
391 + <th>accommodates_bathrooms</th>
392 + <td>8.963</td>
393 + <td>15.209</td>
394 + <td>0.000</td>
395 + <td>2.000</td>
396 + <td>4.000</td>
397 + <td>12.000</td>
398 + <td>384.000</td>
399 + <td>5000</td>
400 + </tr>
401 + <tr>
402 + <th>superhost_flag</th>
403 + <td>0.523</td>
404 + <td>0.500</td>
405 + <td>0.000</td>
406 + <td>0.000</td>
407 + <td>1.000</td>
408 + <td>1.000</td>
409 + <td>1.000</td>
410 + <td>5000</td>
411 + </tr>
412 + <tr>
413 + <th>host_professional_dummy</th>
414 + <td>0.000</td>
415 + <td>0.000</td>
416 + <td>0.000</td>
417 + <td>0.000</td>
418 + <td>0.000</td>
419 + <td>0.000</td>
420 + <td>0.000</td>
421 + <td>5000</td>
422 + </tr>
423 + <tr>
424 + <th>multi_listing_host</th>
425 + <td>0.208</td>
426 + <td>0.406</td>
427 + <td>0.000</td>
428 + <td>0.000</td>
429 + <td>0.000</td>
430 + <td>0.000</td>
431 + <td>1.000</td>
432 + <td>5000</td>
433 + </tr>
434 + <tr>
435 + <th>superhost_x_entire_home</th>
436 + <td>0.271</td>
437 + <td>0.444</td>
438 + <td>0.000</td>
439 + <td>0.000</td>
440 + <td>0.000</td>
441 + <td>1.000</td>
442 + <td>1.000</td>
443 + <td>5000</td>
444 + </tr>
445 + <tr>
446 + <th>guest_favorite_flag</th>
447 + <td>0.334</td>
448 + <td>0.472</td>
449 + <td>0.000</td>
450 + <td>0.000</td>
451 + <td>0.000</td>
452 + <td>1.000</td>
453 + <td>1.000</td>
454 + <td>5000</td>
455 + </tr>
456 + <tr>
457 + <th>log_reviews</th>
458 + <td>2.870</td>
459 + <td>1.759</td>
460 + <td>0.000</td>
461 + <td>1.609</td>
462 + <td>3.219</td>
463 + <td>4.263</td>
464 + <td>6.895</td>
465 + <td>5000</td>
466 + </tr>
467 + <tr>
468 + <th>review_quality</th>
469 + <td>2.944</td>
470 + <td>1.459</td>
471 + <td>0.000</td>
472 + <td>3.000</td>
473 + <td>4.000</td>
474 + <td>4.000</td>
475 + <td>4.000</td>
476 + <td>5000</td>
477 + </tr>
478 + <tr>
479 + <th>reputation_score</th>
480 + <td>0.649</td>
481 + <td>0.290</td>
482 + <td>0.000</td>
483 + <td>0.641</td>
484 + <td>0.761</td>
485 + <td>0.827</td>
486 + <td>0.995</td>
487 + <td>5000</td>
488 + </tr>
489 + <tr>
490 + <th>cleanliness_premium</th>
491 + <td>0.426</td>
492 + <td>0.495</td>
493 + <td>0.000</td>
494 + <td>0.000</td>
495 + <td>0.000</td>
496 + <td>1.000</td>
497 + <td>1.000</td>
498 + <td>5000</td>
499 + </tr>
500 + <tr>
501 + <th>location_rating_premium</th>
502 + <td>0.483</td>
503 + <td>0.500</td>
504 + <td>0.000</td>
505 + <td>0.000</td>
506 + <td>0.000</td>
507 + <td>1.000</td>
508 + <td>1.000</td>
509 + <td>5000</td>
510 + </tr>
511 + <tr>
512 + <th>has_reviews</th>
513 + <td>0.836</td>
514 + <td>0.370</td>
515 + <td>0.000</td>
516 + <td>1.000</td>
517 + <td>1.000</td>
518 + <td>1.000</td>
519 + <td>1.000</td>
520 + <td>5000</td>
521 + </tr>
522 + <tr>
523 + <th>no_rating_flag</th>
524 + <td>0.162</td>
525 + <td>0.368</td>
526 + <td>0.000</td>
527 + <td>0.000</td>
528 + <td>0.000</td>
529 + <td>0.000</td>
530 + <td>1.000</td>
531 + <td>5000</td>
532 + </tr>
533 + <tr>
534 + <th>price_per_guest</th>
535 + <td>303.284</td>
536 + <td>625.689</td>
537 + <td>2.071</td>
538 + <td>27.000</td>
539 + <td>42.663</td>
540 + <td>400.101</td>
541 + <td>11812.500</td>
542 + <td>3412</td>
543 + </tr>
544 + <tr>
545 + <th>price_per_bedroom</th>
546 + <td>607.307</td>
547 + <td>1193.493</td>
548 + <td>3.567</td>
549 + <td>67.195</td>
550 + <td>106.750</td>
551 + <td>737.782</td>
552 + <td>17408.680</td>
553 + <td>3227</td>
554 + </tr>
555 + <tr>
556 + <th>amenity_richness_index</th>
557 + <td>0.395</td>
558 + <td>0.151</td>
559 + <td>0.000</td>
560 + <td>0.292</td>
561 + <td>0.396</td>
562 + <td>0.500</td>
563 + <td>1.000</td>
564 + <td>5000</td>
565 + </tr>
566 + <tr>
567 + <th>luxury_index</th>
568 + <td>0.395</td>
569 + <td>0.159</td>
570 + <td>0.000</td>
571 + <td>0.286</td>
572 + <td>0.396</td>
573 + <td>0.505</td>
574 + <td>0.986</td>
575 + <td>5000</td>
576 + </tr>
577 + <tr>
578 + <th>business_travel_index</th>
579 + <td>0.395</td>
580 + <td>0.160</td>
581 + <td>0.000</td>
582 + <td>0.283</td>
583 + <td>0.397</td>
584 + <td>0.506</td>
585 + <td>0.990</td>
586 + <td>5000</td>
587 + </tr>
588 + <tr>
589 + <th>family_comfort_index</th>
590 + <td>0.410</td>
591 + <td>0.164</td>
592 + <td>0.000</td>
593 + <td>0.293</td>
594 + <td>0.407</td>
595 + <td>0.526</td>
596 + <td>1.000</td>
597 + <td>5000</td>
598 + </tr>
599 + <tr>
600 + <th>leisure_index</th>
601 + <td>0.427</td>
602 + <td>0.173</td>
603 + <td>0.000</td>
604 + <td>0.301</td>
605 + <td>0.423</td>
606 + <td>0.545</td>
607 + <td>1.000</td>
608 + <td>5000</td>
609 + </tr>
610 + <tr>
611 + <th>remote_work_index</th>
612 + <td>0.397</td>
613 + <td>0.159</td>
614 + <td>0.000</td>
615 + <td>0.284</td>
616 + <td>0.400</td>
617 + <td>0.511</td>
618 + <td>1.000</td>
619 + <td>5000</td>
620 + </tr>
621 + <tr>
622 + <th>distance_to_center</th>
623 + <td>3891.274</td>
624 + <td>11033.884</td>
625 + <td>0.000</td>
626 + <td>794.800</td>
627 + <td>2089.678</td>
628 + <td>4984.933</td>
629 + <td>508162.010</td>
630 + <td>4994</td>
631 + </tr>
632 + <tr>
633 + <th>log_distance_to_center</th>
634 + <td>7.134</td>
635 + <td>2.225</td>
636 + <td>0.000</td>
637 + <td>6.679</td>
638 + <td>7.645</td>
639 + <td>8.514</td>
640 + <td>13.139</td>
641 + <td>4994</td>
642 + </tr>
643 + <tr>
644 + <th>local_density_500m</th>
645 + <td>14.727</td>
646 + <td>25.368</td>
647 + <td>0.000</td>
648 + <td>0.000</td>
649 + <td>2.000</td>
650 + <td>14.000</td>
651 + <td>125.000</td>
652 + <td>4994</td>
653 + </tr>
654 + <tr>
655 + <th>local_density_1km</th>
656 + <td>41.977</td>
657 + <td>72.505</td>
658 + <td>0.000</td>
659 + <td>1.000</td>
660 + <td>5.000</td>
661 + <td>32.000</td>
662 + <td>309.000</td>
663 + <td>4994</td>
664 + </tr>
665 + <tr>
666 + <th>local_avg_price_500m</th>
667 + <td>1107.621</td>
668 + <td>1440.119</td>
669 + <td>16.705</td>
670 + <td>244.260</td>
671 + <td>819.465</td>
672 + <td>1504.689</td>
673 + <td>23625.000</td>
674 + <td>3309</td>
675 + </tr>
676 + <tr>
677 + <th>local_avg_price_1km</th>
678 + <td>1127.803</td>
679 + <td>1288.588</td>
680 + <td>16.705</td>
681 + <td>276.110</td>
682 + <td>993.980</td>
683 + <td>1490.434</td>
684 + <td>23625.000</td>
685 + <td>3772</td>
686 + </tr>
687 + <tr>
688 + <th>spatial_cluster</th>
689 + <td>11.119</td>
690 + <td>6.865</td>
691 + <td>-1.000</td>
692 + <td>5.000</td>
693 + <td>13.000</td>
694 + <td>18.000</td>
695 + <td>19.000</td>
696 + <td>5000</td>
697 + </tr>
698 + <tr>
699 + <th>title_length</th>
700 + <td>62.054</td>
701 + <td>7.592</td>
702 + <td>36.000</td>
703 + <td>57.000</td>
704 + <td>61.000</td>
705 + <td>66.000</td>
706 + <td>100.000</td>
707 + <td>5000</td>
708 + </tr>
709 + <tr>
710 + <th>title_word_count</th>
711 + <td>14.255</td>
712 + <td>1.082</td>
713 + <td>8.000</td>
714 + <td>14.000</td>
715 + <td>14.000</td>
716 + <td>15.000</td>
717 + <td>20.000</td>
718 + <td>5000</td>
719 + </tr>
720 + <tr>
721 + <th>exclamation_count</th>
722 + <td>0.000</td>
723 + <td>0.000</td>
724 + <td>0.000</td>
725 + <td>0.000</td>
726 + <td>0.000</td>
727 + <td>0.000</td>
728 + <td>0.000</td>
729 + <td>5000</td>
730 + </tr>
731 + <tr>
732 + <th>uppercase_ratio</th>
733 + <td>0.072</td>
734 + <td>0.020</td>
735 + <td>0.021</td>
736 + <td>0.057</td>
737 + <td>0.067</td>
738 + <td>0.086</td>
739 + <td>0.375</td>
740 + <td>5000</td>
741 + </tr>
742 + <tr>
743 + <th>has_star_rating</th>
744 + <td>0.874</td>
745 + <td>0.332</td>
746 + <td>0.000</td>
747 + <td>1.000</td>
748 + <td>1.000</td>
749 + <td>1.000</td>
750 + <td>1.000</td>
751 + <td>5000</td>
752 + </tr>
753 + <tr>
754 + <th>extracted_star_rating</th>
755 + <td>4.800</td>
756 + <td>0.231</td>
757 + <td>2.250</td>
758 + <td>4.730</td>
759 + <td>4.860</td>
760 + <td>4.960</td>
761 + <td>5.000</td>
762 + <td>4190</td>
763 + </tr>
764 + <tr>
765 + <th>luxury_language_score</th>
766 + <td>0.000</td>
767 + <td>0.020</td>
768 + <td>0.000</td>
769 + <td>0.000</td>
770 + <td>0.000</td>
771 + <td>0.000</td>
772 + <td>1.000</td>
773 + <td>5000</td>
774 + </tr>
775 + <tr>
776 + <th>cozy_language_score</th>
777 + <td>0.000</td>
778 + <td>0.000</td>
779 + <td>0.000</td>
780 + <td>0.000</td>
781 + <td>0.000</td>
782 + <td>0.000</td>
783 + <td>0.000</td>
784 + <td>5000</td>
785 + </tr>
786 + <tr>
787 + <th>professional_tone_score</th>
788 + <td>0.037</td>
789 + <td>0.190</td>
790 + <td>0.000</td>
791 + <td>0.000</td>
792 + <td>0.000</td>
793 + <td>0.000</td>
794 + <td>1.000</td>
795 + <td>5000</td>
796 + </tr>
797 + <tr>
798 + <th>family_language_score</th>
799 + <td>0.002</td>
800 + <td>0.042</td>
801 + <td>0.000</td>
802 + <td>0.000</td>
803 + <td>0.000</td>
804 + <td>0.000</td>
805 + <td>1.000</td>
806 + <td>5000</td>
807 + </tr>
808 + <tr>
809 + <th>business_language_score</th>
810 + <td>0.000</td>
811 + <td>0.000</td>
812 + <td>0.000</td>
813 + <td>0.000</td>
814 + <td>0.000</td>
815 + <td>0.000</td>
816 + <td>0.000</td>
817 + <td>5000</td>
818 + </tr>
819 + <tr>
820 + <th>romantic_language_score</th>
821 + <td>0.000</td>
822 + <td>0.000</td>
823 + <td>0.000</td>
824 + <td>0.000</td>
825 + <td>0.000</td>
826 + <td>0.000</td>
827 + <td>0.000</td>
828 + <td>5000</td>
829 + </tr>
830 + <tr>
831 + <th>tourism_language_score</th>
832 + <td>0.050</td>
833 + <td>0.221</td>
834 + <td>0.000</td>
835 + <td>0.000</td>
836 + <td>0.000</td>
837 + <td>0.000</td>
838 + <td>2.000</td>
839 + <td>5000</td>
840 + </tr>
841 + <tr>
842 + <th>parsed_bedrooms</th>
843 + <td>2.117</td>
844 + <td>1.519</td>
845 + <td>0.000</td>
846 + <td>1.000</td>
847 + <td>2.000</td>
848 + <td>3.000</td>
849 + <td>25.000</td>
850 + <td>4922</td>
851 + </tr>
852 + <tr>
853 + <th>is_studio</th>
854 + <td>0.050</td>
855 + <td>0.217</td>
856 + <td>0.000</td>
857 + <td>0.000</td>
858 + <td>0.000</td>
859 + <td>0.000</td>
860 + <td>1.000</td>
861 + <td>5000</td>
862 + </tr>
863 + <tr>
864 + <th>parsed_beds</th>
865 + <td>3.129</td>
866 + <td>2.642</td>
867 + <td>1.000</td>
868 + <td>1.000</td>
869 + <td>2.000</td>
870 + <td>4.000</td>
871 + <td>58.000</td>
872 + <td>4853</td>
873 + </tr>
874 + <tr>
875 + <th>parsed_baths</th>
876 + <td>1.439</td>
877 + <td>0.976</td>
878 + <td>0.000</td>
879 + <td>1.000</td>
880 + <td>1.000</td>
881 + <td>2.000</td>
882 + <td>24.000</td>
883 + <td>4931</td>
884 + </tr>
885 + <tr>
886 + <th>is_new_listing</th>
887 + <td>0.036</td>
888 + <td>0.186</td>
889 + <td>0.000</td>
890 + <td>0.000</td>
891 + <td>0.000</td>
892 + <td>0.000</td>
893 + <td>1.000</td>
894 + <td>5000</td>
895 + </tr>
896 + <tr>
897 + <th>has_shared_bath</th>
898 + <td>0.072</td>
899 + <td>0.258</td>
900 + <td>0.000</td>
901 + <td>0.000</td>
902 + <td>0.000</td>
903 + <td>0.000</td>
904 + <td>1.000</td>
905 + <td>5000</td>
906 + </tr>
907 + <tr>
908 + <th>has_private_bath</th>
909 + <td>0.035</td>
910 + <td>0.185</td>
911 + <td>0.000</td>
912 + <td>0.000</td>
913 + <td>0.000</td>
914 + <td>0.000</td>
915 + <td>1.000</td>
916 + <td>5000</td>
917 + </tr>
918 + <tr>
919 + <th>text_embed_0</th>
920 + <td>0.234</td>
921 + <td>0.183</td>
922 + <td>0.003</td>
923 + <td>0.101</td>
924 + <td>0.143</td>
925 + <td>0.327</td>
926 + <td>0.791</td>
927 + <td>5000</td>
928 + </tr>
929 + <tr>
930 + <th>text_embed_1</th>
931 + <td>0.067</td>
932 + <td>0.169</td>
933 + <td>-0.447</td>
934 + <td>-0.045</td>
935 + <td>0.095</td>
936 + <td>0.192</td>
937 + <td>0.479</td>
938 + <td>5000</td>
939 + </tr>
940 + <tr>
941 + <th>text_embed_2</th>
942 + <td>0.050</td>
943 + <td>0.135</td>
944 + <td>-0.451</td>
945 + <td>-0.003</td>
946 + <td>0.069</td>
947 + <td>0.124</td>
948 + <td>0.496</td>
949 + <td>5000</td>
950 + </tr>
951 + <tr>
952 + <th>text_embed_3</th>
953 + <td>-0.006</td>
954 + <td>0.122</td>
955 + <td>-0.281</td>
956 + <td>-0.068</td>
957 + <td>-0.026</td>
958 + <td>0.011</td>
959 + <td>0.721</td>
960 + <td>5000</td>
961 + </tr>
962 + <tr>
963 + <th>text_embed_4</th>
964 + <td>0.022</td>
965 + <td>0.118</td>
966 + <td>-0.508</td>
967 + <td>-0.029</td>
968 + <td>0.012</td>
969 + <td>0.077</td>
970 + <td>0.577</td>
971 + <td>5000</td>
972 + </tr>
973 + <tr>
974 + <th>text_embed_5</th>
975 + <td>0.001</td>
976 + <td>0.111</td>
977 + <td>-0.331</td>
978 + <td>-0.082</td>
979 + <td>-0.004</td>
980 + <td>0.065</td>
981 + <td>0.531</td>
982 + <td>5000</td>
983 + </tr>
984 + <tr>
985 + <th>text_embed_6</th>
986 + <td>-0.007</td>
987 + <td>0.106</td>
988 + <td>-0.449</td>
989 + <td>-0.076</td>
990 + <td>-0.012</td>
991 + <td>0.059</td>
992 + <td>0.391</td>
993 + <td>5000</td>
994 + </tr>
995 + <tr>
996 + <th>text_embed_7</th>
997 + <td>-0.002</td>
998 + <td>0.099</td>
999 + <td>-0.297</td>
1000 + <td>-0.055</td>
1001 + <td>-0.006</td>
1002 + <td>0.035</td>
1003 + <td>0.486</td>
1004 + <td>5000</td>
1005 + </tr>
1006 + <tr>
1007 + <th>text_embed_8</th>
1008 + <td>0.007</td>
1009 + <td>0.093</td>
1010 + <td>-0.335</td>
1011 + <td>-0.041</td>
1012 + <td>0.010</td>
1013 + <td>0.043</td>
1014 + <td>0.459</td>
1015 + <td>5000</td>
1016 + </tr>
1017 + <tr>
1018 + <th>text_embed_9</th>
1019 + <td>0.002</td>
1020 + <td>0.090</td>
1021 + <td>-0.393</td>
1022 + <td>-0.037</td>
1023 + <td>-0.004</td>
1024 + <td>0.030</td>
1025 + <td>0.478</td>
1026 + <td>5000</td>
1027 + </tr>
1028 + </tbody>
1029 +</table>
\ No newline at end of file
added results/tables/table_01_summary_statistics.tex +104 −0
@@ -0,0 +1,104 @@
1 +\begin{table}[htbp]
2 +\centering
3 +\caption{Summary Statistics}
4 +\label{tab:summary}
5 +\begin{tabular}{lcccccccc}
6 +\toprule
7 +Variable & Mean & Std. Dev. & Min & P25 & Median & P75 & Max & N \\
8 +\midrule
9 +price_numeric & 1115.2 & 2253.2 & 10.5390 & 125.0 & 219.2 & 1139.2 & 24928.4 & 3412.0 \\
10 +rating & 4.8000 & 0.2310 & 2.2500 & 4.7300 & 4.8600 & 4.9600 & 5.0000 & 4190.0 \\
11 +bedrooms & 2.0840 & 1.5300 & 0.0000 & 1.0000 & 2.0000 & 3.0000 & 25.0000 & 5000.0 \\
12 +bathrooms & 1.2780 & 1.0480 & 0.0000 & 1.0000 & 1.0000 & 2.0000 & 24.0000 & 5000.0 \\
13 +guests_count & 5.3100 & 3.3680 & 1.0000 & 2.0000 & 4.0000 & 7.0000 & 16.0000 & 5000.0 \\
14 +amenities_count & 44.9180 & 15.9850 & 3.0000 & 34.0000 & 45.0000 & 56.0000 & 109.0 & 5000.0 \\
15 +num_images & 27.8780 & 19.2110 & 0.0000 & 14.0000 & 23.0000 & 36.0000 & 199.0 & 5000.0 \\
16 +num_reviews & 62.7480 & 85.0200 & 0.0000 & 10.0000 & 33.0000 & 82.0000 & 986.0 & 4275.0 \\
17 +quality_score & 93.7800 & 41.9450 & 0.0000 & 94.5000 & 107.9 & 121.0 & 139.8 & 5000.0 \\
18 +is_superhost & 0.5230 & 0.5000 & 0.0000 & 0.0000 & 1.0000 & 1.0000 & 1.0000 & 5000.0 \\
19 +is_guest_favorite & 0.3340 & 0.4720 & 0.0000 & 0.0000 & 0.0000 & 1.0000 & 1.0000 & 5000.0 \\
20 +pets_allowed & 0.2920 & 0.4550 & 0.0000 & 0.0000 & 0.0000 & 1.0000 & 1.0000 & 5000.0 \\
21 +price_raw & 1115.2 & 2253.2 & 10.5390 & 125.0 & 219.2 & 1139.2 & 24928.4 & 3412.0 \\
22 +price_winsor_1_99 & 1063.5 & 1903.5 & 38.0000 & 125.0 & 219.2 & 1139.2 & 10821.9 & 3412.0 \\
23 +price_winsor_2_98 & 1025.1 & 1727.7 & 46.0730 & 125.0 & 219.2 & 1139.2 & 8117.0 & 3412.0 \\
24 +price_winsor_5_95 & 920.8 & 1368.5 & 63.0990 & 125.0 & 219.2 & 1139.2 & 4921.1 & 3412.0 \\
25 +log_price_raw & 5.8660 & 1.4220 & 2.3550 & 4.8280 & 5.3900 & 7.0380 & 10.1240 & 3412.0 \\
26 +log_price_winsor & 5.8660 & 1.4060 & 3.6380 & 4.8280 & 5.3900 & 7.0380 & 9.2890 & 3412.0 \\
27 +log_price & 5.8710 & 1.4170 & 2.4460 & 4.8360 & 5.3950 & 7.0390 & 10.1240 & 3412.0 \\
28 +log_accommodates & 1.7100 & 0.5120 & 0.6930 & 1.0990 & 1.6090 & 2.0790 & 2.8330 & 5000.0 \\
29 +log_bedrooms & 1.0210 & 0.4580 & 0.0000 & 0.6930 & 1.0990 & 1.3860 & 3.2580 & 5000.0 \\
30 +log_beds & 1.0210 & 0.4580 & 0.0000 & 0.6930 & 1.0990 & 1.3860 & 3.2580 & 5000.0 \\
31 +log_bathrooms & 0.7470 & 0.3870 & 0.0000 & 0.6930 & 0.6930 & 1.0990 & 3.2190 & 5000.0 \\
32 +bathrooms_per_guest & 0.2710 & 0.2190 & 0.0000 & 0.1670 & 0.2500 & 0.3330 & 3.5000 & 5000.0 \\
33 +bedrooms_per_guest & 0.4200 & 0.2680 & 0.0000 & 0.3330 & 0.4290 & 0.5000 & 8.5000 & 5000.0 \\
34 +is_entire_home & 0.4810 & 0.5000 & 0.0000 & 0.0000 & 0.0000 & 1.0000 & 1.0000 & 5000.0 \\
35 +is_private_room & 0.3550 & 0.4790 & 0.0000 & 0.0000 & 0.0000 & 1.0000 & 1.0000 & 5000.0 \\
36 +is_shared_room & 0.1640 & 0.3700 & 0.0000 & 0.0000 & 0.0000 & 0.0000 & 1.0000 & 5000.0 \\
37 +large_capacity_listing & 0.2330 & 0.4230 & 0.0000 & 0.0000 & 0.0000 & 0.0000 & 1.0000 & 5000.0 \\
38 +accommodates_sq & 39.5300 & 51.5540 & 1.0000 & 4.0000 & 16.0000 & 49.0000 & 256.0 & 5000.0 \\
39 +bedrooms_sq & 6.6800 & 15.8630 & 0.0000 & 1.0000 & 4.0000 & 9.0000 & 625.0 & 5000.0 \\
40 +bathrooms_sq & 2.7300 & 12.4300 & 0.0000 & 1.0000 & 1.0000 & 4.0000 & 576.0 & 5000.0 \\
41 +accommodates_bedrooms & 15.0780 & 21.5840 & 0.0000 & 2.0000 & 8.0000 & 18.0000 & 400.0 & 5000.0 \\
42 +accommodates_bathrooms & 8.9630 & 15.2090 & 0.0000 & 2.0000 & 4.0000 & 12.0000 & 384.0 & 5000.0 \\
43 +superhost_flag & 0.5230 & 0.5000 & 0.0000 & 0.0000 & 1.0000 & 1.0000 & 1.0000 & 5000.0 \\
44 +host_professional_dummy & 0.0000 & 0.0000 & 0.0000 & 0.0000 & 0.0000 & 0.0000 & 0.0000 & 5000.0 \\
45 +multi_listing_host & 0.2080 & 0.4060 & 0.0000 & 0.0000 & 0.0000 & 0.0000 & 1.0000 & 5000.0 \\
46 +superhost_x_entire_home & 0.2710 & 0.4440 & 0.0000 & 0.0000 & 0.0000 & 1.0000 & 1.0000 & 5000.0 \\
47 +guest_favorite_flag & 0.3340 & 0.4720 & 0.0000 & 0.0000 & 0.0000 & 1.0000 & 1.0000 & 5000.0 \\
48 +log_reviews & 2.8700 & 1.7590 & 0.0000 & 1.6090 & 3.2190 & 4.2630 & 6.8950 & 5000.0 \\
49 +review_quality & 2.9440 & 1.4590 & 0.0000 & 3.0000 & 4.0000 & 4.0000 & 4.0000 & 5000.0 \\
50 +reputation_score & 0.6490 & 0.2900 & 0.0000 & 0.6410 & 0.7610 & 0.8270 & 0.9950 & 5000.0 \\
51 +cleanliness_premium & 0.4260 & 0.4950 & 0.0000 & 0.0000 & 0.0000 & 1.0000 & 1.0000 & 5000.0 \\
52 +location_rating_premium & 0.4830 & 0.5000 & 0.0000 & 0.0000 & 0.0000 & 1.0000 & 1.0000 & 5000.0 \\
53 +has_reviews & 0.8360 & 0.3700 & 0.0000 & 1.0000 & 1.0000 & 1.0000 & 1.0000 & 5000.0 \\
54 +no_rating_flag & 0.1620 & 0.3680 & 0.0000 & 0.0000 & 0.0000 & 0.0000 & 1.0000 & 5000.0 \\
55 +price_per_guest & 303.3 & 625.7 & 2.0710 & 27.0000 & 42.6630 & 400.1 & 11812.5 & 3412.0 \\
56 +price_per_bedroom & 607.3 & 1193.5 & 3.5670 & 67.1950 & 106.8 & 737.8 & 17408.7 & 3227.0 \\
57 +amenity_richness_index & 0.3950 & 0.1510 & 0.0000 & 0.2920 & 0.3960 & 0.5000 & 1.0000 & 5000.0 \\
58 +luxury_index & 0.3950 & 0.1590 & 0.0000 & 0.2860 & 0.3960 & 0.5050 & 0.9860 & 5000.0 \\
59 +business_travel_index & 0.3950 & 0.1600 & 0.0000 & 0.2830 & 0.3970 & 0.5060 & 0.9900 & 5000.0 \\
60 +family_comfort_index & 0.4100 & 0.1640 & 0.0000 & 0.2930 & 0.4070 & 0.5260 & 1.0000 & 5000.0 \\
61 +leisure_index & 0.4270 & 0.1730 & 0.0000 & 0.3010 & 0.4230 & 0.5450 & 1.0000 & 5000.0 \\
62 +remote_work_index & 0.3970 & 0.1590 & 0.0000 & 0.2840 & 0.4000 & 0.5110 & 1.0000 & 5000.0 \\
63 +distance_to_center & 3891.3 & 11033.9 & 0.0000 & 794.8 & 2089.7 & 4984.9 & 508162.0 & 4994.0 \\
64 +log_distance_to_center & 7.1340 & 2.2250 & 0.0000 & 6.6790 & 7.6450 & 8.5140 & 13.1390 & 4994.0 \\
65 +local_density_500m & 14.7270 & 25.3680 & 0.0000 & 0.0000 & 2.0000 & 14.0000 & 125.0 & 4994.0 \\
66 +local_density_1km & 41.9770 & 72.5050 & 0.0000 & 1.0000 & 5.0000 & 32.0000 & 309.0 & 4994.0 \\
67 +local_avg_price_500m & 1107.6 & 1440.1 & 16.7050 & 244.3 & 819.5 & 1504.7 & 23625.0 & 3309.0 \\
68 +local_avg_price_1km & 1127.8 & 1288.6 & 16.7050 & 276.1 & 994.0 & 1490.4 & 23625.0 & 3772.0 \\
69 +spatial_cluster & 11.1190 & 6.8650 & -1.0000 & 5.0000 & 13.0000 & 18.0000 & 19.0000 & 5000.0 \\
70 +title_length & 62.0540 & 7.5920 & 36.0000 & 57.0000 & 61.0000 & 66.0000 & 100.0 & 5000.0 \\
71 +title_word_count & 14.2550 & 1.0820 & 8.0000 & 14.0000 & 14.0000 & 15.0000 & 20.0000 & 5000.0 \\
72 +exclamation_count & 0.0000 & 0.0000 & 0.0000 & 0.0000 & 0.0000 & 0.0000 & 0.0000 & 5000.0 \\
73 +uppercase_ratio & 0.0720 & 0.0200 & 0.0210 & 0.0570 & 0.0670 & 0.0860 & 0.3750 & 5000.0 \\
74 +has_star_rating & 0.8740 & 0.3320 & 0.0000 & 1.0000 & 1.0000 & 1.0000 & 1.0000 & 5000.0 \\
75 +extracted_star_rating & 4.8000 & 0.2310 & 2.2500 & 4.7300 & 4.8600 & 4.9600 & 5.0000 & 4190.0 \\
76 +luxury_language_score & 0.0000 & 0.0200 & 0.0000 & 0.0000 & 0.0000 & 0.0000 & 1.0000 & 5000.0 \\
77 +cozy_language_score & 0.0000 & 0.0000 & 0.0000 & 0.0000 & 0.0000 & 0.0000 & 0.0000 & 5000.0 \\
78 +professional_tone_score & 0.0370 & 0.1900 & 0.0000 & 0.0000 & 0.0000 & 0.0000 & 1.0000 & 5000.0 \\
79 +family_language_score & 0.0020 & 0.0420 & 0.0000 & 0.0000 & 0.0000 & 0.0000 & 1.0000 & 5000.0 \\
80 +business_language_score & 0.0000 & 0.0000 & 0.0000 & 0.0000 & 0.0000 & 0.0000 & 0.0000 & 5000.0 \\
81 +romantic_language_score & 0.0000 & 0.0000 & 0.0000 & 0.0000 & 0.0000 & 0.0000 & 0.0000 & 5000.0 \\
82 +tourism_language_score & 0.0500 & 0.2210 & 0.0000 & 0.0000 & 0.0000 & 0.0000 & 2.0000 & 5000.0 \\
83 +parsed_bedrooms & 2.1170 & 1.5190 & 0.0000 & 1.0000 & 2.0000 & 3.0000 & 25.0000 & 4922.0 \\
84 +is_studio & 0.0500 & 0.2170 & 0.0000 & 0.0000 & 0.0000 & 0.0000 & 1.0000 & 5000.0 \\
85 +parsed_beds & 3.1290 & 2.6420 & 1.0000 & 1.0000 & 2.0000 & 4.0000 & 58.0000 & 4853.0 \\
86 +parsed_baths & 1.4390 & 0.9760 & 0.0000 & 1.0000 & 1.0000 & 2.0000 & 24.0000 & 4931.0 \\
87 +is_new_listing & 0.0360 & 0.1860 & 0.0000 & 0.0000 & 0.0000 & 0.0000 & 1.0000 & 5000.0 \\
88 +has_shared_bath & 0.0720 & 0.2580 & 0.0000 & 0.0000 & 0.0000 & 0.0000 & 1.0000 & 5000.0 \\
89 +has_private_bath & 0.0350 & 0.1850 & 0.0000 & 0.0000 & 0.0000 & 0.0000 & 1.0000 & 5000.0 \\
90 +text_embed_0 & 0.2340 & 0.1830 & 0.0030 & 0.1010 & 0.1430 & 0.3270 & 0.7910 & 5000.0 \\
91 +text_embed_1 & 0.0670 & 0.1690 & -0.4470 & -0.0450 & 0.0950 & 0.1920 & 0.4790 & 5000.0 \\
92 +text_embed_2 & 0.0500 & 0.1350 & -0.4510 & -0.0030 & 0.0690 & 0.1240 & 0.4960 & 5000.0 \\
93 +text_embed_3 & -0.0060 & 0.1220 & -0.2810 & -0.0680 & -0.0260 & 0.0110 & 0.7210 & 5000.0 \\
94 +text_embed_4 & 0.0220 & 0.1180 & -0.5080 & -0.0290 & 0.0120 & 0.0770 & 0.5770 & 5000.0 \\
95 +text_embed_5 & 0.0010 & 0.1110 & -0.3310 & -0.0820 & -0.0040 & 0.0650 & 0.5310 & 5000.0 \\
96 +text_embed_6 & -0.0070 & 0.1060 & -0.4490 & -0.0760 & -0.0120 & 0.0590 & 0.3910 & 5000.0 \\
97 +text_embed_7 & -0.0020 & 0.0990 & -0.2970 & -0.0550 & -0.0060 & 0.0350 & 0.4860 & 5000.0 \\
98 +text_embed_8 & 0.0070 & 0.0930 & -0.3350 & -0.0410 & 0.0100 & 0.0430 & 0.4590 & 5000.0 \\
99 +text_embed_9 & 0.0020 & 0.0900 & -0.3930 & -0.0370 & -0.0040 & 0.0300 & 0.4780 & 5000.0 \\
100 +\bottomrule
101 +\end{tabular}
102 +\par\smallskip\footnotesize
103 +\textit{Note:} $^{***}p<0.001$, $^{**}p<0.01$, $^{*}p<0.05$.
104 +\end{table}
\ No newline at end of file
added results/tables/table_02_price_by_type.csv +7 −0
@@ -0,0 +1,7 @@
1 +,property_type,Mean,Median,Std,Min,Max,N
2 +0,Apartment,1276.02,200.95,3328.32,14.76,18117.0,77
3 +1,Cabin/Chalet,969.3,236.84,2214.58,48.0,23321.0,691
4 +2,Condo,1344.13,209.73,2342.57,49.0,14577.0,237
5 +3,House,1058.31,222.88,2206.41,18.0,22810.62,679
6 +4,Other,1203.11,170.0,2726.62,10.54,23625.0,554
7 +5,Rental unit,1135.64,246.64,1925.29,14.0,24928.37,1174
added results/tables/table_02_price_by_type.html +76 −0
@@ -0,0 +1,76 @@
1 +<table class="dataframe table table-sm">
2 + <thead>
3 + <tr style="text-align: right;">
4 + <th></th>
5 + <th>property_type</th>
6 + <th>Mean</th>
7 + <th>Median</th>
8 + <th>Std</th>
9 + <th>Min</th>
10 + <th>Max</th>
11 + <th>N</th>
12 + </tr>
13 + </thead>
14 + <tbody>
15 + <tr>
16 + <th>0</th>
17 + <td>Apartment</td>
18 + <td>1276.02</td>
19 + <td>200.95</td>
20 + <td>3328.32</td>
21 + <td>14.76</td>
22 + <td>18117.00</td>
23 + <td>77</td>
24 + </tr>
25 + <tr>
26 + <th>1</th>
27 + <td>Cabin/Chalet</td>
28 + <td>969.30</td>
29 + <td>236.84</td>
30 + <td>2214.58</td>
31 + <td>48.00</td>
32 + <td>23321.00</td>
33 + <td>691</td>
34 + </tr>
35 + <tr>
36 + <th>2</th>
37 + <td>Condo</td>
38 + <td>1344.13</td>
39 + <td>209.73</td>
40 + <td>2342.57</td>
41 + <td>49.00</td>
42 + <td>14577.00</td>
43 + <td>237</td>
44 + </tr>
45 + <tr>
46 + <th>3</th>
47 + <td>House</td>
48 + <td>1058.31</td>
49 + <td>222.88</td>
50 + <td>2206.41</td>
51 + <td>18.00</td>
52 + <td>22810.62</td>
53 + <td>679</td>
54 + </tr>
55 + <tr>
56 + <th>4</th>
57 + <td>Other</td>
58 + <td>1203.11</td>
59 + <td>170.00</td>
60 + <td>2726.62</td>
61 + <td>10.54</td>
62 + <td>23625.00</td>
63 + <td>554</td>
64 + </tr>
65 + <tr>
66 + <th>5</th>
67 + <td>Rental unit</td>
68 + <td>1135.64</td>
69 + <td>246.64</td>
70 + <td>1925.29</td>
71 + <td>14.00</td>
72 + <td>24928.37</td>
73 + <td>1174</td>
74 + </tr>
75 + </tbody>
76 +</table>
\ No newline at end of file
added results/tables/table_02_price_by_type.tex +19 −0
@@ -0,0 +1,19 @@
1 +\begin{table}[htbp]
2 +\centering
3 +\caption{Price Distribution by Property Type}
4 +\label{tab:pricetype}
5 +\begin{tabular}{lcccccc}
6 +\toprule
7 + & property_type & Mean & Median & Std & Min & Max & N \\
8 +\midrule
9 +0 & Apartment & 1276.0 & 200.9 & 3328.3 & 14.7600 & 18117.0 & 77 \\
10 +1 & Cabin/Chalet & 969.3 & 236.8 & 2214.6 & 48.0000 & 23321.0 & 691 \\
11 +2 & Condo & 1344.1 & 209.7 & 2342.6 & 49.0000 & 14577.0 & 237 \\
12 +3 & House & 1058.3 & 222.9 & 2206.4 & 18.0000 & 22810.6 & 679 \\
13 +4 & Other & 1203.1 & 170.0 & 2726.6 & 10.5400 & 23625.0 & 554 \\
14 +5 & Rental unit & 1135.6 & 246.6 & 1925.3 & 14.0000 & 24928.4 & 1174 \\
15 +\bottomrule
16 +\end{tabular}
17 +\par\smallskip\footnotesize
18 +\textit{Note:} $^{***}p<0.001$, $^{**}p<0.01$, $^{*}p<0.05$.
19 +\end{table}
\ No newline at end of file
added results/tables/table_03_correlations.csv +8 −0
@@ -0,0 +1,8 @@
1 +,log_price,bedrooms,bathrooms,guests_count,amenities_count,rating,num_reviews
2 +log_price,1.000,,,,,,
3 +bedrooms,0.111***,1.000,,,,,
4 +bathrooms,0.138***,0.704***,1.000,,,,
5 +guests_count,0.072***,0.806***,0.637***,1.000,,,
6 +amenities_count,-0.051**,0.322***,0.290***,0.370***,1.000,,
7 +rating,0.006,0.129***,0.157***,0.113***,0.274***,1.000,
8 +num_reviews,-0.236***,-0.061**,-0.049**,-0.029,0.095***,0.072***,1.000
added results/tables/table_03_correlations.html +86 −0
@@ -0,0 +1,86 @@
1 +<table class="dataframe table table-sm">
2 + <thead>
3 + <tr style="text-align: right;">
4 + <th></th>
5 + <th>log_price</th>
6 + <th>bedrooms</th>
7 + <th>bathrooms</th>
8 + <th>guests_count</th>
9 + <th>amenities_count</th>
10 + <th>rating</th>
11 + <th>num_reviews</th>
12 + </tr>
13 + </thead>
14 + <tbody>
15 + <tr>
16 + <th>log_price</th>
17 + <td>1.000</td>
18 + <td></td>
19 + <td></td>
20 + <td></td>
21 + <td></td>
22 + <td></td>
23 + <td></td>
24 + </tr>
25 + <tr>
26 + <th>bedrooms</th>
27 + <td>0.111***</td>
28 + <td>1.000</td>
29 + <td></td>
30 + <td></td>
31 + <td></td>
32 + <td></td>
33 + <td></td>
34 + </tr>
35 + <tr>
36 + <th>bathrooms</th>
37 + <td>0.138***</td>
38 + <td>0.704***</td>
39 + <td>1.000</td>
40 + <td></td>
41 + <td></td>
42 + <td></td>
43 + <td></td>
44 + </tr>
45 + <tr>
46 + <th>guests_count</th>
47 + <td>0.072***</td>
48 + <td>0.806***</td>
49 + <td>0.637***</td>
50 + <td>1.000</td>
51 + <td></td>
52 + <td></td>
53 + <td></td>
54 + </tr>
55 + <tr>
56 + <th>amenities_count</th>
57 + <td>-0.051**</td>
58 + <td>0.322***</td>
59 + <td>0.290***</td>
60 + <td>0.370***</td>
61 + <td>1.000</td>
62 + <td></td>
63 + <td></td>
64 + </tr>
65 + <tr>
66 + <th>rating</th>
67 + <td>0.006</td>
68 + <td>0.129***</td>
69 + <td>0.157***</td>
70 + <td>0.113***</td>
71 + <td>0.274***</td>
72 + <td>1.000</td>
73 + <td></td>
74 + </tr>
75 + <tr>
76 + <th>num_reviews</th>
77 + <td>-0.236***</td>
78 + <td>-0.061**</td>
79 + <td>-0.049**</td>
80 + <td>-0.029</td>
81 + <td>0.095***</td>
82 + <td>0.072***</td>
83 + <td>1.000</td>
84 + </tr>
85 + </tbody>
86 +</table>
\ No newline at end of file
added results/tables/table_03_correlations.tex +20 −0
@@ -0,0 +1,20 @@
1 +\begin{table}[htbp]
2 +\centering
3 +\caption{Correlation Matrix}
4 +\label{tab:corr}
5 +\begin{tabular}{lcccccc}
6 +\toprule
7 + & log_price & bedrooms & bathrooms & guests_count & amenities_count & rating & num_reviews \\
8 +\midrule
9 +log_price & 1.000 & & & & & & \\
10 +bedrooms & 0.111*** & 1.000 & & & & & \\
11 +bathrooms & 0.138*** & 0.704*** & 1.000 & & & & \\
12 +guests_count & 0.072*** & 0.806*** & 0.637*** & 1.000 & & & \\
13 +amenities_count & -0.051** & 0.322*** & 0.290*** & 0.370*** & 1.000 & & \\
14 +rating & 0.006 & 0.129*** & 0.157*** & 0.113*** & 0.274*** & 1.000 & \\
15 +num_reviews & -0.236*** & -0.061** & -0.049** & -0.029 & 0.095*** & 0.072*** & 1.000 \\
16 +\bottomrule
17 +\end{tabular}
18 +\par\smallskip\footnotesize
19 +\textit{Note:} $^{***}p<0.001$, $^{**}p<0.01$, $^{*}p<0.05$.
20 +\end{table}
\ No newline at end of file
added results/tables/table_04_hedonic_regressions.csv +120 −0
@@ -0,0 +1,120 @@
1 +Variable,Model 1 - Structural,Model 2 - + Amenities,Model 3 - + Host,Model 4 - + Reviews,Model 5 - + Location,Model 6 - + Neighbourhood,Model 7 - + NLP,Model 8 - + Spatial,Model 9 - Full Hedonic
2 +const,6.502***,6.696***,6.766***,,,,,,
3 +,(0.579),(0.591),(0.561),,,,,,
4 +bedrooms,0.918**,0.904**,0.904***,0.795**,0.789**,0.789**,0.771**,1.141***,1.141***
5 +,(0.281),(0.288),(0.265),(0.257),(0.264),(0.264),(0.265),(0.311),(0.311)
6 +bathrooms,-0.016,-0.032,-0.020,-0.105,-0.112,-0.115,-0.003,-0.164,-0.164
7 +,(0.211),(0.216),(0.201),(0.180),(0.183),(0.183),(0.193),(0.226),(0.226)
8 +guests_count,0.096,0.115,0.219,0.012,-0.023,-0.024,0.034,0.187,0.187
9 +,(0.203),(0.204),(0.198),(0.195),(0.197),(0.197),(0.205),(0.252),(0.252)
10 +is_entire_home,0.065,0.061,0.163,0.096,0.101,0.101,0.023,0.055,0.055
11 +,(0.075),(0.075),(0.097),(0.101),(0.101),(0.101),(0.106),(0.135),(0.135)
12 +is_private_room,0.361***,0.340***,0.220**,0.355***,0.289***,0.291***,-0.375***,-0.263,-0.263
13 +,(0.079),(0.079),(0.080),(0.078),(0.079),(0.080),(0.113),(0.135),(0.135)
14 +log_accommodates,-0.997,-1.060,-1.327,-0.522,-0.312,-0.313,-0.657,-1.094,-1.094
15 +,(0.824),(0.829),(0.797),(0.768),(0.778),(0.779),(0.847),(1.135),(1.135)
16 +log_bedrooms,-1.429*,-1.373*,-1.433*,-1.272*,-1.283*,-1.281*,-1.299*,-2.053**,-2.053**
17 +,(0.686),(0.691),(0.654),(0.613),(0.627),(0.628),(0.657),(0.774),(0.774)
18 +log_bathrooms,0.497,0.613,0.622,0.737,0.702,0.706,0.523,0.645,0.645
19 +,(0.426),(0.433),(0.414),(0.404),(0.410),(0.410),(0.426),(0.541),(0.541)
20 +bathrooms_per_guest,-0.136,-0.201,-0.244,-0.401,-0.364,-0.366,-0.445*,-0.441,-0.441
21 +,(0.201),(0.204),(0.195),(0.224),(0.229),(0.229),(0.225),(0.335),(0.335)
22 +bedrooms_per_guest,0.008,0.011,-0.015,-0.096,-0.091,-0.090,-0.117,0.018,0.018
23 +,(0.432),(0.436),(0.401),(0.346),(0.360),(0.362),(0.361),(0.529),(0.529)
24 +large_capacity_listing,0.035,0.033,-0.028,0.040,0.032,0.033,0.050,-0.125,-0.125
25 +,(0.115),(0.116),(0.114),(0.115),(0.114),(0.114),(0.113),(0.148),(0.148)
26 +accommodates_sq,-0.002,-0.003,-0.007,-0.001,0.000,0.000,-0.001,-0.005,-0.005
27 +,(0.006),(0.006),(0.006),(0.006),(0.006),(0.006),(0.006),(0.008),(0.008)
28 +bedrooms_sq,-0.048*,-0.048*,-0.047**,-0.040*,-0.039*,-0.039*,-0.036*,-0.063**,-0.063**
29 +,(0.020),(0.021),(0.018),(0.017),(0.018),(0.018),(0.017),(0.020),(0.020)
30 +bathrooms_sq,0.014,0.015,0.014,0.014,0.014,0.014,0.008,0.028*,0.028*
31 +,(0.015),(0.016),(0.014),(0.012),(0.013),(0.013),(0.013),(0.013),(0.013)
32 +amenities_count,,0.005,0.009,0.003,0.003,0.003,0.006,0.003,0.003
33 +,,(0.010),(0.010),(0.010),(0.010),(0.010),(0.010),(0.013),(0.013)
34 +amenity_richness_index,,-0.189***,-0.191***,-0.129**,-0.340***,-0.343***,-0.306***,-0.269*,-0.269*
35 +,,(0.017),(0.016),(0.046),(0.083),(0.084),(0.087),(0.106),(0.106)
36 +luxury_index,,0.437,0.342,0.507,0.473,0.478,0.380,0.445,0.445
37 +,,(0.474),(0.468),(0.461),(0.458),(0.458),(0.452),(0.571),(0.571)
38 +business_travel_index,,-0.761,-0.824,-0.836,-0.799,-0.804,-0.801,-1.156*,-1.156*
39 +,,(0.463),(0.451),(0.465),(0.462),(0.462),(0.456),(0.560),(0.560)
40 +family_comfort_index,,-0.257,0.014,0.368,0.313,0.308,0.300,0.921,0.921
41 +,,(0.490),(0.480),(0.489),(0.483),(0.483),(0.478),(0.588),(0.588)
42 +leisure_index,,-0.132,-0.035,0.236,0.265,0.264,0.203,0.027,0.027
43 +,,(0.481),(0.470),(0.466),(0.464),(0.464),(0.461),(0.561),(0.561)
44 +remote_work_index,,-0.263,-0.252,-0.394,-0.312,-0.308,-0.408,-0.090,-0.090
45 +,,(0.486),(0.479),(0.485),(0.484),(0.484),(0.478),(0.568),(0.568)
46 +pets_allowed,,0.129,0.069,0.016,0.006,0.007,0.029,0.023,0.023
47 +,,(0.076),(0.075),(0.076),(0.075),(0.075),(0.074),(0.093),(0.093)
48 +is_superhost,,,-0.094*,-0.147,-0.152,-0.151,-0.114,0.039,0.039
49 +,,,(0.037),(0.100),(0.099),(0.099),(0.095),(0.105),(0.105)
50 +superhost_flag,,,-0.094*,-0.147,-0.152,-0.151,-0.114,0.039,0.039
51 +,,,(0.037),(0.100),(0.099),(0.099),(0.095),(0.105),(0.105)
52 +host_professional_dummy,,,-0.000,-0.000,0.000***,0.000***,0.000***,0.000,0.000
53 +,,,(0.000),(0.000),(0.000),(0.000),(0.000),(0.000),(0.000)
54 +multi_listing_host,,,0.346***,0.273***,0.242***,0.244***,-0.025,0.002,0.002
55 +,,,(0.068),(0.070),(0.069),(0.070),(0.078),(0.078),(0.078)
56 +superhost_x_entire_home,,,-0.177,-0.028,-0.037,-0.037,-0.017,-0.009,-0.009
57 +,,,(0.096),(0.102),(0.101),(0.101),(0.100),(0.121),(0.121)
58 +guest_favorite_flag,,,-0.194***,-0.204*,-0.197*,-0.197*,-0.142,-0.012,-0.012
59 +,,,(0.026),(0.098),(0.097),(0.097),(0.093),(0.102),(0.102)
60 +is_guest_favorite,,,-0.194***,-0.204*,-0.197*,-0.197*,-0.142,-0.012,-0.012
61 +,,,(0.026),(0.098),(0.097),(0.097),(0.093),(0.102),(0.102)
62 +rating,,,,0.591,0.616,0.618,0.605,1.052*,1.052*
63 +,,,,(0.526),(0.520),(0.521),(0.515),(0.494),(0.494)
64 +num_reviews,,,,0.002,0.002,0.002,0.002,0.003**,0.003**
65 +,,,,(0.001),(0.001),(0.001),(0.001),(0.001),(0.001)
66 +log_reviews,,,,-0.518***,-0.521***,-0.521***,-0.452***,-0.400***,-0.400***
67 +,,,,(0.055),(0.055),(0.055),(0.056),(0.066),(0.066)
68 +review_quality,,,,-0.169,-0.171,-0.172,-0.177,-0.165,-0.165
69 +,,,,(0.135),(0.134),(0.134),(0.136),(0.135),(0.135)
70 +reputation_score,,,,0.041,0.044,0.044,0.046,0.103,0.103
71 +,,,,(0.064),(0.063),(0.064),(0.063),(0.061),(0.061)
72 +cleanliness_premium,,,,0.267**,0.268**,0.268**,0.283**,0.207,0.207
73 +,,,,(0.098),(0.097),(0.098),(0.097),(0.110),(0.110)
74 +location_rating_premium,,,,-0.047,-0.045,-0.044,-0.148,-0.146,-0.146
75 +,,,,(0.099),(0.098),(0.099),(0.098),(0.116),(0.116)
76 +has_reviews,,,,4.556**,11.999***,12.118***,10.831***,9.511*,9.511*
77 +,,,,(1.619),(2.929),(2.961),(3.085),(3.738),(3.738)
78 +quality_score,,,,0.010,0.010,0.010,0.004,-0.017,-0.017
79 +,,,,(0.018),(0.018),(0.018),(0.017),(0.018),(0.018)
80 +distance_to_center,,,,,-0.000,-0.000,-0.000,-0.000,-0.000
81 +,,,,,(0.000),(0.000),(0.000),(0.000),(0.000)
82 +lat,,,,,-0.153***,-0.155***,-0.095**,-0.090*,-0.090*
83 +,,,,,(0.035),(0.035),(0.037),(0.045),(0.045)
84 +long,,,,,0.008,0.008,0.009,0.004,0.004
85 +,,,,,(0.016),(0.016),(0.016),(0.019),(0.019)
86 +spatial_cluster,,,,,,-0.001,-0.014***,-0.013**,-0.013**
87 +,,,,,,(0.004),(0.004),(0.005),(0.005)
88 +title_length,,,,,,,0.010*,0.007,0.007
89 +,,,,,,,(0.004),(0.006),(0.006)
90 +title_word_count,,,,,,,-0.094*,-0.058,-0.058
91 +,,,,,,,(0.042),(0.053),(0.053)
92 +luxury_language_score,,,,,,,-0.239,0.218,0.218
93 +,,,,,,,(0.351),(196.632),(196.632)
94 +cozy_language_score,,,,,,,0.000,0.000,0.000
95 +,,,,,,,(0.000),(0.000),(0.000)
96 +professional_tone_score,,,,,,,-0.173,-0.623,-0.623
97 +,,,,,,,(0.414),(19.507),(19.507)
98 +tourism_language_score,,,,,,,-0.112,-0.209,-0.209
99 +,,,,,,,(0.099),(0.115),(0.115)
100 +text_embed_0,,,,,,,3.000***,2.800***,2.800***
101 +,,,,,,,(0.353),(0.430),(0.430)
102 +text_embed_1,,,,,,,0.247,0.479,0.479
103 +,,,,,,,(0.366),(0.442),(0.442)
104 +text_embed_2,,,,,,,-0.400,-0.085,-0.085
105 +,,,,,,,(0.395),(0.460),(0.460)
106 +text_embed_3,,,,,,,-0.035,-0.055,-0.055
107 +,,,,,,,(0.218),(0.244),(0.244)
108 +local_density_500m,,,,,,,,-0.008**,-0.008**
109 +,,,,,,,,(0.003),(0.003)
110 +local_density_1km,,,,,,,,0.003**,0.003**
111 +,,,,,,,,(0.001),(0.001)
112 +local_avg_price_500m,,,,,,,,0.000***,0.000***
113 +,,,,,,,,(0.000),(0.000)
114 +local_avg_price_1km,,,,,,,,-0.000,-0.000
115 +,,,,,,,,(0.000),(0.000)
116 +N,3412,3412,3412,2861,2857,2857,2857,1906,1906
117 +R2,0.0516,0.0575,0.0985,0.1871,0.1979,0.1980,0.2249,0.2735,0.2735
118 +Adj_R2,0.0477,0.0516,0.0918,0.1779,0.1880,0.1877,0.2125,0.2544,0.2544
119 +AIC,11911.4,11904.2,11760.5,9381.7,9336.4,9338.3,9258.6,6103.0,6103.0
120 +BIC,12003.4,12039.2,11920.0,9578.3,9550.9,9558.8,9532.6,6380.6,6380.6
added results/tables/table_04_hedonic_regressions.html +1458 −0
@@ -0,0 +1,1458 @@
1 +<table class="dataframe table table-sm">
2 + <thead>
3 + <tr style="text-align: right;">
4 + <th></th>
5 + <th>Model 1 - Structural</th>
6 + <th>Model 2 - + Amenities</th>
7 + <th>Model 3 - + Host</th>
8 + <th>Model 4 - + Reviews</th>
9 + <th>Model 5 - + Location</th>
10 + <th>Model 6 - + Neighbourhood</th>
11 + <th>Model 7 - + NLP</th>
12 + <th>Model 8 - + Spatial</th>
13 + <th>Model 9 - Full Hedonic</th>
14 + </tr>
15 + <tr>
16 + <th>Variable</th>
17 + <th></th>
18 + <th></th>
19 + <th></th>
20 + <th></th>
21 + <th></th>
22 + <th></th>
23 + <th></th>
24 + <th></th>
25 + <th></th>
26 + </tr>
27 + </thead>
28 + <tbody>
29 + <tr>
30 + <th>const</th>
31 + <td>6.502***</td>
32 + <td>6.696***</td>
33 + <td>6.766***</td>
34 + <td></td>
35 + <td></td>
36 + <td></td>
37 + <td></td>
38 + <td></td>
39 + <td></td>
40 + </tr>
41 + <tr>
42 + <th></th>
43 + <td>(0.579)</td>
44 + <td>(0.591)</td>
45 + <td>(0.561)</td>
46 + <td></td>
47 + <td></td>
48 + <td></td>
49 + <td></td>
50 + <td></td>
51 + <td></td>
52 + </tr>
53 + <tr>
54 + <th>bedrooms</th>
55 + <td>0.918**</td>
56 + <td>0.904**</td>
57 + <td>0.904***</td>
58 + <td>0.795**</td>
59 + <td>0.789**</td>
60 + <td>0.789**</td>
61 + <td>0.771**</td>
62 + <td>1.141***</td>
63 + <td>1.141***</td>
64 + </tr>
65 + <tr>
66 + <th></th>
67 + <td>(0.281)</td>
68 + <td>(0.288)</td>
69 + <td>(0.265)</td>
70 + <td>(0.257)</td>
71 + <td>(0.264)</td>
72 + <td>(0.264)</td>
73 + <td>(0.265)</td>
74 + <td>(0.311)</td>
75 + <td>(0.311)</td>
76 + </tr>
77 + <tr>
78 + <th>bathrooms</th>
79 + <td>-0.016</td>
80 + <td>-0.032</td>
81 + <td>-0.020</td>
82 + <td>-0.105</td>
83 + <td>-0.112</td>
84 + <td>-0.115</td>
85 + <td>-0.003</td>
86 + <td>-0.164</td>
87 + <td>-0.164</td>
88 + </tr>
89 + <tr>
90 + <th></th>
91 + <td>(0.211)</td>
92 + <td>(0.216)</td>
93 + <td>(0.201)</td>
94 + <td>(0.180)</td>
95 + <td>(0.183)</td>
96 + <td>(0.183)</td>
97 + <td>(0.193)</td>
98 + <td>(0.226)</td>
99 + <td>(0.226)</td>
100 + </tr>
101 + <tr>
102 + <th>guests_count</th>
103 + <td>0.096</td>
104 + <td>0.115</td>
105 + <td>0.219</td>
106 + <td>0.012</td>
107 + <td>-0.023</td>
108 + <td>-0.024</td>
109 + <td>0.034</td>
110 + <td>0.187</td>
111 + <td>0.187</td>
112 + </tr>
113 + <tr>
114 + <th></th>
115 + <td>(0.203)</td>
116 + <td>(0.204)</td>
117 + <td>(0.198)</td>
118 + <td>(0.195)</td>
119 + <td>(0.197)</td>
120 + <td>(0.197)</td>
121 + <td>(0.205)</td>
122 + <td>(0.252)</td>
123 + <td>(0.252)</td>
124 + </tr>
125 + <tr>
126 + <th>is_entire_home</th>
127 + <td>0.065</td>
128 + <td>0.061</td>
129 + <td>0.163</td>
130 + <td>0.096</td>
131 + <td>0.101</td>
132 + <td>0.101</td>
133 + <td>0.023</td>
134 + <td>0.055</td>
135 + <td>0.055</td>
136 + </tr>
137 + <tr>
138 + <th></th>
139 + <td>(0.075)</td>
140 + <td>(0.075)</td>
141 + <td>(0.097)</td>
142 + <td>(0.101)</td>
143 + <td>(0.101)</td>
144 + <td>(0.101)</td>
145 + <td>(0.106)</td>
146 + <td>(0.135)</td>
147 + <td>(0.135)</td>
148 + </tr>
149 + <tr>
150 + <th>is_private_room</th>
151 + <td>0.361***</td>
152 + <td>0.340***</td>
153 + <td>0.220**</td>
154 + <td>0.355***</td>
155 + <td>0.289***</td>
156 + <td>0.291***</td>
157 + <td>-0.375***</td>
158 + <td>-0.263</td>
159 + <td>-0.263</td>
160 + </tr>
161 + <tr>
162 + <th></th>
163 + <td>(0.079)</td>
164 + <td>(0.079)</td>
165 + <td>(0.080)</td>
166 + <td>(0.078)</td>
167 + <td>(0.079)</td>
168 + <td>(0.080)</td>
169 + <td>(0.113)</td>
170 + <td>(0.135)</td>
171 + <td>(0.135)</td>
172 + </tr>
173 + <tr>
174 + <th>log_accommodates</th>
175 + <td>-0.997</td>
176 + <td>-1.060</td>
177 + <td>-1.327</td>
178 + <td>-0.522</td>
179 + <td>-0.312</td>
180 + <td>-0.313</td>
181 + <td>-0.657</td>
182 + <td>-1.094</td>
183 + <td>-1.094</td>
184 + </tr>
185 + <tr>
186 + <th></th>
187 + <td>(0.824)</td>
188 + <td>(0.829)</td>
189 + <td>(0.797)</td>
190 + <td>(0.768)</td>
191 + <td>(0.778)</td>
192 + <td>(0.779)</td>
193 + <td>(0.847)</td>
194 + <td>(1.135)</td>
195 + <td>(1.135)</td>
196 + </tr>
197 + <tr>
198 + <th>log_bedrooms</th>
199 + <td>-1.429*</td>
200 + <td>-1.373*</td>
201 + <td>-1.433*</td>
202 + <td>-1.272*</td>
203 + <td>-1.283*</td>
204 + <td>-1.281*</td>
205 + <td>-1.299*</td>
206 + <td>-2.053**</td>
207 + <td>-2.053**</td>
208 + </tr>
209 + <tr>
210 + <th></th>
211 + <td>(0.686)</td>
212 + <td>(0.691)</td>
213 + <td>(0.654)</td>
214 + <td>(0.613)</td>
215 + <td>(0.627)</td>
216 + <td>(0.628)</td>
217 + <td>(0.657)</td>
218 + <td>(0.774)</td>
219 + <td>(0.774)</td>
220 + </tr>
221 + <tr>
222 + <th>log_bathrooms</th>
223 + <td>0.497</td>
224 + <td>0.613</td>
225 + <td>0.622</td>
226 + <td>0.737</td>
227 + <td>0.702</td>
228 + <td>0.706</td>
229 + <td>0.523</td>
230 + <td>0.645</td>
231 + <td>0.645</td>
232 + </tr>
233 + <tr>
234 + <th></th>
235 + <td>(0.426)</td>
236 + <td>(0.433)</td>
237 + <td>(0.414)</td>
238 + <td>(0.404)</td>
239 + <td>(0.410)</td>
240 + <td>(0.410)</td>
241 + <td>(0.426)</td>
242 + <td>(0.541)</td>
243 + <td>(0.541)</td>
244 + </tr>
245 + <tr>
246 + <th>bathrooms_per_guest</th>
247 + <td>-0.136</td>
248 + <td>-0.201</td>
249 + <td>-0.244</td>
250 + <td>-0.401</td>
251 + <td>-0.364</td>
252 + <td>-0.366</td>
253 + <td>-0.445*</td>
254 + <td>-0.441</td>
255 + <td>-0.441</td>
256 + </tr>
257 + <tr>
258 + <th></th>
259 + <td>(0.201)</td>
260 + <td>(0.204)</td>
261 + <td>(0.195)</td>
262 + <td>(0.224)</td>
263 + <td>(0.229)</td>
264 + <td>(0.229)</td>
265 + <td>(0.225)</td>
266 + <td>(0.335)</td>
267 + <td>(0.335)</td>
268 + </tr>
269 + <tr>
270 + <th>bedrooms_per_guest</th>
271 + <td>0.008</td>
272 + <td>0.011</td>
273 + <td>-0.015</td>
274 + <td>-0.096</td>
275 + <td>-0.091</td>
276 + <td>-0.090</td>
277 + <td>-0.117</td>
278 + <td>0.018</td>
279 + <td>0.018</td>
280 + </tr>
281 + <tr>
282 + <th></th>
283 + <td>(0.432)</td>
284 + <td>(0.436)</td>
285 + <td>(0.401)</td>
286 + <td>(0.346)</td>
287 + <td>(0.360)</td>
288 + <td>(0.362)</td>
289 + <td>(0.361)</td>
290 + <td>(0.529)</td>
291 + <td>(0.529)</td>
292 + </tr>
293 + <tr>
294 + <th>large_capacity_listing</th>
295 + <td>0.035</td>
296 + <td>0.033</td>
297 + <td>-0.028</td>
298 + <td>0.040</td>
299 + <td>0.032</td>
300 + <td>0.033</td>
301 + <td>0.050</td>
302 + <td>-0.125</td>
303 + <td>-0.125</td>
304 + </tr>
305 + <tr>
306 + <th></th>
307 + <td>(0.115)</td>
308 + <td>(0.116)</td>
309 + <td>(0.114)</td>
310 + <td>(0.115)</td>
311 + <td>(0.114)</td>
312 + <td>(0.114)</td>
313 + <td>(0.113)</td>
314 + <td>(0.148)</td>
315 + <td>(0.148)</td>
316 + </tr>
317 + <tr>
318 + <th>accommodates_sq</th>
319 + <td>-0.002</td>
320 + <td>-0.003</td>
321 + <td>-0.007</td>
322 + <td>-0.001</td>
323 + <td>0.000</td>
324 + <td>0.000</td>
325 + <td>-0.001</td>
326 + <td>-0.005</td>
327 + <td>-0.005</td>
328 + </tr>
329 + <tr>
330 + <th></th>
331 + <td>(0.006)</td>
332 + <td>(0.006)</td>
333 + <td>(0.006)</td>
334 + <td>(0.006)</td>
335 + <td>(0.006)</td>
336 + <td>(0.006)</td>
337 + <td>(0.006)</td>
338 + <td>(0.008)</td>
339 + <td>(0.008)</td>
340 + </tr>
341 + <tr>
342 + <th>bedrooms_sq</th>
343 + <td>-0.048*</td>
344 + <td>-0.048*</td>
345 + <td>-0.047**</td>
346 + <td>-0.040*</td>
347 + <td>-0.039*</td>
348 + <td>-0.039*</td>
349 + <td>-0.036*</td>
350 + <td>-0.063**</td>
351 + <td>-0.063**</td>
352 + </tr>
353 + <tr>
354 + <th></th>
355 + <td>(0.020)</td>
356 + <td>(0.021)</td>
357 + <td>(0.018)</td>
358 + <td>(0.017)</td>
359 + <td>(0.018)</td>
360 + <td>(0.018)</td>
361 + <td>(0.017)</td>
362 + <td>(0.020)</td>
363 + <td>(0.020)</td>
364 + </tr>
365 + <tr>
366 + <th>bathrooms_sq</th>
367 + <td>0.014</td>
368 + <td>0.015</td>
369 + <td>0.014</td>
370 + <td>0.014</td>
371 + <td>0.014</td>
372 + <td>0.014</td>
373 + <td>0.008</td>
374 + <td>0.028*</td>
375 + <td>0.028*</td>
376 + </tr>
377 + <tr>
378 + <th></th>
379 + <td>(0.015)</td>
380 + <td>(0.016)</td>
381 + <td>(0.014)</td>
382 + <td>(0.012)</td>
383 + <td>(0.013)</td>
384 + <td>(0.013)</td>
385 + <td>(0.013)</td>
386 + <td>(0.013)</td>
387 + <td>(0.013)</td>
388 + </tr>
389 + <tr>
390 + <th>amenities_count</th>
391 + <td></td>
392 + <td>0.005</td>
393 + <td>0.009</td>
394 + <td>0.003</td>
395 + <td>0.003</td>
396 + <td>0.003</td>
397 + <td>0.006</td>
398 + <td>0.003</td>
399 + <td>0.003</td>
400 + </tr>
401 + <tr>
402 + <th></th>
403 + <td></td>
404 + <td>(0.010)</td>
405 + <td>(0.010)</td>
406 + <td>(0.010)</td>
407 + <td>(0.010)</td>
408 + <td>(0.010)</td>
409 + <td>(0.010)</td>
410 + <td>(0.013)</td>
411 + <td>(0.013)</td>
412 + </tr>
413 + <tr>
414 + <th>amenity_richness_index</th>
415 + <td></td>
416 + <td>-0.189***</td>
417 + <td>-0.191***</td>
418 + <td>-0.129**</td>
419 + <td>-0.340***</td>
420 + <td>-0.343***</td>
421 + <td>-0.306***</td>
422 + <td>-0.269*</td>
423 + <td>-0.269*</td>
424 + </tr>
425 + <tr>
426 + <th></th>
427 + <td></td>
428 + <td>(0.017)</td>
429 + <td>(0.016)</td>
430 + <td>(0.046)</td>
431 + <td>(0.083)</td>
432 + <td>(0.084)</td>
433 + <td>(0.087)</td>
434 + <td>(0.106)</td>
435 + <td>(0.106)</td>
436 + </tr>
437 + <tr>
438 + <th>luxury_index</th>
439 + <td></td>
440 + <td>0.437</td>
441 + <td>0.342</td>
442 + <td>0.507</td>
443 + <td>0.473</td>
444 + <td>0.478</td>
445 + <td>0.380</td>
446 + <td>0.445</td>
447 + <td>0.445</td>
448 + </tr>
449 + <tr>
450 + <th></th>
451 + <td></td>
452 + <td>(0.474)</td>
453 + <td>(0.468)</td>
454 + <td>(0.461)</td>
455 + <td>(0.458)</td>
456 + <td>(0.458)</td>
457 + <td>(0.452)</td>
458 + <td>(0.571)</td>
459 + <td>(0.571)</td>
460 + </tr>
461 + <tr>
462 + <th>business_travel_index</th>
463 + <td></td>
464 + <td>-0.761</td>
465 + <td>-0.824</td>
466 + <td>-0.836</td>
467 + <td>-0.799</td>
468 + <td>-0.804</td>
469 + <td>-0.801</td>
470 + <td>-1.156*</td>
471 + <td>-1.156*</td>
472 + </tr>
473 + <tr>
474 + <th></th>
475 + <td></td>
476 + <td>(0.463)</td>
477 + <td>(0.451)</td>
478 + <td>(0.465)</td>
479 + <td>(0.462)</td>
480 + <td>(0.462)</td>
481 + <td>(0.456)</td>
482 + <td>(0.560)</td>
483 + <td>(0.560)</td>
484 + </tr>
485 + <tr>
486 + <th>family_comfort_index</th>
487 + <td></td>
488 + <td>-0.257</td>
489 + <td>0.014</td>
490 + <td>0.368</td>
491 + <td>0.313</td>
492 + <td>0.308</td>
493 + <td>0.300</td>
494 + <td>0.921</td>
495 + <td>0.921</td>
496 + </tr>
497 + <tr>
498 + <th></th>
499 + <td></td>
500 + <td>(0.490)</td>
501 + <td>(0.480)</td>
502 + <td>(0.489)</td>
503 + <td>(0.483)</td>
504 + <td>(0.483)</td>
505 + <td>(0.478)</td>
506 + <td>(0.588)</td>
507 + <td>(0.588)</td>
508 + </tr>
509 + <tr>
510 + <th>leisure_index</th>
511 + <td></td>
512 + <td>-0.132</td>
513 + <td>-0.035</td>
514 + <td>0.236</td>
515 + <td>0.265</td>
516 + <td>0.264</td>
517 + <td>0.203</td>
518 + <td>0.027</td>
519 + <td>0.027</td>
520 + </tr>
521 + <tr>
522 + <th></th>
523 + <td></td>
524 + <td>(0.481)</td>
525 + <td>(0.470)</td>
526 + <td>(0.466)</td>
527 + <td>(0.464)</td>
528 + <td>(0.464)</td>
529 + <td>(0.461)</td>
530 + <td>(0.561)</td>
531 + <td>(0.561)</td>
532 + </tr>
533 + <tr>
534 + <th>remote_work_index</th>
535 + <td></td>
536 + <td>-0.263</td>
537 + <td>-0.252</td>
538 + <td>-0.394</td>
539 + <td>-0.312</td>
540 + <td>-0.308</td>
541 + <td>-0.408</td>
542 + <td>-0.090</td>
543 + <td>-0.090</td>
544 + </tr>
545 + <tr>
546 + <th></th>
547 + <td></td>
548 + <td>(0.486)</td>
549 + <td>(0.479)</td>
550 + <td>(0.485)</td>
551 + <td>(0.484)</td>
552 + <td>(0.484)</td>
553 + <td>(0.478)</td>
554 + <td>(0.568)</td>
555 + <td>(0.568)</td>
556 + </tr>
557 + <tr>
558 + <th>pets_allowed</th>
559 + <td></td>
560 + <td>0.129</td>
561 + <td>0.069</td>
562 + <td>0.016</td>
563 + <td>0.006</td>
564 + <td>0.007</td>
565 + <td>0.029</td>
566 + <td>0.023</td>
567 + <td>0.023</td>
568 + </tr>
569 + <tr>
570 + <th></th>
571 + <td></td>
572 + <td>(0.076)</td>
573 + <td>(0.075)</td>
574 + <td>(0.076)</td>
575 + <td>(0.075)</td>
576 + <td>(0.075)</td>
577 + <td>(0.074)</td>
578 + <td>(0.093)</td>
579 + <td>(0.093)</td>
580 + </tr>
581 + <tr>
582 + <th>is_superhost</th>
583 + <td></td>
584 + <td></td>
585 + <td>-0.094*</td>
586 + <td>-0.147</td>
587 + <td>-0.152</td>
588 + <td>-0.151</td>
589 + <td>-0.114</td>
590 + <td>0.039</td>
591 + <td>0.039</td>
592 + </tr>
593 + <tr>
594 + <th></th>
595 + <td></td>
596 + <td></td>
597 + <td>(0.037)</td>
598 + <td>(0.100)</td>
599 + <td>(0.099)</td>
600 + <td>(0.099)</td>
601 + <td>(0.095)</td>
602 + <td>(0.105)</td>
603 + <td>(0.105)</td>
604 + </tr>
605 + <tr>
606 + <th>superhost_flag</th>
607 + <td></td>
608 + <td></td>
609 + <td>-0.094*</td>
610 + <td>-0.147</td>
611 + <td>-0.152</td>
612 + <td>-0.151</td>
613 + <td>-0.114</td>
614 + <td>0.039</td>
615 + <td>0.039</td>
616 + </tr>
617 + <tr>
618 + <th></th>
619 + <td></td>
620 + <td></td>
621 + <td>(0.037)</td>
622 + <td>(0.100)</td>
623 + <td>(0.099)</td>
624 + <td>(0.099)</td>
625 + <td>(0.095)</td>
626 + <td>(0.105)</td>
627 + <td>(0.105)</td>
628 + </tr>
629 + <tr>
630 + <th>host_professional_dummy</th>
631 + <td></td>
632 + <td></td>
633 + <td>-0.000</td>
634 + <td>-0.000</td>
635 + <td>0.000***</td>
636 + <td>0.000***</td>
637 + <td>0.000***</td>
638 + <td>0.000</td>
639 + <td>0.000</td>
640 + </tr>
641 + <tr>
642 + <th></th>
643 + <td></td>
644 + <td></td>
645 + <td>(0.000)</td>
646 + <td>(0.000)</td>
647 + <td>(0.000)</td>
648 + <td>(0.000)</td>
649 + <td>(0.000)</td>
650 + <td>(0.000)</td>
651 + <td>(0.000)</td>
652 + </tr>
653 + <tr>
654 + <th>multi_listing_host</th>
655 + <td></td>
656 + <td></td>
657 + <td>0.346***</td>
658 + <td>0.273***</td>
659 + <td>0.242***</td>
660 + <td>0.244***</td>
661 + <td>-0.025</td>
662 + <td>0.002</td>
663 + <td>0.002</td>
664 + </tr>
665 + <tr>
666 + <th></th>
667 + <td></td>
668 + <td></td>
669 + <td>(0.068)</td>
670 + <td>(0.070)</td>
671 + <td>(0.069)</td>
672 + <td>(0.070)</td>
673 + <td>(0.078)</td>
674 + <td>(0.078)</td>
675 + <td>(0.078)</td>
676 + </tr>
677 + <tr>
678 + <th>superhost_x_entire_home</th>
679 + <td></td>
680 + <td></td>
681 + <td>-0.177</td>
682 + <td>-0.028</td>
683 + <td>-0.037</td>
684 + <td>-0.037</td>
685 + <td>-0.017</td>
686 + <td>-0.009</td>
687 + <td>-0.009</td>
688 + </tr>
689 + <tr>
690 + <th></th>
691 + <td></td>
692 + <td></td>
693 + <td>(0.096)</td>
694 + <td>(0.102)</td>
695 + <td>(0.101)</td>
696 + <td>(0.101)</td>
697 + <td>(0.100)</td>
698 + <td>(0.121)</td>
699 + <td>(0.121)</td>
700 + </tr>
701 + <tr>
702 + <th>guest_favorite_flag</th>
703 + <td></td>
704 + <td></td>
705 + <td>-0.194***</td>
706 + <td>-0.204*</td>
707 + <td>-0.197*</td>
708 + <td>-0.197*</td>
709 + <td>-0.142</td>
710 + <td>-0.012</td>
711 + <td>-0.012</td>
712 + </tr>
713 + <tr>
714 + <th></th>
715 + <td></td>
716 + <td></td>
717 + <td>(0.026)</td>
718 + <td>(0.098)</td>
719 + <td>(0.097)</td>
720 + <td>(0.097)</td>
721 + <td>(0.093)</td>
722 + <td>(0.102)</td>
723 + <td>(0.102)</td>
724 + </tr>
725 + <tr>
726 + <th>is_guest_favorite</th>
727 + <td></td>
728 + <td></td>
729 + <td>-0.194***</td>
730 + <td>-0.204*</td>
731 + <td>-0.197*</td>
732 + <td>-0.197*</td>
733 + <td>-0.142</td>
734 + <td>-0.012</td>
735 + <td>-0.012</td>
736 + </tr>
737 + <tr>
738 + <th></th>
739 + <td></td>
740 + <td></td>
741 + <td>(0.026)</td>
742 + <td>(0.098)</td>
743 + <td>(0.097)</td>
744 + <td>(0.097)</td>
745 + <td>(0.093)</td>
746 + <td>(0.102)</td>
747 + <td>(0.102)</td>
748 + </tr>
749 + <tr>
750 + <th>rating</th>
751 + <td></td>
752 + <td></td>
753 + <td></td>
754 + <td>0.591</td>
755 + <td>0.616</td>
756 + <td>0.618</td>
757 + <td>0.605</td>
758 + <td>1.052*</td>
759 + <td>1.052*</td>
760 + </tr>
761 + <tr>
762 + <th></th>
763 + <td></td>
764 + <td></td>
765 + <td></td>
766 + <td>(0.526)</td>
767 + <td>(0.520)</td>
768 + <td>(0.521)</td>
769 + <td>(0.515)</td>
770 + <td>(0.494)</td>
771 + <td>(0.494)</td>
772 + </tr>
773 + <tr>
774 + <th>num_reviews</th>
775 + <td></td>
776 + <td></td>
777 + <td></td>
778 + <td>0.002</td>
779 + <td>0.002</td>
780 + <td>0.002</td>
781 + <td>0.002</td>
782 + <td>0.003**</td>
783 + <td>0.003**</td>
784 + </tr>
785 + <tr>
786 + <th></th>
787 + <td></td>
788 + <td></td>
789 + <td></td>
790 + <td>(0.001)</td>
791 + <td>(0.001)</td>
792 + <td>(0.001)</td>
793 + <td>(0.001)</td>
794 + <td>(0.001)</td>
795 + <td>(0.001)</td>
796 + </tr>
797 + <tr>
798 + <th>log_reviews</th>
799 + <td></td>
800 + <td></td>
801 + <td></td>
802 + <td>-0.518***</td>
803 + <td>-0.521***</td>
804 + <td>-0.521***</td>
805 + <td>-0.452***</td>
806 + <td>-0.400***</td>
807 + <td>-0.400***</td>
808 + </tr>
809 + <tr>
810 + <th></th>
811 + <td></td>
812 + <td></td>
813 + <td></td>
814 + <td>(0.055)</td>
815 + <td>(0.055)</td>
816 + <td>(0.055)</td>
817 + <td>(0.056)</td>
818 + <td>(0.066)</td>
819 + <td>(0.066)</td>
820 + </tr>
821 + <tr>
822 + <th>review_quality</th>
823 + <td></td>
824 + <td></td>
825 + <td></td>
826 + <td>-0.169</td>
827 + <td>-0.171</td>
828 + <td>-0.172</td>
829 + <td>-0.177</td>
830 + <td>-0.165</td>
831 + <td>-0.165</td>
832 + </tr>
833 + <tr>
834 + <th></th>
835 + <td></td>
836 + <td></td>
837 + <td></td>
838 + <td>(0.135)</td>
839 + <td>(0.134)</td>
840 + <td>(0.134)</td>
841 + <td>(0.136)</td>
842 + <td>(0.135)</td>
843 + <td>(0.135)</td>
844 + </tr>
845 + <tr>
846 + <th>reputation_score</th>
847 + <td></td>
848 + <td></td>
849 + <td></td>
850 + <td>0.041</td>
851 + <td>0.044</td>
852 + <td>0.044</td>
853 + <td>0.046</td>
854 + <td>0.103</td>
855 + <td>0.103</td>
856 + </tr>
857 + <tr>
858 + <th></th>
859 + <td></td>
860 + <td></td>
861 + <td></td>
862 + <td>(0.064)</td>
863 + <td>(0.063)</td>
864 + <td>(0.064)</td>
865 + <td>(0.063)</td>
866 + <td>(0.061)</td>
867 + <td>(0.061)</td>
868 + </tr>
869 + <tr>
870 + <th>cleanliness_premium</th>
871 + <td></td>
872 + <td></td>
873 + <td></td>
874 + <td>0.267**</td>
875 + <td>0.268**</td>
876 + <td>0.268**</td>
877 + <td>0.283**</td>
878 + <td>0.207</td>
879 + <td>0.207</td>
880 + </tr>
881 + <tr>
882 + <th></th>
883 + <td></td>
884 + <td></td>
885 + <td></td>
886 + <td>(0.098)</td>
887 + <td>(0.097)</td>
888 + <td>(0.098)</td>
889 + <td>(0.097)</td>
890 + <td>(0.110)</td>
891 + <td>(0.110)</td>
892 + </tr>
893 + <tr>
894 + <th>location_rating_premium</th>
895 + <td></td>
896 + <td></td>
897 + <td></td>
898 + <td>-0.047</td>
899 + <td>-0.045</td>
900 + <td>-0.044</td>
901 + <td>-0.148</td>
902 + <td>-0.146</td>
903 + <td>-0.146</td>
904 + </tr>
905 + <tr>
906 + <th></th>
907 + <td></td>
908 + <td></td>
909 + <td></td>
910 + <td>(0.099)</td>
911 + <td>(0.098)</td>
912 + <td>(0.099)</td>
913 + <td>(0.098)</td>
914 + <td>(0.116)</td>
915 + <td>(0.116)</td>
916 + </tr>
917 + <tr>
918 + <th>has_reviews</th>
919 + <td></td>
920 + <td></td>
921 + <td></td>
922 + <td>4.556**</td>
923 + <td>11.999***</td>
924 + <td>12.118***</td>
925 + <td>10.831***</td>
926 + <td>9.511*</td>
927 + <td>9.511*</td>
928 + </tr>
929 + <tr>
930 + <th></th>
931 + <td></td>
932 + <td></td>
933 + <td></td>
934 + <td>(1.619)</td>
935 + <td>(2.929)</td>
936 + <td>(2.961)</td>
937 + <td>(3.085)</td>
938 + <td>(3.738)</td>
939 + <td>(3.738)</td>
940 + </tr>
941 + <tr>
942 + <th>quality_score</th>
943 + <td></td>
944 + <td></td>
945 + <td></td>
946 + <td>0.010</td>
947 + <td>0.010</td>
948 + <td>0.010</td>
949 + <td>0.004</td>
950 + <td>-0.017</td>
951 + <td>-0.017</td>
952 + </tr>
953 + <tr>
954 + <th></th>
955 + <td></td>
956 + <td></td>
957 + <td></td>
958 + <td>(0.018)</td>
959 + <td>(0.018)</td>
960 + <td>(0.018)</td>
961 + <td>(0.017)</td>
962 + <td>(0.018)</td>
963 + <td>(0.018)</td>
964 + </tr>
965 + <tr>
966 + <th>distance_to_center</th>
967 + <td></td>
968 + <td></td>
969 + <td></td>
970 + <td></td>
971 + <td>-0.000</td>
972 + <td>-0.000</td>
973 + <td>-0.000</td>
974 + <td>-0.000</td>
975 + <td>-0.000</td>
976 + </tr>
977 + <tr>
978 + <th></th>
979 + <td></td>
980 + <td></td>
981 + <td></td>
982 + <td></td>
983 + <td>(0.000)</td>
984 + <td>(0.000)</td>
985 + <td>(0.000)</td>
986 + <td>(0.000)</td>
987 + <td>(0.000)</td>
988 + </tr>
989 + <tr>
990 + <th>lat</th>
991 + <td></td>
992 + <td></td>
993 + <td></td>
994 + <td></td>
995 + <td>-0.153***</td>
996 + <td>-0.155***</td>
997 + <td>-0.095**</td>
998 + <td>-0.090*</td>
999 + <td>-0.090*</td>
1000 + </tr>
1001 + <tr>
1002 + <th></th>
1003 + <td></td>
1004 + <td></td>
1005 + <td></td>
1006 + <td></td>
1007 + <td>(0.035)</td>
1008 + <td>(0.035)</td>
1009 + <td>(0.037)</td>
1010 + <td>(0.045)</td>
1011 + <td>(0.045)</td>
1012 + </tr>
1013 + <tr>
1014 + <th>long</th>
1015 + <td></td>
1016 + <td></td>
1017 + <td></td>
1018 + <td></td>
1019 + <td>0.008</td>
1020 + <td>0.008</td>
1021 + <td>0.009</td>
1022 + <td>0.004</td>
1023 + <td>0.004</td>
1024 + </tr>
1025 + <tr>
1026 + <th></th>
1027 + <td></td>
1028 + <td></td>
1029 + <td></td>
1030 + <td></td>
1031 + <td>(0.016)</td>
1032 + <td>(0.016)</td>
1033 + <td>(0.016)</td>
1034 + <td>(0.019)</td>
1035 + <td>(0.019)</td>
1036 + </tr>
1037 + <tr>
1038 + <th>spatial_cluster</th>
1039 + <td></td>
1040 + <td></td>
1041 + <td></td>
1042 + <td></td>
1043 + <td></td>
1044 + <td>-0.001</td>
1045 + <td>-0.014***</td>
1046 + <td>-0.013**</td>
1047 + <td>-0.013**</td>
1048 + </tr>
1049 + <tr>
1050 + <th></th>
1051 + <td></td>
1052 + <td></td>
1053 + <td></td>
1054 + <td></td>
1055 + <td></td>
1056 + <td>(0.004)</td>
1057 + <td>(0.004)</td>
1058 + <td>(0.005)</td>
1059 + <td>(0.005)</td>
1060 + </tr>
1061 + <tr>
1062 + <th>title_length</th>
1063 + <td></td>
1064 + <td></td>
1065 + <td></td>
1066 + <td></td>
1067 + <td></td>
1068 + <td></td>
1069 + <td>0.010*</td>
1070 + <td>0.007</td>
1071 + <td>0.007</td>
1072 + </tr>
1073 + <tr>
1074 + <th></th>
1075 + <td></td>
1076 + <td></td>
1077 + <td></td>
1078 + <td></td>
1079 + <td></td>
1080 + <td></td>
1081 + <td>(0.004)</td>
1082 + <td>(0.006)</td>
1083 + <td>(0.006)</td>
1084 + </tr>
1085 + <tr>
1086 + <th>title_word_count</th>
1087 + <td></td>
1088 + <td></td>
1089 + <td></td>
1090 + <td></td>
1091 + <td></td>
1092 + <td></td>
1093 + <td>-0.094*</td>
1094 + <td>-0.058</td>
1095 + <td>-0.058</td>
1096 + </tr>
1097 + <tr>
1098 + <th></th>
1099 + <td></td>
1100 + <td></td>
1101 + <td></td>
1102 + <td></td>
1103 + <td></td>
1104 + <td></td>
1105 + <td>(0.042)</td>
1106 + <td>(0.053)</td>
1107 + <td>(0.053)</td>
1108 + </tr>
1109 + <tr>
1110 + <th>luxury_language_score</th>
1111 + <td></td>
1112 + <td></td>
1113 + <td></td>
1114 + <td></td>
1115 + <td></td>
1116 + <td></td>
1117 + <td>-0.239</td>
1118 + <td>0.218</td>
1119 + <td>0.218</td>
1120 + </tr>
1121 + <tr>
1122 + <th></th>
1123 + <td></td>
1124 + <td></td>
1125 + <td></td>
1126 + <td></td>
1127 + <td></td>
1128 + <td></td>
1129 + <td>(0.351)</td>
1130 + <td>(196.632)</td>
1131 + <td>(196.632)</td>
1132 + </tr>
1133 + <tr>
1134 + <th>cozy_language_score</th>
1135 + <td></td>
1136 + <td></td>
1137 + <td></td>
1138 + <td></td>
1139 + <td></td>
1140 + <td></td>
1141 + <td>0.000</td>
1142 + <td>0.000</td>
1143 + <td>0.000</td>
1144 + </tr>
1145 + <tr>
1146 + <th></th>
1147 + <td></td>
1148 + <td></td>
1149 + <td></td>
1150 + <td></td>
1151 + <td></td>
1152 + <td></td>
1153 + <td>(0.000)</td>
1154 + <td>(0.000)</td>
1155 + <td>(0.000)</td>
1156 + </tr>
1157 + <tr>
1158 + <th>professional_tone_score</th>
1159 + <td></td>
1160 + <td></td>
1161 + <td></td>
1162 + <td></td>
1163 + <td></td>
1164 + <td></td>
1165 + <td>-0.173</td>
1166 + <td>-0.623</td>
1167 + <td>-0.623</td>
1168 + </tr>
1169 + <tr>
1170 + <th></th>
1171 + <td></td>
1172 + <td></td>
1173 + <td></td>
1174 + <td></td>
1175 + <td></td>
1176 + <td></td>
1177 + <td>(0.414)</td>
1178 + <td>(19.507)</td>
1179 + <td>(19.507)</td>
1180 + </tr>
1181 + <tr>
1182 + <th>tourism_language_score</th>
1183 + <td></td>
1184 + <td></td>
1185 + <td></td>
1186 + <td></td>
1187 + <td></td>
1188 + <td></td>
1189 + <td>-0.112</td>
1190 + <td>-0.209</td>
1191 + <td>-0.209</td>
1192 + </tr>
1193 + <tr>
1194 + <th></th>
1195 + <td></td>
1196 + <td></td>
1197 + <td></td>
1198 + <td></td>
1199 + <td></td>
1200 + <td></td>
1201 + <td>(0.099)</td>
1202 + <td>(0.115)</td>
1203 + <td>(0.115)</td>
1204 + </tr>
1205 + <tr>
1206 + <th>text_embed_0</th>
1207 + <td></td>
1208 + <td></td>
1209 + <td></td>
1210 + <td></td>
1211 + <td></td>
1212 + <td></td>
1213 + <td>3.000***</td>
1214 + <td>2.800***</td>
1215 + <td>2.800***</td>
1216 + </tr>
1217 + <tr>
1218 + <th></th>
1219 + <td></td>
1220 + <td></td>
1221 + <td></td>
1222 + <td></td>
1223 + <td></td>
1224 + <td></td>
1225 + <td>(0.353)</td>
1226 + <td>(0.430)</td>
1227 + <td>(0.430)</td>
1228 + </tr>
1229 + <tr>
1230 + <th>text_embed_1</th>
1231 + <td></td>
1232 + <td></td>
1233 + <td></td>
1234 + <td></td>
1235 + <td></td>
1236 + <td></td>
1237 + <td>0.247</td>
1238 + <td>0.479</td>
1239 + <td>0.479</td>
1240 + </tr>
1241 + <tr>
1242 + <th></th>
1243 + <td></td>
1244 + <td></td>
1245 + <td></td>
1246 + <td></td>
1247 + <td></td>
1248 + <td></td>
1249 + <td>(0.366)</td>
1250 + <td>(0.442)</td>
1251 + <td>(0.442)</td>
1252 + </tr>
1253 + <tr>
1254 + <th>text_embed_2</th>
1255 + <td></td>
1256 + <td></td>
1257 + <td></td>
1258 + <td></td>
1259 + <td></td>
1260 + <td></td>
1261 + <td>-0.400</td>
1262 + <td>-0.085</td>
1263 + <td>-0.085</td>
1264 + </tr>
1265 + <tr>
1266 + <th></th>
1267 + <td></td>
1268 + <td></td>
1269 + <td></td>
1270 + <td></td>
1271 + <td></td>
1272 + <td></td>
1273 + <td>(0.395)</td>
1274 + <td>(0.460)</td>
1275 + <td>(0.460)</td>
1276 + </tr>
1277 + <tr>
1278 + <th>text_embed_3</th>
1279 + <td></td>
1280 + <td></td>
1281 + <td></td>
1282 + <td></td>
1283 + <td></td>
1284 + <td></td>
1285 + <td>-0.035</td>
1286 + <td>-0.055</td>
1287 + <td>-0.055</td>
1288 + </tr>
1289 + <tr>
1290 + <th></th>
1291 + <td></td>
1292 + <td></td>
1293 + <td></td>
1294 + <td></td>
1295 + <td></td>
1296 + <td></td>
1297 + <td>(0.218)</td>
1298 + <td>(0.244)</td>
1299 + <td>(0.244)</td>
1300 + </tr>
1301 + <tr>
1302 + <th>local_density_500m</th>
1303 + <td></td>
1304 + <td></td>
1305 + <td></td>
1306 + <td></td>
1307 + <td></td>
1308 + <td></td>
1309 + <td></td>
1310 + <td>-0.008**</td>
1311 + <td>-0.008**</td>
1312 + </tr>
1313 + <tr>
1314 + <th></th>
1315 + <td></td>
1316 + <td></td>
1317 + <td></td>
1318 + <td></td>
1319 + <td></td>
1320 + <td></td>
1321 + <td></td>
1322 + <td>(0.003)</td>
1323 + <td>(0.003)</td>
1324 + </tr>
1325 + <tr>
1326 + <th>local_density_1km</th>
1327 + <td></td>
1328 + <td></td>
1329 + <td></td>
1330 + <td></td>
1331 + <td></td>
1332 + <td></td>
1333 + <td></td>
1334 + <td>0.003**</td>
1335 + <td>0.003**</td>
1336 + </tr>
1337 + <tr>
1338 + <th></th>
1339 + <td></td>
1340 + <td></td>
1341 + <td></td>
1342 + <td></td>
1343 + <td></td>
1344 + <td></td>
1345 + <td></td>
1346 + <td>(0.001)</td>
1347 + <td>(0.001)</td>
1348 + </tr>
1349 + <tr>
1350 + <th>local_avg_price_500m</th>
1351 + <td></td>
1352 + <td></td>
1353 + <td></td>
1354 + <td></td>
1355 + <td></td>
1356 + <td></td>
1357 + <td></td>
1358 + <td>0.000***</td>
1359 + <td>0.000***</td>
1360 + </tr>
1361 + <tr>
1362 + <th></th>
1363 + <td></td>
1364 + <td></td>
1365 + <td></td>
1366 + <td></td>
1367 + <td></td>
1368 + <td></td>
1369 + <td></td>
1370 + <td>(0.000)</td>
1371 + <td>(0.000)</td>
1372 + </tr>
1373 + <tr>
1374 + <th>local_avg_price_1km</th>
1375 + <td></td>
1376 + <td></td>
1377 + <td></td>
1378 + <td></td>
1379 + <td></td>
1380 + <td></td>
1381 + <td></td>
1382 + <td>-0.000</td>
1383 + <td>-0.000</td>
1384 + </tr>
1385 + <tr>
1386 + <th></th>
1387 + <td></td>
1388 + <td></td>
1389 + <td></td>
1390 + <td></td>
1391 + <td></td>
1392 + <td></td>
1393 + <td></td>
1394 + <td>(0.000)</td>
1395 + <td>(0.000)</td>
1396 + </tr>
1397 + <tr>
1398 + <th>N</th>
1399 + <td>3412</td>
1400 + <td>3412</td>
1401 + <td>3412</td>
1402 + <td>2861</td>
1403 + <td>2857</td>
1404 + <td>2857</td>
1405 + <td>2857</td>
1406 + <td>1906</td>
1407 + <td>1906</td>
1408 + </tr>
1409 + <tr>
1410 + <th>R2</th>
1411 + <td>0.0516</td>
1412 + <td>0.0575</td>
1413 + <td>0.0985</td>
1414 + <td>0.1871</td>
1415 + <td>0.1979</td>
1416 + <td>0.1980</td>
1417 + <td>0.2249</td>
1418 + <td>0.2735</td>
1419 + <td>0.2735</td>
1420 + </tr>
1421 + <tr>
1422 + <th>Adj_R2</th>
1423 + <td>0.0477</td>
1424 + <td>0.0516</td>
1425 + <td>0.0918</td>
1426 + <td>0.1779</td>
1427 + <td>0.1880</td>
1428 + <td>0.1877</td>
1429 + <td>0.2125</td>
1430 + <td>0.2544</td>
1431 + <td>0.2544</td>
1432 + </tr>
1433 + <tr>
1434 + <th>AIC</th>
1435 + <td>11911.4</td>
1436 + <td>11904.2</td>
1437 + <td>11760.5</td>
1438 + <td>9381.7</td>
1439 + <td>9336.4</td>
1440 + <td>9338.3</td>
1441 + <td>9258.6</td>
1442 + <td>6103.0</td>
1443 + <td>6103.0</td>
1444 + </tr>
1445 + <tr>
1446 + <th>BIC</th>
1447 + <td>12003.4</td>
1448 + <td>12039.2</td>
1449 + <td>11920.0</td>
1450 + <td>9578.3</td>
1451 + <td>9550.9</td>
1452 + <td>9558.8</td>
1453 + <td>9532.6</td>
1454 + <td>6380.6</td>
1455 + <td>6380.6</td>
1456 + </tr>
1457 + </tbody>
1458 +</table>
\ No newline at end of file
added results/tables/table_04_hedonic_regressions.tex +132 −0
@@ -0,0 +1,132 @@
1 +\begin{table}[htbp]
2 +\centering
3 +\caption{Hedonic Regression Results}
4 +\label{tab:hedonic}
5 +\begin{tabular}{lccccccccc}
6 +\toprule
7 +Variable & Model 1 - Structural & Model 2 - + Amenities & Model 3 - + Host & Model 4 - + Reviews & Model 5 - + Location & Model 6 - + Neighbourhood & Model 7 - + NLP & Model 8 - + Spatial & Model 9 - Full Hedonic \\
8 +\midrule
9 +const & 6.502*** & 6.696*** & 6.766*** & & & & & & \\
10 + & (0.579) & (0.591) & (0.561) & & & & & & \\
11 +bedrooms & 0.918** & 0.904** & 0.904*** & 0.795** & 0.789** & 0.789** & 0.771** & 1.141*** & 1.141*** \\
12 + & (0.281) & (0.288) & (0.265) & (0.257) & (0.264) & (0.264) & (0.265) & (0.311) & (0.311) \\
13 +bathrooms & -0.016 & -0.032 & -0.020 & -0.105 & -0.112 & -0.115 & -0.003 & -0.164 & -0.164 \\
14 + & (0.211) & (0.216) & (0.201) & (0.180) & (0.183) & (0.183) & (0.193) & (0.226) & (0.226) \\
15 +guests_count & 0.096 & 0.115 & 0.219 & 0.012 & -0.023 & -0.024 & 0.034 & 0.187 & 0.187 \\
16 + & (0.203) & (0.204) & (0.198) & (0.195) & (0.197) & (0.197) & (0.205) & (0.252) & (0.252) \\
17 +is_entire_home & 0.065 & 0.061 & 0.163 & 0.096 & 0.101 & 0.101 & 0.023 & 0.055 & 0.055 \\
18 + & (0.075) & (0.075) & (0.097) & (0.101) & (0.101) & (0.101) & (0.106) & (0.135) & (0.135) \\
19 +is_private_room & 0.361*** & 0.340*** & 0.220** & 0.355*** & 0.289*** & 0.291*** & -0.375*** & -0.263 & -0.263 \\
20 + & (0.079) & (0.079) & (0.080) & (0.078) & (0.079) & (0.080) & (0.113) & (0.135) & (0.135) \\
21 +log_accommodates & -0.997 & -1.060 & -1.327 & -0.522 & -0.312 & -0.313 & -0.657 & -1.094 & -1.094 \\
22 + & (0.824) & (0.829) & (0.797) & (0.768) & (0.778) & (0.779) & (0.847) & (1.135) & (1.135) \\
23 +log_bedrooms & -1.429* & -1.373* & -1.433* & -1.272* & -1.283* & -1.281* & -1.299* & -2.053** & -2.053** \\
24 + & (0.686) & (0.691) & (0.654) & (0.613) & (0.627) & (0.628) & (0.657) & (0.774) & (0.774) \\
25 +log_bathrooms & 0.497 & 0.613 & 0.622 & 0.737 & 0.702 & 0.706 & 0.523 & 0.645 & 0.645 \\
26 + & (0.426) & (0.433) & (0.414) & (0.404) & (0.410) & (0.410) & (0.426) & (0.541) & (0.541) \\
27 +bathrooms_per_guest & -0.136 & -0.201 & -0.244 & -0.401 & -0.364 & -0.366 & -0.445* & -0.441 & -0.441 \\
28 + & (0.201) & (0.204) & (0.195) & (0.224) & (0.229) & (0.229) & (0.225) & (0.335) & (0.335) \\
29 +bedrooms_per_guest & 0.008 & 0.011 & -0.015 & -0.096 & -0.091 & -0.090 & -0.117 & 0.018 & 0.018 \\
30 + & (0.432) & (0.436) & (0.401) & (0.346) & (0.360) & (0.362) & (0.361) & (0.529) & (0.529) \\
31 +large_capacity_listing & 0.035 & 0.033 & -0.028 & 0.040 & 0.032 & 0.033 & 0.050 & -0.125 & -0.125 \\
32 + & (0.115) & (0.116) & (0.114) & (0.115) & (0.114) & (0.114) & (0.113) & (0.148) & (0.148) \\
33 +accommodates_sq & -0.002 & -0.003 & -0.007 & -0.001 & 0.000 & 0.000 & -0.001 & -0.005 & -0.005 \\
34 + & (0.006) & (0.006) & (0.006) & (0.006) & (0.006) & (0.006) & (0.006) & (0.008) & (0.008) \\
35 +bedrooms_sq & -0.048* & -0.048* & -0.047** & -0.040* & -0.039* & -0.039* & -0.036* & -0.063** & -0.063** \\
36 + & (0.020) & (0.021) & (0.018) & (0.017) & (0.018) & (0.018) & (0.017) & (0.020) & (0.020) \\
37 +bathrooms_sq & 0.014 & 0.015 & 0.014 & 0.014 & 0.014 & 0.014 & 0.008 & 0.028* & 0.028* \\
38 + & (0.015) & (0.016) & (0.014) & (0.012) & (0.013) & (0.013) & (0.013) & (0.013) & (0.013) \\
39 +amenities_count & & 0.005 & 0.009 & 0.003 & 0.003 & 0.003 & 0.006 & 0.003 & 0.003 \\
40 + & & (0.010) & (0.010) & (0.010) & (0.010) & (0.010) & (0.010) & (0.013) & (0.013) \\
41 +amenity_richness_index & & -0.189*** & -0.191*** & -0.129** & -0.340*** & -0.343*** & -0.306*** & -0.269* & -0.269* \\
42 + & & (0.017) & (0.016) & (0.046) & (0.083) & (0.084) & (0.087) & (0.106) & (0.106) \\
43 +luxury_index & & 0.437 & 0.342 & 0.507 & 0.473 & 0.478 & 0.380 & 0.445 & 0.445 \\
44 + & & (0.474) & (0.468) & (0.461) & (0.458) & (0.458) & (0.452) & (0.571) & (0.571) \\
45 +business_travel_index & & -0.761 & -0.824 & -0.836 & -0.799 & -0.804 & -0.801 & -1.156* & -1.156* \\
46 + & & (0.463) & (0.451) & (0.465) & (0.462) & (0.462) & (0.456) & (0.560) & (0.560) \\
47 +family_comfort_index & & -0.257 & 0.014 & 0.368 & 0.313 & 0.308 & 0.300 & 0.921 & 0.921 \\
48 + & & (0.490) & (0.480) & (0.489) & (0.483) & (0.483) & (0.478) & (0.588) & (0.588) \\
49 +leisure_index & & -0.132 & -0.035 & 0.236 & 0.265 & 0.264 & 0.203 & 0.027 & 0.027 \\
50 + & & (0.481) & (0.470) & (0.466) & (0.464) & (0.464) & (0.461) & (0.561) & (0.561) \\
51 +remote_work_index & & -0.263 & -0.252 & -0.394 & -0.312 & -0.308 & -0.408 & -0.090 & -0.090 \\
52 + & & (0.486) & (0.479) & (0.485) & (0.484) & (0.484) & (0.478) & (0.568) & (0.568) \\
53 +pets_allowed & & 0.129 & 0.069 & 0.016 & 0.006 & 0.007 & 0.029 & 0.023 & 0.023 \\
54 + & & (0.076) & (0.075) & (0.076) & (0.075) & (0.075) & (0.074) & (0.093) & (0.093) \\
55 +is_superhost & & & -0.094* & -0.147 & -0.152 & -0.151 & -0.114 & 0.039 & 0.039 \\
56 + & & & (0.037) & (0.100) & (0.099) & (0.099) & (0.095) & (0.105) & (0.105) \\
57 +superhost_flag & & & -0.094* & -0.147 & -0.152 & -0.151 & -0.114 & 0.039 & 0.039 \\
58 + & & & (0.037) & (0.100) & (0.099) & (0.099) & (0.095) & (0.105) & (0.105) \\
59 +host_professional_dummy & & & -0.000 & -0.000 & 0.000*** & 0.000*** & 0.000*** & 0.000 & 0.000 \\
60 + & & & (0.000) & (0.000) & (0.000) & (0.000) & (0.000) & (0.000) & (0.000) \\
61 +multi_listing_host & & & 0.346*** & 0.273*** & 0.242*** & 0.244*** & -0.025 & 0.002 & 0.002 \\
62 + & & & (0.068) & (0.070) & (0.069) & (0.070) & (0.078) & (0.078) & (0.078) \\
63 +superhost_x_entire_home & & & -0.177 & -0.028 & -0.037 & -0.037 & -0.017 & -0.009 & -0.009 \\
64 + & & & (0.096) & (0.102) & (0.101) & (0.101) & (0.100) & (0.121) & (0.121) \\
65 +guest_favorite_flag & & & -0.194*** & -0.204* & -0.197* & -0.197* & -0.142 & -0.012 & -0.012 \\
66 + & & & (0.026) & (0.098) & (0.097) & (0.097) & (0.093) & (0.102) & (0.102) \\
67 +is_guest_favorite & & & -0.194*** & -0.204* & -0.197* & -0.197* & -0.142 & -0.012 & -0.012 \\
68 + & & & (0.026) & (0.098) & (0.097) & (0.097) & (0.093) & (0.102) & (0.102) \\
69 +rating & & & & 0.591 & 0.616 & 0.618 & 0.605 & 1.052* & 1.052* \\
70 + & & & & (0.526) & (0.520) & (0.521) & (0.515) & (0.494) & (0.494) \\
71 +num_reviews & & & & 0.002 & 0.002 & 0.002 & 0.002 & 0.003** & 0.003** \\
72 + & & & & (0.001) & (0.001) & (0.001) & (0.001) & (0.001) & (0.001) \\
73 +log_reviews & & & & -0.518*** & -0.521*** & -0.521*** & -0.452*** & -0.400*** & -0.400*** \\
74 + & & & & (0.055) & (0.055) & (0.055) & (0.056) & (0.066) & (0.066) \\
75 +review_quality & & & & -0.169 & -0.171 & -0.172 & -0.177 & -0.165 & -0.165 \\
76 + & & & & (0.135) & (0.134) & (0.134) & (0.136) & (0.135) & (0.135) \\
77 +reputation_score & & & & 0.041 & 0.044 & 0.044 & 0.046 & 0.103 & 0.103 \\
78 + & & & & (0.064) & (0.063) & (0.064) & (0.063) & (0.061) & (0.061) \\
79 +cleanliness_premium & & & & 0.267** & 0.268** & 0.268** & 0.283** & 0.207 & 0.207 \\
80 + & & & & (0.098) & (0.097) & (0.098) & (0.097) & (0.110) & (0.110) \\
81 +location_rating_premium & & & & -0.047 & -0.045 & -0.044 & -0.148 & -0.146 & -0.146 \\
82 + & & & & (0.099) & (0.098) & (0.099) & (0.098) & (0.116) & (0.116) \\
83 +has_reviews & & & & 4.556** & 11.999*** & 12.118*** & 10.831*** & 9.511* & 9.511* \\
84 + & & & & (1.619) & (2.929) & (2.961) & (3.085) & (3.738) & (3.738) \\
85 +quality_score & & & & 0.010 & 0.010 & 0.010 & 0.004 & -0.017 & -0.017 \\
86 + & & & & (0.018) & (0.018) & (0.018) & (0.017) & (0.018) & (0.018) \\
87 +distance_to_center & & & & & -0.000 & -0.000 & -0.000 & -0.000 & -0.000 \\
88 + & & & & & (0.000) & (0.000) & (0.000) & (0.000) & (0.000) \\
89 +lat & & & & & -0.153*** & -0.155*** & -0.095** & -0.090* & -0.090* \\
90 + & & & & & (0.035) & (0.035) & (0.037) & (0.045) & (0.045) \\
91 +long & & & & & 0.008 & 0.008 & 0.009 & 0.004 & 0.004 \\
92 + & & & & & (0.016) & (0.016) & (0.016) & (0.019) & (0.019) \\
93 +spatial_cluster & & & & & & -0.001 & -0.014*** & -0.013** & -0.013** \\
94 + & & & & & & (0.004) & (0.004) & (0.005) & (0.005) \\
95 +title_length & & & & & & & 0.010* & 0.007 & 0.007 \\
96 + & & & & & & & (0.004) & (0.006) & (0.006) \\
97 +title_word_count & & & & & & & -0.094* & -0.058 & -0.058 \\
98 + & & & & & & & (0.042) & (0.053) & (0.053) \\
99 +luxury_language_score & & & & & & & -0.239 & 0.218 & 0.218 \\
100 + & & & & & & & (0.351) & (196.632) & (196.632) \\
101 +cozy_language_score & & & & & & & 0.000 & 0.000 & 0.000 \\
102 + & & & & & & & (0.000) & (0.000) & (0.000) \\
103 +professional_tone_score & & & & & & & -0.173 & -0.623 & -0.623 \\
104 + & & & & & & & (0.414) & (19.507) & (19.507) \\
105 +tourism_language_score & & & & & & & -0.112 & -0.209 & -0.209 \\
106 + & & & & & & & (0.099) & (0.115) & (0.115) \\
107 +text_embed_0 & & & & & & & 3.000*** & 2.800*** & 2.800*** \\
108 + & & & & & & & (0.353) & (0.430) & (0.430) \\
109 +text_embed_1 & & & & & & & 0.247 & 0.479 & 0.479 \\
110 + & & & & & & & (0.366) & (0.442) & (0.442) \\
111 +text_embed_2 & & & & & & & -0.400 & -0.085 & -0.085 \\
112 + & & & & & & & (0.395) & (0.460) & (0.460) \\
113 +text_embed_3 & & & & & & & -0.035 & -0.055 & -0.055 \\
114 + & & & & & & & (0.218) & (0.244) & (0.244) \\
115 +local_density_500m & & & & & & & & -0.008** & -0.008** \\
116 + & & & & & & & & (0.003) & (0.003) \\
117 +local_density_1km & & & & & & & & 0.003** & 0.003** \\
118 + & & & & & & & & (0.001) & (0.001) \\
119 +local_avg_price_500m & & & & & & & & 0.000*** & 0.000*** \\
120 + & & & & & & & & (0.000) & (0.000) \\
121 +local_avg_price_1km & & & & & & & & -0.000 & -0.000 \\
122 + & & & & & & & & (0.000) & (0.000) \\
123 +N & 3412 & 3412 & 3412 & 2861 & 2857 & 2857 & 2857 & 1906 & 1906 \\
124 +R2 & 0.0516 & 0.0575 & 0.0985 & 0.1871 & 0.1979 & 0.1980 & 0.2249 & 0.2735 & 0.2735 \\
125 +Adj_R2 & 0.0477 & 0.0516 & 0.0918 & 0.1779 & 0.1880 & 0.1877 & 0.2125 & 0.2544 & 0.2544 \\
126 +AIC & 11911.4 & 11904.2 & 11760.5 & 9381.7 & 9336.4 & 9338.3 & 9258.6 & 6103.0 & 6103.0 \\
127 +BIC & 12003.4 & 12039.2 & 11920.0 & 9578.3 & 9550.9 & 9558.8 & 9532.6 & 6380.6 & 6380.6 \\
128 +\bottomrule
129 +\end{tabular}
130 +\par\smallskip\footnotesize
131 +\textit{Note:} $^{***}p<0.001$, $^{**}p<0.01$, $^{*}p<0.05$.
132 +\end{table}
\ No newline at end of file
added scripts/app.py +922 −0
@@ -0,0 +1,922 @@
1 +"""
2 +Airbnb Hedonic Pricing Lab
3 +==========================
4 +Interactive Streamlit dashboard for hedonic pricing analysis of Quebec Airbnb listings.
5 +"""
6 +
7 +import streamlit as st
8 +import pandas as pd
9 +import numpy as np
10 +import plotly.express as px
11 +import plotly.graph_objects as go
12 +import matplotlib
13 +matplotlib.use("Agg")
14 +import matplotlib.pyplot as plt
15 +import warnings
16 +import os
17 +import joblib
18 +
19 +warnings.filterwarnings("ignore")
20 +
21 +# ---------------------------------------------------------------------------
22 +# Page config
23 +# ---------------------------------------------------------------------------
24 +st.set_page_config(
25 + page_title="Airbnb Hedonic Pricing Lab",
26 + page_icon="🏠",
27 + layout="wide",
28 + initial_sidebar_state="expanded",
29 +)
30 +
31 +DATA_PATH = os.path.join(os.path.dirname(os.path.dirname(os.path.abspath(__file__))), "data", "raw", "cleaned_dataset_sample.csv")
32 +MODEL_DIR = os.path.join(os.path.dirname(os.path.dirname(os.path.abspath(__file__))), "results", "models")
33 +
34 +# ---------------------------------------------------------------------------
35 +# Custom CSS
36 +# ---------------------------------------------------------------------------
37 +st.markdown(
38 + """
39 + <style>
40 + .block-container {padding-top: 1.5rem; padding-bottom: 1rem;}
41 + h1 {color: #FF5A5F;}
42 + .stTabs [data-baseweb="tab-list"] {gap: 8px;}
43 + .stTabs [data-baseweb="tab"] {
44 + padding: 8px 20px;
45 + border-radius: 6px 6px 0 0;
46 + font-weight: 600;
47 + }
48 + .metric-card {
49 + background: #f8f9fa; border-radius: 10px; padding: 16px;
50 + text-align: center; border: 1px solid #e9ecef;
51 + }
52 + </style>
53 + """,
54 + unsafe_allow_html=True,
55 +)
56 +
57 +# ---------------------------------------------------------------------------
58 +# Data loading
59 +# ---------------------------------------------------------------------------
60 +@st.cache_data
61 +def load_data():
62 + df = pd.read_csv(DATA_PATH)
63 + # Ensure boolean columns are truly boolean
64 + for col in ["is_superhost", "is_guest_favorite", "pets_allowed"]:
65 + df[col] = df[col].astype(bool)
66 + # Log price (for regression)
67 + df["log_price"] = np.log1p(df["price_numeric"])
68 + return df
69 +
70 +
71 +raw_df = load_data()
72 +
73 +# ---------------------------------------------------------------------------
74 +# Sidebar: global filters
75 +# ---------------------------------------------------------------------------
76 +st.sidebar.title("Airbnb Hedonic Pricing Lab")
77 +st.sidebar.markdown("---")
78 +st.sidebar.header("Global Filters")
79 +
80 +all_cities = sorted(raw_df["city"].dropna().unique())
81 +top_cities = (
82 + raw_df["city"]
83 + .value_counts()
84 + .head(20)
85 + .index.tolist()
86 +)
87 +
88 +selected_cities = st.sidebar.multiselect(
89 + "Cities",
90 + options=all_cities,
91 + default=top_cities[:5],
92 + help="Leave empty to include all cities.",
93 +)
94 +
95 +all_property_types = sorted(raw_df["property_type"].dropna().unique())
96 +selected_property_types = st.sidebar.multiselect(
97 + "Property Types",
98 + options=all_property_types,
99 + default=all_property_types,
100 +)
101 +
102 +price_valid = raw_df["price_numeric"].dropna()
103 +price_min_data = float(price_valid.min())
104 +price_max_data = float(min(price_valid.max(), 10000)) # cap slider for UX
105 +price_range = st.sidebar.slider(
106 + "Price Range ($)",
107 + min_value=0.0,
108 + max_value=price_max_data,
109 + value=(0.0, price_max_data),
110 + step=10.0,
111 +)
112 +
113 +superhost_only = st.sidebar.checkbox("Superhost only", value=False)
114 +
115 +st.sidebar.markdown("---")
116 +st.sidebar.caption(
117 + f"Dataset: {len(raw_df):,} listings across {raw_df['city'].nunique()} cities in Quebec."
118 +)
119 +
120 +# ---------------------------------------------------------------------------
121 +# Apply global filters
122 +# ---------------------------------------------------------------------------
123 +def apply_global_filters(df: pd.DataFrame) -> pd.DataFrame:
124 + mask = pd.Series(True, index=df.index)
125 + if selected_cities:
126 + mask &= df["city"].isin(selected_cities)
127 + if selected_property_types:
128 + mask &= df["property_type"].isin(selected_property_types)
129 + mask &= (df["price_numeric"] >= price_range[0]) | df["price_numeric"].isna()
130 + mask &= (df["price_numeric"] <= price_range[1]) | df["price_numeric"].isna()
131 + if superhost_only:
132 + mask &= df["is_superhost"]
133 + return df.loc[mask].copy()
134 +
135 +
136 +df = apply_global_filters(raw_df)
137 +
138 +# ---------------------------------------------------------------------------
139 +# Hedonic model helpers
140 +# ---------------------------------------------------------------------------
141 +FEATURE_COLS = [
142 + "bedrooms",
143 + "bathrooms",
144 + "guests_count",
145 + "amenities_count",
146 + "num_images",
147 + "rating",
148 + "is_superhost",
149 + "is_guest_favorite",
150 + "pets_allowed",
151 +]
152 +
153 +NUMERIC_FEATURES = [
154 + "bedrooms",
155 + "bathrooms",
156 + "guests_count",
157 + "amenities_count",
158 + "num_images",
159 + "rating",
160 +]
161 +
162 +BOOL_FEATURES = ["is_superhost", "is_guest_favorite", "pets_allowed"]
163 +
164 +
165 +def _prepare_model_df(data: pd.DataFrame) -> pd.DataFrame:
166 + """Return a clean DataFrame ready for modelling (no NaN in target/features)."""
167 + mdf = data.dropna(subset=["price_numeric"]).copy()
168 + mdf = mdf[mdf["price_numeric"] > 0].copy()
169 + mdf["log_price"] = np.log(mdf["price_numeric"])
170 + for col in BOOL_FEATURES:
171 + mdf[col] = mdf[col].astype(int)
172 + # City dummies (top cities)
173 + city_counts = mdf["city"].value_counts()
174 + top = city_counts[city_counts >= 20].index.tolist()
175 + for c in top:
176 + mdf[f"city_{c}"] = (mdf["city"] == c).astype(int)
177 + # Property type dummies
178 + for pt in mdf["property_type"].unique():
179 + mdf[f"ptype_{pt}"] = (mdf["property_type"] == pt).astype(int)
180 + # Fill remaining NaN in numeric features with median
181 + for col in NUMERIC_FEATURES:
182 + mdf[col] = mdf[col].fillna(mdf[col].median())
183 + return mdf
184 +
185 +
186 +@st.cache_resource
187 +def fit_ols_model():
188 + """Fit an OLS hedonic model on the full raw dataset."""
189 + from sklearn.linear_model import LinearRegression
190 +
191 + mdf = _prepare_model_df(raw_df)
192 + feature_names = list(FEATURE_COLS)
193 + city_cols = [c for c in mdf.columns if c.startswith("city_")]
194 + ptype_cols = [c for c in mdf.columns if c.startswith("ptype_")]
195 + feature_names = FEATURE_COLS + city_cols + ptype_cols
196 + X = mdf[feature_names].values
197 + y = mdf["log_price"].values
198 + model = LinearRegression()
199 + model.fit(X, y)
200 + return model, feature_names, mdf
201 +
202 +
203 +@st.cache_resource
204 +def fit_gbm_model():
205 + """Fit a gradient-boosted model for prediction & SHAP."""
206 + try:
207 + from sklearn.ensemble import GradientBoostingRegressor
208 + except ImportError:
209 + return None, None, None
210 +
211 + mdf = _prepare_model_df(raw_df)
212 + feature_names = list(FEATURE_COLS)
213 + city_cols = sorted([c for c in mdf.columns if c.startswith("city_")])
214 + ptype_cols = sorted([c for c in mdf.columns if c.startswith("ptype_")])
215 + feature_names = FEATURE_COLS + city_cols + ptype_cols
216 + X = mdf[feature_names].values
217 + y = mdf["log_price"].values
218 + model = GradientBoostingRegressor(
219 + n_estimators=200,
220 + max_depth=5,
221 + learning_rate=0.1,
222 + subsample=0.8,
223 + random_state=42,
224 + )
225 + model.fit(X, y)
226 + return model, feature_names, mdf
227 +
228 +
229 +# ---------------------------------------------------------------------------
230 +# TABS
231 +# ---------------------------------------------------------------------------
232 +tab1, tab2, tab3, tab4, tab5, tab6, tab7 = st.tabs(
233 + [
234 + "Data Explorer",
235 + "Price Map",
236 + "Neighbourhood Comparison",
237 + "Hedonic Premiums",
238 + "Price Predictor",
239 + "SHAP Explorer",
240 + "Price Decomposition",
241 + ]
242 +)
243 +
244 +# ===================================================================
245 +# TAB 1 - Data Explorer
246 +# ===================================================================
247 +with tab1:
248 + st.header("Data Explorer")
249 +
250 + # Summary metrics
251 + col1, col2, col3, col4, col5 = st.columns(5)
252 + with col1:
253 + st.metric("Listings", f"{len(df):,}")
254 + with col2:
255 + st.metric("Cities", f"{df['city'].nunique()}")
256 + with col3:
257 + median_price = df["price_numeric"].median()
258 + st.metric("Median Price", f"${median_price:,.0f}" if pd.notna(median_price) else "N/A")
259 + with col4:
260 + avg_rating = df["rating"].mean()
261 + st.metric("Avg Rating", f"{avg_rating:.2f}" if pd.notna(avg_rating) else "N/A")
262 + with col5:
263 + superhost_pct = df["is_superhost"].mean() * 100
264 + st.metric("Superhosts", f"{superhost_pct:.1f}%")
265 +
266 + st.markdown("---")
267 +
268 + # Summary statistics table
269 + st.subheader("Summary Statistics")
270 + numeric_cols = [
271 + "price_numeric", "rating", "bedrooms", "bathrooms",
272 + "guests_count", "amenities_count", "num_images", "num_reviews", "quality_score",
273 + ]
274 + summary = df[numeric_cols].describe().T
275 + summary.columns = ["Count", "Mean", "Std", "Min", "25%", "50%", "75%", "Max"]
276 + st.dataframe(summary.style.format("{:.2f}"), use_container_width=True)
277 +
278 + st.markdown("---")
279 +
280 + # Price distribution
281 + st.subheader("Price Distribution")
282 + price_data = df["price_numeric"].dropna()
283 + if len(price_data) > 0:
284 + cap = st.slider(
285 + "Upper price cap for histogram",
286 + min_value=100,
287 + max_value=5000,
288 + value=1500,
289 + step=50,
290 + key="price_hist_cap",
291 + )
292 + fig_hist = px.histogram(
293 + price_data[price_data <= cap],
294 + nbins=60,
295 + title="Price Distribution (capped)",
296 + labels={"value": "Price ($)", "count": "Frequency"},
297 + color_discrete_sequence=["#FF5A5F"],
298 + )
299 + fig_hist.update_layout(
300 + showlegend=False,
301 + xaxis_title="Price ($)",
302 + yaxis_title="Count",
303 + template="plotly_white",
304 + )
305 + st.plotly_chart(fig_hist, use_container_width=True)
306 + else:
307 + st.info("No price data available for the current filter selection.")
308 +
309 + st.markdown("---")
310 +
311 + # Filtered data table
312 + st.subheader("Filtered Data")
313 + display_cols = [
314 + "name", "city", "property_type", "price_numeric", "rating",
315 + "bedrooms", "bathrooms", "guests_count", "amenities_count",
316 + "is_superhost", "pets_allowed",
317 + ]
318 + st.dataframe(
319 + df[display_cols].reset_index(drop=True),
320 + use_container_width=True,
321 + height=400,
322 + )
323 +
324 +# ===================================================================
325 +# TAB 2 - Price Map
326 +# ===================================================================
327 +with tab2:
328 + st.header("Price Map")
329 +
330 + map_df = df.dropna(subset=["price_numeric", "lat", "long"]).copy()
331 + map_df = map_df[(map_df["lat"] != 0) & (map_df["long"] != 0)]
332 +
333 + if len(map_df) == 0:
334 + st.warning("No geolocated listings with price data in current filter.")
335 + else:
336 + map_col1, map_col2 = st.columns([1, 3])
337 + with map_col1:
338 + color_by = st.radio(
339 + "Color by", ["price_numeric", "log_price", "rating"], index=0, key="map_color"
340 + )
341 + map_price_cap = st.slider(
342 + "Price cap for map color scale",
343 + 100, 5000, 2000, 100,
344 + key="map_cap",
345 + )
346 +
347 + map_plot = map_df.copy()
348 + if color_by == "price_numeric":
349 + map_plot["color_val"] = map_plot["price_numeric"].clip(upper=map_price_cap)
350 + elif color_by == "log_price":
351 + map_plot["color_val"] = map_plot["log_price"]
352 + else:
353 + map_plot["color_val"] = map_plot["rating"]
354 +
355 + map_plot["size_val"] = map_plot["guests_count"].clip(lower=1, upper=16)
356 +
357 + with map_col2:
358 + fig_map = px.scatter_map(
359 + map_plot,
360 + lat="lat",
361 + lon="long",
362 + color="color_val",
363 + size="size_val",
364 + color_continuous_scale="RdYlGn_r" if "price" in color_by else "Viridis",
365 + size_max=14,
366 + zoom=5,
367 + hover_name="name",
368 + hover_data={
369 + "city": True,
370 + "property_type": True,
371 + "price_numeric": ":.0f",
372 + "rating": ":.2f",
373 + "guests_count": True,
374 + "color_val": False,
375 + "size_val": False,
376 + "lat": False,
377 + "long": False,
378 + },
379 + map_style="carto-positron",
380 + title="Listings Map",
381 + height=650,
382 + )
383 + fig_map.update_layout(
384 + coloraxis_colorbar_title=color_by.replace("_", " ").title(),
385 + margin=dict(l=0, r=0, t=40, b=0),
386 + )
387 + st.plotly_chart(fig_map, use_container_width=True)
388 +
389 +# ===================================================================
390 +# TAB 3 - Neighbourhood Comparison
391 +# ===================================================================
392 +with tab3:
393 + st.header("Neighbourhood Comparison")
394 +
395 + compare_cities = st.multiselect(
396 + "Select cities to compare",
397 + options=all_cities,
398 + default=top_cities[:8],
399 + key="compare_cities",
400 + )
401 +
402 + if not compare_cities:
403 + st.info("Please select at least one city to compare.")
404 + else:
405 + cdf = raw_df[raw_df["city"].isin(compare_cities)].dropna(subset=["price_numeric"])
406 + cdf = cdf[cdf["price_numeric"] > 0]
407 +
408 + if len(cdf) == 0:
409 + st.warning("No price data for the selected cities.")
410 + else:
411 + c1, c2 = st.columns(2)
412 +
413 + with c1:
414 + st.subheader("Price Distribution by City")
415 + fig_box = px.box(
416 + cdf,
417 + x="city",
418 + y="price_numeric",
419 + color="city",
420 + title="Price Box Plot by City",
421 + labels={"price_numeric": "Price ($)", "city": "City"},
422 + color_discrete_sequence=px.colors.qualitative.Set2,
423 + )
424 + fig_box.update_layout(
425 + showlegend=False,
426 + template="plotly_white",
427 + yaxis=dict(range=[0, cdf["price_numeric"].quantile(0.95)]),
428 + )
429 + st.plotly_chart(fig_box, use_container_width=True)
430 +
431 + with c2:
432 + st.subheader("Median Price by City")
433 + city_med = (
434 + cdf.groupby("city")["price_numeric"]
435 + .median()
436 + .sort_values(ascending=False)
437 + .reset_index()
438 + )
439 + city_med.columns = ["City", "Median Price"]
440 + fig_bar = px.bar(
441 + city_med,
442 + x="Median Price",
443 + y="City",
444 + orientation="h",
445 + title="Median Nightly Price by City",
446 + color="Median Price",
447 + color_continuous_scale="Sunset",
448 + )
449 + fig_bar.update_layout(template="plotly_white", yaxis=dict(autorange="reversed"))
450 + st.plotly_chart(fig_bar, use_container_width=True)
451 +
452 + # Summary table
453 + st.subheader("City Summary Statistics")
454 + city_stats = (
455 + cdf.groupby("city")
456 + .agg(
457 + Listings=("price_numeric", "count"),
458 + Mean_Price=("price_numeric", "mean"),
459 + Median_Price=("price_numeric", "median"),
460 + Std_Price=("price_numeric", "std"),
461 + Avg_Rating=("rating", "mean"),
462 + Avg_Bedrooms=("bedrooms", "mean"),
463 + Superhost_Pct=("is_superhost", "mean"),
464 + )
465 + .round(2)
466 + )
467 + city_stats["Superhost_Pct"] = (city_stats["Superhost_Pct"] * 100).round(1)
468 + st.dataframe(city_stats.sort_values("Median_Price", ascending=False), use_container_width=True)
469 +
470 +# ===================================================================
471 +# TAB 4 - Hedonic Premiums (OLS)
472 +# ===================================================================
473 +with tab4:
474 + st.header("Hedonic Premiums (OLS Regression)")
475 + st.markdown(
476 + """
477 + A semi-log hedonic model is estimated: **ln(Price) = X * beta + epsilon**.
478 + Coefficients are converted to percentage premiums via **(exp(beta) - 1) x 100**.
479 + """
480 + )
481 +
482 + with st.spinner("Fitting OLS hedonic model..."):
483 + ols_model, ols_features, ols_mdf = fit_ols_model()
484 +
485 + coefs = pd.DataFrame(
486 + {"Feature": ols_features, "Coefficient": ols_model.coef_}
487 + )
488 + coefs["Premium (%)"] = (np.exp(coefs["Coefficient"]) - 1) * 100
489 + coefs = coefs.sort_values("Premium (%)", ascending=False).reset_index(drop=True)
490 +
491 + c1, c2 = st.columns([1, 2])
492 +
493 + with c1:
494 + st.subheader("Coefficient Table")
495 + st.dataframe(
496 + coefs.style.format({"Coefficient": "{:.4f}", "Premium (%)": "{:.2f}"}),
497 + use_container_width=True,
498 + height=500,
499 + )
500 +
501 + r2 = ols_model.score(
502 + ols_mdf[ols_features].values, ols_mdf["log_price"].values
503 + )
504 + st.metric("R-squared", f"{r2:.4f}")
505 + st.metric("N observations", f"{len(ols_mdf):,}")
506 +
507 + with c2:
508 + st.subheader("Hedonic Premiums: Key Features")
509 + key_features = FEATURE_COLS + [
510 + f for f in ols_features if f.startswith("ptype_")
511 + ]
512 + key_coefs = coefs[coefs["Feature"].isin(key_features)].sort_values("Premium (%)")
513 +
514 + fig_prem = px.bar(
515 + key_coefs,
516 + x="Premium (%)",
517 + y="Feature",
518 + orientation="h",
519 + color="Premium (%)",
520 + color_continuous_scale="RdYlGn",
521 + title="Estimated Price Premiums (%)",
522 + height=500,
523 + )
524 + fig_prem.update_layout(template="plotly_white")
525 + st.plotly_chart(fig_prem, use_container_width=True)
526 +
527 + st.markdown("---")
528 + st.subheader("Interpretation")
529 + st.markdown(
530 + """
531 + - **Positive premiums** indicate features that command a higher nightly price.
532 + - **Negative premiums** suggest a discount relative to the baseline.
533 + - For continuous variables (e.g., bedrooms), the premium is *per unit increase*.
534 + - For binary variables (e.g., is_superhost), the premium is relative to a non-superhost listing.
535 + - City and property-type dummies capture location and structural fixed effects.
536 + """
537 + )
538 +
539 +# ===================================================================
540 +# TAB 5 - Price Predictor
541 +# ===================================================================
542 +with tab5:
543 + st.header("Price Predictor")
544 + st.markdown("Adjust the inputs below to predict the nightly Airbnb price.")
545 +
546 + with st.spinner("Loading prediction model..."):
547 + gbm_model, gbm_features, gbm_mdf = fit_gbm_model()
548 +
549 + if gbm_model is None:
550 + st.error("Could not fit prediction model. Check dependencies.")
551 + else:
552 + pred_c1, pred_c2 = st.columns([1, 2])
553 +
554 + with pred_c1:
555 + st.subheader("Listing Features")
556 + pred_city = st.selectbox("City", options=top_cities[:20], index=0, key="pred_city")
557 + pred_ptype = st.selectbox("Property Type", options=all_property_types, index=0, key="pred_ptype")
558 + pred_bedrooms = st.slider("Bedrooms", 1, 10, 2, key="pred_bed")
559 + pred_bathrooms = st.slider("Bathrooms", 0.0, 5.0, 1.0, 0.5, key="pred_bath")
560 + pred_guests = st.slider("Guests", 1, 16, 4, key="pred_guests")
561 + pred_amenities = st.slider("Amenities count", 0, 100, 30, key="pred_amen")
562 + pred_images = st.slider("Number of images", 1, 50, 15, key="pred_img")
563 + pred_rating = st.slider("Rating", 0.0, 5.0, 4.8, 0.01, key="pred_rat")
564 + pred_superhost = st.checkbox("Superhost", value=False, key="pred_sh")
565 + pred_fav = st.checkbox("Guest Favorite", value=False, key="pred_fav")
566 + pred_pets = st.checkbox("Pets Allowed", value=False, key="pred_pets")
567 +
568 + # Build feature vector
569 + input_dict = {
570 + "bedrooms": pred_bedrooms,
571 + "bathrooms": pred_bathrooms,
572 + "guests_count": pred_guests,
573 + "amenities_count": pred_amenities,
574 + "num_images": pred_images,
575 + "rating": pred_rating,
576 + "is_superhost": int(pred_superhost),
577 + "is_guest_favorite": int(pred_fav),
578 + "pets_allowed": int(pred_pets),
579 + }
580 + # City dummies
581 + city_cols = [f for f in gbm_features if f.startswith("city_")]
582 + for c in city_cols:
583 + input_dict[c] = 1 if c == f"city_{pred_city}" else 0
584 + # Property type dummies
585 + ptype_cols = [f for f in gbm_features if f.startswith("ptype_")]
586 + for p in ptype_cols:
587 + input_dict[p] = 1 if p == f"ptype_{pred_ptype}" else 0
588 +
589 + X_pred = np.array([[input_dict.get(f, 0) for f in gbm_features]])
590 + log_pred = gbm_model.predict(X_pred)[0]
591 + pred_price = np.exp(log_pred)
592 +
593 + # Approximate confidence interval via training residuals
594 + y_train = gbm_mdf["log_price"].values
595 + y_hat_train = gbm_model.predict(gbm_mdf[gbm_features].values)
596 + residual_std = np.std(y_train - y_hat_train)
597 + ci_low = np.exp(log_pred - 1.96 * residual_std)
598 + ci_high = np.exp(log_pred + 1.96 * residual_std)
599 +
600 + with pred_c2:
601 + st.subheader("Predicted Price")
602 +
603 + m1, m2, m3 = st.columns(3)
604 + with m1:
605 + st.metric("Lower 95% CI", f"${ci_low:,.0f}")
606 + with m2:
607 + st.metric("Predicted Price", f"${pred_price:,.0f}")
608 + with m3:
609 + st.metric("Upper 95% CI", f"${ci_high:,.0f}")
610 +
611 + # Feature contribution breakdown
612 + st.subheader("Feature Contribution Breakdown")
613 + st.markdown(
614 + "Approximate marginal contribution of each feature group "
615 + "(setting each to its baseline and measuring the price change)."
616 + )
617 +
618 + # Compute contributions by zeroing out each feature
619 + baseline_dict = {}
620 + for f in gbm_features:
621 + baseline_dict[f] = gbm_mdf[f].median() if f in gbm_mdf.columns else 0
622 + X_base = np.array([[baseline_dict.get(f, 0) for f in gbm_features]])
623 + base_log = gbm_model.predict(X_base)[0]
624 +
625 + contributions = {}
626 + feature_groups = {
627 + "Bedrooms": ["bedrooms"],
628 + "Bathrooms": ["bathrooms"],
629 + "Guests": ["guests_count"],
630 + "Amenities": ["amenities_count"],
631 + "Images": ["num_images"],
632 + "Rating": ["rating"],
633 + "Superhost": ["is_superhost"],
634 + "Guest Favorite": ["is_guest_favorite"],
635 + "Pets Allowed": ["pets_allowed"],
636 + "City": city_cols,
637 + "Property Type": ptype_cols,
638 + }
639 +
640 + for group_name, cols in feature_groups.items():
641 + X_modified = X_pred.copy()
642 + for col_name in cols:
643 + idx = gbm_features.index(col_name)
644 + X_modified[0, idx] = baseline_dict.get(col_name, 0)
645 + modified_log = gbm_model.predict(X_modified)[0]
646 + # Contribution = what the feature adds relative to baseline
647 + contributions[group_name] = (log_pred - modified_log) * pred_price
648 +
649 + contrib_df = pd.DataFrame(
650 + {"Feature": list(contributions.keys()), "Contribution ($)": list(contributions.values())}
651 + ).sort_values("Contribution ($)")
652 +
653 + fig_contrib = px.bar(
654 + contrib_df,
655 + x="Contribution ($)",
656 + y="Feature",
657 + orientation="h",
658 + color="Contribution ($)",
659 + color_continuous_scale="RdYlGn",
660 + title="Feature Contributions to Predicted Price",
661 + )
662 + fig_contrib.update_layout(template="plotly_white", height=420)
663 + st.plotly_chart(fig_contrib, use_container_width=True)
664 +
665 +# ===================================================================
666 +# TAB 6 - SHAP Explorer
667 +# ===================================================================
668 +with tab6:
669 + st.header("SHAP Explorer")
670 +
671 + shap_available = True
672 + try:
673 + import shap
674 + except ImportError:
675 + shap_available = False
676 +
677 + if not shap_available:
678 + st.error(
679 + "The `shap` library is not installed. "
680 + "Install it with `pip install shap` to enable this tab."
681 + )
682 + else:
683 + with st.spinner("Computing SHAP values (this may take a moment)..."):
684 + gbm_model_s, gbm_features_s, gbm_mdf_s = fit_gbm_model()
685 +
686 + if gbm_model_s is None:
687 + st.error("Could not load model for SHAP analysis.")
688 + else:
689 + @st.cache_data
690 + def compute_shap_values():
691 + _model, _features, _mdf = fit_gbm_model()
692 + X_shap = _mdf[_features].values
693 + # Use a sample if dataset is large
694 + sample_size = min(500, len(X_shap))
695 + rng = np.random.RandomState(42)
696 + idx = rng.choice(len(X_shap), sample_size, replace=False)
697 + X_sample = X_shap[idx]
698 + explainer = shap.TreeExplainer(_model)
699 + sv = explainer.shap_values(X_sample)
700 + return sv, X_sample, _features
701 +
702 + shap_vals, X_shap_sample, shap_feature_names = compute_shap_values()
703 +
704 + # SHAP Summary Plot
705 + st.subheader("SHAP Summary Plot")
706 + fig_shap_summary, ax_shap = plt.subplots(figsize=(10, 7))
707 + shap.summary_plot(
708 + shap_vals,
709 + X_shap_sample,
710 + feature_names=shap_feature_names,
711 + show=False,
712 + max_display=20,
713 + )
714 + plt.tight_layout()
715 + st.pyplot(fig_shap_summary)
716 + plt.close(fig_shap_summary)
717 +
718 + # Feature importance ranking
719 + st.subheader("Feature Importance Ranking (Mean |SHAP|)")
720 + mean_abs_shap = np.abs(shap_vals).mean(axis=0)
721 + imp_df = pd.DataFrame(
722 + {"Feature": shap_feature_names, "Mean |SHAP|": mean_abs_shap}
723 + ).sort_values("Mean |SHAP|", ascending=False).head(20)
724 +
725 + fig_imp = px.bar(
726 + imp_df,
727 + x="Mean |SHAP|",
728 + y="Feature",
729 + orientation="h",
730 + color="Mean |SHAP|",
731 + color_continuous_scale="Viridis",
732 + title="Top 20 Features by SHAP Importance",
733 + )
734 + fig_imp.update_layout(template="plotly_white", yaxis=dict(autorange="reversed"))
735 + st.plotly_chart(fig_imp, use_container_width=True)
736 +
737 + # SHAP Dependence Plot
738 + st.subheader("SHAP Dependence Plot")
739 + dep_feature = st.selectbox(
740 + "Select feature for dependence plot",
741 + options=shap_feature_names,
742 + index=shap_feature_names.index("bedrooms") if "bedrooms" in shap_feature_names else 0,
743 + key="shap_dep_feature",
744 + )
745 + dep_idx = shap_feature_names.index(dep_feature)
746 + fig_dep, ax_dep = plt.subplots(figsize=(9, 5))
747 + shap.dependence_plot(
748 + dep_idx,
749 + shap_vals,
750 + X_shap_sample,
751 + feature_names=shap_feature_names,
752 + ax=ax_dep,
753 + show=False,
754 + )
755 + plt.tight_layout()
756 + st.pyplot(fig_dep)
757 + plt.close(fig_dep)
758 +
759 +# ===================================================================
760 +# TAB 7 - Price Decomposition
761 +# ===================================================================
762 +with tab7:
763 + st.header("Price Decomposition")
764 + st.markdown("Select a listing to see its predicted price breakdown into component contributions.")
765 +
766 + gbm_model_d, gbm_features_d, gbm_mdf_d = fit_gbm_model()
767 +
768 + if gbm_model_d is None:
769 + st.error("Prediction model not available.")
770 + else:
771 + # Build listing selector from rows with valid prices
772 + decomp_df = raw_df.dropna(subset=["price_numeric"]).copy()
773 + decomp_df = decomp_df[decomp_df["price_numeric"] > 0]
774 + decomp_df["label"] = (
775 + decomp_df["name"].str[:60]
776 + + " | "
777 + + decomp_df["city"]
778 + + " | $"
779 + + decomp_df["price_numeric"].round(0).astype(int).astype(str)
780 + )
781 +
782 + selected_label = st.selectbox(
783 + "Select a listing",
784 + options=decomp_df["label"].tolist()[:500],
785 + index=0,
786 + key="decomp_listing",
787 + )
788 +
789 + sel_row = decomp_df[decomp_df["label"] == selected_label].iloc[0]
790 +
791 + # Prepare features for this listing
792 + mdf_full = _prepare_model_df(raw_df)
793 + city_cols_d = sorted([c for c in gbm_features_d if c.startswith("city_")])
794 + ptype_cols_d = sorted([c for c in gbm_features_d if c.startswith("ptype_")])
795 +
796 + listing_features = {}
797 + for f in FEATURE_COLS:
798 + val = sel_row[f]
799 + if f in BOOL_FEATURES:
800 + listing_features[f] = int(val)
801 + else:
802 + listing_features[f] = float(val) if pd.notna(val) else mdf_full[f].median()
803 +
804 + for c in city_cols_d:
805 + city_name = c.replace("city_", "")
806 + listing_features[c] = 1 if sel_row["city"] == city_name else 0
807 + for p in ptype_cols_d:
808 + ptype_name = p.replace("ptype_", "")
809 + listing_features[p] = 1 if sel_row["property_type"] == ptype_name else 0
810 +
811 + X_listing = np.array([[listing_features.get(f, 0) for f in gbm_features_d]])
812 + log_pred_d = gbm_model_d.predict(X_listing)[0]
813 + pred_price_d = np.exp(log_pred_d)
814 + actual_price_d = sel_row["price_numeric"]
815 +
816 + # Metrics
817 + dc1, dc2, dc3 = st.columns(3)
818 + with dc1:
819 + st.metric("Actual Price", f"${actual_price_d:,.0f}")
820 + with dc2:
821 + st.metric("Predicted Price", f"${pred_price_d:,.0f}")
822 + with dc3:
823 + diff_pct = ((pred_price_d - actual_price_d) / actual_price_d) * 100
824 + st.metric("Prediction Error", f"{diff_pct:+.1f}%")
825 +
826 + st.markdown("---")
827 +
828 + # Decomposition: compute contribution of each feature group
829 + baseline_d = {}
830 + for f in gbm_features_d:
831 + baseline_d[f] = mdf_full[f].median() if f in mdf_full.columns else 0
832 + X_base_d = np.array([[baseline_d.get(f, 0) for f in gbm_features_d]])
833 + base_log_d = gbm_model_d.predict(X_base_d)[0]
834 + base_price_d = np.exp(base_log_d)
835 +
836 + feature_groups_d = {
837 + "Bedrooms": ["bedrooms"],
838 + "Bathrooms": ["bathrooms"],
839 + "Guests": ["guests_count"],
840 + "Amenities": ["amenities_count"],
841 + "Images": ["num_images"],
842 + "Rating": ["rating"],
843 + "Superhost": ["is_superhost"],
844 + "Guest Favorite": ["is_guest_favorite"],
845 + "Pets Allowed": ["pets_allowed"],
846 + "City": city_cols_d,
847 + "Property Type": ptype_cols_d,
848 + }
849 +
850 + contribs_d = {}
851 + for group_name, cols in feature_groups_d.items():
852 + X_mod = X_listing.copy()
853 + for col_name in cols:
854 + if col_name in gbm_features_d:
855 + idx = gbm_features_d.index(col_name)
856 + X_mod[0, idx] = baseline_d.get(col_name, 0)
857 + mod_log = gbm_model_d.predict(X_mod)[0]
858 + contribs_d[group_name] = (log_pred_d - mod_log)
859 +
860 + contribs_d["Baseline"] = base_log_d
861 +
862 + # Convert to dollar contributions (approximate)
863 + total_log = sum(contribs_d.values())
864 + scale = pred_price_d / np.exp(total_log) if total_log != 0 else 1
865 +
866 + dollar_contribs = {}
867 + for k, v in contribs_d.items():
868 + if k == "Baseline":
869 + dollar_contribs[k] = base_price_d
870 + else:
871 + dollar_contribs[k] = v * pred_price_d
872 +
873 + dc_df = pd.DataFrame(
874 + {"Component": list(dollar_contribs.keys()), "Contribution ($)": list(dollar_contribs.values())}
875 + )
876 +
877 + col_decomp1, col_decomp2 = st.columns(2)
878 +
879 + with col_decomp1:
880 + st.subheader("Price Component Breakdown")
881 + non_baseline = dc_df[dc_df["Component"] != "Baseline"].sort_values(
882 + "Contribution ($)", ascending=True
883 + )
884 + fig_stack = px.bar(
885 + non_baseline,
886 + x="Contribution ($)",
887 + y="Component",
888 + orientation="h",
889 + color="Contribution ($)",
890 + color_continuous_scale="RdYlGn",
891 + title="Feature Contributions to Predicted Price",
892 + )
893 + fig_stack.update_layout(template="plotly_white", height=450)
894 + st.plotly_chart(fig_stack, use_container_width=True)
895 +
896 + with col_decomp2:
897 + st.subheader("Top Drivers")
898 +
899 + positive = non_baseline[non_baseline["Contribution ($)"] > 0].sort_values(
900 + "Contribution ($)", ascending=False
901 + )
902 + negative = non_baseline[non_baseline["Contribution ($)"] < 0].sort_values(
903 + "Contribution ($)", ascending=True
904 + )
905 +
906 + st.markdown("**Top Positive Drivers**")
907 + if len(positive) > 0:
908 + for _, row in positive.head(5).iterrows():
909 + st.write(f" + **{row['Component']}**: +${row['Contribution ($)']:,.0f}")
910 + else:
911 + st.write(" None")
912 +
913 + st.markdown("**Top Negative Drivers**")
914 + if len(negative) > 0:
915 + for _, row in negative.head(5).iterrows():
916 + st.write(f" - **{row['Component']}**: -${abs(row['Contribution ($)']):,.0f}")
917 + else:
918 + st.write(" None")
919 +
920 + st.markdown("---")
921 + st.markdown(f"**Baseline price (median listing):** ${base_price_d:,.0f}")
922 + st.markdown(f"**Predicted price for this listing:** ${pred_price_d:,.0f}")
added scripts/run_analysis.py +683 −0
@@ -0,0 +1,683 @@
1 +#!/usr/bin/env python3
2 +"""Master pipeline for Airbnb hedonic pricing analysis."""
3 +
4 +from __future__ import annotations
5 +
6 +import argparse
7 +import logging
8 +import sys
9 +import time
10 +import traceback
11 +from contextlib import contextmanager
12 +from pathlib import Path
13 +from typing import Any, Dict, List, Optional
14 +
15 +import numpy as np
16 +import pandas as pd
17 +
18 +PROJECT_ROOT = Path(__file__).resolve().parent.parent
19 +if str(PROJECT_ROOT) not in sys.path:
20 + sys.path.insert(0, str(PROJECT_ROOT))
21 +
22 +from src import config
23 +
24 +logger = logging.getLogger("run_analysis")
25 +
26 +
27 +def _setup_logging(output_dir: Path) -> None:
28 + output_dir.mkdir(parents=True, exist_ok=True)
29 + root = logging.getLogger()
30 + root.setLevel(logging.DEBUG)
31 + root.handlers.clear()
32 + fmt = logging.Formatter(config.LOG_FORMAT, datefmt=config.LOG_DATE_FORMAT)
33 + ch = logging.StreamHandler(sys.stdout)
34 + ch.setLevel(logging.INFO)
35 + ch.setFormatter(fmt)
36 + root.addHandler(ch)
37 + fh = logging.FileHandler(str(output_dir / "analysis.log"), mode="w", encoding="utf-8")
38 + fh.setLevel(logging.DEBUG)
39 + fh.setFormatter(fmt)
40 + root.addHandler(fh)
41 +
42 +
43 +@contextmanager
44 +def step_timer(step_name: str, timings: Dict[str, float]):
45 + logger.info("=" * 72)
46 + logger.info("STEP START : %s", step_name)
47 + logger.info("=" * 72)
48 + t0 = time.perf_counter()
49 + try:
50 + yield
51 + finally:
52 + elapsed = time.perf_counter() - t0
53 + timings[step_name] = elapsed
54 + logger.info("STEP END : %s [%.2f s]", step_name, elapsed)
55 +
56 +
57 +# ---------------------------------------------------------------------------
58 +# Step 1: Load data
59 +# ---------------------------------------------------------------------------
60 +def step_load_data(data_file: Path) -> pd.DataFrame:
61 + logger.info("Loading data from %s", data_file)
62 + df = pd.read_csv(data_file)
63 + logger.info("Loaded %d rows x %d cols", *df.shape)
64 + return df
65 +
66 +
67 +# ---------------------------------------------------------------------------
68 +# Step 2: Clean prices
69 +# ---------------------------------------------------------------------------
70 +def step_clean_prices(df: pd.DataFrame) -> pd.DataFrame:
71 + from src.cleaning import run_full_cleaning, create_price_variants
72 + try:
73 + df = run_full_cleaning(df)
74 + logger.info("Full cleaning complete: %d rows, %d cols", *df.shape)
75 + except Exception:
76 + logger.warning("run_full_cleaning failed, applying fallback", exc_info=True)
77 + if "price_numeric" in df.columns:
78 + df = df[df["price_numeric"].notna()].copy()
79 + df = df[(df["price_numeric"] >= config.PRICE_FLOOR) &
80 + (df["price_numeric"] <= config.PRICE_CEILING)].copy()
81 + df["log_price"] = np.log(df["price_numeric"])
82 + logger.info("Fallback cleaning: %d rows remain", len(df))
83 + return df
84 +
85 +
86 +# ---------------------------------------------------------------------------
87 +# Step 3: Feature engineering
88 +# ---------------------------------------------------------------------------
89 +def step_engineer_features(df: pd.DataFrame, *, skip_nlp: bool = False) -> pd.DataFrame:
90 + # Ensure log_price exists
91 + if "log_price" not in df.columns and "price_numeric" in df.columns:
92 + df["log_price"] = np.log(df["price_numeric"].clip(lower=1))
93 +
94 + # 3a. Core features
95 + try:
96 + from src.feature_engineering import create_all_features
97 + df = create_all_features(df)
98 + logger.info("Core features: %d cols", df.shape[1])
99 + except Exception:
100 + logger.warning("feature_engineering failed", exc_info=True)
101 +
102 + # 3b. Amenity indices
103 + try:
104 + from src.amenities import create_amenity_indices
105 + df = create_amenity_indices(df)
106 + logger.info("Amenity indices added: %d cols", df.shape[1])
107 + except Exception:
108 + logger.warning("amenity indices failed", exc_info=True)
109 +
110 + # 3c. Geospatial features
111 + try:
112 + from src.geospatial import compute_distance_features
113 + df = compute_distance_features(df)
114 + logger.info("Geospatial features: %d cols", df.shape[1])
115 + except Exception:
116 + logger.warning("geospatial features failed", exc_info=True)
117 +
118 + # 3d. NLP features
119 + if not skip_nlp:
120 + try:
121 + from src.nlp_features import create_all_nlp_features
122 + df, price_words = create_all_nlp_features(df)
123 + logger.info("NLP features: %d cols", df.shape[1])
124 + if price_words is not None:
125 + price_words.to_csv(config.OUTPUTS_DIR / "tables" / "price_associated_words.csv", index=False)
126 + logger.info("Price-associated words saved")
127 + except Exception:
128 + logger.warning("NLP features failed", exc_info=True)
129 +
130 + return df
131 +
132 +
133 +# ---------------------------------------------------------------------------
134 +# Step 4: Hedonic models
135 +# ---------------------------------------------------------------------------
136 +def step_hedonic_models(df: pd.DataFrame) -> Dict[str, Any]:
137 + from src.hedonic_models import build_model_sequence, compare_models, compute_price_premiums
138 + from src.tables import export_table
139 +
140 + y_col = "log_price"
141 + if y_col not in df.columns:
142 + logger.warning("No log_price column; skipping hedonic models")
143 + return {}
144 +
145 + results = build_model_sequence(df, y_col=y_col)
146 + logger.info("Hedonic models estimated: %s", list(results.keys()))
147 +
148 + if results:
149 + comparison = compare_models(results)
150 + export_table(comparison, "model_comparison", output_dir=str(config.OUTPUTS_DIR / "tables"))
151 + logger.info("Model comparison table:\n%s", comparison.to_string())
152 +
153 + # Price premiums from full model
154 + full_key = [k for k in results.keys() if "Full" in k or "9" in k]
155 + if full_key:
156 + premiums = compute_price_premiums(results[full_key[-1]])
157 + export_table(premiums, "price_premiums", output_dir=str(config.OUTPUTS_DIR / "tables"))
158 + logger.info("Price premiums:\n%s", premiums.to_string())
159 +
160 + return results
161 +
162 +
163 +# ---------------------------------------------------------------------------
164 +# Step 5: Quantile models
165 +# ---------------------------------------------------------------------------
166 +def step_quantile_models(df: pd.DataFrame, x_cols: List[str]) -> Dict[str, Any]:
167 + from src.quantile_models import estimate_quantile_sequence, compare_quantile_coefficients
168 +
169 + y_col = "log_price"
170 + if y_col not in df.columns or not x_cols:
171 + logger.warning("No log_price or no x_cols; skipping quantile models")
172 + return {}
173 +
174 + results = estimate_quantile_sequence(df, y_col, x_cols)
175 + logger.info("Quantile models estimated: taus=%s", list(results.keys()))
176 +
177 + if results:
178 + coef_df = compare_quantile_coefficients(results)
179 + coef_df.to_csv(config.OUTPUTS_DIR / "tables" / "quantile_coefficients.csv", index=False)
180 +
181 + return results
182 +
183 +
184 +# ---------------------------------------------------------------------------
185 +# Step 6: ML models
186 +# ---------------------------------------------------------------------------
187 +def step_ml_models(df: pd.DataFrame, x_cols: List[str]) -> Dict[str, Any]:
188 + from src.ml_models import prepare_ml_data, train_all_models, compare_all_models
189 + from src.tables import export_table
190 +
191 + y_col = "log_price"
192 + if y_col not in df.columns or not x_cols:
193 + logger.warning("No log_price or no x_cols; skipping ML models")
194 + return {}
195 +
196 + X_train, X_test, y_train, y_test, feat_names = prepare_ml_data(df, y_col, x_cols)
197 + logger.info("ML data prepared: train=%d, test=%d, features=%d", len(X_train), len(X_test), len(feat_names))
198 +
199 + models = train_all_models(X_train, y_train)
200 + logger.info("ML models trained: %s", list(models.keys()))
201 +
202 + if models:
203 + comparison = compare_all_models(models, X_test, y_test)
204 + export_table(comparison, "ml_comparison", output_dir=str(config.OUTPUTS_DIR / "tables"))
205 + logger.info("ML comparison:\n%s", comparison.to_string())
206 +
207 + return {
208 + "models": models,
209 + "X_train": X_train, "X_test": X_test,
210 + "y_train": y_train, "y_test": y_test,
211 + "feature_names": feat_names,
212 + }
213 +
214 +
215 +# ---------------------------------------------------------------------------
216 +# Step 7: SHAP values
217 +# ---------------------------------------------------------------------------
218 +def step_shap_analysis(ml_data: Dict[str, Any]) -> Dict[str, Any]:
219 + from src.shap_analysis import compute_shap_values, plot_shap_summary, get_shap_importance, plot_partial_dependence
220 +
221 + if not ml_data or "models" not in ml_data:
222 + logger.warning("No ML models; skipping SHAP")
223 + return {}
224 +
225 + models = ml_data["models"]
226 + X_test = ml_data["X_test"]
227 + feat_names = ml_data["feature_names"]
228 + fig_dir = str(config.OUTPUTS_DIR / "figures")
229 + results = {}
230 +
231 + # Use best tree-based model for SHAP
232 + for model_name in ["xgboost", "lightgbm", "gradient_boosting", "random_forest"]:
233 + if model_name in models:
234 + model = models[model_name]
235 + try:
236 + shap_vals = compute_shap_values(model, X_test, feat_names)
237 + plot_shap_summary(shap_vals, X_test, feat_names, f"{fig_dir}/10_shap_summary")
238 + importance_df = get_shap_importance(shap_vals, feat_names)
239 + importance_df.to_csv(config.OUTPUTS_DIR / "tables" / "shap_importance.csv", index=False)
240 + logger.info("SHAP analysis complete for %s", model_name)
241 +
242 + # Partial dependence plots
243 + key_features = ["bedrooms", "bathrooms", "guests_count", "distance_to_center", "rating"]
244 + available_features = [f for f in key_features if f in feat_names]
245 + if available_features:
246 + feat_indices = [feat_names.index(f) for f in available_features]
247 + try:
248 + plot_partial_dependence(model, X_test, feat_indices, feat_names,
249 + f"{fig_dir}/11_partial_dependence")
250 + except Exception:
251 + logger.warning("PDP plot failed", exc_info=True)
252 +
253 + results["shap_values"] = shap_vals
254 + results["model_name"] = model_name
255 + results["importance"] = importance_df
256 + break
257 + except Exception:
258 + logger.warning("SHAP failed for %s", model_name, exc_info=True)
259 +
260 + return results
261 +
262 +
263 +# ---------------------------------------------------------------------------
264 +# Step 8: Spatial models
265 +# ---------------------------------------------------------------------------
266 +def step_spatial_models(df: pd.DataFrame, x_cols: List[str]) -> Dict[str, Any]:
267 + from src.spatial_models import (build_weights_matrix, estimate_spatial_lag,
268 + estimate_spatial_error, estimate_spatial_durbin,
269 + test_spatial_autocorrelation, compare_spatial_models)
270 +
271 + y_col = "log_price"
272 + if y_col not in df.columns or not x_cols:
273 + logger.warning("No log_price or no x_cols; skipping spatial models")
274 + return {}
275 +
276 + lat_col = "lat" if "lat" in df.columns else "latitude"
277 + lon_col = "long" if "long" in df.columns else "longitude"
278 +
279 + # Filter to rows with valid coords, price, and all x_cols
280 + valid_cols = [y_col, lat_col, lon_col] + [c for c in x_cols if c in df.columns]
281 + sp_df = df[valid_cols].dropna().copy()
282 + logger.info("Spatial analysis: %d rows after dropping NaN", len(sp_df))
283 +
284 + if len(sp_df) < 50:
285 + logger.warning("Too few rows for spatial models (%d)", len(sp_df))
286 + return {}
287 +
288 + try:
289 + w = build_weights_matrix(sp_df, k=5, lat_col=lat_col, lon_col=lon_col)
290 + logger.info("Spatial weights matrix built (k=5, n=%d)", len(sp_df))
291 + except Exception:
292 + logger.warning("Failed to build spatial weights", exc_info=True)
293 + return {}
294 +
295 + try:
296 + moran_result = test_spatial_autocorrelation(sp_df, y_col, w)
297 + logger.info("Moran's I test: %s", moran_result)
298 + except Exception:
299 + logger.warning("Moran's I test failed", exc_info=True)
300 +
301 + results = {}
302 + sp_x_cols = [c for c in x_cols if c in sp_df.columns]
303 + for name, func in [("spatial_lag", estimate_spatial_lag),
304 + ("spatial_error", estimate_spatial_error),
305 + ("spatial_durbin", estimate_spatial_durbin)]:
306 + try:
307 + result = func(sp_df, y_col, sp_x_cols, w)
308 + results[name] = result
309 + logger.info(" %s estimated successfully", name)
310 + except Exception:
311 + logger.warning(" %s failed", name, exc_info=True)
312 +
313 + if results:
314 + try:
315 + comp = compare_spatial_models(results)
316 + comp.to_csv(config.OUTPUTS_DIR / "tables" / "spatial_comparison.csv")
317 + except Exception:
318 + logger.warning("compare_spatial_models failed", exc_info=True)
319 +
320 + return results
321 +
322 +
323 +# ---------------------------------------------------------------------------
324 +# Step 9: Robustness checks
325 +# ---------------------------------------------------------------------------
326 +def step_robustness(df: pd.DataFrame, x_cols: List[str]) -> Dict[str, Any]:
327 + from src.robustness import run_all_robustness, format_robustness_summary
328 + from src.tables import export_table
329 +
330 + y_col = "log_price"
331 + if y_col not in df.columns or not x_cols:
332 + return {}
333 +
334 + results = run_all_robustness(df, y_col, x_cols)
335 + logger.info("Robustness checks: %s", list(results.keys()))
336 +
337 + summary = format_robustness_summary(results)
338 + export_table(summary, "robustness_summary", output_dir=str(config.OUTPUTS_DIR / "tables"))
339 +
340 + return results
341 +
342 +
343 +# ---------------------------------------------------------------------------
344 +# Step 10: Generate tables
345 +# ---------------------------------------------------------------------------
346 +def step_generate_tables(df: pd.DataFrame, hedonic_results: Dict, quantile_results: Dict,
347 + ml_data: Dict, spatial_results: Dict) -> List[str]:
348 + from src.tables import (summary_statistics_table, price_by_room_type_table,
349 + correlation_matrix_table, regression_comparison_table,
350 + export_table)
351 +
352 + generated = []
353 + out = str(config.OUTPUTS_DIR / "tables")
354 +
355 + # Table 1: Summary stats
356 + try:
357 + numeric_cols = [c for c in df.select_dtypes(include=[np.number]).columns
358 + if c not in ("lat", "long", "price_segment_code")]
359 + tbl = summary_statistics_table(df, numeric_cols)
360 + export_table(tbl, "table_01_summary_statistics", output_dir=out,
361 + caption="Summary Statistics", label="tab:summary")
362 + generated.append("summary_statistics")
363 + logger.info(" Table 1: summary statistics")
364 + except Exception:
365 + logger.warning(" Table 1 failed", exc_info=True)
366 +
367 + # Table 2: Price by property type
368 + try:
369 + tbl = price_by_room_type_table(df)
370 + export_table(tbl, "table_02_price_by_type", output_dir=out,
371 + caption="Price Distribution by Property Type", label="tab:pricetype")
372 + generated.append("price_by_type")
373 + logger.info(" Table 2: price by type")
374 + except Exception:
375 + logger.warning(" Table 2 failed", exc_info=True)
376 +
377 + # Table 3: Correlation matrix
378 + try:
379 + corr_cols = ["log_price", "bedrooms", "bathrooms", "guests_count",
380 + "amenities_count", "rating", "num_reviews"]
381 + corr_cols = [c for c in corr_cols if c in df.columns]
382 + tbl = correlation_matrix_table(df, corr_cols)
383 + export_table(tbl, "table_03_correlations", output_dir=out,
384 + caption="Correlation Matrix", label="tab:corr")
385 + generated.append("correlations")
386 + logger.info(" Table 3: correlations")
387 + except Exception:
388 + logger.warning(" Table 3 failed", exc_info=True)
389 +
390 + # Table 4-5: Regression results
391 + if hedonic_results:
392 + try:
393 + tbl = regression_comparison_table(hedonic_results)
394 + export_table(tbl, "table_04_hedonic_regressions", output_dir=out,
395 + caption="Hedonic Regression Results", label="tab:hedonic")
396 + generated.append("hedonic_regressions")
397 + logger.info(" Table 4-5: hedonic regressions")
398 + except Exception:
399 + logger.warning(" Table 4-5 failed", exc_info=True)
400 +
401 + return generated
402 +
403 +
404 +# ---------------------------------------------------------------------------
405 +# Step 11: Generate figures
406 +# ---------------------------------------------------------------------------
407 +def step_generate_figures(df: pd.DataFrame, hedonic_results: Dict,
408 + quantile_results: Dict, ml_data: Dict) -> List[str]:
409 + from src.figures import generate_all_figures
410 +
411 + fig_dir = str(config.OUTPUTS_DIR / "figures")
412 + try:
413 + result = generate_all_figures(df, results=hedonic_results, save_dir=fig_dir)
414 + generated = []
415 + for fmt_files in result.values():
416 + generated.extend(fmt_files)
417 + logger.info("Figures generated: %d files", len(generated))
418 + return [str(f) for f in generated]
419 + except Exception:
420 + logger.warning("generate_all_figures failed", exc_info=True)
421 + return []
422 +
423 +
424 +# ---------------------------------------------------------------------------
425 +# Step 12: Price decomposition
426 +# ---------------------------------------------------------------------------
427 +def step_decomposition(df: pd.DataFrame, hedonic_results: Dict,
428 + feature_groups: Dict[str, List[str]]) -> Dict[str, Any]:
429 + from src.report import explain_listing_price, decompose_all_prices, generate_decomposition_summary
430 +
431 + if not hedonic_results:
432 + logger.warning("No hedonic models for decomposition")
433 + return {}
434 +
435 + # Use the fullest model available
436 + model_key = list(hedonic_results.keys())[-1]
437 + model = hedonic_results[model_key]
438 + logger.info("Decomposing prices with model: %s", model_key)
439 +
440 + try:
441 + decomp_df = decompose_all_prices(model, df, feature_groups)
442 + summary = generate_decomposition_summary(decomp_df)
443 + decomp_df.to_csv(config.OUTPUTS_DIR / "tables" / "price_decomposition.csv", index=False)
444 + summary.to_csv(config.OUTPUTS_DIR / "tables" / "decomposition_summary.csv")
445 +
446 + # Example listing
447 + sample = explain_listing_price(model, df, 0, feature_groups)
448 + logger.info("Sample decomposition: actual=%.0f, predicted=%.2f",
449 + sample.get("actual_price", 0), sample.get("predicted_price", 0))
450 +
451 + return {"decomp_df": decomp_df, "summary": summary, "model_used": model_key}
452 + except Exception:
453 + logger.warning("Decomposition failed", exc_info=True)
454 + return {}
455 +
456 +
457 +# ---------------------------------------------------------------------------
458 +# Feature group & column resolution
459 +# ---------------------------------------------------------------------------
460 +def resolve_feature_groups(df: pd.DataFrame) -> Dict[str, List[str]]:
461 + try:
462 + from src.feature_engineering import get_feature_groups
463 + groups = get_feature_groups()
464 + except Exception:
465 + groups = {}
466 +
467 + filtered = {}
468 + for name, cols in groups.items():
469 + present = [c for c in cols if c in df.columns]
470 + if present:
471 + filtered[name] = present
472 + return filtered
473 +
474 +
475 +def get_x_cols(df: pd.DataFrame, feature_groups: Dict[str, List[str]]) -> List[str]:
476 + exclude = {"log_price", "price_numeric", "price_category", "price_segment",
477 + "price_segment_code", "price_per_guest", "price_per_bedroom",
478 + "name", "city", "property_type", "rating_category", "lat", "long"}
479 + x_cols = []
480 + for cols in feature_groups.values():
481 + for c in cols:
482 + if c not in exclude and c not in x_cols and c in df.columns:
483 + x_cols.append(c)
484 +
485 + # Also add important columns if present
486 + extras = ["bedrooms", "bathrooms", "guests_count", "amenities_count",
487 + "is_superhost", "rating", "num_reviews", "num_images",
488 + "is_guest_favorite", "pets_allowed"]
489 + for c in extras:
490 + if c in df.columns and c not in x_cols:
491 + x_cols.append(c)
492 +
493 + return x_cols
494 +
495 +
496 +# ---------------------------------------------------------------------------
497 +# Summary report
498 +# ---------------------------------------------------------------------------
499 +def print_summary(df, hedonic, quantile, ml_data, spatial, timings,
500 + tables_gen, figures_gen, decomp):
501 + sep = "=" * 72
502 + lines = ["", sep, "HEDONIC PRICING ANALYSIS — SUMMARY REPORT", sep, ""]
503 + lines.append(f" Dataset: {len(df):,} rows x {df.shape[1]} cols")
504 + lines.append("")
505 +
506 + lines.append(" HEDONIC MODELS:")
507 + if hedonic:
508 + for k in hedonic:
509 + r2 = hedonic[k].rsquared if hasattr(hedonic[k], "rsquared") else "?"
510 + lines.append(f" {k}: R²={r2:.4f}" if isinstance(r2, float) else f" {k}")
511 + else:
512 + lines.append(" (none)")
513 +
514 + lines.append(f" QUANTILE MODELS: {len(quantile)} estimated")
515 +
516 + ml_models = ml_data.get("models", {}) if ml_data else {}
517 + lines.append(f" ML MODELS: {list(ml_models.keys()) if ml_models else '(none)'}")
518 + lines.append(f" SPATIAL MODELS: {list(spatial.keys()) if spatial else '(none)'}")
519 + lines.append("")
520 + lines.append(f" Tables: {len(tables_gen)} | Figures: {len(figures_gen)}")
521 +
522 + if decomp:
523 + lines.append(f" Decomposition: {decomp.get('model_used', '?')}")
524 +
525 + lines.append("")
526 + lines.append(" TIMING:")
527 + for step, t in timings.items():
528 + lines.append(f" {step:<40s} {t:>7.2f}s")
529 + lines.append(f" {'TOTAL':<40s} {sum(timings.values()):>7.2f}s")
530 + lines.append(sep)
531 +
532 + report = "\n".join(lines)
533 + logger.info(report)
534 +
535 +
536 +# ---------------------------------------------------------------------------
537 +# CLI
538 +# ---------------------------------------------------------------------------
539 +def parse_args(argv=None):
540 + p = argparse.ArgumentParser(description="Airbnb hedonic pricing pipeline")
541 + p.add_argument("--data-file", type=Path, default=Path("cleaned_dataset_sample.csv"))
542 + p.add_argument("--output-dir", type=Path, default=config.OUTPUTS_DIR)
543 + p.add_argument("--skip-spatial", action="store_true")
544 + p.add_argument("--skip-nlp", action="store_true")
545 + p.add_argument("--skip-ml", action="store_true")
546 + p.add_argument("--models-only", action="store_true")
547 + p.add_argument("--figures-only", action="store_true")
548 + return p.parse_args(argv)
549 +
550 +
551 +# ---------------------------------------------------------------------------
552 +# Main
553 +# ---------------------------------------------------------------------------
554 +def main(argv=None) -> int:
555 + args = parse_args(argv)
556 + _setup_logging(args.output_dir)
557 +
558 + timings: Dict[str, float] = {}
559 + df = pd.DataFrame()
560 + hedonic_results: Dict[str, Any] = {}
561 + quantile_results: Dict[str, Any] = {}
562 + ml_data: Dict[str, Any] = {}
563 + shap_results: Dict[str, Any] = {}
564 + spatial_results: Dict[str, Any] = {}
565 + tables_gen: List[str] = []
566 + figures_gen: List[str] = []
567 + decomp_info: Dict[str, Any] = {}
568 +
569 + logger.info("Pipeline started. data=%s output=%s", args.data_file, args.output_dir)
570 + logger.info("Flags: skip_spatial=%s skip_nlp=%s skip_ml=%s models_only=%s figures_only=%s",
571 + args.skip_spatial, args.skip_nlp, args.skip_ml, args.models_only, args.figures_only)
572 +
573 + try:
574 + # Step 1
575 + with step_timer("1. Load data", timings):
576 + df = step_load_data(args.data_file)
577 +
578 + # Step 2
579 + with step_timer("2. Clean prices", timings):
580 + df = step_clean_prices(df)
581 +
582 + # Step 3
583 + with step_timer("3. Feature engineering", timings):
584 + df = step_engineer_features(df, skip_nlp=args.skip_nlp)
585 +
586 + feature_groups = resolve_feature_groups(df)
587 + x_cols = get_x_cols(df, feature_groups)
588 + logger.info("Feature groups: %s", {k: len(v) for k, v in feature_groups.items()})
589 + logger.info("Total x_cols for modeling: %d", len(x_cols))
590 +
591 + # Ensure boolean columns are numeric
592 + for c in df.columns:
593 + if df[c].dtype == bool:
594 + df[c] = df[c].astype(int)
595 +
596 + if args.figures_only:
597 + with step_timer("11. Generate figures", timings):
598 + figures_gen = step_generate_figures(df, hedonic_results, quantile_results, ml_data)
599 + print_summary(df, hedonic_results, quantile_results, ml_data,
600 + spatial_results, timings, tables_gen, figures_gen, decomp_info)
601 + return 0
602 +
603 + # Step 4
604 + with step_timer("4. Hedonic models", timings):
605 + hedonic_results = step_hedonic_models(df)
606 +
607 + # Step 5
608 + with step_timer("5. Quantile models", timings):
609 + # Use structural + key cols for quantile models
610 + qx = [c for c in x_cols if c in df.columns][:15]
611 + quantile_results = step_quantile_models(df, qx)
612 +
613 + # Step 6
614 + if not args.skip_ml:
615 + with step_timer("6. ML models", timings):
616 + ml_data = step_ml_models(df, x_cols)
617 + else:
618 + logger.info("ML models skipped")
619 + timings["6. ML models"] = 0.0
620 +
621 + # Step 7
622 + if not args.skip_ml and ml_data:
623 + with step_timer("7. SHAP values", timings):
624 + shap_results = step_shap_analysis(ml_data)
625 + else:
626 + timings["7. SHAP values"] = 0.0
627 +
628 + # Step 8
629 + if not args.skip_spatial:
630 + with step_timer("8. Spatial models", timings):
631 + sp_cols = [c for c in x_cols if c in df.columns][:10]
632 + spatial_results = step_spatial_models(df, sp_cols)
633 + else:
634 + timings["8. Spatial models"] = 0.0
635 +
636 + # Step 9
637 + with step_timer("9. Robustness checks", timings):
638 + rob_cols = [c for c in ["bedrooms", "bathrooms", "guests_count",
639 + "amenities_count", "is_superhost", "rating",
640 + "num_reviews", "is_entire_home"] if c in df.columns]
641 + try:
642 + step_robustness(df, rob_cols)
643 + except Exception:
644 + logger.warning("Robustness checks failed", exc_info=True)
645 +
646 + if args.models_only:
647 + print_summary(df, hedonic_results, quantile_results, ml_data,
648 + spatial_results, timings, tables_gen, figures_gen, decomp_info)
649 + return 0
650 +
651 + # Step 10
652 + with step_timer("10. Generate tables", timings):
653 + tables_gen = step_generate_tables(df, hedonic_results, quantile_results,
654 + ml_data, spatial_results)
655 +
656 + # Step 11
657 + with step_timer("11. Generate figures", timings):
658 + figures_gen = step_generate_figures(df, hedonic_results, quantile_results, ml_data)
659 +
660 + # Step 12
661 + with step_timer("12. Price decomposition", timings):
662 + decomp_info = step_decomposition(df, hedonic_results, feature_groups)
663 +
664 + # Step 13
665 + with step_timer("13. Summary report", timings):
666 + print_summary(df, hedonic_results, quantile_results, ml_data,
667 + spatial_results, timings, tables_gen, figures_gen, decomp_info)
668 +
669 + logger.info("Pipeline finished successfully in %.2f s", sum(timings.values()))
670 + return 0
671 +
672 + except KeyboardInterrupt:
673 + logger.warning("Interrupted by user")
674 + return 130
675 + except Exception as exc:
676 + logger.error("Pipeline failed: %s", exc, exc_info=True)
677 + print_summary(df, hedonic_results, quantile_results, ml_data,
678 + spatial_results, timings, tables_gen, figures_gen, decomp_info)
679 + return 1
680 +
681 +
682 +if __name__ == "__main__":
683 + sys.exit(main())
added src/__init__.py +5 −0
@@ -0,0 +1,5 @@
1 +# src - Hedonic Pricing Analysis for Quebec Airbnb Listings
2 +
3 +from . import tables
4 +from . import figures
5 +from . import robustness
added src/amenities.py +252 −0
@@ -0,0 +1,252 @@
1 +"""Amenity processing and index construction for hedonic pricing analysis."""
2 +
3 +from __future__ import annotations
4 +
5 +import json
6 +import logging
7 +import re
8 +from typing import Any
9 +
10 +import numpy as np
11 +import pandas as pd
12 +from sklearn.decomposition import PCA
13 +from sklearn.preprocessing import StandardScaler
14 +
15 +logger = logging.getLogger(__name__)
16 +
17 +# ---------------------------------------------------------------------------
18 +# Amenity keyword catalogue
19 +# ---------------------------------------------------------------------------
20 +
21 +AMENITY_KEYWORDS: dict[str, list[str]] = {
22 + "wifi": ["wifi", "wi-fi", "wireless", "internet"],
23 + "kitchen": ["kitchen"],
24 + "ac": ["air conditioning", "a/c", "ac", "air-conditioning", "central air"],
25 + "heating": ["heating", "heater", "heated"],
26 + "washer": ["washer", "washing machine"],
27 + "dryer": ["dryer"],
28 + "parking": ["parking", "garage", "carport"],
29 + "pool": ["pool", "swimming"],
30 + "hot_tub": ["hot tub", "jacuzzi", "spa"],
31 + "gym": ["gym", "fitness", "exercise"],
32 + "workspace": ["workspace", "dedicated workspace", "laptop friendly", "desk"],
33 + "balcony": ["balcony"],
34 + "patio": ["patio", "deck", "terrace"],
35 + "bbq": ["bbq", "barbecue", "grill"],
36 + "fireplace": ["fireplace", "fire pit"],
37 + "elevator": ["elevator", "lift"],
38 + "self_check_in": ["self check-in", "self-check-in", "lockbox", "smart lock", "keypad"],
39 + "tv": ["tv", "television", "hdtv", "cable"],
40 + "coffee_machine": ["coffee", "espresso", "nespresso", "keurig"],
41 + "dishwasher": ["dishwasher"],
42 + "waterfront": ["waterfront", "lake", "river", "ocean", "lakefront", "beachfront"],
43 + "ski_in_ski_out": ["ski-in", "ski in", "ski-out", "ski out"],
44 + "beach_access": ["beach", "beach access"],
45 + "pet_friendly": ["pet", "pets allowed", "dog", "cat"],
46 +}
47 +
48 +# Index composition weights
49 +INDEX_DEFINITIONS: dict[str, dict[str, float]] = {
50 + "luxury_index": {
51 + "pool": 2.0, "hot_tub": 2.0, "gym": 1.5, "fireplace": 1.0,
52 + "waterfront": 2.0, "ski_in_ski_out": 2.0, "beach_access": 1.5,
53 + "elevator": 1.0, "balcony": 1.0, "dishwasher": 0.5,
54 + },
55 + "business_travel_index": {
56 + "wifi": 2.0, "workspace": 2.5, "self_check_in": 2.0,
57 + "coffee_machine": 1.0, "tv": 0.5, "parking": 1.0, "elevator": 1.0,
58 + },
59 + "family_comfort_index": {
60 + "kitchen": 2.0, "washer": 1.5, "dryer": 1.5, "dishwasher": 1.5,
61 + "parking": 1.0, "tv": 1.0, "heating": 1.0, "ac": 1.0,
62 + },
63 + "leisure_index": {
64 + "pool": 2.0, "hot_tub": 2.0, "bbq": 1.5, "patio": 1.5,
65 + "balcony": 1.0, "fireplace": 1.0, "beach_access": 2.0,
66 + "ski_in_ski_out": 2.0, "waterfront": 1.5,
67 + },
68 + "remote_work_index": {
69 + "wifi": 3.0, "workspace": 3.0, "coffee_machine": 1.0,
70 + "self_check_in": 1.5, "kitchen": 1.0, "heating": 0.5, "ac": 0.5,
71 + },
72 +}
73 +
74 +ALL_AMENITY_COLS: list[str] = [f"amen_{k}" for k in AMENITY_KEYWORDS]
75 +
76 +# ---------------------------------------------------------------------------
77 +# Text parsing (for datasets with raw amenity strings)
78 +# ---------------------------------------------------------------------------
79 +
80 +def parse_amenities_text(series: pd.Series) -> pd.DataFrame:
81 + """Parse an amenities text column into binary indicator columns."""
82 + records: list[dict[str, int]] = []
83 + for raw in series:
84 + row: dict[str, int] = {f"amen_{k}": 0 for k in AMENITY_KEYWORDS}
85 + if pd.isna(raw) or not isinstance(raw, str) or raw.strip() == "":
86 + records.append(row)
87 + continue
88 + # Try JSON parse first, then comma-separated
89 + try:
90 + items = json.loads(raw)
91 + if isinstance(items, list):
92 + text = " ".join(str(i).lower() for i in items)
93 + else:
94 + text = str(raw).lower()
95 + except (json.JSONDecodeError, TypeError):
96 + text = str(raw).lower()
97 +
98 + for key, keywords in AMENITY_KEYWORDS.items():
99 + for kw in keywords:
100 + if kw in text:
101 + row[f"amen_{key}"] = 1
102 + break
103 + records.append(row)
104 +
105 + result = pd.DataFrame(records, index=series.index)
106 + logger.info("Parsed amenities text into %d binary columns", len(AMENITY_KEYWORDS))
107 + return result
108 +
109 +
110 +# ---------------------------------------------------------------------------
111 +# Expert-weighted indices from binary indicators
112 +# ---------------------------------------------------------------------------
113 +
114 +def _compute_weighted_index(df: pd.DataFrame, weights: dict[str, float]) -> pd.Series:
115 + """Compute a weighted sum index from amenity binary columns."""
116 + total = pd.Series(0.0, index=df.index)
117 + max_possible = 0.0
118 + for amenity, w in weights.items():
119 + col = f"amen_{amenity}"
120 + if col in df.columns:
121 + total += df[col].fillna(0).astype(float) * w
122 + max_possible += w
123 + # Normalise to 0-1
124 + if max_possible > 0:
125 + total = total / max_possible
126 + return total
127 +
128 +
129 +def create_amenity_indices(df: pd.DataFrame) -> pd.DataFrame:
130 + """Build expert-weighted amenity indices; fall back to count-based proxies."""
131 + out = df.copy()
132 +
133 + has_binary = any(f"amen_{k}" in out.columns for k in AMENITY_KEYWORDS)
134 +
135 + if has_binary:
136 + # Richness index = share of tracked amenities present
137 + binary_cols = [c for c in ALL_AMENITY_COLS if c in out.columns]
138 + out["amenity_richness_index"] = out[binary_cols].sum(axis=1) / len(binary_cols)
139 +
140 + for idx_name, weights in INDEX_DEFINITIONS.items():
141 + out[idx_name] = _compute_weighted_index(out, weights)
142 +
143 + logger.info("Amenity indices built from %d binary indicators", len(binary_cols))
144 + else:
145 + # Proxy mode: use amenities_count quantiles
146 + logger.info("No binary amenity columns found; using amenities_count proxies")
147 + out = _proxy_indices_from_count(out)
148 +
149 + return out
150 +
151 +
152 +def _proxy_indices_from_count(df: pd.DataFrame) -> pd.DataFrame:
153 + """Approximate amenity indices from the integer amenities_count column."""
154 + out = df.copy()
155 + cnt = out["amenities_count"].fillna(0).astype(float)
156 +
157 + # Normalise count to 0-1 using min-max
158 + cnt_min, cnt_max = cnt.min(), cnt.max()
159 + if cnt_max > cnt_min:
160 + cnt_norm = (cnt - cnt_min) / (cnt_max - cnt_min)
161 + else:
162 + cnt_norm = pd.Series(0.0, index=out.index)
163 +
164 + out["amenity_richness_index"] = cnt_norm
165 +
166 + # For sub-indices, add small gaussian noise to differentiate, then clip
167 + rng = np.random.default_rng(42)
168 + for idx_name in INDEX_DEFINITIONS:
169 + noise = rng.normal(0, 0.05, size=len(out))
170 + out[idx_name] = np.clip(cnt_norm + noise, 0.0, 1.0)
171 +
172 + # Pet-friendly bonus for leisure / family
173 + if "pets_allowed" in out.columns:
174 + pet_flag = out["pets_allowed"].astype(float)
175 + out["leisure_index"] = np.clip(out["leisure_index"] + 0.1 * pet_flag, 0, 1)
176 + out["family_comfort_index"] = np.clip(out["family_comfort_index"] + 0.05 * pet_flag, 0, 1)
177 +
178 + return out
179 +
180 +
181 +# ---------------------------------------------------------------------------
182 +# PCA-based index construction
183 +# ---------------------------------------------------------------------------
184 +
185 +def create_amenity_indices_pca(df: pd.DataFrame, n_components: int = 3) -> pd.DataFrame:
186 + """Build PCA-based amenity indices from binary indicators or count proxies."""
187 + out = df.copy()
188 +
189 + binary_cols = [c for c in ALL_AMENITY_COLS if c in out.columns]
190 +
191 + if binary_cols:
192 + X = out[binary_cols].fillna(0).values.astype(float)
193 + else:
194 + # Fabricate synthetic features from amenities_count
195 + cnt = out["amenities_count"].fillna(0).astype(float).values
196 + rng = np.random.default_rng(42)
197 + # Create multiple correlated proxies
198 + X = np.column_stack([
199 + cnt,
200 + cnt ** 0.5,
201 + np.log1p(cnt),
202 + cnt * rng.uniform(0.8, 1.2, size=len(cnt)),
203 + (cnt > np.median(cnt)).astype(float),
204 + ])
205 + binary_cols = [
206 + "count_raw", "count_sqrt", "count_log", "count_noisy", "count_above_median",
207 + ]
208 +
209 + n_components = min(n_components, X.shape[1])
210 + scaler = StandardScaler()
211 + X_scaled = scaler.fit_transform(X)
212 +
213 + pca = PCA(n_components=n_components, random_state=42)
214 + components = pca.fit_transform(X_scaled)
215 +
216 + for i in range(n_components):
217 + out[f"amenity_pca_{i + 1}"] = components[:, i]
218 +
219 + out["amenity_pca_variance_explained"] = float(np.sum(pca.explained_variance_ratio_))
220 +
221 + logger.info(
222 + "PCA amenity indices: %d components, %.1f%% variance explained",
223 + n_components,
224 + 100 * np.sum(pca.explained_variance_ratio_),
225 + )
226 + return out
227 +
228 +
229 +# ---------------------------------------------------------------------------
230 +# Comparison helper
231 +# ---------------------------------------------------------------------------
232 +
233 +def compare_expert_vs_pca(df: pd.DataFrame) -> pd.DataFrame:
234 + """Compute both expert and PCA indices and return correlation summary."""
235 + df_expert = create_amenity_indices(df)
236 + df_pca = create_amenity_indices_pca(df_expert)
237 +
238 + expert_cols = list(INDEX_DEFINITIONS.keys()) + ["amenity_richness_index"]
239 + pca_cols = [c for c in df_pca.columns if c.startswith("amenity_pca_")]
240 +
241 + available_expert = [c for c in expert_cols if c in df_pca.columns]
242 + available_pca = [c for c in pca_cols if c in df_pca.columns and c != "amenity_pca_variance_explained"]
243 +
244 + if available_expert and available_pca:
245 + corr = df_pca[available_expert + available_pca].corr()
246 + cross = corr.loc[available_expert, available_pca]
247 + logger.info("Expert vs PCA correlation:\n%s", cross.to_string())
248 + else:
249 + cross = pd.DataFrame()
250 + logger.warning("Not enough columns for expert vs PCA comparison")
251 +
252 + return df_pca
added src/cleaning.py +964 −0
@@ -0,0 +1,964 @@
1 +"""
2 +cleaning.py -- Data cleaning and feature engineering for hedonic pricing analysis.
3 +
4 +Provides deterministic, auditable transformations that convert raw
5 +Airbnb listing data into analysis-ready features. Every function
6 +logs what it changes so that a full cleaning report can be generated.
7 +"""
8 +
9 +from __future__ import annotations
10 +
11 +import logging
12 +import re
13 +from dataclasses import dataclass, field
14 +from typing import Any, Dict, List, Optional, Tuple, Union
15 +
16 +import numpy as np
17 +import pandas as pd
18 +
19 +from src.config import (
20 + DEFAULT_WINSORIZE,
21 + WINSORIZE_1_99,
22 + WINSORIZE_2_98,
23 + WINSORIZE_5_95,
24 + PRICE_FLOOR,
25 + PRICE_CEILING,
26 + QUEBEC_LAT_RANGE,
27 + QUEBEC_LON_RANGE,
28 + PROPERTY_TYPE_MAP,
29 + ROOM_TYPE_MAP,
30 + LOG_LEVEL,
31 + LOG_FORMAT,
32 + LOG_DATE_FORMAT,
33 +)
34 +
35 +# ---------------------------------------------------------------------------
36 +# Logger
37 +# ---------------------------------------------------------------------------
38 +
39 +logging.basicConfig(format=LOG_FORMAT, datefmt=LOG_DATE_FORMAT, level=LOG_LEVEL)
40 +logger = logging.getLogger(__name__)
41 +
42 +# ---------------------------------------------------------------------------
43 +# Cleaning audit record
44 +# ---------------------------------------------------------------------------
45 +
46 +
47 +@dataclass
48 +class CleaningRecord:
49 + """Accumulates counts and descriptions of every cleaning action."""
50 +
51 + actions: List[Dict[str, Any]] = field(default_factory=list)
52 +
53 + def log(
54 + self,
55 + step: str,
56 + column: str,
57 + description: str,
58 + rows_affected: int,
59 + total_rows: int,
60 + ) -> None:
61 + pct = 100.0 * rows_affected / total_rows if total_rows > 0 else 0.0
62 + entry = {
63 + "step": step,
64 + "column": column,
65 + "description": description,
66 + "rows_affected": rows_affected,
67 + "total_rows": total_rows,
68 + "pct_affected": round(pct, 2),
69 + }
70 + self.actions.append(entry)
71 + logger.info(
72 + "[%s] %s | %s rows (%.1f%%): %s",
73 + step, column, f"{rows_affected:,}", pct, description,
74 + )
75 +
76 + def to_dataframe(self) -> pd.DataFrame:
77 + return pd.DataFrame(self.actions)
78 +
79 + def summary_dict(self) -> Dict[str, Any]:
80 + return {
81 + "total_actions": len(self.actions),
82 + "total_rows_affected": sum(a["rows_affected"] for a in self.actions),
83 + "steps": [a["step"] for a in self.actions],
84 + }
85 +
86 +
87 +# Module-level record -- reset by ``run_full_cleaning``
88 +_record = CleaningRecord()
89 +
90 +
91 +def _get_record() -> CleaningRecord:
92 + return _record
93 +
94 +
95 +# ---------------------------------------------------------------------------
96 +# 1. Price cleaning
97 +# ---------------------------------------------------------------------------
98 +
99 +_PRICE_STRIP_RE = re.compile(r"[^\d.]")
100 +
101 +
102 +def clean_price(
103 + df: pd.DataFrame,
104 + *,
105 + price_col: str = "price_numeric",
106 + raw_price_col: str = "price",
107 + floor: float = PRICE_FLOOR,
108 + ceiling: float = PRICE_CEILING,
109 + record: Optional[CleaningRecord] = None,
110 +) -> pd.DataFrame:
111 + """Clean and standardise the price column.
112 +
113 + Handles both the pre-parsed ``price_numeric`` column in the cleaned
114 + sample and the raw ``$1,234.00``-style ``price`` string column in
115 + full Inside Airbnb data.
116 +
117 + Steps
118 + -----
119 + 1. If *raw_price_col* exists and *price_col* does not, parse the
120 + raw column (strip ``$``, commas, whitespace) to float.
121 + 2. Replace non-positive values with ``NaN``.
122 + 3. Replace values outside ``[floor, ceiling]`` with ``NaN``.
123 + """
124 + rec = record or _get_record()
125 + n = len(df)
126 + df = df.copy()
127 +
128 + # Parse raw string price if needed
129 + if raw_price_col in df.columns and price_col not in df.columns:
130 + raw = df[raw_price_col].astype(str)
131 + parsed = raw.apply(lambda s: _PRICE_STRIP_RE.sub("", s))
132 + df[price_col] = pd.to_numeric(parsed, errors="coerce")
133 + failed = df[price_col].isnull().sum() - df[raw_price_col].isnull().sum()
134 + rec.log("clean_price", price_col, "Parsed raw price string to numeric", max(failed, 0), n)
135 + elif price_col not in df.columns:
136 + logger.warning("Neither '%s' nor '%s' found in DataFrame", price_col, raw_price_col)
137 + return df
138 +
139 + before_missing = int(df[price_col].isnull().sum())
140 +
141 + # Non-positive -> NaN
142 + mask_nonpos = df[price_col] <= 0
143 + n_nonpos = int(mask_nonpos.sum())
144 + if n_nonpos > 0:
145 + df.loc[mask_nonpos, price_col] = np.nan
146 + rec.log("clean_price", price_col, f"Set {n_nonpos} non-positive prices to NaN", n_nonpos, n)
147 +
148 + # Below floor -> NaN
149 + mask_low = df[price_col] < floor
150 + n_low = int(mask_low.sum())
151 + if n_low > 0:
152 + df.loc[mask_low, price_col] = np.nan
153 + rec.log("clean_price", price_col, f"Set {n_low} prices below floor (${floor}) to NaN", n_low, n)
154 +
155 + # Above ceiling -> NaN
156 + mask_high = df[price_col] > ceiling
157 + n_high = int(mask_high.sum())
158 + if n_high > 0:
159 + df.loc[mask_high, price_col] = np.nan
160 + rec.log("clean_price", price_col, f"Set {n_high} prices above ceiling (${ceiling:,}) to NaN", n_high, n)
161 +
162 + after_missing = int(df[price_col].isnull().sum())
163 + total_set_nan = after_missing - before_missing
164 + rec.log(
165 + "clean_price", price_col,
166 + f"Total new NaN from price cleaning: {total_set_nan} "
167 + f"({after_missing} total missing)",
168 + total_set_nan, n,
169 + )
170 +
171 + return df
172 +
173 +
174 +def _winsorize_series(s: pd.Series, lower: float, upper: float) -> pd.Series:
175 + """Winsorize *s* at the given quantile bounds, ignoring NaN."""
176 + q_lo = s.quantile(lower)
177 + q_hi = s.quantile(upper)
178 + return s.clip(lower=q_lo, upper=q_hi)
179 +
180 +
181 +def create_price_variants(
182 + df: pd.DataFrame,
183 + *,
184 + price_col: str = "price_numeric",
185 + record: Optional[CleaningRecord] = None,
186 +) -> pd.DataFrame:
187 + """Create multiple price representations for modelling.
188 +
189 + Columns added
190 + -------------
191 + ``price_raw``
192 + Copy of the cleaned numeric price.
193 + ``price_winsor_1_99``
194 + Winsorized at 1st / 99th percentile.
195 + ``price_winsor_2_98``
196 + Winsorized at 2nd / 98th percentile.
197 + ``price_winsor_5_95``
198 + Winsorized at 5th / 95th percentile.
199 + ``log_price_raw``
200 + Natural log of raw price (NaN for non-positive).
201 + ``log_price_winsor``
202 + Natural log of the 1-99 winsorized price.
203 + """
204 + rec = record or _get_record()
205 + n = len(df)
206 + df = df.copy()
207 +
208 + if price_col not in df.columns:
209 + logger.warning("Price column '%s' not found; skipping variant creation", price_col)
210 + return df
211 +
212 + prices = df[price_col]
213 +
214 + # Raw copy
215 + df["price_raw"] = prices.copy()
216 +
217 + # Winsorized variants
218 + df["price_winsor_1_99"] = _winsorize_series(prices, *WINSORIZE_1_99)
219 + df["price_winsor_2_98"] = _winsorize_series(prices, *WINSORIZE_2_98)
220 + df["price_winsor_5_95"] = _winsorize_series(prices, *WINSORIZE_5_95)
221 +
222 + # Log transforms (only for positive values)
223 + df["log_price_raw"] = np.where(prices > 0, np.log(prices), np.nan)
224 + df["log_price_winsor"] = np.where(
225 + df["price_winsor_1_99"] > 0,
226 + np.log(df["price_winsor_1_99"]),
227 + np.nan,
228 + )
229 +
230 + variants_created = [
231 + "price_raw", "price_winsor_1_99", "price_winsor_2_98",
232 + "price_winsor_5_95", "log_price_raw", "log_price_winsor",
233 + ]
234 + rec.log(
235 + "create_price_variants", price_col,
236 + f"Created {len(variants_created)} price variants: {variants_created}",
237 + n, n,
238 + )
239 +
240 + # Log winsorization bounds for reproducibility
241 + valid_prices = prices.dropna()
242 + if len(valid_prices) > 0:
243 + for label, lo, hi in [
244 + ("1-99", *WINSORIZE_1_99),
245 + ("2-98", *WINSORIZE_2_98),
246 + ("5-95", *WINSORIZE_5_95),
247 + ]:
248 + q_lo = valid_prices.quantile(lo)
249 + q_hi = valid_prices.quantile(hi)
250 + logger.info(
251 + "Winsor %s bounds: $%.2f -- $%.2f", label, q_lo, q_hi
252 + )
253 +
254 + return df
255 +
256 +
257 +# ---------------------------------------------------------------------------
258 +# 2. Rating cleaning
259 +# ---------------------------------------------------------------------------
260 +
261 +
262 +def clean_rating(
263 + df: pd.DataFrame,
264 + *,
265 + rating_col: str = "rating",
266 + raw_rating_col: str = "review_scores_rating",
267 + record: Optional[CleaningRecord] = None,
268 +) -> pd.DataFrame:
269 + """Parse and validate rating values.
270 +
271 + Handles both pre-parsed ``rating`` (0-5 scale) and the Inside
272 + Airbnb ``review_scores_rating`` column (may be 0-100 scale in older
273 + extracts or 0-5 in newer ones).
274 + """
275 + rec = record or _get_record()
276 + n = len(df)
277 + df = df.copy()
278 +
279 + # If raw_rating_col exists but rating_col does not, create it
280 + if raw_rating_col in df.columns and rating_col not in df.columns:
281 + df[rating_col] = pd.to_numeric(df[raw_rating_col], errors="coerce")
282 + rec.log("clean_rating", rating_col, "Parsed raw rating column to numeric", n, n)
283 +
284 + if rating_col not in df.columns:
285 + logger.info("No rating column found; skipping rating cleaning")
286 + return df
287 +
288 + # Convert old 0-100 scale to 0-5
289 + if df[rating_col].max() > 5.5:
290 + mask_100 = df[rating_col] > 5.5
291 + n_converted = int(mask_100.sum())
292 + df.loc[mask_100, rating_col] = df.loc[mask_100, rating_col] / 20.0
293 + rec.log(
294 + "clean_rating", rating_col,
295 + f"Converted {n_converted} ratings from 0-100 scale to 0-5",
296 + n_converted, n,
297 + )
298 +
299 + # Clip to valid range
300 + before_nan = int(df[rating_col].isnull().sum())
301 + mask_invalid = (df[rating_col] < 0) | (df[rating_col] > 5)
302 + n_invalid = int(mask_invalid.sum())
303 + if n_invalid > 0:
304 + df.loc[mask_invalid, rating_col] = np.nan
305 + rec.log(
306 + "clean_rating", rating_col,
307 + f"Set {n_invalid} out-of-range ratings to NaN",
308 + n_invalid, n,
309 + )
310 +
311 + # Create rating category if not present
312 + if "rating_category" not in df.columns:
313 + df["rating_category"] = pd.cut(
314 + df[rating_col],
315 + bins=[-np.inf, 4.0, 4.5, 4.7, 4.9, 5.01],
316 + labels=["Average (<4.0)", "Good (4.0-4.5)", "Very Good (4.5-4.7)",
317 + "Excellent (4.7-4.9)", "Exceptional (4.9-5.0)"],
318 + right=False,
319 + ).astype("object")
320 + df.loc[df[rating_col].isnull(), "rating_category"] = "No rating"
321 + rec.log("clean_rating", "rating_category", "Created rating_category from rating", n, n)
322 +
323 + after_nan = int(df[rating_col].isnull().sum())
324 + rec.log(
325 + "clean_rating", rating_col,
326 + f"Rating cleaning complete. Missing: {after_nan} ({100*after_nan/n:.1f}%)",
327 + after_nan - before_nan, n,
328 + )
329 +
330 + return df
331 +
332 +
333 +# ---------------------------------------------------------------------------
334 +# 3. Text field cleaning
335 +# ---------------------------------------------------------------------------
336 +
337 +_WHITESPACE_RE = re.compile(r"\s+")
338 +_HTML_TAG_RE = re.compile(r"<[^>]+>")
339 +_URL_RE = re.compile(r"https?://\S+")
340 +
341 +
342 +def clean_text_fields(
343 + df: pd.DataFrame,
344 + *,
345 + text_cols: Optional[List[str]] = None,
346 + record: Optional[CleaningRecord] = None,
347 +) -> pd.DataFrame:
348 + """Clean free-text columns (name, description, neighborhood_overview, etc.).
349 +
350 + Operations: strip HTML tags, normalise whitespace, strip leading/
351 + trailing whitespace, replace empty strings with NaN.
352 + """
353 + rec = record or _get_record()
354 + n = len(df)
355 + df = df.copy()
356 +
357 + if text_cols is None:
358 + text_cols = [
359 + c for c in ("name", "description", "neighborhood_overview",
360 + "host_about", "transit", "access", "interaction",
361 + "house_rules", "notes")
362 + if c in df.columns
363 + ]
364 +
365 + for col in text_cols:
366 + if col not in df.columns:
367 + continue
368 +
369 + original_missing = int(df[col].isnull().sum())
370 + s = df[col].astype(str)
371 +
372 + # Remove HTML
373 + s = s.str.replace(_HTML_TAG_RE, " ", regex=True)
374 + # Remove URLs
375 + s = s.str.replace(_URL_RE, " ", regex=True)
376 + # Collapse whitespace
377 + s = s.str.replace(_WHITESPACE_RE, " ", regex=True)
378 + # Strip
379 + s = s.str.strip()
380 + # Empty / 'nan' -> actual NaN
381 + s = s.replace({"": np.nan, "nan": np.nan, "None": np.nan, "N/A": np.nan})
382 +
383 + df[col] = s
384 + new_missing = int(df[col].isnull().sum())
385 + cleaned_count = new_missing - original_missing
386 +
387 + rec.log(
388 + "clean_text", col,
389 + f"Stripped HTML/URLs/whitespace; {cleaned_count} new NaN",
390 + max(cleaned_count, 0), n,
391 + )
392 +
393 + return df
394 +
395 +
396 +# ---------------------------------------------------------------------------
397 +# 4. Host field cleaning
398 +# ---------------------------------------------------------------------------
399 +
400 +_PCT_RE = re.compile(r"[\d.]+")
401 +
402 +
403 +def _parse_pct_to_float(s: pd.Series) -> pd.Series:
404 + """Convert percentage strings like '87%' or '0.87' to float [0, 1]."""
405 + out = pd.to_numeric(s.astype(str).str.replace("%", "", regex=False), errors="coerce")
406 + # If values are > 1, assume they are 0-100 scale
407 + mask_pct = out > 1.0
408 + out = out.where(~mask_pct, out / 100.0)
409 + return out
410 +
411 +
412 +def clean_host_fields(
413 + df: pd.DataFrame,
414 + *,
415 + record: Optional[CleaningRecord] = None,
416 +) -> pd.DataFrame:
417 + """Parse host_response_rate, host_acceptance_rate to float [0, 1].
418 +
419 + Also converts host_is_superhost / host_identity_verified from
420 + 't'/'f' strings to boolean if needed.
421 + """
422 + rec = record or _get_record()
423 + n = len(df)
424 + df = df.copy()
425 +
426 + # Response / acceptance rates
427 + for col in ("host_response_rate", "host_acceptance_rate"):
428 + if col not in df.columns:
429 + continue
430 + before_valid = int(df[col].notna().sum())
431 + df[col] = _parse_pct_to_float(df[col])
432 + # Clip to [0, 1]
433 + df[col] = df[col].clip(0.0, 1.0)
434 + after_valid = int(df[col].notna().sum())
435 + rec.log(
436 + "clean_host", col,
437 + f"Parsed to float [0,1]. Valid: {before_valid} -> {after_valid}",
438 + abs(after_valid - before_valid), n,
439 + )
440 +
441 + # Boolean-like host columns ('t'/'f' -> True/False)
442 + bool_cols = [
443 + "host_is_superhost", "host_identity_verified",
444 + "host_has_profile_pic",
445 + ]
446 + for col in bool_cols:
447 + if col not in df.columns:
448 + continue
449 + if df[col].dtype == "bool":
450 + continue
451 + mapping = {"t": True, "f": False, "True": True, "False": False}
452 + df[col] = df[col].map(mapping)
453 + rec.log("clean_host", col, "Converted t/f strings to boolean", n, n)
454 +
455 + # is_superhost: unify from host_is_superhost if our column is missing
456 + if "is_superhost" not in df.columns and "host_is_superhost" in df.columns:
457 + df["is_superhost"] = df["host_is_superhost"].fillna(False).astype(bool)
458 + rec.log("clean_host", "is_superhost", "Created from host_is_superhost", n, n)
459 +
460 + # host_listings_count -> numeric
461 + if "host_listings_count" in df.columns:
462 + df["host_listings_count"] = pd.to_numeric(
463 + df["host_listings_count"], errors="coerce"
464 + )
465 +
466 + # host_total_listings_count -> numeric
467 + if "host_total_listings_count" in df.columns:
468 + df["host_total_listings_count"] = pd.to_numeric(
469 + df["host_total_listings_count"], errors="coerce"
470 + )
471 +
472 + return df
473 +
474 +
475 +# ---------------------------------------------------------------------------
476 +# 5. Coordinate cleaning
477 +# ---------------------------------------------------------------------------
478 +
479 +
480 +def clean_coordinates(
481 + df: pd.DataFrame,
482 + *,
483 + lat_col: str = "lat",
484 + lon_col: str = "long",
485 + lat_range: Tuple[float, float] = QUEBEC_LAT_RANGE,
486 + lon_range: Tuple[float, float] = QUEBEC_LON_RANGE,
487 + record: Optional[CleaningRecord] = None,
488 +) -> pd.DataFrame:
489 + """Validate and clean geographic coordinates for Quebec listings.
490 +
491 + Also handles the Inside Airbnb column names ``latitude`` /
492 + ``longitude`` by renaming them to ``lat`` / ``long``.
493 + """
494 + rec = record or _get_record()
495 + n = len(df)
496 + df = df.copy()
497 +
498 + # Rename full names to short aliases if needed
499 + rename_map: Dict[str, str] = {}
500 + if "latitude" in df.columns and lat_col not in df.columns:
501 + rename_map["latitude"] = lat_col
502 + if "longitude" in df.columns and lon_col not in df.columns:
503 + rename_map["longitude"] = lon_col
504 + if rename_map:
505 + df.rename(columns=rename_map, inplace=True)
506 + rec.log(
507 + "clean_coords", "rename",
508 + f"Renamed columns: {rename_map}", len(rename_map), n,
509 + )
510 +
511 + if lat_col not in df.columns or lon_col not in df.columns:
512 + logger.warning("Coordinate columns not found; skipping coordinate cleaning")
513 + return df
514 +
515 + # Ensure numeric
516 + df[lat_col] = pd.to_numeric(df[lat_col], errors="coerce")
517 + df[lon_col] = pd.to_numeric(df[lon_col], errors="coerce")
518 +
519 + # Flag out-of-range
520 + lat_min, lat_max = lat_range
521 + lon_min, lon_max = lon_range
522 +
523 + mask_bad_lat = (df[lat_col] < lat_min) | (df[lat_col] > lat_max)
524 + mask_bad_lon = (df[lon_col] < lon_min) | (df[lon_col] > lon_max)
525 + mask_bad = mask_bad_lat | mask_bad_lon
526 + n_bad = int(mask_bad.sum())
527 +
528 + if n_bad > 0:
529 + df.loc[mask_bad, lat_col] = np.nan
530 + df.loc[mask_bad, lon_col] = np.nan
531 + rec.log(
532 + "clean_coords", f"{lat_col}/{lon_col}",
533 + f"Set {n_bad} out-of-bounds coordinates to NaN "
534 + f"(lat: [{lat_min}, {lat_max}], lon: [{lon_min}, {lon_max}])",
535 + n_bad, n,
536 + )
537 +
538 + # Flag missing coordinates
539 + mask_missing = df[lat_col].isnull() | df[lon_col].isnull()
540 + n_missing = int(mask_missing.sum())
541 + rec.log(
542 + "clean_coords", f"{lat_col}/{lon_col}",
543 + f"Total missing coordinates after cleaning: {n_missing}",
544 + n_missing, n,
545 + )
546 +
547 + return df
548 +
549 +
550 +# ---------------------------------------------------------------------------
551 +# 6. Property type standardisation
552 +# ---------------------------------------------------------------------------
553 +
554 +
555 +def clean_property_type(
556 + df: pd.DataFrame,
557 + *,
558 + col: str = "property_type",
559 + mapping: Optional[Dict[str, str]] = None,
560 + record: Optional[CleaningRecord] = None,
561 +) -> pd.DataFrame:
562 + """Standardise property types to a canonical set.
563 +
564 + Uses ``PROPERTY_TYPE_MAP`` from config by default. Unmapped values
565 + are assigned ``"Other"``.
566 + """
567 + rec = record or _get_record()
568 + n = len(df)
569 + df = df.copy()
570 +
571 + if col not in df.columns:
572 + logger.info("Column '%s' not found; skipping property type cleaning", col)
573 + return df
574 +
575 + mapping = mapping or PROPERTY_TYPE_MAP
576 + original_unique = df[col].nunique()
577 +
578 + # Map known types; assign "Other" to unknowns
579 + df[col] = df[col].map(mapping).fillna("Other")
580 +
581 + new_unique = df[col].nunique()
582 + mapped_to_other = int((df[col] == "Other").sum())
583 +
584 + rec.log(
585 + "clean_property_type", col,
586 + f"Standardised {original_unique} types -> {new_unique} types. "
587 + f"{mapped_to_other} mapped to 'Other'",
588 + n, n,
589 + )
590 +
591 + return df
592 +
593 +
594 +# ---------------------------------------------------------------------------
595 +# 7. Room type standardisation
596 +# ---------------------------------------------------------------------------
597 +
598 +
599 +def clean_room_type(
600 + df: pd.DataFrame,
601 + *,
602 + col: str = "room_type",
603 + mapping: Optional[Dict[str, str]] = None,
604 + record: Optional[CleaningRecord] = None,
605 +) -> pd.DataFrame:
606 + """Standardise room types to the canonical four-level set.
607 +
608 + Maps case-insensitive variants to:
609 + ``Entire home/apt``, ``Private room``, ``Shared room``, ``Hotel room``.
610 + """
611 + rec = record or _get_record()
612 + n = len(df)
613 + df = df.copy()
614 +
615 + if col not in df.columns:
616 + logger.info("Column '%s' not found; skipping room type cleaning", col)
617 + return df
618 +
619 + mapping = mapping or ROOM_TYPE_MAP
620 + original_unique = df[col].nunique()
621 +
622 + # Try direct map first, then lower-case map
623 + mapped = df[col].map(mapping)
624 + still_null = mapped.isnull()
625 + if still_null.any():
626 + lower_mapped = df.loc[still_null, col].str.lower().str.strip().map(mapping)
627 + mapped = mapped.fillna(lower_mapped)
628 +
629 + # Anything still unmapped -> try substring matching
630 + still_null = mapped.isnull()
631 + if still_null.any():
632 + for idx in df.loc[still_null].index:
633 + raw = str(df.at[idx, col]).lower()
634 + if "entire" in raw:
635 + mapped.at[idx] = "Entire home/apt"
636 + elif "private" in raw:
637 + mapped.at[idx] = "Private room"
638 + elif "shared" in raw:
639 + mapped.at[idx] = "Shared room"
640 + elif "hotel" in raw:
641 + mapped.at[idx] = "Hotel room"
642 + else:
643 + mapped.at[idx] = "Entire home/apt" # default
644 +
645 + df[col] = mapped
646 + new_unique = df[col].nunique()
647 +
648 + rec.log(
649 + "clean_room_type", col,
650 + f"Standardised {original_unique} room types -> {new_unique}",
651 + n, n,
652 + )
653 +
654 + return df
655 +
656 +
657 +# ---------------------------------------------------------------------------
658 +# 8. Additional numeric cleaning helpers
659 +# ---------------------------------------------------------------------------
660 +
661 +
662 +def _ensure_numeric(
663 + df: pd.DataFrame,
664 + cols: List[str],
665 + record: Optional[CleaningRecord] = None,
666 +) -> pd.DataFrame:
667 + """Coerce columns to numeric, logging conversion failures."""
668 + rec = record or _get_record()
669 + n = len(df)
670 + for col in cols:
671 + if col not in df.columns:
672 + continue
673 + before_na = int(df[col].isnull().sum())
674 + df[col] = pd.to_numeric(df[col], errors="coerce")
675 + after_na = int(df[col].isnull().sum())
676 + new_na = after_na - before_na
677 + if new_na > 0:
678 + rec.log(
679 + "ensure_numeric", col,
680 + f"Coerced to numeric; {new_na} new NaN from unparseable values",
681 + new_na, n,
682 + )
683 + return df
684 +
685 +
686 +def _clean_boolean(
687 + df: pd.DataFrame,
688 + cols: List[str],
689 + record: Optional[CleaningRecord] = None,
690 +) -> pd.DataFrame:
691 + """Convert t/f/True/False/1/0 columns to proper bool dtype."""
692 + rec = record or _get_record()
693 + n = len(df)
694 + truthy = {"t", "true", "1", "yes", "True"}
695 + for col in cols:
696 + if col not in df.columns:
697 + continue
698 + if df[col].dtype == "bool":
699 + continue
700 + df[col] = df[col].astype(str).str.strip().str.lower().isin(truthy)
701 + rec.log("clean_boolean", col, "Converted to boolean dtype", n, n)
702 + return df
703 +
704 +
705 +# ---------------------------------------------------------------------------
706 +# 9. Inside Airbnb amenities parsing
707 +# ---------------------------------------------------------------------------
708 +
709 +
710 +def parse_amenities(
711 + df: pd.DataFrame,
712 + *,
713 + col: str = "amenities",
714 + record: Optional[CleaningRecord] = None,
715 +) -> pd.DataFrame:
716 + """Parse the JSON-like amenities string into count and flag columns.
717 +
718 + Inside Airbnb stores amenities as: ``'["Wifi", "Kitchen", ...]'``.
719 + We extract the count and create binary flags for key amenities.
720 + """
721 + rec = record or _get_record()
722 + n = len(df)
723 + df = df.copy()
724 +
725 + if col not in df.columns:
726 + logger.info("Column '%s' not found; skipping amenity parsing", col)
727 + return df
728 +
729 + def _count_amenities(val: Any) -> int:
730 + if pd.isnull(val):
731 + return 0
732 + s = str(val)
733 + # Count quoted items
734 + items = re.findall(r'"([^"]+)"', s)
735 + return len(items) if items else 0
736 +
737 + def _has_amenity(val: Any, keyword: str) -> bool:
738 + if pd.isnull(val):
739 + return False
740 + return keyword.lower() in str(val).lower()
741 +
742 + if "amenities_count" not in df.columns:
743 + df["amenities_count"] = df[col].apply(_count_amenities)
744 + rec.log("parse_amenities", "amenities_count", "Counted amenities from raw string", n, n)
745 +
746 + # Key amenity flags
747 + key_amenities = {
748 + "has_wifi": "wifi",
749 + "has_kitchen": "kitchen",
750 + "has_parking": "parking",
751 + "has_pool": "pool",
752 + "has_ac": "air conditioning",
753 + "has_heating": "heating",
754 + "has_washer": "washer",
755 + "has_dryer": "dryer",
756 + "has_tv": "tv",
757 + "has_hot_tub": "hot tub",
758 + "has_fireplace": "fireplace",
759 + "has_elevator": "elevator",
760 + "has_gym": "gym",
761 + }
762 +
763 + created_flags: List[str] = []
764 + for flag_col, keyword in key_amenities.items():
765 + if flag_col not in df.columns:
766 + df[flag_col] = df[col].apply(lambda v, kw=keyword: _has_amenity(v, kw))
767 + created_flags.append(flag_col)
768 +
769 + if created_flags:
770 + rec.log(
771 + "parse_amenities", "amenity_flags",
772 + f"Created {len(created_flags)} binary amenity flags",
773 + n, n,
774 + )
775 +
776 + return df
777 +
778 +
779 +# ---------------------------------------------------------------------------
780 +# 10. Master cleaning pipeline
781 +# ---------------------------------------------------------------------------
782 +
783 +
784 +def run_full_cleaning(
785 + df: pd.DataFrame,
786 + *,
787 + price_floor: float = PRICE_FLOOR,
788 + price_ceiling: float = PRICE_CEILING,
789 + create_variants: bool = True,
790 + parse_amenities_col: bool = True,
791 + verbose: bool = True,
792 +) -> pd.DataFrame:
793 + """Execute the full cleaning pipeline in the canonical order.
794 +
795 + Parameters
796 + ----------
797 + df : pd.DataFrame
798 + Raw or semi-cleaned listings data.
799 + price_floor / price_ceiling : float
800 + Plausible nightly price bounds (CAD).
801 + create_variants : bool
802 + Whether to create winsorized / log price columns.
803 + parse_amenities_col : bool
804 + Whether to parse the raw amenities string (if present).
805 + verbose : bool
806 + Extra logging.
807 +
808 + Returns
809 + -------
810 + pd.DataFrame
811 + Cleaned DataFrame with all new columns appended.
812 + """
813 + global _record
814 + _record = CleaningRecord()
815 + rec = _record
816 +
817 + n_original = len(df)
818 + logger.info("=" * 70)
819 + logger.info("STARTING FULL CLEANING PIPELINE | %s rows | %s cols", f"{n_original:,}", len(df.columns))
820 + logger.info("=" * 70)
821 +
822 + # 1. Text fields
823 + df = clean_text_fields(df, record=rec)
824 +
825 + # 2. Host fields (before price so is_superhost is available)
826 + df = clean_host_fields(df, record=rec)
827 +
828 + # 3. Prices
829 + df = clean_price(df, floor=price_floor, ceiling=price_ceiling, record=rec)
830 + if create_variants:
831 + df = create_price_variants(df, record=rec)
832 +
833 + # 4. Ratings
834 + df = clean_rating(df, record=rec)
835 +
836 + # 5. Coordinates
837 + df = clean_coordinates(df, record=rec)
838 +
839 + # 6. Property type
840 + df = clean_property_type(df, record=rec)
841 +
842 + # 7. Room type
843 + df = clean_room_type(df, record=rec)
844 +
845 + # 8. Amenities (raw string parsing)
846 + if parse_amenities_col:
847 + df = parse_amenities(df, record=rec)
848 +
849 + # 9. Ensure key numeric columns
850 + numeric_cols = [
851 + "bedrooms", "bathrooms", "guests_count", "accommodates",
852 + "beds", "amenities_count", "num_images", "num_reviews",
853 + "quality_score", "number_of_reviews",
854 + "minimum_nights", "maximum_nights",
855 + "availability_30", "availability_60", "availability_90", "availability_365",
856 + "reviews_per_month", "calculated_host_listings_count",
857 + ]
858 + df = _ensure_numeric(df, [c for c in numeric_cols if c in df.columns], record=rec)
859 +
860 + # 10. Ensure boolean columns
861 + bool_cols = ["is_superhost", "is_guest_favorite", "pets_allowed",
862 + "instant_bookable"]
863 + df = _clean_boolean(df, [c for c in bool_cols if c in df.columns], record=rec)
864 +
865 + # Summary
866 + n_final = len(df)
867 + n_cols_final = len(df.columns)
868 + logger.info("=" * 70)
869 + logger.info(
870 + "CLEANING COMPLETE | %s rows | %s cols | %s actions logged",
871 + f"{n_final:,}", n_cols_final, len(rec.actions),
872 + )
873 + logger.info("=" * 70)
874 +
875 + return df
876 +
877 +
878 +# ---------------------------------------------------------------------------
879 +# 11. Cleaning report
880 +# ---------------------------------------------------------------------------
881 +
882 +
883 +def generate_cleaning_report(
884 + df_before: pd.DataFrame,
885 + df_after: pd.DataFrame,
886 + *,
887 + record: Optional[CleaningRecord] = None,
888 +) -> Dict[str, Any]:
889 + """Generate a comprehensive report comparing pre- and post-cleaning data.
890 +
891 + Parameters
892 + ----------
893 + df_before : pd.DataFrame
894 + The DataFrame *before* cleaning.
895 + df_after : pd.DataFrame
896 + The DataFrame *after* cleaning.
897 + record : CleaningRecord, optional
898 + The cleaning audit trail; defaults to the module-level record.
899 +
900 + Returns
901 + -------
902 + dict
903 + A structured report suitable for logging or serialisation.
904 + """
905 + rec = record or _get_record()
906 +
907 + report: Dict[str, Any] = {
908 + "rows_before": len(df_before),
909 + "rows_after": len(df_after),
910 + "rows_dropped": len(df_before) - len(df_after),
911 + "cols_before": len(df_before.columns),
912 + "cols_after": len(df_after.columns),
913 + "cols_added": sorted(set(df_after.columns) - set(df_before.columns)),
914 + "cols_removed": sorted(set(df_before.columns) - set(df_after.columns)),
915 + }
916 +
917 + # Missing value comparison
918 + missing_before: Dict[str, int] = {}
919 + missing_after: Dict[str, int] = {}
920 + for col in df_before.columns:
921 + missing_before[col] = int(df_before[col].isnull().sum())
922 + for col in df_after.columns:
923 + missing_after[col] = int(df_after[col].isnull().sum())
924 + report["missing_before"] = missing_before
925 + report["missing_after"] = missing_after
926 +
927 + # Price comparison
928 + if "price_numeric" in df_before.columns and "price_numeric" in df_after.columns:
929 + p_before = df_before["price_numeric"].dropna()
930 + p_after = df_after["price_numeric"].dropna()
931 + report["price_comparison"] = {
932 + "valid_before": len(p_before),
933 + "valid_after": len(p_after),
934 + "mean_before": float(p_before.mean()) if len(p_before) > 0 else None,
935 + "mean_after": float(p_after.mean()) if len(p_after) > 0 else None,
936 + "median_before": float(p_before.median()) if len(p_before) > 0 else None,
937 + "median_after": float(p_after.median()) if len(p_after) > 0 else None,
938 + "std_before": float(p_before.std()) if len(p_before) > 0 else None,
939 + "std_after": float(p_after.std()) if len(p_after) > 0 else None,
940 + "min_before": float(p_before.min()) if len(p_before) > 0 else None,
941 + "min_after": float(p_after.min()) if len(p_after) > 0 else None,
942 + "max_before": float(p_before.max()) if len(p_before) > 0 else None,
943 + "max_after": float(p_after.max()) if len(p_after) > 0 else None,
944 + }
945 +
946 + # Cleaning actions log
947 + report["actions"] = rec.actions
948 + report["total_actions"] = len(rec.actions)
949 +
950 + # Log the report highlights
951 + logger.info("-" * 70)
952 + logger.info("CLEANING REPORT")
953 + logger.info("-" * 70)
954 + logger.info("Rows: %s -> %s (dropped %s)", f"{report['rows_before']:,}",
955 + f"{report['rows_after']:,}", report["rows_dropped"])
956 + logger.info("Columns: %s -> %s", report["cols_before"], report["cols_after"])
957 + if report["cols_added"]:
958 + logger.info("Columns added: %s", report["cols_added"])
959 + if report["cols_removed"]:
960 + logger.info("Columns removed: %s", report["cols_removed"])
961 + logger.info("Total cleaning actions: %s", report["total_actions"])
962 + logger.info("-" * 70)
963 +
964 + return report
added src/config.py +322 −0
@@ -0,0 +1,322 @@
1 +"""
2 +config.py -- Project-wide configuration for hedonic pricing analysis.
3 +
4 +Centralises every tunable constant, file path, spatial reference,
5 +modelling parameter, and visual-style setting so that downstream
6 +modules never hard-code values.
7 +"""
8 +
9 +from __future__ import annotations
10 +
11 +import os
12 +from dataclasses import dataclass, field
13 +from pathlib import Path
14 +from typing import Any, Dict, List, Tuple
15 +
16 +# ---------------------------------------------------------------------------
17 +# 1. Directory layout
18 +# ---------------------------------------------------------------------------
19 +
20 +PROJECT_ROOT: Path = Path(__file__).resolve().parent.parent
21 +
22 +# Data directories
23 +DATA_DIR: Path = PROJECT_ROOT / "data"
24 +DATA_RAW: Path = DATA_DIR / "raw"
25 +DATA_INTERIM: Path = DATA_DIR / "interim"
26 +DATA_PROCESSED: Path = DATA_DIR / "processed"
27 +DATA_DUCKDB: Path = DATA_DIR / "duckdb"
28 +
29 +# Output directories
30 +OUTPUTS_DIR: Path = PROJECT_ROOT / "results"
31 +OUTPUTS_TABLES: Path = OUTPUTS_DIR / "tables"
32 +OUTPUTS_FIGURES: Path = OUTPUTS_DIR / "figures"
33 +OUTPUTS_MODELS: Path = OUTPUTS_DIR / "models"
34 +
35 +# Paper / LaTeX directory
36 +PAPER_DIR: Path = PROJECT_ROOT / "paper"
37 +
38 +# Ensure all directories exist at import time (idempotent)
39 +for _d in (
40 + DATA_RAW, DATA_INTERIM, DATA_PROCESSED, DATA_DUCKDB,
41 + OUTPUTS_TABLES, OUTPUTS_FIGURES, OUTPUTS_MODELS, PAPER_DIR,
42 +):
43 + _d.mkdir(parents=True, exist_ok=True)
44 +
45 +# ---------------------------------------------------------------------------
46 +# 2. Raw data file paths
47 +# ---------------------------------------------------------------------------
48 +
49 +# Primary cleaned sample (always present)
50 +CLEANED_SAMPLE_CSV: Path = PROJECT_ROOT / "data" / "raw" / "cleaned_dataset_sample.csv"
51 +
52 +# Inside Airbnb full extracts (may or may not exist)
53 +LISTINGS_CSV_GZ: Path = DATA_RAW / "listings.csv.gz"
54 +CALENDAR_CSV_GZ: Path = DATA_RAW / "calendar.csv.gz"
55 +REVIEWS_CSV_GZ: Path = DATA_RAW / "reviews.csv.gz"
56 +NEIGHBOURHOODS_CSV: Path = DATA_RAW / "neighbourhoods.csv"
57 +NEIGHBOURHOODS_GEOJSON: Path = DATA_RAW / "neighbourhoods.geojson"
58 +
59 +# DuckDB database
60 +DUCKDB_PATH: Path = DATA_DUCKDB / "airbnb.duckdb"
61 +
62 +# ---------------------------------------------------------------------------
63 +# 3. Spatial / geographic constants
64 +# ---------------------------------------------------------------------------
65 +
66 +@dataclass(frozen=True)
67 +class CityCenter:
68 + """WGS-84 centroid of a Quebec city."""
69 + name: str
70 + lat: float
71 + lon: float
72 +
73 +
74 +CITY_CENTERS: Dict[str, CityCenter] = {
75 + "Montréal": CityCenter("Montréal", 45.5017, -73.5673),
76 + "Montreal": CityCenter("Montréal", 45.5017, -73.5673),
77 + "Québec": CityCenter("Québec", 46.8139, -71.2080),
78 + "Quebec": CityCenter("Québec", 46.8139, -71.2080),
79 + "Gatineau": CityCenter("Gatineau", 45.4765, -75.7013),
80 + "Sherbrooke": CityCenter("Sherbrooke", 45.4042, -71.8929),
81 + "Laval": CityCenter("Laval", 45.6066, -73.7124),
82 + "Trois-Rivières": CityCenter("Trois-Rivières", 46.3432, -72.5432),
83 + "Trois-Rivieres": CityCenter("Trois-Rivières", 46.3432, -72.5432),
84 + "Saguenay": CityCenter("Saguenay", 48.4279, -71.0548),
85 + "Lévis": CityCenter("Lévis", 46.8032, -71.1780),
86 + "Levis": CityCenter("Lévis", 46.8032, -71.1780),
87 + "Terrebonne": CityCenter("Terrebonne", 45.7005, -73.6474),
88 + "Longueuil": CityCenter("Longueuil", 45.5312, -73.5185),
89 + "Rimouski": CityCenter("Rimouski", 48.4489, -68.5234),
90 + "Saint-Hyacinthe": CityCenter("Saint-Hyacinthe", 45.6307, -72.9570),
91 + "Drummondville": CityCenter("Drummondville", 45.8838, -72.4843),
92 + "Granby": CityCenter("Granby", 45.4001, -72.7329),
93 + "Mont-Tremblant": CityCenter("Mont-Tremblant", 46.2088, -74.5849),
94 + "Magog": CityCenter("Magog", 45.2668, -72.1419),
95 + "Charlevoix": CityCenter("Charlevoix", 47.4389, -70.5025),
96 +}
97 +
98 +# Quebec bounding box (generous, covers all of southern Quebec + some northern)
99 +QUEBEC_LAT_RANGE: Tuple[float, float] = (44.5, 55.5)
100 +QUEBEC_LON_RANGE: Tuple[float, float] = (-80.0, -56.0)
101 +
102 +# Spatial buffer distances in metres
103 +SPATIAL_BUFFERS_M: List[int] = [250, 500, 1_000, 2_000]
104 +
105 +# Earth radius for haversine (km)
106 +EARTH_RADIUS_KM: float = 6_371.0
107 +
108 +# ---------------------------------------------------------------------------
109 +# 4. Price & winsorization
110 +# ---------------------------------------------------------------------------
111 +
112 +# Winsorization percentile pairs (lower, upper)
113 +WINSORIZE_1_99: Tuple[float, float] = (0.01, 0.99)
114 +WINSORIZE_2_98: Tuple[float, float] = (0.02, 0.98)
115 +WINSORIZE_5_95: Tuple[float, float] = (0.05, 0.95)
116 +
117 +# Default winsorization used in modelling
118 +DEFAULT_WINSORIZE: Tuple[float, float] = WINSORIZE_1_99
119 +
120 +# Minimum valid nightly price in CAD
121 +PRICE_FLOOR: float = 10.0
122 +
123 +# Maximum plausible nightly price in CAD
124 +PRICE_CEILING: float = 25_000.0
125 +
126 +# ---------------------------------------------------------------------------
127 +# 5. Quantile regression thresholds
128 +# ---------------------------------------------------------------------------
129 +
130 +QUANTILE_THRESHOLDS: List[float] = [0.10, 0.25, 0.50, 0.75, 0.90]
131 +
132 +# ---------------------------------------------------------------------------
133 +# 6. Feature groups
134 +# ---------------------------------------------------------------------------
135 +
136 +FEATURE_GROUPS: Dict[str, List[str]] = {
137 + "structural": [
138 + "bedrooms", "bathrooms", "guests_count", "amenities_count",
139 + ],
140 + "location": [
141 + "lat", "long", "dist_city_center_km",
142 + ],
143 + "quality": [
144 + "rating", "quality_score", "num_reviews", "num_images",
145 + ],
146 + "host": [
147 + "is_superhost", "host_response_rate", "host_acceptance_rate",
148 + "host_listings_count",
149 + ],
150 + "property": [
151 + "property_type", "room_type",
152 + ],
153 + "amenity_flags": [
154 + "pets_allowed", "is_guest_favorite",
155 + ],
156 +}
157 +
158 +# Flat list of all feature names (order-preserving)
159 +ALL_FEATURES: List[str] = [
160 + feat for group in FEATURE_GROUPS.values() for feat in group
161 +]
162 +
163 +# ---------------------------------------------------------------------------
164 +# 7. Property / room type mappings
165 +# ---------------------------------------------------------------------------
166 +
167 +PROPERTY_TYPE_MAP: Dict[str, str] = {
168 + "Rental unit": "Rental unit",
169 + "House": "House",
170 + "Cabin/Chalet": "Cabin/Chalet",
171 + "Condo": "Condo",
172 + "Apartment": "Apartment",
173 + "Other": "Other",
174 + # Inside Airbnb variants
175 + "Entire rental unit": "Rental unit",
176 + "Private room in rental unit": "Rental unit",
177 + "Entire home": "House",
178 + "Entire house": "House",
179 + "Entire cabin": "Cabin/Chalet",
180 + "Entire chalet": "Cabin/Chalet",
181 + "Entire condo": "Condo",
182 + "Entire condominium (condo)": "Condo",
183 + "Entire loft": "Apartment",
184 + "Entire guest suite": "Apartment",
185 + "Entire guesthouse": "House",
186 + "Entire townhouse": "House",
187 + "Entire cottage": "Cabin/Chalet",
188 + "Entire bungalow": "House",
189 + "Entire villa": "House",
190 + "Tiny home": "Other",
191 + "Treehouse": "Other",
192 + "Boat": "Other",
193 + "Camper/RV": "Other",
194 + "Farm stay": "Other",
195 + "Yurt": "Other",
196 + "Tent": "Other",
197 + "Castle": "Other",
198 + "Private room": "Other",
199 + "Shared room": "Other",
200 +}
201 +
202 +ROOM_TYPE_MAP: Dict[str, str] = {
203 + "Entire home/apt": "Entire home/apt",
204 + "Private room": "Private room",
205 + "Shared room": "Shared room",
206 + "Hotel room": "Hotel room",
207 + # Normalised aliases
208 + "entire home": "Entire home/apt",
209 + "entire place": "Entire home/apt",
210 + "private": "Private room",
211 + "shared": "Shared room",
212 + "hotel": "Hotel room",
213 +}
214 +
215 +# ---------------------------------------------------------------------------
216 +# 8. Model catalogue
217 +# ---------------------------------------------------------------------------
218 +
219 +MODEL_NAMES: List[str] = [
220 + "ols_linear",
221 + "ols_log",
222 + "ols_semilog",
223 + "robust_huber",
224 + "robust_bisquare",
225 + "quantile_10",
226 + "quantile_25",
227 + "quantile_50",
228 + "quantile_75",
229 + "quantile_90",
230 + "spatial_lag",
231 + "spatial_error",
232 + "gwr",
233 + "rf_regressor",
234 + "gradient_boosting",
235 + "xgboost",
236 + "lasso",
237 + "ridge",
238 + "elastic_net",
239 +]
240 +
241 +# ---------------------------------------------------------------------------
242 +# 9. Reproducibility
243 +# ---------------------------------------------------------------------------
244 +
245 +RANDOM_SEED: int = 42
246 +TEST_SIZE: float = 0.20
247 +CV_FOLDS: int = 5
248 +
249 +# ---------------------------------------------------------------------------
250 +# 10. Visualisation palettes & figure settings
251 +# ---------------------------------------------------------------------------
252 +
253 +# Colour palettes
254 +PALETTE_SEQUENTIAL: str = "YlOrRd"
255 +PALETTE_DIVERGING: str = "RdBu_r"
256 +PALETTE_CATEGORICAL: List[str] = [
257 + "#1f77b4", # muted blue
258 + "#ff7f0e", # safety orange
259 + "#2ca02c", # cooked-asparagus green
260 + "#d62728", # brick red
261 + "#9467bd", # muted purple
262 + "#8c564b", # chestnut brown
263 + "#e377c2", # raspberry-yoghurt pink
264 + "#7f7f7f", # middle grey
265 + "#bcbd22", # curry yellow-green
266 + "#17becf", # blue-teal
267 +]
268 +
269 +PALETTE_PROPERTY_TYPE: Dict[str, str] = {
270 + "Rental unit": "#1f77b4",
271 + "House": "#2ca02c",
272 + "Cabin/Chalet": "#8c564b",
273 + "Condo": "#ff7f0e",
274 + "Apartment": "#9467bd",
275 + "Other": "#7f7f7f",
276 +}
277 +
278 +PALETTE_PRICE_CATEGORY: Dict[str, str] = {
279 + "Budget (<$100)": "#2ca02c",
280 + "Moderate ($100-200)": "#1f77b4",
281 + "Premium ($200-400)": "#ff7f0e",
282 + "Luxury ($400-1000)": "#d62728",
283 + "Ultra-Luxury (>$1000)": "#9467bd",
284 + "Unknown": "#7f7f7f",
285 +}
286 +
287 +# Figure defaults
288 +FIGURE_DPI: int = 300
289 +FIGURE_FORMAT: str = "pdf"
290 +FIGURE_SIZE_SINGLE: Tuple[float, float] = (6.5, 4.5)
291 +FIGURE_SIZE_DOUBLE: Tuple[float, float] = (13.0, 4.5)
292 +FIGURE_SIZE_FULL: Tuple[float, float] = (13.0, 9.0)
293 +FIGURE_FONT_FAMILY: str = "serif"
294 +FIGURE_FONT_SIZE: int = 11
295 +
296 +# ---------------------------------------------------------------------------
297 +# 11. LaTeX table formatting
298 +# ---------------------------------------------------------------------------
299 +
300 +@dataclass(frozen=True)
301 +class LaTeXSettings:
302 + """Settings for stargazer-style LaTeX table output."""
303 + float_format: str = "%.4f"
304 + significance_levels: Tuple[float, ...] = (0.01, 0.05, 0.10)
305 + significance_symbols: Tuple[str, ...] = ("***", "**", "*")
306 + caption_position: str = "top"
307 + label_prefix: str = "tab:"
308 + font_size: str = "\\footnotesize"
309 + column_sep: str = " & "
310 + booktabs: bool = True
311 + threeparttable: bool = True
312 + note_width: str = "0.95\\linewidth"
313 +
314 +LATEX: LaTeXSettings = LaTeXSettings()
315 +
316 +# ---------------------------------------------------------------------------
317 +# 12. Logging
318 +# ---------------------------------------------------------------------------
319 +
320 +LOG_LEVEL: str = os.environ.get("HEDONIC_LOG_LEVEL", "INFO")
321 +LOG_FORMAT: str = "%(asctime)s | %(name)-20s | %(levelname)-8s | %(message)s"
322 +LOG_DATE_FORMAT: str = "%Y-%m-%d %H:%M:%S"
added src/data_loader.py +549 −0
@@ -0,0 +1,549 @@
1 +"""
2 +data_loader.py -- Data ingestion and validation for hedonic pricing analysis.
3 +
4 +Provides a uniform interface for loading the cleaned sample CSV, full
5 +Inside Airbnb extracts (listings, calendar, reviews, neighbourhoods),
6 +and any pre-processed interim artefacts. Every loader gracefully
7 +handles missing files and returns ``None`` when data is unavailable.
8 +"""
9 +
10 +from __future__ import annotations
11 +
12 +import logging
13 +from pathlib import Path
14 +from typing import Any, Dict, List, Optional, Tuple, Union
15 +
16 +import numpy as np
17 +import pandas as pd
18 +
19 +from src.config import (
20 + CLEANED_SAMPLE_CSV,
21 + LISTINGS_CSV_GZ,
22 + CALENDAR_CSV_GZ,
23 + REVIEWS_CSV_GZ,
24 + NEIGHBOURHOODS_CSV,
25 + NEIGHBOURHOODS_GEOJSON,
26 + DATA_INTERIM,
27 + DATA_PROCESSED,
28 + QUEBEC_LAT_RANGE,
29 + QUEBEC_LON_RANGE,
30 + LOG_LEVEL,
31 + LOG_FORMAT,
32 + LOG_DATE_FORMAT,
33 +)
34 +
35 +# ---------------------------------------------------------------------------
36 +# Logger
37 +# ---------------------------------------------------------------------------
38 +
39 +logging.basicConfig(format=LOG_FORMAT, datefmt=LOG_DATE_FORMAT, level=LOG_LEVEL)
40 +logger = logging.getLogger(__name__)
41 +
42 +# ---------------------------------------------------------------------------
43 +# Schema expectations (column name -> expected dtype family)
44 +# ---------------------------------------------------------------------------
45 +
46 +_EXPECTED_COLUMNS_SAMPLE: Dict[str, str] = {
47 + "name": "object",
48 + "city": "object",
49 + "property_type": "object",
50 + "price_numeric": "float",
51 + "price_category": "object",
52 + "rating": "float",
53 + "rating_category": "object",
54 + "bedrooms": "int",
55 + "bathrooms": "float",
56 + "guests_count": "int",
57 + "amenities_count": "int",
58 + "num_images": "int",
59 + "num_reviews": "float",
60 + "quality_score": "float",
61 + "is_superhost": "bool",
62 + "is_guest_favorite": "bool",
63 + "pets_allowed": "bool",
64 + "lat": "float",
65 + "long": "float",
66 +}
67 +
68 +# Columns that must be present for the pipeline to proceed
69 +_REQUIRED_COLUMNS: List[str] = [
70 + "price_numeric", "bedrooms", "bathrooms", "guests_count",
71 + "lat", "long", "property_type",
72 +]
73 +
74 +# ---------------------------------------------------------------------------
75 +# Internal helpers
76 +# ---------------------------------------------------------------------------
77 +
78 +
79 +def _file_available(path: Path) -> bool:
80 + """Return True if *path* exists and is non-empty."""
81 + return path.is_file() and path.stat().st_size > 0
82 +
83 +
84 +def _infer_separator(path: Path) -> str:
85 + """Sniff the first line to decide between comma and tab."""
86 + with open(path, "r", encoding="utf-8", errors="replace") as fh:
87 + first_line = fh.readline()
88 + if "\t" in first_line:
89 + return "\t"
90 + return ","
91 +
92 +
93 +def _safe_read_csv(
94 + path: Path,
95 + *,
96 + compression: Optional[str] = None,
97 + nrows: Optional[int] = None,
98 + usecols: Optional[List[str]] = None,
99 + dtype: Optional[Dict[str, Any]] = None,
100 + low_memory: bool = False,
101 +) -> Optional[pd.DataFrame]:
102 + """Read a CSV/TSV with graceful error handling.
103 +
104 + Returns ``None`` when the file does not exist or cannot be parsed.
105 + """
106 + if not _file_available(path):
107 + logger.info("File not found or empty: %s", path)
108 + return None
109 +
110 + sep = "," if compression else _infer_separator(path)
111 +
112 + try:
113 + df = pd.read_csv(
114 + path,
115 + sep=sep,
116 + compression=compression or "infer",
117 + nrows=nrows,
118 + usecols=usecols,
119 + dtype=dtype,
120 + low_memory=low_memory,
121 + encoding="utf-8",
122 + on_bad_lines="warn",
123 + )
124 + logger.info(
125 + "Loaded %s rows x %s cols from %s",
126 + f"{len(df):,}",
127 + len(df.columns),
128 + path.name,
129 + )
130 + return df
131 + except Exception:
132 + logger.exception("Failed to read %s", path)
133 + return None
134 +
135 +
136 +# ---------------------------------------------------------------------------
137 +# Public loaders
138 +# ---------------------------------------------------------------------------
139 +
140 +
141 +def load_listings(
142 + *,
143 + path: Optional[Union[str, Path]] = None,
144 + nrows: Optional[int] = None,
145 + usecols: Optional[List[str]] = None,
146 +) -> pd.DataFrame:
147 + """Load the primary listings dataset.
148 +
149 + Resolution order:
150 + 1. Explicit *path* argument.
151 + 2. Full Inside Airbnb ``listings.csv.gz`` in ``data/raw/``.
152 + 3. ``cleaned_dataset_sample.csv`` at project root.
153 +
154 + Raises
155 + ------
156 + FileNotFoundError
157 + If no listing data can be found at any location.
158 + """
159 + if path is not None:
160 + p = Path(path)
161 + df = _safe_read_csv(p, nrows=nrows, usecols=usecols)
162 + if df is not None:
163 + return df
164 + raise FileNotFoundError(f"Specified listing file not found: {p}")
165 +
166 + # Try full extract first
167 + if _file_available(LISTINGS_CSV_GZ):
168 + df = _safe_read_csv(
169 + LISTINGS_CSV_GZ,
170 + compression="gzip",
171 + nrows=nrows,
172 + usecols=usecols,
173 + low_memory=True,
174 + )
175 + if df is not None:
176 + return df
177 +
178 + # Fall back to cleaned sample
179 + if _file_available(CLEANED_SAMPLE_CSV):
180 + df = _safe_read_csv(CLEANED_SAMPLE_CSV, nrows=nrows, usecols=usecols)
181 + if df is not None:
182 + return df
183 +
184 + raise FileNotFoundError(
185 + "No listing data found. Place listings.csv.gz in data/raw/ "
186 + "or ensure cleaned_dataset_sample.csv exists at the project root."
187 + )
188 +
189 +
190 +def load_calendar(
191 + *,
192 + path: Optional[Union[str, Path]] = None,
193 + nrows: Optional[int] = None,
194 +) -> Optional[pd.DataFrame]:
195 + """Load Inside Airbnb calendar data (availability & price over time).
196 +
197 + Returns ``None`` if the file is not available.
198 + """
199 + p = Path(path) if path else CALENDAR_CSV_GZ
200 + compression = "gzip" if p.suffix == ".gz" else None
201 + df = _safe_read_csv(p, compression=compression, nrows=nrows, low_memory=True)
202 + if df is not None and "date" in df.columns:
203 + df["date"] = pd.to_datetime(df["date"], errors="coerce")
204 + return df
205 +
206 +
207 +def load_reviews(
208 + *,
209 + path: Optional[Union[str, Path]] = None,
210 + nrows: Optional[int] = None,
211 +) -> Optional[pd.DataFrame]:
212 + """Load Inside Airbnb reviews data.
213 +
214 + Returns ``None`` if the file is not available.
215 + """
216 + p = Path(path) if path else REVIEWS_CSV_GZ
217 + compression = "gzip" if p.suffix == ".gz" else None
218 + df = _safe_read_csv(p, compression=compression, nrows=nrows, low_memory=True)
219 + if df is not None and "date" in df.columns:
220 + df["date"] = pd.to_datetime(df["date"], errors="coerce")
221 + return df
222 +
223 +
224 +def load_neighbourhoods(
225 + *,
226 + path: Optional[Union[str, Path]] = None,
227 + prefer_geojson: bool = True,
228 +) -> Optional[pd.DataFrame]:
229 + """Load neighbourhood boundaries or names.
230 +
231 + If *prefer_geojson* is True (default), attempts GeoJSON first, then
232 + CSV. Returns a plain ``DataFrame`` (not GeoDataFrame) unless
233 + geopandas is installed, in which case it returns a ``GeoDataFrame``.
234 +
235 + Returns ``None`` if no file is available.
236 + """
237 + csv_path = Path(path) if path else NEIGHBOURHOODS_CSV
238 + geojson_path = NEIGHBOURHOODS_GEOJSON
239 +
240 + if prefer_geojson and _file_available(geojson_path):
241 + try:
242 + import geopandas as gpd # type: ignore[import-untyped]
243 +
244 + gdf = gpd.read_file(geojson_path)
245 + logger.info(
246 + "Loaded %s neighbourhoods from GeoJSON", f"{len(gdf):,}"
247 + )
248 + return gdf
249 + except ImportError:
250 + logger.warning(
251 + "geopandas not installed; falling back to CSV neighbourhoods"
252 + )
253 + except Exception:
254 + logger.exception("Failed to read GeoJSON: %s", geojson_path)
255 +
256 + if _file_available(csv_path):
257 + return _safe_read_csv(csv_path)
258 +
259 + logger.info("No neighbourhood data available")
260 + return None
261 +
262 +
263 +def load_interim(name: str) -> Optional[pd.DataFrame]:
264 + """Load a parquet or CSV from ``data/interim/`` by stem name."""
265 + parquet = DATA_INTERIM / f"{name}.parquet"
266 + csv = DATA_INTERIM / f"{name}.csv"
267 +
268 + if _file_available(parquet):
269 + try:
270 + df = pd.read_parquet(parquet)
271 + logger.info("Loaded interim parquet: %s (%s rows)", name, f"{len(df):,}")
272 + return df
273 + except Exception:
274 + logger.exception("Failed to read interim parquet: %s", parquet)
275 +
276 + if _file_available(csv):
277 + return _safe_read_csv(csv)
278 +
279 + logger.info("Interim artefact '%s' not found", name)
280 + return None
281 +
282 +
283 +def load_processed(name: str) -> Optional[pd.DataFrame]:
284 + """Load a parquet or CSV from ``data/processed/`` by stem name."""
285 + parquet = DATA_PROCESSED / f"{name}.parquet"
286 + csv = DATA_PROCESSED / f"{name}.csv"
287 +
288 + if _file_available(parquet):
289 + try:
290 + df = pd.read_parquet(parquet)
291 + logger.info("Loaded processed parquet: %s (%s rows)", name, f"{len(df):,}")
292 + return df
293 + except Exception:
294 + logger.exception("Failed to read processed parquet: %s", parquet)
295 +
296 + if _file_available(csv):
297 + return _safe_read_csv(csv)
298 +
299 + logger.info("Processed artefact '%s' not found", name)
300 + return None
301 +
302 +
303 +def load_all_data(
304 + *,
305 + nrows: Optional[int] = None,
306 +) -> Dict[str, Optional[pd.DataFrame]]:
307 + """Master loader -- returns a dict of every available dataset.
308 +
309 + Keys
310 + ----
311 + ``"listings"``
312 + Always present (raises if not).
313 + ``"calendar"``, ``"reviews"``, ``"neighbourhoods"``
314 + ``None`` when the corresponding raw file is missing.
315 +
316 + Parameters
317 + ----------
318 + nrows : int, optional
319 + Limit rows for quick exploratory loads.
320 + """
321 + data: Dict[str, Optional[pd.DataFrame]] = {}
322 +
323 + data["listings"] = load_listings(nrows=nrows)
324 + data["calendar"] = load_calendar(nrows=nrows)
325 + data["reviews"] = load_reviews(nrows=nrows)
326 + data["neighbourhoods"] = load_neighbourhoods()
327 +
328 + available = [k for k, v in data.items() if v is not None]
329 + logger.info("Loaded datasets: %s", ", ".join(available))
330 + return data
331 +
332 +
333 +# ---------------------------------------------------------------------------
334 +# Validation
335 +# ---------------------------------------------------------------------------
336 +
337 +
338 +def validate_data(
339 + df: pd.DataFrame,
340 + *,
341 + strict: bool = False,
342 +) -> Dict[str, Any]:
343 + """Validate a listings DataFrame against expected schema.
344 +
345 + Parameters
346 + ----------
347 + df : pd.DataFrame
348 + The listings data to validate.
349 + strict : bool
350 + If True, raise ``ValueError`` on critical failures instead of
351 + just logging warnings.
352 +
353 + Returns
354 + -------
355 + dict
356 + ``{"valid": bool, "warnings": [...], "errors": [...]}``.
357 + """
358 + warnings_list: List[str] = []
359 + errors_list: List[str] = []
360 +
361 + # -- Required columns --------------------------------------------------
362 + missing_required = [c for c in _REQUIRED_COLUMNS if c not in df.columns]
363 + if missing_required:
364 + msg = f"Missing required columns: {missing_required}"
365 + errors_list.append(msg)
366 + logger.error(msg)
367 +
368 + # -- Expected columns (informational) -----------------------------------
369 + missing_expected = [
370 + c for c in _EXPECTED_COLUMNS_SAMPLE if c not in df.columns
371 + ]
372 + if missing_expected:
373 + msg = f"Missing expected (non-critical) columns: {missing_expected}"
374 + warnings_list.append(msg)
375 + logger.warning(msg)
376 +
377 + # -- Row count ----------------------------------------------------------
378 + if len(df) == 0:
379 + errors_list.append("DataFrame is empty")
380 + elif len(df) < 100:
381 + warnings_list.append(
382 + f"Very small dataset ({len(df)} rows); results may be unreliable"
383 + )
384 +
385 + # -- Price range --------------------------------------------------------
386 + if "price_numeric" in df.columns:
387 + prices = df["price_numeric"].dropna()
388 + if len(prices) == 0:
389 + errors_list.append("All price values are missing")
390 + else:
391 + if prices.min() <= 0:
392 + warnings_list.append(
393 + f"Prices include non-positive values (min={prices.min():.2f})"
394 + )
395 + if prices.max() > 100_000:
396 + warnings_list.append(
397 + f"Extreme price outliers present (max={prices.max():,.0f})"
398 + )
399 +
400 + # -- Coordinate ranges --------------------------------------------------
401 + if "lat" in df.columns and "long" in df.columns:
402 + lat_min, lat_max = QUEBEC_LAT_RANGE
403 + lon_min, lon_max = QUEBEC_LON_RANGE
404 +
405 + out_of_bounds = df[
406 + (df["lat"] < lat_min)
407 + | (df["lat"] > lat_max)
408 + | (df["long"] < lon_min)
409 + | (df["long"] > lon_max)
410 + ]
411 + if len(out_of_bounds) > 0:
412 + pct = 100.0 * len(out_of_bounds) / len(df)
413 + warnings_list.append(
414 + f"{len(out_of_bounds)} listings ({pct:.1f}%) have coordinates "
415 + f"outside Quebec bounding box"
416 + )
417 +
418 + # -- Duplicate coordinates (exact) --------------------------------------
419 + if "lat" in df.columns and "long" in df.columns:
420 + dup_coords = df.duplicated(subset=["lat", "long"], keep=False).sum()
421 + if dup_coords > 0:
422 + pct = 100.0 * dup_coords / len(df)
423 + warnings_list.append(
424 + f"{dup_coords} listings ({pct:.1f}%) share exact coordinates "
425 + f"(possible duplicates or jittered points)"
426 + )
427 +
428 + # -- Boolean columns ----------------------------------------------------
429 + for col in ("is_superhost", "is_guest_favorite", "pets_allowed"):
430 + if col in df.columns and df[col].dtype not in ("bool", "boolean"):
431 + warnings_list.append(
432 + f"Column '{col}' has dtype {df[col].dtype}, expected bool"
433 + )
434 +
435 + # -- Rating range -------------------------------------------------------
436 + if "rating" in df.columns:
437 + valid_ratings = df["rating"].dropna()
438 + if len(valid_ratings) > 0:
439 + if valid_ratings.min() < 0 or valid_ratings.max() > 5:
440 + warnings_list.append(
441 + f"Ratings outside 0-5 range: "
442 + f"min={valid_ratings.min():.2f}, max={valid_ratings.max():.2f}"
443 + )
444 +
445 + # -- Summary ------------------------------------------------------------
446 + is_valid = len(errors_list) == 0
447 + result = {
448 + "valid": is_valid,
449 + "warnings": warnings_list,
450 + "errors": errors_list,
451 + "n_rows": len(df),
452 + "n_cols": len(df.columns),
453 + "columns": list(df.columns),
454 + }
455 +
456 + if is_valid:
457 + logger.info(
458 + "Validation passed (%s warnings)", len(warnings_list)
459 + )
460 + else:
461 + logger.error("Validation FAILED with %s error(s)", len(errors_list))
462 +
463 + if strict and not is_valid:
464 + raise ValueError(
465 + "Data validation failed:\n" + "\n".join(errors_list)
466 + )
467 +
468 + return result
469 +
470 +
471 +# ---------------------------------------------------------------------------
472 +# Summary statistics
473 +# ---------------------------------------------------------------------------
474 +
475 +
476 +def get_data_summary(df: pd.DataFrame) -> Dict[str, Any]:
477 + """Return a rich summary-statistics dictionary for a listings DataFrame.
478 +
479 + Useful for dashboards, logging, and the cleaning report.
480 + """
481 + summary: Dict[str, Any] = {
482 + "n_rows": len(df),
483 + "n_cols": len(df.columns),
484 + "columns": list(df.columns),
485 + "dtypes": {col: str(dt) for col, dt in df.dtypes.items()},
486 + "missing_counts": df.isnull().sum().to_dict(),
487 + "missing_pct": (100.0 * df.isnull().mean()).round(2).to_dict(),
488 + }
489 +
490 + # Numeric column stats
491 + numeric_cols = df.select_dtypes(include=[np.number]).columns.tolist()
492 + if numeric_cols:
493 + desc = df[numeric_cols].describe(percentiles=[0.01, 0.05, 0.25, 0.5, 0.75, 0.95, 0.99])
494 + summary["numeric_stats"] = desc.to_dict()
495 +
496 + # Price specifics
497 + if "price_numeric" in df.columns:
498 + prices = df["price_numeric"].dropna()
499 + summary["price"] = {
500 + "count": int(len(prices)),
501 + "missing": int(df["price_numeric"].isnull().sum()),
502 + "mean": float(prices.mean()) if len(prices) > 0 else None,
503 + "median": float(prices.median()) if len(prices) > 0 else None,
504 + "std": float(prices.std()) if len(prices) > 0 else None,
505 + "min": float(prices.min()) if len(prices) > 0 else None,
506 + "max": float(prices.max()) if len(prices) > 0 else None,
507 + "p1": float(prices.quantile(0.01)) if len(prices) > 0 else None,
508 + "p5": float(prices.quantile(0.05)) if len(prices) > 0 else None,
509 + "p95": float(prices.quantile(0.95)) if len(prices) > 0 else None,
510 + "p99": float(prices.quantile(0.99)) if len(prices) > 0 else None,
511 + "skewness": float(prices.skew()) if len(prices) > 0 else None,
512 + "kurtosis": float(prices.kurtosis()) if len(prices) > 0 else None,
513 + }
514 +
515 + # Categorical breakdowns
516 + for cat_col in ("city", "property_type", "price_category", "rating_category", "room_type"):
517 + if cat_col in df.columns:
518 + vc = df[cat_col].value_counts(dropna=False)
519 + summary[f"{cat_col}_counts"] = vc.to_dict()
520 +
521 + # Boolean flags
522 + for bool_col in ("is_superhost", "is_guest_favorite", "pets_allowed"):
523 + if bool_col in df.columns:
524 + true_count = int(df[bool_col].sum())
525 + summary[f"{bool_col}_rate"] = round(
526 + 100.0 * true_count / len(df), 2
527 + ) if len(df) > 0 else 0.0
528 +
529 + # Geo extent
530 + if "lat" in df.columns and "long" in df.columns:
531 + summary["geo_extent"] = {
532 + "lat_min": float(df["lat"].min()),
533 + "lat_max": float(df["lat"].max()),
534 + "lon_min": float(df["long"].min()),
535 + "lon_max": float(df["long"].max()),
536 + }
537 +
538 + # Top cities by count
539 + if "city" in df.columns:
540 + top_cities = df["city"].value_counts().head(15)
541 + summary["top_cities"] = top_cities.to_dict()
542 +
543 + logger.info(
544 + "Data summary: %s rows, %s cols, %s numeric features",
545 + f"{summary['n_rows']:,}",
546 + summary["n_cols"],
547 + len(numeric_cols),
548 + )
549 + return summary
added src/feature_engineering.py +240 −0
@@ -0,0 +1,240 @@
1 +"""Master feature engineering for hedonic pricing analysis of Airbnb listings."""
2 +
3 +from __future__ import annotations
4 +
5 +import logging
6 +from typing import Any
7 +
8 +import numpy as np
9 +import pandas as pd
10 +
11 +logger = logging.getLogger(__name__)
12 +
13 +# ---------------------------------------------------------------------------
14 +# Structural features
15 +# ---------------------------------------------------------------------------
16 +
17 +def create_structural_features(df: pd.DataFrame) -> pd.DataFrame:
18 + """Derive structural / capacity features from bedrooms, bathrooms, guests_count, property_type."""
19 + out = df.copy()
20 +
21 + # Log transforms (add 1 to avoid log(0))
22 + out["log_accommodates"] = np.log1p(out["guests_count"])
23 + out["log_bedrooms"] = np.log1p(out["bedrooms"])
24 + out["log_beds"] = np.log1p(out["bedrooms"]) # beds not available; proxy with bedrooms
25 + out["log_bathrooms"] = np.log1p(out["bathrooms"])
26 +
27 + # Per-guest ratios (guard against division by zero)
28 + guests_safe = out["guests_count"].replace(0, np.nan)
29 + out["bathrooms_per_guest"] = out["bathrooms"] / guests_safe
30 + out["bedrooms_per_guest"] = out["bedrooms"] / guests_safe
31 + out["bathrooms_per_guest"] = out["bathrooms_per_guest"].fillna(0.0)
32 + out["bedrooms_per_guest"] = out["bedrooms_per_guest"].fillna(0.0)
33 +
34 + # Property-type dummies
35 + pt_lower = out["property_type"].str.lower().fillna("")
36 + out["is_entire_home"] = (
37 + pt_lower.str.contains("house")
38 + | pt_lower.str.contains("condo")
39 + | pt_lower.str.contains("apartment")
40 + | pt_lower.str.contains("cabin")
41 + | pt_lower.str.contains("chalet")
42 + ).astype(int)
43 + out["is_private_room"] = pt_lower.str.contains("rental unit").astype(int)
44 + out["is_shared_room"] = pt_lower.str.contains("other").astype(int)
45 +
46 + # Capacity flag
47 + out["large_capacity_listing"] = (out["guests_count"] >= 8).astype(int)
48 +
49 + # Polynomial terms
50 + out["accommodates_sq"] = out["guests_count"] ** 2
51 + out["bedrooms_sq"] = out["bedrooms"] ** 2
52 + out["bathrooms_sq"] = out["bathrooms"] ** 2
53 + out["accommodates_bedrooms"] = out["guests_count"] * out["bedrooms"]
54 + out["accommodates_bathrooms"] = out["guests_count"] * out["bathrooms"]
55 +
56 + logger.info("Structural features created: %d new columns", out.shape[1] - df.shape[1])
57 + return out
58 +
59 +
60 +# ---------------------------------------------------------------------------
61 +# Host features
62 +# ---------------------------------------------------------------------------
63 +
64 +def create_host_features(df: pd.DataFrame) -> pd.DataFrame:
65 + """Derive host-quality features."""
66 + out = df.copy()
67 +
68 + # is_superhost already boolean; cast to int for modelling
69 + out["superhost_flag"] = out["is_superhost"].astype(int)
70 +
71 + # host_professional_dummy: not available in limited data
72 + out["host_professional_dummy"] = 0
73 +
74 + # multi_listing_host: proxy via name frequency (same host likely uses similar names)
75 + name_counts = out["name"].map(out["name"].value_counts())
76 + out["multi_listing_host"] = (name_counts > 1).astype(int)
77 +
78 + # Interaction: superhost x entire home (requires structural features already present)
79 + if "is_entire_home" in out.columns:
80 + out["superhost_x_entire_home"] = out["superhost_flag"] * out["is_entire_home"]
81 + else:
82 + pt_lower = out["property_type"].str.lower().fillna("")
83 + is_entire = (
84 + pt_lower.str.contains("house")
85 + | pt_lower.str.contains("condo")
86 + | pt_lower.str.contains("apartment")
87 + | pt_lower.str.contains("cabin")
88 + | pt_lower.str.contains("chalet")
89 + ).astype(int)
90 + out["superhost_x_entire_home"] = out["superhost_flag"] * is_entire
91 +
92 + # Guest favourite flag
93 + out["guest_favorite_flag"] = out["is_guest_favorite"].astype(int)
94 +
95 + logger.info("Host features created: %d new columns", out.shape[1] - df.shape[1])
96 + return out
97 +
98 +
99 +# ---------------------------------------------------------------------------
100 +# Review / reputation features
101 +# ---------------------------------------------------------------------------
102 +
103 +def create_review_features(df: pd.DataFrame) -> pd.DataFrame:
104 + """Derive review and reputation features from rating and num_reviews."""
105 + out = df.copy()
106 +
107 + # Log reviews (handle NaN)
108 + out["log_reviews"] = np.log1p(out["num_reviews"].fillna(0))
109 +
110 + # Review quality bucket from rating
111 + rating_filled = out["rating"].fillna(0.0)
112 + out["review_quality"] = pd.cut(
113 + rating_filled,
114 + bins=[-np.inf, 0.0, 4.0, 4.5, 4.8, 5.01],
115 + labels=[0, 1, 2, 3, 4],
116 + ).astype(float)
117 +
118 + # Reputation score: weighted combination of rating and log(reviews)
119 + rating_norm = rating_filled / 5.0
120 + review_norm = out["log_reviews"] / (out["log_reviews"].max() or 1.0)
121 + out["reputation_score"] = 0.6 * rating_norm + 0.4 * review_norm
122 +
123 + # Cleanliness premium proxy: high rating (>= 4.8) with many reviews signals cleanliness
124 + out["cleanliness_premium"] = (
125 + (rating_filled >= 4.8) & (out["num_reviews"].fillna(0) >= 10)
126 + ).astype(int)
127 +
128 + # Location rating premium proxy: high rating in a high-density area (use quality_score if helpful)
129 + out["location_rating_premium"] = (
130 + (rating_filled >= 4.7) & (out["quality_score"] >= out["quality_score"].median())
131 + ).astype(int)
132 +
133 + # Has reviews flag
134 + out["has_reviews"] = (out["num_reviews"].fillna(0) > 0).astype(int)
135 +
136 + # No rating flag (for imputation awareness)
137 + out["no_rating_flag"] = out["rating"].isna().astype(int)
138 +
139 + logger.info("Review features created: %d new columns", out.shape[1] - df.shape[1])
140 + return out
141 +
142 +
143 +# ---------------------------------------------------------------------------
144 +# Price segment features
145 +# ---------------------------------------------------------------------------
146 +
147 +def create_price_segment_features(df: pd.DataFrame) -> pd.DataFrame:
148 + """Categorize listings into price segments based on quantiles."""
149 + out = df.copy()
150 +
151 + price = out["price_numeric"]
152 + valid_mask = price.notna()
153 +
154 + # Quantile boundaries on valid prices
155 + q25, q50, q75 = price.quantile([0.25, 0.50, 0.75])
156 +
157 + conditions = [
158 + price <= q25,
159 + (price > q25) & (price <= q50),
160 + (price > q50) & (price <= q75),
161 + price > q75,
162 + ]
163 + choices = ["budget", "moderate", "premium", "luxury"]
164 + out["price_segment"] = np.select(conditions, choices, default="unknown")
165 +
166 + # Numeric encoding
167 + segment_map = {"budget": 0, "moderate": 1, "premium": 2, "luxury": 3, "unknown": -1}
168 + out["price_segment_code"] = out["price_segment"].map(segment_map).astype(int)
169 +
170 + # Log price (primary dependent variable in hedonic models)
171 + out["log_price"] = np.log1p(price)
172 +
173 + # Price per guest
174 + guests_safe = out["guests_count"].replace(0, np.nan)
175 + out["price_per_guest"] = price / guests_safe
176 +
177 + # Price per bedroom
178 + bedrooms_safe = out["bedrooms"].replace(0, np.nan)
179 + out["price_per_bedroom"] = price / bedrooms_safe
180 +
181 + logger.info("Price segment features created: %d new columns", out.shape[1] - df.shape[1])
182 + return out
183 +
184 +
185 +# ---------------------------------------------------------------------------
186 +# Master pipeline
187 +# ---------------------------------------------------------------------------
188 +
189 +def create_all_features(df: pd.DataFrame) -> pd.DataFrame:
190 + """Run the full feature engineering pipeline in order."""
191 + logger.info("Starting feature engineering pipeline on %d rows", len(df))
192 + out = df.copy()
193 + out = create_structural_features(out)
194 + out = create_host_features(out)
195 + out = create_review_features(out)
196 + out = create_price_segment_features(out)
197 + logger.info("Pipeline complete: %d columns total", out.shape[1])
198 + return out
199 +
200 +
201 +# ---------------------------------------------------------------------------
202 +# Feature group registry
203 +# ---------------------------------------------------------------------------
204 +
205 +def get_feature_groups() -> dict[str, list[str]]:
206 + """Return a dict mapping group names to lists of feature column names."""
207 + return {
208 + "structural": [
209 + "log_accommodates", "log_bedrooms", "log_beds", "log_bathrooms",
210 + "bathrooms_per_guest", "bedrooms_per_guest",
211 + "is_entire_home", "is_private_room", "is_shared_room",
212 + "large_capacity_listing",
213 + "accommodates_sq", "bedrooms_sq", "bathrooms_sq",
214 + "accommodates_bedrooms", "accommodates_bathrooms",
215 + ],
216 + "host": [
217 + "superhost_flag", "host_professional_dummy",
218 + "multi_listing_host", "superhost_x_entire_home",
219 + "guest_favorite_flag",
220 + ],
221 + "review": [
222 + "log_reviews", "review_quality", "reputation_score",
223 + "cleanliness_premium", "location_rating_premium",
224 + "has_reviews", "no_rating_flag",
225 + ],
226 + "price_segment": [
227 + "price_segment", "price_segment_code",
228 + "log_price", "price_per_guest", "price_per_bedroom",
229 + ],
230 + "amenity": [
231 + "amenity_richness_index", "luxury_index",
232 + "business_travel_index", "family_comfort_index",
233 + "leisure_index", "remote_work_index",
234 + ],
235 + "spatial": [
236 + "distance_to_center", "local_density_500m", "local_density_1km",
237 + "local_avg_price_500m", "local_avg_price_1km",
238 + "spatial_cluster",
239 + ],
240 + }
added src/figures.py +749 −0
@@ -0,0 +1,749 @@
1 +"""
2 +figures.py - Publication-quality figure generation for hedonic pricing analysis.
3 +
4 +All figures use matplotlib + seaborn with a consistent 'whitegrid' style,
5 +(10, 6) default size, 300 DPI, and are saved as both PNG and PDF for
6 +LaTeX / journal submission compatibility.
7 +
8 +Author: Simon-Pierre Boucher
9 +Date: 2026-05-20
10 +"""
11 +
12 +from __future__ import annotations
13 +
14 +import logging
15 +import os
16 +from pathlib import Path
17 +from typing import Any, Dict, List, Optional, Sequence, Tuple, Union
18 +
19 +import matplotlib.pyplot as plt
20 +import matplotlib.ticker as mticker
21 +import numpy as np
22 +import pandas as pd
23 +import seaborn as sns
24 +
25 +logger = logging.getLogger(__name__)
26 +
27 +# ---------------------------------------------------------------------------
28 +# Global style defaults
29 +# ---------------------------------------------------------------------------
30 +
31 +_DEFAULT_FIGSIZE: Tuple[int, int] = (10, 6)
32 +_DEFAULT_DPI: int = 300
33 +_STYLE: str = "whitegrid"
34 +_PALETTE: str = "muted"
35 +
36 +# Publication-quality font sizes
37 +_RC_PARAMS: Dict[str, Any] = {
38 + "font.size": 11,
39 + "axes.titlesize": 13,
40 + "axes.labelsize": 12,
41 + "xtick.labelsize": 10,
42 + "ytick.labelsize": 10,
43 + "legend.fontsize": 10,
44 + "figure.titlesize": 14,
45 + "font.family": "serif",
46 +}
47 +
48 +
49 +def _apply_style() -> None:
50 + """Apply consistent seaborn + matplotlib style."""
51 + sns.set_style(_STYLE)
52 + sns.set_palette(_PALETTE)
53 + plt.rcParams.update(_RC_PARAMS)
54 +
55 +
56 +def _save_figure(
57 + fig: plt.Figure,
58 + filename: str,
59 + save_dir: str,
60 +) -> List[str]:
61 + """Save a figure as PNG and PDF, return list of saved paths."""
62 + os.makedirs(save_dir, exist_ok=True)
63 + paths: List[str] = []
64 + for ext in ("png", "pdf"):
65 + stem = Path(filename).stem
66 + fpath = os.path.join(save_dir, f"{stem}.{ext}")
67 + fig.savefig(fpath, dpi=_DEFAULT_DPI, bbox_inches="tight",
68 + facecolor="white", edgecolor="none")
69 + paths.append(fpath)
70 + logger.info("Saved figure: %s", fpath)
71 + plt.close(fig)
72 + return paths
73 +
74 +
75 +# ---------------------------------------------------------------------------
76 +# Figure 01 - Price distribution
77 +# ---------------------------------------------------------------------------
78 +
79 +def plot_price_distribution(
80 + df: pd.DataFrame,
81 + save_dir: str,
82 + price_col: str = "price_numeric",
83 + figsize: Tuple[int, int] = _DEFAULT_FIGSIZE,
84 +) -> List[str]:
85 + """
86 + 01_price_distribution.png -- Histogram + KDE of raw prices.
87 +
88 + Parameters
89 + ----------
90 + df : pd.DataFrame
91 + save_dir : str
92 + price_col : str
93 + figsize : tuple
94 +
95 + Returns
96 + -------
97 + list[str]
98 + Paths to saved files.
99 + """
100 + _apply_style()
101 + prices = df[price_col].dropna()
102 +
103 + fig, ax = plt.subplots(figsize=figsize)
104 + sns.histplot(prices, bins=80, kde=True, color="#4C72B0",
105 + edgecolor="white", linewidth=0.5, ax=ax)
106 + ax.set_xlabel("Nightly Price (CAD)")
107 + ax.set_ylabel("Frequency")
108 + ax.set_title("Distribution of Airbnb Listing Prices")
109 +
110 + # Annotate key statistics
111 + med = prices.median()
112 + mean = prices.mean()
113 + ax.axvline(med, color="#C44E52", linestyle="--", linewidth=1.2,
114 + label=f"Median = ${med:,.0f}")
115 + ax.axvline(mean, color="#DD8452", linestyle="--", linewidth=1.2,
116 + label=f"Mean = ${mean:,.0f}")
117 + ax.legend(frameon=True, fancybox=False, edgecolor="0.8")
118 +
119 + ax.xaxis.set_major_formatter(mticker.StrMethodFormatter("${x:,.0f}"))
120 + fig.tight_layout()
121 + return _save_figure(fig, "01_price_distribution", save_dir)
122 +
123 +
124 +# ---------------------------------------------------------------------------
125 +# Figure 02 - Log-price distribution
126 +# ---------------------------------------------------------------------------
127 +
128 +def plot_log_price_distribution(
129 + df: pd.DataFrame,
130 + save_dir: str,
131 + price_col: str = "price_numeric",
132 + figsize: Tuple[int, int] = _DEFAULT_FIGSIZE,
133 +) -> List[str]:
134 + """02_log_price_distribution.png -- Histogram + KDE of ln(price)."""
135 + _apply_style()
136 + prices = df[price_col].dropna()
137 + log_prices = np.log(prices[prices > 0])
138 +
139 + fig, ax = plt.subplots(figsize=figsize)
140 + sns.histplot(log_prices, bins=60, kde=True, color="#55A868",
141 + edgecolor="white", linewidth=0.5, ax=ax)
142 + ax.set_xlabel("ln(Nightly Price)")
143 + ax.set_ylabel("Frequency")
144 + ax.set_title("Distribution of Log-Transformed Prices\n"
145 + "(Semi-log hedonic model dependent variable)")
146 +
147 + med = log_prices.median()
148 + ax.axvline(med, color="#C44E52", linestyle="--", linewidth=1.2,
149 + label=f"Median ln(price) = {med:.2f}")
150 + ax.legend(frameon=True, fancybox=False, edgecolor="0.8")
151 +
152 + # Shapiro-Wilk note (sample if too large)
153 + from scipy import stats as sp_stats
154 + sample = log_prices.sample(min(5000, len(log_prices)), random_state=42)
155 + _, sw_p = sp_stats.shapiro(sample)
156 + ax.annotate(f"Shapiro-Wilk p = {sw_p:.4f} (n={len(sample)})",
157 + xy=(0.98, 0.95), xycoords="axes fraction",
158 + ha="right", va="top", fontsize=9,
159 + bbox=dict(boxstyle="round,pad=0.3", fc="white",
160 + ec="0.8", alpha=0.9))
161 +
162 + fig.tight_layout()
163 + return _save_figure(fig, "02_log_price_distribution", save_dir)
164 +
165 +
166 +# ---------------------------------------------------------------------------
167 +# Figure 03 - Price map
168 +# ---------------------------------------------------------------------------
169 +
170 +def plot_price_map(
171 + df: pd.DataFrame,
172 + save_dir: str,
173 + price_col: str = "price_numeric",
174 + lat_col: str = "lat",
175 + lon_col: str = "long",
176 + figsize: Tuple[int, int] = (12, 10),
177 +) -> List[str]:
178 + """03_price_map.png -- Scatter on lat/long coloured by price."""
179 + _apply_style()
180 + sub = df.dropna(subset=[price_col, lat_col, lon_col]).copy()
181 +
182 + # Cap at 99th percentile for colour scale
183 + p99 = sub[price_col].quantile(0.99)
184 + sub["price_capped"] = sub[price_col].clip(upper=p99)
185 +
186 + fig, ax = plt.subplots(figsize=figsize)
187 + scatter = ax.scatter(
188 + sub[lon_col], sub[lat_col],
189 + c=sub["price_capped"], cmap="RdYlGn_r",
190 + s=8, alpha=0.6, edgecolors="none",
191 + )
192 + cbar = fig.colorbar(scatter, ax=ax, pad=0.02, shrink=0.8)
193 + cbar.set_label("Nightly Price (CAD)", fontsize=11)
194 +
195 + ax.set_xlabel("Longitude")
196 + ax.set_ylabel("Latitude")
197 + ax.set_title("Spatial Distribution of Airbnb Prices -- Quebec")
198 +
199 + fig.tight_layout()
200 + return _save_figure(fig, "03_price_map", save_dir)
201 +
202 +
203 +# ---------------------------------------------------------------------------
204 +# Figure 04 - Price by neighbourhood / city
205 +# ---------------------------------------------------------------------------
206 +
207 +def plot_price_by_neighbourhood(
208 + df: pd.DataFrame,
209 + save_dir: str,
210 + price_col: str = "price_numeric",
211 + geo_col: str = "city",
212 + top_n: int = 20,
213 + figsize: Tuple[int, int] = (12, 7),
214 +) -> List[str]:
215 + """04_price_by_neighbourhood.png -- Top 20 cities/neighbourhoods."""
216 + _apply_style()
217 + sub = df.dropna(subset=[price_col, geo_col]).copy()
218 +
219 + # Top N by listing count
220 + top_areas = (
221 + sub[geo_col].value_counts().head(top_n).index.tolist()
222 + )
223 + sub = sub[sub[geo_col].isin(top_areas)]
224 +
225 + # Order by median price
226 + order = (
227 + sub.groupby(geo_col, observed=True)[price_col]
228 + .median().sort_values(ascending=False).index.tolist()
229 + )
230 +
231 + fig, ax = plt.subplots(figsize=figsize)
232 + sns.boxplot(
233 + data=sub, y=geo_col, x=price_col, order=order,
234 + palette="coolwarm", showfliers=False, ax=ax,
235 + linewidth=0.8,
236 + )
237 + ax.set_xlabel("Nightly Price (CAD)")
238 + ax.set_ylabel("")
239 + ax.set_title(f"Price Distribution by Top {top_n} Cities / Neighbourhoods")
240 + ax.xaxis.set_major_formatter(mticker.StrMethodFormatter("${x:,.0f}"))
241 +
242 + fig.tight_layout()
243 + return _save_figure(fig, "04_price_by_neighbourhood", save_dir)
244 +
245 +
246 +# ---------------------------------------------------------------------------
247 +# Figure 05 - Price by room type
248 +# ---------------------------------------------------------------------------
249 +
250 +def plot_price_by_room_type(
251 + df: pd.DataFrame,
252 + save_dir: str,
253 + price_col: str = "price_numeric",
254 + room_col: str = "property_type",
255 + figsize: Tuple[int, int] = _DEFAULT_FIGSIZE,
256 +) -> List[str]:
257 + """05_price_by_room_type.png -- Violin + strip plot by room/property type."""
258 + _apply_style()
259 + sub = df.dropna(subset=[price_col, room_col]).copy()
260 +
261 + # Keep types with enough observations
262 + counts = sub[room_col].value_counts()
263 + valid_types = counts[counts >= 10].index.tolist()
264 + sub = sub[sub[room_col].isin(valid_types)]
265 +
266 + order = (
267 + sub.groupby(room_col, observed=True)[price_col]
268 + .median().sort_values(ascending=False).index.tolist()
269 + )
270 +
271 + fig, ax = plt.subplots(figsize=figsize)
272 + sns.violinplot(
273 + data=sub, y=room_col, x=price_col, order=order,
274 + palette="Set2", inner="quartile", cut=0, ax=ax,
275 + linewidth=0.8,
276 + )
277 + ax.set_xlabel("Nightly Price (CAD)")
278 + ax.set_ylabel("")
279 + ax.set_title("Price Distribution by Property Type")
280 + ax.xaxis.set_major_formatter(mticker.StrMethodFormatter("${x:,.0f}"))
281 +
282 + fig.tight_layout()
283 + return _save_figure(fig, "05_price_by_room_type", save_dir)
284 +
285 +
286 +# ---------------------------------------------------------------------------
287 +# Figure 06 - Amenity premiums
288 +# ---------------------------------------------------------------------------
289 +
290 +def plot_amenity_premiums(
291 + premiums_df: pd.DataFrame,
292 + save_dir: str,
293 + top_n: int = 20,
294 + figsize: Tuple[int, int] = (10, 8),
295 +) -> List[str]:
296 + """06_amenity_premiums.png -- Horizontal bar chart of % premiums."""
297 + _apply_style()
298 + df = premiums_df.copy()
299 +
300 + # Normalise column names
301 + if "% Premium" not in df.columns:
302 + for c in df.columns:
303 + if "premium" in c.lower() or "effect" in c.lower():
304 + df = df.rename(columns={c: "% Premium"})
305 + break
306 + if "Amenity" not in df.columns:
307 + for c in df.columns:
308 + if "variable" in c.lower() or "amenity" in c.lower() or "feature" in c.lower():
309 + df = df.rename(columns={c: "Amenity"})
310 + break
311 +
312 + df = df.sort_values("% Premium", ascending=True).tail(top_n)
313 +
314 + fig, ax = plt.subplots(figsize=figsize)
315 + colours = ["#C44E52" if v < 0 else "#55A868" for v in df["% Premium"]]
316 + ax.barh(df["Amenity"], df["% Premium"], color=colours, edgecolor="white",
317 + linewidth=0.5)
318 + ax.set_xlabel("Price Premium (%)")
319 + ax.set_ylabel("")
320 + ax.set_title("Estimated Amenity Price Premiums\n(from semi-log hedonic model)")
321 + ax.axvline(0, color="black", linewidth=0.8)
322 +
323 + # Value labels
324 + for i, (val, name) in enumerate(zip(df["% Premium"], df["Amenity"])):
325 + ax.text(val + (0.3 if val >= 0 else -0.3), i,
326 + f"{val:+.1f}%", va="center",
327 + ha="left" if val >= 0 else "right", fontsize=9)
328 +
329 + fig.tight_layout()
330 + return _save_figure(fig, "06_amenity_premiums", save_dir)
331 +
332 +
333 +# ---------------------------------------------------------------------------
334 +# Figure 07 - Review score premium
335 +# ---------------------------------------------------------------------------
336 +
337 +def plot_review_score_premium(
338 + df: pd.DataFrame,
339 + save_dir: str,
340 + price_col: str = "price_numeric",
341 + rating_col: str = "rating",
342 + figsize: Tuple[int, int] = _DEFAULT_FIGSIZE,
343 +) -> List[str]:
344 + """07_review_score_premium.png -- Price vs. review score."""
345 + _apply_style()
346 + sub = df.dropna(subset=[price_col, rating_col]).copy()
347 + sub = sub[sub[price_col] > 0]
348 +
349 + fig, axes = plt.subplots(1, 2, figsize=(14, 6))
350 +
351 + # Left: scatter + regression line
352 + ax = axes[0]
353 + sns.regplot(
354 + data=sub, x=rating_col, y=price_col,
355 + scatter_kws={"alpha": 0.15, "s": 10, "color": "#4C72B0"},
356 + line_kws={"color": "#C44E52", "linewidth": 1.5},
357 + ax=ax, ci=95,
358 + )
359 + ax.set_xlabel("Review Rating")
360 + ax.set_ylabel("Nightly Price (CAD)")
361 + ax.set_title("Price vs. Review Score")
362 + ax.yaxis.set_major_formatter(mticker.StrMethodFormatter("${x:,.0f}"))
363 +
364 + # Right: binned means with error bars
365 + ax = axes[1]
366 + sub["rating_bin"] = pd.cut(sub[rating_col], bins=10)
367 + binned = sub.groupby("rating_bin", observed=True)[price_col].agg(
368 + ["mean", "sem", "count"]
369 + ).dropna()
370 + binned["mid"] = [interval.mid for interval in binned.index]
371 + ax.errorbar(binned["mid"], binned["mean"], yerr=1.96 * binned["sem"],
372 + fmt="o-", color="#4C72B0", capsize=3, markersize=5)
373 + ax.set_xlabel("Review Rating (binned)")
374 + ax.set_ylabel("Mean Price (CAD)")
375 + ax.set_title("Mean Price by Rating Bin (95% CI)")
376 + ax.yaxis.set_major_formatter(mticker.StrMethodFormatter("${x:,.0f}"))
377 +
378 + fig.suptitle("Review Score and Price Relationship", y=1.02, fontsize=14)
379 + fig.tight_layout()
380 + return _save_figure(fig, "07_review_score_premium", save_dir)
381 +
382 +
383 +# ---------------------------------------------------------------------------
384 +# Figure 08 - Distance gradient
385 +# ---------------------------------------------------------------------------
386 +
387 +def plot_distance_gradient(
388 + df: pd.DataFrame,
389 + save_dir: str,
390 + price_col: str = "price_numeric",
391 + distance_col: Optional[str] = None,
392 + lat_col: str = "lat",
393 + lon_col: str = "long",
394 + center_lat: Optional[float] = None,
395 + center_lon: Optional[float] = None,
396 + figsize: Tuple[int, int] = _DEFAULT_FIGSIZE,
397 +) -> List[str]:
398 + """
399 + 08_distance_to_center_gradient.png -- Scatter + LOWESS of price vs
400 + distance to city centre.
401 +
402 + If no distance column exists, one is computed from lat/long using a
403 + Haversine approximation to the centroid (or a supplied centre).
404 + """
405 + _apply_style()
406 + sub = df.dropna(subset=[price_col, lat_col, lon_col]).copy()
407 + sub = sub[sub[price_col] > 0]
408 +
409 + if distance_col and distance_col in sub.columns:
410 + dist = sub[distance_col]
411 + else:
412 + # Compute distance to centroid (Haversine)
413 + if center_lat is None:
414 + center_lat = sub[lat_col].median()
415 + if center_lon is None:
416 + center_lon = sub[lon_col].median()
417 +
418 + def _haversine_km(lat1: float, lon1: float,
419 + lat2: float, lon2: float) -> float:
420 + R = 6371.0
421 + dlat = np.radians(lat2 - lat1)
422 + dlon = np.radians(lon2 - lon1)
423 + a = (np.sin(dlat / 2) ** 2 +
424 + np.cos(np.radians(lat1)) * np.cos(np.radians(lat2)) *
425 + np.sin(dlon / 2) ** 2)
426 + return R * 2 * np.arctan2(np.sqrt(a), np.sqrt(1 - a))
427 +
428 + dist = sub.apply(
429 + lambda r: _haversine_km(r[lat_col], r[lon_col],
430 + center_lat, center_lon),
431 + axis=1,
432 + )
433 + distance_col = "dist_to_center_km"
434 + sub[distance_col] = dist
435 +
436 + fig, ax = plt.subplots(figsize=figsize)
437 + ax.scatter(sub[distance_col], sub[price_col],
438 + alpha=0.15, s=8, color="#4C72B0", edgecolors="none")
439 +
440 + # LOWESS smoothing
441 + try:
442 + from statsmodels.nonparametric.smoothers_lowess import lowess
443 + sample = sub.sample(min(5000, len(sub)), random_state=42)
444 + lowess_result = lowess(
445 + sample[price_col].values,
446 + sample[distance_col].values,
447 + frac=0.3,
448 + )
449 + ax.plot(lowess_result[:, 0], lowess_result[:, 1],
450 + color="#C44E52", linewidth=2.5, label="LOWESS")
451 + ax.legend(frameon=True, fancybox=False, edgecolor="0.8")
452 + except ImportError:
453 + logger.warning("statsmodels not available; LOWESS line omitted.")
454 +
455 + ax.set_xlabel("Distance to Centre (km)")
456 + ax.set_ylabel("Nightly Price (CAD)")
457 + ax.set_title("Price Gradient: Distance to City Centre\n"
458 + "(negative gradient expected from urban economics theory)")
459 + ax.yaxis.set_major_formatter(mticker.StrMethodFormatter("${x:,.0f}"))
460 +
461 + fig.tight_layout()
462 + return _save_figure(fig, "08_distance_to_center_gradient", save_dir)
463 +
464 +
465 +# ---------------------------------------------------------------------------
466 +# Figure 09 - Quantile coefficients
467 +# ---------------------------------------------------------------------------
468 +
469 +def plot_quantile_coefficients(
470 + coef_df: pd.DataFrame,
471 + save_dir: str,
472 + variables: Optional[List[str]] = None,
473 + figsize: Tuple[int, int] = (12, 8),
474 +) -> List[str]:
475 + """
476 + 09_quantile_coefficients.png -- Coefficient evolution across quantiles.
477 +
478 + Parameters
479 + ----------
480 + coef_df : pd.DataFrame
481 + Must contain columns 'quantile', 'variable', 'coef', and optionally
482 + 'ci_lower', 'ci_upper'.
483 + """
484 + _apply_style()
485 +
486 + if variables is None:
487 + variables = coef_df["variable"].unique().tolist()[:6]
488 +
489 + n_vars = len(variables)
490 + ncols = min(3, n_vars)
491 + nrows = int(np.ceil(n_vars / ncols))
492 +
493 + fig, axes = plt.subplots(nrows, ncols, figsize=figsize, squeeze=False)
494 +
495 + for idx, var in enumerate(variables):
496 + ax = axes[idx // ncols, idx % ncols]
497 + var_data = coef_df[coef_df["variable"] == var].sort_values("quantile")
498 +
499 + ax.plot(var_data["quantile"], var_data["coef"],
500 + "o-", color="#4C72B0", markersize=5, linewidth=1.5)
501 +
502 + if "ci_lower" in var_data.columns and "ci_upper" in var_data.columns:
503 + ax.fill_between(
504 + var_data["quantile"],
505 + var_data["ci_lower"],
506 + var_data["ci_upper"],
507 + alpha=0.2, color="#4C72B0",
508 + )
509 +
510 + ax.axhline(0, color="black", linewidth=0.5, linestyle="--")
511 + ax.set_title(var, fontsize=10)
512 + ax.set_xlabel("Quantile")
513 + ax.set_ylabel("Coefficient")
514 +
515 + # Hide unused axes
516 + for idx in range(n_vars, nrows * ncols):
517 + axes[idx // ncols, idx % ncols].set_visible(False)
518 +
519 + fig.suptitle("Quantile Regression Coefficients Across the Price Distribution",
520 + y=1.02, fontsize=13)
521 + fig.tight_layout()
522 + return _save_figure(fig, "09_quantile_coefficients", save_dir)
523 +
524 +
525 +# ---------------------------------------------------------------------------
526 +# Figure 14 - Predicted vs actual
527 +# ---------------------------------------------------------------------------
528 +
529 +def plot_predicted_vs_actual(
530 + y_true: Union[np.ndarray, pd.Series],
531 + y_pred: Union[np.ndarray, pd.Series],
532 + save_dir: str,
533 + model_name: str = "Model",
534 + figsize: Tuple[int, int] = _DEFAULT_FIGSIZE,
535 +) -> List[str]:
536 + """14_predicted_vs_actual.png -- 45-degree line plot."""
537 + _apply_style()
538 +
539 + y_true = np.asarray(y_true)
540 + y_pred = np.asarray(y_pred)
541 +
542 + fig, ax = plt.subplots(figsize=figsize)
543 +
544 + ax.scatter(y_true, y_pred, alpha=0.2, s=10, color="#4C72B0",
545 + edgecolors="none")
546 +
547 + # 45-degree line
548 + lims = [
549 + min(y_true.min(), y_pred.min()),
550 + max(y_true.max(), y_pred.max()),
551 + ]
552 + ax.plot(lims, lims, "--", color="#C44E52", linewidth=1.5,
553 + label="Perfect prediction")
554 +
555 + # Metrics
556 + from sklearn.metrics import r2_score, mean_absolute_error, \
557 + root_mean_squared_error
558 + r2 = r2_score(y_true, y_pred)
559 + mae = mean_absolute_error(y_true, y_pred)
560 + rmse = root_mean_squared_error(y_true, y_pred)
561 +
562 + stats_text = f"$R^2$ = {r2:.4f}\nMAE = {mae:.2f}\nRMSE = {rmse:.2f}"
563 + ax.annotate(stats_text, xy=(0.05, 0.92), xycoords="axes fraction",
564 + fontsize=10, va="top",
565 + bbox=dict(boxstyle="round,pad=0.4", fc="white",
566 + ec="0.8", alpha=0.9))
567 +
568 + ax.set_xlabel("Actual Values")
569 + ax.set_ylabel("Predicted Values")
570 + ax.set_title(f"Predicted vs. Actual -- {model_name}")
571 + ax.legend(loc="lower right", frameon=True, fancybox=False, edgecolor="0.8")
572 +
573 + fig.tight_layout()
574 + return _save_figure(fig, "14_predicted_vs_actual", save_dir)
575 +
576 +
577 +# ---------------------------------------------------------------------------
578 +# Figure 15 - Hedonic decomposition (stacked bar)
579 +# ---------------------------------------------------------------------------
580 +
581 +def plot_hedonic_decomposition(
582 + decomp_df: pd.DataFrame,
583 + save_dir: str,
584 + figsize: Tuple[int, int] = (12, 7),
585 +) -> List[str]:
586 + """
587 + 15_hedonic_decomposition_example.png -- Stacked bar showing how
588 + predicted price is decomposed into attribute contributions.
589 +
590 + Parameters
591 + ----------
592 + decomp_df : pd.DataFrame
593 + Rows = individual listings (or a small sample), columns = attribute
594 + categories (e.g., 'Location', 'Size', 'Amenities', 'Host',
595 + 'Intercept'). Values = contribution to predicted ln(price) or price.
596 + """
597 + _apply_style()
598 +
599 + df = decomp_df.copy()
600 + if len(df) > 15:
601 + df = df.head(15)
602 +
603 + # Ensure listing labels
604 + if df.index.dtype == "int64":
605 + df.index = [f"Listing {i+1}" for i in range(len(df))]
606 +
607 + fig, ax = plt.subplots(figsize=figsize)
608 +
609 + # Build stacked bars (positive contributions only for clarity)
610 + bottom = np.zeros(len(df))
611 + colours = sns.color_palette("Set2", n_colors=len(df.columns))
612 +
613 + for i, col in enumerate(df.columns):
614 + vals = df[col].values.astype(float)
615 + ax.barh(df.index, vals, left=bottom, color=colours[i],
616 + edgecolor="white", linewidth=0.5, label=col)
617 + bottom += np.maximum(vals, 0)
618 +
619 + ax.set_xlabel("Contribution to Predicted Price")
620 + ax.set_ylabel("")
621 + ax.set_title("Hedonic Price Decomposition\n"
622 + "(marginal contribution of each attribute category)")
623 + ax.legend(bbox_to_anchor=(1.01, 1), loc="upper left",
624 + frameon=True, fancybox=False, edgecolor="0.8")
625 +
626 + fig.tight_layout()
627 + return _save_figure(fig, "15_hedonic_decomposition_example", save_dir)
628 +
629 +
630 +# ---------------------------------------------------------------------------
631 +# Master function
632 +# ---------------------------------------------------------------------------
633 +
634 +def generate_all_figures(
635 + df: pd.DataFrame,
636 + results: Optional[Dict[str, Any]] = None,
637 + save_dir: Optional[str] = None,
638 + price_col: str = "price_numeric",
639 +) -> Dict[str, List[str]]:
640 + """
641 + Generate all figures that can be produced from the dataset alone
642 + (figures requiring model results are skipped if *results* is None).
643 +
644 + Parameters
645 + ----------
646 + df : pd.DataFrame
647 + Full analysis dataset.
648 + results : dict, optional
649 + ``{'premiums_df': pd.DataFrame, 'coef_df': pd.DataFrame,
650 + 'y_true': array, 'y_pred': array, 'decomp_df': pd.DataFrame,
651 + 'model_name': str}``.
652 + save_dir : str, optional
653 + Output directory; defaults to ``results/figures/``.
654 +
655 + Returns
656 + -------
657 + dict
658 + ``{figure_name: [saved_paths]}``.
659 + """
660 + if save_dir is None:
661 + save_dir = os.path.join(
662 + os.path.dirname(os.path.dirname(os.path.abspath(__file__))),
663 + "results", "figures",
664 + )
665 +
666 + if results is None:
667 + results = {}
668 +
669 + output: Dict[str, List[str]] = {}
670 + logger.info("Generating all figures to %s", save_dir)
671 +
672 + # Data-only figures
673 + try:
674 + output["01_price_distribution"] = plot_price_distribution(
675 + df, save_dir, price_col=price_col)
676 + except Exception as e:
677 + logger.error("Failed 01_price_distribution: %s", e)
678 +
679 + try:
680 + output["02_log_price_distribution"] = plot_log_price_distribution(
681 + df, save_dir, price_col=price_col)
682 + except Exception as e:
683 + logger.error("Failed 02_log_price_distribution: %s", e)
684 +
685 + try:
686 + output["03_price_map"] = plot_price_map(
687 + df, save_dir, price_col=price_col)
688 + except Exception as e:
689 + logger.error("Failed 03_price_map: %s", e)
690 +
691 + try:
692 + output["04_price_by_neighbourhood"] = plot_price_by_neighbourhood(
693 + df, save_dir, price_col=price_col)
694 + except Exception as e:
695 + logger.error("Failed 04_price_by_neighbourhood: %s", e)
696 +
697 + try:
698 + output["05_price_by_room_type"] = plot_price_by_room_type(
699 + df, save_dir, price_col=price_col)
700 + except Exception as e:
701 + logger.error("Failed 05_price_by_room_type: %s", e)
702 +
703 + # Review score premium (data-only)
704 + try:
705 + output["07_review_score_premium"] = plot_review_score_premium(
706 + df, save_dir, price_col=price_col)
707 + except Exception as e:
708 + logger.error("Failed 07_review_score_premium: %s", e)
709 +
710 + # Distance gradient (data-only)
711 + try:
712 + output["08_distance_gradient"] = plot_distance_gradient(
713 + df, save_dir, price_col=price_col)
714 + except Exception as e:
715 + logger.error("Failed 08_distance_gradient: %s", e)
716 +
717 + # Model-dependent figures
718 + if "premiums_df" in results:
719 + try:
720 + output["06_amenity_premiums"] = plot_amenity_premiums(
721 + results["premiums_df"], save_dir)
722 + except Exception as e:
723 + logger.error("Failed 06_amenity_premiums: %s", e)
724 +
725 + if "coef_df" in results:
726 + try:
727 + output["09_quantile_coefficients"] = plot_quantile_coefficients(
728 + results["coef_df"], save_dir)
729 + except Exception as e:
730 + logger.error("Failed 09_quantile_coefficients: %s", e)
731 +
732 + if "y_true" in results and "y_pred" in results:
733 + try:
734 + output["14_predicted_vs_actual"] = plot_predicted_vs_actual(
735 + results["y_true"], results["y_pred"], save_dir,
736 + model_name=results.get("model_name", "Model"))
737 + except Exception as e:
738 + logger.error("Failed 14_predicted_vs_actual: %s", e)
739 +
740 + if "decomp_df" in results:
741 + try:
742 + output["15_hedonic_decomposition"] = plot_hedonic_decomposition(
743 + results["decomp_df"], save_dir)
744 + except Exception as e:
745 + logger.error("Failed 15_hedonic_decomposition: %s", e)
746 +
747 + logger.info("Figure generation complete: %d/%d succeeded.",
748 + len(output), 11)
749 + return output
added src/geospatial.py +338 −0
@@ -0,0 +1,338 @@
1 +"""Geospatial feature engineering for hedonic pricing analysis."""
2 +
3 +from __future__ import annotations
4 +
5 +import logging
6 +from typing import Any
7 +
8 +import numpy as np
9 +import pandas as pd
10 +from sklearn.cluster import KMeans
11 +from sklearn.neighbors import BallTree
12 +
13 +logger = logging.getLogger(__name__)
14 +
15 +EARTH_RADIUS_M = 6_371_000.0
16 +
17 +# ---------------------------------------------------------------------------
18 +# Default city centres (major Quebec cities)
19 +# ---------------------------------------------------------------------------
20 +
21 +DEFAULT_CITY_CENTERS: dict[str, tuple[float, float]] = {
22 + "montréal": (45.5017, -73.5673),
23 + "montreal": (45.5017, -73.5673),
24 + "québec": (46.8139, -71.2080),
25 + "quebec": (46.8139, -71.2080),
26 + "gatineau": (45.4765, -75.7013),
27 + "sherbrooke": (45.4042, -71.8929),
28 + "saguenay": (48.4280, -71.0686),
29 + "laval": (45.6066, -73.7124),
30 + "trois-rivières": (46.3432, -72.5432),
31 + "trois-rivieres": (46.3432, -72.5432),
32 + "lévis": (46.8032, -71.1780),
33 + "levis": (46.8032, -71.1780),
34 + "terrebonne": (45.6960, -73.6473),
35 + "saint-jean-sur-richelieu": (45.3073, -73.2628),
36 + "repentigny": (45.7402, -73.4598),
37 + "drummondville": (45.8838, -72.4843),
38 + "granby": (45.4000, -72.7333),
39 + "saint-hyacinthe": (45.6307, -72.9571),
40 + "rimouski": (48.4490, -68.5233),
41 + "victoriaville": (46.0500, -71.9667),
42 + "saint-georges": (46.1167, -70.6667),
43 + "matane": (48.8500, -67.5333),
44 + "mont-tremblant": (46.2103, -74.5847),
45 +}
46 +
47 +# ---------------------------------------------------------------------------
48 +# Haversine helpers
49 +# ---------------------------------------------------------------------------
50 +
51 +def _to_radians(lat: np.ndarray, lon: np.ndarray) -> np.ndarray:
52 + """Convert lat/lon arrays to radians, shape (n, 2)."""
53 + return np.column_stack([np.radians(lat), np.radians(lon)])
54 +
55 +
56 +def _haversine_vector(lat1: np.ndarray, lon1: np.ndarray, lat2: float, lon2: float) -> np.ndarray:
57 + """Vectorised haversine distance in metres."""
58 + lat1_r, lon1_r = np.radians(lat1), np.radians(lon1)
59 + lat2_r, lon2_r = np.radians(lat2), np.radians(lon2)
60 + dlat = lat2_r - lat1_r
61 + dlon = lon2_r - lon1_r
62 + a = np.sin(dlat / 2) ** 2 + np.cos(lat1_r) * np.cos(lat2_r) * np.sin(dlon / 2) ** 2
63 + return 2 * EARTH_RADIUS_M * np.arcsin(np.sqrt(a))
64 +
65 +
66 +# ---------------------------------------------------------------------------
67 +# BallTree construction
68 +# ---------------------------------------------------------------------------
69 +
70 +def _build_balltree(lat: np.ndarray, lon: np.ndarray) -> BallTree:
71 + """Build a BallTree from latitude/longitude in radians using haversine metric."""
72 + coords_rad = _to_radians(lat, lon)
73 + return BallTree(coords_rad, metric="haversine")
74 +
75 +
76 +# ---------------------------------------------------------------------------
77 +# Distance to city centre
78 +# ---------------------------------------------------------------------------
79 +
80 +def compute_distance_to_center(
81 + df: pd.DataFrame,
82 + city_centers_dict: dict[str, tuple[float, float]] | None = None,
83 +) -> pd.Series:
84 + """Compute haversine distance (m) from each listing to its city centre."""
85 + centers = city_centers_dict or DEFAULT_CITY_CENTERS
86 +
87 + distances = pd.Series(np.nan, index=df.index, dtype=float)
88 + city_col = df["city"].str.lower().str.strip()
89 +
90 + for city_key, (clat, clon) in centers.items():
91 + mask = city_col == city_key
92 + if mask.any():
93 + d = _haversine_vector(
94 + df.loc[mask, "lat"].values,
95 + df.loc[mask, "long"].values,
96 + clat,
97 + clon,
98 + )
99 + distances.loc[mask] = d
100 +
101 + # For cities not in the dictionary, use the median of their own coordinates as centre
102 + missing_mask = distances.isna()
103 + if missing_mask.any():
104 + for city_name, grp in df.loc[missing_mask].groupby(city_col[missing_mask]):
105 + clat = grp["lat"].median()
106 + clon = grp["long"].median()
107 + d = _haversine_vector(grp["lat"].values, grp["long"].values, clat, clon)
108 + distances.loc[grp.index] = d
109 +
110 + return distances
111 +
112 +
113 +# ---------------------------------------------------------------------------
114 +# Local density
115 +# ---------------------------------------------------------------------------
116 +
117 +def compute_local_density(df: pd.DataFrame, radius_m: float = 1000.0) -> pd.Series:
118 + """Count of other listings within radius_m metres using BallTree."""
119 + valid = df[["lat", "long"]].notna().all(axis=1)
120 + sub = df.loc[valid]
121 + lat = sub["lat"].values
122 + lon = sub["long"].values
123 + tree = _build_balltree(lat, lon)
124 +
125 + radius_rad = radius_m / EARTH_RADIUS_M
126 + coords_rad = _to_radians(lat, lon)
127 + counts = tree.query_radius(coords_rad, r=radius_rad, count_only=True)
128 +
129 + density = np.maximum(counts - 1, 0)
130 + logger.info("Local density (r=%dm): mean=%.1f, max=%d", radius_m, density.mean(), density.max())
131 + result = pd.Series(np.nan, index=df.index, name=f"local_density_{int(radius_m)}m")
132 + result.loc[valid] = density
133 + return result
134 +
135 +
136 +# ---------------------------------------------------------------------------
137 +# Local average price
138 +# ---------------------------------------------------------------------------
139 +
140 +def compute_local_avg_price(df: pd.DataFrame, radius_m: float = 1000.0) -> pd.Series:
141 + """Average price of other listings within radius_m metres."""
142 + coord_valid = df[["lat", "long"]].notna().all(axis=1)
143 + sub = df.loc[coord_valid]
144 + lat = sub["lat"].values
145 + lon = sub["long"].values
146 + prices = sub["price_numeric"].values.copy() if "price_numeric" in sub.columns else np.full(len(sub), np.nan)
147 + tree = _build_balltree(lat, lon)
148 +
149 + radius_rad = radius_m / EARTH_RADIUS_M
150 + coords_rad = _to_radians(lat, lon)
151 + indices_list = tree.query_radius(coords_rad, r=radius_rad)
152 +
153 + avg_prices = np.full(len(sub), np.nan)
154 + for i, neighbours in enumerate(indices_list):
155 + others = neighbours[neighbours != i]
156 + neighbour_prices = prices[others]
157 + valid = neighbour_prices[~np.isnan(neighbour_prices)]
158 + if len(valid) > 0:
159 + avg_prices[i] = valid.mean()
160 +
161 + result = pd.Series(np.nan, index=df.index, name=f"local_avg_price_{int(radius_m)}m")
162 + result.loc[coord_valid] = avg_prices
163 + logger.info("Local avg price (r=%dm): computed for %d listings", radius_m, np.sum(~np.isnan(avg_prices)))
164 + return result
165 +
166 +
167 +# ---------------------------------------------------------------------------
168 +# Spatial lag (KNN)
169 +# ---------------------------------------------------------------------------
170 +
171 +def compute_spatial_lag(df: pd.DataFrame, col: str, k: int = 5) -> pd.Series:
172 + """K-nearest-neighbour spatial lag of any numeric column."""
173 + coord_valid = df[["lat", "long"]].notna().all(axis=1)
174 + sub = df.loc[coord_valid]
175 + lat = sub["lat"].values
176 + lon = sub["long"].values
177 + values = sub[col].values.astype(float)
178 + tree = _build_balltree(lat, lon)
179 +
180 + coords_rad = _to_radians(lat, lon)
181 + dists, indices = tree.query(coords_rad, k=k + 1)
182 +
183 + lag = np.full(len(sub), np.nan)
184 + for i in range(len(sub)):
185 + nbr_idx = indices[i, 1:]
186 + nbr_vals = values[nbr_idx]
187 + valid = nbr_vals[~np.isnan(nbr_vals)]
188 + if len(valid) > 0:
189 + lag[i] = valid.mean()
190 +
191 + result = pd.Series(np.nan, index=df.index, name=f"spatial_lag_{col}_k{k}")
192 + result.loc[coord_valid] = lag
193 + logger.info("Spatial lag of '%s' (k=%d): computed for %d listings", col, k, np.sum(~np.isnan(lag)))
194 + return result
195 +
196 +
197 +# ---------------------------------------------------------------------------
198 +# Spatial clusters
199 +# ---------------------------------------------------------------------------
200 +
201 +def create_spatial_clusters(df: pd.DataFrame, n_clusters: int = 20) -> pd.Series:
202 + """K-means clustering on lat/long coordinates."""
203 + coords = df[["lat", "long"]].values
204 + valid_mask = ~np.isnan(coords).any(axis=1)
205 +
206 + labels = pd.Series(-1, index=df.index, dtype=int, name="spatial_cluster")
207 + if valid_mask.sum() < n_clusters:
208 + logger.warning("Too few valid coordinates (%d) for %d clusters", valid_mask.sum(), n_clusters)
209 + return labels
210 +
211 + kmeans = KMeans(n_clusters=n_clusters, random_state=42, n_init=10)
212 + kmeans.fit(coords[valid_mask])
213 + labels.iloc[np.where(valid_mask)[0]] = kmeans.labels_
214 +
215 + logger.info("Spatial clusters: %d clusters from %d valid points", n_clusters, valid_mask.sum())
216 + return labels
217 +
218 +
219 +# ---------------------------------------------------------------------------
220 +# Combined distance features
221 +# ---------------------------------------------------------------------------
222 +
223 +def compute_distance_features(
224 + df: pd.DataFrame,
225 + city_centers_dict: dict[str, tuple[float, float]] | None = None,
226 +) -> pd.DataFrame:
227 + """Compute the standard suite of distance-based features."""
228 + out = df.copy()
229 +
230 + out["distance_to_center"] = compute_distance_to_center(out, city_centers_dict)
231 + out["log_distance_to_center"] = np.log1p(out["distance_to_center"])
232 +
233 + out["local_density_500m"] = compute_local_density(out, radius_m=500.0)
234 + out["local_density_1km"] = compute_local_density(out, radius_m=1000.0)
235 +
236 + out["local_avg_price_500m"] = compute_local_avg_price(out, radius_m=500.0)
237 + out["local_avg_price_1km"] = compute_local_avg_price(out, radius_m=1000.0)
238 +
239 + out["spatial_cluster"] = create_spatial_clusters(out)
240 +
241 + logger.info("Distance features complete: %d new columns", out.shape[1] - df.shape[1])
242 + return out
243 +
244 +
245 +# ---------------------------------------------------------------------------
246 +# Spatial weights matrix
247 +# ---------------------------------------------------------------------------
248 +
249 +def build_spatial_weights(df: pd.DataFrame, k: int = 5) -> np.ndarray:
250 + """Build a row-standardised KNN spatial weights matrix (n x n)."""
251 + lat = df["lat"].values
252 + lon = df["long"].values
253 + tree = _build_balltree(lat, lon)
254 + coords_rad = _to_radians(lat, lon)
255 +
256 + n = len(df)
257 + W = np.zeros((n, n), dtype=float)
258 +
259 + _, indices = tree.query(coords_rad, k=k + 1)
260 + for i in range(n):
261 + nbrs = indices[i, 1:] # exclude self
262 + W[i, nbrs] = 1.0
263 +
264 + # Row-standardise
265 + row_sums = W.sum(axis=1, keepdims=True)
266 + row_sums[row_sums == 0] = 1.0
267 + W = W / row_sums
268 +
269 + logger.info("Spatial weights matrix built: %dx%d, k=%d", n, n, k)
270 + return W
271 +
272 +
273 +# ---------------------------------------------------------------------------
274 +# Moran's I
275 +# ---------------------------------------------------------------------------
276 +
277 +def compute_morans_i(
278 + df: pd.DataFrame,
279 + col: str,
280 + w: np.ndarray | None = None,
281 + k: int = 5,
282 +) -> dict[str, float]:
283 + """Compute Moran's I statistic for spatial autocorrelation."""
284 + y = df[col].values.astype(float)
285 + valid_mask = ~np.isnan(y)
286 +
287 + if valid_mask.sum() < 10:
288 + logger.warning("Too few valid observations (%d) for Moran's I", valid_mask.sum())
289 + return {"morans_i": np.nan, "expected_i": np.nan, "z_score": np.nan}
290 +
291 + if w is None:
292 + w = build_spatial_weights(df, k=k)
293 +
294 + # Restrict to valid observations
295 + idx = np.where(valid_mask)[0]
296 + y_sub = y[idx]
297 + w_sub = w[np.ix_(idx, idx)]
298 +
299 + # Re-row-standardise the sub-matrix
300 + row_sums = w_sub.sum(axis=1, keepdims=True)
301 + row_sums[row_sums == 0] = 1.0
302 + w_sub = w_sub / row_sums
303 +
304 + n = len(y_sub)
305 + y_mean = y_sub.mean()
306 + z = y_sub - y_mean
307 +
308 + numerator = float(n * z @ w_sub @ z)
309 + denominator = float(w_sub.sum() * (z ** 2).sum())
310 +
311 + if denominator == 0:
312 + return {"morans_i": np.nan, "expected_i": np.nan, "z_score": np.nan}
313 +
314 + I = numerator / denominator
315 + expected_I = -1.0 / (n - 1)
316 +
317 + # Variance under normality assumption
318 + S0 = w_sub.sum()
319 + S1 = 0.5 * ((w_sub + w_sub.T) ** 2).sum()
320 + S2 = ((w_sub.sum(axis=1) + w_sub.sum(axis=0)) ** 2).sum()
321 + k2 = (n * (z ** 4).sum()) / ((z ** 2).sum() ** 2)
322 +
323 + A = n * ((n ** 2 - 3 * n + 3) * S1 - n * S2 + 3 * S0 ** 2)
324 + B = k2 * ((n ** 2 - n) * S1 - 2 * n * S2 + 6 * S0 ** 2)
325 + C = (n - 1) * (n - 2) * (n - 3) * S0 ** 2
326 +
327 + if C == 0:
328 + z_score = np.nan
329 + else:
330 + var_I = (A - B) / C - expected_I ** 2
331 + if var_I > 0:
332 + z_score = float((I - expected_I) / np.sqrt(var_I))
333 + else:
334 + z_score = np.nan
335 +
336 + result = {"morans_i": float(I), "expected_i": float(expected_I), "z_score": z_score}
337 + logger.info("Moran's I for '%s': I=%.4f, E[I]=%.4f, z=%.2f", col, I, expected_I, z_score if not np.isnan(z_score) else 0.0)
338 + return result
added src/hedonic_models.py +321 −0
@@ -0,0 +1,321 @@
1 +"""Core hedonic regression models for Airbnb pricing analysis."""
2 +
3 +import logging
4 +from typing import Dict, List, Optional, Tuple
5 +
6 +import numpy as np
7 +import pandas as pd
8 +import statsmodels.api as sm
9 +from sklearn.model_selection import KFold
10 +from sklearn.metrics import mean_squared_error, mean_absolute_error
11 +
12 +logger = logging.getLogger(__name__)
13 +
14 +# ---------------------------------------------------------------------------
15 +# Feature group definitions for the 9-model nested sequence
16 +# ---------------------------------------------------------------------------
17 +
18 +STRUCTURAL_COLS = [
19 + "bedrooms", "bathrooms", "guests_count", "is_entire_home",
20 + "is_private_room", "log_accommodates", "log_bedrooms", "log_bathrooms",
21 + "bathrooms_per_guest", "bedrooms_per_guest", "large_capacity_listing",
22 + "accommodates_sq", "bedrooms_sq", "bathrooms_sq",
23 +]
24 +
25 +AMENITY_COLS = [
26 + "amenities_count", "amenity_richness_index", "luxury_index",
27 + "business_travel_index", "family_comfort_index", "leisure_index",
28 + "remote_work_index", "pets_allowed",
29 +]
30 +
31 +HOST_COLS = [
32 + "is_superhost", "superhost_flag", "host_professional_dummy",
33 + "multi_listing_host", "superhost_x_entire_home", "guest_favorite_flag",
34 + "is_guest_favorite",
35 +]
36 +
37 +REVIEW_COLS = [
38 + "rating", "num_reviews", "log_reviews", "review_quality",
39 + "reputation_score", "cleanliness_premium", "location_rating_premium",
40 + "has_reviews", "quality_score",
41 +]
42 +
43 +LOCATION_COLS = [
44 + "distance_to_center", "lat", "long",
45 +]
46 +
47 +NEIGHBOURHOOD_COLS = [
48 + "spatial_cluster",
49 +]
50 +
51 +NLP_COLS = [
52 + "title_length", "title_word_count", "luxury_language_score",
53 + "cozy_language_score", "professional_tone_score", "tourism_language_score",
54 + "text_embed_0", "text_embed_1", "text_embed_2", "text_embed_3",
55 +]
56 +
57 +SPATIAL_CONTROL_COLS = [
58 + "local_density_500m", "local_density_1km",
59 + "local_avg_price_500m", "local_avg_price_1km",
60 +]
61 +
62 +MODEL_SEQUENCE = {
63 + "Model 1 - Structural": STRUCTURAL_COLS,
64 + "Model 2 - + Amenities": STRUCTURAL_COLS + AMENITY_COLS,
65 + "Model 3 - + Host": STRUCTURAL_COLS + AMENITY_COLS + HOST_COLS,
66 + "Model 4 - + Reviews": STRUCTURAL_COLS + AMENITY_COLS + HOST_COLS + REVIEW_COLS,
67 + "Model 5 - + Location": STRUCTURAL_COLS + AMENITY_COLS + HOST_COLS + REVIEW_COLS + LOCATION_COLS,
68 + "Model 6 - + Neighbourhood": STRUCTURAL_COLS + AMENITY_COLS + HOST_COLS + REVIEW_COLS + LOCATION_COLS + NEIGHBOURHOOD_COLS,
69 + "Model 7 - + NLP": STRUCTURAL_COLS + AMENITY_COLS + HOST_COLS + REVIEW_COLS + LOCATION_COLS + NEIGHBOURHOOD_COLS + NLP_COLS,
70 + "Model 8 - + Spatial": STRUCTURAL_COLS + AMENITY_COLS + HOST_COLS + REVIEW_COLS + LOCATION_COLS + NEIGHBOURHOOD_COLS + NLP_COLS + SPATIAL_CONTROL_COLS,
71 + "Model 9 - Full Hedonic": STRUCTURAL_COLS + AMENITY_COLS + HOST_COLS + REVIEW_COLS + LOCATION_COLS + NEIGHBOURHOOD_COLS + NLP_COLS + SPATIAL_CONTROL_COLS,
72 +}
73 +
74 +
75 +def _available_cols(df: pd.DataFrame, requested: List[str]) -> List[str]:
76 + """Return the subset of requested columns that actually exist in df."""
77 + present = [c for c in requested if c in df.columns]
78 + missing = set(requested) - set(present)
79 + if missing:
80 + logger.warning("Missing columns (will be skipped): %s", sorted(missing))
81 + return present
82 +
83 +
84 +def _prepare_data(
85 + df: pd.DataFrame,
86 + y_col: str,
87 + x_cols: List[str],
88 +) -> Tuple[pd.Series, pd.DataFrame]:
89 + """Drop rows with NaN in y or X; add constant; return (y, X)."""
90 + cols = _available_cols(df, x_cols)
91 + if not cols:
92 + raise ValueError("No valid feature columns found in the DataFrame.")
93 + subset = df[[y_col] + cols].dropna()
94 + if subset.empty:
95 + raise ValueError("No observations remaining after dropping NaN rows.")
96 + y = subset[y_col].astype(float)
97 + X = sm.add_constant(subset[cols].astype(float))
98 + logger.info("Prepared data: n=%d, k=%d (excl. constant)", len(y), len(cols))
99 + return y, X
100 +
101 +
102 +# ---------------------------------------------------------------------------
103 +# OLS estimators
104 +# ---------------------------------------------------------------------------
105 +
106 +def estimate_ols(
107 + df: pd.DataFrame,
108 + y_col: str,
109 + x_cols: List[str],
110 + robust: str = "HC3",
111 +) -> sm.regression.linear_model.RegressionResultsWrapper:
112 + """OLS with heteroskedasticity-robust standard errors."""
113 + y, X = _prepare_data(df, y_col, x_cols)
114 + model = sm.OLS(y, X)
115 + results = model.fit(cov_type=robust)
116 + logger.info(
117 + "OLS (%s): R2=%.4f, Adj-R2=%.4f, n=%d",
118 + robust, results.rsquared, results.rsquared_adj, int(results.nobs),
119 + )
120 + return results
121 +
122 +
123 +def estimate_ols_clustered(
124 + df: pd.DataFrame,
125 + y_col: str,
126 + x_cols: List[str],
127 + cluster_col: str,
128 +) -> sm.regression.linear_model.RegressionResultsWrapper:
129 + """OLS with cluster-robust standard errors."""
130 + cols = _available_cols(df, x_cols)
131 + subset = df[[y_col] + cols + [cluster_col]].dropna()
132 + if subset.empty:
133 + raise ValueError("No observations remaining after dropping NaN rows.")
134 + y = subset[y_col].astype(float)
135 + X = sm.add_constant(subset[cols].astype(float))
136 + groups = subset[cluster_col]
137 + model = sm.OLS(y, X)
138 + results = model.fit(cov_type="cluster", cov_kwds={"groups": groups})
139 + logger.info(
140 + "OLS (clustered on %s): R2=%.4f, n=%d, clusters=%d",
141 + cluster_col, results.rsquared, int(results.nobs), groups.nunique(),
142 + )
143 + return results
144 +
145 +
146 +# ---------------------------------------------------------------------------
147 +# Nested model sequence
148 +# ---------------------------------------------------------------------------
149 +
150 +def build_model_sequence(
151 + df: pd.DataFrame,
152 + y_col: str = "log_price",
153 + robust: str = "HC3",
154 +) -> Dict[str, sm.regression.linear_model.RegressionResultsWrapper]:
155 + """Estimate the 9-model nested hedonic sequence."""
156 + results: Dict[str, sm.regression.linear_model.RegressionResultsWrapper] = {}
157 + for name, xcols in MODEL_SEQUENCE.items():
158 + avail = _available_cols(df, xcols)
159 + if not avail:
160 + logger.warning("Skipping %s: no available features.", name)
161 + continue
162 + try:
163 + res = estimate_ols(df, y_col, avail, robust=robust)
164 + results[name] = res
165 + logger.info("Estimated %s (k=%d)", name, len(avail))
166 + except Exception as exc:
167 + logger.error("Failed to estimate %s: %s", name, exc)
168 + return results
169 +
170 +
171 +# ---------------------------------------------------------------------------
172 +# Model comparison & diagnostics
173 +# ---------------------------------------------------------------------------
174 +
175 +def compare_models(
176 + results_dict: Dict[str, sm.regression.linear_model.RegressionResultsWrapper],
177 +) -> pd.DataFrame:
178 + """Extract R2, adj-R2, RMSE, MAE, AIC, BIC for each model."""
179 + rows = []
180 + for name, res in results_dict.items():
181 + resid = res.resid
182 + n = int(res.nobs)
183 + rmse = np.sqrt(np.mean(resid ** 2))
184 + mae = np.mean(np.abs(resid))
185 + rows.append({
186 + "model": name,
187 + "n_obs": n,
188 + "n_params": int(res.df_model) + 1,
189 + "R2": round(res.rsquared, 6),
190 + "Adj_R2": round(res.rsquared_adj, 6),
191 + "RMSE": round(rmse, 6),
192 + "MAE": round(mae, 6),
193 + "AIC": round(res.aic, 2),
194 + "BIC": round(res.bic, 2),
195 + })
196 + comp = pd.DataFrame(rows)
197 + logger.info("Model comparison table built (%d models).", len(comp))
198 + return comp
199 +
200 +
201 +def compute_price_premiums(
202 + results: sm.regression.linear_model.RegressionResultsWrapper,
203 +) -> pd.DataFrame:
204 + """Convert log-linear coefficients to percentage price premiums: 100*(exp(b)-1)."""
205 + params = results.params.drop("const", errors="ignore")
206 + se = results.bse.drop("const", errors="ignore")
207 + pvals = results.pvalues.drop("const", errors="ignore")
208 + ci = results.conf_int().drop("const", errors="ignore")
209 +
210 + premium = 100.0 * (np.exp(params) - 1)
211 + premium_lo = 100.0 * (np.exp(ci[0]) - 1)
212 + premium_hi = 100.0 * (np.exp(ci[1]) - 1)
213 +
214 + df_out = pd.DataFrame({
215 + "coefficient": params.values,
216 + "std_error": se.values,
217 + "p_value": pvals.values,
218 + "premium_pct": premium.values,
219 + "premium_lo_95": premium_lo.values,
220 + "premium_hi_95": premium_hi.values,
221 + }, index=params.index)
222 + df_out = df_out.sort_values("premium_pct", ascending=False)
223 + logger.info("Computed price premiums for %d variables.", len(df_out))
224 + return df_out
225 +
226 +
227 +# ---------------------------------------------------------------------------
228 +# Cross-validation
229 +# ---------------------------------------------------------------------------
230 +
231 +def cross_validate_ols(
232 + df: pd.DataFrame,
233 + y_col: str,
234 + x_cols: List[str],
235 + k: int = 5,
236 + random_state: int = 42,
237 +) -> Dict[str, float]:
238 + """K-fold cross-validation returning out-of-sample RMSE and MAE."""
239 + y, X = _prepare_data(df, y_col, x_cols)
240 + kf = KFold(n_splits=k, shuffle=True, random_state=random_state)
241 + rmses, maes = [], []
242 + for fold, (train_idx, test_idx) in enumerate(kf.split(X), 1):
243 + X_train, X_test = X.iloc[train_idx], X.iloc[test_idx]
244 + y_train, y_test = y.iloc[train_idx], y.iloc[test_idx]
245 + model = sm.OLS(y_train, X_train).fit()
246 + y_pred = model.predict(X_test)
247 + rmses.append(np.sqrt(mean_squared_error(y_test, y_pred)))
248 + maes.append(mean_absolute_error(y_test, y_pred))
249 + logger.debug("Fold %d: RMSE=%.4f, MAE=%.4f", fold, rmses[-1], maes[-1])
250 +
251 + result = {
252 + "mean_rmse": float(np.mean(rmses)),
253 + "std_rmse": float(np.std(rmses)),
254 + "mean_mae": float(np.mean(maes)),
255 + "std_mae": float(np.std(maes)),
256 + "k": k,
257 + }
258 + logger.info(
259 + "%d-fold CV: RMSE=%.4f (+/-%.4f), MAE=%.4f (+/-%.4f)",
260 + k, result["mean_rmse"], result["std_rmse"],
261 + result["mean_mae"], result["std_mae"],
262 + )
263 + return result
264 +
265 +
266 +# ---------------------------------------------------------------------------
267 +# Publication-quality regression table
268 +# ---------------------------------------------------------------------------
269 +
270 +def format_regression_table(
271 + results_dict: Dict[str, sm.regression.linear_model.RegressionResultsWrapper],
272 + stars: bool = True,
273 +) -> pd.DataFrame:
274 + """Create a publication-ready regression comparison table (coef + SE rows)."""
275 + all_vars: List[str] = []
276 + for res in results_dict.values():
277 + for v in res.params.index:
278 + if v not in all_vars:
279 + all_vars.append(v)
280 +
281 + rows: List[Dict[str, str]] = []
282 + for var in all_vars:
283 + coef_row: Dict[str, str] = {"variable": var}
284 + se_row: Dict[str, str] = {"variable": ""}
285 + for mname, res in results_dict.items():
286 + if var in res.params.index:
287 + b = res.params[var]
288 + s = res.bse[var]
289 + p = res.pvalues[var]
290 + star_str = ""
291 + if stars:
292 + if p < 0.001:
293 + star_str = "***"
294 + elif p < 0.01:
295 + star_str = "**"
296 + elif p < 0.05:
297 + star_str = "*"
298 + coef_row[mname] = f"{b:.4f}{star_str}"
299 + se_row[mname] = f"({s:.4f})"
300 + else:
301 + coef_row[mname] = ""
302 + se_row[mname] = ""
303 + rows.append(coef_row)
304 + rows.append(se_row)
305 +
306 + # Footer rows
307 + for stat_name, extractor in [
308 + ("N", lambda r: f"{int(r.nobs)}"),
309 + ("R2", lambda r: f"{r.rsquared:.4f}"),
310 + ("Adj. R2", lambda r: f"{r.rsquared_adj:.4f}"),
311 + ("AIC", lambda r: f"{r.aic:.1f}"),
312 + ("BIC", lambda r: f"{r.bic:.1f}"),
313 + ]:
314 + row: Dict[str, str] = {"variable": stat_name}
315 + for mname, res in results_dict.items():
316 + row[mname] = extractor(res)
317 + rows.append(row)
318 +
319 + table = pd.DataFrame(rows)
320 + logger.info("Formatted regression table: %d rows x %d models.", len(table), len(results_dict))
321 + return table
added src/ml_models.py +841 −0
@@ -0,0 +1,841 @@
1 +"""
2 +ml_models.py
3 +============
4 +Machine learning models for hedonic pricing analysis of Airbnb listings.
5 +
6 +Provides training, evaluation, cross-validation, feature importance extraction,
7 +and hyperparameter tuning for a battery of regression models including
8 +ElasticNet, Random Forest, Gradient Boosting, XGBoost, LightGBM, CatBoost,
9 +and Generalized Additive Models (GAM).
10 +
11 +Author: Simon-Pierre Boucher
12 +Date: 2026-05-20
13 +"""
14 +
15 +from __future__ import annotations
16 +
17 +import logging
18 +import warnings
19 +from typing import Any, Dict, List, Optional, Tuple, Union
20 +
21 +import numpy as np
22 +import pandas as pd
23 +from sklearn.ensemble import GradientBoostingRegressor, RandomForestRegressor
24 +from sklearn.linear_model import ElasticNetCV
25 +from sklearn.metrics import (
26 + mean_absolute_error,
27 + mean_absolute_percentage_error,
28 + mean_squared_error,
29 + r2_score,
30 +)
31 +from sklearn.model_selection import (
32 + KFold,
33 + RandomizedSearchCV,
34 + cross_val_score,
35 + train_test_split,
36 +)
37 +from sklearn.pipeline import Pipeline
38 +from sklearn.preprocessing import PolynomialFeatures, StandardScaler
39 +
40 +logger = logging.getLogger(__name__)
41 +
42 +# ---------------------------------------------------------------------------
43 +# Data Preparation
44 +# ---------------------------------------------------------------------------
45 +
46 +
47 +def prepare_ml_data(
48 + df: pd.DataFrame,
49 + y_col: str,
50 + x_cols: List[str],
51 + test_size: float = 0.2,
52 + random_state: int = 42,
53 +) -> Tuple[np.ndarray, np.ndarray, np.ndarray, np.ndarray, List[str]]:
54 + """Split data into train/test sets with NaN handling.
55 +
56 + Parameters
57 + ----------
58 + df : pd.DataFrame
59 + Source dataframe.
60 + y_col : str
61 + Name of the target (price) column.
62 + x_cols : list[str]
63 + Feature column names.
64 + test_size : float
65 + Fraction held out for testing.
66 + random_state : int
67 + Seed for reproducibility.
68 +
69 + Returns
70 + -------
71 + X_train, X_test, y_train, y_test : np.ndarray
72 + Split arrays.
73 + feature_names : list[str]
74 + Column names retained after NaN removal.
75 + """
76 + subset = df[x_cols + [y_col]].copy()
77 +
78 + n_before = len(subset)
79 + subset = subset.dropna()
80 + n_after = len(subset)
81 + if n_before != n_after:
82 + logger.info(
83 + "Dropped %d rows containing NaN (%d -> %d).",
84 + n_before - n_after,
85 + n_before,
86 + n_after,
87 + )
88 +
89 + X = subset[x_cols].values.astype(np.float64)
90 + y = subset[y_col].values.astype(np.float64)
91 + feature_names = list(x_cols)
92 +
93 + X_train, X_test, y_train, y_test = train_test_split(
94 + X, y, test_size=test_size, random_state=random_state
95 + )
96 +
97 + logger.info(
98 + "Train: %d samples, Test: %d samples, Features: %d",
99 + X_train.shape[0],
100 + X_test.shape[0],
101 + X_train.shape[1],
102 + )
103 + return X_train, X_test, y_train, y_test, feature_names
104 +
105 +
106 +# ---------------------------------------------------------------------------
107 +# Individual Model Trainers
108 +# ---------------------------------------------------------------------------
109 +
110 +
111 +def train_elastic_net(
112 + X_train: np.ndarray,
113 + y_train: np.ndarray,
114 + alphas: Optional[List[float]] = None,
115 + l1_ratios: Optional[List[float]] = None,
116 + cv: int = 5,
117 + random_state: int = 42,
118 +) -> ElasticNetCV:
119 + """Train an ElasticNet with built-in cross-validated alpha selection.
120 +
121 + Parameters
122 + ----------
123 + X_train, y_train : np.ndarray
124 + Training data.
125 + alphas : list[float] | None
126 + Candidate regularisation strengths. Defaults to a log-spaced grid.
127 + l1_ratios : list[float] | None
128 + L1/L2 mixing ratios to try. Defaults to ``[0.1, 0.5, 0.7, 0.9, 0.95, 1.0]``.
129 + cv : int
130 + Number of CV folds.
131 + random_state : int
132 + Seed for reproducibility.
133 +
134 + Returns
135 + -------
136 + ElasticNetCV
137 + Fitted model.
138 + """
139 + if alphas is None:
140 + alphas = np.logspace(-4, 2, 50).tolist()
141 + if l1_ratios is None:
142 + l1_ratios = [0.1, 0.5, 0.7, 0.9, 0.95, 1.0]
143 +
144 + model = ElasticNetCV(
145 + alphas=alphas,
146 + l1_ratio=l1_ratios,
147 + cv=cv,
148 + random_state=random_state,
149 + max_iter=10_000,
150 + n_jobs=-1,
151 + )
152 + model.fit(X_train, y_train)
153 + logger.info(
154 + "ElasticNet alpha=%.6f l1_ratio=%.2f",
155 + model.alpha_,
156 + model.l1_ratio_,
157 + )
158 + return model
159 +
160 +
161 +def train_random_forest(
162 + X_train: np.ndarray,
163 + y_train: np.ndarray,
164 + n_estimators: int = 500,
165 + max_depth: Optional[int] = None,
166 + min_samples_leaf: int = 5,
167 + random_state: int = 42,
168 +) -> RandomForestRegressor:
169 + """Train a Random Forest regressor.
170 +
171 + Parameters
172 + ----------
173 + X_train, y_train : np.ndarray
174 + Training data.
175 + n_estimators : int
176 + Number of trees.
177 + max_depth : int | None
178 + Maximum tree depth (``None`` = unlimited).
179 + min_samples_leaf : int
180 + Minimum samples per leaf node.
181 + random_state : int
182 + Seed for reproducibility.
183 +
184 + Returns
185 + -------
186 + RandomForestRegressor
187 + Fitted model.
188 + """
189 + model = RandomForestRegressor(
190 + n_estimators=n_estimators,
191 + max_depth=max_depth,
192 + min_samples_leaf=min_samples_leaf,
193 + random_state=random_state,
194 + n_jobs=-1,
195 + )
196 + model.fit(X_train, y_train)
197 + logger.info("RandomForest n_estimators=%d fitted.", n_estimators)
198 + return model
199 +
200 +
201 +def train_gradient_boosting(
202 + X_train: np.ndarray,
203 + y_train: np.ndarray,
204 + n_estimators: int = 500,
205 + learning_rate: float = 0.05,
206 + max_depth: int = 5,
207 + subsample: float = 0.8,
208 + random_state: int = 42,
209 +) -> GradientBoostingRegressor:
210 + """Train a scikit-learn GradientBoostingRegressor.
211 +
212 + Parameters
213 + ----------
214 + X_train, y_train : np.ndarray
215 + Training data.
216 + n_estimators : int
217 + Boosting rounds.
218 + learning_rate : float
219 + Shrinkage factor.
220 + max_depth : int
221 + Maximum tree depth per stage.
222 + subsample : float
223 + Row subsampling fraction.
224 + random_state : int
225 + Seed for reproducibility.
226 +
227 + Returns
228 + -------
229 + GradientBoostingRegressor
230 + Fitted model.
231 + """
232 + model = GradientBoostingRegressor(
233 + n_estimators=n_estimators,
234 + learning_rate=learning_rate,
235 + max_depth=max_depth,
236 + subsample=subsample,
237 + random_state=random_state,
238 + )
239 + model.fit(X_train, y_train)
240 + logger.info("GradientBoosting fitted (n_estimators=%d).", n_estimators)
241 + return model
242 +
243 +
244 +def train_xgboost(
245 + X_train: np.ndarray,
246 + y_train: np.ndarray,
247 + n_estimators: int = 500,
248 + learning_rate: float = 0.05,
249 + max_depth: int = 6,
250 + subsample: float = 0.8,
251 + colsample_bytree: float = 0.8,
252 + random_state: int = 42,
253 +) -> Any:
254 + """Train an XGBRegressor. Falls back to sklearn GradientBoostingRegressor
255 + if ``xgboost`` is not installed.
256 +
257 + Returns
258 + -------
259 + model
260 + Fitted regressor (XGBRegressor or GradientBoostingRegressor).
261 + """
262 + try:
263 + from xgboost import XGBRegressor
264 +
265 + model = XGBRegressor(
266 + n_estimators=n_estimators,
267 + learning_rate=learning_rate,
268 + max_depth=max_depth,
269 + subsample=subsample,
270 + colsample_bytree=colsample_bytree,
271 + random_state=random_state,
272 + n_jobs=-1,
273 + verbosity=0,
274 + )
275 + model.fit(X_train, y_train)
276 + logger.info("XGBoost fitted (n_estimators=%d).", n_estimators)
277 + return model
278 + except ImportError:
279 + logger.warning("xgboost not installed — falling back to sklearn GBR.")
280 + return train_gradient_boosting(
281 + X_train,
282 + y_train,
283 + n_estimators=n_estimators,
284 + learning_rate=learning_rate,
285 + max_depth=max_depth,
286 + subsample=subsample,
287 + random_state=random_state,
288 + )
289 +
290 +
291 +def train_lightgbm(
292 + X_train: np.ndarray,
293 + y_train: np.ndarray,
294 + n_estimators: int = 500,
295 + learning_rate: float = 0.05,
296 + num_leaves: int = 31,
297 + subsample: float = 0.8,
298 + colsample_bytree: float = 0.8,
299 + random_state: int = 42,
300 +) -> Any:
301 + """Train an LGBMRegressor. Falls back to sklearn GBR if ``lightgbm`` is
302 + not installed.
303 +
304 + Returns
305 + -------
306 + model
307 + Fitted regressor.
308 + """
309 + try:
310 + from lightgbm import LGBMRegressor
311 +
312 + model = LGBMRegressor(
313 + n_estimators=n_estimators,
314 + learning_rate=learning_rate,
315 + num_leaves=num_leaves,
316 + subsample=subsample,
317 + colsample_bytree=colsample_bytree,
318 + random_state=random_state,
319 + n_jobs=-1,
320 + verbose=-1,
321 + )
322 + model.fit(X_train, y_train)
323 + logger.info("LightGBM fitted (n_estimators=%d).", n_estimators)
324 + return model
325 + except ImportError:
326 + logger.warning("lightgbm not installed — falling back to sklearn GBR.")
327 + return train_gradient_boosting(
328 + X_train,
329 + y_train,
330 + n_estimators=n_estimators,
331 + learning_rate=learning_rate,
332 + max_depth=5,
333 + subsample=subsample,
334 + random_state=random_state,
335 + )
336 +
337 +
338 +def train_catboost(
339 + X_train: np.ndarray,
340 + y_train: np.ndarray,
341 + iterations: int = 500,
342 + learning_rate: float = 0.05,
343 + depth: int = 6,
344 + random_state: int = 42,
345 +) -> Any:
346 + """Train a CatBoostRegressor. Falls back to sklearn GBR if ``catboost``
347 + is not installed.
348 +
349 + Returns
350 + -------
351 + model
352 + Fitted regressor.
353 + """
354 + try:
355 + from catboost import CatBoostRegressor
356 +
357 + model = CatBoostRegressor(
358 + iterations=iterations,
359 + learning_rate=learning_rate,
360 + depth=depth,
361 + random_state=random_state,
362 + verbose=0,
363 + )
364 + model.fit(X_train, y_train)
365 + logger.info("CatBoost fitted (iterations=%d).", iterations)
366 + return model
367 + except ImportError:
368 + logger.warning("catboost not installed — falling back to sklearn GBR.")
369 + return train_gradient_boosting(
370 + X_train,
371 + y_train,
372 + n_estimators=iterations,
373 + learning_rate=learning_rate,
374 + max_depth=depth,
375 + random_state=random_state,
376 + )
377 +
378 +
379 +def train_gam(
380 + X_train: np.ndarray,
381 + y_train: np.ndarray,
382 + n_splines: int = 20,
383 + degree: int = 2,
384 +) -> Any:
385 + """Train a Generalized Additive Model.
386 +
387 + Attempts to use ``pygam.LinearGAM``; if unavailable, builds a polynomial-
388 + feature pipeline as a lightweight approximation.
389 +
390 + Returns
391 + -------
392 + model
393 + Fitted GAM or polynomial pipeline.
394 + """
395 + try:
396 + from pygam import LinearGAM, s
397 +
398 + # Build one spline term per feature.
399 + terms = s(0, n_splines=n_splines)
400 + for j in range(1, X_train.shape[1]):
401 + terms += s(j, n_splines=n_splines)
402 +
403 + model = LinearGAM(terms)
404 + model.gridsearch(X_train, y_train, progress=False)
405 + logger.info("pygam LinearGAM fitted (n_splines=%d).", n_splines)
406 + return model
407 + except ImportError:
408 + logger.warning(
409 + "pygam not installed — approximating GAM with polynomial features (degree=%d).",
410 + degree,
411 + )
412 + pipe = Pipeline(
413 + [
414 + ("poly", PolynomialFeatures(degree=degree, interaction_only=True, include_bias=False)),
415 + ("scaler", StandardScaler()),
416 + (
417 + "enet",
418 + ElasticNetCV(
419 + l1_ratio=[0.5, 0.7, 0.9, 0.95, 1.0],
420 + cv=5,
421 + max_iter=10_000,
422 + n_jobs=-1,
423 + ),
424 + ),
425 + ]
426 + )
427 + pipe.fit(X_train, y_train)
428 + logger.info("Polynomial GAM approximation fitted (degree=%d).", degree)
429 + return pipe
430 +
431 +
432 +# ---------------------------------------------------------------------------
433 +# Train All Models
434 +# ---------------------------------------------------------------------------
435 +
436 +
437 +def train_all_models(
438 + X_train: np.ndarray,
439 + y_train: np.ndarray,
440 +) -> Dict[str, Any]:
441 + """Train every available model and return a name -> fitted model dict.
442 +
443 + Models that fail to train (e.g. convergence issues) are logged and
444 + skipped rather than raising.
445 +
446 + Returns
447 + -------
448 + dict[str, model]
449 + Mapping of model name to fitted estimator.
450 + """
451 + trainers: Dict[str, Any] = {
452 + "ElasticNet": train_elastic_net,
453 + "RandomForest": train_random_forest,
454 + "GradientBoosting": train_gradient_boosting,
455 + "XGBoost": train_xgboost,
456 + "LightGBM": train_lightgbm,
457 + "CatBoost": train_catboost,
458 + "GAM": train_gam,
459 + }
460 +
461 + models: Dict[str, Any] = {}
462 + for name, trainer in trainers.items():
463 + try:
464 + logger.info("Training %s ...", name)
465 + models[name] = trainer(X_train, y_train)
466 + except Exception:
467 + logger.exception("Failed to train %s — skipping.", name)
468 + return models
469 +
470 +
471 +# ---------------------------------------------------------------------------
472 +# Evaluation
473 +# ---------------------------------------------------------------------------
474 +
475 +
476 +def evaluate_model(
477 + model: Any,
478 + X_test: np.ndarray,
479 + y_test: np.ndarray,
480 +) -> Dict[str, float]:
481 + """Compute regression metrics for a fitted model.
482 +
483 + Returns
484 + -------
485 + dict
486 + Keys: ``R2``, ``RMSE``, ``MAE``, ``MAPE``.
487 + """
488 + y_pred = model.predict(X_test)
489 + r2 = r2_score(y_test, y_pred)
490 + rmse = float(np.sqrt(mean_squared_error(y_test, y_pred)))
491 + mae = mean_absolute_error(y_test, y_pred)
492 +
493 + # Guard against zero prices when computing MAPE.
494 + with warnings.catch_warnings():
495 + warnings.simplefilter("ignore")
496 + mask = y_test != 0
497 + if mask.sum() > 0:
498 + mape = float(np.mean(np.abs((y_test[mask] - y_pred[mask]) / y_test[mask]))) * 100
499 + else:
500 + mape = np.nan
501 +
502 + metrics = {"R2": r2, "RMSE": rmse, "MAE": mae, "MAPE": mape}
503 + logger.info(
504 + "Evaluation R2=%.4f RMSE=%.2f MAE=%.2f MAPE=%.2f%%",
505 + r2,
506 + rmse,
507 + mae,
508 + mape,
509 + )
510 + return metrics
511 +
512 +
513 +def compare_all_models(
514 + models_dict: Dict[str, Any],
515 + X_test: np.ndarray,
516 + y_test: np.ndarray,
517 +) -> pd.DataFrame:
518 + """Evaluate every model and return a comparison DataFrame sorted by R2.
519 +
520 + Parameters
521 + ----------
522 + models_dict : dict[str, model]
523 + Output of :func:`train_all_models`.
524 + X_test, y_test : np.ndarray
525 + Held-out test data.
526 +
527 + Returns
528 + -------
529 + pd.DataFrame
530 + Columns: ``Model``, ``R2``, ``RMSE``, ``MAE``, ``MAPE``.
531 + """
532 + rows: List[Dict[str, Any]] = []
533 + for name, model in models_dict.items():
534 + try:
535 + metrics = evaluate_model(model, X_test, y_test)
536 + rows.append({"Model": name, **metrics})
537 + except Exception:
538 + logger.exception("Evaluation failed for %s.", name)
539 +
540 + comparison = pd.DataFrame(rows).sort_values("R2", ascending=False).reset_index(drop=True)
541 + logger.info("\n%s", comparison.to_string(index=False))
542 + return comparison
543 +
544 +
545 +# ---------------------------------------------------------------------------
546 +# Cross-Validation
547 +# ---------------------------------------------------------------------------
548 +
549 +
550 +def cross_validate_model(
551 + model: Any,
552 + X: np.ndarray,
553 + y: np.ndarray,
554 + k: int = 5,
555 + random_state: int = 42,
556 +) -> Dict[str, float]:
557 + """K-fold cross-validation returning mean and std of R2, RMSE, and MAE.
558 +
559 + Parameters
560 + ----------
561 + model : estimator
562 + An **unfitted** or fitted sklearn-compatible estimator. A clone is
563 + created internally, so the caller's model is not mutated.
564 + X, y : np.ndarray
565 + Full dataset (train + test).
566 + k : int
567 + Number of folds.
568 + random_state : int
569 + Seed for KFold split.
570 +
571 + Returns
572 + -------
573 + dict
574 + Keys: ``R2_mean``, ``R2_std``, ``RMSE_mean``, ``RMSE_std``,
575 + ``MAE_mean``, ``MAE_std``.
576 + """
577 + from sklearn.base import clone
578 +
579 + kf = KFold(n_splits=k, shuffle=True, random_state=random_state)
580 + r2_scores: List[float] = []
581 + rmse_scores: List[float] = []
582 + mae_scores: List[float] = []
583 +
584 + for train_idx, val_idx in kf.split(X):
585 + X_tr, X_val = X[train_idx], X[val_idx]
586 + y_tr, y_val = y[train_idx], y[val_idx]
587 +
588 + m = clone(model)
589 + m.fit(X_tr, y_tr)
590 + y_pred = m.predict(X_val)
591 +
592 + r2_scores.append(r2_score(y_val, y_pred))
593 + rmse_scores.append(float(np.sqrt(mean_squared_error(y_val, y_pred))))
594 + mae_scores.append(mean_absolute_error(y_val, y_pred))
595 +
596 + results = {
597 + "R2_mean": float(np.mean(r2_scores)),
598 + "R2_std": float(np.std(r2_scores)),
599 + "RMSE_mean": float(np.mean(rmse_scores)),
600 + "RMSE_std": float(np.std(rmse_scores)),
601 + "MAE_mean": float(np.mean(mae_scores)),
602 + "MAE_std": float(np.std(mae_scores)),
603 + }
604 + logger.info(
605 + "CV(%d) R2=%.4f +/- %.4f RMSE=%.2f +/- %.2f",
606 + k,
607 + results["R2_mean"],
608 + results["R2_std"],
609 + results["RMSE_mean"],
610 + results["RMSE_std"],
611 + )
612 + return results
613 +
614 +
615 +# ---------------------------------------------------------------------------
616 +# Feature Importance
617 +# ---------------------------------------------------------------------------
618 +
619 +
620 +def get_feature_importance(
621 + model: Any,
622 + feature_names: List[str],
623 +) -> pd.DataFrame:
624 + """Extract feature importances from a fitted model.
625 +
626 + Supports tree-based models (``feature_importances_``), linear models
627 + (``coef_``), and ``pygam`` (partial dependence variance).
628 +
629 + Parameters
630 + ----------
631 + model : estimator
632 + Fitted model.
633 + feature_names : list[str]
634 + Feature column names.
635 +
636 + Returns
637 + -------
638 + pd.DataFrame
639 + Columns: ``Feature``, ``Importance``, sorted descending.
640 + """
641 + importances: Optional[np.ndarray] = None
642 +
643 + # Tree-based models (RF, GBR, XGB, LGBM, CatBoost).
644 + if hasattr(model, "feature_importances_"):
645 + importances = np.asarray(model.feature_importances_)
646 +
647 + # Linear models (ElasticNet, Ridge, Lasso).
648 + elif hasattr(model, "coef_"):
649 + importances = np.abs(np.asarray(model.coef_))
650 +
651 + # pygam — approximate importance via partial dependence variance.
652 + elif hasattr(model, "partial_dependence"):
653 + try:
654 + variances = []
655 + for j in range(len(feature_names)):
656 + XX = model.generate_X_grid(term=j)
657 + pdep, _ = model.partial_dependence(term=j, X=XX, width=0.95)
658 + variances.append(float(np.var(pdep)))
659 + importances = np.array(variances)
660 + except Exception:
661 + logger.warning("Could not extract importance from pygam model.")
662 +
663 + # Pipeline fallback — try last step.
664 + elif hasattr(model, "named_steps"):
665 + last_step = list(model.named_steps.values())[-1]
666 + if hasattr(last_step, "coef_"):
667 + # Polynomial pipeline: importances don't map 1-to-1 to original
668 + # features. Aggregate absolute coefficients.
669 + poly = model.named_steps.get("poly")
670 + if poly is not None:
671 + coefs = np.abs(last_step.coef_)
672 + powers = poly.powers_
673 + agg = np.zeros(len(feature_names))
674 + for idx, power_vec in enumerate(powers):
675 + for feat_idx in np.nonzero(power_vec)[0]:
676 + if feat_idx < len(feature_names):
677 + agg[feat_idx] += coefs[idx] if idx < len(coefs) else 0.0
678 + importances = agg
679 + else:
680 + importances = np.abs(np.asarray(last_step.coef_))
681 +
682 + if importances is None:
683 + logger.warning(
684 + "Cannot extract importance from model type %s.",
685 + type(model).__name__,
686 + )
687 + return pd.DataFrame(columns=["Feature", "Importance"])
688 +
689 + # Truncate / pad to match feature_names length.
690 + if len(importances) > len(feature_names):
691 + importances = importances[: len(feature_names)]
692 + elif len(importances) < len(feature_names):
693 + importances = np.pad(importances, (0, len(feature_names) - len(importances)))
694 +
695 + df_imp = (
696 + pd.DataFrame({"Feature": feature_names, "Importance": importances})
697 + .sort_values("Importance", ascending=False)
698 + .reset_index(drop=True)
699 + )
700 + return df_imp
701 +
702 +
703 +# ---------------------------------------------------------------------------
704 +# Hyperparameter Tuning
705 +# ---------------------------------------------------------------------------
706 +
707 +
708 +def tune_best_model(
709 + X_train: np.ndarray,
710 + y_train: np.ndarray,
711 + model_type: str = "xgboost",
712 + n_iter: int = 50,
713 + cv: int = 5,
714 + random_state: int = 42,
715 + scoring: str = "neg_root_mean_squared_error",
716 +) -> Tuple[Any, Dict[str, Any]]:
717 + """Randomised hyperparameter search for a given model type.
718 +
719 + Parameters
720 + ----------
721 + X_train, y_train : np.ndarray
722 + Training data.
723 + model_type : str
724 + One of ``'xgboost'``, ``'lightgbm'``, ``'catboost'``,
725 + ``'random_forest'``, ``'gradient_boosting'``.
726 + n_iter : int
727 + Number of parameter settings sampled.
728 + cv : int
729 + Cross-validation folds.
730 + random_state : int
731 + Seed for reproducibility.
732 + scoring : str
733 + Metric for ``RandomizedSearchCV``.
734 +
735 + Returns
736 + -------
737 + best_model
738 + Refitted model with the best parameter set.
739 + best_params : dict
740 + Best parameters found.
741 + """
742 +
743 + # --- estimator + param distributions -----------------------------------
744 + if model_type == "xgboost":
745 + try:
746 + from xgboost import XGBRegressor
747 +
748 + estimator = XGBRegressor(random_state=random_state, n_jobs=-1, verbosity=0)
749 + except ImportError:
750 + logger.warning("xgboost unavailable — tuning sklearn GBR instead.")
751 + estimator = GradientBoostingRegressor(random_state=random_state)
752 + model_type = "gradient_boosting"
753 + elif model_type == "lightgbm":
754 + try:
755 + from lightgbm import LGBMRegressor
756 +
757 + estimator = LGBMRegressor(random_state=random_state, n_jobs=-1, verbose=-1)
758 + except ImportError:
759 + logger.warning("lightgbm unavailable — tuning sklearn GBR instead.")
760 + estimator = GradientBoostingRegressor(random_state=random_state)
761 + model_type = "gradient_boosting"
762 + elif model_type == "catboost":
763 + try:
764 + from catboost import CatBoostRegressor
765 +
766 + estimator = CatBoostRegressor(random_state=random_state, verbose=0)
767 + except ImportError:
768 + logger.warning("catboost unavailable — tuning sklearn GBR instead.")
769 + estimator = GradientBoostingRegressor(random_state=random_state)
770 + model_type = "gradient_boosting"
771 + elif model_type == "random_forest":
772 + estimator = RandomForestRegressor(random_state=random_state, n_jobs=-1)
773 + else:
774 + estimator = GradientBoostingRegressor(random_state=random_state)
775 + model_type = "gradient_boosting"
776 +
777 + param_grids: Dict[str, Dict[str, Any]] = {
778 + "xgboost": {
779 + "n_estimators": [200, 500, 800, 1000],
780 + "learning_rate": [0.01, 0.03, 0.05, 0.1],
781 + "max_depth": [3, 4, 5, 6, 8],
782 + "subsample": [0.6, 0.7, 0.8, 0.9, 1.0],
783 + "colsample_bytree": [0.6, 0.7, 0.8, 0.9, 1.0],
784 + "min_child_weight": [1, 3, 5, 7],
785 + "reg_alpha": [0, 0.01, 0.1, 1],
786 + "reg_lambda": [0.5, 1, 2, 5],
787 + },
788 + "lightgbm": {
789 + "n_estimators": [200, 500, 800, 1000],
790 + "learning_rate": [0.01, 0.03, 0.05, 0.1],
791 + "num_leaves": [15, 31, 63, 127],
792 + "subsample": [0.6, 0.7, 0.8, 0.9, 1.0],
793 + "colsample_bytree": [0.6, 0.7, 0.8, 0.9, 1.0],
794 + "min_child_samples": [5, 10, 20, 50],
795 + "reg_alpha": [0, 0.01, 0.1, 1],
796 + "reg_lambda": [0.5, 1, 2, 5],
797 + },
798 + "catboost": {
799 + "iterations": [200, 500, 800, 1000],
800 + "learning_rate": [0.01, 0.03, 0.05, 0.1],
801 + "depth": [4, 6, 8, 10],
802 + "l2_leaf_reg": [1, 3, 5, 7, 9],
803 + "bagging_temperature": [0, 0.5, 1],
804 + },
805 + "random_forest": {
806 + "n_estimators": [200, 500, 800, 1000],
807 + "max_depth": [None, 10, 20, 30, 50],
808 + "min_samples_leaf": [1, 2, 5, 10],
809 + "min_samples_split": [2, 5, 10],
810 + "max_features": ["sqrt", "log2", 0.5, 0.8, None],
811 + },
812 + "gradient_boosting": {
813 + "n_estimators": [200, 500, 800, 1000],
814 + "learning_rate": [0.01, 0.03, 0.05, 0.1],
815 + "max_depth": [3, 4, 5, 6, 8],
816 + "subsample": [0.6, 0.7, 0.8, 0.9, 1.0],
817 + "min_samples_leaf": [1, 2, 5, 10],
818 + },
819 + }
820 +
821 + param_dist = param_grids.get(model_type, param_grids["gradient_boosting"])
822 +
823 + search = RandomizedSearchCV(
824 + estimator,
825 + param_distributions=param_dist,
826 + n_iter=n_iter,
827 + scoring=scoring,
828 + cv=cv,
829 + random_state=random_state,
830 + n_jobs=-1,
831 + verbose=0,
832 + )
833 + search.fit(X_train, y_train)
834 +
835 + logger.info(
836 + "Best %s params: %s (score=%.4f)",
837 + model_type,
838 + search.best_params_,
839 + search.best_score_,
840 + )
841 + return search.best_estimator_, search.best_params_
added src/nlp_features.py +640 −0
@@ -0,0 +1,640 @@
1 +"""
2 +NLP Feature Extraction for Airbnb Hedonic Pricing Analysis.
3 +
4 +Extracts linguistic, semantic, and structural features from listing text fields
5 +(primarily 'name', but also 'description', 'neighborhood_overview', 'host_about'
6 +when available in richer datasets).
7 +
8 +Supports bilingual (French/English) Airbnb listings common in Quebec markets.
9 +
10 +Functions
11 +---------
12 +extract_basic_text_features : Character-level and token-level text statistics.
13 +extract_language_scores : Keyword-based thematic scoring (luxury, cozy, ...).
14 +extract_property_info_from_name : Structured parsing of the Airbnb name template.
15 +create_text_embeddings : TF-IDF or CountVectorizer with TruncatedSVD reduction.
16 +find_price_associated_words : Correlation of TF-IDF terms with (log) price.
17 +create_all_nlp_features : Master pipeline combining all of the above.
18 +"""
19 +
20 +from __future__ import annotations
21 +
22 +import logging
23 +import re
24 +from typing import Dict, List, Optional, Tuple
25 +
26 +import numpy as np
27 +import pandas as pd
28 +from scipy import stats
29 +from sklearn.decomposition import TruncatedSVD
30 +from sklearn.feature_extraction.text import CountVectorizer, TfidfVectorizer
31 +
32 +logger = logging.getLogger(__name__)
33 +
34 +# ---------------------------------------------------------------------------
35 +# Keyword dictionaries (bilingual FR/EN)
36 +# ---------------------------------------------------------------------------
37 +
38 +LANGUAGE_KEYWORDS: Dict[str, List[str]] = {
39 + "luxury_language_score": [
40 + "luxe", "luxury", "premium", "elegant", "chic", "spa",
41 + "designer", "upscale", "exclusive", "prestige", "haut de gamme",
42 + "somptueux", "raffiné", "opulent", "magnifique",
43 + ],
44 + "cozy_language_score": [
45 + "cozy", "cosy", "chaleureux", "douillet", "confortable",
46 + "warm", "charming", "intime", "accueillant", "nid",
47 + "mignon", "petit coin", "cocoon",
48 + ],
49 + "professional_tone_score": [
50 + "professional", "modern", "clean", "bright", "renovated",
51 + "new", "stylish", "design", "moderne", "lumineux",
52 + "rénové", "neuf", "propre", "contemporain", "minimaliste",
53 + ],
54 + "family_language_score": [
55 + "family", "famille", "kids", "enfants", "children",
56 + "spacious", "grand", "spacieux", "familial", "aire de jeux",
57 + "playground", "bébé", "baby",
58 + ],
59 + "business_language_score": [
60 + "business", "workspace", "bureau", "wifi", "downtown",
61 + "centre-ville", "corporate", "professionnel", "travail",
62 + "work", "desk", "office",
63 + ],
64 + "romantic_language_score": [
65 + "romantic", "romantique", "intimate", "couple",
66 + "retreat", "getaway", "escapade", "amoureux",
67 + "lune de miel", "honeymoon", "chandelle",
68 + ],
69 + "tourism_language_score": [
70 + "tourist", "touristique", "attractions", "view", "vue",
71 + "panoramic", "nature", "montagne", "lac", "ski",
72 + "mountain", "lake", "panoramique", "plein air",
73 + "randonnée", "hiking", "plage", "beach", "forêt", "forest",
74 + ],
75 +}
76 +
77 +
78 +# ---------------------------------------------------------------------------
79 +# 1. Basic text features
80 +# ---------------------------------------------------------------------------
81 +
82 +def extract_basic_text_features(df: pd.DataFrame) -> pd.DataFrame:
83 + """Extract character-level and token-level statistics from listing text.
84 +
85 + Parameters
86 + ----------
87 + df : pd.DataFrame
88 + Must contain a ``name`` column. Optionally ``description``,
89 + ``neighborhood_overview``, and ``host_about``.
90 +
91 + Returns
92 + -------
93 + pd.DataFrame
94 + Copy of *df* with appended feature columns:
95 + ``title_length``, ``title_word_count``, ``exclamation_count``,
96 + ``uppercase_ratio``, ``has_star_rating``, ``extracted_star_rating``.
97 + """
98 + logger.info("Extracting basic text features ...")
99 + result = df.copy()
100 +
101 + name_series: pd.Series = result["name"].fillna("")
102 +
103 + # Character count
104 + result["title_length"] = name_series.str.len()
105 +
106 + # Word count (split on whitespace)
107 + result["title_word_count"] = name_series.str.split().str.len().fillna(0).astype(int)
108 +
109 + # Exclamation marks
110 + result["exclamation_count"] = name_series.str.count("!")
111 +
112 + # Upper-case ratio (letters only; avoid division by zero)
113 + alpha_chars = name_series.str.replace(r"[^A-Za-zÀ-ÿ]", "", regex=True)
114 + upper_chars = name_series.str.replace(r"[^A-ZÀ-Ý]", "", regex=True)
115 + alpha_len = alpha_chars.str.len().replace(0, np.nan)
116 + result["uppercase_ratio"] = (upper_chars.str.len() / alpha_len).fillna(0.0)
117 +
118 + # Star rating detection
119 + result["has_star_rating"] = name_series.str.contains("★", regex=False)
120 +
121 + # Numeric star rating extraction (e.g. ★4.94 or ★5.0)
122 + extracted = name_series.str.extract(r"★(\d+\.?\d*)", expand=False)
123 + result["extracted_star_rating"] = pd.to_numeric(extracted, errors="coerce")
124 +
125 + # --- Optional: description-level features (if column exists) -----------
126 + for col in ("description", "neighborhood_overview", "host_about"):
127 + if col in result.columns:
128 + text = result[col].fillna("")
129 + result[f"{col}_length"] = text.str.len()
130 + result[f"{col}_word_count"] = text.str.split().str.len().fillna(0).astype(int)
131 + logger.info(" Added length/word_count for '%s'.", col)
132 +
133 + logger.info("Basic text features extracted: %d rows.", len(result))
134 + return result
135 +
136 +
137 +# ---------------------------------------------------------------------------
138 +# 2. Language / keyword scores
139 +# ---------------------------------------------------------------------------
140 +
141 +def _score_keywords(text: str, keywords: List[str]) -> int:
142 + """Count how many distinct keywords appear in *text* (case-insensitive)."""
143 + text_lower = text.lower()
144 + return sum(1 for kw in keywords if kw in text_lower)
145 +
146 +
147 +def extract_language_scores(
148 + df: pd.DataFrame,
149 + text_columns: Optional[List[str]] = None,
150 +) -> pd.DataFrame:
151 + """Score each listing on thematic keyword dimensions.
152 +
153 + For every theme defined in ``LANGUAGE_KEYWORDS`` the score equals the
154 + number of matching keywords found in the concatenated text of all
155 + *text_columns* (case-insensitive substring matching).
156 +
157 + Parameters
158 + ----------
159 + df : pd.DataFrame
160 + Input dataframe.
161 + text_columns : list[str] | None
162 + Columns to scan. Defaults to ``['name']`` plus any of
163 + ``description``, ``neighborhood_overview``, ``host_about`` that
164 + exist in *df*.
165 +
166 + Returns
167 + -------
168 + pd.DataFrame
169 + Copy with one new column per theme key in ``LANGUAGE_KEYWORDS``.
170 + """
171 + logger.info("Extracting language keyword scores ...")
172 + result = df.copy()
173 +
174 + if text_columns is None:
175 + text_columns = ["name"]
176 + for optional in ("description", "neighborhood_overview", "host_about"):
177 + if optional in result.columns:
178 + text_columns.append(optional)
179 +
180 + # Build a single concatenated text per row
181 + combined_text: pd.Series = (
182 + result[text_columns]
183 + .fillna("")
184 + .apply(lambda row: " ".join(row), axis=1)
185 + )
186 +
187 + for score_name, keywords in LANGUAGE_KEYWORDS.items():
188 + result[score_name] = combined_text.apply(_score_keywords, keywords=keywords)
189 + logger.debug(" %s mean=%.3f", score_name, result[score_name].mean())
190 +
191 + logger.info("Language scores computed for %d themes.", len(LANGUAGE_KEYWORDS))
192 + return result
193 +
194 +
195 +# ---------------------------------------------------------------------------
196 +# 3. Structured name parsing
197 +# ---------------------------------------------------------------------------
198 +
199 +# Pre-compiled patterns for the Airbnb name template:
200 +# "PropertyType in CityName · ★Rating · N bedroom(s) · N bed(s) · N bath(s)"
201 +_RE_CITY = re.compile(
202 + r"^.+?\s+in\s+(.+?)(?:\s+·|$)", re.IGNORECASE
203 +)
204 +_RE_BEDROOMS = re.compile(
205 + r"(\d+)\s+bedroom", re.IGNORECASE
206 +)
207 +_RE_STUDIO = re.compile(
208 + r"\bStudio\b", re.IGNORECASE
209 +)
210 +_RE_BEDS = re.compile(
211 + r"(\d+)\s+beds?\b", re.IGNORECASE
212 +)
213 +_RE_BATHS = re.compile(
214 + r"([\d.]+)\s+(?:shared\s+)?(?:private\s+)?bath", re.IGNORECASE
215 +)
216 +_RE_HALF_BATH = re.compile(
217 + r"\bHalf-bath\b", re.IGNORECASE
218 +)
219 +_RE_NEW = re.compile(
220 + r"★New\b", re.IGNORECASE
221 +)
222 +_RE_PROPERTY_TYPE = re.compile(
223 + r"^(.+?)\s+in\s+", re.IGNORECASE
224 +)
225 +
226 +
227 +def extract_property_info_from_name(df: pd.DataFrame) -> pd.DataFrame:
228 + """Parse the structured Airbnb ``name`` field into discrete features.
229 +
230 + Parameters
231 + ----------
232 + df : pd.DataFrame
233 + Must contain column ``name``.
234 +
235 + Returns
236 + -------
237 + pd.DataFrame
238 + Copy with columns: ``parsed_property_type``, ``parsed_city``,
239 + ``parsed_bedrooms``, ``parsed_beds``, ``parsed_baths``,
240 + ``is_studio``, ``is_new_listing``, ``has_shared_bath``,
241 + ``has_private_bath``.
242 + """
243 + logger.info("Parsing property info from name field ...")
244 + result = df.copy()
245 +
246 + names: pd.Series = result["name"].fillna("")
247 +
248 + # --- Parsed property type ------------------------------------------------
249 + result["parsed_property_type"] = names.str.extract(
250 + _RE_PROPERTY_TYPE, expand=False
251 + )
252 +
253 + # --- City ----------------------------------------------------------------
254 + result["parsed_city"] = names.str.extract(_RE_CITY, expand=False)
255 +
256 + # --- Bedrooms (0 for Studio) --------------------------------------------
257 + bedroom_match = names.str.extract(_RE_BEDROOMS, expand=False)
258 + is_studio = names.str.contains(_RE_STUDIO, regex=True)
259 + result["parsed_bedrooms"] = pd.to_numeric(bedroom_match, errors="coerce")
260 + result.loc[is_studio & result["parsed_bedrooms"].isna(), "parsed_bedrooms"] = 0
261 + result["is_studio"] = is_studio
262 +
263 + # --- Beds ----------------------------------------------------------------
264 + beds_match = names.str.extract(_RE_BEDS, expand=False)
265 + result["parsed_beds"] = pd.to_numeric(beds_match, errors="coerce")
266 +
267 + # --- Baths (handles "1.5 baths", "Half-bath", "shared bath") ------------
268 + baths_match = names.str.extract(_RE_BATHS, expand=False)
269 + result["parsed_baths"] = pd.to_numeric(baths_match, errors="coerce")
270 + # Handle "Half-bath" => 0.5
271 + half_bath_mask = names.str.contains(_RE_HALF_BATH, regex=True)
272 + result.loc[half_bath_mask & result["parsed_baths"].isna(), "parsed_baths"] = 0.5
273 +
274 + # --- Qualifiers ----------------------------------------------------------
275 + result["is_new_listing"] = names.str.contains(_RE_NEW, regex=True)
276 + result["has_shared_bath"] = names.str.contains(r"shared\s+bath", case=False, regex=True)
277 + result["has_private_bath"] = names.str.contains(r"private\s+bath", case=False, regex=True)
278 +
279 + logger.info("Name parsing complete: %d rows.", len(result))
280 + return result
281 +
282 +
283 +# ---------------------------------------------------------------------------
284 +# 4. Text embeddings (TF-IDF / CountVectorizer + TruncatedSVD)
285 +# ---------------------------------------------------------------------------
286 +
287 +def create_text_embeddings(
288 + df: pd.DataFrame,
289 + method: str = "tfidf",
290 + n_components: int = 10,
291 + text_columns: Optional[List[str]] = None,
292 + max_features: int = 5000,
293 + ngram_range: Tuple[int, int] = (1, 2),
294 + random_state: int = 42,
295 +) -> pd.DataFrame:
296 + """Create dense low-dimensional text embeddings via TF-IDF/Count + SVD.
297 +
298 + Parameters
299 + ----------
300 + df : pd.DataFrame
301 + Input data.
302 + method : {'tfidf', 'count'}
303 + Vectoriser method.
304 + n_components : int
305 + Number of SVD components to retain.
306 + text_columns : list[str] | None
307 + Text columns to concatenate. Defaults to ``['name']`` + optional
308 + ``description`` if present.
309 + max_features : int
310 + Maximum vocabulary size for the vectoriser.
311 + ngram_range : tuple[int, int]
312 + N-gram range passed to the vectoriser.
313 + random_state : int
314 + Seed for ``TruncatedSVD``.
315 +
316 + Returns
317 + -------
318 + pd.DataFrame
319 + Copy with ``text_embed_0`` ... ``text_embed_{n_components-1}`` appended.
320 + """
321 + logger.info("Creating text embeddings (method=%s, n_components=%d) ...", method, n_components)
322 + result = df.copy()
323 +
324 + if text_columns is None:
325 + text_columns = ["name"]
326 + if "description" in result.columns:
327 + text_columns.append("description")
328 +
329 + # Concatenate and clean
330 + corpus: pd.Series = (
331 + result[text_columns]
332 + .fillna("")
333 + .apply(lambda row: " ".join(row), axis=1)
334 + )
335 + corpus = corpus.str.lower()
336 + corpus = corpus.str.replace(r"[^\w\sÀ-ÿ]", " ", regex=True) # strip punctuation
337 + corpus = corpus.str.replace(r"\s+", " ", regex=True).str.strip()
338 +
339 + # Replace empty strings to avoid all-zero rows
340 + corpus = corpus.replace("", "empty_listing")
341 +
342 + # Vectorise
343 + if method == "count":
344 + vectoriser = CountVectorizer(
345 + max_features=max_features,
346 + ngram_range=ngram_range,
347 + stop_words=None, # keep French words
348 + )
349 + else:
350 + vectoriser = TfidfVectorizer(
351 + max_features=max_features,
352 + ngram_range=ngram_range,
353 + stop_words=None,
354 + sublinear_tf=True,
355 + )
356 +
357 + dtm = vectoriser.fit_transform(corpus)
358 + logger.info(" Vocabulary size: %d, document-term matrix shape: %s", len(vectoriser.vocabulary_), dtm.shape)
359 +
360 + # Ensure n_components does not exceed matrix rank
361 + effective_components = min(n_components, dtm.shape[1] - 1, dtm.shape[0] - 1)
362 + if effective_components < n_components:
363 + logger.warning(
364 + "Reducing n_components from %d to %d (matrix rank constraint).",
365 + n_components, effective_components,
366 + )
367 +
368 + if effective_components < 1:
369 + logger.warning("Not enough data for SVD; skipping embeddings.")
370 + return result
371 +
372 + svd = TruncatedSVD(n_components=effective_components, random_state=random_state)
373 + embeddings = svd.fit_transform(dtm)
374 +
375 + explained = svd.explained_variance_ratio_.sum()
376 + logger.info(" SVD explained variance: %.2f%%", explained * 100)
377 +
378 + embed_cols = [f"text_embed_{i}" for i in range(effective_components)]
379 + embed_df = pd.DataFrame(embeddings, columns=embed_cols, index=result.index)
380 + result = pd.concat([result, embed_df], axis=1)
381 +
382 + # Pad with zeros if we reduced components
383 + for i in range(effective_components, n_components):
384 + result[f"text_embed_{i}"] = 0.0
385 +
386 + logger.info("Text embeddings added: %d components.", n_components)
387 + return result
388 +
389 +
390 +# ---------------------------------------------------------------------------
391 +# 5. Price-associated words
392 +# ---------------------------------------------------------------------------
393 +
394 +def find_price_associated_words(
395 + df: pd.DataFrame,
396 + price_col: str = "log_price",
397 + top_n: int = 20,
398 + text_columns: Optional[List[str]] = None,
399 + max_features: int = 3000,
400 +) -> pd.DataFrame:
401 + """Identify words most correlated with listing price.
402 +
403 + Builds a TF-IDF matrix from listing text and computes Pearson
404 + correlation of each term column with the price variable.
405 +
406 + Parameters
407 + ----------
408 + df : pd.DataFrame
409 + Must contain *price_col* and at least ``name``.
410 + price_col : str
411 + Column with (log-)price values. Rows with NaN are excluded.
412 + top_n : int
413 + Number of top positively and negatively correlated words.
414 + text_columns : list[str] | None
415 + Text columns to concatenate.
416 + max_features : int
417 + Maximum vocabulary size.
418 +
419 + Returns
420 + -------
421 + pd.DataFrame
422 + Columns: ``word``, ``correlation``, ``abs_correlation``,
423 + ``direction`` ('positive' | 'negative').
424 + Sorted by absolute correlation descending.
425 + """
426 + logger.info("Finding price-associated words (price_col=%s, top_n=%d) ...", price_col, top_n)
427 +
428 + if text_columns is None:
429 + text_columns = ["name"]
430 + if "description" in df.columns:
431 + text_columns.append("description")
432 +
433 + # Work on rows with valid price
434 + if price_col not in df.columns:
435 + # Attempt to create log_price on the fly
436 + if "price_numeric" in df.columns:
437 + work = df.copy()
438 + work["log_price"] = np.log1p(pd.to_numeric(work["price_numeric"], errors="coerce"))
439 + price_col = "log_price"
440 + else:
441 + logger.error("Price column '%s' not found. Cannot compute word correlations.", price_col)
442 + return pd.DataFrame(columns=["word", "correlation", "abs_correlation", "direction"])
443 +
444 + else:
445 + work = df.copy()
446 +
447 + mask = work[price_col].notna()
448 + work = work.loc[mask].reset_index(drop=True)
449 +
450 + if len(work) < 30:
451 + logger.warning("Too few rows with valid price (%d); skipping word-price correlation.", len(work))
452 + return pd.DataFrame(columns=["word", "correlation", "abs_correlation", "direction"])
453 +
454 + # Concatenate text
455 + corpus = (
456 + work[text_columns]
457 + .fillna("")
458 + .apply(lambda row: " ".join(row), axis=1)
459 + .str.lower()
460 + .str.replace(r"[^\w\sÀ-ÿ]", " ", regex=True)
461 + .str.replace(r"\s+", " ", regex=True)
462 + .str.strip()
463 + )
464 +
465 + vectoriser = TfidfVectorizer(
466 + max_features=max_features,
467 + ngram_range=(1, 2),
468 + stop_words=None,
469 + sublinear_tf=True,
470 + min_df=5,
471 + )
472 + dtm = vectoriser.fit_transform(corpus)
473 + feature_names = vectoriser.get_feature_names_out()
474 + price_values = work[price_col].values
475 +
476 + # Compute correlations
477 + correlations = np.zeros(len(feature_names))
478 + dtm_dense = dtm.toarray()
479 + for i in range(len(feature_names)):
480 + col_vals = dtm_dense[:, i]
481 + if col_vals.std() == 0:
482 + correlations[i] = 0.0
483 + else:
484 + correlations[i], _ = stats.pearsonr(col_vals, price_values)
485 +
486 + corr_df = pd.DataFrame({
487 + "word": feature_names,
488 + "correlation": correlations,
489 + })
490 + corr_df["abs_correlation"] = corr_df["correlation"].abs()
491 + corr_df["direction"] = np.where(corr_df["correlation"] >= 0, "positive", "negative")
492 +
493 + # Select top positive and top negative
494 + top_positive = corr_df.nlargest(top_n, "correlation")
495 + top_negative = corr_df.nsmallest(top_n, "correlation")
496 + combined = (
497 + pd.concat([top_positive, top_negative])
498 + .drop_duplicates(subset=["word"])
499 + .sort_values("abs_correlation", ascending=False)
500 + .reset_index(drop=True)
501 + )
502 +
503 + logger.info(
504 + "Top correlated word: '%s' (r=%.3f); bottom: '%s' (r=%.3f)",
505 + combined.iloc[0]["word"],
506 + combined.iloc[0]["correlation"],
507 + combined.iloc[-1]["word"],
508 + combined.iloc[-1]["correlation"],
509 + )
510 + return combined
511 +
512 +
513 +# ---------------------------------------------------------------------------
514 +# 6. Master function
515 +# ---------------------------------------------------------------------------
516 +
517 +def create_all_nlp_features(
518 + df: pd.DataFrame,
519 + embedding_method: str = "tfidf",
520 + n_components: int = 10,
521 + compute_embeddings: bool = True,
522 + compute_price_words: bool = True,
523 + price_col: str = "log_price",
524 + top_n_words: int = 20,
525 +) -> Tuple[pd.DataFrame, Optional[pd.DataFrame]]:
526 + """Run the full NLP feature-extraction pipeline.
527 +
528 + Parameters
529 + ----------
530 + df : pd.DataFrame
531 + Raw listing data (must have at least ``name``).
532 + embedding_method : {'tfidf', 'count'}
533 + Vectorisation method for embeddings.
534 + n_components : int
535 + Number of SVD dimensions.
536 + compute_embeddings : bool
537 + Whether to compute text embeddings.
538 + compute_price_words : bool
539 + Whether to compute price-associated word analysis.
540 + price_col : str
541 + Price column for word-price correlation.
542 + top_n_words : int
543 + Number of top words per direction.
544 +
545 + Returns
546 + -------
547 + tuple[pd.DataFrame, pd.DataFrame | None]
548 + - Enriched DataFrame with all NLP features.
549 + - Price-word correlation DataFrame (or ``None`` if skipped).
550 + """
551 + logger.info("=" * 60)
552 + logger.info("NLP FEATURE EXTRACTION PIPELINE")
553 + logger.info("=" * 60)
554 + logger.info("Input shape: %s", df.shape)
555 +
556 + if "name" not in df.columns:
557 + logger.error("Column 'name' not found. Returning input unchanged.")
558 + return df.copy(), None
559 +
560 + # --- Step 1: basic text features ----------------------------------------
561 + enriched = extract_basic_text_features(df)
562 +
563 + # --- Step 2: language keyword scores ------------------------------------
564 + enriched = extract_language_scores(enriched)
565 +
566 + # --- Step 3: structured name parsing ------------------------------------
567 + enriched = extract_property_info_from_name(enriched)
568 +
569 + # --- Step 4: text embeddings --------------------------------------------
570 + if compute_embeddings:
571 + enriched = create_text_embeddings(
572 + enriched,
573 + method=embedding_method,
574 + n_components=n_components,
575 + )
576 +
577 + # --- Step 5: price-associated words -------------------------------------
578 + price_words: Optional[pd.DataFrame] = None
579 + if compute_price_words:
580 + price_words = find_price_associated_words(
581 + enriched,
582 + price_col=price_col,
583 + top_n=top_n_words,
584 + )
585 +
586 + # --- Summary ------------------------------------------------------------
587 + new_cols = [c for c in enriched.columns if c not in df.columns]
588 + logger.info("NLP pipeline complete. %d new features added.", len(new_cols))
589 + logger.info("New columns: %s", new_cols)
590 + logger.info("Output shape: %s", enriched.shape)
591 +
592 + return enriched, price_words
593 +
594 +
595 +# ---------------------------------------------------------------------------
596 +# CLI quick-test
597 +# ---------------------------------------------------------------------------
598 +
599 +if __name__ == "__main__":
600 + import sys
601 +
602 + logging.basicConfig(
603 + level=logging.INFO,
604 + format="%(asctime)s %(levelname)-8s %(message)s",
605 + stream=sys.stdout,
606 + )
607 +
608 + sample_path = "cleaned_dataset_sample.csv"
609 + logger.info("Loading sample data from '%s' ...", sample_path)
610 + data = pd.read_csv(sample_path)
611 + logger.info("Loaded %d rows, %d columns.", *data.shape)
612 +
613 + enriched_df, price_word_df = create_all_nlp_features(data)
614 +
615 + print("\n--- Enriched DataFrame (first 5 rows, NLP columns) ---")
616 + nlp_cols = [
617 + "title_length", "title_word_count", "exclamation_count",
618 + "uppercase_ratio", "has_star_rating", "extracted_star_rating",
619 + "luxury_language_score", "cozy_language_score",
620 + "professional_tone_score", "family_language_score",
621 + "business_language_score", "romantic_language_score",
622 + "tourism_language_score",
623 + "parsed_property_type", "parsed_city",
624 + "parsed_bedrooms", "parsed_beds", "parsed_baths",
625 + "is_studio", "is_new_listing",
626 + "has_shared_bath", "has_private_bath",
627 + ]
628 + existing_nlp_cols = [c for c in nlp_cols if c in enriched_df.columns]
629 + print(enriched_df[existing_nlp_cols].head().to_string())
630 +
631 + embed_cols = [c for c in enriched_df.columns if c.startswith("text_embed_")]
632 + if embed_cols:
633 + print(f"\n--- Text Embedding columns ({len(embed_cols)}) ---")
634 + print(enriched_df[embed_cols].describe().to_string())
635 +
636 + if price_word_df is not None and not price_word_df.empty:
637 + print("\n--- Top Price-Associated Words ---")
638 + print(price_word_df.to_string(index=False))
639 + else:
640 + print("\n(No price-word correlations computed.)")
added src/quantile_models.py +243 −0
@@ -0,0 +1,243 @@
1 +"""Quantile regression models for heterogeneous price effect analysis."""
2 +
3 +import logging
4 +from pathlib import Path
5 +from typing import Dict, List, Optional, Sequence, Tuple
6 +
7 +import numpy as np
8 +import pandas as pd
9 +import statsmodels.api as sm
10 +from statsmodels.regression.quantile_regression import QuantReg
11 +
12 +logger = logging.getLogger(__name__)
13 +
14 +DEFAULT_TAUS: List[float] = [0.10, 0.25, 0.50, 0.75, 0.90]
15 +
16 +
17 +def _available_cols(df: pd.DataFrame, requested: List[str]) -> List[str]:
18 + """Return the subset of requested columns present in df."""
19 + present = [c for c in requested if c in df.columns]
20 + missing = set(requested) - set(present)
21 + if missing:
22 + logger.warning("Missing columns (skipped): %s", sorted(missing))
23 + return present
24 +
25 +
26 +def _prepare_data(
27 + df: pd.DataFrame,
28 + y_col: str,
29 + x_cols: List[str],
30 +) -> Tuple[pd.Series, pd.DataFrame]:
31 + """Drop NaN rows, add constant, return (y, X)."""
32 + cols = _available_cols(df, x_cols)
33 + if not cols:
34 + raise ValueError("No valid feature columns found in the DataFrame.")
35 + subset = df[[y_col] + cols].dropna()
36 + if subset.empty:
37 + raise ValueError("No observations remaining after dropping NaN rows.")
38 + y = subset[y_col].astype(float)
39 + X = sm.add_constant(subset[cols].astype(float))
40 + return y, X
41 +
42 +
43 +# ---------------------------------------------------------------------------
44 +# Single quantile estimation
45 +# ---------------------------------------------------------------------------
46 +
47 +def estimate_quantile(
48 + df: pd.DataFrame,
49 + y_col: str,
50 + x_cols: List[str],
51 + tau: float,
52 + max_iter: int = 10_000,
53 +) -> sm.regression.quantile_regression.QuantRegResults:
54 + """Single quantile regression at quantile tau."""
55 + if not 0 < tau < 1:
56 + raise ValueError(f"tau must be in (0, 1), got {tau}")
57 + y, X = _prepare_data(df, y_col, x_cols)
58 + model = QuantReg(y, X)
59 + results = model.fit(q=tau, max_iter=max_iter)
60 + logger.info(
61 + "Quantile regression (tau=%.2f): pseudo-R2=%.4f, n=%d",
62 + tau, results.prsquared, int(results.nobs),
63 + )
64 + return results
65 +
66 +
67 +# ---------------------------------------------------------------------------
68 +# Quantile sequence
69 +# ---------------------------------------------------------------------------
70 +
71 +def estimate_quantile_sequence(
72 + df: pd.DataFrame,
73 + y_col: str,
74 + x_cols: List[str],
75 + taus: Optional[List[float]] = None,
76 + max_iter: int = 10_000,
77 +) -> Dict[float, sm.regression.quantile_regression.QuantRegResults]:
78 + """Estimate quantile regressions at multiple quantiles."""
79 + if taus is None:
80 + taus = DEFAULT_TAUS
81 + results: Dict[float, sm.regression.quantile_regression.QuantRegResults] = {}
82 + for tau in sorted(taus):
83 + try:
84 + res = estimate_quantile(df, y_col, x_cols, tau, max_iter=max_iter)
85 + results[tau] = res
86 + except Exception as exc:
87 + logger.error("Quantile tau=%.2f failed: %s", tau, exc)
88 + logger.info("Estimated %d / %d quantile regressions.", len(results), len(taus))
89 + return results
90 +
91 +
92 +# ---------------------------------------------------------------------------
93 +# Coefficient comparison across quantiles
94 +# ---------------------------------------------------------------------------
95 +
96 +def compare_quantile_coefficients(
97 + results_dict: Dict[float, sm.regression.quantile_regression.QuantRegResults],
98 +) -> pd.DataFrame:
99 + """Extract coefficients and CIs across quantiles into a long DataFrame."""
100 + records = []
101 + for tau, res in sorted(results_dict.items()):
102 + ci = res.conf_int()
103 + for var in res.params.index:
104 + records.append({
105 + "tau": tau,
106 + "variable": var,
107 + "coefficient": res.params[var],
108 + "std_error": res.bse[var],
109 + "p_value": res.pvalues[var],
110 + "ci_lower": ci.loc[var, 0],
111 + "ci_upper": ci.loc[var, 1],
112 + })
113 + coef_df = pd.DataFrame(records)
114 + logger.info(
115 + "Coefficient comparison: %d variables x %d quantiles.",
116 + coef_df["variable"].nunique(), coef_df["tau"].nunique(),
117 + )
118 + return coef_df
119 +
120 +
121 +# ---------------------------------------------------------------------------
122 +# Plotting
123 +# ---------------------------------------------------------------------------
124 +
125 +def plot_quantile_coefficients(
126 + coef_df: pd.DataFrame,
127 + variables: List[str],
128 + save_path: Optional[str] = None,
129 + figsize: Tuple[int, int] = (14, 4),
130 + ols_results: Optional[object] = None,
131 +) -> None:
132 + """Plot coefficient evolution across quantiles with confidence bands."""
133 + try:
134 + import matplotlib.pyplot as plt
135 + except ImportError:
136 + logger.error("matplotlib is required for plotting.")
137 + return
138 +
139 + n_vars = len(variables)
140 + if n_vars == 0:
141 + logger.warning("No variables specified for plotting.")
142 + return
143 +
144 + n_cols = min(3, n_vars)
145 + n_rows = int(np.ceil(n_vars / n_cols))
146 + fig, axes = plt.subplots(n_rows, n_cols, figsize=(figsize[0], figsize[1] * n_rows))
147 + if n_vars == 1:
148 + axes = np.array([axes])
149 + axes = np.atleast_1d(axes).flatten()
150 +
151 + for idx, var in enumerate(variables):
152 + ax = axes[idx]
153 + sub = coef_df[coef_df["variable"] == var].sort_values("tau")
154 + if sub.empty:
155 + ax.set_title(f"{var} (no data)")
156 + continue
157 +
158 + taus = sub["tau"].values
159 + coefs = sub["coefficient"].values
160 + ci_lo = sub["ci_lower"].values
161 + ci_hi = sub["ci_upper"].values
162 +
163 + ax.plot(taus, coefs, "o-", color="steelblue", linewidth=2, label="QR coef")
164 + ax.fill_between(taus, ci_lo, ci_hi, alpha=0.2, color="steelblue", label="95% CI")
165 +
166 + if ols_results is not None and var in ols_results.params.index:
167 + ols_b = ols_results.params[var]
168 + ax.axhline(ols_b, color="firebrick", linestyle="--", linewidth=1, label="OLS")
169 +
170 + ax.axhline(0, color="grey", linestyle=":", linewidth=0.5)
171 + ax.set_xlabel("Quantile (tau)")
172 + ax.set_ylabel("Coefficient")
173 + ax.set_title(var)
174 + ax.legend(fontsize=7)
175 +
176 + # Hide unused axes
177 + for idx in range(n_vars, len(axes)):
178 + axes[idx].set_visible(False)
179 +
180 + fig.tight_layout()
181 + if save_path:
182 + Path(save_path).parent.mkdir(parents=True, exist_ok=True)
183 + fig.savefig(save_path, dpi=200, bbox_inches="tight")
184 + logger.info("Quantile coefficient plot saved to %s", save_path)
185 + plt.close(fig)
186 +
187 +
188 +# ---------------------------------------------------------------------------
189 +# Segment effects summary
190 +# ---------------------------------------------------------------------------
191 +
192 +def get_segment_effects(
193 + results_dict: Dict[float, sm.regression.quantile_regression.QuantRegResults],
194 +) -> pd.DataFrame:
195 + """Summarize how effects differ across price segments (budget vs. luxury)."""
196 + coef_df = compare_quantile_coefficients(results_dict)
197 +
198 + segments = {
199 + "budget (q10)": 0.10,
200 + "lower-mid (q25)": 0.25,
201 + "median (q50)": 0.50,
202 + "upper-mid (q75)": 0.75,
203 + "luxury (q90)": 0.90,
204 + }
205 +
206 + available_taus = set(coef_df["tau"].unique())
207 + records = []
208 + variables = [v for v in coef_df["variable"].unique() if v != "const"]
209 +
210 + for var in variables:
211 + var_data = coef_df[coef_df["variable"] == var]
212 + row: Dict[str, object] = {"variable": var}
213 +
214 + for seg_name, tau in segments.items():
215 + if tau in available_taus:
216 + match = var_data[var_data["tau"] == tau]
217 + if not match.empty:
218 + b = match["coefficient"].values[0]
219 + p = match["p_value"].values[0]
220 + star = "***" if p < 0.001 else ("**" if p < 0.01 else ("*" if p < 0.05 else ""))
221 + row[seg_name] = f"{b:.4f}{star}"
222 + else:
223 + row[seg_name] = ""
224 + else:
225 + row[seg_name] = ""
226 +
227 + # Heterogeneity indicator: range of coefficients
228 + coefs = var_data["coefficient"].values
229 + if len(coefs) >= 2:
230 + row["coef_range"] = round(float(np.max(coefs) - np.min(coefs)), 4)
231 + row["heterogeneity"] = (
232 + "high" if row["coef_range"] > 0.1
233 + else ("moderate" if row["coef_range"] > 0.03 else "low")
234 + )
235 + else:
236 + row["coef_range"] = np.nan
237 + row["heterogeneity"] = "n/a"
238 +
239 + records.append(row)
240 +
241 + summary = pd.DataFrame(records)
242 + logger.info("Segment effects summarised for %d variables.", len(summary))
243 + return summary
added src/report.py +445 −0
@@ -0,0 +1,445 @@
1 +"""
2 +report.py -- Price decomposition and reporting for hedonic pricing analysis.
3 +
4 +Provides functions to decompose predicted prices into interpretable
5 +components (structural, amenity, host, review, location, text, spatial),
6 +identify the strongest positive and negative price drivers for individual
7 +listings, and orchestrate the full output-generation pipeline (tables,
8 +figures, decomposition summaries).
9 +"""
10 +
11 +from __future__ import annotations
12 +
13 +import logging
14 +import time
15 +from pathlib import Path
16 +from typing import Any, Dict, List, Optional, Tuple
17 +
18 +import numpy as np
19 +import pandas as pd
20 +
21 +from src import config
22 +
23 +logger = logging.getLogger(__name__)
24 +
25 +# ---------------------------------------------------------------------------
26 +# 1. Single-listing price decomposition
27 +# ---------------------------------------------------------------------------
28 +
29 +def explain_listing_price(
30 + model: Any,
31 + df: pd.DataFrame,
32 + listing_idx: int,
33 + feature_groups: Dict[str, List[str]],
34 + *,
35 + n_top: int = 10,
36 +) -> Dict[str, Any]:
37 + """Decompose a single listing's predicted price into component contributions.
38 +
39 + Parameters
40 + ----------
41 + model : fitted statsmodels-style regression result
42 + Must expose ``.params`` (Series of coefficients) and, when the model
43 + includes an intercept, a ``const`` / ``Intercept`` key.
44 + df : pd.DataFrame
45 + The design matrix used for estimation (same columns as model.params).
46 + listing_idx : int
47 + Row position (iloc index) of the listing to explain.
48 + feature_groups : dict[str, list[str]]
49 + Mapping of group name -> list of feature column names. Expected
50 + keys: ``"structural"``, ``"amenity"``, ``"host"``, ``"review"``,
51 + ``"location"``, ``"text"``, ``"spatial"``. Missing keys are
52 + treated as empty.
53 + n_top : int
54 + Number of top positive / negative drivers to return.
55 +
56 + Returns
57 + -------
58 + dict with keys:
59 + actual_price, predicted_price, prediction_error,
60 + base_component, property_component, amenity_component,
61 + host_component, review_component, location_component,
62 + text_component, spatial_component,
63 + top_positive_drivers, top_negative_drivers
64 + """
65 + row = df.iloc[listing_idx]
66 + params = model.params
67 +
68 + # Determine which features actually exist in both the model and the data
69 + model_features = set(params.index)
70 + data_features = set(df.columns)
71 + common_features = model_features & data_features
72 +
73 + # --- intercept / base component ---
74 + intercept_keys = {"const", "Intercept", "intercept"}
75 + intercept_name = intercept_keys & model_features
76 + base_component = float(params[intercept_name.pop()]) if intercept_name else 0.0
77 +
78 + # --- compute individual feature contributions ---
79 + contributions: Dict[str, float] = {}
80 + for feat in common_features:
81 + val = row.get(feat, 0.0)
82 + if pd.isna(val):
83 + val = 0.0
84 + contributions[feat] = float(params[feat]) * float(val)
85 +
86 + # --- aggregate by group ---
87 + group_aliases = {
88 + "structural": "property_component",
89 + "amenity": "amenity_component",
90 + "host": "host_component",
91 + "review": "review_component",
92 + "location": "location_component",
93 + "text": "text_component",
94 + "spatial": "spatial_component",
95 + }
96 +
97 + component_sums: Dict[str, float] = {}
98 + assigned_features: set = set()
99 +
100 + for group_key, component_name in group_aliases.items():
101 + group_feats = feature_groups.get(group_key, [])
102 + total = 0.0
103 + for feat in group_feats:
104 + if feat in contributions:
105 + total += contributions[feat]
106 + assigned_features.add(feat)
107 + component_sums[component_name] = total
108 +
109 + # Features present in the model but not assigned to any group are folded
110 + # into property_component (structural catch-all).
111 + for feat, contrib in contributions.items():
112 + if feat not in assigned_features:
113 + component_sums["property_component"] = (
114 + component_sums.get("property_component", 0.0) + contrib
115 + )
116 +
117 + # --- predicted price ---
118 + predicted_price = base_component + sum(contributions.values())
119 +
120 + # --- actual price ---
121 + # Try common dependent-variable column names
122 + actual_price = np.nan
123 + for dep_col in ("log_price", "price_numeric", "price"):
124 + if dep_col in df.columns:
125 + actual_price = float(row[dep_col])
126 + break
127 +
128 + prediction_error = actual_price - predicted_price
129 +
130 + # --- top drivers ---
131 + sorted_contribs = sorted(contributions.items(), key=lambda x: x[1], reverse=True)
132 + top_positive = [(f, c) for f, c in sorted_contribs if c > 0][:n_top]
133 + top_negative = [(f, c) for f, c in sorted_contribs if c < 0][-n_top:]
134 + # Sort negatives by magnitude (most negative first)
135 + top_negative = sorted(top_negative, key=lambda x: x[1])
136 +
137 + return {
138 + "actual_price": actual_price,
139 + "predicted_price": predicted_price,
140 + "prediction_error": prediction_error,
141 + "base_component": base_component,
142 + **component_sums,
143 + "top_positive_drivers": top_positive,
144 + "top_negative_drivers": top_negative,
145 + }
146 +
147 +
148 +# ---------------------------------------------------------------------------
149 +# 2. Full-dataset decomposition
150 +# ---------------------------------------------------------------------------
151 +
152 +def decompose_all_prices(
153 + model: Any,
154 + df: pd.DataFrame,
155 + feature_groups: Dict[str, List[str]],
156 +) -> pd.DataFrame:
157 + """Apply :func:`explain_listing_price` to every row and return a DataFrame.
158 +
159 + Each row corresponds to a listing; columns include all scalar components
160 + produced by the single-listing function. The ``top_positive_drivers``
161 + and ``top_negative_drivers`` lists are excluded from the DataFrame (use
162 + :func:`explain_listing_price` for individual inspection).
163 +
164 + Parameters
165 + ----------
166 + model : fitted statsmodels result
167 + df : pd.DataFrame
168 + feature_groups : dict[str, list[str]]
169 +
170 + Returns
171 + -------
172 + pd.DataFrame
173 + """
174 + logger.info("Decomposing prices for %d listings ...", len(df))
175 + t0 = time.perf_counter()
176 +
177 + records: List[Dict[str, float]] = []
178 + scalar_keys = [
179 + "actual_price", "predicted_price", "prediction_error",
180 + "base_component", "property_component", "amenity_component",
181 + "host_component", "review_component", "location_component",
182 + "text_component", "spatial_component",
183 + ]
184 +
185 + for idx in range(len(df)):
186 + try:
187 + expl = explain_listing_price(model, df, idx, feature_groups)
188 + records.append({k: expl.get(k, 0.0) for k in scalar_keys})
189 + except Exception:
190 + logger.debug("Decomposition failed for listing idx=%d", idx, exc_info=True)
191 + records.append({k: np.nan for k in scalar_keys})
192 +
193 + elapsed = time.perf_counter() - t0
194 + logger.info("Price decomposition complete in %.1f s", elapsed)
195 + return pd.DataFrame(records, index=df.index)
196 +
197 +
198 +# ---------------------------------------------------------------------------
199 +# 3. Decomposition summary statistics
200 +# ---------------------------------------------------------------------------
201 +
202 +def generate_decomposition_summary(decomp_df: pd.DataFrame) -> pd.DataFrame:
203 + """Compute summary statistics for each price component.
204 +
205 + Parameters
206 + ----------
207 + decomp_df : pd.DataFrame
208 + Output of :func:`decompose_all_prices`.
209 +
210 + Returns
211 + -------
212 + pd.DataFrame
213 + Index = component names, columns = mean, median, std, min, max.
214 + """
215 + component_cols = [
216 + c for c in decomp_df.columns
217 + if c.endswith("_component") or c in ("predicted_price", "actual_price", "prediction_error")
218 + ]
219 + summary = decomp_df[component_cols].agg(["mean", "median", "std", "min", "max"]).T
220 + summary.columns = ["mean", "median", "std", "min", "max"]
221 + summary = summary.round(4)
222 + logger.info("Decomposition summary:\n%s", summary.to_string())
223 + return summary
224 +
225 +
226 +# ---------------------------------------------------------------------------
227 +# 4. Pretty-print a single listing explanation
228 +# ---------------------------------------------------------------------------
229 +
230 +def format_decomposition_report(listing_explanation: Dict[str, Any]) -> str:
231 + """Return a human-readable string summarising a listing's price decomposition.
232 +
233 + Parameters
234 + ----------
235 + listing_explanation : dict
236 + Output of :func:`explain_listing_price`.
237 +
238 + Returns
239 + -------
240 + str
241 + """
242 + e = listing_explanation
243 + lines: List[str] = []
244 + sep = "-" * 64
245 +
246 + lines.append(sep)
247 + lines.append("LISTING PRICE DECOMPOSITION REPORT")
248 + lines.append(sep)
249 + lines.append(f" Actual price : {e.get('actual_price', np.nan):>12.4f}")
250 + lines.append(f" Predicted price : {e.get('predicted_price', np.nan):>12.4f}")
251 + lines.append(f" Prediction error : {e.get('prediction_error', np.nan):>12.4f}")
252 + lines.append("")
253 + lines.append(" COMPONENTS")
254 + lines.append(f" Base (intercept) : {e.get('base_component', 0.0):>12.4f}")
255 + lines.append(f" Property : {e.get('property_component', 0.0):>12.4f}")
256 + lines.append(f" Amenity : {e.get('amenity_component', 0.0):>12.4f}")
257 + lines.append(f" Host : {e.get('host_component', 0.0):>12.4f}")
258 + lines.append(f" Review : {e.get('review_component', 0.0):>12.4f}")
259 + lines.append(f" Location : {e.get('location_component', 0.0):>12.4f}")
260 + lines.append(f" Text / NLP : {e.get('text_component', 0.0):>12.4f}")
261 + lines.append(f" Spatial : {e.get('spatial_component', 0.0):>12.4f}")
262 + lines.append("")
263 +
264 + # Top positive drivers
265 + pos = e.get("top_positive_drivers", [])
266 + if pos:
267 + lines.append(" TOP POSITIVE DRIVERS")
268 + for feat, contrib in pos:
269 + lines.append(f" {feat:<40s} +{contrib:>10.4f}")
270 + lines.append("")
271 +
272 + # Top negative drivers
273 + neg = e.get("top_negative_drivers", [])
274 + if neg:
275 + lines.append(" TOP NEGATIVE DRIVERS")
276 + for feat, contrib in neg:
277 + lines.append(f" {feat:<40s} {contrib:>10.4f}")
278 + lines.append("")
279 +
280 + lines.append(sep)
281 + return "\n".join(lines)
282 +
283 +
284 +# ---------------------------------------------------------------------------
285 +# 5. Master report / output generation pipeline
286 +# ---------------------------------------------------------------------------
287 +
288 +def generate_full_report(
289 + df: pd.DataFrame,
290 + models_dict: Dict[str, Any],
291 + ml_models_dict: Dict[str, Any],
292 + spatial_results: Dict[str, Any],
293 + feature_groups: Dict[str, List[str]],
294 + output_dir: str | Path = config.OUTPUTS_DIR,
295 +) -> Dict[str, Any]:
296 + """Orchestrate full output generation: tables, figures, decomposition.
297 +
298 + Calls the ``tables`` and ``figures`` modules to produce every artefact
299 + required for the research paper, then runs the price-decomposition
300 + pipeline and saves the summary.
301 +
302 + Parameters
303 + ----------
304 + df : pd.DataFrame
305 + Feature-engineered dataset.
306 + models_dict : dict[str, Any]
307 + Mapping of model name -> fitted hedonic / quantile result.
308 + ml_models_dict : dict[str, Any]
309 + Mapping of model name -> fitted ML model or results dict.
310 + spatial_results : dict[str, Any]
311 + Output from the spatial-models module.
312 + feature_groups : dict[str, list[str]]
313 + Feature group registry.
314 + output_dir : str or Path
315 + Root output directory (tables/ and figures/ subdirectories are created).
316 +
317 + Returns
318 + -------
319 + dict with keys: ``decomp_df``, ``decomp_summary``, ``tables_generated``,
320 + ``figures_generated``, ``elapsed_seconds``.
321 + """
322 + t0 = time.perf_counter()
323 + output_dir = Path(output_dir)
324 + tables_dir = output_dir / "tables"
325 + figures_dir = output_dir / "figures"
326 + tables_dir.mkdir(parents=True, exist_ok=True)
327 + figures_dir.mkdir(parents=True, exist_ok=True)
328 +
329 + report_artifacts: Dict[str, Any] = {
330 + "tables_generated": [],
331 + "figures_generated": [],
332 + }
333 +
334 + # ---- Tables ----
335 + logger.info("Generating tables ...")
336 + try:
337 + from src import tables as tbl_mod
338 +
339 + table_funcs = [
340 + ("descriptive_stats", lambda: tbl_mod.generate_descriptive_stats_table(df, tables_dir)),
341 + ("correlation_matrix", lambda: tbl_mod.generate_correlation_table(df, tables_dir)),
342 + ("hedonic_results", lambda: tbl_mod.generate_hedonic_results_table(models_dict, tables_dir)),
343 + ("quantile_results", lambda: tbl_mod.generate_quantile_results_table(models_dict, tables_dir)),
344 + ("ml_comparison", lambda: tbl_mod.generate_ml_comparison_table(ml_models_dict, tables_dir)),
345 + ("spatial_results", lambda: tbl_mod.generate_spatial_results_table(spatial_results, tables_dir)),
346 + ]
347 +
348 + for name, func in table_funcs:
349 + try:
350 + func()
351 + report_artifacts["tables_generated"].append(name)
352 + logger.info(" Table '%s' generated.", name)
353 + except Exception:
354 + logger.warning(" Table '%s' failed.", name, exc_info=True)
355 +
356 + except ImportError:
357 + logger.warning("tables module not available; skipping table generation.")
358 + except Exception:
359 + logger.warning("Table generation failed.", exc_info=True)
360 +
361 + # ---- Figures ----
362 + logger.info("Generating figures ...")
363 + try:
364 + from src import figures as fig_mod
365 +
366 + figure_funcs = [
367 + ("price_distribution", lambda: fig_mod.plot_price_distribution(df, figures_dir)),
368 + ("correlation_heatmap", lambda: fig_mod.plot_correlation_heatmap(df, figures_dir)),
369 + ("coefficient_plot", lambda: fig_mod.plot_coefficient_comparison(models_dict, figures_dir)),
370 + ("quantile_plot", lambda: fig_mod.plot_quantile_coefficients(models_dict, figures_dir)),
371 + ("spatial_map", lambda: fig_mod.plot_spatial_map(df, spatial_results, figures_dir)),
372 + ("residual_diagnostics", lambda: fig_mod.plot_residual_diagnostics(models_dict, df, figures_dir)),
373 + ("shap_summary", lambda: fig_mod.plot_shap_summary(ml_models_dict, df, figures_dir)),
374 + ]
375 +
376 + for name, func in figure_funcs:
377 + try:
378 + func()
379 + report_artifacts["figures_generated"].append(name)
380 + logger.info(" Figure '%s' generated.", name)
381 + except Exception:
382 + logger.warning(" Figure '%s' failed.", name, exc_info=True)
383 +
384 + except ImportError:
385 + logger.warning("figures module not available; skipping figure generation.")
386 + except Exception:
387 + logger.warning("Figure generation failed.", exc_info=True)
388 +
389 + # ---- Price decomposition ----
390 + logger.info("Running price decomposition ...")
391 + decomp_df = pd.DataFrame()
392 + decomp_summary = pd.DataFrame()
393 +
394 + # Pick the best available hedonic model for decomposition
395 + preferred_model_keys = [
396 + "ols_semilog", "ols_log", "ols_linear",
397 + "robust_huber", "robust_bisquare",
398 + ]
399 + decomp_model = None
400 + decomp_model_name = None
401 + for key in preferred_model_keys:
402 + if key in models_dict and models_dict[key] is not None:
403 + decomp_model = models_dict[key]
404 + decomp_model_name = key
405 + break
406 +
407 + if decomp_model is not None:
408 + try:
409 + logger.info("Using model '%s' for price decomposition.", decomp_model_name)
410 + decomp_df = decompose_all_prices(decomp_model, df, feature_groups)
411 + decomp_summary = generate_decomposition_summary(decomp_df)
412 +
413 + # Save artefacts
414 + decomp_csv = output_dir / "tables" / "price_decomposition.csv"
415 + decomp_df.to_csv(decomp_csv, index=False)
416 + logger.info("Decomposition saved to %s", decomp_csv)
417 +
418 + summary_csv = output_dir / "tables" / "decomposition_summary.csv"
419 + decomp_summary.to_csv(summary_csv)
420 + logger.info("Summary saved to %s", summary_csv)
421 +
422 + # Pretty-print a sample listing
423 + if len(decomp_df) > 0:
424 + sample_idx = 0
425 + sample_expl = explain_listing_price(
426 + decomp_model, df, sample_idx, feature_groups,
427 + )
428 + logger.info(
429 + "Sample decomposition:\n%s",
430 + format_decomposition_report(sample_expl),
431 + )
432 + except Exception:
433 + logger.warning("Price decomposition failed.", exc_info=True)
434 + else:
435 + logger.warning(
436 + "No suitable hedonic model found for decomposition (tried: %s).",
437 + ", ".join(preferred_model_keys),
438 + )
439 +
440 + elapsed = time.perf_counter() - t0
441 + report_artifacts["decomp_df"] = decomp_df
442 + report_artifacts["decomp_summary"] = decomp_summary
443 + report_artifacts["elapsed_seconds"] = elapsed
444 + logger.info("Full report generation complete in %.1f s", elapsed)
445 + return report_artifacts
added src/robustness.py +675 −0
@@ -0,0 +1,675 @@
1 +"""
2 +robustness.py - Robustness checks for hedonic pricing analysis.
3 +
4 +Implements a battery of specification tests following best practice in
5 +applied micro-economics:
6 + - Outlier treatment (winsorisation, trimming, log, median regression)
7 + - Sub-sample regressions by room type and price segment
8 + - Progressive location control inclusion
9 + - Host-type stratification
10 + - Summary formatting for publication tables
11 +
12 +All functions return structured dicts that can be passed directly to
13 +``tables.robustness_table()`` and ``tables.regression_comparison_table()``.
14 +
15 +Author: Simon-Pierre Boucher
16 +Date: 2026-05-20
17 +"""
18 +
19 +from __future__ import annotations
20 +
21 +import logging
22 +from typing import Any, Dict, List, Optional, Tuple
23 +
24 +import numpy as np
25 +import pandas as pd
26 +
27 +logger = logging.getLogger(__name__)
28 +
29 +
30 +# ---------------------------------------------------------------------------
31 +# Internal helpers
32 +# ---------------------------------------------------------------------------
33 +
34 +def _safe_ols(
35 + y: pd.Series,
36 + X: pd.DataFrame,
37 + add_constant: bool = True,
38 +) -> Any:
39 + """Run OLS and return results; raises on failure."""
40 + import statsmodels.api as sm
41 +
42 + if add_constant:
43 + X = sm.add_constant(X, has_constant="skip")
44 + model = sm.OLS(y, X, missing="drop")
45 + return model.fit(cov_type="HC1")
46 +
47 +
48 +def _result_to_dict(res: Any, label: str = "") -> Dict[str, Any]:
49 + """Convert a statsmodels result to a flat dict for comparison tables."""
50 + out: Dict[str, Any] = {
51 + "N": int(res.nobs),
52 + "R2": round(res.rsquared, 4),
53 + "Adj_R2": round(res.rsquared_adj, 4),
54 + "AIC": round(res.aic, 1),
55 + "BIC": round(res.bic, 1),
56 + }
57 + for v in res.params.index:
58 + out[v] = {
59 + "coef": round(float(res.params[v]), 6),
60 + "se": round(float(res.bse[v]), 6),
61 + "pvalue": round(float(res.pvalues[v]), 6),
62 + }
63 + return out
64 +
65 +
66 +def _winsorize_series(s: pd.Series, limits: Tuple[float, float] = (0.01, 0.01)) -> pd.Series:
67 + """Winsorize a series at the given lower/upper percentile limits."""
68 + from scipy.stats.mstats import winsorize as _winz
69 + return pd.Series(_winz(s.dropna(), limits=limits), index=s.dropna().index)
70 +
71 +
72 +def _trim_series(s: pd.Series, lower: float = 0.01, upper: float = 0.99) -> pd.Series:
73 + """Trim observations outside the specified quantile range."""
74 + lo = s.quantile(lower)
75 + hi = s.quantile(upper)
76 + mask = (s >= lo) & (s <= hi)
77 + return s[mask]
78 +
79 +
80 +# ---------------------------------------------------------------------------
81 +# 1. Winsorization / outlier treatment
82 +# ---------------------------------------------------------------------------
83 +
84 +def robustness_winsorization(
85 + df: pd.DataFrame,
86 + y_col: str,
87 + x_cols: List[str],
88 + limits: Tuple[float, float] = (0.01, 0.01),
89 + trim_quantiles: Tuple[float, float] = (0.01, 0.99),
90 +) -> Dict[str, Dict[str, Any]]:
91 + """
92 + Compare regressions under different outlier treatments.
93 +
94 + Specifications:
95 + 1. Raw OLS
96 + 2. Winsorized dependent variable (1st / 99th)
97 + 3. Trimmed sample
98 + 4. Log-transformed dependent variable
99 + 5. Median (LAD) regression
100 +
101 + Parameters
102 + ----------
103 + df : pd.DataFrame
104 + y_col : str
105 + Dependent variable (price).
106 + x_cols : list[str]
107 + Independent variables.
108 + limits : tuple
109 + Winsorization percentile limits.
110 + trim_quantiles : tuple
111 + Lower and upper quantile bounds for trimming.
112 +
113 + Returns
114 + -------
115 + dict
116 + ``{spec_name: results_dict}``
117 + """
118 + import statsmodels.api as sm
119 +
120 + logger.info("Robustness: winsorization / outlier treatment checks.")
121 + results: Dict[str, Dict[str, Any]] = {}
122 + sub = df.dropna(subset=[y_col] + x_cols).copy()
123 + X = sub[x_cols]
124 + y = sub[y_col]
125 +
126 + # 1. Raw OLS
127 + try:
128 + res_raw = _safe_ols(y, X)
129 + results["Raw OLS"] = _result_to_dict(res_raw)
130 + except Exception as e:
131 + logger.error("Raw OLS failed: %s", e)
132 +
133 + # 2. Winsorized
134 + try:
135 + y_wins = _winsorize_series(y, limits=limits)
136 + # Align X with winsorized y index
137 + X_wins = X.loc[y_wins.index]
138 + res_wins = _safe_ols(y_wins, X_wins)
139 + results["Winsorized (1%/99%)"] = _result_to_dict(res_wins)
140 + except Exception as e:
141 + logger.error("Winsorized OLS failed: %s", e)
142 +
143 + # 3. Trimmed
144 + try:
145 + lo = y.quantile(trim_quantiles[0])
146 + hi = y.quantile(trim_quantiles[1])
147 + mask = (y >= lo) & (y <= hi)
148 + res_trim = _safe_ols(y[mask], X.loc[mask])
149 + results["Trimmed (1%-99%)"] = _result_to_dict(res_trim)
150 + except Exception as e:
151 + logger.error("Trimmed OLS failed: %s", e)
152 +
153 + # 4. Log-transformed
154 + try:
155 + pos_mask = y > 0
156 + y_log = np.log(y[pos_mask])
157 + res_log = _safe_ols(y_log, X.loc[pos_mask])
158 + results["Log(price) OLS"] = _result_to_dict(res_log)
159 + except Exception as e:
160 + logger.error("Log OLS failed: %s", e)
161 +
162 + # 5. Median regression (LAD)
163 + try:
164 + X_const = sm.add_constant(X, has_constant="skip")
165 + model_med = sm.QuantReg(y, X_const)
166 + res_med = model_med.fit(q=0.5)
167 + med_dict: Dict[str, Any] = {
168 + "N": int(res_med.nobs),
169 + "R2": np.nan, # pseudo R2 not directly comparable
170 + "Adj_R2": np.nan,
171 + }
172 + # Pseudo R2 for quantile regression
173 + try:
174 + med_dict["Pseudo_R2"] = round(float(1 - res_med.prsquared), 4)
175 + except Exception:
176 + pass
177 + for v in res_med.params.index:
178 + med_dict[v] = {
179 + "coef": round(float(res_med.params[v]), 6),
180 + "se": round(float(res_med.bse[v]), 6),
181 + "pvalue": round(float(res_med.pvalues[v]), 6),
182 + }
183 + results["Median Regression"] = med_dict
184 + except Exception as e:
185 + logger.error("Median regression failed: %s", e)
186 +
187 + logger.info("Winsorization robustness: %d/%d specs succeeded.",
188 + len(results), 5)
189 + return results
190 +
191 +
192 +# ---------------------------------------------------------------------------
193 +# 2. By room type
194 +# ---------------------------------------------------------------------------
195 +
196 +def robustness_by_room_type(
197 + df: pd.DataFrame,
198 + y_col: str,
199 + x_cols: List[str],
200 + room_col: str = "property_type",
201 + min_obs: int = 50,
202 +) -> Dict[str, Dict[str, Any]]:
203 + """
204 + Separate regressions for each room/property type.
205 +
206 + Parameters
207 + ----------
208 + df : pd.DataFrame
209 + y_col : str
210 + x_cols : list[str]
211 + room_col : str
212 + Column identifying room/property type.
213 + min_obs : int
214 + Minimum observations to run a regression for a given type.
215 +
216 + Returns
217 + -------
218 + dict
219 + ``{room_type: results_dict}``
220 + """
221 + logger.info("Robustness: sub-sample by room type (%s).", room_col)
222 + sub = df.dropna(subset=[y_col] + x_cols + [room_col]).copy()
223 + results: Dict[str, Dict[str, Any]] = {}
224 +
225 + # Full sample first
226 + try:
227 + res_full = _safe_ols(sub[y_col], sub[x_cols])
228 + results["Full Sample"] = _result_to_dict(res_full)
229 + except Exception as e:
230 + logger.error("Full sample OLS failed: %s", e)
231 +
232 + for rtype, grp in sub.groupby(room_col, observed=True):
233 + if len(grp) < min_obs:
234 + logger.warning("Skipping %s (n=%d < %d).", rtype, len(grp), min_obs)
235 + continue
236 + # Remove x_cols that have zero variance in this sub-sample
237 + x_valid = [c for c in x_cols if grp[c].nunique() > 1]
238 + if not x_valid:
239 + logger.warning("Skipping %s: no valid regressors.", rtype)
240 + continue
241 + try:
242 + res = _safe_ols(grp[y_col], grp[x_valid])
243 + results[str(rtype)] = _result_to_dict(res)
244 + except Exception as e:
245 + logger.error("OLS for %s failed: %s", rtype, e)
246 +
247 + logger.info("Room-type robustness: %d sub-samples estimated.", len(results))
248 + return results
249 +
250 +
251 +# ---------------------------------------------------------------------------
252 +# 3. By price segment
253 +# ---------------------------------------------------------------------------
254 +
255 +def robustness_by_price_segment(
256 + df: pd.DataFrame,
257 + y_col: str,
258 + x_cols: List[str],
259 + segments: Optional[Dict[str, Tuple[float, float]]] = None,
260 + price_category_col: Optional[str] = "price_category",
261 + min_obs: int = 50,
262 +) -> Dict[str, Dict[str, Any]]:
263 + """
264 + Separate regressions for budget, moderate, premium, luxury segments.
265 +
266 + Parameters
267 + ----------
268 + df : pd.DataFrame
269 + y_col : str
270 + x_cols : list[str]
271 + segments : dict, optional
272 + ``{segment_name: (lower_bound, upper_bound)}``.
273 + If None, quartile-based segments are used.
274 + price_category_col : str, optional
275 + If present in df, use this column instead of numeric cuts.
276 + min_obs : int
277 + Minimum observations per segment.
278 +
279 + Returns
280 + -------
281 + dict
282 + """
283 + logger.info("Robustness: sub-sample by price segment.")
284 + sub = df.dropna(subset=[y_col] + x_cols).copy()
285 + results: Dict[str, Dict[str, Any]] = {}
286 +
287 + # Full sample
288 + try:
289 + res_full = _safe_ols(sub[y_col], sub[x_cols])
290 + results["Full Sample"] = _result_to_dict(res_full)
291 + except Exception as e:
292 + logger.error("Full sample OLS failed: %s", e)
293 +
294 + if price_category_col and price_category_col in sub.columns:
295 + for seg, grp in sub.groupby(price_category_col, observed=True):
296 + if len(grp) < min_obs:
297 + continue
298 + x_valid = [c for c in x_cols if grp[c].nunique() > 1]
299 + if not x_valid:
300 + continue
301 + try:
302 + res = _safe_ols(grp[y_col], grp[x_valid])
303 + results[str(seg)] = _result_to_dict(res)
304 + except Exception as e:
305 + logger.error("Segment %s failed: %s", seg, e)
306 + else:
307 + if segments is None:
308 + q25, q50, q75 = sub[y_col].quantile([0.25, 0.50, 0.75])
309 + segments = {
310 + "Budget (Q1)": (sub[y_col].min(), q25),
311 + "Moderate (Q2)": (q25, q50),
312 + "Premium (Q3)": (q50, q75),
313 + "Luxury (Q4)": (q75, sub[y_col].max()),
314 + }
315 +
316 + for seg_name, (lo, hi) in segments.items():
317 + grp = sub[(sub[y_col] >= lo) & (sub[y_col] <= hi)]
318 + if len(grp) < min_obs:
319 + logger.warning("Skipping %s (n=%d).", seg_name, len(grp))
320 + continue
321 + x_valid = [c for c in x_cols if grp[c].nunique() > 1]
322 + if not x_valid:
323 + continue
324 + try:
325 + res = _safe_ols(grp[y_col], grp[x_valid])
326 + results[seg_name] = _result_to_dict(res)
327 + except Exception as e:
328 + logger.error("Segment %s failed: %s", seg_name, e)
329 +
330 + logger.info("Price-segment robustness: %d segments estimated.", len(results))
331 + return results
332 +
333 +
334 +# ---------------------------------------------------------------------------
335 +# 4. Location controls
336 +# ---------------------------------------------------------------------------
337 +
338 +def robustness_location_controls(
339 + df: pd.DataFrame,
340 + y_col: str,
341 + x_cols: List[str],
342 + geo_col: str = "city",
343 + lat_col: str = "lat",
344 + lon_col: str = "long",
345 + n_clusters: int = 20,
346 +) -> Dict[str, Dict[str, Any]]:
347 + """
348 + Compare specifications with progressively richer location controls.
349 +
350 + Specifications:
351 + 1. No location controls
352 + 2. Neighbourhood / city fixed effects
353 + 3. Lat/long coordinates (linear)
354 + 4. Spatial clusters (k-means on coordinates)
355 + 5. Spatial lag of dependent variable (if possible)
356 +
357 + Parameters
358 + ----------
359 + df : pd.DataFrame
360 + y_col : str
361 + x_cols : list[str]
362 + geo_col : str
363 + Geographic unit for fixed effects.
364 + lat_col, lon_col : str
365 + Coordinate columns.
366 + n_clusters : int
367 + Number of spatial clusters for k-means.
368 +
369 + Returns
370 + -------
371 + dict
372 + """
373 + import statsmodels.api as sm
374 +
375 + logger.info("Robustness: location control specifications.")
376 + sub = df.dropna(subset=[y_col] + x_cols).copy()
377 + results: Dict[str, Dict[str, Any]] = {}
378 +
379 + # 1. No location controls
380 + try:
381 + res = _safe_ols(sub[y_col], sub[x_cols])
382 + results["No location"] = _result_to_dict(res)
383 + except Exception as e:
384 + logger.error("No-location OLS failed: %s", e)
385 +
386 + # 2. Neighbourhood / city FE
387 + if geo_col in sub.columns:
388 + try:
389 + dummies = pd.get_dummies(sub[geo_col], prefix="fe", drop_first=True,
390 + dtype=float)
391 + # Limit to top categories to avoid singular matrix
392 + top_cats = sub[geo_col].value_counts().head(30).index
393 + dummies = dummies[[c for c in dummies.columns
394 + if any(cat in c for cat in top_cats.astype(str))]]
395 + X_fe = pd.concat([sub[x_cols], dummies], axis=1)
396 + res = _safe_ols(sub[y_col], X_fe)
397 + d = _result_to_dict(res)
398 + d["FE_count"] = len(dummies.columns)
399 + results[f"{geo_col} FE"] = d
400 + except Exception as e:
401 + logger.error("FE OLS failed: %s", e)
402 +
403 + # 3. Lat/long coordinates
404 + coord_cols = [c for c in [lat_col, lon_col] if c in sub.columns]
405 + if len(coord_cols) == 2:
406 + try:
407 + sub_coord = sub.dropna(subset=coord_cols)
408 + X_coord = pd.concat(
409 + [sub_coord[x_cols], sub_coord[coord_cols]], axis=1)
410 + res = _safe_ols(sub_coord[y_col], X_coord)
411 + results["Coordinates"] = _result_to_dict(res)
412 + except Exception as e:
413 + logger.error("Coordinates OLS failed: %s", e)
414 +
415 + # 4. Spatial clusters
416 + try:
417 + from sklearn.cluster import KMeans
418 + sub_clust = sub.dropna(subset=coord_cols).copy()
419 + coords = sub_clust[coord_cols].values
420 + km = KMeans(n_clusters=min(n_clusters, len(sub_clust) // 10),
421 + random_state=42, n_init=10)
422 + sub_clust["spatial_cluster"] = km.fit_predict(coords)
423 + cl_dummies = pd.get_dummies(sub_clust["spatial_cluster"],
424 + prefix="cl", drop_first=True,
425 + dtype=float)
426 + X_cl = pd.concat([sub_clust[x_cols], cl_dummies], axis=1)
427 + res = _safe_ols(sub_clust[y_col], X_cl)
428 + results["Spatial clusters"] = _result_to_dict(res)
429 + except Exception as e:
430 + logger.error("Spatial clusters OLS failed: %s", e)
431 +
432 + # 5. Spatial lag
433 + try:
434 + from sklearn.neighbors import BallTree
435 + sub_lag = sub.dropna(subset=coord_cols).copy()
436 + tree = BallTree(np.radians(sub_lag[coord_cols].values),
437 + metric="haversine")
438 + # 5 nearest neighbours, radius in radians (~2 km)
439 + dists, indices = tree.query(
440 + np.radians(sub_lag[coord_cols].values), k=6)
441 + # Exclude self (index 0), compute mean price of neighbours
442 + neighbour_prices = []
443 + price_arr = sub_lag[y_col].values
444 + for row_idx in range(len(indices)):
445 + nbr_idx = indices[row_idx, 1:] # skip self
446 + neighbour_prices.append(price_arr[nbr_idx].mean())
447 + sub_lag["spatial_lag_price"] = neighbour_prices
448 + X_lag = pd.concat(
449 + [sub_lag[x_cols],
450 + sub_lag[["spatial_lag_price"]]], axis=1)
451 + res = _safe_ols(sub_lag[y_col], X_lag)
452 + results["Spatial lag"] = _result_to_dict(res)
453 + except Exception as e:
454 + logger.error("Spatial lag OLS failed: %s", e)
455 +
456 + logger.info("Location robustness: %d specs estimated.", len(results))
457 + return results
458 +
459 +
460 +# ---------------------------------------------------------------------------
461 +# 5. Host type
462 +# ---------------------------------------------------------------------------
463 +
464 +def robustness_host_type(
465 + df: pd.DataFrame,
466 + y_col: str,
467 + x_cols: List[str],
468 + superhost_col: str = "is_superhost",
469 + listing_count_col: Optional[str] = None,
470 + min_obs: int = 50,
471 +) -> Dict[str, Dict[str, Any]]:
472 + """
473 + Compare regressions for different host types.
474 +
475 + Specifications:
476 + 1. All hosts
477 + 2. Single-listing hosts (if listing count available)
478 + 3. Multi-listing hosts
479 + 4. Superhosts only
480 + 5. Non-superhosts
481 +
482 + Parameters
483 + ----------
484 + df : pd.DataFrame
485 + y_col : str
486 + x_cols : list[str]
487 + superhost_col : str
488 + listing_count_col : str, optional
489 + Column with number of listings per host.
490 + min_obs : int
491 +
492 + Returns
493 + -------
494 + dict
495 + """
496 + logger.info("Robustness: host type stratification.")
497 + sub = df.dropna(subset=[y_col] + x_cols).copy()
498 + results: Dict[str, Dict[str, Any]] = {}
499 +
500 + # Remove host columns from x_cols to avoid multicollinearity
501 + host_keywords = {"host", "superhost", "listing_count"}
502 + x_clean = [c for c in x_cols
503 + if not any(kw in c.lower() for kw in host_keywords)]
504 +
505 + def _run_subsample(name: str, mask: pd.Series) -> None:
506 + grp = sub.loc[mask]
507 + if len(grp) < min_obs:
508 + logger.warning("Skipping %s (n=%d).", name, len(grp))
509 + return
510 + x_valid = [c for c in x_clean if grp[c].nunique() > 1]
511 + if not x_valid:
512 + return
513 + try:
514 + res = _safe_ols(grp[y_col], grp[x_valid])
515 + results[name] = _result_to_dict(res)
516 + except Exception as e:
517 + logger.error("%s failed: %s", name, e)
518 +
519 + # 1. All hosts
520 + _run_subsample("All hosts", pd.Series(True, index=sub.index))
521 +
522 + # 2/3. Single vs multi listing
523 + if listing_count_col and listing_count_col in sub.columns:
524 + _run_subsample(
525 + "Single-listing hosts",
526 + sub[listing_count_col] == 1,
527 + )
528 + _run_subsample(
529 + "Multi-listing hosts",
530 + sub[listing_count_col] > 1,
531 + )
532 +
533 + # 4/5. Superhosts
534 + if superhost_col in sub.columns:
535 + # Handle bool/string/numeric
536 + sh = sub[superhost_col]
537 + if sh.dtype == bool:
538 + is_super = sh
539 + elif sh.dtype == object:
540 + is_super = sh.str.lower().isin(["true", "t", "1", "yes"])
541 + else:
542 + is_super = sh.astype(bool)
543 +
544 + _run_subsample("Superhosts", is_super)
545 + _run_subsample("Non-superhosts", ~is_super)
546 +
547 + logger.info("Host-type robustness: %d sub-samples estimated.", len(results))
548 + return results
549 +
550 +
551 +# ---------------------------------------------------------------------------
552 +# Master runner
553 +# ---------------------------------------------------------------------------
554 +
555 +def run_all_robustness(
556 + df: pd.DataFrame,
557 + y_col: str,
558 + x_cols: List[str],
559 + room_col: str = "property_type",
560 + geo_col: str = "city",
561 + superhost_col: str = "is_superhost",
562 + listing_count_col: Optional[str] = None,
563 +) -> Dict[str, Dict[str, Dict[str, Any]]]:
564 + """
565 + Run all robustness checks and return a nested summary dict.
566 +
567 + Parameters
568 + ----------
569 + df : pd.DataFrame
570 + y_col : str
571 + x_cols : list[str]
572 + room_col, geo_col, superhost_col, listing_count_col : str
573 +
574 + Returns
575 + -------
576 + dict
577 + ``{check_category: {spec_name: results_dict}}``
578 + """
579 + logger.info("Running full robustness battery.")
580 + all_results: Dict[str, Dict[str, Dict[str, Any]]] = {}
581 +
582 + all_results["Winsorization"] = robustness_winsorization(
583 + df, y_col, x_cols)
584 +
585 + all_results["Room Type"] = robustness_by_room_type(
586 + df, y_col, x_cols, room_col=room_col)
587 +
588 + all_results["Price Segment"] = robustness_by_price_segment(
589 + df, y_col, x_cols)
590 +
591 + all_results["Location Controls"] = robustness_location_controls(
592 + df, y_col, x_cols, geo_col=geo_col)
593 +
594 + all_results["Host Type"] = robustness_host_type(
595 + df, y_col, x_cols, superhost_col=superhost_col,
596 + listing_count_col=listing_count_col)
597 +
598 + total_specs = sum(len(v) for v in all_results.values())
599 + logger.info("Full robustness battery complete: %d total specifications "
600 + "across %d categories.", total_specs, len(all_results))
601 + return all_results
602 +
603 +
604 +# ---------------------------------------------------------------------------
605 +# Summary formatter
606 +# ---------------------------------------------------------------------------
607 +
608 +def format_robustness_summary(
609 + results_dict: Dict[str, Dict[str, Dict[str, Any]]],
610 + key_variables: Optional[List[str]] = None,
611 +) -> pd.DataFrame:
612 + """
613 + Create a compact comparison table from all robustness results.
614 +
615 + Parameters
616 + ----------
617 + results_dict : dict
618 + Output of ``run_all_robustness()``.
619 + key_variables : list[str], optional
620 + Subset of variables to display coefficients for.
621 + If None, only model-level statistics are shown.
622 +
623 + Returns
624 + -------
625 + pd.DataFrame
626 + Summary table with one row per specification.
627 + """
628 + logger.info("Formatting robustness summary.")
629 + records: List[Dict[str, Any]] = []
630 +
631 + for category, specs in results_dict.items():
632 + for spec_name, spec_data in specs.items():
633 + row: Dict[str, Any] = {
634 + "Category": category,
635 + "Specification": spec_name,
636 + "N": spec_data.get("N", ""),
637 + "R2": spec_data.get("R2", ""),
638 + "Adj_R2": spec_data.get("Adj_R2", ""),
639 + "AIC": spec_data.get("AIC", ""),
640 + }
641 +
642 + # Count significant coefficients
643 + var_entries = {
644 + k: v for k, v in spec_data.items()
645 + if isinstance(v, dict) and "coef" in v
646 + }
647 + n_total = len(var_entries)
648 + n_sig = sum(
649 + 1 for v in var_entries.values()
650 + if v.get("pvalue", 1.0) < 0.05
651 + )
652 + row["Vars (total)"] = n_total
653 + row["Vars (p<.05)"] = n_sig
654 +
655 + # Key variable coefficients
656 + if key_variables:
657 + for kv in key_variables:
658 + if kv in spec_data and isinstance(spec_data[kv], dict):
659 + c = spec_data[kv]
660 + pval = c.get("pvalue", 1.0)
661 + stars = ""
662 + if pval <= 0.001:
663 + stars = "***"
664 + elif pval <= 0.01:
665 + stars = "**"
666 + elif pval <= 0.05:
667 + stars = "*"
668 + row[f"b({kv})"] = f"{c['coef']:.4f}{stars}"
669 + else:
670 + row[f"b({kv})"] = ""
671 +
672 + records.append(row)
673 +
674 + summary = pd.DataFrame(records)
675 + return summary
added src/shap_analysis.py +168 −0
@@ -0,0 +1,785 @@
1 +"""
2 +shap_analysis.py
3 +================
4 +SHAP-based interpretability analysis for hedonic pricing models.
5 +
6 +Provides SHAP value computation, publication-quality summary / dependence /
7 +interaction / waterfall plots, partial-dependence plots, accumulated local
8 +effects (ALE), and hedonic premium interpretation. Gracefully degrades to
9 +permutation importance and manual PDP when the ``shap`` library is not
10 +installed.
11 +
12 +Author: Simon-Pierre Boucher
13 +Date: 2026-05-20
14 +"""
15 +
16 +from __future__ import annotations
17 +
18 +import logging
19 +import os
20 +import warnings
21 +from pathlib import Path
22 +from typing import Any, Dict, List, Optional, Tuple, Union
23 +
24 +import matplotlib
25 +import matplotlib.pyplot as plt
26 +import numpy as np
27 +import pandas as pd
28 +from sklearn.inspection import PartialDependenceDisplay, partial_dependence
29 +from sklearn.metrics import r2_score
30 +
31 +logger = logging.getLogger(__name__)
32 +
33 +# Publication-quality defaults ------------------------------------------------
34 +matplotlib.rcParams.update(
35 + {
36 + "figure.dpi": 150,
37 + "savefig.dpi": 300,
38 + "font.family": "serif",
39 + "font.size": 11,
40 + "axes.titlesize": 13,
41 + "axes.labelsize": 12,
42 + "xtick.labelsize": 10,
43 + "ytick.labelsize": 10,
44 + "legend.fontsize": 10,
45 + "figure.figsize": (10, 7),
46 + "savefig.bbox": "tight",
47 + "savefig.pad_inches": 0.1,
48 + }
49 +)
50 +
51 +# Try importing shap ----------------------------------------------------------
52 +_SHAP_AVAILABLE = False
53 +try:
54 + import shap
55 +
56 + _SHAP_AVAILABLE = True
57 +except ImportError:
58 + logger.info(
59 + "shap library not installed. Falling back to permutation importance "
60 + "and manual PDP implementations."
61 + )
62 +
63 +
64 +# ---------------------------------------------------------------------------
65 +# Utility helpers
66 +# ---------------------------------------------------------------------------
67 +
68 +
69 +def _ensure_dir(path: str) -> None:
70 + """Create parent directories for *path* if they do not exist."""
71 + Path(path).parent.mkdir(parents=True, exist_ok=True)
72 +
73 +
74 +def _save_figure(fig: plt.Figure, save_path: str) -> None:
75 + """Save a matplotlib figure in both PNG and PDF."""
76 + _ensure_dir(save_path)
77 + base, _ = os.path.splitext(save_path)
78 + fig.savefig(f"{base}.png", format="png")
79 + fig.savefig(f"{base}.pdf", format="pdf")
80 + logger.info("Figure saved: %s.png / .pdf", base)
81 + plt.close(fig)
82 +
83 +
84 +def _to_dataframe(X: np.ndarray, feature_names: List[str]) -> pd.DataFrame:
85 + """Convert an ndarray to a DataFrame with proper column names."""
86 + return pd.DataFrame(X, columns=feature_names)
87 +
88 +
89 +# ---------------------------------------------------------------------------
90 +# Permutation-importance fallback (when shap is unavailable)
91 +# ---------------------------------------------------------------------------
92 +
93 +
94 +def _permutation_importance(
95 + model: Any,
96 + X: np.ndarray,
97 + y: Optional[np.ndarray] = None,
98 + n_repeats: int = 10,
99 + random_state: int = 42,
100 +) -> np.ndarray:
101 + """Compute permutation importance as a (n_features,) array of mean
102 + absolute importance values.
103 +
104 + When *y* is not provided, variance of prediction changes is used instead.
105 + """
106 + rng = np.random.RandomState(random_state)
107 + baseline = model.predict(X)
108 +
109 + if y is not None:
110 + baseline_score = r2_score(y, baseline)
111 + else:
112 + baseline_score = None
113 +
114 + importances = np.zeros(X.shape[1])
115 + for j in range(X.shape[1]):
116 + scores: List[float] = []
117 + for _ in range(n_repeats):
118 + X_perm = X.copy()
119 + X_perm[:, j] = rng.permutation(X_perm[:, j])
120 + preds_perm = model.predict(X_perm)
121 + if y is not None and baseline_score is not None:
122 + scores.append(baseline_score - r2_score(y, preds_perm))
123 + else:
124 + scores.append(float(np.mean(np.abs(baseline - preds_perm))))
125 + importances[j] = float(np.mean(scores))
126 + return importances
127 +
128 +
129 +# ---------------------------------------------------------------------------
130 +# SHAP value computation
131 +# ---------------------------------------------------------------------------
132 +
133 +
134 +def compute_shap_values(
135 + model: Any,
136 + X: np.ndarray,
137 + feature_names: List[str],
138 + max_samples: int = 500,
139 +) -> Union["shap.Explanation", np.ndarray]:
140 + """Compute SHAP values for the given model and data.
141 +
142 + Strategy:
143 + 1. If ``shap`` is available, use ``TreeExplainer`` for tree-based models;
144 + otherwise fall back to ``KernelExplainer`` (on a subsample for speed).
145 + 2. If ``shap`` is **not** installed, return a permutation-importance
146 + matrix shaped ``(n_samples, n_features)`` as a rough substitute.
147 +
148 + Parameters
149 + ----------
150 + model : estimator
151 + Fitted sklearn-compatible model.
152 + X : np.ndarray
153 + Feature matrix.
154 + feature_names : list[str]
155 + Column names.
156 + max_samples : int
157 + Maximum number of background samples for ``KernelExplainer``.
158 +
159 + Returns
160 + -------
161 + shap.Explanation | np.ndarray
162 + SHAP values object or permutation-based importance matrix.
163 + """
164 + if _SHAP_AVAILABLE:
165 + model_type = type(model).__name__
166 + tree_types = {
167 + "RandomForestRegressor",
168 + "GradientBoostingRegressor",

Diff truncated — file too large.